Phyein Usul← All simulations

Fig. 5 · fluid dynamics · particle motion

Circular Water Waves.

As a crest passes, each parcel of water traces a small circle and comes back where it started. The circles shrink quickly with depth.

Fig. 5 · linear deep-water wave · orbits of radius \(a\,e^{kz}\) c = —

Lecture note · Fig. 5 · fluid dynamics

Deep-water waves: the sea moves in circles

Numa Koudsie · for school students and first- and second-year undergraduates

Abstract. A gull resting on the sea rises and falls, slides forward and back, and is not carried away by the waves. This note explains that motion from three properties of water: it cannot be squeezed, it has almost no friction, and it does not spin. From them follow Laplace’s equation for the flow, the conditions the flow must meet at the surface, and the deep-water dispersion relation \(\omega^2 = gk\), which is the reason long swells outrun short waves. We then follow single parcels of water around circles that shrink with depth as \(e^{kz}\), measure the slow forward Stokes drift that the circles hide, and show how the page turns the formulas into the moving picture above. Every number in the note was computed from the page’s own formulas and default settings. Sections marked ★ carry the heavier mathematics and can be skipped on a first reading without losing the thread.

01A gull on the swell

Watch a gull resting on the sea beyond the breakers. A swell lifts it, carries it a little forward, lowers it into the trough and carries it back. When the wave has passed, the gull is almost exactly where it was.

A floating bottle does the same, and so does the water itself. The wave that runs towards the shore is a pattern of motion handed on from water to water, not a current. If it were a current, the sea would pile up on every beach. What the wave does carry is energy: energy that a storm put into the sea hundreds or thousands of kilometres away.

Two more facts are familiar to anyone who swims or dives. A diver five metres down hardly notices short, choppy waves overhead, yet still feels the slow back-and-forth surge of a long ocean swell. And long waves are fast: after a distant storm, the first waves to reach the coast are the longest ones, with the longest periods, and the shorter ones follow hours or days later.

All three facts follow from one model: water without friction, moved by gravity alone, in waves that are low compared with their length. This note builds the model, solves it, and follows it all the way to the circling dots in the figure above, where every dot is a parcel of water and the burgundy column follows one vertical line of parcels from the surface down.

02The model

Take the crests to be long and straight, like a swell rolling in parallel lines, so that nothing changes along them. Two coordinates are then enough: \(x\) horizontal, in the direction the wave travels, and \(z\) vertical, pointing up, with \(z = 0\) at the calm surface. The water fills the region \(z < \eta(x,t)\), where \(\eta\) is the height of the surface above its calm level (Figure 1). The velocity of the water at a point is \(\mathbf{u} = (u, w)\), with \(u\) horizontal and \(w\) vertical.

A wave is described by its wavelength \(\lambda\), the distance from crest to crest, and its amplitude \(a\), the height of a crest above the calm level. It is convenient to use the wave number \(k = 2\pi/\lambda\) in place of \(\lambda\), and the angular frequency \(\omega = 2\pi f = 2\pi/T\) in place of the frequency \(f\) or the period \(T\). The page’s default wave has \(\lambda = 260\ \mathrm{px} = 2.6\ \mathrm{m}\) (the drawing uses \(100\ \mathrm{px} = 1\ \mathrm{m}\)), so \(k = 2.42\ \mathrm{rad/m}\), and \(a = 24\ \mathrm{px} = 0.24\ \mathrm{m}\). Gravity is \(g = 9.81\ \mathrm{m/s^2}\). The model keeps only what matters for waves of this size:

  • Water is incompressible: its density \(\rho\) is the same everywhere.
  • Water is inviscid: it has no internal friction.
  • The flow is irrotational: no small parcel of water spins (Section 03 gives the reason).
  • The wave is small: \(a\) is much less than \(\lambda\), or \(ak \ll 1\). This is linear theory, also called Airy theory.
  • The water is deep: the bottom lies more than about half a wavelength down.
  • Gravity and pressure are the only forces: no surface tension, no wind, no current.
aω crest trough λ a η(x, t) z = 0 z = z0 r = a ekz0 c the wave travels g ∇2φ = 0 in the water ∇φ → 0 as z → −∞ x z
Figure 1The model. The wave travels to the right at speed \(c\); the calm surface is the line \(z = 0\) and the moving surface is \(\eta(x,t)\). Dashed circles are the paths of water parcels at three depths, in four columns a quarter wavelength apart; dots show where the parcels are at this instant, and arrows how the surface parcels move: forward under the crest, backward under the trough, up ahead of the crest and down behind it. Each step of \(\lambda/6\) in depth shrinks the circles by a factor \(e^{\pi/3} = 2.85\). The surface is drawn as the page draws it, at \(ak = 0.59\), close to the page’s default. The two labels in the water are Laplace’s equation (4) and the deep-water condition (9), met in Sections 03 and 04.

One warning before the mathematics. The circles in Figure 1, and on the page, are what this small-wave theory gives to first order: a parcel’s horizontal and vertical swings are a quarter cycle apart and add up to a circle of radius \(a e^{kz_0}\), where \(z_0\) is the height at which the parcel rests in calm water, negative below the surface (Section 06 derives it). The page’s default steepness, \(ak = 0.58\), is not small at all; it exaggerates the motion so that you can see it. For numbers to compare with the sea, keep \(ak \ll 1\). Section 07 adds the slow forward drift that the closed circles leave out, and Section 6.2 compares Gerstner’s exact wave, whose water spins.

There are two unknowns: the shape of the surface, \(\eta(x,t)\), and the flow beneath it, \(\mathbf{u}(x,z,t)\). Each must be found together with the other, because the flow moves the surface and the surface, through its weight, drives the flow.

03Potential flow: Laplace’s equation

Two properties of water turn the flow into a single, well-behaved equation.

The first is incompressibility. Imagine a small box in the water, \(\delta x\) wide and \(\delta z\) high. Water flows in through some faces and out through others; since none can be stored or squeezed, the net flow out must be zero. The flow out through the right face exceeds the flow in through the left face by \(\tfrac{\partial u}{\partial x}\,\delta x\,\delta z\) per unit length of crest, and the top and bottom faces contribute \(\tfrac{\partial w}{\partial z}\,\delta x\,\delta z\), so

\[ \frac{\partial u}{\partial x} + \frac{\partial w}{\partial z} = 0 . \tag{1} \]

The second is the absence of spin. The spin of a small parcel of water is measured by its vorticity, \(\partial u/\partial z - \partial w/\partial x\), twice its angular velocity (the sign follows the orientation of the \(x\) and \(z\) axes). Think of what could set a parcel spinning. Pressure pushes on every bit of its surface, straight inwards; when the density is the same everywhere, the net push acts through the parcel’s centre of mass and turns nothing. Gravity pulls at that same centre. Only friction between neighbouring parcels could twist it, and an inviscid fluid has none. So a parcel without spin keeps none. This is Kelvin’s circulation theorem: for a fluid of constant density and no viscosity, under a force with a potential, as gravity is, the circulation round any loop of water particles stays what it was. A sea that was calm before the wave arrived therefore stays without spin as long as the flow is smooth, and that gives

\[ \frac{\partial u}{\partial z} - \frac{\partial w}{\partial x} = 0 . \tag{2} \]

Equation (2) holds automatically if both velocity components are slopes of a single function \(\phi(x,z,t)\), the velocity potential:

\[ u = \frac{\partial\phi}{\partial x}, \qquad w = \frac{\partial\phi}{\partial z} , \tag{3} \]

because then \(\partial u/\partial z\) and \(\partial w/\partial x\) are both equal to \(\partial^2\phi/\partial x\,\partial z\). The velocity points up the steepest slope of \(\phi\), and its size is that slope. Putting (3) into (1) gives Laplace’s equation:

\[ \frac{\partial^2\phi}{\partial x^2} + \frac{\partial^2\phi}{\partial z^2} = 0 \qquad \text{for } z < \eta(x,t) . \tag{4} \]

One unknown function now replaces two, and it obeys the same equation as the electric potential in empty space or the temperature in a slab that conducts heat steadily. Solutions of Laplace’s equation are as smooth as functions can be: the value of \(\phi\) at any point is the average of its values on any circle drawn around that point inside the water. A flow that obeys (4) therefore has no hidden bumps; everything inside the water is fixed by what happens at its edges.

04Three conditions at the edges★

Laplace’s equation alone allows countless flows. The moving surface and the still water far below pick out the one that belongs to a wave, and all of the gravity in the problem enters here.

4.1The surface moves with the water

The surface is made of water, so a parcel on the surface stays on the surface. Its height and the height of the surface beneath it must therefore change at the same rate. The parcel rises at speed \(w\). The surface under it rises at the rate \(\partial\eta/\partial t\), plus \(u\,\partial\eta/\partial x\), because the parcel also slides sideways along the slope. This is the kinematic condition:

\[ \frac{\partial\eta}{\partial t} + u\,\frac{\partial\eta}{\partial x} = w \qquad \text{at } z = \eta . \tag{5} \]

For a small wave two simplifications are allowed. The term \(u\,\partial\eta/\partial x\) is the product of a parcel speed, of order \(a\omega\), and a slope, of order \(ak\); it is \(ak\) times smaller than \(\partial\eta/\partial t\), which is of order \(a\omega\), and we drop it. And \(w\) may be taken at the calm level \(z = 0\) instead of at the moving surface: by Taylor’s theorem \(w(\eta) = w(0) + \eta\,\partial w/\partial z + \dots\), and the correction is again \(ak\) times smaller. With (3), what remains is

\[ \frac{\partial\eta}{\partial t} = \frac{\partial\phi}{\partial z} \qquad \text{at } z = 0 . \tag{6} \]

4.2The pressure at the surface is the air’s

Newton’s second law for the water, per unit volume, reads \(\rho\,\mathrm{D}\mathbf{u}/\mathrm{D}t = -\nabla p - \rho g\,\hat{\mathbf{z}}\): the pressure \(p\) pushes from high to low, and gravity pulls down. Here \(\mathrm{D}/\mathrm{D}t = \partial/\partial t + \mathbf{u}\cdot\nabla\) is the rate of change seen by a moving parcel. For an irrotational flow the identity \((\mathbf{u}\cdot\nabla)\,\mathbf{u} = \nabla\bigl(\tfrac12|\mathbf{u}|^2\bigr)\) holds, and with \(\mathbf{u} = \nabla\phi\) every term becomes a gradient:

\[ \nabla\left[ \frac{\partial\phi}{\partial t} + \tfrac12|\nabla\phi|^2 + \frac{p}{\rho} + g z \right] = 0 . \tag{7} \]

The bracket therefore has the same value everywhere in the water at a given moment. This is Bernoulli’s equation for unsteady flow. The value it takes can depend on time, but that dependence can be absorbed into \(\phi\) without changing any velocity. At the surface the pressure is the air pressure, which we take as constant and absorb in the same way. Dropping the small term \(\tfrac12|\nabla\phi|^2\), of order \((a\omega)^2\), and again moving the condition from \(z = \eta\) to \(z = 0\) (the bracket is taken at the surface, so its \(gz\) becomes \(g\eta\)), leaves the dynamic condition

\[ \frac{\partial\phi}{\partial t} + g\,\eta = 0 \qquad \text{at } z = 0 . \tag{8} \]

This is where gravity enters: a raised surface means extra weight on the water beneath it.

4.3Deep water stays still

\[ \nabla\phi \to 0 \qquad \text{as } z \to -\infty . \tag{9} \]

In practice “infinitely deep” means deeper than about half a wavelength; Section 10 measures how good that is.

05Gravity sets the pace: the dispersion relation

5.1A travelling wave

Look for a wave of a single wavelength that travels without changing shape:

\[ \eta = a\cos(kx - \omega t) . \tag{10} \]

A crest sits where \(kx - \omega t = 0\), that is at \(x = (\omega/k)\,t\), so the crests move at the speed \(\omega/k\). Condition (6) needs \(\partial\phi/\partial z\) to vary like \(\partial\eta/\partial t\), which is proportional to \(\sin(kx - \omega t)\), so we try \(\phi = Z(z)\sin(kx - \omega t)\). Laplace’s equation (4) then requires \(Z'' - k^2 Z = 0\), whose solutions are

\[ Z(z) = A\,e^{kz} + B\,e^{-kz} . \tag{11} \]

Below the surface \(z\) is negative, so \(e^{-kz}\) grows without bound with depth; condition (9) forbids it, and \(B = 0\). The kinematic condition (6) reads \(a\omega\sin(kx - \omega t) = kA\sin(kx - \omega t)\), so \(A = a\omega/k\) and

\[ \phi = \frac{a\omega}{k}\,e^{kz}\sin(kx - \omega t) . \tag{12} \]

The factor \(e^{kz}\) was not put in by hand. Laplace’s equation forces it: a pattern that repeats every \(\lambda\) along \(x\) must die away over a depth of about \(\lambda/2\pi\).

5.2The dispersion relation

Only the dynamic condition (8) is left. At \(z = 0\), \(\partial\phi/\partial t = -(a\omega^2/k)\cos(kx - \omega t)\), and (8) becomes \(\left(g - \omega^2/k\right)a\cos(kx - \omega t) = 0\) for every \(x\) and \(t\). The wave exists only if the bracket vanishes.

The deep-water dispersion relation \[ \omega^2 = g k . \tag{13} \]

Frequency and wavelength are not independent: gravity fixes how fast a wave of a given length must oscillate, and the amplitude drops out. For the page’s default \(\lambda = 2.6\ \mathrm{m}\), \(\omega = 4.87\ \mathrm{rad/s}\) and \(f = 0.775\ \mathrm{Hz}\).

There is a simple picture behind (13). Under a crest the water carries the weight of the hump above it; under a trough it carries less. The pressure therefore falls from crest to trough, and by (7) and (8) the horizontal push it gives the water at the surface is, per kilogram, \(g\) times the slope of the surface, at most \(g\,ak\). That push keeps the surface water moving on its circle of radius \(a\) (Section 06), which needs an acceleration \(a\omega^2\). Setting \(a\omega^2 = g\,ak\) gives (13). At the page’s default, \(ak = 0.58\), so the surface water accelerates at \(0.58\,g\).

5.3Long waves are fast

From (13), the speed of the crests and the period are

\[ \begin{aligned} c &= \frac{\omega}{k} = \sqrt{\frac{g}{k}} = \sqrt{\frac{g\lambda}{2\pi}}, \\ T &= \frac{2\pi}{\omega} = \sqrt{\frac{2\pi\lambda}{g}} . \end{aligned} \tag{14} \]

Waves whose speed depends on their wavelength are called dispersive: a mixture of wavelengths spreads out as it travels, sorted by length. Deep-water waves are strongly dispersive. The page’s default wave, \(\lambda = 2.6\ \mathrm{m}\), runs at \(c = 2.01\ \mathrm{m/s}\) with period \(T = 1.29\ \mathrm{s}\); an ocean swell of \(100\ \mathrm{m}\) runs at \(12.5\ \mathrm{m/s}\) with a period of \(8.0\ \mathrm{s}\).

Energy does not travel at \(c\). A real wave train is a group: a few crests that grow and then shrink. The simplest group is two waves of equal height whose wave numbers differ a little, \(k \pm \delta k\), with frequencies \(\omega \pm \delta\omega\). Added together they give \(2a\cos(\delta k\,x - \delta\omega\,t)\,\cos(kx - \omega t)\): the second factor is the crests, running at \(\omega/k\); the first is a slow envelope that swells and fades along the train and runs at \(\delta\omega/\delta k\). Let the two waves draw together and that ratio becomes a derivative: the group, and with it the energy, which sits where the waves are high, moves at the group velocity

\[ c_g = \frac{\mathrm{d}\omega}{\mathrm{d}k} = \frac12\sqrt{\frac{g}{k}} = \frac{c}{2} . \tag{15} \]

Each crest therefore runs through its group at twice the group’s speed: it appears at the rear, grows as it moves forward, and fades away at the front. The group velocity also sets the arrival times after a storm. From a storm \(2000\ \mathrm{km}\) away, swell with a period of \(16\ \mathrm{s}\) (\(\lambda = 400\ \mathrm{m}\)) travels at \(c_g = 12.5\ \mathrm{m/s}\) and arrives after about 44 hours; swell with a period of \(8\ \mathrm{s}\) (\(\lambda = 100\ \mathrm{m}\)) travels at \(6.25\ \mathrm{m/s}\) and needs about 89 hours. The long, slow-rolling swell comes first. The table collects these speeds, all from (14) and (15).

wave\(\lambda\) (m)\(T\) (s)\(c\) (m/s)\(c_g\) (m/s)
page, shortest1.20.881.370.68
page, default2.61.292.011.01
page, longest4.01.602.501.25
wind waves102.533.951.98
ocean swell1008.0012.56.25
long swell40016.025.012.5
0 1 2 3 0 1 2 3 4 wavelength (m) speed (m/s) the page’s slider range, 1.2–4.0 m default 2.6 m: 2.01 m/s 1.01 m/s phase speed c, crests group speed, energy
Figure 2Phase speed \(c = \sqrt{g\lambda/2\pi}\) and group speed \(c_g = c/2\) from the dispersion relation (13), computed for 400 wavelengths from \(0.02\) to \(4.6\ \mathrm{m}\) with \(g = 9.81\ \mathrm{m/s^2}\). The dashed lines mark the range of the page’s Wavelength slider, the dots its default. Speed grows like \(\sqrt\lambda\): four times the wavelength, twice the speed.

The page draws a single wave that never ends, so it has no groups: \(c_g\) appears in its data panel as a prediction, not as something you can watch. With the dispersion switch off, the frequency is whatever you set, the wave is no longer a water wave, and \(c_g = c/2\) no longer applies.

Exercise 5.1 · on the figure above

Leave Deep-water dispersion \(\omega^2 = gk\) switched on and move Wavelength \(\lambda\) from \(120\ \mathrm{px}\) to \(400\ \mathrm{px}\), that is from \(1.2\) to \(4.0\ \mathrm{m}\). The Phase speed \(c\) readout rises from \(1.37\) to \(2.50\ \mathrm{m/s}\), a factor of 1.83, which is \(\sqrt{400/120}\); the Period \(T\) rises from \(0.88\) to \(1.60\ \mathrm{s}\) by the same factor, and the Frequency \(f\) slider follows by itself. Now switch dispersion off, return to \(260\ \mathrm{px}\) and set Frequency \(f\) to \(0.50\ \mathrm{Hz}\). The wave now runs at \(1.30\ \mathrm{m/s}\). The picture still moves, but no water wave could: a \(2.6\ \mathrm{m}\) wave on deep water must oscillate at \(0.77\ \mathrm{Hz}\).

06Every parcel runs in a circle

The velocity of the water follows from (3) and (12):

\[ \begin{aligned} u &= a\omega\,e^{kz}\cos(kx - \omega t), \\ w &= a\omega\,e^{kz}\sin(kx - \omega t) . \end{aligned} \tag{16} \]

Now follow one parcel. Let \((x_0, z_0)\) be its rest position, where it sits when the sea is calm. It never moves far from there compared with \(\lambda\), so we may evaluate (16) at \((x_0, z_0)\) instead of at its actual position. This is the step that defines linear theory: the error it makes is smaller by a further factor \(ak\), and Section 07 shows what it hides. Integrating in time, with \(\tfrac{\mathrm{d}}{\mathrm{d}t}\sin(kx_0 - \omega t) = -\omega\cos(kx_0 - \omega t)\) and \(\tfrac{\mathrm{d}}{\mathrm{d}t}\cos(kx_0 - \omega t) = \omega\sin(kx_0 - \omega t)\),

\[ \begin{aligned} x &= x_0 - a\,e^{kz_0}\sin(kx_0 - \omega t), \\ z &= z_0 + a\,e^{kz_0}\cos(kx_0 - \omega t) . \end{aligned} \tag{17} \]

Squaring and adding the two lines of (17) gives \((x - x_0)^2 + (z - z_0)^2 = a^2 e^{2kz_0}\): every parcel moves on a circle around its rest position, of radius

\[ r(z_0) = a\,e^{kz_0} , \tag{18} \]

once per period, at the constant speed \(r\omega\). Under a crest, where the phase \(kx_0 - \omega t\) is zero, the parcel is at the top of its circle and moves forward with the wave; under a trough it is at the bottom and moves backward; ahead of a crest it rises, behind it it sinks. With the wave moving to the right, the circling is clockwise. This is the gull of Section 01.

At the surface the parcel speed is \(a\omega\), which is \(ak\) times the wave speed \(c\). At the page’s default, \(a\omega = 1.17\ \mathrm{m/s}\) against \(c = 2.01\ \mathrm{m/s}\): the water moves, but the pattern moves faster.

6.1Decay with depth

The radius (18) falls by a factor \(e\) for every \(\lambda/2\pi\) of depth. Half a wavelength down it is \(e^{-\pi} = 4.3\ \%\) of its surface value, one wavelength down \(e^{-2\pi} = 0.19\ \%\), one part in 535. Figure 3 shows it for the shortest, the default and the longest wavelength the page allows.

0 25 50 75 100 0 0.56 1.12 1.68 2.24 depth below the calm surface (m) orbit radius (% of the surface orbit) λ = 1.2 m λ = 2.6 m λ = 4.0 m
Figure 3Orbit radius against depth, \(r/a = e^{kz_0}\) from (18), computed at 400 depths from 0 to \(2.5\ \mathrm{m}\) for \(\lambda = 1.2\), \(2.6\) and \(4.0\ \mathrm{m}\) (\(k = 5.24\), \(2.42\) and \(1.57\ \mathrm{rad/m}\)). The dots are the page’s five layers at the default wavelength: 100, 25.8, 6.7, 1.7 and 0.45 %. Each wavelength keeps its own scale of depth, \(\lambda/2\pi\); short waves leave the water still a short way down.

On the page the layers are \(56\ \mathrm{px} = 0.56\ \mathrm{m}\) apart, so at the default wavelength each orbit is \(e^{-k \cdot 0.56\ \mathrm{m}} = 0.258\) times the one above: the radii are 24, 6.2, 1.6, 0.41 and 0.11 px. The fifth layer, \(2.24\ \mathrm{m}\) down, moves on a circle 0.45 % the size of the surface one; the Deepest orbit readout rounds this to 0.4 %. Only \(z_0/\lambda\) enters (18), so the same curves tell the diver’s story. Five metres under choppy \(10\ \mathrm{m}\) waves, \(z_0/\lambda = -0.5\), and the water moves only 4.3 % as far as at the surface. Five metres under a \(100\ \mathrm{m}\) swell, the circles are still 73 % of the surface ones, and the diver must go down \(50\ \mathrm{m}\) to reach 4.3 %.

Exercise 6.1 · on the figure above

Set Depth layers to 5 and watch the Deepest orbit readout as you move Wavelength \(\lambda\). At \(400\ \mathrm{px}\) the deepest layer, \(2.24\ \mathrm{m}\) down, still circles at 3.0 % of \(a\); at \(120\ \mathrm{px}\) the readout shows 0.0 %, because \(e^{-2\pi \cdot 2.24/1.2} = 8 \times 10^{-6}\). With Show orbits on, count the layers whose circles you can see at each wavelength, and compare with Figure 3. The page stops drawing a circle once its radius falls below 1.2 screen pixels.

6.2The shape of the surface

The surface is the top row of parcels, \(z_0 = 0\). By (17), with \(\theta = kx_0 - \omega t\), it is the curve traced by

\[ \begin{aligned} x &= x_0 - a\sin\theta, \\ \eta &= a\cos\theta , \end{aligned} \tag{19} \]

as the rest position \(x_0\) runs along the sea.

This is a trochoid, the curve traced by a point on the spoke of a rolling wheel. Near a crest the surface parcels crowd together and near a trough they spread apart, so crests are sharper and troughs flatter than in the sine (10); the two agree as \(ak \to 0\). At the default \(ak = 0.58\), the crest, the part of the surface above the line of orbit centres, spans a fraction \(\tfrac12 - ak/\pi = 31.5\ \%\) of each wavelength, and the surface averaged along \(x\) lies \(\tfrac12 a^2 k = 7.0\ \mathrm{px}\) below that line. The dashed line in the figure marks the orbit centres, not this average.

Along (19), \(\mathrm{d}x/\mathrm{d}x_0 = 1 - ak\cos\theta\). At \(ak = 1\) this vanishes at the crest, and the crest becomes a sharp cusp; beyond that the curve would loop through itself. At the same point the surface water at the crest moves as fast as the crest itself, \(a\omega = c\). The page therefore caps the amplitude at \(a = 0.9/k\), so that \(ak \le 0.9\). Raise Amplitude \(a\) (orbit radius) to \(50\ \mathrm{px}\) at \(\lambda = 260\ \mathrm{px}\): the requested steepness would be 1.21, the cap holds the amplitude at \(37.2\ \mathrm{px}\), the Steepness ak readout shows 0.90 (cap), and the crests turn narrow while the troughs flatten. Real waves break long before: the steepest wave water can hold is about 0.14 wavelengths high from trough to crest, so \(ak = \pi H/\lambda \approx 0.44\) with \(H = 2a\). The page’s default, \(ak = 0.58\), is steeper than any real sea wave; it was chosen so that the circles are large enough to see. The trochoid is also the exact shape of Gerstner’s wave, a nonlinear solution with exactly circular orbits; but the water in Gerstner’s wave spins, so it is not the potential flow derived here.

07Stokes drift: the circles do not quite close★

The gull of Section 01 comes back almost, but not exactly, to where it started. Linear theory hides the difference; one more term of the calculation brings it back.

The circles (17) use the velocity at the rest position. A real parcel feels the velocity where it actually is, displaced from \((x_0, z_0)\) by \(\xi = -r\sin\theta\) horizontally and \(\zeta = r\cos\theta\) vertically, with \(r = a\,e^{kz_0}\) and \(\theta = kx_0 - \omega t\). Expanding the horizontal velocity (16) to first order in the displacement,

\[ \begin{aligned} u(x_0 + \xi,\ z_0 + \zeta) &\approx u + \xi\,\frac{\partial u}{\partial x} + \zeta\,\frac{\partial u}{\partial z}, \\ \xi\,\frac{\partial u}{\partial x} &= (-r\sin\theta)\,(-a\omega k\,e^{kz_0}\sin\theta) \\ &= a^2\omega k\,e^{2kz_0}\sin^2\theta, \\ \zeta\,\frac{\partial u}{\partial z} &= (r\cos\theta)\,(a\omega k\,e^{kz_0}\cos\theta) \\ &= a^2\omega k\,e^{2kz_0}\cos^2\theta . \end{aligned} \tag{20} \]

The first term, \(u\) at the rest position, averages to zero over a period. The two corrections add up to a constant, because \(\sin^2\theta + \cos^2\theta = 1\). The parcel therefore drifts forward, on average, at the Stokes drift velocity

\[ U_S = a^2\omega k\,e^{2kz_0} = c\,(ak)^2\,e^{2kz_0} . \tag{21} \]

The picture is this. Under a crest the parcel is at the top of its circle, where the forward flow is a little stronger because \(e^{kz}\) is larger; under a trough it is at the bottom, where the backward flow is a little weaker. That is the \(\cos^2\theta\) half of (20). The \(\sin^2\theta\) half is the same story sideways: while the parcel rises or sinks, at the side of its circle, it is shifted towards the nearest crest, where the flow also runs forward. Forward wins, and each loop ends slightly ahead of where it began. In one period the parcel advances \(U_S T = (ak)^2 e^{2kz_0}\lambda\), since \(cT = \lambda\). The drift is second order in the steepness, and it fades with depth as \(e^{2kz_0}\), twice as fast as the circles. For \(\lambda = 2.6\ \mathrm{m}\) and a moderate steepness \(ak = 0.2\) (\(a = 8.3\ \mathrm{cm}\)), (21) gives \(U_S = 0.081\ \mathrm{m/s}\) at the surface: \(10.4\ \mathrm{cm}\), or 4 % of a wavelength, per period.

−0.100 −0.050 0 0.050 0.100 −0.1 0 0.1 0.2 0.3 0.4 horizontal position x (m) height z (m) first-order circle, as drawn on the page path in the full linear velocity field
Figure 4The path of a surface parcel over 3.2 periods, for \(\lambda = 2.6\ \mathrm{m}\) and \(ak = 0.2\), computed by solving \(\mathrm{d}x/\mathrm{d}t = u\), \(\mathrm{d}z/\mathrm{d}t = w\) with the velocity (16) taken where the parcel actually is; fourth-order Runge–Kutta with 2000 steps per period, and halving the step changes the positions by less than \(10^{-12}\ \mathrm{m}\). The parcel starts at the top of its circle, under a crest. Dashed: the closed circle (17) that the page draws. Dots: the tops of successive loops, \(11.2\ \mathrm{cm}\) apart. Both axes have the same scale.

Figure 4 tests (21). The loops do not close. Each lasts \(1.043\,T\), a little longer than a period because the parcel travels along with the wave, and ends \(11.2\ \mathrm{cm}\) further on, so the mean forward speed is \(0.0835\ \mathrm{m/s}\), 3.6 % more than (21). The gap is the next term of the series: the same calculation gives 0.93 % at \(ak = 0.1\) and 0.24 % at \(ak = 0.05\), so the gap shrinks about fourfold each time \(ak\) halves, as a correction of order \((ak)^2\) should. At \(z_0 = -0.56\ \mathrm{m}\), the page’s first layer below the surface, the computed drift is \(5.39\ \mathrm{mm/s}\) and (21) gives \(5.38\ \mathrm{mm/s}\).

The page draws the closed circles (17) and leaves the drift out on purpose; its data panel stores \(U_S\) from (21) as theory, not as motion. At the default steepness (21) gives \(0.68\ \mathrm{m/s}\), a third of \(c\), far outside the range of small \(ak\) where the formula holds. Gerstner’s wave of Section 6.2 has closed orbits and no drift; the drift belongs to irrotational waves like the ones derived here. In the real sea it is one of the ways floating objects, from bottles to oil slicks, are slowly carried along in the direction the waves travel.

08Computing the picture

The positions (17) are known in closed form, so the page never steps a differential equation forward in time: each frame evaluates the formulas afresh. Only the phase is accumulated, from the time \(\Delta t\) between frames, capped at \(0.05\ \mathrm{s}\) so that a stalled or hidden tab does not make the wave jump (after such a pause the picture lags the clock):

\[ \begin{aligned} \omega t &\;\leftarrow\; \omega t + 2\pi f\,\Delta t, \\ f &= \frac{\sqrt{g\,k_\mathrm{m}}}{2\pi}, \qquad k_\mathrm{m} = 100\,k . \end{aligned} \tag{22} \]

The page measures \(\lambda\) in pixels, so \(k = 2\pi/\lambda\) is in radians per pixel and \(k_\mathrm{m}\) is the same wave number in radians per metre. With Deep-water dispersion on, \(f\) comes from (13) at full precision; the Frequency \(f\) slider only displays it, rounded to \(0.01\ \mathrm{Hz}\). With the switch off, \(f\) is the slider value. Adding up the phase frame by frame, rather than computing \(\omega t\) from the clock, keeps the motion smooth when \(f\) changes. Each frame then computes, for every layer \(j\) and every parcel \(i\) in it:

  • the rest position \(X_0 = 30 + (W_\mathrm{field}-60)\,i/(N - 1)\) px and the depth \(z_0 = -56\,j\) px, where \(N\) is set by Particles per layer and \(W_\mathrm{field}\) is the width of the drawn field, \(800\ \mathrm{px}\) or \(400\ \mathrm{px}\) on a narrow canvas (Section 09);
  • the orbit radius \(r = a\,e^{kz_0}\) and the phase \(\theta = kX_0 - \omega t\);
  • the displacement \(\xi = -r\sin\theta\), \(\zeta = r\cos\theta\), and the velocity \(u = r\omega\cos\theta\), \(w = r\omega\sin\theta\).

At the defaults that is 90 parcels, and every one of their numbers is written into the page’s data store at the line that computes it; the data panel reads them from there. The surface line adds 307 points on a wide canvas or 174 on a narrow one, which are drawn but not stored (Section 09). Nothing is integrated, so nothing accumulates error: the positions are exact up to the rounding of double-precision arithmetic, however long the page runs. The amplitude used is \(a = \min(A, 0.9/k)\), where \(A\) is the value of the Amplitude slider.

09From metres to pixels

The drawing has field width \(W_\mathrm{field}=800\ \mathrm{px}=8\ \mathrm{m}\), or \(400\ \mathrm{px}=4\ \mathrm{m}\) when the canvas is narrower than 560 screen pixels, with \(100\ \mathrm{px} = 1\ \mathrm{m}\) throughout, scaled to the width \(W\) of the canvas on your screen. A canvas \(H\) pixels tall places a parcel of layer \(j\) at

\[ \begin{aligned} s &= W/W_\mathrm{field}, \\ y_s &= \max(a s + 34,\ 0.28\,H), \\ x_\text{screen} &= (X_0 + \xi)\,s, \\ y_\text{screen} &= y_s + 56\,j\,s - \zeta\,s . \end{aligned} \tag{23} \]

Here \(s\) is the number of screen pixels per field pixel and \(y_s\) the height of the calm surface, measured down from the top of the canvas; screen \(y\) points down, which is why \(\zeta\) is subtracted. The calm level sits at 28 % of the height, or lower when the crests would otherwise come within 34 screen pixels of the top. The layers are \(0.56\ \mathrm{m}\) apart and labelled with their depth.

  • The surface is a line in the accent colour through surface parcels of (19), one for every \(3\ \mathrm{px}\) of rest position from \(-60\) to \(W_\mathrm{field}+60\ \mathrm{px}\), so that its ends lie outside the frame. A dashed line marks the calm level, the centres of the surface orbits.
  • The water under the surface is tinted rose, from 36 % opacity at crest height to 5 % at the bottom of the canvas.
  • Each parcel is a dot, \(3.8\ \mathrm{px}\) in radius at the surface and \(3.1\ \mathrm{px}\) below. The followed column is the middle one (\(i = 8\), counting from zero, at \(X_0 = 378.2\ \mathrm{px}\) on the wide field or \(190\ \mathrm{px}\) on the narrow field for 18 parcels per layer): burgundy, with larger dots and a line from each orbit centre to its parcel.
  • With Show orbits on, each orbit is a dotted circle, solid for the followed column, drawn only while its radius exceeds 1.2 screen pixels.

The drawing differs from the stored numbers in three small ways. The surface line passes through points every \(3\ \mathrm{px}\) that are not stored parcels; the canvas paints on its own pixel grid, spreading a position that falls between pixels over the edge pixels (antialiasing); and layers that fall below the bottom of the canvas are computed and stored but not drawn.

10What the model leaves out

  • Stokes drift (Section 07) is not drawn: the circles on screen close exactly.
  • Finite depth. Over a bottom at depth \(h\) the dispersion relation becomes \(\omega^2 = gk\tanh(kh)\), and the circles flatten into ellipses; at the bottom itself the water only slides back and forth. At \(h = \lambda/2\), \(\tanh(kh) = \tanh\pi = 0.9963\), and the wave is only 0.19 % slower than on infinitely deep water; this is why half a wavelength counts as deep. In very shallow water \(c \to \sqrt{gh}\) for every wavelength, and the waves stop being dispersive.
  • Surface tension adds its own restoring force: \(\omega^2 = gk + \sigma k^3/\rho\), with \(\sigma = 0.0728\ \mathrm{N/m}\) for clean water at \(20\ ^\circ\mathrm{C}\). It dominates below \(\lambda = 2\pi\sqrt{\sigma/(\rho g)} = 1.71\ \mathrm{cm}\), where ripples become capillary waves, and no wave on deep water is slower than \(0.231\ \mathrm{m/s}\), the speed at that wavelength.
  • Steep waves are no longer sinusoidal: their crests sharpen, and their speed grows by a factor of about \(1 + \tfrac12(ak)^2\), 2 % at \(ak = 0.2\). Real waves break near \(ak \approx 0.44\); the page allows up to 0.9.
  • Viscosity damps the amplitude as \(e^{-2\nu k^2 t}\), with kinematic viscosity \(\nu = 1.0 \times 10^{-6}\ \mathrm{m^2/s}\) for water. For the default \(2.6\ \mathrm{m}\) wave, reducing the amplitude by a factor \(e\) takes 24 hours: over a few periods, friction really is negligible.
  • Wind, currents and breaking are absent, and so is the random mixture of wavelengths and directions that makes up a real sea.

10.1Further reading

  1. R. P. Feynman, R. B. Leighton and M. Sands, The Feynman Lectures on Physics, Vol. I, Addison-Wesley, 1963: chapter 51, section 51-4, “Surface waves”, a short and vivid first account (free online edition).
  2. D. J. Acheson, Elementary Fluid Dynamics, Oxford University Press, 1990: chapter 3 (waves): water waves, dispersion and group velocity, starting from a group of waves crossing a pond whose crests run through it (publisher’s page, chapter abstract).
  3. P. K. Kundu, I. M. Cohen and D. R. Dowling, Fluid Mechanics, 6th edition, Academic Press, 2016: chapter 8 (gravity waves), including surface tension, group velocity and nonlinear waves (chapter page).
  4. L. D. Landau and E. M. Lifshitz, Fluid Mechanics, 2nd edition, Pergamon, 1987: §12 (gravity waves) and §25 (damping of gravity waves by viscosity); publisher’s page with contents.