Dear Team,
I am solving a problem in hyper-elastic area with Mooney-Rivlin constants. When i am applying the torque of 1 kNm its working fine, but applying 10 kNm its going to be diverge. How to over come this problem.
Hello @duraisamy,
can you share a link to your project? With this little information it is impossible to tell what the problem might be.
Best,
Richard
Hi @rszoeke
DEBUT();
ST=LIRE_MAILLAGE(UNITE=20, FORMAT=âMEDâ,);
RT=LIRE_MAILLAGE(UNITE=21, FORMAT=âMEDâ,);
MS1=LIRE_MAILLAGE(UNITE=22, FORMAT=âMEDâ,);
MS2=LIRE_MAILLAGE(UNITE=23, FORMAT=âMEDâ,);
RB=LIRE_MAILLAGE(UNITE=24, FORMAT=âMEDâ,);
SB=LIRE_MAILLAGE(UNITE=25, FORMAT=âMEDâ,);
mesh1=ASSE_MAILLAGE(MAILLAGE_1=ST, MAILLAGE_2=RT, OPERATION=âSUPERPOSEâ,);
mesh2=ASSE_MAILLAGE(MAILLAGE_1=mesh1, MAILLAGE_2=MS1, OPERATION=âSUPERPOSEâ,);
mesh3=ASSE_MAILLAGE(MAILLAGE_1=mesh2, MAILLAGE_2=MS2, OPERATION=âSUPERPOSEâ,);
mesh4=ASSE_MAILLAGE(MAILLAGE_1=mesh3, MAILLAGE_2=RB, OPERATION=âSUPERPOSEâ,);
mesh5=ASSE_MAILLAGE(MAILLAGE_1=mesh4, MAILLAGE_2=SB, OPERATION=âSUPERPOSEâ,);
mesh=CREA_MAILLAGE(MAILLAGE=mesh5,
CREA_POI1=(_F(NOM_GROUP_MA=âloadâ,GROUP_NO=âloadâ,),),);
mesh=DEFI_GROUP(MAILLAGE=mesh,CREA_GROUP_NO=_F(TOUT_GROUP_MA=âOUIâ,),reuse=mesh,);
model=AFFE_MODELE(MAILLAGE=mesh, AFFE=(_F(TOUT=âOUIâ, PHENOMENE=âMECANIQUEâ, MODELISATION=â3Dâ,),
_F(GROUP_MA=âloadâ,PHENOMENE=âMECANIQUEâ,MODELISATION=âDIS_TRâ,),),);
CS=DEFI_MATERIAU(ELAS=_F(E=2e11, NU=0.3, RHO=7860,),);
C10 = 3.8E6;
C01 = -2.95E6;
C20 = 0.0;
NU = 0.499;
K = ((6 * (C10 + C01)) / (3 * (1 - (2 * NU))));
rubber=DEFI_MATERIAU(ELAS_HYPER=_F(C10=C10,
C01=C01,
C20=C20,
K=K,
RHO=1091.0,),);
U4.43.03
material=AFFE_MATERIAU(MAILLAGE=mesh, AFFE=(_F(GROUP_MA=(âsteel_top_Vâ,âmiddle_steel_1â,âmiddle_steel_2â,âsteel_bot_Vâ,), MATER=CS,),
_F(GROUP_MA=(âRubber_top_Vâ,âRubber_bot_Vâ,), MATER=rubber,),),);
fixed=AFFE_CHAR_MECA(MODELE=model, DDL_IMPO=_F(GROUP_MA=(âFix_1â,),DX=0,DY=0,DZ=0,),);
CARA=AFFE_CARA_ELEM(MODELE=model,
DISCRET=_F(CARA=âK_TR_D_Nâ,
GROUP_MA=âloadâ,
VALE=(0.1,0.1,0.1,0.1,0.1,0.1,),),);
U4.44.01
@Eff@#LoadList#pressure;Pressure;fix2;1e6;NA;NA;NA;NA;NA
f1=AFFE_CHAR_MECA(MODELE=model, FORCE_NODALE=_F(GROUP_NO=âloadâ, MY=31E3,),LIAISON_SOLIDE=_F(GROUP_NO=âtwisterâ,),),;
glue contacts
c1=AFFE_CHAR_MECA(MODELE=model, LIAISON_MAIL=(
_F(GROUP_MA_MAIT=âsteel_top_Vâ, GROUP_MA_ESCL=âRT_stâ, TYPE_RACCORD=âMASSIFâ,),),);
c2=AFFE_CHAR_MECA(MODELE=model, LIAISON_MAIL=(
_F(GROUP_MA_MAIT=âmiddle_steel_1â, GROUP_MA_ESCL=âRT_msâ, TYPE_RACCORD=âMASSIFâ,),),);
c3=AFFE_CHAR_MECA(MODELE=model, LIAISON_MAIL=(
_F(GROUP_MA_MAIT=âmiddle_steel_1â, GROUP_MA_ESCL=âmid_2â, TYPE_RACCORD=âMASSIFâ,),),);
c4=AFFE_CHAR_MECA(MODELE=model, LIAISON_MAIL=(
_F(GROUP_MA_MAIT=âmiddle_steel_2â, GROUP_MA_ESCL=âRB_msâ, TYPE_RACCORD=âMASSIFâ,),),);
c5=AFFE_CHAR_MECA(MODELE=model, LIAISON_MAIL=(
_F(GROUP_MA_MAIT=âsteel_bot_Vâ, GROUP_MA_ESCL=âRB_stâ, TYPE_RACCORD=âMASSIFâ,),),);
time steps
load1=DEFI_FONCTION(NOM_PARA=âINSTâ,VALE=(0,0,1,1,),);
step1=DEFI_LIST_REEL(DEBUT=0, INTERVALLE=_F(JUSQU_A=1.0, PAS=0.1,),);
step=DEFI_LIST_INST(DEFI_LIST=_F(METHODE=âAUTOâ, LIST_INST=step1,),);
RESU=STAT_NON_LINE(MODELE=model,
CARA_ELEM=CARA,
CHAM_MATER=material,
EXCIT=(_F(CHARGE=fixed,),
_F(CHARGE=f1,FONC_MULT=load1,),
_F(CHARGE=c1,),
_F(CHARGE=c2,),
_F(CHARGE=c3,),
_F(CHARGE=c4,),
_F(CHARGE=c5,),),
INCREMENT=_F(LIST_INST=step,),NEWTON=_F( REAC_INCR=1, MATRICE= âTANGENTEâ, REAC_ITER=1,),
CONVERGENCE=_F(ITER_GLOB_MAXI=500,RESI_GLOB_RELA=1e-05,),
COMPORTEMENT=(_F(GROUP_MA=(âRubber_top_Vâ,âRubber_bot_Vâ),RELATION=âELAS_HYPERâ,DEFORMATION=âGROT_GDEPâ,),
_F(GROUP_MA=(âsteel_top_Vâ,âmiddle_steel_1â,âmiddle_steel_2â,âsteel_bot_Vâ,),RELATION=âELASâ,DEFORMATION=âGROT_GDEPâ,),),
);
RESU=CALC_CHAMP(reuse=RESU,
RESULTAT=RESU,
CONTRAINTE=(âSIGM_ELNOâ,âSIGM_NOEUâ),
CRITERES=(âSIEQ_ELNOâ,âSIEQ_NOEUâ,),
DEFORMATION=(âEPSI_ELNOâ,âEPSI_NOEUâ,âEPSG_NOEUâ,),
FORCE=(âREAC_NODAâ,),);
IMPR_RESU(FORMAT=âMEDâ,
RESU=(_F(RESULTAT=RESU,
NOM_CHAM_MED=(âDisplacement (m)â, ),
INFO_MAILLAGE=âNONâ,
NOM_CMP=(âDXâ, âDYâ,âDZâ,),
IMPR_NOM_VARI=âNONâ,
NOM_CHAM=(âDEPLâ, ),),
_F(RESULTAT=RESU,
NOM_CHAM_MED=('Normal cauchy stress (Pa)', ),
INFO_MAILLAGE='NON',
NOM_CMP=('SIXX', 'SIYY','SIZZ', 'SIXY', 'SIXZ', 'SIYZ'),
IMPR_NOM_VARI='NON',
NOM_CHAM=('SIGM_NOEU', ),),
_F(RESULTAT=RESU,
NOM_CHAM_MED=('Nonlinear strain', ),
INFO_MAILLAGE='NON',
NOM_CMP=('EPXX', 'EPYY', 'EPZZ', 'EPXY', 'EPXZ', 'EPYZ'),
IMPR_NOM_VARI='NON',
NOM_CHAM=('EPSG_NOEU', ),),
_F(RESULTAT=RESU,
NOM_CHAM_MED=('von Mises stress (Pa)', ),
INFO_MAILLAGE='NON',
#NOM_CMP=('VMIS', ),
IMPR_NOM_VARI='NON',
NOM_CHAM=('SIEQ_NOEU', ),),
_F(RESULTAT=RESU,
NOM_CHAM_MED=('Reaction Force (N)', ),
INFO_MAILLAGE='NON',
#NOM_CMP=('VMIS', ),
IMPR_NOM_VARI='NON',
NOM_CHAM=('REAC_NODA', ),),
),
UNITE=80,
INFO=1,)
reac=POST_RELEVE_T(
ACTION=_F(
INTITULE=âREACTION_FORCEâ,
GROUP_NO=(âReâ,),
RESULTAT=RESU,
NOM_CHAM=âREAC_NODAâ,
RESULTANTE=(âDXâ,âDYâ,âDZâ,),
MOMENT=(âDRXâ,âDRYâ,âDRZâ,),
POINT=(0,0,0,),
OPERATION=âEXTRACTIONâ,
),
);
IMPR_TABLE (TABLE=reac,UNITE=8,)
FIN();
Hi @duraisamy,
you should share your project like this.
Click on Generate project link and share the link that you get with us. As I saw you already deleted the related simulation. Can you generate it again and share it with us please?
Thanks and cheers!
Jousef
@jousefm this project was not created with SimScale, it was directly done using Code_Aster locally.
@duraisamy, can you also share the meshes such that we can reproduce the run? I saw that you also posted directly into the Code_Aster forum, I guess thatâs also the more appropriate place, since SimScale users will have a hard time debugging your simulation that was done with a local simulation setup that is not reproducible on SimScale.
Nevertheless, if you can provide the meshes, I will try my best to help finding the problem.
Best,
Richard
@rszoeke
How to apply the torque ref the figure
https://www.simscale.com/workbench?publiclink=4437e86a-a28d-4676-8048-bc6fbe03f48b
Hi @duraisamy,
I think you have a scaling problem with your geometries, thatâs why the 2nd simulation does not work.
You have cylinders in the range of 200[m] and only apply 41[N] compressive load. You can use the scaling operation on the geometry to scale it down to the actual size.
Best,
Richard
Regarding your initial query,
I think the problem might be that the higher load generates a too high rotation angle and that the approach you are using (LIAISON_SOLIDE - or with SimScale it would be âundeformable remote forceâ) only allows small rotations.
In recent Code_Aster versions you can turn on support for large rotation by defining the LIAISON_SOLIDE as a follower load, this should improve the situation and at least allow a higher load until divergence.
Best,
Richard
Thank you
My cylinder object dimension is X=100 mm, Y=100 mm and Z = 600 mm.
Mooney rivlin constants are in Mpa
Ok, then everything should be fine,
but the load is then still in Newton for a consistent unit system.
So in case you wanted to apply 41 kN you have to define your load as 41 000 [N].
Best,
Richard
I am using 41e3 Nm only
Hello @duraisamy,
I think a few things got mixed up, so Iâll sum it up again with references:
-
In your command file that you posted here you are using SI units in the comm file, I canât judge about the mesh units.
-
In the project you shared in your next post, you are still unsing SI units for the simulation setup, but your geometry is obviously scaled to Millimeters.
-
In your 2nd shared project from the consecutive post I see now SI units for the material properties (besides the densitiy which is irrelevant here), but in your force load, you are using the formula ât*4â [N].
I would suggest you setting up the same case from the comm file with SimScale. You can use this example as a reference how to set up a torque. For the sake of simplicity I would propose to upload the geometry directly in SI units, this could prevent some confusion.
Best,
Richard