dune-pdelab  2.7-git
Integrating grid functions

First, we define some example grid function to integrate.

auto analyticFunction = Dune::PDELab::makeGridFunctionFromCallable (grid.leafGridView(), [&](const auto& i, const auto& x){
return exp(-(x*x));
});

Computing the integral of a grid function is just a single call:

auto integral = Dune::PDELab::integrateGridFunction(analyticFunction,10);

When run in parallel, this integrates over the local interior domain. So, in that case, we still need to sum over all processes for the full integral.

integral = grid.leafGridView().comm().sum(integral);

Full example code: recipe-integrating-grid-functions.cc

Dune::PDELab::makeGridFunctionFromCallable
WrapperConformingToGridFunctionInterface makeGridFunctionFromCallable(const GV &gv, const F &f)
Create a GridFunction adapter from a callable.
Definition: callableadapter.hh:113
Dune::PDELab::integrateGridFunction
GF::Traits::RangeType integrateGridFunction(const GF &gf, unsigned qorder=1)
Integrate a GridFunction.
Definition: functionutilities.hh:51