Tank sloshing — natural-period & resonance explorer

The fundamental sloshing natural period of a partially filled tank, from validated analytical theory across tank shapes. The normalized master curve collapses every size onto one dimensionless family; pick a shape to read real periods; and see how partial fill sweeps a tank into resonance with vessel roll — the coupling external diffraction (AQWA/OrcaWave) does not capture. Every value is a live hydrodynamics.sloshing evaluation.

Normalized master curve

Dimensionless sloshing frequency Ω₁ = ω₁√(Lc/g) vs fill / slenderness ratio h/Lc

Any tank of a given shape — any size — lies on its curve. Read Ω₁ off the curve at your fill ratio, then the real period is T = 2π√(Lc/g) / Ω₁. Deep-liquid asymptotes: rectangular √π = 1.77, upright cylinder √1.841 = 1.36 (×√2 on a diameter basis).

Horizontal-cylinder and elliptical curves use the equivalent-rectangle method (good to ~10–15% at mid fill; near-full and violent cases are where a VOF free-surface CFD run takes over).

Shape lookup

Real natural period for a specific tank

Fundamental period (½ full)—
Characteristic length Lc—
Aspect / fill ratio—
Fill fractionFundamental period T₁ (s)

Resonance screen — marine coupling

Partial-fill sloshing vs vessel roll (the ballast-tank / anti-roll case)

Cylindrical T₁—
Vessel roll—
tank
4 s8121620 s
Where CFD takes over. Analytical periods and the class-simplified screen above close most of a scope. Violent / high-fill / impact cases — and the coupled roll response of partially filled ballast tanks used as tuned/anti-roll tanks — are resolved with VOF free-surface CFD (OpenFOAM), feeding a reduced response back into the vessel roll time-domain model. This is the tiering behind the ballast-tank sloshing study. The red rings on the master curve above are the first rung of that ladder: measured 2D interFoam points that pin the rectangular curve to real free-surface CFD (see the CFD verification page).
Worldwide relationship basis

References

Built by scripts/capabilities/build_sloshing_explorer.py from src/digitalmodel/hydrodynamics/sloshing.py. — engine source →