この資料はオープンCAE勉強会@岐阜で公開されているFS氏ご提供の「SALOME-Mecaの使用法解説:1.0 基本 Salomeの使い方」をSalome-Meca 2018(Code_Aster 13.6)のAsterStudyモジュールを用いて設定したコマンドファイルについて解説したものです。
- Code_Asterのコマンドファイルは「Python」形式で記述されています。
- コマンドはフランス語を元に設定されています。
コマンドファイルの詳細は次の通りです。
DEBUT(Start)
DEBUT(LANG='EN')
DEBUT(「コマンドファイル」を開始します。)
- LANG(メッセージファイルの言語)=EN(英語)
LIRE_MAILLAGE(Read a mesh)
mesh = LIRE_MAILLAGE(identifier=u'0:1',
FORMAT='MED',
UNITE=20)
mesh = LIRE_MAILLAGE(「メッシュ」の形式設定と読み込み)
- FORMAT=MED(読み込むメッシュ形式にMED形式を指定)
- UNITE(論理ユニット番号)=20
AFFE_MODELE(Assign finite element)
model = AFFE_MODELE(identifier=u'1:1',
AFFE=_F(MODELISATION=('3D', ),
PHENOMENE='MECANIQUE',
TOUT='OUI'),
MAILLAGE=mesh)
model = AFFE_MODELE(有限要素の選択)
- MODELISATION(モデル化)=3D(3次元ソリッド要素)
- PHENOMENE(現象)=MECANIQUE(機械的力学)
- TOUT(全体)=OUI(Yes)
- MAILLAGE=mesh(meshに割り当て)
DEFI_MATERIAU(Define a material)
mater = DEFI_MATERIAU(identifier=u'2:1',
ELAS=_F(E=130300.0,
NU=0.343))
mater = DEFI_MATERIAU(材料の定義)
- ELAS(等方性弾性材料)
- E(ヤング率)=130,300(MPa)
- NU(ポアソン比)=0.343
AFFE_MATERIAU(Assign a material)
fieldmat = AFFE_MATERIAU(identifier=u'3:1',
AFFE=_F(MATER=(mater, ),
TOUT='OUI'),
MAILLAGE=mesh)
fieldmat = AFFE_MATERIAU(材料の割り当て)
- MATER=mater(割り当てる材料)
- TOUT(全体)=OUI(Yes)
- MAILLAGE=mesh(meshに割り当て)
AFFE_CHAR_MECA(Assign mechanical load)
load = AFFE_CHAR_MECA(identifier=u'4:1',
DDL_IMPO=_F(DX=0.0,
DY=0.0,
DZ=0.0,
GROUP_MA=('fix', )),
MODELE=model,
PRES_REP=_F(GROUP_MA=('load', ),
PRES=0.1))
load = AFFE_CHAR_MECA(機械的境界条件の割り当て)
- DDL_IMPO(強制変位)
- DX=0.0(X方向変位を0.0)
- DY=0.0(Y方向変位を0.0)
- DZ=0.0(Z方向変位を0.0)
- GROUP_MA=fix(強制変位を与えるグループ名)
- MODELE=model
- PRES_REP(圧力荷重)
- GROUP_MA=load(圧力荷重を与えるグループ名)
- PRES=0.1(圧力0.1MPa)
MECA_STATIQUE(Static mechanical analysis)
reslin = MECA_STATIQUE(identifier=u'5:1',
CHAM_MATER=fieldmat,
EXCIT=_F(CHARGE=load),
MODELE=model)
reslin = MECA_STATIQUE(解析の種類として静的線形構造解析を設定)
- CHAM_MATER=fieldmat(材料の場)
- EXCIT(活性化する荷重)
- CHARGE(荷重)=load
- MODELE=model
CALC_CHAMP
reslin = CALC_CHAMP(identifier=u'6:1',
reuse=reslin,
CONTRAINTE=('SIGM_ELNO', 'SIGM_NOEU'),
CRITERES=('SIEQ_ELNO', 'SIEQ_NOEU'),
RESULTAT=reslin)
reslin = CALC_CHAMP(場の量の計算)
- reuse(使う結果名)=reslin(ここでは再利用)
- CONTRAINTE(応力)
- SIGM_ELNO(応力(要素))
- SIGM_NOEU(応力(節点))
- CRITERES(基準)
- SIEQ_ELNO(相当応力(要素))
- SIEQ_NOEU(等価応力(節点))
- RESULTAT=reslin
IMPR_RESU(Set output results)
IMPR_RESU(identifier=u'7:1',
FORMAT='MED',
RESU=_F(NOM_CHAM=('SIGM_NOEU', 'SIEQ_NOEU', 'DEPL'),
RESULTAT=reslin),
UNITE=80)
IMPR_RESU(結果の出力)
- FORMAT=MED(出力するバイナリ形式にMED形式を指定)
- NOM_CHAM
- SIGM_NOEU(応力(節点))
- SIEQ_NOEU(等価応力(節点))
- DEPL(変位量)
- RESULTAT=reslin
- UNITE(論理ユニット番号)=80
FIN(End)
FIN()
FIN(「コマンドファイル」を終了します。)
参考文献
- PE構造力学研究所. Salome-Mecaによる軸対称体の弾性解析(圧力容器の耐圧設計),(accessed 2020-02-09).
- オープンCAE 学会資料翻訳委員会. Code_Aster training/Module 1/01-overview,(accessed 2020-02-09).
- オープンCAE 学会資料翻訳委員会. Code_Aster training/Module 1/03-stepbystepcalculation,(accessed 2020-02-09).
- Code_Aster & Salome-Meca 日本語解説.バージョンによる違い,(accessed 2020-02-09).