tet_mesh
tet_mesh,
a C code which
constructs, describes, or modifies a mesh of tetrahedrons.
Linear and Quadratic Meshes
The simplest tet mesh, which we term an order 4
or linear mesh, uses four points to define each tetrahedron.
A second type of mesh, known as an order 10 or quadratic
mesh, uses ten points.
While an order 4 mesh can naturally be constructed directly from
most sets of data points, a mesh of order 10 is not usually
constructed directly from the data; at least in the simplest case,
one wants the 6 extra nodes to be the midpoints of the sides
determined by the 4 vertices.
Thus, an order 10 tet mesh is typically generated in two steps:

generate an order 4 mesh, in which every tetrahedral vertex
comes from a user data point;

generate an order 10 mesh from the order 4 mesh, in which
the new midside points are not user data points, but rather
averages of pairs of tetrahedral vertices.
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the MIT license
Languages:
tet_mesh is available in
a C++ version and
a C++ version and
a FORTRAN90 version and
a MATLAB version.
Related Programs:
GEOMETRY,
a C code which
includes a number of routines for
making computations involving tetrahedrons.
tet_mesh_test
Reference:

Herbert Edelsbrunner,
Geometry and Topology for Mesh Generation,
Cambridge, 2001,
ISBN: 0521793092,
LC: QA377.E36.

Barry Joe,
GEOMPACK  a software package for the generation of meshes
using geometric algorithms,
Advances in Engineering Software,
Volume 13, Number 5, 1991, pages 325331.

Anwei Liu, Barry Joe,
Quality Local Refinement of Tetrahedral Meshes Based
on 8Subtetrahedron Subdivision,
Mathematics of Computation,
Volume 65, Number 215, July 1996, pages 11831200.

PerOlof Persson, Gilbert Strang,
A Simple Mesh Generator in MATLAB,
SIAM Review,
Volume 46, Number 2, June 2004, pages 329345.
Source Code:
Last revised on 15 August 2019.