TET_MESH
Routines for a Tet Mesh


TET_MESH is a FORTRAN90 library which constructs, describes, and 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:

MATLAB has a command delaunay3 that can compute the tet mesh for a set of 3D points.

Licensing:

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

Related Programs:

CVT_TET_MESH is a FORTRAN90 library which uses CVT methods to compute a tet mesh in a region.

GEOMETRY is a FORTRAN90 library which includes a number of routines for making computations involving tetrahedrons.

GEOMPACK is a FORTRAN90 library which contains a routine DTRIS3 that can compute the tet mesh for a set of 3D points, as well as the adjacency information.

KEAST is a FORTRAN90 library which defines a number of quadrature rules for a tetrahedron.

NCC_TETRAHEDRON is a FORTRAN90 library which defines Newton-Cotes closed quadrature rules on a tetrahedron.

NCO_TETRAHEDRON is a FORTRAN90 library which defines Newton-Cotes open quadrature rules on a tetrahedron.

QUADRATURE_RULES_TET is a dataset directory which contains triples of files defining various quadrature rules on tetrahedrons.

TABLE_TET_MESH is a FORTRAN90 program which computes the tet mesh for a given set of points.

TEST_TET_MESH is a FORTRAN90 library which defines a few test regions for the generation of a tet mesh.

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

TET_MESH_DISPLAY is a MATLAB program which can read in the node and tetra files defining a tet mesh and display a wireframe image.

TET_MESH_DISPLAY_OPEN_GL is a C++ program which can read in the node and tetra files defining a tet mesh and display a wireframe image.

TET_MESH_L2Q is a FORTRAN90 program which converts a linear to quadratic tet mesh.

TET_MESH_ORDER4 is a directory which contains a description and examples of a tet mesh using order 4 elements.

TET_MESH_ORDER10 is a directory which contains a description and examples of a tet mesh using order 10 elements.

TET_MESH_Q2L is a FORTRAN90 program which converts a quadratic to linear tet mesh.

TET_MESH_QUALITY is a FORTRAN90 program which computes the quality of a tet mesh.

TET_MESH_RCM is a FORTRAN90 program which takes a tet mesh and relabels the nodes to reduce the bandwidth of the corresponding adjacency matrix.

TET_MESH_REFINE is a FORTRAN90 program which can refine a tet mesh.

TET_MESH_TET_NEIGHBORS is a FORTRAN90 program which computes the tetrahedral adjacency information.

TET_MESH_VOLUMES is a FORTRAN90 program which computes the volume of each tetrahedron in a tet mesh;

TETRAHEDRON_PROPERTIES, a FORTRAN90 program which computes properties of a given tetrahedron.

TETRAHEDRONS, a dataset directory which contains examples of tetrahedrons;

Reference:

  1. Adrian Bowyer, John Woodwark,
    A Programmer's Geometry,
    Butterworths, 1983,
    ISBN: 0408012420.
  2. Paul Bratley, Bennett Fox, Linus Schrage,
    A Guide to Simulation,
    Second Edition,
    Springer, 1987,
    ISBN: 0387964673.
  3. Qiang Du, Desheng Wang,
    The Optimal Centroidal Voronoi Tesselations and the Gersho's Conjecture in the Three-Dimensional Space,
    Computers and Mathematics with Applications,
    Volume 49, 2005, pages 1355-1373.
  4. Herbert Edelsbrunner,
    Geometry and Topology for Mesh Generation,
    Cambridge, 2001,
    ISBN: 0-521-79309-2,
    LC: QA377.E36.
  5. Barry Joe,
    GEOMPACK - a software package for the generation of meshes using geometric algorithms,
    Advances in Engineering Software,
    Volume 13, Number 5, 1991, pages 325-331.
  6. Anwei Liu, Barry Joe,
    Quality Local Refinement of Tetrahedral Meshes Based on 8-Subtetrahedron Subdivision,
    Mathematics of Computation,
    Volume 65, Number 215, July 1996, pages 1183-1200.
  7. Albert Nijenhuis, Herbert Wilf,
    Combinatorial Algorithms for Computers and Calculators,
    Second Edition,
    Academic Press, 1978,
    ISBN: 0-12-519260-6,
    LC: QA164.N54.
  8. Per-Olof Persson, Gilbert Strang,
    A Simple Mesh Generator in MATLAB,
    SIAM Review,
    Volume 46, Number 2, June 2004, pages 329-345.
  9. Philip Schneider, David Eberly,
    Geometric Tools for Computer Graphics,
    Elsevier, 2002,
    ISBN: 1558605940.

Source code:

Examples and Tests:

List of Routines:

You can go up one level to the FORTRAN90 source codes.


Last revised on 18 August 2009.