Error in Solving 3d Contact
- Youssef
-
Topic Author
- Offline
- New Member
-
Less
More
- Posts: 14
- Thank you received: 0
10 years 8 months ago #7601
by Youssef
Still student in mechnical engineering
Replied by Youssef on topic Error in Solving 3d Contact
Hi everyone,
I'm trying to simplify my modele in 2d but the problem remains. I attache my files if someone can have a look on them and help me:
Contact_2d.comm
Contact_2d.med
Contact_2d.mess
Do you think my modelisation is good? How can I improve it to get results?
Thanks a lot,
I'm trying to simplify my modele in 2d but the problem remains. I attache my files if someone can have a look on them and help me:
Contact_2d.comm
Contact_2d.med
Contact_2d.mess
Do you think my modelisation is good? How can I improve it to get results?
Thanks a lot,
Still student in mechnical engineering
- Claus
-
- Offline
- Moderator
-
Less
More
- Posts: 670
- Thank you received: 34
10 years 8 months ago #7602
by Claus
Code_Aster release : STA11.4 on OpenSUSE 12.3 64 bits - EDF/Intel version
Replied by Claus on topic Re: Error in Solving 3d Contact
Let me first state that contact in Code_Aster (and most other codes) is damn tricky in general and Im no expert. Furthermore, the more you add to the nonlinearity, the harder it gets to reach convergence. Case in point: you have a lot of contact pairs and you've introduced friction, so here are some pointers.
The problem here is rigid body movements I think.
It is a really good idea to handle the problem in 2D, but check if PRES_REP is the correct boundary condition in the modelization or if you should use FORCE_ARETE. Im not sure without looking it up.
Eliminate all the contact pairs except one or two. Fuse/mesh the part correspondingly so you have a completely solid mesh except for the parts in the contact pairs. Otherwise you will get un factorable matrix because of rigid body movements.
Mesh the part(s) so the contact pairs have close to the same amount of nodes - your block looks a bit coarse to me (this is not the reason for the error, though) and that can lead to problems. This can be done with submeshes.
Ramp your applied force: right now you're applying all the force at first time step; this should be ramped so you reach full applied force at the last step.
Add 'soft springs' to any part of the model that could be responsible for rigid body movements: right now Im unsure if the parts have even the tiniest movements between them once the force is applied. I know you have specified 'INTERPENTERE' but I don't know your model.
All in all, you should reduce your model to the absolute bare minimum and once you get that to solve, you can add more features and contact pairs.
Try that and then come back when you fail/succeed
/C
The problem here is rigid body movements I think.
It is a really good idea to handle the problem in 2D, but check if PRES_REP is the correct boundary condition in the modelization or if you should use FORCE_ARETE. Im not sure without looking it up.
Eliminate all the contact pairs except one or two. Fuse/mesh the part correspondingly so you have a completely solid mesh except for the parts in the contact pairs. Otherwise you will get un factorable matrix because of rigid body movements.
Mesh the part(s) so the contact pairs have close to the same amount of nodes - your block looks a bit coarse to me (this is not the reason for the error, though) and that can lead to problems. This can be done with submeshes.
Ramp your applied force: right now you're applying all the force at first time step; this should be ramped so you reach full applied force at the last step.
Add 'soft springs' to any part of the model that could be responsible for rigid body movements: right now Im unsure if the parts have even the tiniest movements between them once the force is applied. I know you have specified 'INTERPENTERE' but I don't know your model.
All in all, you should reduce your model to the absolute bare minimum and once you get that to solve, you can add more features and contact pairs.
Try that and then come back when you fail/succeed

/C
Code_Aster release : STA11.4 on OpenSUSE 12.3 64 bits - EDF/Intel version
- Youssef
-
Topic Author
- Offline
- New Member
-
Less
More
- Posts: 14
- Thank you received: 0
10 years 8 months ago #7622
by Youssef
Still student in mechnical engineering
Replied by Youssef on topic Error in Solving 3d Contact
Thanks a lot for your help ...
I made some simplifications and managed to get results. Now I'm trying to complete my model but with 4 contacts I can't get results. The calculation starts but stops in the middle of time. I don't understand the errors. I attach the files, if some could take a look.
Comm
Mess
Med
And thank you for the valuable advice you gave me.
I made some simplifications and managed to get results. Now I'm trying to complete my model but with 4 contacts I can't get results. The calculation starts but stops in the middle of time. I don't understand the errors. I attach the files, if some could take a look.
Comm
Mess
Med
And thank you for the valuable advice you gave me.
Still student in mechnical engineering
- Claus
-
- Offline
- Moderator
-
Less
More
- Posts: 670
- Thank you received: 34
10 years 8 months ago #7623
by Claus
Code_Aster release : STA11.4 on OpenSUSE 12.3 64 bits - EDF/Intel version
Replied by Claus on topic Re: Error in Solving 3d Contact
The calculation fails because you've reached the maximum allowed iterations. Either increase this or implement automatic cutting of the time steps.
/C
/C
Code_Aster release : STA11.4 on OpenSUSE 12.3 64 bits - EDF/Intel version
- Youssef
-
Topic Author
- Offline
- New Member
-
Less
More
- Posts: 14
- Thank you received: 0
10 years 8 months ago #7624
by Youssef
Still student in mechnical engineering
Replied by Youssef on topic Error in Solving 3d Contact
I tried the two proposals, but I can't set correctly the cutting of the time steps. What is the best configuration?
Still student in mechnical engineering
- Claus
-
- Offline
- Moderator
-
Less
More
- Posts: 670
- Thank you received: 34
10 years 8 months ago #7626
by Claus
Code_Aster release : STA11.4 on OpenSUSE 12.3 64 bits - EDF/Intel version
Replied by Claus on topic Re: Error in Solving 3d Contact
I forgot to say, that you can also do manual cutting of time, but you figure out what's best for you.
Here's an example from a contact simulation I've done a while back.
Change the values to suit your simulation.
Regards
/C
Here's an example from a contact simulation I've done a while back.
Change the values to suit your simulation.
#List in increments of PAS, length of JUSQU_A
LIST_IC1=DEFI_LIST_REEL(DEBUT=0.0,
INTERVALLE=_F(JUSQU_A=40,
PAS=0.5,),);
#Advance previous list automatically, with minimum increments of PAS_MINI, in case of ERREUR, cut advancement automatically with a minimum advancement of SUBD_PAS_MINI
#In the event of threshold (SEUIL) of Newtons interations reached, increase advancement with PCENT_AUGM ("if the previous advancement has been decreased, try to increase advancement again")
LIST_IN1=DEFI_LIST_INST(DEFI_LIST=_F(METHODE='AUTO',
LIST_INST=LIST_IC1,
PAS_MINI=1e-09,),
ECHEC=_F(EVENEMENT='ERREUR',
SUBD_PAS_MINI=0.0001,
SUBD_METHODE='AUTO',
ACTION='DECOUPE',),
ADAPTATION=_F(EVENEMENT='SEUIL',
NB_INCR_SEUIL=2,
NOM_PARA='NB_ITER_NEWTON',
CRIT_COMP='LE',
MODE_CALCUL_TPLUS='FIXE',
PCENT_AUGM=50.0,),);
Regards
/C
Code_Aster release : STA11.4 on OpenSUSE 12.3 64 bits - EDF/Intel version
Moderators: catux
Time to create page: 0.185 seconds