queso-0.53.0
|
Class for Legendre-Gauss quadrature rule for one-dimensional functions. More...
#include <1DQuadrature.h>
Public Member Functions | |
Constructor/Destructor methods | |
UniformLegendre1DQuadrature (double minDomainValue, double maxDomainValue, unsigned int order, bool densityIsNormalized) | |
Default constructor. More... | |
~UniformLegendre1DQuadrature () | |
Destructor. More... | |
Mathematical methods | |
void | dumbRoutine () const |
A bogus method. More... | |
Public Member Functions inherited from QUESO::Base1DQuadrature | |
Base1DQuadrature (double minDomainValue, double maxDomainValue, unsigned int order) | |
Default constructor. More... | |
virtual | ~Base1DQuadrature () |
Virtual destructor. More... | |
double | minDomainValue () const |
Returns the minimum value of the domain of the (one-dimensional) function. More... | |
double | maxDomainValue () const |
Returns the maximum value of the domain of the (one-dimensional) function. More... | |
unsigned int | order () const |
Returns the order of the quadrature rule. More... | |
const std::vector< double > & | positions () const |
Array of the positions for the numerical integration. More... | |
const std::vector< double > & | weights () const |
Array of the weights used in the numerical integration. More... | |
Additional Inherited Members | |
Protected Attributes inherited from QUESO::Base1DQuadrature | |
double | m_minDomainValue |
double | m_maxDomainValue |
unsigned int | m_order |
std::vector< double > | m_positions |
std::vector< double > | m_weights |
Class for Legendre-Gauss quadrature rule for one-dimensional functions.
In a general Gaussian quadrature rule, an definite integral of is first approximated over the interval [-1,1] by a polynomial approximable function and a known weighting function :
Those are then approximated by a sum of function values at specified points multiplied by some weights :
In the case of Gauss-Legendre quadrature, the weighting function , so we can approximate an integral of with:
The abscissas for quadrature order are given by the roots of the Legendre polynomials , which occur symmetrically about 0. The weights are
Several authors give a table of abscissas and weights:
2 | ||
3 | ||
4 | ||
5 | ||
Definition at line 162 of file 1DQuadrature.h.
QUESO::UniformLegendre1DQuadrature::UniformLegendre1DQuadrature | ( | double | minDomainValue, |
double | maxDomainValue, | ||
unsigned int | order, | ||
bool | densityIsNormalized | ||
) |
Default constructor.
Constructs a Gaussian-Legendre quadrature of order order
, in the interval [minDomainValue,maxDomainValue]
. Valid values for the order of the quadrature rule are: 1-7, 10-12, 16. This method scales the abscissas (positions) of the quadrature from the interval [-1,1] to [minDomainValue,maxDomainValue]
, and the parameter densityIsNormalized
determines whether the weights should be scaled as well.
Definition at line 118 of file 1DQuadrature.C.
References QUESO::Base1DQuadrature::m_maxDomainValue, QUESO::Base1DQuadrature::m_minDomainValue, QUESO::Base1DQuadrature::m_order, QUESO::Base1DQuadrature::m_positions, QUESO::Base1DQuadrature::m_weights, and queso_error_msg.
QUESO::UniformLegendre1DQuadrature::~UniformLegendre1DQuadrature | ( | ) |
|
virtual |