Obround Tank (275/330 Oil Profile) volume formula
Total volume, exact partial fill, derivation, worked example and a copy-ready fill table.
V = (πR² + W·S)·L, R=W/2, S=Ht−Wh≤R: A=seg(R,h) | R<h≤R+S: A=½πR²+W(h−R) | h>R+S: A=πR²+WS−seg(R,Ht−h)seg(r,h) = r²·acos((r−h)/r) − (r−h)·√(2rh−h²). All closed-form — spreadsheet-implementable with ACOS and SQRT.Derivation
Flat sides with semicircular top and bottom — the real cross-section of standard heating oil tanks. The fill solves piecewise: a circular segment through the bottom dome, linear through the straight-walled middle, and total-minus-top-segment in the upper dome. Continuity at both junctions is enforced by our test suite, and the curve reproduces the Highland Tank gauge book within 2–3%.
Worked example
Take W = 27 in, Ht = 44 in, L = 60 in. Total capacity: 267.9 gal. At a stick reading of 17.6 in (40% of the 44 in maximum depth), the filled volume is 103.1 gal — 38.5% of capacity. Check it live on the calculator.
| Depth | Volume |
|---|---|
| 5% | 2.1% |
| 10% | 5.9% |
| 15% | 10.5% |
| 20% | 15.7% |
| 25% | 21.2% |
| 30% | 27% |
| 35% | 32.7% |
| 40% | 38.5% |
| 45% | 44.2% |
| 50% | 50% |
| 55% | 55.8% |
| 60% | 61.5% |
| 65% | 67.3% |
| 70% | 73% |
| 75% | 78.8% |
| 80% | 84.3% |
| 85% | 89.5% |
| 90% | 94.1% |
| 95% | 97.9% |
Need the full inch-by-inch table for specific dimensions? The dip chart generator prints it as a laminate-ready PDF.
FAQ
What is the formula for a obround tank (275/330 oil profile) volume?
Total: V = (πR² + W·S)·L, R=W/2, S=Ht−W. Partial fill at depth h: h≤R: A=seg(R,h) | R<h≤R+S: A=½πR²+W(h−R) | h>R+S: A=πR²+WS−seg(R,Ht−h). Derivation and a worked example are above.
Is the fill-ratio table exact?
Yes — computed by the same engine as our calculators (the standard 275/330 profile (27″ × 44″ section)), verified by the automated test suite described on the methodology page.
Can I use this in a spreadsheet?
Yes — the formulas are closed-form (acos and sqrt only). Copy the 5%-step table for quick interpolation, or implement the formula directly for exact values.