DEBUT(LANG='EN') tstep = 0.0001 v = LIRE_MAILLAGE(identifier='1:1', FORMAT='MED', UNITE=20) i = LIRE_MAILLAGE(identifier='2:1', FORMAT='MED', UNITE=3) s = LIRE_MAILLAGE(identifier='3:1', FORMAT='MED', UNITE=4) mesh3 = ASSE_MAILLAGE(identifier='4:1', MAILLAGE_1=v, MAILLAGE_2=i, OPERATION='SUPERPOSE') mesh = ASSE_MAILLAGE(identifier='5:1', MAILLAGE_1=mesh3, MAILLAGE_2=s, OPERATION='SUPERPOSE') mesh = MODI_MAILLAGE(identifier='6:1', reuse=mesh, MAILLAGE=mesh, ORIE_PEAU_3D=(_F(GROUP_MA=('sv', 'si', 'fix'), GROUP_MA_VOLU=('s', )), _F(GROUP_MA=('is', 'id'), GROUP_MA_VOLU=('i', )), _F(GROUP_MA=('vs', 'di', 'fv'), GROUP_MA_VOLU=('v', )))) IMPR_RESU(FORMAT='MED', UNITE=71, RESU=_F(MAILLAGE=mesh,),); model = AFFE_MODELE( AFFE=_F(MODELISATION=('3D', ),PHENOMENE='MECANIQUE',TOUT='OUI'), MAILLAGE=mesh, ); # modelX = AFFE_MODELE(identifier='8:1', # AFFE=_F(MODELISATION=('3D', ), # PHENOMENE='MECANIQUE', # TOUT='OUI'), # MAILLAGE=mesh) ys = DEFI_CONSTANTE(identifier='9:1', VALE=210000000000.0) ps = DEFI_CONSTANTE(identifier='10:1', VALE=0.3) ds = DEFI_CONSTANTE(identifier='11:1', VALE=7850.0) #why this type of material for this problem # m68 = DEFI_MATERIAU(identifier='12:1', # ECRO_LINE=_F(D_SIGM_EPSI=600000000.0, # SY=470000000.0), # ELAS_FO=_F(E=ys, # NU=ps, # RHO=ds)) steel=DEFI_MATERIAU(ELAS=_F(E=210000000,NU=0.3,RHO=7850,),); fieldmat = AFFE_MATERIAU( #AFFE=_F(MATER=(m68, ),TOUT='OUI'), AFFE=_F(MATER=steel,TOUT='OUI'), MODELE=model, ); listr = DEFI_LIST_REEL(identifier='14:1', DEBUT=0.0, INTERVALLE=_F(JUSQU_A=0.001, PAS=tstep)) times = DEFI_LIST_INST( DEFI_LIST=_F( LIST_INST=listr, #PAS_MINI=1e-11,#this value is ridiculously low PAS_MINI=1e-7, ), METHODE='AUTO', ); load = AFFE_CHAR_MECA(identifier='16:1', DDL_IMPO=_F(GROUP_NO=('fix', ), LIAISON='ENCASTRE'), #MODELE=modelX, MODELE=model, ); contact = DEFI_CONTACT(identifier='17:1', FORMULATION='DISCRETE', FROTTEMENT='COULOMB', LISSAGE='OUI', #MODELE=modelX, MODELE=model, REAC_GEOM='SANS', ZONE=(_F(ALGO_CONT='PENALISATION', COULOMB=0.2, E_N=20000000.0, E_T=5000.0, GROUP_MA_ESCL=('vs', ), GROUP_MA_MAIT=('sv', )), _F(ALGO_CONT='PENALISATION', COULOMB=0.2, E_N=20000000.0, E_T=5000.0, GROUP_MA_ESCL=('si', ), GROUP_MA_MAIT=('is', )), _F(ALGO_CONT='PENALISATION', COULOMB=0.2, E_N=20000000.0, E_T=5000.0, GROUP_MA_ESCL=('id', ), GROUP_MA_MAIT=('di', )), _F(ALGO_CONT='PENALISATION', COULOMB=0.2, E_N=20000000.0, E_T=5000.0, GROUP_MA_ESCL=('sv', ), GROUP_MA_MAIT=('fv', )), _F(ALGO_CONT='PENALISATION', COULOMB=0.2, E_N=20000000.0, E_T=5000.0, GROUP_MA_ESCL=('is', ), GROUP_MA_MAIT=('fv', )))) pre_v_d = CREA_CHAMP(identifier='18:1', AFFE=_F(GROUP_MA=('v', ), NOM_CMP=('SIZZ', ), VALE=(-314565840.0, )), MODELE=model, OPERATION='AFFE', PROL_ZERO='OUI', TYPE_CHAM='ELGA_SIEF_R') # pro = PROJ_CHAMP(identifier='19:1', # CHAM_GD=pre_v_d, # MODELE_1=model, # MODELE_2=modelX) loadX = AFFE_CHAR_MECA( #MODELE=modelX,PRE_SIGM=_F(SIGM=pro), MODELE=model,PRE_SIGM=_F(SIGM=pre_v_d,), ); lx_m=DEFI_FONCTION( NOM_PARA='INST', VALE=(0,0, 0.0005,1.0, 0.001,1.0,), PROL_GAUCHE='CONSTANT',PROL_DROITE='CONSTANT', ); #we add another load to demonstrate that it is possible lz=1000.0*1000*10 loadZ = AFFE_CHAR_MECA( MODELE=model, FORCE_FACE=_F(GROUP_MA='id',FZ=-lz,FX=lz/10,), ); lz_m=DEFI_FONCTION( NOM_PARA='INST', VALE=(0,0, 0.0005,0.0, 0.001,1.0,), PROL_GAUCHE='CONSTANT',PROL_DROITE='CONSTANT', ); resnonl = DYNA_NON_LINE( #resnonl = STAT_NON_LINE( #a STAT_NON_LINE with soft springs would hanle the problem much better #ARCHIVAGE=_F(CHAM_EXCLU=('VITE', 'ACCE'),LIST_INST=listr),#meaningless with STAT_NON_LINE CHAM_MATER=fieldmat, COMPORTEMENT=_F( RELATION='ELAS',DEFORMATION='PETIT', #DEFORMATION='SIMO_MIEHE',RELATION='VMIS_ISOT_LINE',#what is this supposed to mean? ), CONTACT=contact, CONVERGENCE=_F( RESI_GLOB_RELA=1e-4, ITER_GLOB_MAXI=30, ), EXCIT=( _F(CHARGE=load), _F(CHARGE=loadX,TYPE_CHARGE='FIXE_CSTE',FONC_MULT=lx_m,), _F(CHARGE=loadZ,TYPE_CHARGE='FIXE_CSTE',FONC_MULT=lz_m,), ), INCREMENT=_F(LIST_INST=times), #MODELE=modelX, MODELE=model, NEWTON=_F(MATRICE='TANGENTE',PREDICTION='TANGENTE'), SCHEMA_TEMPS=_F(FORMULATION='DEPLACEMENT',SCHEMA='HHT'),#meaningless with STAT_NON_LINE SOLVEUR=_F(METHODE='MUMPS'), ); resnonl = CALC_CHAMP( RESULTAT=resnonl,reuse=resnonl, CONTRAINTE=( #'SIGM_ELGA', 'SIGM_ELNO', #'SIGM_NOEU', ), CRITERES=( #'SIEQ_ELGA', 'SIEQ_ELNO', 'SIEQ_NOEU', ), FORCE=( #'FORC_NODA', 'REAC_NODA', ), ); # IMPR_RESU(identifier='23:1', # FORMAT='MED', # RESU=_F(RESULTAT=resnonl), # UNITE=2) sum_reac=POST_RELEVE_T( ACTION=_F( INTITULE='sum reactions', GROUP_NO=('fix'), RESULTAT=resnonl, NOM_CHAM='REAC_NODA', TOUT_ORDRE='OUI', RESULTANTE=('DX','DY','DZ',), MOMENT=('DRX','DRY','DRZ',), POINT=(0,0,0,), OPERATION='EXTRACTION', ), ); IMPR_TABLE (TABLE=sum_reac,FORMAT_R='1PE12.3',) IMPR_RESU( FORMAT='MED', UNITE=2, RESU=( _F(RESULTAT=resnonl,NOM_CHAM='DEPL',), _F( RESULTAT=resnonl, NOM_CHAM='SIEQ_NOEU',NOM_CMP='VMIS', NOM_CHAM_MED='vmis', ), ), ); FIN()