Channels (Manning, normal/critical depth)¶
HDAT sizes open channels using Manning equation and computes:
- normal depth \(y_n\)
- critical depth \(y_c\)
- regime classification (subcritical/supercritical)
Manning equation¶
\[
Q = \frac{1}{n}\cdot A \cdot R^{2/3}\cdot S^{1/2}
\]
Where:
- \(Q\): discharge (\(m^3/s\))
- \(n\): Manning roughness
- \(A\): flow area
- \(R\): hydraulic radius \(= A/P\)
- \(P\): wetted perimeter
- \(S\): bed slope (dimensionless)
Geometry (legacy formulas)¶
Triangular (side slope \(z:1\), depth \(y\)):
[ A = z y^2 ] [ P = 2y\sqrt{1+z^2} ]
Rectangular (width \(w\), depth \(y\)):
[ A = wy ] [ P = w + 2y ]
Trapezoidal (bottom width \(w\), side slope \(z:1\), depth \(y\)):
[ A = (w+zy)\cdot y ] [ P = w + 2y\sqrt{1+z^2} ]
Normal depth \(y_n\)¶
Legacy behavior solves \(y_n\) iteratively by finding \(y\) such that computed \(Q(y)\) matches target discharge.
Recommended safeguards:
- iteration caps
- monotonic bracketing for stable convergence
- clear “no solution” errors for invalid inputs
Critical depth \(y_c\)¶
Rectangular closed form:
\[
y_c = \left(\frac{(Q/w)^2}{g}\right)^{1/3}
\]
Triangular/trapezoidal are solved iteratively using the critical flow condition.
Regime classification¶
- if \(y_n < y_c\) → supercritical
- else → subcritical