Skip to content

Latest commit

 

History

History
49 lines (33 loc) · 2.01 KB

File metadata and controls

49 lines (33 loc) · 2.01 KB

Reaction-Diffusion Model

Reaction-Diffusion system simulation using the Gray-Scott model, in Dyalog APL and BQN.

img.png

Running the Dyalog version

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.

Running the BQN version

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.

Parameters

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.

References

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.