simplex_gm_rule


simplex_gm_rule, a FORTRAN90 code which defines Grundmann-Moeller quadrature rules over the interior of a triangle in 2D, a tetrahedron in 3D, or a simplex in M dimensions.

The user chooses the index S of the rule. Rules are available with index S = 0 on up. A rule of index S will exactly integrate any polynomial of total degree 2*S+1 or less.

The rules are defined on the unit M-dimensional simplex. A simple linear transformation can be used to map the vertices and weights to an arbitrary simplex, while preserving the accuracy of the rule.

Licensing:

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

Languages:

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

Related Data and Programs:

simplex_gm_rule_test

cube_felippa_rule, a FORTRAN90 code which returns the points and weights of a Felippa quadrature rule over the interior of a cube in 3D.

pyramid_felippa_rule, a FORTRAN90 code which returns Felippa's quadratures rules for approximating integrals over the interior of a pyramid in 3D.

simplex_grid, a FORTRAN90 code which generates a regular grid of points over the interior of an arbitrary simplex in M dimensions.

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

STROUD, a FORTRAN90 code which defines quadrature rules for a variety of unusual areas, surfaces and volumes in 2D, 3D and M-dimensions.

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

TETRAHEDRON_KEAST_RULE, a FORTRAN90 code which defines ten quadrature rules, with exactness degrees 0 through 8, over the interior of a tetrahedron in 3D.

TETRAHEDRON_MONTE_CARLO, a MATLAB program which uses the Monte Carlo method to estimate integrals over a tetrahedron.

TETRAHEDRON_NCC_RULE, a FORTRAN90 code which defines Newton-Cotes closed quadrature rules over the interior of a tetrahedron in 3D.

TETRAHEDRON_NCO_RULE, a FORTRAN90 code which defines Newton-Cotes open quadrature rules over the interior of a tetrahedron in 3D.

TRIANGLE_DUNAVANT_RULE, a FORTRAN90 code which defines Dunavant rules for quadrature over the interior of a triangle in 2D.

TRIANGLE_FEKETE_RULE, a FORTRAN90 code which defines Fekete rules for interpolation or quadrature on a triangle.

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

TRIANGLE_LYNESS_RULE, a FORTRAN90 code which returns Lyness-Jespersen quadrature rules for the triangle.

TRIANGLE_MONTE_CARLO, a FORTRAN90 code which uses the Monte Carlo method to estimate integrals over a triangle.

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

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

TRIANGLE_WANDZURA_RULE, a FORTRAN90 code which definine Wandzura rules for quadrature over the interior of a triangle in 2D.

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

Reference:

  1. Paul Bratley, Bennett Fox, Linus Schrage,
    A Guide to Simulation,
    Second Edition,
    Springer, 1987,
    ISBN: 0387964673,
    LC: QA76.9.C65.B73.
  2. Bennett Fox,
    Algorithm 647: Implementation and Relative Efficiency of Quasirandom Sequence Generators,
    ACM Transactions on Mathematical Software,
    Volume 12, Number 4, December 1986, pages 362-376.
  3. Axel Grundmann, Michael Moeller,
    Invariant Integration Formulas for the N-Simplex by Combinatorial Methods,
    SIAM Journal on Numerical Analysis,
    Volume 15, Number 2, April 1978, pages 282-290.
  4. Pierre LEcuyer,
    Random Number Generation,
    in Handbook of Simulation,
    edited by Jerry Banks,
    Wiley, 1998,
    ISBN: 0471134031,
    LC: T57.62.H37.
  5. Peter Lewis, Allen Goodman, James Miller,
    A Pseudo-Random Number Generator for the System/360,
    IBM Systems Journal,
    Volume 8, 1969, pages 136-143.
  6. Albert Nijenhuis, Herbert Wilf,
    Combinatorial Algorithms for Computers and Calculators,
    Second Edition,
    Academic Press, 1978,
    ISBN: 0-12-519260-6,
    LC: QA164.N54.
  7. ML Wolfson, HV Wright,
    Algorithm 160: Combinatorial of M Things Taken N at a Time,
    Communications of the ACM,
    Volume 6, Number 4, April 1963, page 161.

Source Code:


Last revised on 27 August 2020.