Gravitational Waves — LIGO and ripples in spacetime
On 14 September 2015, two laser beams four kilometres long detected a stretch and squeeze of space itself smaller than one ten-thousandth the width of a proton. That signal — a fraction of a second, rising in pitch like a bird's chirp — was the sound of two black holes merging 1.3 billion light-years away, and it opened an entirely new way of observing the universe.
1. Einstein's 1916 prediction
General relativity describes gravity not as a force but as curvature of spacetime caused by mass and energy. In 1916, Einstein showed that his field equations, in their weak-field linearized form, admit wave-like solutions: accelerating masses should radiate ripples of spacetime curvature that propagate outward at the speed of light — gravitational waves.
For decades the effect was considered far too small to ever detect. Ordinary objects (even planets orbiting stars) produce gravitational waves so faint they are utterly swamped by noise. Only the most extreme events in the universe — merging black holes and neutron stars — produce a signal that reaches Earth strong enough, even in principle, to measure.
2. Strain: stretching spacetime
A gravitational wave passing through a region alternately stretches
space in one direction while squeezing it in the perpendicular
direction, then reverses — a quadrupole pattern, unlike the dipole
radiation of electromagnetism. The size of this distortion is
described by the dimensionless strain,
h = ΔL / L: the fractional change in length.
For a 4 km LIGO arm:
ΔL = h · L = 10⁻²¹ × 4000 m ≈ 4 × 10⁻¹⁸ m
— about 1/1000th the diameter of a proton
Measuring a length change a thousand times smaller than a proton, over a 4 km baseline, is one of the most precise measurements ever made by humans — and it requires isolating the detector from every other source of vibration: seismic noise, thermal noise, even quantum shot noise in the laser light itself.
3. Binary inspiral and the chirp
Two compact objects (black holes or neutron stars) orbiting each other radiate gravitational waves, carrying away orbital energy. As energy is lost, the orbit shrinks and the objects speed up — which radiates even more strongly, in a runaway feedback loop that ends in a merger. Three distinct phases mark the signal:
- Inspiral: the two bodies orbit at increasing frequency and amplitude as they spiral together — this is the "chirp" phase, both the frequency and amplitude of the wave rise.
- Merger: the objects collide and coalesce into one, producing the peak strain of the whole signal — un-modelable by simple orbital mechanics, requiring full numerical relativity simulations.
- Ringdown: the newly formed single black hole "rings" like a struck bell, radiating away its distortions (quasi-normal modes) until it settles into a stationary Kerr black hole.
The inspiral phase's frequency evolution follows a well-understood formula from post-Newtonian theory, making it the phase most amenable to a simple simulation.
4. The chirp mass formula
The rate at which the gravitational-wave frequency rises during inspiral depends almost entirely on one combination of the two masses, called the chirp mass:
The frequency's rate of change (the "chirp rate") is:
Because the GW frequency is twice the orbital frequency
(f_GW = 2 · f_orb, from the quadrupole symmetry of the
radiation), a numerically integrated version of this equation gives
exactly the rising-pitch "chirp" heard in LIGO's audio conversions
of real detections.
// Integrate the chirp-rate ODE forward in time
function simulateChirp(m1_solar, m2_solar, f0 = 30, dt = 0.001) {
const G = 6.674e-11, c = 3e8, Msun = 1.989e30;
const m1 = m1_solar * Msun, m2 = m2_solar * Msun;
const Mc = Math.pow(m1 * m2, 3/5) / Math.pow(m1 + m2, 1/5);
let f = f0;
const freqTrack = [];
while (f < 400) { // stop near merger frequency
const dfdt = (96/5) * Math.pow(Math.PI, 8/3)
* Math.pow(G * Mc / (c*c*c), 5/3) * Math.pow(f, 11/3);
f += dfdt * dt;
freqTrack.push(f);
}
return freqTrack;
}
5. LIGO's laser interferometer
LIGO (Laser Interferometer Gravitational-Wave Observatory) uses a Michelson interferometer with two perpendicular arms, each 4 km long. A laser beam is split, sent down both arms, bounced off mirrors, and recombined:
- With no gravitational wave, the two return beams are tuned to destructively interfere — the photodetector sees darkness.
- A passing gravitational wave stretches one arm while squeezing the other. The tiny path-length difference shifts the interference pattern, letting a small amount of light through — a measurable signal.
- Two independent detectors (Hanford, Washington and Livingston, Louisiana), roughly 3000 km apart, must both see a matching signal within a light-travel-time window (~10 ms) to rule out local noise. A third detector, Virgo (Italy), adds triangulation.
| Component | Role | Key spec |
|---|---|---|
| Arm length | Baseline for strain measurement | 4 km |
| Laser power | Reduces shot noise | ~750 kW circulating |
| Mirror suspension | Isolates seismic noise | Multi-stage pendulum |
| Vacuum tubes | Removes air-pressure noise | One of the largest vacuum systems on Earth |
6. GW150914: the first detection
On 14 September 2015, both LIGO detectors recorded a signal matching the inspiral-merger-ringdown template of two black holes, approximately 36 and 29 solar masses, merging into a single ~62 solar-mass black hole roughly 1.3 billion light-years away. The missing ~3 solar masses were radiated away as gravitational-wave energy in a fraction of a second — briefly outshining every star and galaxy in the observable universe in terms of raw power output.
The detection, announced in February 2016, earned the 2017 Nobel Prize in Physics for Rainer Weiss, Barry Barish and Kip Thorne. Since then, LIGO and Virgo have catalogued well over 90 confirmed events, including GW170817, a neutron star merger observed simultaneously in gravitational waves and across the electromagnetic spectrum — the birth of multi-messenger astronomy.
7. Simulating the chirp in Three.js
The gravitational-wave simulation on this site visualises the inspiral as two orbiting point masses whose separation shrinks over time following the chirp-rate equation above, with a live strain waveform plotted alongside — the classic rising-frequency, rising-amplitude "chirp" shape.
// Update orbiting binary each frame using the chirp frequency track
function updateBinary(t, freqTrack, dt, group) {
const idx = Math.min(Math.floor(t / dt), freqTrack.length - 1);
const f_orb = freqTrack[idx] / 2; // GW freq is 2x orbital freq
const theta = 2 * Math.PI * f_orb * t;
// Separation shrinks as frequency rises (simplified, for visual effect)
const r = 8.0 / Math.pow(f_orb / 15, 2/3);
group.body1.position.set( r * Math.cos(theta), 0, r * Math.sin(theta));
group.body2.position.set(-r * Math.cos(theta), 0, -r * Math.sin(theta));
}
// Strain waveform, drawn on a 2D canvas overlay: h(t) ~ amplitude(t) * cos(2*phase(t))
function strainAt(t, freqTrack, dt) {
const idx = Math.min(Math.floor(t / dt), freqTrack.length - 1);
const f = freqTrack[idx];
const amplitude = Math.pow(f / 30, 2/3); // grows as merger approaches
return amplitude * Math.cos(2 * Math.PI * f * t);
}
Rendering the spacetime distortion itself — rather than just the orbiting masses — is done with a deformed plane mesh: a grid whose vertex heights ripple outward from the binary using the same strain function, giving the classic "ripples on a rubber sheet" visualisation (a simplification of true 4D spacetime curvature, but effective for intuition).
8. Extensions and improvements
- Antenna pattern visualisation: show LIGO's L-shaped arms and how sensitivity depends on the wave's direction and polarisation relative to the detector.
- Matched filtering demo: overlay a noisy simulated "detector strain" against a clean template waveform, letting users see how LIGO extracts a signal buried well below the noise floor.
- Multi-messenger mode: pair the GW170817-style neutron star merger chirp with a simulated gamma-ray burst and kilonova light curve, arriving seconds and days later respectively.
- Ringdown quasi-normal modes: after merger, damp the waveform's amplitude exponentially at the characteristic ringdown frequency of the final black hole — testable against the "no-hair theorem" predictions of general relativity.
🌊 Gravitational Wave Chirp
The live simulation renders an inspiralling binary and its rising-frequency chirp waveform, modelled on real LIGO detections like GW150914.