Gradually Varied Flow

OpenHydroLab · Water-surface profiles as the phase portrait of dy/dx = (S₀ − S_f)/(1 − Fr²)

Channel

Flow & bed slope

Centre = 0 (horizontal, H); left of centre = adverse (A). Both have no normal depth.

Control section

Jump to a profile type

Same channel (b = 5 m, n = 0.015, Q = 10 m³/s) every time — only the bed slope and the control depth change.

Direct-step method

Show

Aha demo: press March from the control. The probe integrates the profile away from the control section while the same point rides the dy/dx curve on the right: watch it slide toward the zero of the numerator (the NDL — every profile is attracted to yₙ) or toward the pole of the denominator (the CDL — where dy/dx blows up and GVF theory dies, so a jump or a free overfall takes over). Then press Sweep S₀: the zero and the pole swap places as yₙ crosses y꜀, and the whole family flips M → C → S.

Classification

Normal depth yₙ (NDL)
Critical depth y꜀ (CDL)
Critical slope S꜀
Slope class
Zone of y₀
M1 — BACKWATER
READY

The equation at the control

Froude number Fr(y₀)
Friction slope S_f(y₀)
Numerator S₀ − S_f
Denominator 1 − Fr²
dy/dx
Control acts from

Integrated profile (RK4)

Reach length to 1 % of yₙ
End condition
Particle time compression

Direct step (quantitative)

Single step y₀ → yₙ (classic)
N-step over the same range
N-step ÷ RK4 length

Self-checks

S_f(yₙ) ÷ S₀
Fr(y꜀)
∫(S₀ − S_f)dx ÷ ΔE
dy/dx = (S₀ − S_f) / (1 − Fr²)
S_f = [nQ/(AR^⅔)]²  ·  Fr² = Q²T/(gA³)  ·  E = y + Q²/(2gA²)
numerator = 0 ⟹ y = yₙ (NDL)  ·  denominator = 0 ⟹ y = y꜀ (CDL)
Δx = (E₂ − E₁)/(S₀ − S̄_f)  (direct step)
Subcritical flow (y > y꜀) carries information upstream, so its control sits downstream and the profile is integrated upstream from it; supercritical flow is controlled from upstream. The profile flattens onto the NDL asymptotically and meets the CDL vertically — there the gradually-varied assumption fails and a jump, a gate or an overfall takes over.