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:

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

Worked example: GM of a barge

Given: B 12 m, T 3 m, KG 4 m

Find: GM.

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.

Answer: 1.7°

Worked example: Righting moment

Given: Δ 2214 t, GZ at 20° = 0.604 m

Find: RM.

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 m

A 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

Applications

Key takeaways

Going further