The ecolab model can run in multicellular mode by calling
ecolab.set_grid
from TCL, specifying the dimensions of the
grid.. See
ecolab_spatial.tcl
for an example.
Only population density varies between the cells -- all other variables are members of the ecolab variable so can be set or queried in the usual way.
The usual ecolab model methods (generate, mutate, condense and
lifetimes)
can now be called, but operate on the entire grid. A new migrate is defined to handle migration between
cells. You can also call a method of the ecolab cell on all cells
using the forall
command. For instance, to set
all cells to same initial density, use:
ecolab.forall ecolab.density [constant $nsp 100]
Access to the individual cells can obtain by creating a TCL_obj to
refer to it by using the ecolab.get
method, which
creates commands like ecolab(x,y) to refer to the
cell. These can be fed to visualisers in the usual way.