Presets
Playback
Water and waves
Depth sets wave speed; frequency sets wavelength.
Source and barrier
Dippers, plane bar, slits, wall or island.
Display
Click or drag on the water for stones.
Layers
Model checks
The science
Wave equation on the water surface
For long waves in a shallow layer of depth h the surface height obeys eta_tt = div(c^2 grad eta) - gamma eta_t + q sin(wt) delta(x - x_s) with phase speed c = sqrt(g h). A dipper at frequency f therefore makes waves of wavelength lambda = c / f. The tank is a 192 x 192 grid (0.60 m wide, 3.1 mm cells); the update is the semi-implicit (symplectic) Euler scheme with time step dt = 0.5 dx / (c sqrt 2), so it is stable and conserves energy without drift.
Sources and amplitude
The dippers are soft sources, so waves from one pass through the other. In two dimensions a point source of strength q radiates eta ~ (q / 4 c^2) sqrt(2 / (pi k r)), falling like 1/sqrt r because the same energy spreads over a longer circle. The amplitude slider is the height 2 cm from a dipper; q is computed from it. The plane-wave bar uses the one-dimensional result eta = q / (2 w c).
Interference and diffraction
Two in-phase sources a distance d apart give maxima where the path difference is a whole number of wavelengths, d sin(theta) = m lambda, and nodal lines where it is a half-integer. Between the sources the two waves form a standing pattern with nodes at (2m + 1) lambda / 4 from the centre, which the second check measures. A single slit of width a sends a beam with first nulls at sin(theta) = lambda / a; a double slit multiplies that by the two-slit fringes. The dashed curve in the intensity graph adds Huygens wavelets (amplitude 1/sqrt r, phase k r) for the sources or slit openings.
Refraction at a shelf
Where the water gets shallower the wave slows (c ~ sqrt h), the frequency stays fixed, so the wavelength shrinks and the wave fronts bend towards the normal: sin(theta1) / sin(theta2) = c1 / c2 (Snell's law for water waves). Tilt the shelf edge to see it.
Lamp projection
In a real ripple tank a lamp above the water projects the surface onto a white sheet. Crests act as converging lenses and troughs as diverging lenses, so the picture brightness follows the surface curvature, I ~ 1 + K laplacian(eta). The “Lamp projection” view shows exactly that quantity from the simulated surface.
Honest simplifications
Real ripple-tank waves at a few hertz are capillary-gravity waves and are dispersive (w^2 = (g k + sigma k^3 / rho) tanh(k h)); this model keeps only the non-dispersive long-wave speed sqrt(g h), which holds when k h is small, and amplitudes are small enough for the linear equation. Viscous damping is one constant gamma. The beach is a smooth sponge layer, not a physical slope. Barrier walls reflect perfectly (zero flux). Time runs in slow motion by default.
What to try
- Choose Two-source interference and widen the separation: count the nodal lines and compare with
d sin(theta) = m lambda. - Switch to Opposite-phase pair: the centre line becomes a node instead of an antinode.
- Run Double slit, then narrow the slit width until the pattern spreads: diffraction needs
acomparable tolambda. - Pick Refraction at a shelf and tilt the edge: wavelength shrinks by
sqrt(h2/h1)and the fronts bend. - Turn the beach off with the solid wall: a standing wave with nodes
lambda/2apart forms. - Use the Lamp projection view and compare with what the real classroom screen shows.