39 std::vector<std::string>
const& value_string_expressions,
40 std::vector<std::pair<std::string, std::vector<std::string>>>
const&
41 dvalue_string_expressions,
42 std::vector<D2ValueConfig>
const& d2value_string_expressions,
44 std::unique_ptr<MathLib::PiecewiseLinearInterpolation>>
const&
50 double const dt)
const override;
56 double const dt)
const override;
63 double const dt)
const override;
71 std::unique_ptr<Implementation<2>>
impl2_;
72 std::unique_ptr<Implementation<3>>
impl3_;
std::unique_ptr< Implementation< 3 > > impl3_
std::variant< Function::Implementation< 2 > *, Function::Implementation< 3 > * > getImplementationForDimensionOfVariableArray(VariableArray const &variable_array) const
std::vector< Variable > required_variables_enum_
Variables used in the exprtk expressions.
Function(std::string name, std::vector< std::string > const &value_string_expressions, std::vector< std::pair< std::string, std::vector< std::string > > > const &dvalue_string_expressions, std::vector< D2ValueConfig > const &d2value_string_expressions, std::map< std::string, std::unique_ptr< MathLib::PiecewiseLinearInterpolation > > const &curves)
PropertyDataType dValue(VariableArray const &variable_array, Variable const variable, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const override
std::unique_ptr< Implementation< 2 > > impl2_
PropertyDataType d2Value(VariableArray const &variable_array, Variable const variable1, Variable const variable2, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const override
Default implementation: 2nd derivative of any constant property is zero.
virtual PropertyDataType value() const
std::variant< double, Eigen::Matrix< double, 2, 1 >, Eigen::Matrix< double, 3, 1 >, Eigen::Matrix< double, 2, 2 >, Eigen::Matrix< double, 3, 3 >, Eigen::Matrix< double, 4, 1 >, Eigen::Matrix< double, 6, 1 >, Eigen::MatrixXd > PropertyDataType
std::string variable_name2
std::string variable_name1
std::vector< std::string > expressions