Error 15 - CTETRA element ### is distorted (zero or negative Jacobian) and node collapse
Hi everyone (especially @Adriano Koga @Q.Nguyen-Dai @tinh )
I've got a fairly large 3D mesh of approximately 6-8 million tetra elements (depending on how I mesh) stemming from a geometrically complex, closed 2D mesh of the model done in another software. When I run the mesh with Optistruct with linear tetra elements, there is absolutely no issue whatsoever in terms of mesh quality. However, as soon as it is converted to or meshed directly with second order tetras, I cannot get rid of the above error 15 - element ### is distorted (zero or negative Jacobian). I tried several ways to remedy this, even by just deleting the elements in question to see if I can progress to a working run (which was not successful yet) as another error - node collapse - pops up. Interestingly, the failing elements during a checking run are not detected when performing a 3D element check, even when checking for Jacobian < 0. How come? For now, I manually pick the failing elements from the error list in the .out file. How can they be detected inside of Hypermesh? I'm trying different options inside the Solid Mesh Optimization utility right now, which I didn't know before, to see what will happen. So to summarize:
1. Why do element quality issues arise when changing from first order tetra do second order tetra with their midnode being half way between corner nodes?
2. How to determine collapsed nodes and/or negative Jacobian values in Hypermesh when the 3D element check will not return any errors?
3. What's the best practice to fix these elements, when their total number is too large to attack manually? Apart from remeshing the whole body, as it does not seem to remedy the problem.
4. If everything else fails, is there a possibility to enforce a run even with failing elements?
Answers
-
1. 2nd order elements are very sensitive to quality
2. Do you mean Hypermesh can not detect bad elements?
3. No magic solution here. Work, work more, work again :-)
4. Don't do that! Because the results will be useless!
0 -
I would be very cautious on running a second order model with 8M elements as it would need lots of memory and the runtime might increase a lot.
Anyway, as a very short test, you could try adding PARAM,CHECKEL,NO to ignore bad quality elements, at some extent.
Jacobian of a TETRA element will always be 1.0, except 2nd order. Try checking TET COLLAPSE in your tetras.
If you're using midnodes exactly on the edges, that should be fine. Is your analysis NL?
When dealing with tetra elements, in general, SimLab does a better job creating these meshes, with good quality, and lower element count in general. You might want to take a look at it, in the SimLab Learning Center.
0 -
@Q.Nguyen-Dai 1. You are right of course, but when the midnode is, in fact, on the midpoint between the corner nodes, the quality value does not change (as far as I understand). So then why would the quality check fail if the first order elements are fine with the exact same corner nodes?
2. Apparently, there are a few that slip past the tests, yes. As mentioned, the Jacobian check does not report a value lower than 0, but the Optistruct pretest does so.
3. Ok, I'll remesh every tetra element region which fails the checks.
4. Would they also be useless if, let's say, 15 elements out of 6 millions fail? Especially if they are of negligible size? In fact, I am mostly interested in an approximate maximum displacement and qualitative stress assessment.
@Adriano Koga I am aware of the runtime, I have 256GB of RAM and the approximate RAM needed would be around 500GB. There also is enough scratch space available. There's no problem letting the machine calculate for a few days. CHECKEL is already set to NO. I'm also aware that first order tets always report a 1.0 Jacobian value, tet collapse an minimum length is a more reliable test in this case (and for second order in this model apparently). This is why I was surprised to find that the Jacobian checks for second order tets did not report any failures, while Optistruct did The analysis is only linear. Also, what does the "node collapse" error mean exactly? It's a different error than error 15 in the title.
I might give Simlab a try, thanks for the pointer.
0 -
Hi again, I meshed the STL part in Simlab which yielded far better results. Only 2.7 million tetras of higher quality were achieved instead of 6-8 million with partially questionable quality values. I'm very impressed with Simlabs meshing capabilities and I'm surprised to find that it uses different methods than Hypermesh does. I'll probably use it far more often in the future.
0 -
Ingeniorator said:
Hi again, I meshed the STL part in Simlab which yielded far better results. Only 2.7 million tetras of higher quality were achieved instead of 6-8 million with partially questionable quality values. I'm very impressed with Simlabs meshing capabilities and I'm surprised to find that it uses different methods than Hypermesh does. I'll probably use it far more often in the future.
That's the idea!
SL is perfect for Tetra mesh, and should be used more and more in these cases.
Take a look at SL Learning Center, for more contents.
Automation capabilities of SL are also pretty nice, and easy as record and play.
0 -
Thanks a lot, I'll give it a look.
0 -
@Ingeniorator : Have a look at my simple example with TRIA6 elements. All elements have mid-node at exactly at geometrical mid-point. Element at left has Jacobian only 0.49 but the element at right has jacobian 0.82.
0 -
Hi @Q.Nguyen-Dai that does indeed make a lot of sense, thanks for the illustration. Would you happen to know more about the "node collapse" error? Unfortunately, neither Google nor the Optistruct documentation seem to contain information on this error.
0