Negative jacobian

I have a model with shell elements that when expanded result in a number of negative jacobians. These elements are in regions of my geometry that are not of interest and have no effect on the FE result, but the only way I can find to address them is to pluck them out of the mesh file one by one.
Does anyone know of a way to delete them all at once, perhaps by outputting the element numbers to a file?

Are you using any of the preprocessors for CalculiX ?

No. Thanks for the thought. Have used PrePoMax for post.

When an analysis is submitted, PrePoMax automatically creates a set with elements having this negative jacobian issue. Of course, you can export the input file and access this set from it.

You can try Salome instead since it have further processing after the mesh generated by Netgen. A smoothing feature to eliminate bad shape of quad dominate shell element.

Instead of use a quad dominate mesh which probably generate bad shapes at curved geometry, someone still can use fully triangular mesh to eliminate the problems.

My model is a human vertebra, which consists more or less of a core of what is called cancellous bone and a shell a mm or so thick of harder bone. I am meshing in Salome because it conveniently creates shell elements on top of the cancellous Tet elements. I don’t know how to get T10 elements with a S6 shell on the outside in PrePoMax.
The geometry is sort of wedge shaped in spots and the sharp edge of the wedges is where, I think, the majority of the negative Jacobian elements are, but they don’t play a part in the analysis at all.
I just wish there was an easier way to eliminate them without having to pick them out of the .msh file one-by-one.

1 Like

I am using Salome, and in addition to the 10 node tets I also have 6 node shells (S6) that expand into 15 node wedge elements. I have no quad elements.

Triangular shell element generated mesh usually accepted by the solver, maybe it’s related to face orientation.

Can you show the mesh or at least the problematic part of it ?

Did you consider using FEBio for this analysis ? It’s also open-source and meant specifically for biomechanics.

1 Like

¿What do you mean they don’t play a part in the analysis?. If they don’t play a role, ¿why do you have that mm shell?.
The negative Jacobian comes from too much thickness in that layer overlapping with the inside elements or with themselves. If you set the shell layer thickness to 0.01mm and offset it to the outside , ¿do you solve the issue?

Other option is maybe using real shell element for that surface shell. A true not expanded shell element (US3).

Sorry I wasn’t clear. The elements with negative Jacobians do not play a part in the analysis, not all the shell elements.

Thank you for your help and suggestion.

I’d say that if the “skin” expansion gives a mesh quality error, that means your solid mesh behind isn’t adequate, depite no errors casted by the program. I’d consider refining the mesh localy on those spots.

I don’t think there’s any question the mesh isn’t sufficient to properly capture the geometry in those locations but those locations are far from the locations of interest to me, they’re just “along for the ride”, and while I could refine the mesh all it would do is slow the solver down.

What I want to do is ignore those elements without having to delete them one-by-one from the mesh files.

I’ve thought about modifying the geometry to eliminate the sharp edges and other features, but I’d prefer not to; it’s something that might get noticed in a design review and will then call for explanation, whereas if the elements just aren’t there I think the FE result looks more like the natural geometry.

Hi Shinbrot,

I have just test on a similar problem (Knee bone) and while 1mm S6 failed, real shell elements have been able to solve the problem.
Although limited, ccx has real shell elements that do not expand. I would give it a try.

Sounds like this is the way to go, thank you!

Impossible to say without more information.


Yep. If it works, it doesn’t mean the solution is right. Shell and solid are overlapping in an area in which each one has different properties. There is not too much information on how you manage that interface so please take it carefully.

If I were looking for some sort of boundary layer I would work with the geometry first to split the body into two components (internal and external) before meshing.

I would build a scaled or extruded copy (smaller) of the bone + some Boolean operations to get an acceptable geometry with an approximately uniform external thickness.

Seems an interesting FEA area.

The advantage to using the expandable shells is you get a conformal mesh, or at least Netgen delivers one. That is to say the outer and inner regions share common nodes at their mating surface.
I don’t know how to create a conformal mesh with non-expanding shells, but it looks like I should try to find out.

You can use tie constraint or tied contact to connect shells with solids. Shell section offset may help with that.

1 Like

Right, bonding shell element face with tied contact or constraint may give better result since no over stiffening the model as another approach due to offset definition in shell sections.