|
dune-fem 2.12-git
|
actual interface class for integration point lists More...
#include <dune/fem/quadrature/quadrature.hh>
Classes | |
| struct | NoDelete |
Public Types | |
| enum | { dimension = dim } |
| enum | { codimension = 0 } |
| to be revised, look at caching quad More... | |
| typedef FieldImp | FieldType |
| typedef IntegrationTraits< FieldType, dimension > | Traits |
| typedef Traits::IntegrationPointListType | IntegrationPointListType |
| type of integration point list implementation | |
| typedef IntegrationPointListType::CoordinateType | CoordinateType |
| type of coordinate | |
| typedef QuadraturePointWrapper< ThisType > | QuadraturePointWrapperType |
| typedef std::shared_ptr< const IntegrationPointListType > | IntegrationPointListStorageType |
Public Member Functions | |
| template<class FactoryTraits > | |
| IntegrationPointList (const FactoryTraits traits, const GeometryType &geometryType, const typename FactoryTraits::QuadratureKeyType &quadKey) | |
| create a quadrature for a given geometry type and order | |
| template<class QuadratureKeyType > | |
| IntegrationPointList (const GeometryType &geometryType, const QuadratureKeyType &quadKey) | |
| template<class FactoryTraits > | |
| IntegrationPointList (const FactoryTraits traits, const GeometryType &geometryType, const GeometryType &elementGeometry, const typename FactoryTraits::QuadratureKeyType &quadKey) | |
| create a quadrature for a given geometry type and order | |
| template<class QuadratureKeyType > | |
| IntegrationPointList (const GeometryType &geometryType, const GeometryType &elementGeometry, const QuadratureKeyType &quadKey) | |
| IntegrationPointList (const IntegrationPointListType &ipList) | |
| create an integration point list from an implementation | |
| IntegrationPointList (const IntegrationPointListStorageType &ipListPtr) | |
| create an integration point list from an implementation | |
| IntegrationPointList (const IntegrationPointList &org)=default | |
| copy constructor | |
| const QuadraturePointWrapperType | operator[] (unsigned int i) const |
| const IntegrationPointListType & | ipList () const |
| obtain a reference the actual implementation | |
| int | nop () const |
| obtain the number of integration points | |
| const CoordinateType & | point (size_t i) const |
| obtain coordinates of i-th integration point | |
| size_t | id () const |
| obtain the identifier of the integration point list | |
| int | order () const |
| obtain order of the integration point list | |
| GeometryType | geometryType () const |
| obtain GeometryType for this integration point list | |
| auto | interpolationPoints (const int reqDim) const |
| returns list of element interpolation points for a given face quadrature | |
| bool | isFaceInterpolationQuadrature (const size_t numShapeFunctions) const |
| return true if quadrature is also a set of interpolation points for the given shape functions | |
| WeightReturnType | weight (size_t i) const |
| obtain weight of i-th integration point (if quadrature, else 1.0) | |
Protected Attributes | |
| IntegrationPointListStorageType | ipListPtr_ |
Detailed Description
class Dune::Fem::IntegrationPointList< FieldImp, dim, IntegrationTraits, isQuadrature >
actual interface class for integration point lists
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.
Member Typedef Documentation
◆ CoordinateType
| typedef IntegrationPointListType::CoordinateType Dune::Fem::IntegrationPointList< FieldImp, dim, IntegrationTraits, isQuadrature >::CoordinateType |
type of coordinate
◆ FieldType
| typedef FieldImp Dune::Fem::IntegrationPointList< FieldImp, dim, IntegrationTraits, isQuadrature >::FieldType |
◆ IntegrationPointListStorageType
| typedef std::shared_ptr< const IntegrationPointListType > Dune::Fem::IntegrationPointList< FieldImp, dim, IntegrationTraits, isQuadrature >::IntegrationPointListStorageType |
◆ IntegrationPointListType
| typedef Traits::IntegrationPointListType Dune::Fem::IntegrationPointList< FieldImp, dim, IntegrationTraits, isQuadrature >::IntegrationPointListType |
type of integration point list implementation
◆ QuadraturePointWrapperType
| typedef QuadraturePointWrapper< ThisType > Dune::Fem::IntegrationPointList< FieldImp, dim, IntegrationTraits, isQuadrature >::QuadraturePointWrapperType |
◆ Traits
| typedef IntegrationTraits< FieldType, dimension > Dune::Fem::IntegrationPointList< FieldImp, dim, IntegrationTraits, isQuadrature >::Traits |
Member Enumeration Documentation
◆ anonymous enum
| anonymous enum |
◆ anonymous enum
| anonymous enum |
Constructor & Destructor Documentation
◆ IntegrationPointList() [1/7]
|
inline |
create a quadrature for a given geometry type and order
This constructor creates a quadrature for the specified geometry which is capable of integrating polynomials 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] order order of the requested quadrature
◆ IntegrationPointList() [2/7]
|
inline |
◆ IntegrationPointList() [3/7]
|
inline |
create a quadrature for a given geometry type and order
This constructor creates a quadrature for the specified geometry which is capable of integrating polynomials 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] order order of the requested quadrature
◆ IntegrationPointList() [4/7]
|
inline |
◆ IntegrationPointList() [5/7]
|
inline |
create an integration point list from an implementation
This constructor creates an integration point list from a given implementation.
- Note
- This constructor is provided mainly for testing purposes.
- Parameters
-
[in] ipList implementation of the integration point list
◆ IntegrationPointList() [6/7]
|
inline |
create an integration point list from an implementation
This constructor creates an integration point list from a given implementation.
- Note
- This constructor is provided mainly for agglomeration quadratures
- Parameters
-
[in] ipListPtr implementation of the integration point list
◆ IntegrationPointList() [7/7]
|
inlinedefault |
copy constructor
- Parameters
-
[in] org integration point list to be copied
Member Function Documentation
◆ geometryType()
|
inline |
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
◆ id()
|
inline |
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
◆ interpolationPoints()
|
inline |
returns list of element interpolation points for a given face quadrature
◆ ipList()
|
inline |
obtain a reference the actual implementation
- Returns
- a reference to the implementation of this integration point list
◆ isFaceInterpolationQuadrature()
|
inline |
return true if quadrature is also a set of interpolation points for the given shape functions
◆ nop()
|
inline |
obtain the number of integration points
- Returns
- number of integration points within this list
◆ operator[]()
|
inline |
◆ order()
|
inline |
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
◆ point()
|
inline |
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
◆ weight()
|
inline |
obtain weight of i-th integration point (if quadrature, else 1.0)
This method returns the weight of the i-th integration point for 0 <= i < nop() within the quadrature.
- Note
- The integration point can be obtained via the point() method.
- The quadrature weights sum up to the volume of the reference element.
- Parameters
-
[in] i number of the integration point, 0 <= i < nop()
- Returns
- weight of the i-th integration point
Member Data Documentation
◆ ipListPtr_
|
protected |
The documentation for this class was generated from the following file:
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8