CS 420/594 — Biologically Inspired Computation
NetLogo Simulation


This page was automatically generated by NetLogo 3.1.4. Questions, problems? Contact feedback@ccl.northwestern.edu.

The applet requires Java 1.4.1 or higher. It will not run on Windows 95 or Mac OS 8 or 9. Mac users must have OS X 10.2.6 or higher and use a browser that supports Java 1.4. (Safari works, IE does not. Mac OS X comes with Safari. Open Safari and set it as your default web browser under Safari/Preferences/General.) On other operating systems, you may obtain the latest Java plugin from Sun’s Java site.  General information on the models, including instructions for running them on your own computer, is available from the NetLogo Simulation Information Page.  To download this page, do not use "Save As," but right-click (or on Macs control-click) on this link.  You also need to download the NetLogo program, which you can do by right-clicking or control-clicking this link.

created with NetLogo

view/download model file: B-Z-Reaction.nlogo


The Belousov-Zhabotinsky reaction (or B-Z reaction for short) is an unusual chemical reaction. Instead of steadily moving towards a single equilibrium state, it oscillates back and forth between two such states. Before this "chemical oscillator" was discovered, it was thought that such a reaction could not exist.

If you do the reaction in a beaker, the whole beaker regularly changes color from yellow to clear and back again, over and over. In this case, we say that the reaction is oscillating in time. However, if you do the reaction in a thin layer of fluid trapped between two glass plates, then a beautiful pattern emerges of concentric or spiral waves of color change passing through the fluid. Here, the reaction is oscillating in both time and space.

This model is a cellular automaton (or CA) that produces spiral waves that resemble those produced by the B-Z reaction. Similar spiral waves have also been observed in biological systems, such as slime molds.

The B-Z reaction is a redox reaction that periodically moves between an oxidized and a reduced state, and has been demonstrated for various chemicals. This model does not attempt to replicate the actual mechanism of the chemical reaction, which is quite complex (including 18 reactions and 21 species, according to the Fields-Koros-Noyes model). The abstract features shared by the real reaction and this model include:

1. Two end states.
2. A positive feedback mechanism.
3. A negative feedback mechanism.

The positive feedback mechanism acts to push the system further in the direction that it is already going, reinforcing and amplifying the initial change. (In the chemical reaction, positive feedback comes from auto-catalysis.) The negative feedback mechanism pushes the system back in the opposite direction once a threshold is reached, suppressing or counteracting the effected change.


Each cell has a state which is an integer from 0 to max-state. We choose to show state 0 as black, max-state as white, and intermediate states as shades of red.

Suppose we call state 0 "healthy", max-state "sick", and anything in between "infected". Then the rules for how each cell changes at each step can be described as follows:

a) A cell that is sick becomes healthy.

b) A cell that is healthy may become infected, if enough of its eight neighbors are infected or sick. Whether this happens is affected by the k1 and k2 sliders. (Lower k1 means higher tendency to be infected by infected neighbors; lower k2 means higher tendency to be infected by sick neighbors.)

c) A cell that is infected computes its new state by averaging the states of itself and its eight neighbors, then adding the value of the g slider. (Higher g means infected cells get sicker more rapidly.)

a is the negative feedback; b and c are the positive feedback.

These are only qualitative descriptions. To see the actual math used, look at the FIND-NEW-STATE procedure in the Procedures tab.


Press SETUP to initialize each cell in the grid to a random state.

Press GO to run the model.


Run the model with the default slider settings.

What happens near the beginning of run?

After about 100 clock ticks, you should start to see spirals emerging.

After about 200 clock ticks, the spirals should fill the world.

Can you work out why the specific rules used produce patterns like the ones you see?


What if you do a really long run -- what happens?

What is the effect of varying the different sliders? You can think of k1 and k2 as affecting the tendency for healthy cells to become infected, and g as affecting the speed with which the infection gets worse.


This automaton is an example of a "reaction-diffusion" system. By altering the CA rules, you may be able to simulate other reaction-diffusion systems.


FIND-NEW-STATE is a long and rather complicated procedure. It could be clearer if it were split into subprocedures, but then the model wouldn't run quite as fast. Since this particular CA takes so many iterations to settle into its characteristic pattern, we decided that speed was important.

The WITHOUT-INTERRUPTION command is also used to speed up the model a little bit.


Boiling, in the Physics/Heat section, is another cellular automaton that uses similar, though simpler, rules. The early stages of the Boiling model resemble the early stages of this model.

Fireflies, in the Biology section, is analogous to the B-Z reaction in a stirred beaker (the whole beaker "synchronizes" so it's switching back and forth all at once, like the fireflies).

Many models in the NetLogo models library can be thought as systems composed of positive and/or negative feedback mechanisms.


The B-Z reaction is named after Boris Belousov and Anatol Zhabotinsky, the Russian scientists who discovered it in the 1950's.

A discussion of the chemistry behind the reaction, plus a movie and some pictures, are available at http://online.redwoods.cc.ca.us/instruct/darnold/DEProj/Sp98/Gabe/intro.htm .

The cellular automaton was presented by A.K. Dewdney in his "Computer Recreations" column in the August 1988 of Scientific American.

See http://www.hermetic.ch/pca/bz.htm for a pretty screen shot of the cellular automaton running on a very large grid (using custom software for Windows, not NetLogo).

To refer to this model in academic publications, please use: Wilensky, U. (2003). NetLogo B-Z Reaction model. http://ccl.northwestern.edu/netlogo/models/B-ZReaction. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.

In other publications, please use: Copyright 2003 Uri Wilensky. All rights reserved. See http://ccl.northwestern.edu/netlogo/models/B-ZReaction for terms of use.

Return to CS 420/594 home page

Return to MacLennan's home page

Send mail to Bruce MacLennan / MacLennan@utk.edu

Valid HTML 4.01! This page is www.cs.utk.edu/~mclennan/Classes/420/NetLogo/B-Z-Reaction.html
Last updated: 2007-09-17.