25 const std::string &expression,
26 const std::string &function_description,
27 const std::map<std::string, double> &constants,
28 const std::string &variable_names,
33 Patterns::Tools::Convert<
std::map<
std::string, double>>::to_string(
43 , expression(expression)
44 , variable_names(variable_names)
48 function_description +
", with input variables (" +
variable_names +
50 (
constants.empty() ?
"" :
" You can use the following constants: ");
54 doc +=
sep + constant.first;
62 [&](
const std::string &) {
reinit(); });
84 const std::map<std::string, double> &constants)
86 this->constants = constants;
106 this->expression = expression;
virtual void initialize(const std::string &vars, const std::vector< std::string > &expressions, const ConstMap &constants, const bool time_dependent=false) override
Function(const unsigned int n_components=1, const time_type initial_time=0.0)
static ParameterHandler prm
void leave_my_subsection(ParameterHandler &prm)
void enter_my_subsection(ParameterHandler &prm)
void add_parameter(const std::string &entry, ParameterType ¶meter, const std::string &documentation="", ParameterHandler &prm_=prm, const Patterns::PatternBase &pattern=*Patterns::Tools::Convert< ParameterType >::to_pattern())
void add_action(const std::string &entry, const std::function< void(const std::string &value)> &action, const bool execute_action=true)
std::vector< std::string > split_string_list(const std::string &s, const std::string &delimiter=",")
static constexpr double LOG10E
static constexpr double PI_2
static constexpr double E
static constexpr double PI
static constexpr double SQRT2
static constexpr double SQRT1_2
static constexpr double PI_4
static constexpr double LN10
static constexpr double LN2
static constexpr double LOG2E