1
0

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を用いたモーダル解析(SDLS)

Last updated at Posted at 2021-01-11

目的

シェル要素を用いたモーダル解析

この資料はオープン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」ボタンをクリックして、スケッチの作成を終了します。

VirtualBox_CAELinux2020_11_01_2021_10_46_23.png

Faceを作成します。

  • Face1を作成します(メニューより、Build/Face)
  • オブジェクトブラウザでSketch_1を選択します。
  • プロパティパネルの「Apply」ボタンをクリックします。

VirtualBox_CAELinux2020_11_01_2021_10_46_56.png

グループを設定します

  • グループを設定します(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」をクリックします。

VirtualBox_CAELinux2020_11_01_2021_10_49_18.png

GEOMモジュールにエキスポート

  • グループ設定をGEOMモジュールにエキスポートします(メニューより、Features/Export to GEOM)

メッシュ

Meshモジュールを起動します。

Mesh_1を作成:(メニューより、Mesh/Create Mesh)

  • ジオメトリ:Face_1_1
  • 2Dアルゴリズム:自動四角形メッシュ化(Quadrangle:Mapping)
  • 1Dアルゴリズム:セグメント数=20
  • ダイアログをApplyし、Mesh_1をComputeします。

VirtualBox_CAELinux2020_11_01_2021_10_51_45.png

サブメッシュを作成:(メニューより、Mesh/Create Sub-mesh)

  • メッシュ:Mesh_1
  • ジオメトリ:divZ
  • アルゴリズム:Wire Discretisation
  • Hypothesis(仮設)にNumber of Segmentsを設定(4分割、等分布)します。
  • Mesh_1をComputeします。

VirtualBox_CAELinux2020_11_01_2021_10_52_42.png

ジオメトリよりグループを作成します(メニューより、Mesh/Create Groups from Geometry)

  • メッシュ:Mesh_1
  • Elements:Geometryのfixshell
  • ダイアログを「Apply and Close」します。

VirtualBox_CAELinux2020_11_01_2021_10_53_13.png

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

1.png

2次:1225.34Hz

2.png

3次:3946.98Hz

3.png

4次:6167.8Hz

4.png

5次:6633.12Hz

5.png

ソースコード

以下にソースコードを示します。

ここから(1次メッシュの場合)
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()
1
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?