So far, we have considered waves where there is a linear relationship between angular frequency and wavenumber ($\omega = kc$), which are known as non-dispersive waves. When this relationship changes there will be different velocities for different frequencies, which is known as dispersion, and waves which have this property are called dispersive waves.
Before we come to dispersion, however, we must consider superposition and wave packets. We looked at the phenomenon of beats for a harmonic oscillator in Sec. 2.4, and saw that the sum of two oscillations gave an oscillation at the average frequency modulated by an envelope at the difference frequency. We can also combine waves: this is known as superposition. When the peaks and/or troughs of the waves coincide, we have \emph{constructive} interference between waves (and looking back at the figures in Sec. 2.4, it is clear that there is constructive interference). When the peaks of one wave coincide with the troughs of another, we have destructive interference. As well as the simple periodic phenomenon of beats, we can form wave packets of arbitrary shape by adding up waves of several (or many) different frequencies. In general, an arbitrarily shaped packet or wave can be represented as the sum of sinusoidal waves of different frequency multiplied by frequency-dependent coefficients. An example is the square wave, which can be represented by the following sum: \begin{eqnarray} f(x) &=& \frac{1}{2} + \sum_{n=1,2,3,\ldots} 2c_n \cos(nx)\\ c_n &=& \begin{cases} (-1)^{(n-1)/2}\frac{1}{n\pi} & n\ \mathrm{odd}\\ 0 & n\ \mathrm{even} \end{cases} \end{eqnarray}
The code to create a square wave from a superposition of cosines is given below.
# Plot sum of cosines to make square wave
# Try changing n to see what happens with wave
n = 5
k = 1.0
x = linspace(0,10,1000)
# fac allows us to calculate factors of -1 or +1 easily
fac = 1
# Set initial value
standingwave = 0.5 + 2*fac*cos(k*x)/pi
# Iterate over odd numbers (even numbers have zero coefficients)
for i in range(3,int(n+1),2):
fac *= -1
standingwave += (2*fac*cos(i*k*x))/(i*pi)
plot(x,standingwave)
[<matplotlib.lines.Line2D at 0x10b423310>]
It is also possible to represent a finite wavepacket but this requires an integral over frequency rather than a sum. The full treatment of these ideas is known as Fourier theory or Fourier analysis, and is dealt with in PHAS2246. For a wave to carry a signal (for instance speech or radio signals), we need at least two frequencies: with just one frequency, the wave is always there, while with two frequencies, the amplitude varies (at a simple level at the beat frequency).
We can define the sum of two waves, $\psi_1(x,t) =A \cos(k_1x - \omega_1 t)$ which has phase velocity $v_{p1}=\omega_1/k_1$ and $\psi_2(x,t) = A \cos(k_2x - \omega_2 t)$ which has phase velocity $v_{p2}=\omega_2/k_2$. \begin{eqnarray} \psi(x,t) &=& A \cos(k_1x - \omega_1 t) + A \cos(k_2x - \omega_2 t)\\ &=& 2A\cos\left[\frac{(\omega_1+\omega_2)}{2}t - \frac{(k_1+k_2)}{2}x\right]\cos\left[\frac{(\omega_1-\omega_2)}{2}t - \frac{(k_1-k_2)}{2}x\right] \end{eqnarray}
In the combined wave, we have the average frequency $(\omega_1 + \omega_2)/2$, which is known as the carrier frequency, and the difference frequency $(\omega_1 - \omega_2)/2$, which is known as the envelope frequency. An important question to examine is whether the two carrier and envelope waves move with the same velocity. If we assume that $\omega_1$ and $\omega_2$ are nearly the same (or $\omega_1 = \omega_2 + \delta\omega$), then $k_1$ and $k_2$ will be nearly the same (and $k_1 = k_2 + \delta k$) and the velocity of the average will be $v_p \simeq v_{p1} \simeq v_{p2} = \omega/k$. The velocity of the difference will be given by: \begin{equation} \frac{\omega_1 - \omega_2}{k_1 - k_2} = \frac{\delta \omega}{\delta k} \end{equation} This suggests that the velocity of the envelope might related to the \emph{differential} of $\omega$ with respect to $k$ (certainly as we take the difference between the two waves to zero). We will prove this below, but for now we define the \emph{group velocity} as: \begin{equation} v_g = \frac{d \omega}{d k} \end{equation} This is the velocity of the envelope (or points of constant amplitude)
As mentioned above, we have so far considered situations where the phase velocity is constant, so that there is a linear relationship between $\omega$ and $k$. However, it is clear from everyday life that this is not always true: a rainbow (or the diffraction of white light by a prism) shows that different frequencies or colours travel with different velocities (otherwise they would not spread out). We defined the phase velocity as the velocity of points of constant phase, $v_p = \omega/k$ (remembering that the phase of a wave is given by $kx - \omega t + \phi$). We must also define the velocity of the envelope (or points of constant amplitude) which is known as the \emph{group velocity} $v_g = d \omega/d k$. There will be occasions when the relationship between $\omega$ and $k$ is not linear, and the phase and group velocities will differ. In these situations, the peaks and troughs of the carrier frequency (the sum for two frequencies) will move at a different velocity to the maxima and zeroes of the envelope frequency. The shape of a wavepacket or any superposition of waves will change (typically narrow distributions will spread). This is known as dispersion, and is much more common than non-dispersive behaviour.
We can write the relationship between $v_p$ and $v_g$ as: \begin{eqnarray} v_p &=& \frac{\omega}{k} \Rightarrow \omega = k v_p\\ v_g &=& \frac{d \omega}{d k} = \frac{d}{d k}\left(k v_p\right)\\ &=& v_p + k\frac{d v_p}{d k} \end{eqnarray} So, if the relationship connecting angular frequency and wavenumber is non-linear, the phase and group velocities will differ. Typically this will lead to attenuation (or weakening) of the wave as energy is dissipated.
The algebraic relation between angular frequency, $\omega$, and wavenumber, $k$, is known as the \emph{dispersion relation}. So, non-dispersive waves have $v_p = v_g$ and a dispersion relation written: \begin{equation} k = \omega/c \end{equation}
If the phase velocity varies with wavelength (or wavenumber or frequency) the wave system is said to be \emph{dispersive}, and the phase velocity and group velocity will differ. Why might this happen ? If we think about a stretched string, then there might be friction at the end points, though it is easier to imagine applying damping by immersing the string in a viscous fluid. We know from the damped harmonic oscillator that we can write such a damping term as $-b\partial \psi/\partial t$. This will change the wave equation, adding to the restoring force from the tension: \begin{equation} \mu\frac{\partial^2 \psi}{\partial t^2} = T\frac{\partial^2 \psi}{\partial x^2} - \beta\frac{\partial \psi}{\partial t}, \end{equation} where we have defined $\beta$ as a damping per unit length. Will a sinusoidal wave still be a solution of this new equation ? If we substitute $\psi(x,t) = Ae^{i(kx-\omega t)}$ into the new wave equation, we can find out. We will use the results $\partial^2 \psi/\partial x^2 = -k^2$, $\partial^2 \psi/\partial t^2 = -\omega^2\psi$ and $\partial \psi/\partial t = -i\omega\psi$. These come from differentiating the complex exponential, and you should how to derive them. \begin{eqnarray} -\omega^2 \mu \psi &=& -Tk^2\psi + i\omega\beta\psi\\ \Rightarrow \omega^2 &=& \frac{T}{\mu}k^2 + i\frac{\beta}{\mu}\omega\\ c^2 k^2 &=& \omega^2 + i\Gamma \omega\\ k &=& \pm\frac{1}{c}\sqrt{\omega^2 + i\Gamma \omega}\\ k&=& \pm\frac{\omega}{c}\sqrt{1+i\frac{\Gamma}{\omega}} \end{eqnarray} where we have defined $\Gamma = \beta/\mu$. So we find two things: first, we can find the dispersion relation by substituting a sinusoidal wave into the wave equation; and second, for this case, the dispersion relation will be \emph{non-linear}. The non-linearity will depend on the term $\Gamma/\omega$. If $\Gamma/\omega \ll 1$, then we can approximate $\sqrt{1+i\Gamma/\omega} = 1+i\Gamma/(2\omega)$. The wavenumber becomes \emph{complex}: we have $k = \pm(a + ib)$ and $a = \omega/c$ and $b = \Gamma/2c$. This introduces an attenuation to the position dependence of the wave (note that we can choose $k$ to be positive or negative, and we will choose the sign so that the attenuation term is an attenuation, not an amplification which is unphysical). Notice the similarity to the damped harmonic oscillator, where the drag term leads to temporal attenuation. We can write: \begin{equation} \psi(x,t) = Ae^{\Gamma x/2c}e^{i(\frac{\omega}{c}x - \omega t)} \end{equation} So the motion of the string will be the expected sinusoidal response at the driving frequency but with a spatial attenuation which depends on the damping applied and the speed of the wave along the string. There are many other examples of dispersive systems: stiff or lumpy (non-uniform) strings, water waves, and electromagnetic waves in dielectric media for example. We will consider water waves in more detail later.
We plot the motion of the string in three dimensions below; compare this to the plot for travelling wave in Chapter 3, and notice how the attenuation affects the amplitude with position, but not with time.
# Show 3D plot ?
# Import necessary 3D plotting
from mpl_toolkits.mplot3d.axes3d import Axes3D
# Create figure
fig = plt.figure(figsize=(9,6))
axm = fig.add_subplot(1, 1, 1, projection='3d')
axm.set_xlabel('x')
axm.set_ylabel('t')
axm.set_zlabel(r'$\psi$')
# Specify x and t and put onto mesh
phix = linspace(0,4*pi,100)
phit = linspace(0,4*pi,100)
x,t = meshgrid(phix, phit)
# Choose k and omega
k = 0.5
omega = 0.5
Gamma = -0.5
c = omega/k
# Create variable
zm = exp(0.5*Gamma*x/c)*cos(k*x - omega*t)
# Plot surface
pm = axm.plot_surface(x, t, zm, linewidth=0,rstride=2,cstride=2,cmap=cm.coolwarm)
# Set angles
axm.view_init(50, 30)
# Add colour bar
fig.colorbar(pm, shrink=0.5)
<matplotlib.colorbar.Colorbar instance at 0x1118ef1b8>
We will now offer a more formal demonstration for why the group velocity is written as $d\omega /dk$. The phase velocity is found for points which obey the condition: \begin{equation} kx - \omega t + \phi = \mathrm{constant} \end{equation} In other words, points for which the phase is constant. If we differentiate this with respect to time, we quickly find that $dx/dt = v_p = \omega/k$; note that we are solving for points on the wave which obey the condition above; those points move at the phase velocity.
What about the group velocity ? This can be considered as the velocity of points of constant amplitude: we want to follow the envelope not the waves inside the envelope. To be clear: we are considering a wave packet of some kind formed by the superposition of different waves of different frequency (and with different amplitudes). Let's consider an envelope which has a well-defined maximum which we can follow; that maximum will be the point at which all components are constructively superposed (i.e. they will all add). To be constructively superposed, then all components must have the \emph{same} phase $kx - \omega t +\phi$, though the individual parts of the phase (in particular $kx$ and $\omega t$) will be different. To find the group velocity, we seek the set of points where $kx-\omega t +\phi$ is the same for all frequencies: that is, independent of frequency. We can write this condition as: \begin{eqnarray} \frac{d}{d\omega}\left[kx - \omega t + \phi\right] &=& 0\\ \frac{dk}{d\omega}x - t &=& 0\\ \Rightarrow v_g &=& \frac{d\omega}{dk} \end{eqnarray} When the group velocity is less than the phase velocity, this is called normal dispersion. When it is greater than the phase velocity, it is called anomalous dispersion. These terms come from optics (where normal dispersion is most common, and where transmission of energy or information at speeds greater than that of light in a vacuum is not possible).
This brief look at dispersion has only scratched the surface of a rich, complex subject. In the next section we will examine water waves as an example of dispersive waves. They show a complex behaviour with different dispersion relations for different wavelengths, and behaviour which also depends on the depth of the water.
Water waves are an important area of study (both for the interesting physics they show, but also their importance in design of structures on the coast and implications for events such as tsunami). They are surface waves, and combine transverse and longitudinal motion, and have a complicated dispersion relation which depends on the relation between the water depth and the wavelength. We will not derive the formulae given here; you can find an excellent discussion in Main, Chapter 13, for instance.
We make two key assumptions about the water:
The second assumption can be relaxed, and will lead to attenuation. The first assumption explains how the water molecules move in a water wave and is important. Consider the trough of a water wave, where there is a downward displacement of the water; as the water is hard to compress, some of the water must have flowed sideways to a region where the surface displacement is upwards (or a peak). This tells us that the wave will contain transverse and longitudinal components (and arises because it is a wave at the surface of the water). So we will have to write the wave motion as both in $x$ (along the motion) and $y$ (transverse to the motion). Since we have a boundary (the surface) it is also reasonable to assume that the displacement will depend on distance from the surface, so that we will have $\psi_x(x,y,t)$ and $\psi_y(x,y,t)$. We will also assume a sinusoidal wave (from observations of bodies of water, and our experience with waves so far) and only consider the steady state.
Since the motion is sinusoidal, we can assume that both $x$ and $y$ motion will be sinusoidal, and ask what the phase difference will be. Picture the point on a wave between the trough and the crest (i.e. where the $y$ displacement is zero). The slope here is greatest, which suggests that the longitudinal displacement will be at a maximum (most water rearranged). This simple argument suggests that the phase difference between the $x$ and $y$ components of the displacement is $\pi/2$; this implies that the motion of the particles in the wave will be elliptical or circular. Observations of something floating on the sea (whether a swimmer or a seagull) as waves pass suggest that a roughly circular motion is correct. We will give detailed forms for the displacements after considering the dispersion relation (which we will quote without proof).
The dispersion relation for water waves of any depth can be shown to be: \begin{eqnarray} \omega^2 &=& \left(gk + \frac{\gamma k^3}{\rho}\right) \tanh(kh)\\ \omega^2 &=& k^2\left(\frac{g}{k} + \frac{\gamma k}{\rho}\right) \tanh(kh) \end{eqnarray} where $g$ is acceleration due to gravity, $\gamma$ is the surface tension and $\rho$ is the density.
There are two sources of restoring force acting on the water waves: one which depends on the surface tension, which tends to flatten out curves; and one which depends on gravity, which represents the tendency of the water piled up in the crests to fall under gravity. The two terms depend differently on $k$, and have equal magnitude when: \begin{equation} \frac{g}{k} = \frac{\gamma k}{\rho} \Rightarrow k^2 = \frac{g\rho}{\gamma} \end{equation} or at a wavelength $\lambda = 2\pi\sqrt{\gamma/(\rho g)}$. Waves with a smaller wavelength than this will be governed by surface tension effects, while waves with a larger wavelength will be governed the gravity term. For water, $\gamma = 0.073$N/m, $\rho = 1,000$kg/m$^3$ which, with $g=9.8$m/s$^2$, gives $\lambda = 0.017$m (or 17mm). Waves shorter than this (known as ripples) will be dominated by surface tension.
For gravity waves, there are two regimes which are important, which depend on the relative magnitudes of the wavelength, $\lambda$, and the water depth, $h$. Shallow water is defined as $kh \ll 1$ (with $k = 2\pi/\lambda$ as usual) while deep water is defined as $kh \gg 1$. We will give formulae for the displacement of particles in the water for these two extremes without proof, and discuss the dispersion relation in these two cases.
Below we plot the dispersion relation for shallow (left) and deep (right) water, along with the limiting behaviour that's expected in the two cases.
# Plot water dispersion
g = 9.8 # acceleration due to gravity
rho = 1000 # density
gamma = 0.073 # surface tension
# Ripples are found for lambda < 0.017m (surface tension dominated)
# Shallow water is kh << 1
# Deep water is kh >> 1
fig = figure(figsize=[12,3])
# Plot vs x
ax_shallow = fig.add_subplot(121)
ax_deep = fig.add_subplot(122)
# Set h
h = 10.0
k_shallow = linspace(0,1/h,1000)
k_deep = linspace(1/h,100*h,1000)
#ax.axis([0,4,-1.5*A,1.5*A])
print "Depth, h, is ",h
# Plot shallow water wave dispersion
omega_shallow = sqrt((g*k_shallow + gamma*k_shallow*k_shallow*k_shallow/rho)*tanh(k_shallow*h))
ax_shallow.plot(k_shallow,omega_shallow)
# Limiting behaviour
ax_shallow.plot(k_shallow,sqrt(g*h)*k_shallow)
# Plot deep water wave dispersion
omega_deep = sqrt((g*k_deep + gamma*k_deep*k_deep*k_deep/rho)*tanh(k_deep*h))
ax_deep.plot(k_deep,omega_deep)
# Plot limiting behaviour: ripples (lambda<0.017 i.e. large k) SURFACE TENSION
ax_deep.plot(k_deep,sqrt(gamma/rho)*k_deep**1.5)
# Long wavelength (small k) behaviour GRAVITY
ax_deep.plot(k_deep,sqrt(g*k_deep))
Depth, h, is 10.0
[<matplotlib.lines.Line2D at 0x10bc0fa50>]
In deep water ($kh\gg 1$ and $|y|\ll h$), we can write: \begin{eqnarray} \psi_x(x,y,t) &=& Ae^{ky}\sin(\omega t - kx)\\ \psi_y(x,y,t) &=& Ae^{ky}\cos(\omega t - kx) \end{eqnarray} This motion is illustrated below. We see that particles describe circles, with the radius depending on depth. Once $h>\lambda$ there is little motion, which explains how structures such as oil rigs achieve stability: if the buoyant part is sufficiently deep, it will not be affected by the surface motion.
We can examine the dispersion relation for this limit. If $kh\gg 1, \tanh \rightarrow 1$, so we can write: \begin{equation} \omega^2 = k^2\left(\frac{g}{k} + \frac{\gamma k}{\rho}\right) \end{equation} We then have to consider the two terms.
For ripples ($\lambda$ small) the dispersion relation becomes: \begin{equation} \omega = \sqrt{\frac{\gamma}{\rho}}k^{\frac{3}{2}} \end{equation} This gives us $v_p = \sqrt{k\gamma/\rho}$. Differentiating, we get $v_g = \frac{3}{2}\sqrt{k\gamma/\rho} = \frac{3}{2}v_p$, so the group velocity is \emph{larger} than the phase velocity.
For long wavelengths, we have gravity waves. The dispersion relation becomes: \begin{equation} \omega = \sqrt{gk} \end{equation} The phase velocity is then $v_p = \sqrt{g/k}$ and the group velocity $v_g = \frac{1}{2}\sqrt{g/k} = \frac{1}{2}v_p$, which is \emph{smaller} than the phase velocity. Notice that the dispersion relation does \emph{not} contain the density, so this relation will hold for any non-viscous, incompressible fluid. A good example is the ocean swell, which has wavelengths typically up to $100$m. This gives the phase velocity around 10m/s, though the energy will travel at the group velocity.
# Plot motion of water wave particles for deep water
k = 1.0
omega = 1.0
t = linspace(0,2*pi/k,1000)
x = 0.0
for i in range(5):
y=-0.2*i
psi_x_d = exp(k*y)*sin(omega*t)
psi_y_d = exp(k*y)*cos(omega*t)
plot(psi_x_d,psi_y_d+y)
axis('scaled')
(-1.0, 1.0, -1.5, 1.0)
In shallow water ($kh\ll 1$), we can write: \begin{eqnarray} \psi_x(x,y,t) &=& \frac{A}{kh}\sin(\omega t - kx)\\ \psi_y(x,y,t) &=& A(1+y/h)\cos(\omega t - kx) \end{eqnarray} This motion is illustrated below. We see that particles describe ellipses, with the horizontal (longitudinal) amplitude almost the same at all depths and the vertical amplitude falling off fast with depth, so that these waves are close to longitudinal (note that $y<0$ and, by definition, $0 > y> -h$). Since we have $kh\ll 1$, we can expand out $\tanh kh \simeq kh - (kh)^3/3$, and discard the term in $k^3$ above, so that the dispersion relation is: \begin{equation} \omega^2 = ghk^2\left(1 - \frac{h^2k^2}{3}\right) \end{equation} For small values of $hk$ we can simplify even further, and write $\omega \simeq \sqrt{gh} k$ so that $v_p = v_g = \sqrt{gh}$. Thus the speed of the waves \emph{decreases} as the water gets shallower. These waves are non-dispersive, and as the power must be constant the decrease in speed will result in an increase in the amplitude. For the waves seen at the sea-shore, this eventually results in the waves breaking. A more dramatic and potentially more destructive example is that of a tsunami, where a massive but slow upheaval of the sea bed generates a wave with a very long wavelength. For a sea depth of 4km, the vvelocity will be around 200m/s, though the amplitude will often be less than 1m. As the depth decreases, so does the velocity and the amplitude of the wave increases; as there is little dispersion, the result is a few extremely powerful wave crests with destructive and tragic results.
# Plot motion of water wave particles for shallow water
k = 2*pi/10.0 # Set k by a nominal wavelength
omega = 1.0
h = 1.0 # Depth in m
if k*h < 1:
t = linspace(0,2*pi/k,1000)
x = 0.0
for i in range(5):
y=-0.2*i
psi_x_d = sin(omega*t)/(k*h)
psi_y_d = (1+y/h)*cos(omega*t)
plot(psi_x_d,psi_y_d+y)
axis('scaled')
axis([-2,2,-2,2])
else:
print 'kh is not less than one - this is deep water ! ',k*h