PYRAMID_RULE
Generate a Quadrature Rule for a Pyramid


PYRAMID_RULE is a C++ program which generates a quadrature rule over the interior of a pyramid in 3D.

The quadrature rules generated by PYRAMID_RULE are all examples of conical product rules, and involve a kind of direct product of the form:

Legendre rule in X * Legendre rule in Y * Jacobi rule in Z
where the Jacobi rule includes a factor of (1-Z)^2.

The integration region is:

       - ( 1 - Z ) <= X <= 1 - Z
       - ( 1 - Z ) <= Y <= 1 - Z
                 0 <= Z <= 1.
       
When Z is zero, the integration region is a square lying in the (X,Y) plane, centered at (0,0,0) with "radius" 1. As Z increases to 1, the radius of the square diminishes, and when Z reaches 1, the square has contracted to the single point (0,0,1).

Usage:

pyramid_rule legendre_order jacobi_order filename
where

Licensing:

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

Languages:

PYRAMID_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.

PYRAMID_EXACTNESS, a C++ program which investigates the polynomial exactness of a quadrature rule over the interior of the unit pyramid in 3D.

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

PYRAMID_GRID, a C++ library which computes a grid of points over the interior of the unit pyramid in 3D;

PYRAMID_INTEGRALS, a C++ library which returns the exact value of the integral of any monomial over the interior of the unit pyramid in 3D.

PYRAMID_MONTE_CARLO, a C++ library which applies a Monte Carlo method to estimate integrals of a function over the interior of the unit pyramid in 3D;

QUADRATURE_RULES_PYRAMID, a dataset directory which contains quadrature rules over the interior of the unit pyramid in 3D.

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.

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

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

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.

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

Reference:

  1. Carlos Felippa,
    A compendium of FEM integration formulas for symbolic work,
    Engineering Computation,
    Volume 21, Number 8, 2004, pages 867-890.
  2. Arthur Stroud,
    Approximate Calculation of Multiple Integrals,
    Prentice Hall, 1971,
    ISBN: 0130438936,
    LC: QA311.S85.

Source Code:

List of Routines:

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


Last revised on 23 July 2009.