Volume-balance code check for single-deck pontoon roof buoyancy with center deck punctured and two adjacent pontoon compartments punctured, per API 650 / BS 2654
◉ HASSAN, H.M.K., "CODE CHECK FLOATING TANK ROOFS," HYDROCARBON PROCESSING, OCT 1992 · NOT A REGULATORY SUBMISSION TOOL
⚠ Indicative tool only. Source: a published, peer-reviewed method (H.M.K. Hassan, Abu Dhabi Marine Operating Co., Hydrocarbon Processing, Oct 1992), citing API 650 (1988) and BS 2654 (1989) directly — not the codes' own text. The full 18-equation volume-balance derivation was independently re-implemented here and verified to reproduce the article's own worked example (a 79.2m tank) to within normal hand-calculation rounding at every intermediate step, including the final pass/fail conclusion. This checks buoyancy at the single code-relevant position the article identifies — roof displaced to ho1 = X (the maximum acceptable immersion) at the mid-angle of the punctured compartments — which is sufficient for the pass/fail code check itself. It does not perform the separate multi-trial graphical procedure the article describes for finding the roof's actual steady-state resting position, which is a further analysis beyond the code check. Verify against your own copy of the article and the applicable code before using this for a real design decision.
Identification
Research entries stay private to you for practice/testing. Switch to Official once this is a real design your company should see.
Roof Geometry & Weight
Per the code design criteria: tank content specific gravity is fixed at 0.7 and two adjacent pontoon compartments are assumed punctured (N1=2), regardless of actual product stored — this is the code's own conservative check basis, not a site-specific input.
Result
Buoyancy Check Not evaluated
Immersed volume of punctured roof, Vr—
Emersed volume available, |Ve|—
Assumed roof displacement, ho1 = X—
Displacement at punctured compartments, ho2—
Passes when Vr < |Ve|: an uprighting couple dominates and the roof settles at an equilibrium with ho1 < X. Fails when Vr > |Ve|: an overturning couple persists and the roof does not have sufficient buoyancy to meet the code requirement at this position.