1#ifndef DUNE_FEM_LUMPING_QUADRATURE_HH
2#define DUNE_FEM_LUMPING_QUADRATURE_HH
4#include <dune/geometry/referenceelements.hh>
5#include <dune/geometry/type.hh>
27template<
class FieldImp, Dune::GeometryType::Id geometryId>
29 :
public QuadratureImp<FieldImp, Dune::GeometryType(geometryId).dim()>
33 static constexpr auto dimension = Dune::GeometryType(geometryId).dim();
51 const auto &refElement = Dune::ReferenceElements< FieldType, dimension >::general( gt );
52 const auto numCorners = refElement.size(
dimension );
53 for(
auto i =
decltype( numCorners ){ 0 }; i < numCorners; ++i )
59 virtual GeometryType
geometryType()
const {
return Dune::GeometryType(geometryId); }
62 virtual int order ()
const {
return 1; }
68template<
class FieldType,
int dimension>
73 static constexpr Dune::GeometryType::Id
simplexId = Dune::GeometryTypes::simplex(dimension);
74 static constexpr Dune::GeometryType::Id
cubeId = Dune::GeometryTypes::cube(dimension);
75 static constexpr Dune::GeometryType::Id
prismId = Dune::GeometryTypes::prism ;
76 static constexpr Dune::GeometryType::Id
pyramidId = Dune::GeometryTypes::pyramid;
89template<
class Gr
idPartImp,
int codim>
Definition: bindguard.hh:11
quadrature class supporting base function caching
Definition: cachingquadrature.hh:41
Definition: lumpingquadrature.hh:30
static std::size_t maxOrder()
maximal order of available quadratures
Definition: lumpingquadrature.hh:65
static constexpr auto dimension
Definition: lumpingquadrature.hh:33
BaseType::CoordinateType CoordinateType
Definition: lumpingquadrature.hh:40
virtual GeometryType geometryType() const
Definition: lumpingquadrature.hh:59
LumpingQuadrature(const GeometryType >, int order, int id)
constructor filling the list of points and weights.
Definition: lumpingquadrature.hh:48
FieldImp FieldType
Definition: lumpingquadrature.hh:32
virtual int order() const
obtain order of the integration point list
Definition: lumpingquadrature.hh:62
Definition: lumpingquadrature.hh:70
int QuadratureKeyType
Definition: lumpingquadrature.hh:85
static constexpr Dune::GeometryType::Id simplexId
Definition: lumpingquadrature.hh:73
QuadratureImp< FieldType, dimension > IntegrationPointListType
Definition: lumpingquadrature.hh:71
static constexpr Dune::GeometryType::Id pyramidId
Definition: lumpingquadrature.hh:76
static constexpr Dune::GeometryType::Id prismId
Definition: lumpingquadrature.hh:75
LumpingQuadrature< FieldType, prismId > PrismQuadratureType
Definition: lumpingquadrature.hh:80
LumpingQuadrature< FieldType, pyramidId > PyramidQuadratureType
Definition: lumpingquadrature.hh:81
LumpingQuadrature< FieldType, cubeId > CubeQuadratureType
Definition: lumpingquadrature.hh:79
static constexpr Dune::GeometryType::Id cubeId
Definition: lumpingquadrature.hh:74
SimplexQuadratureType LineQuadratureType
Definition: lumpingquadrature.hh:82
SimplexQuadratureType PointQuadratureType
Definition: lumpingquadrature.hh:83
LumpingQuadrature< FieldType, simplexId > SimplexQuadratureType
Definition: lumpingquadrature.hh:78
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