Skip to main content
The pybamm.lithium_ion module provides several electrochemical models of increasing complexity for lithium-ion cells. All models share the same options parameter interface and default parameter sets.

Available models

Basic educational implementations are also available: BasicSPM, BasicDFN, BasicDFNHalfCell, BasicDFNComposite, BasicDFN2D, Basic3DThermalSPM, SplitOCVR.

pybamm.lithium_ion.SPM

Single Particle Model — the simplest lithium-ion model. Uses x-averaged kinetics and ignores electrolyte transport. Suitable for low C-rates.
dict
Model options dict. See Options reference below.
str
default:"Single Particle Model"
Human-readable model name.
bool
default:"true"
Build the model on instantiation. Set to False to modify sub-models before building.
Default parameter set: pybamm.ParameterValues("Marquis2019")

pybamm.lithium_ion.SPMe

Single Particle Model with electrolyte — extends SPM with leading-order electrolyte effects. Good balance of speed and accuracy.
Default parameter set: pybamm.ParameterValues("Marquis2019")

pybamm.lithium_ion.DFN

Doyle-Fuller-Newman model — the full-order porous electrode model. Resolves electrolyte concentration and potential throughout the cell. Recommended for higher C-rates and degradation studies.
Default parameter set: pybamm.ParameterValues("Marquis2019")
DFN is the most physically faithful standard model. Use it when SPM or SPMe predictions diverge from expected behaviour.

pybamm.lithium_ion.MPM

Many Particle Model — accounts for a statistical distribution of particle sizes at each macroscale location.

pybamm.lithium_ion.MSMR

Multi-Species Multi-Reaction model — resolves multiple lithiation reactions per electrode using the MSMR thermodynamic framework.

pybamm.lithium_ion.NewmanTobias

Newman-Tobias model — a simplified DFN variant that uses linear concentration profiles in the electrolyte.

pybamm.lithium_ion.Yang2017

Yang 2017 model — includes coupled mechanical effects (particle swelling, SEI) following Yang et al. (2017).

Options reference

All lithium-ion models accept an options dict. Below are the most commonly used keys. A 2-tuple can be provided for most string options to specify different values for the negative and positive electrodes.

Default parameter sets

Other commonly used parameter sets: "Chen2020", "Ecker2015", "NCA_Kim2011", "OKane2022", "Prada2013", "Ramadass2004", "MSMR_Example".

Examples