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

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

Info

Publication number
JPH07120276B2
JPH07120276B2 JP61050380A JP5038086A JPH07120276B2 JP H07120276 B2 JPH07120276 B2 JP H07120276B2 JP 61050380 A JP61050380 A JP 61050380A JP 5038086 A JP5038086 A JP 5038086A JP H07120276 B2 JPH07120276 B2 JP H07120276B2
Authority
JP
Japan
Prior art keywords
program
coefficient
nodes
constant term
calculation program
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.)
Expired - Lifetime
Application number
JP61050380A
Other languages
English (en)
Other versions
JPS62208166A (ja
Inventor
千里 金野
征雄 梅谷
裕之 平山
忠 太田
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 Ltd
Original Assignee
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 Ltd filed Critical Hitachi Ltd
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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は物理現象を表わす偏微分方程式から、その物理
現象を数値化して模式的に表示(以下シミュレーション
と呼ぶ)するための数値計算プログラムの生成方法に係
り、特に電磁場解析,熱伝導解析,流体解析などの分布
量をシミュレーションするのに好適な数値計算プログラ
ム生成方法に関する。
〔従来の技術〕
従来の方法は、特開昭60−140433号に記載のように、偏
微分方程式と数値計算すべき空間域の記述から有限要素
法に基づいてその偏微分方程式に関する数値計算をする
プログラムを自動生成していた。
〔発明が解決しようとする課題〕
上記従来技術では、任意の境界条件の組み込み方法につ
いて考慮されていなかった。また、従来技術は、コード
生成において節点間の接続関係情報を制御の中心情報と
して用いていたため、生成コードの実行時に多大な記憶
容量を必要とするという問題点があった。
本願第1の発明は、要素に関するより少ないデータに基
づいて数値計算を行いうる数値計算プログラムを生成す
るプログラム生成方法を提供することを目的とする。
本願第2の発明は、境界条件を組み込み、かつ、要素に
関する少ないデータに基づいて数値計算を行ないうる数
値計算プログラムを生成するプログラム生成方法を提供
することを目的とする。
〔課題を解決するための手段〕
本願第1の発明による、シミュレーションプログラム生
成方法では、 (1)シミュレーションすべき物理量(a)を支配する
偏微分方程式を偏微分演算子を用いて記述する方程式情
報と、シミュレーションすべき領域の形状と位置でもっ
てその領域を指定する領域指定情報とを少なくとも指定
する入力情報から、該方程式情報で指定された偏微分方
程式を有限要素法で解くための、偏微分演算子を使用し
ない高級プログラム言語で記述された計算プログラム
を、プログラム生成用の装置により自動的に生成し、 (2)該計算プログラムを、翻訳用の装置によりコンパ
イルすることにより、機械語で記述された計算プログラ
ムに変換し、該機械語で記述された計算プログラムをシ
ミュレーションプログラムとして出力するステップを有
し、 上記ステップ(1)では、 (1a)上記領域指定情報が指定する上記シミュレーショ
ンすべき領域を複数の要素領域に該プログラム生成用の
装置により分割し、その結果として該複数の要素領域の
各々を構成する複数の節点とそれらの節点の位置を表わ
す節点要素データを生成し、 (1b)該方程式情報で記述された偏微分方程式を有限要
素法で解くための、上記高級言語プログラムで記述され
た計算プログラムとして、該複数の要素領域を構成する
複数の節点の各々Niとそれらの要素領域内の節点Njに関
連した、該複数の要素領域の各節点での該物理量の値aj
に関するマトリックス方程式(Cij)(aj)=(bi)
を、該節点要素データを使用して解くためのプログラム
を該プログラム生成用の装置により生成し、 該ステップ(1b)では、 (A)該偏微分方程式に含まれた各演算子の種類に応じ
た式変形処理を該偏微分方程式に対して実行し、その結
果として、上記複数の要素領域のいずれかに属する複数
の節点Njに関する、該マトリックス方程式の各係数Cij
および各定数項biをそれぞれ算出するのに使用する、該
高級プログラム言語で記述可能な、演算子その他を表わ
す記号で記述された、係数用の数式と定数項用の数式を
該プログラム生成用の装置により生成し、 (B)該マトリックス方程式の各係数Cijおよび各定数
項biをそれぞれ該係数用の数式と該定数用の数式とに基
づいて算出するための、該高級プログラム言語で記載さ
れた、係数算出プログラム部分および定数項算出プログ
ラム部分とを該プログラム生成用の装置により形成し、 (C)該係数算出プログラム部分と該定数項算出プログ
ラム部分を、該節点要素データを使用して実行するよう
に制御するための、該高級プログラム言語で記載された
実行制御プログラム部分を、該プログラム生成用の装置
により形成し、 (D)該係数算出プログラム部分および該定数項算出プ
ログラム部分を実行したときに得られる各係数Cijおよ
び各定数項biを使用して、上記マトリックス方程式を解
くためのプログラム部分を、該プログラム生成用の装置
によりさらに形成し、該係数算出プログラム部分、該定
数項算出プログラム、該実行制御プログラム部分および
該マトリックス方程式を解くためのプログラム部分から
なるプログラムを該高級プログラム言語で記述された計
算プログラムとして出力し、 ここで、上記節点要素データは、各要素領域ごとにそこ
に含まれる複数の節点を示す領域要素情報を有し、 該実行制御プログラム部分は、(a)該複数の要素領域
の一つを選択し、その要素領域内の複数の節点を該領域
要素情報に基づいて選択し、(b)該選択された要素領
域内のそれぞれの節点Niとその要素領域内のすべての節
点Njとに関連する係数Cijおよび定数項biへの、それぞ
れの節点Njからの寄与分を、それぞれ該係数算出プログ
ラム部分と該定数項算出プログラム部分により算出し、
(c)上記複数の要素領域の内の他の要素領域の選択と
該他の要素領域に含まれる複数の節点の選択およびそれ
らの選択された節点からの係数および定数項への寄与分
の、該係数算出プログラム部分および該定数項算出プロ
グラム部分による算出を繰り返すように構成され、 該係数算出プログラム部分と該定数項算出プログラム部
分は、上記算出の最初の実行時およびその算出の繰返し
時に得られる、同一の係数への異なる寄与分および同一
の定数項への異なる寄与分をそれぞれ累算して、各係数
および各定数項の値を決定するように構成されている。
さらに、本願第2の発明による、シミュレーションプロ
グラム生成方法では、該ステップ(1b)のステップ
(A)では、上記係数用の数式(以下、第1の係数用の
数式と呼ぶ)と上記定数項用の数式の他に、上記境界辺
の上記一部の上に位置する節点Niに関する、該マトリッ
クス方程式の各係数Cijを算出するのに使用する、該高
級プログラム言語で記述可能な、演算子その他を表わす
記号で記述された第2の係数用の数式を、該プログラム
生成用の装置により生成し、 該ステップ(1b)のステップ(B)では、該マトリック
ス方程式の各係数Cijおよび各定数項biをそれぞれ算出
するための、該高級プログラム言語で記述された、係数
算出プログラム部分と定数算出プログラム部分を、それ
ぞれ第1、第2の係数用の数式および該定数項用の数式
とに基づいて該プログラム生成用の装置により形成し、 上記、入力情報には、その領域の境界辺の少なくとも一
部において該物理量が満たすべき境界条件が含まれ、 上記節点要素データは、上記領域要素情報の他に、上記
境界辺の上記一部上に節点を有する複数の要素領域の各
々毎に、そこに含まれる複数の節点を示す境界要素情報
をさらに有し、 該実行制御プログラム部分は、さらに、(d)該境界辺
の上記一部上に位置する二つの節点を有する一群の要素
領域の一つを選択し、その要素領域内の、該境界辺の上
記一部上に位置する複数の節点を該境界要素情報に基づ
いて順次選択し、(e)この選択された一つの要素領域
内の、選択されたそれぞれの節点Niとその要素内の該境
界辺の上記一部上に位置するすべての節点Njとに関連す
る係数Cijおよび該節点Njに関連する定数項biへの、そ
れぞれの節点Njからの寄与分を、該係数算出プログラム
部分および該定数項算出プログラム部分により算出し、
(f)該一群の要素領域の内の境界上に節点を有する他
の要素領域の選択と当該他の要素領域内の、境界上に位
置する複数の節点の選択とそれらの選択された節点から
の係数および定数項への寄与分の、該係数算出プログラ
ム部分および該定数項算出プログラム部分による算出を
繰り返すように構成されている。
〔作用〕
本願第1の発明では、上記係数Cij、定数項djの算出
を、要素順に行うので、上記従来技術で使用されてい
た、節点毎に、それと同じ要素に属する他の一群の要素
を示す節点結合データ(上記公開公報では、第8図の結
合要素テーブル151と呼ばれているもの)が不要にな
る。従って、本願第1の発明では、より少ない容量の節
点要素データを使用するシミュレーションプログラムを
生成することが出来る。この結果、このデータを保持す
るメモリが少なくて済む。
本願第2の発明では、境界条件を組み込み、しかも、少
ない容量の節点要素データを使用するシミュレーション
プログラムを生成することが出来る。
〔実施例〕
以下、本発明の実施例を説明する。
第1図は本発明によるプログラム生成方法を用いたシミ
ュレーション装置の構成図である。操作者によりプログ
ラム生成装置3に、シミュレーションすべき領域の境界
の位置あるいは形状に関する情報およびその境界の分割
の仕方を指定する形状・分割情報1と、物理現象を支配
する偏微分方程式および初期値又は境界条件を表わす情
報2である。プログラム生成装置3は以下の3つの機構
より構成される。メッシュ分割機構4は、入力1から節
点要素データ7を生成する。方程式離散化機構5は入力
2を、有限要素法の手順に従って、離散化する。計算プ
ログラム生成機構6は、4,5の生成した情報に基づい
て、入力1,2に対する数値計算プログラム8を生成す
る。生成されたプログラムは続いて翻訳機構9により、
機械語の計算プログラム10に変換され、それが計算装置
11を制御してシミュレーションを実施する。計算装置11
はプログラムの指令に従って節点要素データ7と入力デ
ータ12を読み込んでシミュレーションを実施し、シミュ
レーション結果13を出力する。
以上から分かるように、本実施例で使用する装置は、次
の3つからなる。
(a)プログラム生成装置3 これは、形状・分割情報1と方程式情報および初期値又
は境界条件を表わす入力情報から計算プログラム8を生
成する装置として作用する。この計算プログラム8は、
本実施例において第1番目に生成される計算プログラム
で、本実施例では、フォートランにて記述される。上記
入力情報は、偏微分演算子を用いて、偏微分方程式ある
いは境界条件を記述することが出来るので、ユーザにと
っては記述し易い。フォートランは、入力情報に含まれ
た偏微分演算子を記述できないので、プログラム生成装
置3は、このような入力情報から、偏微分演算子を記述
出来ない高級プログラム言語で記述されたプログラム8
を生成するのに使用される。
形状・分割情報1もユーザにとって記述し易い構造を有
する。このプログラム装置3は、この入力情報から、プ
ログラム8が使用可能な節点要素データ7を生成する装
置としても作用する。
(b)翻訳機構9 翻訳機構9は、フォートランで記述された第1番目に生
成された計算プログラム8を、機械語で記述された第2
番目の計算プログラム10に変換する装置として作用す
る。
(c)計算装置11 これは、機械語で記述された第2番目の計算プログラム
10を実行する。従って、この計算装置11は、プログラム
生成装置3、翻訳機構9と異なり、プログラムの生成に
使用される装置ではなく、生成されたプログラムの実行
に使用される装置である。
本発明の中心を成すプログラム生成装置3の動作説明に
先立ち、その基礎となる、有限要素法による計算方法に
ついて説明する。
有限要素法は、数値計算すべき領域41(第4図)を要素
(メッシュ)と呼ばれる小領域に直和分割し、各要素の
境界を規定する点(節点)における、偏微分方程式と近
似的に等価な一次方程式を導出し、それを連立すること
によって各節点における未知量の近似解を得るものであ
る。その概略フローは以下のとおりである。
有限要素法では各節点上に定義される基底関数を用いて
計算を進める。第i番節点上に定義される基底関数i
の一例を第2図に示す。これは第i番節点上で値1をと
り、それに隣接する他の節点上では値0をとる。iは
その他の位置第i番節点と、上記隣接するのでは、節点
でのiの値を結んで得られる稜の上に張られる平面膜
上の値をとるテント形の関数である。
有限要素法においては、基底関数iを用いて、原方程
式を第3図に示す手順にて連立一次方程式に帰着させて
解く。例題として取り上げた第3図の方程式(1)に則
して説明する。まず、求めるべきAの分布を第3図
(2)に示すような基底関数iの一次結合によって表
わす。係数{aj}が未知量として求めるべきデータであ
る。原方程式(1)のAを一次結合式(2)で置きか
え、さらに基底関数iを符号の両辺に掛けて定義領域
で積分すれば第3図(3)の関係式が得られる。(3)
式は節点30ごとに得られるので、節点30の数だけ存在す
る。
(3)を変形して係数{aj}について整理すれば(4)
式が得られる。式(3)から式(4)の変形においては
積分と微分に関する性質 を利用している。ここで、∇は傾斜微分演算子(Э/Э
x,Э/Эy)、∫ЭΩは境界積分項を意味する。通常、
境界上で与えられる(固定境界以外の)境界条件は、 n・▽A=λA+μ であるので、 ∫ЭΩ(n・▽A)i=∫ЭΩ(λΣaj・i+μ)
i と置換することができ、(3)式から(4)式を得る。
(4)式は、 Cij=−∫▽j・▽i+∫βji+∫ЭΩλ
ji bi=−∫fi−∫ЭΩμi と置けば、(5)式に示すように、{Cij}を係数行列
{bi}を定数ベクトルとする連立一次方程式を意味し、
これを解くことにより{a}を求めることができる。
従って、問題の定義域および要素分割情報と、偏微分方
程式および境界条件から、上記係数行列{Cij}と定数
ベクトル{bi}を導出することができれば、その数値計
算プログラムを生成することが可能となる。第1図のプ
ログラム生成装置3は、この生成を行なう事を目的とし
ている。
以下、第1図のプログラム生成装置3の動作フローにつ
いて説明する。
初めに本装置3の入力情報について述べる。入力情報
は、形状・要素分割情報1と、方程式情報2である。
形状・要素分割情報1の具体例を第4図に示す。
本例は、点P1P2P3P4P5で規定される領域S1と点P5P4P3P6
P9P8P7で規定される領域S2からなる領域41を解析対象領
域とした場合の入力情報1の例である。本情報は、領域
形状を規定する情報と、それを要素分割する情報より成
る。L1=LINE(P1,P2)、R(3,r1)中のLINE(P1,P2)
は、点P1,P2を両端点とする線分L1を定義し、R(3,
r1)はその線分を公比r1で3分割することを示してい
る。L2=LINE(P2,P3)、D(2)は、点P2,P3を両端点
とする線分L2を2等分割することを示している。またL3
のARCは円孤を、L6のSPLINEはスプライン曲線を定義す
ることを示している。L1からL7までで領域を規定するの
に必要となる境界辺を定義し、S1,S2はそれらによって
囲まれる領域を定義している。S1=QUAD(P1,P2,P3,P
5)、Aの最後のAは、既分割の境界辺を用いて、領域
内部を自動メッシュ分割することを指示している。
もう一方の入力情報である、方程式情報2の具体例を第
5図に示す。任意の2階偏微分方程式は一般的に51に示
す形式で与えられる。ここで、EQiは、52に示すいずれ
かの項である。52は、2階微分項,1階微分項,非微分
項,定数項を示している。53は、51の具体例で、移流拡
散方程式である。54,55は偏微分方程式以外にモデルを
規定するために必要となる境界条件式を表わしている。
54は第一種(固定)の境界条件を、55は第二種,第三種
の境界条件である。ここで、各式の後半部のAT L1+L6
+・・・・・は、各境界条件式がどの境界部分で成立し
ているかを指示している。このL1,L6という名称は、前
項で述べた第4図の形状情報入力時に付与した各境界構
成辺の名称で、このように部分構造の名称を参照するこ
とによって複雑な数理モデルの記述が可能となる。
次に、第1図メッシュ分割機構4の動作を第6図から第
9図を用い、述べる。第6図に、本機構4の処理フロー
を示す。以下、各処理内容について説明する。
初めに61で部分領域(第4図における4辺形領域S1,S
2)の周囲辺(第4図におけるL1〜L7)の分割を、離散
化情報に従って行なう。これは(曲)線分の長さに従っ
て、等分割もしくは等比分割を行って節点を求めていけ
ばよい。
続いてこの周囲辺の分割に従って、四辺形部分領域はも
しくは三辺形部分領域の自動分割62を行なう。この自動
分割の処理フローを第7図を用いて説明する。第7図71
は前記の周囲辺の分割後を示している。白丸が辺の分割
によって得られた実際の節点である。ここで、対辺同士
の分割数が等しくない場合には、多い方の辺の分割数に
合わせて、各節点間に虚点(実際の節点ではなく、自動
分割するための便宜上の節点)を配置する。この場合、
虚点が多ければ多い程、自動分割後の要素・節点の存在
は疎となるので、一箇所に虚点を集中させないことが重
要となる。本機構では、対辺の分割数から必要となる虚
点の数を算出し、もう一組の対辺の分割数の少ない辺側
から、実節点の間に虚点を配分する。各実節点間に配分
される虚点数は、予め定められている関数に従って決定
されるが、本機構では、仮に線型な関数を用いている。
以上で実節点、虚点の合計が対境界辺同士等しい部分領
域が生成できる。また、三辺形領域であれば、境界辺上
の実節点の一番多い辺の適当な一節点で、本機構がその
境界辺を分割して2辺とみなす事により、四辺形領域と
みなして、全く同様の処理が適用可能となる。次に、各
部分領域の境界辺の分割数と等しい、正規座標領域(メ
ッシュ間隔が全て1の直交格子)72を考える。72から、
71に対して、72の各境界上の格子節点が、71の境界上の
節点に写る、写像関数Fを生成する。この写像では、例
えば正規座標上の節点77が、実座標系での節点(この場
合は虚点)78に写像される。写像関数の生成はいく通り
から考えられ、例えば周知のように、領域72から領域71
への写像を各座標同士の交換がラプラス方程式を満たす
ものとし、72の境界節点が71の境界節点に写るという第
一種境界条件の下に、規定することができる。次に、領
域72の各格子節点の内、実座標系71の虚点に対する格子
点を通らない、メッシュ図75を生成する。これは、初め
に全体の格子を全ての角点が実節点の小四角形領域に分
割し、その各小四角形領域の実節点を適当に結ぶことに
より、正規系のメッシュ図75が生成できる。次に、既作
成の写像関数Fに従って、75を実座標系に写像し、メッ
シュ76を得る。ここで注意を要するのは、写像関数Fの
選び方によっては、内部に自動生成した節点が、領域外
に飛び出すという問題が生ずる場合があるが、本機構4
では、75から76への写像が適正(内部節点が領域外に飛
び出さない)であれば、75の各要素(メッシュ)の節点
を辿った向きと76のそれが一致するという性質を利用し
てチェックを可能としている。以上のフローを全部分領
域に適用する事により、全体領域の分割が実現でき、節
点,要素の生成順に通し番号を付す。
第8図は生成されたメッシュ図を示している。Eiは要素
番号を、Niは節点番号を示している(i=1,2,…)。
この分割に際して、第6図処理フローの63から66に従っ
て、各リスト情報を随時生成する。第9図に生成するリ
スト情報の内容の詳細を示す。本リスト情報は、第1図
計算プログラム生成機構6のプログラム生成時および生
成プログラムの実行時に計算装置11によって参照され
る。データ例として第8図に対応する情報を記してあ
る。
次に生成するリスト情報の意味とその生成方法について
説明する。第6図の節点・メッシュリストの生成63で
は、第9図のX(NODE)テーブル91、Y(NODE)テーブ
ル92、IADATA(MESH,3)テーブル93を生成する。これ
は、それぞれ生成した節点のX座標,Y座標,メッシュを
構成する節点番号であり、これは上述した自動分割中で
随時生成される。ここで、NODEは全節点数、MESHは全要
素数を表わしている。第6図の節点間接関係リストの生
成64は、第9図のICOEF(NODE,BAND)テーブル94を生成
する。これは各節点と同一メッシュ上にある節点のリス
トである但し、自分自身も含んでおり、。各節点は節点
番号の昇順となっている。ここで、BANDはその接続節点
の最大数を示しており、その個数以下の節点に対する当
該リスト部は、0を入れてある。このテーブルは、IADA
TAテーブル93をサーチすることにより容易に生成され
る。第6図の部分領域帰属節点リストの生成65は、第9
図のS1(S1NUM)テーブル95を生成する。これは、各部
分領域毎に属する節点リストで、部分領域の自動分割時
に生成することができる。ここで、S1NUMは部分領域S1
に属する節点数を示している。第6図の境界帰属節点・
メッシュリストの生成66は第9図のL1(L1NUM)96とL1B
(L1BNUM,3)97を生成する。これは、各境界辺上に属す
る節点のリストと、各境界辺上に2節点を有するメッシ
ュの節点のリストである。これも、前者は各構成辺の分
割時に、後者は各部分領域の自動分割時に生成すること
ができる。ここで、L1NUMは、境界辺L1上に属する節点
数を、L1BNUMは境界辺L1上に2節点を有する要素数であ
る。例えば、第8図の境界辺L1に対しては、境界上節点
はN1,N2,N6,N10の4点で、境界上に2節点を有する
要素は3つ(L1BNUM=3)で、第9図の97のようにな
る。ここで、テーブル97の特徴は、要素を構成する3点
の内、前2点が該当境界上にあるものを配している。
以上が、第1図のメッシュ分割機構14の動作説明であ
る。
次に、第1図の方程式離散化機構5の動作を第10図から
第17図を用い述べる。本機構は、第3図で説明した
(4)式までの式変換を行なう部分である。第10図に、
本機構の処理フローを示す。以下、第10図の各処理内容
について説明する。
第10図101は、偏微分方程式(第5図の51)および境界
条件式(第5図の54,55)の情報をテーブルに格納す
る。第11図にテーブルの構成を示す。111は偏微分方程
式の情報を保持する式テーブルで、第5図の53に対する
情報で例示している。本テーブル111は、偏微分方程式
の右辺を左辺に移項した後の方程式に対する情報を、各
項ごとに保持する。項の区切りは、式中に含まれる加算
演算式とカッコの数をカウントすることにより、容易に
抽出される。本テーブル111は各項の微分階数を保持す
るエントリ114を有するが、この情報は処理102(第10
図)で格納する。112は境界条件の情報を保持するテー
ブルで、第5図の54,55に対する情報で例示している。
境界条件式とその条件が成立する境界領域の名称を情報
として保持する。各境界領域を構成する節点信号につい
ての情報は、境界領域テーブル113に保持する。境界領
域テーブル113の実際の情報は前述したメッシュ分割機
構4により設定される。
第10図の処理102では、第11図式テーブル111に格納され
た式の各項の微分階数の識別を行なう。第12図にその処
理フローを示す。121では式テーブル111に保持されてい
る項ごとに、項中に含まれる未知変数を検索する。次に
122で未知変数にかかっている微分演算子の数とその種
類を識別し、123ではその微分階数を式テーブル111の該
当エリア124に設定する。
第10図103は、式テーブル111中の各項の離散化を行な
う。第13図に、その処理フローの詳細を示す。第3図の
式(1)から式(4)への変換を行なう部分である。各
項の識別が前段までで完了しているので、純粋に数式処
理によって実現することが可能である。第13図の131で
は、各項に基底関数をかけ、テーブル111に設定し
てある各項の微分階数に従って、空間領域での積分形13
2,133,134,135に変換する。この際、項が2階微分項で
ある場合には、132に示すように、積分形を部分積分公
式とガウスの発散定理を用いて、1階微分項から成る形
まで変換する。この過程で境界積分項136が生ずる。137
では、この境界積分項136のn・(T▽A)を第11図境
界条件テーブル112に格納されている境界条件式の右辺
で置換することにより、境界条件を積分形中に取り込
む。この置換は、第1種(固定)境界条件以外で行な
う。この処理は、異なる境界条件とそれの成立する境界
領域毎に行ない、それぞれの置換結果を138に示すよう
に個別に、その条件が成立する境界領域名称と共に保持
する。
以上の積分変換によって式テーブル111から生成される
積分形の式テーブル141を第14図に示す。次に139では上
述した積分形の式テーブル141の各項中に含まれる積分
を評価する。その処理フローを第15図を用いて説明す
る。以下では∫Ω▽A▽dxを例に説明する。
ここで は、節点Ni,Njの両者を含む要素Eの全てについて総和
をとる事を意味する。また、xi,yiをそれぞれ節点Ni
x,y座標とし、要素Eの3節点をi,j,kとすると、∇Eは
行列式 の値、di=yk−yi,bi=yj−yk,Cj=xi−xk,Ci=xk−x
jである。151では、積分形式の各項の未知変数Aを基底
関数の一次結合でおきかえる((1)に相当)。152で
は基底関数に関する積分の部分を一つにまとめる
((2)に相当)。この段階で積分として現われる形式
は限定されるので(∫▽・▽,∫▽,∫
など)、それを予め積分評価テーブル161として、本
機構中に内蔵している。第16図に積分評価テーブル161
の一例を示す。これは基底関数を決定されれば一意に決
定される。153では、各積分について、それに含まれる
基底関数の数がいくつであるかおよび微分演算子∇がか
かっているか否かを識別し、そのタイプ情報から第16図
の積分評価テーブル161を検索し、合致した積分の評価
式でもって積分項をおきかえる((3),(4)に相
当)。以上の処理を、全ての積分項に施すことにより、
第17図に示す、離散式テーブル171を生成する。172には
積分形・式テーブルから受け継いだ各項の符号を、173
には積分評価して生成した離散式を、174にはその離散
式が成立するのが、内部領域か、境界上ならどの境界辺
領域上かを示す情報が保持される(これは各積分項の積
分範囲から容易に抽出される)。ここでインデックスj
の総和Σは自明なので省略されている。
以上が、第1図の方程式離散化機構6の動作説明であ
る。これによって、偏微分方程式と境界条件は離散式一
次方程式に変換される。
以上から明らかなように、本実施例では、行列方程式の
係数Cij、定数項biの計算には一般には以下の4つの計
算式が使用される。
(a)各要素領域に関する領域積分に由来する、係数Ci
jへの寄与分を表わす第1の係数用の数式 (b)各要素領域に関する領域積分に由来する、定数項
biへの寄与分を表わす第1の定数項用の数式 (c)境界上に2点を有する要素領域に関する境界積分
に由来する、係数Cijへの寄与分を表わす第2の係数用
の数式 (d)境界上に2点を有する要素領域に関する境界積分
に由来する、定数項biへの寄与分を表わす第2の定数項
用の数式 これまでの説明で使用した第5図の偏微分方程式53に代
えて、より簡単な、第3図の式1に示した偏微分方程式
式を使用した場合について、これまでに述べた手順を実
行すれば、以下の数式が得られる。
(a)第1の係数用の数式 (b)第1の定数項用の数式 (c)第2の係数用の数式 (d)第2の定数項用の数式 次に、第1図の計算プログラム生成機構5の動作を、第
18図から第22図を用いて述べる。本機構は、上述した、
メッシュ分割機構4の生成した節点・要素情報と、方程
式離散化機構5の生成した離散式テーブル171から、そ
の数値計算プログラムを生成する。これは、第3図にお
いて、(4)式から連立一次方程式(5)を構成する係
数行列Cと定数ベクトルbを生成し、その行列を解く計
算プログラムに連結することにあたる。離散式テーブル
171は、与えられた偏微分方程式中に含まれる既知関数
と要素を構成する節点座標の四則演算のみより成り、ま
た各節点座標は既に求められているので、第3図(4)
式の係数の総和を制御するコードを構成することによ
り、計算プログラムの生成が実現できる。
第18図に本機構6の処理フローを示す。係数行列Cと定
数ベクトルbの値を求めるコードを生成する基本的な考
え方は、初めに離散式中に含まれる領域積分項から生成
された項の寄与を係数行列Cと定数ベクトルbに足し込
み、続いて境界積分項から生成された項の寄与をそれら
に足し込む。これにより、FORTRANにおける個別のDOル
ープによってコード化が可能となる。以下第18図のフロ
ーを説明する。181では、第17図離散式テーブルをサー
チし、領域積分項から生成される項(第17図のフィール
ド174にその情報がある)の係数行列Cと定数ベクトル
bへの寄与分を計算するコードを生成する。182は同様
に境界積分項から生成される項のC,bへの寄与を前段で
求まったC,bへ足し込むコードを生成する。次に183は得
られたC,bに対して、第11図境界条件テーブル112をサー
チし、第1種境界条件(第11図の115)の効果をC,bへ組
み込むコードを生成する。最後に184では、得られたC,b
に対して、行列解法ルーチンを呼び出すコードを生成す
る。以下では更に各処理の詳細については、生成コード
列と対応づけて説明する。
第19図は181でのコード生成の詳細フロー、第21図はそ
の生成コード例を示している。ここで第21図のRCOEFが
係数行列を、CONSが定数ベクトルを格納するテーブル
で、X,Y,IADATA,ICOEF等は全て第9図で説明したメッシ
ュ分割機構4が既に生成したデータを参照している。た
とえば、ICOEFは、第9図ですでに示した節点間接続関
係リスト94を指し、係数行列の非ゼロ成分を圧縮したテ
ーブルで、その内部の各位置には、その位置に対応する
節点番号を示している。たとえば、ICOEF(i,1)は、節
点iと同じ要素に属する他の節点のうち、一番番号が小
さい節点の番号を保持する。また、LISTV(i)は、i
番目の節点Niに対して、ICOEF(i,j)のi行の中で節点
Niが保持されている列位置を示す一次元のテーブルで、
たとえば、i=1,2,3に対しては、それぞれ第1、第
2、第3行内の節点N1,N2,N3の列位置である、1、2、
2を示す。まず第19図191は係数行列、定数ベクトルの
テーブルを初期化している(第21図コード211に対
応)。192〜199、1910で各要素を単位として、要素内の
各節点への領域積分項からの寄与(効果)を、係数行
列、定数ベクトルへ加え込むコードを生成する。192,19
3,197が要素単位の寄与を計算する制御コードを生成す
る(第21図コード212,213,217のDOループに対応)。194
で各格素を構成する節点をIADATAテーブルより求め(コ
ード214)、195で積分評価に必要となるdi,Ci,ΔEを
計算するコードを生成する(コード215)。196で離散式
テーブルの式情報からCijとbiへの寄与分を算出する計
算コードを生成する(コード216)。198、〜199、1910
では節点Nj,NkからのNiへの寄与、すなわち、係数Ci
j、Cikへの寄与分を加え込むコード218,219,2110を生成
する。
第20図は第18図182,183,184で生成すべきコードの詳細
フロー、第22図はその生成コード例を示している。第18
図182に対応するのが、第20図201〜207で、これは第2
種,第3種の各領域毎に、その数分この処理を行なう。
201〜207では各境界(辺)領域毎に、その境界上に2節
点を有する要素を単位として、境界積分項の寄与を、係
数行列と定数ベクトルへ加え込むコードを生成する。20
1,203は要素単位の寄与を計算する制御コードを生成す
る(第22図コード221,223)。各境界領域に2点を有す
る要素等のリストはメッシュ分割機構4によって第9図
97で説明したように既に生成されているのでそれを参照
すればよい。
201〜208に対応するコードが第22図221〜228である。こ
のループは上述したように第2種,第3種境界条件が定
義されている境界領域に対してのみ生成するが、どの領
域に第2種,第3種境界条件を設定されているかの情報
は、第17図の離散式テーブルのフィールド174に保持さ
れているため、この情報を参照すれば良い。第20図のス
テップ204、205では、境界上の節点i,jを求め、境界積
分計算において必要となる、bi、ci等の計算コードを生
成する(たとえば、第22図のコード224から225が生成さ
れる)。ステップ206で、境界積分項からのCiiへの寄与
分を計算するコードを生成する(第22図のコード22
6)。ステップ207では、境界積分項からの係数Cijへの
寄与分を計算するコードを生成する(第22図のコード22
7)。第18図183で生成すべきコードに対応するのが、第
20図208〜2010で、これは第1種境界領域上にある節点
数に対して固定条件A0を設定する。第22図228〜2210が
対応する生成コードである。どの領域が第1種境界か
は、第11図における境界条件テーブルに保持されている
情報を参照すれば良く、また該当境界上の節点数と節点
番号は第9図のリストに保持されている。最後に第20図
2011で、生成した係数行列と定数ベクトルをシステムが
予め用意する行列解法ルーチンへリンクすることによ
り、未知変数の離散解を得ることができるコードの生成
が完結する。第22図コード2211がこれに対応する。
これらの計算プログラム生成フローの内、第19図196,19
10と、第20図206,207の積分計算コードを除いた部分は
定形コードであり、式や境界条件のタイプによらない。
そのためコード生成に特別な工夫は要しない。積分計算
部については、第17図の離散式テーブルに保持されてい
る式情報を、逐次FORTRANにおいて対応している名称と
記号に置きかえていくことによってコードを生成するこ
とができる。
以上がプログラム生成装置3の動作フローの説明であ
る。
以上の説明から明らかなように、本実施例で生成される
計算プログラム8は、主に以下の4つのプログラム部分
からなる。
(a)すでに述べた第1、第2の係数用の数用の数式に
より、係数Cijへの寄与分を算出する係数算出プログラ
ム部分 (b)すでに述べた第1、第2の定数項用の数式によ
り、定数項biへの寄与分を算出する定数項算出プログラ
ム部分 (c)上記係数算出プログラム部分と定数項算出プログ
ラム部分の実行を、節点要素データを使用して実行する
ように制御するための実行制御プログラム部分 (d)上記係数算出プログラム部分と定数項算出プログ
ラム部分を実行したときに得られる係数Cijと定数項bi
を使用して、上記マトリックス方程式を解くためのプロ
グラム部分 すでに説明した第21図、第22図に示したプログラムにお
いては、上に述べた各プログラム部分は以下のコードか
らなる。
(a)係数算出プログラム部分 第21図のコード215、216、219、2110 および第22図のコード225、226、227 (b)定数項算出プログラム部分 第21図のコード216のCONSステートメント なお、第21図、第22図に示した計算プログラムは、第
3図の式1に示した偏微分方程式を解くプログラムであ
り、このプログラムの生成にあたっては、第1種境界条
件としては、第5図に示した境界条件55におけるμをゼ
ロと仮定したものを使用している。この場合には、すで
に示した、第2の定数項用の数式から分かるように、こ
の第2の定数項用の数式は常にゼロとなる。このため、
第21図、第22図に示した計算プログラム内の定数項算出
プログラム部分は、すでに示した第1の定数項用の数式
に基づいて定数項への寄与を算出するプログラム部分の
みからなる。
(c)実行制御プログラム部分 第21図のコード212、213、214、217、218、 および第22図のコード221、222、223、224 (d)マトリックス方程式を解くためのプログラム部分 第22図のコード2211 本実施例では、このコードは、別に用意された行列方
程式を解くサブルーチンプログラムを呼び出すコール文
である。
あとは一般的なFORTRANプログラムの実行手順に従い、
生成されたプログラム8は翻訳機構9により、機械語の
計算プログラム10に変換され、計算装置11によって実行
される。実行に際しては、メッシュ分割機構4の生成し
た節点要素データ(第9図のリスト群)と、計算上に必
要となる物理定数情報等の入力データ12を入力し、計算
後、シミュレーション結果13をラインプリンタや図形画
像端末等に出力する。
本プログラム生成装置3の特徴は、第3図(4)式で示
された節点対応の基底関数による総和式を、基底関数が
その節点を一頂点とする周辺要素の形状関数によって構
成されていることに着目し、要素対応の総和式に置き換
えることにより、第9図に示した必要最小限の情報から
プログラム生成を可能とした点にある。
以上が一実施例の説明であるが、いくつかの変形が容易
に考えられる。形状・離散化情報1とメッシュ分割機構
4は、CADシステムでの置き換えが可能であり、また、
節点・要素データ7を計算実行時に入力するのではな
く、生成する計算プログラム中にコードとして埋め込む
ことも可能である。
本実施例では、空間領域が二次元の場合を取り上げた
が、一次元や三次元等であっても基底関数の積分公式が
異なるのみであるため、同様にプログラムの自動生成が
実現される。
また、方程式に合わせて計算コードを決定するため、各
種の方程式への適用が可能である。基底関数の種別につ
いては、第3図に示すものの他、より高次のものに対し
ても積分公式、ならびに式変形公式の変更により容易に
対処できる。
さらに生成するプログラムはFORTRANにとどまらず、PL/
I,PASCALなどFORTRANと同レベルの記述機能を有するも
のであればいずれも自動生成ができる。
〔発明の効果〕
本願第1の発明では、少ない容量の節点要素データを使
用するシミュレーションプログラムを生成することが出
来、この結果、このデータを保持するメモリが少なくて
済む。また、本願第2の発明では、境界条件を組み込
み、しかも、少ない容量の節点要素データを使用するシ
ミュレーションプログラムを生成することが出来る。
【図面の簡単な説明】
第1図は本発明の一実施例のシステム構成図。第2図,
第3図は本発明の手順を開示するための説明図。第4
図,第5図は本発明の入力情報の具体例。第6図はメッ
シュ分割機構の動作フロー図、第7図はその補助説明
図、第8図はメッシュ図、第9図は生成する節点要素の
情報リスト。第10図は方程式離散化機構の動作フロー
図、第11図は式・境界条件の管理テーブル、第12図は微
分階数の識別フロー、第13図は式の離散化フロー、第14
図は生成する積分形式テーブル、第15図は積分項の評価
フロー、第16図は内蔵する積分評価テーブル、第17図は
生成する離散式テーブルである。第18図は計算プログラ
ム生成機構の動作フロー図、第19図と第20図は生成コー
ドの詳細フロー図、第21図と第22図は生成コード例の一
部である。 1……形状・離散化情報 2……方程式情報 3……プログラム生成装置 4……メッシュ分割機構 5……方程式離散化機構 6……計算プログラム生成機構 7……節点要素データ 8……自動生成計算プログラム
フロントページの続き (72)発明者 平山 裕之 東京都小平市上水本町1448番地 日立超エ ル・エス・アイ・エンジニアリング株式会 社内 (72)発明者 太田 忠 東京都小平市上水本町1448番地 日立超エ ル・エス・アイ・エンジニアリング株式会 社内 (56)参考文献 特開 昭60−140433(JP,A)

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】偏微分方程式により支配された物理量のあ
    る領域内での値を有限要素法に基づいて算出するための
    シミュレーションプログラムを生成する方法であって、 (1)シミュレーションすべき物理量(a)を支配する
    偏微分方程式を偏微分演算子を用いて記述する方程式情
    報と、シミュレーションすべき領域の形状と位置でもっ
    てその領域を指定する領域指定情報とを少なくとも指定
    する入力情報から、該方程式情報で指定された偏微分方
    程式を有限要素法で解くための、偏微分演算子を使用し
    ない高級プログラム言語で記述された計算プログラム
    を、プログラム生成用の装置により自動的に生成し、 (2)該計算プログラムを、翻訳用の装置によりコンパ
    イルすることにより、機械語で記述された計算プログラ
    ムに変換し、該機械語で記述された計算プログラムをシ
    ミュレーションプログラムとして出力するステップを有
    し、 上記ステップ(1)では、 (1a)上記領域指定情報が指定する上記シミュレーショ
    ンすべき領域を複数の要素領域に該プログラム生成用の
    装置により分割し、その結果として該複数の要素領域の
    各々を構成する複数の節点とそれらの節点の位置を表わ
    す節点要素データを生成し、 (1b)該方程式情報で記述された偏微分方程式を有限要
    素法で解くための、上記高級言語プログラムで記述され
    た計算プログラムとして、該複数の要素領域を構成する
    複数の節点の各々Niとそれらの要素領域内の節点Njに関
    連した、該複数の要素領域の各節点での該物理量の値aj
    に関するマトリックス方程式(Cij)(aj)=(bi)
    を、該節点要素データを使用して解くためのプログラム
    を該プログラム生成用の装置により生成し、 該ステップ(1b)では、 (A)該偏微分方程式に含まれた各演算子の種類に応じ
    た式変形処理を該偏微分方程式に対して実行し、その結
    果として、上記複数の要素領域のいずれかに属する複数
    の節点Njに関する、該マトリックス方程式の各係数Cij
    および各定数項biをそれぞれ算出するのに使用する、該
    高級プログラム言語で記述可能な、演算子その他を表わ
    す記号で記述された、係数用の数式と定数項用の数式を
    該プログラム生成用の装置により生成し、 (B)該マトリックス方程式の各係数Cijおよび各定数
    項biをそれぞれ該係数用の数式と該定数用の数式とに基
    づいて算出するための、該高級プログラム言語で記載さ
    れた、係数算出プログラム部分および定数項算出プログ
    ラム部分とを該プログラム生成用の装置により形成し、 (C)該係数算出プログラム部分と該定数項算出プログ
    ラム部分を、該節点要素データを使用して実行するよう
    に制御するための、該高級プログラム言語で記載された
    実行制御プログラム部分を、該プログラム生成用の装置
    により形成し、 (D)該係数算出プログラム部分および該定数項算出プ
    ログラム部分を実行したときに得られる各係数Cijおよ
    び各定数項biを使用して、上記マトリックス方程式を解
    くためのプログラム部分を、該プログラム生成用の装置
    によりさらに形成し、該係数算出プログラム部分、該定
    数項算出プログラム、該実行制御プログラム部分および
    該マトリックス方程式を解くためのプログラム部分から
    なるプログラムを該高級プログラム言語で記述された計
    算プログラムとして出力し、 ここで、上記節点要素データは、各要素領域ごとにそこ
    に含まれる複数の節点を示す領域要素情報を有し、 該実行制御プログラム部分は、(a)該複数の要素領域
    の一つを選択し、その要素領域内の複数の節点を該領域
    要素情報に基づいて選択し、(b)該選択された要素領
    域内のそれぞれの節点Niとその要素領域内のすべての節
    点Njとに関連する係数Cijおよび定数項biへの、それぞ
    れの節点Njからの寄与分を、それぞれ該係数算出プログ
    ラム部分と該定数項算出プログラム部分により算出し、
    (c)上記複数の要素領域の内の他の要素領域の選択と
    該他の要素領域に含まれる複数の節点の選択およびそれ
    らの選択された節点からの係数および定数項への寄与分
    の、該係数算出プログラム部分および該定数項算出プロ
    グラム部分による算出を繰り返すように構成され、 該係数算出プログラム部分と該定数項算出プログラム部
    分は、上記算出の最初の実行時およびその算出の繰返し
    時に得られる、同一の係数への異なる寄与分および同一
    の定数項への異なる寄与分をそれぞれ累算して、各係数
    および各定数項の値を決定するように構成されているシ
    ミュレーションプログラムの生成方法。
  2. 【請求項2】偏微分方程式により支配された物理量のあ
    る領域内での値を有限要素法に基づいて算出するための
    シミュレーションプログラムを生成する方法であって、 (1)シミュレーションすべき物理量(a)を支配する
    偏微分方程式を偏微分演算子を用いて記述する方程式情
    報と、シミュレーションすべき領域の形状と位置でもっ
    てその領域を指定する領域指定情報と、その領域の境界
    辺の少なくとも一部において該物理量が満たすべき境界
    条件とを少なくとも指定する入力情報から、該方程式情
    報で指定された偏微分方程式を有限要素法で解くため
    の、偏微分演算子を使用しない高級プログラム言語で記
    述された計算プログラムを、プログラム生成用の装置に
    より自動的に生成し、 (2)該計算プログラムを、翻訳用の装置によりコンパ
    イルすることにより、機械語で記述された計算プログラ
    ムに変換し、該機械語で記述された計算プログラムをシ
    ミュレーションプログラムとして出力するステップを有
    し、 上記ステップ(1)では、 (1a)上記領域指定情報が指定する上記シミュレーショ
    ンすべき領域を複数の要素領域に該プログラム生成用の
    装置により分割し、その結果として該複数の要素領域の
    各々を構成する複数の節点とそれらの節点の位置を表わ
    す節点要素データを生成し、 (1b)該方程式情報で記述された偏微分方程式を有限要
    素法で解くための、上記高級言語プログラムで記述され
    た計算プログラムとして、該複数の要素領域を構成する
    複数の節点の各々Niとそれらの要素領域内の節点Njに関
    連した、該複数の要素領域の各節点での該物理量の値aj
    に関するマトリックス方程式(Cij)(aj)=(bi)
    を、該節点要素データを使用して解くためのプログラム
    を該プログラム生成用の装置により生成し、 該ステップ(1b)では、 (A)該偏微分方程式に含まれた各演算子の種類に応じ
    た式変形処理を該偏微分方程式に対して実行し、その式
    変形の過程で、上記境界条件を組み込み、その結果とし
    て、上記複数の要素領域のいずれかに属する複数の節点
    Niに関する、該マトリックス方程式の各係数Cijおよび
    各定数項biをそれぞれ算出するのに使用する、該高級プ
    ログラム言語で記述可能な、演算子その他を表わす記号
    で記述された、第1の係数用の数式と定数項用の数式
    と、上記境界辺の上記一部の上に位置する節点Niに関す
    る、該マトリックス方程式の各係数Cijを算出するのに
    使用する、該高級プログラム言語で記述可能な、演算子
    その他を表わす記号で記述された第2の係数用の数式と
    を、該プログラム生成用の装置により生成し、 (B)該マトリックス方程式の各係数Cijおよび各定数
    項biをそれぞれ算出するための、該高級プログラム言語
    で記述された、係数算出プログラム部分と定数算出プロ
    グラム部分を、それぞれ該第1、第2の係数用の数式お
    よび該定数項用の数式とに基づいて該プログラム生成用
    の装置により形成し、 (C)該係数算出プログラム部分と該定数項算出プログ
    ラム部分を、該節点要素データを使用して実行するよう
    に制御するための、該高級プログラム言語で記載された
    実行制御プログラム部分を、該プログラム生成用の装置
    により形成し、 (D)該係数算出プログラム部分および該定数項算出プ
    ログラム部分を実行したときに得られる各係数Cijおよ
    び各定数項biを使用して、上記マトリックス方程式を解
    くためのプログラム部分を、該プログラム生成用の装置
    によりさらに形成し、該係数算出プログラム部分、該定
    数項算出プログラム、該実行制御プログラム部分および
    該マトリックス方程式を解くためのプログラム部分から
    なるプログラムを該高級プログラム言語で記述された計
    算プログラムとして出力し、 ここで、上記節点要素データは、 該領域内の該複数の要素領域の各々ごとに、そこに含ま
    れる複数の節点を示す領域要素情報と、 上記境界辺の上記一部上に節点を有する複数の要素領域
    の各々毎に、そこに含まれる複数の節点を示す境界要素
    情報とを有し、 該実行制御プログラム部分は、(a)該領域を分割して
    得られた該複数の要素領域の一つを選択し、その選択さ
    れた要素領域に属する複数の節点を該領域要素情報に基
    づいて順次選択し、(b)この選択された一つの要素領
    域内の選択されたそれぞれの節点Niとその要素領域内の
    すべての節点Njとに関連する係数Cijおよび定数項biへ
    の、それぞれの節点Njからの寄与分を、該係数算出プロ
    グラム部分および該定数項算出プログラム部分により算
    出し、(c)該複数の要素領域の内の他の要素領域の選
    択と該他の要素領域に含まれる複数の節点の選択および
    これらの選択された節点からの、係数および定数項への
    寄与分の、該係数算出プログラム部分および該定数項算
    出プログラム部分による算出を繰り返すように構成さ
    れ、さらに、(d)該境界辺の上記一部上に位置する二
    つの節点を有する一群の要素領域の一つを選択し、その
    要素領域内の、該境界辺の上記一部上に位置する複数の
    節点を該境界要素情報に基づいて順次選択し、(e)こ
    の選択された一つの要素領域内の、選択されたそれぞれ
    の節点Niとその要素内の該境界辺の上記一部上に位置す
    るすべての節点Njとに関連する係数Cijおよび該節点Nj
    に関連する定数項biへの、それぞれの節点Njからの寄与
    分を、該係数算出プログラム部分および該定数項算出プ
    ログラム部分により算出し、(f)該一群の要素領域の
    内の境界上に節点を有する他の要素領域の選択と当該他
    の要素領域内の、境界上に位置する複数の節点の選択と
    それらの選択された節点からの係数および定数項への寄
    与分の、該係数算出プログラム部分および該定数項算出
    プログラム部分による算出を繰り返すように構成され、 該係数算出プログラム部分および該定数項算出プログラ
    ム部分は、上記算出の最初の実行時およびその繰返し時
    に得られる、同一の係数への異なる寄与分および同一の
    定数項への異なる寄与分をそれぞれ累算し、各係数およ
    び各定数項の値を決定するように構成されているシミュ
    レーションプログラムの生成方法。
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 JPS62208166A (ja) 1987-09-12
JPH07120276B2 true 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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7197440B2 (en) 2001-07-11 2007-03-27 Canon Kabushiki Kaisha Finite element method library, finite element method program, and storage medium

Families Citing this family (38)

* 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 プログラム生成方法
JP2718935B2 (ja) * 1988-02-09 1998-02-25 株式会社日立製作所 プログラム生成方法
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 インターナショナル・ビジネス・マシーンズ・コーポレイション 空間分割型確率シミュレーション・システムおよび物質エネルギー・システムをシミュレートする方法
JP3416892B2 (ja) * 1992-06-24 2003-06-16 日本電信電話株式会社 ブールトラジェクトソリッドサーフェス移動システム
US5367465A (en) * 1992-06-24 1994-11-22 Intel Corporation Solids surface grid generation for three-dimensional topography simulation
JP3416894B2 (ja) * 1992-06-24 2003-06-16 日本電信電話株式会社 コンピュータ制御ディスプレイシステム
US5379225A (en) * 1992-06-24 1995-01-03 Intel Corporation Method for efficient calculation of vertex movement for three-dimensional topography simulation
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 非等間隔格子において空間微係数を用いたポアソン方程式、拡散方程式および類似の偏微分方程式の高精度計算プログラム
RU2305864C2 (ru) * 1999-08-23 2007-09-10 ВИЛЛЕ Джеймс А. СТ. Система и способ изготовления
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
JP4615543B2 (ja) * 2000-12-12 2011-01-19 富士通株式会社 連成解析方法及びそのプログラム
JP3864059B2 (ja) * 2001-04-12 2006-12-27 東芝ソリューション株式会社 微分方程式の離散化により生成される連立一次方程式の計算プログラムおよびその計算プログラムを記録したコンピュータ読み取り可能な記録媒体ならびに連立一次方程式の計算装置
US7904280B2 (en) * 2003-04-16 2011-03-08 The Mathworks, Inc. Simulation of constrained systems
KR101383663B1 (ko) * 2005-10-04 2014-04-09 아즈텍 아이피 컴퍼니, 엘.엘.씨. 가상 테스트에 근거한 파라미터화 재료 및 성능 특성
JP5378935B2 (ja) * 2009-09-30 2013-12-25 株式会社日立製作所 解析装置、フランジ形状の評価方法
CN109741794B (zh) * 2019-01-08 2023-03-24 西安聚能高温合金材料科技有限公司 基于Matlab的真空感应炉熔炼配料的计算方法

Family Cites Families (5)

* 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
JPH07120275B2 (ja) * 1983-12-28 1995-12-20 株式会社日立製作所 シミューションプログラム生成方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7197440B2 (en) 2001-07-11 2007-03-27 Canon Kabushiki Kaisha Finite element method library, finite element method program, and storage medium

Also Published As

Publication number Publication date
US4819161A (en) 1989-04-04
JPS62208166A (ja) 1987-09-12

Similar Documents

Publication Publication Date Title
JPH07120276B2 (ja) シミュレーションプログラム生成方法
Ijiri et al. Floral diagrams and inflorescences: interactive flower modeling using botanical structural constraints
CN110825375B (zh) 一种量子程序的转化方法、装置、存储介质和电子装置
JPS63223869A (ja) プログラム生成方法
JP2007510223A (ja) ダイアグラミング環境言語のための単純化データ信号サポート
Patterson et al. An efficient overloaded method for computing derivatives of mathematical functions in MATLAB
EP0237232B1 (en) Method for preparing a simulation program
Fritzson et al. High-level mathematical modeling and programming
Liu et al. Supporting creative design in a visual evolutionary computing environment
de Oliveira Miranda et al. Hierarchical template-based quadrilateral mesh generation
US3705409A (en) Tableau network design system
Berthomieu et al. Counting Petri net markings from reduction equations
Economou et al. Shape machine: a primer for visual computation
JPH07120275B2 (ja) シミューションプログラム生成方法
CN110968308A (zh) 一种用于改变用于生成源代码的模型的方法
JPH04343138A (ja) 推論部開発システムおよびその動作方法
Morlet et al. Representation of NURBS surfaces by controlled iterated functions system automata
Katz et al. A system for constructing linear programming models
Henke et al. Realization and extension of the xfrog approach for plant modelling in the graph-grammar based language XL
Pehlivan Designing and interpreting a mathematical programming language
Gutierrez et al. Investigation of mesh to point cloud conversion approaches for applications in SPH-based fluid-solid interaction simulations
JPH06325013A (ja) シミュレーション方法
Kurth et al. Grammar-based models and fractals
Mirenkov et al. Program synthesis from film specifications
Pohlmann Configurable graph drawing algorithms for the TikZ graphics description language

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term