The 3D twin simulates each house as a separate agent. This 2D version instead simulates the whole fleet as a continuous population density over temperature — the standard "state-bin transition" model used in demand-response research (Malhame & Chong, 1985; Callaway, 2009) — which is a genuinely different computation, not the same agents redrawn flat.
Two densities off(T), on(T) advect along the SAME
per-house ODE velocity field as the 3D sim:
v_off(T) = k(T_out − T) (warming while off)
v_on(T) = k(T_out − T) − Q (cooling while on)
Mass crossing T = setpoint±deadband switches density
(a finite-volume upwind scheme conserves total population).
Direct load control (DLC) is modelled as a gate at the upper switching boundary: while an enrolled cohort is curtailed, mass that reaches the boundary is diverted into a small "backlog" reservoir (still warming, past its normal call point) instead of switching on; the gate opens on that cohort's own schedule and the backlog dumps into the ON population at that instant.
Rotating: each of 12 phase-offset cohorts opens its
own gate on a short, staggered schedule —
backlog releases spread out in time.
Synchronized: every cohort shares one gate — the whole
fleet's backlog releases together (cold-load
pickup spike).
- Program participation — the enrolled share of the boundary outflow that is subject to the DLC gate at all; the rest always switches on normally.
- Curtailment duty-cycle — how much of each cohort's cycle window the gate stays shut.
- Outdoor temperature — sets both v_off and v_on, so it moves the natural (no-DR) duty cycle as well as how fast backlog accumulates.
- Rotating vs Synchronized — same total curtailment, different timing: staggering is the real mitigation utilities use against cold-load pickup at event end.
Five thermal classes (different envelope leakiness/cooling-rate pairs, same ranges the 3D sim randomises per house) keep a released backlog from re-synchronising into one artificial secondary swing — a single-class population would produce an unrealistically clean oscillation.