16#include "libmesh/parsed_function.h"
44 const std::string & function_str,
45 const std::vector<std::string> &
vars,
46 const std::vector<std::string> & vals,
84 const std::vector<std::string> &
_vars;
146 mooseError(
"The evaluate method is not defined for this type.");
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application.
T evaluate(Real, const Point &)
The general evaluation method is not defined.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
Base class for function objects.
A wrapper class for creating and evaluating parsed functions via the libMesh::ParsedFunction interfac...
const std::vector< std::string > & _vars
List of variables supplied from the user.
void update()
Updates postprocessor and scalar values for use in the libMesh::ParsedFunction.
T evaluate(Real t, const Point &p)
A template method for performing the evaluation of the libMesh::ParsedFunction Within the source two ...
const std::string & _function_str
Reference to the string containing the function to evaluate.
std::unique_ptr< libMesh::ParsedFunction< Real > > _function_ptr
Pointer to the libMesh::ParsedFunction object.
void initialize()
Initialization method that prepares the _vars and _initial_vals for use by the libMesh::ParsedFunctio...
std::vector< Real * > _addr
Pointers to the variables that store the values of _vars inside the libMesh::ParsedFunction object.
const THREAD_ID _tid
The thread id passed from owning Function object.
const std::vector< std::string > & _vals_input
List of the values for the variables supplied by the user.
std::vector< Real > _initial_vals
Storage for the initial values of _vars variables used by the libMesh::ParsedFunction object.
virtual ~MooseParsedFunctionWrapper()
Class destruction Deletes the pointer to the dynamically allocated instance of the underlying libMesh...
RealGradient evaluateGradient(Real t, const Point &p)
Evaluate the gradient of the function which libMesh provides through automatic differentiation.
std::vector< unsigned int > _function_index
Stores indices into _addr that are connected to Functions this libMesh::ParsedFunction is using.
std::vector< unsigned int > _scalar_index
Stores indicies into _addr variable that are connected to Scalar Variables.
FEProblemBase & _feproblem
Reference to the FEProblemBase object.
std::vector< const Function * > _functions
Vector of Functions this parsed function is using.
Real evaluateDot(Real t, const Point &p)
Evaluate the time derivative of the function which libMesh provides through automatic differentiation...
void updateFunctionValues(Real t, const Point &pt)
Updates function values for use in the libMesh::ParsedFunction.
std::vector< const Real * > _pp_vals
Vector of pointers to postprocessor values this parsed function is using.
std::vector< unsigned int > _pp_index
Stores indices into _addr variable that are connected to Postprocessors.
std::vector< const Real * > _scalar_vals
Vector of pointers to scalar variables values.