Class Model¶
template <typename TSeq>
Core class of epiworld. More...
#include <model-bones.hpp>
Inherited by the following classes: ModelDiffNet, ModelMeaslesMixing, ModelMeaslesMixingRiskQuarantine, ModelMeaslesSchool, ModelSEIR, ModelSEIRCONN, ModelSEIRD, ModelSEIRDCONN, ModelSEIRMixing, ModelSEIRMixingQuarantine, ModelSIR, ModelSIRCONN, ModelSIRD, ModelSIRDCONN, ModelSIRLogit, ModelSIRMixing, ModelSIS, ModelSISD, ModelSURV
Public Attributes¶
| Type | Name |
|---|---|
| std::array< epiworld_double, 1024u *2u > | array_double_tmp |
| std::array< Virus< TSeq > *, 1024u *2u > | array_virus_tmp |
Public Functions¶
| Type | Name |
|---|---|
| Model () |
|
| Model (const Model< TSeq > & m) |
|
| Model (Model< TSeq > && m) |
|
| void | add_entity (Entity< TSeq > e) |
| void | add_globalevent (std::function< void(Model< TSeq > *)> fun, std::string name="A global action", int date=-99) Set a global action. |
| void | add_globalevent (GlobalEvent< TSeq > & action) |
| epiworld_double | add_param (epiworld_double initial_val, std::string pname, bool overwrite=false) |
| epiworld_fast_int | add_state (std::string lab, UpdateFun< TSeq > fun=nullptr) |
| void | add_tool (Tool< TSeq > & t) |
| void | add_user_data (epiworld_fast_uint j, epiworld_double x) |
| void | add_user_data (std::vector< epiworld_double > x) |
| void | add_virus (Virus< TSeq > & v) |
| void | agents_empty_graph (epiworld_fast_uint n=1000) |
| void | agents_from_adjlist (std::string fn, int size, int skip=0, bool directed=false) |
| void | agents_from_adjlist (AdjList al) |
| void | agents_from_edgelist (const std::vector< int > & source, const std::vector< int > & target, int size, bool directed) |
| Model< TSeq > & | agents_smallworld (epiworld_fast_uint n=1000, epiworld_fast_uint k=5, bool d=false, epiworld_double p=.01) |
| void | clear_state_set () |
| void | draw (DiagramType diagram_type=DiagramType::Mermaid, const std::string & fn_output="", bool self=false) Draws a mermaid diagram of the model. |
| void | events_run () Executes the stored action. |
| Agent< TSeq > & | get_agent (size_t i) |
| std::vector< Agent< TSeq > > & | get_agents () Returns a reference to the vector of agents. |
| double * | get_agents_data () |
| size_t | get_agents_data_ncols () const |
| std::vector< epiworld_fast_uint > | get_agents_states () const Returns a vector with the states of the agents. |
| std::vector< Viruses_const< TSeq > > | get_agents_viruses () const Returns a const vector with the viruses of the agents. |
| std::vector< Viruses< TSeq > > | get_agents_viruses () Returns a vector with the viruses of the agents. |
| DataBase< TSeq > & | get_db () |
| const DataBase< TSeq > & | get_db () const |
| void | get_elapsed (std::string unit="auto", epiworld_double * last_elapsed=nullptr, epiworld_double * total_elapsed=nullptr, std::string * unit_abbr=nullptr, bool print=true) const |
| std::vector< Entity< TSeq > > & | get_entities () |
| Entity< TSeq > & | get_entity (size_t entity_id, int * entity_pos=nullptr) |
| const Entity< TSeq > & | get_entity (size_t entity_id, int * entity_pos=nullptr) const |
| GlobalEvent< TSeq > & | get_globalevent (std::string name) Retrieve a global action by name. |
| GlobalEvent< TSeq > & | get_globalevent (size_t i) Retrieve a global action by index. |
| void | get_hospitalizations (std::vector< int > & date, std::vector< int > & virus_id, std::vector< int > & tool_id, std::vector< int > & count, std::vector< double > & weight) const Get the full time series of hospitalization data. |
| size_t | get_n_entities () const |
| epiworld_fast_uint | get_n_replicates () const |
| size_t | get_n_states () const |
| size_t | get_n_tools () const Number of tools in the model. |
| size_t | get_n_viruses () const Number of viruses in the model. |
| std::string | get_name () const |
| epiworld_fast_uint | get_ndays () const |
| epiworld_double | get_param (std::string pname) |
| Queue< TSeq > & | get_queue () Retrieve the Queue object. |
| std::shared_ptr< epi_xoshiro256ss > & | get_rand_endgine () |
| epiworld_double | get_rewire_prop () const |
| size_t | get_sim_id () const |
| const std::vector< UpdateFun< TSeq > > & | get_state_fun () const |
| const std::vector< std::string > & | get_states () const |
| Tool< TSeq > & | get_tool (size_t id) |
| Tool< TSeq > & | get_tool (std::string_view name) |
| const std::vector< ToolPtr< TSeq > > & | get_tools () const |
| UserData< TSeq > & | get_user_data () |
| bool | get_verbose () const |
| Virus< TSeq > & | get_virus (size_t id) |
| Virus< TSeq > & | get_virus (std::string_view name) |
| const std::vector< VirusPtr< TSeq > > & | get_viruses () const |
| bool | has_tool (std::string_view name) const |
| bool | has_virus (std::string_view name) const |
| virtual Model< TSeq > & | initial_states (std::vector< double >, std::vector< int >) |
| bool | is_directed () const |
| bool | is_queuing_on () const Query if the queuing system is on. |
| void | load_agents_entities_ties (std::string fn, int skip) Associate agents-entities from a file. |
| void | load_agents_entities_ties (const std::vector< int > & agents_ids, const std::vector< int > & entities_ids) Associate agents-entities from data. |
| void | load_agents_entities_ties (const int * agents_id, const int * entities_id, size_t n) |
| void | mutate_virus () |
| virtual void | next () |
| bool | operator!= (const Model< TSeq > & other) const |
| epiworld_double | operator() (std::string pname) |
| Model< TSeq > & | operator= (const Model< TSeq > & m) |
| bool | operator== (const Model< TSeq > & other) const |
| epiworld_double | par (std::string pname) const |
| std::map< std::string, epiworld_double > & | params () |
| const Model< TSeq > & | print (bool lite=false) const |
| void | print_state_codes () const |
| Model< TSeq > & | queuing_off () Deactivates the queuing system. |
| void | queuing_on () Activates the queuing system (default.) |
| int | rbinom () |
| int | rbinom (int n, epiworld_double p) |
| Model< TSeq > & | read_params (std::string fn, bool overwrite=false) |
| void | record_hospitalization (Agent< TSeq > & agent) Record a hospitalization event for an agent. |
| virtual void | reset () Reset the model. |
| void | rewire () |
| epiworld_double | rexp () |
| epiworld_double | rexp (epiworld_double lambda) |
| epiworld_double | rgamma () |
| epiworld_double | rgamma (epiworld_double alpha, epiworld_double beta) |
| int | rgeom () |
| int | rgeom (epiworld_double p) |
| epiworld_double | rlognormal () |
| epiworld_double | rlognormal (epiworld_double mean, epiworld_double shape) |
| void | rm_entity (size_t entity_id) |
| void | rm_globalevent (std::string name) Remove a global action by name. |
| void | rm_globalevent (size_t i) Remove a global action by index. |
| void | rm_tool (size_t tool_pos) |
| void | rm_virus (size_t virus_pos) |
| int | rnbinom () |
| int | rnbinom (int n, epiworld_double p) |
| epiworld_double | rnorm () |
| epiworld_double | rnorm (epiworld_double mean, epiworld_double sd) |
| int | rpoiss () |
| int | rpoiss (epiworld_double lambda) |
| virtual Model< TSeq > & | run (epiworld_fast_uint ndays, int seed=-1) Runs the simulation (after initialization) |
| void | run_globalevents () |
| Model< TSeq > & | run_multiple (epiworld_fast_uint ndays, epiworld_fast_uint nexperiments, int seed_=-1, std::function< void(size_t, Model< TSeq > *)> fun=make_save_run< TSeq >(), bool reset=true, bool verbose=true, int nthreads=1) |
| epiworld_double | runif () |
| epiworld_double | runif (epiworld_double a, epiworld_double b) |
| int | runif_int (int a, int b) |
| size_t | sample_from_probs (size_t n) Sample from a set of probabilities stored in array_double_tmp. |
| void | seed (size_t s) |
| void | set_agents_data (double * data_, size_t ncols_) Set the agents data object. |
| void | set_backup () |
| void | set_name (std::string name) Set the name object. |
| void | set_ndays (epiworld_fast_uint ndays) |
| void | set_param (std::string pname, epiworld_double val) |
| void | set_rand_binom (int n, epiworld_double p) |
| void | set_rand_engine (std::shared_ptr< epi_xoshiro256ss > & eng) |
| void | set_rand_exp (epiworld_double lambda) |
| void | set_rand_gamma (epiworld_double alpha, epiworld_double beta) |
| void | set_rand_geom (epiworld_double p) |
| void | set_rand_lognormal (epiworld_double mean, epiworld_double shape) |
| void | set_rand_nbinom (int n, epiworld_double p) |
| void | set_rand_norm (epiworld_double mean, epiworld_double sd) |
| void | set_rand_poiss (epiworld_double lambda) |
| void | set_rand_unif (epiworld_double a, epiworld_double b) |
| void | set_rewire_fun (std::function< void(std::vector< Agent< TSeq > > *, Model< TSeq > *, epiworld_double)> fun) |
| void | set_rewire_prop (epiworld_double prop) |
| void | set_user_data (std::vector< std::string > names) [@ |
| size_t | size () const |
| epiworld_fast_int | state_of (std::string_view name) |
| int | today () const The current time of the model. |
| void | update_state () |
| Model< TSeq > & | verbose_off () |
| Model< TSeq > & | verbose_on () |
| void | write_data (std::string fn_virus_info, std::string fn_virus_hist, std::string fn_tool_info, std::string fn_tool_hist, std::string fn_total_hist, std::string fn_transmission, std::string fn_transition, std::string fn_reproductive_number, std::string fn_generation_time, std::string fn_active_cases, std::string fn_outbreak_size, std::string fn_hospitalizations) const Wrapper of DataBase::write_data __ |
| void | write_edgelist (std::string fn) const |
| void | write_edgelist (std::vector< int > & source, std::vector< int > & target) const |
| virtual | ~Model () |
Protected Attributes¶
| Type | Name |
|---|---|
| double * | agents_data = nullptr |
| size_t | agents_data_ncols = 0u |
| int | current_date = 0 |
| DataBase< TSeq > | db = [**DataBase**](classDataBase.md)<TSeq>(\*this) |
| bool | directed = false |
| std::shared_ptr< epi_xoshiro256ss > | engine = std::make\_shared< [**epi\_xoshiro256ss**](classepi__xoshiro256ss.md) >() |
| std::vector< Entity< TSeq > > | entities = {} |
| std::vector< Event< TSeq > > | events = {}Variables used to keep track of the events to be made regarding viruses. |
| std::vector< GlobalEventPtr< TSeq > > | globalevents |
| std::function< void(Model< TSeq > *)> | initial_states_fun = /* multi line expression */ |
| int | last_seed = 0 |
| epiworld_fast_uint | n_replicates = 0u |
| epiworld_fast_uint | nactions = 0u |
| std::string | name = ""Name of the model. |
| epiworld_fast_uint | ndays = 0 |
| epiworld_fast_uint | nstates = 0u |
| std::map< std::string, epiworld_double > | parameters |
| Progress | pb |
| std::vector< Agent< TSeq > > | population = {} |
| std::vector< Agent< TSeq > > | population_backup = {} |
| std::vector< size_t > | population_left |
| size_t | population_left_n = 0u |
| Queue< TSeq > | queue |
| std::binomial_distribution | rbinomd = /* multi line expression */ |
| std::function< void(std::vector< Agent< TSeq > > *, Model< TSeq > *, epiworld_double)> | rewire_fun |
| epiworld_double | rewire_prop = 0.0 |
| std::exponential_distribution | rexpd = /* multi line expression */ |
| std::gamma_distribution | rgammad = /* multi line expression */ |
| std::geometric_distribution | rgeomd = /* multi line expression */ |
| std::lognormal_distribution | rlognormald = /* multi line expression */ |
| std::negative_binomial_distribution | rnbinomd = /* multi line expression */ |
| std::normal_distribution | rnormd = /* multi line expression */ |
| std::poisson_distribution | rpoissd = /* multi line expression */ |
| epiworld_double | runifd_a = 0.0 |
| epiworld_double | runifd_b = 1.0 |
| std::vector< Agent< TSeq > * > | sampled_population |
| size_t | sampled_population_n = 0u |
| size_t | sim_id = 0u |
| std::vector< UpdateFun< TSeq > > | state_fun = {}Functions to update states. |
| std::vector< std::string > | states_labels = {}Labels of the states. |
| std::chrono::duration< epiworld_double, std::micro > | time_elapsed = /* multi line expression */ |
| std::chrono::time_point< std::chrono::steady_clock > | time_end |
| std::chrono::time_point< std::chrono::steady_clock > | time_start |
| std::vector< ToolPtr< TSeq > > | tools = {} |
| bool | use_queuing = true |
| bool | using_backup = true |
| bool | verbose = true |
| std::vector< VirusPtr< TSeq > > | viruses = {} |
Protected Functions¶
| Type | Name |
|---|---|
| void | _add_event (Agent< TSeq > * agent_, VirusPtr< TSeq > virus_, ToolPtr< TSeq > tool_, Entity< TSeq > * entity_, epiworld_fast_int new_state_, epiworld_fast_int queue_, EventAction action_) Construct a new Event object. |
| void | _event_add_entity (Event< TSeq > & a) |
| void | _event_add_tool (Event< TSeq > & a) |
| void | _event_add_virus (Event< TSeq > & a) |
| void | _event_change_state (Event< TSeq > & a) |
| void | _event_rm_entity (Event< TSeq > & a) |
| void | _event_rm_tool (Event< TSeq > & a) |
| void | _event_rm_virus (Event< TSeq > & a) |
| void | chrono_end () |
| void | chrono_start () |
| virtual std::unique_ptr< Model< TSeq > > | clone_ptr () Advanced usage: Makes a copy of data and returns it as undeleted pointer. |
| virtual epiworld_double | death_reduction_mixer (Agent< TSeq > * agent, VirusPtr< TSeq > & virus) |
| void | dist_entities () |
| void | dist_tools () |
| void | dist_virus () |
| virtual epiworld_double | recovery_enhancer_mixer (Agent< TSeq > * agent, VirusPtr< TSeq > & virus) |
| void | set_sim_id (size_t id) |
| virtual epiworld_double | susceptibility_reduction_mixer (Agent< TSeq > * agent, VirusPtr< TSeq > & virus) |
| virtual epiworld_double | transmission_reduction_mixer (Agent< TSeq > * agent, VirusPtr< TSeq > & virus) |
Detailed Description¶
The model class provides the wrapper that puts together Agent, Virus, and Tools.
Template parameters:
TSeqType of sequence. In principle, users can build models in which virus and human sequence is represented as numeric vectors (if needed.)
Public Attributes Documentation¶
variable array_double_tmp¶
variable array_virus_tmp¶
Public Functions Documentation¶
function Model [1/3]¶
function Model [2/3]¶
function Model [3/3]¶
function add_entity¶
function add_globalevent [1/2]¶
Set a global action.
inline void Model::add_globalevent (
std::function< void( Model < TSeq > *)> fun,
std::string name="A global action",
int date=-99
)
Parameters:
funA function to be called on the prescribed datenameName of the action.dateInteger indicating when the function is called (see details)
When date is less than zero, then the function is called at the end of every day. Otherwise, the function will be called only at the end of the indicated date.
function add_globalevent [2/2]¶
function add_param¶
inline epiworld_double Model::add_param (
epiworld_double initial_val,
std::string pname,
bool overwrite=false
)
function add_state¶
function add_tool¶
function add_user_data [1/2]¶
function add_user_data [2/2]¶
function add_virus¶
function agents_empty_graph¶
function agents_from_adjlist [1/2]¶
inline void Model::agents_from_adjlist (
std::string fn,
int size,
int skip=0,
bool directed=false
)
function agents_from_adjlist [2/2]¶
function agents_from_edgelist¶
inline void Model::agents_from_edgelist (
const std::vector< int > & source,
const std::vector< int > & target,
int size,
bool directed
)
function agents_smallworld¶
inline Model < TSeq > & Model::agents_smallworld (
epiworld_fast_uint n=1000,
epiworld_fast_uint k=5,
bool d=false,
epiworld_double p=.01
)
function clear_state_set¶
function draw¶
Draws a mermaid diagram of the model.
inline void Model::draw (
DiagramType diagram_type=DiagramType::Mermaid,
const std::string & fn_output="",
bool self=false
)
Parameters:
modelThe model to draw.fn_outputThe name of the file to write the diagram. If empty, the diagram will be printed to the standard output.selfWhether to allow self-transitions.
function events_run¶
Executes the stored action.
Parameters:
model_Model over which it will be executed.
function get_agent¶
function get_agents¶
Returns a reference to the vector of agents.
function get_agents_data¶
function get_agents_data_ncols¶
function get_agents_states¶
Returns a vector with the states of the agents.
function get_agents_viruses [1/2]¶
Returns a const vector with the viruses of the agents.
function get_agents_viruses [2/2]¶
Returns a vector with the viruses of the agents.
function get_db [1/2]¶
function get_db [2/2]¶
function get_elapsed¶
inline void Model::get_elapsed (
std::string unit="auto",
epiworld_double * last_elapsed=nullptr,
epiworld_double * total_elapsed=nullptr,
std::string * unit_abbr=nullptr,
bool print=true
) const
function get_entities¶
function get_entity [1/2]¶
function get_entity [2/2]¶
inline const Entity < TSeq > & Model::get_entity (
size_t entity_id,
int * entity_pos=nullptr
) const
function get_globalevent [1/2]¶
Retrieve a global action by name.
function get_globalevent [2/2]¶
Retrieve a global action by index.
function get_hospitalizations¶
Get the full time series of hospitalization data.
inline void Model::get_hospitalizations (
std::vector< int > & date,
std::vector< int > & virus_id,
std::vector< int > & tool_id,
std::vector< int > & count,
std::vector< double > & weight
) const
Parameters:
dateOutput vector for dates.virus_idOutput vector for virus IDs.tool_idOutput vector for tool IDs.countOutput vector for counts (number of hospitalized individuals).weightOutput vector for summed weights (fractional contribution based on tool distribution).
This is a wrapper for DataBase::get_hospitalizations(). Returns the full time series of hospitalization data. For each unique (virus_id, tool_id) combination observed, returns an entry for every day from 0 to ndays-1.
The count vector contains the actual number of individuals hospitalized for that (date, virus_id, tool_id) combination. This is useful for answering questions like "how many total people were hospitalized?" regardless of their tools.
The weight vector contains fractional contributions: if an agent has N tools, each tool gets weight = 1/N. Summing weights across all tool_ids for a given date and virus_id gives the total number of hospitalizations.
function get_n_entities¶
function get_n_replicates¶
function get_n_states¶
function get_n_tools¶
Number of tools in the model.
function get_n_viruses¶
Number of viruses in the model.
function get_name¶
function get_ndays¶
function get_param¶
function get_queue¶
Retrieve the Queue object.
function get_rand_endgine¶
function get_rewire_prop¶
function get_sim_id¶
function get_state_fun¶
function get_states¶
function get_tool [1/2]¶
function get_tool [2/2]¶
function get_tools¶
function get_user_data¶
function get_verbose¶
function get_virus [1/2]¶
function get_virus [2/2]¶
function get_viruses¶
function has_tool¶
function has_virus¶
function initial_states¶
function is_directed¶
function is_queuing_on¶
Query if the queuing system is on.
function load_agents_entities_ties [1/3]¶
Associate agents-entities from a file.
The structure of the file should be two columns separated by space. The first column indexing between 0 and nagents-1, and the second column between 0 and nentities - 1.
Parameters:
fnPath to the file.skipHow many rows to skip.
function load_agents_entities_ties [2/3]¶
Associate agents-entities from data.
inline void Model::load_agents_entities_ties (
const std::vector< int > & agents_ids,
const std::vector< int > & entities_ids
)
function load_agents_entities_ties [3/3]¶
inline void Model::load_agents_entities_ties (
const int * agents_id,
const int * entities_id,
size_t n
)
function mutate_virus¶
function next¶
function operator!=¶
function operator()¶
function operator=¶
function operator==¶
function par¶
function params¶
function print¶
function print_state_codes¶
function queuing_off¶
Deactivates the queuing system.
function queuing_on¶
Activates the queuing system (default.)
function rbinom [1/2]¶
function rbinom [2/2]¶
function read_params¶
function record_hospitalization¶
Record a hospitalization event for an agent.
Parameters:
agentReference to the agent being hospitalized.
This is a wrapper for DataBase::record_hospitalization(). For each hospitalization, the method records:
* The current date from the model
* The virus ID from the agent's virus
* For each tool the agent has, a separate record with weight = 1/N where N is the number of tools
* If the agent has no tools, a single record with tool_id = -1 and weight = 1.0
function reset¶
Reset the model.
Resetting the model will:
* clear the database
* restore the population (if set_backup() was called before)
* re-distribute tools
* re-distribute viruses
* set the date to 0
function rewire¶
function rexp [1/2]¶
function rexp [2/2]¶
function rgamma [1/2]¶
function rgamma [2/2]¶
function rgeom [1/2]¶
function rgeom [2/2]¶
function rlognormal [1/2]¶
function rlognormal [2/2]¶
function rm_entity¶
function rm_globalevent [1/2]¶
Remove a global action by name.
function rm_globalevent [2/2]¶
Remove a global action by index.
function rm_tool¶
function rm_virus¶
function rnbinom [1/2]¶
function rnbinom [2/2]¶
function rnorm [1/2]¶
function rnorm [2/2]¶
function rpoiss [1/2]¶
function rpoiss [2/2]¶
function run¶
Runs the simulation (after initialization)
function run_globalevents¶
function run_multiple¶
inline Model < TSeq > & Model::run_multiple (
epiworld_fast_uint ndays,
epiworld_fast_uint nexperiments,
int seed_=-1,
std::function< void(size_t, Model < TSeq > *)> fun=make_save_run < TSeq >(),
bool reset=true,
bool verbose=true,
int nthreads=1
)
function runif [1/2]¶
function runif [2/2]¶
function runif_int¶
function sample_from_probs¶
Sample from a set of probabilities stored in array_double_tmp.
Uses a cumulative probability approach: draws a uniform random number and walks through array_double_tmp[0..n-1], accumulating probabilities until the draw is exceeded. If no event fires, returns n (meaning "none of the above").
Parameters:
nNumber of probability entries in array_double_tmp to consider.
Returns:
Index in [0, n] of the sampled event (n = no event).
function seed¶
function set_agents_data¶
Set the agents data object.
The data should be an array with the data stored in a column major order, i.e., by column.
Parameters:
data_Pointer to the first element of an array of sizesize() * ncols_.ncols_Number of features included in the data.
function set_backup¶
function set_name¶
Set the name object.
Parameters:
name
function set_ndays¶
function set_param¶
function set_rand_binom¶
function set_rand_engine¶
function set_rand_exp¶
function set_rand_gamma¶
function set_rand_geom¶
function set_rand_lognormal¶
function set_rand_nbinom¶
function set_rand_norm¶
function set_rand_poiss¶
function set_rand_unif¶
function set_rewire_fun¶
inline void Model::set_rewire_fun (
std::function< void(std::vector< Agent < TSeq > > *, Model < TSeq > *, epiworld_double )> fun
)
function set_rewire_prop¶
function set_user_data¶
[@
function size¶
function state_of¶
function today¶
The current time of the model.
function update_state¶
function verbose_off¶
function verbose_on¶
function write_data¶
Wrapper of DataBase::write_data __
inline void Model::write_data (
std::string fn_virus_info,
std::string fn_virus_hist,
std::string fn_tool_info,
std::string fn_tool_hist,
std::string fn_total_hist,
std::string fn_transmission,
std::string fn_transition,
std::string fn_reproductive_number,
std::string fn_generation_time,
std::string fn_active_cases,
std::string fn_outbreak_size,
std::string fn_hospitalizations
) const
Parameters:
fn_virus_infoFilename. Information about the virus.fn_virus_histFilename. History of the virus.fn_tool_infoFilename. Information about the tool.fn_tool_histFilename. History of the tool.fn_total_histFilename. Aggregated history (state)fn_transmissionFilename. Transmission history.fn_transitionFilename. Markov transition history.fn_reproductive_numberFilename. Case by case reproductive numberfn_generation_timeFilename. Generation time data.fn_active_casesFilename. Active cases data.fn_outbreak_sizeFilename. Outbreak size data.fn_hospitalizationsFilename. Hospitalization data.
function write_edgelist [1/2]¶
function write_edgelist [2/2]¶
inline void Model::write_edgelist (
std::vector< int > & source,
std::vector< int > & target
) const
function ~Model¶
Protected Attributes Documentation¶
variable agents_data¶
variable agents_data_ncols¶
variable current_date¶
variable db¶
variable directed¶
variable engine¶
variable entities¶
variable events¶
Variables used to keep track of the events to be made regarding viruses.
variable globalevents¶
variable initial_states_fun¶
Function to distribute states. Goes along with the function
variable last_seed¶
variable n_replicates¶
variable nactions¶
variable name¶
Name of the model.
variable ndays¶
variable nstates¶
variable parameters¶
variable pb¶
variable population¶
variable population_backup¶
variable population_left¶
variable population_left_n¶
variable queue¶
variable rbinomd¶
variable rewire_fun¶
std::function<void(std::vector<Agent<TSeq>>*,Model<TSeq>*,epiworld_double)> Model< TSeq >::rewire_fun;
variable rewire_prop¶
variable rexpd¶
variable rgammad¶
variable rgeomd¶
variable rlognormald¶
variable rnbinomd¶
variable rnormd¶
variable rpoissd¶
variable runifd_a¶
variable runifd_b¶
variable sampled_population¶
variable sampled_population_n¶
variable sim_id¶
variable state_fun¶
Functions to update states.
variable states_labels¶
Labels of the states.
variable time_elapsed¶
variable time_end¶
variable time_start¶
variable tools¶
variable use_queuing¶
variable using_backup¶
variable verbose¶
variable viruses¶
Protected Functions Documentation¶
function _add_event¶
Construct a new Event object.
inline void Model::_add_event (
Agent < TSeq > * agent_,
VirusPtr < TSeq > virus_,
ToolPtr < TSeq > tool_,
Entity < TSeq > * entity_,
epiworld_fast_int new_state_,
epiworld_fast_int queue_,
EventAction action_
)
Parameters:
agent_Agent over which the action will be calledvirus_Virus pointer included in the actiontool_Tool pointer included in the actionentity_Entity pointer included in the actionnew_state_New state of the agentqueue_Change in the queueaction_Action to execute when processing the event
function _event_add_entity¶
function _event_add_tool¶
function _event_add_virus¶
function _event_change_state¶
function _event_rm_entity¶
function _event_rm_tool¶
function _event_rm_virus¶
function chrono_end¶
function chrono_start¶
function clone_ptr¶
Advanced usage: Makes a copy of data and returns it as undeleted pointer.
Parameters:
copy
function death_reduction_mixer¶
inline virtual epiworld_double Model::death_reduction_mixer (
Agent < TSeq > * agent,
VirusPtr < TSeq > & virus
)
function dist_entities¶
function dist_tools¶
function dist_virus¶
function recovery_enhancer_mixer¶
inline virtual epiworld_double Model::recovery_enhancer_mixer (
Agent < TSeq > * agent,
VirusPtr < TSeq > & virus
)
function set_sim_id¶
function susceptibility_reduction_mixer¶
inline virtual epiworld_double Model::susceptibility_reduction_mixer (
Agent < TSeq > * agent,
VirusPtr < TSeq > & virus
)
function transmission_reduction_mixer¶
inline virtual epiworld_double Model::transmission_reduction_mixer (
Agent < TSeq > * agent,
VirusPtr < TSeq > & virus
)
The documentation for this class was generated from the following file epiworld-src/include/epiworld/model-bones.hpp