TET_MESH_TET_NEIGHBORS, a C++ code which reads information defining a tet mesh of points in 3D, and determines, for each face of each tetrahedron, the index of the neighboring tetrahedron that shares that face.
The tet mesh is defined by a node file containing the coordinates of nodes, and a tetra file containing sets of 4 or 10 node indices. For this calculation, though, only the tetra file is needed.
If a tetrahedron is on the boundary, then one or more of its faces will not be shared by any tetrahedron. Such cases will be indicated by specifying the corresponding neighbor value as -1.
tet_mesh_tet_neighbors 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_TET_NEIGHBORS is available in a C++ version and a FORTRAN90 version and a MATLAB version.
NEIGHBORS_TO_METIS_GRAPH, a C++ program which reads a tet mesh neighbor file created by TET_MESH_TET_NEIGHBORS and writes a modified version of the same data suitable for input to the mesh partitioning program METIS.
TET_MESH, a C++ library which is useful for work with tet meshes.
TET_MESH_BOUNDARY, a C++ program 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++ program which reads a tet mesh and displays the nodes and edges using OpenGL.
TET_MESH_L2Q, a C++ program which converts a linear to quadratic tet mesh.
TET_MESH_Q2L, a C++ program which can convert a quadratic (10-node) tet mesh to a linear (4-node) tet mesh.
TET_MESH_QUALITY, a C++ program which can compute the quality of a tet mesh.
TET_MESH_RCM, a C++ program which takes a tet mesh and relabels the nodes to reduce the bandwidth of the corresponding adjacency matrix.
TET_MESH_REFINE, a C++ program which can refine a tet mesh.
TET_MESH_VOLUMES, a C++ program which computes the volume of each tetrahedron in a tet mesh;