Calculix/NX Nastran - pinned lug contact

Hello,

I just wanted to post an example comparing results from Calculix and Nastran, as I have the opportunity to test NX Nastran for a limited time for my company. The example shows a simple contact scenario between a pin and a lug. The same mesh was used for both simulations, with coincident nodes and elements in the contact area.
Using default settings, Nastran (SOL 101 and linear contact—i.e., no stiffness updates) required 6 iterations and 50 seconds, whereas Calculix took 10 iterations and 79 seconds.

My only aim is to highlight the excellent agreement between the results :slight_smile:

4 Likes

I guess this version of Nastran doesn’t support hex meshes ?

What type of contact did you use in CalculiX ?

For linear and mildly nonlinear cases like this, I would indeed expect CalculiX to provide very good agreement with other solvers. Maybe apart from more complex contact conditions and if contact surface smoothing is used in Abaqus.

1 Like

Actually, I could have done that too, but that wasn’t my focus. These are also my first attempts at using NX Nastran.

penalty, surface to surface, no friction - same as in Nastran.

Yes, but this is also aimed at those who are new to Calculix and are looking for comparisons with “major” solvers.

2 Likes

Results with (mainly) hexahedral elements:

8-node bricks

-

20-node bricks

Yeah, there’s a clear difference in CPRESS. Are those full or reduced integration hex elements ?

Can you show the BC and load symbols that you used in PrePoMax ?

Fully integrated C3D8. The elements are clearly unsuitable for CPRESS in this situation (same with C3D8I), the magnitude of the deviation surprised me somewhat.

I have here the the pmx file to check:

pinned-lug.pmx (1.1 MB)

-

pmx file with linear mesh:

pinned-lug-C3D8.pmx (423.1 KB)

Thanks. Tomorrow, I can check it in Abaqus. Second-order elements may not work well in contact, but it seems that linear elements are not sufficient to capture the curvature and contact pressure here.

It’s nice that it converges even with force control, apparently thanks to aligned meshes.

1 Like

Here are the results from Abaqus:

Element type Max von Mises stress Max CPRESS
C3D8 76.136 46.518
C3D8R 63.729 41.745
C3D8I 77.929 45.997
C3D8S 76.275 46.515
C3D20 80.438 58.210
C3D20R 78.671 56.844

After changing the methode to “node to surface” or mortar, the results obtained with C3D8 elements fall within the expected range. Consequently, the combination of C3D8 elements and surface to surface method appears to be the source of the problem in this case.
CPRESS node to surface = 54.94
CPRESS mortar = 49.71

Mortar contact should indeed provide better CPRESS results thanks to Lagrane multipliers approach. But node-to-surface is usually much worse in terms of that, at least in Abaqus:

This is pure speculation, but I suspect that the linear hex elements in Calculix are stiffer compared to the same kind of elements in other solvers. Since the example essentially involves a line contact, I surmise that the “stiffer effect” does not come into play to the same extent when only the slave nodes are in contact (?)
As further comparison (linear hexa/full integration); the solution on the left is from Code Aster (surface-to-surface), right from Calculix (node-to-surface):

That’s very likely. C3D8 elements are known for shear locking, while C3D8R may exhibit hourglassing.

This also makes sense. Surface-to-surface contact takes into account a much larger area, and if the underlying elements are too stiff, it may increase the error.