Waves that break at an angle θ to the shoreline drive a net alongshore sediment flux. Each swash surges obliquely up the beach with the wave, but gravity pulls the backwash straight back down the steepest slope — so every wave cycle nudges a grain of sand a little way along the coast. Summed over a coastline, the classic CERC formulation gives the immersed-weight transport rate as
Q_l ∝ H_b^(5/2) · sin(2θ_b)
H_b = breaking wave height (here, "wave energy")
θ_b = wave-crest angle to the shoreline at breaking
This sim drives every sand grain's zigzag with that same sin(2θ) law, so the readout above and the particle motion you see are computed from one shared rule, not two disconnected numbers.
A groyne is a wall built out into the surf zone. It cannot stop waves, but it blocks the alongshore bedload path: sand keeps arriving from updrift and piles against the wall (accretion), while the stretch just downdrift receives nothing and is worn back by ordinary wave attack with no replacement (erosion). Each cell's sediment volume V obeys a simple continuity budget:
dV_i/dt = Q_in(i) − Q_out(i) − erosion·dt
- Wave approach angle — sign sets the drift direction (east/west along the coast); larger |θ| (up to the 45° that maximises sin 2θ) drives faster transport.
- Wave energy — scales how fast each swash/backwash cycle repeats, i.e. the transport rate.
- Updrift sediment supply — how much sand each grain carries when it deposits, modelling a richer or leaner up-coast source.
- Number of groynes — evenly spaced traps; watch accretion pile up on their updrift face while the downdrift bars starve and drop below the baseline.
Real-world relevance: this updrift-accretion / downdrift-starvation pattern is exactly why groyne fields are built in a series rather than singly, and why removing one groyne can trigger rapid erosion just downdrift of the gap.