接触解析におけるCode_Aster と商用ソフトの計算 - システムクラフト

接触解析における Code_Aster と商用ソフトの計算速度比較
Comparison between Code_Aster and commercial software calculation speed on contact analysis
前田研吾 NPO 法人 CAE 懇話会 Salome-Meca
Salome
活
活用研究会
杉原利彦 有限会社システムクラフト
Kengo MAEDA
MAEDA,, Japan Salome-Meca
Salome Meca Working Group
Toshihiko SUGIHARA, System
SystemCRAFT,
CRAFT, Inc.
Key Words: Open-Source,
Open Source, Code_Aster, calculation speed, contact analysis
1. Code_Aster とは
Code_Aster とは、
とは、eDF(フランス電力公社)がオープン
(フランス電力公社)がオープン
ソースで提供している有限要素法での構造・熱解析ソフト
である。eDF
である。
の内製ソルバであり非常に高性能であるが、
GPL ライセンスに基づいて無料で利用できるため、注目を
集めているソフトである。また、
集めているソフトである。また、eDF は、プリポストを中
心としたモジュールプラットフォームの SALOME もオー
プンソースで提供しており、これら
プンソースで提供しており、これら2つを統合したソフトが
つを統合したソフトが
Salome-Meca
Salome
である。
2. オープンソース CAE ソフトの課題
オープンソース CAE ソフトは無料で使用でき、なおか
つ改造も自由に行えるという特長を有しているが、商用ソ
フトと比べて下記の課題があり、企業で業務に導入すると
いう例はまだ少ない。
・計算精度
・計算速度
・ユーザーインターフェイス
計算精度は、eDF
計算精度は、eDF 自身が公式バリデーションとして、計
算結果の理論値との比較結果を公開しており、精度の担保
が図られている。またユーザー側でも精度は商用ソフトと
匹敵するとの報告がなされており、この課題は克服されつ
つある。これにより道具としての信頼性は確保されつつあ
り、残る課題は業務として使う上での使い勝手が課題とな
っている。
このうちユーザーインターフェイスについては、多くの
オープンソース CAE ソフトがテキストエディタを多用する
状況ではあるが、
状況ではあるが、Code_Aster
Code_Aster / Salome-Meca
Salome Meca では比較的
GUI が充実しており、商用ソ
が充実しており、商用ソフトに及ぶものではないが、
フトに及ぶものではないが、
使いやすいものとなっている。また、ユーザーコミュニテ
ィで、日本語インターフェイスやウィザードを追加するな
どの活動もあり、少しずつではあるが状況は改善が図られ
ている。
計算速度については、
計算速度については、Code_Aster
Code_Aster / Salome-Meca
Salome
では
商用ソフトと較べて遅いとの報告もあり、普及における障
害となっている。本稿では、
害となっている。本稿では、Code_Aster
Code_Aster の計算速度につい
て改善できたので、これを報告する。解析対象は、構造解
析では接触解析が多くの需要があるため、これを対象とし
て商用ソフトと比較する。
3. 接触解析の問題 形状、メッシュ
計算速度比較で対象とする問題は、
計算速度比較で対象とする問題は、3題と
とした。問題
問題1は、
図 1のような大きな円筒の底面の変位を固定し
のような大きな円筒の底面の変位を固定して、小さな
のような大きな円筒の底面の変位を固定し て、小さな
円筒の上面に鉛直下方向に荷重を与え押し付ける。問題
円筒の上面に鉛直下方向に荷重を与え押し付ける 問題2は、
図 2のような大き
きさの違う3枚
枚の板を重ね上
上から荷重をか
かけ
る。問題3は、図
る。
図 3のような2
2枚の穴あき板
板にボルトを通
通し
左右から引っ張る
左右
る。
材質は鋼材として物性値は、ヤング率:205[GPa]、ポア
材質は鋼材として物性値は、ヤング率:
、ポア
ソン比:0.3として、線形解析を行った。
ソン比: として、線形解析を行った。
メッシュは6面体要素とした。メッシュサイズ、形状は計
メッシュは 面体要素とした。メッシュサイズ、形状は計
算速度に影響を与えるため、全く同様のものとした。
図 1 .解析対象の形状モデルとメッシュ
解析対象の形状モデルとメッシュ 問題1
図 2 .解析対象の形状モデルとメッシュ
解析対象の形状モデルとメッシュ 問題2
図 3 .解析対象の形状モデルとメッシュ
解析対象の形状モデルとメッシュ 問題3
表 1 メッシュサイズ
節点数
要素数
問題1
21,483
18,880
問題2
59,600
28,800
問題3
44,790
36,080
4. 計算機、OS、ソフト
計算機スペック、OS、使用ソフトは表 2に示す。
表 2 計算機スペック、OS、使用ソフト
商用ソフト
Code_Aster
CPU
Intel(R) Xeon(R) Processor
E3-1230 v2
メモリ
16GB
OS
Ubuntu 12.04
Windows 7
ソフト名
Code_Aster
11.6、12.2
MSC Nastran
V2013.1
Code_Aster は現行の最新バージョンの11.6(安定版)、
12.2(試験版)とした。
比較対象の商用ソフトは、MSC Nastran とした。商用
ソフトは、1ライセンスでも新たに用意することは高額であ
るため、普段の業務で使用しているソフトを利用する。
また、OS を揃えたほうがより厳密な計算速度比較とな
るが、商用ソフトは Windows で利用されるのが一般的で、
一方、Code_Aster 側では Linux 版が一般的である。それ
ぞれの一般的に利用される OS を用いて、より実際の運用
に近い形で比較している。
5. Code_Aster の計算速度向上
有限要素法を始めとした CAE 解析で最も時間がかかる
のは、マトリクスソルバでの求解である。接触解析や非線
形解析では、繰り返し計算を行うため、このソルバ部分の
時間がほぼ全ての計算時間を占めることになる。つまりこ
の部分の速度向上させることが、全体の計算速度向上につ
ながる。このソルバ部分の計算速度を向上させるための、
方法としては、(1)直接解法から反復解法に替える、(2)並列
計算を行う、などがある。
Code_Aster / Salome-Meca で標準で組み込まれているソ
ル バ は 直 接 解 法 の MULT_FRONT 、 MUMPS で あ る 。
MUMPS は 並 列 計 算 に 対 応 し て い る が 、 Code_Aster /
Salome-Meca の標準では並列計算用にコンパイルされてい
ない。そのため、これを改善するために、オープンソース
の並列計算対応の反復解法ソルバである、PETSc をコンパ
イルして組み込むことにした。
Code_Aster は PETSc を組み込めるように作られており、
比較的簡単にコンパイルができる。(手順は著者の HP:
https://sites.google.com/site/codeastersalomemeca/home
で公開しているため、興味のある方は試されたい。)
今回の計算では、計算速度向上のために Code_Aster の
ソルバを PETSc に変更して、MSC Nastran と計算速度を
比較した。
表 3 Code_Aster で使用できる主なソルバ
ソルバ
解法
並列化ライブラリ
MULT_FRONT
直接解法
OpenMP
MUMPS
直接解法
MPI/OpenMP
PETSc
反復解法
MPI/OpenMP
6. 計算速度の比較
計算速度の比較結果を表 4に示す。Code_Aster は参考の
ために4スレッド、8スレッドの結果も示す。
なお Code_Aster での計算ステップ数は5とした。MSC
Nastran では、計算ステップ数を明示的に指定する設定が
ないため、計算ステップ数はわからない。
表 4 計算速度の比較結果
単位
[sec]
Code_Aster
(PETSc)
問題1
MSC Nastran
11.6
12.2
直接法
反復法
1スレッド
62.91
54.32
122.62
91.85
4スレッド
44.26
37.01
-
8スレッド
73.02
66.77
-
表 5 計算速度の比較結果
単位
[sec]
Code_Aster
(PETSc)
問題2
MSC Nastran
11.6
12.2
直接法
反復法
1スレッド
544.48
461.25
753.51
615.99
4スレッド
324.90
293.41
-
表 6 計算速度の比較結果
単位
[sec]
Code_Aster
(PETSc)
問題3
MSC Nastran
11.6
12.2
直接法
反復法
1スレッド
276.48
216.68
199.26
91.852
4スレッド
141.19
134.09
-
速度の比較結果は、結果の優劣が入れ替わることもある
が、PETSc を用いることで計算速度の向上ができ、商用ソ
フトに匹敵する性能であった。また、Code_Aster12.2では、
さらに計算速度向上が図れることがわかった。(問題1の
Code_Aster の8スレッドでは計算速度が落ちているが、メ
ッシュサイズに対して、並列数が大きすぎたためと思われ
る。)
一方で、Code_Aster でもデフォルトで組み込まれている
直接法の MUMPS(1スレッド)の場合は、129 [sec]とい
う結果が得られている。このことから、マトリクスソルバ
を直接法から反復解法:PETSc に変更することで、商用ソ
フトを上回るほど計算速度が向上することがわかった。
Code_Aster は Linux で、MSC Nastran は Windows で
あるため、Code_Aster のほうが優位ではあったが、OS の
違いを上回る速度が得られていると思われる。
7. 計算結果の応力
図2にミーゼス応力のコンター図を示す。
図 にミーゼス応力のコンター図を示す。応力分布は大差
にミーゼス応力のコンター図を示す。応力分布は大差
がなく、Code_Aster
がなく、Code_Aster でも良好な結果が得られていた。
図 4 ミーゼス応力
(左:Code_Aster
Code_Aster 、右:MSC
、右:MSC Nastran)
Nastran
一方で、Code_Aser
一方で、Code_Aser では接触面のマスター面、スレイブ
接触面のマスター面、スレイブ
面を明示的に設定する必要がある。この主従の設定を逆に
すると、上の円筒の外縁にある節点で、下の円筒のメッシ
すると、上の円筒の外縁にある節点で、下の円筒のメッシ
ュの節点と一致する箇所が特異点となり、応力が、MSC
ュの節点と一致する箇所が特異点となり、応力が、 MSC
Nastran の約3倍の値とな
倍の値となる現象が確認された
現象が確認された。
現象が確認された
Code_Aster は接触面の
は接触面の主従
主従に敏感であり、接触面の
に敏感であり、接触面の主従
主従
は適切に設定する
は適切に設定する必要がある。
必要がある。
図 5 マスター面とスレイブ面を逆にした場合の
マスター面とスレイブ面を逆にした場合
特異点の応力
8. 結言
オープンソース CAE ソフトの Code_Aster と、商用
CAE ソフトの MSC Nastran で接触解析の計算速度比較を
行った。Code_Aster
行った。Code_Aster は計算速度向上のため、マトリクスソ
ルバとして反復解法の PETSc をコンパイルして組み込み使
用した。
計算速度は、反復解法:
計算速度は、反復解法:PETSc
PETSc を用いれば1スレッドで
を用いれば スレッドで
も商用
商用ソフトに匹敵
匹敵する結果であ
であった。
応力分布も双方で差は見られなかった。だが一方で、
応力分布も双方で差は見られなかった。 だが一方で、
Code_Aster は接触面のマスター面とスレイブ面を適切に設
定しなければ、特異点
定しなければ、
定しなければ、特異点が現れ
が現れ高い応力が発生する現象が確
高い応力が発生する現象が確
認された。接触面の
認された。接触面のマスター面とスレイブ面の設定に敏感
マスター面とスレイブ面の設定に敏感
であり、使用者に相応のノウハウを要求することがわかっ
であり、使用者に相応のノウハウを要求することがわかっ
た。
今回行った計算速度比較は、単純な形状の接触解析で、
比較対象の商用ソフトも単純な
比較対象の商用ソフトも
な問題3つだけである
つだけである。接触
接触問
題で
では複雑な問題
問題になると、
と、反復法の計算
計算ステップ数が
が増
えて
て、計算速度が直接法より
りも遅くなるとい
という報告もあ
もある。
その
のため、さらに複雑な問題での比較や他の商用ソフトと
さらに複雑な問題での比較や他の商用ソフトと
の比較が必要である。だが、オープンソース CAE ソフトの
企業での導入の課題の1つの計算速度については、
Code_Aster では克服が期待できる結果であった。
Code_Aster 普及の課題は少しずつ解消されつつあり、今
後のさらなる普及が期待される。