- Forum
- Public Forums
- Finite Element Modelling - Code_Aster
- Convergence problem with Large Displacement
Convergence problem with Large Displacement
- alessandro
- Topic Author
- Offline
- New Member
Less
More
- Posts: 10
- Thank you received: 0
8 years 11 months ago - 8 years 11 months ago #8057
by alessandro
Convergence problem with Large Displacement was created by alessandro
Hi, I am computing the deformation of a cylinder under internal pressure.
The code give me the correct result if the internal pressure is 10^5 but if I increase the pressure to 10^7 the simulation does not converge anymore.
Could someone give me some advices?
MED and COMM attached.
Thanks a lot in advance,
Alessandro
cylinder.zip
The code give me the correct result if the internal pressure is 10^5 but if I increase the pressure to 10^7 the simulation does not converge anymore.
Could someone give me some advices?
MED and COMM attached.
Thanks a lot in advance,
Alessandro
cylinder.zip
Last edit: 8 years 11 months ago by alessandro.
Please Log in or Create an account to join the conversation.
- alessandro
- Topic Author
- Offline
- New Member
Less
More
- Posts: 10
- Thank you received: 0
8 years 11 months ago - 8 years 11 months ago #8058
by alessandro
Replied by alessandro on topic Re: Convergence problem with Large Displacement
Sorry, I cannot upload the files.
This is the comm file
And the med file can be generated with gmsh from this geo file using 2D linear meshing
This is the comm file
DEBUT();
#----------------------------------------------------
#parameters R = 1; L=10;
th=0.01;
E=1.e10;
nu=0.3;
P_a=-2e7;
P_b=0.;
presss=P_a-P_b;
tsteps = 100;
#----------------------------------------------------
# (1) Reading of the mesh
#----------------------------------------------------
meshI=LIRE_MAILLAGE(UNITE=20,FORMAT='MED',INFO_MED=1,);
Qmesh=CREA_MAILLAGE(MAILLAGE=meshI,LINE_QUAD=_F(TOUT='OUI',PREF_NOEUD='NNS'),);
mesh=CREA_MAILLAGE(MAILLAGE=Qmesh,
MODI_MAILLE=(
_F(TOUT='OUI',OPTION='QUAD8_9',),
#_F(TOUT='OUI',OPTION='TRIA6_7',),
),
);
mesh=DEFI_GROUP (
reuse =mesh,
MAILLAGE=mesh ,
CREA_GROUP_MA=_F ( NOM='TOUT' , TOUT='OUI' , ) ,
CREA_GROUP_NO=_F(TOUT_GROUP_MA='OUI' ,) ,
);
mesh=MODI_MAILLAGE (
reuse =mesh ,
MAILLAGE=mesh ,
ORIE_NORM_COQUE=(_F (GROUP_MA=('skin',),),),
);
#----------------------------------------------------
# (2) Model definition and volume elements
#----------------------------------------------------
ModelI=AFFE_MODELE(MAILLAGE=meshI,
AFFE=_F(TOUT='OUI',
PHENOMENE='MECANIQUE',
MODELISATION='3D',),);
Model=AFFE_MODELE(
MAILLAGE=mesh,
AFFE=_F(
TOUT='OUI',
PHENOMENE='MECANIQUE',
MODELISATION='COQUE_3D',
),
);
#----------------------------------------------------
# (3) Allocation of the mesh model
#----------------------------------------------------
CARA=AFFE_CARA_ELEM(MODELE=Model,
COQUE=_F(GROUP_MA='skin',
EPAIS=th, #thickness of the shell
COQUE_NCOU=1, #number of nodes on the thickness
),
);
#----------------------------------------------------
# (4) Definition of material properties
#----------------------------------------------------
#Linear elastic material
Alu=DEFI_MATERIAU(ELAS=_F(E=E,NU=nu,),);
#----------------------------------------------------
# (5) Allocation of the mesh material
#----------------------------------------------------
Mat=AFFE_MATERIAU(MAILLAGE=mesh,AFFE=_F(TOUT='OUI',MATER=Alu,),);
#----------------------------------------------------
# (6) Definition of boundary conditions (CL) and loads
#----------------------------------------------------
fixZeq=AFFE_CHAR_MECA (MODELE=Model ,
DDL_IMPO =(
_F( GROUP_MA='equator',DY=0.0, ),
_F( GROUP_MA='longi',DX=0.0, ),
_F( GROUP_MA='ortho',DZ=0.0, ),
)
);
appP=AFFE_CHAR_MECA (MODELE=Model ,FORCE_COQUE =_F(GROUP_MA='skin',PRES=presss, ) ,);
#----------------------------------------------------
# (7) Resolution
#----------------------------------------------------
ramp=DEFI_FONCTION(
NOM_PARA='INST',
VALE=(0,0,
1,1,
),
INTERPOL='LIN',
PROL_DROITE='LINEAIRE',);
list_rel=DEFI_LIST_REEL(DEBUT=0,
INTERVALLE=(
_F(JUSQU_A=1,NOMBRE=10,),
),
);
list_ins=DEFI_LIST_INST(DEFI_LIST=_F(METHODE='AUTO',
LIST_INST=list_rel,
PAS_MINI=1e-4,),);
result=STAT_NON_LINE(MODELE=Model ,
CHAM_MATER=Mat,
CARA_ELEM=CARA,
EXCIT=(
_F(CHARGE=fixZeq,) ,
_F( CHARGE=appP,
TYPE_CHARGE='SUIV' ,
FONC_MULT=ramp , ),
),
COMP_ELAS=_F (
RELATION='ELAS' ,
DEFORMATION='GROT_GDEP' ,
GROUP_MA = ( 'skin' , ) ,
),
INCREMENT=_F(LIST_INST=list_ins,),
#INCREMENT=_F(LIST_INST=list_rel,),
NEWTON=_F(PREDICTION='ELASTIQUE',
MATRICE='TANGENTE',
REAC_INCR=1,
#PAS_MINI_ELAS=1e-4,
REAC_ITER=1,),
CONVERGENCE=_F (RESI_GLOB_RELA=1e-4,ITER_GLOB_MAXI=30,),
SOLVEUR=_F(METHODE='MUMPS',
PCENT_PIVOT=70,
MATR_DISTRIBUEE='OUI',),
ARCHIVAGE=_F(LIST_INST=list_rel,),
INFO=1,
);
#----------------------------------------------------
# (8) Printing
#----------------------------------------------------
Tdisp=POST_RELEVE_T(
ACTION=(_F (
GROUP_NO='top' ,
INTITULE='displ_top' ,
RESULTAT=result,
NOM_CHAM='DEPL' ,
NOM_CMP=('DX' , 'DY' , 'DZ' , ) ,
TOUT_ORDRE='OUI' , #all time steps
OPERATION='EXTRACTION' ,
),
),
TITRE='displacement' ,
);
IMPR_TABLE ( TABLE=Tdisp , );
D=RECU_FONCTION(TABLE=Tdisp,
PARA_X='INST',
PARA_Y='DY',
);
IMPR_FONCTION(
FORMAT='TABLEAU',
UNITE=81,
COURBE=_F(FONC_X=D,FONC_Y=D,),
COMMENTAIRE = '%',
COMM_PARA = '%',
);
resultI=PROJ_CHAMP(RESULTAT=result,
MODELE_1=Model, # project fields of this model to
MODELE_2=ModelI,); # field of model_2
IMPR_RESU(FORMAT='MED',UNITE=80,RESU=_F(MAILLAGE=meshI,RESULTAT=resultI,NOM_CHAM=('DEPL'),),);
L_prof=POST_RELEVE_T(
ACTION=(_F (
GROUP_NO='longi' ,
INTITULE='displ_top' ,
RESULTAT=result,
NOM_CHAM='DEPL' ,
NOM_CMP=('DX' , 'DY' , 'DZ' , ) ,
TOUT_ORDRE='OUI' , #all time steps
OPERATION='EXTRACTION' ,
),
),
TITRE='displacement' ,
);
IMPR_TABLE (FORMAT='TABLEAU',
COMMENTAIRE = '%',
COMM_PARA = '%',
UNITE=82,
TABLE=L_prof ,);
O_prof=POST_RELEVE_T(
ACTION=(_F (
GROUP_NO='ortho' ,
INTITULE='displ_top' ,
RESULTAT=result,
NOM_CHAM='DEPL' ,
NOM_CMP=('DX' , 'DY' , 'DZ' , ) ,
TOUT_ORDRE='OUI' , #all time steps
OPERATION='EXTRACTION' ,
),
),
TITRE='displacement' ,
);
IMPR_TABLE (FORMAT='TABLEAU',
COMMENTAIRE = '%',
COMM_PARA = '%',
UNITE=83,
TABLE=O_prof ,);
FIN();
And the med file can be generated with gmsh from this geo file using 2D linear meshing
cl1 = 0.25;
R = 1;
L=10;
Point(1) = {0,0,-L/2,cl1};
Point(2) = {R,0,-L/2,cl1};
Point(3) = {0,R,-L/2,cl1};
Point(4) = {-R,0,-L/2,cl1};
Point(5) = {0,-R,-L/2,cl1};
Circle(1) = {2,1,3};
Circle(2) = {3,1,4};
Circle(3) = {4,1,5};
Circle(4) = {5,1,2};
Line(5) = {5, 1};
Line(6) = {2, 1};
Line(7) = {3, 1};
Line(8) = {4, 1};
Line Loop(12) = {6, -5, 4};
Plane Surface(12) = {12};
Line Loop(14) = -{6, -7, -1};
Plane Surface(14) = {14};
Line Loop(16) = {2, 8, -7};
Plane Surface(16) = {16};
Line Loop(18) = {3, 5, -8};
Plane Surface(18) = {18};
Extrude {0,0,L/2} {
Surface{12,14,16,18};
}
Extrude {0,0,L/2} {
Surface{35,52,69,86};
}
Coherence ;
Transfinite Surface "*";
Recombine Surface "*";
Transfinite Volume "*";
Physical Point("top")={18};
Physical Line("longi")={29,97};//{29,97,46,114};
Physical Line("ortho")={38,54};//{38,54,71,22};
Physical Line("front")={106,122,90,139};
Physical Line("back")={1,2,3,4};
Physical Line("equator")={24,59,92,127};
Physical Surface("skin")={47,60,128,115,145,102,77,34};
Last edit: 8 years 11 months ago by alessandro.
Please Log in or Create an account to join the conversation.
- RichardS
- Offline
- Elite Member
8 years 11 months ago #8059
by RichardS
SimScale - Engineering Simulation in your browser!
Replied by RichardS on topic Re: Convergence problem with Large Displacement
Hello,
did you try tp use a higher number of layers (COQUE_NCOU)? It is advised to have at least 3, better 5 for nonlinear calculations.
Best regards,
Richard
did you try tp use a higher number of layers (COQUE_NCOU)? It is advised to have at least 3, better 5 for nonlinear calculations.
Best regards,
Richard
SimScale - Engineering Simulation in your browser!
Please Log in or Create an account to join the conversation.
- alessandro
- Topic Author
- Offline
- New Member
Less
More
- Posts: 10
- Thank you received: 0
8 years 11 months ago #8060
by alessandro
Replied by alessandro on topic Re: Convergence problem with Large Displacement
Hi, thanks for the answer.
Actually I found that using meca_statistique instead of stat_non_line the simulation works for all the values of the internal pressure.
I have no idea of why
Thanks again for the answer
Actually I found that using meca_statistique instead of stat_non_line the simulation works for all the values of the internal pressure.
I have no idea of why
Thanks again for the answer
Please Log in or Create an account to join the conversation.
- RichardS
- Offline
- Elite Member
8 years 11 months ago #8061
by RichardS
SimScale - Engineering Simulation in your browser!
Replied by RichardS on topic Re: Convergence problem with Large Displacement
Sure,
because you only computed the linear solution, that means with small displacement and small rotation assumption.
You will not get the effect of follower pressure there nor the change in geometric stiffness.
Best regards,
Richard
because you only computed the linear solution, that means with small displacement and small rotation assumption.
You will not get the effect of follower pressure there nor the change in geometric stiffness.
Best regards,
Richard
SimScale - Engineering Simulation in your browser!
The following user(s) said Thank You: alessandro
Please Log in or Create an account to join the conversation.
Moderators: catux
- Forum
- Public Forums
- Finite Element Modelling - Code_Aster
- Convergence problem with Large Displacement
Time to create page: 0.151 seconds