Previous topic

Casadi Solver

Next topic

Solutions

This Page

Algebraic Solvers

class pybamm.AlgebraicSolver(method='lm', tol=1e-06, extra_options=None)[source]

Solve a discretised model which contains only (time independent) algebraic equations using a root finding algorithm. Uses scipy.optimize.root. Note: this solver could be extended for quasi-static models, or models in which the time derivative is manually discretised and results in a (possibly nonlinear) algebaric system at each time level.

Parameters:
  • method (str, optional) – The method to use to solve the system (default is “lm”)
  • tol (float, optional) – The tolerance for the solver (default is 1e-6).
  • extra_options (dict, optional) – Any options to pass to the rootfinder. Vary depending on which method is chosen. Please consult SciPy documentation for details.
class pybamm.CasadiAlgebraicSolver(tol=1e-06, extra_options=None)[source]

Solve a discretised model which contains only (time independent) algebraic equations using CasADi’s root finding algorithm. Note: this solver could be extended for quasi-static models, or models in which the time derivative is manually discretised and results in a (possibly nonlinear) algebaric system at each time level.

Parameters:
  • tol (float, optional) – The tolerance for the solver (default is 1e-6).
  • extra_options (dict, optional) – Any options to pass to the CasADi rootfinder. Please consult CasADi documentation for details.