59 const py::kwargs &kwargs)
62 std::map<std::string, NekDouble> constants;
64 for (
auto &it : kwargs)
66 const std::string &key = py::cast<const std::string>(it.first);
67 const NekDouble &val = py::cast<const NekDouble>(it.second);
71 equation->SetConstants(constants);
85 std::string expr, std::string vlist)
87 return std::make_shared<Equation>(interp, expr, vlist);
99 return equation->Evaluate();
117 return equation->Evaluate(x, y,
z, t);
136 equation->Evaluate(x, y,
z, tmp);
159 equation->Evaluate(x, y,
z, t, tmp);
182 equation->Evaluate(x, y,
z, t, tmp);
188 py::class_<Equation, std::shared_ptr<Equation>>(m,
"Equation")
198 .def(
"SetParameter", &Equation::SetParameter)
200 .def(
"GetExpression", &Equation::GetExpression)
201 .def(
"GetVlist", &Equation::GetVlist)
203 .def(
"GetTime", &Equation::GetTime);
void Equation_SetConstants(std::shared_ptr< Equation > equation, py::args args, const py::kwargs &kwargs)
Wrapper for Equation::SetConstants.
Array< OneD, NekDouble > Equation_Evaluate5(std::shared_ptr< Equation > equation, const Array< OneD, const NekDouble > &x, const Array< OneD, const NekDouble > &y, const Array< OneD, const NekDouble > &z, const Array< OneD, const NekDouble > &t)
Wrapper for Equation::Evaluate (overloaded for Array parameters + Array time).
NekDouble Equation_Evaluate2(std::shared_ptr< Equation > equation, const NekDouble x, const NekDouble y=0, const NekDouble z=0, const NekDouble t=0)
Wrapper for Equation::Evaluate (overloaded for constant parameters).
NekDouble Equation_Evaluate1(std::shared_ptr< Equation > equation)
Wrapper for Equation::Evaluate (overloaded for no parameters).
std::shared_ptr< Equation > ConstructEquation(std::shared_ptr< Interpreter > interp, std::string expr, std::string vlist)
Construct an equation object from an expression string expr and a list of variables vlist.
Array< OneD, NekDouble > Equation_Evaluate4(std::shared_ptr< Equation > equation, const Array< OneD, const NekDouble > &x, const Array< OneD, const NekDouble > &y, const Array< OneD, const NekDouble > &z, const NekDouble t)
Wrapper for Equation::Evaluate (overloaded for Array parameters + constant time).
void export_Equation(py::module &m)
Array< OneD, NekDouble > Equation_Evaluate3(std::shared_ptr< Equation > equation, const Array< OneD, const NekDouble > &x, const Array< OneD, const NekDouble > &y, const Array< OneD, const NekDouble > &z)
Wrapper for Equation::Evaluate (overloaded for Array parameters).
std::vector< double > z(NPUPPER)