triangulation_q2l, a MATLAB code which reads information describing a triangulation of a set of points using 6-node ("quadratic") triangles, and creates a 3-node ("linear") triangulation.
The same nodes are used, but each 6-node triangle is broken up into four smaller 3-node triangles.
Thus, the program might be given the following 4 triangles:
11-12-13-14-15 |\ |\ | | \ | \ | 6 7 8 9 10 | \ | \ | | \| \| 1--2--3--4--5
It would make a new triangulation involving 16 triangles:
11-12-13-14-15 |\ |\ |\ |\ | | \| \| \| \| 6--7--8--9-10 |\ |\ |\ |\ | | \| \| \| \| 1--2--3--4--5
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_elements.txt contains the triangle information for the 6-node triangulation. Each line contains the indices of six nodes that form a triangle, in counterclockwise order. The first three indices are the vertices, in counterclockwise order. The fourth index is the midside node between vertices 1 and 2, the fifth the midside between vertices 2 and 3, and the sixth the midside between vertices 3 and 1.
The output file prefix_q2l_elements.txt contains the triangle information for the 3-node triangulation. The vertices for each triangle are listed in counterclockwise order. There are 4 times as many triangles in this triangulation.
triangulation_q2l ( 'prefix' )where prefix is the common filename prefix:
The computer code and data files described and made available on this web page are distributed under the MIT license
triangulation_q2l is available in a C++ version and a FORTRAN90 version and a MATLAB version.
mesh_to_xml, a MATLAB code 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.
triangulation, a MATLAB code which carries out various operations on order 3 ("linear") or order 6 ("quadratic") triangulations.
triangulation_boundary_edges, a MATLAB code which reads data defining a triangulation, determines which edges lie on the boundary, organizes them into connected components, and writes this information to a file.
triangulation_boundary_nodes, a MATLAB code which reads data defining a triangulation, determines which nodes lie on the boundary, and writes their coordinates to a file.
triangulation_corner, a MATLAB code which patches triangulations so that no triangle has two sides on the boundary.
triangulation_delaunay_discrepancy, a MATLAB code which measures the amount by which a triangulation fails the local delaunay test;
triangulation_display, a MATLAB code which displays the nodes and elements of a triangulation on the MATLAB graphics screen;
triangulation_histogram, a MATLAB code which computes histograms of data over a triangulation.
triangulation_l2q, a MATLAB code which reads data defining a 3-node triangulation and generates midside nodes and writes out the corresponding 6-node triangulation.
triangulation_mask, a MATLAB code which takes an existing triangulation and deletes triangles and their corresponding nodes as requested by the user.
triangulation_node_to_element, a MATLAB code 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_order3, a directory which contains a description and examples of order 3 triangulations.
triangulation_order6, a directory which contains a description and examples of order 6 triangulations.
triangulation_orient, a MATLAB code 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 MATLAB code which reads data defining a triangulation and creates a postscript image of the nodes and triangles.
triangulation_quad, a MATLAB code which estimates the integral of a function over a triangulated region.
triangulation_quality, a MATLAB code which reads data defining a triangulation and computes a number of quality measures.
triangulation_rcm, a MATLAB code 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_refine, a MATLAB code which reads data defining a triangulation, replaces each triangle by four congruent smaller ones, and writes the new triangulation information to a file.
triangulation_triangle_neighbors, a MATLAB code which reads data defining a triangulation, determines the neighboring triangles of each triangle, and writes that information to a file.