Single particle model (SPM)
The Single Particle Model is the simplest physics-based electrochemical model for a lithium-ion cell. One representative particle per electrode, solid-phase diffusion, and intercalation kinetics. No electrolyte. Very fast.
SPM is the right starting point for low-rate studies, design sweeps, and optimization loops where the speed of the solver matters more than the last few percent of accuracy at high C-rate. SPMe and DFN live on this site too, and the parameter set you fit through SPM carries forward.
What SPM captures
SPM represents each electrode as a single spherical particle. It solves Fickian diffusion inside those particles, applies Butler-Volmer kinetics at the particle surface, and assumes a uniform current distribution across the electrode thickness. Electrolyte concentration gradients and ohmic losses through the separator are ignored.
The model is invoked in PyBaMM as pybamm.lithium_ion.SPM(). It tracks separate OCV curves and transport parameters for the anode and cathode, which is the diagnostic capability that distinguishes any physics-based model from an equivalent circuit. Anode-specific overpotentials, kinetic resistances, and solid-phase concentrations are all observable. None of those are accessible in an ECM.
Inside the model
Solid diffusion
Lithium transport inside particles
Each electrode is represented as a single spherical particle. SPM solves Fickian diffusion inside that particle, capturing concentration gradients from the surface to the centre.
Intercalation
Reaction kinetics at the surface
Butler-Volmer kinetics at the particle surface couples the solid concentration to the cell current and gives access to kinetic overpotentials per electrode.
Per-electrode OCV
Anode and cathode tracked separately
Unlike an ECM, SPM keeps separate OCV curves and transport parameters for the anode and cathode. You can inspect electrode-specific overpotentials and identify which side is limiting performance.
No electrolyte
Uniform current across the stack
Electrolyte transport is ignored. Current distribution across the electrode thickness is assumed uniform. This is the assumption that breaks down at high C-rate and motivates the move to SPMe.
SPM at a glance
| Dimension | SPM |
|---|---|
| Physics captured | Solid diffusion + intercalation kinetics |
| Parameterization burden | Moderate (15-25 parameters, full-cell data) |
| Compute cost | Very fast (single PDE) |
| Accuracy | Good at low C-rate, degrades above ~1C |
| Degradation capability | Limited (no electrolyte physics for SEI/plating) |
| Best fit | Design sweeps, optimization loops, calendar studies |
For a side-by-side comparison with ECM, SPMe, and DFN, see the electrochemical model types resource.
When SPM is the right model
SPM is fast enough to be the workhorse for any study that needs many forward solves at modest accuracy. Three patterns recur.
First-pass design sweeps
Vary electrode thickness, particle radius, or capacity loading across hundreds of points to identify promising regions before committing to higher-fidelity studies.
Optimization loops
When an outer optimizer needs thousands of forward solves, SPM is fast enough to keep the loop tractable. The cost is accepting reduced accuracy at high rates.
Long calendar studies
Calendar aging at low rate stays inside SPM's comfortable accuracy window, and the speed makes long-horizon studies practical.
Where SPM is not the right model: fast charge with plating risk, mechanism-level degradation studies, electrode-design optimization that depends on porosity profiles or graded architectures, and any study where electrolyte transport dominates the overpotential. Those questions need SPMe or DFN.
Parameterization
SPM needs a full-cell OCV curve, rate capability data at several C-rates, and HPPC or GITT pulse data for diffusion and kinetic parameters. No half-cell experiments. No teardown. The parameter count lands somewhere between 15 and 25.
The hard part is identifiability. Full-cell data resolves dimensionless groups, not individual physical quantities. A parameterization that pushes two correlated parameters in opposite directions can fit a single discharge curve perfectly and fail on the next one. The workflow has to lump the right parameters together and flag the ones that remain coupled. Our battery parameter estimation guide covers the SPM data requirements step by step.
This is the Train stage in Ionworks Studio. A parameter set fit here drives every downstream study without re-fitting.
How Ionworks fits in
How Ionworks supports SPM
01
PyBaMM as the SPM solver
Ionworks runs SPM through PyBaMM (`pybamm.lithium_ion.SPM()`), the same open-source framework maintained by the Ionworks team. The model is a first-class object alongside SPMe, DFN, and custom variants, so switching between fidelity levels is a one-line change.
02
Identifiable parameterization
A parameter set fit on a low-rate study is checked for identifiability before being trusted at higher rates. Lumped parameters that the experiment can actually constrain are reported separately from physical quantities the data does not pin down.
03
Move up the family without re-fitting
A parameter set fit through SPM in Train carries over to SPMe and DFN with electrolyte and porous-electrode parameters added on top. Teams do not start over when a study needs more physics.
04
BPX parameter exchange
Ionworks supports BPX, the community standard for physics-based battery parameter sets. SPM parameters can be imported from vendor-supplied BPX files or exported for sharing with partners and suppliers.
Frequently asked questions
Run SPM, SPMe, and DFN on your cell, with one parameter set
Bring a dataset from one of your cells. We will show how SPM holds up against SPMe and DFN on your duty cycle, and where the speed gain pays for itself.