This is a genuinely different mathematical machine from the 3D companion sim, not the same picture redrawn flat. The 3D version solves Daganzo's Cell Transmission Model — a macroscopic, Eulerian finite-volume scheme that tracks density k(x,t) averaged over fixed road cells. This 2D version instead runs the Intelligent Driver Model (IDM, Treiber–Hennecke–Helbing 2000) — a microscopic, Lagrangian system: every vehicle is its own ODE, reacting only to the gap and closing speed to the car directly ahead of it. Nobody here knows about "density" — it emerges purely from many individual cars following one simple rule:
s* = s0 + v·T + v·Δv / (2·√(a·b)) (desired dynamic gap)
dv/dt = a·[ 1 − (v/v0)^4 − (s*/s)² ] (IDM acceleration)
s = gap to car ahead, Δv = v − v_lead, v0 = local desired speed
A lane closure is modelled the same physical way it actually works: inside the bottleneck zone every vehicle's own desired speed v0 drops (drivers ease off through the narrowed section). Push upstream demand past what that reduced v0 can sustain, and cars queue behind it — the queue's back edge is a genuine emergent shockwave, not a scripted animation.
The main panel is a time-space (trajectory) diagram — the standard tool traffic engineers use to read shockwaves off real detector or GPS data: x runs horizontal (position along the road), time runs downward, and each pixel is colored by the local vehicle speed at that place and moment. A shockwave shows up as a sloped boundary between a fast (green) region and a slow (red) region; the boundary's slope, in km travelled per second of time, literally is its propagation speed — read straight off the picture. The live "Shockwave speed" readout applies the same Rankine-Hugoniot formula as the 3D sim, u = (q₂−q₁)/(k₂−k₁), but every k and q here is measured directly from car positions and speeds, never assumed from a cell average.
- Inflow demand — how often a new vehicle enters upstream. Push it past the bottleneck's sustainable throughput to trigger a shock.
- Free-flow speed — the desired cruising speed v0 every driver aims for on the open road.
- Bottleneck capacity — how much the lane closure forces v0 down inside its zone; lower values choke the road harder.