Welcome to the forums. Please post in English or French.

You are not logged in.

#1 2019-02-21 12:38:25

nirmaljoshi
Member
From: Japan
Registered: 2018-10-12
Posts: 152

how to stop computation after reaching maximum stress in steel

DEBUT(LANG='EN')

mesh = LIRE_MAILLAGE(FORMAT='MED',
                     UNITE=3)

model = AFFE_MODELE(AFFE=_F(MODELISATION=('D_PLAN', ),
                            PHENOMENE='MECANIQUE',
                            TOUT='OUI'),
                    MAILLAGE=mesh)

steel = DEFI_MATERIAU(ECRO_LINE=_F(D_SIGM_EPSI=20000000000.0,
                                   SIGM_LIM=515000000.0,
                                   SY=400000000.0),
                      ELAS=_F(E=2e+11,
                              NU=0.3,
                              RHO=7850.0))



fieldmat = AFFE_MATERIAU(AFFE=_F(MATER=(steel, ),
                                 TOUT='OUI'),
                         MAILLAGE=mesh,
                         MODELE=model)

fload = DEFI_FONCTION(INTERPOL=('LIN', ),
                      NOM_PARA='INST',
                      PROL_DROITE='LINEAIRE',
                      PROL_GAUCHE='LINEAIRE',
                      VALE=(0.0, 0.0, 80.0, 80.0, 100.0, 0.0))

listr = DEFI_LIST_REEL(DEBUT=0.0,
                       INTERVALLE=_F(JUSQU_A=100.0,
                                     NOMBRE=20))

support = AFFE_CHAR_MECA(DDL_IMPO=_F(GROUP_MA=('group_supportEdge', ),
                                     LIAISON='ENCASTRE'),
                         MODELE=model)

load1 = AFFE_CHAR_MECA(DDL_IMPO=_F(DY=5e-05,
                                   GROUP_MA=('group_loadingEdge', )),
                       MODELE=model)

resnonl = STAT_NON_LINE(CHAM_MATER=fieldmat,
                        COMPORTEMENT=_F(RELATION='VMIS_CINE_LINE',
                                        TOUT='OUI'),
                        CONVERGENCE=_F(RESI_GLOB_MAXI=0.0001),
                        EXCIT=(_F(CHARGE=support),
                               _F(CHARGE=load1,
                                  FONC_MULT=fload)),
                        INCREMENT=_F(LIST_INST=listr),
                        METHODE='NEWTON',
                        MODELE=model,
                        NEWTON=_F(MATRICE='TANGENTE',
                                  REAC_ITER=1),
                        SOLVEUR=_F(METHODE='MULT_FRONT'))

rxn = CALC_CHAMP(CONTRAINTE=('SIGM_ELNO', ),
                 DEFORMATION=('EPSP_ELNO', ),
                 FORCE=('REAC_NODA', ),
                 RESULTAT=resnonl)

table = POST_RELEVE_T(ACTION=(_F(GROUP_NO=('group_loadingNodes', ),
                                 INTITULE='eqvalentreaction',
                                 NOM_CHAM='REAC_NODA',
                                 OPERATION=('EXTRACTION', ),
                                 RESULTANTE=('DY', ),
                                 RESULTAT=rxn),
                              _F(GROUP_NO=('group_obsNode', ),
                                 INTITULE='stress',
                                 NOM_CHAM='SIGM_ELNO',
                                 NOM_CMP=('SIYY', ),
                                 OPERATION=('EXTRACTION', ),
                                 RESULTAT=rxn)))

IMPR_RESU(FORMAT='MED',
          RESU=_F(RESULTAT=resnonl),
          UNITE=80)

IMPR_TABLE(FORMAT='TABLEAU',
           FORMAT_R='f10.2',
           SEPARATEUR=' ,',
           TABLE=table,
           UNITE=4)

FIN()

Hi,
In a steel bar with strain hardening, I provided the required properties (see steel = DEFI_MATERIAU.. above). The program calculates accurately but it does not stop even after reaching SIGM_LIM=515000000.0.

How can i ask the solver to stop after reaching the stress value? My initial guess is, since STAT_NON_LINE do not compute the stress directly, hence we may need to compute stress (say SIGM_ELGA) in each time step and compare it. But this is only my guess and I do not know how to do it either.

Can anyone please clarify how this can be done?

Last edited by nirmaljoshi (2019-02-21 12:39:15)

Offline

#2 2019-02-21 19:04:31

mecour
Member
From: Ostrava (Czech)
Registered: 2011-04-04
Posts: 143

Re: how to stop computation after reaching maximum stress in steel

Hello,

interesting question. In some commertional software it is possible to solve it with point monitor...
I think that the your problem can be solved with RESI_REFE_RELA option in STAT_NON_LINE. Check the test case SSNP307 where this option is used.

mecour

Offline