TRIANGLE_SYMQ_RULE Symmetric Quadrature Rules for Triangles.

TRIANGLE_SYMQ_RULE is a C library which returns symmetric quadrature rules, with exactness up to total degree 50, over the interior of an arbitrary triangle in 2D, by Hong Xiao and Zydrunas Gimbutas.

The original source code, from which this library was developed, is available from the Courant Mathematics and Computing Laboratory, at http://www.cims.nyu.edu/cmcl/quadratures/quadratures.html ,

Languages:

TRIANGLE_SYMQ_RULE is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

CUBE_FELIPPA_RULE, a C library which returns the points and weights of a Felippa quadrature rule over the interior of a cube in 3D.

GNUPLOT, C programs which illustrate how a program can write data and command files so that gnuplot can create plots of the program results.

PYRAMID_FELIPPA_RULE, a C library which returns Felippa's quadratures rules for approximating integrals over the interior of a pyramid in 3D.

SIMPLEX_GM_RULE, a C library which defines Grundmann-Moeller quadrature rules over the interior of a simplex in M dimensions.

SQUARE_FELIPPA_RULE, a C library which returns the points and weights of a Felippa quadrature rule over the interior of a square in 2D.

SQUARE_SYMQ_RULE, a C library which returns symmetric quadrature rules, with exactness up to total degree 20, over the interior of the symmetric square in 2D, by Hong Xiao and Zydrunas Gimbutas.

STROUD, a C library which defines quadrature rules for a variety of M-dimensional regions, including the interior of the square, cube and hypercube, the pyramid, cone and ellipse, the hexagon, the M-dimensional octahedron, the circle, sphere and hypersphere, the triangle, tetrahedron and simplex, and the surface of the circle, sphere and hypersphere.

TETRAHEDRON_ARBQ_RULE, a C library which returns quadrature rules, with exactness up to total degree 15, over the interior of a tetrahedron in 3D, by Hong Xiao and Zydrunas Gimbutas.

TETRAHEDRON_FELIPPA_RULE, a C library which returns Felippa's quadratures rules for approximating integrals over the interior of a tetrahedron in 3D.

TOMS886, a C library which defines the Padua points for interpolation in a 2D region, including the rectangle, triangle, and ellipse, by Marco Caliari, Stefano de Marchi, Marco Vianello. This is a version of ACM TOMS algorithm 886.

TRIANGLE_EXACTNESS, a C program which investigates the monomial exactness quadrature rule over the interior of a triangle in 2D.

TRIANGLE_FEKETE_RULE, a C library which defines Fekete rules for interpolation or quadrature over the interior of a triangle in 2D.

TRIANGLE_FELIPPA_RULE, a C library which returns Felippa's quadratures rules for approximating integrals over the interior of a triangle in 2D.

TRIANGLE_INTEGRALS, a C library which returns the exact value of the integral of any monomial over the interior of the unit triangle in 2D.

TRIANGLE_MONTE_CARLO, a C library which uses the Monte Carlo method to estimate the integral of a function over the interior of the unit triangle in 2D.

TRIANGLE_NCC_RULE, a C library which defines Newton-Cotes Closed (NCC) quadrature rules over the interior of a triangle in 2D.

TRIANGLE_NCO_RULE, a C library which defines Newton-Cotes Open (NCO) quadrature rules over the interior of a triangle in 2D.

WEDGE_FELIPPA_RULE, a C library which returns quadratures rules for approximating integrals over the interior of the unit wedge in 3D.

Reference:

1. Hong Xiao, Zydrunas Gimbutas,
A numerical algorithm for the construction of efficient quadrature rules in two and higher dimensions,
Computers and Mathematics with Applications,
Volume 59, 2010, pages 663-676.

Examples and Tests:

EQUI08 is a degree 8 rule in an equilateral triangle.

SIMP08 is a degree 8 rule in a simplex.

USER08 is a degree 8 rule in a user specified triangle at (1,0), (4,4), (0,3).

List of Routines:

• KJACOPOLS2 evaluates Jacobi polynomials and derivatives.
• KJACOPOLS evaluates Jacobi polynomials.
• KLEGEYPOLS3 evaluate scaled Legendre polynomials and derivatives.
• KLEGEYPOLS evaluates scaled Legendre polynomials.
• ORTHO2EVA0 evaluates the orthonormal polynomials on the triangle.
• ORTHO2EVA30: orthonormal polynomials and derivatives on triangle.
• ORTHO2EVA3: orthogonal polynomial values and derivatives, reference triangle.
• ORTHO2EVA evaluates orthogonal polynomials on the reference triangle.
• QUAECOPY2 copies a quadrature rule into a user arrays X, Y, and W.
• QUAECOPY copies a quadrature rule into user arrays Z and W.
• QUAEINSIDE checks whether a point is inside a triangle.
• QUAENODES2 expands nodes from 1/6 to 1/3 of the triangle.
• QUAENODES expands nodes to the reference triangle.
• QUAEROTATE applies a rotation.
• R8VEC_COPY copies an R8VEC.
• R8VEC_UNIFORM_01 returns a unit pseudorandom R8VEC.
• REF_TO_KOORN maps points from the reference to Koornwinder's triangle.
• REF_TO_TRIANGLE maps points from the reference triangle to a triangle.
• RULE_COMPRESSED_SIZE returns the compressed size of the requested quadrature rule.
• RULE_FULL_SIZE returns the full size of the requested quadrature rule.
• RULE01 returns the rule of degree 1.
• RULE02 returns the rule of degree 2.
• RULE03 returns the rule of degree 3.
• RULE04 returns the rule of degree 4.
• RULE05 returns the rule of degree 5.
• RULE06 returns the rule of degree 6.
• RULE07 returns the rule of degree 7.
• RULE08 returns the rule of degree 8.
• RULE09 returns the rule of degree 9.
• RULE10 returns the rule of degree 10.
• RULE11 returns the rule of degree 11.
• RULE12 returns the rule of degree 12.
• RULE13 returns the rule of degree 13.
• RULE14 returns the rule of degree 14.
• RULE15 returns the rule of degree 15.
• RULE16 returns the rule of degree 16.
• RULE17 returns the rule of degree 17.
• RULE18 returns the rule of degree 18.
• RULE19 returns the rule of degree 19.
• RULE20 returns the rule of degree 20.
• RULE21 returns the rule of degree 21.
• RULE22 returns the rule of degree 22.
• RULE23 returns the rule of degree 23.
• RULE24 returns the rule of degree 24.
• RULE25 returns the rule of degree 25.
• RULE26 returns the rule of degree 26.
• RULE27 returns the rule of degree 29.
• RULE28 returns the rule of degree 28.
• RULE29 returns the rule of degree 29.
• RULE30 returns the rule of degree 30.
• RULE31 returns the rule of degree 31.
• RULE32 returns the rule of degree 32.
• RULE33 returns the rule of degree 33.
• RULE34 returns the rule of degree 34.
• RULE35 returns the rule of degree 35.
• RULE36 returns the rule of degree 36.
• RULE37 returns the rule of degree 37.
• RULE38 returns the rule of degree 38.
• RULE39 returns the rule of degree 39.
• RULE40 returns the rule of degree 40.
• RULE41 returns the rule of degree 41.
• RULE42 returns the rule of degree 42.
• RULE43 returns the rule of degree 43.
• RULE44 returns the rule of degree 44.
• RULE45 returns the rule of degree 45.
• RULE46 returns the rule of degree 46.
• RULE47 returns the rule of degree 47.
• RULE48 returns the rule of degree 48.
• RULE49 returns the rule of degree 49.
• RULE50 returns the rule of degree 50.
• SIMPLEX_TO_TRIANGLE maps points from the simplex to a triangle.
• TIMESTAMP prints out the current YMDHMS date as a timestamp.
• TRIANGLE_AREA returns the area of a triangle.
• TRIANGLE_TO_REF maps points from any triangle to the reference triangle.
• TRIANGLE_TO_SIMPLEX maps points from any triangle to the simplex.
• TRIANMAP maps rules from the reference triangle to the user triangle.
• TRIASIMP maps a point from the reference triangle to the simplex.
• TRIASYMQ returns a symmetric quadrature formula for a user triangle.
• TRIASYMQ_GNUPLOT: set up a GNUPLOT plot of the triangle quadrature rule.

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

Last revised on 30 June 2014.