dune-fem  2.4.1-rc
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
Dune::Fem::QuadratureRulesFactory< FieldImp, dim > Class Template Reference

quadrature implementation based on the standard DUNE quadratures More...

#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/quadrature/dunequadratures.hh>

Inheritance diagram for Dune::Fem::QuadratureRulesFactory< FieldImp, dim >:
Inheritance graph

Public Types

enum  { dimension = dim }
 
typedef FieldImp FieldType
 
typedef BaseType::CoordinateType CoordinateType
 
enum  { codimension = 0 }
 to be revised, look at caching quad More...
 

Public Member Functions

 QuadratureRulesFactory (const GeometryType &geometry, const int order, const size_t id)
 constructor filling the list of points and weights More...
 
int order () const
 obtain order of the integration point list More...
 
GeometryType geometryType () const
 
const FieldTypeweight (size_t i) const
 obtain weight of i-th integration point More...
 
const CoordinateTypepoint (size_t i) const
 obtain coordinates of i-th integration point More...
 
size_t nop () const
 obtain the number of integration points More...
 
size_t id () const
 obtain the identifier of the integration point list More...
 

Static Public Member Functions

static unsigned int maxOrder ()
 maximal order of available quadratures More...
 

Protected Types

enum  { highest_order = 44 }
 
typedef QuadratureRule< FieldType, dimensionDuneQuadratureRuleType
 

Protected Member Functions

void addQuadraturePoint (const CoordinateType &point, const FieldType weight)
 Adds a point-weight pair to the quadrature. More...
 

Protected Attributes

const GeometryType elementGeometry_
 
int order_
 

Detailed Description

template<typename FieldImp, int dim>
class Dune::Fem::QuadratureRulesFactory< FieldImp, dim >

quadrature implementation based on the standard DUNE quadratures

Though a factory by name, this is a quadrature implementation using the standard quadratures from DUNE grid to generate a list of quadrature points.

Member Typedef Documentation

template<typename FieldImp , int dim>
typedef BaseType :: CoordinateType Dune::Fem::QuadratureRulesFactory< FieldImp, dim >::CoordinateType
template<typename FieldImp , int dim>
typedef QuadratureRule< FieldType, dimension > Dune::Fem::QuadratureRulesFactory< FieldImp, dim >::DuneQuadratureRuleType
protected
template<typename FieldImp , int dim>
typedef FieldImp Dune::Fem::QuadratureRulesFactory< FieldImp, dim >::FieldType

Member Enumeration Documentation

template<typename FieldImp , int dim>
anonymous enum
Enumerator
dimension 
template<typename FieldImp , int dim>
anonymous enum
protected
Enumerator
highest_order 
template<typename FieldImp, int dim>
anonymous enum
inherited

to be revised, look at caching quad

Enumerator
codimension 

Constructor & Destructor Documentation

template<typename FieldImp , int dim>
Dune::Fem::QuadratureRulesFactory< FieldImp, dim >::QuadratureRulesFactory ( const GeometryType &  geometry,
const int  order,
const size_t  id 
)
inline

constructor filling the list of points and weights

Parameters
[in]geometrygeometry type for which a quadrature is desired
[in]orderdesired order (provided by the user)
[in]idunique identifier (provided by QuadratureProvider)

References Dune::Fem::QuadratureImp< FieldImp, dim >::addQuadraturePoint().

Member Function Documentation

template<typename FieldImp, int dim>
void Dune::Fem::QuadratureImp< FieldImp, dim >::addQuadraturePoint ( const CoordinateType point,
const FieldType  weight 
)
inlineprotectedinherited

Adds a point-weight pair to the quadrature.

This method allows derived classes to add quadrature points (and their respective weights) to the list. This mehtod should only be used within the constructor of the derived class.

Referenced by Dune::Fem::CubeQuadrature< FieldImp, dim >::CubeQuadrature(), Dune::Fem::QuadratureRulesFactory< FieldImp, dim >::QuadratureRulesFactory(), and Dune::Fem::SimplexQuadrature< FieldImp, dim >::SimplexQuadrature().

template<typename FieldImp , int dim>
GeometryType Dune::Fem::QuadratureRulesFactory< FieldImp, dim >::geometryType ( ) const
inlinevirtual
template<typename FieldImp, int dim>
size_t Dune::Fem::IntegrationPointListImp< FieldImp, dim >::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

Referenced by Dune::Fem::CacheProvider< GridPart, 1 >::getMapper(), Dune::Fem::PointProvider< ct, dim, 1 >::getMappers(), Dune::Fem::PointProvider< ct, dim, 1 >::getPoints(), Dune::Fem::TwistProvider< ct, dim >::getTwistStorage(), and Dune::Fem::PointProvider< ct, dim, 0 >::registerQuadrature().

template<typename FieldImp , int dim>
static unsigned int Dune::Fem::QuadratureRulesFactory< FieldImp, dim >::maxOrder ( )
inlinestatic

maximal order of available quadratures

References Dune::Fem::QuadratureRulesFactory< FieldImp, dim >::highest_order.

template<typename FieldImp, int dim>
size_t Dune::Fem::IntegrationPointListImp< FieldImp, dim >::nop ( ) const
inlineinherited
template<typename FieldImp , int dim>
int Dune::Fem::QuadratureRulesFactory< FieldImp, dim >::order ( ) const
inlinevirtual

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.

Returns
the order of the integration point list

Implements Dune::Fem::IntegrationPointListImp< FieldImp, dim >.

References Dune::Fem::QuadratureRulesFactory< FieldImp, dim >::order_.

template<typename FieldImp, int dim>
const CoordinateType& Dune::Fem::IntegrationPointListImp< FieldImp, dim >::point ( size_t  i) const
inlineinherited

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

Referenced by Dune::Fem::TwistMapperCreator< ct, dim >::createStorage(), Dune::Fem::PointProvider< ct, dim, 1 >::getMappers(), Dune::Fem::PointProvider< ct, dim, 0 >::registerQuadrature(), and Dune::Fem::QuadratureImp< FieldImp, 1 >::weight().

template<typename FieldImp, int dim>
const FieldType& Dune::Fem::QuadratureImp< FieldImp, dim >::weight ( size_t  i) const
inlineinherited

obtain weight of i-th integration point

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

Referenced by Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp >::applyLocalNeighbor(), and Dune::Fem::CubeQuadrature< FieldImp, dim >::CubeQuadrature().

Member Data Documentation

template<typename FieldImp , int dim>
const GeometryType Dune::Fem::QuadratureRulesFactory< FieldImp, dim >::elementGeometry_
protected
template<typename FieldImp , int dim>
int Dune::Fem::QuadratureRulesFactory< FieldImp, dim >::order_
protected

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