Class template Dune::XT::Functions::ExpressionFunction

Inherits from Dune::XT::Functions::FunctionInterface.

template<size_t d, size_t r, class RangeField>
class Dune::XT::Functions::ExpressionFunction : public FunctionInterface<d, r, 1, RangeField>

Scalar- and vector-valued (rC == 1) specialization of ExpressionFunction.

static std::string Dune::XT::Functions::ExpressionFunction::static_id()

No documentation provided.

static Common::Configuration Dune::XT::Functions::ExpressionFunction::defaults(const std::string &sub_name = <recovery-expr>(""))

No documentation provided.

ThisType *Dune::XT::Functions::ExpressionFunction::copy_as_function_impl() const override

No documentation provided.

int Dune::XT::Functions::ExpressionFunction::copy_as_function() const

No documentation provided.

std::string Dune::XT::Functions::ExpressionFunction::name() const final

No documentation provided.

int Dune::XT::Functions::ExpressionFunction::order(const Common::Parameter& = <recovery-expr>({})) const final

No documentation provided.

RangeReturnType Dune::XT::Functions::ExpressionFunction::evaluate(const DomainType &point_in_global_coordinates, const Common::Parameter& = <recovery-expr>({})) const final

No documentation provided.

DerivativeRangeReturnType Dune::XT::Functions::ExpressionFunction::jacobian(const DomainType &point_in_global_coordinates, const Common::Parameter& = <recovery-expr>({})) const final

No documentation provided.

template<>
Dune::XT::Functions::ExpressionFunction::ExpressionFunction<d, r, 1, RangeField>(const std::string &variable, const Common::FieldVector<std::string, r> &expressions, const Common::FieldMatrix<std::string, r, d> &gradient_expressions, const size_t ord, std::string nm = static_id())

Creates an Expression function

This constructor just expands expressions and gradient_expressions from a Common::FieldVector and Common::FieldMatrix to ExpressionStringVectorType and GradientStringVectorType, respectively.

For instance, if d = 2 and r = 1 and expression = {“x[0]*x[1]”}, gradient should be {“x[1]”,“x[0]”}. For r = 2 we have for example the expression = {“sin(x[0])”, “x[1]*x[1]”} with the gradient .

template<>
Dune::XT::Functions::ExpressionFunction::ExpressionFunction<d, r, 1, RangeField>(const std::string &variable, const Common::FieldVector<std::string, r> &expressions, const size_t ord, std::string nm = static_id())

ExpressionFunction without given gradient

template<>
Dune::XT::Functions::ExpressionFunction::ExpressionFunction<d, r, 1, RangeField>(const ThisType &other)

No documentation provided.

template<>
Dune::XT::Functions::ExpressionFunction::ExpressionFunction<d, r, 1, RangeField>(ThisType&&) noexcept = default

No documentation provided.

MathExpressionFunctionType Dune::XT::Functions::ExpressionFunction::function_

No documentation provided.

size_t Dune::XT::Functions::ExpressionFunction::order_

No documentation provided.

std::string Dune::XT::Functions::ExpressionFunction::name_

No documentation provided.

int Dune::XT::Functions::ExpressionFunction::gradients_

No documentation provided.

type Dune::XT::Functions::ExpressionFunction::BaseType

No documentation provided.

type Dune::XT::Functions::ExpressionFunction::ThisType

No documentation provided.

type Dune::XT::Functions::ExpressionFunction::MathExpressionFunctionType

No documentation provided.

type Dune::XT::Functions::ExpressionFunction::MathExpressionGradientType

No documentation provided.

template<class V>
void Dune::XT::Functions::ExpressionFunction::check_value(const DomainType &point_in_global_coordinates, const V &value) const

No documentation provided.