INTERACTIVE COMPANION · PATTERN BENCH · REACTION-DIFFUSION
The Pattern Bench
Two chemicals. One feeds in and gets eaten, the other eats and breeds. Neither of them knows anything. Give the fast one a head start at spreading, wait, and a pattern appears out of a flat field. Turing worked this out in 1952 with no way to run it.
Below are two benches. The first lets you drive the feed and kill rates and watch what grows, with a marker showing where your settings sit on the phase diagram the club measured. The second is a ruler: you set how much faster the substrate diffuses than the autocatalyst, and the model prints the wavelength linear stability analysis predicts beside the wavelength the running pattern actually has. Both run entirely in your browser on a 128 by 128 periodic grid. The article's numbers come from a 256 by 256 grid, so the pictures here are coarser; the algebra is identical.
Model 1. Feed, kill, and what comes out
The equations are two lines:
$$\frac{\partial u}{\partial t} = D_u \nabla^2 u - uv^2 + F(1-u), \qquad \frac{\partial v}{\partial t} = D_v \nabla^2 v + uv^2 - (F+k)v$$\(u\) is the substrate, fed in everywhere at rate \(F\). \(v\) is the autocatalyst: the term \(uv^2\) means that where \(v\) already is, more \(v\) gets made, at the expense of \(u\). The \((F+k)v\) term removes it. Two numbers, \(F\) and \(k\), decide everything about the shape. The two diffusion coefficients decide the size, which is what Model 2 is about.
uniformspotsmazechaosTuring region
Why the phase diagram has a hole where the theory is
Turing's mechanism needs a uniform state that is stable on its own and unstable once things start moving. Gray-Scott has such a state, and the conditions for it can be written down exactly. Evaluate them across this whole window at a diffusion ratio of 2 and they hold at 0.4% of the points. Meanwhile the spots and mazes fill a broad tongue somewhere else entirely.
They are not Turing patterns in the strict sense. They are structures that have to be kicked into existence and then sustain themselves, which is why the starting-condition menu changes the answer so completely. Switch it to the Turing protocol at F = 0.034, k = 0.065 and watch the field go flat.
Model 2. The wavelength ruler
Now hold \(F = 0.074\), \(k = 0.062\), a point where the Turing conditions genuinely hold, and change only the diffusion ratio \(r = D_u/D_v\). Linear theory predicts a specific wavelength: the one whose growth rate is largest. The bench measures what the pattern actually has, from the peak of the radially averaged Fourier power spectrum of \(v\). Both numbers are printed.
The prediction is worth writing out, because it is not a fitted curve. At a uniform state \((u^*, v^*)\) the reaction Jacobian is
$$J = \begin{pmatrix} -v^{*2}-F & -2(F+k) \\ v^{*2} & F+k \end{pmatrix},$$a perturbation of wavenumber \(q\) grows when \(h(q^2) = D_u D_v q^4 - Bq^2 + \det J < 0\) with \(B = D_u(F+k) - D_v(v^{*2}+F)\), and the fastest-growing \(q\) is found by maximising the larger eigenvalue. Put \(D_u = D_v\) and \(B\) collapses to \(D\,\mathrm{tr}\,J\), which is negative whenever the state was stable to begin with. That is the whole reason the ratio has to exceed one.
- At the default settings
- F = 0.074, k = 0.062, Du = 0.16, Dv = 0.08
- Uniform steady state
- –
- trace J, det J
- –
- Turing coefficient B
- –
- Predicted wavelength
- –
- Club measurement, 256 grid
- 13.637 ± 0.137 cells in the linear phase, 13.887 ± 0.088 once it saturates
What this bench cannot tell you
A pattern that looks like an animal is not evidence that the animal makes it this way. Gray-Scott is a caricature with two components, chosen because it can be analysed by hand. Real skin has many signalling molecules, cells that crawl, tissue that grows while the pattern is forming, and gene expression that is noisy and discrete. Any of those can produce spots.
Notice also what this square domain cannot do. Run Model 1 anywhere in the maze region and you get a labyrinth, never aligned stripes, because nothing in a periodic square prefers a direction. Real animals are not periodic squares. They have axes, gradients and growth zones, and that is where the orientation of a zebra's stripes has to come from. The model supplies the spacing. Something else supplies the direction.