Class template Dune::XT::Functions::FunctionInterface¶
-
template<size_t d, size_t r, size_t rC, class R>
class Dune::XT::Functions::FunctionInterface¶ Interface for functions (in the C^ infty sense) which can thus be evaluated in global coordinates.
auto function = …; auto grid_view = …; using E = XT::Grid::extract_entity_t<decltype(grid_view)>; auto grid_function = make_grid_function
(function); These functions do not depend on a grid, but only on the dimensions and fields of their domain and range. See in particular RangeReturnTypeSelector and DerivativeRangeReturnTypeSelector for the interpretation of a function and its derivatives, and GridFunctionInterface for functions which may have discontinuities between entities (as in: which are double-valued on intersections).
To turn a function into a function which is localizable w.r.t. a GridView of matching dimension (e.g., to visualize it or to use it in a discretization scheme), use make_grid_function to obtain a wrapped version of this function:
See also:
RangeReturnTypeSelector,DerivativeRangeReturnTypeSelector,GridFunctionInterface,GridInterface,make_grid_function
-
ThisType &Dune::XT::Functions::FunctionInterface::operator=(const ThisType&) = delete¶
No documentation provided.
-
ThisType &Dune::XT::Functions::FunctionInterface::operator=(ThisType&&) = delete¶
No documentation provided.
-
int Dune::XT::Functions::FunctionInterface::copy_as_function() const¶
Returns a (shallow) copy of the function. actual implementation work is delegated to the private
copy_as_function_implcombined with hidingcopy_as_functionin derived classes, this allows us the a unique_ptr with correct type at all levels of the polymorphic hierarchyNote
This is intended to be cheap, so make sure to share resources (but in a thread-safe way)!
-
virtual ThisType *Dune::XT::Functions::FunctionInterface::copy_as_function_impl() const = 0¶
No documentation provided.
-
virtual int Dune::XT::Functions::FunctionInterface::order(const XT::Common::Parameter& =
<recovery-expr>({})) const = 0¶ No documentation provided.
-
virtual RangeReturnType Dune::XT::Functions::FunctionInterface::evaluate(const DomainType&, const Common::Parameter& =
<recovery-expr>({})) const¶ \ }
´´These methods should be implemented to define the functionality of the function.‘’
\ {
-
virtual DerivativeRangeReturnType Dune::XT::Functions::FunctionInterface::jacobian(const DomainType&, const Common::Parameter& =
<recovery-expr>({})) const¶ No documentation provided.
-
virtual DerivativeRangeReturnType Dune::XT::Functions::FunctionInterface::derivative(const std::array<size_t, d>&, const DomainType&, const Common::Parameter& =
<recovery-expr>({})) const¶ No documentation provided.
-
static std::string Dune::XT::Functions::FunctionInterface::static_id()¶
No documentation provided.
-
virtual std::string Dune::XT::Functions::FunctionInterface::name() const¶
No documentation provided.
-
Functions::DifferenceFunction<ThisType, ThisType> Dune::XT::Functions::FunctionInterface::operator-(const ThisType &other) const¶
\ }
Operators emulating numeric types.
\ {
-
Functions::SumFunction<ThisType, ThisType> Dune::XT::Functions::FunctionInterface::operator+(const ThisType &other) const¶
No documentation provided.
-
template<>
explicit Dune::XT::Functions::FunctionInterface::FunctionInterface<d, r, rC, R>(const Common::ParameterType ¶m_type = {})¶ \ }
-
template<>
Dune::XT::Functions::FunctionInterface::FunctionInterface<d, r, rC, R>(const ThisType &other)¶ No documentation provided.
-
template<>
Dune::XT::Functions::FunctionInterface::FunctionInterface<d, r, rC, R>(ThisType&) = default¶ No documentation provided.
-
template<>
~FunctionInterface<domainDim, rangeDim, rangeDimCols, RangeField>() override = default¶ No documentation provided.
-
const size_t Dune::XT::Functions::FunctionInterface::domain_dim¶
No documentation provided.
-
const size_t Dune::XT::Functions::FunctionInterface::range_dim¶
No documentation provided.
-
const size_t Dune::XT::Functions::FunctionInterface::range_dim_cols¶
No documentation provided.
-
const size_t Dune::XT::Functions::FunctionInterface::d¶
No documentation provided.
-
const size_t Dune::XT::Functions::FunctionInterface::r¶
No documentation provided.
-
const size_t Dune::XT::Functions::FunctionInterface::rC¶
No documentation provided.
-
type Dune::XT::Functions::FunctionInterface::ThisType¶
No documentation provided.
-
type Dune::XT::Functions::FunctionInterface::DomainFieldType¶
No documentation provided.
-
type Dune::XT::Functions::FunctionInterface::RangeFieldType¶
No documentation provided.
-
type Dune::XT::Functions::FunctionInterface::D¶
No documentation provided.
-
type Dune::XT::Functions::FunctionInterface::R¶
No documentation provided.
-
type Dune::XT::Functions::FunctionInterface::DomainType¶
No documentation provided.
-
type Dune::XT::Functions::FunctionInterface::RangeSelector¶
No documentation provided.
-
type Dune::XT::Functions::FunctionInterface::DerivativeRangeSelector¶
No documentation provided.
-
type Dune::XT::Functions::FunctionInterface::DifferenceType¶
No documentation provided.
-
type Dune::XT::Functions::FunctionInterface::SumType¶
No documentation provided.
-
type Dune::XT::Functions::FunctionInterface::RangeReturnType¶
\ {
``These types are the standard types to be used.‘’
-
type Dune::XT::Functions::FunctionInterface::DerivativeRangeReturnType¶
No documentation provided.
-
type Dune::XT::Functions::FunctionInterface::RowDerivativeRangeReturnType¶
No documentation provided.
-
type Dune::XT::Functions::FunctionInterface::SingleDerivativeRangeReturnType¶
No documentation provided.
-
type Dune::XT::Functions::FunctionInterface::DynamicRangeType¶
\ }
``These types are used for large dimensions.‘’
\ {
-
type Dune::XT::Functions::FunctionInterface::DynamicRowDerivativeRangeType¶
No documentation provided.
-
type Dune::XT::Functions::FunctionInterface::DynamicDerivativeRangeType¶
No documentation provided.
Class template Dune::XT::Functions::FunctionInterface::single_evaluate_helper¶
-
template<class SingleType, size_t _r, bool anything>
class Dune::XT::Functions::FunctionInterface::single_evaluate_helper¶ No documentation provided.
-
template<class FullType>
static SingleType Dune::XT::Functions::FunctionInterface::single_evaluate_helper::call(const FullType &val, const size_t row, const size_t)¶ No documentation provided.
Class template Dune::XT::Functions::FunctionInterface::single_derivative_helper¶
-
template<class SingleType, size_t _r = r, size_t _rC = rC, bool anything = true>
class Dune::XT::Functions::FunctionInterface::single_derivative_helper¶ No documentation provided.
-
template<class FullType>
static SingleType Dune::XT::Functions::FunctionInterface::single_derivative_helper::call(const FullType &val, const size_t row, const size_t col)¶ No documentation provided.
Class template Dune::XT::Functions::FunctionInterface::single_derivative_helper¶
-
template<class SingleType, size_t _r, bool anything>
class Dune::XT::Functions::FunctionInterface::single_derivative_helper¶ No documentation provided.
-
template<class FullType>
static SingleType Dune::XT::Functions::FunctionInterface::single_derivative_helper::call(const FullType &val, const size_t row, const size_t) No documentation provided.