Salome-Meca 2019を用いたモーダル解析(SDLS)
目的
シェル要素を用いたモーダル解析
この資料はオープンCAE勉強会@岐阜で公開されているFS氏ご提供の「SALOME-Mecaの使用法解説:10.0モーダル解析」をSalome-Meca 2019(Code_Aster 14.4)を用いてシェル要素(1次)で実行しました。
ジオメトリ
- Salome-Meca 2019を起動します。
- Shaperモジュールを起動します。
Sketchを使用してワイヤーを作成します。
- 新規Partを作成します (メニューより、Part/New Part)。
- スケッチの作成を開始します(メニューより、Sketch/Sketch)。
- ビューでXOZ平面を選択します。
「Sketch」プロパティパネルの「Set plane View」ボタンをクリックします。
四角形を作成します(メニューより、Sketch/Rectangle)。
ビュー内の2つのポイントを選択し、四角形を作成します。
四角形の左端と原点を一致させます(Skethc/Coincident)。
Skechツールバーの「Length」ボタンから寸法拘束を作成します。
Y方向を「100」、Z方向を「20」に設定します。
Skechプロパティパネルの「Apply」ボタンをクリックして、スケッチの作成を終了します。
Faceを作成します。
- Face1を作成します(メニューより、Build/Face)
- オブジェクトブラウザでSketch_1を選択します。
- プロパティパネルの「Apply」ボタンをクリックします。
グループを設定します
- グループを設定します(Features/Group)。
- Nameを「fix」に設定、Typeに「Edge」を選択、X=0上の線を選択し、「Apply and continue」をクリックします。
- Nameを「divZ」に設定、Typeを「Edge」を選択したままで、X=0、X=100上のZ方向の2線を選択し(SHIFTキーを押しながら)、「Apply and continue」をクリックします。
- Nameを「shell」に設定、Typeに「Faces」を選択、ビュー内の「Face_1_1」を選択、「Apply」をクリックします。
GEOMモジュールにエキスポート
- グループ設定をGEOMモジュールにエキスポートします(メニューより、Features/Export to GEOM)
メッシュ
Meshモジュールを起動します。
Mesh_1を作成:(メニューより、Mesh/Create Mesh)
- ジオメトリ:Face_1_1
- 2Dアルゴリズム:自動四角形メッシュ化(Quadrangle:Mapping)
- 1Dアルゴリズム:セグメント数=20
- ダイアログをApplyし、Mesh_1をComputeします。
サブメッシュを作成:(メニューより、Mesh/Create Sub-mesh)
- メッシュ:Mesh_1
- ジオメトリ:divZ
- アルゴリズム:Wire Discretisation
- Hypothesis(仮設)にNumber of Segmentsを設定(4分割、等分布)します。
- Mesh_1をComputeします。
ジオメトリよりグループを作成します(メニューより、Mesh/Create Groups from Geometry)
- メッシュ:Mesh_1
- Elements:Geometryのfix、shell
- ダイアログを「Apply and Close」します。
Asterコマンドファイルを作成
Asterコマンドファイルの雛形作成
AsterStudyモジュールを起動します。
アシスタントも用いてコマンドファイルの雛形を作成します(メニューより、Operations/Add Stage with Assistant/Modal analysis)
- メッシュ:Mesh_1
- 解析モデル:3D(のちほどDKTに変更します)
- 材料定数:
- ヤング率:132000
- 質量密度:8.96e-9
- ポアソン比:0.343
- 拘束条件:
- グループ:fix
- DX=DY=DZ=0
- 固有モード探索の基準:「N first eigenmodes」を選択、周波数の数を「5」に設定
- 結果ファイル(.rmed)の保存場所を指定します。
Asterコマンドファイルを修正
有限要素モデルを3DからDKTに変更します。
model = AFFE_MODELE(AFFE=_F(MODELISATION=('DKT', ), # シェルを指定
PHENOMENE='MECANIQUE',
TOUT='OUI'),
MAILLAGE=mesh)
shellグループに板厚を設定します(メニューより、Commands/Model Definition/AFFE_CARA_ELEM)。
elemprop = AFFE_CARA_ELEM(COQUE=_F(EPAIS=10.0, # シェルの厚さを設定
GROUP_MA=('shell', )),
MODELE=model)
境界条件に回転自由度を追加します。
LIAISON='ENCASTRE'を用いて全自由度拘束でも可能です。
mecabc = AFFE_CHAR_MECA(DDL_IMPO=_F(DRX=0.0, # 追加
DRY=0.0, # 追加
DRZ=0.0, # 追加
DX=0.0,
DY=0.0,
DZ=0.0,
GROUP_MA=('fix', )),
MODELE=model)
モーダル解析の前処理を修正
ASSEMBLAGE(CARA_ELEM=elemprop, # 追加
CHAM_MATER=materfl,
CHARGE=(mecabc, ),
MATR_ASSE=(_F(MATRICE=CO('rigidite'),
OPTION='RIGI_MECA'),
_F(MATRICE=CO('masse'),
OPTION='MASS_MECA')),
MODELE=model,
NUME_DDL=CO('numeddl'))
結果の出力を修正します。
IMPR_RESU(FORMAT='MED',
RESU=_F(CARA_ELEM=elemprop, # 追加
RESULTAT=result),
UNITE=80)
結果(変形の形状)
1次:630.2Hz
2次:1225.34Hz
3次:3946.98Hz
4次:6167.8Hz
5次:6633.12Hz
ソースコード
以下にソースコードを示します。
DEBUT(LANG='EN')
mesh = LIRE_MAILLAGE(FORMAT='MED',
UNITE=20)
model = AFFE_MODELE(AFFE=_F(MODELISATION=('DKT', ),
PHENOMENE='MECANIQUE',
TOUT='OUI'),
MAILLAGE=mesh)
elemprop = AFFE_CARA_ELEM(COQUE=_F(EPAIS=10.0,
GROUP_MA=('shell', )),
MODELE=model)
mater = DEFI_MATERIAU(ELAS=_F(E=132000.0,
NU=0.343,
RHO=8.96e-09))
materfl = AFFE_MATERIAU(AFFE=_F(MATER=(mater, ),
TOUT='OUI'),
MODELE=model)
mecabc = AFFE_CHAR_MECA(DDL_IMPO=_F(DRX=0.0,
DRY=0.0,
DRZ=0.0,
DX=0.0,
DY=0.0,
DZ=0.0,
GROUP_MA=('fix', )),
MODELE=model)
ASSEMBLAGE(CARA_ELEM=elemprop,
CHAM_MATER=materfl,
CHARGE=(mecabc, ),
MATR_ASSE=(_F(MATRICE=CO('rigidite'),
OPTION='RIGI_MECA'),
_F(MATRICE=CO('masse'),
OPTION='MASS_MECA')),
MODELE=model,
NUME_DDL=CO('numeddl'))
result = CALC_MODES(CALC_FREQ=_F(NMAX_FREQ=5),
MATR_MASS=masse,
MATR_RIGI=rigidite,
OPTION='PLUS_PETITE')
IMPR_RESU(FORMAT='MED',
RESU=_F(CARA_ELEM=elemprop,
RESULTAT=result),
UNITE=80)
FIN()
Author And Source
この問題について(Salome-Meca 2019を用いたモーダル解析(SDLS)), 我々は、より多くの情報をここで見つけました https://qiita.com/Jun_Tatsuno/items/4bcc315d548feb75b73c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .