tet_mesh, a C++ code which constructs, describes, or modifies a mesh of tetrahedrons.
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:
The computer code and data files described and made available on this web page are distributed under the MIT license
tet_mesh is available in a C++ version and a C++ version and a FORTRAN90 version and a MATLAB version.
GEOMETRY, a C++ code which includes a number of routines for making computations involving tetrahedrons.
GEOMPACK, a C++ code which contains a routine DTRIS3 that can compute the tet mesh for a set of 3D points, as well as the adjacency information.
KEAST, a C++ code which defines a number of quadrature rules for a tetrahedron.
NCC_TETRAHEDRON, a C++ code which defines Newton-Cotes closed quadrature rules on a tetrahedron.
NCO_TETRAHEDRON, a C++ code which defines Newton-Cotes open quadrature rules on a tetrahedron.
QUADRATURE_RULES_TET, a dataset directory which contains triples of files defining various quadrature rules on tetrahedrons.
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, a MATLAB program which can read in the node and tetra files defining a tet mesh and display a wireframe image.
TET_MESH_DISPLAY_OPENGL, a C++ code which can read in the node and tetra files defining a tet mesh and display a wireframe image.
TET_MESH_L2Q, a C++ code which converts a linear to quadratic tet mesh.
TET_MESH_ORDER4, a directory which contains a description and examples of a tet mesh using order 4 elements.
TET_MESH_ORDER10, a directory which contains a description and examples of a tet mesh using order 10 elements.
TET_MESH_Q2L, a C++ code which converts a quadratic to linear tet mesh.
TET_MESH_QUAD, a C++ code which estimates the integral of a function over a region defined by a tetrahedral mesh.
TET_MESH_QUALITY, a C++ code which computes the quality of a 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 can refine 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;