Salome-Mecaで熱-構造連成解析をやってみた!

5bf330deb12b1b4e1addfc33e41e3edc?s=47 JunTatsuno
October 03, 2020

 Salome-Mecaで熱-構造連成解析をやってみた!

第80回オープンCAE勉強会@関西での発表内容です。
https://ocbkansai.connpass.com/event/189238/

5bf330deb12b1b4e1addfc33e41e3edc?s=128

JunTatsuno

October 03, 2020
Tweet

Transcript

  1. 2020年10月3日 Salome-Meca 2019 で熱-構造連成解析をやってみた! (第80回オープンCAE勉強会@関西) 龍野 潤(@Jun_Tatsuno)

  2. 目次 1 自己紹介 3 2 Salome-Mecaとは 4 3 解析手順 5

    4 Salome-Mecaでモデル作成 6 5 Salome-Mecaで熱解析を実施 7 5.1 熱解析の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5.2 AsterStudyで熱解析の設定(Assisantを使用) . . . . . . . . . . . . . . . . . 8 5.3 Assisantで設定した熱解析のコマンドファイル . . . . . . . . . . . . . . . . 16 5.4 Paravisで結果分析(可視化) . . . . . . . . . . . . . . . . . . . . . . . . . . 18 6 Salome-Mecaで熱応力解析を実施 19 6.1 構造解析の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 6.2 AsterStudyで構造解析の設定(Assisantを使用) . . . . . . . . . . . . . . . 20 6.3 Assisantで設定した構造解析のコマンドファイルを編集 . . . . . . . . . . . 27 6.4 AsterStudyで求解・データ管理 . . . . . . . . . . . . . . . . . . . . . . . . 31 1
  3. 6.5 Paravisで結果分析(可視化) . . . . . . . .

    . . . . . . . . . . . . . . . . . . 32 7 追加計算 33 7.1 自由端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2
  4. 1 自己紹介 • 職業:オフィス家具メーカーに2001年入社、2003年~CAEを担当 • オープンCAE歴 ◦ 2011年05月:第32回関西CAE懇話会「CAEの新しい波、オープンソースとFOCUSス パコン」でオープンCAEを知る 実習講座「オープンCAEから始める構造解析CAEの基本」に参加し、岐阜高専の柴

    田先生、DEXCS、Adventureを知る ◦ 2011年08月:関西地区の解析塾「はじめてのオープンCAE」を受講し、Salome-Meca を知る ◦ 2011年11月:CAE懇話会の「Salome-Meca活用研究会」が発足、参加 ◦ 2012年08月:第16回「オープンCAE勉強会@岐阜(夏合宿2) 」に初参加 ◦ 2012年XX月: 「オープンCAE学会」に入会 ◦ 2013年02月:第20回「オープンCAE勉強会@関西」に初参加 ◦ 2016年10月:第09回「オープンCAE勉強会@関東(構造など) 」に初参加 • 情報発信 ◦ Twitter @Jun_Tatsuno ◦ Qiita @Jun_Tatsuno ◦ GitHub @JunTatsuno ◦ Speaker Deck @JunTatsuno ◦ YouTube 3
  5. 2 Salome-Mecaとは • EDF(フランス電力公社)が提供している、Linuxベースのオープンソース構造・熱解析 ソフト ◦ Code_Aster:解析ソルバー ◦ Salome-Meca:プリポストを中心とした統合プラットフォーム(SALOME Platform)

    に、Code_Asterをモジュールとして組み込んだもの • Code_Asterは、構造力学、熱力学を中心に非常に高度で多彩な機能と400を超える要素 (1次元、2次元、3次元ほか)を有しています。また、2,000以上のテストケースと、 13,000ページ以上のドキュメント(使用方法、テクニック、理論的背景) 、公式フォーラ ムなどがあり、他のオープンソースCAEソフトと較べてサポート体制が充実しているの が特長です。 • Code_Aster & Salome-Meca日本語解説より https://sites.google.com/site/codeastersalomemeca/home 4
  6. 3 解析手順 オープンCAE勉強会@関西公式HPのARCHIVE「これまでの勉強会と発表資料」にある mmer547氏の第59回での発表資料「Salome-Mecaで熱応力解析(Salome-Meca復習シリー ズ) 」では、一つのコマンドファイルで熱解析と熱応力解析を実施していたのに対し、今回 は熱解析の結果を構造解析で読み込み、熱応力解析を実施してみました。 ステップ 使用モジュール 備考

    共通 1.ジオメトリ定義 Geom/Shaper 2.メッシュ生成 Mesh 熱解析 3.データ設定 コ マ ン ド フ ァ イル雛形作成 AsterStudy Assistant 使用 4.求解 AsterStudy 5.結果分析(可視化) ParaVis 構造解析 6.データ設定 コ マ ン ド フ ァ イル雛形作成 AsterStudy Assistant 使用 コ マ ン ド フ ァ イル編集 AsterStudy 熱解析の結果 を継承 7.求解 AsterStudy 8.結果分析(可視化) ParaVis 5
  7. 4 Salome-Mecaでモデル作成 • ジオメトリ ◦ 直方体:X=100mm、Y=Z=10mm • メッシュ ◦ 六面体一次要素

    ◦ メッシュサイズ:10mm • グループ化 ◦ Groups of Faces(Elements) Fix_X1、Fix_X2 ◦ Groups of Nodes Fix_Y、Fix_Z 6
  8. 5 Salome-Mecaで熱解析を実施 5.1 熱解析の設定 • 検証問題 ◦ 両端の面を100℃に固定 ◦ それ以外の面は断熱条件(熱条件なし)

    ◦ 定常熱伝導 • 材料定数 ◦ 熱伝導率λ:0.016 [W/(mm・K)] 7
  9. 5.2 AsterStudyで熱解析の設定(Assisantを使用) • AsterStudyモジュールを起動 • メニューより、Operations Add Stage with Assitant

    Liner Thermal Analysisを選択 • イントロダクションが表示されるので、Next>をクリック 8
  10. • 作成したメッシュを選択し、Next>をクリック 9

  11. • モデルは3Dを選択し、Next>をクリック 10

  12. • 熱伝導率λ:0.016 [W/(mm・K)]を入力し、Next>をクリック 11

  13. • 温度条件としてFix_X1とFix_X2に100℃を入力し、Next>をクリック 12

  14. • 熱流速の定義 ◦ 今回は使いませんので、 「No」を選択し、Next>をクリック 13

  15. • 発熱量の定義 ◦ 今回は使いませんので、 「No」を選択し、Next>をクリック 14

  16. • 結果ファイル(.rmed)を保存し、Finishをクリック 15

  17. 5.3 Assisantで設定した熱解析のコマンドファイル 次のコマンドファイルがAssisantで設定した熱解析のコマンドファイルです。 今回は編集なしで、そのまま解析を実施します。 熱解析コマンドファイル 1 DEBUT(LANG='EN') 2 3 mesh

    = LIRE_MAILLAGE(FORMAT='MED', 4 UNITE=20) 5 6 model = AFFE_MODELE(AFFE=_F(MODELISATION='3D', 7 PHENOMENE='THERMIQUE', 8 TOUT='OUI'), 9 MAILLAGE=mesh) 10 11 mater = DEFI_MATERIAU(THER=_F(LAMBDA=0.016)) 12 13 matfield = AFFE_MATERIAU(AFFE=_F(MATER=mater, 14 TOUT='OUI'), 15 MAILLAGE=mesh) 16 17 loadst = AFFE_CHAR_THER(MODELE=model, 18 TEMP_IMPO=(_F(GROUP_MA=('Fix_X1', ), 19 TEMP=100.0), 16
  18. 20 _F(GROUP_MA=('Fix_X2', ), 21 TEMP=100.0))) 22 23 temp = THER_LINEAIRE(CHAM_MATER=matfield,

    24 EXCIT=_F(CHARGE=loadst), 25 MODELE=model) 26 27 IMPR_RESU(FORMAT='MED', 28 RESU=_F(RESULTAT=temp), 29 UNITE=80) 30 31 FIN() 17
  19. 5.4 Paravisで結果分析(可視化) • 温度は両端一定なので100℃ 18

  20. 6 Salome-Mecaで熱応力解析を実施 6.1 構造解析の設定 • 検証問題 ◦ 変位拘束 Fix_X1、Fix_X2にDX=0 Fix_YにDY=0

    Fix_ZにDZ=0 ◦ 定常熱伝導問題を解いた結果(温度分布)を継承 ◦ 参照温度を20℃に設定 • 材料定数 ◦ ヤング率E:203,000 [MPa] ◦ ポアソン比ν:0.3 ◦ 線膨張係数α:1.73×10−5 [1/ ℃] 19
  21. 6.2 AsterStudyで構造解析の設定(Assisantを使用) • AsterStudyモジュールの「Case View」タブに戻り、 • メニューより、Operations Add Stage with

    Assitant Isotropic liner elasticityを選択 • イントロダクションが表示されるので、Next>をクリック 20
  22. • 作成したメッシュを選択し、Next>をクリック 21

  23. • モデルは3Dを選択し、Next>をクリック 22

  24. • ヤング率E:203,000 [MPa]とポアソン比ν:0.3を入力し、Next>をクリック 23

  25. • 拘束条件としてFix_X1とFix_X2にDX=0を入力し、Next>をクリック 24

  26. • 荷重条件(圧力条件) ◦ 今回は使いませんので、Assitantでは適当な値を入力(後ほどコマンドファイルを編集 して削除します)し、Next>をクリック 25

  27. • 結果ファイル(.rmed)を保存し、Finishをクリック 26

  28. 6.3 Assisantで設定した構造解析のコマンドファイルを編集 AssisantのIsotropic liner elasticityで設定したデフォルトのコマンドファイルでは、先に設 定したStage_1熱解析コマンドファイルの設定と、同一の解析ケース内に重複する設定があ ることになり、Stage_2のコマンドファイル編集が必要。 27

  29. • 以下のLIRE_MAILLAGE(メッシュの読み込み)を削除 メッシュの読み込み 1 mesh = LIRE_MAILLAGE(FORMAT='MED', 2 UNITE=20) •

    AFFE_MODELE(有限要素の選択)のコンセプト名をmodelからmodelSに変更 • Meshは熱解析で設定したコンセプト名を選択(ここでは、mesh) 有限要素の選択 1 modelS = AFFE_MODELE(AFFE=_F(MODELISATION=('3D', ), 2 PHENOMENE='MECANIQUE', 3 TOUT='OUI'), 4 MAILLAGE=mesh) • DEFI_MATERIAU(材料の定義)のコンセプト名をmaterからmaterSに変更し、線膨張 係数を追加 材料の定義 1 materS = DEFI_MATERIAU(ELAS=_F(ALPHA=1.73e-05, 2 E=203000.0, 3 NU=0.3)) • AFFE_MATERIAU(材料の割り当て)にAFFE_VERCを追加して、熱解析の結果を継承 し、参照温度を20℃に設定。 28
  30. 材料の割当 1 materfl = AFFE_MATERIAU(AFFE=_F(MATER=(materS, ), 2 TOUT='OUI'), 3 AFFE_VARC=_F(EVOL=temp,

    4 NOM_VARC='TEMP', 5 TOUT='OUI', 6 VALE_REF=20.0), 7 MODELE=modelS) • コンセプト名:macabcのAFFE_CHAR_MECA(機械的境界条件の割り当て)を修正 機械的境界条件の割り当て 1 mecabc = AFFE_CHAR_MECA(DDL_IMPO=(_F(DX=0.0, 2 GROUP_MA=('Fix_X1', )), 3 _F(DX=0.0, 4 GROUP_MA=('Fix_X2', )), 5 _F(DY=0.0, 6 GROUP_NO=('Fix_Y', )), 7 _F(DZ=0.0, 8 GROUP_NO=('Fix_Z', ))), 9 MODELE=modelS) • コンセプト名:mecachのAFFE_CHAR_MECAを削除 荷重条件(圧力条件) 1 mecach = AFFE_CHAR_MECA(MODELE=model, 29
  31. 2 PRES_REP=_F(GROUP_MA=('Fix_X1', ), 3 PRES=0.0)) • MECA_STATIQUE(静的線形構造解析)を修正 静的線形構造解析 1 result

    = MECA_STATIQUE(CHAM_MATER=materfl, 2 EXCIT=_F(CHARGE=mecabc), 3 MODELE=modelS) • CALC_CHAMP(場の量の計算)を追加 場の量の計算 1 result = CALC_CHAMP(reuse=result, 2 CONTRAINTE=('SIGM_ELNO', 'SIGM_NOEU'), 3 CRITERES=('SIEQ_ELNO', 'SIEQ_NOEU'), 4 RESULTAT=result) • IMPR_RESU(結果の出力)を修正 結果の出力 1 IMPR_RESU(FORMAT='MED', 2 RESU=_F(NOM_CHAM=('DEPL', 'SIEQ_NOEU', 'SIGM_NOEU'), 3 RESULTAT=result), 4 UNITE=2) 30
  32. 6.4 AsterStudyで求解・データ管理 • 計算のインタラクティブなフォローアップ • 実行ケース間の関係のグラフィカル表示 31

  33. 6.5 Paravisで結果分析(可視化) • 熱応力 ◦ 理論値:σ = Eα∆T = 20,

    300 × 1.73 × 10−5 × (100 − 20) = 280.952 (MPa) ◦ 解析結果:280.952 (MPa) 32
  34. 7 追加計算 7.1 自由端 • 右端の変位拘束(Fix_X2にDX=0)を削除して計算 • X方向変位(100倍表示) ◦ 理論値:∆X

    = α∆TL = 1.73 × 10−5 × (100 − 20) × 100 = 0.1384 (mm) ◦ 解析結果:0.1384 (mm) 33
  35. 参考文献 [1] mmer氏.「Salome-Mecaで熱応力解析(Salome-Meca復習シリーズ)」. オープンCAE勉 強会@関西「これまでの勉強会と発表資料」, 第59回, 2017. https://ofbkansai.sakura.ne.jp/log_study_meeting, (accessed 2020-09-27).

    [2] FS氏.「15.00 温度構造解析連携」. OpenCAE Users Wiki, SALOME-Mecaの使用法 解説, 2008. http://opencae.gifu-nct.ac.jp/pukiwiki/index.php?SALOME- Meca%A4%CE%BB%C8%CD%D1%CB%A1%B2%F2%C0%E2, (accessed 2020-09-27). [3] FreeChaos氏.「熱構造解析」. Code_Aster Salome-Meca 日本語解説, 2013. https://sites.google.com/site/codeastersalomemeca/home/code_aster-1/netukouzou, (accessed 2020-09-27). [4] EDF.「01-Presentation of code_aster and Salome-Meca」. Code_Aster / Salome-Meca - Module 1 : Basic training, 2020. https://www.code-aster.org/V2/spip.php?article920, (accessed 2020-10-03). All content is licensed under an open-source, ’copyleft’ license: 表示 4.0 国際(CC BY 4.0) 34