Model zoo#
Community- and partner-contributed PyBaMM models. Each entry is one self-contained folder with its own maintainer, tests, examples, and citation; the table below is generated from those folders’ manifests.
The zoo is a separate distribution that is not yet published to PyPI, so
pip install pybamm does not provide it. Until it is released, install it
from the repository:
pip install "pybamm-model-zoo @ git+https://github.com/pybamm-team/PyBaMM.git#subdirectory=packages/pybamm-model-zoo"
Zoo models are then reached through the zoo’s registry, not the pybamm
namespace:
import pybamm
import pybamm_model_zoo as zoo
model = zoo.load(zoo.list_models()[0])()
solution = pybamm.Simulation(model).solve([0, 3600])
Models in the core tier are covered by PyBaMM’s merge gate. Models in the community tier are tested on every pull request too, but their results are advisory: a red community model never blocks a PyBaMM merge. See contributing a model to add your own.
Model |
Tier |
Maintainer |
PyBaMM |
Added |
|---|---|---|---|---|
Single Particle Model with a linearised open-circuit potential |
core |
@pybamm-team/maintainers |
|
2026-08-20 |
Compatibility#
Refreshed weekly by the model_zoo_status workflow. Each model is run against
main and against the most recent PyBaMM releases its pybamm_requires
admits; scripts/matrix.py --releases sets how far back that window reaches,
and the columns below are the window as it stands. A cell reading missing is
one whose job never reported, not a pass.
Model |
Results |
Last passing |
|---|---|---|
linearised_spm |
|
26.8.0.0 |