TRIANGULATION_TRIANGLE_NEIGHBORS is a FORTRAN90 program which computes the three neighboring triangles of each triangle in a triangulation.
The user supplies a node file and a triangle file, containing the coordinates of the nodes, and the indices of the nodes that make up each triangle. Either 3-node or 6-node triangles may be used.
The program reads the data, computes the triangle neighbor information, and writes out the information to a file. In cases where one side of a triangle has no triangle neighbor, a value of -1 is assigned.
The triangle neighbor array is useful if the triangulation has to be searched to find the triangle containing a given point. It is also useful when analyzing the bandwidth of the adjacency matrix, or of a finite element matrix derived from the triangulation.
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
MESH_BANDWIDTH is a FORTRAN90 program which returns the geometric bandwidth associated with a mesh of elements of any order and in a space of arbitrary dimension.
NEIGHBORS_TO_METIS_GRAPH is a FORTRAN90 program which reads a triangle mesh neighbor file created by TRIANGULATION_TRIANGLE_NEIGHBORS and writes a modified version of the same data suitable for input to the mesh partitioning program METIS.
RCM is a FORTRAN90 library of routines for reverse Cuthill-McKee computations.
TABLE_DELAUNAY is a FORTRAN90 program which triangulates a set of nodes whose coordinates are stored in a file.
TET_MESH_RCM is a FORTRAN90 library which applies the reverse Cuthill-McKee reordering to a tetrahedral mesh of nodes in 3D.
TRIANGLE is a C program which computes a triangulation of a geometric region.
TRIANGULATION is a FORTRAN90 library which carries out various operations on order 3 ("linear") or order 6 ("quadratic") triangulations.
TRIANGULATION_BOUNDARY_NODES is a FORTRAN90 program which reads data defining a triangulation, determines which nodes lie on the boundary, and writes their coordinates to a file.
TRIANGULATION_CORNER, a FORTRAN90 program which patches triangulations so that no triangle has two sides on the boundary.
TRIANGULATION_DISPLAY_OPEN_GL is a C++ program which reads files defining a triangulation and displays an image using Open GL.
TRIANGULATION_L2Q is a FORTRAN90 program which reads data defining a 3-node triangulation and generates midside nodes and writes out the corresponding 6-node triangulation.
TRIANGULATION_MASK is a FORTRAN90 program which takes an existing triangulation and deletes triangles and their corresponding nodes as requested by the user.
TRIANGULATION_ORDER3 is a directory which contains a description and examples of order 3 triangulations.
TRIANGULATION_ORDER6 is a directory which contains a description and examples of order 6 triangulations.
TRIANGULATION_ORIENT is a FORTRAN90 program which reads data defining a triangulation, makes sure that every triangle has positive orientation, and if not, writes a corrected triangle file.
TRIANGULATION_PLOT is a FORTRAN90 program which reads data defining a triangulation and creates a PostScript image of the nodes and triangles.
TRIANGULATION_Q2L is a FORTRAN90 program which reads data defining a 6-node triangulation, and subdivides each triangle into 4 3-node triangles, writing the resulting triangulation to a file.
TRIANGULATION_QUALITY is a FORTRAN90 program which reads data defining a triangulation and computes a number of quality measures.
TRIANGULATION_RCM is a FORTRAN90 program which can reorder the nodes of a triangulation so that the bandwidth of the associated adjacency matrix is reduced.
TRIANGULATION_REFINE is a FORTRAN90 program which can be used to refine a triangulation.
TRIANGULATION_TRIANGLE_NEIGHBORS is available in a C++ version and a FORTRAN90 version and a MATLAB version.
Files associated with a 3-node triangulation:
Files associated with a 6-node triangulation:
You can go up one level to the FORTRAN90 source codes.