Releases: pybamm-team/PyBaMM
Releases · pybamm-team/PyBaMM
v22.5
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 nowparam.n.c_max
(#2063)
v22.4
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
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 thaninputs
(#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
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 asx
(#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
andSUNDIALS
can now be installed usingpybamm_install_odes
(#1916)
Breaking changes
- The
domain
setter andauxiliary_domains
getter have been deprecated,domains
setter/getter should be used instead. Thedomain
getter is still active. We now recommend creating symbols withdomains={...}
instead ofdomain=..., auxiliary_domains={...}
, but the latter is not yet deprecated (#1866)
v22.1
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 subclassesanytree.NodeMixIn
. This removes some checks that were not really needed (#1912)
Bug fixes
v21.12
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 inLinux
systems wherejax
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
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)
Experiment
s 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 forArctan
andExponential
(#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 inParameterValues
has been deprecated. UseParameterValues(chem)
instead ofParameterValues(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 withVariable
objects (concatenation
should be used instead) (#1789) - Made jax, jaxlib and the PyBaMM JaxSolver optional (#1767)
v21.10
Features
- Summary variables can now be user-determined (#1759)
- Added
all_first_states
to theSolution
object for a simulation with experiment (#1759) - Added a new method (
create_gif
) inQuickPlot
,Simulation
andBatchStudy
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
v21.9
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
v21.08
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