Charging--
Queue--
Station power--
Avg wait--
Delivered--
Clock--

DC Fast-Charging Station: Stalls, Shared Power and Queues

Cars arrive at random, wait in a queue, and charge on stalls that share one power cabinet. Tap a car for its details. Independent educational model with illustrative numbers.

Energy delivered--
Cars served--
Mean wait--
Cars turned away--
Stall utilisation--
Cabinet limiting--
Grid import peak--
Margin per hour--
Sums since the start of the simulated day (rates per hour of simulated time).
Charging curve of one car (what the pack would accept): power versus state of charge at your conditions, warm (30 C pack) and cold (-10 C, no pre-conditioning). Yellow line: your stall rating. White line: selected car.
Station power over the last two simulated hours. Dashed: what the cars ask for.
Delivered to carsDemandGrid importBuffer battery (+ discharge)Cabinet limit
Mean wait versus arrival rate (your stalls and power). Line: Erlang C, treating every car as the same fixed service time. Dots: this simulation.
Erlang C (M/M/c)Simulated station

Question 1: how many stalls can this cabinet and grid connection really feed? Question 2: how much does a buffer battery help on a weak grid connection? Each point is the mean of 3 random days of 6 simulated hours (after a 1 hour warm-up).

Choose an experiment.

These run live in your browser.

The science

Charging curve: constant current, then constant voltage

A pack of N series cells has open-circuit voltage Voc(s) = N (3.45 + 0.55 s + 0.2 s³) (4.2 V per cell when full) and internal resistance R = R20 e0.035 (20 - T) (1 + 0.6 e-12 s). The terminal voltage is V = Voc + I R and the power is P = V I. Charging is first limited by current (a C-rate the cells can take, Imax = c Q); once V reaches N × 4.2 V the charger must hold the voltage and the current falls, I = (Vmax - Voc(s)) / R. That is the taper in the power curve. State of charge follows ds/dt = I / (3600 Q) (Q in ampere-hours).

Temperature

A cold pack has a higher R, so it reaches the voltage ceiling earlier, and lithium plating limits the current, which the model derates linearly from 25 C (full) down to 12 % at -10 C. Above 45 C the current is derated to zero at 60 C. The pack heats by Cth dT/dt = I²R + Pheater - hA (T - Tamb) - Pchiller; below 18 C the car spends up to 8 kW (for a 60 kWh pack) of the connector power on warming the pack, above 33 C a chiller removes heat. Pre-conditioning means arriving at 30 C.

Sharing one power cabinet

Each stall can deliver at most its rating, and the cabinet at most Pcab. The power available on the DC bus is min(Pcab, ηPgrid + Pbuffer) with η = 0.96. With dynamic sharing the cabinet gives every car min(demand, fair level) (water-filling: small demands are met in full, the rest split equally); static sharing gives each stall a fixed 1/N of the cabinet, which wastes power when some stalls are empty or tapering.

Grid connection and buffer battery

The import is (Pcars - Pbuffer) / η. When the cars ask for more than the grid can give, a buffer battery of size E (up to 1C, 96 % each way) covers the difference until it is empty; when demand is lower it recharges from the spare connection. A buffer therefore helps with short peaks, not with an average demand that exceeds the connection.

Queueing

Cars arrive as a Poisson process with rate λ. With c stalls, mean service time 1/μ and load ρ = λ / (c μ) < 1, the Erlang C formula gives the probability of waiting C(c, a) = [ac/c! · 1/(1-ρ)] / [∑k<c ak/k! + ac/c! · 1/(1-ρ)], a = λ/μ, and the mean wait Wq = C / (c μ - λ). Here the service time is not fixed: it depends on the car, the temperature and on how many other cars share the cabinet, so the simulated wait grows earlier than Erlang C predicts when power is the bottleneck. A queue limit makes cars give up (balk) when too many are waiting.

Money

Revenue = kWh at the connector × your price; cost = grid kWh × energy price + a demand charge on the connection (£ per kW per month, spread over hours). Pure illustration, not a tariff.

Simplifications

  • Cars are generic (three size classes, 400 V or 800 V pack, pack energy spread 0.65-1.35 times your mean); no brand or model. All cell constants are typical approximate values, not measurements of any real product.
  • One cell-level voltage curve for every chemistry; no entropy heat, ageing, balancing or charger ripple; the pack is one lump at one temperature.
  • Drive-in and drive-out take 40 simulated seconds each; the queue is first come, first served on a single lane; drivers never switch stations.
  • Shared-cabinet architectures like those publicly described for some large charging networks (for example Tesla Supercharger sites with several stalls on one power cabinet) are the inspiration, with illustrative rather than reported numbers.

Independent educational model, not affiliated with or endorsed by any company named here; trademarks belong to their owners. Numbers are textbook-level/publicly reported approximations.

Made with 🟠 Blender · Three.js