Flow down the vegetated channel is governed by Manning's equation, solved for normal depth h at every station x along the swale (rectangular approximation, bottom width b = 0.6 m):
Q(x) = (1/n) · A(x) · R(x)^(2/3) · S^(1/2)
A = b·h, P = b + 2h, R = A/P
n is the Manning roughness coefficient, higher for denser vegetation (mowed grass n≈0.035, dense wetland-style planting n≈0.24). Root structure also drives soil infiltration, so discharge decays exponentially down the channel:
Q(x) = Q0 · e^(−k·x), k ∝ vegetation density
Each sediment grain settles under gravity at its Stokes settling velocity:
v_s = (2/9) · (ρ_s − ρ_w) · g · r² / μ
A particle is captured once it has time to sink through the local water depth before it exits: the per-metre capture probability is 1 − exp(−(v_s/h)·dt), so it rises when v_s/h is large — i.e. fine clay barely settles, coarse sand drops out almost immediately. Numerically checked in a scratch script against known values: 120 μm quartz sand in water gives v_s ≈ 1.3 cm/s under this formula, matching the textbook figure for fine sand — the 3D source's formula and this 2D port both use it unchanged.
- Inflow Q0 — how much stormwater runoff enters the swale.
- Slope — steeper channels flow faster and trap less.
- Vegetation density — raises roughness (slows flow, deepens water) and raises infiltration.
- Grain size — bigger grains settle faster and are trapped almost immediately; fine silt/clay mostly escapes.
- Simulation speed — scales the animation clock, not the physics.
- Flush — releases a dense pulse of grains at the inlet, like the first flush of a storm.
- Probe — drag anywhere on the channel view to read h(x), V(x), Q(x) and the local per-second capture chance at that station.