Skip to content

v26.5.0

Choose a tag to compare

@MarcBerliner MarcBerliner released this 27 May 15:02
· 164 commits to main since this release
6f7b34c

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)