Just after I finished university and started working, a fellow graduate asked me how to calculate how long it would take to drain a tank. It’s fairly standard for most projects that we work on to have some kind of design criteria for how quickly a tank needs to be able to be drained for maintenance. I put together an quick spreadsheet to do an iterative time-step based calculation, which gave a perfectly acceptable answer… but it gnawed at me that it wasn’t completely correct.
So I did some calculus and came up with the equation below (for an atmospheric tank draining from height h_tank above the drain outlet:
For a tank to drain from height h_tank above the drain, down to a second level h_B above the drain, use the following:
The above equations use a combined loss coefficient k, which should include entry loss, valve friction loss, and pipe/bend friction losses on the drain nozzle.
Years later, and we were discussing the same problem for another project, I pulled out the equation, which I had stored away in my digital library. Then came the tricky bit… someone asked me how I came up with the equation, and to prove that it’s right…
Years out of university, and my maths isn’t as sharp as it was when I was a fresh graduate.
So, while on holiday recently, I had some downtime; I put up my feet, had a cup of tea, and did some maths. ahhhhhhh.
Shut up, it was fun.
So yes, while a google search can give you the basic equation for the time required to drain a tank, here’s a reference which:
- Shows the derivation (so you understand where it comes from and how to modify it to suit your needs),
- Tanks into account friction losses through valves and fittings, and
- Includes a formula that takes into account non-atmospheric pressure inside the tank.
You can check the PDF linked below if you care about draining non-atmospheric tanks.
Here’s a copy of the derivation for anyone who cares: Tank Draining, derivation
And here’s a copy of the spreadsheet that I used to check the equations against a numerical solution: tank draining verification