dune-fem  2.4.1-rc
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 </local/tomalk/somewhere/tmp/dune-fem/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 More...
 
typedef Base::RealType RealType
 
typedef Base::CoordinateType CoordinateType
 Type of coordinates in codim-0 reference element. More...
 
typedef GridPartType::IntersectionIteratorType IntersectionIteratorType
 Type of the intersection iterator. More...
 
typedef IntersectionIteratorType::Intersection IntersectionType
 
typedef QuadraturePointWrapper< ThisQuadraturePointWrapperType
 
typedef ElementIntegrationPointList< GridPartType, codimension, IntegrationTraits > NonConformingQuadratureType
 type of quadrature used for non-conforming intersections More...
 
typedef GridPartType::TwistUtilityType TwistUtilityType
 
typedef IntersectionIteratorType IntersectionIterator
 
enum  Side
 inside and outside flags More...
 
typedef IntegrationTraits::IntegrationPointListType IntegrationPointListType
 type of the integration point list More...
 
typedef IntegrationPointListType::CoordinateType LocalCoordinateType
 

Public Member Functions

 CachingPointList (const GridPartType &gridPart, const IntersectionType &intersection, int order, const typename Base::Side side)
 constructor More...
 
const QuadraturePointWrapperType operator[] (const size_t i) const
 
const CoordinateTypepoint (const size_t i) const
 obtain coordinates of i-th integration point More...
 
size_t cachingPoint (const size_t quadraturePoint) const
 map quadrature points to caching points More...
 
size_t localCachingPoint (const size_t i) const
 
size_t nop () const
 obtain the number of integration points More...
 
const LocalCoordinateTypelocalPoint (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 More...
 
GeometryType elementGeometry () const
 obtain GeometryType of the corresponding codim-0 the integration point list belongs to More...
 

Static Public Attributes

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

Protected Types

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

Protected Member Functions

Base getPointList (const GridPartType &gridPart, const IntersectionType &intersection, const int order, const typename Base::Side side)
 
const IntegrationPointListTypequadImp () const
 obtain the actual implementation of the quadrature More...
 
int localFaceIndex () const
 

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]orderdesired order of the quadrature
[in]sideeither INSIDE or OUTSIDE; codim-0 entity for which the ElementQuadrature shall be created

Member Typedef Documentation

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

Type of coordinates in codim-0 reference element.

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

type of the grid partition

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

type of the integration point list

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

Type of the intersection iterator.

template<typename GridPartImp , class IntegrationTraits >
typedef IntersectionIteratorType::Intersection Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::IntersectionType
typedef IntegrationPointListType::CoordinateType Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::LocalCoordinateType
inherited
template<typename GridPartImp , class IntegrationTraits >
typedef CachingTraits< RealType, dimension >::MapperType Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::MapperType
protected
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

template<typename GridPartImp , class IntegrationTraits >
typedef PointProvider< RealType, dimension, codimension> Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::PointProviderType
protected
template<typename GridPartImp , class IntegrationTraits >
typedef CachingTraits< RealType, dimension >::PointVectorType Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::PointVectorType
protected
template<typename GridPartImp , class IntegrationTraits >
typedef QuadraturePointWrapper< This > Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::QuadraturePointWrapperType
template<typename GridPartImp , class IntegrationTraits >
typedef Base::RealType Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::RealType
template<typename GridPartImp , class IntegrationTraits >
typedef GridPartType::TwistUtilityType Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::TwistUtilityType

Member Enumeration Documentation

inside and outside flags

Constructor & Destructor Documentation

template<typename GridPartImp , class IntegrationTraits >
Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::CachingPointList ( const GridPartType gridPart,
const IntersectionType intersection,
int  order,
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]orderdesired order of the quadrature
[in]sideeither INSIDE or OUTSIDE; codim-0 entity for which the ElementQuadrature shall be created

Member Function Documentation

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
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
GeometryType Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::geometry ( ) const
inlineinherited

obtain GeometryType for this integration point list

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

static GeometryType Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::getFaceGeometry ( const GeometryType &  elementGeo,
const int  face 
)
inlinestaticprotectedinherited
template<typename GridPartImp , class IntegrationTraits >
Base Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::getPointList ( const GridPartType gridPart,
const IntersectionType intersection,
const int  order,
const typename Base::Side  side 
)
inlineprotected
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

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

template<typename GridPartImp , class IntegrationTraits >
size_t Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::localCachingPoint ( const size_t  i) const
inline
int Dune::Fem::ElementPointListBase< GridPartImp, codim, IntegrationTraits >::localFaceIndex ( ) const
inlineprotectedinherited
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
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

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

template<typename GridPartImp , class IntegrationTraits >
const QuadraturePointWrapperType Dune::Fem::CachingPointList< GridPartImp, 1, IntegrationTraits >::operator[] ( const size_t  i) const
inline
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

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

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

References Dune::Fem::CachingInterface::cachingPoint().

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

Member Data Documentation

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

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