DUNE-FEM (unstable)

Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits > Class Template Reference

ElementPointListBase. More...

#include <dune/fem/quadrature/elementpointlistbase.hh>

Public Types

enum  Side
 inside and outside flags
 
typedef GridPartImp GridPartType
 type of the grid partition
 
typedef GridPartType::ctype RealType
 coordinate type
 
typedef IntegrationTraits::IntegrationPointListType IntegrationPointListType
 type of the integration point list
 

Public Member Functions

 ElementPointListBase (const GeometryType &elementGeo, const GeometryType &faceGeo, const int localFaceIndex, const QuadratureKeyType &quadKey)
 constructor More...
 
 ElementPointListBase (const GeometryType &elementGeo, const int localFaceIndex, const QuadratureKeyType &quadKey)
 constructor More...
 
size_t nop () const
 obtain the number of integration points More...
 
const LocalCoordinateType & localPoint (size_t i) const
 obtain local coordinates of i-th integration point More...
 
size_t id () const
 obtain the identifier of the integration point list More...
 
int order () const
 obtain order of the integration point list More...
 
GeometryType geometry () const
 obtain GeometryType for this integration point list
 
GeometryType elementGeometry () const
 obtain GeometryType of the corresponding codim-0 the integration point list belongs to More...
 
int twistId () const
 convenience implementation for Dune::Fem::CachingInterface
 

Static Public Member Functions

static constexpr bool twisted ()
 convenience implementation for Dune::Fem::CachingInterface
 

Static Public Attributes

static const int codimension = codim
 codimension of the element integration point list
 
static const int dimension = GridPartType::dimension
 dimension of the grid
 

Protected Member Functions

const IntegrationPointListTypequadImp () const
 obtain the actual implementation of the quadrature More...
 

Detailed Description

template<class GridPartImp, int codim, class IntegrationTraits>
class Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >

ElementPointListBase.

integration point list on the codim-0 reference element

DUNE quadratures are defined per geometry type, using local coordinates for the quadrature points. To evaluate a base function in some quadrature point, the quadrature must return points within the codim-0 reference element.

Now, assume you want to integrate over the face of a tetrahedron. This means you need a quadrature for a triangle, but the quadrature points should be specified with respect to the tetrahedron, since we want to evaluate our function in these points. This is where the ElementQuadrature comes into play.

The ElementIntegrationPointList takes a subentity and transforms the integration point list corresponding to the geometry to the codim-0 reference element.

To achieve this goal, an ElementIntegrationPointList depends stronger on the context in which it is used. For example, for each face within a tetrahedron (though they are all the same) we need a different ElementIntegrationPointList, since the coordinates of the quadrature points with respect to the codim-0 entity differ for each face.

Note
Actually, codim-1 element integration point lists depend on the intersection.
This integration point list does not support caching of base functions in integration points (see also CachingPointList).

For the actual implementations see

Constructor & Destructor Documentation

◆ ElementPointListBase() [1/2]

template<class GridPartImp , int codim, class IntegrationTraits >
Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::ElementPointListBase ( const GeometryType elementGeo,
const GeometryType faceGeo,
const int  localFaceIndex,
const QuadratureKeyType &  quadKey 
)
inline

constructor

Parameters
[in]elementGeogeometry type of the element
[in]faceGeogeometry type of the subentity
[in]localFaceIndexindex of the subentity
[in]orderdesired order of the quadrature

◆ ElementPointListBase() [2/2]

template<class GridPartImp , int codim, class IntegrationTraits >
Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::ElementPointListBase ( const GeometryType elementGeo,
const int  localFaceIndex,
const QuadratureKeyType &  quadKey 
)
inline

constructor

Parameters
[in]elementGeogeometry type of the element
[in]localFaceIndexindex of the subentity
[in]orderdesired order of the quadrature

Member Function Documentation

◆ elementGeometry()

template<class GridPartImp , int codim, class IntegrationTraits >
GeometryType Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::elementGeometry ( ) const
inline

obtain GeometryType of the corresponding codim-0 the integration point list belongs to

An element integration point list can return the coordinates of integration points with resepct to the codim-0 reference element and the reference element corresponding to the subentity the quadrature actually lives on. This method returns the geometry of the codim-0 entity.

Note
Calling this method yields a virtual function call, so do not call this method unnecessarily.
Returns
GeometryType for this integration point list

◆ id()

template<class GridPartImp , int codim, class IntegrationTraits >
size_t Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::id ( ) const
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

References Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::quadImp().

◆ localPoint()

template<class GridPartImp , int codim, class IntegrationTraits >
const LocalCoordinateType & Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::localPoint ( size_t  i) const
inline

obtain local coordinates of i-th integration point

This method returns a reference to the local coordinates of the i-th integration point for 0 <= i < nop(). Here, local coordinates means coordinates with respect to the reference element of the subentity.

Parameters
[in]inumber of the integration point, 0 <= i < nop()
Returns
reference to i-th integration point

◆ nop()

template<class GridPartImp , int codim, class IntegrationTraits >
size_t Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::nop ( ) const
inline

obtain the number of integration points

Returns
number of integration points within this list

References Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::quadImp().

◆ order()

template<class GridPartImp , int codim, class IntegrationTraits >
int Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::order ( ) const
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

References Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::quadImp().

◆ quadImp()

template<class GridPartImp , int codim, class IntegrationTraits >
const IntegrationPointListType & Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::quadImp ( ) const
inlineprotected

The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Jul 27, 22:29, 2024)