Chapter 16.3: Turbulence & Health Metrics

16.3.1 The k-epsilon Turbulence Model

While mixing-length theory (Chapter 16.2) provides a useful first approximation for eddy diffusivity, real street canyon flows require a more sophisticated turbulence model. The standard \(k\text{-}\varepsilon\) model solves two transport equations: one for turbulence kinetic energy \(k = \tfrac{1}{2}\langle u_i' u_i' \rangle\) and one for its dissipation rate \(\varepsilon\).

Turbulence Kinetic Energy Equation

$$\frac{\partial k}{\partial t} + u_j \frac{\partial k}{\partial x_j} = \frac{\partial}{\partial x_j}\!\left(\frac{\nu_t}{\sigma_k}\frac{\partial k}{\partial x_j}\right) + P_k - \varepsilon$$

where the production term is:

$$P_k = \nu_t \left(\frac{\partial u_i}{\partial x_j} + \frac{\partial u_j}{\partial x_i}\right)\frac{\partial u_i}{\partial x_j}$$

Dissipation Rate Equation

$$\frac{\partial \varepsilon}{\partial t} + u_j \frac{\partial \varepsilon}{\partial x_j} = \frac{\partial}{\partial x_j}\!\left(\frac{\nu_t}{\sigma_\varepsilon}\frac{\partial \varepsilon}{\partial x_j}\right) + C_{1\varepsilon}\frac{P_k}{k}\varepsilon - C_{2\varepsilon}\frac{\varepsilon^2}{k}$$

Turbulent Viscosity and Diffusivity

The turbulent viscosity is computed from the local values of \(k\) and \(\varepsilon\):

$$\nu_t = C_\mu \frac{k^2}{\varepsilon}$$

The turbulent diffusivity for pollutant transport is:

$$K = \frac{C_\mu\,k^2}{Sc_t\,\varepsilon}$$

Standard Constants

ConstantValuePhysical Meaning
\(C_\mu\)0.09Links k, epsilon to turbulent viscosity
\(C_{1\varepsilon}\)1.44Production of dissipation
\(C_{2\varepsilon}\)1.92Destruction of dissipation
\(\sigma_k\)1.0Turbulent Prandtl number for k
\(\sigma_\varepsilon\)1.3Turbulent Prandtl number for epsilon
\(Sc_t\)0.7Turbulent Schmidt number

16.3.2 Health Exposure Metrics

Pedestrian Inhaled Dose

The health-relevant quantity is not concentration alone, but the inhaled dose:

$$D = V_E \cdot T_{\text{canyon}} \cdot C_{\text{street}}$$

where \(V_E\) is the breathing (ventilation) rate and \(T_{\text{canyon}}\) is the time spent in the street canyon. Typical values:

  • Resting: \(V_E \approx 7.5\) L/min
  • Light exercise (walking): \(V_E \approx 20\) L/min
  • Heavy exercise (cycling): \(V_E \approx 40\) L/min

A cyclist inhales 5 times the dose of a sedentary person for the same exposure time and concentration, making active travellers in polluted canyons especially vulnerable.

WHO Air Quality Guidelines (2021)

PollutantAnnual Mean24-hour Mean
NO₂10 μg/m³25 μg/m³
PM₂.₅5 μg/m³15 μg/m³
PM₁₀15 μg/m³45 μg/m³

Ventilation Time Scale

The characteristic time for the canyon to flush its polluted air is:

$$\tau_{\text{vent}} = \frac{W}{C_D\,u_H}$$

For a 20 m wide canyon with \(C_D = 0.005\) and \(u_H = 5\) m/s: \(\tau_{\text{vent}} = 20/(0.005 \times 5) = 800\) s ≈ 13 minutes. During calm periods (\(u_H < 1\) m/s), ventilation times can exceed an hour.

16.3.3 MFG Extension: Pollution-Aware Routing

In Module 12, the Mean-Field Game (MFG) framework for traffic routing used a congestion cost \(F(x, \rho)\) in the Hamilton-Jacobi-Bellman equation. We can replace or augment this with a pollution-aware cost:

$$-\frac{\partial u}{\partial t} + H(x, \nabla u) = F(x, \rho) + \lambda\,C_{\text{OSPM}}(x, \rho)$$

where \(C_{\text{OSPM}}(x, \rho)\) is the OSPM concentration at street segment \(x\) given traffic density \(\rho\), and \(\lambda\) is a policy parameter controlling the weight of pollution exposure relative to travel time.

The key coupling: traffic density \(\rho\) determines emissions (via HBEFA), which feed into OSPM to compute \(C_{\text{OSPM}}\). This modifies the value function \(u\), which in turn changes the optimal routing policy, which changes \(\rho\). The MFG fixed-point now jointly equilibrates congestion and pollution.

$$\rho \xrightarrow{\text{HBEFA}} S_e \xrightarrow{\text{OSPM}} C_{\text{OSPM}} \xrightarrow{\text{HJB}} u \xrightarrow{\text{FPK}} \rho$$

16.3.4 Python: k-epsilon Solver and Pollution Map

We solve the 1D (vertical) steady-state \(k\text{-}\varepsilon\) equations iteratively for a street canyon, then compute the turbulent diffusivity and visualise the results. We also apply OSPM to a synthetic street network.

k-epsilon Canyon Solver & Pollution Map

Python
script.py216 lines

Click Run to execute the Python code

Code will be executed with Python 3 on the server

16.3.5 Key Takeaways

  • The \(k\text{-}\varepsilon\) model provides spatially varying turbulent diffusivity across the canyon, capturing the physics missed by simple mixing length.
  • Standard constants (\(C_\mu = 0.09, C_{1\varepsilon} = 1.44, C_{2\varepsilon} = 1.92\)) are well-validated for urban flow applications.
  • Health exposure depends on dose = breathing rate x time x concentration; cyclists are 5x more exposed than sedentary persons.
  • Ventilation time \(\tau = W/(C_D u_H)\) can exceed an hour during calm conditions, creating persistent pollution episodes.
  • The MFG framework from Module 12 can incorporate OSPM pollution costs, jointly optimising for congestion and exposure.