Vertical Tank Volume Calculator

Liquid volume in a vertical cylindrical tank with a flat, conical, or 2:1 ellipsoidal bottom, from diameter, shell height, and liquid level.

When to use this calculator

Use to turn a level reading into a volume on a vertical vessel, and to work out how much of the contents sits below the shell in the bottom head. A flat-bottom tank is linear once you know the diameter, but a cone or a dished bottom is not — the first part of the level fills a shape whose cross-section is still growing, so early level readings correspond to far less volume than the shell rate implies. That region matters most: it is where pump-out, low-level trips, and residual heel live.

Required inputs

  • Bottom type — flat, cone, or 2:1 ellipsoidal
  • Diameter D and cylindrical shell height
  • Cone depth, or the included apex angle, for a conical bottom
  • Liquid level, measured from the lowest point of the tank

Expected outputs

  • Liquid volume and total capacity, in m³/litres or ft³/gallons
  • Fill percentage and remaining ullage
  • Total tank height including the heads
  • Fill curve of volume against level

Formula overview

Dimensions in m, mm, ft, or in; volume in m³ with litres, or ft³ with US gallons. The 2:1 option dishes both ends, so it adds a top head as well as a bottom one.

Bottom head depth b:
  flat        b = 0
  2:1 dished  b = D/4
  cone        b as entered, or b = (D/2) / tan(θ/2) from the apex angle

Cone bottom, filled to h from the apex:
  full     V = π·r²·b / 3
  partial  V = π·r²·h³ / (3·b²)

Semi-ellipsoidal bottom, filled to h from the pole:
  full     V = (2/3)·π·r²·b
  partial  V = π·r² · (h − (h−b)³/(3b²) − b/3)

Shell:  V = π·r²·H     Top head (2:1 only, from the junction up):
        V = π·r² · (y − y³/(3b²))

Worked example

D = 2.0 m, shell height 3.0 m, 2:1 ellipsoidal bottom, level 1.5 m
measured from the lowest point of the head:

b = D/4 = 0.5 m,  r = 1.0 m
Bottom head is fully covered (1.5 m > 0.5 m):
  V_head  = (2/3) × π × 1.0² × 0.5 = 1.047 m³
Shell filled to 1.5 − 0.5 = 1.0 m:
  V_shell = π × 1.0² × 1.0 = 3.142 m³
V_liquid  = 1.047 + 3.142 = 4.189 m³  (4 189 L)

Note the first 0.5 m of level holds only 1.047 m³, while the next
0.5 m of level in the shell holds 1.571 m³.

Common mistakes

  • Measuring level from the wrong datum. The tool measures from the lowest point of the tank, not from the cylinder-to-head junction — mixing the two shifts every reading by the full head depth.
  • Forgetting the bottom head volume entirely. A 2:1 head on a 2 m tank holds over a cubic metre before the shell sees any liquid at all, which is exactly the volume a low-level alarm is meant to protect.
  • Assuming a 2:1 head is D/2 deep. The 2:1 ratio is on the semi-axes, so the depth is D/4 — half of what the name suggests to most people the first time.

FAQ

tank volume
vertical tank
conical bottom
dished head
level

Learn

Related articles