1#ifndef DUNE_FEM_DUNEQUADRATURES_HH
2#define DUNE_FEM_DUNEQUADRATURES_HH
8#include <dune/fem/quadrature/quadratureimp.hh>
24 template<
typename FieldImp,
int dim >
29 typedef FieldImp FieldType;
31 enum { dimension = dim };
49 enum { highest_order = 44 };
68 elementGeometry_( geometry )
76 order_ = rule.
order();
77 assert(
order <= order_ );
80 const IteratorType endit = rule.end();
81 for( IteratorType it = rule.begin(); it != endit; ++it )
96 return elementGeometry_;
103 return highest_order;
109 template<
class FieldType,
int dim >
110 struct DuneQuadratureTraits
112 typedef QuadratureRulesFactory< FieldType, dim > SimplexQuadratureType;
113 typedef QuadratureRulesFactory< FieldType, dim > CubeQuadratureType;
115 typedef QuadratureImp< FieldType, dim > IntegrationPointListType;
117 typedef int QuadratureKeyType ;
120 template<
class FieldType >
121 struct DuneQuadratureTraits< FieldType, 0 >
123 typedef QuadratureRulesFactory< FieldType, 0 > PointQuadratureType;
125 typedef QuadratureImp< FieldType, 0 > IntegrationPointListType;
127 typedef int QuadratureKeyType ;
130 template<
class FieldType >
131 struct DuneQuadratureTraits< FieldType, 1 >
133 typedef QuadratureRulesFactory< FieldType, 1 > LineQuadratureType;
135 typedef QuadratureImp< FieldType, 1 > IntegrationPointListType;
137 typedef int QuadratureKeyType ;
140 template<
class FieldType >
141 struct DuneQuadratureTraits< FieldType, 3 >
143 typedef QuadratureRulesFactory< FieldType, 3 > SimplexQuadratureType;
144 typedef QuadratureRulesFactory< FieldType, 3 > CubeQuadratureType;
146 typedef QuadratureRulesFactory< FieldType, 3 > PrismQuadratureType;
147 typedef QuadratureRulesFactory< FieldType, 3 > PyramidQuadratureType;
149 typedef QuadratureImp< FieldType, 3 > IntegrationPointListType;
151 typedef int QuadratureKeyType ;
size_t id() const
obtain the identifier of the integration point list
Definition: quadratureimp.hh:122
Generic implementation of a Dune quadrature.
Definition: quadratureimp.hh:196
void addQuadraturePoint(const CoordinateType &point, const FieldType weight)
Adds a point-weight pair to the quadrature.
Definition: quadratureimp.hh:270
BaseType::CoordinateType CoordinateType
type of local coordinates
Definition: quadratureimp.hh:207
quadrature implementation based on the standard DUNE quadratures
Definition: dunequadratures.hh:27
int order() const
obtain order of the integration point list
Definition: dunequadratures.hh:87
GeometryType geometryType() const
Definition: dunequadratures.hh:94
QuadratureRulesFactory(const GeometryType &geometry, const int order, const size_t id)
constructor filling the list of points and weights
Definition: dunequadratures.hh:64
static unsigned int maxOrder()
maximal order of available quadratures
Definition: dunequadratures.hh:101
vector space out of a tensor product of fields.
Definition: fvector.hh:91
Unique label for each type of entities that can occur in DUNE grids.
Definition: type.hh:114
Abstract base class for quadrature rules.
Definition: quadraturerules.hh:214
virtual int order() const
return order
Definition: quadraturerules.hh:237
std::vector< QuadraturePoint< ct, dim > >::const_iterator iterator
Definition: quadraturerules.hh:245
A container for all quadrature rules of dimension dim
Definition: quadraturerules.hh:260
@ GaussLobatto
Gauss-Lobatto rules.
Definition: quadraturerules.hh:176
Dune namespace.
Definition: alignedallocator.hh:13
A unique label for each type of element that can occur in a grid.