diff --git a/dune/amdis/gridfunctions/Integrate.hpp b/dune/amdis/gridfunctions/Integrate.hpp index cbab7db7da16dd544655420033cd5d2f72899ddd..f3dc892fd27bfb65dfe3159e779fff5528554689 100644 --- a/dune/amdis/gridfunctions/Integrate.hpp +++ b/dune/amdis/gridfunctions/Integrate.hpp @@ -52,7 +52,7 @@ namespace AMDiS return 0.0; #else return Dune::Hybrid::ifElse(bool_<expr_has_order>, - [&](auto) { return Impl::integrateImpl(std::forward<decltype(gridFct)>(gridFct), gridView, makeQuad); }, + [&](auto) { return Impl::integrateImpl(gridFct, gridView, makeQuad); }, [ ](auto) { return 0.0; }); #endif } @@ -69,13 +69,14 @@ namespace AMDiS /// Integrate expression with quadrature rule determined by provided polynomial `degree` template <class Expr, class GridView> - auto integrate(Expr&& expr, GridView const& gridView, int degree) + auto integrate(Expr&& expr, GridView const& gridView, int degree, + Dune::QuadratureType::Enum qt = Dune::QuadratureType::GaussLegendre) { using QuadratureRules = Dune::QuadratureRules<typename GridView::ctype, GridView::dimension>; auto&& gridFct = makeGridFunction(std::forward<Expr>(expr), gridView); return Impl::integrateImpl(std::forward<decltype(gridFct)>(gridFct), gridView, - [&](auto const& type, auto&&) { return QuadratureRules::rule(type, degree); }); + [&](auto const& type, auto&&) { return QuadratureRules::rule(type, degree, qt); }); } } // end namespace AMDiS