v24.1rc0
Pre-release
Pre-release
Features
- The
pybamm_install_odes
command now includes support for macOS systems and can be used to set up SUNDIALS and install thescikits.odes
solver on macOS (#3417) - 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.BaseModel
that 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_info
method 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
- 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
jax
andjaxlib
to the latest available versions and added Windows (Python 3.9+) support for the Jax solver (#3550)
Breaking changes
- 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)