drive run
avalanche ground
the abelian sandpile of Bak, Tang & Wiesenfeld (Self-organized criticality: an explanation of 1/f noise, Phys. Rev. Lett. 59, 381, 1987): add a grain when the pile is at rest, topple any cell holding ≥ 4 by giving one grain to each of its four neighbours, let grains fall off the edge, repeat · ← more sketches
why this is interesting — philosophy · technique · aesthetics

Philosophy — criticality with nobody at the dial. Physics knew about critical points long before 1987, but they were places you had to drive a system to: hold water at exactly 374 °C and 218 atm and it stops knowing whether it is a liquid or a gas, fluctuations appear at every scale, and one degree either way the magic is gone. Bak, Tang and Wiesenfeld's claim was that some systems go there by themselves and stay, with no parameter for anyone to set. Add sand slowly and the pile steepens; steep pile, big avalanches; big avalanches flatten it; flat pile, nothing happens and the sand piles back up. The critical slope is not a setting, it is the only place the dynamics can rest. The consequence is the unsettling part: at that state the size of the event is not proportionate to the size of the trigger. Every avalanche here is started by exactly one grain. Most do nothing, one in a thousand crosses the entire field, and the grain cannot be inspected beforehand to tell which — the difference is in the pile, not the grain, and the pile is not knowable in the relevant detail. That shape — no typical size, a power law instead of a bell curve — is what earthquake magnitudes look like (Gutenberg–Richter), and extinction sizes in the fossil record, and forest fires, and neuronal avalanches in cortical tissue, and the days a market falls. Whether real sand does this is genuinely doubtful; rice in a narrow box does, ordinary sand cheats by having inertia. But the model is not really about sand, it is about the class of systems that are always poised, where asking “what caused the big one” is the wrong question because the answer is always “a grain, like all the others.” Switch the drive to the centre and the same toppling rule builds a crystal instead: the power law was never in the rule, it was in the rule plus noise, and determinism drives the identical dynamics into order.

Technique — separation of timescales, and a worklist. The whole physics lives in one discipline: no grain is added while anything is still toppling. Drive slowly enough and avalanches never overlap, so each one is a well-defined event with a size you can count — break that and the distribution smears, which is why sand you pour by hand here is deliberately excluded from the histogram. Dissipation is the boundary and nothing else: grains that topple off the edge are gone, and without that leak there is no steady state, only a pile that fills forever. The cascade is run as a worklist — a queue of cells known to be over threshold, seeded by the grain and refilled by each topple — never as a rescan of the grid, because a hundred-thousand-toppling avalanche would otherwise cost a hundred thousand passes over thirty thousand cells. The queue is drained one generation at a time rather than depth-first, which costs nothing (the pile is abelian: the final configuration and the total toppling count are the same whatever order you use) and buys everything, because a generation is exactly the wavefront. What a power law then does to an animation is worth knowing: the mean avalanche is enormous, so if every event were drawn moving, the giants would eat every frame and the histogram would fill at a grain an hour. So only one avalanche at a time is rendered as a travelling front, and while it is on screen the rest are driven, relaxed and counted inside their tick, leaving only the spark where they started. Nothing is skipped and nothing is weighted — the distribution is over every event, watched or not — it is the wall clock that is compressed, not the physics. The same trick is what runs the pile through its first several hundred avalanches before the page paints, which is why there is already a line in the corner when you arrive, and why it goes on straightening while you watch. The inset is the piece's other half and has its own correctness conditions: bins of equal logarithmic width, and counts divided by bin width to get a density — skip that and the plotted slope is wrong by exactly one. What it deliberately does not have is a fitted line. The largest occupied bins bend down because the grid ends, not because of physics; and for avalanche size counted as total topplings, the 2D BTW pile is the famous awkward case — the distribution multiscales rather than obeying one exponent (Tebaldi, De Menech & Stella, 1999) — so a printed slope would claim a number the model does not own. The panel shows an apparent power-law regime across this finite lattice, and the straightness is left to your eye, which is the only reading the physics supports.

Aesthetics — the pile is quiet, the avalanche is light. The obvious rendering of a sandpile is four colours for four heights, and it is a diagram: legible, static, and it makes the avalanche invisible because a toppling cell just swaps one colour for another. So the height field is pushed down into a narrow band of cold mineral tones — near-black, slate, a pale glacial violet at 3 — enough to read as relief and terrain, not enough to compete. What is actually bright is a separate field with no physics in it at all: every toppling deposits light at its cell, and the light decays. A resting pile is therefore almost dark — scintillating only where the small avalanches keep going off, which is most of the time in most places — and an avalanche is a luminous front travelling over the terrain with a fading wake behind it, which is what an avalanche is — an event, not a state. The sand is drawn crisp at cell resolution and the light is drawn soft and bloomed over it, so the two never read as the same substance. The histogram is built as an instrument in the corner rather than a chart bolted on: no chrome, one hairline, decade ticks, and the bin flashes at the instant the avalanche that fed it stops moving — so you watch the wave die on the left and the record of it light up on the right, and the connection between the spectacle and the statistic is something you see rather than something you are told.

Honest weaknesses. The animation is a sample: one avalanche travels the field while the rest are driven, relaxed and counted invisibly — the statistics cover every event, the spectacle only the large ones. Sand you pour by hand is excluded from the histogram because it breaks slow driving, so pouring freezes the count, which can read as a bug. Centre mode runs a different camera — light gain and relief rescaled, or the crystal is invisible — and the relief readout says so rather than letting the slider lie. And the resting critical pile is genuinely uncorrelated cell to cell: pushed past about relief 2 the quiet tweed stops reading as terrain and goes back to being static.