Wind-blown dune migration - 2D side view

Wind speeds up over the crest, picks sand up from the windward slope and drops it in the lee, so the whole dune creeps downwind.

Switch to 3D

Presets

Playback

Initial sand

Wind and grains

Model checks

The science

Wind, threshold and flux

Wind speed at 10 m is turned into a friction (shear) velocity u* = κ U / ln(z / z0) with κ = 0.4 and roughness z0 = d/30. Grains are entrained only above the Bagnold threshold u*t = 0.1 √((ρs - ρ)g d / ρ), and the saturated horizontal flux is qs = C (ρ/g) √(d/D) (u* - u*t)(u* + u*t)2 (Kawamura form, C = 2.78, D = 0.25 mm).

Dune model

The shear stress over the bed follows a linear hill-flow law, τ/τ0 = 1 + A · H[h'] + B h', with H the Hilbert transform: the fastest wind sits just upwind of the crest. Real flux relaxes to saturation over a length ℓ (l dq/dx = qs - q), and the bed obeys the Exner equation ∂h/∂t = -(1/ρb) ∂q/∂x. Slopes above the 34° angle of repose avalanche, and where the lee slope exceeds 14° the flow separates (no shear, sand is dropped).

Honest simplifications: 1D cross-section (no barchan horns or lateral spreading), constant grain size, no moisture, vegetation or crust, no slope correction of the threshold, a crude separation rule instead of a bubble, and saltating grains are drawn illustratively (they are not tracked physically). The wind blows steadily above the threshold all the time, so migration speeds are an upper bound (real winds are intermittent and change direction), and nothing is calibrated to a specific site.

What to try
  • Compare Calm and Gale: no flux below the threshold, then a roughly cubic rise.
  • Run Two dunes: the small one is faster (c is about q/H) and catches up with the big one.
  • Raise the speed-up A and watch the crest erode and the dune flatten.
Shear velocity and sand flux along the dune
Crest position vs time
Saltation flux vs shear velocity