forma03cをためしてみました

sponsored

forma03aから。今度は材料が降伏するところをさぐっていました。

# DISCRETISATION EN TEMPS
DEBUT(identifier='1:1',
CODE=_F(NIV_PUB_WEB='INTERNET'),
DEBUG=_F(SDVERI='OUI'))

TFIN = 243.0

# ########################################################################
#
# DEUXIEME CALCUL : CALCUL AVEC PILOTAGE
#
# #######################################################################
# DISCRETISATION EN TEMPS
TFINPI = 6.0


# LECTURE DU MAILLAGE
MAIL = LIRE_MAILLAGE(identifier='7:1',
FORMAT='MED',
UNITE=20)

MAIL = MODI_MAILLAGE(identifier='8:1',
reuse=MAIL,
MAILLAGE=MAIL,
ORIE_PEAU=_F(GROUP_MA_PEAU='haut'))

# AFFECTATION DU MODELE (CONTRAINTES PLANES)
MODE = AFFE_MODELE(identifier='10:1',
AFFE=_F(MODELISATION='C_PLAN',
PHENOMENE='MECANIQUE',
TOUT='OUI'),
MAILLAGE=MAIL)

# DEFINITION DU MATERIAU
# COURBE DE TRACTION
CTRAC = LIRE_FONCTION(identifier='13:1',
NOM_PARA='EPSI',
PROL_DROITE='CONSTANT',
UNITE=21)

ACIER = DEFI_MATERIAU(identifier='14:1',
ELAS=_F(E=200000.0,
NU=0.3),
TRACTION=_F(SIGM=CTRAC))

CHMATE = AFFE_MATERIAU(identifier='15:1',
AFFE=_F(MATER=ACIER,
TOUT='OUI'),
MAILLAGE=MAIL)

# RAMPE APPLICATION CHARGEMENT
RAMPE = DEFI_FONCTION(identifier='17:1',
NOM_PARA='INST',
VALE=(0.0, 0.0, 1000.0, 1000.0))

# #######################################################################
#
# PREMIER CALCUL : RECHERCHE MANUELLE DE LA CHARGE LIMITE
#
# #######################################################################
L_INST = DEFI_LIST_REEL(identifier='19:1',
DEBUT=0.0,
INTERVALLE=_F(JUSQU_A=TFIN,
NOMBRE=10))

DEFLIST = DEFI_LIST_INST(identifier='20:1',
DEFI_LIST=_F(LIST_INST=L_INST),
ECHEC=_F(ACTION='DECOUPE',
EVENEMENT='ERREUR'))

# #######################################################################
#
# PREMIER CALCUL : RECHERCHE MANUELLE DE LA CHARGE LIMITE
#
# EXEMPLE DE GESTION DE LA LISTE AUTOMATIQUE
#
# #######################################################################
# EN GESTION AUTOMATIQUE, ON IMPOSE SEULEMENT LE 1ER PAS DE TEMPS
DEFAUTO = DEFI_LIST_INST(identifier='22:1',
DEFI_LIST=_F(PAS_MAXI=100.0,
PAS_MINI=1e-06,
VALE=(0.0, 50.0, TFIN)),
METHODE='AUTO')

L_INST2 = DEFI_LIST_REEL(identifier='23:1',
DEBUT=0.0,
INTERVALLE=_F(JUSQU_A=TFINPI,
NOMBRE=10))

DEFLIST2 = DEFI_LIST_INST(identifier='24:1',
DEFI_LIST=_F(LIST_INST=L_INST2),
ECHEC=_F(ACTION='DECOUPE',
EVENEMENT='ERREUR'))

# CONDITIONS DE SYMETRIE (QUART DE PLAQUE)
CHSYME = AFFE_CHAR_CINE(identifier='26:1',
MECA_IMPO=(_F(DY=0.0,
GROUP_MA='bas'),
_F(DX=0.0,
GROUP_MA='gauche')),
MODELE=MODE)

# CHARGEMENT EN FORCE
CHFORC = AFFE_CHAR_MECA(identifier='28:1',
FORCE_CONTOUR=_F(FY=1.0,
GROUP_MA='haut'),
MODELE=MODE)

# CALCUL
RESUNL = STAT_NON_LINE(identifier='30:1',
CHAM_MATER=CHMATE,
COMPORTEMENT=_F(RELATION='VMIS_ISOT_TRAC'),
EXCIT=(_F(CHARGE=CHSYME),
_F(CHARGE=CHFORC,
FONC_MULT=RAMPE)),
INCREMENT=_F(INST_FIN=TFIN,
LIST_INST=DEFLIST),
MODELE=MODE,
NEWTON=_F(REAC_ITER=1))

# CALCUL
RESUAU = STAT_NON_LINE(identifier='32:1',
CHAM_MATER=CHMATE,
COMPORTEMENT=_F(RELATION='VMIS_ISOT_TRAC'),
EXCIT=(_F(CHARGE=CHSYME),
_F(CHARGE=CHFORC,
FONC_MULT=RAMPE)),
INCREMENT=_F(INST_FIN=TFIN,
LIST_INST=DEFAUTO),
MODELE=MODE,
NEWTON=_F(REAC_ITER=1))

# CALCUL
RESUPI = STAT_NON_LINE(identifier='34:1',
CHAM_MATER=CHMATE,
COMPORTEMENT=_F(RELATION='VMIS_ISOT_TRAC'),
EXCIT=(_F(CHARGE=CHSYME),
_F(CHARGE=CHFORC,
TYPE_CHARGE='FIXE_PILO')),
INCREMENT=_F(INST_FIN=TFINPI,
LIST_INST=DEFLIST2),
MODELE=MODE,
NEWTON=_F(REAC_ITER=1),
PILOTAGE=_F(COEF_MULT=1.0,
GROUP_NO='G',
NOM_CMP='DY',
TYPE='DDL_IMPO'))

# #######################################################################
#
# POST-TRAITEMENTS STANDARDS
#
# #######################################################################
# INTERPOLATION DES CONTRAINTES AUX NOEUDS
RESUNL = CALC_CHAMP(identifier='36:1',
reuse=RESUNL,
CONTRAINTE='SIGM_ELNO',
RESULTAT=RESUNL)

RESUNL = CALC_CHAMP(identifier='37:1',
reuse=RESUNL,
CONTRAINTE='SIGM_NOEU',
RESULTAT=RESUNL)

# INTERPOLATION DES VARIABLES INTERNES AUX NOEUDS
RESUNL = CALC_CHAMP(identifier='39:1',
reuse=RESUNL,
RESULTAT=RESUNL,
VARI_INTERNE='VARI_ELNO')

RESUNL = CALC_CHAMP(identifier='40:1',
reuse=RESUNL,
RESULTAT=RESUNL,
VARI_INTERNE='VARI_NOEU')

# #######################################################################
#
# POST-TRAITEMENTS STANDARDS
#
# #######################################################################
# INTERPOLATION DES CONTRAINTES AUX NOEUDS
RESUPI = CALC_CHAMP(identifier='42:1',
reuse=RESUPI,
CONTRAINTE='SIGM_ELNO',
RESULTAT=RESUPI)

RESUPI = CALC_CHAMP(identifier='43:1',
reuse=RESUPI,
CONTRAINTE='SIGM_NOEU',
RESULTAT=RESUPI)

# INTERPOLATION DES VARIABLES INTERNES AUX NOEUDS
RESUPI = CALC_CHAMP(identifier='45:1',
reuse=RESUPI,
RESULTAT=RESUPI,
VARI_INTERNE='VARI_ELNO')

RESUPI = CALC_CHAMP(identifier='46:1',
reuse=RESUPI,
RESULTAT=RESUPI,
VARI_INTERNE='VARI_NOEU')

IMPR_FONCTION(identifier='47:1',
COURBE=_F(FONCTION=CTRAC),
FORMAT='XMGRACE',
LEGENDE_X='Deformation',
LEGENDE_Y='Contrainte (MPa)',
TITRE='Courbe de traction',
UNITE=2)

# #######################################################################
#
# IMPRESSION DES RESULTATS
#
# #######################################################################
IMPR_RESU(identifier='49:1',
FORMAT='MED',
RESU=_F(RESULTAT=RESUNL),
UNITE=3)

# #######################################################################
#
# COURBE FORCE APPLIQUEE EN FONCTION DU TEMPS (ETA_PILOTAGE)
#
# #######################################################################
ETA_PILO = RECU_FONCTION(identifier='51:1',
NOM_PARA_RESU='ETA_PILOTAGE',
RESULTAT=RESUPI)

IMPR_FONCTION(identifier='52:1',
COURBE=_F(FONCTION=ETA_PILO),
FORMAT='TABLEAU',
UNITE=4)

IMPR_FONCTION(identifier='53:1',
COURBE=_F(FONCTION=ETA_PILO),
FORMAT='XMGRACE',
LEGENDE_X='Temps',
LEGENDE_Y='ETA_PILOTAGE',
TITRE=' Fy(ETA_PILOTAGE) fonction du temps',
UNITE=29)

# #######################################################################
#
# IMPRESSION DES RESULTATS
#
# #######################################################################
IMPR_RESU(identifier='55:1',
FORMAT='MED',
RESU=_F(RESULTAT=RESUPI),
UNITE=5)

# TESTS - CALCUL SANS PILOTAGE
TEST_RESU(identifier='57:1',
RESU=_F(GROUP_NO='G',
INST=243.0,
NOM_CHAM='SIGM_NOEU',
NOM_CMP='SIYY',
RESULTAT=RESUNL,
VALE_CALC=243.058194461))

TEST_RESU(identifier='58:1',
RESU=_F(GROUP_NO='G',
INST=243.0,
NOM_CHAM='SIGM_NOEU',
NOM_CMP='SIYY',
PRECISION=0.0003,
REFERENCE='ANALYTIQUE',
RESULTAT=RESUNL,
VALE_CALC=243.058194461,
VALE_REFE=243.0))

# TESTS - CALCUL AVEC PILOTAGE
TEST_RESU(identifier='60:1',
RESU=_F(GROUP_NO='G',
INST=6.0,
NOM_CHAM='SIGM_NOEU',
NOM_CMP='SIYY',
PRECISION=0.003,
REFERENCE='ANALYTIQUE',
RESULTAT=RESUPI,
VALE_CALC=243.289510614,
VALE_REFE=243.0))

TEST_RESU(identifier='61:1',
RESU=_F(GROUP_NO='G',
INST=6.0,
NOM_CHAM='SIGM_NOEU',
NOM_CMP='SIYY',
PRECISION=0.003,
REFERENCE='AUTRE_ASTER',
RESULTAT=RESUPI,
VALE_CALC=243.289510614,
VALE_REFE=243.058194461))

TEST_RESU(identifier='62:1',
RESU=_F(GROUP_NO='G',
INST=6.0,
NOM_CHAM='SIGM_NOEU',
NOM_CMP='SIYY',
RESULTAT=RESUPI,
VALE_CALC=243.289510614))

TEST_FONCTION(identifier='63:1',
VALEUR=_F(FONCTION=ETA_PILO,
PRECISION=0.003,
REFERENCE='ANALYTIQUE',
VALE_CALC=243.2274781927,
VALE_PARA=6.0,
VALE_REFE=243.0))

TEST_FONCTION(identifier='64:1',
VALEUR=_F(FONCTION=ETA_PILO,
VALE_CALC=243.2274781927,
VALE_PARA=6.0))

FIN(identifier='65:1',
)

解析結果です。変位の大きさのコンターです。

PILOTAGEの履歴です。0から6までじゅんぐりに表示されています。messageをみると、最終の計算の前でPILOTAGEの値が増減していたのですが?

コメント

タイトルとURLをコピーしました