dune-fem 2.8.0
|
Generic implementation of an IntegrationPointList. More...
#include <dune/fem/quadrature/quadratureimp.hh>
Public Types | |
enum | { codimension = 0 } |
to be revised, look at caching quad More... | |
typedef FieldImp | FieldType |
field type | |
typedef FieldVector< FieldType, dim > | CoordinateType |
type of local coordinates | |
Public Member Functions | |
IntegrationPointListImp (const IntegrationPointListImp &)=delete | |
virtual | ~IntegrationPointListImp ()=default |
const CoordinateType & | point (size_t i) const |
obtain coordinates of i-th integration point | |
size_t | nop () const |
obtain the number of integration points | |
size_t | id () const |
obtain the identifier of the integration point list | |
virtual int | order () const =0 |
obtain order of the integration point list | |
virtual GeometryType | geometryType () const =0 |
obtain GeometryType for this integration point list | |
virtual std::vector< ElementCoordinateType > | interpolationPoints (const int reqDim) const |
returns list of element interpolation points for a given face quadrature | |
virtual bool | isFaceInterpolationQuadrature (const size_t numShapeFunctions) const |
return true if quadrature is also a set of interpolation points for a given number of shape functions | |
Static Public Attributes | |
static const int | dimension = dim |
dimension of quadrature | |
Protected Types | |
typedef IntegrationPointListImp< FieldType, dim > | ThisType |
typedef FieldVector< FieldType, dim+1 > | ElementCoordinateType |
Protected Member Functions | |
IntegrationPointListImp (size_t id) | |
Constructor. | |
void | addIntegrationPoint (const CoordinateType &point) |
Adds an integration point to the list. | |
void | setIntegrationPoints (std::vector< CoordinateType > &&points) |
Overwrites integration point list | |
Protected Attributes | |
std::vector< CoordinateType > | points_ |
const size_t | id_ |
Generic implementation of an IntegrationPointList.
An integration point list is simply a list of points, given in local coordinates, i.e., coordinates within the reference element.
typedef FieldVector< FieldType, dim > Dune::Fem::IntegrationPointListImp< FieldImp, dim >::CoordinateType |
type of local coordinates
|
protected |
typedef FieldImp Dune::Fem::IntegrationPointListImp< FieldImp, dim >::FieldType |
field type
|
protected |
anonymous enum |
|
inlineexplicitprotected |
Constructor.
The constructor simply creates an empty point list and stores the specified identifier.
[in] | id | unique identifier of the integration point list (provided by QuadratureProvider) |
|
delete |
|
virtualdefault |
|
inlineprotected |
Adds an integration point to the list.
This method allows derived classes to add integration points to the list. This mehtod should only be used within the constructor of the derived class.
|
pure virtual |
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.
Implemented in Dune::Fem::CornerPointList< ct, geometryId >, Dune::Fem::QuadratureRulesFactory< FieldImp, dim >, Dune::Fem::SimplexQuadrature< FieldImp, dim >, Dune::Fem::CubeQuadrature< FieldImp, dim >, Dune::Fem::PrismQuadrature< FieldImp >, Dune::Fem::PyramidQuadrature< FieldImp >, Dune::Fem::PolyhedronQuadrature< FieldImp, dim >, Dune::Fem::LumpingQuadrature< FieldImp, geometryId >, Dune::Fem::TestQuadrature< ct, dim >, and Dune::Fem::LagrangePointListInterface< FieldImp, dim, maxPolOrder >.
|
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.
|
inlinevirtual |
returns list of element interpolation points for a given face quadrature
|
inlinevirtual |
return true if quadrature is also a set of interpolation points for a given number of shape functions
|
inline |
obtain the number of integration points
|
pure virtual |
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.
Implemented in Dune::Fem::CornerPointList< ct, geometryId >, Dune::Fem::QuadratureRulesFactory< FieldImp, dim >, Dune::Fem::SimplexQuadrature< FieldImp, dim >, Dune::Fem::CubeQuadrature< FieldImp, dim >, Dune::Fem::PrismQuadrature< FieldImp >, Dune::Fem::PyramidQuadrature< FieldImp >, Dune::Fem::PolyhedronQuadrature< FieldImp, dim >, Dune::Fem::LumpingQuadrature< FieldImp, geometryId >, Dune::Fem::TestQuadrature< ct, dim >, and Dune::Fem::LagrangePointListInterface< FieldImp, dim, maxPolOrder >.
|
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.
[in] | i | number of the integration point, 0 <= i < nop() |
|
inlineprotected |
Overwrites integration point list
|
static |
dimension of quadrature
|
protected |
|
mutableprotected |