23#ifndef DUMUX_IO_CVFE_GRID_FUNCTION_HH
24#define DUMUX_IO_CVFE_GRID_FUNCTION_HH
44template<
class Gr
idGeometry,
class SolutionVector>
47 using GridView =
typename GridGeometry::GridView;
48 using Element =
typename GridView::template Codim<0>::Entity;
58 : gridGeometry_(&gg), sol_(&sol)
61 void bind(
const Element& element)
62 { element_.emplace(element); }
68 auto operator()(
const typename Element::Geometry::LocalCoordinate& localPos)
const
72 *element_, element_->geometry(),
73 *gridGeometry_, elemSol, localPos
78 const GridGeometry* gridGeometry_;
79 const SolutionVector* sol_;
80 std::optional<Element> element_;
84 : gridGeometry_(&gg), sol_(&sol)
92 const GridGeometry* gridGeometry_;
93 const SolutionVector* sol_;
102template<
class Gr
idGeometry,
class SolutionVector>
The local function type satisfying the dune-functions local function concept.
Definition cvfegridfunction.hh:55
LocalFunction(const GridGeometry &gg, const SolutionVector &sol)
Definition cvfegridfunction.hh:57
void bind(const Element &element)
Definition cvfegridfunction.hh:61
void unbind()
Definition cvfegridfunction.hh:64
auto operator()(const typename Element::Geometry::LocalCoordinate &localPos) const
Evaluate FE solution at local coordinate localPos in the bound element.
Definition cvfegridfunction.hh:68
Thin dune-functions-compatible wrapper for a CVFE grid function.
Definition cvfegridfunction.hh:46
friend LocalFunction localFunction(const CVFEGridFunction &f)
Returns a local function. Found via ADL as required by gridformat.
Definition cvfegridfunction.hh:88
CVFEGridFunction(const GridGeometry &gg, const SolutionVector &sol)
Definition cvfegridfunction.hh:83
Element solution classes and factory functions.
free functions for the evaluation of primary variables inside elements.
auto elementSolution(const Element &element, const SolutionVector &sol, const GridGeometry &gg) -> std::enable_if_t< GridGeometry::discMethod==DiscretizationMethods::cctpfa||GridGeometry::discMethod==DiscretizationMethods::ccmpfa, CCElementSolution< typename GridGeometry::LocalView, std::decay_t< decltype(std::declval< SolutionVector >()[0])> > >
Make an element solution for cell-centered schemes.
Definition cellcentered/elementsolution.hh:101
PrimaryVariables evalSolutionAtLocalPos(const Element &element, const typename Element::Geometry &geometry, const typename FVElementGeometry::GridGeometry &gridGeometry, const CVFEElementSolution< FVElementGeometry, PrimaryVariables > &elemSol, const typename Element::Geometry::LocalCoordinate &localPos, bool ignoreState=false)
Interpolates a given cvfe element solution at a given local position. Uses the finite element cache o...
Definition evalsolution.hh:173
Definition cvfegridfunction.hh:31
auto cvfeGridFunction(const GridGeometry &gg, const SolutionVector &sol)
Convenience factory function for CVFEGridFunction.
Definition cvfegridfunction.hh:103