16#ifndef dealii_function_parser_h
17#define dealii_function_parser_h
235 const double initial_time = 0.0,
236 const double h = 1
e-8);
248 const double h = 1
e-8);
324 const bool time_dependent =
false);
335 const std::string &expression,
337 const bool time_dependent =
false);
354 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
370 const std::vector<std::string> &
380 <<
"Parsing Error at Column " << arg1
381 <<
". The parser said: " << arg2);
386 <<
"The number of components (" << arg1
387 <<
") is not equal to the number of expressions (" << arg2
393#ifdef DEAL_II_WITH_MUPARSER
FunctionParser(const unsigned int n_components=1, const double initial_time=0.0, const double h=1e-8)
std::map< std::string, double > ConstMap
virtual double value(const Point< dim > &p, const unsigned int component=0) const override
FunctionParser(FunctionParser &&)=delete
FunctionParser & operator=(FunctionParser &&)=delete
const std::vector< std::string > & get_expressions() const
FunctionParser(const FunctionParser &)=delete
virtual ~FunctionParser() override
void initialize(const std::string &vars, const std::vector< std::string > &expressions, const ConstMap &constants, const bool time_dependent=false)
virtual void vector_value(const Point< dim > &p, Vector< double > &values) const override
FunctionParser & operator=(const FunctionParser &)=delete
static std::string default_variable_names()
const unsigned int n_components
A class that provides a separate storage location on each thread that accesses the object.
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
void init_muparser() const
std::vector< std::string > expressions
std::map< std::string, double > constants
static ::ExceptionBase & ExcNotImplemented()
#define Assert(cond, exc)
Threads::ThreadLocalStorage< std::vector< std::unique_ptr< mu::Parser > > > fp
#define DeclException2(Exception2, type1, type2, outsequence)
static ::ExceptionBase & ExcInvalidExpressionSize(int arg1, int arg2)
Threads::ThreadLocalStorage< std::vector< double > > vars
static ::ExceptionBase & ExcParseError(int arg1, std::string arg2)
std::vector< std::string > var_names
SymmetricTensor< 2, dim, Number > e(const Tensor< 2, dim, Number > &F)