Class template Dune::XT::Functions::ExpressionFunction<d, r, 1, RangeField>

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

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

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

Method Dune::XT::Functions::ExpressionFunction::static_id

template<size_t d, size_t r, class RangeField>
static std::string Dune::XT::Functions::ExpressionFunction<d, r, 1, RangeField>::static_id()

No documentation provided.

Method Dune::XT::Functions::ExpressionFunction::defaults

template<size_t d, size_t r, class RangeField>
static Common::Configuration Dune::XT::Functions::ExpressionFunction<d, r, 1, RangeField>::defaults(const std::string &sub_name = "")

No documentation provided.

Method Dune::XT::Functions::ExpressionFunction::copy_as_function_impl

template<size_t d, size_t r, class RangeField>
ThisType *Dune::XT::Functions::ExpressionFunction<d, r, 1, RangeField>::copy_as_function_impl() const override

No documentation provided.

Method Dune::XT::Functions::ExpressionFunction::copy_as_function

template<size_t d, size_t r, class RangeField>
std::unique_ptr<ThisType> Dune::XT::Functions::ExpressionFunction<d, r, 1, RangeField>::copy_as_function() const

No documentation provided.

Method Dune::XT::Functions::ExpressionFunction::name

template<size_t d, size_t r, class RangeField>
std::string Dune::XT::Functions::ExpressionFunction<d, r, 1, RangeField>::name() const final

No documentation provided.

Method Dune::XT::Functions::ExpressionFunction::order

template<size_t d, size_t r, class RangeField>
int Dune::XT::Functions::ExpressionFunction<d, r, 1, RangeField>::order(const Common::Parameter& = {}) const final

No documentation provided.

Method Dune::XT::Functions::ExpressionFunction::evaluate

template<size_t d, size_t r, class RangeField>
RangeReturnType Dune::XT::Functions::ExpressionFunction<d, r, 1, RangeField>::evaluate(const DomainType &point_in_global_coordinates, const Common::Parameter& = {}) const final

No documentation provided.

Method Dune::XT::Functions::ExpressionFunction::jacobian

template<size_t d, size_t r, class RangeField>
DerivativeRangeReturnType Dune::XT::Functions::ExpressionFunction<d, r, 1, RangeField>::jacobian(const DomainType &point_in_global_coordinates, const Common::Parameter& = {}) const final

No documentation provided.

Constructor Dune::XT::Functions::ExpressionFunction::ExpressionFunction

template<size_t d, size_t r, class RangeField>
Dune::XT::Functions::ExpressionFunction<d, r, 1, RangeField>::ExpressionFunction(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 .

Constructor Dune::XT::Functions::ExpressionFunction::ExpressionFunction

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

ExpressionFunction without given gradient

Constructor Dune::XT::Functions::ExpressionFunction::ExpressionFunction

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

No documentation provided.

Constructor Dune::XT::Functions::ExpressionFunction::ExpressionFunction

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

No documentation provided.

Field Dune::XT::Functions::ExpressionFunction::function_

template<size_t d, size_t r, class RangeField>
MathExpressionFunctionType Dune::XT::Functions::ExpressionFunction<d, r, 1, RangeField>::function_

No documentation provided.

Field Dune::XT::Functions::ExpressionFunction::order_

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

No documentation provided.

Field Dune::XT::Functions::ExpressionFunction::name_

template<size_t d, size_t r, class RangeField>
std::string Dune::XT::Functions::ExpressionFunction<d, r, 1, RangeField>::name_

No documentation provided.

Field Dune::XT::Functions::ExpressionFunction::gradients_

template<size_t d, size_t r, class RangeField>
std::vector<std::shared_ptr<MathExpressionGradientType>> Dune::XT::Functions::ExpressionFunction<d, r, 1, RangeField>::gradients_

No documentation provided.

Type alias Dune::XT::Functions::ExpressionFunction::BaseType

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

No documentation provided.

Type alias Dune::XT::Functions::ExpressionFunction::ThisType

template<size_t d, size_t r, class RangeField>
using Dune::XT::Functions::ExpressionFunction<d, r, 1, RangeField>::ThisType = ExpressionFunction<d, r, 1, RangeField>

No documentation provided.

Type alias Dune::XT::Functions::ExpressionFunction::MathExpressionFunctionType

template<size_t d, size_t r, class RangeField>
using Dune::XT::Functions::ExpressionFunction<d, r, 1, RangeField>::MathExpressionFunctionType = MathExpressionBase<DomainFieldType, d, RangeField, r>

No documentation provided.

Type alias Dune::XT::Functions::ExpressionFunction::MathExpressionGradientType

template<size_t d, size_t r, class RangeField>
using Dune::XT::Functions::ExpressionFunction<d, r, 1, RangeField>::MathExpressionGradientType = MathExpressionBase<DomainFieldType, d, RangeField, d>

No documentation provided.

Function template Dune::XT::Functions::ExpressionFunction::check_value

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

No documentation provided.