38 #include <boost/algorithm/string/trim.hpp>
42 namespace LibUtilities
46 const std::string& expr,
47 const std::string& vlist):
51 m_evaluator (evaluator)
53 boost::algorithm::trim(
m_expr);
54 boost::algorithm::trim(
m_vlist);
68 catch (
const std::runtime_error& e)
71 std::string
msg(std::string(
"Equation::Equation() fails on expression [") +
m_expr + std::string(
"]\n"));
76 catch (
const std::string& e)
79 std::string
msg(std::string(
"Equation::Equation() fails on expression [") +
m_expr + std::string(
"]\n"));
104 catch (
const std::runtime_error& e)
106 std::string
msg(std::string(
"Equation::Evaluate fails on expression [") +
m_expr + std::string(
"]\n"));
109 catch (
const std::string& e)
111 std::string
msg(std::string(
"Equation::Evaluate fails on expression [") +
m_expr + std::string(
"]\n"));
127 catch (
const std::runtime_error& e)
130 "Equation::Evaluate fails on expression [" +
m_expr +
"]\n";
133 catch (
const std::string& e)
136 "Equation::Evaluate fails on expression [" +
m_expr +
"]\n";
172 std::vector<Array<OneD, const NekDouble> > points;
191 catch (
const std::runtime_error& e)
194 "Equation::Evaluate fails on expression [" +
m_expr +
"]\n";
198 catch (
const std::string& e)
201 "Equation::Evaluate fails on expression [" +
m_expr +
"]\n";
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mode...
InterpreterSharedPtr m_evaluator
NekDouble GetTime() const
Returns time spend on expression evaluation at points (it does not include parse/pre-processing time)...
Equation(const Equation &)=default
std::string GetVlist(void) const
Equation & operator=(const Equation &src)
std::string GetExpression(void) const
void SetConstants(const std::map< std::string, NekDouble > &constants)
void SetParameter(const std::string &name, NekDouble value)
NekDouble Evaluate() const
std::shared_ptr< Interpreter > InterpreterSharedPtr
The above copyright notice and this permission notice shall be included.