Modeling Infectious Diseases in Humans and Animals
Matt J. Keeling & Pejman Rohani

SIR model with sinusoidal births (page 184)

An alternative mechanism by which seasonal effects can enter the dynamics is through forcing the birth rate. In particular, the vast majority of temporate species has distinct breeding seasons, as such the birth-rate will be far higher at certain times of the year. For simplicity we model this season effect using a sinusoidal function. The basic equations are as follows:

α0 is the mean birth rate
α1 is the amplitude of sinuoidal forcing for the birth rate
is the frequency of the oscillations. We set ω=2π/365, such that oscillations are annual.
μ is the per capita death rate, and set equal to the average birth rate α0
γ is called the removal or recovery rate, though often we are more interested in its reciprocal (1/γ) which determines the average infectious period.
S(0) is the initial proportion of the population that are susceptible.
I(0) is the initial proportion of the population that are infectious.
All rates are specified in days.

The programs can return either standard time-series, or bifurcation plots. Bifurcation plots are achieved by setting α1 to be a vector in the Matlab code, or by setting Num_Bif_Steps in the parameter file for the C and Fortran code.

All parameters must be positive, α1 ≤ 1, and S(0)+I(0) ≤ 1

C++ ProgramPython ProgramFortran ProgramParametersMATLAB Code.

Questions and comments to: or
Princeton University Press
Our research web pages:
Matt Keeling      Pejman Rohani