From 39719ff8872e1e65c27257821dd41c6348072004 Mon Sep 17 00:00:00 2001 From: martinjrobins Date: Wed, 20 Apr 2022 16:22:50 +0100 Subject: [PATCH] #1863 add docstring for BaseSolver.process --- pybamm/solvers/base_solver.py | 37 +++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/pybamm/solvers/base_solver.py b/pybamm/solvers/base_solver.py index 9d50df898e..961cbbd82a 100644 --- a/pybamm/solvers/base_solver.py +++ b/pybamm/solvers/base_solver.py @@ -303,6 +303,43 @@ def set_up(self, model, inputs=None, t_eval=None, ics_only=False): ) def process(symbol, name, use_jacobian=None): + """ + Parameters + ---------- + symbol: :class:`pybamm.Symbol` + expression tree to convert + name: str + function evaluators created will have this base name + use_jacobian: bool, optional + wether to return jacobian functions + + Returns + ------- + func: :class:`pybamm.EvaluatorPython` or + :class:`pybamm.EvaluatorJax` or + :class:`casadi.Function` + evaluator for the function $f(y, t, p)$ given by `symbol` + + jac: :class:`pybamm.EvaluatorPython` or + :class:`pybamm.EvaluatorJaxJacobian` or + :class:`casadi.Function` + evaluator for the jacobian $\frac{\partial f}{\partial y}$ + of the function given by `symbol` + + jacp: :class:`pybamm.EvaluatorPython` or + :class:`pybamm.EvaluatorJaxSensitivities` or + :class:`casadi.Function` + evaluator for the parameter sensitivities + $\frac{\partial f}{\partial p}$ + of the function given by `symbol` + + jac_action: :class:`pybamm.EvaluatorPython` or + :class:`pybamm.EvaluatorJax` or + :class:`casadi.Function` + evaluator for product of the jacobian with a vector $v$, + i.e. $\frac{\partial f}{\partial y} * v$ + """ + def report(string): # don't log event conversion if "event" not in string: