dune-fem 2.8.0
|
#include <dune/fem/quadrature/elementpointlistbase.hh>
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 LocalCoordinateType & | localPoint (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 IntegrationPointListType & | quadImp () const |
obtain the actual implementation of the quadrature | |
Static Protected Member Functions | |
static GeometryType | getFaceGeometry (const GeometryType &elementGeo, const int face) |
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.
For the actual implementations see
typedef IntegrationTraits::CoordinateType Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::CoordinateType |
typedef GridPartImp Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::GridPartType |
type of the grid partition
typedef IntegrationTraits::IntegrationPointListType Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::IntegrationPointListType |
type of the integration point list
typedef IntegrationPointListType::CoordinateType Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::LocalCoordinateType |
typedef IntegrationPointListType::QuadratureKeyType Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::QuadratureKeyType |
typedef GridPartType::ctype Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::RealType |
coordinate type
enum Dune::Fem::ElementPointListBase::Side |
|
inline |
constructor
[in] | elementGeo | geometry type of the element |
[in] | faceGeo | geometry type of the subentity |
[in] | localFaceIndex | index of the subentity |
[in] | order | desired order of the quadrature |
|
inline |
constructor
[in] | elementGeo | geometry type of the element |
[in] | localFaceIndex | index of the subentity |
[in] | order | desired order of the quadrature |
|
inline |
|
inline |
|
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.
|
inline |
obtain GeometryType for this integration point list
|
inlinestaticprotected |
|
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.
|
inline |
|
inline |
|
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.
[in] | i | number of the integration point, 0 <= i < nop() |
|
inline |
|
inline |
obtain the number of integration points
|
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.
|
inlineprotected |
obtain the actual implementation of the quadrature
|
inline |
convenience implementation for Dune::Fem::CachingInterface
|
inline |
convenience implementation for Dune::Fem::CachingInterface
|
static |
codimension of the element integration point list
|
static |
dimension of the grid