Skip to content

Reaction-Diffusion system simulation in Dyalog APL and BQN

Notifications You must be signed in to change notification settings

dlozeve/reaction-diffusion

Repository files navigation

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.

About

Reaction-Diffusion system simulation in Dyalog APL and BQN

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published