TRIANGULATION_REFINE is a FORTRAN90 program which reads information describing a triangulation of a set of points and creates a refined triangulation.
The refined triangulation is created by dividing each triangle into four similar subtriangles. The mesh size parameter h will be halved by such a procedure. If the input triangulation is Delaunay, then so will be the output triangulation.
The program can handle triangulations that use 3 or 6 nodes per triangle.
The input and output files use the simple TABLE format; comment lines begin with a "#" character. Otherwise, each line of the file contains one set of information, either the coordinates of a node (for a node file), or the indices of nodes that make up a triangle, (for a triangle file).
The input file prefix_nodes.txt contains the node information for the triangulation. Each data line contains the X and Y coordinates of a single node.
The input file prefix_elements.txt contains the triangle information for the triangulation. Each line contains the indices of 3 or 6 nodes that form a triangle.
triangulation_refine prefixwhere prefix is the common filename prefix:
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
TRIANGULATION_REFINE is available in a C++ version and a FORTRAN90 version and . a MATLAB version.
MESH_TO_XML, a FORTRAN90 program which reads information defining a 1D, 2D or 3D mesh, namely a file of node coordinates and a file of elements defined by node indices, and creates a corresponding XML file for input to DOLFIN or FENICS.
TABLE_DELAUNAY, a FORTRAN90 program which can read a file of point coordinates and construct the Delaunay triangulation for that set of points.
TET_MESH_REFINE, a FORTRAN90 program which can refine a tet mesh.
TRIANGLE, a C program which computes a triangulation of a geometric region.
TRIANGULATION, a FORTRAN90 library which carries out various operations on order 3 ("linear") or order 6 ("quadratic") triangulations.
TRIANGULATION_BOUNDARY_NODES, 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_DELAUNAY_DISCREPANCY, a FORTRAN90 program which measures the amount by which a triangulation fails the local Delaunay test;
TRIANGULATION_DISPLAY_OPENGL, a C++ program which reads files defining a triangulation and displays an image using Open GL.
TRIANGULATION_HISTOGRAM, a FORTRAN90 program which computes histograms of data over a triangulation.
TRIANGULATION_L2Q, 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, a FORTRAN90 program which takes an existing triangulation and deletes triangles and their corresponding nodes as requested by the user.
TRIANGULATION_ORDER3, a data directory which contains a description and examples of order 3 triangulations.
TRIANGULATION_ORDER6, a data directory which contains a description and examples of order 6 triangulations.
TRIANGULATION_ORIENT, 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, a FORTRAN90 program which reads data defining a triangulation and creates a PostScript image of the nodes and triangles.
TRIANGULATION_Q2L, 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_QUAD, a FORTRAN90 program which estimates the integral of a function over a triangulated region.
TRIANGULATION_QUALITY, a FORTRAN90 program which reads data defining a triangulation and computes a number of quality measures.
TRIANGULATION_RCM, a FORTRAN90 program which reads data defining a triangulation, determines an ordering of the nodes that will reduce the bandwidth of the adjacency matrix, and writes the new triangulation information to a file.
TRIANGULATION_TRIANGLE_NEIGHBORS, a FORTRAN90 program which reads data defining a triangulation, determines the neighboring triangles of each triangle, and writes that information to a file.
BOX3 is an example of the refinement of a 3-node triangulation of a rectangular box.
IRREG6 is an example of the refinement of a 6-node triangulation of an irregular region with a hole:
HOUSE6 is an example of the refinement of a simple 6-node triangulation of a "house" diagram that involved 3 triangles.
You can go up one level to the FORTRAN90 source codes.