TET_MESH_QUALITY
Interactive Program for
Tet Mesh Quality


TET_MESH_QUALITY, a C++ code which computes and prints a variety of quality measures for a given tet mesh of a set of points in 3D.

The tet mesh is defined by a node file containing the coordinates of nodes, and a tetra file containing quadruples of node indices. For more information on this format, see the order4 tet mesh format.

The quality measures computed include:

Each quality measure is defined as the minimum of its value over each tetrahedron. The maximum and best possible value is 1, and the minimum and worst value is 0.

Usage:

tet_mesh_quality prefix
where prefix is the common file prefix:

The element definition file will list node indices. In C++, it may be more natural to use 0-based indices. This program will accept an element definition file that is 0-based or 1-based, and will convert a 1-based input file so that it becomes 0-based internal to the program. The detection of 1-based data is determined by the absence of the use of a 0 index, and the use of an index equal to the number of nodes. This is an implicit and fallible, but reasonable, way to handle this problem.

Licensing:

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

Languages:

TET_MESH_QUALITY is available in a C++ version and a FORTRAN90 version and a MATLAB version.

Related Programs:

TET_MESH, a C++ library which carries out computations with a tet mesh.

TET_MESH_BOUNDARY, a C++ program which returns the nodes and faces of the boundary of a tetrahedral mesh, which themselves form a 3D triangular mesh or "TRI_SURFACE".

TET_MESH_DISPLAY_OPENGL, a C++ program which reads a tet mesh and displays the nodes and edges using OpenGL.

TET_MESH_L2Q, a C++ program which converts a linear to quadratic tet mesh.

TET_MESH_Q2L, a C++ program which converts a quadratic to linear tet mesh.

tet_mesh_quality_test

TET_MESH_RCM, a C++ program which takes a tet mesh and relabels the nodes to reduce the bandwidth of the corresponding adjacency matrix.

TET_MESH_REFINE, a C++ program which refines a tet mesh.

TET_MESH_TET_NEIGHBORS, a C++ program which computes the tetrahedral adjacency information.

TET_MESH_VOLUMES, a C++ program which computes the volume of each tetrahedron in a tet mesh.

TRIANGULATION_QUALITY, a C++ program which computes triangle-based quality measures for a triangulation of a set of points in 2D.

Reference:

  1. Herbert Edelsbrunner,
    Geometry and Topology for Mesh Generation,
    Cambridge, 2001,
    ISBN: 0-521-79309-2,
    LC: QA377.E36.
  2. David Field,
    Qualitative Measures for Initial Meshes,
    International Journal of Numerical Methods in Engineering,
    Volume 47, 2000, pages 887-906.
  3. Barry Joe,
    GEOMPACK - a software package for the generation of meshes using geometric algorithms,
    Advances in Engineering Software,
    Volume 13, 1991, pages 325-331.
  4. Per-Olof Persson, Gilbert Strang,
    A Simple Mesh Generator in MATLAB,
    SIAM Review,
    Volume 46, Number 2, June 2004, pages 329-345.

Source Code


Last revised on 29 April 2020.