16 #ifndef dealii_function_parser_h 17 #define dealii_function_parser_h 20 #include <deal.II/base/config.h> 22 #include <deal.II/base/auto_derivative_function.h> 23 #include <deal.II/base/exceptions.h> 24 #include <deal.II/base/point.h> 25 #include <deal.II/base/tensor.h> 26 #include <deal.II/base/thread_local_storage.h> 37 DEAL_II_NAMESPACE_OPEN
211 const double initial_time = 0.0,
212 const double h = 1e-8);
221 const std::string &constants =
"",
222 const std::string &variable_names = default_variable_names() +
224 const double h = 1e-8);
277 initialize(
const std::string & vars,
278 const std::vector<std::string> &expressions,
280 const bool time_dependent =
false);
290 initialize(
const std::string &vars,
291 const std::string &expression,
293 const bool time_dependent =
false);
301 default_variable_names();
310 value(
const Point<dim> &p,
const unsigned int component = 0)
const override;
328 <<
"Parsing Error at Column " << arg1
329 <<
". The parser said: " << arg2);
334 <<
"The number of components (" << arg1
335 <<
") is not equal to the number of expressions (" << arg2
341 #ifdef DEAL_II_WITH_MUPARSER 352 # if TBB_VERSION_MAJOR >= 4 388 init_muparser()
const;
428 DEAL_II_NAMESPACE_CLOSE
Threads::ThreadLocalStorage< std::vector< std::shared_ptr< mu::Parser > > > fp
#define DeclException2(Exception2, type1, type2, outsequence)
A class that provides a separate storage location on each thread that accesses the object...
static std::string default_variable_names()
#define Assert(cond, exc)
Threads::ThreadLocalStorage< std::vector< double > > vars
std::vector< std::string > var_names
ConstMap::iterator ConstMapIterator
std::map< std::string, double > ConstMap
static::ExceptionBase & ExcNotImplemented()
std::vector< std::string > expressions
std::map< std::string, double > constants