Wave dispersion · JONSWAP spectrum · Ship heave · Sea state · Swell propagation
Model ocean surface waves from deep-water dispersion to shallow-water breaking. See how swell travels thousands of km, how waves interact with a ship hull, and calculate sea state from the JONSWAP wave spectrum.
The dispersion relation ω² = gk·tanh(kd) connects wave frequency to wavenumber and depth. In deep water (d ≫ λ/2): phase speed c = √(g/k), group speed cg = c/2. In shallow water (d ≪ λ/20): c = √(gd), cg = c. Longer waves travel faster — this is why swell from distant storms arrives as long, smooth waves before the short choppy waves from nearby wind.
The JONSWAP (Joint North Sea Wave Project) spectrum S(f) = αg²/(2πf)&sup5;·exp(−5/4·(f_p/f)⁴)·γ^(exp) describes the energy distribution of wind-generated seas. The peak frequency f_p determines the dominant wave period. The significant wave height Hₛ ≈ 4√(m₀) where m₀ is the zeroth spectral moment.
A ship in waves behaves as a spring-mass-damper: z̈ + 2ζω_n·ż + ω_n²·z = F_wave/m. Resonance occurs when the ship's natural heave period T_ship ≈ T_wave, leading to large motions even in moderate seas. For a 100m ship, the natural period ≈ 8–12s. Naval architects tune this away from typical peak wave periods.
Use the presets to set sea state from Calm to Storm. Adjust significant wave height Hₛ, peak period, water depth, and ship length. Watch the animated wave profile and ship heave. The spectrum chart (lower half) shows the JONSWAP energy distribution. Check the Resonance indicator — it turns red when the ship period is close to the peak wave period.
This simulator sums five wave harmonics into an irregular sea surface, solves the full dispersion relation ω² = gk·tanh(kd) by Newton iteration to get exact wavelength and speed at any depth, and derives sea state directly from a JONSWAP spectrum, the same model oceanographers use to describe wind-driven seas. A ship hull riding the surface heaves and rolls in sync with wave period, and the Resonance indicator turns red exactly when the ship's natural heave period lines up dangerously with the dominant wave period — a real hazard naval architects design against.
An animated ocean surface built from summed wave harmonics with a ship riding it realistically (heaving and rolling), plus a JONSWAP energy spectrum panel below showing exactly which frequencies dominate the sea state and where the peak frequency fp sits.
Adjust significant wave height Hs, peak period Tp, water depth and ship length, or jump to a preset (Calm, Moderate, Rough, Storm) to see wavelength, phase speed, group speed, ship heave, sea state and the resonance warning update live.
Long swell from a distant storm always outruns the choppy wind-sea near its source, because group speed in deep water scales with wavelength — longer waves carry energy faster, which is why the smooth rolling swell hitting a coast often arrives well before the storm that generated it does.
It's the equation ω² = gk·tanh(kd) linking a wave's frequency to its wavenumber and the water depth. It explains why longer waves travel faster in deep water, and why all waves converge to the same shallow-water speed √(gd) as they approach a beach.
It's a statistical model describing how wave energy is distributed across frequencies in a wind-generated sea, developed from measurements during the Joint North Sea Wave Project. Its peak frequency fp sets the dominant wave period, and integrating the whole spectrum gives the significant wave height Hs.
A ship behaves like a spring-mass-damper system with its own natural heave period. If that period matches the dominant wave period, the ship's vertical motion can amplify dramatically even in moderate seas — this simulation's "Resonance" indicator flags exactly this dangerous match.
In deep water, group speed (the speed energy actually travels at) is proportional to wavelength, so the longest waves generated by a distant storm outrun the shorter, choppier waves and arrive at a coast first — often days ahead of the storm itself.
In deep water (depth much greater than half the wavelength), waves don't feel the seabed and travel at √(g/k). In shallow water (depth much less than a twentieth of the wavelength), the seabed controls speed directly via √(gd) — this is why waves slow down and steepen as they approach a beach.