Salome-Meca 2019を用いた境界条件の設定(SSLV)


はじめに

この資料はオープンCAE勉強会@岐阜で公開されているFS氏ご提供の「SALOME-Mecaの使用法解説:2.0 境界条件の設定」をSalome-Meca 2019で採用されたWizard(Add Stage with Assistant)を用いて設定し、同じく新しく採用されたPost-processを用いて結果評価を行います。

本演習の目的

基本編では、既に設定された方法(Wizard(Add Stage with Assistant))を使って解析しました。
この方法では、荷重の負荷方法としては、面圧(面に垂直方向の圧力)の設定しかできません。
このため、この章では、点、線、面、体積に各方向の荷重を負荷する、あるいは変位を設定して解析する方法について説明します。

ジオメトリ

モデルは、荷重の負荷方法で、どのように変化するかが良くわかるモデルにします。

  • モデル形状内寸
    • 長さ:10mm
    • 深さ:5mm
    • 幅 :3mm
    • 板厚:0.5mm
      のL字モデル

材料

  • 材料Cu
    • ヤング率:130,300MPa
    • ポアソン比:0.343

解析手順

~/CAE/bar-2/というフォルダーを作り、この中で解析することにします。

モデル形状のインポート

Salome-Meca2019を起動します。
Salome-Mecaの起動画面から、SALOMEモジュールの選択ドロップダウンリストを「Geometry」に変更します。

メニューバーより、「File」>「Import」>「STEP」で、L字モデル「bar-2.stp」をインポートします。

単位変換を行うかWarning画面が表示されますので、「No」をクリックします。

グループ化

境界条件を与えるためのグループ化を行います。
グループ化は、Salome-Mecaのメインツールバーで、「NewEntity」>「Group」>「Create Group」とし、「Create Group」画面上でトポロジ選択、グループ名の入力、メイン画面でジオメトリを選択して行います。

トポロジ グループ名 説明
loadF
loadL 外側の3mmのライン
loadP 外側のコーナー部
体積 loadV モデル全体
fix 根元の固定部

メッシュ作成

Salome-Mecaのメインツールバーで、「Geometry」と表示されている下向き矢印をクリックし、「Mesh」を選択します。
メニューバーより、「Mesh」>「Create Mesh」をクリックし、「Create Mesh」画面を表示します。
名前はデフォルトの「Mesh_1」のままにします。
「Product_1」がGeometryフィールドにあることを確認します(そうでない場合は、Geometryの横にある曲線矢印を選択し、オブジェクト・ブラウザ上より、「Product_1」を選択します)。
メッシュタイプは「Any」のままとします。
「Assiign a set of hypotheses」から「3D:Automatic Tetralization」を選択します。

「Hypothesis Construnction」画面が表示されますので、「キャンセル」をクリックします。

「1D」タブをクリックします。
「Hypothesis」のGear(歯車)ボタンをクリックし、「Automatic Length」を選択します。

ポップアップ表示される「Hypothesis Construnction」画面で、「Fineess」を「0.2」に変更して、「OK」をクリックします。

「Create mesh」画面に戻ります。
「Apply and Close」をクリックします。

メニューバーより、「Mesh」>「Compute」を選択してメッシュを作成します。

メッシュ作成が終了すると、「Mesh computation succeed」画面がでるので、「Close」をクリックします。

「Mesh_1」を右クリックし、「Create Groups from Geometry」を選択します。
この手順は、Geometryモジュールで追加したグループがメッシュでも使用するために必要です。

Geometryモジュールで作成したグループのうち「loadP」はNodesグループに、それ以外はElementsグループに追加します。

「Apply and Close」をクリックします。

境界条件の設定

ここで、色々な境界条件を設定して、確認します。
最初に、Wizard(Add Stage with Assistant)を使って、デフォルトの面圧の境界条件を設定し、設定された境界条件(Code_Aster)を修正して、他の境界条件に変える方法をとります。

面圧で指定(Wizard(Add Stage with Assistant)の方法)

デフォルトの面圧で設定します。
デフォルトの設定(基本編に記載してある方法)。

  • ヤング率:130,300MPa
  • ポアソン比:0.343
  • 固定:fix 0, 0, 0
  • 負荷:loadF 0.5(面圧)

以上の条件でCode_Asterコマンドファイルを作成します。
この条件で解析した結果、

  • 最大変位:0.033mm
  • 最大相当応力:31.0MPa

となります。

面に働く荷重で指定

前節でできあがったCode_Asterコマンドファイルを修正して、面に働く荷重を設定します。

Code_Asterコマンドファイルを修正するために、Salome-MecaをAsterStudyモジュールのCase Viewタブに変更します。

変更前、ツリー上の

bar-2.com(面圧で指定)
mecabc = AFFE_CHAR_MECA(DDL_IMPO=_F(DX=0.0,               # 変位の設定、値を設定
                                    DY=0.0,
                                    DZ=0.0,
                                    GROUP_MA=('fix', )),  # 平面を指定
                        MODELE=model)

mecach = AFFE_CHAR_MECA(MODELE=model,
                        PRES_REP=_F(GROUP_MA=('loadF', ), # 面圧(面に垂直)の設定、平面を指定
                                    PRES=0.5))            # 値(0.5MPa)を指定

上記のPRES_REPをFORCE_FACEに入れ換えます。
(下記に従って、追加、削除して入れ換えます。)

FORCE_FACE の追加

ツリー上のコンセプト名「mecach」のAFFE_CHAR_MECA上で右クリックし、「Edit」を選択します。
右側のウィンドに項目名のリストが表れるので、この中からFORCE_FACEをチェックし、「0 items」横のアイコンををクリックして、行を追加します。
追加された行より、「Edit」を選択します。

GROUP_MA の追加

「Group of element」をチェックし、「Edit」を選択します。
「2D elements」より、「loadF」をチェックし、「OK」をクリックします。

荷重の方向と値を設定

荷重の方向と値を設定します。
方向は面圧と同じ方向とするため、Y方向とします。
値の指定は、面荷重の指定の為、単位面積当たり荷重を指定します。
→面圧と同じ値となります。
したがって、「FY」をチェックし、値「0.5」を入力し、「OK」をクリックします。

PRES_REP の削除

「PRES_REP」のチェックを外して削除します。
「OK」をクリックします。
以上でAsterStudyの設定は完了しました。
以下が設定し直したAFFE_CHAR_MECAの内容となります。

bar-2.comm(面荷重)
mecach = AFFE_CHAR_MECA(FORCE_FACE=_F(FY=0.5,               # 面荷重の設定、値を指定(単位面積当たりの荷重)
                                      GROUP_MA=('loadF', )),# 平面を指定
                        MODELE=model)

設定結果を「フロッピィ」のアイコンをクリックして保存します。
「HistoryView」タブを選択し、「Cases」画面より、「RunCase_1」上で右クリックして「Delete」を選択します。
「Delete」画面で、「Yes」を選択して、古い計算結果を削除します。
「CurrentCase」を選択し、「Run」をクリックして、計算を開始します。
すべてが正常に実行されると、解析が正常に完了したことを示す緑色の丸が表示されます。
結果を確認すると、以下の値であり、面圧の結果と同じ結果が得られた。

  • 最大変位 0.033mm
  • 最大相当応力 31.0MPa

面荷重を指定することによって、面に働く荷重の方向を自由に設定できる。
(今回は、FYを選択したので、Y方向でありますが、FX、FZも選択できます。)

線に働く荷重で設定

前節でできあがったCode_Asterコマンドファイルの内容を下記のように変更します。

bar-2.com(線荷重の設定)
mecach = AFFE_CHAR_MECA(FORCE_ARETE=_F(FY=0.417,              # 線荷重の設定、値を指定(単位長さ当たりの荷重)
                                       GROUP_MA=('loadL', )), # 線を指定
                        MODELE=model)

荷重の設定は、線分の為、単位長さ当たりの荷重を入力することに注意します。
この設定で前節と同様に計算します。
計算開始に当たって、古い計算結果を削除します。
計算結果は、下記であり、若干大きな値となりました。荷重を負荷させるラインを面の外側に設定したため、板厚分大きくなっています。

  • 最大変位 0.053mm
  • 最大相当応力 50.4MPa

点に働く荷重で設定

この設定も、Code_Asterコマンドファイルの内容を修正して計算します。
この内容は、下記のように設定します。

bar-2.com(点荷重の設定)
mecach = AFFE_CHAR_MECA(FORCE_NODALE=_F(FY=1.25,               # 点荷重の設定、値を指定(1点当たりの荷重)
                                        GROUP_NO=('loadP', )), # 点を指定(点の場合は、GROUP_NO になることに注意)
                        MODELE=model)

荷重の設定は、1点当たりの荷重を入力することに注意します。
この設定で計算します。
計算開始に当たって、古い計算結果は削除します。
計算結果は、下記であり、線に働く荷重とほぼ同じ結果となっています。

  • 最大変位 0.055mm
  • 最大相当応力 56.1MPa

荷重を負荷させるところが、非対称となっているので、はりにねじりが生じています。

重力加速度で設定

材料設定に質量密度を追加

重力加速度には、ヤング率やポアソン比とともに質量密度が必要です。
単位はSI[mm]系としています。従って、質量密度の単位がton/mm3 になっていることに注意してください。
ここでは、ベリ銅の材料定数として、以下を入力します。(機械実用便覧 第5版 日本機械学会より引用)

  • 密度:$\rho$=8.96e-9 Ton/mm3

ツリー上のDEFI_MATERIAU(Define a material)上で右クリックし、「Linear isotropic elasticity」の「Edit」を選択します。
「Density」をチェックし、値に「8.96e-9」を入力し、「OK」をクリックします。
「OK」をクリックし、質量密度の追加を終了します。

bar-2.com(質量密度の設定)
mater = DEFI_MATERIAU(ELAS=_F(E=130300.0,
                              NU=0.343,
                              RHO=8.96e-09)) # 質量密度

PESANTEURの設定

Gravitational acceleration(PESANTEUR)を設定します。
「Gravitational constant(重力加速度)」に値「9800」(mm/s2)を設定します。
「Direction」の3 itemsは、それぞれ、X方向、Y方向、Z方向を示しますので、重力方向が-Y方向のときは、「0」、「-1」、「0」と設定します。

bar-2.com(重力加速度で設定)
mecach = AFFE_CHAR_MECA(MODELE=model,
                        PESANTEUR=_F(DIRECTION=(0.0, -1.0, 0.0), # 体積に働く荷重の設定、重力加速度の方向を指定
                                     GRAVITE=9800.0))            # 重力加速度

変位の設定

前項の設定に対し、点の Y 方向変位を 0.1mm 与えてみます。
変位は、DDL_IMPO(Enforce DOF)で設定します。
Code_Asterの設定は、下記。

bar-2.com(変位の設定)
mecach = AFFE_CHAR_MECA(DDL_IMPO=_F(DY=0.1,                # 変位の設定、値を指定
                                    GROUP_NO=('loadP', )), # 点を指定
                        MODELE=model)

このコードで計算した結果が、下記となります。

  • 最大変位 0.130mm
  • 最大相当応力 133MPa

最大変位が 0.1mm以上になっていますが、これはXYZ方向の合成変位が0.130mmであり、Y 方向単独変位では0.11mm になっています。

まとめ

以下に境界条件を設定する「AFFE_CHAR_MECA」コマンドの代表的なオペランドを示します。
荷重関係は、全て単位(点、長さ、面積、体積)当たりに働く荷重で設定するので注意が必要です。
圧力以外の荷重は、XYZ各方向で設定できます。
圧力は、面に垂直方向にしか設定できません。
変位は、全ての方向(XYZ)、全てのジオメトリ(点、線、面、体積)で設定できます。

「AFFE_CHAR_MECA」の代表的なオペランド

区分 オペランド 意味
荷重 点に働く荷重 FORCE_NODALE 1点当たりの荷重
線に働く荷重 FORCE_ARETE 単位長さ当たりの荷重
面に働く荷重 FORCE_FACE 単位面積当たりの荷重
体積に働く荷重 FORCE_INTERNE 単位体積当たりの荷重
密度の値にすると1Gの加速度が働くことと等価
自重のたわみを計算できる
圧力 PRES_REP 面に垂直方向に働く圧力
加速度 重力加速度 PESANTEUR モデル全体
自重のたわみを計算できる
変位 各部 DDL_IMPO 変位

Link

YouTube動画