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:

Licensing:

The information on this web page is 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 and an Octave version.

Related Programs:

tet_mesh_test

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.

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;

tetrahedron_keast_rule, a C++ code which defines a number of quadrature rules for a tetrahedron.

tetrahedron_ncc_rule, a C++ code which defines Newton-Cotes closed quadrature rules on a tetrahedron.

tetrahedron_nco_rule, a C++ code which defines Newton-Cotes open quadrature rules on a tetrahedron.

Reference:

  1. Herbert Edelsbrunner,
    Geometry and Topology for Mesh Generation,
    Cambridge, 2001,
    ISBN: 0-521-79309-2,
    LC: QA377.E36.
  2. 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.
  3. 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.
  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 25 April 2020.