Traffic flow waves - 2D ring road and space-time diagram

Add cars, change the driver time gap, brake one car and watch the jam travel backwards.

Switch to 3D

Presets

Playback

Parameters

Model checks

The science

The intelligent driver model

Each car i accelerates according to the Intelligent Driver Model: dv/dt = a [1 - (v/v0)4 - (s*/s)2], with the desired gap s* = s0 + vT + vΔv / (2√(ab)). Here v0 is the desired speed, T the safe time gap (the "reaction time" of the 3D scene), s0 the minimum gap, a the comfortable acceleration, b the comfortable braking, s the bumper-to-bumper gap and Δv the speed difference to the car in front. The model never causes a collision when you brake hard.

Phantom jams

In uniform traffic every car drives at the equilibrium speed ve(s), from se = (s0 + v T) / √(1 - (v/v0)4). The flow q = ρ ve has a maximum at intermediate density; near it and above it small disturbances grow, and a stop-and-go wave appears with no bottleneck at all. The wave front moves backwards against the cars (about -15 to -20 km/h in real traffic), which is the slope of the dark stripes in the space-time diagram.

Honest simplifications: a single lane on a closed ring, identical drivers and vehicles, no lane changes, no anticipation beyond the next car, model parameters are typical textbook values and not fitted to any road; the noise slider adds random accelerations to stand in for human variation.

What to try
  • Use "Free flow" and then add cars: the cars slow evenly, until a jam appears from a tiny disturbance.
  • Press Brake car 1 hard in light traffic: the wave dies out; in dense traffic it grows and keeps circling.
  • Raise the time gap T from 1.0 to 2.5 s: drivers are calmer and the waves vanish at the cost of capacity.
  • Read the fundamental diagram: the dot leaves the green equilibrium curve when jams form.
Fundamental diagram: flow against density
Speeds of all cars against time
Distribution of car speeds now