TET_MESH_BOUNDARY is a FORTRAN90 program which reads information defining a tetrahedral mesh of points in 3D, and determines the triangular faces that form the boundary of the mesh; it writes out files containing the nodes and elements defining this triangulated surface.
The tet mesh is defined by a node file containing the coordinates of nodes, and an element file containing sets of 4 or 10 node indices.
Each tetrahedron has 4 triangular faces. Most of these faces will be shared by a neighbor tetrahedron, but some are not. It is precisely those faces that are not shared by a neighbor that constitute the boundary faces of the mesh.
The program identifies the triangular faces that form the boundary, and writes two files, a "boundary_node" file that lists the coordinates of the boundary nodes, and a "boundary_element" file that lists the (renumbered) indices of the boundary nodes used to form the boundary faces. This pair of files defines a triangulated 3D surface, or "TRI_SURFACE", and can be plotted, for instance, by tri_surface_display or tri_surface_display_open_gl.
The program also writes out a "boundary node mask" file, which reports the value 1 for each boundary node, and 0 for interior nodes. A boundary node is a node that occurs on a boundary face. This file is of use to the fem_to_mesh program.
tet_mesh_boundary prefixwhere prefix is the common file prefix:
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
TET_MESH_BOUNDARY is available in a C++ version and a FORTRAN90 version and a MATLAB version.
TET_MESH, a FORTRAN90 library which is useful for work with tet meshes.
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++ program which reads a tet mesh and displays the nodes and edges using OpenGL.
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_TET_NEIGHBORS, a data directory which contains a description and examples of the format for storing information about neighboring tetrahedrons in a tetrahedral mesh.
TRI_SURFACE, a data directory which contains examples of TRI_SURFACE files, a 3D surface described by a collection of triangles.
TRI_SURFACE_DISPLAY, a MATLAB program which displays the 3D graphics information in a TRI_SURFACE file;
TRI_SURFACE_DISPLAY_OPENGL, a C++ program which displays the 3D graphics information in a TRI_SURFACE file using OpenGL.
CUBE is a tetrahedral mesh of a cube.
P04 is a tetrahedral mesh of a sphere.
You can go up one level to the FORTRAN90 source codes.