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).
| Option | Values | Default |
|---|---|---|
"number of rc elements" | Any positive integer as a string | 1 |
Diffusion element
Diffusion element
Add a Warburg-like diffusion element to capture long-timescale concentration effects.
| Option | Values | Default |
|---|---|---|
"diffusion element" | "false", "true" | "false" |
Operating mode
Operating mode
Same operating modes as physics-based models are supported.
| Option | Values | Default |
|---|---|---|
"operating mode" | "current", "voltage", "power", "differential power", "resistance", "differential resistance", "CCCV", callable | "current" |
Discharge energy tracking
Discharge energy tracking
Optionally compute throughput energy and throughput capacity in addition to discharge capacity.
| Option | Values | Default |
|---|---|---|
"calculate discharge energy" | "false", "true" | "false" |
ECM parameters
TheThevenin model uses pybamm.EcmParameters and defaults to the ECM_Example parameter set. Key parameters include:
| Parameter | Description |
|---|---|
| Open-circuit voltage (OCV) | Lookup table or function of SOC |
| R0 | Series (ohmic) resistance |
| R1, R2, … | RC branch resistances |
| C1, C2, … | RC branch capacitances |
| Cell heat capacity | For thermal model |
| Jig heat capacity | For jig thermal model |