loading...
running...
How to use
Pick a preset and watch the analyser sweep from high to low frequency, building the Nyquist plot point by point. Try: (1) Ideal semicircle and read Rs and Rct off the plot; (2) Aged cell and Cold cell to see Rct grow; (3) Slow diffusion tail and the 45 degree Warburg line; (4) Depressed semicircle by lowering alpha; (5) Single 1 Hz measurement to watch the current and voltage waves, the phase lag and the ion swing; (6) raise the noise and the points scatter. Space pauses, R restarts the sweep, drag to orbit, wheel to zoom, or press Guided tour.
The bench (cell cutaway with electrode layers, analyser, oscilloscope and probes) is a Blender 5.2 model with baked PBR textures; the impedance model runs live in JavaScript.
The science
Method. In galvanostatic electrochemical impedance spectroscopy a small sinusoidal current I0 sin(wt) is driven through the cell at many frequencies and the voltage response is analysed with a lock-in (correlation with sin and cos). The complex impedance is Z(w) = V(w) / I(w); the amplitude is small enough that the cell behaves linearly.
Equivalent circuit (Randles with bounded diffusion).
Z = j w L + Rs + [ 1/Z_CPE + 1/(Rct + Z_W) ]^-1
Z_CPE = 1 / (Q (j w)^alpha) Z_W = Rd coth( sqrt(j w tau) ) / sqrt(j w tau), tau = L_d^2 / D
Rs collects electrolyte and contact resistance (left intercept of the Nyquist plot), the semicircle of diameter Rct is the charge-transfer process with its double-layer capacitance (apex at w = 1/(Rct Cdl)), and Z_W is solid-state diffusion: a 45 degree line at mid frequency that turns into a steep capacitive line when the particle fills (the cotangent form). The cable inductance bends the high-frequency end upward.
Temperature. Rct follows an Arrhenius law with 50 kJ/mol and the diffusion time with 25 kJ/mol, so a cold cell has a much bigger semicircle. Rs gets a small linear coefficient.
Ions. The diffusion length is sqrt(2 D / w), in units of the layer thickness sqrt(2 / (w tau)). The moving ions in the scene follow this: a small swing near the surface at high frequency, a swing that reaches deep into the electrode at low frequency.
Honest simplifications. Linear small-signal circuit with fixed element values; one lumped charge-transfer and one diffusion process per cell (real cells show separate anode and cathode arcs and SEI contributions), the sweep points are the analytic model plus Gaussian-like multiplicative noise rather than a full instrument simulation, and the electrode geometry is schematic. The check below does integrate the circuit in time.
Checks in the page. (1) a time-domain Runge-Kutta simulation of the circuit (Warburg as a 30-section Foster ladder) analysed with a lock-in agrees with the closed-form Z at four frequencies; (2) the high-frequency intercept equals Rs; (3) the semicircle apex has -Im Z = Rct/2 and Re Z = Rs + Rct/2; (4) the Kramers-Kronig integral over Im Z reproduces Re Z.