This is a simulation of the Gray-Scott reaction-diffusion model running on the GPU. In such systems, an auto-catalytic reaction involving two chemical species is happenning concurrently with diffusion. Despite the apparent simplicity of the model, simulating it with cherry-picked sets of parameters produces a wide range of emerging behaviors.
- Run it in your browser : https://www.shadertoy.com/view/lXXcz7
- Detailed article : https://pierre-couy.dev/simulations/2024/09/gray-scott-shader.html
Reminds me of a classic Nile Red video where he recreates the Belousov-Zhabotinsky reaction, which looks somewhat similar though I don’t know enough chemistry to say if they’re actually related reactions.
I’ll make sure to look into it and tell you what the differences are. The patterns definetly look similar to the “wave” or “spirals” preset from my video
Hey ! I (superficially) looked up the Belousov-Zhabotinsky reaction and can confirm it is related to the Gray-Scott model.
The Belousov-Zhabotinsky reaction involves an autocatalytic reaction and chemical species diffusing at different rates, just like in the Gray-Scott model. The main differences are related to constraints of doing actual chemistry instead of simulating it :
- The speed constant is (roughly) fixed for any given reaction (and temperature). Scientists cannot tune speed constants like I did in the simulation
- In the simulation, we constantly add some “food” and remove some catalyst. In an actual chemical reactor, there must be an process to achieve this. A real world implementation of the Gray-Scott model would probably use something like a semi-permeable membrane above/below the petri dish. In the Belousov-Zhabotinsky reaction, it is other chemical reactions that ensure “food” gets replenished and the catalyst gets consumed
How very cool! Thanks for doing the research and reporting back! I love seeing such a clear and beautiful example of two models, one virtual, sharing emergent properties and behaviors.