HomeArticlesMathematics

Diffusion-Limited Aggregation: How Random Walks Build Fractals

Release particles that wander like pollen in water and let them stick on contact — a spindly, self-similar dendrite grows almost by itself.

mysimulator teamUpdated June 2026≈ 7 min read▶ Open the simulation

A random walk with one sticky rule

Diffusion-limited aggregation, introduced by Thomas Witten and Leonard Sander in 1981, starts with a single fixed seed particle. New particles are released one at a time from far away and perform a random walk — a Brownian, direction-uncorrelated wander, the same physics as pollen jittering in water — until they either drift too far away and get discarded, or step onto a site adjacent to the growing cluster, where they stick permanently. The name comes from the fact that growth speed is set entirely by how fast particles can diffuse to the cluster, not by any chemistry at the point of contact.

live demo · random walkers sticking to a growing cluster● LIVE

Why the cluster is fractal, not a disk

If particles filled in evenly you would get a disk. They do not, because of a screening effect: the outward-facing tips of the cluster are the first thing an incoming walker meets, so they intercept the overwhelming majority of new particles before a walker can wander into a concave gap between two branches. The moment a tip pulls even slightly ahead, it captures a disproportionate share of future arrivals and grows faster still — an unstable, self-reinforcing process. This is a discrete, particle-based instance of Laplacian growth, the same instability that governs viscous fingering and electrodeposition. The result in two dimensions is a cluster with a fractal dimension of roughly 1.71, measurable by counting how the number of occupied sites within radius r scales with r.

N(r) ~ r^D          N = number of occupied sites within radius r
                     D ~ 1.71 for 2D DLA (a solid disk would give D = 2)

The stickiness parameter

At a sticking probability of 1, a walker attaches the instant it touches any occupied neighbour, which reinforces the screening effect to the maximum and produces the most open, tenuous dendrites. Lower the sticking probability and a walker can bounce off the cluster's neighbourhood repeatedly before finally attaching, giving it more chances to random-walk into the gaps between branches. That fills the structure in and produces visibly denser, less spindly clusters — the same slider used on this site's simulation.

Where DLA shows up in nature

The same geometry turns up wherever growth is limited by a diffusing quantity reaching a front: metal dendrites in electrodeposition (copper or zinc plating out of solution), viscous fingering when a thin fluid is pumped into a thicker one in a narrow Hele-Shaw cell, mineral dendrites growing in cracks in rock, and the branching discharge patterns known as Lichtenberg figures. Snowflakes and some bacterial colonies show DLA-like tip-splitting too, though their growth is also shaped by additional effects such as surface tension and anisotropic crystal lattices.

Simulating it efficiently

launch walker on a circle just outside the cluster's current radius
while walker is alive:
  step = randomDirection() * stepSize
  walker.pos += step
  if distance(walker.pos, origin) > killRadius:
    discard walker; launch a new one          // wandered off, save time
  if any of 8 neighbours is occupied:
    if random() < stickProbability:
      occupy(walker.pos); grow cluster radius if needed
      break
    // else: bounce off and keep walking

Frequently asked questions

Why does DLA grow spindly branches instead of a solid disk?

Because of a screening effect: the outer tips of the growing cluster are the first thing a wandering particle bumps into, so they intercept almost all new arrivals before a particle can wander into the deep concave gaps between branches. Once a tip pulls slightly ahead of its neighbours it captures a disproportionate share of the incoming particles, growing faster still, which is an unstable, self-reinforcing process typical of Laplacian growth.

What does the stickiness parameter actually control?

It sets the probability that a walker attaches the first time it touches an occupied neighbour. At probability 1, particles stick immediately on first contact, which reinforces the screening effect and produces very open, tenuous dendrites. Lower it and a walker can bounce past the surface several times before sticking, giving it more chances to wander into gaps, which fills the cluster in and produces denser, less branched structures.

Is diffusion-limited aggregation actually observed in real materials?

Yes. Electrodeposited metal (copper or zinc growing on an electrode), viscous fingering when a low-viscosity fluid is injected into a more viscous one in a Hele-Shaw cell, mineral dendrites in rock, and Lichtenberg figures all show the same branching, self-similar geometry, because in each case growth is limited by how fast a diffusing quantity — ions, fluid, or charge — can reach the growing front.

Try it live

Everything above runs in your browser — open Diffusion-Limited Aggregation and change the parameters while it is running. Nothing is installed, nothing is uploaded, the whole model lives in one tab.

▶ Open Diffusion-Limited Aggregation simulation

What did you find?

Add reproduction steps (optional)