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

Generic implementation of a Dune quadrature. More...

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

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

Public Types

typedef FieldImp FieldType
 field type More...
 
typedef BaseType::CoordinateType CoordinateType
 type of local coordinates More...
 
enum  { codimension = 0 }
 to be revised, look at caching quad More...
 

Public Member Functions

virtual ~QuadratureImp ()
 
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...
 
virtual int order () const =0
 obtain order of the integration point list More...
 
virtual GeometryType geometryType () const =0
 obtain GeometryType for this integration point list More...
 

Protected Member Functions

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

Detailed Description

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

Generic implementation of a Dune quadrature.

A Dune Quadrature is nothing but a list of integration points (see also IntegrationPointsListImp) and their respective weights.

Note
Quadratures do not change over time. It can safely be assumed that they always return the same points in the same order.

Member Typedef Documentation

template<typename FieldImp, int dim>
typedef BaseType :: CoordinateType Dune::Fem::QuadratureImp< FieldImp, dim >::CoordinateType

type of local coordinates

template<typename FieldImp, int dim>
typedef FieldImp Dune::Fem::QuadratureImp< FieldImp, dim >::FieldType

field type

Member Enumeration Documentation

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::QuadratureImp< FieldImp, dim >::QuadratureImp ( size_t  id)
inlineexplicitprotected

Constructor.

The constructor simply creates an empty quadrature and stores the specified identifier.

Note
The constructors of derived classes should fill the quadrature via addQuadraturePoint
The identifier of an integration point list must be globally unique. Even integration point lists for different dimensions must have different identifiers.
Parameters
[in]idunique identifier of the quadrature (provided by QuadratureProvider)
template<typename FieldImp, int dim>
virtual Dune::Fem::QuadratureImp< FieldImp, dim >::~QuadratureImp ( )
inlinevirtual

Member Function Documentation

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

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>
virtual GeometryType Dune::Fem::IntegrationPointListImp< FieldImp, dim >::geometryType ( ) const
pure virtualinherited
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>
size_t Dune::Fem::IntegrationPointListImp< FieldImp, dim >::nop ( ) const
inlineinherited
template<typename FieldImp, int dim>
virtual int Dune::Fem::IntegrationPointListImp< FieldImp, dim >::order ( ) const
pure virtualinherited
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
inline

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


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