21 params.
addParam<std::vector<std::string>>(
23 "Symbols (excluding t,x,y,z) that are bound to the values provided by the corresponding " 24 "items in the symbol_values vector.");
25 params.
addParam<std::vector<std::string>>(
27 "Constant numeric values, postprocessor names, function names, and scalar variables " 28 "corresponding to the symbols in symbol_names.");
33 : _pfb_feproblem(*parameters.getCheckedPointerParam<
FEProblemBase *>(
"_fe_problem_base")),
34 _vars(parameters.
get<
std::vector<
std::string>>(
"symbol_names")),
35 _vals(parameters.
get<
std::vector<
std::string>>(
"symbol_values"))
38 mooseError(
"Number of symbol_names must match the number of symbol_values!");
41 for (
const auto & var :
_vars)
42 if (var.find_first_of(
"xyzt") != std::string::npos && var.size() == 1)
43 mooseError(
"The variables \"x, y, z, and t\" in the ParsedFunction are pre-declared for use " 44 "and must not be declared in \"symbol_names\"");
53 if (function_str.find(
"\"") != std::string::npos)
54 mooseError(
"The expression in ParsedFunction contains quotes which cannot be properly parsed");
virtual ~MooseParsedFunctionBase()
Class destructor.
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
const std::vector< std::string > _vals
Values passed by the user, they may be Reals for Postprocessors.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
std::string verifyFunction(const std::string &function_str)
A helper method to check if the function value contains quotes.
static InputParameters validParams()
Class constructor for the interface.
const std::vector< std::string > _vars
Variables passed to libMesh::ParsedFunction.
const Elem & get(const ElemType type_in)
MooseParsedFunctionBase(const InputParameters ¶meters)