Pick a scenario; every slider stays editable.
The coloured plane is a live cross-section at the open end of the street. White dots are tracer air parcels moving through the same flow. The ring marks the detected vortex core. Traffic exhaust is emitted along the road surface.
The sweep re-runs the solver on six street widths (H = 21 m) and compares the measured vortex and street-level speed with the textbook regimes. Takes about 25 s.
Running...
The science
Street canyon. A street between two rows of buildings is a "canyon" with aspect ratio H/W (height / width). Wind across the street separates at the upwind roof edge and, depending on H/W, either reaches the street (isolated roughness, H/W < ~0.3), is disturbed by wakes (~0.3 to 0.7) or skims over the top while one stable vortex turns inside the canyon (H/W > ~0.7). These limits are the classic textbook values (Oke 1988) and are approximate.
Flow solver. The slice is solved with the D2Q9 lattice-Boltzmann method: fi(x+ci, t+1) = fi - (fi - fieq)/τ, with equilibrium fieq = wi ρ [1 + 3 ci·u + 4.5 (ci·u)2 - 1.5 u2] and kinematic viscosity ν = (τ - 1/2)/3. A Smagorinsky sub-grid model raises τ where the strain rate is large (νt = (Cs Δ)2|S|, Cs = 0.14). Walls and roofs use bounce-back, the ground is no-slip, the top is a free-slip lid, the inlet carries the log wind profile u(z) = u10 ln((z+z0)/z0)/ln((10+z0)/z0) with z0 = 0.5 m.
Pollutant. Exhaust is a passive scalar: ∂c/∂t + u·∇c = ∇·((Dm + νt/Sct)∇c) + q (first-order upwind finite volumes, Sct = 0.7), emitted along the road. It is reported as the dimensionless K = c uref H / q', the usual way to compare street-canyon measurements; absolute concentrations need a traffic emission rate, which this lab does not claim.
Time and speed. The lattice speed at 10 m is fixed at 0.06 cells/step for numerical stability; the physical velocity is V = u10 sin(angle)/0.06 m/s per lattice unit, so one step lasts 1/V s (1 cell = 1 m).
Honest simplifications. (1) The solver is two-dimensional (an infinitely long street, flow perpendicular to it); for other wind angles only the cross-street component U sin(angle) drives the 2D flow and the street-parallel part only advects the tracer dots, so channelling along the street is not simulated. (2) The effective Reynolds number is a few hundred to a few thousand, far below the ~106 of a real street, so the flow is smoother than reality; the regime pattern is the point, not exact speeds. (3) Heat, buoyancy, traffic-induced turbulence and building-corner vortices are not included. (4) Trees are a simple drag zone. (5) Pedestrian comfort classes use Lawson-type speed limits as a rough guide. This is not a substitute for a wind-engineering study.
Checks in this page. (a) Plane Poiseuille flow on a separate small lattice with the same collision rule against the analytic parabola, (b) mass flux in = out, (c) scalar emitted = stored + carried out. The H/W sweep compares the measured vortex with the textbook regimes.