adamsgaard.dk

my academic webpage
git clone git://src.adamsgaard.dk/adamsgaard.dk # fast
git clone https://src.adamsgaard.dk/adamsgaard.dk.git # slow
Log | Files | Refs | README | LICENSE Back to index

commit cbeb46c93545d57a2822ab6fce7e1b5ef1656839
parent 3b51766e9842f2e890b6c3096fe52aaf62216754
Author: Anders Damsgaard <anders@adamsgaard.dk>
Date:   Thu, 30 Apr 2026 20:49:36 +0200

content: add post on duneweb cellular automata

Diffstat:
Aimg/duneweb.png | 0
Apages/020-duneweb.cfg | 7+++++++
Apages/020-duneweb.html | 65+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apages/020-duneweb.txt | 69+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 141 insertions(+), 0 deletions(-)

diff --git a/img/duneweb.png b/img/duneweb.png Binary files differ. diff --git a/pages/020-duneweb.cfg b/pages/020-duneweb.cfg @@ -0,0 +1,7 @@ +filename=duneweb.html +title=duneweb: Cellular automata for bedforms +description=Educational tool for visualizing how simple rules at the grain scale give rise to dunes and ripples. +id=duneweb +tags=science, education, cellular-automata +created=2026-04-30 +updated=2026-04-30 diff --git a/pages/020-duneweb.html b/pages/020-duneweb.html @@ -0,0 +1,65 @@ +<blockquote> +<p>Demo: <a href="https://andersdamsgaard.dk/duneweb">andersdamsgaard.dk/duneweb</a>.</p> +</blockquote> + +<figure class="pagefigure"> + <a href="https://andersdamsgaard.dk/duneweb"><img src="img/duneweb.png" + alt="duneweb" + class="pageimg"/></a> +</figure> + +<p><a href="https://andersdamsgaard.dk/duneweb">duneweb</a> is an interactive educational tool demonstrating how +cellular automata and self-organizing complexity explain bedforms: the +ripples and dunes that rivers, oceans, and deserts build under flowing +fluids.</p> + +<h2 id="motivation">Motivation</h2> +<p>Sediment on a river bed does not stay flat. Small perturbations grow +into regular ripples, which merge and evolve into larger dunes. This is +a consequence of feedback between flow, sediment transport, and +topography.</p> +<p>Systems like these appear in many places, from the stripes on sandy +beaches to the linear dunes sweeping across the Sahara, and studying +them reveals general patterns of complexity that emerge from local +interactions alone.</p> + +<h2 id="mechanics">Mechanics</h2> +<p>duneweb simulates a thin layer of sediment on a two dimensional grid. +Each cell holds a height representing the local bed elevation. The rules +are simple:</p> +<ul> + <li><strong>Upslope erosion</strong>: fluid motion lifts grains from the sediment bed.</li> + <li><strong>Downslope transport</strong>: grains hop or slide downhill.</li> + <li><strong>Deposition</strong>: grains settle when the local shear stress drops.</li> + <li><strong>Avalanching</strong>: when a slope exceeds a critical angle, +grains cascade to neighboring cells until stability is restored.</li> +</ul> +<p>These rules encode physical processes such as saltation (the hopping +of grains along the bed) and fluid driven transport, following +<a href="https://sseh.uchicago.edu/doc/Werner_1995.pdf">Werner (1995)</a>. No global +coordination is involved: each cell only &ldquo;talks&rdquo; to its neighbors. +From these local interactions, entire fields of dunes emerge.</p> +<p>You can adjust parameters directly in the browser: grain size, flow +speed, sediment supply, grid resolution. Watch how ripples form, +migrate, merge, and disappear as conditions change. The tool runs +entirely client side; no data is sent to a server.</p> + +<h2 id="scale">Scale</h2> +<p>Werner&rsquo;s model is deliberately abstract. Sand is moved as discrete +slabs on a lattice, governed by a hop length (counted in lattice sites), +two deposition probabilities, a shadow zone angle, and an angle of +repose. None of these parameters carry inherent physical units. The +model is scale free: macroscopic dune morphology emerges from local +rules regardless of what physical dimensions are assigned to the grid.</p> +<p>To relate the simulation to a real landscape, a user must choose a +physical cell size and scale time accordingly. The model does not +prescribe these choices.</p> + +<h2 id="c-implementation">C implementation</h2> +<p>A command-line C implementation is available for large grids and long +times. It implements the same algorithms with better performance, +suitable for batch experiments and quantitative analysis.</p> +<ul> + <li><a href="https://src.adamsgaard.dk/werner">Git: git://src.adamsgaard.dk/werner</a></li> + <li><a href="https://src.adamsgaard.dk/werner/file/README.rst.html">Web view of README</a></li> +</ul> diff --git a/pages/020-duneweb.txt b/pages/020-duneweb.txt @@ -0,0 +1,69 @@ + Demo: [1]andersdamsgaard.dk/duneweb. + +duneweb is an interactive educational tool demonstrating how +cellular automata and self-organizing complexity explain bedforms: the +ripples and dunes that rivers, oceans, and deserts build under flowing +fluids. + +## Motivation + +Sediment on a river bed does not stay flat. Small perturbations grow +into regular ripples, which merge and evolve into larger dunes. This is +a consequence of feedback between flow, sediment transport, and +topography. + +Systems like these appear in many places, from the stripes on sandy +beaches to the linear dunes sweeping across the Sahara, and studying +them reveals general patterns of complexity that emerge from local +interactions alone. + +## Mechanics + +duneweb simulates a thin layer of sediment on a two dimensional grid. +Each cell holds a height representing the local bed elevation. The rules +are simple: + + - Upslope erosion: fluid motion lifts grains from the sediment bed. + - Downslope transport: grains hop or slide downhill. + - Deposition: grains settle when the local shear stress drops. + - Avalanching: when a slope exceeds a critical angle, + grains cascade to neighboring cells until stability is restored. + +These rules encode physical processes such as saltation (the hopping +of grains along the bed) and fluid driven transport, following +[2]Werner (1995). No global coordination is involved: each cell only +"talks" to its neighbors. From these local interactions, entire fields +of dunes emerge. + +You can adjust parameters directly in the browser: grain size, flow +speed, sediment supply, grid resolution. Watch how ripples form, +migrate, merge, and disappear as conditions change. The tool runs +entirely client side; no data is sent to a server. + +## Scale + +Werner's model is deliberately abstract. Sand is moved as discrete +slabs on a lattice, governed by a hop length (counted in lattice sites), +two deposition probabilities, a shadow zone angle, and an angle of +repose. None of these parameters carry inherent physical units. The +model is scale free: macroscopic dune morphology emerges from local +rules regardless of what physical dimensions are assigned to the grid. + +To relate the simulation to a real landscape, a user must choose a +physical cell size and scale time accordingly. The model does not +prescribe these choices. + +## C implementation + +A command-line C implementation is available for large grids and long +times. It implements the same algorithms with better performance, +suitable for batch experiments and quantitative analysis. + + * Git: `git://src.adamsgaard.dk/werner` + * Web view: [3]src.adamsgaard.dk/werner + +References: + +[1] https://andersdamsgaard.dk/duneweb +[2] https://sseh.uchicago.edu/doc/Werner_1995.pdf +[3] https://src.adamsgaard.dk/werner/file/README.rst.html