Sealing lip deformation / assembly problem

Hello everyone,

I started to do my first steps with PrePoMax and it’s fascinating to see all the things you can do with it. :slight_smile:

I wanted to do a 2D calculation of an sealing assembly process to see the deformation of the lips and check the filling ratio of the sealing design in first step. Later I want to check the contact pressure values.

Now to my problem: The calculation fails during the assembly step and I dont know why.

I also tried it in a 3D simulation, but same problem.

Thanks for your Feedback!

.inp. Data:

https://limewire.com/d/gYBEM#b9EO7iaUlQ

Just a short explanation from me. As also shown in the past (e.g. here: Snap-fit contact snagging problem) CalculiX seems to struggle too much with some finite sliding snap-fit-like or gasket problems. Of course, Abaqus has general contact and much more robust contact algorithms, but maybe some smaller improvements could also make it possible to solve such problems with CalculiX. Currently, they are extremely sensitive to mesh and contact stiffness. They show some excessive snagging even with surface-to-surface contact or the mesh may explode even away from the contact region (as observed in the snap-fit example). Self-contact doesn’t seem to work well either.

So my questions, especially to the dev team, would be - do you know why CalculiX struggles so much with this class of problems, if anything can be improved in the solver and if there are any workarounds. For now, it seems that the only way is to keep changing the mesh until it doesn’t break, but it keeps failing even with extremely dense meshes, so maybe the key is also in contact settings.

2 Likes

Download link produces an error; “Incomplete or wrong Download URL.”

I reuploaded the files here: Dropbox

Also added my versions (improved mesh, step settings and some other attempts to make it work) with “mod”.

https://limewire.com/d/gYBEM#b9EO7iaUlQ

If you copy the link it should work

If I remove the paradiso solver (doesn’t exist for my platform), the 3D analysis runs with the PaStiX solver but does not converge.

Looking at the input file, your contact surfaces are in my opinion way too large.

What I would suggest;

  • Reduce the number of “lips” to 1.
  • Reduce the size of the contact patch to include only the side of the “lip” that actually makes contact.
  • Reduce the size of the contact patch on the other part to the radius and a little bit behind it.
  • If you can, mesh with regular second order hex elements. You will need way less elements and probably get better results.

Personally, I like to build my geometry using the commands built into cgx and them mesh it with second order hex elements. To be sure this is more work to set up initially than simply auto-meshing a volume with tetrahedrons.
It will however give you a regular hex mesh that is also parametric. That last point makes it really easy to explore variants.

It would definitely make sense to reduce the model for testing, but let’s also highlight that the issue with the mesh distortion happens here:

Thanks for the suggestions. I reduced the contact area and used only one lip. But it was the same result.

Calculation failed.

That was more to speed up the test runs.

Actually, even Abaqus struggles with this model. Most likely because of what happens in that aforementioned region where it bends:

Every very dense meshes don’t help. Apparently, this setup (material and shape of the seal combined with the shape, position and displacement of the pusher) result in a really nasty deformation of the seal and it breaks at the corner.

2 Likes

Your model is under compression.

Have you consider it could be Buckling?.

You mention you tried 2D and 3D. Is the lip constrained out of plane?

What’s the value of your equivalent Poisson Ratio? That’s important for this kind of problems.

Abaqus shows negative eigenvalues so some instability/buckling is possible here. But that problematic region also becomes distorted really quickly, so it’s hard to judge.

I’ve tried both plane stress and plane strain in Abaqus, also using hybrid elements meant for nearly or fully incompressible materials. I used two different Mooney-Rivlin models, both should be stable.

2 Likes

I considered that option because when tested in axisymmetric it is converging way much better.

In my opinion the axisymmetric model fails during a reflexivity transition .

The element flips an “edge” goes from being convex to concave. Three of the four nodes in the face align .

ezgif-7fe7580f13ae0f15

1 Like

Could it be implemented some kind of remeshing procedure? I meant, exporting the deformated model at last stable increment, take the outside shape and remesh the shape with new elements. But how could be translated the stress from previous simulation?

1 Like

I was also thinking about remeshing. What’s interesting, ALE (Adaptive Lagrangian Eulerian) remeshing in Abaqus/Explicit is not recommended for use with hyperelastic materials (enhanced hourglass control should be used instead).

Abaqus also has so-called mesh-to-mesh solution mapping, where the results can be transferred to a new mesh to avoid distortion.

1 Like

would be nice a poor man remeshing solution with CCX and some tool to remap de stress

1 Like

I also tried to change the geometry of the part. Also struggles a lot with this calculation.

I used also a very hard rubber material, makes the results a bit better. And also the use of the PaStiX Solver.

(c10=1.168,c01=0.297,D1=0.0)

And what I dont undertsand, the movement of the pusher has a big influence. If I use 3 mm it failed, 4mm Result ok, 4.5mm if failed.

This would be nice to find a solution for this kind of problems.

Also tried the compression of an axial sealing in 2D. Works well with soft rubber material.

But failed with harder rubber material.

Soft:

C10=0.2972,C01=0.0487,D1=0.23

Hard material:

(C10=0.474,C01=0.118,D01=0.0)

https://limewire.com/d/gYBEM#b9EO7iaUlQ

1 Like

If it’s failing with hard it could be related to the contact stiffness.

What’s your poisson Ratio derived from your constant definition?. Aditionally (sorry if that’s ovious) check you are not exceding the number of max increments. You can also try to change to explicit analisys.

Regarding my previous post where I pointed to fail during a reflexivity transition I have change to wedge elements to sort it and analisys completed with similar shape as ABAQUS.I’m using self contact .

1 Like