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.

Source Distribution

belousov-zhabotinsky-0.6.0.tar.gz (4.8 kB view hashes)

Uploaded Source

Built Distribution

belousov_zhabotinsky-0.6.0-py3-none-any.whl (17.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page