Wind in urban terrain
Why this matters
Wind in cities is funnelled, sheltered, and recirculated by building geometry. Pedestrian-level wind comfort, pollutant dispersion in street canyons, ventilation of urban canopies, and the energy demand of buildings are all set largely by where the wind goes between the blocks, not just by the speed of the upstream wind. Anything that hopes to predict any of these has to start by getting the flow pattern right.
The control parameter: Reynolds number
The Reynolds number measures the ratio of inertial forces to viscous forces in the flow:
where is the inflow speed, is the building dimension, and is the kinematic viscosity of the air. The symbol is the velocity scale in the incoming wind, is the length scale set by the obstacle or street-canyon width, and controls how fast momentum diffuses. At low Re (≲ 40 for a square obstacle) the flow is laminar and steady. In the intermediate range (Re ≈ 50–300) a periodic vortex street sheds from each obstacle’s leeward face. Beyond a few thousand the wake becomes turbulent and the channelling between buildings becomes the dominant feature of the flow.
In the demo, you set Re via the slider and watch the qualitative regime change with it.
What you’re seeing
The background is coloured by wind speed: cooler colours where the air is slow, warmer colours where it is fast. Black tracer paths are advected by the computed velocity field and fade away, so the most recent streamlines remain visible without permanently covering the flow. That makes three urban-fluid signals immediately visible:
- Wakes — low-speed shadows downstream of every building.
- Channelling — high-speed warm-coloured corridors between buildings aligned with the wind.
- Stagnation — cool spots at the upstream face of each building, where the flow has to come to a stop before going around.
What you’re not seeing
This is a two-dimensional teaching model, not a building-scale wind engineering calculation. The browser solver uses a coarse grid, simple rectangular obstacle masks and a semi-Lagrangian advection step. Those choices make it responsive enough to redraw while you edit the blocks, but they also add numerical smoothing and remove the three-dimensional turbulence, roof-level exchange and wall-layer physics that matter in real cities.
That’s exactly the reason research groups (including ours) write much heavier codes for the kind of flows where the small-scale dynamics matter. Our urban LES code uDALES uses a three-dimensional discretisation, immersed boundaries and subgrid-scale turbulence models so that separation, recirculation, ventilation and heat exchange can be studied quantitatively. The methods page goes into more detail on what’s gained and what’s lost.
The meteorological convention
Wind direction names refer to where the wind comes from, not where it goes. A southwesterly wind blows from the southwest toward the northeast. The compass dial in the demo lets you pick the direction the wind comes from; the arrow inside the dial points away from that label, toward where the wind blows.
Building manipulation
- Add a building — click (or tap on a phone) anywhere in empty space; a default-sized block appears at the click. Up to 8 at a time.
- Move — drag a building’s body.
- Resize — drag a corner handle of a selected building.
- Rotate — drag the small handle that sits above the top edge of a selected building.
- Delete — click the red × badge on a selected building, or press Delete while a building is selected.
Click (or tap) on empty space to add a building. Click an existing building to select it, then drag corners to resize, the top handle to rotate, or the red badge to delete.
About this demo
This browser version uses the site’s NS2D solver: a two-dimensional incompressible Navier-Stokes model with semi-Lagrangian advection and an SOR pressure projection. It is fast enough for interactive geometry changes and faithful enough to show wakes, channelling and stagnation, but it is not a substitute for uDALES or a dedicated wind-engineering calculation. Read the methods page →