TET_MESH_TET_NEIGHBORS
Interactive Program for
Tet Mesh Neighbors


TET_MESH_TET_NEIGHBORS is a FORTRAN90 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.

Usage:

tet_mesh_tet_neighbors tetra_file.txt
reads the tetrahedral part of a tet mesh definition, computes the neighbors, and writes them out as tetra_file.neighbors.txt.

Related Programs:

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

MATLAB has a command delaunay3 that can compute the tet mesh for a set of 3D points.

NEIGHBORS_TO_METIS_GRAPH is an executable FORTRAN90 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.

TABLE_TET_MESH is an executable FORTRAN90 program which can compute the tet mesh for a given set of points.

TEST_TET_MESH is a FORTRAN90 library defining a few test regions for the generation of a tet mesh.

TET_MESH is a FORTRAN90 library of routines useful for work with tet meshes.

TET_MESH_DISPLAY is a MATLAB program which can read in the node and tetra files defining a tet mesh and display a wireframe image.

TET_MESH_DISPLAY_OPEN_GL is a C++ executable program which reads a tet mesh and displays the nodes and edges using OpenGL.

TET_MESH_L2Q is an executable FORTRAN90 program which can convert a linear (4-node) tet mesh to a quadratic (10-node) tet mesh.

TET_MESH_ORDER4 is a directory which contains a description and examples of a tet mesh using order 4 elements.

TET_MESH_ORDER10 is a directory which contains a description and examples of a tet mesh using order 10 elements.

TET_MESH_Q2L is an executable FORTRAN90 program which can convert a quadratic (10-node) tet mesh to a linear (4-node) tet mesh.

TET_MESH_QUALITY is an executable FORTRAN90 program which can compute the quality of a tet mesh.

TET_MESH_RCM is an executable FORTRAN90 program which takes a tet mesh and relabels the nodes to reduce the bandwidth of the corresponding adjacency matrix.

TET_MESH_REFINE is an executable FORTRAN90 program which can refine a tet mesh.

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

TET_MESH_TET_NEIGHBORS is a data directory containing a description and examples of the format for storing information about neighboring tetrahedrons in a tetrahedral 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. Per-Olof Persson, Gilbert Strang,
    A Simple Mesh Generator in MATLAB,
    SIAM Review,
    Volume 46, Number 2, June 2004, pages 329-345.

Source code

Examples and Tests

CUBE is a simple example of 8 nodes in a cube. Test files you may copy include:

List of Routines

You can go up one level to the FORTRAN90 source codes.


Last revised on 24 July 2008.