Reaction-Diffusion system simulation using the Gray-Scott model, in Dyalog APL and BQN.
Install Dyalog APL and Netpbm (apt-get install netpbm). Then run
make. This will create the img.pnm and img.png files in the
current directory.
The images are generated from APL by creating a Netpbm file, which are
nice because they are just plain-text. It is then converted to PNG
using pnmtopng.
Clone bqn-graphics at the same level than this repository. Run the
./generate_animation.sh script. It requires GNU Parallel, Netpbm,
and ffmpeg.
PNM and PNG images are in the out directory, and the animation is in
out.mp4.
All the parameters are defined directly in grayscott.dyalog.
The parameters of the model are:
dt: the time step,da: the diffusion rate for A,db: the diffusion rate for B,f: the feed rate for A,k: the kill rate for B.
Additionally, you can change N, the size of the grid, and steps,
the number of time steps to simulate.
Finally, the function mat2pbm exports to a bitmap (black and white)
format, while mat2pgm exports a grayscale image.
This page gives a good explanation of the Gray-Scott model. This notebook gives a nice example of implementation in Python with Numpy. For even more details on the model and a classification of pattern, see this page.
