JPS62208166A - シミュレーションプログラム生成方法 - Google Patents

シミュレーションプログラム生成方法

Info

Publication number
JPS62208166A
JPS62208166A JP61050380A JP5038086A JPS62208166A JP S62208166 A JPS62208166 A JP S62208166A JP 61050380 A JP61050380 A JP 61050380A JP 5038086 A JP5038086 A JP 5038086A JP S62208166 A JPS62208166 A JP S62208166A
Authority
JP
Japan
Prior art keywords
equation
information
generated
program
boundary
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP61050380A
Other languages
English (en)
Other versions
JPH07120276B2 (ja
Inventor
Chisato Konno
金野 千里
Yukio Umetani
梅谷 征雄
Hiroyuki Hirayama
裕之 平山
Tadashi Oota
太田 忠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi ULSI Engineering Corp
Hitachi Ltd
Original Assignee
Hitachi ULSI Engineering Corp
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi ULSI Engineering Corp, Hitachi Ltd filed Critical Hitachi ULSI Engineering Corp
Priority to JP61050380A priority Critical patent/JPH07120276B2/ja
Priority to US06/900,424 priority patent/US4819161A/en
Publication of JPS62208166A publication Critical patent/JPS62208166A/ja
Publication of JPH07120276B2 publication Critical patent/JPH07120276B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/13Differential equations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は物理現象を表わす偏微分方程式がら。
その物理現象を数値化して模式的に表示(以下シミュレ
ーションと呼ぶ)するための数値計算プログラムの生成
装置に係り、特に電磁場解析、熱伝導解析、流体解析な
どの分布量をシミュレーションするのに好適な数値計算
プログラム生成装置に関する。
〔従来の技゛術〕
従来の装置は、特開昭60−140433号に記載のよ
うに、偏微分方程式と数値計算すべき空間域の記述から
有限要素法に基づいてその偏微分方程式に関する数値計
算をするプログラムを自動生成していた。
〔発明が解決しようとする問題点〕
有限要素法においては与えられた定義領域を要素と呼ば
れる小領域に分割しその要素の粗密で得られる近似解の
精度が左右されるが、上記従来技術では要素の充分な粗
密制御が不可能であった。
また、対象とする偏微分方程式の形式に対して、ある特
定の形式に対してしか考慮されておらず、モデルに依っ
て変わる種々の方程式への対応が不可能であった。また
、任意の境界条件の組み込み方法について考慮されてい
なかった。また、従来技術は、コード生成において節点
間の接続関係情報を制御の中心情報として用いていたた
め、生成コードの実行時に多大な記憶容量を必要とする
という問題点があった。
本発明の目的は、任意の領域分割指定に応じた要素分割
を行いうる数値計算プログラム生成装置を提供するにあ
る。
さらに容好ましくは任意の偏微分方程式に対する数値計
算プログラムを生成し得るプログラム生成装置を提供す
ることにある。
さらに好ましい態様として、要素に関するより少ないデ
ータに基づいて数値計算を行いうる数値計算プログラム
を生成するプログラム生成装置を提供することも目的と
する。
上記目的は、構成辺が線分か曲線分の四辺形もしくは三
辺形より成る、各部分領域毎に与えられる分割情報によ
り指定される分割数に応じて境界辺を分割することによ
り、各部分領域を要素に分割し、各部分領域を足し合わ
せることで全体領域の要素分割を実現する分割機構によ
り達成される。
〔作用〕
上記メツシュ分割機構により、部分領域ごとに指定され
た分割条件にしたがい分割し、その後、各部分領域を足
しあわせるので、対象とする領域全体に対する分割条件
が場所ごとに大きく異なっていても、それに応じた分割
をすることができる。
〔実施例〕
以下1本発明の詳細な説明する。
第1図は本発明によるプログラム生成装置を用いたシミ
ュレーション装置の構成図である。操作者によりプログ
ラム生成装置3に、シミュレーションすべき領域の境界
の位置あるいは形状に関する情報およびその境界の分割
の仕方を指定する形状・分割情報1と、物理現象を支配
する偏微分方程式および初期値又は境界条件を表わす情
報2である。プログラム生成装置i!3は以下の3つの
機構より構成される。メツシュ分割機構4は、入力1か
ら節点要素データ7を生成する。方程式離散化機構5は
入力2を、有限要素法の手順に従って。
離散化する。計算プログラム生成機構6は、4゜5の生
成した情報に基づいて、入力1,2に対する数値計算プ
ログラム8を生成する。生成されたプログラムは続いて
翻訳機構9により1機械語の計算プログラムlOに変換
され、それが計算装置11を制御してシミュレーション
を実施する。計算装置11はプログラムの指令に従って
節点要素データ7と入力データ12を読み込んでシミュ
レーションを実施し、シミュレーション結果13を出力
する。
本発明の中心を成す。プログラム生成装置3の動作説明
に先立ち、その基礎となる、有限要素法による計算方法
について説明する。
有限要素法は、数値計算すべき領域41 (第4図)を
要素(メツシュ)と呼ばれる小領域に直利分割し、各要
素の境界を規定する点(節点)における、偏微分方程式
と近似的に等価な一次方程式を導出し、それを連立する
ことによって各節点における未知量の近似解を得るもの
である。その概略フローは以下のとおりである。
有限要素法では各節点上に定義される基底関数を用いて
計算を進める。第i番節点上に定義される基底関数ψi
の一例を第2図に示す。これは第i番節点上で値lをと
り、それに隣接する他の節点上では値0をとる。ψiは
その他の位置第i番節点と、上記隣接するでは1節点で
のψiの値を結んで得られる稜の上に張られる平面膜上
の値をとるテント形の関数である。
有限要素法においては、基底関数ψiを用いて、原方程
式を第3図に示す手順にて連立−次方程式に帰着させて
解く。例題として取り上げた第3図の方程式(1)に則
して説明する。まず、求めるべきAの分布を第3図(2
)に示すような基底関数ψiの一次結合によって表わす
。係数(aj)が未知量として求めるべきデータである
。M方程式(1)のAを一次結合式(2)で置きかえ、
さらに基底関数ψiを符号の両辺に掛けて支度u里で積
分すれば第3図(3)の関係式が得られる。
(3)式は節点30ごとに得られるので、節点30の数
だけ存在する。
(3)を変形して係数(a j )について整理すれば
(4)式が得られる。式(3)から式(4)の変形にお
いては積分と微分に関する性質I2(ΣaJ(pJ)ψ
−=−f(Σaaq)a)・V(Piを利用している。
ここで、は傾斜微分演算子通常、境界上で与えられる(
固定境界以外の)境界条件は。
n・A=λA十μ であるので1 、/’ a n (n ・A) 9)t =、/’ a
 Q (λΣaj’ψa+μ)ψ、と置換することがで
き、(3)式から(4)式を得る。(4)式は。
CIJ= 、/’ψj°ψt+Iβψa9’t+、/’
aΩλψ、 9) Lbi=−ffψi、/’aQμψ
、 と置けば、(5)式に示すように(CIJ)を係数行列
(bl)を定数ベクトルとする連立−次方程式を意味し
、これを解くことにより(aJ)を求めることができる
従って、問題の定義域および要素分割情報と、偏微分方
程式および境界条件から、上記係数行列(CIJ)と定
数ベクトル(bi)を導出することができれば、その数
値計算プログラムを生成することが可能となる。第1図
のプログラム生成装置3は、この生成を行なう事を目的
としている。
以下、第1図のプログラム生成装置3の動作フローにつ
いて説明する。
初めに本装置3の入力情報について述べる。入力情報は
、形状・要素分割情報1と、方程式情報2である。
形状・要素分割情報1の具体例を第4図に示す。
本例は、点PIP2P3P4PSで規定される領域S1
と点P6P4P3PGP8P8P7で規定される領域S
2からなる領域41を解析対象領域とした場合の入力情
報1の例である6本情報は、領域形状を規定する情報と
、それを要素分割する情報より成る。LL=LINE 
(PL、P2)、R(3,rl)中のLINE (PI
、P2)は、点PI、P2を両端点とする線分L1を定
義し、R(3+rt)はその線分を公比r1で3分割す
ることを示している。L2=LINE (P2.P3)
、D (2)は1点P2.P3を両端点とする線分L2
を2等分割することを示している。またL3のARCは
円弧を、L6の5PLINEはスプライン曲線を定義す
ることを示している。LlからL7までで領域を規定す
るのに必要となる境界辺を定義し、SL、S2はそれら
によって囲まれる領域を定義している。S L =QU
AD (P 1 。
P2.P3.P5)、Aの最後のAは、既分割の境界辺
を用いて、領域内部を自動メツシュ分割することを指示
している。
もう一方の入力情報である。方程式情報2の具体例を第
5図に示す。任意の2階偏微分方程式は一般的に51に
示す形式で与えられる。ここで、EQiは、52に示す
いずれかの項である。52は、2階微分項、1階微分項
、非微分項、定数項を示している。53は、51の具体
例で、移流拡散方程式である。54.55は偏微分方程
式以外にモデルを規定するために必要となる境界条件式
を表わしている。54は第一種(固定)の境界条件を、
55は第二種、第三種の境界条件である。
ここで、各式の後半部のAT L1+L6+・・・・・
は、各境界条件式がどの境界部分で成立しているかを指
示している。このLl、L6という名称は、前項で述べ
た第4図の形状情報入力時に付与した各境界構成辺の名
称で、このように部分構造の名称を参照することによっ
て複雑な数理モデルの記述が可能となる。
次に、第1図メツシュ分割機構4の動作を第6図から第
9図を用い、述べる6第6図に、本機構4の処理フロー
を示す。以下、各処理内容について説明する。
初めに61で部分領域(第4図における4辺形領域SL
、S2)の周囲辺(第4図におけるL1〜L7)の分割
を、離散化情報に従って行なう。
これは(曲)線分の長さに従って、等分割もしくは等比
分割を行って節点を求めていけばよい。
続いてこの周囲辺の分割に従って、四辺形部分領域はも
しくは三辺形部分領域の自動分割62を行なう。この自
動分割の処理フローを第7図を用いて説明する。第7図
71は前記の周囲辺の分割後を示している。白丸が辺の
分割によって得られた実際の節点である。ここで、対辺
同士の分割数が等しくない場合には、多い方の辺の分割
数に合わせて、各節点間に虎魚(実際の節点ではなく、
自動分割するための便宜上の節点)″&配装する。
この場合、虎魚が多ければ多い程、自動分割後の要素・
節点の存在は疎となるので、一箇所に虎魚を集中させな
いことが重要となる。本機構では、対辺の分割数から必
要となる虎魚の数を算出し。
もう−組の対辺の分割数の少ない辺側から、実節点の間
に虎魚を配分する。各実節点間に配分される虎魚数は、
予め定められている関数に従って決定されるが、本機構
では、仮に線型な関数を用いている。以上で実節点、虎
魚の合計が対境界辺同士等しい部分領域が生成できる。
また、三辺影領域であれば、境界辺上の実節点の一番多
い辺の適当な一節点で1本機構がその境界辺を分割して
2辺とみなす事により、四辺影領域とみなして、全く同
様の処理が適用可能となる。次に、各部分領域の境界辺
の分割数と等しい、正規座標領域(メツシュ間隔が全て
1の直交格子)72を考える。
72から、71に対して、72の各境界上の格子節点が
、71の境界上の節点に写る、写像関数Fを生成する。
この写像では、例えば正規座標上の節点77が、実座標
系での節点(この場合は虎魚)78に写像される。写像
関数の生成はいく通りから考えられ1例えば周知のよう
に、領域72から領域71への写像を各座標同士の交換
がラプラス方程式を満たすものとし、72の境界節点が
71の境界節点に写るという第一種境界条件の下に、規
定することができる。次に、領域72の各格子節点の内
、実座標系71の虎魚に対する格子点を通らない、メツ
シュ図75を生成する。これは、初めに全体の格子を全
ての角点が実節点の小四角形領域に分割し、その各小四
角形領域の実節点を適当に結ぶことにより、正規系のメ
ツシュ図75が生成できる。次に、既作成の写像関数F
に従って、75を実座標系に写像し、メツシュ76を得
る。ここで注意を要するのは、写像関数Fの選び方によ
っては、内部に自動生成した節点が、領域外に飛び出す
という問題が生ずる場合があるが、本機構4では、75
から76への写像が適正(内部節点が領域外に飛び出さ
ない)であれば、75の各要素(メツシュ)の節点を辿
った向きと76のそれが一致するという性質を利用して
チェックを可能としている。以上のフローを全部分領域
に適用する事により、全体領域の分割が実現でき、節点
、要素の生成順に通し番号を付す。
第8図は生成されたメツシュ図を示している。
Elは要素番号を、N、は節点番号を示している(+=
1.2.・・・)。
この分割に際して、第6図処理フローの63から66に
従って、各リスト情報を随時生成する。
第9図に生成するリスト情報の内容の詳細を示す。
本リスト情報は、第1図計算プログラム生成機構6のプ
ログラム生成時、および生成プログラムの実行時、計算
装置11によって参照される。データ例として第8図に
対応する情報を記しである。
次に生成するリスト情報の意味と、その生成方法につ6
て説明する。第6図の節点・メツシュリストの生成63
では、第9図のX (NODE)テーブル91.Y (
MODE)テーブル92、IADATA (MESH,
3)テーブル93を生成する。これは、それぞれ生成し
た節点のX座標。
Y座標、メツシュを構成する節点番号であり、これは上
述した自動分割中で随時生成される。ここで、N0DE
は全節点数、MESHは全要素数を表わしている。第6
図の節点間接続関係リストの生成64は、第9図(7)
ICOEF (NODE。
BAND)テーブル94を生成する。これは各節点と同
一メツシュ上にある節点のリストである。
但し、自分自身も含んでおり、。各節点は節点番号の昇
順となっている。ここで、BANDはその接続節点の最
大数を示しており、その個数以下の節点に対する当該リ
スト部は、Oを入れである。
このテーブルは、IADATAテーブル93をサーチす
ることにより容易に生成される。第6図の部分領域帰属
節点リストの生成65は、第9図のS L  (S I
 NUM)テーブル95を生成する。これは、各部分領
域毎に属する節点リストで1部分領域の自動分割時に生
成することができる。ここで、SINUMは部分領域S
1に屡する節点数を示している。第6図の境界帰属節点
・メツシュリストの生成66は第9図のLL  (LI
NUM)96とLIB (LIBNUM、3)97を生
成する。これは、各境界辺上に属する節点のリストと。
各境界辺上に2節点を有するメツシュの節点のリストで
ある。これも、前者は各構成辺の分割時に。
後者は各部分領域の自動分割時に生成することができる
。ここで、LINUMは、境界辺上l上に属する節点数
を、LIBNUMは境界辺上l上に2節点を有する要素
数である。例えば、第8図の境界辺LLに対しては、境
界上節点はN1.N2゜N6.N1oの4点で、境界上
に2節点を有する要素は3つ(LIBNUM=3)で、
第9図の97のようになる。ここで、テーブル97の特
徴は、要素を構成する3点の内、前2点が該当境界上に
あるものを配している。
以上が、第1図のメツシュ分割機構14の動作説明であ
る。
次に、第1図の方程式離散化機構5の動作を第10図か
ら第17図を用い述べる。本機端は、第3図で説明した
(4)式までの式変換を行なう部分である。第10図に
4本機端の処理フローを示す。以下、第10図の各処理
内容について説明する。
第10図101は、偏微分方程式(第5図の51)およ
び境界条件式(第5図の54.55)の情報をテーブル
に格納する。第11図にテーブルの構成を示す。111
は偏微分方程式の情報を保持する式テーブルで、第5図
の53に対する情報で例示している。本テーブル111
は、偏微分方程式の右辺を左辺に移項した後の方程式に
対する情報を、各項ごとに保持する。項の区切りは、式
中に含まれる加算演算式とカッコの数をカラン1−する
ことにより、容易に抽出される。本テーブル111は各
項の微分階数を保持するエントリ114を有するが、こ
の情報は処理102(第10図)で格納する。112は
境界条件の情報を保持するテーブルで、第5図の54.
55に対する情報で例示している。境界条件式とその条
件が成立する境界領域の名称を情報として保持する。
各境界領域を構成する節点信号についての情報は。
境界領域テーブル113に保持する。境界領域テーブル
113の実際の情報は、前述した、メツシュ分割機構4
により設定される。
第10図の処理102では、第11図式テーブル111
に格納された式の各項の微分階数の識別を行なう。第1
2図にその処理フローを示す。
121では式テーブル111に保持されている項ごとに
、項中に含まれる未知変数を検索する。次に122で未
知変数にかかっている微分演算子の数とその種類を識別
し、123ではその微分階数を式テーブル111の該当
エリア124に設定する。
第10図103は、式テーブル111中の各項の離散化
を行なう。第13図に、その処理フローの詳細を示す、
第3図の式(1)から式(4)への変換を行なう部分で
ある。各項の識別が前段までで完了しているので、純粋
に数式処理によって実現することが可能である。第13
図の131では、各項に基底関数CPlをかけ、テーブ
ル111に設定しである各項の微分階数に従って、空間
領域での積分形132,133,134,135に変換
する。この際1項が2階数分項である場合には、132
に示すように、積分形を部分積分公式とガウスの発散定
理を用いて、1階微分項から成る形まで変換する。この
過程で境界積分項136が生ずる。137では、この境
界積分項136のn・ (TVA)を第11図境界条件
テーブル112に格納されている境界条件式の右辺で置
換することにより、境界条件を積分形中に取り込む。
この置換は、第1種(固定)境界条件以外で行なう。こ
の処理は、異なる境界条件とそれの成立する境界領域毎
に行ない、それぞれの置換結果を138に示すように個
別に、その条件が成立する境界領域名称と共に保持する
以上の積分変換によって式テーブル111から生成され
る積分形の式テーブル141を第14図に示す。次に1
39では上述した積分形の式テーブル141の各項中に
含まれる積分を評価する。
その処理フローを第15図を用いて説明する。以下では
IΩAψ、aXを例に説明する。
、/’nVAVql’l d x =I(ΣaJ(pl
)・(pldx・・・(1)=Σ(Jψj・ψ1dx)
aJ   ・・・(2)(i 、 J)εE 素Eの全てについて総和をとる事を意味する。また、x
i、yHをそれぞれ節点N、のXtY座標とし、要素E
の3節点をl* J+ kとすると、Eは行列式 %式% 151では、積分形式の各項の未知変数Aを基底関数の
一次結合でおきかえる((1)に相当)。
152では基底関数に関する積分の部分を一つにまとめ
る((2)に相当)。この段階で、積分として現われる
形式は限定されるので (、/′ψJ・ψz+J’ψh t f9’ iなど)
、それを予め積分評価テーブル161として、本機構中
に内蔵している。第16図に積分評価テーブル161の
一例を示す。これは基底関数が決定されれば一意に決定
される。153では各積分を、それに含まれる基底関数
の数、および微分演算子がかかっているか否かを識別し
、そのタイプ情報から第16図の積分評価テーブル16
1を検索し1合致した積分の評価式でもって積分項をお
きかえる( (3)、(4)に相当)。以上の処理を。
全ての積分項に施すことにより、第17図に示す。
離散式テーブル171を生成する。172には積分形・
式テーブルから受は継いだ各項の符号を、173には積
分評価して生成した離散式を。
174にはその離散式が成立するのが、内部領域か、境
界上ならどの境界領域名称交示す情報が保持される(こ
れは各積分項の積分範囲から容易に抽出される)。ここ
でインデックスjの総和Σは自明なので省略されている
以上が、第1図の方程式離散化機構6の動作説明である
。これによって、偏微分方程式と境界条件は離散式−次
方程式に変換される。
次に、第1図の計算プログラム生成機構5の動作を、第
18図から第22図を用いて述べる。本機構は、上述し
た、メツシュ分割機構4の生成した節点・要素情報と、
方程式離散化機構5の生成した離散式テーブル171か
ら、その数値計算プログラムを生成する。これは、第3
図において(4)式から、連立−次方程式(5)を構成
する係数行列Cと定数ベクトルbを生成し、その行列を
解く計算プログラムに連結することにあたる。
離散式テーブルは、与えられた偏微分方程式中に含まれ
る既知関数と要素を構成する節点座標の四則演算のみよ
り成り、また各節点座標は既に求められているので、第
3図(4)式の係数の総和を制御するコードを構成する
ことにより、計算プログラムの生成が実現できる。
第18図に本機構6の処理フローを示す。係数行列Cと
定数ベクトルbの値を求めるコードを生成する基本的な
考え方は、初めに離散式中に含まれる領域積分項から生
成された項の寄与を係数行列Cと定数ベクトルbに足し
込み、続いて境界積分項から生成された項の寄与をそれ
らに足し込む。
これにより、FORTRANにおける個別のり。
ループによってコード化が可能となる。以下第18図の
フローを説明する。181では、第17図離散式テーブ
ルをサーチし、領域積分項から生成される項(第17図
のフィールド174にその情報がある)の係数行列Cと
定数ベクトルbへの寄与分を計算するコードを生成する
。182は同様に境界積分項から生成される項のC,b
への寄与を前段で求まったC1bへ足し込むコードを生
成する。次に183は得られたC2bに対して、第11
図境界条件テーブル112をサーチし、第1種境界条件
(第11図の115)の効果をC9bへ組み込むコード
を生成する。最後に184では、得られたC1bに対し
て、行列解法ルーチンを呼び出すコードを生成する。以
下では更に各処理の詳細について、生成コード列と対応
づけて説明する。
第19図は181でのコード生成の詳細フロー。
第21図はその生成コード例を示している。ここで第2
1図のRCO−EFが係数行列を、C0N5が定数ベク
トルを格納するテーブルで、X、Y。
IADATA、IC:OFF等は全て第9図で説明した
メツシュ分割機構4が既に生成したデータを参照してい
る。まず第19図191は係数行列。
定数ベクトルのテーブルを初期化している(第21図コ
ード211に対応)。192〜1910で各要素を単位
として、要素内の各節点への領域積分項からの寄与(効
果)を、係数行列、定数ベクトルへ加え込むコードを生
成する。192゜193.197が要素単位の寄与を計
算する制御コードを生成する(第21図コード212゜
213.217のD○ループに対応)。194で各格素
を構成する節点をIADATAテーブルより求め(コー
ド214)、195で積分評価に必要となるbi、C1
,ΔEを計算するコードを生成する(コード215)。
196で離散式テーブルの式情報から該当する計算コー
ドを生成する(コード216)、198〜1910では
節点Nj、NkからのNlへの寄与を加え込むコード1
98〜1910を生成する。
第20図は第18図182,183,184で生成すべ
きコードの詳細フロー、第22図はその生成コード例を
示している。第18図182に対応するのが、第20図
201〜207で、これは第2種、第3種の各領域毎に
、その数分この処理を行なう、201〜207では各境
界(辺)領域毎に、その境界上に2節点を有する要素を
単位として、境界積分項の寄与を、係数行列と定数ベク
トルへ加え込むコードを生成する。201゜203は要
素単位の寄与を計算する制御コードを生成する(第22
図コード221,223)、各境界領域に2点を有する
要素等のリストはメツシュ分割機構4によって第9図9
7で説明したように既に生成されているのでそれを参照
すればよい。
201〜208に対応するコードが第22図221〜2
28である。このループは上述したように第2種、第3
種境界条件が定義されている境界領域に対してのみ生成
するが、どの領域に第2種、第3種境界条件が設定され
ているかの情報は、第17図の離散式テーブルのフィー
ルド174に保持されているため、この情報を参照すれ
ば良い。
第18図183で生成すべきコードに対応するのが、第
20図208〜2010で、これは第1種境界領域上に
ある節点数に対して固定条件A。を設定する。第22図
228〜2210が対応する生成コードである。どの領
域が第1種境界かは、第11図における境界条件テーブ
ルに保持されている情報を参照すれば良く、また該当境
界上の節点数と節点番号は第9図のリストに保持されて
いる。最後に第20図2011で、生成した係数行列と
定数ベクトルをシステムが予め用意する行列解法ルーチ
ンへリンクすることにより、未知変数の離散解を得るこ
とができるコードの生成が完結する。第22図コード2
211がこれに対応する。
これらの計算プログラム生成フローの内、第19図19
6.1910と、第20図206゜207の積分計算コ
ードを除いた部分は定形コードであり1式や境界条件の
タイプによらない。そのためコード生成に特別な工夫は
要しない。積分計算部については、第17図の離散式テ
ーブルに保持されている式情報を、逐次FORTRAN
において対応している名称と記号に置きかえていくこと
によってコードを生成することができる。
以上がプログラム生成装置3の動作フローの説明である
あとは一般的なFORTRANプログラムの実行手順に
従い、生成されたプログラム8は翻訳機構9により、機
械語の計算プログラム10に変換され、計算装置11に
よって実行される。実行に際しては、メツシュ分割機構
4の生成した節点要素データ(第9図のリスト群)と、
計算上に必要となる物理定数情報等の入力データ12を
入力し、計算後、シミュレーション結果13をラインプ
リンタや図形画像端末等に出力する。
本プログラム生成装置3の特徴は、第3図(4)式で示
された節点対応の基底関数による総和式を。
基底関数がその節点を一頂点とする周辺要素の形状関数
によって植成されていることに着目し、要素対応の総和
式に置き換えることにより、第9図に示した必要最小限
の情報からプログラム生成を可能とした点にある。
以上が一実施例の説明であるが、いくつかの変形が容易
に考えられる。形状・離散化情報1とメツシュ分割機構
4は、CADシステムでの置き換えが可能であり、また
1節点・要素データ7を計算実行時に入力するのではな
く、生成する計算プログラム中にコードとして埋め込む
ことも可能である。
本実施例では、空間領域が二次元の場合を取り上げたが
、−次元や三次元等であっても基底関数の積分公式が異
なるのみであるため、同様にプログラムの自動生成が実
現される。
また、方程式に合わせて計算コードを決定するため、各
種の方程式への適用が可能である。基底関数の種別につ
いては、第3図に示すものの他、より高次のものに対し
ても積分公式、ならびに式変形公式の変更により容易に
対処できる。
さらに生成するプログラムはFORTRANにとどまら
ず、PL/I、PASCALなどFORTRANと同レ
ベルの記述機能を有するものであればいずれも自動生成
ができる。
〔発明の効果〕
本発明によれば、数値シミュレーションを制御するプロ
グラムの作成労力がFORTRANなどを用いて作成す
る場合に較べて大幅に軽減できるので、シミュレーショ
ンの実施が極めて容易になる。
また、メツシュの粗密制御を自由に行なうことができ、
所望の精度の数値シミュレーションが可能となる。
しかも、対象偏微分方程式および境界条件に制限を設け
ず、任意の数理モデルに対する数値シミュレーションが
可能である。
また、生成FORTRANコードは、必要最小限のテー
ブルを前提として生成されるので、その実行時の所要メ
モリは、実用レベルに押さえることが可能である。
【図面の簡単な説明】
第1図は本発明の一実施例のシステム構成図。 第2図、第3図は本発明の手順を開示するための説明図
。第4図、第5図は本発明の入力情報の具体例、第6図
はメツシュ分割機構の動作フロー図。 第7図はその補助説明図、第8図はメツシュ図、第9図
は生成する節点要素の情報リスト。第10回は方程式離
散化機構の動作フロー図、第11図は式・境界条件の管
理テーブル、第12図は微分階数の識別フロー、第13
図は式の離散化フロー。 第14図は生成する積分形式テーブル、第15図は積分
項の評価フロー、第16図は内蔵する積分評価テーブル
、第17図は生成する離散式テーブルである。第18図
は計算プログラム生成機構の動作フロー図、第19図と
第20図は生成コードの詳細フロー図、第21図と第2
2図は生成コード例の一部である。 ■・・・形状・離散化情報 2・・・方程式情報 3・・・プログラム生成装置 4・・・メツシュ分割機構 5・・・方程式離散化機構 6・・・計算プログラム生成機構 7・・・節点要素データ 8・・・自動生成計算プログラム 第2目 第3呂 7、−&らも  (も傷六関ω−−−−−(2ジfil
=  Ql/AE)0/、P2.PiPV)、A2z 
= avAo c戸r、 PJ、 )’1. P7) 
、 A第、1′図 第7ρ同 第 ノア 凶 −る    さ

Claims (1)

  1. 【特許請求の範囲】 1、計算対象とする領域の形状データおよびその領域の
    境界の分割条件データに応じて計算対象とする領域を複
    数の要素に分割する分割機構と、入力される偏微分方程
    式データを積分形の式データに変換する方程式離散化機
    構と、該要素分割結果と該変換後の式に基づき該計算対
    象領域全体にわたって該偏微分方程式により定まる数値
    を有限要素法にしたがって計算するプログラムを生成す
    るプログラム生成機構を有するプログラム生成装置にお
    いて、 該分割機構は、該計算対象領域を、それぞれ直線分や曲
    線分から成る四辺を境界辺とする複数の部分領域に分け
    、各部分領域の境界辺の入力された分割条件データで定
    まる分割点を境とするように各部分領域を複数の要素に
    分割する手段であることを特徴とするプログラム生成装
    置。
JP61050380A 1986-03-10 1986-03-10 シミュレーションプログラム生成方法 Expired - Lifetime JPH07120276B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP61050380A JPH07120276B2 (ja) 1986-03-10 1986-03-10 シミュレーションプログラム生成方法
US06/900,424 US4819161A (en) 1986-03-10 1986-08-26 Method of automatic generation of a computer for numerical simulation of physical phenomenon

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61050380A JPH07120276B2 (ja) 1986-03-10 1986-03-10 シミュレーションプログラム生成方法

Publications (2)

Publication Number Publication Date
JPS62208166A true JPS62208166A (ja) 1987-09-12
JPH07120276B2 JPH07120276B2 (ja) 1995-12-20

Family

ID=12857267

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61050380A Expired - Lifetime JPH07120276B2 (ja) 1986-03-10 1986-03-10 シミュレーションプログラム生成方法

Country Status (2)

Country Link
US (1) US4819161A (ja)
JP (1) JPH07120276B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01204144A (ja) * 1988-02-09 1989-08-16 Hitachi Ltd 数値シミュレーションモデルの作成方法、および、これを用いた数値シミュレーションプログラムの自動生成方法
JP2007257656A (ja) * 2000-12-12 2007-10-04 Fujitsu Ltd 連成解析方法及びそのプログラム
JP2011075370A (ja) * 2009-09-30 2011-04-14 Hitachi Ltd 解析装置、フランジ形状の評価方法
CN109741794A (zh) * 2019-01-08 2019-05-10 西安聚能高温合金材料科技有限公司 基于Matlab的真空感应炉熔炼配料的计算方法
CN111400977A (zh) * 2020-04-07 2020-07-10 中国科学院微电子研究所 一种物理场中物理量提取方法

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01145723A (ja) * 1987-08-28 1989-06-07 Hitachi Ltd プログラム生成方法
JPH01307826A (ja) * 1988-06-06 1989-12-12 Hitachi Ltd プログラム生成方法
JP2765888B2 (ja) * 1988-12-02 1998-06-18 株式会社日立製作所 プログラム生成方法および実行方法
JP2730195B2 (ja) * 1989-06-30 1998-03-25 三菱電機株式会社 結合振動特性解析装置
CA2012139C (en) * 1990-03-08 2004-01-13 Michael P. Teter Apparatus and method for predicting physical and chemical properties of materials
JPH03263174A (ja) * 1990-03-14 1991-11-22 Hitachi Ltd プログラム生成方法およびそのための領域分割方法
JPH03268058A (ja) * 1990-03-19 1991-11-28 Hitachi Ltd 文書作成方法及びその装置
US5202843A (en) * 1990-04-25 1993-04-13 Oki Electric Industry Co., Ltd. CAE system for automatic heat analysis of electronic equipment
US5287529A (en) * 1990-08-21 1994-02-15 Massachusetts Institute Of Technology Method for estimating solutions to finite element equations by generating pyramid representations, multiplying to generate weight pyramids, and collapsing the weighted pyramids
IE69192B1 (en) * 1990-12-21 1996-08-21 Hitachi Europ Ltd A method of generating partial differential equations for simulation a simulation method and a method of generating simulation programs
US5301100A (en) * 1991-04-29 1994-04-05 Wagner Ferdinand H Method of and apparatus for constructing a control system and control system created thereby
US5497451A (en) * 1992-01-22 1996-03-05 Holmes; David Computerized method for decomposing a geometric model of surface or volume into finite elements
JP2548880B2 (ja) * 1992-04-23 1996-10-30 インターナショナル・ビジネス・マシーンズ・コーポレイション 空間分割型確率シミュレーション・システムおよび物質エネルギー・システムをシミュレートする方法
US5367465A (en) * 1992-06-24 1994-11-22 Intel Corporation Solids surface grid generation for three-dimensional topography simulation
US5379225A (en) * 1992-06-24 1995-01-03 Intel Corporation Method for efficient calculation of vertex movement for three-dimensional topography simulation
JP3416892B2 (ja) * 1992-06-24 2003-06-16 日本電信電話株式会社 ブールトラジェクトソリッドサーフェス移動システム
JP3416894B2 (ja) * 1992-06-24 2003-06-16 日本電信電話株式会社 コンピュータ制御ディスプレイシステム
JP3713055B2 (ja) * 1992-06-24 2005-11-02 日本電信電話株式会社 3次元lsi形状シミュレーションシステム
US5442569A (en) * 1993-06-23 1995-08-15 Oceanautes Inc. Method and apparatus for system characterization and analysis using finite element methods
US5649079A (en) * 1994-02-28 1997-07-15 Holmes; David I. Computerized method using isosceles triangles for generating surface points
US5745385A (en) * 1994-04-25 1998-04-28 International Business Machines Corproation Method for stochastic and deterministic timebase control in stochastic simulations
US5625579A (en) * 1994-05-10 1997-04-29 International Business Machines Corporation Stochastic simulation method for processes containing equilibrium steps
US5594651A (en) * 1995-02-14 1997-01-14 St. Ville; James A. Method and apparatus for manufacturing objects having optimized response characteristics
US5754447A (en) * 1996-10-30 1998-05-19 Sandia National Laboratories Process for predicting structural performance of mechanical systems
US5826065A (en) * 1997-01-13 1998-10-20 International Business Machines Corporation Software architecture for stochastic simulation of non-homogeneous systems
IT1294492B1 (it) * 1997-09-16 1999-04-12 Enel Spa Metodo per la rappresentazione tramite griglia di calcolo semistrutturata di fenomeni fisici estendentisi in un dominio spaziale
JP2000293508A (ja) * 1999-04-01 2000-10-20 Takayuki Aoki 非等間隔格子において空間微係数を用いたポアソン方程式、拡散方程式および類似の偏微分方程式の高精度計算プログラム
NZ517954A (en) 1999-08-23 2004-09-24 James A Specification of finite element material properties and symmetries for composite part manufacture
DE10023377C2 (de) * 2000-05-12 2003-10-02 Univ Stuttgart Verfahren zur Erhöhung der Leistungsfähigkeit einer Computereinrichtung bei Finite-Elemente-Simulationen und eine solche Computereinrichtung
US6898773B1 (en) * 2002-01-22 2005-05-24 Cadence Design Systems, Inc. Method and apparatus for producing multi-layer topological routes
AU2002214340A1 (en) * 2000-10-25 2002-05-06 Jae-Seung Lee Numerical analysis method for the nonlinear differential equation governing optical signal transmissions along optical fibers
JP3864059B2 (ja) * 2001-04-12 2006-12-27 東芝ソリューション株式会社 微分方程式の離散化により生成される連立一次方程式の計算プログラムおよびその計算プログラムを記録したコンピュータ読み取り可能な記録媒体ならびに連立一次方程式の計算装置
JP2003030252A (ja) 2001-07-11 2003-01-31 Canon Inc 有限要素法ライブラリ、有限要素法プログラムおよび記憶媒体
US7904280B2 (en) * 2003-04-16 2011-03-08 The Mathworks, Inc. Simulation of constrained systems
US20070075450A1 (en) * 2005-10-04 2007-04-05 Aztec Ip Company Llc Parametrized material and performance properties based on virtual testing

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60140433A (ja) * 1983-12-28 1985-07-25 Hitachi Ltd シミューションプログラム生成方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4107773A (en) * 1974-05-13 1978-08-15 Texas Instruments Incorporated Advanced array transform processor with fixed/floating point formats
US4150434A (en) * 1976-05-08 1979-04-17 Tokyo Shibaura Electric Co., Ltd. Matrix arithmetic apparatus
JPS6022371B2 (ja) * 1980-08-18 1985-06-01 株式会社日立製作所 ディジタル微分解析機
US4611312A (en) * 1983-02-09 1986-09-09 Chevron Research Company Method of seismic collection utilizing multicomponent receivers

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60140433A (ja) * 1983-12-28 1985-07-25 Hitachi Ltd シミューションプログラム生成方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01204144A (ja) * 1988-02-09 1989-08-16 Hitachi Ltd 数値シミュレーションモデルの作成方法、および、これを用いた数値シミュレーションプログラムの自動生成方法
JP2007257656A (ja) * 2000-12-12 2007-10-04 Fujitsu Ltd 連成解析方法及びそのプログラム
JP4615543B2 (ja) * 2000-12-12 2011-01-19 富士通株式会社 連成解析方法及びそのプログラム
JP2011075370A (ja) * 2009-09-30 2011-04-14 Hitachi Ltd 解析装置、フランジ形状の評価方法
CN109741794A (zh) * 2019-01-08 2019-05-10 西安聚能高温合金材料科技有限公司 基于Matlab的真空感应炉熔炼配料的计算方法
CN111400977A (zh) * 2020-04-07 2020-07-10 中国科学院微电子研究所 一种物理场中物理量提取方法

Also Published As

Publication number Publication date
JPH07120276B2 (ja) 1995-12-20
US4819161A (en) 1989-04-04

Similar Documents

Publication Publication Date Title
JPS62208166A (ja) シミュレーションプログラム生成方法
Mills The new math of computer programming
US4677587A (en) Program simulation system including means for ensuring interactive enforcement of constraints
JPH08508838A (ja) 有限要素法の新しい解析法及び解析器
JPS63223869A (ja) プログラム生成方法
Aguas et al. Generalized planning with procedural domain control knowledge
Protalinskii et al. Analysis and modelling of complex engineering systems based on the component approach
JPS62212771A (ja) シミュレーションプログラム生成方法
CN102177518B (zh) 实现有限元模型的方法和设备
JPH01145723A (ja) プログラム生成方法
CN115017773A (zh) 一种三维网格模型的降维方法、电子设备和介质
CN106096159B (zh) 一种云平台下的分布式系统行为仿真分析系统的实现方法
JP7083703B2 (ja) 電気全体回路のシミュレーションのためのコンピュータ実装方法
CN105404611A (zh) 一种基于矩阵模型的多计算引擎的自动选择方法
CN110968308A (zh) 一种用于改变用于生成源代码的模型的方法
JPH07120275B2 (ja) シミューションプログラム生成方法
Colombo et al. A temporised Petri net approach for design, modelling and analysis of flexible production systems
Katz et al. A system for constructing linear programming models
Zimmer Module-preserving compilation of modelica models
JP2007004391A (ja) 生産・物流スケジュール作成装置及び方法、生産・物流プロセス制御装置及び方法、コンピュータプログラム、並びにコンピュータ読み取り可能な記録媒体
Ryszka et al. Graph transformation systems for modeling three dimensional finite element method. Part I
JP3218569B2 (ja) メッシュ生成装置
JP3000941B2 (ja) 分散論理シミュレータ
Cao Simmodel transformation middleware for modelica-based building energy modeling and simulation
AbouEisha et al. Multi-stage Optimization of Element Partition Trees

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term