Add TET10 support to the Mesh Quality filter
There was a discussion a year ago about the Mesh Quality filter. This filter uses the Verdict library. The discussion was here: #20805 (closed). Tet10's are not totally supported in the Verdict library, so we decided to return a Quality of nan. It turns out that many quality values for tet10s ARE calculated in the Verdict library. Please enable these options, and when tet10's are not supported, default to tet4s. Here is how to reproduce the issue:
- 5.11.1, Linux, builtin server
- Sources/ UnstructuredCellTypes. Quadratic Tet. Apply.
- Filters/ Mesh Quality. Tet Quality Measure = Scaled Jacobian.
Everything will be yellow. This is because the Mesh Quality filter is returning nan's for Tet10's (Quadratic Tets).
Here is the thread from the user and Clint Stimpson, the project manager of Verdict explaining what we should be doing:
From user (Kevin M):
Verdict already supports some quality metrics for TET10 without reverting to a TET4 equivalent. “Normalized Inradius” is one of them. Surely there are others? I’m just asking that ParaView interface with the already-available verdict metrics in some meaningful way.
As best I can tell, ParaView does not interface with verdict at all for any TET10 quality measures – everything I check reports as NaN. It would be a much better solution, in my opinion, to interface with Verdict for all available Tet10 metrics and to revert to an equivalent TET4 for those metrics which are not fully supported – supplemented with an appropriate warning. In many cases the TET4 equivalent metric is probably identical to the TET10 metric when midside nodes are centered and unkinked, so there is still a lot of value to be added there.
From Clint: We have tet10 support with inradius, normalized inradius, mean ratio, distortion, jacobian and volume.
It seems possible to support tet10 for a few more without too much trouble (scaled jacobian, for example).
And then there are several more metrics where I don’t think anyone has considered whether or how they could be implemented for tet10. Whether they are implemented for tet10 probably depends on the meaning of the metric in relation to the analysis.