tet_mesh_q2l


tet_mesh_q2l, a C++ code which reads information describing a tet mesh of a set of points using 10-node ("quadratic") triangles, and creates a 4-node ("linear") tet mesh.

The same nodes are used, but each 10-node tetrahedron is broken up into 8 smaller 4-node tetrahedrons.

Usage:

tet_mesh_q2l prefix
where prefix is the common file prefix:

The input and output files use the simple TABLE format; comment lines begin with a "#" character. Otherwise, each line of the file contains one set of information, either the coordinates of a node (for a node file), or the indices of nodes that make up a tetrahedron, (for a tetrahedron file).

The input file tetras.txt contains the tetrahedron information for the 10-node tet mesh. Each line contains the indices of 10 nodes that form a tetrahedron, in a particular order. The first 4 indices are the vertices. Subsequent nodes can be described by the pair of vertices they lie between, as follows:

        1  2  3  4  (1+2)  (1+3)  (1+4)  (2+3)  (2+4)  (3+4)
      

The output file tetras.l2q.txt contains the tetrahedron information for the 4-node tet mesh.

Licensing:

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

Languages:

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

Related Programs:

TET_MESH, a C++ code which includes a variety of routines for working with tetrahedral meshes.

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_test

TET_MESH_QUALITY, a C++ code which computes the "quality" of a mesh.

TET_MESH_RCM, a C++ code which takes a 4-node or 10-node 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;

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, 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 27 April 2020.