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

constructor More...

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

Inheritance diagram for Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >:
Inheritance graph

Public Types

typedef GridPartImp GridPartType
 type of the grid partition
 
typedef Base::RealType RealType
 
typedef Base::CoordinateType CoordinateType
 Type of coordinates in codim-0 reference element.
 
typedef Base::QuadratureKeyType QuadratureKeyType
 type of quadrature identifier on user side (default is the order of quadrature)
 
typedef GridPartType::IntersectionIteratorType IntersectionIteratorType
 Type of the intersection iterator.
 
typedef IntersectionIteratorType::Intersection IntersectionType
 
typedef QuadraturePointWrapper< ThisQuadraturePointWrapperType
 
typedef QuadraturePointIterator< ThisIteratorType
 type of iterator
 
typedef ElementIntegrationPointList< GridPartType, codimension, IntegrationTraits > NonConformingQuadratureType
 type of quadrature used for non-conforming intersections
 
typedef GridPartType::TwistUtilityType TwistUtilityType
 
typedef IntersectionIteratorType IntersectionIterator
 
enum  Side
 inside and outside flags More...
 
typedef IntegrationTraits::IntegrationPointListType IntegrationPointListType
 type of the integration point list
 
typedef IntegrationPointListType::CoordinateType LocalCoordinateType
 

Public Member Functions

 CachingPointList (const GridPartType &gridPart, const IntersectionType &intersection, const QuadratureKeyType &quadKey, const typename Base ::Side side)
 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
 
bool twisted () const
 returns true if cachingPoint is not the identity mapping
 
int twistId () const
 returns the twistId, i.e. [0,...,7]
 
size_t cachingPoint (const size_t quadraturePoint) const
 map quadrature points to caching points
 
size_t interpolationPoint (const size_t quadraturePoint) const
 map quadrature points to interpolation points
 
bool isInterpolationQuadrature (const size_t numShapeFunctions) const
 check if quadrature is interpolation quadrature
 
size_t localCachingPoint (const size_t i) const
 
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
 
int nCachingPoints () const
 
int cachingPointStart () const
 
int localFaceIndex () const
 

Static Public Attributes

static const int dimension = Base::dimension
 
static const int codimension = Base::codimension
 
static const int pointSetId
 

Protected Types

typedef CachingTraits< RealType, dimension >::MapperPairType MapperPairType
 
typedef CachingTraits< RealType, dimension >::PointVectorType PointVectorType
 
typedef CacheProvider< GridPartType, codimensionCacheProviderType
 
typedef PointProvider< RealType, dimension, codimensionPointProviderType
 

Protected Member Functions

Base getPointList (const IntersectionType &intersection, const QuadratureKeyType &key, const typename Base ::Side side)
 
int getTwist (const GridPartType &gridPart, const IntersectionType &intersection, const typename Base ::Side side)
 
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<typename GridPartImp, class IntegrationTraits>
class Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >

constructor

Note
The CachingPointList requires the grid part to get twist information for TwistUtility (see also ElementIntegrationPointList<GridPartImp,1>).
Parameters
[in]gridPartgrid partition
[in]intersectionintersection
[in]quadKeydesired order of the quadrature or other means of quadrature identification
[in]sideeither INSIDE or OUTSIDE; codim-0 entity for which the ElementQuadrature shall be created

Member Typedef Documentation

◆ CacheProviderType

template<typename GridPartImp , class IntegrationTraits >
typedef CacheProvider< GridPartType, codimension > Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::CacheProviderType
protected

◆ CoordinateType

template<typename GridPartImp , class IntegrationTraits >
typedef Base::CoordinateType Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::CoordinateType

Type of coordinates in codim-0 reference element.

◆ GridPartType

template<typename GridPartImp , class IntegrationTraits >
typedef GridPartImp Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::GridPartType

type of the grid partition

◆ IntegrationPointListType

typedef IntegrationTraits::IntegrationPointListType Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::IntegrationPointListType
inherited

type of the integration point list

◆ IntersectionIterator

template<typename GridPartImp , class IntegrationTraits >
typedef IntersectionIteratorType Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::IntersectionIterator

◆ IntersectionIteratorType

template<typename GridPartImp , class IntegrationTraits >
typedef GridPartType::IntersectionIteratorType Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::IntersectionIteratorType

Type of the intersection iterator.

◆ IntersectionType

template<typename GridPartImp , class IntegrationTraits >
typedef IntersectionIteratorType::Intersection Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::IntersectionType

◆ IteratorType

template<typename GridPartImp , class IntegrationTraits >
typedef QuadraturePointIterator< This > Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::IteratorType

type of iterator

◆ LocalCoordinateType

typedef IntegrationPointListType::CoordinateType Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::LocalCoordinateType
inherited

◆ MapperPairType

template<typename GridPartImp , class IntegrationTraits >
typedef CachingTraits<RealType,dimension>::MapperPairType Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::MapperPairType
protected

◆ NonConformingQuadratureType

template<typename GridPartImp , class IntegrationTraits >
typedef ElementIntegrationPointList< GridPartType, codimension, IntegrationTraits > Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::NonConformingQuadratureType

type of quadrature used for non-conforming intersections

◆ PointProviderType

template<typename GridPartImp , class IntegrationTraits >
typedef PointProvider< RealType, dimension, codimension> Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::PointProviderType
protected

◆ PointVectorType

template<typename GridPartImp , class IntegrationTraits >
typedef CachingTraits<RealType,dimension>::PointVectorType Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::PointVectorType
protected

◆ QuadratureKeyType

template<typename GridPartImp , class IntegrationTraits >
typedef Base::QuadratureKeyType Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::QuadratureKeyType

type of quadrature identifier on user side (default is the order of quadrature)

◆ QuadraturePointWrapperType

template<typename GridPartImp , class IntegrationTraits >
typedef QuadraturePointWrapper< This > Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::QuadraturePointWrapperType

◆ RealType

template<typename GridPartImp , class IntegrationTraits >
typedef Base::RealType Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::RealType

◆ TwistUtilityType

template<typename GridPartImp , class IntegrationTraits >
typedef GridPartType::TwistUtilityType Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::TwistUtilityType

Member Enumeration Documentation

◆ Side

inside and outside flags

Constructor & Destructor Documentation

◆ CachingPointList()

template<typename GridPartImp , class IntegrationTraits >
Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::CachingPointList ( const GridPartType gridPart,
const IntersectionType intersection,
const QuadratureKeyType quadKey,
const typename Base ::Side  side 
)
inline

constructor

Note
The CachingPointList requires the grid part to get twist information for TwistUtility (see also ElementIntegrationPointList<GridPartImp,1>).
Parameters
[in]gridPartgrid partition
[in]intersectionintersection
[in]quadKeydesired order of the quadrature or other means of quadrature identification
[in]sideeither INSIDE or OUTSIDE; codim-0 entity for which the ElementQuadrature shall be created

Member Function Documentation

◆ begin()

template<typename GridPartImp , class IntegrationTraits >
IteratorType Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::begin ( ) const
inlinenoexcept

◆ cachingPoint()

template<typename GridPartImp , class IntegrationTraits >
size_t Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::cachingPoint ( const size_t  quadraturePoint) const
inline

map quadrature points to caching points

For codim-1 entites, the mapping consists of two stages:

  • Consider the twist to get the quadrature point number on the face of the (codim-0) reference element,
  • Map the twisted quadrature point number to the caching point number.
Parameters
[in]quadraturePointnumber of quadrature point to map to a caching point

◆ cachingPointStart()

int Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::cachingPointStart ( ) const
inlineinherited

◆ elementGeometry()

GeometryType Dune::Fem::ElementPointListBase< GridPartImp, codim, 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<typename GridPartImp , class IntegrationTraits >
IteratorType Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::end ( ) const
inlinenoexcept

◆ geometry()

GeometryType Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::geometry ( ) const
inlineinherited

obtain GeometryType for this integration point list

◆ getFaceGeometry()

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

◆ getPointList()

template<typename GridPartImp , class IntegrationTraits >
Base Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::getPointList ( const IntersectionType intersection,
const QuadratureKeyType key,
const typename Base ::Side  side 
)
inlineprotected

◆ getTwist()

template<typename GridPartImp , class IntegrationTraits >
int Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::getTwist ( const GridPartType gridPart,
const IntersectionType intersection,
const typename Base ::Side  side 
)
inlineprotected

◆ id()

size_t Dune::Fem::ElementPointListBase< GridPartImp, codim, 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

◆ interpolationPoint()

template<typename GridPartImp , class IntegrationTraits >
size_t Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::interpolationPoint ( const size_t  quadraturePoint) const
inline

map quadrature points to interpolation points

Parameters
[in]quadraturePointnumber of quadrature point to map to an interpolation point

◆ isInterpolationQuadrature()

template<typename GridPartImp , class IntegrationTraits >
bool Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::isInterpolationQuadrature ( const size_t  numShapeFunctions) const
inline

check if quadrature is interpolation quadrature

Parameters
[in]numShapeFunctionsnumber of shapeFunctions that has to match number of quadrature points or number of internal interpolation points

◆ localCachingPoint()

template<typename GridPartImp , class IntegrationTraits >
size_t Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::localCachingPoint ( const size_t  i) const
inline

◆ localFaceIndex()

int Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::localFaceIndex ( ) const
inlineinherited

◆ localPoint()

const LocalCoordinateType & Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::localPoint ( size_t  i) const
inlineinherited

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

int Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::nCachingPoints ( ) const
inlineinherited

◆ nop()

size_t Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::nop ( ) const
inlineinherited

obtain the number of integration points

Returns
number of integration points within this list

◆ operator[]()

template<typename GridPartImp , class IntegrationTraits >
const QuadraturePointWrapperType Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::operator[] ( const size_t  i) const
inline

◆ order()

int Dune::Fem::ElementPointListBase< GridPartImp, codim, 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<typename GridPartImp , class IntegrationTraits >
const CoordinateType & Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::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()

const IntegrationPointListType & Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::quadImp ( ) const
inlineprotectedinherited

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<typename GridPartImp , class IntegrationTraits >
bool Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::twisted ( ) const
inline

returns true if cachingPoint is not the identity mapping

◆ twistId()

template<typename GridPartImp , class IntegrationTraits >
int Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::twistId ( ) const
inline

returns the twistId, i.e. [0,...,7]

Member Data Documentation

◆ codimension

template<typename GridPartImp , class IntegrationTraits >
const int Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::codimension = Base::codimension
static

◆ dimension

template<typename GridPartImp , class IntegrationTraits >
const int Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::dimension = Base::dimension
static

◆ pointSetId

template<typename GridPartImp , class IntegrationTraits >
const int Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::pointSetId
static
Initial value:

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