
DEBUT();

#材料定数

kou=DEFI_MATERIAU(ELAS=_F(E=206e+3,
                          NU=0.3,),);

#kata=DEFI_MATERIAU(ELAS=_F(E=206e+7,
#                           NU=0.3,),);

#moku=DEFI_MATERIAU(ELAS=_F(E=7e+3, #木材
#                           NU=0.4,),);

gomu=DEFI_MATERIAU(ELAS=_F(E=1.0,
                           NU=0.49,),);

#読み込みメッシュ形式

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

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

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

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

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

#要素の設定

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

#材料定数と部材の対応

MATE=AFFE_MATERIAU(MAILLAGE=MAIL,
                   AFFE=(_F(GROUP_MA='koubou',
                            MATER=kou,),
                         _F(GROUP_MA='gomu2',
                            MATER=gomu,),
                         _F(GROUP_MA='mawasu',
                            MATER=kou,),
                         _F(GROUP_MA='kou',
                            MATER=kou,),
                         _F(GROUP_MA='gomu',
                            MATER=gomu,),),);


#マスター面とスレーブ面の選択

contact=DEFI_CONTACT(MODELE=MODE,
                     FORMULATION='DISCRETE',
                     FROTTEMENT='COULOMB',
                     ITER_GEOM_MAXI=100000,
                     ZONE=_F(GROUP_MA_MAIT='mmen',
                             GROUP_MA_ESCL='smen',
                             ALGO_CONT='PENALISATION',
                             E_N=206e+3,
                             COULOMB=0.3,
                             ALGO_FROT='PENALISATION',
                             E_T=206e+2,),);

#境界条件と荷重条件(抑えるだけ)	

osae=AFFE_CHAR_MECA(MODELE=MODE,
                    DDL_IMPO=(_F(GROUP_MA='kotei3',
                                 DX=0.0,
                                 DY=0.0,
                                 DZ=0.0,),
                              _F(GROUP_MA='saika',
                                 DX=0.0,
                                 DY=0.0,),
                              _F(GROUP_MA='smen',
                                 DX=0.0,
                                 DY=0.0,),
                              _F(GROUP_MA='Z',
                                 DZ=0.0,),
                              _F(GROUP_MA='tuku',
                                 DX=0.0,
                                 DY=0.0,
                                 DZ=0.0,),),
        
                    FORCE_FACE=_F(GROUP_MA='saika',
                                  FZ=-13.20396565,),);

#境界条件と荷重条件(ずらす)
#zurasi=AFFE_CHAR_MECA(MODELE=MODE,
#                      DDL_IMPO=_F(GROUP_MA='saika',
#					              DX=16.6666667,),); #100mm/min=100/60=1.67mm/s 

tikara1=AFFE_CHAR_MECA(MODELE=MODE,
                       PRES_REP=_F(GROUP_MA='press1',
                                   PRES=3.18181818,),);

tikara2=AFFE_CHAR_MECA(MODELE=MODE,
                       PRES_REP=_F(GROUP_MA='press2',
                                   PRES=3.18181818,),);

tikara3=AFFE_CHAR_MECA(MODELE=MODE,
                       PRES_REP=_F(GROUP_MA='press3',
                                   PRES=3.18181818,),);

tikara4=AFFE_CHAR_MECA(MODELE=MODE,
                       PRES_REP=_F(GROUP_MA='press5',
                                   PRES=3.18181818,),);

#時間と荷重の割合の関係

masatu=DEFI_FONCTION(
                     NOM_PARA='INST',
                     VALE=(0.0,0.0,
                           10.0,1.0,
                           ),);

#計算時間と間隔

kankaku=DEFI_LIST_REEL(DEBUT=0.0,
                       INTERVALLE=_F(JUSQU_A=10.0,
                                     NOMBRE=10,),);

#計算

resu=STAT_NON_LINE(MODELE=MODE,
                   CHAM_MATER=MATE,
                   EXCIT=(_F(CHARGE=osae,),
                          _F(CHARGE=tikara1,
                             FONC_MULT=masatu,),
                          _F(CHARGE=tikara2,
                             FONC_MULT=masatu,),
                          _F(CHARGE=tikara3,
                             FONC_MULT=masatu,),
                          _F(CHARGE=tikara4,
                             FONC_MULT=masatu,),),
                   CONTACT=contact,
                   COMP_INCR=_F(RELATION='VMIS_ISOT_TRAC',
                                DEFORMATION='SIMO_MIEHE',),
                   COMP_ELAS=_F(RELATION='ELAS',),
                   INCREMENT=_F(LIST_INST=kankaku,),
                   CONVERGENCE=_F(RESI_GLOB_RELA=0.01,
                                  ITER_GLOB_MAXI=100000,),);

#要素解の計算

resu=CALC_ELEM(reuse =resu,
               MODELE=MODE,
               CHAM_MATER=MATE,
               RESULTAT=resu,
               OPTION=('SIEF_ELNO','SIEQ_ELNO',),);

#節点解の計算

resu=CALC_NO(reuse =resu,
             RESULTAT=resu,
             OPTION=('SIGM_NOEU','SIEQ_NOEU',),);

#出力の設定

IMPR_RESU(FORMAT='MED',
          UNITE=80,
          RESU=_F(MAILLAGE=MAIL,
                  RESULTAT=resu,
                  NOM_CHAM=('SIGM_NOEU','SIEQ_NOEU','DEPL',),),);

FIN();
#CHECKSUM:0fb162ae97104f46eaed5eb8922e50e9  -:FIN CHECKSUM
