Water Ripple Tank (3D)

A Blender lab bench with a glass ripple tank: plane waves, slits, beach and ducks riding the real wave field.

Presets

Playback

Scene

Wave source and water

Slits and sources

Time and drops

Camera

Layers

Quality

Model check

The science

What the 3D scene shows

The water mesh is the computed surface height, drawn with an adjustable vertical exaggeration because real ripples are millimetres high on a tank 1 m wide. The ducks float on the surface at the probe points and tilt with the local slope. The paddle, the metal barriers and the foam beaches are the same objects as in the 2D page. Everything is driven by the same solver code.

The wave equation

For waves much longer than the depth, the surface height eta obeys the linear long-wave equation eta_tt = div( g h grad eta ) with speed c = sqrt(g h). Deeper water carries waves faster; in shallow water they slow down and, because the energy flux is conserved, grow taller: Green's law A ~ h^(-1/4) on a beach.

Interference

Two coherent sources, or the two slits of a barrier, produce maxima where the path difference is a whole number of wavelengths, r1 - r2 = m lambda with lambda = c / f. The page compares the measured time-averaged intensity on the screen line with these predicted positions, including the near-field geometry. A slit narrower than a wavelength radiates almost like a point source; wider slits give a narrower central beam.

Numerics

Leapfrog time stepping with a conservative 5-point stencil; the time step is 0.45 dx / c, inside the stability limit c dt / dx < 1/sqrt(2). Walls have zero normal flux, so waves reflect without changing sign. The absorbing beach is a smooth damping ramp over 16 cells. The discrete energy K + P is conserved exactly by the scheme without damping.

Honest simplifications

The model is linear and non-dispersive: real water waves with wavelengths comparable to the depth travel at sqrt((g/k) tanh(kh)), and capillary waves are faster still; amplitudes are small, so there is no breaking, no nonlinear steepening and no surface tension. Damping is a single viscous rate. Wavelengths below about 8 cells would show numerical dispersion.

Model checks: energy conservation in a closed tank, plane-pulse speed against sqrt(g h) at the chosen depth, and the double-slit fringe positions against the path-difference prediction.

Loading model...
Loading Blender model...
Probe heights over time
Surface along the centre line (dashed: amplitude envelope)
Energy: kinetic, potential, total
Screen intensity vs prediction / depth and wavelength
Made with 🟠 Blender · Three.js