Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Salome-Mecaで超弾性材料を使ってみた!

JunTatsuno
September 12, 2020

 Salome-Mecaで超弾性材料を使ってみた!

第19回オープンCAE勉強会@関東(構造など)での発表内容です。
https://openfem-kanto.connpass.com/event/185801/

JunTatsuno

September 12, 2020
Tweet

More Decks by JunTatsuno

Other Decks in Technology

Transcript

  1. 2020年9月12日
    「Salome-Mecaで超弾性材料を使ってみた!」
    第19回オープンCAE勉強会@関東(構造など)
    龍野 潤(@Jun_Tatsuno)

    View Slide

  2. 目次
    1 自己紹介 2
    2 超弾性(Hyperelasticity) 3
    2.1 超弾性とは . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
    2.2 ゴム材料(エラストマ)の単軸引張試験結果 . . . . . . . . . . . . . . . . . 3
    3 Code_Asterの超弾性材料 4
    3.1 Code_Asterで採用されている超弾性材料 . . . . . . . . . . . . . . . . . . . 4
    3.2 キーワード因子ELAS_HYPER . . . . . . . . . . . . . . . . . . . . . . . . 5
    3.3 ELAS_HYPER構文 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
    4 単純モデルでの解析 9
    4.1 ジオメトリ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
    4.2 コマンド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
    4.3 結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
    付録A コマンドファイル 14
    1

    View Slide

  3. 1 自己紹介
    • 職業:オフィス家具メーカーに勤務の会社員で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
    2

    View Slide

  4. 2 超弾性(Hyperelasticity)
    2.1 超弾性とは
    • 物体を構成する物質の力学的特性の数理的表現のひとつ
    • ひずみエネルギー密度関数(単位体積あたりのひずみエネルギーを表す弾性ポテンシャ
    ル)を有することが特徴
    • 超弾性を有する物質を超弾性体とよび、ゴムの最も簡易なモデルとして登場したことに由
    来して、数10 %~数100%の大ひずみ状態を想定
    Wikipedia「超弾性」より
    2.2 ゴム材料(エラストマ)の単軸引張試験結果
    単軸引張試験の例
    3

    View Slide

  5. 3 Code_Asterの超弾性材料
    3.1 Code_Asterで採用されている超弾性材料
    • Signorini(シニョリーニ)
    • Mooney-Rivlin(ムーニー・リブリン)
    • Néo-Hookéen(ネオ・ファッキアン)
    • 商用ソフトにあるような以下の材料モデルには未対応
    ◦ Polynominal(多項式)
    ◦ Yeoh(ヨー)
    ◦ Ogden(オクデン)
    ◦ Arruda-Boyce(アルーダ・ボイス)
    ◦ Gent(ジェント)
    ◦ Blatz-Ko(ブラッツ・コウ)
    4

    View Slide

  6. 3.2 キーワード因子ELAS_HYPER
    材料を特徴づけるパラメータは、DEFI_MATERIAU でELAS_HYPER というキーワード
    で定義されています。
    大きな変位、回転、および変形(DEFORMATION=’ GROT_GDEP’)をサポートしてい
    ます。
    *1
    • 対応要素:3D(3次元)
    、D_PLAN(平面ひずみ)
    、C_PLAN(平面応力)
    • Example:テストケースSSNV187
    • Reference material R5.03.19
    *1 この挙動では、熱による変形を考慮することはできません。
    5

    View Slide

  7. 3.3 ELAS_HYPER構文
    Syntax
    1 | ELAS_HYPER= _F (
    2 ♦ C10 = c10, [R]
    3 ◇ C01 = / c01, [R]
    4 / 0.0, [DEFECT]
    5 ◇ C20 = / c20, [R]
    6 / 0.0, [DEFECT]
    7 ◇ RHO = / rho, [R]
    8 / 0.0, [DEFECT]
    9 ◇ NAKED = naked, [R]
    10 ◇ K = K [R]
    11 )
    6

    View Slide

  8. 3.3.1 オペランドC01、C10、C20
    C01 = c01 、C10 = c10、C20 = c20 超弾性多項式の3つのポテンシャル関数。
    単位はN/mm2
    • C20 のみがNullの場合、Mooney-Rivlin(ムーニー・リブリン)型の材料モデル。
    • C01とC20 がNullの場合、Néo-Hookéen(ネオ・ファッキアン)型の材料モデル。
    6(C01+C10)=E のようにC10 とC01を取る場合、小さな変形では弾性非圧縮性を持つ材
    料となります。ここで、E はヤング率です。
    C01 C10 C20
    Signorini YES YES YES
    Mooney-Rivlin YES YES Null
    Néo-Hookéen Null YES Null
    7

    View Slide

  9. 3.3.2 オペランドNAKED とK
    NAKED = naked
    ポアソン比。-1<ν <0.5であることを確認します。
    K = K
    体積弾性率。これらの2つのパラメータは1つだけを用い、もう1つを除外します。
    これらのパラメータは、材料の圧縮性をほぼ定量化します。
    ユーザが提供する体積弾性率K が存在すれば、それを使用します。
    存在しない場合は、次式(1)を用いて計算します。
    K =
    6(C01 + C10)
    3(1 − 2ν)
    (1)
    ν は0.5に近い値を取ることができますが,厳密には決して等しくはありません。
    ν が0.5に近すぎる場合、ポアソン比またはその体積弾性率をチェックするように、エラー
    メッセージが表示されます。
    体積弾性率が大きいほど、材料は非圧縮性が高くなります。
    3.3.3 オペランドRHO
    RHO = rho
    質量密度(関数型の概念を受けつけません)
    。サイズについてのチェックはありません。
    8

    View Slide

  10. 4 単純モデルでの解析
    単純モデルでの解析は、Code_Aster 10で記述されたCAELinuxの投稿をCode_Aster 14で
    実施しました。
    4.1 ジオメトリ
    5(mm)×12(mm)×43(mm)のブロック形状を使用
    • 上下の2つのエリア:AtopとAbot
    • 2節点グループ
    ◦ 底面の中心節点:Nfixx
    ◦ y軸の最端位置にある2つの節点:Nfixy
    ブロック上に定義された4つのグループ
    9

    View Slide

  11. 4.2 コマンド
    材料特性は、Mooney-Rivlin(ムーニー・リブリン)型の材料モデルで設定しています。
    材料設定
    1 mater = DEFI_MATERIAU(ELAS_HYPER=_F(C01=2.3456,
    2 C10=0.709,
    3 C20=0.0,
    4 NU=0.499))
    拘束条件
    1 mecabc = AFFE_CHAR_MECA(DDL_IMPO=(_F(DZ=0.0,
    2 GROUP_MA=('Abot', )),
    3 _F(DY=0.0,
    4 GROUP_NO=('Nfixx', )),
    5 _F(DX=0.0,
    6 GROUP_NO=('Nfixy', ))),
    7 MODELE=model)
    荷重条件
    1 mecach = AFFE_CHAR_MECA(MODELE=model,
    2 PRES_REP=_F(GROUP_MA=('Atop', ),
    3 PRES=-6.0))
    10

    View Slide

  12. 非線形解析コマンド
    1 resnonl = STAT_NON_LINE(CHAM_MATER=fieldmat,
    2 COMPORTEMENT=_F(DEFORMATION='GROT_GDEP',
    3 RELATION='ELAS_HYPER'),
    4 CONVERGENCE=_F(ITER_GLOB_MAXI=20),
    5 EXCIT=(_F(CHARGE=mecabc),
    6 _F(CHARGE=mecach,
    7 FONC_MULT=func)),
    8 INCREMENT=_F(LIST_INST=listr),
    9 MODELE=model,
    10 NEWTON=_F(REAC_ITER=1))
    11

    View Slide

  13. 4.3 結果
    4.3.1 変位
    上のエリアAtopに-6(MPa)の圧力荷重を20等分してかけています。
    次の左図は、この荷重の全体的な変位を示しています。
    表示されている変位は、実際の変位です(デフォルメ表示はしていません)

    最終的なZ方向変位は34.4(mm)で、ひずみは34.4÷43=0.8( )です。
    右図は圧力-12(MPa)のときのZ方向変位を示しています。
    上面の最大変位は182.5(mm) で、ひずみは182.5÷43=4.2( )です。
    圧力荷重-6(MPa)の場合
    圧力荷重-12(MPa)の場合
    12

    View Slide

  14. 4.3.2 体積変化
    ここでは、-6(MPa)の圧力荷重の場合について説明します。
    次の図は、X、Y、Z方向の変位量を示しています。
    各方向の最大変位量は次のとおりです。
    X方向変位量:0.64(mm)
    (両方向)
    Y方向変位量:1.5(mm)
    (両方向)
    Z方向変位量:34.4(mm)
    (正方向のみ)
    ポアソン比ν は、0.499にしたので、体積はほとんど変わらないと予想され、
    変形前の体積は:
    V0
    = 5 × 12 × 43 = 2, 580(mm3) (2)
    変形後の体積は:
    Vdef
    = 2(2.5 − 0.64) × 2(6 − 1.5) × (43 + 34.4) = 2, 591(mm3) (3)
    体積変化は:11(mm3)でした。
    13

    View Slide

  15. 付録A コマンドファイル
    コマンドファイル
    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='MECANIQUE',
    8 TOUT='OUI'),
    9 MAILLAGE=mesh)
    10
    11 mater = DEFI_MATERIAU(ELAS_HYPER=_F(C01=2.3456,
    12 C10=0.709,
    13 C20=0.0,
    14 NU=0.499))
    15
    16 fieldmat = AFFE_MATERIAU(AFFE=_F(MATER=(mater, ),
    17 TOUT='OUI'),
    18 MAILLAGE=mesh)
    19
    20 listr = DEFI_LIST_REEL(DEBUT=0.0,
    21 INTERVALLE=_F(JUSQU_A=1.0,
    14

    View Slide

  16. 22 NOMBRE=20))
    23
    24 times = DEFI_LIST_INST(DEFI_LIST=_F(LIST_INST=listr),
    25 METHODE='AUTO')
    26
    27 func = DEFI_FONCTION(NOM_PARA='INST',
    28 PROL_DROITE='LINEAIRE',
    29 VALE=(0.0, 0.0, 1.0, 1.0))
    30
    31 mecabc = AFFE_CHAR_MECA(DDL_IMPO=(_F(DZ=0.0,
    32 GROUP_MA=('Abot', )),
    33 _F(DY=0.0,
    34 GROUP_NO=('Nfixx', )),
    35 _F(DX=0.0,
    36 GROUP_NO=('Nfixy', ))),
    37 MODELE=model)
    38
    39 mecach = AFFE_CHAR_MECA(MODELE=model,
    40 PRES_REP=_F(GROUP_MA=('Atop', ),
    41 PRES=-6.0))
    42
    43 resnonl = STAT_NON_LINE(CHAM_MATER=fieldmat,
    44 COMPORTEMENT=_F(DEFORMATION='GROT_GDEP',
    45 RELATION='ELAS_HYPER'),
    15

    View Slide

  17. 46 CONVERGENCE=_F(ITER_GLOB_MAXI=20),
    47 EXCIT=(_F(CHARGE=mecabc),
    48 _F(CHARGE=mecach,
    49 FONC_MULT=func)),
    50 INCREMENT=_F(LIST_INST=listr),
    51 MODELE=model,
    52 NEWTON=_F(REAC_ITER=1))
    53
    54 resnonl = CALC_CHAMP(reuse=resnonl,
    55 CONTRAINTE=('SIGM_ELNO', 'SIGM_NOEU'),
    56 CRITERES=('SIEQ_ELNO', 'SIEQ_NOEU'),
    57 FORCE=('FORC_NODA', 'REAC_NODA'),
    58 MODELE=model,
    59 RESULTAT=resnonl)
    60
    61 IMPR_RESU(FORMAT='MED',
    62 RESU=_F(MAILLAGE=mesh,
    63 NOM_CHAM=('DEPL', 'SIGM_NOEU', 'SIEQ_NOEU', 'REAC_NODA', '
    FORC_NODA'),
    64 RESULTAT=resnonl),
    65 UNITE=80)
    66
    67 FIN()
    16

    View Slide

  18. 参考文献
    [1] CAELinux,『Contrib:KeesWouters/solids/mooney-rivlin』
    http://www.caelinux.org/wiki/index.php/Contrib:KeesWouters/solids/mooney-rivlin
    [2] EDF,『[U4.43.01] Operator DEFI_MATERIAU』
    https://www.code-aster.org/V2/doc/default/en/man_u/u4/u4.43.01.pdf
    [3] EDF,『[U4.51.11] Non linear constitutive laws』
    https://www.code-aster.org/V2/doc/default/en/man_u/u4/u4.51.11.pdf
    [4] EDF,『[R5.03.19] Hyperelastic constitutive law for nearly incompressible material』
    https://www.code-aster.org/V2/doc/default/en/man_r/r5/r5.03.19.pdf
    [5] EDF,『[V6.04.187] SSNV187 - Validation of the law on a cube ELAS_HYPER』
    https://www.code-aster.org/V2/doc/default/en/man_v/v6/v6.04.187.pdf
    [6] CMD2012,『Salome-Meca活用研究会「非線形分科会」の活動報告』
    All content is licensed under an open-source, ’copyleft’ license: 表示 4.0 国際(CC BY 4.0)
    17

    View Slide