NetLogo banner

 Contact Us

 Modeling Commons

 User Manuals:


NetLogo User Community Models

(back to the NetLogo User Community Models)


by Elio Ramos (Submitted: 03/26/2004)

[screen shot]

Download bloodcells
If clicking does not initiate a download, try right clicking or control clicking and choosing "Save" or "Download".

(You can also run this model in your browser, but we don't recommend it; details here.)


This is a simulation of the control mechanism for the production
of white blood cells based on Mackey-Glass (1977). Blood cells
have a certain half-life but new replacements are produced
continuosly. It takes about four days for a new cell to mature
so there is a delay in the dynamics governing the number of
mature blood cells. The goal of any control system is to keep
a certain quantity at a constant level. However, in real
systems the control mechanism is not activated inmediately but
only after a certain delay corresponding to the period of maduration
of the blood cells. The resulting dynamics is characterized by
oscillations that for certain delays may turn chaotic. This simulation
pretends to ilustrate this process where an initial population of
blood cells are generated and new cells are produced in each time
step depending of the concentration of mature cells. The "young"
cells eventually are old enough to be mature and some of them die
in proportion with a decay constant. The model also ilustrate the
effect of a delayed mixed feedback in the dynamics of biological


This simulation is an individual based model (IBM) version of the classic
model of Mackey-Glass (1977) for phisiological control. The original
model is formulated as a delay differential equation (DDE) containing a term
corresponding to the production of new blood cells, P(x) and a decay term
(alpha) proportional to the number of mature cells in circulation. The
simulation was developed using the following procedure:

- Generate inital population of cells - Each cell contain two parameters:
an internal clock (ticks) initialized as zero and the initial state
of the cells (young or mature). The initialized cells are located randomly
in the graphics windows and in each time step the cells "move" in random

- In each time step the internal clock of each cell increases until it
reachs the state of maturity where the cell changes from "young" to
"mature". The time it takes to reach maturity is given by the delay
parameter (in days).

- In each time step we have to types of cells. Mature cells
and young cells. The production of new cells are determined by the
level of mature cells in circulation. For instance, if the total
amount of mature cells is high the production of new cells is low.
On the other hand, if the total amount of mature cells is low the
production mechanism is high. In any case the model define a production
function given by P(x) = (0.2 x)/(1 + x^10) which is the same used
in the Mackey-Glass delay differential equation model. Since the argument
in P(x) is a concentration the NetLogo codes works out the calculation
of concentration by dividing the number of cells in each time step
by an arbitrary normalization factor (100) that in general could be
calibrated with experimental data. The cell production mechanism is
represented by the procedure "cells-are-born". Also, and like the
original Mackey-Glass, the model contains a decay constant (alpha) that
correspond to the amount of cells dying in each time step represented
by the procedure "cells-die".


Button SETUP - Initialize the simulation by cleaning the plot region and the graphics section.

Button START/STOP - Start or stop the simulation. During the pause some of the parameters of the simulation can be modified

Slider initial_concentration - The initial concentration of mature blood cells in arbitrary units.

Slider delay - The period of maduration of the "young" cells in units of days.

Slider alpha - This is a decay constant that determines how many mature cells are going to die in each time step.

Slider ymin - Set the lower limit in the y-xis of the plot.

Slider ymax - Set the upper limit in the y-axis of the plot.

The graphics window shows the population of young blood cells (GREEN) and the population of mature cells (RED) in each time step. The young cells are produced in the left side of the graphics window.


If the initial concentration of blood cells is very low (0.2) the production of blood cells increases dramatically in a short period of time. On the other hand, if the
initial concentration is relatively high (2.0) the production decreases. This process
can be seen in the plot and also by the proportion of RED and GREEN cells in the graphics window.

As in the delay differential equation (DDE) model an increase in the delay parameter implies a transition from periodic oscillations to chaotic dynamics. However, there are certain windows of periodic oscillations.

The simulation is very sensitive to the decay parameter (alpha) if high values are selected the population dies inmediately.


Watch the dynamics of the simulation by moving back and forth the "delay" slider.
In this case we are looking at a more complicated version of the model where
we introduce a time dependent modulation in the delay parameter. Something similar
may be tried with the decay parameter but in this case the variations have to
be smaller.


Along the lines of the previous "THINGS TO TRY" section an interesting modification
could be that the delay parameter or the decay parameter varies periodically or quasi-periodically as a function of time.

Since the model pretends to "solve" a DDE the present model may be calibrated so
that the numerical values of the concentrations are fully consistent with standard
numerical solutions of DDEs using Euler or Runge-Kutta methods.


[1] Mackey, M.C., and Glass, L. 1977. Oscillation and chaos in physiological control systems. Science 197: 287-89.

[2] Glass, L., and Mackey, M.C. 1988. From Clocks to Chaos. New Jersey: Princeton University Press

(back to the NetLogo User Community Models)