Base class for the simulation of an SIR compartmental infection model on a temporal network. Pass this to
tacoma.api.gillespie_SIR()to simulate and retrieve the simulation results.
__init__(self: _tacoma.SIR, N: int, t_simulation: float, infection_rate: float, recovery_rate: float, number_of_initially_infected: int = 1, number_of_initially_vaccinated: int = 0, sampling_dt: float = 0.0, seed: int = 0, save_infection_events: bool = False, stop_simulation_when_all_initially_infected_recovered: bool = False, 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 R\) 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\).
- sampling_dt (float, default = 0.0) – If this is
>0.0, save observables roughly every sampling_dt instead of on every change.
- seed (int, default = 0) – Seed for RNG initialization. If this is 0, the seed will be initialized randomly.
- save_infection_events (bool, default = False) – If true, the edge along which each infection event occurs is saved in the variable infection_events. Will be set to True automatically if stop_simulation_when_all_initially_infected_recovered is True.
- stop_simulation_when_all_initially_infected_recovered (bool, default = False) – If true, the simulation will be stopped as soon as all initially infected have recovered. This can be used to measure the impact a single individual has. If set to true, save_infection_events will be set to True, as well, such that the infection trees can be inferred.
- 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 number of recovered 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\).
A list containing the edges along which each infection event took place, in the form (infection_source, susceptible).
A list containing the nodes that were infected initially
Absolute run time of the simulation.
A list containing the time points at which one or more of the observables changed.