# pyramid_witherden_rule

pyramid_witherden_rule, a C++ code which returns a Witherden quadrature rule, with exactness up to total degree 10, 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).

### Languages:

pyramid_witherden_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:

hexagon_stroud_rule, a C++ code which computes one of four Stroud quadrature rules over the interior of the unit hexagon.

pyramid_exactness, a C++ code which investigates the polynomial exactness of a quadrature rule over the interior of the unit pyramid in 3d.

pyramid_felippa_rule, a C++ code which returns a Felippa quadrature rule for approximating integrals over the interior of a pyramid in 3d.

pyramid_integrals, a C++ code which returns the exact value of the integral of any monomial over the interior of the unit pyramid in 3d.

pyramid_jaskowiec_rule, a C++ code which returns quadrature rules, with exactness up to total degree 20, over the interior of a pyramid in 3D, by Jan Jaskowiec, Natarajan Sukumar.

pyramid_monte_carlo, a C++ code 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++ code which computes a conical product quadrature rule over the interior of the unit pyramid in 3d.

### Reference:

1. Freddie Witherden, Peter Vincent,
On the identification of symmetric quadrature rules for finite element methods,
Computers and Mathematics with Applications,
Volume 69, pages 1232-1241, 2015.

### Source Code:

Last revised on 26 April 2023.