parameters.h Source File
|
CPP API
|
abm/parameters.h
Go to the documentation of this file.
61 return Type({VirusVariant::Count, size}, AbstractParameterDistribution(ParameterDistributionLogNormal(1., 1.)));
76 return Type({VirusVariant::Count, size}, AbstractParameterDistribution(ParameterDistributionLogNormal(1., 1.)));
91 return Type({VirusVariant::Count, size}, AbstractParameterDistribution(ParameterDistributionLogNormal(1., 1.)));
107 return Type({VirusVariant::Count, size}, AbstractParameterDistribution(ParameterDistributionLogNormal(1., 1.)));
122 return Type({VirusVariant::Count, size}, AbstractParameterDistribution(ParameterDistributionLogNormal(1., 1.)));
137 return Type({VirusVariant::Count, size}, AbstractParameterDistribution(ParameterDistributionLogNormal(1., 1.)));
152 return Type({VirusVariant::Count, size}, AbstractParameterDistribution(ParameterDistributionLogNormal(1., 1.)));
167 return Type({VirusVariant::Count, size}, AbstractParameterDistribution(ParameterDistributionLogNormal(1., 1.)));
182 return Type({VirusVariant::Count, size}, AbstractParameterDistribution(ParameterDistributionLogNormal(1., 1.)));
197 return Type({VirusVariant::Count, size}, AbstractParameterDistribution(ParameterDistributionLogNormal(1., 1.)));
306 ViralLoadDistributionsParameters{AbstractParameterDistribution(ParameterDistributionConstant(8.1)),
419 using Type = CustomIndexArray<TimeSeriesFunctor<ScalarType>, ProtectionType, AgeGroup, VirusVariant>;
422 return Type({ProtectionType::Count, size, VirusVariant::Count}, TimeSeriesFunctor<ScalarType>());
435 using Type = CustomIndexArray<TimeSeriesFunctor<ScalarType>, ProtectionType, AgeGroup, VirusVariant>;
438 return Type({ProtectionType::Count, size, VirusVariant::Count}, TimeSeriesFunctor<ScalarType>());
451 using Type = CustomIndexArray<TimeSeriesFunctor<ScalarType>, ProtectionType, AgeGroup, VirusVariant>;
454 return Type({ProtectionType::Count, size, VirusVariant::Count}, TimeSeriesFunctor<ScalarType>());
566 DampingMatrixExpression<ScalarType, Dampings<ScalarType, Damping<ScalarType, ColumnVectorShape<ScalarType>>>>;
582 DampingMatrixExpression<ScalarType, Dampings<ScalarType, Damping<ScalarType, ColumnVectorShape<ScalarType>>>>;
598 DampingMatrixExpression<ScalarType, Dampings<ScalarType, Damping<ScalarType, ColumnVectorShape<ScalarType>>>>;
700 ParameterSet<TimeExposedToNoSymptoms, TimeInfectedNoSymptomsToSymptoms, TimeInfectedNoSymptomsToRecovered,
704 CriticalPerInfectedSevere, DeathsPerInfectedSevere, DeathsPerInfectedCritical, ViralLoadDistributions,
706 AerosolTransmissionRates, LockdownDate, QuarantineDuration, QuarantineEffectiveness, SocialEventRate,
742 // If true, consider the capacity of the Cell%s of this Location for the computation of relative transmission risk.
758 using LocalInfectionParameters = ParameterSet<MaximumContacts, ContactRates, UseLocationCapacityForTransmissions>;
799 log_error("Constraint check: Mean of parameter TimeExposedToNoSymptoms of virus variant {} and "
888 log_error("Constraint check: Parameter SymptomsPerInfectedNoSymptoms of virus variant {} and age "
896 log_error("Constraint check: Parameter SeverePerInfectedSymptoms of virus variant {} and age group "
904 log_error("Constraint check: Parameter CriticalPerInfectedSevere of virus variant {} and age group "
918 if ((this->get<DeathsPerInfectedSevere>()[{v, i}] + this->get<CriticalPerInfectedSevere>()[{v, i}]) >
946 this->get<GotoWorkTimeMinimum>()[i].seconds() > this->get<GotoWorkTimeMaximum>()[i].seconds()) {
953 if (this->get<GotoWorkTimeMaximum>()[i].seconds() < this->get<GotoWorkTimeMinimum>()[i].seconds() ||
955 log_error("Constraint check: Parameter GotoWorkTimeMaximum of age group {} smaller {} or larger "
962 this->get<GotoSchoolTimeMinimum>()[i].seconds() > this->get<GotoSchoolTimeMaximum>()[i].seconds()) {
969 if (this->get<GotoSchoolTimeMaximum>()[i].seconds() < this->get<GotoSchoolTimeMinimum>()[i].seconds() ||
971 log_error("Constraint check: Parameter GotoWorkTimeMaximum of age group {} smaller {} or larger "
989 log_error("Constraint check: Parameter MaskProtection for MaskType Community is smaller {} or larger {}", 0,
994 if (this->get<MaskProtection>()[MaskType::FFP2] < 0.0 || this->get<MaskProtection>()[MaskType::FFP2] > 1.0) {
995 log_error("Constraint check: Parameter MaskProtection for MaskType FFP2 is smaller {} or larger {}", 0, 1);
1001 log_error("Constraint check: Parameter MaskProtection for MaskType Surgical smaller {} or larger {}", 0, 1);
1010 if (this->get<QuarantineEffectiveness>() < 0.0 || this->get<QuarantineEffectiveness>() > 1.0) {
This class represents an arbitrary ParameterDistribution.
Definition: abstract_parameter_distribution.h:40
A class template for an array with custom indices.
Definition: custom_index_array.h:136
represents the coefficient wise matrix (or vector) expression B - D * M where B is a baseline,...
Definition: contact_matrix.h:46
Definition: parameter_distributions.h:813
Definition: parameter_distributions.h:567
Definition: parameter_distributions.h:440
static constexpr size_t size()
returns the number of parameters
Definition: parameter_set.h:315
static IOResult< ParameterSet > deserialize(IOContext &io)
deserialize an object of this class.
Definition: parameter_set.h:393
const ParameterTagTraits< Tag >::Type & get() const
get value of a parameter
Definition: parameter_set.h:262
Definition: time_series_functor.h:47
Parameters of the simulation that are the same everywhere within the Model.
Definition: abm/parameters.h:764
size_t get_num_groups() const
Get the number of the age groups.
Definition: abm/parameters.h:783
bool check_constraints() const
Checks whether all Parameters satisfy their corresponding constraints and logs an error if constraint...
Definition: abm/parameters.h:793
static IOResult< Parameters > deserialize(IOContext &io)
deserialize an object of this class.
Definition: abm/parameters.h:1023
static min_max_return_type< ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 >, ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 > >::type max(const ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 > &a, const ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 > &b)
Definition: ad.hpp:2596
@ Antigen
@ Generic
@ Count
TimeSpan seconds(int seconds)
Create a TimeSpan of a specified number of seconds.
Definition: time.h:321
TimeSpan days(int days)
Create a TimeSpan with a specified number of days.
Definition: time.h:348
TimeSpan hours(int hours)
Create a TimeSpan of a specified number of hours.
Definition: time.h:339
@ FFP2
@ Community
@ Surgical
@ Count
TimeSpan minutes(int minutes)
Create a TimeSpan of a specified number of minutes.
Definition: time.h:330
int size(Comm comm)
Return the size of the given communicator.
Definition: miompi.cpp:75
A collection of classes to simplify handling of matrix shapes in meta programming.
Definition: models/abm/analyze_result.h:30
auto success()
Create an object that is implicitly convertible to a succesful IOResult<void>.
Definition: io.h:359
void log_error(spdlog::string_view_t fmt, const Args &... args)
Definition: logging.h:100
boost::outcome_v2::unchecked< T, IOStatus > IOResult
Value-or-error type for operations that return a value but can fail.
Definition: io.h:353
Definition: io.h:94
The AgeGroup struct is used as a dynamically sized tag for all age dependent categories.
Definition: age_group.h:32
Members< ValueTypes..., T > add(const char *member_name, T &member)
Add a class member.
Definition: default_serialize.h:139
CustomIndexArray< ScalarType, VirusVariant > Type
Definition: abm/parameters.h:403
static Type get_default(AgeGroup)
Definition: abm/parameters.h:404
The set of AgeGroups that can go to school.
Definition: abm/parameters.h:672
static Type get_default(AgeGroup num_agegroups)
Definition: abm/parameters.h:674
CustomIndexArray< bool, AgeGroup > Type
Definition: abm/parameters.h:673
static Type get_default(AgeGroup num_agegroups)
Definition: abm/parameters.h:689
CustomIndexArray< bool, AgeGroup > Type
Definition: abm/parameters.h:688
Parameter for the exponential distribution to decide if a Person goes shopping.
Definition: abm/parameters.h:549
CustomIndexArray< UncertainValue< ScalarType >, AgeGroup > Type
Definition: abm/parameters.h:550
static auto get_default(AgeGroup size)
Definition: abm/parameters.h:551
CustomIndexArray< ScalarType, AgeGroup, AgeGroup > Type
Definition: abm/parameters.h:730
static Type get_default(AgeGroup size)
Definition: abm/parameters.h:731
the percentage of ICU cases per hospitalized cases
Definition: abm/parameters.h:238
CustomIndexArray< UncertainValue< ScalarType >, VirusVariant, AgeGroup > Type
Definition: abm/parameters.h:239
static Type get_default(AgeGroup size)
Definition: abm/parameters.h:240
the percentage of dead cases per ICU cases
Definition: abm/parameters.h:268
static Type get_default(AgeGroup size)
Definition: abm/parameters.h:270
CustomIndexArray< UncertainValue< ScalarType >, VirusVariant, AgeGroup > Type
Definition: abm/parameters.h:269
the percentage of dead cases per hospitalized cases
Definition: abm/parameters.h:253
static Type get_default(AgeGroup size)
Definition: abm/parameters.h:255
CustomIndexArray< UncertainValue< ScalarType >, VirusVariant, AgeGroup > Type
Definition: abm/parameters.h:254
Latest time that a Person can go to school.
Definition: abm/parameters.h:657
static auto get_default(AgeGroup size)
Definition: abm/parameters.h:659
Earliest time that a Person can go to school.
Definition: abm/parameters.h:642
static auto get_default(AgeGroup size)
Definition: abm/parameters.h:644
Latest time that a Person can go to work.
Definition: abm/parameters.h:627
static auto get_default(AgeGroup size)
Definition: abm/parameters.h:629
Earliest time that a Person can go to work.
Definition: abm/parameters.h:612
static auto get_default(AgeGroup size)
Definition: abm/parameters.h:614
Personal protective factor against high viral load, which depends on ProtectionType,...
Definition: abm/parameters.h:450
CustomIndexArray< TimeSeriesFunctor< ScalarType >, ProtectionType, AgeGroup, VirusVariant > Type
Definition: abm/parameters.h:451
static std::string name()
Definition: abm/parameters.h:456
static auto get_default(AgeGroup size)
Definition: abm/parameters.h:452
Personal protection factor against #Infection% after #Infection and vaccination, which depends on Pro...
Definition: abm/parameters.h:418
CustomIndexArray< TimeSeriesFunctor< ScalarType >, ProtectionType, AgeGroup, VirusVariant > Type
Definition: abm/parameters.h:419
static auto get_default(AgeGroup size)
Definition: abm/parameters.h:420
Determines the infection rate by viral shed.
Definition: abm/parameters.h:367
static Type get_default(AgeGroup)
Definition: abm/parameters.h:369
CustomIndexArray< ScalarType, VirusVariant > Type
Definition: abm/parameters.h:368
static auto get_default(AgeGroup)
Definition: abm/parameters.h:506
Effectiveness of a Mask of a certain MaskType% against an Infection%.
Definition: abm/parameters.h:382
static Type get_default(AgeGroup)
Definition: abm/parameters.h:384
CustomIndexArray< UncertainValue< ScalarType >, MaskType > Type
Definition: abm/parameters.h:383
Maximum number of Persons an infectious Person can infect at the respective Location.
Definition: abm/parameters.h:714
static Type get_default(AgeGroup)
Definition: abm/parameters.h:716
static auto get_default(AgeGroup)
Definition: abm/parameters.h:521
static auto get_default(AgeGroup)
Definition: abm/parameters.h:536
Percentage of Persons of the respective age going to school.
Definition: abm/parameters.h:580
DampingMatrixExpression< ScalarType, Dampings< ScalarType, Damping< ScalarType, ColumnVectorShape< ScalarType > >> > Type
Definition: abm/parameters.h:582
the percentage of hospitalized cases per infected cases
Definition: abm/parameters.h:223
CustomIndexArray< UncertainValue< ScalarType >, VirusVariant, AgeGroup > Type
Definition: abm/parameters.h:224
static Type get_default(AgeGroup size)
Definition: abm/parameters.h:225
Personal protective factor against severe symptoms after #Infection and vaccination,...
Definition: abm/parameters.h:434
static auto get_default(AgeGroup size)
Definition: abm/parameters.h:436
CustomIndexArray< TimeSeriesFunctor< ScalarType >, ProtectionType, AgeGroup, VirusVariant > Type
Definition: abm/parameters.h:435
Parameter for the exponential distribution to decide if a Person goes to a social event.
Definition: abm/parameters.h:596
static auto get_default(AgeGroup size)
Definition: abm/parameters.h:599
DampingMatrixExpression< ScalarType, Dampings< ScalarType, Damping< ScalarType, ColumnVectorShape< ScalarType > >> > Type
Definition: abm/parameters.h:598
the percentage of symptomatic cases
Definition: abm/parameters.h:208
static Type get_default(AgeGroup size)
Definition: abm/parameters.h:210
static std::string name()
Definition: abm/parameters.h:214
CustomIndexArray< UncertainValue< ScalarType >, VirusVariant, AgeGroup > Type
Definition: abm/parameters.h:209
Store a map from the TestTypes to their TestParameters.
Definition: abm/parameters.h:485
CustomIndexArray< TestParameters, TestType > Type
Definition: abm/parameters.h:486
Parameters that describe the reliability of a test.
Definition: abm/parameters.h:465
UncertainValue< ScalarType > sensitivity
Definition: abm/parameters.h:466
UncertainValue< ScalarType > specificity
Definition: abm/parameters.h:467
auto default_serialize()
This method is used by the default serialization feature.
Definition: abm/parameters.h:472
Time that a Person is infected but not yet infectious in day unit.
Definition: abm/parameters.h:57
static Type get_default(AgeGroup size)
Definition: abm/parameters.h:59
CustomIndexArray< AbstractParameterDistribution, VirusVariant, AgeGroup > Type
Definition: abm/parameters.h:58
Time that a Person is treated by ICU before dying in day unit.
Definition: abm/parameters.h:178
CustomIndexArray< AbstractParameterDistribution, VirusVariant, AgeGroup > Type
Definition: abm/parameters.h:179
static Type get_default(AgeGroup size)
Definition: abm/parameters.h:180
Time that a Person is treated by ICU before recovering in day unit.
Definition: abm/parameters.h:193
static Type get_default(AgeGroup size)
Definition: abm/parameters.h:195
CustomIndexArray< AbstractParameterDistribution, VirusVariant, AgeGroup > Type
Definition: abm/parameters.h:194
static std::string name()
Definition: abm/parameters.h:199
Time that a Person is infected when staying asymptomatic in day unit.
Definition: abm/parameters.h:87
static Type get_default(AgeGroup size)
Definition: abm/parameters.h:89
static std::string name()
Definition: abm/parameters.h:93
CustomIndexArray< AbstractParameterDistribution, VirusVariant, AgeGroup > Type
Definition: abm/parameters.h:88
Time that a Person is infected but presymptomatic in day unit.
Definition: abm/parameters.h:72
static Type get_default(AgeGroup size)
Definition: abm/parameters.h:74
static std::string name()
Definition: abm/parameters.h:78
CustomIndexArray< AbstractParameterDistribution, VirusVariant, AgeGroup > Type
Definition: abm/parameters.h:73
Time that a Person is infected and 'simply' hospitalized before becoming critical in day unit.
Definition: abm/parameters.h:133
static std::string name()
Definition: abm/parameters.h:139
static Type get_default(AgeGroup size)
Definition: abm/parameters.h:135
CustomIndexArray< AbstractParameterDistribution, VirusVariant, AgeGroup > Type
Definition: abm/parameters.h:134
Time that a Person is hospitalized before dying in day unit.
Definition: abm/parameters.h:163
CustomIndexArray< AbstractParameterDistribution, VirusVariant, AgeGroup > Type
Definition: abm/parameters.h:164
static Type get_default(AgeGroup size)
Definition: abm/parameters.h:165
Time that a Person is infected and 'simply' hospitalized before recovering in day unit.
Definition: abm/parameters.h:148
static Type get_default(AgeGroup size)
Definition: abm/parameters.h:150
static std::string name()
Definition: abm/parameters.h:154
CustomIndexArray< AbstractParameterDistribution, VirusVariant, AgeGroup > Type
Definition: abm/parameters.h:149
Time that a Person is infected and symptomatic who will recover in day unit.
Definition: abm/parameters.h:118
CustomIndexArray< AbstractParameterDistribution, VirusVariant, AgeGroup > Type
Definition: abm/parameters.h:119
static Type get_default(AgeGroup size)
Definition: abm/parameters.h:120
static std::string name()
Definition: abm/parameters.h:124
Time that a Person is infected and symptomatic but who do not need to be hospitalized yet in day unit...
Definition: abm/parameters.h:103
static std::string name()
Definition: abm/parameters.h:109
CustomIndexArray< AbstractParameterDistribution, VirusVariant, AgeGroup > Type
Definition: abm/parameters.h:104
static Type get_default(AgeGroup size)
Definition: abm/parameters.h:105
Definition: abm/parameters.h:743
static Type get_default(AgeGroup)
Definition: abm/parameters.h:745
static std::string name()
Definition: abm/parameters.h:749
Parameters for the ViralLoad course.
Definition: abm/parameters.h:285
AbstractParameterDistribution viral_load_incline
Definition: abm/parameters.h:287
auto default_serialize()
This method is used by the default serialization feature.
Definition: abm/parameters.h:291
AbstractParameterDistribution viral_load_peak
Definition: abm/parameters.h:286
AbstractParameterDistribution viral_load_decline
Definition: abm/parameters.h:288
Definition: abm/parameters.h:300
static Type get_default(AgeGroup size)
Definition: abm/parameters.h:302
Individual viral shed factor to account for variability in infectious viral load spread.
Definition: abm/parameters.h:350
static Type get_default(AgeGroup size)
Definition: abm/parameters.h:352
Definition: abm/parameters.h:334
static Type get_default(AgeGroup size)
Definition: abm/parameters.h:336
auto default_serialize()
This method is used by the default serialization feature.
Definition: abm/parameters.h:326
ScalarType viral_shed_alpha
Definition: abm/parameters.h:322
Percentage of Persons of the respective age going to work.
Definition: abm/parameters.h:564
DampingMatrixExpression< ScalarType, Dampings< ScalarType, Damping< ScalarType, ColumnVectorShape< ScalarType > >> > Type
Definition: abm/parameters.h:566
Generated by