Horizontal Tank Volume Calculator

Liquid volume in a partially filled horizontal cylinder, sphere, or cylinder with 2:1 elliptical heads, from diameter, length, and liquid height.

When to use this calculator

Use whenever a dip reading has to become a volume on a horizontal vessel — inventory reconciliation, batch make-up, spill containment, or checking how much is left before a transfer. Volume does not vary linearly with level on a horizontal tank, so reading a percentage off the dip and multiplying by capacity is wrong everywhere except exactly half full. Three geometries are covered: a plain horizontal cylinder with flat ends, a sphere, and a horizontal cylinder closed by two 2:1 elliptical heads, which is the usual bullet or receiver.

Required inputs

  • Shape — horizontal cylinder, sphere, or cylinder with 2:1 elliptical heads
  • Diameter D and length L (length is not used for a sphere)
  • Liquid height h, measured from the lowest point of the shell
  • Liquid density, for the mass equivalent

Expected outputs

  • Liquid volume, in m³ and litres or ft³ and US gallons
  • Total capacity, fill percentage, and remaining ullage
  • Liquid mass at the entered density
  • Fill curve of volume against level, with the current point marked

Formula overview

Dimensions accepted in m, mm, ft, or in. SI output is m³ with litres; imperial output is ft³ with US gallons. Liquid height is clamped to the range 0 ≤ h ≤ D.

Horizontal cylinder — circular segment area × length:
  A = R²·acos((R−h)/R) − (R−h)·√(2Rh − h²)
  V = A · L

Sphere — spherical cap:
  V = (π/3) · h² · (3D/2 − h)

2:1 elliptical head, each end:
  V = D³ · 0.5 · (π/12) · (3r² − 2r³),   r = h/D
  V_total = V_cylinder + 2 · V_head

Worked example

Horizontal cylinder, D = 2.0 m, L = 5.0 m, dip h = 1.0 m (half full):

R = 1.0 m,  (R − h) = 0
A = 1.0² × acos(0) − 0 × √(2×1×1 − 1²)
  = 1.0 × 1.5708 = 1.5708 m²
V = 1.5708 × 5.0 = 7.854 m³  (7 854 L)

Capacity = π × 1.0² × 5.0 = 15.708 m³ → 50.0% full,
ullage 7.854 m³. At h = 0.5 m the volume is only 3.08 m³ — 19.6%,
not the 25% a linear reading would suggest.

Common mistakes

  • Interpolating volume linearly from the dip. A horizontal tank fills slowly at the bottom, quickly through the middle, and slowly again at the top — linear interpolation over-reads near the bottom and under-reads near the top by a wide margin.
  • Ignoring the heads. Two 2:1 elliptical heads on a 2 m tank add about 2.1 m³ of capacity, which is a large fraction of a short vessel and shows up directly as a reconciliation error.
  • Using the outside diameter. Wall thickness and any internal lining come off the capacity, so work from the inside diameter — and remember a real tank also has deadwood such as internal piping and heating coils.

FAQ

tank volume
horizontal tank
dip level
ullage
inventory

Learn

Related articles