NelworksNelworks
Engineering

Draining tank puzzle

A fluid-dynamics puzzle. Two tapered tanks hold the same water at the same depth — one narrows toward the top, one widens. Same drain hole. Which empties first? Guess, then let Torricelli's law settle it.

Two open-top tanks drain by gravity through an identical hole in the bottom. They hold the same volume of water at the same depth, and they're the same height. The only difference is the taper: Tank A narrows toward the top, Tank B widens toward the top.

Which empties first — A, B, or a tie?

Same water, same depth, same hole. Which empties first — A, B, or a tie? Guess, then press ▶.
A · narrows upward15.0 cmB · widens upward15.0 cmt = 0.0 s
Speed1×

Water height over time

Initializing chart component...

Discharge rate over time

Initializing chart component...

Volume drained over time

Initializing chart component...

Both volume curves climb to the same total (equal volume) — B just gets there in about half the time.

Don't press play just yet. Commit to an answer first — it's the only way to find out whether your intuition is any good. Ready? Then run the race.


Trust your gut

Most people, including plenty of engineers, say tie. The logic feels airtight: identical water, identical depth, identical hole. What could possibly break the symmetry?

That instinct treats the tank as a bucket of water — and a bucket's shape shouldn't matter if the amount is the same. But a draining tank isn't a bucket; it's a rate problem. The question isn't "how much water is there," it's "how fast does it leave at each moment" — and that turns out to depend on something the two tanks do not share.


Was it pressure, air, viscosity, or gravity?

When the tanks don't tie, the natural next move is to blame a physical force. Here are the usual suspects — and which ones actually decide the winner:

SuspectGuilty?Why
GravityIdentical for both. It sets the overall timescale, not who wins.
Air pressureBoth are open-topped, so atmospheric pressure cancels between the surface and the exiting jet. B's wider top feels more total force, but efflux is driven by pressure — and pressure at the hole depends only on depth, not surface area (the hydrostatic paradox).
Total volumeEqual by construction — that's the whole trick of the puzzle.
Hole sizeIdentical. A bigger hole drains both faster; it never changes the ratio.
Viscosity~A small correction only (the C_d ≈ 0.6 fudge). It slows both; it doesn't pick a winner.
Water pressure (depth)The hidden driver: how fast water leaves depends on the depth above the hole, not the width.
Where the volume sits (taper)The real culprit: whether your water is stacked high or spread low decides everything.

Two suspects survive — and they're the two the "it's a tie" instinct ignores. The winner is decided by the interaction between them: how fast water leaves at a given depth, times how much water is sitting at that depth.


The one law that decides it

The speed of water leaving the hole depends only on how much water is stacked above it:

v = C_d · √(2·g·h)

That's Torricelli's law — it falls straight out of Bernoulli's equation (the pressure of a column of height h turned into velocity). C_d is the discharge coefficient, a ~0.6 fudge that corrects the ideal result for the real, viscous jet contracting as it leaves.

Volume flow rate is that speed times the hole area:

Q = C_d · A_hole · √(2·g·h)

The crucial part is the square root. Flow rate rides on √h, so it collapses as the tank empties:

Drop the water to ¼ of its starting depth and the flow rate is only ½ of its starting value. The last stretch is agonizingly slow.

So the drain is fast when the water is deep and slow when it's shallow — no matter how wide the tank is at that level. Now the puzzle has teeth: a smart tank keeps its water deep for as long as possible.

Why width doesn't add pressure — the hydrostatic paradox. The push at the drain is ρg·h: it depends only on the depth above the hole, not on the width or how much water sits up top. Fill a wide tank and a skinny one to the same depth and the floor feels the same pressure — the extra weight in the wide one is carried by its walls, not the drain. That's why "more water / more surface area" never wins the race; only depth drives the flow.

same water depthP = ρghwide · more waterP = ρghskinny · less water

Same depth → same pressure at the drain, no matter the width or how much water sits above.


The verdict

Run the sim to the end (or read the two curves): the tank that widens toward the top drains about twice as fast.

  • The fast tank widens upward, so most of its water sits high, and gets flushed while the flow is strong. Watch its discharge curve stay high — then it's simply done. Its level barely moves at first (wide cross-section), which keeps the water deep and the flow fierce.
  • The slow tank narrows upward. Its skinny top empties in seconds — little volume, high flow — but that just uncovers a fat bottom full of water that has to bleed out at the weakest flow rate. Its discharge drops early and then it dribbles on and on.

Same water, same hole. One tank spends its volume while the drain is strong; the other saves it for when the drain is weak. That's the entire difference — and it's worth a clean ~2×.


The maths behind it

Conservation of volume ties the falling level to the outflow. For a tank whose cross-section area is A(h) at height h:

A(h) · dh/dt  =  −Q  =  −C_d · A_hole · √(2·g·h)

  ⇒   dh/dt  =  −C_d · A_hole · √(2·g·h) / A(h)

The simulator integrates exactly this ODE for both tanks (a small forward step in time, thousands of times). The total drain time is

T  =  ∫₀ᴴ   A(h) / ( C_d · A_hole · √(2·g·h) )   dh

which weights each slice by A(h) / √h — the expensive slices are the ones that are wide (big A) and low (small h). That's the slow tank's fat bottom exactly. For a linear taper the integral has a closed form; for two mirror-image cones it lands right around a 2× ratio — the same clean number a physical 3D-printed pair produces.


Who should care, and how to think about it

This is the canonical variable-area draining tank problem — a staple of a first fluids course precisely because it separates two intuitions beginners conflate: "how much water" (volume) and "how fast it leaves" (flow rate). Outflow is set by Torricelli at the orifice; geometry enters only through A(h) in the continuity equation.

Honest simplifications: a single C_d (real C_d drifts a little with Reynolds number and head), quasi-steady flow (free-surface velocity negligible vs. the jet — valid when the tank ≫ the hole), and no vena-contracta start-up transient. None touch the qualitative result. Push taper to exaggerate the shapes and the gap grows; flatten it to 1.0 (cylinders) and both times converge.

Under the hood: a 1-D ODE integrated with a fixed forward-Euler step (dh/dt = -Cd·A_hole·√(2gh)/A(h)), run to h ≈ 0 per tank, then downsampled for the two plots. The SVG interpolates the precomputed height arrays against a wall-clock cursor — physics is solved once per parameter change, not per frame, so it stays smooth.

The numerical wrinkle is the √h term: as h → 0 the step stays well-behaved (the rate vanishes) but the time stretches out, so "stop when h == 0" never fires — you stop at an epsilon. A tidy motivation for adaptive time-stepping.

Forget the equations. The drain is like a queue that moves fastest when it's long and crawls when it's nearly gone — quick when the tank is full, sluggish when it's almost empty.

So the winning tank keeps the water piled high as long as it can, dumping most of it while the drain is still quick. That's the tank that's wide at the top. The other one blows through its narrow top in seconds, then has to slowly bleed a wide puddle at the bottom while the drain is at its weakest. Same water — very different patience required.


Reading the controls

ControlWhat it does
Start race / Pause / ReplayRun, freeze, or restart the head-to-head drain (it does not autoplay — guess first)
SpeedTime multiplier for the animation (the physics is unchanged)
Drain hole ⌀Orifice diameter — a bigger hole drains both faster, but the ratio barely moves
Discharge coeff. C_dThe viscous correction (~0.6 real, 1.0 ideal); scales both drain times together
Taper (A top / bottom)How extreme the cones are. 1.0 = cylinders (tie); smaller = a more dramatic gap
Water height over timeThe two drain curves — one plunges early and finishes; one has a long flat tail
Discharge rate over timeFlow Q per second — the winner sustains a high discharge; the loser drops early then trickles

Glossary

TermDefinition
Torricelli's lawEfflux speed from an orifice, v = √(2gh) — the same speed as an object dropped from height h
Discharge coefficient (C_d)Empirical factor (~0.6) correcting ideal flow for the contracting jet and viscous losses
Discharge / flow rate (Q)Volume leaving per second, Q = C_d · A_hole · √(2gh)
ContinuityVolume is conserved: the level falls at exactly the rate water leaves the hole
Vena contractaThe narrowest point of the exiting jet, just downstream of the hole — why C_d < 1
Quasi-steadyTreating the flow as momentarily steady at each instant — valid when the tank ≫ the hole

Sources and further reading

  • Torricelli's law and its Bernoulli derivation — any introductory fluid-mechanics text (e.g. White, Fluid Mechanics)
  • The physical demonstration this reproduces: two 3D-printed 15 cm tanks with 9 mm drain holes, measured drain times ~28 s vs ~57 s → ratio ≈ 2.0, matching the closed-form 2.04
  • The natural next step is the analytic solution of the draining ODE for an arbitrary A(h) — a tidy separable differential equation