dune-fem 2.8.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Static Protected Member Functions | List of all members
Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits > Class Template Reference

ElementPointListBase. More...

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

Inheritance diagram for Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >:
Inheritance graph

Public Types

enum  Side { INSIDE , OUTSIDE }
 inside and outside flags More...
 
typedef GridPartImp GridPartType
 type of the grid partition
 
typedef GridPartType::ctype RealType
 coordinate type
 
typedef IntegrationTraits::IntegrationPointListType IntegrationPointListType
 type of the integration point list
 
typedef IntegrationTraits::CoordinateType CoordinateType
 
typedef IntegrationPointListType::CoordinateType LocalCoordinateType
 
typedef IntegrationPointListType::QuadratureKeyType QuadratureKeyType
 

Public Member Functions

 ElementPointListBase (const GeometryType &elementGeo, const GeometryType &faceGeo, const int localFaceIndex, const QuadratureKeyType &quadKey)
 constructor
 
 ElementPointListBase (const GeometryType &elementGeo, const int localFaceIndex, const QuadratureKeyType &quadKey)
 constructor
 
size_t nop () const
 obtain the number of integration points
 
const LocalCoordinateTypelocalPoint (size_t i) const
 obtain local 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 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
 
size_t cachingPoint (const size_t quadraturePoint) const
 
size_t localCachingPoint (const size_t quadraturePoint) const
 
bool twisted () const
 convenience implementation for Dune::Fem::CachingInterface
 
int twistId () const
 convenience implementation for Dune::Fem::CachingInterface
 
int nCachingPoints () const
 
int cachingPointStart () const
 
int localFaceIndex () const
 

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
 

Static Protected Member Functions

static GeometryType getFaceGeometry (const GeometryType &elementGeo, const int face)
 

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

Member Typedef Documentation

◆ CoordinateType

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

◆ GridPartType

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

type of the grid partition

◆ IntegrationPointListType

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

type of the integration point list

◆ LocalCoordinateType

template<class GridPartImp , int codim, class IntegrationTraits >
typedef IntegrationPointListType::CoordinateType Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::LocalCoordinateType

◆ QuadratureKeyType

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

◆ RealType

template<class GridPartImp , int codim, class IntegrationTraits >
typedef GridPartType::ctype Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::RealType

coordinate type

Member Enumeration Documentation

◆ Side

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

inside and outside flags

Enumerator
INSIDE 
OUTSIDE 

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

◆ cachingPoint()

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

◆ cachingPointStart()

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

◆ 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

◆ geometry()

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

obtain GeometryType for this integration point list

◆ getFaceGeometry()

template<class GridPartImp , int codim, class IntegrationTraits >
static GeometryType Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::getFaceGeometry ( const GeometryType &  elementGeo,
const int  face 
)
inlinestaticprotected

◆ 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

◆ localCachingPoint()

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

◆ localFaceIndex()

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

◆ 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

◆ nCachingPoints()

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

◆ 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

◆ 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

◆ quadImp()

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

obtain the actual implementation of the quadrature

Note
This method may only be used in derived classes.
Returns
a reference to the actual implementation of the quadrature

◆ twisted()

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

convenience implementation for Dune::Fem::CachingInterface

◆ twistId()

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

convenience implementation for Dune::Fem::CachingInterface

Member Data Documentation

◆ codimension

template<class GridPartImp , int codim, class IntegrationTraits >
const int Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::codimension = codim
static

codimension of the element integration point list

◆ dimension

template<class GridPartImp , int codim, class IntegrationTraits >
const int Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::dimension = GridPartType::dimension
static

dimension of the grid


The documentation for this class was generated from the following file: