Skip to content

Commit d829c0f

Browse files
HenrZulenaploetzkemknaranja
authored
964 Times for Exposed and INS instead of SerialInterval and IncubationTime (#967)
- Removed the parameters SerialInterval and IncubationTime in the Secir and Secirvvs ODE models - Now, the rates for E and INS are defined directly - Simplified the check_constraints and apply_constraints function. Co-authored-by: lenaploetzke <70579874+lenaploetzke@users.noreply.github.com> Co-authored-by: Martin J. Kühn <62713180+mknaranja@users.noreply.github.com>
1 parent aca4b34 commit d829c0f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+540
-593
lines changed

cpp/benchmarks/flow_simulation_ode_secirvvs.h

Lines changed: 48 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,9 @@ class FlowlessModel : public CompartmentalModel<osecirvvs::InfectionState,
6464
auto icu_occupancy = 0.0;
6565
auto test_and_trace_required = 0.0;
6666
for (auto i = AgeGroup(0); i < n_agegroups; ++i) {
67-
auto rateINS =
68-
0.5 / (params.get<osecirvvs::IncubationTime>()[i] - params.get<osecirvvs::SerialInterval>()[i]);
6967
test_and_trace_required +=
70-
(1 - params.get<osecirvvs::RecoveredPerInfectedNoSymptoms>()[i]) * rateINS *
68+
(1 - params.get<osecirvvs::RecoveredPerInfectedNoSymptoms>()[i]) /
69+
params.get<osecirvvs::TimeInfectedNoSymptoms>()[i] *
7170
(this->populations.get_from(pop, {i, InfectionState::InfectedNoSymptomsNaive}) +
7271
this->populations.get_from(pop, {i, InfectionState::InfectedNoSymptomsPartialImmunity}) +
7372
this->populations.get_from(pop, {i, InfectionState::InfectedNoSymptomsImprovedImmunity}) +
@@ -128,11 +127,6 @@ class FlowlessModel : public CompartmentalModel<osecirvvs::InfectionState,
128127
dydt[SIIi] = 0;
129128
dydt[EIIi] = 0;
130129

131-
double rateE =
132-
1.0 / (2 * params.get<osecirvvs::SerialInterval>()[i] - params.get<osecirvvs::IncubationTime>()[i]);
133-
double rateINS =
134-
0.5 / (params.get<osecirvvs::IncubationTime>()[i] - params.get<osecirvvs::SerialInterval>()[i]);
135-
136130
double reducExposedPartialImmunity = params.get<osecirvvs::ReducExposedPartialImmunity>()[i];
137131
double reducExposedImprovedImmunity = params.get<osecirvvs::ReducExposedImprovedImmunity>()[i];
138132
double reducInfectedSymptomsPartialImmunity =
@@ -244,13 +238,17 @@ class FlowlessModel : public CompartmentalModel<osecirvvs::InfectionState,
244238

245239
/**** path of immune-naive ***/
246240

247-
dydt[ENi] -= rateE * y[ENi]; // only exchange of E and InfectedNoSymptoms done here
248-
dydt[INSNi] = rateE * y[ENi] - rateINS * y[INSNi];
249-
dydt[INSNCi] = -rateINS * y[INSNCi];
241+
dydt[ENi] -=
242+
y[ENi] / params.get<osecirvvs::TimeExposed>()[i]; // only exchange of E and InfectedNoSymptoms done here
243+
dydt[INSNi] = y[ENi] / params.get<osecirvvs::TimeExposed>()[i] -
244+
y[INSNi] / params.get<osecirvvs::TimeInfectedNoSymptoms>()[i];
245+
dydt[INSNCi] = -y[INSNCi] / params.get<osecirvvs::TimeInfectedNoSymptoms>()[i];
250246

251-
dydt[ISyNi] = (1 - params.get<osecirvvs::RecoveredPerInfectedNoSymptoms>()[i]) * rateINS * y[INSNi] -
247+
dydt[ISyNi] = (1 - params.get<osecirvvs::RecoveredPerInfectedNoSymptoms>()[i]) /
248+
params.get<osecirvvs::TimeInfectedNoSymptoms>()[i] * y[INSNi] -
252249
(y[ISyNi] / params.get<osecirvvs::TimeInfectedSymptoms>()[i]);
253-
dydt[ISyNCi] = (1 - params.get<osecirvvs::RecoveredPerInfectedNoSymptoms>()[i]) * rateINS * y[INSNCi] -
250+
dydt[ISyNCi] = (1 - params.get<osecirvvs::RecoveredPerInfectedNoSymptoms>()[i]) /
251+
params.get<osecirvvs::TimeInfectedNoSymptoms>()[i] * y[INSNCi] -
254252
(y[ISyNCi] / params.get<osecirvvs::TimeInfectedSymptoms>()[i]);
255253

256254
dydt[ISevNi] = params.get<osecirvvs::SeverePerInfectedSymptoms>()[i] /
@@ -262,16 +260,20 @@ class FlowlessModel : public CompartmentalModel<osecirvvs::InfectionState,
262260

263261
/**** path of partially immune (e.g., one dose of vaccination) ***/
264262

265-
dydt[EPIi] -= rateE * y[EPIi]; // only exchange of E and InfectedNoSymptoms done here
266-
dydt[INSPIi] = rateE * y[EPIi] - (rateINS / reducTimeInfectedMild) * y[INSPIi];
267-
dydt[INSPICi] = -(rateINS / reducTimeInfectedMild) * y[INSPICi];
263+
dydt[EPIi] -=
264+
y[EPIi] /
265+
params.get<osecirvvs::TimeExposed>()[i]; // only exchange of E and InfectedNoSymptoms done here
266+
dydt[INSPIi] = y[EPIi] / params.get<osecirvvs::TimeExposed>()[i] -
267+
y[INSPIi] / (params.get<osecirvvs::TimeInfectedNoSymptoms>()[i] * reducTimeInfectedMild);
268+
dydt[INSPICi] = -y[INSPICi] / (params.get<osecirvvs::TimeInfectedNoSymptoms>()[i] * reducTimeInfectedMild);
268269
dydt[ISyPIi] = (reducInfectedSymptomsPartialImmunity / reducExposedPartialImmunity) *
269-
(1 - params.get<osecirvvs::RecoveredPerInfectedNoSymptoms>()[i]) *
270-
(rateINS / reducTimeInfectedMild) * y[INSPIi] -
270+
(1 - params.get<osecirvvs::RecoveredPerInfectedNoSymptoms>()[i]) * y[INSPIi] /
271+
(params.get<osecirvvs::TimeInfectedNoSymptoms>()[i] * reducTimeInfectedMild) -
271272
(y[ISyPIi] / (params.get<osecirvvs::TimeInfectedSymptoms>()[i] * reducTimeInfectedMild));
272273
dydt[ISyPICi] = (reducInfectedSymptomsPartialImmunity / reducExposedPartialImmunity) *
273-
(1 - params.get<osecirvvs::RecoveredPerInfectedNoSymptoms>()[i]) *
274-
(rateINS / reducTimeInfectedMild) * y[INSPICi] -
274+
(1 - params.get<osecirvvs::RecoveredPerInfectedNoSymptoms>()[i]) /
275+
(params.get<osecirvvs::TimeInfectedNoSymptoms>()[i] * reducTimeInfectedMild) *
276+
y[INSPICi] -
275277
(y[ISyPICi] / (params.get<osecirvvs::TimeInfectedSymptoms>()[i] * reducTimeInfectedMild));
276278
dydt[ISevPIi] = reducInfectedSevereCriticalDeadPartialImmunity / reducInfectedSymptomsPartialImmunity *
277279
params.get<osecirvvs::SeverePerInfectedSymptoms>()[i] /
@@ -286,19 +288,20 @@ class FlowlessModel : public CompartmentalModel<osecirvvs::InfectionState,
286288

287289
/**** path of twice vaccinated, here called immune although reinfection is possible now ***/
288290

289-
dydt[EIIi] -= rateE * y[EIIi]; // only exchange of E and C done here
291+
dydt[EIIi] -= y[EIIi] / params.get<osecirvvs::TimeExposed>()[i]; // only exchange of E and C done here
290292

291-
dydt[INSIIi] = rateE * y[EIIi] - (rateINS / reducTimeInfectedMild) * y[INSIIi];
292-
dydt[INSIICi] = -(rateINS / reducTimeInfectedMild) * y[INSIICi];
293+
dydt[INSIIi] = y[EIIi] / params.get<osecirvvs::TimeExposed>()[i] -
294+
y[INSIIi] / (params.get<osecirvvs::TimeInfectedNoSymptoms>()[i] * reducTimeInfectedMild);
295+
dydt[INSIICi] = -y[INSIICi] / (params.get<osecirvvs::TimeInfectedNoSymptoms>()[i] * reducTimeInfectedMild);
293296

294297
dydt[ISyIIi] = (reducInfectedSymptomsImprovedImmunity / reducExposedImprovedImmunity) *
295-
(1 - params.get<osecirvvs::RecoveredPerInfectedNoSymptoms>()[i]) *
296-
(rateINS / reducTimeInfectedMild) * y[INSIIi] -
298+
(1 - params.get<osecirvvs::RecoveredPerInfectedNoSymptoms>()[i]) * y[INSIIi] /
299+
(params.get<osecirvvs::TimeInfectedNoSymptoms>()[i] * reducTimeInfectedMild) -
297300
(1 / (params.get<osecirvvs::TimeInfectedSymptoms>()[i] * reducTimeInfectedMild)) * y[ISyIIi];
298301
dydt[ISyIICi] =
299302
(reducInfectedSymptomsImprovedImmunity / reducExposedImprovedImmunity) *
300-
(1 - params.get<osecirvvs::RecoveredPerInfectedNoSymptoms>()[i]) *
301-
(rateINS / reducTimeInfectedMild) * y[INSIICi] -
303+
(1 - params.get<osecirvvs::RecoveredPerInfectedNoSymptoms>()[i]) * y[INSIICi] /
304+
(params.get<osecirvvs::TimeInfectedNoSymptoms>()[i] * reducTimeInfectedMild) -
302305
(1 / (params.get<osecirvvs::TimeInfectedSymptoms>()[i] * reducTimeInfectedMild)) * y[ISyIICi];
303306
dydt[ISevIIi] = reducInfectedSevereCriticalDeadImprovedImmunity / reducInfectedSymptomsImprovedImmunity *
304307
params.get<osecirvvs::SeverePerInfectedSymptoms>()[i] /
@@ -312,19 +315,20 @@ class FlowlessModel : public CompartmentalModel<osecirvvs::InfectionState,
312315
params.get<osecirvvs::TimeInfectedSevere>()[i] * y[ISevIIi];
313316

314317
// recovered and deaths from all paths
315-
dydt[SIIi] +=
316-
params.get<osecirvvs::RecoveredPerInfectedNoSymptoms>()[i] * rateINS * (y[INSNi] + y[INSNCi]) +
317-
(1 - params.get<osecirvvs::SeverePerInfectedSymptoms>()[i]) /
318-
params.get<osecirvvs::TimeInfectedSymptoms>()[i] * (y[ISyNi] + y[ISyNCi]) +
319-
(1 - params.get<osecirvvs::CriticalPerSevere>()[i]) / params.get<osecirvvs::TimeInfectedSevere>()[i] *
320-
y[ISevNi] +
321-
(1 - params.get<osecirvvs::DeathsPerCritical>()[i]) / params.get<osecirvvs::TimeInfectedCritical>()[i] *
322-
y[ICrNi];
318+
dydt[SIIi] += params.get<osecirvvs::RecoveredPerInfectedNoSymptoms>()[i] /
319+
params.get<osecirvvs::TimeInfectedNoSymptoms>()[i] * (y[INSNi] + y[INSNCi]) +
320+
(1 - params.get<osecirvvs::SeverePerInfectedSymptoms>()[i]) /
321+
params.get<osecirvvs::TimeInfectedSymptoms>()[i] * (y[ISyNi] + y[ISyNCi]) +
322+
(1 - params.get<osecirvvs::CriticalPerSevere>()[i]) /
323+
params.get<osecirvvs::TimeInfectedSevere>()[i] * y[ISevNi] +
324+
(1 - params.get<osecirvvs::DeathsPerCritical>()[i]) /
325+
params.get<osecirvvs::TimeInfectedCritical>()[i] * y[ICrNi];
323326

324327
dydt[SIIi] +=
325328
(1 - (reducInfectedSymptomsPartialImmunity / reducExposedPartialImmunity) *
326-
(1 - params.get<osecirvvs::RecoveredPerInfectedNoSymptoms>()[i])) *
327-
rateINS / reducTimeInfectedMild * (y[INSPIi] + y[INSPICi]) +
329+
(1 - params.get<osecirvvs::RecoveredPerInfectedNoSymptoms>()[i])) /
330+
(params.get<osecirvvs::TimeInfectedNoSymptoms>()[i] * reducTimeInfectedMild) *
331+
(y[INSPIi] + y[INSPICi]) +
328332
(1 - (reducInfectedSevereCriticalDeadPartialImmunity / reducInfectedSymptomsPartialImmunity) *
329333
params.get<osecirvvs::SeverePerInfectedSymptoms>()[i]) /
330334
(params.get<osecirvvs::TimeInfectedSymptoms>()[i] * reducTimeInfectedMild) *
@@ -339,7 +343,8 @@ class FlowlessModel : public CompartmentalModel<osecirvvs::InfectionState,
339343
dydt[SIIi] +=
340344
(1 - (reducInfectedSymptomsImprovedImmunity / reducExposedImprovedImmunity) *
341345
(1 - params.get<osecirvvs::RecoveredPerInfectedNoSymptoms>()[i])) *
342-
rateINS / reducTimeInfectedMild * (y[INSIIi] + y[INSIICi]) +
346+
(params.get<osecirvvs::TimeInfectedNoSymptoms>()[i] * reducTimeInfectedMild) *
347+
(y[INSIIi] + y[INSIICi]) +
343348
(1 - (reducInfectedSevereCriticalDeadImprovedImmunity / reducInfectedSymptomsImprovedImmunity) *
344349
params.get<osecirvvs::SeverePerInfectedSymptoms>()[i]) /
345350
(params.get<osecirvvs::TimeInfectedSymptoms>()[i] * reducTimeInfectedMild) *
@@ -650,11 +655,11 @@ void setup_model(Model& model)
650655
contact_matrix[0].add_damping(0.3, SimulationTime(5.0));
651656

652657
//times
653-
model.parameters.template get<osecirvvs::IncubationTime>()[AgeGroup(0)] = 5.2;
654-
model.parameters.template get<osecirvvs::SerialInterval>()[AgeGroup(0)] = 0.5 * 3.33 + 0.5 * 5.2;
655-
model.parameters.template get<osecirvvs::TimeInfectedSymptoms>()[AgeGroup(0)] = 7;
656-
model.parameters.template get<osecirvvs::TimeInfectedSevere>()[AgeGroup(0)] = 6;
657-
model.parameters.template get<osecirvvs::TimeInfectedCritical>()[AgeGroup(0)] = 7;
658+
model.parameters.template get<osecirvvs::TimeExposed>()[AgeGroup(0)] = 3.33;
659+
model.parameters.template get<osecirvvs::TimeInfectedNoSymptoms>()[AgeGroup(0)] = 1.87;
660+
model.parameters.template get<osecirvvs::TimeInfectedSymptoms>()[AgeGroup(0)] = 7;
661+
model.parameters.template get<osecirvvs::TimeInfectedSevere>()[AgeGroup(0)] = 6;
662+
model.parameters.template get<osecirvvs::TimeInfectedCritical>()[AgeGroup(0)] = 7;
658663

659664
//probabilities
660665
model.parameters.template get<osecirvvs::TransmissionProbabilityOnContact>()[AgeGroup(0)] = 0.15;

cpp/benchmarks/graph_simulation.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -81,11 +81,11 @@ mio::osecirvvs::Model create_model(size_t num_agegroups, const ScalarType tmax)
8181

8282
for (mio::AgeGroup i = 0; i < (mio::AgeGroup)num_agegroups; i++) {
8383
//times
84-
model.parameters.get<mio::osecirvvs::IncubationTime>()[i] = 5.2;
85-
model.parameters.get<mio::osecirvvs::SerialInterval>()[i] = 0.5 * 3.33 + 0.5 * 5.2;
86-
model.parameters.get<mio::osecirvvs::TimeInfectedSymptoms>()[i] = 7;
87-
model.parameters.get<mio::osecirvvs::TimeInfectedSevere>()[i] = 6;
88-
model.parameters.get<mio::osecirvvs::TimeInfectedCritical>()[i] = 7;
84+
model.parameters.get<mio::osecirvvs::TimeExposed>()[i] = 3.33;
85+
model.parameters.get<mio::osecirvvs::TimeInfectedNoSymptoms>()[i] = 1.87;
86+
model.parameters.get<mio::osecirvvs::TimeInfectedSymptoms>()[i] = 7;
87+
model.parameters.get<mio::osecirvvs::TimeInfectedSevere>()[i] = 6;
88+
model.parameters.get<mio::osecirvvs::TimeInfectedCritical>()[i] = 7;
8989

9090
//probabilities
9191
model.parameters.get<mio::osecirvvs::TransmissionProbabilityOnContact>()[i] = 0.15;

cpp/benchmarks/secir_ageres_setups.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,11 @@ mio::osecir::Model make_model(int num)
5454
params.set<mio::osecir::Seasonality>(0);
5555

5656
for (auto i = mio::AgeGroup(0); i < nb_groups; i++) {
57-
params.get<mio::osecir::IncubationTime>()[i] = 5.2;
58-
params.get<mio::osecir::TimeInfectedSymptoms>()[i] = 6.;
59-
params.get<mio::osecir::SerialInterval>()[i] = 4.2;
60-
params.get<mio::osecir::TimeInfectedSevere>()[i] = 12;
61-
params.get<mio::osecir::TimeInfectedCritical>()[i] = 8;
57+
params.get<mio::osecir::TimeExposed>()[i] = 3.2;
58+
params.get<mio::osecir::TimeInfectedNoSymptoms>()[i] = 2.;
59+
params.get<mio::osecir::TimeInfectedSymptoms>()[i] = 6.;
60+
params.get<mio::osecir::TimeInfectedSevere>()[i] = 12;
61+
params.get<mio::osecir::TimeInfectedCritical>()[i] = 8;
6262

6363
model.populations[{i, mio::osecir::InfectionState::Exposed}] = fact * nb_exp_t0;
6464
model.populations[{i, mio::osecir::InfectionState::InfectedNoSymptoms}] = fact * nb_car_t0;

cpp/examples/graph_stochastic_mobility.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,11 @@ int main(int /*argc*/, char** /*argv*/)
4747

4848
//set initialization and model parameters
4949
for (auto i = mio::AgeGroup(0); i < num_age_groups; i++) {
50-
params.get<mio::osecir::IncubationTime>()[i] = 5.2;
51-
params.get<mio::osecir::TimeInfectedSymptoms>()[i] = 6.;
52-
params.get<mio::osecir::SerialInterval>()[i] = 4.2;
53-
params.get<mio::osecir::TimeInfectedSevere>()[i] = 12;
54-
params.get<mio::osecir::TimeInfectedCritical>()[i] = 8;
50+
params.get<mio::osecir::TimeExposed>()[i] = 3.2;
51+
params.get<mio::osecir::TimeInfectedNoSymptoms>()[i] = 2.;
52+
params.get<mio::osecir::TimeInfectedSymptoms>()[i] = 6.;
53+
params.get<mio::osecir::TimeInfectedSevere>()[i] = 12.;
54+
params.get<mio::osecir::TimeInfectedCritical>()[i] = 8.;
5555

5656
//initial populations is equally distributed among age groups
5757
model.populations[{i, mio::osecir::InfectionState::Exposed}] = fact * num_exp;

cpp/examples/lct_secir.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ int main()
107107

108108
// Set Parameters.
109109
model.parameters.get<mio::lsecir::TimeExposed>() = 3.2;
110-
model.parameters.get<mio::lsecir::TimeInfectedNoSymptoms>() = 2;
110+
model.parameters.get<mio::lsecir::TimeInfectedNoSymptoms>() = 2.;
111111
model.parameters.get<mio::lsecir::TimeInfectedSymptoms>() = 5.8;
112112
model.parameters.get<mio::lsecir::TimeInfectedSevere>() = 9.5;
113113
// It is also possible to change values with the set function.

cpp/examples/ode_secir.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,11 @@ int main()
4141
model.parameters.set<mio::osecir::StartDay>(60);
4242
model.parameters.set<mio::osecir::Seasonality>(0.2);
4343

44-
model.parameters.get<mio::osecir::IncubationTime>() = 5.2;
45-
model.parameters.get<mio::osecir::TimeInfectedSymptoms>() = 5.8;
46-
model.parameters.get<mio::osecir::SerialInterval>() = 4.2;
47-
model.parameters.get<mio::osecir::TimeInfectedSevere>() = 9.5;
48-
model.parameters.get<mio::osecir::TimeInfectedCritical>() = 7.1;
44+
model.parameters.get<mio::osecir::TimeExposed>() = 3.2;
45+
model.parameters.get<mio::osecir::TimeInfectedNoSymptoms>() = 2.0;
46+
model.parameters.get<mio::osecir::TimeInfectedSymptoms>() = 5.8;
47+
model.parameters.get<mio::osecir::TimeInfectedSevere>() = 9.5;
48+
model.parameters.get<mio::osecir::TimeInfectedCritical>() = 7.1;
4949

5050
mio::ContactMatrixGroup& contact_matrix = model.parameters.get<mio::osecir::ContactPatterns>();
5151
contact_matrix[0] = mio::ContactMatrix(Eigen::MatrixXd::Constant(1, 1, cont_freq));

cpp/examples/ode_secir_ageres.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,11 @@ int main()
5555
params.get<mio::osecir::TestAndTraceCapacity>() = 35;
5656

5757
for (auto i = mio::AgeGroup(0); i < nb_groups; i++) {
58-
params.get<mio::osecir::IncubationTime>()[i] = 5.2;
59-
params.get<mio::osecir::TimeInfectedSymptoms>()[i] = 5.8;
60-
params.get<mio::osecir::SerialInterval>()[i] = 4.2;
61-
params.get<mio::osecir::TimeInfectedSevere>()[i] = 9.5;
62-
params.get<mio::osecir::TimeInfectedCritical>()[i] = 7.1;
58+
params.get<mio::osecir::TimeExposed>()[i] = 3.2;
59+
params.get<mio::osecir::TimeInfectedNoSymptoms>()[i] = 2.;
60+
params.get<mio::osecir::TimeInfectedSymptoms>()[i] = 5.8;
61+
params.get<mio::osecir::TimeInfectedSevere>()[i] = 9.5;
62+
params.get<mio::osecir::TimeInfectedCritical>()[i] = 7.1;
6363

6464
model.populations[{i, mio::osecir::InfectionState::Exposed}] = fact * nb_exp_t0;
6565
model.populations[{i, mio::osecir::InfectionState::InfectedNoSymptoms}] = fact * nb_car_t0;
@@ -106,7 +106,7 @@ int main()
106106

107107
for (size_t i = 0; i < (size_t)params.get_num_groups(); i++) {
108108
printf("\t %s[%d]: %.0f", vars[k].c_str(), (int)i,
109-
secir.get_last_value()[k + (size_t)mio::osecir::InfectionState::Count * (int)i]);
109+
secir.get_last_value()[k + (size_t)mio::osecir::InfectionState::Count * (int)i]);
110110
dummy += secir.get_last_value()[k + (size_t)mio::osecir::InfectionState::Count * (int)i];
111111
}
112112

cpp/examples/ode_secir_parameter_study.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -99,11 +99,11 @@ int main()
9999
params.set<mio::osecir::Seasonality>(0);
100100

101101
for (auto i = mio::AgeGroup(0); i < num_groups; i++) {
102-
params.get<mio::osecir::IncubationTime>()[i] = 5.2;
103-
params.get<mio::osecir::TimeInfectedSymptoms>()[i] = 6.;
104-
params.get<mio::osecir::SerialInterval>()[i] = 4.2;
105-
params.get<mio::osecir::TimeInfectedSevere>()[i] = 12;
106-
params.get<mio::osecir::TimeInfectedCritical>()[i] = 8;
102+
params.get<mio::osecir::TimeExposed>()[i] = 3.2;
103+
params.get<mio::osecir::TimeInfectedNoSymptoms>()[i] = 2.;
104+
params.get<mio::osecir::TimeInfectedSymptoms>()[i] = 6.;
105+
params.get<mio::osecir::TimeInfectedSevere>()[i] = 12;
106+
params.get<mio::osecir::TimeInfectedCritical>()[i] = 8;
107107

108108
model.populations[{i, mio::osecir::InfectionState::Exposed}] = fact * num_exp_t0;
109109
model.populations[{i, mio::osecir::InfectionState::InfectedNoSymptoms}] = fact * num_car_t0;
@@ -150,7 +150,7 @@ int main()
150150
auto write_result_status = write_single_run_result(run, graph);
151151
if (!write_result_status) {
152152
std::cout << "Error writing result: " << write_result_status.error().formatted_message();
153-
}
153+
}
154154
return 0; //Result handler must return something, but only meaningful when using MPI.
155155
};
156156
parameter_study.run(sample_graph, handle_result);

0 commit comments

Comments
 (0)