dune-fem 2.12-git
Loading...
Searching...
No Matches
Dune::Fem::ElementQuadratureImpl< GridPartImp, 0, IntegrationTraits, isQuadrature > Class Template Reference

constructor More...

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

Inheritance diagram for Dune::Fem::ElementQuadratureImpl< GridPartImp, 0, IntegrationTraits, isQuadrature >:
Inheritance graph

Public Types

typedef Base::GridPartType GridPartType
 type of grid part
 
typedef Base::CoordinateType CoordinateType
 type for coordinates in the codim-0 reference element
 
typedef QuadraturePointWrapper< ThisQuadraturePointWrapperType
 type of the quadrature point
 
typedef QuadraturePointIterator< ThisIteratorType
 type of iterator
 
typedef Base::EntityType EntityType
 
typedef Base::IntegrationPointListType IntegrationPointListType
 
enum  Side { INSIDE , OUTSIDE }
 inside and outside flags More...
 
typedef GridPartType::ctype RealType
 coordinate type
 
typedef IntegrationPointListType::CoordinateType LocalCoordinateType
 

Public Member Functions

template<class QuadratureKeyType >
 ElementQuadratureImpl (const EntityType &entity, const QuadratureKeyType &quadKey, const bool checkGeomType=isQuadrature)
 constructor
 
template<class QuadratureKeyType >
 ElementQuadratureImpl (const GeometryType &geometry, const QuadratureKeyType &quadKey)
 constructor
 
const QuadraturePointWrapperType operator[] (const size_t i) const
 
IteratorType begin () const noexcept
 
IteratorType end () const noexcept
 
const CoordinateTypepoint (const size_t i) const
 obtain coordinates of i-th integration point
 
auto weight (size_t i) const
 obtain weight of i-th integration point (if quadrature, else 1.0)
 
const LocalCoordinateTypelocalPoint (size_t i) const
 obtain local 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
 
int order () const
 obtain order of the integration point list
 
GeometryType geometry () const
 
GeometryType type () const
 
GeometryType geometryType () const
 
GeometryType elementGeometry () const
 obtain GeometryType of the corresponding codim-0 the integration point list belongs to
 
size_t cachingPoint (const size_t quadraturePoint) const
 convenience implementation for Dune::Fem::CachingInterface
 
size_t localCachingPoint (const size_t quadraturePoint) const
 convenience implementation for Dune::Fem::CachingInterface
 
int twistId () const
 convenience implementation for Dune::Fem::CachingInterface
 
int localFaceIndex () const
 
int nCachingPoints () const
 
int cachingPointStart () const
 

Static Public Member Functions

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

Static Public Attributes

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

Protected Member Functions

template<class QuadratureKeyType >
IntegrationPointListType createQuadrature (const EntityType &entity, const QuadratureKeyType &quadKey, const bool checkGeomType)
 
const IntegrationPointListTypequadImp () const
 obtain the actual implementation of the quadrature
 

Protected Attributes

IntegrationPointListType quad_
 

Detailed Description

template<class GridPartImp, class IntegrationTraits, bool isQuadrature>
class Dune::Fem::ElementQuadratureImpl< GridPartImp, 0, IntegrationTraits, isQuadrature >

constructor

Parameters
[in]geometrygeometry type, the quadrature lives on
[in]orderdesired minimal order of the quadrature
[in]checkGeomTypeif true geometry type is checked for isNone.

Member Typedef Documentation

◆ CoordinateType

template<class GridPartImp , class IntegrationTraits , bool isQuadrature>
typedef Base::CoordinateType Dune::Fem::ElementQuadratureImpl< GridPartImp, 0, IntegrationTraits, isQuadrature >::CoordinateType

type for coordinates in the codim-0 reference element

◆ EntityType

template<class GridPartImp , class IntegrationTraits , bool isQuadrature>
typedef Base::EntityType Dune::Fem::ElementQuadratureImpl< GridPartImp, 0, IntegrationTraits, isQuadrature >::EntityType

◆ GridPartType

template<class GridPartImp , class IntegrationTraits , bool isQuadrature>
typedef Base::GridPartType Dune::Fem::ElementQuadratureImpl< GridPartImp, 0, IntegrationTraits, isQuadrature >::GridPartType

type of grid part

◆ IntegrationPointListType

template<class GridPartImp , class IntegrationTraits , bool isQuadrature>
typedef Base::IntegrationPointListType Dune::Fem::ElementQuadratureImpl< GridPartImp, 0, IntegrationTraits, isQuadrature >::IntegrationPointListType

◆ IteratorType

template<class GridPartImp , class IntegrationTraits , bool isQuadrature>
typedef QuadraturePointIterator< This > Dune::Fem::ElementQuadratureImpl< GridPartImp, 0, IntegrationTraits, isQuadrature >::IteratorType

type of iterator

◆ LocalCoordinateType

template<class GridPartImp , class IntegrationTraits >
typedef IntegrationPointListType::CoordinateType Dune::Fem::ElementPointListBase< GridPartImp, 0, IntegrationTraits >::LocalCoordinateType
inherited

◆ QuadraturePointWrapperType

template<class GridPartImp , class IntegrationTraits , bool isQuadrature>
typedef QuadraturePointWrapper< This > Dune::Fem::ElementQuadratureImpl< GridPartImp, 0, IntegrationTraits, isQuadrature >::QuadraturePointWrapperType

type of the quadrature point

◆ RealType

template<class GridPartImp , class IntegrationTraits >
typedef GridPartType::ctype Dune::Fem::ElementPointListBase< GridPartImp, 0, IntegrationTraits >::RealType
inherited

coordinate type

Member Enumeration Documentation

◆ Side

template<class GridPartImp , class IntegrationTraits >
enum Dune::Fem::ElementPointListBase< GridPartImp, 0, IntegrationTraits >::Side
inherited

inside and outside flags

Enumerator
INSIDE 
OUTSIDE 

Constructor & Destructor Documentation

◆ ElementQuadratureImpl() [1/2]

template<class GridPartImp , class IntegrationTraits , bool isQuadrature>
template<class QuadratureKeyType >
Dune::Fem::ElementQuadratureImpl< GridPartImp, 0, IntegrationTraits, isQuadrature >::ElementQuadratureImpl ( const EntityType entity,
const QuadratureKeyType &  quadKey,
const bool  checkGeomType = isQuadrature 
)
inline

constructor

Parameters
[in]geometrygeometry type, the quadrature lives on
[in]orderdesired minimal order of the quadrature
[in]checkGeomTypeif true geometry type is checked for isNone.

◆ ElementQuadratureImpl() [2/2]

template<class GridPartImp , class IntegrationTraits , bool isQuadrature>
template<class QuadratureKeyType >
Dune::Fem::ElementQuadratureImpl< GridPartImp, 0, IntegrationTraits, isQuadrature >::ElementQuadratureImpl ( const GeometryType geometry,
const QuadratureKeyType &  quadKey 
)
inline

constructor

Parameters
[in]geometrygeometry type, the quadrature lives on
[in]orderdesired minimal order of the quadrature

Member Function Documentation

◆ begin()

template<class GridPartImp , class IntegrationTraits , bool isQuadrature>
IteratorType Dune::Fem::ElementQuadratureImpl< GridPartImp, 0, IntegrationTraits, isQuadrature >::begin ( ) const
inlinenoexcept

◆ cachingPoint()

template<class GridPartImp , class IntegrationTraits >
size_t Dune::Fem::ElementPointListBase< GridPartImp, 0, IntegrationTraits >::cachingPoint ( const size_t  quadraturePoint) const
inlineinherited

convenience implementation for Dune::Fem::CachingInterface

◆ cachingPointStart()

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

◆ createQuadrature()

template<class GridPartImp , class IntegrationTraits , bool isQuadrature>
template<class QuadratureKeyType >
IntegrationPointListType Dune::Fem::ElementQuadratureImpl< GridPartImp, 0, IntegrationTraits, isQuadrature >::createQuadrature ( const EntityType entity,
const QuadratureKeyType &  quadKey,
const bool  checkGeomType 
)
inlineprotected

◆ elementGeometry()

template<class GridPartImp , class IntegrationTraits >
GeometryType Dune::Fem::ElementPointListBase< GridPartImp, 0, IntegrationTraits >::elementGeometry ( ) const
inlineinherited

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

◆ end()

template<class GridPartImp , class IntegrationTraits , bool isQuadrature>
IteratorType Dune::Fem::ElementQuadratureImpl< GridPartImp, 0, IntegrationTraits, isQuadrature >::end ( ) const
inlinenoexcept

◆ geometry()

template<class GridPartImp , class IntegrationTraits >
GeometryType Dune::Fem::ElementPointListBase< GridPartImp, 0, IntegrationTraits >::geometry ( ) const
inlineinherited

◆ geometryType()

template<class GridPartImp , class IntegrationTraits >
GeometryType Dune::Fem::ElementPointListBase< GridPartImp, 0, IntegrationTraits >::geometryType ( ) const
inlineinherited

◆ id()

template<class GridPartImp , class IntegrationTraits >
size_t Dune::Fem::ElementPointListBase< GridPartImp, 0, IntegrationTraits >::id ( ) const
inlineinherited

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 , class IntegrationTraits >
size_t Dune::Fem::ElementPointListBase< GridPartImp, 0, IntegrationTraits >::localCachingPoint ( const size_t  quadraturePoint) const
inlineinherited

convenience implementation for Dune::Fem::CachingInterface

◆ localFaceIndex()

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

◆ localPoint()

template<class GridPartImp , class IntegrationTraits , bool isQuadrature>
const LocalCoordinateType & Dune::Fem::ElementPointListBase< GridPartImp, 0, 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 , class IntegrationTraits >
int Dune::Fem::ElementPointListBase< GridPartImp, 0, IntegrationTraits >::nCachingPoints ( ) const
inlineinherited

◆ nop()

template<class GridPartImp , class IntegrationTraits , bool isQuadrature>
size_t Dune::Fem::ElementPointListBase< GridPartImp, 0, IntegrationTraits >::nop ( ) const
inline

obtain the number of integration points

Returns
number of integration points within this list

◆ operator[]()

template<class GridPartImp , class IntegrationTraits , bool isQuadrature>
const QuadraturePointWrapperType Dune::Fem::ElementQuadratureImpl< GridPartImp, 0, IntegrationTraits, isQuadrature >::operator[] ( const size_t  i) const
inline

◆ order()

template<class GridPartImp , class IntegrationTraits >
int Dune::Fem::ElementPointListBase< GridPartImp, 0, IntegrationTraits >::order ( ) const
inlineinherited

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()

template<class GridPartImp , class IntegrationTraits , bool isQuadrature>
const CoordinateType & Dune::Fem::ElementQuadratureImpl< GridPartImp, 0, IntegrationTraits, isQuadrature >::point ( const size_t  i) const
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]inumber of the integration point, 0 <= i < nop()
Returns
reference to i-th integration point

◆ quadImp()

template<class GridPartImp , class IntegrationTraits , bool isQuadrature>
const IntegrationPointListType & Dune::Fem::ElementPointListBase< GridPartImp, 0, 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 , class IntegrationTraits >
static constexpr bool Dune::Fem::ElementPointListBase< GridPartImp, 0, IntegrationTraits >::twisted ( )
inlinestaticconstexprinherited

convenience implementation for Dune::Fem::CachingInterface

◆ twistId()

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

convenience implementation for Dune::Fem::CachingInterface

◆ type()

template<class GridPartImp , class IntegrationTraits >
GeometryType Dune::Fem::ElementPointListBase< GridPartImp, 0, IntegrationTraits >::type ( ) const
inlineinherited

◆ weight()

template<class GridPartImp , class IntegrationTraits , bool isQuadrature>
auto Dune::Fem::ElementQuadratureImpl< GridPartImp, 0, IntegrationTraits, isQuadrature >::weight ( size_t  i) const
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]inumber of the integration point, 0 <= i < nop()
Returns
weight of the i-th integration point

Member Data Documentation

◆ codimension

template<class GridPartImp , class IntegrationTraits >
const int Dune::Fem::ElementPointListBase< GridPartImp, 0, IntegrationTraits >::codimension = 0
staticinherited

codimension of the integration point list

◆ dimension

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

dimension of the grid

◆ quad_

template<class GridPartImp , class IntegrationTraits >
IntegrationPointListType Dune::Fem::ElementPointListBase< GridPartImp, 0, IntegrationTraits >::quad_
protectedinherited

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