Skip to main content

Simulation of the Belousov-Zhabotinski reaction using ASCII art

Project description

Belousov-Zhabotinsky

About

The python package you never knew you needed! Now you can appreciate all the glory of the Belousov-Zhabotinsky reaction (and also Turing Patterns) from the comfort of your console window in a state of the art ASCII art rendering. Your life will never be the same!

BONUS: easy to play around with the parameters and colors/chars. Since version 0.5 supports n-fold symmetrical grid ('cos why not).

Both the belousov-zhabotinsky reaction and turing patterns are classical examples of non-linear dynamics in chemical systems(or reaction-diffusion systems). Their dynamics can by described by simple systems of non-linear equations:

BZ Equations:

TP Equations:

WIP

The oscillatory behavior is only possible because those systems are far from thermodynamical equilibrium -- so there's no violation of the 2nd law. In the real word the oscillation will slowly die out due to dissipation of entropy.

You can learn more about the belousov-zhabotinsky reaction here:

https://en.wikipedia.org/wiki/Belousov-Zhabotinsky_reaction

Dynamics and Chaos - Steven H. Strogatz

Chaotic Dynamics, an indroduction - G. L. Baker and J. P. Gollub

Inspired by the following blog posts:

https://scipython.com/blog/simulating-the-belousov-zhabotinsky-reaction/

http://www.degeneratestate.org/posts/2017/May/05/turing-patterns/

Installation

No python 2 support

Needs numpy and scipy

You can pip install the python module with the following command

pip install --user belousov-zhabotinsky

Usage

$ belousov-zhabotinsky

Check options with: $ belousov-zhabotinsky --help

You can exit the program by pressing any key, but the Ctrl key may cause your terminal window to bug

Future

Update README.md and add a math overview

Write tests

Make it faster

Implement a screen saver

My First GitHub project; HOORAY!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for belousov-zhabotinsky, version 0.6.1
Filename, size File type Python version Upload date Hashes
Filename, size belousov_zhabotinsky-0.6.1-py3-none-any.whl (17.9 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size belousov-zhabotinsky-0.6.1.tar.gz (4.8 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page