Skip to content

Latest commit

 

History

History
165 lines (125 loc) · 6.8 KB

pyramid_exactness.md

File metadata and controls

165 lines (125 loc) · 6.8 KB

PYRAMID_EXACTNESS
Precision Test for Pyramid Quadrature Rules {#pyramid_exactness-precision-test-for-pyramid-quadrature-rules align="center"}


PYRAMID_EXACTNESS is a C++ program which measures the precision of a quadrature rule over the interior of a pyramid in 3D.

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: {#usage align="center"}

pyramid_exactness filename degree_max

where

  • filename is the common prefix of the filenames containing the abscissas and the weights of the quadrature rule.
  • degree_max is the maximum degree of the monomials to be checked.

Licensing: {#licensing align="center"}

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

Languages: {#languages align="center"}

PYRAMID_EXACTNESS 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: {#related-data-and-programs align="center"}

CUBE_EXACTNESS, a C++ library which investigates the polynomial exactness of quadrature rules over the interior of a cube in 3D.

HYPERCUBE_EXACTNESS, a C++ program which measures the monomial exactness of an M-dimensional quadrature rule over the interior of the unit hypercube in M dimensions.

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;

PYRAMID_RULE, a C++ program which can compute a quadrature rule 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.

SPHERE_EXACTNESS, a C++ program which tests the monomial exactness of a quadrature rule on the surface of the unit sphere in 3D.

SQUARE_EXACTNESS, a C++ library which investigates the polynomial exactness of quadrature rules for f(x,y) over the interior of a rectangle in 2D.

TETRAHEDRON_EXACTNESS, a C++ program which investigates the polynomial exactness of a quadrature rule over the interior of a tetrahedron in 3D.

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

WEDGE_EXACTNESS, a C++ program which investigates the monomial exactness of a quadrature rule over the interior of the unit wedge in 3D.

Reference: {#reference align="center"}

  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: {#source-code align="center"}

Examples and Tests: {#examples-and-tests align="center"}

PYRAMID_L3X3_J3 is a pyramid rule formed by a conical product of a 3x3 Legendre rule and an order 3 Jacobi rule.

List of Routines: {#list-of-routines align="center"}

  • MAIN is the main program for PYRAMID_EXACTNESS.
  • CH_CAP capitalizes a single character.
  • CH_EQI is true if two characters are equal, disregarding case.
  • CH_TO_DIGIT returns the integer value of a base 10 digit.
  • COMP_NEXT computes the compositions of the integer N into K parts.
  • DTABLE_DATA_READ reads the data from a DTABLE file.
  • DTABLE_HEADER_READ reads the header from a DTABLE file.
  • FILE_COLUMN_COUNT counts the columns in the first line of a file.
  • FILE_ROW_COUNT counts the number of row records in a file.
  • I4_MAX returns the maximum of two I4's.
  • I4_MIN returns the minimum of two I4's.
  • MONOMIAL_VALUE evaluates a monomial.
  • PYRA_UNIT_MONOMIAL: monomial integral in a unit pyramid.
  • PYRA_UNIT_VOLUME: volume of a unit pyramid with square base.
  • R8_ABS returns the absolute value of an R8.
  • R8_CHOOSE computes the binomial coefficient C(N,K) as an R8.
  • R8_MOP returns the I-th power of -1 as an R8 value.
  • R8VEC_DOT_PRODUCT computes the dot product of a pair of R8VEC's.
  • S_LEN_TRIM returns the length of a string to the last nonblank.
  • S_TO_I4 reads an I4 from a string.
  • S_TO_R8 reads an R8 from a string.
  • S_TO_R8VEC reads an R8VEC from a string.
  • S_WORD_COUNT counts the number of "words" in a string.
  • TIMESTAMP prints the current YMDHMS date as a time stamp.

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


Last revised on 28 July 2009.