Skip to content

Fix negative jacobian of some tetra created in vtkHigherOrderTetra::Triangulate

This fix the wrong volume reported for Lagrange/Bezier tetra cells in paraview/paraview#18395 (closed)

A quadratic tetrahedron is divided into 8 linear tetrahedra in vtkHigherOrderTetra::Triangulate . But when we look at the volume of these 8 linear tetrahedra, half of them have a negative volume as follow:

vtkMeshQuality::TetVolume(tet) -0.0104167
vtkMeshQuality::TetVolume(tet) -0.0104167
vtkMeshQuality::TetVolume(tet) -0.0104167
vtkMeshQuality::TetVolume(tet) -0.0104167
vtkMeshQuality::TetVolume(tet) 0.0104167
vtkMeshQuality::TetVolume(tet) 0.0104167
vtkMeshQuality::TetVolume(tet) 0.0104167
vtkMeshQuality::TetVolume(tet) 0.0104167

So the sum is completely wrong. It means that the Jacobian is inverted for some cells, and this MR fix that by inverting two vertices for the erroneous cells.

Backport: release

Edited by Ben Boeckel

Merge request reports