Published May 27, 2026 | Version v26.5.0
Software Open

Python Battery Mathematical Modelling (PyBaMM)

Description

Breaking changes

  • Simulation.solve now always clears Simulation.solution before solving, so a failed solve leaves it as None rather than retaining the previous result. (#5528)

Bug fixes

  • Fixed Simulation.solve retaining the prior solution alongside the new one during repeated solves. (#5528)
  • IDAKLUSolver no longer caches redundant serialised function bytes, reducing memory and pickle size. (#5528)

Features

  • Default summary_variables now include per-phase LAM%, capacity, total lithium, SEI loss, SEI-on-cracks loss, and lithium plating loss for composite electrodes; aggregate per-electrode entries are unchanged. (#5516)
  • Added a store_first_last kwarg to solvers. When True, only the first and last sample of each integration window (one experiment step in Simulation.solve, or the full [t_eval[0], t_eval[-1]] window in solve) are stored. Composes with output_variables for memory-light ageing simulations whose post-processing only reads per-step first/last values. Has effect on solvers that support intra-solve interpolation (IDAKLUSolver); other solvers warn and no-op. Note: with this flag set, intra-step interpolation falls back to linear across the whole step, so it is not appropriate when post-processing queries an intra-step time. (#5499)
  • Added NonlinearSolver as the default nonlinear solver, which replaces CasadiAlgebraicSolver. IDAKLUSolver now computes the initial conditions in C++ by default. (#5459)

Notes

If you use PyBaMM, please cite it as below.

Files

pybamm-team/PyBaMM-v26.5.0.zip

Files (10.2 MB)

Name Size Download all
md5:cc8d90216cfee6667f90c53a36301991
10.2 MB Preview Download

Additional details

Related works