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 sand a little way along the coast. 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 model computes that exact Q at every along-coast cell boundary each frame, then integrates a 1D sediment-conservation ODE along the coast:
dV_i/dt = Q_(i-1→i) − Q_(i→i+1) − erosion·dt
A groyne blocks the bedload path at its cell boundary: the transport rate Q crossing that boundary is forced toward zero, so sand keeps arriving from updrift and piles against the wall (accretion, dV/dt > 0 immediately updrift) while the cell just downdrift receives nothing and is worn back by ordinary wave attack with no replacement (erosion, dV/dt < 0). Reversing the sign of θ reverses the sign of Q everywhere, so the accretion/erosion pairing at every groyne flips sides too.
- Wave approach angle — sign sets the drift direction (right/left along the coast); larger |θ| (up to the 45° that maximises sin 2θ) drives faster transport.
- Wave energy — scales H_b^(5/2), i.e. the transport rate.
- Updrift sediment supply — scales how much sand feeds in from the up-drift boundary of the whole coast.
- Number of groynes — evenly spaced traps; watch accretion pile up on their updrift face while the downdrift bars starve and drop below the baseline, forming the classic sawtooth beach-width profile.
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.