Singular post process view on reaction force results with C3D10 solid element

I am applying a force to a cylinder from a distance. On the other surface of the cylinder, I have applied a fixed support on the edge. My goal is to read the reaction force values on the edge node-by-node. The force values I obtained in the singular view have confused me. Is this normal? The values for Fsum are consistent with analytic calculations, but I cannot understand why the node-by-node results are distributed this way.

I get similar singular results even when I fix the entire surface, not just the edge.

1 Like

Interesting. I have seen such pattern with the same elements (but in a different FE software) for nearly-incompressible materials. Which material are you using?

(The solution there was to implement a user-defined material law based on “dilatational-deviatoric multiplicative split”, but that goes a long way and is not a practical solution for anybody.)

1 Like

Hello Oliver,

I’m using a simple linear elastic material. I’ve tried significantly increasing and decreasing the elastic modulus, but it didn’t make a difference. My basic aim was to read the forces at the points where the cylinder is applied with a fixed support, but I can’t make sense of it. There must be a simpler solution, as you suggested.

Hi osmcnkrtn,

what Poisson ratio do you use? That is what determines the compressibility.


1 Like

Similar pattern obtained in Abaqus:

With C3D8R (hex) elements:


I also try 0.1 to 0.49 but nothing changes. Of course try to solve with default structural steel material properties but nothing changes.

Hil Calc_em,

Both of these are nodel force output, right?

It’s normal in FEA for quadratic elements to have alternating reaction forces (and applied forces). You should see that the stress doesn’t show this effect, indicating that the elements aren’t behaving as if they’re loaded in an irregular way.


Bear in mind that the reaction forces at nodes don’t represent values sampled from a continuous field (a force field doesn’t make sense. Its sum would be infinite.) like displacement and stress are. They’re discrete values only at the nodes with zero force between nodes. That makes them automatically “wrong” whatever their values because the actual force would be distributed over the surface or edge between nodes too.


@osmcnkrtn see @vicmw 's reply below. This is the expected behavior of a 2nd-order tet element- generally called the “checkerboard pattern.” - whether it is due to contact conditions or other boundary conditions Modified ten-node tetrahedral element (C3D10T)

1 Like

Thanks @vicmw and @jbr .
Thanks for clarifying, I’m really lost in the details.
Do you suggest we use 1st-order elements to prevent this? My goal is to just read the reaction force. For this reason, it would be correct to choose C3D8 element.

No, 1st order tetra elements should be used only as fillers. But 1st order hexa elements are good.


No, don’t use linear elements to avoid it since it’s not really a problem.

The sum of the reaction forces is still good. That’s what you normally use. A force at a point on the distributed support doesn’t make sense physically so you can’t use individual node values directly.

If it’s supported at several discrete points, you could put constraints on those nodes instead of the whole surface, then you’d get reaction forces at those points.


It has been my experience that hex elements produce smoother results (with fewer elements required) then tet elements.

I’ve been wondering how much of that is down to the behavior of the types of elements themselves versus the fact that hex meshes (as generated by cgx) tend to be nice and regular.

1 Like

@rsmith For linear elements, it’s the elements themselves that are worse. For quadratic, it looks like you can get the same result with the same general mesh structure but tet has more elements and more nodes. Here’s a comparison between structured hex and tet meshes. 4 cantilevers all having the same tip load.

Maybe this example is biased because the cuboid geometry naturally fits hex elements. If you had a shape that was the same as a string of tet elements joined face-to-face, maybe then you would need a more complex hex mesh to match it??


in addition, the advantages of hexahedral it has several element selections to fit the problem i.e linear C3D8, C3D8R, C3D8I and quadratic C3D20, C3D20R. In contrast, there’s only two in tetrahedral element type (linear, quadratic) and only one is recommended.

Tetrahedral element is popular due to automatic mesher available and refinement is easy to set. Maybe in the future, automatic Hex-Dominant gain the same popularity also.


I believe most of it comes from the element formulation itself. For example, taking a degenerated quad with three sides (tria by definition) will perform much better than the triangular element. The same is true for 2nd order tets compared to 1st order hexas - as long as the hexas have sufficient elements to capture the bending behavior.


This is why I tend to build parametric geometry in cgx so it wil mesh with hex elements properly. Even though this is initially more time consuming then just loading a STEP file into gmsh and filling it with tets.

Most of my FEA work is iteratively optimizing parts. And then the workflow of changing parameters in the fbd file and re-running the analysis (completely automated with make) is both convenient and robust.

When iterating the manual workflow CAD → mesh → apply BC’s → solve becomes highly repetitive and error-prone. And that annoys me.

The total resultant force is correct, and from what I understand, reading node by node force may not be accurate. Would it be wrong to approach it like this: grouping the fixed nodes sequentially and calculating the resultant force for each group? For example, if we assume there are a total of 60 fixed nodes, would calculating the resultant forces of 6 nodes at a time in a sequential manner using their reaction forces (Fx, Fy, Fz) lead to non-physical results? Do you have any insights on this?

@vicmw Good points. Although I’m not sure why one would want to use linear elements in structural analysis.

What I tend to do is de-feature a model so I can generate good hex meshes in cgx. The auto meshers I’ve seen generally work poorly (if at all) with hex elements.

And while creating a decent hex mesh will take more time initially with complicated shapes, in my experience it pays for itself in speed of iterations because you need far fewer elements and nodes to get decent results.

@jbr I believe you are right, but I’ve found it hard to prove.
Because of the way they are generated, tet meshes tend to be less regular than hex meshes. So it is kind of hard to tell if the element formulation or the irregularity of the mesh is at fault.

Some time ago a compared the classic “plate with hole” using both hex and tet elements. In the image of the tet mesh at the bottom, the stresses do seem to follow the shape of the elements much more.

1 Like