Sealing lip deformation / assembly problem

Both should be stable at least up to 50% strain (would have to check the strains in your case), but the second one is fully incompressible. In Abaqus/Standard, this requires the use of hybrid elements (unless plane stress state is assumed) because the bulk modulus and thus also the stiffness matrix become infinitely large. They also eliminate volumetric locking. Abaqus/Explicit doesn’t allow full incompressibility.

1 Like

That Abaqus screenshot was from explicit dynamics analysis. Implicit failed to converge much earlier with issues already focusing in that bent region.

I’m afraid that explicit in CalculiX will struggle with this and take a lot of time, but it might be worth trying. I’d rather recommend OpenRadios, though.

1 Like

First or second order wedges ? Were these the only changes and was the material and contact the same ? For me, it still fails after switching to wedges:

It seems to ignore self-contact or at least allow too large penetration within it.

Out of curiosity, where do you get these parameters, and how would you validate them?

When I look for example at the data sheets of silicone rubbers that I’m working with, they only supply the density and Shore A hardness and a tensile strength.

1 Like

from here:

*HYPERELASTIC data for NBR - CalculiX (official versions are on www.calculix.de, the official GitHub repository is at https://github.com/Dhondtguido/CalculiX).

In the paper “Durometer hardness and the stress-strain behavior of elastomeric material” by Qi, Joyce and Boyce, a linear elastic model is proposed for the Young’s modulus depending on the shore hardness of the rubber;

log E = 0.0235*S + 0.6403

Where S is either the Shore A hardness (between 20 an 80), or S = Shore D + 50 (up to 85 Shore D).

Using such a model could simplify the analysis.

as Python code (and output):

In [1]: def QiJoyceBoiceA(s):
   ...:     return round(10**(s*0.0235 - 0.6403))
   ...: 

In [2]: def QiJoyceBoiceD(s):
   ...:     return round(10**((s+50)*0.0235 - 0.6403))
   ...: 

In [3]: [(s, QiJoyceBoiceA(s)) for s in range(20,81,10)]
Out[3]: [(20, 1), (30, 1), (40, 2), (50, 3), (60, 6), (70, 10), (80, 17)]

In [4]: [(s, QiJoyceBoiceD(s)) for s in range(20,81,10)]
Out[4]: [(20, 10), (30, 17), (40, 30), (50, 51), (60, 88), (70, 151), (80, 260)]

For example, for a 60 Shore A rubber, a linear elastic approximation could be:

*MATERIAL, NAME=rubber_60ShoreA_linear
*ELASTIC, TYPE=ISO
6e6,0.499,293

This is my file. The material parameters come from one of the posted files but I made it almost incompressible. It’s axisymmetric.It’s a working starting point. One can try to push it to see where it fails.

1 Like

It is indeed tempting to use linear elasticity to simplify the model (at least for debugging), but one important aspect to take into account is that linear elasticity is valid only for small strains (up to around 5% of strain). If the strains are much higher than that, the results might be incorrect or the analysis may not converge.

Instead of Mooney-Rivlin, it might also be better to use the simplest Neo-Hookean model with constants obtained directly from linear elasticity constants.

Thanks. Perhaps just assuming that it’s axisymmetric makes a key difference here. I haven’t tried any axisymmetric models for this case yet because I wanted to follow the OP’s assumptions, but it might be worth trying such a way too.

This is a good point. There is however a practical caution that should be mentioned, and that is the variability of properties of elastomers.

The Technical Handbook O-rings from Eriks for example mentions that the tolerance on hardness of ±5 points is standard as is a tolerance of ±25%(!) on modulus.

Combine that with variations of properties due to environmental factors and simply storage life (e.g. ≤5 years for NBR rubbers, ≥20 years for silicone) and it makes accurate simulation challenging.

In case of sliding assembly applications it is generally advised to use a shallow tapered entry than a radius. You can see examples in the aforementioned manual. That taper can also be on a special installation tool if there is not enough space for it on the part.

1 Like

Thanks a lot for the file!

Can you tell me how I can rerun your calculation in PrePoMax?

I get some errors when opening/importing it.

The .inp file importer in PrePoMax is rather limited at the moment; it doesn’t support all the features available in PrePoMax (also for export to .inp). You could import just the mesh or try importing everything and recreate the missing stuff. This will likely include contact, for instance. But the main differences should be the material, the axisymmetric model space, and the mesh. You can define the rest pretty much in the same way as in the previous models.

Yep, I’ve seen these types of problems before. You need to have a mesh that is fine enough to capture the shape, but not too fine that the element edges collapse when compressed. Especially if self-contact is not turned on.

How did you change the gripper? As shown below?

I don’t think it is a material problem, it is much more a geometry problem… You are packing too much material in a small area. The edges of the gripper collapse because they don’t have anywhere else to go.

What exactly are you expecting out of the simulation? Insertion force? Extraction? Retention of the grippers?

May main goal is to get a working simulation where I can see the deformation of the sealing lips so I can check the design and the filling ratio of the sealing. And check different designs.

Second goal was, after I have a working simulation, add the real material data (I have stress strain values of the 40 ShA rubber I want to use, but need to fit the curves to a hyperelastic material model) to the simulation and see the assembly force and contact pressure.

The things I tried:

  • I reduced the overlap of the sealing and the pin → no positive effect
  • Make the sealing lips smaler, so they can bend better → no positive effect
  • Chamfer instead of radius → no positive effect
  • Chamfer + Radius → no positive effect

Then, ¿Your problem is axisymmetric not flat?

no, problem is not flat. The sealing has an oval shape from the top view. But can also have a round shape. So it could be axisymmetric.

Also tried the 2D axisymmetric as mentioned in this chat, but I was not able to get it running.

I only did flat surface because I startetd with 2D simulation first. To make fast calculations and check the crosssection design. As it failed in 2D, a suggestion from the community was to change to 3D. So I made the model in 3D, 1mm thickness.

for 2D axisymmetric with different geometry changes:

Only with BC 2.3mm movement. Simulation is working fine.

With BC 2.4mm movement, failed after movement of 1.62mm

Keep the maximum allowable increment size under control. I think yours is actually unlimited (1E30). Unlimited value may speed up the analisys at first but errors acumulate and convergence will pay the price at the end.

Is this a pressure seal? Because for that application one would typically use a “lip seal”. Those have a U- or V-shaped cross-section that doesn’t fold in on itself.

If it is for keeping dust out, consider an X-ring or a wiper seal.