接触解析における 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 普及の課題は少しずつ解消されつつあり、今 後のさらなる普及が期待される。
© Copyright 2025 ExpyDoc