Chladni plate - 2D sand patterns

Sand jumps where the plate moves and rests where it does not: the grains trace the nodal lines of the standing wave.

Switch to 3D

Presets

Playback

Mode pair (n, m)

Vibration and sand

Model checks

The science

Standing-wave modes of a square plate

The 3D page uses the classic Chladni approximation u(x,y) = cos(nπx)cos(mπy) − b cos(mπx)cos(nπy) with x,y in [−1,1]. The two terms are degenerate partners (same frequency for n ↔ m), so any mixture is a valid standing wave; b = 1 gives the symmetric combination, b = −1 the antisymmetric one. The plate is driven at the frequency of the chosen mode and moves as u(x,y) cos(ωt).

Why sand finds the nodal lines

Grains are thrown up where the plate moves, i.e. where |u| is large, and land at random. Each bounce is a random step whose size grows with |u|, so grains diffuse away from antinodes and pile up where u = 0. The steady density of such a walk is proportional to 1/|u| (capped by the grain size), the bright lines in the picture. For a simply supported square plate the frequency scales as f ∝ n² + m², which is the relative frequency shown in the third graph.

Honest simplifications: the cosine product is an idealised mode shape, not the exact free-edge plate solution (which needs a Ritz expansion); the frequency law is the simply supported one; air streaming and grain collisions are ignored; the sand dynamics are a stochastic toy that reproduces the correct patterns.

What to try
  • Press Shake sand loose and watch the nodal pattern emerge within 20 seconds.
  • Switch to Antisymmetric 3,4: the diagonal becomes an antinode.
  • Raise the drive strength to settle faster, lower the damping to blur the lines.
Displacement across the plate
Share of sand at the nodes
Mode spectrum n2 + m2