Create an ‘SISe’ model to be used by the simulation framework.
Usage
SISe(
u0,
tspan,
events = NULL,
phi = NULL,
upsilon = NULL,
gamma = NULL,
alpha = NULL,
beta_t1 = NULL,
beta_t2 = NULL,
beta_t3 = NULL,
beta_t4 = NULL,
end_t1 = NULL,
end_t2 = NULL,
end_t3 = NULL,
end_t4 = NULL,
epsilon = NULL
)
Arguments
- u0
A
data.frame
with the initial state in each node, i.e., the number of individuals in each compartment in each node when the simulation starts (see ‘Details’). The parameteru0
can also be an object that can be coerced to adata.frame
, e.g., a named numeric vector will be coerced to a one rowdata.frame
.- tspan
A vector (length >= 1) of increasing time points where the state of each node is to be returned. Can be either an
integer
or aDate
vector. ADate
vector is coerced to a numeric vector as days, wheretspan[1]
becomes the day of the year of the first year oftspan
. The dates are added as names to the numeric vector.- events
a
data.frame
with the scheduled events, seeSimInf_model
.- phi
A numeric vector with the initial environmental infectious pressure in each node. Will be repeated to the length of nrow(u0). Default is NULL which gives 0 in each node.
- upsilon
Indirect transmission rate of the environmental infectious pressure
- gamma
The recovery rate from infected to susceptible
- alpha
Shed rate from infected individuals
- beta_t1
The decay of the environmental infectious pressure in interval 1.
- beta_t2
The decay of the environmental infectious pressure in interval 2.
- beta_t3
The decay of the environmental infectious pressure in interval 3.
- beta_t4
The decay of the environmental infectious pressure in interval 4.
- end_t1
vector with the non-inclusive day of the year that ends interval 1 in each node. Will be repeated to the length of nrow(u0).
- end_t2
vector with the non-inclusive day of the year that ends interval 2 in each node. Will be repeated to the length of nrow(u0).
- end_t3
vector with the non-inclusive day of the year that ends interval 3 in each node. Will be repeated to the length of nrow(u0).
- end_t4
vector with the non-inclusive day of the year that ends interval 4 in each node. Will be repeated to the length of nrow(u0).
- epsilon
The background environmental infectious pressure
Details
The ‘SISe’ model contains two compartments; number of susceptible (S) and number of infectious (I). Additionally, it contains an environmental compartment to model shedding of a pathogen to the environment. Consequently, the model has two state transitions,
$$S \stackrel{\upsilon \varphi S}{\longrightarrow} I$$
$$I \stackrel{\gamma I}{\longrightarrow} S$$
where the transition rate per unit of time from susceptible to infected is proportional to the concentration of the environmental contamination \(\varphi\) in each node. Moreover, the transition rate from infected to susceptible is the recovery rate \(\gamma\), measured per individual and per unit of time. Finally, the environmental infectious pressure in each node is evolved by,
$$\frac{d\varphi(t)}{dt} = \frac{\alpha I(t)}{N(t)} - \beta(t) \varphi(t) + \epsilon$$
where \(\alpha\) is the average shedding rate of the pathogen to
the environment per infected individual and \(N = S + I\) the
size of the node. The seasonal decay and removal of the pathogen
is captured by \(\beta(t)\). It is also possible to include a
small background infectious pressure \(\epsilon\) to allow for
other indirect sources of environmental contamination. The
environmental infectious pressure \(\varphi(t)\) in each
node is evolved each time unit by the Euler forward method. The
value of \(\varphi(t)\) is saved at the time-points
specified in tspan
.
The argument u0
must be a data.frame
with one row for
each node with the following columns:
- S
The number of sucsceptible in each node
- I
The number of infected in each node
Beta
The time dependent beta is divided into four intervals of the year
where 0 <= day < 365
Case 1: END_1 < END_2 < END_3 < END_4
INTERVAL_1 INTERVAL_2 INTERVAL_3 INTERVAL_4 INTERVAL_1
[0, END_1) [END_1, END_2) [END_2, END_3) [END_3, END_4) [END_4, 365)
Case 2: END_3 < END_4 < END_1 < END_2
INTERVAL_3 INTERVAL_4 INTERVAL_1 INTERVAL_2 INTERVAL_3
[0, END_3) [END_3, END_4) [END_4, END_1) [END_1, END_2) [END_2, 365)
Case 3: END_4 < END_1 < END_2 < END_3
INTERVAL_4 INTERVAL_1 INTERVAL_2 INTERVAL_3 INTERVAL_4
[0, END_4) [END_4, END_1) [END_1, END_2) [END_2, END_3) [END_3, 365)