January 13th, 2025

PyBaMM v25.1

PyBaMM v25.1 has now been released! This comes with several major contributions from the Ionworks team:

Geometric parameters as input parameters

Geometric parameters, such as electrode thickness and particle radius, can now be set to be input parameters that are specified at solve time. This contributes to supporting fast design optimization, since the simulation does not need to be rebuilt at each iteration. Note that this feature does not yet work with the standard PyBaMM models, and instead requires defining a custom model and mesh.

To demonstrate this, here is a trace from fitting the negative electrode thickness and negative particle radius to some synthetic data:

Standalone package and wheels for C/C++ solvers

The C/C++ solvers has been moved to a standalone repository, pybammsolvers. The wheels for this package are built separately from the rest of the PyBaMM code, which makes it easier to use the solvers during local development on any architecture.

Enhanced submodel cross-compatibility

Almost all submodel options are now cross-compatible. In particular, the following now all work well together: composite electrodes, degradation mechanisms (SEI, lithium plating, loss of active material), and particle size distribution.