Interactive Program for
Tet Mesh Neighbors

TET_MESH_TET_NEIGHBORS, a MATLAB program 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 'prefix'
where '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.

Related Programs:

GEOMPACK, 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.

NEIGHBORS_TO_METIS_GRAPH, a MATLAB 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 MATLAB library which is useful for work with tet meshes.

TET_MESH_BOUNDARY, a MATLAB 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, 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_L2Q, a MATLAB program 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 MATLAB program which can convert a quadratic (10-node) tet mesh to a linear (4-node) tet mesh.

TET_MESH_QUALITY, a MATLAB program which can compute the quality of a tet mesh.

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

TET_MESH_REFINE, a MATLAB program which can refine a tet mesh.

TET_MESH_TET_NEIGHBORS, a directory which includes a description and examples of the tet mesh tetrahedron neighbor data format.


TET_MESH_VOLUMES, a MATLAB program which computes the volume of each tetrahedron in a tet mesh;

VORONOI_NEIGHBORS, a MATLAB program which is given a set of points in the plane and determines the Voronoi adjacency structure, that is, which points share an edge of the Voronoi diagram.


  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. 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 02 April 2019.