Hans Nesse - Global Health - SEIR Model

Population graph label

Time (days)

The SEIR models the flows of people between four states: susceptible (S), exposed (E), infected (I), and resistant (R). Each of those variables represents the number of people in those groups. The parameters alpha and beta partially control how fast people move from being susceptible to exposed (beta), from exposed to infected (sigma), and from infected to resistant (gamma). This model has two additional parameters; one is the background mortality (mu) which is unaffected by disease-state, while the other is vaccination (nu). The vaccination moves people from the susceptible to resistant directly, without becoming exposed or infected.

The SEIR differs from the SIR model in the addition of a latency period. Individuals who are exposed (E) have had contact with an infected person, but are not themselves infectious.

The boxes on the right side of the page control the parameters of the model. The page should load with some parameters already in the box. Click "submit" to run the model. The parameters can all be modified and the model re-run. The parameters are
BetaThe parameter controlling how often a susceptible-infected contact results in a new exposure.
GammaThe rate an infected recovers and moves into the resistant phase.
SigmaThe rate at which an exposed person becomes infective.
MuThe natural mortality rate (this is unrelated to disease). This models a population of a constant size,
Initial susceptibleThe number of susceptible individuals at the beginning of the model run.
Initial exposedThe number of exposed individuals at the beginning of the model run.
Initial infectedThe number of infected individuals at the beginning of the model run.
Initial recoveredThe number of recovered individuals at the beginning of the model run.
DaysControls how long the model will run.
This program runs on your computer, so some computers may run faster than others. It is probably a good idea not to set the number iterations or the initial populations too high, since it will take longer to run. Note that cookies must be enabled for the algorithm to function.

This is an ordinary differential equation model, described by the following equation:

derivative of S with respect to t equals
The simulation uses the fourth-order Runge-Kutta algorithm to solve it numerically, with a step size fixed at 0.01, written in JavaScript. The plotting methods are from the flot module. Both the ode simulation and the script in this page calling it are new, so there may still be some unanticipated bugs (I am also fairly new to the language, so my code may be inefficient or bizarre in places). Internet Explorer may not work since it has not yet adopted the canvas element, which is used in plotting.