Skip to content

v24.11.0

Compare
Choose a tag to compare
@kratman kratman released this 21 Nov 14:23
· 5 commits to main since this release
5b1ef70

Features

  • Added CoupledVariable which provides a placeholder variable whose equation can be elsewhere in the model. (#4556)
  • Adds support to pybamm.Experiment for the output_variables option in the IDAKLUSolver. (#4534)
  • Adds an option "voltage as a state" that can be "false" (default) or "true". If "true" adds an explicit algebraic equation for the voltage. (#4507)
  • Improved QuickPlot accuracy for simulations with Hermite interpolation. (#4483)
  • Added Hermite interpolation to the (IDAKLUSolver) that improves the accuracy and performance of post-processing variables. (#4464)
  • Added basic telemetry to record which functions are being run. See Telemetry section in the User Guide for more information. (#4441)
  • Added BasicDFN model for sodium-ion batteries (#4451)
  • Added sensitivity calculation support for pybamm.Simulation and pybamm.Experiment (#4415)
  • Added OpenMP parallelization to IDAKLU solver for lists of input parameters (#4449)
  • Added phase-dependent particle options to LAM (#4369)
  • Added a lithium ion equivalent circuit model with split open circuit voltages for each electrode (SplitOCVR). (#4330)
  • Added the pybamm.DiscreteTimeSum expression node to sum an expression over a sequence of data times, and accompanying pybamm.DiscreteTimeData class to store the data times and values (#4501)

Optimizations

  • Performance refactor of JAX BDF Solver with default Jax method set to "BDF". (#4456)
  • Improved performance of initialization and reinitialization of ODEs in the (IDAKLUSolver). (#4453)
  • Removed the start_step_offset setting and disabled minimum dt warnings for drive cycles with the (IDAKLUSolver). (#4416)

Bug Fixes

  • Added error for binary operators on two concatenations with different numbers of children. Previously, the extra children were dropped. Also fixed bug where Q_rxn was dropped from the total heating term in half-cell models. (#4562)
  • Fixed bug where Q_rxn was set to 0 for the negative electrode in half-cell models. (#4557)
  • Fixed bug in post-processing solutions with infeasible experiments using the (IDAKLUSolver). (#4541)
  • Disabled IREE on MacOS due to compatibility issues and added the CasADI
    path to the environment to resolve issues on MacOS and Linux. Windows
    users may still experience issues with interpolation. (#4528)
  • Added _from_json() functionality to Sign which was erroneously omitted previously. (#4517)
  • Fixed bug where IDAKLU solver failed when output variables were specified and an extrapolation event is present. (#4440)

Breaking changes

  • Deprecated pybamm.Simulation.set_parameters and pybamm.Simulation.set_up_and_parameterise_experiment functions in pybamm/simulation.py. (#3752)
  • Removed all instances of param = self.param and now directly access self.param across the codebase. This change simplifies parameter references and enhances readability. (#4484)
  • Removed the deprecation warning for the chemistry argument in
    pybamm.ParameterValues (#4466)
  • The parameters "... electrode OCP entropic change [V.K-1]" and "... electrode volume change" are now expected to be functions of stoichiometry only instead of functions of both stoichiometry and maximum concentration (#4427)
  • Renamed set_events function to add_events_from to better reflect its purpose. (#4421)