Reaction.

Two chemicals on a wrapping grid. One is fed in everywhere, the other eats it, and the only reason any of this makes a picture is that the eater spreads at half the speed of its food. Drag the crosshair on the phase map to retune the field live, and paint on the field to start something.

Drag on the field to paint

Readout

F
0.0000
k
0.0000
steps
0
mean v
0.0000
spread
0.0000
frame
0.0 ms
.

Phase map

k 0.030k 0.075
F rises upward, 0.005 to 0.090

Bright is where the field has to keep making structure. Dimmed is where the uniform mixture attracts and it fills up and stops. Flat grey, past the curve, is where no mixture exists at all.

Preset

.

Controls

7
8
0.50
1.00
What am I actually looking at

Every cell holds two numbers, u and v. On each step u is topped up towards 1 at rate F, v is drained at rate F + k, and wherever they meet, the reaction u + 2v -> 3v turns food into more eater. Both spread out by diffusion, and v spreads at half the rate of u. The colour is v.

The pale curve on the phase map is k = sqrt(F)/2 - F. Below and left of it the equations admit a uniform mixture with some v in it; above and right of it there is no such mixture at all. It is the boundary of the entire interesting part of the plane and it drops straight out of the quadratic, with no simulation involved.

Existing and attracting are different things, and the difference is the whole map. At any mixture u*v = F + k, which collapses the stability question to trace = k - v² and det = (F + k)(v² - F): the mixture pulls the field in only where beats both F and k. That is the dimmed part of the map, and a field parked there fills up and goes quiet. In the bright part the mixture exists and repels, so the field is not allowed to rest in it, and structure is what it does instead. A pattern is not the system settling down. It is the system with nowhere to settle.

Nothing here grows out of nothing either. The all-food state is stable to small nudges anywhere in the plane, which is why there is a brush: the field needs a real kick, not noise. Try painting a single stroke into an empty field, then dragging the crosshair slowly upward.

Two switches are there to be broken on purpose. Push dt past about 1.25 and the integrator loses stability and the field tears itself apart, which is the exact number the nine point stencil predicts. Switch the Laplacian to five point at dt = 1.0 and it sits precisely on its own stability boundary: a checkerboard appears and never fades, and every shape gets noticeably squarer.

Gray-Scott