OpenHydroLab is a free library of interactive HTML animations for undergraduate fluid mechanics, hydraulics and hydrology. Every number on screen is computed live from the real governing equations — no faked motion. Each animation runs offline in any modern browser, needs no installation, and can be projected in class or explored by students at home.
Fluid mechanics
Hydrostatic Forces on Surfaces 2D · offline
One idea in two linked pictures: the resultant is the volume of the pressure prism and the centre of pressure is its centroid. A section and its pressure diagram, tied together so the CP is visibly the same point in both. Horizontal, vertical and inclined plates on one continuous θ slider — Δy written so θ → 0 stays finite — then curved surfaces, where the resultant on a circular arc is shown to pass through the pivot because every pressure arrow is radial. A worked-solution panel writes the whole calculation out for whatever the sliders say, one step at a time, with the drawing following each step.
LaunchHydrostatic Force in Three Dimensions 3D · offline
The pressure prism built as a solid you can orbit around, coloured by pressure — the centre of pressure sits below the centroid simply because the solid is fatter at the deep end. Four plate shapes (rectangle, triangle, circle, semicircle) whose area, centroid and second moment are re-derived from the shape's own chord width and checked against the standard table on screen, so the table is verified rather than memorised. Plus a real cylindrical gate: sight down its pivot axis and every pressure arrow points at it.
LaunchBoth carry a step-by-step worked solution generated from the current slider settings — formula, substitution, result, and a plain-English line saying why the step exists. Walking it with ◀ ▶ dims everything in the drawing the current step is not about.
Open-channel hydraulics
Channel Geometry & Froude Number 3D · offline
Channel cross-section shapes with live A, P, R, T, D; selectable velocity profiles with α and β integrated numerically (self-checking); plan-view stone-ripple demo where ripples spread at c = √(gD) while advected at V — subcritical flow shows the upstream "news front" at c − V, supercritical folds into the Froude wedge sin θ = 1/Fr, the open-channel Mach cone.
LaunchSpecific Energy, Critical Depth & Choking 2D · offline
A flume and its E–y diagram, live-linked by a travelling probe. Three experiments: sluice-gate alternate depths (set y₁ or hold Q and sweep the gate to critical), and flow over a hump — watch the surface drop over the crest in subcritical flow, then raise Δz past E₁ − E_min and see the flow choke: crest locks at critical and the upstream level rises. Energy budget self-checks every frame.
LaunchHydraulic Jump 2D · offline
All five jump types with a live flume, roller turbulence, and the theory's core in one picture: paired E–y and M–y diagrams on a shared depth axis — the sequent depths sit on one vertical line of the M–y curve (momentum conserved, checked numerically every frame) while the E–y curve shows the h_L the roller destroys. Sweep Fr₁ from undular to strong and watch both diagrams move.
LaunchManning Uniform Flow & Normal Depth 2D · offline
Normal depth taught as a force balance: release a reach too shallow or too deep and watch real continuity + momentum equations drive it onto yₙ — the open-channel "terminal velocity" — with live gravity-vs-friction force arrows that equalize (τ₀P = ρgAS₀, self-checked). Normal and critical depth solvers, the yₙ(S₀) chart that explains mild/steep classification, and a critical-slope worked example.
LaunchGradually Varied Flow Profiles 2D · offline
The twelve classical profiles as what they really are — the phase portrait of one equation. A longitudinal reach is integrated by RK4 away from its control section while a linked dy/dx–versus–depth plot shows the same point riding the curve toward the zero of the numerator (yₙ, an attractor) or the pole of the denominator (y꜀, where the theory dies). One-click M1…A3 presets on a single channel, a family map, wave speeds V ± √(gD) explaining where the control sits, and the direct-step method drawn as a staircase that converges onto the exact profile as N grows.
LaunchAll animations run fully offline, with no installation and no
third-party host. Eight are single self-contained files. The two 3D laboratories
(Channel Geometry and Hydrostatic Force in Three Dimensions) additionally need the
animations/vendor/three/ folder kept alongside them — copy that folder too
if you are moving either file on its own.
Hydrology
Rainfall Frequency & IDF Curves 2D · offline
Raw gauge to design discharge on real data (Drumalbin, 27 yr hourly): slide the annual-maximum window, fit Gumbel by moments on probability paper, build the IDF family with a Sherman equation, then bridge to the rational method — Qₚ(D) peaks exactly at t꜀.
LaunchStorm Hydrograph 2D · offline
Watch a storm rain on a catchment and the stream rise, peak and recede — rising limb, lag time, baseflow separation and mass balance all computed live from a losses + linear-reservoir routing model, with an urbanization comparison.
LaunchUnit Hydrograph Workbench 2D · offline
The catchment as a linear system, in three modes: derive a UH from an observed storm (baseflow separation with a reconciliation check), predict a flood by superposition (stacked bands), and change duration with the S-curve — drag D′ and watch the UH morph while its volume stays exactly 1 cm.
LaunchIn final verification, released as they are confirmed: water balance, the rational method, and steady flow to a well. Also in development: weirs and sluice gates, channel transitions, Thiessen polygons, and unsteady well drawdown (Theis).
Physics integrity
Each animation is built to a strict rule: every displayed quantity is computed from the governing equation (continuity, energy, momentum, Manning, the unit-hydrograph and frequency-analysis relations), and results are verified by hand against worked examples before release. These are teaching instruments, not illustrations.
Use & citation
Free for teaching and research under the MIT License. If you use OpenHydroLab in teaching or a publication, please cite it:
Das, S. (2026). OpenHydroLab: interactive, physics-accurate animations for teaching hydraulics and hydrology (v1.0.2). Zenodo. https://doi.org/10.5281/zenodo.21665643
That is the version DOI, which always resolves to v1.0.2 exactly — use it when you need the release you actually ran. To cite the project as a whole, use the concept DOI 10.5281/zenodo.21635797, which always resolves to the newest release.