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.

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.


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.


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


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

Related Programs:

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

TET_MESH_BOUNDARY, a C++ code 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++ code which reads a tet mesh and displays the nodes and edges using OpenGL.

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

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


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

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

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

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

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


  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.