osecirvvs Namespace Reference

CPP API: mio::osecirvvs Namespace Reference
mio::osecirvvs Namespace Reference

Classes

struct  ContactPatterns
 the contact patterns within the society are modelled using an UncertainContactMatrix More...
 
struct  CriticalPerSevere
 the percentage of ICU patients per hospitalized patients in the SECIR model More...
 
struct  DailyFullVaccinations
 Total number of full vaccinations up to the given day. More...
 
struct  DailyPartialVaccinations
 Total number of first vaccinations up to the given day. More...
 
struct  DaysUntilEffectiveImprovedImmunity
 Time in days until second vaccine dose takes full effect. More...
 
struct  DaysUntilEffectivePartialImmunity
 Time in days until first vaccine dose takes full effect. More...
 
struct  DeathsPerCritical
 the percentage of dead patients per ICU patients in the SECIR model More...
 
struct  DynamicNPIsImplementationDelay
 The delay with which DynamicNPIs are implemented and enforced after exceedance of threshold. More...
 
struct  DynamicNPIsInfectedSymptoms
 the NPIs that are enforced if certain infection thresholds are exceeded. More...
 
struct  ICUCapacity
 the icu capacity in the SECIR model More...
 
struct  InfectiousnessNewVariant
 Represents the relative infectiousness of a new variant. More...
 
struct  MaxRiskOfInfectionFromSymptomatic
 risk of infection from symptomatic cases increases as test and trace capacity is exceeded. More...
 
class  Model
 
class  Parameters
 Parameters of an age-resolved SECIR/SECIHURD model with paths for partial and improved immunity through vaccination. More...
 
struct  RecoveredPerInfectedNoSymptoms
 the percentage of asymptomatic cases in the SECIR model More...
 
struct  ReducExposedImprovedImmunity
 Factor to reduce infection risk for persons with improved immunity. More...
 
struct  ReducExposedPartialImmunity
 Factor to reduce infection risk for persons with partial immunity. More...
 
struct  ReducInfectedSevereCriticalDeadImprovedImmunity
 Factor to reduce risk of hospitalization for persons with improved immunity. More...
 
struct  ReducInfectedSevereCriticalDeadPartialImmunity
 Factor to reduce risk of hospitalization for persons with partial immunity. More...
 
struct  ReducInfectedSymptomsImprovedImmunity
 Factor to reduce risk of developing symptoms for persons with improved immunity. More...
 
struct  ReducInfectedSymptomsPartialImmunity
 Factor to reduce risk of developing symptoms for persons with partial immunity. More...
 
struct  ReducTimeInfectedMild
 Factor to reduce infectious time of persons with partial or improved immunity. More...
 
struct  RelativeTransmissionNoSymptoms
 the relative InfectedNoSymptoms infectability More...
 
struct  RiskOfInfectionFromSymptomatic
 the risk of infection from symptomatic cases in the SECIR model More...
 
struct  Seasonality
 the seasonality in the SECIR model the seasonality is given as (1+k*sin()) where the sine curve is below one in summer and above one in winter More...
 
struct  SeverePerInfectedSymptoms
 the percentage of hospitalized patients per infected patients in the SECIR model More...
 
class  Simulation
 specialization of compartment model simulation for the SECIRVVS model. More...
 
struct  StartDay
 the start day in the SECIRVVS model The start day defines in which season the simulation can be started If the start day is 180 and simulation takes place from t0=0 to tmax=100 the days 180 to 280 of the year are simulated More...
 
struct  StartDayNewVariant
 the start day of a new variant in the SECIRVVS model The start day of the new variant defines in which day of the simulation the new variant is introduced. More...
 
struct  TestAndTraceCapacity
 capacity to test and trace contacts of infected for quarantine per day. More...
 
struct  TestAndTraceCapacityMaxRiskNoSymptoms
 Multiplier for the test and trace capacity to determine when it is considered overloaded from cases without symptoms. More...
 
struct  TestAndTraceCapacityMaxRiskSymptoms
 Multiplier for the test and trace capacity to determine when it is considered overloaded by symptomatic cases. More...
 
struct  TimeExposed
 the (mean) latent time in day unit More...
 
struct  TimeInfectedCritical
 the time people are treated by ICU before returning home in the SECIR model in day unit More...
 
struct  TimeInfectedNoSymptoms
 the (mean) time in day unit for asymptomatic cases that are infected but have not yet developed symptoms. More...
 
struct  TimeInfectedSevere
 the time people are 'simply' hospitalized before returning home in the SECIR model in day unit More...
 
struct  TimeInfectedSymptoms
 the infectious time for symptomatic cases that are infected but who do not need to be hospitalized in the SECIR model in day unit More...
 
struct  TransmissionProbabilityOnContact
 probability of getting infected from a contact More...
 
struct  VaccinationGap
 Time in days between first and second vaccine dose. More...
 

Typedefs

using Flows = TypeList< Flow< InfectionState::SusceptibleNaive, InfectionState::ExposedNaive >, Flow< InfectionState::ExposedNaive, InfectionState::InfectedNoSymptomsNaive >, Flow< InfectionState::InfectedNoSymptomsNaive, InfectionState::InfectedSymptomsNaive >, Flow< InfectionState::InfectedNoSymptomsNaive, InfectionState::SusceptibleImprovedImmunity >, Flow< InfectionState::InfectedNoSymptomsNaiveConfirmed, InfectionState::InfectedSymptomsNaiveConfirmed >, Flow< InfectionState::InfectedNoSymptomsNaiveConfirmed, InfectionState::SusceptibleImprovedImmunity >, Flow< InfectionState::InfectedSymptomsNaive, InfectionState::InfectedSevereNaive >, Flow< InfectionState::InfectedSymptomsNaive, InfectionState::SusceptibleImprovedImmunity >, Flow< InfectionState::InfectedSymptomsNaiveConfirmed, InfectionState::InfectedSevereNaive >, Flow< InfectionState::InfectedSymptomsNaiveConfirmed, InfectionState::SusceptibleImprovedImmunity >, Flow< InfectionState::InfectedSevereNaive, InfectionState::InfectedCriticalNaive >, Flow< InfectionState::InfectedSevereNaive, InfectionState::SusceptibleImprovedImmunity >, Flow< InfectionState::InfectedSevereNaive, InfectionState::DeadNaive >, Flow< InfectionState::InfectedCriticalNaive, InfectionState::DeadNaive >, Flow< InfectionState::InfectedCriticalNaive, InfectionState::SusceptibleImprovedImmunity >, Flow< InfectionState::SusceptiblePartialImmunity, InfectionState::ExposedPartialImmunity >, Flow< InfectionState::ExposedPartialImmunity, InfectionState::InfectedNoSymptomsPartialImmunity >, Flow< InfectionState::InfectedNoSymptomsPartialImmunity, InfectionState::InfectedSymptomsPartialImmunity >, Flow< InfectionState::InfectedNoSymptomsPartialImmunity, InfectionState::SusceptibleImprovedImmunity >, Flow< InfectionState::InfectedNoSymptomsPartialImmunityConfirmed, InfectionState::InfectedSymptomsPartialImmunityConfirmed >, Flow< InfectionState::InfectedNoSymptomsPartialImmunityConfirmed, InfectionState::SusceptibleImprovedImmunity >, Flow< InfectionState::InfectedSymptomsPartialImmunity, InfectionState::InfectedSeverePartialImmunity >, Flow< InfectionState::InfectedSymptomsPartialImmunity, InfectionState::SusceptibleImprovedImmunity >, Flow< InfectionState::InfectedSymptomsPartialImmunityConfirmed, InfectionState::InfectedSeverePartialImmunity >, Flow< InfectionState::InfectedSymptomsPartialImmunityConfirmed, InfectionState::SusceptibleImprovedImmunity >, Flow< InfectionState::InfectedSeverePartialImmunity, InfectionState::InfectedCriticalPartialImmunity >, Flow< InfectionState::InfectedSeverePartialImmunity, InfectionState::SusceptibleImprovedImmunity >, Flow< InfectionState::InfectedSeverePartialImmunity, InfectionState::DeadPartialImmunity >, Flow< InfectionState::InfectedCriticalPartialImmunity, InfectionState::DeadPartialImmunity >, Flow< InfectionState::InfectedCriticalPartialImmunity, InfectionState::SusceptibleImprovedImmunity >, Flow< InfectionState::SusceptibleImprovedImmunity, InfectionState::ExposedImprovedImmunity >, Flow< InfectionState::ExposedImprovedImmunity, InfectionState::InfectedNoSymptomsImprovedImmunity >, Flow< InfectionState::InfectedNoSymptomsImprovedImmunity, InfectionState::InfectedSymptomsImprovedImmunity >, Flow< InfectionState::InfectedNoSymptomsImprovedImmunity, InfectionState::SusceptibleImprovedImmunity >, Flow< InfectionState::InfectedNoSymptomsImprovedImmunityConfirmed, InfectionState::InfectedSymptomsImprovedImmunityConfirmed >, Flow< InfectionState::InfectedNoSymptomsImprovedImmunityConfirmed, InfectionState::SusceptibleImprovedImmunity >, Flow< InfectionState::InfectedSymptomsImprovedImmunity, InfectionState::InfectedSevereImprovedImmunity >, Flow< InfectionState::InfectedSymptomsImprovedImmunity, InfectionState::SusceptibleImprovedImmunity >, Flow< InfectionState::InfectedSymptomsImprovedImmunityConfirmed, InfectionState::InfectedSevereImprovedImmunity >, Flow< InfectionState::InfectedSymptomsImprovedImmunityConfirmed, InfectionState::SusceptibleImprovedImmunity >, Flow< InfectionState::InfectedSevereImprovedImmunity, InfectionState::InfectedCriticalImprovedImmunity >, Flow< InfectionState::InfectedSevereImprovedImmunity, InfectionState::SusceptibleImprovedImmunity >, Flow< InfectionState::InfectedSevereImprovedImmunity, InfectionState::DeadImprovedImmunity >, Flow< InfectionState::InfectedCriticalImprovedImmunity, InfectionState::DeadImprovedImmunity >, Flow< InfectionState::InfectedCriticalImprovedImmunity, InfectionState::SusceptibleImprovedImmunity > >
 
template<typename FP >
using ParametersBase = ParameterSet< StartDay< FP >, Seasonality< FP >, ICUCapacity< FP >, TestAndTraceCapacity< FP >, TestAndTraceCapacityMaxRiskNoSymptoms< FP >, TestAndTraceCapacityMaxRiskSymptoms< FP >, ContactPatterns< FP >, DynamicNPIsImplementationDelay< FP >, DynamicNPIsInfectedSymptoms< FP >, TimeExposed< FP >, TimeInfectedNoSymptoms< FP >, TimeInfectedSymptoms< FP >, TimeInfectedSevere< FP >, TimeInfectedCritical< FP >, TransmissionProbabilityOnContact< FP >, RelativeTransmissionNoSymptoms< FP >, RecoveredPerInfectedNoSymptoms< FP >, RiskOfInfectionFromSymptomatic< FP >, MaxRiskOfInfectionFromSymptomatic< FP >, SeverePerInfectedSymptoms< FP >, CriticalPerSevere< FP >, DeathsPerCritical< FP >, VaccinationGap< FP >, DaysUntilEffectivePartialImmunity< FP >, DaysUntilEffectiveImprovedImmunity< FP >, DailyFullVaccinations< FP >, DailyPartialVaccinations< FP >, ReducExposedPartialImmunity< FP >, ReducExposedImprovedImmunity< FP >, ReducInfectedSymptomsPartialImmunity< FP >, ReducInfectedSymptomsImprovedImmunity< FP >, ReducInfectedSevereCriticalDeadPartialImmunity< FP >, ReducInfectedSevereCriticalDeadImprovedImmunity< FP >, ReducTimeInfectedMild< FP >, InfectiousnessNewVariant< FP >, StartDayNewVariant< FP > >
 

Enumerations

enum class  InfectionState {
  SusceptibleNaive = 0 , SusceptiblePartialImmunity , ExposedNaive , ExposedPartialImmunity ,
  ExposedImprovedImmunity , InfectedNoSymptomsNaive , InfectedNoSymptomsPartialImmunity , InfectedNoSymptomsImprovedImmunity ,
  InfectedNoSymptomsNaiveConfirmed , InfectedNoSymptomsPartialImmunityConfirmed , InfectedNoSymptomsImprovedImmunityConfirmed , InfectedSymptomsNaive ,
  InfectedSymptomsPartialImmunity , InfectedSymptomsImprovedImmunity , InfectedSymptomsNaiveConfirmed , InfectedSymptomsPartialImmunityConfirmed ,
  InfectedSymptomsImprovedImmunityConfirmed , InfectedSevereNaive , InfectedSeverePartialImmunity , InfectedSevereImprovedImmunity ,
  InfectedCriticalNaive , InfectedCriticalPartialImmunity , InfectedCriticalImprovedImmunity , SusceptibleImprovedImmunity ,
  DeadNaive , DeadPartialImmunity , DeadImprovedImmunity , Count
}
 The InfectionState enum describes the possible categories for the infectious state of persons. More...
 

Functions

template<typename FP >
Graph< Model< FP >, MobilityParameters< FP > > draw_sample (Graph< Model< FP >, MobilityParameters< FP >> &graph)
 Draws samples for each model node in a graph. More...
 
template<typename FP >
void draw_sample (Model< FP > &model)
 Draws a sample from Model parameter distributions and stores sample values as Parameters parameter values (cf. More...
 
template<typename FP >
void draw_sample_demographics (Model< FP > &model)
 draws a sample from the specified distributions for all parameters related to the demographics, e.g. More...
 
template<typename FP >
void draw_sample_infection (Model< FP > &model)
 draws a sample from the specified distributions for all parameters related to the infection. More...
 
template<class Model >
std::vector< Modelensemble_params_percentile (const std::vector< std::vector< Model >> &ensemble_params, double p)
 computes the p percentile of the parameters for each node. More...
 
template<typename FP , class Base = mio::Simulation<FP, Model<FP>>>
FP get_infections_relative (const Simulation< FP, Base > &model, FP t, const Eigen::Ref< const Eigen::VectorX< FP >> &y)
 get percentage of infections per total population. More...
 
template<typename FP , class Base = mio::Simulation<FP, Model<FP>>>
auto get_mobility_factors (const Simulation< Base > &sim, FP, const Eigen::Ref< const Eigen::VectorX< FP >> &y)
 Get mobility factors. More...
 
template<typename FP >
auto simulate (FP t0, FP tmax, FP dt, const Model< FP > &model, std::unique_ptr< OdeIntegratorCore< FP >> &&integrator_core=nullptr)
 Specialization of simulate for SECIRVVS models using Simulation. More...
 
template<typename FP >
auto simulate_flows (FP t0, FP tmax, FP dt, const Model< FP > &model, std::unique_ptr< OdeIntegratorCore< FP >> &&integrator_core=nullptr)
 Specialization of simulate for SECIRVVS models using the FlowSimulation. More...
 
template<typename FP , class Base = mio::Simulation<FP, Model<FP>>>
auto test_commuters (Simulation< FP, Base > &sim, Eigen::Ref< Eigen::VectorX< FP >> mobile_population, FP time)
 

Typedef Documentation

◆ Flows

using mio::osecirvvs::Flows = typedef TypeList< Flow<InfectionState::SusceptibleNaive, InfectionState::ExposedNaive>, Flow<InfectionState::ExposedNaive, InfectionState::InfectedNoSymptomsNaive>, Flow<InfectionState::InfectedNoSymptomsNaive, InfectionState::InfectedSymptomsNaive>, Flow<InfectionState::InfectedNoSymptomsNaive, InfectionState::SusceptibleImprovedImmunity>, Flow<InfectionState::InfectedNoSymptomsNaiveConfirmed, InfectionState::InfectedSymptomsNaiveConfirmed>, Flow<InfectionState::InfectedNoSymptomsNaiveConfirmed, InfectionState::SusceptibleImprovedImmunity>, Flow<InfectionState::InfectedSymptomsNaive, InfectionState::InfectedSevereNaive>, Flow<InfectionState::InfectedSymptomsNaive, InfectionState::SusceptibleImprovedImmunity>, Flow<InfectionState::InfectedSymptomsNaiveConfirmed, InfectionState::InfectedSevereNaive>, Flow<InfectionState::InfectedSymptomsNaiveConfirmed, InfectionState::SusceptibleImprovedImmunity>, Flow<InfectionState::InfectedSevereNaive, InfectionState::InfectedCriticalNaive>, Flow<InfectionState::InfectedSevereNaive, InfectionState::SusceptibleImprovedImmunity>, Flow<InfectionState::InfectedSevereNaive, InfectionState::DeadNaive>, Flow<InfectionState::InfectedCriticalNaive, InfectionState::DeadNaive>, Flow<InfectionState::InfectedCriticalNaive, InfectionState::SusceptibleImprovedImmunity>, Flow<InfectionState::SusceptiblePartialImmunity, InfectionState::ExposedPartialImmunity>, Flow<InfectionState::ExposedPartialImmunity, InfectionState::InfectedNoSymptomsPartialImmunity>, Flow<InfectionState::InfectedNoSymptomsPartialImmunity, InfectionState::InfectedSymptomsPartialImmunity>, Flow<InfectionState::InfectedNoSymptomsPartialImmunity, InfectionState::SusceptibleImprovedImmunity>, Flow<InfectionState::InfectedNoSymptomsPartialImmunityConfirmed, InfectionState::InfectedSymptomsPartialImmunityConfirmed>, Flow<InfectionState::InfectedNoSymptomsPartialImmunityConfirmed, InfectionState::SusceptibleImprovedImmunity>, Flow<InfectionState::InfectedSymptomsPartialImmunity, InfectionState::InfectedSeverePartialImmunity>, Flow<InfectionState::InfectedSymptomsPartialImmunity, InfectionState::SusceptibleImprovedImmunity>, Flow<InfectionState::InfectedSymptomsPartialImmunityConfirmed, InfectionState::InfectedSeverePartialImmunity>, Flow<InfectionState::InfectedSymptomsPartialImmunityConfirmed, InfectionState::SusceptibleImprovedImmunity>, Flow<InfectionState::InfectedSeverePartialImmunity, InfectionState::InfectedCriticalPartialImmunity>, Flow<InfectionState::InfectedSeverePartialImmunity, InfectionState::SusceptibleImprovedImmunity>, Flow<InfectionState::InfectedSeverePartialImmunity, InfectionState::DeadPartialImmunity>, Flow<InfectionState::InfectedCriticalPartialImmunity, InfectionState::DeadPartialImmunity>, Flow<InfectionState::InfectedCriticalPartialImmunity, InfectionState::SusceptibleImprovedImmunity>, Flow<InfectionState::SusceptibleImprovedImmunity, InfectionState::ExposedImprovedImmunity>, Flow<InfectionState::ExposedImprovedImmunity, InfectionState::InfectedNoSymptomsImprovedImmunity>, Flow<InfectionState::InfectedNoSymptomsImprovedImmunity, InfectionState::InfectedSymptomsImprovedImmunity>, Flow<InfectionState::InfectedNoSymptomsImprovedImmunity, InfectionState::SusceptibleImprovedImmunity>, Flow<InfectionState::InfectedNoSymptomsImprovedImmunityConfirmed, InfectionState::InfectedSymptomsImprovedImmunityConfirmed>, Flow<InfectionState::InfectedNoSymptomsImprovedImmunityConfirmed, InfectionState::SusceptibleImprovedImmunity>, Flow<InfectionState::InfectedSymptomsImprovedImmunity, InfectionState::InfectedSevereImprovedImmunity>, Flow<InfectionState::InfectedSymptomsImprovedImmunity, InfectionState::SusceptibleImprovedImmunity>, Flow<InfectionState::InfectedSymptomsImprovedImmunityConfirmed, InfectionState::InfectedSevereImprovedImmunity>, Flow<InfectionState::InfectedSymptomsImprovedImmunityConfirmed, InfectionState::SusceptibleImprovedImmunity>, Flow<InfectionState::InfectedSevereImprovedImmunity, InfectionState::InfectedCriticalImprovedImmunity>, Flow<InfectionState::InfectedSevereImprovedImmunity, InfectionState::SusceptibleImprovedImmunity>, Flow<InfectionState::InfectedSevereImprovedImmunity, InfectionState::DeadImprovedImmunity>, Flow<InfectionState::InfectedCriticalImprovedImmunity, InfectionState::DeadImprovedImmunity>, Flow<InfectionState::InfectedCriticalImprovedImmunity, InfectionState::SusceptibleImprovedImmunity> >

◆ ParametersBase

Enumeration Type Documentation

◆ InfectionState

The InfectionState enum describes the possible categories for the infectious state of persons.

Enum is usable as an index, e.g. in CustomIndexArray. Suffix Naive means no immunity through vaccination or infection. Suffix PartialImmunity means vaccinated once. Suffix ImprovedImmunity means vaccinated twice or recovered from infection. Suffix Confirmed means infection has been confirmed by a test, e.g. during commute.

Enumerator
SusceptibleNaive 
SusceptiblePartialImmunity 
ExposedNaive 
ExposedPartialImmunity 
ExposedImprovedImmunity 
InfectedNoSymptomsNaive 
InfectedNoSymptomsPartialImmunity 
InfectedNoSymptomsImprovedImmunity 
InfectedNoSymptomsNaiveConfirmed 
InfectedNoSymptomsPartialImmunityConfirmed 
InfectedNoSymptomsImprovedImmunityConfirmed 
InfectedSymptomsNaive 
InfectedSymptomsPartialImmunity 
InfectedSymptomsImprovedImmunity 
InfectedSymptomsNaiveConfirmed 
InfectedSymptomsPartialImmunityConfirmed 
InfectedSymptomsImprovedImmunityConfirmed 
InfectedSevereNaive 
InfectedSeverePartialImmunity 
InfectedSevereImprovedImmunity 
InfectedCriticalNaive 
InfectedCriticalPartialImmunity 
InfectedCriticalImprovedImmunity 
SusceptibleImprovedImmunity 
DeadNaive 
DeadPartialImmunity 
DeadImprovedImmunity 
Count 

Function Documentation

◆ draw_sample() [1/2]

template<typename FP >
Graph<Model<FP>, MobilityParameters<FP> > mio::osecirvvs::draw_sample ( Graph< Model< FP >, MobilityParameters< FP >> &  graph)

Draws samples for each model node in a graph.

Some parameters are shared between nodes and only sampled once.

Template Parameters
FPfloating point type, e.g., double
Parameters
graphGraph to be sampled.
Returns
Graph with nodes and edges from the input graph sampled.

CHANGENOTE: Make sure to set the parameter InfectiousnessNewVariant. This function used to take a bool variant_high, setting InfectiousnessNewVariant to 1.6 if true, 1.4 otherwise, for all age groups.

◆ draw_sample() [2/2]

template<typename FP >
void mio::osecirvvs::draw_sample ( Model< FP > &  model)

Draws a sample from Model parameter distributions and stores sample values as Parameters parameter values (cf.

UncertainValue and Parameters classes)

Template Parameters
FPfloating point type, e.g., double
Parameters
[in,out]modelModel including contact patterns for alle age groups

◆ draw_sample_demographics()

template<typename FP >
void mio::osecirvvs::draw_sample_demographics ( Model< FP > &  model)

draws a sample from the specified distributions for all parameters related to the demographics, e.g.

population.

Template Parameters
FPfloating point type, e.g., double
Parameters
[in,out]modelModel including contact patterns for alle age groups

◆ draw_sample_infection()

template<typename FP >
void mio::osecirvvs::draw_sample_infection ( Model< FP > &  model)

draws a sample from the specified distributions for all parameters related to the infection.

Template Parameters
FPfloating point type, e.g., double
Parameters
[in,out]modelModel including contact patterns for alle age groups

◆ ensemble_params_percentile()

template<class Model >
std::vector<Model> mio::osecirvvs::ensemble_params_percentile ( const std::vector< std::vector< Model >> &  ensemble_params,
double  p 
)

computes the p percentile of the parameters for each node.

Parameters
ensemble_resultgraph of multiple simulation runs
ppercentile value in open interval (0, 1)
Returns
p percentile of the parameters over all runs

◆ get_infections_relative()

template<typename FP , class Base = mio::Simulation<FP, Model<FP>>>
FP mio::osecirvvs::get_infections_relative ( const Simulation< FP, Base > &  model,
FP  t,
const Eigen::Ref< const Eigen::VectorX< FP >> &  y 
)

get percentage of infections per total population.

Parameters
modelthe compartment model with initial values.
tcurrent simulation time.
ycurrent value of compartments.
Template Parameters
Basesimulation type that uses a secir compartment model. see Simulation.

◆ get_mobility_factors()

template<typename FP , class Base = mio::Simulation<FP, Model<FP>>>
auto mio::osecirvvs::get_mobility_factors ( const Simulation< Base > &  sim,
FP  ,
const Eigen::Ref< const Eigen::VectorX< FP >> &  y 
)

Get mobility factors.

Used by mobility graph simulation. Like infection risk, mobility of infected individuals is reduced if they are well isolated.

Parameters
modelthe compartment model with initial values.
tcurrent simulation time.
ycurrent value of compartments.
Returns
vector expression, same size as y, with mobility factors per compartment.
Template Parameters
Basesimulation type that uses a secir compartment model. see Simulation.

◆ simulate()

template<typename FP >
auto mio::osecirvvs::simulate ( FP  t0,
FP  tmax,
FP  dt,
const Model< FP > &  model,
std::unique_ptr< OdeIntegratorCore< FP >> &&  integrator_core = nullptr 
)
inline

Specialization of simulate for SECIRVVS models using Simulation.

Template Parameters
FPfloating point type, e.g., double.
Parameters
[in]t0start time.
[in]tmaxend time.
[in]dttime step.
[in]modelSECIRVVS model to simulate.
[in]integrator_coreoptional IntegratorCore, uses rk45 if nullptr.
Returns
Returns the result of the simulation.

◆ simulate_flows()

template<typename FP >
auto mio::osecirvvs::simulate_flows ( FP  t0,
FP  tmax,
FP  dt,
const Model< FP > &  model,
std::unique_ptr< OdeIntegratorCore< FP >> &&  integrator_core = nullptr 
)
inline

Specialization of simulate for SECIRVVS models using the FlowSimulation.

Template Parameters
FPfloating point type, e.g., double.
Parameters
[in]t0start time.
[in]tmaxend time.
[in]dttime step.
[in]modelSECIRVVS model to simulate.
[in]integrator_coreoptional IntegratorCore, uses rk45 if nullptr.
Returns
Returns the result of the Flowsimulation.

◆ test_commuters()

template<typename FP , class Base = mio::Simulation<FP, Model<FP>>>
auto mio::osecirvvs::test_commuters ( Simulation< FP, Base > &  sim,
Eigen::Ref< Eigen::VectorX< FP >>  mobile_population,
FP  time 
)