pybamm.equivalent_circuit namespace.
When to use ECMs vs physics-based models
Use ECMs when
- Computational speed is critical (e.g. real-time BMS)
- Only terminal voltage and current are available for calibration
- A simple, interpretable model is preferred
- Running large-scale multi-cell pack simulations
Use physics-based models when
- Internal state variables (SOC, concentration, temperature gradients) are needed
- Degradation mechanisms (SEI, plating) must be captured
- Electrode-level design and optimisation is the goal
- High-accuracy predictions over wide operating ranges are required
Available models
Thevenin
TheThevenin model is the classical Thevenin equivalent circuit model. It consists of:
- An OCV element representing the open-circuit voltage as a function of state of charge
- A series resistor (R0) representing instantaneous ohmic resistance
- One or more RC elements (R1-C1, R2-C2, …) representing diffusion-related relaxation dynamics
- An optional diffusion element for additional concentration polarisation
- A lumped thermal model for cell and jig temperatures, with heat generation terms from each element
Model options
All options are passed as a dictionary to theoptions argument at instantiation.
Number of RC elements
Number of RC elements
Control how many RC parallel branches are included. The default is 1 (one RC pair).
Diffusion element
Diffusion element
Add a Warburg-like diffusion element to capture long-timescale concentration effects.
Operating mode
Operating mode
Same operating modes as physics-based models are supported.
Discharge energy tracking
Discharge energy tracking
Optionally compute throughput energy and throughput capacity in addition to discharge capacity.
ECM parameters
TheThevenin model uses pybamm.EcmParameters and defaults to the ECM_Example parameter set. Key parameters include: