Overview
FlowStudio is an open-channel hydraulics workspace. You organize worksheets (solvers for
channels, weirs, gates, intakes, and seepage checks) inside projects, then open them as
tabs in the main area.
This guide uses a topic list on the left (or above on narrow screens). Under each
solver, What this worksheet solves states the problem in plain language (inputs,
unknowns, outputs, and limits of the model). Key equations match the code.
Units: SI throughout, with gravitational acceleration
\(g = 9.80665\,\mathrm{m/s^2}\) in the code.
Typical workflow: create a project, add a worksheet of the right type, enter geometry and
flow data, then run the sheet’s compute action. Charts and tables show the numerical answer and
intermediate hydraulic quantities (depths, Froude numbers, slopes, etc.) depending on the tool.
Rectangular open channel
What this worksheet solves
Problem. For a long, straight prismatic channel of bottom width \(b\), you know (or
assume) steady uniform flow: discharge \(Q\), Manning roughness \(n\), and bed slope
\(S_0\) (energy grade line parallel to the bed in uniform flow). You want the normal depth
\(y_n\)—the depth at which Manning’s relation returns your \(Q\)—plus derived quantities (area, velocity,
Froude number, hydraulic radius) for that section.
What it does not do: it does not compute backwater or free-surface profiles (use the
GVF worksheet), gate or weir control, or unsteady routing. Side walls are vertical; pressure is hydrostatic.
Key equations (Manning, uniform flow)
Uniform flow (Manning): discharge \(Q\), flow area \(A\), wetted perimeter \(P\),
hydraulic radius \(R = A/P\), bed slope \(S_0 > 0\) in the flow direction, Manning roughness \(n\).
$$ Q = \frac{1}{n}\, A\, R^{2/3}\, S_0^{1/2}, \qquad A = by,\quad P = b + 2y,\quad R = \frac{A}{P} $$
Hydraulic depth \(D_h = A/T\) and Froude number use top width \(T = b\),
so \(D_h = y\) for a rectangle:
$$ \mathrm{Fr} = \frac{V}{\sqrt{g D_h}}, \qquad V = \frac{Q}{A} $$
The worksheet solves for normal depth \(y_n\) given \(Q\), \(b\), \(n\), and \(S_0\) (iteratively, matching
the Manning–Strickler discharge relation).
References. Manning–Strickler uniform-flow relation as in Chow, Open-Channel
Hydraulics; Rouse, Engineering Hydraulics; standard hydraulics texts.
Trapezoidal open channel
What this worksheet solves
Problem. Same as the rectangular uniform-flow sheet, but the section is a
trapezoid: bottom width \(b\) and side slope \(z{:}1\) (H:V). Given \(Q\), \(n\), and
\(S_0\), the sheet finds normal depth \(y_n\) and reports \(A\), \(P\), \(T\), hydraulic
depth, velocity, and Froude number for that uniform condition.
What it does not do: non-prismatic reaches, composite roughness, or varied flow—only
normal depth for the stated trapezoid.
Key equations
Bottom width \(b\), side slope \(z{:}1\) (horizontal:vertical). Same Manning uniform-flow discharge as the
rectangle, with geometry:
$$ A = y(b + zy), \qquad P = b + 2y\sqrt{1+z^2}, \qquad T = b + 2zy, \qquad D_h = \frac{A}{T} $$
$$ Q = \frac{1}{n}\, A\, R^{2/3}\, S_0^{1/2}, \qquad R = \frac{A}{P} $$
References. Chow and standard open-channel texts for trapezoidal section properties and
Manning uniform flow.
Circular open channel
What this worksheet solves
Problem. Open-channel (or partly full pipe) flow in a circular conduit of
diameter \(D\), with depth \(y\) measured from the invert. Given \(Q\), \(n\), and \(S_0\) for
uniform flow, the sheet solves for normal depth \(y_n\) using circular-segment
geometry for \(A\), \(P\), and \(T\), then reports velocity, Froude number, and related section data.
What it does not do: pressurized full-pipe flow (use pressure hydraulics), pressure surges,
or profile integration along the conduit.
Key equations
Diameter \(D\), radius \(R=D/2\), depth \(y\) measured from invert. Wetted angle \(\theta\) and segment
geometry:
$$ \cos\theta = \frac{R-y}{R}, \qquad A = R^2\left(\theta - \frac{\sin 2\theta}{2}\right), \qquad P = 2R\theta $$
$$ T = 2R\sin\theta, \qquad D_h = \frac{A}{T}, \qquad Q = \frac{1}{n} A R_h^{2/3} S_0^{1/2},\quad R_h=\frac{A}{P} $$
References. Geometric relations for partly full circular pipes; Manning uniform flow as
above.
Natural / irregular channel
What this worksheet solves
Problem. You have an irregular cross-section from survey or design—a
polyline of horizontal positions and bed elevations \((x,z)\). For a prismatic reach with Manning \(n\)
and slope \(S_0\), you want uniform-flow normal depth (or the depth that satisfies Manning
for a given \(Q\)): the solver searches for depth \(y\) above a reference invert so that
\(Q = \frac{1}{n} A R^{2/3} S_0^{1/2}\) with \(A\), \(P\), and \(T\) computed from the submerged part of
the polyline.
What it does not do: meandering thalweg in plan (still 1-D section hydraulics), vegetation
drag laws beyond a single \(n\), or sediment transport.
Key relations
User-defined cross-section as a polyline of \((x,z)\) points along the section. For a water-surface
elevation \(W = z_{\mathrm{inv}} + y\) (invert plus depth), the solver finds wetted segments, integrates
trapezoids for \(A\), sums segment lengths for \(P\), and obtains top width \(T\) from surface
intersections. Uniform flow again uses Manning with \(R = A/P\).
$$ Q = \frac{1}{n}\, A\, R^{2/3}\, S_0^{1/2}, \qquad \mathrm{Fr} = \frac{V}{\sqrt{g D_h}},\quad D_h = \frac{A}{T} $$
References. Composite Manning approach for arbitrary sections; see Chow, Henderson, and
river-hydraulics references for compound sections and hydraulic depth.
Gradually varied flow (GVF)
What this worksheet solves
Problem. Along a prismatic reach (rectangular or trapezoidal) you know
\(Q\), \(n\), \(S_0\), and section geometry. At a chosen starting station you specify a
flow depth \(y_0\) (or related control). You want the water-surface profile
\(y(x)\)—how depth varies along the channel under steady 1-D gradually varied flow—until a stop length,
critical depth, or numerical limit.
The sheet also reports normal depth \(y_n\) and critical depth \(y_c\) so
you can classify the profile (e.g. M1, M2, M3, S1, …) conceptually. Integration uses the standard
differential equation with Manning friction.
What it does not do: hydraulic jumps as moving fronts (jumps are discontinuities—see the
sluice sheet for a splice example), spatially varying \(n\) or width, bends, or unsteady waves.
Key equations
Prismatic channel; one-dimensional steady gradually varied flow. Bed slope \(S_0\), friction slope \(S_f\)
from Manning (same \(n\), \(V\), \(R\) as uniform flow):
$$ \frac{dy}{dx} = \frac{S_0 - S_f}{1 - \mathrm{Fr}^2}, \qquad S_f = \frac{n^2 V^2}{R^{4/3}} $$
The worksheet integrates this ODE (fixed \(\Delta x\) with RK4 and related options, or standard step with
fixed \(\Delta y\)). Integration stops or flags when \(|1-\mathrm{Fr}^2|\) is very small (near critical).
Critical depth for a wide rectangle with unit discharge \(q=Q/b\):
$$ y_c = \left(\frac{q^2}{g}\right)^{1/3} $$
For a trapezoid, critical depth satisfies \(\mathrm{Fr}^2 = Q^2 T/(g A^3) = 1\), solved numerically in
the app.
References. Bakhmeteff–Gradually Varied Flow theory; Chow, Henderson, Chaudhry
(Open-Channel Flow) for the differential equation and critical-flow definitions.
Sluice gate (rectangular channel)
What this worksheet solves
Problem. A bottom sluice gate in a wide rectangular channel passes a
known discharge \(Q\). You specify bottom width \(b\), Manning \(n\), bed slope \(S_0\), gate opening
\(a\), contraction coefficient \(C_c\), upstream plotted reach \(L_u\), downstream profile length
\(L\), and (optionally) tailwater depth \(y_t\) for jump modeling. The sheet answers:
-
Upstream pool depth \(y_1\) from specific-energy balance between the
pool and the vena contracta, combined with the rule that \(y_1\) cannot fall below normal depth when
uniform-flow energy already exceeds the contracta energy (no afflux).
-
Contracted depth \(y_2 = C_c a\), velocities, Froude numbers, and normal depth \(y_n\)
for context.
-
Downstream GVF from the gate (\(x=0\)) as supercritical drawdown or related profile.
-
If the flow is supercritical at the gate and tailwater forces a jump: jump location
\(x_j\) where the supercritical depth matches the Belanger pre-jump depth for sequent \(y_t\), an
empirical jump length \(L_j\), then subcritical GVF to \(x=L\).
What it does not do: submerged (drowned) gate flow at the lip, 3-D approach vortices,
air entrainment, or detailed stilling-basin hydraulics beyond the 1-D splice and correlation length.
Key equations
Ideal bottom gate: contracted depth at the vena contracta \(y_2 = C_c\,a\) with user contraction
coefficient \(C_c\), opening \(a\), and unit discharge \(q = Q/b\).
Specific energy (per unit weight) for a wide rectangular section:
$$ E = y + \frac{q^2}{2g y^2} $$
Upstream pool depth \(y_1\) is set so \(E(y_1)\) matches \(E_2 = E(y_2)\), subject to the
coded constraint that \(y_1\) is not below normal depth \(y_n\) when the uniform-flow energy already
exceeds \(E_2\) (no afflux case).
Downstream GVF is integrated from \((x,y) = (0, y_2)\) with the same Manning-based
\(dy/dx\) as the GVF worksheet.
If \(y_2\) is supercritical and you supply a subcritical tailwater \(y_t\) (or default
\(y_n\) when admissible), a hydraulic jump is placed where the supercritical profile
reaches depth \(y'\) whose Belanger (momentum) sequent is \(y_t\):
$$ \frac{y_t}{y'} = \frac{1}{2}\left(\sqrt{1 + 8\,\mathrm{Fr}'^2} - 1\right), \qquad \mathrm{Fr}' = \frac{V'}{\sqrt{gy'}} = \frac{q}{\sqrt{g}\,y'^{3/2}} $$
Jump length \(L_j\) is not obtained from momentum; it uses a published
empirical correlation for horizontal rectangular channels (same form as in Chow, 1959;
Chaudhry, 1993), with \(y'\) and \(\mathrm{Fr}'\) immediately before the jump:
$$ L_j = 220\,y'\,\tanh\left(\frac{\mathrm{Fr}' - 1}{22}\right) $$
The profile shows a short constant-depth segment at \(y_t\) over length
\(\min(L_j,\,L-x_j)\); subcritical GVF then continues from \(x_s = x_j + \min(L_j,\,L-x_j)\).
Drowned (submerged) jumps at the gate are detected and not fully modeled.
Where to see results: after computing, open the Summary table for
Est. jump length (Chow / Chaudhry) \(L_j\), Froude before jump \(\mathrm{Fr}'\), and
Subcritical GVF starts at \(x_s\); the note under the title repeats \(L_j\) and \(x_s\); the
long-section plot shows the horizontal jump stub.
References. V. T. Chow, Open-Channel Hydraulics (McGraw-Hill, 1959). M. H.
Chaudhry, Open-Channel Flow (Prentice Hall, 1993). The jump-length correlation is summarized
alongside the hydraulic-jump equations on
LMNO Engineering — Hydraulic jump
(consult primary texts for design). Belanger conjugate depths: standard momentum theory for a horizontal
jump.
Rectangular sharp-crested weir
What this worksheet solves
Problem. Estimate discharge (or head) for a rectangular, sharp-crested,
suppressed thin-plate weir: you supply crest length \(L\), head \(H\) on the crest, and a
discharge coefficient \(C_d\) appropriate to your standard or calibration. The sheet applies the
Poleni-style power law to obtain \(Q\) (or solves the inverse relationship depending on how the
worksheet is used).
What it does not do: approach velocity corrections beyond what you fold into \(C_d\),
partial contractions, compound weirs, or submerged (drowned) weir flow unless the implementation explicitly
adds it—treat results as indicative if those effects matter.
Key equation
Suppressed thin-plate weir: crest length \(L\), head \(H\) measured above the crest, user discharge
coefficient \(C_d\) (calibration / standard-dependent).
$$ Q = \frac{2}{3}\, C_d\, L\, \sqrt{2g}\, H^{3/2} $$
References. Poleni-type weir formula; \(C_d\) varies with approach conditions and
standards (ISO, British, USBR); see fluid-mechanics and hydraulics manuals.
Cipolletti weir
What this worksheet solves
Problem. A Cipolletti weir is a trapezoidal notch with \(1{:}4\) side
slopes, historically used so end contractions are approximately compensated. The worksheet gives
\(Q(H)\) (or related inverse) using the same head–discharge power law as a rectangular
weir with crest length \(L\) and your chosen \(C_d\), suitable for quick rating checks when that
simplification is acceptable.
What it does not do: replace code-mandated \(C_d\) tables or site calibration; complex
approach conditions and non-modular flow need manuals or physical study.
Key equation
Trapezoidal notch with side slope \(1{:}4\) (H:V), nominally compensating end contractions. The
worksheet uses the same head–discharge form as a rectangular weir with effective crest length \(L\) and
adjustable \(C_d\).
$$ Q = \frac{2}{3}\, C_d\, L\, \sqrt{2g}\, H^{3/2} $$
References. Cipolletti trapezoidal weir literature; King, Hager; treat \(C_d\) as
site-specific where standards require.
Tyrolean intake (bottom rack)
What this worksheet solves
Problem. A Tyrolean (bottom-rack) intake diverts part of a stream over
a sloping bar rack into a gallery. You supply rack span \(B\), bar spacing and thickness (for porosity
\(\varphi\)), approach depth \(h\), optional rack angle \(\theta\), and \(C_d\). The sheet estimates
diverted discharge \(Q\) using a documented weir analogy on the
effective length \(B\varphi\), optional \(\sin\theta\) factor, and reports approach velocity and Froude
number from river discharge \(Q_a\) and channel width \(B_{\mathrm{ch}}\). It can suggest a simple
collecting-channel geometry from velocity limits.
What it does not do: bar-by-bar 3-D hydraulics, debris, ice, fish screens, or
compliance with national intake standards—use for scoping only and validate with
guidelines, models, or tests.
Key equations
Schematic design check only—not a substitute for physical models, CFD, or national guidelines. Rack
porosity for bars normal to flow:
$$ \varphi = \frac{a}{a + b_{\mathrm{bar}}} $$
where \(a\) is clear spacing and \(b_{\mathrm{bar}}\) is bar thickness along the pitch. Diverted discharge
uses a rectangular-weir analogy on effective crest length \(B\varphi\), approach depth
\(h\), and coefficient \(C_d\); an optional factor \(\sin\theta\) may be applied for rack inclination
\(\theta\).
$$ Q = \frac{2}{3}\, C_d\, (B\varphi)\, \sqrt{2g}\, h^{3/2} \quad (\times \sin\theta\ \text{if enabled}) $$
Approach velocity and Froude number use \(V = Q_a/(B_{\mathrm{ch}} h)\),
\(\mathrm{Fr} = V/\sqrt{gh}\) for river discharge \(Q_a\) and channel width \(B_{\mathrm{ch}}\). The
collecting run suggests depths from velocity limits and a minimum length heuristic.
References. Bottom-rack / Tyrolean intake design literature (e.g. Swiss and Alpine
practice, FAO / national manuals). The implemented weir analogy is documented in code comments; validate
against project-specific guidance.
Khosla seepage (weir floor)
What this worksheet solves
Problem. Under a hydraulic structure, seepage beneath a horizontal
impervious floor with a vertical sheet pile at the upstream or downstream
end (standard Khosla cases) creates uplift on the floor. Given total seepage head \(H\) across the floor,
floor segment length \(b\), and pile depth \(d\) below the floor, you want percentage uplift
pressures (or equivalent heads) at key points along/near the floor for uplift stability checks,
and—when applicable—an exit gradient estimate at the downstream pile toe for piping
assessment.
The app uses piecewise-linear interpolation on published chart data, not a full 2-D
potential-flow solve.
What it does not do: anisotropic soil, partial cutoff walls of arbitrary shape, filters,
or time-dependent pore pressures—verify important works against source charts or finite-element
seepage analysis.
Key relations
Homogeneous, isotropic soil; standard Khosla-type profiles (sheet pile at upstream or downstream end of
the impervious floor). Percentage uplift pressures at key points are obtained by linear
interpolation on tabulated chart data from hydraulic-structures texts. Seepage head \(H\) scales
those percentages to pressure heads.
For a downstream pile, the worksheet reports an exit gradient estimate
using
$$ \lambda = \frac{1 + \sqrt{1 + (b/d)^2}}{2}, \qquad G_E = \frac{H/d}{\pi\sqrt{\lambda}} $$
with \(d\) pile depth below floor and \(b\) horizontal floor length measured from the pile as in the
selected standard case (see worksheet labels).
References. Khosla, Bose, and Taylor (1936) method as presented in irrigation and
hydraulic-structure books (e.g. Garg, Irrigation Engineering and Hydraulic Structures;
Punmia-style texts). Chart values in the app are piecewise-linear fits to published percentage curves;
verify critical projects against source charts or finite-element seepage analysis.
Projects & worksheets
What this covers
How to create projects, add named worksheets (each tied to a solver type),
and open them as tabs so you can switch between calculations without losing context.
Steps
-
With the Projects sidebar open, click + in the header to
create a project.
-
Expand a project (click its row) to load its worksheets and folders.
-
Use + on the project row to add a worksheet, pick a solver
type, name it, then Create.
-
Click a worksheet in the tree to open it here. Switch tabs at the top; use
× on a tab to close it.
Folders
What this solves
When you are signed in, large projects accumulate many worksheets. Folders let you
group sheets (by site, phase, or discipline) and drag them between
the project root and folders. State syncs to the server so your tree matches across sessions. Use the
folder control on a project to create folders, then drag worksheets onto a project or folder.
Account
What signing in changes
Signed in: projects and worksheets (and folders) can sync with your account on the
server. Signed out: you can still use the app, but persistence is limited to
this browser—treat it as local-only until you sign in.
Where to click
Use Profile in the title bar for account details. Use Account to sign
in or out.
Navigation
Moving around the app
The activity bar (vertical icons) switches the sidebar between Projects
(worksheet tree) and Help (Guide, About, external links). The tab bar
under the title shows open worksheets plus Guide/About; click a tab to focus it, use × to
close.
Inside the Guide tab, use the topic list on the left to jump between
solver theory pages and workspace topics without scrolling one long document.