HuntsvilleEngineers mark

Horizontal Tank Volume

Partial-fill volume of a horizontal cylindrical tank from the dip level.

InputA = r²·cos⁻¹((r−h)/r) − (r−h)·√(2rh−h²) V = A·L

Your recent runs (stored only in your browser)

No calculations yet — results land here so you can compare runs.

The engineering

The exact circular-segment formula — no lookup tables, no polynomial fits. The one modeling assumption is a true cylinder with flat heads: real tanks with dished or elliptical heads hold a few percent more than this card shows, so treat the number as slightly conservative on fill and check the manufacturer's strapping chart for custody-transfer accuracy.

The geometry explains a familiar surprise: level and volume are far from proportional. At 25% of the diameter the tank holds under 20% of its volume, and near half-full a centimetre of level is worth the most litres it will ever be — which is why 'half a tank' drains faster at the ends than in the middle.

Where this math comes from

Gauging a lying-down barrel is an old and lucrative problem — excise duty depended on it. Johannes Kepler, annoyed by a wine merchant's crude dipstick at his own wedding, worked out barrel volumes properly in his 1615 Nova stereometria doliorum vinariorum, a book that helped invent integral calculus on the way to taxing wine fairly.

The petroleum age industrialized the answer: dip tapes, strapping tables, and eventually API's tank standards (the welded-tank rules first issued as API 12C in 1936) made 'how much is in the tank' a number two parties can sign. The segment formula on this card is what every strapping table tabulates.

  1. 250 BCEArchimedesAreas and volumes of curved figures — the segment's ancestry (circa).
  2. 1615Johannes KeplerNova stereometria — wine-barrel gauging done with proto-calculus.
  3. 1936API12C welded storage-tank standard; gauging becomes contractual (later API 650).

See the full timeline of the math behind every calculator →

Runs entirely in your browser — nothing you enter leaves this page. Your recent runs are stored only on your device.