10#include <dune/geometry/quadraturerules.hh>
28template <
class BaseQuadrature,
class Quadrature>
30 constexpr int baseQuadDim = BaseQuadrature::d;
31 auto rule = Dune::QuadratureRule<double, baseQuadDim + 1>();
32 const unsigned int baseQuadSize = baseQuad.size();
33 for (
unsigned int bqi = 0; bqi < baseQuadSize; ++bqi) {
34 const typename Dune::QuadraturePoint<double, baseQuadDim>::Vector& basePoint = baseQuad[bqi].position();
35 const double& baseWeight = baseQuad[bqi].weight();
37 typename Dune::QuadraturePoint<double, baseQuadDim + 1>::Vector point;
38 for (
unsigned int i = 0; i < baseQuadDim; ++i)
39 point[i] = basePoint[i];
41 const unsigned int onedQuadSize = onedQuad.size();
42 for (
unsigned int oqi = 0; oqi < onedQuadSize; ++oqi) {
43 point[baseQuadDim] = onedQuad[oqi].position()[0];
44 rule.emplace_back(Dune::QuadraturePoint(point, baseWeight * onedQuad[oqi].weight()));
Definition: assemblermanipulatorbuildingblocks.hh:22
auto tensorProductQuadrature(const BaseQuadrature &baseQuad, const Quadrature &onedQuad)
Computes the tensor product quadrature rule using a base and one-dimensional quadrature rule.
Definition: tensorproductquadrule.hh:29