1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

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

Last updated at Posted at 2021-01-10

はじめに

この資料はオープン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」をクリックします。

2020-04-30-13-07-56.png

グループ化

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

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

BC0002.png

メッシュ作成

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」を選択します。

2020-04-30-13-11-21.png

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

thermo002.png

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

thermo003.png

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

thermo004.png

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

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

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

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

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

BC001.png

「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動画

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?