forma02aを試してみました。温度が変化するエルボ形状の解析です。手順はとても簡単です。
Salome-Mecaを起動したら、AsterStudyを選択します。verdionはstableにしました。
次にHistory Viewを選択して、上辺のOperationsからimport testcaseを選択します。

一番上の欄にforma02aと入力すると、下の窓にデータツリーが表示されます。
ツリーからforma02aを選択して右下のimportボタンをクリックします。
後は通常の解析と同じです。
commファイルは次のとおり
# coding=utf-8
# --------------------------------------------------------------------
# Copyright (C) 1991 - 2021 - EDF R&D - www.code-aster.org
# This file is part of code_aster.
#
# code_aster is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# code_aster is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with code_aster. If not, see <http://www.gnu.org/licenses/>.
# --------------------------------------------------------------------
#
# TUYAUTERIE COMPORTANT UN COUDE
# MODELISATION PAR DES ELEMENTS HEXAEDRES
# ---------------------------------------
DEBUT(identifier='1:1',
CODE=_F(NIV_PUB_WEB='INTERNET'),
DEBUG=_F(SDVERI='OUI'))
MAIL = LIRE_MAILLAGE(identifier='2:1',
FORMAT='MED',
UNITE=20)
MAIL = MODI_MAILLAGE(identifier='3:1',
reuse=MAIL,
MAILLAGE=MAIL,
ORIE_PEAU=_F(GROUP_MA_PEAU='SURFINT'))
# CALCUL TRANSITOIRE THERMIQUE
# TEMPERATURE IMPOSEE SURFINT
# ECHANGE NUL SURFEXT
MODTH = AFFE_MODELE(identifier='5:1',
AFFE=_F(MODELISATION='3D',
PHENOMENE='THERMIQUE',
TOUT='OUI'),
MAILLAGE=MAIL)
# CALCUL THERMO-MECANIQUE
# ENCASTREMENT SUR LA SECTION BASE ET EFOND
# SYMETRIE PAR RAPPORT AU PLAN XOY
# CHARGEMENT THERMIQUE + PRESSION
MODMECA = AFFE_MODELE(identifier='7:1',
AFFE=_F(MODELISATION='3D',
PHENOMENE='MECANIQUE',
TOUT='OUI'),
MAILLAGE=MAIL)
MATER = DEFI_MATERIAU(identifier='8:1',
ELAS=_F(ALPHA=1.096e-05,
E=204000000000.0,
NU=0.3),
THER=_F(LAMBDA=54.6,
RHO_CP=3710000.0))
CHMATER = AFFE_MATERIAU(identifier='9:1',
AFFE=_F(MATER=MATER,
TOUT='OUI'),
MAILLAGE=MAIL)
F_TEMP = DEFI_FONCTION(identifier='10:1',
NOM_PARA='INST',
VALE=(0, 20, 10, 70))
LINST = DEFI_LIST_REEL(identifier='11:1',
VALE=(0, 5, 10))
F_MULT = DEFI_FONCTION(identifier='12:1',
NOM_PARA='INST',
VALE=(0, 1, 10, 1))
CHARTH = AFFE_CHAR_THER_F(identifier='13:1',
MODELE=MODTH,
TEMP_IMPO=_F(GROUP_MA='SURFINT',
TEMP=F_TEMP))
CHMECA = AFFE_CHAR_MECA(identifier='14:1',
DDL_IMPO=(_F(BLOCAGE=('DEPLACEMENT', 'ROTATION'),
GROUP_MA=('EFOND', 'BASE')),
_F(DZ=0,
GROUP_MA='SYMETRIE')),
MODELE=MODMECA,
PRES_REP=_F(GROUP_MA='SURFINT',
PRES=15000000.0))
TEMPE = THER_LINEAIRE(identifier='15:1',
CHAM_MATER=CHMATER,
ETAT_INIT=_F(VALE=20),
EXCIT=_F(CHARGE=CHARTH,
FONC_MULT=F_MULT),
INCREMENT=_F(LIST_INST=LINST),
MODELE=MODTH)
CHMECATH = AFFE_MATERIAU(identifier='16:1',
AFFE=_F(MATER=MATER,
TOUT='OUI'),
AFFE_VARC=_F(EVOL=TEMPE,
NOM_VARC='TEMP',
TOUT='OUI',
VALE_REF=20),
MAILLAGE=MAIL,
MODELE=MODMECA)
RESU = MECA_STATIQUE(identifier='17:1',
CHAM_MATER=CHMECATH,
EXCIT=_F(CHARGE=CHMECA),
LIST_INST=LINST,
MODELE=MODMECA)
# POST_TRAITEMENT
RESU = CALC_CHAMP(identifier='19:1',
reuse=RESU,
CONTRAINTE='SIEF_ELNO',
CRITERES='SIEQ_ELNO',
RESULTAT=RESU)
TA = POST_RELEVE_T(identifier='20:1',
ACTION=_F(INTITULE='VALEMAX',
NOM_CHAM='SIEQ_ELNO',
OPERATION='EXTREMA',
RESULTAT=RESU))
TS = MACR_LIGN_COUPE(identifier='21:1',
LIGN_COUPE=_F(COOR_EXTR=(0.2, 3, 0),
COOR_ORIG=(0.18, 3, 0),
NB_POINTS=10,
TYPE='SEGMENT'),
NOM_CHAM='SIEF_ELNO',
RESULTAT=RESU)
# IMPRESSION DES RESULTATS
IMPR_TABLE(identifier='23:1',
NOM_PARA='SIYY',
TABLE=TS,
UNITE=8)
IMPR_RESU(identifier='24:1',
FORMAT='MED',
RESU=(_F(MAILLAGE=MAIL,
RESULTAT=RESU),
_F(RESULTAT=TEMPE)),
UNITE=80)
# TEST DE NON REGRESSION
TEST_RESU(identifier='26:1',
RESU=(_F(GROUP_NO='AI1',
INST=10,
NOM_CHAM='TEMP',
NOM_CMP='TEMP',
RESULTAT=TEMPE,
VALE_CALC=70),
_F(GROUP_NO='N_TEST',
INST=0,
NOM_CHAM='DEPL',
NOM_CMP='DX',
RESULTAT=RESU,
VALE_CALC=-0.000451915834812),
_F(INST=10,
NOM_CHAM='SIEQ_ELNO',
NOM_CMP='VMIS',
RESULTAT=RESU,
TYPE_TEST='MAX',
VALE_CALC=194395274.29)))
FIN(identifier='27:1',
)
結果です。
先ずは変位から


曲がっている部分の変形が大きいことがわかります。変位の絶対値はとても小さいです。
次に応力です。要素のミーゼス応力です。


サンプルですが、無事に計算が終わるとほっとします。
コメント