# Stresses at the edge of Tet Elements

Hi,

I have been looking at the uneven Stress emerging at the edge of a body meshed with Tet elements.

I’m now considering if it is possible to obtain a uniform stress distribution on the edge of the body with Tets.?

The discrepancy in Stress values doesn’t seem related with the contact or mesh density but with the different stiffness of each node depending on how many elements share each node.
Another option is that the interpolation is not done properly. Any insight on what is going on?
Could this be an intrinsic behavior of Tet elements close to the edge.? If so, they would not be suitable to capture stresses at the edges.

Refined.

``````*NODE
1,-0.5,-0.5,0
2,0.5,-0.5,0
3,0.5,0.5,0
4,-0.5,0.5,0
5,-0.5,0.5,-1
6,0.5,0.5,-1
7,0.5,-0.5,-1
8,-0.5,-0.5,-1
9,-0.5,0,-1
10,0,0,0
11,0,-0.5,0
12,-0.5,0,0
13,-0.5,-0.5,-0.5
14,0,0.5,0
15,0.5,0,0
16,0.5,0.5,-0.5
17,0,0,0.22
18,0,0,-1.22
19,0.5,0,-1
20,0.5,-0.5,-0.5
21,0.5,0,-0.5
22,0,0,-1
23,0,-0.5,-1
24,0,-0.5,-0.5
25,0,0.5,-0.5
26,-0.5,0,-0.5
27,-0.5,0.5,-0.5
28,0,0.5,-1
29,0,0,-1.22
*ELEMENT,TYPE=C3D10
1,6,7,2,8,19,20,21,22,23,24
2,4,3,2,6,14,15,10,25,16,21
3,4,6,8,5,25,22,26,27,28,9
4,4,2,1,8,10,11,12,26,24,13
5,4,6,2,8,25,21,10,26,22,24
*NSET,NSET=Ref1
17
*NSET,NSET=Ref2
18
*NSET,NSET=Rigi2
5
6
7
8
9
19
22
23
28
*NSET,NSET=ref_and_rot_nodes
18
29
*ELSET,ELSET=ESET1
1
2
3
4
5
*SURFACE,NAME=Rigi2
3,S3
1,S2
*SURFACE,NAME=Slave
2,S1
4,S1
*MATERIAL,NAME=Steel
*ELASTIC,TYPE=ISOTROPIC
210000000000,0.3
*DENSITY
7850
*SOLID SECTION,ELSET=ESET1,MATERIAL=Steel
*BOUNDARY
3,3,,0
4,3,,0
14,3,,0
18,1,,0
18,2,,0
18,3,,0
29,2,,0
29,3,,0
*RIGID BODY,NSET=Rigi2,REF NODE=18,ROT NODE=29
*STEP
*STATIC,SOLVER=PARDISO
*BOUNDARY
29,1,,0.01745329251994
*NODE FILE,GLOBAL=YES
U,RF
*EL FILE
S,NOE
*NODE PRINT,GLOBAL=YES,NSET=ref_and_rot_nodes
RF
*EL PRINT, ELSET=ESET1
S
*END STEP

``````

With disabled averaving:

Thanks, Calc_em.

It may seem those uneven stresses shown on recent posts wouldn’t be related with the contact parameters nor the mesh “quality”.

Seems Tets are not capable to deliver uniform stress distributions on edges. Same model with C3D8 or C3D20 doesn’t show issues.

probably rigid body and too coarse mesh make oversttiffen the models, using coupling distribution and/or finer mesh can give an insight. I’m frequently in modeling of bolt and hole plate contact with quadratic tetrahedral element, even coarse (16 elements per circumference) have no issue like uneven spot stress.

Two or three element per radius seems not enough to capture in contact, element type being used (linear maybe) and midside nodes fitted the geometry also questionable.

Abaqus offers geometric smoothing of contact surfaces for such cases. Of course, CalculiX doesn’t have it so one can only play with contact settings and meshing.

Although may not be the deep explanation it can help to think on different workarounds to obtain much more even results.

indeed, i’m in convergence issue for such condition in CalculiX, did not know how the screenshot produced results (maybe linear element type). Four elements quadratic tetrahedral per radius (quarter of circle) and fit midside node to geometry can solve the problem in most of my cases.

some result of cube: moment load, linear spring support. Coupling type distribution can not help for single element in width and height.

If you are seeking for a deeper explanation then it probably could be found in the shape function for the C3D10 element.
By summarize strain by use of the shape formulation in a given direction for all element connected to the same node, I will expect you will end up with a soft and a stiff corner for a given direction with example 1 from @disla.
The shape function for C3D10 element can be found in section “2.2.4 The 10-node tetrahedral element” in “The finite element method for three-dimensional thermomechanical applications.” by Dhondt

1 Like

i checked by simple case in contact of two part by Mortar methods, it seems the problems are mesh dependent also. Tetrahedral mesh pattern shown that matter.

“Mesh dependence” means your solution didn’t converge yet and needs refinement.

It is not a mesh refinement problem. The following two cubes (1mx1mx1m)
are both meshed with the same number of tet4 elements. 20480 each.
BC is an imposed compressive displacement in direction (-1,-1,-1) . The same on both Cubes. Opposite sides are constrained with a friction less support each face.

The only difference is the Tet orientation. In the one on the right, the imposed BC is applied to an isolated node not shared by any other TET. The one on the left is applied to a corner node shared by 4 Tet Elements.

The difference in VM stress is 177.5MPa to 70.1 MPa.

The difference increases to -99.44 MPa to -253 MPa when comparing Minor Principal Stresses.

With TET10 the difference in VM is 373 MPa to 931 MPa
Minor Principal Stress goes from 462 MPa to 1167 MPa

I would say that this is sort of mesh refinement. The total number of elements stays the same but there’s just one C3D10 element resolving the stress in that corner in the first case vs 4 such elements in the second case.

Well, Thats the case when two bodies collide in an edge and what I’m exposing. Depending on the tets orientation on that edge, the Stresses show a large discrepancy.
Those points where the contact is stablished on a node sharing more than one tet, the stiffness is distributed while others can’t. There is no way to avoid that. That’s not a mesh refinement or contact problem.

Same model but distributing the load over the edge and fixing the base, Stress range can go from 170 to 230 in one case and 229 MPa to 240 Mpa at the other. The difference is noticeble and those wavy oscilations on stress in the edge emerge more clearly.

it seems related to mesh pattern, not only a refinement. My simple test of two part contact shown unequal stress at each corner of the bottom parts, but the second mesh pattern did not.

I agree. On top of that you can add tetrahedron quality: it should be regular for best performance, like using straight parallelepipeds as hexaehedrons.

One solution could be to select only those tets with complete sides constituting the edge under consideration and remove the averaging with their internal neighbors (those who only have one node on the edge). The range of Stress reduces to a few MPa even for the Principal Compressive Stress.

some of the tests you’re doing seem to involve reentrant corners. so i doubt they would ever converge. the stress should just keep increasing with more refinement. other issues you point out may have to do with the element formulation. i don’t know that there is anything you can do about it. i have seen results with contact that don’t look good at all. similar to your pictures. the way the contact gets connected to nodes isn’t that great, when compared to expensive software like ansys. i think you have to ignore a lot of the things you are seeing and find workarounds. i wouldn’t count on ccx changing substantially in these areas. it’s good you are pounding on the software and finding issues though. it may lead to improvements, down the road. stress smoothing, particularly in contact patches, would be a nice improvement.

I came across this problem recently with on quadratic elements (hex too) where it doesn’t know the load distribution before solving and has to make some assumption about the weighting factor for each node.

If you know the load distribution, like an applied moment load, then you can integrate over the elements properly and get perfect results. Here’s a moment load showing symmetric deflection and stress:

But with distributing coupling or a spring support (like @xyont 's case), it has to build the stiffness matrix before it knows the load distribution (which comes from the solution) so it probably assumes uniform load over faces which gives this bad result for nonuniform loads. Looks like contact seems to do the same even though in principle, it could iterate to adjust the spring stiffness to match the load.

Indeed. Edge and corner contacts are stress singularities so even a uniform solution will be wrong anyway.