template<class FieldImp, int dim, template< class, int > class QuadratureTraits = DefaultQuadratureTraits>
class Dune::Fem::Quadrature< FieldImp, dim, QuadratureTraits >
actual interface class for quadratures
IntegrationPointList is a proxy for the actual implementations of the integration point lists. During construction, the IntegrationPointList object is configured with an appropriate implementation object from the QuadratureProvider (monostate pattern).
The design goal is minimization of construction time. The actual implementation can be created once and reused whenever it is needed. Moreover, this layout insulates the user from all initialization and storage stuff.
- Note
- The difference between integration point lists and quadratures is that quadratures have weights.
template<class FieldImp , int dim, template< class, int > class QuadratureTraits = DefaultQuadratureTraits>
create a quadrature for a given geometry and order
This constructor creates a quadrature for the specified geometry which is capable of integrating polynoms up the given order exactly.
- Note
- The order of the quadrature may be higher than the requested one.
- Parameters
-
[in] | geometryType | geometry type of the requested quadrature |
[in] | key | key to identify the quadrature (default = order) |
template<class FieldImp , int dim, template< class, int > class QuadratureTraits = DefaultQuadratureTraits>
create a quadrature for a given geometry and order
This constructor creates a quadrature for the specified geometry which is capable of integrating polynoms up the given order exactly.
- Note
- The order of the quadrature may be higher than the requested one.
- Parameters
-
[in] | geometryType | geometry type of the requested quadrature |
[in] | elementGeometry | geometry type of element that resulting quadrature is used for (in case of face quadratures) |
[in] | key | key to identify the quadrature (default = order) |
- Note
- This is a specialized constructor for constructing face quadratures for UGGrid.
template<typename FieldImp , int dim, template< class, int > class IntegrationTraits>
obtain GeometryType for this integration point list
Integration point lists are specified in local coordinates, i.e., coordinates with respect to the reference element. Hence, each integration point list is only valid for one type of geometry, i.e., for one reference element. The type can be retrieved via this method.
- Note
- Calling this method yields a virtual function call, so do not call this method unnecessarily.
- Returns
- GeometryType for this integration point list
template<typename FieldImp , int dim, template< class, int > class IntegrationTraits>
obtain the identifier of the integration point list
The identifier of an integration point list must be globally unique. Even integration point lists for different dimensions must have different identifiers.
- Note
- Quadratures are considered distinct if they differ in one of the following points: geometry type, order, dimension or implementation.
- Returns
- globally unique identifier of the integration point list
template<typename FieldImp , int dim, template< class, int > class IntegrationTraits>
obtain order of the integration point list
The order of a quadrature is the maximal polynomial degree that is guaranteed to be integrated exactly by the quadrature.
In case of an integration point list, the definition of this value is left to the implementor.
- Note
- Calling this method yields a virtual function call, so do not call this method unnecessarily.
- Returns
- the order of the integration point list
template<typename FieldImp , int dim, template< class, int > class IntegrationTraits>
obtain coordinates of i-th integration point
This method returns a reference to the coordinates of the i-th integration point for 0 <= i < nop(). The integration point is given in local coordinates, i.e., coordinates with respect to the reference element.
- Parameters
-
[in] | i | number of the integration point, 0 <= i < nop() |
- Returns
- reference to i-th integration point