A 100-minute lecture. Every number asserted here is either printed by this week's executed workbook (fully offline — NumPy, SciPy, Matplotlib, one fixed seed — so every figure and scalar reproduces to the digit) or carries an explicit citation. Where a historical claim is given qualitatively, that is deliberate: this course does not quote numbers it cannot source.
Where we left off
Week 1 ended on three points: as the lab's seminar room filled from 0.04 to 0.50 people per square metre, walking speed fell from 1.17 to 0.71 m/s, every single step. You were told those points lie on the single most important curve in this field, and you were told not to draw the curve yet. This week you draw it — but not by fitting a line through three dots. You derive it, from one sentence of behaviour that any pedestrian would recognise as their own, and then you check the derivation against a simulated crowd that has every opportunity to disobey it. By the end, the curve stops being a picture and becomes a machine: put in three physically meaningful numbers, get out the density where free flow ends, the density where movement stops, and the number of people per minute a door can pass.
But before the mathematics, a story — because this curve was not invented for elegance. It was paid for.
Part 1 · A curve written in casualties (0:00–0:12)
On the afternoon of 24 July 2010, in the German city of Duisburg, the Love Parade electronic-music festival admitted its visitors through a single route: a tunnel and ramp complex leading into the grounds of a disused freight railway yard. The same route served people entering and people leaving. Through the afternoon, the flows met and the density on the ramp climbed. There was no fire, no explosion, no external hazard of any kind. Twenty-one people died and hundreds were injured, by compression, in an open-air space, in daylight.
The press coverage reached for the usual words — panic, stampede — and the scientific post-mortems rejected both. Dirk Helbing and Pratik Mukerji's forensic reconstruction of the disaster (published in 2012, assembled from video, documents, and witness accounts) found no evidence that the crowd behaved irrationally. What killed people was physics. Above a critical density, bodies touch whether their owners wish it or not; involuntary movements transmit force from body to body; forces add along chains and arrive as sudden, unanticipated pushes from changing directions. Helbing's later synthesis names the regime crowd turbulence — some authors say crowd quake — and states plainly that words like "pushing" and "mass panic" mis-describe it: at those densities a person cannot not push (helbing2015_d0b0 ↗).
Duisburg was not the first such lesson. The Jamarat Bridge near Mecca — where more than two million pilgrims must pass three stoning pillars between sunrise and sunset on a single day of the Hajj — suffered a catastrophic crush in 1990 that killed 1,426 pilgrims, and further deadly crushes in 1994 and 1998 at the same site, despite intervening physical works (hughes2003_1d7a ↗). And on 15 April 1989, in the central pens of the Leppings Lane terrace at Hillsborough stadium in Sheffield, 96 football supporters died in a crush at an FA Cup semi-final (helbing2005_94a7 ↗) — a disaster whose inquiries reshaped British stadium law. We will return to all three, because each marks a different point on this week's curve: Hillsborough and the Green Guide sit where the curve becomes regulation, the Jamarat redesign sits where it becomes engineering, and the Love Parade sits where it ends — beyond the density at which the curve's own assumptions hold.
Here is the question all three events force. A corridor, a ramp, a gate has some capacity: a maximum number of people it can pass per unit time. Exceed the inflow beyond that capacity and density rises; raise density far enough and walking stops being a choice. So: what is the capacity of a piece of geometry, and what does crowding do to it? The answer, for pedestrians as for road traffic, is a single relationship between three macroscopic quantities — density, speed, and flow — called the fundamental diagram. It is the field's central empirical law, its main validation target for simulators, and the quantitative backbone of every crowd-safety guideline you will ever read.
Most textbooks show you the fundamental diagram as measured data with a curve through it. We will do something better: we will derive it from a single sentence of individual walking behaviour, watch a simulated crowd confirm the derivation, and only then hold it against the world. The derivation is what turns the curve from a description into an explanation — and it tells you exactly which real-world numbers each part of the curve is made of.
Stop and convince yourself — before any model: why must a plot of walking speed against crowd density be non-increasing? Try to construct a mechanism by which more crowding could make everyone faster, and notice what you have to break to do it.
Part 2 · A short history of the curve (0:12–0:24)
The fundamental diagram was not invented for pedestrians. It was invented for cars, by a man with a camera.
Greenshields, 1935. Bruce Greenshields, an American engineer, photographed traffic on a highway at fixed time intervals, counted vehicles and measured their displacements between frames, and plotted, for the first time, speed against density. Through his data — a famously small number of points, seven in the usual telling — he drew a straight line: speed falls linearly from a free-flow value at zero density to zero at a jam density. Multiply that line by density and you get a parabola of flow, with a maximum — a capacity — halfway to the jam. Presented to the Highway Research Board in 1935, this was the first fundamental diagram, and its structure — free speed, jam density, capacity peak between them — is the skeleton every successor inherits, including the one you will derive today. Two things are worth taking from Greenshields beyond the curve itself. First, the measurement came before the theory: the diagram began life as an empirical pattern hunting for an explanation, which is the reverse of what we do today, and holding both directions in mind is the week's method. Second, his linear form is wrong in detail — decades of traffic data show curvature his seven points could not — and it did not matter for his purpose. A model earns its keep at the fidelity its question needs; remember that when you meet our own idealisations.
Fruin, 1971. Pedestrians inherited the concept through transit engineering. John Fruin's Pedestrian Planning and Design — written from observations of commuters in New York's terminals — carved the pedestrian density axis into Level of Service bands, letter grades A through F borrowed from highway practice: from free circulation, through increasingly constrained walking, down to the standing-room regime where flow breaks down. Fruin's bands are the fundamental diagram turned into a designer's rulebook — each grade is an interval of area-per-person with a description of what walking feels like there — and they remain embedded in transit design guidance to this day. When Week 1 showed you density thresholds for impaired walking and fall risk, you were reading Fruin's descendants.
Weidmann, 1993. By the early 1990s dozens of separate measurement campaigns — different countries, cultures, facilities, instruments — had produced dozens of pedestrian speed–density datasets. Ulrich Weidmann's monograph Transporttechnik der Fussgänger (ETH Zürich) synthesised 25 of them into a single reference curve, fitted with a free-flow speed of 1.34 m/s, a maximal density of 5.4 ped/m², and a fit parameter 1.913 (wu2022_7ccd ↗ quotes the fitted form). That 1.34 m/s is the most-cited single number in pedestrian dynamics, and it is the lab's free-flow anchor throughout this course. Understand what kind of number it is: not one experiment's result but the centre of a literature — which is exactly why it is robust, and exactly why any single crowd you measure will deviate from it.
The Juelich school, 2000s onward. The synthesis exposed a problem: the underlying datasets disagreed, and nobody could say how much of the disagreement was culture, geometry, measurement method, or noise. The response, led from Forschungszentrum Jülich by Armin Seyfried and colleagues, was to bring the crowd into the laboratory: recruited participants, corridors and rings marked out on the floor, overhead cameras, and — crucially — controlled geometry and published trajectories. The single-file experiments, which strip away every 2-D complication by having walkers follow a line without overtaking, are the cleanest fundamental-diagram measurements in existence (seyfried2006_f4db ↗), and Part 8 of this lecture reads data exactly the way that school does. Their open trajectory archive, together with datasets like the year-long range-sensor tracking campaign in an Osaka shopping centre (the ATC dataset), is the empirical bedrock this field now stands on — and both return in Weeks 6 and 11 as validation material.
A physicist's framing. Here is the deepest way to see what all these people were constructing. A crowd is a many-body system: hundreds of interacting agents, each with its own state. The fundamental diagram claims that, in steady conditions, you do not need the microstate — the macroscopic observables (density \rho, mean speed v, flow J) are related by a fixed function, v = v(\rho). That is precisely the logic of an equation of state in thermodynamics: pressure, volume and temperature of a gas are related by pV = nRT regardless of which molecule is where. The analogy is genuinely productive — it is why traffic engineers speak of shockwaves and phase transitions, and why the same mathematics moves between granular hoppers, road traffic, and corridors. But mark where it breaks, because the breaks are the interesting physics: molecules do not anticipate (a pedestrian slows before contact, using perception, not force); molecules do not have motivation (you will see this afternoon that the "same" crowd has measurably different following behaviour at a bottleneck than in a corridor); and above a critical density the equilibrium assumption itself fails — the pre-2007 consensus that every density maps to a flow turned out to hold only at low-to-medium densities, with the high-density regime driven far from equilibrium (helbing2015_d0b0 ↗). The fundamental diagram is an equation of state with a validity domain. Part 10 walks its boundary.
Stop and convince yourself — Weidmann's 1.34 m/s is a synthesis across 25 studies. If you measured mean free-flow speed in one university corridor tomorrow, give two independent reasons your number might legitimately differ, without either measurement being wrong.
Part 3 · The words and the units (0:24–0:32)
Five new terms join the Week 1 vocabulary. As before, each returns in context.
- Spacing — the free distance from you to the person directly ahead, in metres. Written s.
- Time gap — the following headway you keep to the person in front, in seconds. Written T. If they pass a doorway now, you pass it roughly T seconds later.
- Flow — how many people pass a line per second, written J, in pedestrians per second.
- Jam density — the density at which nobody can move at all, written \rho_{jam}.
- Single file — walkers in a line, nobody overtaking. The cleanest laboratory for the fundamental diagram, because in single file the density is simply one over the spacing: \rho = 1/s.
This week works in line density — pedestrians per metre of walking line (ped/m) — because the derivation lives in single file. Week 1's areal density (ped/m²) returns at the end, when we compare against the lab's room measurements.
One relation deserves a real derivation rather than a definition, because everything downstream leans on it: the hydrodynamic relation J = \rho\, v. Stand at a line across the corridor and count. In a time interval \Delta t, every walker within a distance v\,\Delta t upstream of your line will cross it (they all move at speed v in steady state). That stretch of corridor contains \rho \times v\,\Delta t people, because \rho is people per metre of line. So the count per unit time is
Check the dimensions, always: [\rho\,v] = (\text{ped}/\text{m}) \times (\text{m}/\text{s}) = \text{ped}/\text{s}. Correct. This identity is not a model — it is bookkeeping, true for anything that moves in a line, cars, pedestrians, or parcels on a conveyor. The model enters only when we assert a relationship between v and \rho. That is the next act.
Stop and convince yourself — in single file, why is \rho = 1/s exact and not approximate? (Take one metre of line containing walkers with equal spacing s and count heads.) And what, precisely, becomes ill-defined about both \rho and s the moment a second walking lane exists?
Part 4 · One rule per walker (0:32–0:44)
The model of this week is the collision-free speed model (CFSM) of Tordeux, Chraibi and Seyfried, the model behind JuPedSim's default operational mode (tordeux2016_5e66 ↗). Its heart is a single rule that ties a walker's speed to the spacing ahead:
In plain words: if there is nobody near, walk at your desired speed v_0. If someone is ahead, walk exactly as fast as keeps your time gap T to them. If the space in front is smaller than a body length \ell, stand still.
Read the formula from the inside out, on the board. The core expression (s-\ell)/T says: of the spacing s ahead of you, a length \ell is not usable — it is the body of the person in front. The usable gap is s - \ell; dividing a length by the time T gives the speed at which you would consume that gap in exactly T seconds. The outer \max\{0,\cdot\} forbids walking backwards when the gap is negative — spacing below one body length means stand still. The outer \min\{v_0,\cdot\} caps the whole thing at your desired speed: no walker exceeds their own preference just because space allows. Traffic scientists will recognise the shape — it is an optimal-velocity function, the pedestrian cousin of the car-following rules that grew from Greenshields's lineage — but with every parameter now a human quantity.
Three parameters, and each is a physical object you could measure with a tape and a stopwatch:
- \ell — the occupied length (metres): the space one stopped pedestrian takes up in a queue. The lab models agents as discs of radius 0.20 m, so \ell = 2 \times 0.20 = 0.40 m. This is not arbitrary: Seyfried's empirical intercept for the stopped crowd is 0.36–0.40 m (Part 8), and 0.40 m sits deliberately at the top of that range.
- T — the time gap (seconds): the headway kept to the person ahead. JuPedSim's default is T = 1.0 s — and Part 8 has much more to say about where that number does and does not come from.
- v_0 — the desired speed (metres per second): the plateau where nothing constrains you. The lab uses Weidmann's central value of 1.34 m/s (wu2022_7ccd ↗). When the lab simulates a crowd, each agent draws its own v_0 from \mathcal{N}(1.34, 0.20^2); that too is empirically shaped — measured desired speeds in real crowds are approximately Gaussian, with Moussaïd and colleagues reporting mean 1.29 m/s and standard deviation 0.19 m/s (wu2022_7ccd ↗ summarises the fit). Part 7 shows why the spread is a necessity, not decoration.
The rule is piecewise linear: a rising ramp of slope 1/T that starts at s = \ell and caps at v_0. The kink where the ramp meets the plateau sits at
with more than 1.74 m of free space ahead, the default walker is unconstrained. Dimensional sanity: T v_0 is seconds times metres-per-second — metres. Good.

Pause on how modest this is. No forces, no psychology, no destination choice — one scalar function of one scalar input, per walker. The claim of the next act is outrageous on its face: this one sentence of behaviour generates the macroscopic law that Greenshields photographed, Fruin regulated, and Weidmann synthesised.
Stop and convince yourself — cover the formula and re-derive the kink position s^* from words alone: "the smallest spacing at which the time-gap rule no longer binds a walker who wants to go v_0." Then check: what are the units of 1/T, and why is it the slope of the ramp?
Part 5 · From rule to law: the diagram in closed form (0:44–0:58)
Here is the derivation, and it is honest work on one assumption plus algebra. Watch every step.
Step 1 — the steady state. Consider a long single-file line of identical walkers, and suppose the flow has settled: every walker holds the same constant speed, so no gap is opening or closing, and therefore every spacing is the same value s. This is an assumption, not a theorem — Part 7 exists precisely to test it against a crowd free to violate it.
Step 2 — density is inverse spacing. With equal spacings, one walker occupies each s metres of line, so the line density is exactly \rho = 1/s, and equivalently s = 1/\rho.
Step 3 — substitute. Every walker follows the rule V(s), so the settled common speed is V evaluated at the common spacing:
In plain words: at low density the crowd walks at the desired speed; past a critical crowding, speed is whatever keeps the time gap, and it slides down to zero as spacing shrinks toward one body length.
That is the fundamental diagram — no fitting, no data, just the rule read at steady state. Now interrogate its structure feature by feature; each is a number the workbook prints.
The two branches and where they meet. The \min switches branches where its arguments are equal: v_0 = (1/\rho - \ell)/T. Solve for \rho:
Note the denominator: it is exactly the kink spacing s^* from Part 4 — of course it is, because the boundary density is one-over-the-boundary-spacing. For the default parameters, \rho_c = 1/1.74 = 0.575 ped/m: below roughly one walker per two metres of line, spacing does not bind and the diagram is flat.
The jam. On the congested branch, speed reaches zero when 1/\rho = \ell:
One stopped body every 0.40 m, and the line is a queue. Notice which parameter this is made of: only \ell. Body geometry pins the jam; behaviour (T) and preference (v_0) have no say in it. That single observation will do real work in Part 8.
The flow curve, and a small algebraic gift. Multiply each branch by \rho. On the free branch, J = v_0\,\rho — a straight line rising from the origin with slope v_0. On the congested branch, something pleasant happens:
The congested flow is linear in density: a straight line falling with slope -\ell/T (units: m/s — a speed, as a flow-per-density slope must be), from J = (1-\ell\rho_c)/T at the boundary to exactly zero at \rho_{jam} = 1/\ell. The full flow–density curve is therefore a triangle: rising line, falling line, one apex.
The capacity peak. The apex — the maximum of J — must sit exactly at \rho_c, because J is increasing on one side of it and decreasing on the other. Its value comes from the free branch:
(As a consistency check, the congested branch gives the same number at \rho_c: (1 - \ell\rho_c)/T = v_0/(\ell + T v_0) — one line of algebra; do it.) Push more people in past \rho_c and the throughput drops — the single most consequential non-intuition in crowd engineering. It is why closing an inflow gate can increase the number of people passing a corridor per minute, and why every serious crowd-management plan is a density-management plan.

Notice what the derivation buys that a curve fit never could: every feature of the diagram is now caused by a parameter you can point at. The intercept of the congested branch is the length of a human body. The slope is a following headway. The plateau is a preference. When Week 5 asks you to calibrate a simulator, this is what calibration will mean — not bending a curve until it fits, but measuring three physical quantities.
Stop and convince yourself — without algebra, argue physically why flow must fall past \rho_c: each extra body adds a carrier of flow but steals usable space from everyone behind it. Then verify with the formula: on the congested branch, what does \mathrm{d}J/\mathrm{d}\rho = -\ell/T say happens to that trade as \ell \to 0? Does the limit make sense?
Part 6 · Interlude: engineering at civilisational scale (0:58–1:04)
Before testing the law, watch it earn its keep on the hardest crowd problem on Earth. The Jamarat ritual compresses more than two million pilgrims through one site in a single daylight window (hughes2003_1d7a ↗) — a throughput demand no stadium or station approaches — and, as Part 1 recorded, the 1990s at that site were catastrophic. The engineering response, developed across two decades, is applied fundamental-diagram thinking from end to end. Roger Hughes's continuum theory — treating the crowd as a flowing medium whose local speed is governed by local density, i.e. by a fundamental diagram imposed at every point — was developed with the Jamarat Bridge as its motivating application, down to computing improved barrier shapes around the pillars (hughes2003_1d7a ↗). Later analyses of video from the 2006 crush identified stop-and-go waves and, past a second threshold, crowd turbulence — the discovery that redrew the diagram's validity boundary (helbing2015_d0b0 ↗; duives2013_3924 ↗ credits Helbing et al. 2007 with the earthquake-like mass-displacement finding). And the rebuilt Jamarat complex is the diagram made concrete: a multi-storey bridge multiplying the total width (capacity scales with the number of parallel files a width admits — Part 9 makes that quantitative), one-way circulation so that counterflow never eats capacity, and scheduling of pilgrim groups to hold arrival rates below the capacity of each level. None of that requires simulating any individual pilgrim. It requires believing J(\rho), respecting its peak, and never letting demand push density past it.
Hughes's theory also predicts a delicious inversion — a well-placed obstacle can improve everyone's travel time (a pedestrian Braess paradox, hughes2003_1d7a ↗) — which you should file away for Week 8's bottleneck studies.
Part 7 · Does a crowd of rules produce the law? (1:04–1:16)
The closed form assumed identical walkers in a perfectly settled state. Real crowds are neither, so before trusting the law we make a crowd that is free to disobey it. The workbook places n walkers on a 40 m single-file ring (a closed loop, so the crowd never drains away — the 1-D cousin of EXP-S1's cyclic room) and integrates the CFSM rule forward with an explicit-Euler step of 0.05 s for 600 simulated seconds, discarding the first half as transient. Why 600? Because relaxation in free flow is slow: a fast walker closes on a slow one at a few tenths of a metre per second over tens of metres of ring, and quoting a mean before the platoons have formed would measure the transient, not the law — the Week 1 shower-temperature rule again.
Crucially, the walkers are not identical. Each draws a personal desired speed from a normal distribution with mean 1.34 and standard deviation 0.20 m/s; the executed pool has mean 1.303 and minimum 0.837 m/s. This heterogeneity is not decoration. A crowd of clones with one shared v_0 locks into an artificial, perfectly symmetric state that real crowds never occupy — the lab's simulation practice treats per-agent draws as a modelling necessity, and this week you see the first reason why.
The reason appears in the free-flow branch. On a ring nobody can overtake, so anyone faster than the slowest walker eventually catches up and settles behind them: the crowd forms a platoon, and the free-flow speed of the system is the minimum of the drawn speeds, not the mean. The theory line for the heterogeneous ring is therefore
The simulation confirms it to within 0.0061 m/s at every one of the thirteen densities from 0.100 to 2.200 ped/m — the platoon-gated points settle onto the slowest walker's 0.837–1.162 m/s (depending on who is in the pool at each crowd size), and the spacing-limited points land on the congested branch exactly.

Two honest annotations. First, the Spearman correlation between density and simulated speed across the sweep is −0.978, not the −1.0 of Week 1's three points. That is not a failure: the fundamental diagram is non-increasing, not strictly decreasing, and on the platoon-gated plateau several densities share one speed (whoever is slowest has not changed), so ranks tie and wobble within 0.006 m/s. A perfect −1.0 on plateau data would actually be suspicious. Second, the platoon effect as computed here is partly a ring artifact — in a real corridor faster walkers overtake, and the free-flow branch recovers toward the mean. What survives contact with reality is the qualitative lesson: the free-flow speed of a system is set by its constraints, not by the average preference, and single-parameter crowds hide that.
And a third annotation, the most important of all: this agreement is a statement about internal consistency, not about reality. The simulation is the rule; the test it passes is necessary, never sufficient. The bar that matters — measured human trajectories — is exactly what the next act reaches for, and what Week 11 makes the whole lesson.
Stop and convince yourself — on the ring, the platoon plateau steps down as the crowd grows (0.837–1.162 m/s depending on n). Why does adding walkers never raise the plateau, and only sometimes lower it? What property of \min_i v_{0,i} as a function of the pool is at work?
Part 8 · Reading data the way Seyfried does (1:16–1:26)
So far we went from rule to diagram. Empirical pedestrian science runs the same road in reverse: given measured (density, speed) points, extract the physics. Picture the source of the data first, because it is one of the quiet triumphs of this field: the Jülich single-file experiments put recruited participants on a closed course marked out on a laboratory floor — single file, no overtaking, exactly our ring made physical — under overhead cameras that track each head through every frame. Run the course at increasing group sizes and you sweep density; extract per-walker speed and spacing from the trajectories and you have the fundamental diagram as measured on humans, with the geometry controlled and every assumption inspectable. It is Greenshields's roadside camera, refined for eighty years and turned indoors.
The classic analysis template is Seyfried's (seyfried2006_f4db ↗): work in the spacing–speed plane, where the congested branch of the CFSM rule is a straight line,
so the intercept is the occupied length and the slope is the time gap. Seyfried's fit of the required length to empirical single-file data is d = a + b\,v with a = 0.36 m and b = 0.56 s — a stopped pedestrian occupies about 0.36–0.40 m of line, and walkers add about half a second of headway per unit speed. The lab's disc radius of 0.20 m (\ell = 0.40 m) sits deliberately at the top of that empirical intercept range.
The workbook closes the loop on our own data: it takes the six strictly spacing-limited simulation points, regresses spacing on speed, and recovers intercept 0.400 m and slope 1.000 s — the exact \ell and T that went in, with zero residual. In silico that exactness is expected (the simulation is the rule); the value of the exercise is the method, because Week 6 applies the identical regression to PedPy measurements of 2-D trajectories, where nothing is exact.

One selection decision mattered more than the regression itself. Two medium-density points look congested but are platoon-gated — the slowest walker, not the spacing, sets their speed — and including them biases the fitted slope from 1.000 to about 1.12 s. Deciding which points belong to which regime before fitting is the week's first taste of the course's standing warning: the measurement method changes the answer. Week 7 makes that warning the entire lesson.
One knob, four literatures: the time gap
Because T is the congested-branch slope, every published fit of that slope is a measurement of the time gap — and the measurements disagree in an instructive way. The workbook draws the diagram family for four published values, holding \ell = 0.40 m and v_0 = 1.34 m/s fixed:
| Time gap | Source | \rho_c (ped/m) | J^* (ped/s) |
|---|---|---|---|
| 0.49 s | Juelich bottleneck fit (tordeux2019_877c ↗) | 0.946 | 1.268 |
| 0.56 s | Seyfried single-file fit (seyfried2006_f4db ↗) | 0.869 | 1.165 |
| 0.85 s | Juelich corridor fit (tordeux2019_877c ↗) | 0.650 | 0.871 |
| 1.00 s | JuPedSim default (tordeux2016_5e66 ↗) | 0.575 | 0.770 |

Read the table twice. First, the spread is real behaviour, not noise: people pushing through a bottleneck accept following headways of half a second; the same population strolling a corridor keeps nearly twice that. The time gap is geometry- and motivation-dependent, and a single global value is already a modelling compromise — this is one of the places where pedestrians part company with molecules, as Part 2 promised. Second, note where the lab's default sits. T = 1.0 s is the value shipped in the CFSM paper's illustration and in JuPedSim — roughly twice Seyfried's empirical 0.56 s. That corresponds to a comfortable, unhurried following distance: a defensible choice for the low-motivation indoor scenarios the lab simulates, but it is a default, and calling it "Seyfried-grounded" would be wrong — Seyfried's own fit is the 0.56 s row, and the two differ by 51% in door capacity. When a result depends on T, the honest statement is "JuPedSim default, low-motivation regime", with the sensitivity made explicit — which is exactly what the fan of curves above is for.
Stop and convince yourself — the fan pivots: all four curves pass through the same jam density but different capacities. From the two formulas \rho_{jam} = 1/\ell and J^* = v_0/(\ell + Tv_0), say in one sentence each why the jam is T-blind and the capacity is T-sensitive.
Part 9 · Worked numbers: doors, terraces, and the lab's densest point (1:26–1:36)
The diagram earns its keep when it produces numbers an engineer can act on. Three worked settings — two computed by the workbook, one written into law.
Door capacity. A clear width of 0.60 m is the single-pedestrian occupancy adopted from HCM-2010 (hassanpour2021_4b8f ↗): it admits exactly one file, so its capacity is the single-file capacity J^*. With the JuPedSim default time gap that is 0.770 ped/s = 46.2 pedestrians per minute; with Seyfried's empirical 0.56 s it is 1.165 ped/s = 69.9 per minute. The one-parameter uncertainty band spans half again the lower figure — which is why Week 8's bottleneck studies sweep T rather than trusting either endpoint. Wider openings scale, to first order, by the number of 0.60 m files they admit — this is the arithmetic behind the Jamarat strategy of multiplying total width across storeys. And below a clear width of about 0.40 m the story changes kind, not degree: even a single file cannot pass, and capacity does not degrade gracefully — it cuts off (ma2025_9f35 ↗).
The diagram as law: Hillsborough and the Green Guide. Ninety-six people died at Hillsborough in pens whose local density had been allowed to climb far past anything the terraces could safely hold (helbing2005_94a7 ↗); the pressure build-up in such crowds is precisely the quantity later simulation frameworks were required to represent (duives2013_3924 ↗). The regulatory aftermath — the Taylor Report, all-seater requirements for the top English divisions, and successive editions of the UK Guide to Safety at Sports Grounds, the "Green Guide" — turned the fundamental diagram's density axis into licensing arithmetic: standing areas are assigned maximum packing rates of a few persons per square metre, cut further wherever sightlines, crush barriers, or exits are substandard, and every held-capacity calculation for a ground flows from those densities. You do not need the Green Guide's exact tables this week (we will not quote numbers we have not sourced); you need to recognise its shape: a legally binding ceiling on \rho, set below the danger regime, is the fundamental diagram operated in reverse — choose the safe point on the curve, then size the geometry and the entry rates so the crowd cannot leave it.
The lab's 0.50 ped/m² point. EXP-S1's densest run measured 0.708 m/s at 0.500 ped/m². Is that spacing congestion? Map the areal density onto one 0.60 m walking lane: \rho_{1D} = 0.500 \times 0.60 = 0.300 ped/m, i.e. 3.33 m of spacing per walker — nearly twice the 1.74 m kink. The single-file law predicts 1.34 m/s, clean free flow; the measured 0.708 m/s sits 0.632 m/s below that. The gap is not an error in either number. It is the signature of everything the 1-D law leaves out: in a room, walkers on a cyclic course weave, cut corners, and yield to crossing neighbours, paying an avoidance overhead long before spacing binds. Quantifying that 2-D overhead properly is what the Voronoi measurement method is for — Week 7.
This comparison also arms you with the field's cheapest diagnostic, which the lab applies as a standing rule: below roughly 0.5 ped/m² the fundamental diagram predicts free flow, so a simulated jam at free-flow occupancy is a scene pathology, not a parameter problem. If agents queue at 0.2 ped/m², do not reach for the time gap — inspect the geometry: a misplaced obstacle, a degenerate waypoint, a door polygon that does not overlap the walkable area. And the temptation runs the other way too: shrinking the agent radius from 0.20 to 0.10 m will always "fix" a clogged doorway, because it doubles the single-file jam density (\rho_{jam} = 1/\ell jumps from 2.50 to 5.00 ped/m) and quadruples the areal packing limit (discs pack as 1/r^2) — while silently abandoning the empirically anchored occupied length of 0.36–0.40 m. That is a geometry cheat wearing a parameter's clothes, and this course does not accept it.
A final caution on the other plateau. Some speed-prediction papers work with characteristic speeds of 1.5–1.6 m/s; those are asymptotes of congested-regime fits, not free-flow desired speeds, and importing them as v_0 inflates every capacity number downstream. The lab's free-flow anchor remains Weidmann's 1.34 m/s.
Part 10 · Where the map ends (1:36–1:40)
Return, finally, to Duisburg. Everything derived today assumed that speed is a function of density — the equation-of-state claim. Helbing's synthesis is explicit that this assumption is approximately correct for low-to-medium densities and fails at very high density, where the crowd is driven far from equilibrium: force chains, sudden multi-directional displacements, people moved without deciding to move — crowd turbulence (helbing2015_d0b0 ↗). In that regime there is no v(\rho) to draw; the very quantities on our axes stop being well-defined behavioural aggregates and become statements about contact mechanics — closer to granular matter under load than to any flow, and even the granular analogy limps, because grains do not asphyxiate. The fundamental diagram's role in safety work is therefore not to describe the disaster regime but to keep systems out of it: every worked number in Part 9 — door capacities, packing ceilings, arrival scheduling — is a tool for holding density on the pages of the map. The Love Parade is what it looks like when a system is operated off the map's edge. That, and not any equation, is the week's deepest lesson.
The single-file diagram derived here is exact for its assumptions and silent about everything else: it does not know about overtaking, crossing flows, or the 2-D avoidance overhead the EXP-S1 comparison exposed (Weeks 3 and 7). Its parameters are not universal constants but measured, context-dependent quantities — the fan of published time gaps is the proof (Weeks 5 and 6). Its perfect agreement with our simulation is internal consistency, never validation (Week 11). And beyond roughly the densities where bodies touch continuously, it is not a law at all.
What you can now do
- Write the CFSM rule from memory, name its three parameters with units, and defend each parameter's value with a source.
- Derive v(\rho), J(\rho), \rho_c, \rho_{jam}, and J^* on a blank board, with dimensional checks at every step.
- Predict single-file door capacity from parameters, with an honest T-sensitivity band.
- Read a spacing–speed plot the way Jülich does: intercept = body, slope = headway — and police which points are allowed into the fit.
- Diagnose a simulated jam at free-flow occupancy as a scene pathology, and reject the radius-shrinking cheat on empirical grounds.
- Say precisely where the fundamental diagram stops being true, and name the disasters that mark the boundary.
Looking ahead
Next week opens the second great model family: pedestrians as particles under social and physical forces. Where the CFSM prescribes speed directly from spacing, the social force model derives motion from accelerations — attraction to a goal, repulsion from neighbours and walls — and the fundamental diagram stops being an input-shaped consequence and becomes an emergent test the model can fail. You will meet the force terms, see which collective phenomena they buy (lane formation, clogging oscillations), and learn why "reproduces the fundamental diagram" is the first gate any candidate model must pass.
Exam-style questions
Q1 — Derivation. Starting from V(s) = \min\{v_0, \max\{0, (s-\ell)/T\}\}, derive the single-file fundamental diagram, and show that the flow–density curve is a triangle whose apex sits at \rho_c = 1/(\ell + Tv_0). Model sketch: state the steady-state assumption (equal constant spacings) → \rho = 1/s → substitute to get v(\rho) = \min\{v_0, (1/\rho - \ell)/T\}. Free branch: J = v_0\rho, rising. Congested branch: J = \rho(1/\rho - \ell)/T = (1-\ell\rho)/T, linear, falling with slope -\ell/T, zero at \rho = 1/\ell. J increases on one side of the branch point and decreases on the other, so the maximum is at the branch point; equate the branch speeds to get \rho_c. Full marks require the dimensional check on -\ell/T (m/s) and the consistency check that both branches give J^* = v_0/(\ell+Tv_0).
Q2 — Inverse problem. A single-file experiment yields the congested-branch fit s = 0.42 + 0.75\,v (metres, seconds). Extract the model parameters, then compute the jam density and, taking v_0 = 1.34 m/s, the free-flow boundary and capacity. Model sketch: intercept ⇒ \ell = 0.42 m; slope ⇒ T = 0.75 s. \rho_{jam} = 1/0.42 = 2.38 ped/m. \rho_c = 1/(0.42 + 0.75 \times 1.34) = 1/1.425 = 0.70 ped/m. J^* = 1.34 \times 0.70 = 0.94 ped/s ≈ 56 ped/min per file. Credit for stating which extracted quantity is anatomy (\ell) and which is behaviour (T).
Q3 — Diagnosis. A colleague's simulation shows agents queuing at a doorway at a measured occupancy of 0.2 ped/m². They propose lowering the time gap to fix it. Assess the proposal. Model sketch: 0.2 ped/m² is deep in the free-flow regime (the FD predicts no spacing congestion below ~0.5 ped/m²), so no admissible T produces a jam there — the jam is a scene pathology. Correct action: inspect geometry (obstacle placement, waypoints, door polygon overlap with the walkable area). Also reject the related "fix" of shrinking agent radius: it doubles the single-file jam density (from \rho_{jam}=1/\ell: 2.50 → 5.00 ped/m) and quadruples the areal packing limit, while abandoning the empirical 0.36–0.40 m occupied length.
Q4 — Provenance. A methods section states: "Following Seyfried, we set the time gap to 1.0 s." Give two distinct reasons this sentence is wrong, and rewrite it honestly. Model sketch: (i) 1.0 s is the JuPedSim/CFSM-paper default, not an empirical fit; (ii) Seyfried's own single-file fit is b = 0.56 s — the model family is Tordeux/Chraibi/Seyfried, but the number's provenance is separate from the model's. Honest version: "JuPedSim default T = 1.0 s, a low-motivation following regime roughly twice Seyfried's empirical 0.56 s; results are reported with sensitivity over T \in [0.49, 1.0] s" — noting the endpoints differ by 51% in door capacity.
Q5 — Heterogeneity. Explain why the lab draws per-agent desired speeds from \mathcal{N}(1.34, 0.20^2) rather than assigning 1.34 m/s to all agents, using this week's ring results — and state the limit of the ring argument. Model sketch: identical-v_0 crowds lock into an artificial symmetric state; on the no-overtaking ring, the system free-flow speed is \min_i v_{0,i} (platoons formed behind the slowest walker; simulated plateaus 0.837–1.162 m/s, not the mean 1.303) — constraints, not average preferences, set system speed, and homogeneous crowds hide that structure. Limit: the platoon gate is partly a ring artifact; corridors allow overtaking and the free-flow branch recovers toward the mean. Bonus: real desired speeds are approximately Gaussian (Moussaïd's fit, mean 1.29, sd 0.19 m/s).
Q6 — Validity. "Given a good fundamental diagram, we can model crowd behaviour at any density." Refute in one paragraph, citing the empirical finding and one named disaster. Model sketch: the FD is an equilibrium, equation-of-state relation, found to hold approximately only at low-to-medium densities; at very high density the crowd is far from equilibrium (crowd turbulence — force chains, unanticipated multi-directional displacements), so no v(\rho) exists there. The Love Parade 2010 (and the 2006 Jamarat video analyses) mark the regime. The FD's proper safety role is keeping density out of that regime, not describing it.
Further reading
- Tordeux, Chraibi & Seyfried (2016) — Collision-free speed model for pedestrian dynamics. The primary source for this week's rule: the optimal-velocity function, its three parameters, and the collision-free guarantee. The T = 1.0 s in its examples is the value JuPedSim ships. tordeux2016_5e66 ↗
- Seyfried et al. (2006) — Basics of modelling the pedestrian flow. The single-file analysis behind the spacing-speed regression: required length d = a + b\,v with a = 0.36 m, b = 0.56 s. Read it alongside Part 8 and repeat the regression yourself in Week 6. seyfried2006_f4db ↗
- Tordeux et al. (2019) — Artificial neural networks predicting pedestrian dynamics in complex buildings. The geometry-dependence of the time gap: roughly 0.49 s at bottlenecks versus 0.85 s in corridors on the Juelich experiments — the empirical spine of the fig5 fan. tordeux2019_877c ↗
- Hughes (2002, 2003) — A continuum theory for the flow of pedestrians and The flow of human crowds. The fundamental diagram promoted to a field equation, with the Jamarat Bridge as the motivating application, the 1990 disaster toll documented, and the pedestrian Braess paradox. hughes2002_57b4 ↗, hughes2003_1d7a ↗
- Helbing (2015) — Saving human lives: what complexity science and information systems can contribute. The clearest account of why "panic" and "stampede" mis-describe crowd disasters, of crowd turbulence, and of the density limit of equilibrium crowd-flow theory — Part 10's backbone, and the scientific context of the Love Parade analysis. helbing2015_d0b0 ↗
- Helbing et al. (2005) — Self-organized pedestrian crowd dynamics. The disaster record (including Hillsborough's 96) and the design-solution catalogue that Week 3's force models were built to serve. helbing2005_94a7 ↗
- Duives, Daamen & Hoogendoorn (2013) — State-of-the-art crowd motion simulation models. Where pressure, the faster-is-slower effect, and the disaster-driven requirements on simulators are catalogued — the bridge from this week's law to Week 3's model families. duives2013_3924 ↗
- Wu et al. (2022) — An extended social force model via pedestrian heterogeneity. Quotes the Weidmann fundamental-diagram fit used as the lab's free-flow anchor (v_0 = 1.34 m/s, 25 synthesised surveys) and Moussaïd's Gaussian desired-speed fit, and previews next week's model family. wu2022_7ccd ↗
- Hassanpour et al. (2021) — Agent-based simulation for pedestrian evacuation behaviour. Source of the 0.60 m single-pedestrian occupancy adopted from HCM-2010. hassanpour2021_4b8f ↗
- Ma et al. (2025) — Pedestrian evacuation simulation considering hiding behavior and obstacle configurations. Source of the 0.40 m single-file passability floor. ma2025_9f35 ↗
- Historical, uncited in the vault — Greenshields's 1935 Highway Research Board paper (the first fundamental diagram, for cars); Fruin's Pedestrian Planning and Design (1971, the Level-of-Service bands); Weidmann's Transporttechnik der Fussgänger (1993, the 1.34 m/s synthesis); Helbing & Mukerji's open-access forensic analysis of the Love Parade (2012). Seek the originals — this lecture kept every claim from them qualitative on purpose, and the primary sources are where the numbers live.