🎐Normal Modes - Mass-Spring Chain, Dispersion Relation, Acoustic & Optical Branches
A one-dimensional chain of 1 to 30 masses joined by springs. A Jacobi eigen-decomposition of the symmetric dynamical matrix gives every normal mode’s frequency and shape. Play a single mode, or drag the masses into any initial shape and watch it break down into a superposition of modes. The dispersion tab places each mode on the ω(k) curve; a diatomic chain splits into acoustic and optical branches with a band gap; and the wave-packet tab shows group versus phase velocity on a 300-mass chain.
Free · No sign-up · Runs in your browserLast updated:
Loading tool...
How to use Normal Modes & Lattice Vibrations
- 1Set the number of masses, the ends (fixed, free, periodic), the spring constant and the mass, and optionally make the chain diatomic
- 2In single-mode view, step through the modes with the slider and see their shapes and frequencies, transverse or longitudinal
- 3Switch to superposition, drag masses or pick a shape such as "Pluck", and watch the mode amplitude bars and the motion
- 4Check that the mode points sit on ω(k) in the dispersion tab, and vary k₀ in the wave-packet tab to compare group and phase velocity
FAQ
- What is a normal mode?
- In a system of coupled oscillators there are special patterns in which every mass oscillates at the same frequency with fixed relative amplitudes: the normal modes. A chain of N masses has N of them, and any motion is a superposition of modes, each oscillating independently at its own frequency. Mathematically they are the eigenvectors of the dynamical matrix M^{-1/2}KM^{-1/2}, with eigenvalues ω².
- Why is the dispersion relation ω(k) not a straight line?
- In a continuous elastic medium ω = ck and all frequencies travel at the same speed. In a discrete chain, once the wavelength approaches the spacing, neighbouring masses move in opposite directions and the frequency cannot exceed 2√(K/m), so ω = 2√(K/m)|sin(ka/2)| bends over. Only in the long-wavelength limit ka ≪ 1 is it linear, with sound speed a√(K/m).
- Why does a diatomic chain have a band gap?
- With alternating masses each unit cell has two degrees of freedom, so the dispersion splits into two branches: the low-frequency acoustic branch (neighbours moving together) and the high-frequency optical branch (the two masses in a cell moving against each other). At the zone boundary the acoustic branch tops out at √(2K/m_heavy) and the optical branch starts at √(2K/m_light); frequencies in between cannot propagate. The gap closes when the masses are equal.
- What is the difference between group and phase velocity?
- The phase velocity v_p = ω/k is how fast individual crests move; the group velocity v_g = dω/dk is how fast the envelope of a wave packet, and so its energy, moves. On the chain v_g = a√(K/m)cos(ka/2) is smaller than v_p and drops to zero at the zone boundary k = π/a, where the waves are standing waves. In the wave-packet tab you can see crests slide forward through the envelope.
- Why is there a mode with ω = 0 for free and periodic ends?
- When neither end is held, the whole chain can translate without stretching any spring, so there is no restoring force and that rigid-body mode has zero frequency. With periodic ends the other frequencies also come in degenerate pairs, corresponding to waves travelling left and right (±k).
Features
- Hand-written cyclic Jacobi eigen-decomposition with unequal masses (mass-weighted symmetrisation)
- Fixed, free and periodic ends; transverse and longitudinal display
- Drag masses to set the initial displacement and see its decomposition into mode amplitudes and energy shares
- Monatomic and diatomic dispersion curves with acoustic and optical branches, band gap and mode points
- Directly integrated wave packet on a 300-mass chain, with measured envelope speed versus theoretical group velocity