Base class for the simulation of an SIS compartmental infection model on a temporal network. Pass this to
tacoma.api.gillespie_SIS()to simulate and retrieve the simulation results. This simulation runs until a certain amount of nodes have been infected at least once, which is useful to fifind the epidemic threshold and thus, only the lifetime of the process is measured. If you want to sample the standard observables, set
__init__(self: _tacoma.coverage_SIS, N: int, t_simulation: float, infection_rate: float, recovery_rate: float, number_of_initially_infected: int = 1, number_of_initially_vaccinated: int = 0, critical_coverage: float = 0.5, sampling_dt: float = -1.0, seed: int = 0, verbose: bool = False) → None¶
- N (int) – Number of nodes in the temporal network.
- t_simulation (float) – Maximum time for the simulation to run. Can possibly be greater than the maximum time of the temporal network in which case the temporal network is looped.
- infection_rate (float) – Infection rate per \(SI\)-link (expected number of reaction events \(SI\rightarrow II\) for a single \(SI\)-link per dimension of time).
- recovery_rate (float) – Recovery rate per infected (expected number of reaction events \(I\rightarrow S\) for a single infected node per dimension of time).
- number_of_initially_infected (int, default = 1) – Number of nodes which will be in the infected compartment at \(t = t_0\). Note that the default value 1 is not an ideal initial value as fluctuations may lead to a quick end of the simulation skewing the outcome. I generally recommend to use a number of the order of \(N/2\).
- number_of_initially_vaccinated (int, default = 0) – Number of nodes which will be in the recovered compartment at \(t = t_0\).
- critical_coverage (float, default = 0.5) – The simulation ends if the total number of nodes which were infected at least once exceeds this ratio.
- sampling_dt (float, default = -1.0) – If it is negative, do not save any observables but the life time of the process.
If this is
>0.0, save observables roughly every sampling_dt instead of on every change. If it is 0.0, sample at every change.
- seed (int, default = 0) – Seed for RNG initialization. If this is 0, the seed will be initialized randomly.
- verbose (bool, default = False) – Be talkative.
__init__(self, N, t_simulation, …)
param N: Number of nodes in the temporal network.
A list containing the number of infected at time \(t\).
A list containing the basic reproduction number defined as \(R_0(t) = \eta\left\langle k \right\rangle(t) / \rho\) where \(\eta\) is the infection rate per link and \(\rho\) is the recovery rate per node.
A list containing the number of \(SI\)-links at time \(t\).
The lifetime of the process.
The number of events happened during the process.
Absolute run time of the simulation.
A list containing the time points at which one or more of the observables changed.