JP6788187B2 - シミュレーションプログラム、シミュレーション方法および情報処理装置 - Google Patents
シミュレーションプログラム、シミュレーション方法および情報処理装置 Download PDFInfo
- Publication number
- JP6788187B2 JP6788187B2 JP2016204891A JP2016204891A JP6788187B2 JP 6788187 B2 JP6788187 B2 JP 6788187B2 JP 2016204891 A JP2016204891 A JP 2016204891A JP 2016204891 A JP2016204891 A JP 2016204891A JP 6788187 B2 JP6788187 B2 JP 6788187B2
- Authority
- JP
- Japan
- Prior art keywords
- nodes
- mesh model
- matrix data
- node
- distance
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/23—Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/10—Numerical modelling
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
[第1の実施の形態]
第1の実施の形態について、図1を用いて説明する。
情報処理装置1は、解析対象とする物体や空間の領域を複数の要素(メッシュと言うことがある)に細分化して表したメッシュモデルに基づいて、構造解析や流体解析や電磁界解析などのシミュレーションを行う。情報処理装置1は、連立方程式を反復法によって解き、節点に対応付けられた変数(例えば、節点における静磁ポテンシャル)の解を求める。
情報処理装置1では、処理部3が、まず、第1のメッシュモデル4が示す複数の節点それぞれの位置座標に基づいて、複数の節点の間の距離を示す距離データ7を生成する。例えば、メッシュモデル4において、各節点の位置座標に基づき、節点1から節点2の距離d12、節点2から節点3の距離d23など、節点iから節点j(i,j(≠i)=1,…,n)まで距離dijを計算して、距離dijを成分として含む距離データ7を生成する。
次に、第2の実施の形態を説明する。
図2は、第2の実施の形態のシミュレーション装置のハードウェア例を示すブロック図である。
図3は、第2の実施の形態のシミュレーション装置が有する機能を表す機能ブロックを示すブロック図である。
シミュレーション装置100は、メッシュデータ保持部11、行列データ保持部12、ベクトルデータ保持部13および計算結果保持部14を有している。メッシュデータ保持部11、行列データ保持部12、ベクトルデータ保持部13および計算結果保持部14は、例えば、RAM102またはHDD103に確保した記憶領域を用いて実装される。また、シミュレーション装置100は、行列データ生成部15および計算処理部16を有している。行列データ生成部15および計算処理部16は、例えば、CPU101が実行するプログラムモジュールを用いて実装される。
シミュレーション装置100の行列データ生成部15が以下の処理を実行する。
[ステップS12] 行列データ生成部15は、メッシュ行列データとメッシュモデルの節点の間の距離とを用いて、0番目の階層に含まれる複数の節点をC点およびF点に分類する階層化設定処理(n=0)を実行する。ステップS12の階層化設定処理(n=0)の詳細については後述する(図5および図6)。
ここで、代数的マルチグリッド法では、ある階層においてスムージングと言われる解探索処理を行って、各節点に対応させる近似値と残差を算出し、残差を1つ下の階層に伝達する。下位階層では、上位階層から伝達された残差を右辺ベクトルに設定してスムージングを行う。これを、最下層に到達するまで繰り返す。最下層では、係数行列が十分に小さいため各節点に対応させる近似値を直接法によって解き、近似値を1つ上の階層に伝達する。上位階層では、下位階層から伝達された残差に関する近似値(摂動量)を、先に算出した当該上位階層の近似値に加えた上でスムージングを行い、当該上位階層の近似値を更新する。これを、0番目の階層に到達するまで繰り返す。
gijは、節点iから節点jに対する依存度合に、節点iから他のF点である節点kを経由した節点jに対する依存度合を足し合わせたものを加えたものである。すなわち、粗視化により消失してしまう節点iによる依存度合の、節点jに対する重ね合わせを表している。
[ステップS15] 行列データ生成部15は、係数行列An+1の次元が、所定の最小次元であるNminよりも小さいか否かを判定する。閾値としてのNminは、例えば、固定値またはユーザにより与えられたものである。
[ステップS17] 行列データ生成部15は、メッシュ行列データを用いて、n(≧1)番目の階層に含まれる複数の節点をC点およびF点に分類する階層化設定処理(n≧1)を実行する。後述するように、1番目以降の階層の階層化設定処理は、0番目の階層の階層化設定処理とは異なる。ただし、1番目以降の階層の階層化設定処理を、0番目の階層と同様の方法で行うようにしてもよい。次の処理は、再び、ステップS13に進められる。ステップS17の階層化設定処理(n≧1)の詳細については後述する(図7および図6)。
図5および図6は、第2の実施の形態のシミュレーション装置で実行される階層化設定処理(n=0)を示すフローチャートである。
[ステップS21] 行列データ生成部15は、0番目の階層が含む節点に対応付けられた、評価ベクトルデータλの成分である評価値λj(j=0,1,…,N)に初期値0を設定する。ただし、Nは、節点の個数である。
[ステップS23] 行列データ生成部15は、係数行列A0のi行目の非零成分の中から、i=jとなる対角成分を除いて、最大値の係数maxj≠iaijを抽出してamax iとする。
行列データ生成部15は、j=0,1,…,Nそれぞれについて以下のステップS25〜S27を実行する。ただし、jはiと異なるものとする。
[ステップS27] 行列データ生成部15は、評価ベクトルデータλにおいて、式(7)を満たすjに対応する評価値λjに1を加算する。
次の処理は、iがN以上である場合には、ステップS30(図6)に進められ、iがN以上ではない(iがN未満である)場合には、ステップS29に進められる。
[ステップS30] 行列データ生成部15は、評価ベクトルデータが含む評価値λiのうち、まだC点にもF点にも分類されていない節点に対応する評価値の中から、最大値の評価値であるmaxiλiを抽出してλmaxとする。
次の処理は、最大の評価値λmaxが0未満である場合には、階層化設定処理(n=0)を終了し、最大の評価値λmaxが0未満ではない(評価値λmaxが0以上である)場合には、ステップS32に進められる。なお、まだC点にもF点にも分類されていない節点が存在しない場合には、階層化設定処理(n=0)を終了する。
[ステップS33] 行列データ生成部15は、まだC点にもF点にも分類されていない節点jそれぞれについて、係数行列A0のj行imax列の成分ajimax(j=0,1,…,N)が0であるか否か(節点imaxが節点jに依存するか否か)を判定する。
[ステップS34] 行列データ生成部15は、ステップS33を満たす節点jをF点に設定する。
[ステップS36] 行列データ生成部15は、まだC点にもF点にも分類されていない節点jそれぞれについて、係数行列A0のimax行j列の成分aimaxj(j=0,1,…,N)が0であるか否か(節点jが節点imax(C点)に依存するか否か)を判定する。
[ステップS37] 行列データ生成部15は、評価ベクトルデータλにおいてステップS36を満たす節点jに対応する評価値λjから1を減算する。
図7は、第2の実施の形態のシミュレーション装置で実行される階層化設定処理(n≧1)を示すフローチャートである。
[ステップS41] 行列データ生成部15は、n番目(n≧1)の階層が含む節点に対応付けられた、評価ベクトルデータλの成分である評価値λj(j=0,1,…,N)に初期値0を設定する。また、行列データ生成部15は、以下で使用するiの初期値としてi=0を設定する。
[ステップS43] 行列データ生成部15は、εとステップS42のamax iから閾値ε×amax iを算出する。行列データ生成部15は、当該閾値と係数行列A0のi行j列の成分aijとを比較し、以下の式(8)を満たすか判定する。すなわち、行列データ生成部15は、aijがε×amax iより大きいか判定する。
次の処理は、式(8)を満たす場合には、ステップS44に進められ、式(8)を満たさない場合には、ステップS45に進められる。
[ステップS45] 行列データ生成部15は、iが節点の個数N以上か否かを判定する。
なお、ステップS30以降は、図6に示したフローチャートに沿った処理が実行され、各節点がC点またはF点に分類される。
なお、第2の実施の形態では、行列データ生成処理(図4)のステップS17において、階層化設定処理(n≧1)(図7および図6)を実行する場合とした。これに対し、前述のように、当該ステップS17では、n≧1の階層において、階層化設定処理(n=0)(図5および図6)と同様の処理を行うことも可能である。
次に、計算処理部16が実行する計算処理について図8を用いて説明する。
シミュレーション装置100の計算処理部16が以下の処理を実行する。
[ステップS53] 計算処理部16は、以下の式(9)で表される、近似解をx0とした場合の残差rを計算する。また、計算処理部16は、以下で使用する変数γの初期値を0に設定し、以下で使用するベクトルpの初期値を0に設定する。
[ステップS56] 計算処理部16は、式(15)に変数αおよびベクトルpを適用して解ベクトルx(近似解)を更新する。
[ステップS58] 計算処理部16は、所定の値である閾値δCGに対して、残差rのノルムが、δCG>|r|/|b|であるか否か(すなわち、残差rが十分収束しているか否か)を判定する。
図9は、第2の実施の形態のシミュレーション装置で実行される代数的マルチグリッド法による前処理を示すフローチャートである。
[ステップS61] 計算処理部16は、現在の階層を0番目に設定する(n=0)。
[ステップS62] 計算処理部16は、連立方程式Anzn=rnについて、n番目の階層の係数行列Anを利用して前進Gauss−Seidel法による以下の式(17)を少なくとも1回計算する。式(17)を2回以上繰り返してもよい。なお、r0(0番目の階層のr)はS53で算出した残差rである。zの初期値は0である。
[ステップS65] 計算処理部16は、現在の階層が、所定のNmax番目の階層以上であるか否かを判定する。Nmaxは固定値でもよいし、ユーザにより指定されてもよい。次の処理は、nがNmax以上である場合には、ステップS66に進められる。また、nがNmax以上ではない(nがNmax未満である)場合には、再び、ステップS62に進められる。
[ステップS67] 計算処理部16は、着目する階層を1つ上の階層に上げる。すなわち、計算処理部16は、nから1を減算する。
ここで、行列データ生成部15がフローチャート(図5および図6)に沿って実行する、0番目の階層に含まれる節点をC点およびF点に設定する階層化設定処理(n=0)の具体例について図10を用いて説明する。
メッシュモデル20は、図10に示されるように、4つの節点(節点1〜4)を含み、節点1〜4は0番目の階層に含まれているものとする。
まず、行列データ生成部15は、0番目の階層が含む節点1〜4にそれぞれ対応付けられた、評価ベクトルデータλの成分である評価値λ1〜λ4に初期値0を設定する(ステップS21)。このような評価ベクトルデータλは、以下の式(21)のように表すことができる。
なお、式(26)の評価ベクトルデータλでは、評価値λ1,λ2が1で最大であるものの、ここでは、評価値λ1を抽出している。評価値λ1に代わって、評価値λ2を抽出しても構わない。
このようにメッシュモデル20に対して節点の間の距離を踏まえて階層化設定処理(図5および図6)を行うと、節点1がC点に、節点2〜4がF点に設定される。下位階層には、節点1がメッシュモデル20から粗視化されて残り、メッシュモデル20の歪んだ要素を含まない。この下位階層を用いて計算処理(図8)を行うと、反復回数の増加が抑制され、計算の収束が速くなる。
図11は、メッシュモデルの粗視化の一例を示す図である。
なお、図11のメッシュモデル50には、各節点の位置座標に基づき計算された、節点1から節点2の距離d12、節点2から節点3の距離d23など、節点iから節点j(i,j(≠i)=1,…,n)まで距離dijが付されている。
静磁界とは、磁性体自らの時間的に定常な磁化により生成される磁界であり、その値は、静磁ポテンシャルと呼ばれる磁界のエネルギーの空間微分として与えられる。静磁ポテンシャルは、マクスウェル方程式から導出される式(28)で求められる。
数値計算上は静磁ポテンシャルを求める際、微分方程式を離散化してメッシュモデルの節点を自由度とする連立方程式の解として計算を行う。この際、式(28)の式(A)との対応関係から、式(28)の左辺から係数行列Aが計算され、式(28)の右辺から右辺ベクトルbが計算される。
図12は、磁性体メッシュモデルの一例を示す図である。
なお、図12では、磁性体メッシュモデル30に対してx−z平面であって、x>0およびz>0の領域について示されている。
図13は、静磁ポテンシャルを求解する際の反復回数およびその計算時間を示す表である。
表40は、当該計測結果について、式(28)の連立方程式を解くための磁性体メッシュモデル30の粗視化の際に、メッシュの歪み要素を除去していない場合(歪み要素非除去)を示している。また、表40は、当該計測結果について、式(28)の連立方程式を解くための磁性体メッシュモデル30の粗視化の際に、メッシュ行列データと共に節点間の距離を利用して、メッシュの歪み要素を除去した場合(歪み要素除去)を示している。
さらに、上述の実施の形態は、多数の変形、変更が当業者にとって可能であり、説明した正確な構成及び応用例に限定されるものではない。
2 記憶部
3 処理部
4 第1のメッシュモデル
5a,5b 第2のメッシュモデル
6a 第1の行列データ
6b 第2の行列データ
7 距離データ
8 評価データ
Claims (5)
- コンピュータに、
複数の節点を含む第1のメッシュモデルについて、前記複数の節点の間の特性を示す係数値を成分として含む第1の行列データを取得し、
前記第1のメッシュモデルが示す前記複数の節点それぞれの位置座標に基づいて、前記複数の節点の間の距離を示す距離データを生成し、
前記第1のメッシュモデルの中の複数通りの節点の組それぞれについて、前記距離データが示す前記節点の組に対応する距離に依存する閾値を算出し、前記閾値と前記第1の行列データが示す前記節点の組に対応する係数値とを比較し、比較結果に応じて前記複数の節点に対応する複数の評価値のうちの少なくとも一部の評価値を更新し、
前記複数の評価値に基づいて前記複数の節点のうちの一部の節点を選択し、前記第1のメッシュモデルから前記選択した一部の節点を除外した第2のメッシュモデルについての第2の行列データを生成し、
前記第1の行列データおよび前記第2の行列データを用いて、前記複数の節点に対応付けられた複数の変数の解を算出する、
処理を実行させるシミュレーションプログラム。 - 前記節点の組に対応する距離が大きいほど前記閾値が大きく算出され、
前記少なくとも一部の評価値の更新では、前記節点の組に対応する係数値が前記閾値より大きい場合に、前記節点の組の一方の節点に対応する評価値を増加させる、
請求項1記載のシミュレーションプログラム。 - 前記節点の組は第1の節点と第2の節点との組であり、
前記閾値の算出では、前記第2の節点を含む2以上の節点それぞれと前記第1の節点との間の距離の中から最小距離を特定し、前記第1の節点と前記第2の節点との間の距離および前記最小距離に基づいて前記閾値を算出する、
請求項1記載のシミュレーションプログラム。 - コンピュータが実行するシミュレーション方法であって、
複数の節点を含む第1のメッシュモデルについて、前記複数の節点の間の特性を示す係数値を成分として含む第1の行列データを取得し、
前記第1のメッシュモデルが示す前記複数の節点それぞれの位置座標に基づいて、前記複数の節点の間の距離を示す距離データを生成し、
前記第1のメッシュモデルの中の複数通りの節点の組それぞれについて、前記距離データが示す前記節点の組に対応する距離に依存する閾値を算出し、前記閾値と前記第1の行列データが示す前記節点の組に対応する係数値とを比較し、比較結果に応じて前記複数の節点に対応する複数の評価値のうちの少なくとも一部の評価値を更新し、
前記複数の評価値に基づいて前記複数の節点のうちの一部の節点を選択し、前記第1のメッシュモデルから前記選択した一部の節点を除外した第2のメッシュモデルについての第2の行列データを生成し、
前記第1の行列データおよび前記第2の行列データを用いて、前記複数の節点に対応付けられた複数の変数の解を算出する、
シミュレーション方法。 - 複数の節点を含む第1のメッシュモデルについて、前記複数の節点の間の特性を示す係数値を成分として含む第1の行列データを記憶する記憶部と、
前記第1のメッシュモデルが示す前記複数の節点それぞれの位置座標に基づいて、前記複数の節点の間の距離を示す距離データを生成し、前記第1のメッシュモデルの中の複数通りの節点の組それぞれについて、前記距離データが示す前記節点の組に対応する距離に依存する閾値を算出し、前記閾値と前記第1の行列データが示す前記節点の組に対応する係数値とを比較し、比較結果に応じて前記複数の節点に対応する複数の評価値のうちの少なくとも一部の評価値を更新し、前記複数の評価値に基づいて前記複数の節点のうちの一部の節点を選択し、前記第1のメッシュモデルから前記選択した一部の節点を除外した第2のメッシュモデルについての第2の行列データを生成し、前記第1の行列データおよび前記第2の行列データを用いて、前記複数の節点に対応付けられた複数の変数の解を算出する処理部と、
を有する情報処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016204891A JP6788187B2 (ja) | 2016-10-19 | 2016-10-19 | シミュレーションプログラム、シミュレーション方法および情報処理装置 |
US15/688,940 US20180107773A1 (en) | 2016-10-19 | 2017-08-29 | Simulation method and information processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016204891A JP6788187B2 (ja) | 2016-10-19 | 2016-10-19 | シミュレーションプログラム、シミュレーション方法および情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018067124A JP2018067124A (ja) | 2018-04-26 |
JP6788187B2 true JP6788187B2 (ja) | 2020-11-25 |
Family
ID=61902747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016204891A Active JP6788187B2 (ja) | 2016-10-19 | 2016-10-19 | シミュレーションプログラム、シミュレーション方法および情報処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20180107773A1 (ja) |
JP (1) | JP6788187B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018093325A (ja) * | 2016-12-01 | 2018-06-14 | ソニーセミコンダクタソリューションズ株式会社 | 情報処理装置、情報処理方法、及びプログラム |
JP6978689B2 (ja) * | 2018-05-16 | 2021-12-08 | 富士通株式会社 | 磁気シミュレーションプログラム、磁気シミュレーション方法、および磁気シミュレーション装置 |
JP7122209B2 (ja) * | 2018-10-01 | 2022-08-19 | 住友重機械工業株式会社 | シミュレーション装置、シミュレーション方法、及びプログラム |
JP7279685B2 (ja) * | 2020-04-23 | 2023-05-23 | トヨタ自動車株式会社 | 情報処理システム |
CN114241621B (zh) * | 2021-12-20 | 2023-07-18 | 合肥工业大学 | 一种求解大变形薄基片应力的方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5684723A (en) * | 1987-11-16 | 1997-11-04 | Fujitsu Limited | Device simulation method and device simulator |
EP0884690A3 (de) * | 1997-06-11 | 2002-07-24 | Infineon Technologies AG | Rechnergestütztes Simulationsverfahren zur Bestimmung eines elektromagnetischen Feldes eines Körpers |
FR2948475A1 (fr) * | 2009-07-24 | 2011-01-28 | Bionext | Procede de caracterisation d'objets tridimensionnels |
-
2016
- 2016-10-19 JP JP2016204891A patent/JP6788187B2/ja active Active
-
2017
- 2017-08-29 US US15/688,940 patent/US20180107773A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2018067124A (ja) | 2018-04-26 |
US20180107773A1 (en) | 2018-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6788187B2 (ja) | シミュレーションプログラム、シミュレーション方法および情報処理装置 | |
JP7164295B2 (ja) | 3dプリンティングのための現実の物体の向き付け | |
JP7186797B2 (ja) | 量子計算のための方法及びシステム | |
Seo et al. | Shape optimization and its extension to topological design based on isogeometric analysis | |
Ooi et al. | Adaptation of quadtree meshes in the scaled boundary finite element method for crack propagation modelling | |
CN109584357B (zh) | 基于多轮廓线的三维建模方法、装置、***及存储介质 | |
JP2018173843A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
US20080275677A1 (en) | System, methods, and computer readable media, for product design using coupled computer aided engineering models | |
TWI384379B (zh) | 用於評估在實體系統中所產生之波傳播的電腦實施方法和裝置及電腦可讀儲存媒體 | |
JP6734044B2 (ja) | 制御点のグリッドによって定義される3dモデリングされた物体 | |
JP7431029B2 (ja) | 大規模環境用のマルチインスタンス型シミュレーション | |
JP7431030B2 (ja) | 大規模環境用のマルチインスタンス型シミュレーション | |
WO2017088134A1 (en) | System and method for modeling of parts with lattice structures | |
KR20100052395A (ko) | 3차원 변동 커패시턴스 계산을 위한 시스템 및 방법 | |
Paschalidis et al. | Head-on collisions of binary white dwarf-neutron stars: Simulations in full general relativity | |
US11669662B2 (en) | Machine learning method and computing system | |
US20220318591A1 (en) | Inference method and information processing apparatus | |
US20170323034A1 (en) | Particle etching or depositing evolutionary simulation method and device and computer readable medium | |
JP5176895B2 (ja) | Sram形状パラメータ等の多目的最適化設計支援装置、方法、及びプログラム | |
JP2022543506A (ja) | 物理的プロセスのシミュレーションのための空き空間ドメイン・デコンポジション | |
JP2023056515A (ja) | モデル化オブジェクトの設計 | |
Cuillière et al. | Automatic mesh generation and transformation for topology optimization methods | |
US11023639B2 (en) | Systems and methods for providing approximate electronic-structure models from calculated band structure data | |
Kim et al. | Spline‐based meshfree method | |
Beckett et al. | An r-adaptive finite element method for the solution of the two-dimensional phase-field equations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190709 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20190718 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20190718 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200908 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200929 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201012 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6788187 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |