Lecture note · Fig. 4 · oscillations · wave kinematics
Transverse and longitudinal waves: the pattern travels, the medium stays
Numa Koudsie · for school students and first- and second-year undergraduates
01The pattern travels, the medium stays
In a stadium a wave runs right round the stands, and yet every spectator ends up exactly where they started: in their own seat.
That is the whole idea of a wave. Each spectator only stands up and sits down again, a moment after their neighbour; what travels round the stadium is the pattern “stand up now”. The people move up and down while the wave moves sideways along the stands. The motion of the medium is across the direction of travel, and such a wave is called transverse.
A slinky on a table shows both kinds. Shake one end sideways and a kink runs along it: transverse again. Push the end in and out along the slinky and something different runs along it: a group of coils bunched together, a compression, followed by a stretch where the coils are spread apart, a rarefaction. Every coil moves only back and forth, along the direction in which the pattern travels. This is a longitudinal wave.
A guitar string vibrates sideways, so the wave running along the string between its fixed ends is transverse. The sound that reaches your ear is longitudinal: the vibrating body of the guitar pushes on the air, the air is squeezed and released, and those compressions spread outwards at the speed of sound. Air can carry only this kind. It resists being squeezed, but it does not resist one layer sliding sideways past the next, so a sideways shake has nothing with which to drag the neighbouring air along.
An earthquake sends both kinds through rock. The longitudinal ones, called P waves (primary), are faster and arrive first; the transverse ones, S waves (secondary, or shear), arrive later. Solid rock resists shear, so it carries both. Seismometers on the far side of the Earth from an earthquake record P waves that have crossed the deep interior, but no S waves along those paths. Something deep inside stops the shear waves, and the material that does that is one with no resistance to shear at all: a liquid. This is how we know that the Earth’s outer core is liquid metal.
The simulation shows one and the same wave both ways. In the upper row each particle moves up and down; in the lower row each moves left and right. In both rows the pattern runs to the right and no particle goes anywhere. The burgundy particle in the middle of each row makes that visible.
02The model
Physics begins by deciding what to keep. We keep a line of particles, the medium, and describe a wave by how far each particle has moved from where it rests. Label every particle by its rest position \(X,\) the place where it sits when there is no wave. Its displacement \(\xi(X,t)\) is how far it has moved at time \(t\): sideways in the transverse row, and along the line in the longitudinal row, where the particle is then found at \(x = X + \xi.\) The simulation uses the simplest travelling wave,
\[ \begin{gathered} \xi(X,t) = A\sin(kX - \omega t), \\ k = \frac{2\pi}{\lambda}, \qquad \omega = 2\pi f . \end{gathered} \tag{1} \]Here \(A\) is the amplitude, the largest displacement; \(\lambda\) is the wavelength, the distance from one crest to the next; \(f\) is the frequency, the number of times per second each particle swings back and forth. The wavenumber \(k\) and the angular frequency \(\omega\) are the same two quantities counted in radians: \(k\) per pixel of distance, \(\omega\) per second. The combination \(\varphi = kX - \omega t\) is the phase. It says where in its cycle the particle at \(X\) is at time \(t.\)
The page prescribes particle positions with a sinusoidal formula. The wave equations derived below describe small slopes or small compression. The default longitudinal value \(A_{\rm L}k\approx0.743\) is deliberately large: its exact density follows from the coordinate map, but this does not make that prescribed motion a solution of nonlinear sound dynamics.
- The displacements are small enough for the medium to respond linearly: twice the push, twice the displacement.
- No damping and no dispersion: the wave never fades, and every wavelength travels at the same speed.
- The medium has no ends, so nothing reflects from the edges of the picture.
- Both rows carry the same \(\xi\) and therefore travel at the same speed. Real media do not oblige (Section 9).
Lengths on the page are pixels of a medium \(640\ \mathrm{px}\) long; time is real time in seconds. At the start the sliders stand at \(A = 26\ \mathrm{px},\) \(f = 0.50\ \mathrm{Hz},\) \(\lambda = 220\ \mathrm{px}\) and 26 particles, spaced \(640/25 = 25.6\ \mathrm{px}\) apart. The followed particle is number 12, counting from 0, at \(X = 307.2\ \mathrm{px}.\) Only the ratio \(A/\lambda\) fixes the shape of the wave; the pixel is just a convenient ruler.
03One formula, two pictures
Equation (1) is a function of two variables, and there are two natural ways to look at it. Freeze the time and you get a snapshot: \(\xi\) against \(X,\) a sine curve that repeats every wavelength \(\lambda.\) This is what the upper row shows at each instant. Fix the place instead and you get a history: the displacement of one particle against time, a sine curve that repeats every period \(T = 1/f.\) This is what the burgundy particle traces out. Figure 2 shows both, computed from (1) with the default sliders.
The two pictures are tied together. A crest is the place where the phase equals \(\pi/2,\) and every feature of the wave is a place of fixed phase. Keeping \(kX - \omega t\) fixed while \(t\) grows forces \(X\) to grow, at the rate
\[ kX - \omega t = \text{const} \quad\Longrightarrow\quad v = \frac{\mathrm{d}X}{\mathrm{d}t} = \frac{\omega}{k} = f\lambda . \tag{2} \]In words: in one period the pattern moves on by one wavelength. With the defaults \(v = 0.50\ \mathrm{Hz}\times 220\ \mathrm{px} = 110\ \mathrm{px/s},\) the value in the Speed readout and under the figure. The minus sign in \(kX - \omega t\) is what sends the wave to the right; with a plus sign it would travel to the left. The crest triangles above the upper row sit at \(X_\mathrm{c} = (\pi/2 + \omega t)/k,\) plus whole wavelengths, and so they move at \(v.\)
The particles move quite differently. Differentiating (1) at fixed \(X\) gives the velocity \(u\) of a particle; differentiating at fixed \(t\) gives the slope of the snapshot:
\[ \begin{aligned} u &= \frac{\partial\xi}{\partial t} = -A\omega\cos(kX - \omega t), \\ \frac{\partial\xi}{\partial X} &= Ak\cos(kX - \omega t), \qquad u = -v\,\frac{\partial\xi}{\partial X} . \end{aligned} \tag{3} \]The particle speed is at most \(A\omega,\) which is \(81.7\ \mathrm{px/s}\) for the defaults. It depends on the amplitude and the frequency but not on the wavelength. Its ratio to the wave speed is \(A\omega/v = Ak = 0.743\): here the particles move more slowly than the pattern, and on average they go nowhere at all. The last relation in (3) holds for any shape that moves to the right without changing, not only for a sine. Where the curve falls towards the right, the higher part behind a particle is about to arrive, so the particle is rising.
Every feature of the pattern moves at \(v = f\lambda = \omega/k,\) in both rows. Every particle only swings about its rest position, with amplitude \(A,\) frequency \(f\) and a speed of at most \(A\omega.\) The two speeds are different things: the first belongs to the pattern, the second to the matter.
Keep the default sliders. The burgundy particle in the upper row takes \(2\ \mathrm{s}\) to go up and down once, the value in the Period readout, while a crest triangle needs \(640/110 = 5.8\ \mathrm{s}\) to cross the whole row. Set Frequency to \(1.00\ \mathrm{Hz}\): the period halves and the Speed readout doubles to \(220\ \mathrm{px/s}.\) Now set Wavelength to \(110\ \mathrm{px}.\) The speed falls back to \(110\ \mathrm{px/s},\) while the particle still swings once a second. Check with equation (3) that the wavelength changes the pattern but neither the period nor the top speed of any single particle.
04Where the wave equation comes from★
Equation (1) describes the wave; it does not say why a rope or the air should carry it, or how fast. For that we need forces. For both kinds of wave the answer turns out to be the same equation.
4.1A string under tension
Take a string stretched with tension \(F,\) a force in newtons, with mass \(\mu\) per metre. Look at a short piece between \(X\) and \(X + \mathrm{d}X,\) displaced sideways by \(\xi.\) The tension pulls along the string at each end. Where the string is tilted by a small angle \(\theta,\) the pull has a small sideways part, \(F\sin\theta \approx F\,\partial\xi/\partial X.\) The two ends pull in opposite directions, so the net sideways force is set by the difference between the slopes at the two ends, and that difference is not zero where the string is curved. Newton’s second law for the piece reads
\[ \mu\,\mathrm{d}X\,\frac{\partial^2\xi}{\partial t^2} = F\left[\frac{\partial\xi}{\partial X}\Big|_{X+\mathrm{d}X} - \frac{\partial\xi}{\partial X}\Big|_{X}\right] = F\,\frac{\partial^2\xi}{\partial X^2}\,\mathrm{d}X . \tag{4} \]Dividing by \(\mu\,\mathrm{d}X\) gives the wave equation,
\[ \frac{\partial^2\xi}{\partial t^2} = v^2\,\frac{\partial^2\xi}{\partial X^2}, \qquad v = \sqrt{F/\mu} . \tag{5} \]The acceleration of each bit of string is proportional to how sharply the string is bent there. A tighter string carries waves faster and a heavier one slower: that is how a guitarist tunes a string, and why the thick strings sound low.
4.2A rod and a column of gas
Now let the particles move along the line. A piece of rest length \(\mathrm{d}X\) has its ends displaced by \(\xi(X)\) and \(\xi(X + \mathrm{d}X),\) so its new length is \(\mathrm{d}X\,(1 + \partial\xi/\partial X).\) The fractional change of length, the strain, is \(\partial\xi/\partial X.\) In a thin rod Hooke’s law turns strain into stress, force per area: \(\sigma = E\,\partial\xi/\partial X,\) with \(E\) the Young’s modulus. The net force on the piece is the difference of the stress across it times the cross-section \(S,\) and its mass is \(\rho\,S\,\mathrm{d}X,\) with \(\rho\) the density. Dividing by \(S\,\mathrm{d}X,\)
\[ \rho\,\frac{\partial^2\xi}{\partial t^2} = \frac{\partial\sigma}{\partial X} = E\,\frac{\partial^2\xi}{\partial X^2} \quad\Longrightarrow\quad v = \sqrt{E/\rho} . \tag{6} \]A gas has no Young’s modulus, but it pushes back when squeezed: a strain \(\partial\xi/\partial X\) changes the pressure by \(\delta p = -B\,\partial\xi/\partial X,\) with \(B\) the bulk modulus, and the same steps give \(v = \sqrt{B/\rho}.\) A sound wave squeezes and releases the air too quickly for heat to flow, and for such adiabatic changes \(B = \gamma p,\) with \(\gamma\) the ratio of the two heat capacities of the gas. For dry air at \(20\ {}^\circ\mathrm{C},\) with \(\gamma = 1.40,\) \(p = 101\,325\ \mathrm{Pa}\) and \(\rho = 1.204\ \mathrm{kg/m^3},\)
\[ v = \sqrt{\gamma p/\rho} = 343\ \mathrm{m/s} . \tag{7} \]Density from the ideal-gas law with molar mass 28.97 g/mol at 293.15 K: 1.2041 kg/m³. Then √(1.40 × 101 325 / 1.204) = 343.2 m/s.
Different physics, the same equation. That is why one function \(\xi(X,t)\) can drive both rows of the simulation.
4.3Shear needs a solid
A solid resists not only being squeezed but also being sheared, one layer slid sideways past the next; its shear modulus \(G\) measures how strongly. A sideways displacement that changes along the direction of travel shears the material, and the argument of 4.2 with \(G\) in place of \(E\) gives a transverse wave. In a large block, which cannot bulge sideways as a thin rod can, the two speeds are
\[ v_\mathrm{P} = \sqrt{\frac{K + \tfrac43 G}{\rho}}, \qquad v_\mathrm{S} = \sqrt{\frac{G}{\rho}}, \tag{8} \]with \(K\) the bulk modulus of the solid. The longitudinal P wave is always the faster of the two, which is why it reaches a seismometer first. In a liquid or a gas \(G = 0\): there is no S wave at all, and only the longitudinal kind travels through the bulk. The S waves missing on the far side of the Earth are equation (8) at work in the outer core.
4.4Every shape travels
Any function of \(X - vt\) solves (5): by the chain rule its second derivative in time is \(v^2\) times its second derivative in space. The same holds for any function of \(X + vt.\) This is d’Alembert’s solution,
\[ \xi(X,t) = g(X - vt) + h(X + vt), \tag{9} \]a shape moving to the right plus a shape moving to the left, each keeping its form. The sine wave (1) is the case \(g(z) = A\sin kz,\) \(h = 0\): writing \(kX - \omega t = k\,(X - vt)\) requires \(\omega = vk,\) which is equation (2) again. Here the physics adds something the kinematics alone could not. On a real string \(v\) is fixed by \(F\) and \(\mu;\) the source fixes the frequency, and the wavelength has no choice, \(\lambda = v/f.\) On the page both \(f\) and \(\lambda\) are sliders and \(v\) follows from them, which amounts to choosing a new medium every time you move one.
05Compressions and rarefactions
In the lower row the displacement is along the line, so neighbouring particles can come closer together or move further apart. Two particles that rest \(\mathrm{d}X\) apart are found at \(X + \xi(X)\) and \(X + \mathrm{d}X + \xi(X + \mathrm{d}X),\) a distance \(\mathrm{d}X\,(1 + \partial\xi/\partial X)\) apart. The material between them is the same, so its density changes in inverse proportion:
\[ \begin{aligned} \frac{\rho}{\rho_0} &= \frac{1}{1 + \partial\xi/\partial X} = \frac{1}{1 + A_\mathrm{L}k\cos(kX - \omega t)} \\ &\approx 1 - A_\mathrm{L}k\cos(kX - \omega t), \end{aligned} \tag{10} \]where \(\rho_0\) is the density at rest and \(A_\mathrm{L}\) the amplitude of the lower row, defined below. The medium is densest where \(\cos(kX - \omega t) = -1,\) at phase \(\pi.\) There the displacement \(A_\mathrm{L}\sin\pi\) is zero: the particles just behind have been pushed forward and those just ahead pulled back, so both crowd towards the centre. By (3), the particles at the centre move forward at full speed. A compression centre therefore sits at \(X_\mathrm{p} = (\pi + \omega t)/k,\) and
\[ X_\mathrm{p} - X_\mathrm{c} = \frac{\pi - \pi/2}{k} = \frac{\lambda}{4} : \tag{11} \]each compression is a quarter wavelength ahead of a crest of the same \(\xi,\) in the direction of travel. This detail is easy to get wrong and easy to see in the simulation: the triangles above the lower row are shifted to the right of those above the upper row by \(55\ \mathrm{px}\) of the medium. Equation (3) adds a second way to read the lower row, since the strain is \(\partial\xi/\partial X = -u/v.\) Where the medium is compressed the particles move with the wave; where it is stretched they move against it.
The exact density in (10) carries a warning. If \(A_\mathrm{L}k\) reached 1, the spacing \(1 + \partial\xi/\partial X\) would drop to zero at the compression centres and then turn negative: particles would pass through their neighbours, which no real medium allows. By (3) this is the same as saying that no particle may move forward faster than the wave itself. The page therefore caps the amplitude of the lower row,
\[ A_\mathrm{L} = \min\!\left(A,\ \frac{0.8}{k}\right) = \min\!\left(A,\ \frac{0.8\,\lambda}{2\pi}\right), \tag{12} \]so that the tightest spacing is \(20\,\%\) of the rest spacing and the densest point 5 times the rest density. The Longit. A readout shows \(A_\mathrm{L}\) and adds “(cap)” when the cap acts. With the defaults the cap is \(28.0\ \mathrm{px},\) above \(A = 26\ \mathrm{px},\) so both rows have the same amplitude.
Even so, the default wave is far from small: \(A_\mathrm{L}k = 0.743.\) Figure 3 follows the 26 particles of the lower row for two periods, and Figure 4 shows the density they make. At the compression centres the density is \(1/(1 - 0.743) = 3.88\) times the rest density, in the rarefactions only \(1/(1 + 0.743) = 0.574\) times; the linear approximation in (10) would give 1.74 and 0.26. The compressions are narrow and crowded, the rarefactions broad and thin: the denser half of the particles fills only \(1/2 - A_\mathrm{L}k/\pi = 26\,\%\) of the length. At the first frame the gaps between neighbours range from \(7.0\ \mathrm{px}\) to \(44.1\ \mathrm{px},\) around a rest spacing of \(25.6\ \mathrm{px}.\)
Leave Wavelength at \(220\ \mathrm{px}\) and raise Amplitude from \(26\ \mathrm{px}.\) The Longit. A readout follows up to \(28\ \mathrm{px};\) at \(29\ \mathrm{px}\) it reads “28 px (cap)” while the upper row keeps growing. Now lower Wavelength to \(100\ \mathrm{px}.\) The cap falls to \(0.8\times 100\ \mathrm{px}/2\pi = 12.7\ \mathrm{px}\) and the readout shows “13 px (cap)”. In the lower row the bars nearly touch at the compressions but never cross. In the upper row, at the same settings, the steepest slope is \(Ak = 29\times 2\pi/100 = 1.82\): far beyond the small slopes that equation (4) assumed.
06Energy carried★
A wave carries energy without carrying matter: the energy of the stadium wave is in the moving spectators, and it travels round the stands while they stay put. On the string, each piece has kinetic energy from its sideways motion and potential energy from being stretched by its tilt. Per unit length,
\[ e = \tfrac12\,\mu\left(\frac{\partial\xi}{\partial t}\right)^2 + \tfrac12\,F\left(\frac{\partial\xi}{\partial X}\right)^2 . \tag{13} \]Multiply the wave equation \(\mu\,\partial^2\xi/\partial t^2 = F\,\partial^2\xi/\partial X^2\) by \(\partial\xi/\partial t\) and use the product rule. The result is a local conservation law, the same shape as the continuity equation for electric charge:
\[ \frac{\partial e}{\partial t} + \frac{\partial P}{\partial X} = 0, \qquad P = -F\,\frac{\partial\xi}{\partial X}\,\frac{\partial\xi}{\partial t} . \tag{14} \]\(P\) is the power flowing past the point \(X,\) in watts: the energy of a piece of string changes only by flowing in at one end or out at the other. For a wave moving to the right, (3) gives \(\partial\xi/\partial X = -u/v,\) so \(P = (F/v)\,u^2 = \mu v\,u^2 \ge 0\): the energy flows in the direction of travel at every instant. The same substitution shows that the two terms of (13) are equal at every point and every moment. Averaged over a period, \(u^2 = A^2\omega^2\cos^2(kX - \omega t)\) gives \(\tfrac12 A^2\omega^2,\) so
\[ \langle e\rangle = \tfrac12\,\mu\,\omega^2 A^2, \qquad \langle P\rangle = \tfrac12\,\mu\,v\,\omega^2 A^2 = v\,\langle e\rangle . \tag{15} \]The energy travels at the wave speed, and the power grows with the square of both the amplitude and the frequency: double the frequency at the same amplitude and the string carries four times the power. For a rod, put \(\rho S\) in place of \(\mu\) and \(ES\) in place of \(F;\) the result is the same.
07How the page computes a frame
Because the solution (1) is known exactly, the page solves nothing step by step. Each frame evaluates the formula afresh at every particle, so no error builds up in the shape of the wave; what remains is the rounding of double-precision arithmetic. The one quantity carried from frame to frame is the phase of the source,
\[ \omega t \;\leftarrow\; \omega t + 2\pi f\,\Delta t , \tag{16} \]with \(\Delta t\) the real time since the previous frame. Adding up the phase, rather than computing \(2\pi f t\) from the clock, keeps the wave continuous when you move the Frequency slider: only the rate at which the phase grows changes. With \(2\pi f t\) every particle’s phase would jump by \(2\pi\,\Delta f\,t,\) a jump that grows with the time already played. Moving the Wavelength slider, by contrast, changes \(k\) at once. The pattern then redraws stretched about the left end of the row, \(X = 0,\) whose phase \(-\omega t\) does not depend on \(k.\)
- While paused, \(\Delta t = 0\) and the phase stands still. A frame that takes longer than \(0.05\ \mathrm{s}\) is counted as \(0.05\ \mathrm{s},\) so after a stall the wave resumes instead of leaping ahead; at the top frequency, \(2\ \mathrm{Hz},\) this limits the step to \(2\pi \times 2 \times 0.05 = 0.63\ \mathrm{rad}\) per frame.
- In each frame the page computes, for every one of the \(N\) particles, the rest position \(X_i = i \cdot 640/(N - 1)\) and the phase; \(\xi\) and \(u\) for the upper row; and the displacement, position, velocity, density (10) and shading for the lower row. Each number is written into the page’s data store at the line that computes it; the Data panel reads it from there and recomputes nothing.
- On a device set to reduce motion, the clock starts paused.
08From medium pixels to screen pixels
Both rows share one medium \(640\ \mathrm{px}\) long, stretched across the canvas between margins of \(22\ \mathrm{px}.\) With \(W\) the canvas width in screen pixels, the scale \(s\) and the horizontal screen positions of a particle in the two rows are
\[ \begin{aligned} s &= \frac{W - 44}{640}, \\ x_\text{upper} &= 22 + s\,X, \\ x_\text{lower} &= 22 + s\,(X + \xi) . \end{aligned} \tag{17} \]Measured in headless Chromium, the canvas is \(770 \times 481\) px in a \(1440\ \mathrm{px}\) wide window, so \(s = 1.134,\) and \(356 \times 374\) px on a \(390\ \mathrm{px}\) wide phone, so \(s = 0.4875.\) The rest line of the upper row lies at \(30\,\%\) of the canvas height and the lower row at \(77\,\%.\) A transverse particle is drawn at height \(y_\mathrm{T} - s\,\xi,\) with a minus sign because screen \(y\) points down.
- Upper row: discs of radius \(4.5\ \mathrm{px}\) (\(6.5\ \mathrm{px}\) for the followed particle), a rose line from the rest line to each disc, and pale ticks at the rest positions when Equilibrium positions is on. A thin burgundy curve runs through 214 points of (1), one every \(3\ \mathrm{px}\) of the medium. The crest triangles sit \(8\ \mathrm{px}\) above the highest point, \(sA.\)
- Lower row: each particle is a disc of radius \(4\ \mathrm{px}\) on a vertical bar \(56\ \mathrm{px}\) tall, so that crowding reads as density. With Follow one particle and Equilibrium positions both on, a rose line joins the followed particle to its rest tick.
- Behind the lower row lies a band \(68\ \mathrm{px}\) tall, tinted burgundy with opacity \(0.03 + 0.2\max(0,\,{-\cos(kX - \omega t)}),\) set at 65 points, one every \(10\ \mathrm{px}\) of the medium, and blended linearly between them. The compression triangles sit above the band.
Where the picture and the stored numbers differ. The tint is a guide to where the compressions are, not a plot of the density. It follows \(\max(0,\,{-\cos(kX - \omega t)}),\) which is symmetric and stops at an opacity of 0.23, whereas the stored density (10) is lopsided: 3.88 at the compression centres and 0.574 in the rarefactions for the defaults (Figure 4). The tint is laid out by rest position \(X\) and the particles by \(X + \xi;\) the two agree at the compression centres, where \(\xi = 0.\) The faithful picture of the density is the crowding of the bars themselves. The burgundy curve and the tint are drawn through extra sample points that are not particles and are not stored, while every particle is drawn at exactly the screen position stored for it.
09What the model leaves out
- Small amplitudes. The defaults are not small: the steepest slope of the upper row, \(Ak = 0.743,\) is an angle of \(36.6^\circ,\) and a real string tilted that far stretches and changes its tension. Sound of large amplitude steepens as it travels, because the compressed parts move slightly faster than the rarefied ones, until the front becomes a shock.
- One speed for both rows. The page gives the two rows the same \(v\) so that they can be compared side by side. In a solid the longitudinal wave is faster, equation (8); on a stretched wire the longitudinal wave, set by the stiffness of the metal, is faster than the transverse one, set by the tension.
- No damping, no reflections at the ends, no dispersion. Water waves, the subject of Fig. 5, are dispersive: their speed depends on their wavelength.
- The particles are samples of a continuous medium, not masses joined by springs. A chain of masses a distance \(a\) apart is dispersive, \(\omega \propto \lvert\sin(ka/2)\rvert;\) with the default spacing \(a = 25.6\ \mathrm{px}\) and \(\lambda = 220\ \mathrm{px},\) such a chain would carry the wave \(2.2\,\%\) more slowly than the continuous medium.
- One direction of displacement. In three dimensions a transverse wave can shake in either of two directions across its path, its polarisation; a longitudinal wave has only one. That is why light, a transverse wave, can be polarised and sound cannot.
- Lengths are pixels of the drawing and speeds pixels per second. Only the ratio \(A/\lambda\) fixes the shape.
9.1Further reading
- H. D. Young and R. A. Freedman, University Physics with Modern Physics, 15th edition, Pearson, 2020: chapters 15 (mechanical waves) and 16 (sound and hearing).
- A. P. French, Vibrations and Waves, M.I.T. Introductory Physics Series, W. W. Norton, 1971: chapter 7 (progressive waves).
- S. Stein and M. Wysession, An Introduction to Seismology, Earthquakes, and Earth Structure, Blackwell, 2003: chapters 2 (basic seismological theory, beginning with waves on a string) and 3 (seismology and Earth structure).