dune-fem
2.4.1-rc
|
Generic implementation of a Dune quadrature. More...
#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/quadrature/quadratureimp.hh>
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 FieldType & | weight (size_t i) const |
obtain weight of i-th integration point More... | |
const CoordinateType & | point (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... | |
Generic implementation of a Dune quadrature.
A Dune Quadrature is nothing but a list of integration points (see also IntegrationPointsListImp) and their respective weights.
typedef BaseType :: CoordinateType Dune::Fem::QuadratureImp< FieldImp, dim >::CoordinateType |
type of local coordinates
typedef FieldImp Dune::Fem::QuadratureImp< FieldImp, dim >::FieldType |
field type
|
inherited |
|
inlineexplicitprotected |
Constructor.
The constructor simply creates an empty quadrature and stores the specified identifier.
[in] | id | unique identifier of the quadrature (provided by QuadratureProvider) |
|
inlinevirtual |
|
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().
|
pure virtualinherited |
obtain GeometryType for this integration point list
Integration point lists are specified in local coordinates, i.e., coordinates with respect to the reference element. Hence, each integration point list is only valid for one type of geometry, i.e., for one reference element. The type can be retrieved via this method.
Implemented in Dune::Fem::PyramidQuadrature< FieldImp >, Dune::Fem::PrismQuadrature< FieldImp >, Dune::Fem::HexaQuadrature< FieldImp >, Dune::Fem::TetraQuadrature< FieldImp >, Dune::Fem::QuadrilateralQuadrature< FieldImp >, Dune::Fem::TestQuadrature< ct, dim >, Dune::Fem::LagrangePointListInterface< FieldImp, dim, maxPolOrder >, Dune::Fem::TriangleQuadrature< FieldImp >, Dune::Fem::LineQuadrature< FieldImp >, Dune::Fem::CubeQuadrature< FieldImp, dim >, Dune::Fem::CornerPointList< ct, Topology >, Dune::Fem::QuadratureRulesFactory< FieldImp, dim >, Dune::Fem::SimplexQuadrature< FieldImp, dim >, and Dune::Fem::LumpingQuadrature< FieldImp, Topology >.
Referenced by Dune::Fem::IntegrationPointListImp< ct, Topology::dimension >::id(), Dune::Fem::PointProvider< ct, dim, 0 >::registerQuadrature(), and Dune::Fem::TwistMapperCreator< ct, dim >::TwistMapperCreator().
|
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.
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().
|
inlineinherited |
obtain the number of integration points
Referenced by Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp >::applyLocalNeighbor(), Dune::Fem::TwistMapperCreator< ct, dim >::createStorage(), Dune::Fem::PointProvider< ct, dim, 1 >::getMappers(), Dune::Fem::IntegrationPointListImp< ct, Topology::dimension >::point(), and Dune::Fem::PointProvider< ct, dim, 0 >::registerQuadrature().
|
pure virtualinherited |
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.
Implemented in Dune::Fem::PyramidQuadrature< FieldImp >, Dune::Fem::PrismQuadrature< FieldImp >, Dune::Fem::HexaQuadrature< FieldImp >, Dune::Fem::TetraQuadrature< FieldImp >, Dune::Fem::QuadrilateralQuadrature< FieldImp >, Dune::Fem::LagrangePointListInterface< FieldImp, dim, maxPolOrder >, Dune::Fem::TestQuadrature< ct, dim >, Dune::Fem::TriangleQuadrature< FieldImp >, Dune::Fem::LineQuadrature< FieldImp >, Dune::Fem::CubeQuadrature< FieldImp, dim >, Dune::Fem::CornerPointList< ct, Topology >, Dune::Fem::SimplexQuadrature< FieldImp, dim >, Dune::Fem::QuadratureRulesFactory< FieldImp, dim >, and Dune::Fem::LumpingQuadrature< FieldImp, Topology >.
Referenced by Dune::Fem::IntegrationPointListImp< ct, Topology::dimension >::id().
|
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.
[in] | i | number of the integration point, 0 <= i < nop() |
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().
|
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.
[in] | i | number of the integration point, 0 <= i < nop() |
Referenced by Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp >::applyLocalNeighbor(), and Dune::Fem::CubeQuadrature< FieldImp, dim >::CubeQuadrature().