Total capacity and liquid volume at a given level for a cylindrical tank with flat, 2:1 ellipsoidal, or hemispherical heads — vertical or horizontal.
Horizontal shell: V = L[R²·acos((R−h)/R) − (R−h)√(2Rh−h²)]
How it works
The tank splits into a cylindrical shell plus two heads. For a horizontal tank the liquid depth defines a circular segment in the shell and an ellipsoidal/spherical cap in the heads; for a vertical tank the level fills the bottom head, then the shell, then the top head. Each piece has a closed-form volume, so the total is exact — no numerical integration.
Worked example
A 2 m diameter × 5 m horizontal tank with 2:1 ellipsoidal heads, filled to 1 m (half the diameter). ≈ 8.90 m³ of liquid — exactly half the 17.80 m³ capacity, as expected at the centreline.
Inputs
Orientation
Head type
Inside diameter (m)
Straight shell length (m) — Tan-to-tan length of the cylindrical section (excludes the heads).
Liquid level (m) — Horizontal: liquid depth across the diameter. Vertical: height from the bottom of the lower head.
Frequently asked questions
What head types are supported?
Flat (adds no volume), 2:1 ellipsoidal (depth = D/4, the most common dished head), and hemispherical (depth = D/2). Both heads are assumed identical.
Is the straight length the overall length or the shell only?
Shell only — the tangent-to-tangent length of the cylindrical section. The heads are added on top, so a horizontal tank's overall length is L + 2×(head depth).
How is a partially filled horizontal tank calculated?
The shell contributes a circular-segment prism, V = L[R²·acos((R−h)/R) − (R−h)√(2Rh−h²)], and the two heads together contribute an ellipsoidal cap. Both are exact closed forms (Dan Jones, Chemical Processing 2002).
Does it handle strapping / dip measurements?
Yes — enter the measured liquid depth (horizontal) or level (vertical) and it returns the contained volume, which is exactly what a dip-stick or level transmitter reading maps to.
Assumptions
Both heads are identical (same type and depth).
2:1 ellipsoidal head depth = D/4; hemispherical depth = D/2; flat heads add no volume.
Straight length L is tangent-to-tangent (the cylindrical shell only); heads are added separately.
Vertical level is measured from the bottom of the lower head; horizontal level is liquid depth across the diameter.
References
Partial-volume closed forms for cylindrical tanks with dished heads — Jones, D. (2002), 'Computing Fluid Volumes in Horizontal & Vertical Tanks', Chemical Processing.
Horizontal-cylinder segment volume is the standard circular-segment integral.
Pipe Pressure Drop — Frictional ΔP and head loss for single-phase flow in a circular pipe (Darcy–Weisbach, Swamee–Jain friction factor).
Fittings Pressure Drop (K-factors) — Minor losses through elbows, tees, and valves by the ΣK excess-head method — the companion to straight-pipe friction.
Pipe Velocity & Reynolds — Line velocity, Reynolds number, and flow regime from flow rate and pipe inside diameter.
Friction Factor (Moody) — Darcy (and Fanning) friction factor from Reynolds number and relative roughness — Colebrook–White solved exactly, with the Swamee–Jain explicit fit for comparison.