A grid function defining data on a coarser entity level than it can be bound to. More...
#include <CoarsenedGridFunction.hpp>
Classes | |
class | CoarsenedLocalFunction |
Public Types | |
using | EntitySet = Dune::Functions::GridViewEntitySet< GV, 0 > |
The set of entities this function can be evaluated on. | |
using | Domain = typename EntitySet::GlobalCoordinate |
The global coordinates. | |
using | Range = std::invoke_result_t< GF, Domain > |
The result type of the function. | |
using | LocalDomain = typename EntitySet::LocalCoordinate |
The local coordinates. | |
using | Element = typename EntitySet::Element |
Type of the grid element the LocalFunction can be bound to. | |
using | Grid = typename GV::Grid |
using | Geometry = typename Element::Geometry |
Public Member Functions | |
CoarsenedGridFunction (GV const &gridView, GF const &gridFct) | |
Constructor. More... | |
CoarsenedGridFunction (GV const &gridView, GF &&gridFct) | |
Range | operator() (Domain const &x) const |
Evaluate the wrapped grid-function. | |
template<class GF_ = GF> | |
auto | makeDerivative () const -> CoarsenedGridFunction< GV, TYPEOF(derivative(Dune::resolveRef(std::declval< GF_ const & >())))> |
Construct a derivative by wrapping the derivative of the wrapped grid-function. | |
auto | makeLocalFunction () const |
Construct local function from a DiscreteGlobalBasisFunction. | |
EntitySet const & | entitySet () const |
Get associated EntitySet. | |
A grid function defining data on a coarser entity level than it can be bound to.
This wrapper function allows to bind the wrapped grid function to elements on a finer grid than this grid function was defined on. It works by traversing from the refined element through the hierarchy until a coarser element is found that is in the entity-set of the bound grid function.
GV | The GridView the wrapper is bound to |
GF | A GridFunction that is bound to a coarser GridView |
|
inline |
Constructor.
Stores the GridFunction by value. Use a reference wrapper if copying the GridFunction is an expensive operation!