TRIANGULATION, a C library which computes a triangulation of a set of points in 2D, and carries out various other related operations on triangulations of order 3 or 6.
The mesh is the collection of triangles. Each triangle is termed an "element". The points used to define the shape of the triangle (the corners, and sometimes a few more points) are called the "nodes".
Routines are available to:
Since triangulations are often used to define a finite element mesh, which in turn defines a sparse matrix, there are routines available which can define the sparse compressed column arrays needed for a sparse matrix associated with a mesh of order 3 or 6. The special case of the Taylor-Hood mixed element is also handled, which is essentially an order 6 grid counted twice and an order 3 grid that only uses the vertices of the order 6 grid.
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
TRIANGULATION is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version.
TRIANGLE, a C program which computes a triangulation of a geometric region.
TRIANGULATION_NODE_TO_ELEMENT, a C program which reads files describing a set of nodes, their triangulation, and the value of one or more quantities at each node, and outputs a file that averages the quantities for each element. This operation in effect creates an "order1" finite element model of the data.
TRIANGULATION_SVG, a C program which creates a Scalable Vector Graphics (SVG) image of a triangulation, which can be displayed by a web browser.
TRIANGULATION_TRIANGLE_NEIGHBORS, a C program which reads data defining a triangulation, determines the neighboring triangles of each triangle, and writes that information to a file.