Separation failure in two-body contact

About the development of the FEM module/workbench.

Moderator: bernd

Post Reply
aron
Posts: 11
Joined: Tue Mar 08, 2016 11:02 pm
Location: Tsukuba, Japan
Contact:

Separation failure in two-body contact

Post by aron »

Hallo!

Many of the cases I am trying to solve involve contact between two bodies, such as screw connections, clamping or mechanisms. Due to the deformation caused by loads a separation should occur in several cases, but it does not in any of my simulations with FreeCAD.

So I created the following simple test-case to illustrate my problem. It is two flat cantilever beams, one fixed on the left the other on the right. The beams partially overlap and the contact BC is applied on these two contact faces. A force is applied in the center, which creates a bending load.

The result of my simulation is shown below:
This result is physically wrong because the beams remain glued together (no separation or lift-off) and there is zero stress at the contact face.

overlapping_beam_contact_bending_A05_misesq.png
overlapping_beam_contact_bending_A05_misesq.png (22.42 KiB) Viewed 1481 times

The result I expect should look like this (obtained by artificially introducing a gap where I expect separation):
overlapping_beam_contact_bending_A03_misesq.png
overlapping_beam_contact_bending_A03_misesq.png (23.05 KiB) Viewed 1481 times

Can someone please be so kind pointing me to where my mistake is?
From other Calculix forum posts I thought to understand that the separating contact BC is the default. So I would expect that FreeCAD/Calculix would return a result like in the lower image and resolve the proper location of the separation point because it is a function of the deformation cause by the stress loads.

I would be grateful for any hints!

----
FreeCAD and Calculix input files: ------
FreeCAD version:
  • Version: 0.21.30492 (Git) AppImage
  • OS: Linux Mint 20.2 (X-Cinnamon/cinnamon)
User avatar
NewJoker
Veteran
Posts: 3018
Joined: Sun Oct 11, 2020 7:49 pm

Re: Separation failure in two-body contact

Post by NewJoker »

The problem with FreeCAD FEM module is that multiple meshes are not supported and you have to fuse parts together. If they are not separated then the generated mesh is continuous and contact makes no sense. Thus, you should introduce some small separation to make contact work: https://forum.freecadweb.org/viewtopic.php?f=18&t=62307

This is also mentioned in Limitations here: FEM ConstraintContact.
aron
Posts: 11
Joined: Tue Mar 08, 2016 11:02 pm
Location: Tsukuba, Japan
Contact:

Re: Separation failure in two-body contact

Post by aron »

Thank you so much for this very clear and concise reply. It is really of great help to me!
May I add a question, please? Would there be recommendations how small size gap could be (connecting nodes, meshing difficulties, numerical issues, etc.)? My simulations are typically in the size of multiple centimeters, will cell mesh sizes is typically in the millimeter range. Would a gap of 1 µm or even 0.1 µm be a good choice or would you recommend a larger gap width?
User avatar
-alex-
Veteran
Posts: 1856
Joined: Wed Feb 13, 2019 9:42 pm
Location: France

Re: Separation failure in two-body contact

Post by -alex- »

aron wrote: Fri Dec 02, 2022 12:06 pm Would a gap of 1 µm or even 0.1 µm be a good choice or would you recommend a larger gap width?
I have no idea if there is an absolute value as a limitation for the gap. Usually I apply 0.1mm of gap between planar faces. For curvated faces that's less trivial, it depends the curvature I guess.
See here for few exemples (post in french):
https://forum.freecadweb.org/viewtopic.php?f=12&t=37162
User avatar
NewJoker
Veteran
Posts: 3018
Joined: Sun Oct 11, 2020 7:49 pm

Re: Separation failure in two-body contact

Post by NewJoker »

You can manually add the ADJUST parameter to the *CONTACT PAIR keyword. A value assigned to this parameter will be a tolerance for adjustment of slave surface nodes - they will be moved onto the master surface. Any reasonable initial gap can be closed this way to avoid rigid body motions and establish contact. Adjustments with too large gaps (when compared to the element size) can distort elements excessively.
aron
Posts: 11
Joined: Tue Mar 08, 2016 11:02 pm
Location: Tsukuba, Japan
Contact:

Re: Separation failure in two-body contact

Post by aron »

Once again, thank you for your excellent reply!
I tried to implement the case with a gap of 0.01 mm which completely separates the two beams. Unfortunately, whatever I try the calculation does not converge anymore. It ends after 60 iterations with the following error message:

Code: Select all

 no convergence

 iteration 60

 Number of contact spring elements=2

 Using up to 1 cpu(s) for the stress calculation.

 Using up to 1 cpu(s) for the symmetric stiffness/mass contributions.

 Using up to 1 cpu(s) for the asymmetric stiffness/mass contributions.

 Factoring the system of equations using the unsymmetric spooles solver
 Using up to 1 cpu(s) for spooles.

 Using up to 1 cpu(s) for the stress calculation.

line search factor=1.010000

 Using up to 1 cpu(s) for the stress calculation.

 average force= 0.027566
 time avg. forc= 0.023277
 largest residual force= 0.003980 in node 64 and dof 3
 largest increment of disp= 1.981038e+00
 largest correction to disp= 7.480391e-05 in node 6 and dof 3

divergence allowed: number of contact elements stabilized
maximum number of iterations for face-to-face contact reached
 the increment size is decreased to 8.583069e-06
 the increment is reattempted

 *ERROR: increment size smaller than minimum
 best solution and residuals are in the frd file
The last result image looks as follows:
overlapping_beam_contact_bending_A06_dispq.png
overlapping_beam_contact_bending_A06_dispq.png (13.83 KiB) Viewed 1266 times
I also tried to changed the gap width between 0.01 and 0.1 mm, added the ADJUST parameter with positive and negative gap size value, tried with a coarser and finer mesh, restarted from scratch, tried to assign the contact surfaces from the bodies rather then the compound, but whatever I try, I end up with the same error message.

Would anyone have some idea what am I doing wrong?

Below are the latest case files:
aron
Posts: 11
Joined: Tue Mar 08, 2016 11:02 pm
Location: Tsukuba, Japan
Contact:

Re: Separation failure in two-body contact

Post by aron »

Finally I could succeed to make the calculation converge. It has been fairly difficult for increasing loads. The result looks as follows (maximum deflection is about 2 mm):

overlapping_beam_contact_bending_A07_mises.png
overlapping_beam_contact_bending_A07_mises.png (13.81 KiB) Viewed 1170 times

The solution is fragile and takes somewhere between 10 and 100 times longer to converge than the initial wrong solution shown at the the top of this thread without gap (16 seconds instead of 0.2 seconds).

The key changes have been the following:
  • Contact stiffness substantially reduced to 1.0 MPa. This is opposite to what is normally recommended and is probably due to the large contact surface area.
  • ADJUST=0.01 manually added in the Calculix input file under CONTACT PAIR as suggested above by NewJoker. The value corresponds to the width of the gap between the two beams. This not only speeds up the solution time by a factor of about 10, but is effectively required if the forces are increased (no conversion occurs otherwise).

Please let me know if that makes sense to you or if you have any suggestions for improvements in particular to reduce the solution time and to make it more stable and reliable.
Post Reply