Air Pollutant Dispersion & Emission Control Design
How pollutants spread in the atmosphere and how we control them. Learn the atmospheric boundary layer, lapse rates and stability classes, wind profiles, the Gaussian plume model and dispersion coefficients, effective stack height and plume rise, maximum ground-level concentration, stack design, air-quality indices, and control devices (cyclones, bag filters, ESPs, scrubbers, SCR) with efficiency calculations — with Python for a Gaussian plume.
Once pollutants leave a stack or exhaust pipe, the atmosphere transports and dilutes them. How much reaches people depends on wind speed, turbulence (atmospheric stability), stack height and terrain. The Gaussian plume model estimates these ground-level concentrations and is the basis of regulatory models.
Engineering controls reduce emissions at source; dispersion modelling checks that what remains meets ambient air-quality standards.
An analogy
A plume is like ink in a moving stream: the current (wind) carries it downstream while eddies (turbulence) spread it sideways and vertically. A taller stack is like releasing the ink higher above the riverbed — it has spread out more before it touches bottom.
Atmospheric stability
Air cools with height (dry adiabatic lapse rate ≈ 9.8 °C/km). If the real atmosphere cools faster, rising air keeps rising — unstable (sunny afternoons, good dispersion). If it cools slower or warms with height (inversion), air resists vertical motion — stable (clear nights, poor dispersion, smog). Pasquill–Gifford classes A (very unstable) to F (stable) summarise this.
Plume behaviour and stack height
Plume shapes: looping (unstable), coning (neutral), fanning (stable), fumigation and lofting (inversions). Effective height adds plume rise from momentum and buoyancy (Briggs formulas). Maximum ground concentration scales roughly with 1/H², so doubling the effective height cuts it by about 4× — the 'tall stack' approach (which disperses rather than removes pollution).
Control devices
Match device to pollutant:
- Cyclones — coarse particles, pre-cleaners (50–90%)
- Fabric (bag) filters — fine particles, > 99%
- Electrostatic precipitators — high-volume dust (power plants), > 99%
- Wet scrubbers / FGD — SO₂, acid gases, soluble dust
- SCR/SNCR — NOₓ reduction with ammonia/urea
- Adsorbers, thermal/catalytic oxidisers — VOCs
Regulatory models and air-quality management
AERMOD (steady-state Gaussian with boundary-layer meteorology and terrain) and CALPUFF (puff model for long range) are regulatory standards; CFD and chemical transport models (CMAQ, WRF-Chem) handle urban and regional air quality including secondary pollutants (PM2.5, ozone). Air-quality indices (AQI) communicate health risk; emission inventories and source apportionment guide policy.
Formulas
- Gaussian plume (ground reflection):
C = [Q/(2πuσ_yσ_z)]·e^(−y²/2σ_y²)·[e^(−(z−H)²/2σ_z²) + e^(−(z+H)²/2σ_z²)] - Ground-level centreline:
C(x,0,0) = [Q/(πuσ_yσ_z)]·e^(−H²/2σ_z²) - Wind power law:
u(z) = u_ref·(z/z_ref)^p - Collection efficiency:
η = 1 − C_out/C_in; in series: 1 − Π(1 − ηᵢ) - ESP (Deutsch–Anderson):
η = 1 − e^(−wA/Q)
Worked example: Devices in series
Given: Cyclone 80% then bag filter 99.5%
Find: Overall efficiency.
- 1 − 0.2 × 0.005
Answer: 99.9%
Worked example: ESP collection area
Given: Q = 200 m³/s, w = 0.1 m/s, target 99%
Find: Plate area.
- A = −(Q/w)·ln(0.01)
Answer: 9210 m²
Worked example: Wind at stack height
Given: u₁₀ = 4 m/s, p = 0.15, h = 60 m
Find: u(60).
- 4 × (60/10)^0.15
Answer: 5.2 m/s
Gaussian plume ground-level concentrations
import math
# Gaussian plume: ground-level centreline concentration downwind of a stack
Q = 100.0 # g/s SO2
u = 5.0 # m/s wind at stack height
H = 60.0 # effective stack height, m
# Briggs rural, stability class D: sy = 0.08x(1+0.0001x)^-0.5, sz = 0.06x(1+0.0015x)^-0.5
def conc(x):
sy = 0.08 * x / math.sqrt(1 + 0.0001 * x)
sz = 0.06 * x / math.sqrt(1 + 0.0015 * x)
return Q / (math.pi * u * sy * sz) * math.exp(-H**2 / (2 * sz**2)) * 1e6 # ug/m3
best = max(range(100, 20001, 50), key=conc)
for x in (500, 1000, best, 5000):
print(f"x = {x:5d} m: C = {conc(x):7.1f} ug/m3")
print(f"maximum ground-level concentration at about {best} m downwind")
# x = 500 m: C = 217.2 ug/m3
# x = 1000 m: C = 630.1 ug/m3
# x = 1050 m: C = 631.2 ug/m3
# x = 5000 m: C = 159.8 ug/m3
# maximum ground-level concentration at about 1050 m downwindConcentration is zero at the stack base, peaks about 1 km downwind where the plume first reaches the ground, then falls. 631 µg/m³ of SO₂ (1-hour) is far above India's 24-h standard of 80 µg/m³ — this source needs a scrubber or a taller stack.
Common mistakes
- Wrong: Using average wind for worst cases. — Right: Check low wind and stable conditions.
- Wrong: Relying on tall stacks instead of control. — Right: Reduce emissions at source first.
- Wrong: Ignoring building downwash. — Right: Stacks ≥ 2.5 × nearby building height (GEP).
Applications
- Industrial permits: Stack height and emission limits from modelling.
- Power plants: ESP, FGD and SCR design.
- Urban air quality: Traffic and industrial source apportionment.
- Emergency response: Toxic release dispersion (ALOHA).
Key takeaways
- Gaussian plume: C ∝ Q/(uσ_yσ_z)·e^(−H²/2σ_z²).
- Stability controls dispersion.
- Max ground concentration ∝ 1/H² (roughly).
- Control at source: filters, ESP, FGD, SCR.
Going further
- AERMOD: US EPA regulatory dispersion model.
- Plume rise (Briggs): Buoyancy flux F = g·v_s·d²·ΔT/(4T_s).
- Secondary aerosols: Formation of PM2.5 from SO₂, NOₓ, NH₃.