Published January 31, 2024
| Version v24.1
Software
Open
Python Battery Mathematical Modelling (PyBaMM)
Authors/Creators
Description
Features
- The
pybamm_install_odescommand now includes support for macOS systems and can be used to set up SUNDIALS and install thescikits.odessolver on macOS (#3417, #3706) - Added support for Python 3.12 (#3531)
- Added method to get QuickPlot axes by variable (#3596)
- Added custom experiment terminations (#3596)
- Mechanical parameters are now a function of stoichiometry and temperature (#3576)
- Added a new unary operator,
EvaluateAt, that evaluates a spatial variable at a given position (#3573) - Added a method,
insert_reference_electrode, topybamm.lithium_ion.BaseModelthat insert a reference electrode to measure the electrolyte potential at a given position in space and adds new variables that mimic a 3E cell setup. (#3573) - Serialisation added so models can be written to/read from JSON (#3397)
- Added a
get_parameter_infomethod for models and modified "print_parameter_info" functionality to extract all parameters and their type in a tabular and readable format (#3584) - Mechanical parameters are now a function of stoichiometry and temperature (#3576)
Bug fixes
- Fixed a bug that lead to a
ShapeErrorwhen specifying "Ambient temperature [K]" as anInterpolantwith an isothermal model (#3761) - Fixed a bug where if the first step(s) in a cycle are skipped then the cycle solution started from the model's initial conditions instead of from the last state of the previous cycle (#3708)
- Fixed a bug where the lumped thermal model conflates cell volume with electrode volume (#3707)
- Reverted a change to the coupled degradation example notebook that caused it to be unstable for large numbers of cycles (#3691)
- Fixed a bug where simulations using the CasADi-based solvers would fail randomly with the half-cell model (#3494)
- Fixed bug that made identical Experiment steps with different end times crash (#3516)
- Fixed bug in calculation of theoretical energy that made it very slow (#3506)
- The irreversible plating model now increments
f"{Domain} dead lithium concentration [mol.m-3]", notf"{Domain} lithium plating concentration [mol.m-3]"as it did previously. (#3485)
Optimizations
- Updated
jaxandjaxlibto the latest available versions and added Windows (Python 3.9+) support for the Jax solver (#3550)
Breaking changes
- The parameters
GeometricParameters.A_coolingandGeometricParameters.V_cellare now automatically computed from the electrode heights, widths and thicknesses if the "cell geometry" option is "pouch" and from the parameters "Cell cooling surface area [m2]" and "Cell volume [m3]", respectively, otherwise. When using the lumped thermal model we recommend using the "arbitrary" cell geometry and specifying the parameters "Cell cooling surface area [m2]", "Cell volume [m3]" and "Total heat transfer coefficient [W.m-2.K-1]" directly. (#3707) - Dropped support for the
[jax]extra, i.e., the Jax solver when running on Python 3.8. The Jax solver is now available on Python 3.9 and above (#3550)
Notes
Files
pybamm-team/PyBaMM-v24.1.zip
Files
(14.3 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:188158232efa52b90ac6ad05465cf218
|
14.3 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/pybamm-team/PyBaMM/tree/v24.1 (URL)