Skip to content

Releases: pybamm-team/PyBaMM

v22.5

30 May 20:14
e1f52ff
Compare
Choose a tag to compare

Features

  • Added functionality to generate Julia expressions from a model. See PyBaMM.jl for how to use these (#1942))
  • Added basic callbacks to the Simulation class, and a LoggingCallback (#1880))

Bug fixes

  • Corrected legend order in "plot_voltage_components.py", so each entry refers to the correct overpotential. (#2061)

Breaking changes

  • Changed domain-specific parameter names to a nested attribute, e.g. param.c_n_max is now param.n.c_max (#2063)

v22.4

03 May 19:36
3b8d775
Compare
Choose a tag to compare

v22.4 - 2022-04-30

Features

  • Added a casadi version of the IDKLU solver, which is used for model.convert_to_format = "casadi" (#2002)

Bug fixes

  • Remove old deprecation errors, including those in parameter_values.py that caused the simulation if, for example, the reaction rate is re-introduced manually (#2022)

v22.3

30 Mar 06:34
dd0d4b5
Compare
Choose a tag to compare

Features

  • Added "Discharge energy [W.h]", which is the integral of the power in Watts, as an optional output. Set the option "calculate discharge energy" to "true" to get this output ("false" by default, since it can slow down some of the simple models) (#1969))
  • Added an option "calculate heat source for isothermal models" to choose whether or not the heat generation terms are computed when running models with the option thermal="isothermal" (#1958)

Bug fixes

  • Fix bug where sensitivity calculation failed if len of calculate_sensitivities was less than inputs (#1897)
  • Fixed a bug in the eSOH variable calculation when OCV is given as data (#1975)
  • Fixed a bug where isothermal models did not compute any heat source terms (#1958)

Breaking changes

  • Dropped support for Windows 32-bit architecture (#1964)

v22.2

01 Mar 11:07
233d476
Compare
Choose a tag to compare

Features

  • Isothermal models now compute heat source terms (but the temperature remains constant). The models now also account for current collector heating when dimensionality=0 (#1929)
  • Added new models for power control and resistance control (#1917)
  • Initial concentrations can now be provided as a function of r as well as x (#1866)

Bug fixes

  • Fixed a bug where thermal submodels could not be used with half-cells (#1929)
  • Parameters can now be imported from a directory having "pybamm" in its name (#1919)
  • scikit.odes and SUNDIALS can now be installed using pybamm_install_odes (#1916)

Breaking changes

  • The domain setter and auxiliary_domains getter have been deprecated, domains setter/getter should be used instead. The domain getter is still active. We now recommend creating symbols with domains={...} instead of domain=..., auxiliary_domains={...}, but the latter is not yet deprecated (#1866)

v22.1

04 Feb 05:42
0216c38
Compare
Choose a tag to compare

Features

  • Half-cell models can now be run with "surface form" (#1913)
  • Added option for different kinetics on anode and cathode (#1913)
  • Allow pybamm.Solution.save_data() to return a string if filename is None, and added json to_format option (#1909)
  • Added an option to force install compatible versions of jax and jaxlib if already installed using CLI (#1881)

Optimizations

  • The Symbol nodes no longer subclasses anytree.NodeMixIn. This removes some checks that were not really needed (#1912)

Bug fixes

  • Parameters can now be imported from any given path in Windows (#1900)
  • Fixed initial conditions for the EC SEI model (#1895)
  • Fixed issue in extraction of sensitivites (#1894)

v21.12

31 Dec 17:01
7f4bf87
Compare
Choose a tag to compare

Features

  • Added new kinetics models for asymmetric Butler-Volmer, linear kinetics, and Marcus-Hush-Chidsey (#1858)
  • Experiments can be set to terminate when a voltage is reached (across all steps) (#1832)
  • Added cylindrical geometry and finite volume method (#1824)

Bug fixes

  • PyBaMM is now importable in Linux systems where jax is already installed (#1874)
  • Simulations with drive cycles now support initial_soc (#1842)
  • Fixed bug in expression tree simplification (#1831)
  • Solid tortuosity is now correctly calculated with Bruggeman coefficient of the respective electrode (#1773)

v21.11

01 Dec 09:29
15992b3
Compare
Choose a tag to compare

Features

  • The name of a parameter set can be passed to ParameterValues as a string, e.g. ParameterValues("Chen2020") (#1822)
  • Reformatted SEI growth models into a single submodel with conditionals (#1808)
  • Stress-induced diffusion is now a separate model option instead of being automatically included when using the particle mechanics submodels (#1797)
  • Experiments with drive cycles can be solved (#1793)
  • Added surface area to volume ratio as a factor to the SEI equations (#1790)
  • Half-cell SPM and SPMe have been implemented (#1731)

Bug fixes

  • Fixed sympy operators for Arctan and Exponential (#1786)
  • Fixed finite volume discretization in spherical polar coordinates (#1782)
  • Fixed bug when using Experiment with a pouch cell model (#1707)
  • Fixed bug when using Experiment with a plating model (#1707)
  • Fixed hack for potentials in the SPMe model (#1707)

Breaking changes

  • The chemistry keyword argument in ParameterValues has been deprecated. Use ParameterValues(chem) instead of ParameterValues(chemistry=chem) (#1822)
  • Raise error when trying to convert an Interpolant with the "pchip" interpolator to CasADI (#1791)
  • Raise error if Concatenation is used directly with Variable objects (concatenation should be used instead) (#1789)
  • Made jax, jaxlib and the PyBaMM JaxSolver optional (#1767)

v21.10

31 Oct 22:04
aa8be73
Compare
Choose a tag to compare

Features

  • Summary variables can now be user-determined (#1759)
  • Added all_first_states to the Solution object for a simulation with experiment (#1759)
  • Added a new method (create_gif) in QuickPlot, Simulation and BatchStudy to create a GIF of a simulation (#1754)
  • Added more examples for the BatchStudy class (#1747)
  • SEI models can now be included in the half-cell model (#1705)

Bug fixes

  • Half-cell model and lead-acid models can now be simulated with Experiments (#1759)
  • Removed in-place modification of the solution objects by QuickPlot (#1747)
  • Fixed vector-vector multiplication bug that was causing errors in the SPM with constant voltage or power (#1735)

v21.9

04 Oct 21:03
c737eac
Compare
Choose a tag to compare

Features

  • Added thermal parameters (thermal conductivity, specific heat, etc.) to the Ecker2015 parameter set from Zhao et al. (2018) and Hales et al. (2019) (#1683)
  • Added plot_summary_variables to plot and compare summary variables (#1678)
  • The DFN model can now be used directly (instead of BasicDFNHalfCell) to simulate a half-cell (#1600)

Breaking changes

  • Dropped support for Python 3.6 (#1696)
  • The substring 'negative electrode' has been removed from variables related to SEI and lithium plating (e.g. 'Total negative electrode SEI thickness [m]' replaced by 'Total SEI thickness [m]') (#1654)

v21.08

01 Sep 16:07
c4ba93f
Compare
Choose a tag to compare

This release introduces:

  • the switch to calendar versioning: from now on we will use year.month version number
  • sensitivity analysis of solutions with respect to input parameters
  • several new models, including many-particle and state-of-health models
  • improvement on how CasADI solver's handle events, including a new "fast with events" mode
  • several other new features, optimizations, and bug fixes, summarized in CHANGELOG