Each of the 240 cells in the rack ages independently using a Wöhler-Arrhenius capacity-fade model, the same family used in real BESS digital twins to turn sensor telemetry (current, temperature) into a state-of-health forecast:
Q_loss(%) = B(C) · exp(-Ea(C) / (R·T)) · n^0.5
B(C) = fade-rate prefactor, grows with C-rate and DoD²
Ea(C) = 31500 - 370·C [J/mol] (activation energy falls as C-rate rises)
R = 8.314 J/(mol·K), T = pack temperature [K]
n = equivalent full cycles completed
Higher temperature exponentially accelerates fade (the Arrhenius term); higher C-rate and deeper discharge both raise the prefactor B and lower the activation energy, so aggressive fast-charging at high temperature loses capacity far faster than gentle cycling at 25 °C. Each cell also carries a small fixed manufacturing variance (±8%) in its fade coefficient, exactly like real pack heterogeneity — so the "worst cell" always reaches end-of-life before the fleet average, which is why real battery management systems track individual-cell SoH, not just the pack mean. Usable capacity is the rack's nameplate 4 MWh scaled by the mean SoH; the cycles-to-80% estimate extrapolates the current fade rate to the point the fleet mean crosses the typical end-of-life threshold.
- C-rate / temperature / DoD sliders — change the operating envelope live; the aging model recomputes every tick.
- Time acceleration — cycles simulated per real second, so decades of service can be watched in minutes.
- Reset Pack — re-seeds all 240 cells at 100% SoH with fresh manufacturing variance.