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