Ship Hydrostatics & Stability
Why ships float upright — and when they don't. Learn Archimedes' principle, centres of buoyancy (B) and gravity (G), metacentre (M) and metacentric height GM, KB and BM for simple forms, the righting arm GZ and GZ curve, wall-sided formula, free-surface effect, inclining experiment, loading and weight shifts, trim and longitudinal stability, damage stability and IMO criteria — with Python for GM, GZ and free-surface correction.
A floating ship is pushed up by buoyancy acting at the centre of buoyancy B and pulled down by its weight at the centre of gravity G. When it heels, B moves outward; if the new buoyancy force passes outside G, it creates a righting moment that brings the ship back upright.
Stability calculations are among the most safety-critical in marine engineering: many capsizes (e.g. car ferries) came from reduced GM, free-surface effects or water on deck.
An analogy
A stable ship is like a weighted toy that always stands back up: its weight is low and its buoyancy shifts sideways when tipped. Load it high or let water slosh around inside and it becomes a spinning top ready to fall.
Floating and upright
Archimedes: a floating body displaces its own weight of water. Weight acts through G, buoyancy through B (centroid of the underwater volume). Upright, they are vertically aligned. Heeling shifts B towards the immersed side; the vertical through the new B meets the centreline at the metacentre M (for small angles). If M is above G (GM > 0), the ship is stable.
The GZ curve
The righting arm GZ versus heel angle summarises stability: initial slope equals GM, maximum GZ and the angle at which it occurs, range of stability (angle of vanishing stability), and area under the curve (dynamic stability — energy to heel). IMO Intact Stability Code criteria set minimum areas (e.g. 0.055 m·rad up to 30°), GZ ≥ 0.2 m at ≥ 30°, and GM ≥ 0.15 m.
Things that reduce stability
Watch out for:
- High loading (deck cargo, containers stacked high) — raises KG
- Free surfaces in slack tanks — virtual rise of G
- Water on deck, icing, suspended weights (cranes: weight acts at the jib head)
- Grounding and dry-docking — reaction force reduces effective GM
- Too much GM → violent, short-period rolling (uncomfortable, cargo damage)
Trim, damage and verification
Longitudinal stability (GM_L is large) controls trim: moment to change trim 1 cm (MCTC) gives trim from weight moves. Damage stability (SOLAS probabilistic method, subdivision index A ≥ R) ensures survival after flooding (lost buoyancy vs added weight methods). The inclining experiment determines the lightship KG; loading computers check stability, shear forces and bending moments for every loading condition.
Formulas
- Metacentric height:
GM = KB + BM − KG - Metacentric radius:
BM = I_T/∇; box: BM = B²/(12T) - Small-angle righting arm:
GZ ≈ GM·sin θ - Wall-sided formula:
GZ = sin θ·(GM + ½BM·tan²θ) - Righting moment:
RM = Δ·g·GZ - Free-surface correction:
FSC = ρ_tank·i_tank/Δ, i = l·b³/12 - Weight shift:
GG₁ = w·d/Δ; tan θ = GG₁/GM
Worked example: GM of a barge
Given: B 12 m, T 3 m, KG 4 m
Find: GM.
- KB 1.5, BM 144/36 = 4.0
- GM = 1.5 + 4.0 − 4.0
Answer: 1.5 m
Worked example: Weight shift heel
Given: Δ 2214 t, GM 1.5 m, 20 t moved 5 m to starboard
Find: List angle.
- GG₁ = 20 × 5/2214 = 0.045 m
- tan θ = 0.045/1.5
Answer: 1.7°
Worked example: Righting moment
Given: Δ 2214 t, GZ at 20° = 0.604 m
Find: RM.
- 2214 × 9.81 × 0.604
Answer: ≈ 13.1 MN·m
Barge stability and free-surface effect
import math
# Box-shaped barge: KB, BM, KG -> GM and righting arm (small angles and wall-sided formula)
L, B, T = 60.0, 12.0, 3.0
KG = 4.0
KB = T / 2
BM = B**2 / (12 * T)
GM = KB + BM - KG
print(f"KB {KB:.2f} m, BM {BM:.2f} m, GM {GM:.2f} m")
for deg in (5, 10, 20, 30):
th = math.radians(deg)
GZ = math.sin(th) * (GM + 0.5 * BM * math.tan(th) ** 2) # wall-sided formula
print(f"heel {deg:2d} deg: GZ = {GZ:.3f} m")
# Free-surface effect of a slack tank 10 m x 8 m (rho 1.0) on a 2214 t barge
disp = 1.025 * L * B * T
FSC = 1.0 * 10 * 8**3 / 12 / disp
print(f"displacement {disp:.0f} t, free-surface correction {FSC:.3f} m -> fluid GM {GM-FSC:.2f} m")
# KB 1.50 m, BM 4.00 m, GM 1.50 m
# heel 5 deg: GZ = 0.132 m
# heel 10 deg: GZ = 0.271 m
# heel 20 deg: GZ = 0.604 m
# heel 30 deg: GZ = 1.083 m
# displacement 2214 t, free-surface correction 0.193 m -> fluid GM 1.31 mA wide, shallow barge has a large BM (B²/12T), giving healthy GM. A single slack tank reduces effective GM by 0.19 m — liquid shifting to the low side acts as if G had risen. The wall-sided formula is valid only until the deck edge immerses or the bilge emerges.
Common mistakes
- Wrong: Ignoring free-surface effects. — Right: Apply FSC for every slack tank.
- Wrong: Using GM for large angles. — Right: Use the full GZ curve beyond ~10°.
- Wrong: Too much GM 'to be safe'. — Right: Excessive GM gives violent rolling.
Applications
- Loading computers: Every voyage's stability and strength check.
- Offshore lifts: Crane barges with suspended loads.
- Ferry safety: Damage stability after Estonia and Sewol.
- Design: Setting beam and depth for stability.
Key takeaways
- GM = KB + BM − KG > 0 for stability.
- GZ curve defines large-angle stability.
- Free surfaces and high weights reduce GM.
- Meet IMO intact and damage criteria.
Going further
- Cross curves (KN): GZ = KN − KG sin θ for any loading.
- Probabilistic damage stability: SOLAS attained index A.
- Parametric rolling: Dangerous resonance in head seas for container ships.