version 3.11-dev
interpolate.hh File Reference

Interpolate a given function into the function space of the discretization. More...

#include <cassert>
#include <optional>
#include <ranges>
#include <type_traits>
#include <dune/grid/common/rangegenerators.hh>
#include <dumux/discretization/localview.hh>
#include <dumux/common/tag.hh>
#include <dumux/discretization/cvfe/localdof.hh>
#include <dumux/common/concepts/ipdata_.hh>
#include <dumux/discretization/projection/l2_projection.hh>

Go to the source code of this file.

Classes

struct  Dumux::CVFE::InterpolationPolicy::DofPositionEvaluation
 Interpolation policy that evaluates a function at the dof positions. More...
 
struct  Dumux::CVFE::InterpolationPolicy::L2Projection
 Interpolation policy that uses an L2 projection. More...
 
class  Dumux::CVFE::Detail::LocalFunctionAdapter< GridDiscretization, Function >
 Wraps a function callable as f(globalPos) or f(elemDisc, globalPos) into a local-function interface: bind(element) and operator()(localCoord). More...
 

Namespaces

namespace  Dumux
 
namespace  Dumux::CVFE
 
namespace  Dumux::CVFE::InterpolationPolicy
 
namespace  Dumux::CVFE::Detail
 

Functions

template<class GridDiscretization , class Function >
auto Dumux::CVFE::Detail::makeLocalFunctionAdapter (const GridDiscretization &gridDisc, Function &&f)
 
template<class GridDiscretization , class CoefficientVector , class Function >
requires (Detail::InterpolatableAtElemDiscIpData<typename GridDiscretization::LocalView, Function, typename CoefficientVector::value_type> || Detail::InterpolatableAtElemDiscGlobalPos<typename GridDiscretization::LocalView, Function, typename CoefficientVector::value_type> || Detail::InterpolatableAtGlobalPos<typename GridDiscretization::LocalView, Function, typename CoefficientVector::value_type>)
void Dumux::CVFE::interpolate (const GridDiscretization &gridDisc, CoefficientVector &coeffs, Function &&function, InterpolationPolicy::DofPositionEvaluation={})
 Interpolate a function into a coefficient vector by evaluating it at the dof positions. More...
 
template<class GridDiscretization , class CoefficientVector , class Function >
requires (Detail::InterpolatableAtGlobalPos<typename GridDiscretization::LocalView, Function, typename CoefficientVector::value_type> || Detail::InterpolatableAtElemDiscGlobalPos<typename GridDiscretization::LocalView, Function, typename CoefficientVector::value_type>)
void Dumux::CVFE::interpolate (const GridDiscretization &gridDisc, CoefficientVector &coeffs, Function &&function, InterpolationPolicy::L2Projection policy)
 Interpolate a function into a coefficient vector using an L2 projection. More...
 
Include dependency graph for interpolate.hh: