
DEBUT();

elast=DEFI_FONCTION(
                    NOM_PARA='EPSI',
                    NOM_RESU='SIGM',
                    VALE=(0.001,1,
                          0.1,1.99,
                          1,10.99,
                          2,20.99,
                          ),);

MA=DEFI_MATERIAU(ELAS=_F(E=200e9,
                         NU=0.3,),
                 TRACTION=_F(SIGM=elast,),
                 ECRO_LINE=_F(D_SIGM_EPSI=3.283e+9,
                              SY=155.8,),);

MAIL=LIRE_MAILLAGE(FORMAT='MED',);

MAIL=MODI_MAILLAGE(reuse =MAIL,
                   MAILLAGE=MAIL,
                   ORIE_PEAU_3D=_F(GROUP_MA='load',),);

MODE=AFFE_MODELE(MAILLAGE=MAIL,
                 AFFE=_F(TOUT='OUI',
                         PHENOMENE='MECANIQUE',
                         MODELISATION='3D',),);

MATE=AFFE_MATERIAU(MAILLAGE=MAIL,
                   AFFE=_F(TOUT='OUI',
                           MATER=MA,),);

CHAR=AFFE_CHAR_MECA(MODELE=MODE,
                    DDL_IMPO=_F(GROUP_MA='fix',
                                DX=0.0,
                                DY=0.0,
                                DZ=0.0,),);

loadP=AFFE_CHAR_MECA(MODELE=MODE,
                     FORCE_FACE=_F(GROUP_MA='load',
                                   FZ=2000,),);

ramp=DEFI_FONCTION(
                   NOM_PARA='INST',
                   VALE=(0.0,0.0,
                         0.5,1.0,
                         1,0,
                         ),);

inst=DEFI_LIST_REEL(DEBUT=0.0,
                    INTERVALLE=_F(JUSQU_A=1,
                                  NOMBRE=100,),);

inst2=DEFI_LIST_INST(DEFI_LIST=_F(METHODE='AUTO',
                                  LIST_INST=inst,
                                  PAS_MINI=1e-5,
                                  PAS_MAXI=0.5,
                                  NB_PAS_MAXI=1000000,),
                     ECHEC=_F(EVENEMENT='ERREUR',
                              SUBD_PAS=4,
                              SUBD_PAS_MINI=1e-5,
                              SUBD_METHODE='UNIFORME',),
                     ADAPTATION=_F(EVENEMENT='SEUIL',
                                   NB_INCR_SEUIL=2,
                                   NOM_PARA='NB_ITER_NEWTON',
                                   CRIT_COMP='LE',
                                   VALE_I=5,
                                   PCENT_AUGM=100,),);

RESU=STAT_NON_LINE(MODELE=MODE,
                   CHAM_MATER=MATE,
                   EXCIT=(_F(CHARGE=CHAR,),
                          _F(CHARGE=loadP,
                             FONC_MULT=ramp,),),
                   COMP_INCR=_F(RELATION='VMIS_ISOT_LINE',
                                DEFORMATION='PETIT',
                                TOUT='OUI',),
                   INCREMENT=_F(LIST_INST=inst,),
                   METHODE='NEWTON',
                   NEWTON=_F(REAC_ITER=1,),
                   CONVERGENCE=_F(RESI_GLOB_RELA=1e-6,
                                  ITER_GLOB_MAXI=10,),
                   ARCHIVAGE=_F(LIST_INST=inst,
                                CHAM_EXCLU='VARI_ELGA',),);

RESU=CALC_ELEM(reuse =RESU,
               MODELE=MODE,
               CHAM_MATER=MATE,
               RESULTAT=RESU,
               OPTION=('SIEF_ELNO','EPSI_ELNO','SIEQ_ELNO','EPSG_ELNO','EPEQ_ELNO',),);

RESU=CALC_NO(reuse =RESU,
             RESULTAT=RESU,
             OPTION=('SIEQ_NOEU','EPSI_NOEU','SIEF_NOEU','EPEQ_NOEU','FORC_NODA','REAC_NODA','EPSG_NOEU',),
             MODELE=MODE,
             CHAM_MATER=MATE,);

reac1=POST_RELEVE_T(ACTION=_F(OPERATION='EXTRACTION',
                              INTITULE='DEPL',
                              RESULTAT=RESU,
                              NOM_CHAM='DEPL',
                              GROUP_NO='load',
                              RESULTANTE='DX',),);

IMPR_TABLE(TABLE=reac1,);

#IMPR_RESU(FORMAT='MED',
#          UNITE=80,
#          RESU=(_F(MAILLAGE=MAIL,
#                   RESULTAT=RESU,
#                   NOM_CHAM=('SIGM_NOEU','SIEQ_NOEU','DEPL',),
#                   NOM_CMP=('DX','DY','DZ',),),
#                _F(MAILLAGE=MAIL,
#                   RESULTAT=RESU,
#                   NOM_CHAM=('SIEQ_NOEU','SIEF_NOEU',),),
#                _F(MAILLAGE=MAIL,
#                   RESULTAT=RESU,
#                   NOM_CHAM='EPSG_NOEU',),),);

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

FIN();
#CHECKSUM:61424f141bae0d3fa5d6d9ea6cf92ddc  -:FIN CHECKSUM
