Class SymbolicExpressionKernel¶
Defined in File symbolic_expression_kernel.h
Class Documentation¶
-
class SymbolicExpressionKernel¶
Parse-once pointwise evaluator for one scalar symbolic expression.
The independent symbols are ordinary scalar variables. The evaluator operates at points supplied by the caller; any finite-element or field association is supplied by that caller. The reserved coordinate symbols are
x,y,z, andt, with the same convention as SymbolicFieldEvaluator.When deal.II is built without SymEngine, the interface remains available but initialization of a non-empty expression reports a clear runtime error. Instances are not thread-safe because BatchOptimizer caches substitutions.
Public Functions
-
SymbolicExpressionKernel()¶
-
~SymbolicExpressionKernel()¶
-
SymbolicExpressionKernel(SymbolicExpressionKernel&&) noexcept¶
-
SymbolicExpressionKernel &operator=(SymbolicExpressionKernel&&) noexcept¶
-
SymbolicExpressionKernel(const SymbolicExpressionKernel&) = delete¶
-
SymbolicExpressionKernel &operator=(const SymbolicExpressionKernel&) = delete¶
-
void initialize(const std::string &expression, const std::vector<std::string> &independent_symbols, const std::map<std::string, double> &constants = {})¶
Initialize from an expression and an ordered list of independent symbols.
-
Evaluation evaluate(const std::vector<double> &coordinates, double time, const std::vector<double> &independent_values) const¶
Evaluate the value and all partial derivatives at one point.
-
template<int spacedim>
inline Evaluation evaluate(const dealii::Point<spacedim> &point, double time, const std::vector<double> &independent_values) const¶
-
unsigned int n_independent_symbols() const¶
Public Static Functions
-
static bool available()¶
-
SymbolicExpressionKernel()¶