Sealing lip deformation / assembly

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 want 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. Maybe it is because the deformation of the sealing lip is to high?

Maximum deformation I could get you can see in the picture.

Thanks for your Feedback!

Please share the .pmx file. Does it fail to converge ? Unfortunately, CalculiX often struggles with this kind of contact, but there are some workarounds that may potentially help (no gurantee it will work, though).

Hello,

thanks for the fast answer. I want to upload the file but it is not allowed for new users!?

Try now. But you can also use some hosting website and share via pm if you want.

Dichtung.pmx (7.1 MB)

Now it works. Thanks!

I see that your setup is mostly correct. But you should avoid direct incrementation and refine the mesh of the rectangular part (use quad-dominated meshes and reduced integration elements when possible). Try with highly refined linear quad elements. Adjust the contact stiffness if needed. I use this approach: Snap-fit contact snagging problem - #17 by JuanP74 - Analysis issues - CalculiX (official versions are on www.calculix.de, the official GitHub repository is at https://github.com/Dhondtguido/CalculiX).
That thread on the CalculiX forum also contains other tips for this kind of contact. Unfortunately, as I’ve mentioned, CalculiX may struggle a lot with it and it’s necessary to adjust the contact settings and try with different meshes (sometimes even coarser). You can also try in 3D (extruded layers) and with one part slightly thicker than the other.

Density is off (7.5 t/mm^3 - a sugar-cube-sized block of this density would weigh roughly as much as a large warship), but it’s not used here anyway. You may need to adjust/calibrate the Mooney-Rivlin constants, though. I assume they were taken from the literature. Hyperelastic materials might be unstable at higher strain levels.

1 Like

As you can see here, the mesh may distort significantly due to deformation and needs to be properly refined (not only the density matters, but also the shape of the elements prone to distortion):

Perhaps the rubber should be stiffer too.

Dichtung mod.pmx (437.0 KB)

1 Like

Thanks for your file! I will go through in detail to your settings.

Yes, the max movement I could run so far was 2.1mm. Material values I took from the Internet. I have some stress strain curves of the material I want to use, but I need to figure out how to fit them in the mooney rivlin material model.

I am thinking about assembly with lower overlap in Y direction so the lips can deform in assembly direction and then move the part in X direction to get the complete deformation.

Is this second step/move possible?

You could try with other constants from the literature or calibrate it using a single element model (a cube) and test data. Maybe use a simpler Neo-Hookean model first. It can be based on linear elastic constants. See this thread on the CalculiX forum: Hyperelastic Pipe - CalculiX (official versions are on www.calculix.de, the official GitHub repository is at https://github.com/Dhondtguido/CalculiX).

Yes, you can try with more steps. Just define BCs (and their propagation) following these rules: Understanding multistep analyses

I changed the sealing design a bit and somehow it worked with a kind of deformation by selecting a different solver.

But the lips of the sealing are now getting shorter after large deformation.

Different Mesh options also had no positive influence of the results.

really difficult case. :frowning:

I would definitely stick to the Pardiso solver and automatic incrementation, but you can play with other settings including meshing parameters. Maybe try switching to 3D now. Then you can also use rigid body constraints and other types of contact (e.g. Mortar) without issues common for 2D elements: Known CalculiX limitations

Of course, modifying the geometry (different relative positions and fillet radii) may also help. Maybe CalculiX won’t exhibit that snagging or mesh distortions if you do that.

Yes, as I said initially, that’s one kind of problems where CalculiX struggles a lot compared to e.g. Abaqus. It may often work eventually, but after many attempts. It’s particularly sensitive to mesh and contact stiffness. See the snap-fit example on the CalculiX forum. Or this one: Insertion and withdrawal force calculation with plastic deformation

Actually, even before your post, I was going to write on the CalculiX forum (necessary before submitting a GitHub issue) because it would be good to discuss it with the devs. Maybe they can suggest or improve something when it comes to handling such cases. Can you export your .inp file (with a fine mesh) and share it on the CalculiX forum (via some hosting website) ? I have some other examples too, but I would appreciate if you could share yours there.

Alternatively, you could also try OpenRadioss instead of CalculiX.

1 Like

Yes I will do. Waiting for account check in the forum.

I tried to do it in 3D as you mentioned yesturday.

It works better, but still does not finish the job. Tried different Surface interaction settings, but max. movement you see in the picture.

Any idea how to optimize?

Thanks!

You should also refine the mesh away from the contact region - where it bends and distorts the elements:

Different material properties may also help. Currently, it’s very soft and deforms a lot, needing well designed mesh.

1 Like

ok I tried different materials but know the part has no contact. Any idea what to change? tried also some different Surface interaction values.

*HYPERELASTIC, MOONEY-RIVLIN

0.586e6,0.147e6,0.8446e-07

These constants may have wrong units. They differ in orders of magnitude from the initial ones.

Try to find some for a similar type of rubber in the literature, but be careful with the units.

1 Like

yes you are right!

Thanks for all the help and the quick response, but unfortunately I can not get it running.

Even with NEO HOOKE material models.

:frowning:

Did you try with linear elasticity just to see if it works ? Sometimes it even makes sense to reduce the mesh density in some areas (possibly away from contact) to avoid element distortions. Basically, you may have to predict the deformation pattern and adapt the mesh in advance for that.

1 Like

Which Shore hardness would you like to use?

As you can see, even with a significant local refinement, the deformation might be too large for rubber under these conditions:

I used Mooney-Rivlin constants from what I assume is the same source as yours: Roland's homepage

Dichtung-mesh-3D_mod.pmx (989.7 KB)

Please avoid direct incrementation. I carried out several tests before I realized it’s enabled again.

Hopefully, when you can post on the CalculiX forum, the devs will suggest some ways of handling these instabilities. In my opinion they are erroneous in many such contact problems.

1 Like

Normally, self-contact should handle this, but in CalculiX it may not be so robust or easy to set up.

For the material constants, apart from specific research papers, see also this thread: *HYPERELASTIC data for NBR - CalculiX (official versions are on www.calculix.de, the official GitHub repository is at https://github.com/Dhondtguido/CalculiX).

2 Likes