Ionworks

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

DimensionSPM
Physics capturedSolid diffusion + intercalation kinetics
Parameterization burdenModerate (15-25 parameters, full-cell data)
Compute costVery fast (single PDE)
AccuracyGood at low C-rate, degrades above ~1C
Degradation capabilityLimited (no electrolyte physics for SEI/plating)
Best fitDesign 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

SPM is the simplest physics-based electrochemical model for a lithium-ion cell. It represents each electrode as a single spherical particle, solves solid-phase lithium diffusion inside those particles, and applies Butler-Volmer kinetics at the particle surface. Electrolyte transport is ignored and the current distribution across the electrode thickness is assumed uniform. SPM is faster than SPMe and DFN, and gives access to internal variables (anode and cathode overpotentials, solid concentration) that an equivalent circuit model cannot.
SPM works well at low C-rate, typically below roughly 1C for common lithium-ion chemistries. Below that threshold, electrolyte concentration gradients are small and the uniform-current assumption holds. Above that, electrolyte transport dominates the overpotential and SPM accuracy degrades. JuliaSimBatteries benchmarks show visible differences in voltage, current, average temperature, and SoC between SPM and DFN during fast-charge simulations. Calendar aging and slow cycling stay inside the SPM comfort zone; fast-charge work usually does not.
SPMe (single particle model with electrolyte) extends SPM by adding electrolyte concentration gradients and the potential drop across the separator. The single-particle representation per electrode is the same, but the electrolyte coupling captures transport limitations that SPM ignores. SPMe is roughly 2 to 5 times slower than SPM and recovers near-DFN accuracy across most automotive and grid duty cycles. The practical heuristic: use SPM for low-rate studies and design sweeps, SPMe for moderate-rate work where electrolyte physics matter.
Yes. SPM needs a full-cell OCV curve, rate capability data at a few C-rates, and pulse data (HPPC or GITT) for diffusion and kinetic parameters. No half-cell experiments and no teardown. The parameter count is moderate (roughly 15 to 25). Identifiability is the main constraint: full-cell data resolves dimensionless groups rather than individual physical quantities, so the parameterization workflow has to lump the right parameters together. Our parameter estimation guide covers the SPM data requirements in detail.
Partially. Mode-level degradation (capacity fade decomposed into LLI, LAM, and resistance growth) can be tracked on top of SPM, but mechanism-level submodels for SEI growth and lithium plating need the electrolyte physics that SPM lacks. For SEI and plating, the right model is SPMe at minimum, and DFN when spatial gradients within the electrode matter.
Ionworks runs SPM, SPMe, and DFN through PyBaMM with the same simulation interface. Pick the model in the parameterization workflow in Train, fit a parameter set with identifiability checks, and the same parameter set carries forward into Predict for protocol simulations and into Optimize for design sweeps. Switching between SPM and DFN is a model selection in the same workflow, not a re-parameterization.

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.