eureka
experiment 022 · nonlinear waves · solitons

KdV Solitons

The Korteweg–de Vries equation ut + 6u ux + uxxx = 0 was derived in 1895 to model shallow water waves. Its solutions include solitons — solitary waves that travel without changing shape and pass through each other as if nothing happened, emerging with only a position shift. This is a pseudospectral simulation integrating the exact PDE. Watch the faster soliton overtake the slower one, interact, and emerge intact. The x–t diagram below records the full history.

The Korteweg–de Vries equation

Derived by Korteweg and de Vries in 1895 to describe long shallow-water surface waves, the KdV equation is perhaps the most studied nonlinear PDE in mathematical physics:

$$ u_t + 6u u_x + u_{xxx} = 0 $$

The term 6u ux is nonlinear and tends to steepen the wave (like traffic bunching up). The term uxxx is dispersive and tends to spread the wave. Solitons arise because these two effects balance exactly for a specific family of travelling-wave solutions.

The exact soliton solution

For any speed c > 0, the one-soliton solution is:

$$ u(x, t) = \frac{c}{2} \operatorname{sech}^2\left(\frac{\sqrt{c}}{2}(x - ct - x_0)\right) $$

The amplitude is c/2 and the speed is c: faster solitons are taller and narrower. For the 2-soliton scenario: speeds are 4 and 1, amplitudes 2 and 0.5. The faster soliton starts behind, catches up, passes through, and ends ahead — with both waves fully intact.

Why solitons survive collisions

This is not obvious at all. The naive expectation is that nonlinear waves would distort and break each other. The reason solitons don't is that the KdV equation is completely integrable: it possesses infinitely many conserved quantities (mass, momentum, energy, and infinitely more). These conservation laws constrain the dynamics so tightly that the only outcome of a soliton collision is a phase shift. The exact N-soliton solution was found by Hirota (1971) using the bilinear method; earlier, Gardner, Greene, Kruskal, and Miura (1967) solved the initial-value problem exactly via the inverse scattering transform — the solitons are "eigenvalues" of an associated Schrödinger operator, and they are conserved by the time evolution.

Numerical method

The simulation uses a pseudospectral method: spatial derivatives are computed in Fourier space (where differentiation is exact multiplication by ), and the nonlinear term is evaluated in physical space. RK4 advances time. The 2/3-rule dealiasing removes aliasing errors from the nonlinear term. On a 512-point grid with Δt = 4×10⁻⁴, the dispersive stability condition |κ³max Δt| ≪ 1 is satisfied and the simulation is spectrally accurate.

← back to workshop