How To Use The Amorphous Gray-Scott Simulator
- Introduction and Console Description
- The Controls
- Configuring The Simulator
- Setting Initial Conditions Manually
- The Status Area
- Adjusting The Process Parameters
Introduction and Console Description
Each square drawn in the main display area (the upper left area of the
console) represents a processor. Each one simulates a locus
(ie. reaction site) in the reaction-diffusion process according to the
Gray-Scott model. Click on a processor and a circle will appear
denoting the "sphere of influence" of a processor: the region that may
be affected in one time step due to diffusion. Diffusion is modeled
as an exchange process between each processor and all the other
processors within its sphere of influence (its neighbors). (The
neighbors are also highlighted with a white border whenever a new
processor is clicked on.) The status area in the lower left corner
will also display detailed information on
The color of a processor represents the concentration of u at
the locus that it simulates. Clicking the Watch v radiobutton
displays the concentration of v instead. The color bar, at the
lower right hand corner, indicates the ordering of the colors. The
two sliders immediately beneath the color bar are used for manually modifying the state of a processor.
The value indicated by each slider is printed below it, and the
corresponding color can be read off the color bar since the sliders
and the color bar are all on the same scale.
At the top right of the console, are the Time indicator and
the Update Rate menu. The unit
of time is a step and the value displayed
during a process run indicates the number of updates that each
processor has had a chance to perform. The value of the update rate
selection indicates how often the colors of the processors ought to be
updated in the main display area. While stepping
manually, the value of the update rate selection is ignored and
the main display area is updated during each time step.
The Update Rate selection determines the frequency at
which the main display is updated. The units are in
steps so higher values imply slower updates.
At the default value of 10, processors will update their colors every
10 steps. A change in the update rate while paused will become
effective after resumption, however the time at which the first update
after resuming occurs is determined by the previous rate.
The message line, just beneath the main display area, most of the time
indicates the neighborhood information. It also reports on the
applet's progress when new simulators are being constructed, which can
be a timely process for large numbers of processors. If the applet
appears unresponsive, check this line for clues on its actual status.
The New Button creates a new simulator.
Use this button to make the selections for the number of Processors, the Layout, the Topology and the Radius take effect. Constructing simulators
with many processors may be slow, please be patient. Check the Message Line for a progress report.
The Reset Button reinitializes the simulator.
this button to set the state of each processor according to the Initialize menu choice, and to make any new
parameter values take effect.
The Start/Stop/Continue Button acts like the Play button
on a VCR.
Once the simulator has been configured and initialized,
click on this button to see the evolution of the process. Click on it
again to pause the simulator. Click on it once more to resume. If
the button shows Start then clicking on it will cause any new
parameter changes (for the process, but not the simulator
configuration) to become effective. If the button shows Continue
or Stop then any parameter changes since the start of
the current process will not take effect. The parameters must remain
constant throughout the evolution of the process.
The Step By Button evolves the simulation by the number
of steps selected in the menu immediately to its right. One "step"
here means that each processor computes what its state will be at one
dt time unit in the future.
The Refresh Button forces the simulator to refresh the
entire display area.
Clicking on this button has no effect on the
computation of the process. Use it whenever the window manager fails
to redraw the applet's window properly, or to see the current state of
the simulator in between automatic screen updates.
Configuring The Simulator
The Processors menu selection indicates the approximate
number of processors in the simulation. A selection has no effect
until New is clicked. The number
to the immediate left of the menu is the actual number of processors
The Layout menu selection determines how the processors
are laid out. Coordinates range from 0 to 1 on each axis. The
explanation describes the coordinates assigned to each processor.
The Topology menu selection indicates whether opposite
edges of the field ought to be considered adjacent. There are four
- Random: A uniformly selected random position.
- Smoothed: A random coordinate chosen to try to avoid
- Grid: A point on a square lattice.
- Hexagonal: A point on a regular triangular lattice.
The Radius input box allows the radius of the sphere of
influence to be changed. The current value is displayed to the
immediate left of the box, and it gets updated only when a New simulator is created. See also Modifying Parameters.
- Rectangle: Neither pair of opposite edges is an adjacent
- V Cylinder: The top and bottom edges are adjacent, but
the left and right are not.
- H Cylinder: The left and right edges are adjacent, but
the top and bottom are not.
- Torus: Both pairs of opposite edges are adjacent.
The Initialize choice determines how the state
variables u and v are initialized. The descriptions
below describe the state assigned to each processor.
- Random : u and v are selected uniformly
from an interval of width 0.02 centered at the values on the sliders.
- Perturbed Square : u and v are set based on
the coordinates of the processor.
If (.45,.45) <= (x,y) <= (.55,.55)
(This option corresponds to the initial conditions described in the
article by Pearson in Science Vol. 261, pp 189-192.)
then u = .5 +/- 1% and v = .25 +/- 1%
else u = 1 and v = 0
- Manual : u and v are determined by the values on the sliders.
Setting State Manually
When the Initialize selection is set to Manual, clicking Reset causes all the
processors to be initialized to the u and v values on
the sliders. To set the state for an individual processor, double
click on the processor's square in the main display area. The The Status Area will display the information
for the processor before and after the change. Multiple processors can
be more conveniently set by moving the mouse while keeping the mouse
button depressed. Each processor visited in this way will behave as
if it had been double clicked.
Notice that the sliders can still be manipulated, allowing arbitrary
initial values for u and v to be set independently on
each processor, provided the values lie between 0 and 1
(inclusive). Once all the desired changes have been made,
clicking on Start evolves the process starting from the
NB: While in Manual mode, double clicking on a
processor will change its state, even if the process currently being
evolved was not initialized with Manual mode. To prevent accidental
state modification, select a different Initialize method (say
Perturbed Square) after the desired state has been setup.
The Status Area
The status area displays information about a processor on which a
mouse click is made. The first number is the id of the processor, the
number in parentheses is the number of neighbors it has. The pair of
numbers after the "@" are the processor's coordinates, and the two
numbers after the "=" are the u and v concentrations
For example, "1610(12)@(0.605, 0.837)=0.602 0.751" indicates that
processor number 1610 has 12 neighbors, is located at coordinates
(0.605, 0.837) and currently has u=0.602 and v=0.751.
When a processor's state is modified manually, its new state is
also printed in the status area.
Each parameter is associated with two numbers on the simulator's
console: one represents its current value, and the other is the value
it will assume the next time the simulator is
Reset. The number immediately to the right of the parameter name
indicates its current value. If the simulator is running, then that
value will be used throughout the duration of the current process
To change the value of the parameter, edit the box to the right of the
parameter name to show the desired new value. There is no need to
press Enter or click the mouse after making a change to a parameter's
box. The next time the simulator is
Reset, the parameters will be updated with the values in the
boxes, and the new values will be displayed in the spaces between the
parameter titles and the edit boxes.
Editing the Radius box works just like the
parameter boxes. However the value in the box does not get assigned
to the radius until the New button is
Return to Top of Page