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
Built Distribution
Hashes for belousov-zhabotinsky-0.6.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60cbb4871306eed4ac5f296d1d00a8a85ad7a30b75dfd53e77c08d0b1e21ddb5 |
|
MD5 | 5485f70328fdd4efdb61c223e9ad02eb |
|
BLAKE2b-256 | baf172feae9c395acf1949e36057b88675b97771373c767fe3a40bebe3cba1fa |
Hashes for belousov_zhabotinsky-0.6.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f499cbb056391795dae3c7ff031e1faa5ef2d164a48d7e708c6f7f4d69a9e65 |
|
MD5 | 016299ed6148eb99dad0542ae0e9ee8d |
|
BLAKE2b-256 | c94f2304947910eef93c317d0b60143d007cd1a6508ed3773796ee86f489454e |