Wrong result of local deformation
- alessandro
- Topic Author
- Offline
- New Member
Less
More
- Posts: 10
- Thank you received: 0
8 years 10 months ago - 8 years 10 months ago #8165
by alessandro
Wrong result of local deformation was created by alessandro
Hello,
I am simulating the indentation of a plate. The plate dimension are 1x100x50.
I meshed the geometry with 3D elements of size 0.3X0.6x0.6 and performed a dynamical simulation. The code is here attached.
The simulation converges but I find a weird behavior as showed in the two attached figures in which there is the final configuration of the top of the plate.
Can anyone give me some suggestion on how to solve this problem,
Thanks,
Alessandro
I am simulating the indentation of a plate. The plate dimension are 1x100x50.
I meshed the geometry with 3D elements of size 0.3X0.6x0.6 and performed a dynamical simulation. The code is here attached.
The simulation converges but I find a weird behavior as showed in the two attached figures in which there is the final configuration of the top of the plate.
Can anyone give me some suggestion on how to solve this problem,
Thanks,
Alessandro
# ------------------------------------------------------------------------------------------
# Impression du contenu du fichier de commandes �� ex��cuter :
# ------------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------
#
# UNITS: MASS LENTH TIME FORCE STRESS ENERGY
# Kg m s N Pa N-m
#---------------------------------------------------------------------------------------
######## Model Parameters ########
young=1e+10; #[\mug/s^2/\mum]
nu=0.3;
rho=1.0e-6; #[\mug/\mum^3] indicativo
######## Simulation Parameters ########
alpha=-0.1;
imp_disp=-10; #[m]
stopTime=1.0 #[s] Time to interrupt the simulation
#stopTime=2.0 #[s] Time to interrupt the simulation
#t_p=1. #[s] Time to final pressure
maxdT = 1e-02 #[s] Max Time Step
archivT0= 1e-01 #[s] Time increment to write results
#archivT1= 1e-01 #[s] Time increment to write results
P_in=1.e+6;
P_out=P_in*1.0e-05;
precis=1e-6;
tries=20;
kk=1.0e-05;
DEBUT();
#----------------------------------------------------
# (1) Reading of the mesh
#----------------------------------------------------
meshI=LIRE_MAILLAGE ( UNITE=20 ,FORMAT='MED' , INFO_MED=1,) ;
mesh=CREA_MAILLAGE(MAILLAGE=meshI,LINE_QUAD=_F(TOUT='OUI',PREF_NOEUD='q'),);
mesh=DEFI_GROUP (
reuse =mesh,
MAILLAGE=mesh ,
CREA_GROUP_MA=_F ( NOM='puller', UNION = ('top', 'ref')) ,
CREA_GROUP_NO=_F(TOUT_GROUP_MA='OUI' ,) ,
);
mesh=MODI_MAILLAGE (
reuse =mesh ,
MAILLAGE=mesh ,
ORIE_PEAU_3D = _F (GROUP_MA =('equator','in','out',)),
);
#----------------------------------------------------
# (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='3D',
),
_F(
GROUP_MA=('ref' ,) ,
PHENOMENE='MECANIQUE' ,
MODELISATION='DIS_TR' ,
),
),
);
#----------------------------------------------------
# (3) Allocation of the mesh model
#----------------------------------------------------
CARA=AFFE_CARA_ELEM(MODELE=Model,
DISCRET=_F(CARA='K_TR_D_N',
GROUP_MA='ref',
VALE=(kk,kk,kk,kk,kk,kk),),
);
#----------------------------------------------------
# (4) Definition of material properties
#----------------------------------------------------
Alu=DEFI_MATERIAU(ELAS=_F(E=young,NU=nu,RHO=rho),);
#----------------------------------------------------
# (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
#----------------------------------------------------
BCnd=AFFE_CHAR_MECA (MODELE=Model ,DDL_IMPO =_F( GROUP_MA='equator',DX=0.0,DY=0.0,DZ=0.0,),);
BCnd_0=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,),
),
);
#BCnd_1=AFFE_CHAR_MECA (MODELE=Model ,DDL_IMPO =_F( GROUP_MA='equator',DX=0.0,DZ=0.0,),);
CHME=AFFE_CHAR_MECA(MODELE=Model,LIAISON_SOLIDE=_F(GROUP_NO='puller',),);
displac=AFFE_CHAR_MECA (MODELE=Model ,DDL_IMPO =_F(GROUP_MA='ref',DX=0.0,DY=imp_disp,DZ=0.0,DRX=0.0,DRY=0.0,DRZ=0.0, ) ,);
appP=AFFE_CHAR_MECA(MODELE=Model,
PRES_REP =(
_F(GROUP_MA='in',PRES=P_in, ) ,
_F(GROUP_MA='out',PRES=P_out, ) ,
),
);
#----------------------------------------------------
# (7) Resolution
#----------------------------------------------------
# List of time instant for the INCREMENTAL SOLUTION
L_INST1=DEFI_LIST_REEL(DEBUT=0.,INTERVALLE=_F(JUSQU_A=stopTime,NOMBRE=round(stopTime/maxdT,),),INFO=2,);
# List of time instant for ARCHIVAGE
save_T=DEFI_LIST_REEL(DEBUT=0.,
INTERVALLE=(
_F(JUSQU_A=stopTime,NOMBRE=round((stopTime)/archivT0,),),
#_F(JUSQU_A=t_p,NOMBRE=round(t_p/archivT0,),),
#_F(JUSQU_A=stopTime,NOMBRE=round((stopTime-t_p)/archivT1,),),
), );
# Variable Time Step
deflist=DEFI_LIST_INST(
DEFI_LIST=_F(METHODE='AUTO',LIST_INST=L_INST1,PAS_MINI=1e-10,),
ECHEC=_F(EVENEMENT='ERREUR',SUBD_PAS=4,),
ADAPTATION=_F(EVENEMENT='SEUIL',NB_INCR_SEUIL=3,NOM_PARA='NB_ITER_NEWTON',CRIT_COMP='LE',PCENT_AUGM=200.0,),
);
ramp=DEFI_FONCTION(NOM_PARA='INST',VALE=(0.0,0.0,stopTime,1.0,),INTERPOL='LIN',PROL_DROITE='CONSTANT',PROL_GAUCHE='CONSTANT',);
#ramp_1=DEFI_FONCTION(NOM_PARA='INST',VALE=(0.0,0.0,t_p,1.0,stopTime,1.0,),INTERPOL='LIN',PROL_DROITE='CONSTANT',PROL_GAUCHE='CONSTANT',);
#ramp_2=DEFI_FONCTION(NOM_PARA='INST',VALE=(0.0,0.0,t_p,0.0,stopTime,1.0,),INTERPOL='LIN',PROL_DROITE='CONSTANT',PROL_GAUCHE='CONSTANT',);
result=DYNA_NON_LINE(MODELE=Model ,
CARA_ELEM=CARA,
CHAM_MATER=Mat ,
EXCIT=(
_F(CHARGE=BCnd,),
_F(CHARGE=CHME,),
_F(CHARGE=displac ,FONC_MULT=ramp,),
#_F(CHARGE=BCnd_0,),
#_F(CHARGE=appP ,TYPE_CHARGE ='SUIV',FONC_MULT=ramp_1,),
#_F(CHARGE=BCnd_1,FONC_MULT=ramp_2, ),
#_F(CHARGE=displac,FONC_MULT=ramp_2, ),
),
COMP_ELAS=(_F (RELATION='ELAS' , DEFORMATION='GROT_GDEP' ,GROUP_MA = ( 'volume') ,),
_F (RELATION='ELAS' , DEFORMATION='PETIT' ,GROUP_MA = ( 'ref') ,),),
INCREMENT=_F(LIST_INST=deflist,) ,
NEWTON=_F(MATRICE='TANGENTE',PREDICTION='TANGENTE',REAC_ITER=1,REAC_ITER_ELAS=1,),
SOLVEUR=_F(METHODE='MULT_FRONT',STOP_SINGULIER='NON',),
CONVERGENCE=_F (RESI_GLOB_RELA=precis,ITER_GLOB_MAXI=tries,),
ARCHIVAGE=_F(LIST_INST=save_T,),
SCHEMA_TEMPS=_F(
COEF_MASS_SHIFT=0.0,
ALPHA=alpha,
FORMULATION='DEPLACEMENT',
MODI_EQUI='NON',
SCHEMA='HHT',
),
);
Last edit: 8 years 10 months ago by alessandro.
Please Log in or Create an account to join the conversation.
- kwou
- Offline
- Moderator
8 years 10 months ago #8166
by kwou
Interest: structural mechanics, solar energy (picture at 'my location' shows too little pv panels)
--
kind regards - kees
Replied by kwou on topic Re: Wrong result of local deformation
Hoi Alessandro
for me it is hard to tell what might be wrong.
You attach some mass/spring element ('ref') to your solids, are you sure the attachments are alright?
What are you boundary conditions and loads?
I you upload the model, it would be useful.
BTW: why do not you use shell elements?
for me it is hard to tell what might be wrong.
You attach some mass/spring element ('ref') to your solids, are you sure the attachments are alright?
What are you boundary conditions and loads?
I you upload the model, it would be useful.
BTW: why do not you use shell elements?
Interest: structural mechanics, solar energy (picture at 'my location' shows too little pv panels)
--
kind regards - kees
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 10 months ago #8168
by alessandro
Replied by alessandro on topic Re: Wrong result of local deformation
Hi, thanks for the help!
Here used a ref point but I had the same problem also without it.
The plate is fixed on two sides and free along the other two, I impose a displacement of -10 on the central node, the plate dimension are 1x100x50
I started with shell elements but the problem was not converging. I switched to dynamic but there shell elements does not allow large deformation.
here is the .geo file
and this is the .comm
Here used a ref point but I had the same problem also without it.
The plate is fixed on two sides and free along the other two, I impose a displacement of -10 on the central node, the plate dimension are 1x100x50
I started with shell elements but the problem was not converging. I switched to dynamic but there shell elements does not allow large deformation.
here is the .geo file
R=25;th=1;L=100;N_th=3; asymmetry=4;
cl=th/N_th;
cl_int=cl;cl_out=cl;
N_R=(2*3.14*R/4)/(asymmetry*cl);
N_L=N_R*(L/2)/(2*3.14*R/4);
Point(1) = {0.0,th/2,-L/2,cl_int};
Point(2) = {0.0,-th/2,-L/2,cl_out};
Line(1) = {1,2};
Extrude {0,0,L/2} {Line{1}; Layers{N_L};Recombine;}
Extrude {3.14/2*R,0,0} {Surface{5}; Layers{N_R};Recombine;}
Extrude {3.14/2*R,0,0} {Surface{27}; Layers{N_R};Recombine;}
Extrude {0,0,L/2} {Surface{22}; Layers{N_R};Recombine;}
Extrude {0,0,L/2} {Surface{44}; Layers{N_R};Recombine;}
Point(1001) = {0,2*R,0};
Coherence;
Transfinite Volume "*";
Physical Point("top")={14};
Physical Point("ref")={1001};
Physical Line("longi")={10,61};
Physical Line("ortho")={21,43};
Physical Surface("front")={71,93};
Physical Surface("back")={14,36};
Physical Surface("equator")={5,49,88,58};
Physical Surface("in")={40,18,70,92};
Physical Surface("out")={62,84,26,48};
Physical Volume("volume")={1,2,3,4};
Coherence;
and this is the .comm
#---------------------------------------------------------------------------------------
#
# UNITS: MASS LENTH TIME FORCE STRESS ENERGY
# Kg m s N Pa N-m
#---------------------------------------------------------------------------------------
######## Model Parameters ########
young=1e+10; #[\mug/s^2/\mum]
nu=0.3;
rho=1.0e-6; #[\mug/\mum^3] indicativo
######## Simulation Parameters ########
alpha=-0.1;
imp_disp=-10; #[m]
stopTime=1.0 #[s] Time to interrupt the simulation
#stopTime=2.0 #[s] Time to interrupt the simulation
#t_p=1. #[s] Time to final pressure
maxdT = 1e-02 #[s] Max Time Step
archivT0= 1e-01 #[s] Time increment to write results
#archivT1= 1e-01 #[s] Time increment to write results
P_in=1.e+6;
P_out=P_in*1.0e-05;
precis=1e-6;
tries=20;
kk=1.0e-05;
DEBUT();
#----------------------------------------------------
# (1) Reading of the mesh
#----------------------------------------------------
meshI=LIRE_MAILLAGE ( UNITE=20 ,FORMAT='MED' , INFO_MED=1,) ;
mesh=CREA_MAILLAGE(MAILLAGE=meshI,LINE_QUAD=_F(TOUT='OUI',PREF_NOEUD='q'),);
mesh=DEFI_GROUP (
reuse =mesh,
MAILLAGE=mesh ,
CREA_GROUP_MA=_F ( NOM='puller', UNION = ('top', 'ref')) ,
CREA_GROUP_NO=_F(TOUT_GROUP_MA='OUI' ,) ,
);
mesh=MODI_MAILLAGE (
reuse =mesh ,
MAILLAGE=mesh ,
ORIE_PEAU_3D = _F (GROUP_MA =('equator','in','out',)),
);
#----------------------------------------------------
# (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='3D',
),
_F(
GROUP_MA=('ref' ,) ,
PHENOMENE='MECANIQUE' ,
MODELISATION='DIS_TR' ,
),
),
);
#----------------------------------------------------
# (3) Allocation of the mesh model
#----------------------------------------------------
CARA=AFFE_CARA_ELEM(MODELE=Model,
DISCRET=_F(CARA='K_TR_D_N',
GROUP_MA='ref',
VALE=(kk,kk,kk,kk,kk,kk),),
);
#----------------------------------------------------
# (4) Definition of material properties
#----------------------------------------------------
Alu=DEFI_MATERIAU(ELAS=_F(E=young,NU=nu,RHO=rho),);
#----------------------------------------------------
# (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
#----------------------------------------------------
BCnd=AFFE_CHAR_MECA (MODELE=Model ,DDL_IMPO =_F( GROUP_MA='equator',DX=0.0,DY=0.0,DZ=0.0,),);
BCnd_0=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,),
),
);
#BCnd_1=AFFE_CHAR_MECA (MODELE=Model ,DDL_IMPO =_F( GROUP_MA='equator',DX=0.0,DZ=0.0,),);
CHME=AFFE_CHAR_MECA(MODELE=Model,LIAISON_SOLIDE=_F(GROUP_NO='puller',),);
displac=AFFE_CHAR_MECA (MODELE=Model ,DDL_IMPO =_F(GROUP_MA='ref',DX=0.0,DY=imp_disp,DZ=0.0,DRX=0.0,DRY=0.0,DRZ=0.0, ) ,);
appP=AFFE_CHAR_MECA(MODELE=Model,
PRES_REP =(
_F(GROUP_MA='in',PRES=P_in, ) ,
_F(GROUP_MA='out',PRES=P_out, ) ,
),
);
#----------------------------------------------------
# (7) Resolution
#----------------------------------------------------
# List of time instant for the INCREMENTAL SOLUTION
L_INST1=DEFI_LIST_REEL(DEBUT=0.,INTERVALLE=_F(JUSQU_A=stopTime,NOMBRE=round(stopTime/maxdT,),),INFO=2,);
# List of time instant for ARCHIVAGE
save_T=DEFI_LIST_REEL(DEBUT=0.,
INTERVALLE=(
_F(JUSQU_A=stopTime,NOMBRE=round((stopTime)/archivT0,),),
#_F(JUSQU_A=t_p,NOMBRE=round(t_p/archivT0,),),
#_F(JUSQU_A=stopTime,NOMBRE=round((stopTime-t_p)/archivT1,),),
), );
# Variable Time Step
deflist=DEFI_LIST_INST(
DEFI_LIST=_F(METHODE='AUTO',LIST_INST=L_INST1,PAS_MINI=1e-10,),
ECHEC=_F(EVENEMENT='ERREUR',SUBD_PAS=4,),
ADAPTATION=_F(EVENEMENT='SEUIL',NB_INCR_SEUIL=3,NOM_PARA='NB_ITER_NEWTON',CRIT_COMP='LE',PCENT_AUGM=200.0,),
);
ramp=DEFI_FONCTION(NOM_PARA='INST',VALE=(0.0,0.0,stopTime,1.0,),INTERPOL='LIN',PROL_DROITE='CONSTANT',PROL_GAUCHE='CONSTANT',);
#ramp_1=DEFI_FONCTION(NOM_PARA='INST',VALE=(0.0,0.0,t_p,1.0,stopTime,1.0,),INTERPOL='LIN',PROL_DROITE='CONSTANT',PROL_GAUCHE='CONSTANT',);
#ramp_2=DEFI_FONCTION(NOM_PARA='INST',VALE=(0.0,0.0,t_p,0.0,stopTime,1.0,),INTERPOL='LIN',PROL_DROITE='CONSTANT',PROL_GAUCHE='CONSTANT',);
result=DYNA_NON_LINE(MODELE=Model ,
CARA_ELEM=CARA,
CHAM_MATER=Mat ,
EXCIT=(
_F(CHARGE=BCnd,),
_F(CHARGE=CHME,),
_F(CHARGE=displac ,FONC_MULT=ramp,),
#_F(CHARGE=BCnd_0,),
#_F(CHARGE=appP ,TYPE_CHARGE ='SUIV',FONC_MULT=ramp_1,),
#_F(CHARGE=BCnd_1,FONC_MULT=ramp_2, ),
#_F(CHARGE=displac,FONC_MULT=ramp_2, ),
),
COMP_ELAS=(_F (RELATION='ELAS' , DEFORMATION='GROT_GDEP' ,GROUP_MA = ( 'volume') ,),
_F (RELATION='ELAS' , DEFORMATION='PETIT' ,GROUP_MA = ( 'ref') ,),),
INCREMENT=_F(LIST_INST=deflist,) ,
NEWTON=_F(MATRICE='TANGENTE',PREDICTION='TANGENTE',REAC_ITER=1,REAC_ITER_ELAS=1,),
SOLVEUR=_F(METHODE='MULT_FRONT',STOP_SINGULIER='NON',),
CONVERGENCE=_F (RESI_GLOB_RELA=precis,ITER_GLOB_MAXI=tries,),
ARCHIVAGE=_F(LIST_INST=save_T,),
SCHEMA_TEMPS=_F(
COEF_MASS_SHIFT=0.0,
ALPHA=alpha,
FORMULATION='DEPLACEMENT',
MODI_EQUI='NON',
SCHEMA='HHT',
),
);
#----------------------------------------------------
# (8) Post-processing of results
#----------------------------------------------------
result=CALC_CHAMP(reuse =result,RESULTAT=result,FORCE=('REAC_NODA',),);
#leggi su wiki pagina FEM
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,GROUP_MA = ( 'out' ,'ref' , ) ,NOM_CHAM = ('DEPL',),),);
X_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=81,
TABLE=X_prof ,);
Z_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=Z_prof ,);
Tdisp=POST_RELEVE_T(
ACTION=(_F (
OPERATION='EXTRACTION' ,
INTITULE='displ_middle' ,
RESULTAT=result,
TOUT='OUI' ,
NOM_CHAM='DEPL' ,
TOUT_ORDRE='OUI' ,
GROUP_NO='ref' ,
RESULTANTE = ( 'DY' , ) ,
),
),
TITRE='displacement' ,
);
D=RECU_FONCTION(TABLE=Tdisp,
PARA_X='INST',
PARA_Y='DY',
);
#T=RECU_FONCTION(TABLE=Tdisp,PARA_X='INST',PARA_Y='INST',);
Tforce=POST_RELEVE_T(ACTION=_F(RESULTAT=result,GROUP_NO='puller',OPERATION='EXTRACTION',NOM_CHAM='REAC_NODA',RESULTANTE=('DX','DY','DZ'),MOYE_NOEUD='OUI',INTITULE=''),);
F=RECU_FONCTION(TABLE=Tforce,PARA_X='INST',PARA_Y='DY',);
IMPR_FONCTION(
FORMAT='TABLEAU',
UNITE=83,
COURBE=_F(
#FONC_X=T,FONC_Y=D,
FONC_X=D,FONC_Y=F,
),
COMMENTAIRE = '%',
COMM_PARA = '%',
);
E_CIN=POST_ELEM(ENER_CIN=_F(TOUT='OUI',),RESULTAT=result,);
E_TOT=POST_ELEM(ENER_TOTALE=_F(TOUT='OUI',),RESULTAT=result,);
IMPR_TABLE (TABLE=E_CIN,TITRE='E_CIN',FORMAT='TABLEAU',COMMENTAIRE = '%',COMM_PARA = '%',UNITE=84,);
IMPR_TABLE (TABLE=E_TOT,TITRE='E_TOT',FORMAT='TABLEAU',COMMENTAIRE = '%',COMM_PARA = '%',UNITE=85,);
FIN(
RETASSAGE ='OUI',
INFO_RESU='NON',
);
Please Log in or Create an account to join the conversation.
Moderators: catux
Time to create page: 0.134 seconds