CIV-370 · Lesson 3 of 12 · 21 min

Uniform flow and channel design

Water running down a long, straight channel speeds up until the friction of the bed and banks exactly balances the pull of gravity. From then on the depth and velocity stop changing, and the flow is uniform. The depth at which this happens is the normal depth. It is the natural depth of a channel for a given discharge, the yardstick against which the profiles of lesson 4 are measured, and the basis for sizing almost every ditch, swale and canal. This lesson develops the friction formulas, applies them to Kestrel Creek and uses them to size the site's perimeter ditch.

The balance of forces

Consider a length \(L\) of channel in uniform flow. The depth does not change, so the hydrostatic forces on the two ends cancel. The only forces along the channel are the component of the weight of the water, \(\gamma A L \sin\theta\), and the shear on the boundary, \(\tau_0 P L\). For the small slopes of nearly all channels, \(\sin\theta \approx S_0\), the bed slope. Setting the two equal gives the average boundary shear stress:

\[\tau_0 = \gamma R S_0\]

This simple result is used directly to check whether a channel lining will erode. Because the energy grade line is parallel to the bed in uniform flow, the friction slope \(S_f\) equals \(S_0\), and the same expression with \(S_f\) applies to non-uniform flow.

Chézy and Manning

Turbulent boundary shear is proportional to the square of the velocity, \(\tau_0 = k\rho V^2\). Combining this with the force balance gives the formula published by Antoine Chézy in about 1769:

\[V = C\sqrt{R S}\]

where \(C\) is the Chézy coefficient. Engineers soon found that \(C\) was not constant but varied with the hydraulic radius and the roughness. In 1889 Robert Manning, an Irish engineer, proposed a formula based on many measurements that has become the standard in practice throughout North America:

\[V = \frac{k}{n} R^{2/3} S^{1/2} \qquad Q = \frac{k}{n} A R^{2/3} S^{1/2}\]

where \(n\) is Manning's roughness coefficient and \(k\) is a unit constant, equal to 1 in SI units (meters and seconds) and to 1.49 in US customary units (feet and seconds). The constant 1.49 is the cube root of 3.28, the number of feet in a meter, so that the same \(n\) can be used in both systems. Manning's formula is empirical and dimensionally awkward, but it works well for fully rough turbulent flow, which covers nearly all natural and constructed channels.

The more rigorous Darcy-Weisbach formula from pipe flow, with the friction factor from the Moody diagram and \(D = 4R\), also applies to open channels and is used for smooth concrete channels and in research. In design practice, Manning's formula dominates.

Choosing Manning's n

The roughness coefficient captures the resistance of the boundary material, the vegetation, the irregularity of the cross section, the meanders and any obstructions. Typical values are listed below. For natural streams, engineers start from a base value for the bed material and add increments for irregularity, obstructions, vegetation and meandering, a procedure developed by Cowan and adopted in agency guidance. Photographs of channels with measured \(n\) values, published by the US Geological Survey, are a valuable check.

Typical values of Manning's n. Choose within the range by judgment and check against published photographs.
ChannelManning's n (typical range)
Smooth concrete, finished0.011 to 0.013
Corrugated metal pipe0.022 to 0.027
Earth channel, straight, clean0.018 to 0.025
Grass-lined ditch, mowed0.025 to 0.035
Riprap lining0.030 to 0.045
Natural creek, clean, some stones and weeds0.030 to 0.040
Natural creek, winding, pools, brush0.040 to 0.070
Floodplain, heavy brush or trees0.070 to 0.150

Vegetation makes grass-lined ditches harder to characterize, because \(n\) depends on the height and stiffness of the grass and on how deep the flow is. Tall grass flattens in deep, fast flow and offers less resistance. For that reason, ditches are often checked twice: for capacity with the higher \(n\) of long grass and for erosion with the lower \(n\) of short grass, which gives a higher velocity.

Normal depth

For a given discharge, slope, roughness and cross section, the normal depth is the depth that satisfies Manning's equation. For a wide rectangular channel, \(R \approx y\) and the equation can be solved directly: \(y_n = (nq/(k\sqrt{S}))^{3/5}\). For any other shape it is solved by trial, by a chart or numerically. The section factor \(AR^{2/3} = nQ/(k\sqrt{S})\) increases steadily with depth, so a simple bisection always converges.

Comparing the normal depth with the critical depth from lesson 2 classifies the slope. If \(y_n > y_c\), the uniform flow is subcritical and the slope is called mild. If \(y_n < y_c\), the uniform flow is supercritical and the slope is steep. The same channel can be mild at one discharge and steep at another, though for natural creeks the slope classification is usually consistent over the range of floods.

Worked problem

Normal depth of Kestrel Creek at the 100-year flow

The creek near the crossing has a bottom width of 10 ft, side slopes of 2H:1V, a slope of 0.004 and a Manning's n of 0.035 for a clean natural channel with stones and some weeds. Find the normal depth at 640 cfs and check the regime.

Show solution
  1. Required section factor:
  2. \[AR^{2/3} = \frac{nQ}{1.49\sqrt{S}} = \frac{0.035 \times 640}{1.49 \times \sqrt{0.004}} = 237.7\ \text{ft}^{8/3}\]
  3. Try \(y = 5.286\) ft: \(A = 108.7\) ft², \(P = 10 + 2(5.286)\sqrt{5} = 33.64\) ft, \(R = 3.232\) ft:
  4. \[AR^{2/3} = 108.7 \times 3.232^{2/3} = 237.7 \quad \checkmark\]
  5. Velocity and Froude number, with \(T = 31.14\) ft and \(D = 3.49\) ft:
  6. \[V = 640/108.7 = 5.89\ \text{ft/s} \qquad Fr = \frac{5.89}{\sqrt{32.2 \times 3.49}} = 0.56\]

Answer: The normal depth is 5.29 ft, well above the critical depth of 3.87 ft from lesson 2. The creek has a mild slope, and its 100-year flow is subcritical.

Designing a channel

Designing a constructed channel means choosing its shape, size, slope and lining so that it carries the design discharge with adequate freeboard, does not erode and does not silt up. The usual steps are these.

  • Fix the design discharge and the return period, from the local criteria. Ditches on private sites are often designed for a minor storm, such as the 5- to 25-year event, with the major storm carried by overland routes that must be checked separately.
  • Fix the slope, which is usually dictated by the terrain and the outlet elevation.
  • Choose the lining: grass, riprap, a turf reinforcement mat or concrete. Grass is cheapest and best for water quality, but limits the velocity and shear the channel can take.
  • Choose the side slopes. Slopes of 3H:1V or flatter suit grass, allow mowing and are safer for vehicles that leave the road; 4H:1V is common on highway ditches.
  • Solve for the bottom width and normal depth that carry the flow, and check velocity and shear against the limits for the lining.
  • Add freeboard, the vertical distance from the design water surface to the top of the bank, to allow for waves, settlement, debris and uncertainty in \(n\). For small ditches, 0.3 m or 1 ft is common.

Erosion resistance

Two approaches are used to check that a lining will not erode. The older one compares the mean velocity with a permissible velocity for the soil or lining, such as about 1 to 2 m/s for good grass on erosion-resistant soil. The more rational one, the tractive force method, compares the boundary shear with a permissible shear. The maximum shear on the bed of a trapezoidal channel is close to \(\gamma y S\), slightly more than the average \(\gamma R S\); on the side slopes it is about 0.75 \(\gamma y S\). Design guidance from road agencies tabulates permissible shear stresses for grass of different classes and densities, for erosion control mats and for riprap of different sizes. For riprap, a common rule relates the permissible shear to the median stone size, about \(\tau_p \approx 0.047(\gamma_s - \gamma)d_{50}\), the Shields criterion with a safety margin added by the designer.

A grass-lined trapezoidal ditch with side slopes of 3 horizontal to 1 vertical. Red arrows on the bed indicate the maximum bed shear γyS, and the side slopes carry about 0.75 γyS. A note lists the checks: velocity, shear, freeboard and maintenance.
A grass-lined ditch is checked for capacity, velocity, shear and freeboard.

The site's perimeter ditch

The site's perimeter ditch runs along the east and south edges of the yard to the stormwater pond. Its design flow is the 25-year peak from the developed site, 65 cfs by the rational method of lesson 9. The terrain gives a slope of 0.005. Anika chooses a grass lining with \(n = 0.030\) and side slopes of 3H:1V, and asks Owen to find the bottom width.

Sofia's script finds the normal depth of the creek, tries three bottom widths for the ditch with the bed shear and top width of each, and computes the best hydraulic trapezoid for comparison.

Normal depth and shear in the creek, sizing the grass-lined ditch, and the best hydraulic section.
# Uniform flow: normal depth in the creek, sizing the site ditch and checking its lining
from math import sqrt, atan, degrees
UNITS = "US"
if UNITS == "SI":
    k, g, gam, L, uq = 1.0, 9.81, 9.81, "m", "m3/s"        # Manning constant, unit weight kN/m3
    creek = dict(b=3.0, z=2.0, n=0.035, S=0.004, Q=18.0)
    ditch = dict(z=3.0, n=0.030, S=0.005, Q=1.85)
    widths = [0.5, 1.0, 1.5]
    tau_allow, ush = 67.0, "Pa"                              # permissible shear, good grass cover (typical value)
else:
    k, g, gam, L, uq = 1.49, 32.2, 62.4, "ft", "cfs"
    creek = dict(b=10.0, z=2.0, n=0.035, S=0.004, Q=640.0)
    ditch = dict(z=3.0, n=0.030, S=0.005, Q=65.0)
    widths = [2.0, 3.0, 4.0]
    tau_allow, ush = 1.4, "psf"
def geom(y, b, z):
    A = (b + z * y) * y; P = b + 2 * y * sqrt(1 + z * z)
    return A, P, A / P, b + 2 * z * y
def Qman(y, b, z, n, S):
    A, P, R, T = geom(y, b, z)
    return k / n * A * R ** (2 / 3) * sqrt(S)
def normal(b, z, n, S, Q):
    lo, hi = 1e-4, 50.0
    for _ in range(200):
        m = (lo + hi) / 2
        if Qman(m, b, z, n, S) < Q: lo = m
        else: hi = m
    return m
c = creek
yn = normal(**c); A, P, R, T = geom(yn, c['b'], c['z']); V = c['Q'] / A
print(f"Creek: Q = {c['Q']} {uq}, n = {c['n']}, S = {c['S']}: normal depth yn = {yn:.3f} {L}")
print(f"  A = {A:.2f}, R = {R:.3f} {L}, V = {V:.2f} {L}/s, Fr = {V / sqrt(g * A / T):.2f}")
tb = gam * R * c['S'] * (1000 if UNITS == 'SI' else 1)
print(f"  boundary shear = gamma R S = {tb:.1f} {ush}" if UNITS == "SI" else f"  boundary shear = gamma R S = {tb:.2f} {ush}")
print("\nSite ditch, side slopes 3H:1V, n = 0.030, S = 0.005, Q =", ditch['Q'], uq)
print(f"{'b':>5} {'yn':>6} {'V':>6} {'tau_bed':>8} {'top width':>10}")
for b in widths:
    y = normal(b, **ditch); A, P, R, T = geom(y, b, ditch['z'])
    tau = gam * y * ditch['S'] * (1000 if UNITS == "SI" else 1)   # maximum bed shear, gamma y S
    print(f"{b:5.1f} {y:6.3f} {ditch['Q'] / A:6.2f} {tau:8.2f} {T:10.2f}")
print(f"Permissible shear for good grass cover (typical): {tau_allow} {ush}")
# best hydraulic trapezoid: half a hexagon, z = 1/sqrt(3), b = 2y/sqrt(3)
yb = 1.0
lo, hi = 0.01, 20.0
for _ in range(200):
    m = (lo + hi) / 2
    if Qman(m, 2 * m / sqrt(3), 1 / sqrt(3), ditch['n'], ditch['S']) < ditch['Q']: lo = m
    else: hi = m
print(f"\nBest hydraulic trapezoid for the ditch flow: y = {m:.3f}, b = {2 * m / sqrt(3):.3f} {L}, side angle {degrees(atan(sqrt(3))):.0f} deg")
Output
Creek: Q = 640.0 cfs, n = 0.035, S = 0.004: normal depth yn = 5.286 ft
  A = 108.73, R = 3.232 ft, V = 5.89 ft/s, Fr = 0.56
  boundary shear = gamma R S = 0.81 psf

Site ditch, side slopes 3H:1V, n = 0.030, S = 0.005, Q = 65.0 cfs
    b     yn      V  tau_bed  top width
  2.0  2.075   3.81     0.65      14.45
  3.0  1.942   3.79     0.61      14.65
  4.0  1.822   3.77     0.57      14.93
Permissible shear for good grass cover (typical): 1.4 psf

Best hydraulic trapezoid for the ditch flow: y = 2.891, b = 3.338 ft, side angle 60 deg

Reading the results

In the creek, the average boundary shear at the 100-year flow is about 0.81 psf, which the natural stony bed has clearly withstood for many years. For the ditch, widening the bottom from 2 to 4 ft lowers the depth from 2.08 to 1.82 ft but barely changes the velocity, about 3.8 ft/s, because the flat 3H:1V sides already provide most of the area. The bed shear, 0.57 to 0.65 psf, is less than half the typical permissible value of about 1.4 psf for good grass cover. Owen selects a 3 ft bottom width: the flow depth is 1.94 ft, and with 1 ft of freeboard the ditch is about 3 ft deep and about 21 ft wide at the top.

The best hydraulic trapezoid, half a hexagon with 60° sides, would carry the same flow in a narrower channel 2.89 ft deep with a 3.34 ft bottom. It minimizes the wetted perimeter, and therefore the excavation and lining, for a given area. But its steep sides would not hold grass, could not be mowed and would be a hazard beside a yard used by trucks. The best hydraulic section is a useful reference for lined canals and concrete channels, not for grassed ditches.

Compound sections and composite roughness

Natural streams in flood spill over their banks onto floodplains with much higher roughness and shallower depth. Treating such a section as a single trapezoid with one \(n\) seriously overestimates its capacity. The standard approach divides the section into a main channel and left and right overbanks, computes the conveyance \(K = (k/n)AR^{2/3}\) of each part separately, and adds them: \(Q = (K_{mc} + K_{lob} + K_{rob})\sqrt{S}\). Programs such as HEC-RAS, developed by the US Army Corps of Engineers and used widely in both countries, do this automatically. Where the bed and banks have different roughness within one subsection, an equivalent composite \(n\) is computed from the wetted perimeters of the parts.

Practical points

  • Choose \(n\) with care and check it against photographs; it is the largest source of uncertainty in uniform flow calculations.
  • Check grass-lined channels twice: capacity with long grass, erosion with short grass.
  • Compare the normal depth with the critical depth to classify the slope.
  • Check shear on the bed and the sides of the channel, and at bends, where it is higher.
  • Divide compound sections into subsections; do not lump floodplains with the main channel.

Common mistakes

  • MistakeUsing \(k = 1.49\) with SI units or omitting it with US units.

    Instead\(k = 1\) for meters and seconds, 1.49 for feet and seconds.

  • MistakeDesigning a grassed ditch with steep sides because they give the best hydraulic section.

    InsteadGrass, mowing and safety need side slopes of about 3H:1V or flatter.

  • MistakeUsing one Manning's n for a creek and its wooded floodplain.

    InsteadCompute the conveyance of each subsection separately.

  • MistakeChecking only velocity for erosion.

    InsteadCheck boundary shear against the permissible shear of the lining.

Summary and key terms

  • In uniform flow, gravity balances friction and the average shear is \(\tau_0 = \gamma R S_0\).
  • Manning: \(Q = (k/n)AR^{2/3}S^{1/2}\), with \(k = 1\) (SI) or 1.49 (US).
  • Normal depth satisfies Manning's equation; \(y_n > y_c\) is a mild slope, \(y_n < y_c\) a steep one.
  • Kestrel Creek: \(y_n = 5.29\) ft at 640 cfs, mild slope, \(Fr = 0.56\).
  • Channel design: discharge, slope, lining, side slopes, size, velocity and shear checks, freeboard.
  • Perimeter ditch: 3 ft bottom, 3H:1V sides, flow depth 1.94 ft, bed shear 0.61 psf, about 3 ft deep.
Uniform flow
Flow in which depth, velocity and area do not change along the channel.
Normal depth
The depth of uniform flow for a given discharge, slope, roughness and section.
Manning's n
An empirical roughness coefficient in Manning's equation.
Section factor
The quantity AR^(2/3), which Manning's equation relates to the discharge, slope and roughness.
Mild slope
A slope on which the normal depth exceeds the critical depth.
Tractive force
The shear stress exerted by flowing water on the channel boundary.
Freeboard
The vertical distance from the design water surface to the top of the bank.
Conveyance
The quantity (k/n)AR^(2/3), which multiplied by the square root of the slope gives the discharge.

Practice problems

Work each problem on paper first, then reveal the answer to check.

  1. A concrete rectangular channel (\(n = 0.013\)) 6 ft wide on a slope of 0.002 flows 2.5 ft deep. Find the discharge.

    Show answer

    \(A = 15\) ft², \(R = 1.364\) ft, \(Q = (1.49/0.013)(15)(1.364)^{2/3}(0.002)^{1/2} = 94.5\) cfs.

  2. Find the average boundary shear in that channel.

    Show answer

    \(\tau_0 = 62.4 \times 1.364 \times 0.002 = 0.17\) psf.

  3. A wide gravel stream (\(n = 0.030\)) on a slope of 0.001 carries 30 cfs per foot of width. Find the normal depth.

    Show answer

    \(y_n = (0.030 \times 30/(1.49\sqrt{0.001}))^{0.6} = 5.87\) ft.

  4. Why do the depths of the perimeter ditch change much more than its velocity as the bottom width changes?

    Show answer

    With flat side slopes, most of the area is in the triangular side portions, so changing the bottom width changes the area modestly while the depth adjusts; the velocity stays near Q/A for the required area.

Lesson quiz · 5 questions

Score 60% or more to complete this lesson.

Take the quiz