DUNAVANT
Quadrature Rules for the Triangle


DUNAVANT is a C++ library, using double precision arithmetic, which defines the weights and abscisass for a sequence of 20 quadrature rules on a triangle, which are exact for polynomials up to degree 20.

These rules are almost optimal, in the sense that, for each polynomial degree, the number of points used in the rule is close to, or equal to, the theoretical minimum possible value.

A few of the rules include one or two points which are "slightly" outside the triangle; a few of the rules include weights which are negative. Both of these occurrences are generally undesirable.

Licensing:

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

Related Data and Programs:

CLENSHAW_CURTIS is a C++ library which sets up a Clenshaw Curtis quadrature grid in multiple dimensions.

DUNAVANT is also available in a FORTRAN90 version and a MATLAB version

FEKETE is a C++ library which defines Fekete rules for quadrature or interpolation on a triangle.

FELIPPA is a MATHEMATICA library which defines quadrature rules for lines, triangles, quadrilaterals, pyramids, wedges, tetrahedrons and hexahedrons.

FEM_SAMPLE is a C++ library of routines for evaluating a finite element function defined on an order 3 or order 6 triangulation.

FEMPACK is a C++ library of routines for finite element calculations.

GM_RULES is a C++ library of routines for defining a Grundmann-Moeller rule for quadrature over a triangle, tetrahedron, or general M-dimensional simplex.

KEAST is a C++ library which defines a number of quadrature rules for a tetrahedron.

NCC_TRIANGLE is a C++ library defining Newton-Cotes closed quadrature rules on a triangle.

NCO_TRIANGLE is a C++ library defining Newton-Cotes open quadrature rules on a triangle.

NINT_EXACTNESS_TRI is a C++ program which investigates the polynomial exactness of a quadrature rule for the triangle.

NINTLIB is a FORTRAN90 library containing a variety of routines for numerical estimation of integrals in multiple dimensions.

QUADRULE is a C++ library which defines quadrature rules on a variety of intervals with different weight functions.

STROUD is a C++ library containing quadrature rules for a variety of unusual areas, surfaces and volumes in 2D, 3D and N-dimensions.

TEST_TRI_INT is a FORTRAN90 library which can be used to test algorithms for quadrature over a triangle.

TOMS612 is a FORTRAN77 library which estimates the integral of a function over a triangle.

TOMS706 is a FORTRAN77 library which estimates the integral of a function over a triangulated region.

WANDZURA is a C++ library of routines for defining Wandzura rules for quadrature on a triangle.

Reference:

  1. David Dunavant,
    High Degree Efficient Symmetrical Gaussian Quadrature Rules for the Triangle,
    International Journal for Numerical Methods in Engineering,
    Volume 21, 1985, pages 1129-1148.
  2. James Lyness, Dennis Jespersen,
    Moderate Degree Symmetric Quadrature Rules for the Triangle,
    Journal of the Institute of Mathematics and its Applications,
    Volume 15, Number 1, February 1975, pages 19-32.

Source Code:

Examples and Tests:

One of the tests in the sample calling program creates EPS files of the Dunavant points in the unit triangle. These have been converted to PNG files for display here.

List of Routines:

You can go up one level to the C++ source codes.


Last revised on 12 December 2006.