TET_MESH_VOLUMES is a C++ program which computes the volume of every tetrahedron in a tet mesh.
tet_mesh_volume prefixwhere prefix is the common file prefix:
The element definition file will list node indices. In C++, it may be more natural to use 0-based indices. This program will accept an element definition file that is 0-based or 1-based, and will convert a 1-based input file so that it becomes 0-based internal to the program. The detection of 1-based data is determined by the absence of the use of a 0 index, and the use of an index equal to the number of nodes. This is an implicit and fallible, but reasonable, way to handle this problem.
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
TET_MESH_VOLUMES is available in a C++ version and a FORTRAN90 version and a MATLAB version.
TET_MESH, a C++ library which carries out various operations on tetrahedral 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, a MATLAB program which reads in the node and tetra files defining a tet mesh and displays a wireframe image.
TET_MESH_DISPLAY_OPENGL, a C++ program which reads a 3D tet mesh and displays the nodes and edges using OpenGL.
TET_MESH_L2Q, a C++ program which reads information about a 4-node (linear) tet mesh and creates data defining a corresponding 10-node (quadratic) tet mesh;
TET_MESH_ORDER4, a data directory which contains a description of a linear tet mesh of a set of 3D points, using a pair of files to list the node coordinates and the 4 nodes that make up each tetrahedron;
TET_MESH_ORDER4, a dataset directory which contains examples of order 4 tetrahedral meshes.
TET_MESH_ORDER10, a data directory which contains a description of a quadratic tet mesh of a set of 3D points, using a pair of files to list the node coordinates and the 10 nodes that make up each tetrahedron;
TET_MESH_ORDER10, a dataset directory which contains examples of order 10 tetrahedral meshes.
TET_MESH_Q2L, a C++ program which reads information about a 10-node (quadratic) tet mesh and creates data defining a corresponding 4-node (linear) tet mesh;
TET_MESH_QUALITY, a C++ program which computes quality measures of a tetrahedral mesh.
TET_MESH_RCM, a C++ program which computes the reverse Cuthill-McKee reordering for the nodes of a tet mesh that uses 4-node or 10-node tetrahedrons;
TET_MESH_REFINE, a C++ program which refines a tet mesh;
TET_MESH_TET_NEIGHBORS, a data directory which contains examples of TET_MESH_TET_NEIGHBOR files, description of a format for tetrahedron adjacency information in a tetrahedral mesh of 3D points;
TET_MESH_TET_NEIGHBORS, a C++ program which reads information about a tet mesh and writes out a list of the tetrahedrons that are adjacent to a given tetrahedron;
CUBE is the 8 vertices of the unit cube [0,1]x[0,1]x[0,1], defining 6 elements of equal volume but not equal shape.
TWENTY is 20 random nodes, defining 70 elements.
You can go up one level to the C++ source codes.