Gauss-Legendre quadrature (bfscplate2d.quadrature)#

Gauss-Legendre quadrature

The module has the function get_points_weights(), which gives the points and weights passed to the update_* functions of bfscplate2d.bfscplate2d.

bfscplate2d.quadrature.get_points_weights(nint)#

Points and weights of the one-dimensional Gauss-Legendre quadrature

The values are tabulated for nint from 2 to 10, over the interval from -1 to 1.

Parameters:
nintint

Number of integration points, from 2 to 10.

Returns:
pointsndarray

1-D array of float of size nint with the points in ascending order, dimensionless, from -1 to 1.

weightsndarray

1-D array of float of size nint with the weight of each point, dimensionless, summing to 2.

Raises:
NotImplementedError

If nint is not one of 2 to 10.

See also

bfscplate2d.bfscplate2d.update_KC0

uses points and weights.

Notes

The points \(\xi_i\) are the roots of the Legendre polynomial \(P_{nint}\) and the weights are \(2 / ((1 - \xi_i^2) P'_{nint}(\xi_i)^2)\), such that the Gauss-Legendre rule

\[\int_{-1}^{1} f(\xi) \, d\xi \approx \sum_{i=1}^{nint} weights_i \, f(points_i)\]

is exact for the polynomials \(f\) of degree up to \(2 \, nint - 1\). The functions of bfscplate2d.bfscplate2d use the products of these points and weights along \(\xi\) and \(\eta\); the values of nint that integrate each element matrix exactly are given in the Notes of bfscplate2d.bfscplate2d.