Classes | |
class | ExcInvalidQuadratureFormula |
Public Member Functions | |
QIterated (const Quadrature< 1 > &base_quadrature, const unsigned int n_copies) | |
Static Private Member Functions | |
static bool | uses_both_endpoints (const Quadrature< 1 > &base_quadrature) |
In one space dimension, the given base formula is copied and scaled onto a given number of subintervals of length 1/n_copies
. If the quadrature formula uses both end points of the unit interval, then in the interior of the iterated quadrature formula there would be quadrature points which are used twice; we merge them into one with a weight which is the sum of the weights of the left- and the rightmost quadrature point.
Since all dimensions higher than one are built up by tensor products of one dimensional and dim-1
dimensional quadrature formulæ, the argument given to the constructor needs to be a quadrature formula in one space dimension, rather than in dim
dimensions.
The aim of this class is to provide a low order formula, where the error constant can be tuned by increasing the number of quadrature points. This is useful in integrating non-differentiable functions on cells.
QIterated< dim >::QIterated | ( | const Quadrature< 1 > & | base_quadrature, | |
const unsigned int | n_copies | |||
) |
Constructor. Iterate the given quadrature formula n_copies
times in each direction.
static bool QIterated< dim >::uses_both_endpoints | ( | const Quadrature< 1 > & | base_quadrature | ) | [static, private] |
Check whether the given quadrature formula has quadrature points at the left and right end points of the interval.