Every stop costs a bus the kinetic energy it just built up, and the passengers' time. Change the spacing, the load, the brakes and the heating, and see where the kilowatt-hours and the minutes go.
Green: with the regeneration settings above. Red dashed: the same bus with regeneration switched off. The gap is what braking recovery saves; it shrinks as stops get farther apart.
The science
Forces. Resistance at speed v is R = ½ ρ CdA v² + Crr m g cos θ + m g sin θ (ρ = 1.2 kg/m³, CdA = 0.65 × 7.6 m², Crr = 0.008). The wheel force while accelerating is F = m a + R, limited to Pmax ηd / v (160 kW motor, ηd = 0.90 from battery to wheel).
Energy per stop. For a trapezoid profile with acceleration a, braking b and top speed v, accelerating takes distance v²/2a and the drag integral is ∫ v³ dt = v⁴/4a. The wheels must supply the kinetic energy ½ m v² plus the drag and rolling losses over the whole run; braking returns kinetic energy minus the losses incurred while slowing. Without regeneration all of the kinetic energy is thrown away as heat in the brakes at every stop, which is why stop-start traffic is so costly for a diesel bus and why a battery bus can recover so much of it.
Regeneration. Braking work at the wheels is converted at efficiency ηR and limited by the regeneration power cap (the rest goes to friction brakes). Auxiliaries (heating or cooling, lights, compressors) draw Paux all the time, including during the dwell, so a long dwell also costs energy.
Short hops. If the stops are closer than d = v²(a + b)/(2ab) the bus never reaches the top speed; the peak speed is √(2 d a b / (a + b)). Dwell. t = tdoor + tboard · N / doors. Commercial speed is d / (tmove + tdwell).
Simplifications. Constant acceleration and braking set-points (a real driver varies them), no traffic lights, no queues, no timetable or bus-bunching effects (see the separate bunching simulations), a constant motor and regeneration efficiency, a fixed passenger mass of 75 kg, no battery thermal or ageing effects, and a battery size of 300 kWh for the range readout only. The oncoming traffic and the London skyline are decoration and do not enter the numbers. Not a fleet planning tool. Models built with Blender, scene by Three.js.