# triangulation_quad

triangulation_quad, an Octave code which reads information defining a triangulation, and estimates the integral of a function whose values are given at the nodes.

Note that this program only expects to recieve values of the function f(x,y) at the nodes of the triangulation, that is, as a simple list of values. No formula for f is expected or used. A much better estimate for the integral might be possible if a formula for f(x,y) were available, in which case a higher order quadrature scheme could be employed.

This program should be able to compute exactly the integrals of 1, x, y, and any linear combination of these. It will only be able to approximate the integrals of other functions, and the accuracy of the approximation will depend in part on the size of the triangles in the triangulation.

### Usage:

quad = triangulation_quad ( 'prefix' )
where 'prefix' is the common prefix for the node, element, and value files
• prefix_nodes.txt, the node coordinates;
• prefix_elements.txt, the elements of the triangulation.
• prefix_values.txt, the value (which may be a scalar or vector) of some function at each node.
• quad is the (scalar or vector) result of the integration estimate.

### Licensing:

The computer code and data files described and made available on this web page are distributed under the MIT license

### Languages:

triangulation_quad is available in a C++ version and a Fortran90 version and a MATLAB version and an Octave version.

### Related Data and Programs:

quad_rule, an Octave code which defines quadrature rules for 1d domains.

stroud, an Octave code which defines quadrature rules for a variety of multidimensional reqions.

tet_mesh_quad, an Octave code which estimates the integral of a function over a region defined by a tetrahedral mesh.

triangulation, an Octave code which carries out various operations on order 3 ("linear") or order 6 ("quadratic") triangulations.

triangulation_boundary_edges, an Octave 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, an Octave code which reads data defining a triangulation, determines which nodes lie on the boundary, and writes their coordinates to a file.

triangulation_corner, an Octave code which patches triangulations so that no triangle has two sides on the boundary.

triangulation_delaunay_discrepancy, an Octave code which measures the amount by which a triangulation fails the local delaunay test;

triangulation_display, an Octave code which displays the nodes and elements of a triangulation on the MATLAB graphics screen;

triangulation_histogram, an Octave code which computes histograms of data over a triangulation.

triangulation_l2q, an Octave code which reads data defining a 3-node triangulation and generates midside nodes and writes out the corresponding 6-node triangulation.

triangulation_mask, an Octave code which takes an existing triangulation and deletes triangles and their corresponding nodes as requested by the user.

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, an Octave 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, an Octave code which reads data defining a triangulation and creates a postscript image of the nodes and triangles.

triangulation_q2l, an Octave code 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, an Octave code which computes quality measures of a triangulation.

triangulation_rcm, an Octave 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, an Octave 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, an Octave code which reads data defining a triangulation, determines the neighboring triangles of each triangle, and writes that information to a file.

### Source Code:

Last revised on 05 July 2023.