|
Reference documentation for deal.II version 9.2.0
|
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\)
\(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\)
\(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\)
\(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Go to the documentation of this file.
16 #ifndef dealii_tensor_function_parser_h
17 #define dealii_tensor_function_parser_h
111 template <
int rank,
int dim,
typename Number =
double>
132 const std::string &expression,
212 const bool time_dependent =
false);
223 const std::string &expression,
225 const bool time_dependent =
false);
252 const std::vector<std::string> &
262 <<
"Parsing Error at Column " << arg1
263 <<
". The parser said: " << arg2);
268 <<
"The number of components (" << arg1
269 <<
") is not equal to the number of expressions (" << arg2
275 #ifdef DEAL_II_WITH_MUPARSER
339 template <
int rank,
int dim,
typename Number>
static ::ExceptionBase & ExcParseError(int arg1, std::string arg2)
virtual ~TensorFunctionParser() override
void init_muparser() const
std::map< std::string, double > ConstMap
static ::ExceptionBase & ExcNotImplemented()
Threads::ThreadLocalStorage< std::vector< std::unique_ptr< mu::Parser > > > tfp
unsigned int n_components
static std::string default_variable_names()
virtual Tensor< rank, dim, Number > value(const Point< dim > &p) const override
Threads::ThreadLocalStorage< std::vector< double > > vars
std::vector< std::string > expressions
#define DEAL_II_NAMESPACE_OPEN
const std::vector< std::string > & get_expressions() const
TensorFunctionParser(const double initial_time=0.0)
TensorFunctionParser & operator=(const TensorFunctionParser &)=delete
virtual void value_list(const std::vector< Point< dim >> &p, std::vector< Tensor< rank, dim, Number >> &values) const override
A class that provides a separate storage location on each thread that accesses the object.
std::vector< std::string > var_names
void initialize(const std::string &vars, const std::vector< std::string > &expressions, const ConstMap &constants, const bool time_dependent=false)
#define Assert(cond, exc)
static ::ExceptionBase & ExcInvalidExpressionSize(int arg1, int arg2)
std::map< std::string, double > constants
#define DEAL_II_NAMESPACE_CLOSE
#define DeclException2(Exception2, type1, type2, outsequence)