parameters.h Source File

CPP API: parameters.h Source File
lct_secir_2_diseases/parameters.h
Go to the documentation of this file.
1 /*
2 * Copyright (C) 2020-2026 MEmilio
3 *
4 * Authors: Annika Jungklaus, Lena Ploetzke
5 *
6 * Contact: Martin J. Kuehn <Martin.Kuehn@DLR.de>
7 *
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
11 *
12 * http://www.apache.org/licenses/LICENSE-2.0
13 *
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 */
20 
21 #ifndef LCT_SECIR_2_DISEASES_PARAMS_H
22 #define LCT_SECIR_2_DISEASES_PARAMS_H
23 
24 #include "memilio/config.h"
25 #include "memilio/math/eigen.h"
27 #include "memilio/utils/logging.h"
30 
31 namespace mio
32 {
33 namespace lsecir2d
34 {
35 
36 /*********************************************************
37 * Define Parameters of the LCT-SECIHURD-2-DISEASES model *
38 **********************************************************/
39 
40 // Each paramater is a vector with length equal to the number of groups
41 // The contact patterns are given by a matrix with dimension (number of groups)*(number of groups)
42 // The default number of groups is 1
43 
47 template <typename FP>
48 struct TimeExposed_a {
49  using Type = Eigen::VectorX<UncertainValue<FP>>;
50  static Type get_default(size_t size)
51  {
52  return Type::Constant(size, 1, 1.);
53  }
54  static std::string name()
55  {
56  return "TimeExposed_a";
57  }
58 };
59 
64 template <typename FP>
66  using Type = Eigen::VectorX<UncertainValue<FP>>;
67  static Type get_default(size_t size)
68  {
69  return Type::Constant(size, 1, 1.);
70  }
71  static std::string name()
72  {
73  return "TimeInfectedNoSymptoms_a";
74  }
75 };
76 
81 template <typename FP>
83  using Type = Eigen::VectorX<UncertainValue<FP>>;
84  static Type get_default(size_t size)
85  {
86  return Type::Constant(size, 1, 1.);
87  }
88  static std::string name()
89  {
90  return "TimeInfectedNoSymptoms_a";
91  }
92 };
93 
97 template <typename FP>
99  using Type = Eigen::VectorX<UncertainValue<FP>>;
100  static Type get_default(size_t size)
101  {
102  return Type::Constant(size, 1, 1.);
103  }
104  static std::string name()
105  {
106  return "TimeInfectedSevere_a";
107  }
108 };
109 
113 template <typename FP>
115  using Type = Eigen::VectorX<UncertainValue<FP>>;
116  static Type get_default(size_t size)
117  {
118  return Type::Constant(size, 1, 1.);
119  }
120  static std::string name()
121  {
122  return "TimeInfectedCritical_a";
123  }
124 };
125 
129 template <typename FP>
131  using Type = Eigen::VectorX<UncertainValue<FP>>;
132  static Type get_default(size_t size)
133  {
134  return Type::Constant(size, 1, 1.);
135  }
136  static std::string name()
137  {
138  return "TransmissionProbabilityOnContact_a";
139  }
140 };
141 
145 template <typename FP>
147  using Type = Eigen::VectorX<UncertainValue<FP>>;
148  static Type get_default(size_t size)
149  {
150  return Type::Constant(size, 1, 1.);
151  }
152  static std::string name()
153  {
154  return "TimeExposed_b";
155  }
156 };
157 
162 template <typename FP>
164  using Type = Eigen::VectorX<UncertainValue<FP>>;
165  static Type get_default(size_t size)
166  {
167  return Type::Constant(size, 1, 1.);
168  }
169  static std::string name()
170  {
171  return "TimeInfectedNoSymptoms_b";
172  }
173 };
174 
179 template <typename FP>
181  using Type = Eigen::VectorX<UncertainValue<FP>>;
182  static Type get_default(size_t size)
183  {
184  return Type::Constant(size, 1, 1.);
185  }
186  static std::string name()
187  {
188  return "TimeInfectedNoSymptoms_b";
189  }
190 };
191 
195 template <typename FP>
197  using Type = Eigen::VectorX<UncertainValue<FP>>;
198  static Type get_default(size_t size)
199  {
200  return Type::Constant(size, 1, 1.);
201  }
202  static std::string name()
203  {
204  return "TimeInfectedSevere_b";
205  }
206 };
207 
211 template <typename FP>
213  using Type = Eigen::VectorX<UncertainValue<FP>>;
214  static Type get_default(size_t size)
215  {
216  return Type::Constant(size, 1, 1.);
217  }
218  static std::string name()
219  {
220  return "TimeInfectedCritical_b";
221  }
222 };
223 
227 template <typename FP>
229  using Type = Eigen::VectorX<UncertainValue<FP>>;
230  static Type get_default(size_t size)
231  {
232  return Type::Constant(size, 1, 1.);
233  }
234  static std::string name()
235  {
236  return "TransmissionProbabilityOnContact_b";
237  }
238 };
239 
243 template <typename FP>
246 
247  static Type get_default(size_t size)
248  {
249  mio::ContactMatrixGroup<FP> contact_matrix(1, (Eigen::Index)size);
250  contact_matrix[0] =
251  mio::ContactMatrix<FP>(Eigen::MatrixX<FP>::Constant((Eigen::Index)size, (Eigen::Index)size, 10.));
252  return Type(contact_matrix);
253  }
254  static std::string name()
255  {
256  return "ContactPatterns";
257  }
258 };
259 
263 template <typename FP>
265  using Type = Eigen::VectorX<UncertainValue<FP>>;
266  static Type get_default(size_t size)
267  {
268  return Type::Constant(size, 1, 1.);
269  }
270  static std::string name()
271  {
272  return "RelativeTransmissionNoSymptoms_a";
273  }
274 };
275 
279 template <typename FP>
281  using Type = Eigen::VectorX<UncertainValue<FP>>;
282  static Type get_default(size_t size)
283  {
284  return Type::Constant(size, 1, 1.);
285  }
286  static std::string name()
287  {
288  return "RiskOfInfectionFromSymptomatic_a";
289  }
290 };
291 
295 template <typename FP>
297  using Type = Eigen::VectorX<UncertainValue<FP>>;
298  static Type get_default(size_t size)
299  {
300  return Type::Constant(size, 1, 1.);
301  }
302  static std::string name()
303  {
304  return "RelativeTransmissionNoSymptoms_b";
305  }
306 };
307 
311 template <typename FP>
313  using Type = Eigen::VectorX<UncertainValue<FP>>;
314  static Type get_default(size_t size)
315  {
316  return Type::Constant(size, 1, 1.);
317  }
318  static std::string name()
319  {
320  return "RiskOfInfectionFromSymptomatic_b";
321  }
322 };
323 
327 template <typename FP>
329  using Type = Eigen::VectorX<UncertainValue<FP>>;
330  static Type get_default(size_t size)
331  {
332  return Type::Constant(size, 1, 0.5);
333  }
334  static std::string name()
335  {
336  return "RecoveredPerInfectedNoSymptoms_a";
337  }
338 };
339 
343 template <typename FP>
345  using Type = Eigen::VectorX<UncertainValue<FP>>;
346  static Type get_default(size_t size)
347  {
348  return Type::Constant(size, 1, 0.5);
349  }
350  static std::string name()
351  {
352  return "SeverePerInfectedSymptoms_a";
353  }
354 };
355 
359 template <typename FP>
361  using Type = Eigen::VectorX<UncertainValue<FP>>;
362  static Type get_default(size_t size)
363  {
364  return Type::Constant(size, 1, 0.5);
365  }
366  static std::string name()
367  {
368  return "CriticalPerSevere_a";
369  }
370 };
371 
375 template <typename FP>
377  using Type = Eigen::VectorX<UncertainValue<FP>>;
378  static Type get_default(size_t size)
379  {
380  return Type::Constant(size, 1, 0.1);
381  }
382  static std::string name()
383  {
384  return "DeathsPerCritical_a";
385  }
386 };
387 
391 template <typename FP>
393  using Type = Eigen::VectorX<UncertainValue<FP>>;
394  static Type get_default(size_t size)
395  {
396  return Type::Constant(size, 1, 0.5);
397  }
398  static std::string name()
399  {
400  return "RecoveredPerInfectedNoSymptoms_b";
401  }
402 };
403 
407 template <typename FP>
409  using Type = Eigen::VectorX<UncertainValue<FP>>;
410  static Type get_default(size_t size)
411  {
412  return Type::Constant(size, 1, 0.5);
413  }
414  static std::string name()
415  {
416  return "SeverePerInfectedSymptoms_b";
417  }
418 };
419 
423 template <typename FP>
425  using Type = Eigen::VectorX<UncertainValue<FP>>;
426  static Type get_default(size_t size)
427  {
428  return Type::Constant(size, 1, 0.5);
429  }
430  static std::string name()
431  {
432  return "CriticalPerSevere_b";
433  }
434 };
435 
439 template <typename FP>
441  using Type = Eigen::VectorX<UncertainValue<FP>>;
442  static Type get_default(size_t size)
443  {
444  return Type::Constant(size, 1, 0.1);
445  }
446  static std::string name()
447  {
448  return "DeathsPerCritical_b";
449  }
450 };
451 
458 template <typename FP>
459 struct StartDay {
460  using Type = FP;
461  static Type get_default(size_t)
462  {
463  return 0.;
464  }
465  static std::string name()
466  {
467  return "StartDay";
468  }
469 };
470 
476 template <typename FP>
477 struct Seasonality {
478  using Type = FP;
479  static Type get_default(size_t)
480  {
481  return 0.;
482  }
483  static std::string name()
484  {
485  return "Seasonality";
486  }
487 };
488 
489 template <typename FP>
500 
504 template <typename FP>
505 class Parameters : public ParametersBase<FP>
506 {
507 public:
512  Parameters(size_t num_groups)
513  : ParametersBase<FP>(num_groups)
514  , m_num_groups{num_groups}
515  {
516  }
517 
518  size_t get_num_groups() const
519  {
520  return m_num_groups;
521  }
522 
527  bool check_constraints() const
528  {
529  for (size_t i = 0; i < m_num_groups; ++i) {
530  if (this->template get<Seasonality<FP>>() < 0.0 || this->template get<Seasonality<FP>>() > 0.5) {
531  log_warning("Constraint check: Parameter Seasonality should lie between {:0.4f} and {:.4f}", 0.0, 0.5);
532  return true;
533  }
534 
535  if (this->template get<TimeExposed_a<FP>>()[i] < 1.0) {
536  log_error("Constraint check: Parameter TimeExposed_a is smaller than {:.4f}", 1.0);
537  return true;
538  }
539 
540  if (this->template get<TimeExposed_b<FP>>()[i] < 1.0) {
541  log_error("Constraint check: Parameter TimeExposed_b is smaller than {:.4f}", 1.0);
542  return true;
543  }
544 
545  if (this->template get<TimeInfectedNoSymptoms_a<FP>>()[i] < 1.0) {
546  log_error("Constraint check: Parameter TimeInfectedNoSymptoms_a is smaller than {:.4f}", 1.0);
547  return true;
548  }
549 
550  if (this->template get<TimeInfectedNoSymptoms_b<FP>>()[i] < 1.0) {
551  log_error("Constraint check: Parameter TimeInfectedNoSymptoms_b is smaller than {:.4f}", 1.0);
552  return true;
553  }
554 
555  if (this->template get<TimeInfectedSymptoms_a<FP>>()[i] < 1.0) {
556  log_error("Constraint check: Parameter TimeInfectedSymptoms_a is smaller than {:.4f}", 1.0);
557  return true;
558  }
559 
560  if (this->template get<TimeInfectedSymptoms_b<FP>>()[i] < 1.0) {
561  log_error("Constraint check: Parameter TimeInfectedSymptoms_b is smaller than {:.4f}", 1.0);
562  return true;
563  }
564 
565  if (this->template get<TimeInfectedSevere_a<FP>>()[i] < 1.0) {
566  log_error("Constraint check: Parameter TimeInfectedSevere_a is smaller than {:.4f}", 1.0);
567  return true;
568  }
569 
570  if (this->template get<TimeInfectedSevere_b<FP>>()[i] < 1.0) {
571  log_error("Constraint check: Parameter TimeInfectedSevere_b is smaller than {:.4f}", 1.0);
572  return true;
573  }
574 
575  if (this->template get<TimeInfectedCritical_a<FP>>()[i] < 1.0) {
576  log_error("Constraint check: Parameter TimeInfectedCritical_a is smaller than {:.4f}", 1.0);
577  return true;
578  }
579 
580  if (this->template get<TimeInfectedCritical_b<FP>>()[i] < 1.0) {
581  log_error("Constraint check: Parameter TimeInfectedCritical_b is smaller than {:.4f}", 1.0);
582  return true;
583  }
584 
585  if (this->template get<TransmissionProbabilityOnContact_a<FP>>()[i] < 0.0 ||
586  this->template get<TransmissionProbabilityOnContact_a<FP>>()[i] > 1.0) {
587  log_error("Constraint check: Parameter TransmissionProbabilityOnContact_a smaller {:d} or larger {:d}",
588  0, 1);
589  return true;
590  }
591 
592  if (this->template get<TransmissionProbabilityOnContact_b<FP>>()[i] < 0.0 ||
593  this->template get<TransmissionProbabilityOnContact_b<FP>>()[i] > 1.0) {
594  log_error("Constraint check: Parameter TransmissionProbabilityOnContact_b smaller {:d} or larger {:d}",
595  0, 1);
596  return true;
597  }
598 
599  if (this->template get<RelativeTransmissionNoSymptoms_a<FP>>()[i] < 0.0 ||
600  this->template get<RelativeTransmissionNoSymptoms_a<FP>>()[i] > 1.0) {
601  log_error("Constraint check: Parameter RelativeTransmissionNoSymptoms_a smaller {:d} or larger {:d}", 0,
602  1);
603  return true;
604  }
605 
606  if (this->template get<RelativeTransmissionNoSymptoms_b<FP>>()[i] < 0.0 ||
607  this->template get<RelativeTransmissionNoSymptoms_b<FP>>()[i] > 1.0) {
608  log_error("Constraint check: Parameter RelativeTransmissionNoSymptoms_b smaller {:d} or larger {:d}", 0,
609  1);
610  return true;
611  }
612 
613  if (this->template get<RiskOfInfectionFromSymptomatic_a<FP>>()[i] < 0.0 ||
614  this->template get<RiskOfInfectionFromSymptomatic_a<FP>>()[i] > 1.0) {
615  log_error("Constraint check: Parameter RiskOfInfectionFromSymptomatic_a smaller {:d} or larger {:d}",
616  0, 1);
617  return true;
618  }
619 
620  if (this->template get<RiskOfInfectionFromSymptomatic_b<FP>>()[i] < 0.0 ||
621  this->template get<RiskOfInfectionFromSymptomatic_b<FP>>()[i] > 1.0) {
622  log_error("Constraint check: Parameter RiskOfInfectionFromSymptomatic_b smaller {:d} or larger {:d}",
623  0, 1);
624  return true;
625  }
626 
627  if (this->template get<RecoveredPerInfectedNoSymptoms_a<FP>>()[i] < 0.0 ||
628  this->template get<RecoveredPerInfectedNoSymptoms_a<FP>>()[i] > 1.0) {
629  log_error("Constraint check: Parameter RecoveredPerInfectedNoSymptoms_a smaller {:d} or larger {:d}", 0,
630  1);
631  return true;
632  }
633 
634  if (this->template get<RecoveredPerInfectedNoSymptoms_b<FP>>()[i] < 0.0 ||
635  this->template get<RecoveredPerInfectedNoSymptoms_b<FP>>()[i] > 1.0) {
636  log_error("Constraint check: Parameter RecoveredPerInfectedNoSymptoms_b smaller {:d} or larger {:d}", 0,
637  1);
638  return true;
639  }
640 
641  if (this->template get<SeverePerInfectedSymptoms_a<FP>>()[i] < 0.0 ||
642  this->template get<SeverePerInfectedSymptoms_a<FP>>()[i] > 1.0) {
643  log_error("Constraint check: Parameter SeverePerInfectedSymptoms_a smaller {:d} or larger {:d}", 0, 1);
644  return true;
645  }
646 
647  if (this->template get<SeverePerInfectedSymptoms_b<FP>>()[i] < 0.0 ||
648  this->template get<SeverePerInfectedSymptoms_b<FP>>()[i] > 1.0) {
649  log_error("Constraint check: Parameter SeverePerInfectedSymptoms_b smaller {:d} or larger {:d}", 0, 1);
650  return true;
651  }
652 
653  if (this->template get<CriticalPerSevere_a<FP>>()[i] < 0.0 ||
654  this->template get<CriticalPerSevere_a<FP>>()[i] > 1.0) {
655  log_error("Constraint check: Parameter CriticalPerSevere_a smaller {:d} or larger {:d}", 0, 1);
656  return true;
657  }
658 
659  if (this->template get<CriticalPerSevere_b<FP>>()[i] < 0.0 ||
660  this->template get<CriticalPerSevere_b<FP>>()[i] > 1.0) {
661  log_error("Constraint check: Parameter CriticalPerSevere_b smaller {:d} or larger {:d}", 0, 1);
662  return true;
663  }
664 
665  if (this->template get<DeathsPerCritical_a<FP>>()[i] < 0.0 ||
666  this->template get<DeathsPerCritical_a<FP>>()[i] > 1.0) {
667  log_error("Constraint check: Parameter DeathsPerCritical_a smaller {:d} or larger {:d}", 0, 1);
668  return true;
669  }
670 
671  if (this->template get<DeathsPerCritical_b<FP>>()[i] < 0.0 ||
672  this->template get<DeathsPerCritical_b<FP>>()[i] > 1.0) {
673  log_error("Constraint check: Parameter DeathsPerCritical_b smaller {:d} or larger {:d}", 0, 1);
674  return true;
675  }
676  }
677 
678  return false;
679  }
680 
681 private:
683  : ParametersBase<FP>(std::move(base))
684  , m_num_groups(this->template get<ContactPatterns<FP>>().get_cont_freq_mat().get_num_groups())
685  {
686  }
687 
688  size_t m_num_groups;
689 
690 public:
695  template <class IOContext>
696  static IOResult<Parameters> deserialize(IOContext& io)
697  {
698  BOOST_OUTCOME_TRY(auto&& base, ParametersBase<FP>::deserialize(io));
699  return success(Parameters(std::move(base)));
700  }
701 };
702 
703 } // namespace lsecir2d
704 } // namespace mio
705 
706 #endif // LCT_SECIR_2_DISEASES_PARAMS_H
represents a collection of contact frequency matrices that whose sum is the total number of contacts.
Definition: contact_matrix.h:536
represents time dependent contact frequencies between groups.
Definition: contact_matrix.h:505
a set of parameters defined at compile time
Definition: parameter_set.h:205
const ParameterTagTraits< Tag >::Type & get() const
get value of a parameter
Definition: parameter_set.h:262
The UncertainContactMatrix class consists of a ContactMatrix with fixed baseline and uncertain Dampin...
Definition: uncertain_matrix.h:43
Parameters of an LCT-SECIR-2-DISEASES model.
Definition: lct_secir_2_diseases/parameters.h:506
Parameters(size_t num_groups)
Constructor.
Definition: lct_secir_2_diseases/parameters.h:512
static IOResult< Parameters > deserialize(IOContext &io)
deserialize an object of this class.
Definition: lct_secir_2_diseases/parameters.h:696
bool check_constraints() const
Checks whether all parameters satisfy their corresponding constraints and throws errors,...
Definition: lct_secir_2_diseases/parameters.h:527
Parameters(ParametersBase< FP > &&base)
Definition: lct_secir_2_diseases/parameters.h:682
size_t get_num_groups() const
Definition: lct_secir_2_diseases/parameters.h:518
size_t m_num_groups
Definition: lct_secir_2_diseases/parameters.h:688
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 i
Definition: io.h:809
void log_warning(spdlog::string_view_t fmt, const Args &... args)
Definition: logging.h:112
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 contact patterns within the society are modelled using an UncertainContactMatrix.
Definition: lct_secir_2_diseases/parameters.h:244
static Type get_default(size_t size)
Definition: lct_secir_2_diseases/parameters.h:247
UncertainContactMatrix< FP > Type
Definition: lct_secir_2_diseases/parameters.h:245
static std::string name()
Definition: lct_secir_2_diseases/parameters.h:254
The percentage of ICU patients per hospitalized patients for disease a for each group.
Definition: lct_secir_2_diseases/parameters.h:360
static std::string name()
Definition: lct_secir_2_diseases/parameters.h:366
static Type get_default(size_t size)
Definition: lct_secir_2_diseases/parameters.h:362
Eigen::VectorX< UncertainValue< FP > > Type
Definition: lct_secir_2_diseases/parameters.h:361
The percentage of ICU patients per hospitalized patients for disease b for each group.
Definition: lct_secir_2_diseases/parameters.h:424
static std::string name()
Definition: lct_secir_2_diseases/parameters.h:430
static Type get_default(size_t size)
Definition: lct_secir_2_diseases/parameters.h:426
Eigen::VectorX< UncertainValue< FP > > Type
Definition: lct_secir_2_diseases/parameters.h:425
The percentage of dead patients per ICU patients for disease a for each group.
Definition: lct_secir_2_diseases/parameters.h:376
static Type get_default(size_t size)
Definition: lct_secir_2_diseases/parameters.h:378
static std::string name()
Definition: lct_secir_2_diseases/parameters.h:382
Eigen::VectorX< UncertainValue< FP > > Type
Definition: lct_secir_2_diseases/parameters.h:377
The percentage of dead patients per ICU patients for disease b for each group.
Definition: lct_secir_2_diseases/parameters.h:440
static Type get_default(size_t size)
Definition: lct_secir_2_diseases/parameters.h:442
static std::string name()
Definition: lct_secir_2_diseases/parameters.h:446
Eigen::VectorX< UncertainValue< FP > > Type
Definition: lct_secir_2_diseases/parameters.h:441
The percentage of asymptomatic cases for disease a for each group.
Definition: lct_secir_2_diseases/parameters.h:328
static std::string name()
Definition: lct_secir_2_diseases/parameters.h:334
static Type get_default(size_t size)
Definition: lct_secir_2_diseases/parameters.h:330
Eigen::VectorX< UncertainValue< FP > > Type
Definition: lct_secir_2_diseases/parameters.h:329
The percentage of asymptomatic cases for disease b for each group.
Definition: lct_secir_2_diseases/parameters.h:392
Eigen::VectorX< UncertainValue< FP > > Type
Definition: lct_secir_2_diseases/parameters.h:393
static std::string name()
Definition: lct_secir_2_diseases/parameters.h:398
static Type get_default(size_t size)
Definition: lct_secir_2_diseases/parameters.h:394
The relative InfectedNoSymptoms infectability for disease a for each group.
Definition: lct_secir_2_diseases/parameters.h:264
static Type get_default(size_t size)
Definition: lct_secir_2_diseases/parameters.h:266
Eigen::VectorX< UncertainValue< FP > > Type
Definition: lct_secir_2_diseases/parameters.h:265
static std::string name()
Definition: lct_secir_2_diseases/parameters.h:270
The relative InfectedNoSymptoms infectability for disease b for each group.
Definition: lct_secir_2_diseases/parameters.h:296
static std::string name()
Definition: lct_secir_2_diseases/parameters.h:302
Eigen::VectorX< UncertainValue< FP > > Type
Definition: lct_secir_2_diseases/parameters.h:297
static Type get_default(size_t size)
Definition: lct_secir_2_diseases/parameters.h:298
The risk of infection from symptomatic cases for disease a for each group.
Definition: lct_secir_2_diseases/parameters.h:280
static std::string name()
Definition: lct_secir_2_diseases/parameters.h:286
Eigen::VectorX< UncertainValue< FP > > Type
Definition: lct_secir_2_diseases/parameters.h:281
static Type get_default(size_t size)
Definition: lct_secir_2_diseases/parameters.h:282
The risk of infection from symptomatic cases for disease b for each group.
Definition: lct_secir_2_diseases/parameters.h:312
Eigen::VectorX< UncertainValue< FP > > Type
Definition: lct_secir_2_diseases/parameters.h:313
static Type get_default(size_t size)
Definition: lct_secir_2_diseases/parameters.h:314
static std::string name()
Definition: lct_secir_2_diseases/parameters.h:318
The seasonality in the LCT-SECIR-2-DISEASES model.
Definition: lct_secir_2_diseases/parameters.h:477
static std::string name()
Definition: lct_secir_2_diseases/parameters.h:483
static Type get_default(size_t)
Definition: lct_secir_2_diseases/parameters.h:479
FP Type
Definition: lct_secir_2_diseases/parameters.h:478
The percentage of hospitalized patients per infected patients for disease a for each group.
Definition: lct_secir_2_diseases/parameters.h:344
static std::string name()
Definition: lct_secir_2_diseases/parameters.h:350
Eigen::VectorX< UncertainValue< FP > > Type
Definition: lct_secir_2_diseases/parameters.h:345
static Type get_default(size_t size)
Definition: lct_secir_2_diseases/parameters.h:346
The percentage of hospitalized patients per infected patients for disease b for each group.
Definition: lct_secir_2_diseases/parameters.h:408
static Type get_default(size_t size)
Definition: lct_secir_2_diseases/parameters.h:410
static std::string name()
Definition: lct_secir_2_diseases/parameters.h:414
Eigen::VectorX< UncertainValue< FP > > Type
Definition: lct_secir_2_diseases/parameters.h:409
The start day in the LCT-SECIR-2-DISEASES model.
Definition: lct_secir_2_diseases/parameters.h:459
static Type get_default(size_t)
Definition: lct_secir_2_diseases/parameters.h:461
static std::string name()
Definition: lct_secir_2_diseases/parameters.h:465
FP Type
Definition: lct_secir_2_diseases/parameters.h:460
Average time spent in the Exposed compartment for disease a in day unit for each group.
Definition: lct_secir_2_diseases/parameters.h:48
static std::string name()
Definition: lct_secir_2_diseases/parameters.h:54
static Type get_default(size_t size)
Definition: lct_secir_2_diseases/parameters.h:50
Eigen::VectorX< UncertainValue< FP > > Type
Definition: lct_secir_2_diseases/parameters.h:49
Average time spent in the Exposed compartment for disease b in day unit for each group.
Definition: lct_secir_2_diseases/parameters.h:146
static Type get_default(size_t size)
Definition: lct_secir_2_diseases/parameters.h:148
Eigen::VectorX< UncertainValue< FP > > Type
Definition: lct_secir_2_diseases/parameters.h:147
static std::string name()
Definition: lct_secir_2_diseases/parameters.h:152
Average time treated by ICU before dead or recovering for disease a in day unit for each group.
Definition: lct_secir_2_diseases/parameters.h:114
static std::string name()
Definition: lct_secir_2_diseases/parameters.h:120
Eigen::VectorX< UncertainValue< FP > > Type
Definition: lct_secir_2_diseases/parameters.h:115
static Type get_default(size_t size)
Definition: lct_secir_2_diseases/parameters.h:116
Average time treated by ICU before dead or recovering for disease b in day unit for each group.
Definition: lct_secir_2_diseases/parameters.h:212
Eigen::VectorX< UncertainValue< FP > > Type
Definition: lct_secir_2_diseases/parameters.h:213
static std::string name()
Definition: lct_secir_2_diseases/parameters.h:218
static Type get_default(size_t size)
Definition: lct_secir_2_diseases/parameters.h:214
Average time spent in the TimeInfectedNoSymptoms before developing symptoms or recovering for disease...
Definition: lct_secir_2_diseases/parameters.h:65
Eigen::VectorX< UncertainValue< FP > > Type
Definition: lct_secir_2_diseases/parameters.h:66
static Type get_default(size_t size)
Definition: lct_secir_2_diseases/parameters.h:67
static std::string name()
Definition: lct_secir_2_diseases/parameters.h:71
Average time spent in the TimeInfectedNoSymptoms before developing symptoms or recovering for disease...
Definition: lct_secir_2_diseases/parameters.h:163
static std::string name()
Definition: lct_secir_2_diseases/parameters.h:169
Eigen::VectorX< UncertainValue< FP > > Type
Definition: lct_secir_2_diseases/parameters.h:164
static Type get_default(size_t size)
Definition: lct_secir_2_diseases/parameters.h:165
Average time being in the Hospital before treated by ICU or recovering for disease a in day unit for ...
Definition: lct_secir_2_diseases/parameters.h:98
Eigen::VectorX< UncertainValue< FP > > Type
Definition: lct_secir_2_diseases/parameters.h:99
static std::string name()
Definition: lct_secir_2_diseases/parameters.h:104
static Type get_default(size_t size)
Definition: lct_secir_2_diseases/parameters.h:100
Average time being in the Hospital before treated by ICU or recovering for disease b in day unit for ...
Definition: lct_secir_2_diseases/parameters.h:196
Eigen::VectorX< UncertainValue< FP > > Type
Definition: lct_secir_2_diseases/parameters.h:197
static Type get_default(size_t size)
Definition: lct_secir_2_diseases/parameters.h:198
static std::string name()
Definition: lct_secir_2_diseases/parameters.h:202
Average time spent in the TimeInfectedSymptoms before going to hospital or recovering for disease a i...
Definition: lct_secir_2_diseases/parameters.h:82
static std::string name()
Definition: lct_secir_2_diseases/parameters.h:88
Eigen::VectorX< UncertainValue< FP > > Type
Definition: lct_secir_2_diseases/parameters.h:83
static Type get_default(size_t size)
Definition: lct_secir_2_diseases/parameters.h:84
Average time spent in the TimeInfectedSymptoms before going to hospital or recovering for disease b i...
Definition: lct_secir_2_diseases/parameters.h:180
static Type get_default(size_t size)
Definition: lct_secir_2_diseases/parameters.h:182
static std::string name()
Definition: lct_secir_2_diseases/parameters.h:186
Eigen::VectorX< UncertainValue< FP > > Type
Definition: lct_secir_2_diseases/parameters.h:181
Probability of getting infected from a contact for disease a for each group.
Definition: lct_secir_2_diseases/parameters.h:130
static std::string name()
Definition: lct_secir_2_diseases/parameters.h:136
Eigen::VectorX< UncertainValue< FP > > Type
Definition: lct_secir_2_diseases/parameters.h:131
static Type get_default(size_t size)
Definition: lct_secir_2_diseases/parameters.h:132
Probability of getting infected from a contact for disease b for each group.
Definition: lct_secir_2_diseases/parameters.h:228
static Type get_default(size_t size)
Definition: lct_secir_2_diseases/parameters.h:230
static std::string name()
Definition: lct_secir_2_diseases/parameters.h:234
Eigen::VectorX< UncertainValue< FP > > Type
Definition: lct_secir_2_diseases/parameters.h:229