2D Axisymmetric *ERROR in e_c3d: nonpositive jacobian

How do I get 2D surfaces from Solidworks to PrePoMax? I’m exporting as step file and I get this jacobian error. I wonder if I am doing something wrong. I’m using Surface fill from Solidworks and selecting a sketch to create the 2D geometry. I created 2 parts in a single STEP. These import as 2 parts in PrePoMax. I’m going to try a single part and see if that made a difference.

Here is the file:
2d_symmetry.pmx (581.9 KB)

removing one of the two parts did not help.

Exporting as STL works. I also tried planar surface from SW to change the way it was made and got the same jacobian error from the STEP file.

Try placing the part on the right side of the symmetry axis, it should help.

Okay, I’ll try this now. the STL got me to the point where I see free body motion, but as soon as plasticity happens with a contact region it stops working.

This is not a problem of CAD or .stl geometry. I think you have a problem with the orientation of the surface normal. You must be aware of this for all 2D models when using CalculiX. If you enable Face Orientation Annotations, the front face should be oriented towards you, as shown in the figure. You can flip the face orientation using Geometry->Cad Part->Flip Face normal (you must remesh the model once you flip any of the face normals).

1 Like

That’s the first thing I suspected but I checked the OP’s model and noticed that the orientation is correct.

You are right. I have checked the model now and the orientation of the faces is OK. But the position of the mesh is not. The red line denotes the difference between the point (0, 0) and a point on the model. It is seen that the model is on the left-hand side of the y-axis. If the model is translated to the positive side of the y-axis the analysis completes successfully.

That’s right, I also checked this and advised the OP to try with the model placed on the right side of the symmetry axis.

I did flip it to the other side but kept failing when I applied contacts. However for a single part it, I just tried this and it works great. I’m going to try that assembly again and see if I get anywhere with it today. I spent a few hours yesterday working on a model like the one Sergio suggested.

So here is the complete model. There are two grooves and a seal the seal is held by friction, it seems to solve, but it doesn’t work well. The gasket passes through the master surface and doesn’t seem to flow into the shape. I tried hard contact first and got a similar result. There also seems to be some weird stress on the top part which has a boundary at the axis of rotation. Possibly we can’t have material at the center of the axis?

the SW model showing the 0,0 location:

Normals seem OK:

the central stress I mentioned:

the gasket behavior under compression:

This analysis doesn’t converge well. It would be better to put the gasket in initial contact with the fittings. You may have to increase the value of the prescribed displacement to establish contact with both fittings. Also, consider using a hyperelastic material model for the gasket (I assume that it’s made of some kind of rubber).

The stresses that you show are very low and seem to occur before the gasket is enclosed by the fittings so I wouldn’t worry about them for now.

ok, I see. I had to add a tiny gap to prevent the step file from fusing two parts into 1. but I can separate the parts into different parts and re-run.

You need to progress step by step if you are starting with the software.

-Try to stablish the right parameters for the contact between one base and one gasket. (No blind flange). Just too surfaces. Apply the displacement directly to the upper side of the gasket.

-Read in the manual about slave and master and which one should be assign to each surface.

-Remove plasticity. You shouldn’t introduce plasticity if you are not able to solve the linear problem.

-Corners means problems in contact. (See image) . Also, that’s a hot spot and you have plasticity.

I was able to get the contact to work by creating the problem as an assembly which allowed me to create the model with no spaces between parts. However now, I notice the corner issue. How do we tell the software to create spring elements when the parts are not contacting each other initially?:

In the image, you see I took that gasket out where it is flat so I could constrain it flat. that worked as expected. However as soon as we go over the cusp, the contact regions are ignored and the slave (the gasket) can penetrate into the master.

Here the pink is the slave and the red is the master. The master surface is extended so it is not contacting initially.