# triangle_witherden_rule

triangle_witherden_rule, a C++ code which returns a symmetric Witherden quadrature rule for the triangle, with exactness up to total degree 20.

The data is given for the following triangle:

```      (0,1)
| \
|  \
|   \
|    \
(0,0)--(1,0)
```

We suppose we are given a triangle T with vertices A, B, C. We call a rule with n points, returning barycentric coordinates a, b, c, and weights w. Then the integral I of f(x,y) over T is approximated by Q as follows:

```      (x,y) = a(1:n) * A + b(1:n) * B + c(1:n) * C
Q = area(T) * sum ( 1 <= i <= n ) w(i) * f(x(i),y(i))
```

### Languages:

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

### Related Data and Programs:

triangle_dunavant_rule, a C++ code which sets up a Dunavant quadrature rule over the interior of a triangle in 2d.

triangle_fekete_rule, a C++ code which returns a Fekete rule for quadrature or interpolation over the interior of a triangle in 2d.

triangle_felippa_rule, a C++ code which returns a Felippa quadrature rule for approximating integrals over the interior of a triangle in 2d.

triangle_integrals, a C++ code which returns the exact value of the integral of any monomial over the interior of the unit triangle in 2d.

triangle_lyness_rule, a C++ code which returns a Lyness-Jespersen quadrature rule over the interior of a triangle in 2d.

triangle_monte_carlo, a C++ code 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++ code which defines Newton-Cotes closed quadrature rules on a triangle.

triangle_nco_rule, a C++ code which defines Newton-Cotes open quadrature rules over the interior of a triangle in 2d.

triangle_symq_rule, a C++ code which returns efficient 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.

triangle_twb_rule, a C++ code which generates the points and weights of quadrature rules over the interior of a triangle in 2D, determined by Taylor, Wingate, and Bos.

### 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 24 April 2023.