CONFIGURATION

Configure a cEpiabm simulation.

Overview:

  • SimulationConfig

  • PopulationConfig

  • InfectionConfig

  • HostProgressionConfig

  • ConfigurationFactoryInterface

  • JsonFactory

CONFIGURATION

class SimulationConfig

Highest level master configuration class.

Class to contain configuration information on entire simulation.

Public Functions

inline SimulationConfig()

Construct a new Simulation Config object.

Public Members

InfectionConfigPtr infectionConfig
PopulationConfigPtr populationConfig
unsigned short timestepsPerDay
RandomManagerPtr randomManager
class PopulationConfig

Public Members

std::array<double, N_AGE_GROUPS> age_proportions
std::array<double, N_AGE_GROUPS> age_contacts
class InfectionConfig

Configuration subclass for infection configuration options.

Public Functions

inline InfectionConfig()

Construct a new Infection Config object.

Public Members

HostProgressionConfigPtr hostProgressionConfig
double basicReproductionNum
double infectionRadius
double probSymptomatic
double symptInfectiousness
double asymptInfectiousness
double latentToSymptDelay
double falsePositiveRate
double householdTransmission
double placeTransmission
std::array<unsigned int, N_PLACE_GROUPS> meanPlaceGroupSize
std::string spatial_distance_metric
class HostProgressionConfig

Configuration subclass for configuring an infection’s within host progression dynamics.

Public Members

InverseCDF latentPeriodICDF
InverseCDF asymptToRecovICDF
InverseCDF mildToRecovICDF
InverseCDF gpToRecovICDF
InverseCDF gpToHospICDF
InverseCDF gpToDeathICDF
InverseCDF hospToRecovICDF
InverseCDF hospToICUICDF
InverseCDF hospToDeathICDF
InverseCDF icuToICURecovICDF
InverseCDF icuToDeathICDF
InverseCDF icuRecovToRecovICDF
bool use_ages
std::array<double, N_AGE_GROUPS> prob_gp_to_hosp
std::array<double, N_AGE_GROUPS> prob_gp_to_recov
std::array<double, N_AGE_GROUPS> prob_exposed_to_asympt
std::array<double, N_AGE_GROUPS> prob_exposed_to_gp
std::array<double, N_AGE_GROUPS> prob_exposed_to_mild
std::array<double, N_AGE_GROUPS> prob_hosp_to_death
std::array<double, N_AGE_GROUPS> prob_hosp_to_recov
std::array<double, N_AGE_GROUPS> prob_hosp_to_icu
std::array<double, N_AGE_GROUPS> prob_icu_to_death
std::array<double, N_AGE_GROUPS> prob_icu_to_icurecov
std::vector<double> infectiousness_profile
class ConfigurationFactoryInterface

Interface class for configuration factories.

Factory pattern for configuration classes Must have loadConfig method which takes a filepath input and returns a SimulationConfig class

Subclassed by epiabm::JsonFactory

Public Functions

inline ConfigurationFactoryInterface()

Construct a new Configuration Factory Interface object.

virtual ~ConfigurationFactoryInterface() = default

Destroy the Configuration Factory Interface object.

inline virtual SimulationConfigPtr loadConfig(const std::filesystem::path&)

Load Config from File.

Reads input file and creates SimulationConfig object

class JsonFactory : public epiabm::ConfigurationFactoryInterface

Configuration Factory implementation which reads a json file into a SimulationConfig object.

Public Functions

JsonFactory()

Construct a new Json Factory:: Json Factory object.

~JsonFactory() = default
SimulationConfigPtr loadConfig(const json::json &input)

Read Json into SimulationConfig.

Parameters:

input – input json object

Returns:

SimulationConfigPtr Simulation Config object created from json input

virtual SimulationConfigPtr loadConfig(const std::filesystem::path &configFile) override

Read Json file into SimulationConfig.

Parameters:

configFile – Input json filename

Returns:

SimulationConfigPtr Simulation config object created from json file input