Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
5075322
added first ideas
lenaploetzke Apr 3, 2024
ac16bc6
added command for b2 headers
lenaploetzke Apr 3, 2024
13e4d4a
change command for msvc
lenaploetzke Apr 4, 2024
6820e42
changed to .bat
lenaploetzke Apr 4, 2024
cb02f40
delete invalid character
lenaploetzke Apr 4, 2024
f8e7be6
use other slashes
lenaploetzke Apr 4, 2024
da1a8c0
try "
lenaploetzke Apr 4, 2024
eb59ff2
rm ./
lenaploetzke Apr 4, 2024
3ff1487
update boost version
lenaploetzke Apr 8, 2024
84f3911
rm auto keyword
lenaploetzke Apr 8, 2024
23b08cf
add auto
lenaploetzke Apr 8, 2024
f94fa5d
try what happens
lenaploetzke Apr 8, 2024
7ce0e7a
add .exe
lenaploetzke Apr 8, 2024
7d53977
try two backslashes
lenaploetzke Apr 8, 2024
262496f
add cxx standard
lenaploetzke Apr 8, 2024
12bc2f4
rm quiet flag
lenaploetzke Apr 8, 2024
556b89a
add quiet flag
lenaploetzke Apr 8, 2024
0c12918
added flag
lenaploetzke Apr 8, 2024
e930a90
add start
lenaploetzke Apr 9, 2024
cd0c24b
add help flag
lenaploetzke Apr 9, 2024
7e84851
try dir
lenaploetzke Apr 9, 2024
ebbe4e1
just b2
lenaploetzke Apr 9, 2024
19a0f9f
problem with "
lenaploetzke Apr 9, 2024
9bab72c
b2 quiet again
lenaploetzke Apr 9, 2024
f84d083
adapted documentation
lenaploetzke Apr 9, 2024
653334c
added if clause
lenaploetzke Apr 10, 2024
6e09cc6
Included reviewer suggestions
lenaploetzke Apr 10, 2024
7517f99
Update cpp/memilio/math/README.md
lenaploetzke Apr 11, 2024
7711fd1
Merge branch '983-bundle-the-boost-git-repo-instead-of-using-the-targ…
lenaploetzke Apr 11, 2024
250d102
readd changes in state age function
lenaploetzke Apr 11, 2024
ff8133b
added tests for the constructors of derived classes
lenaploetzke Apr 12, 2024
34de541
Merge branch 'main' into 899-new-add-gamma-distribution-and-other-par…
lenaploetzke Apr 19, 2024
b8ff7cb
resolve error
lenaploetzke Apr 19, 2024
7ace03c
Merge branch 'main' into 899-new-add-gamma-distribution-and-other-par…
lenaploetzke Apr 29, 2024
86b8766
add test for mean to other StateAgeFunctions
lenaploetzke Apr 30, 2024
ab509b0
Apply suggestions from code review
lenaploetzke May 10, 2024
bfbc22f
added reviewers comments
lenaploetzke May 10, 2024
8cf9f4c
Apply suggestions from code review
lenaploetzke May 13, 2024
92d7a37
changed smoothercosine to lognorm in test
lenaploetzke May 13, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions cpp/examples/ide_secir.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,9 @@ int main()
mio::StateAgeFunctionWrapper delaydistribution(smoothcos);
std::vector<mio::StateAgeFunctionWrapper> vec_delaydistrib(num_transitions, delaydistribution);
// TransitionDistribution is not used for SusceptibleToExposed. Therefore, the parameter can be set to any value.
vec_delaydistrib[(int)mio::isecir::InfectionTransition::SusceptibleToExposed].set_parameter(-1.);
vec_delaydistrib[(int)mio::isecir::InfectionTransition::InfectedNoSymptomsToInfectedSymptoms].set_parameter(4.0);
vec_delaydistrib[(int)mio::isecir::InfectionTransition::SusceptibleToExposed].set_distribution_parameter(-1.);
vec_delaydistrib[(int)mio::isecir::InfectionTransition::InfectedNoSymptomsToInfectedSymptoms]
.set_distribution_parameter(4.0);
model.parameters.set<mio::isecir::TransitionDistributions>(vec_delaydistrib);

std::vector<ScalarType> vec_prob(num_transitions, 0.5);
Expand All @@ -88,8 +89,8 @@ int main()
contact_matrix[0] = mio::ContactMatrix(Eigen::MatrixXd::Constant(1, 1, 10.));
model.parameters.get<mio::isecir::ContactPatterns>() = mio::UncertainContactMatrix(contact_matrix);

mio::ExponentialDecay expdecay(0.5);
mio::StateAgeFunctionWrapper prob(expdecay);
mio::ExponentialSurvivalFunction exponential(0.5);
mio::StateAgeFunctionWrapper prob(exponential);
model.parameters.set<mio::isecir::TransmissionProbabilityOnContact>(prob);
model.parameters.set<mio::isecir::RelativeTransmissionNoSymptoms>(prob);
model.parameters.set<mio::isecir::RiskOfInfectionFromSymptomatic>(prob);
Expand Down
520 changes: 448 additions & 72 deletions cpp/memilio/epidemiology/state_age_function.h

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion cpp/models/ode_secir/parameters_io.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -423,4 +423,4 @@ IOResult<void> set_divi_data(std::vector<Model>& model, const std::string& path,

#endif // MEMILIO_HAS_JSONCPP

GCC_CLANG_DIAGNOSTIC(pop)
GCC_CLANG_DIAGNOSTIC(pop)
Comment thread
lenaploetzke marked this conversation as resolved.
3 changes: 2 additions & 1 deletion cpp/tests/test_ide_parameters_io.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@ TEST(TestIDEParametersIo, RKIcompareWithPreviousRun)
mio::StateAgeFunctionWrapper delaydistribution(smoothcos);
std::vector<mio::StateAgeFunctionWrapper> vec_delaydistrib((int)mio::isecir::InfectionTransition::Count,
delaydistribution);
vec_delaydistrib[(int)mio::isecir::InfectionTransition::InfectedSymptomsToInfectedSevere].set_parameter(1.7);
vec_delaydistrib[(int)mio::isecir::InfectionTransition::InfectedSymptomsToInfectedSevere]
.set_distribution_parameter(1.7);
model.parameters.set<mio::isecir::TransitionDistributions>(vec_delaydistrib);

std::vector<ScalarType> vec_prob((int)mio::isecir::InfectionTransition::Count, 0.5);
Expand Down
32 changes: 17 additions & 15 deletions cpp/tests/test_ide_secir.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,8 @@ class ModelTestIdeSecir : public testing::Test
contact_matrix[0] = mio::ContactMatrix(Eigen::MatrixXd::Constant(1, 1, 10.));
model->parameters.get<mio::isecir::ContactPatterns>() = mio::UncertainContactMatrix(contact_matrix);

mio::ExponentialDecay expdecay(0.5);
mio::StateAgeFunctionWrapper prob(expdecay);
mio::ExponentialSurvivalFunction exponential(0.5);
mio::StateAgeFunctionWrapper prob(exponential);
model->parameters.set<mio::isecir::TransmissionProbabilityOnContact>(prob);
model->parameters.set<mio::isecir::RelativeTransmissionNoSymptoms>(prob);
model->parameters.set<mio::isecir::RiskOfInfectionFromSymptomatic>(prob);
Expand Down Expand Up @@ -467,8 +467,8 @@ TEST(IdeSecir, testModelConstraints)
// Initialize a model.
mio::isecir::Model model(std::move(init_few_timepoints), N, deaths);

mio::ExponentialDecay expdecay(4.0);
mio::StateAgeFunctionWrapper delaydistribution(expdecay);
mio::ExponentialSurvivalFunction exponential(4.0);
mio::StateAgeFunctionWrapper delaydistribution(exponential);
std::vector<mio::StateAgeFunctionWrapper> vec_delaydistrib(num_transitions, delaydistribution);
model.parameters.set<mio::isecir::TransitionDistributions>(vec_delaydistrib);

Expand Down Expand Up @@ -659,8 +659,8 @@ TEST(IdeSecir, testParametersConstraints)
EXPECT_TRUE(constraint_check);

// Check wrong value for Seasonality.
mio::ExponentialDecay expdecay(4.0);
mio::StateAgeFunctionWrapper delaydistribution2(expdecay);
mio::ExponentialSurvivalFunction exponential(4.0);
mio::StateAgeFunctionWrapper delaydistribution2(exponential);
std::vector<mio::StateAgeFunctionWrapper> vec_delaydistrib2((int)mio::isecir::InfectionTransition::Count,
delaydistribution2);
parameters.set<mio::isecir::TransitionDistributions>(vec_delaydistrib2);
Expand Down Expand Up @@ -707,13 +707,14 @@ TEST(IdeSecir, checkProportionRecoveredDeath)
mio::isecir::Model model(std::move(init), N, deaths);

// Set working parameters.
// All TransitionDistribution%s are ExponentialDecay functions.
// All TransitionDistribution%s are ExponentialSurvivalFunction functions.
// For all TransitionDistribution%s init_parameter=2 is used except for InfectedCriticalToRecovered
// where init_parameter=3 is used.
mio::ExponentialDecay expdecay(4.0);
mio::StateAgeFunctionWrapper delaydistribution(expdecay);
mio::ExponentialSurvivalFunction exponential(4.0);
mio::StateAgeFunctionWrapper delaydistribution(exponential);
std::vector<mio::StateAgeFunctionWrapper> vec_delaydistrib(num_transitions, delaydistribution);
vec_delaydistrib[(int)mio::isecir::InfectionTransition::InfectedCriticalToRecovered].set_parameter(3.0);
vec_delaydistrib[(int)mio::isecir::InfectionTransition::InfectedCriticalToRecovered].set_distribution_parameter(
3.0);
model.parameters.set<mio::isecir::TransitionDistributions>(vec_delaydistrib);

// Set probabilities so that all individuals go from Susceptible to InfectedCritical with probability 1,
Expand All @@ -730,8 +731,8 @@ TEST(IdeSecir, checkProportionRecoveredDeath)
contact_matrix[0] = mio::ContactMatrix(Eigen::MatrixXd::Constant(1, 1, 1.));
model.parameters.get<mio::isecir::ContactPatterns>() = mio::UncertainContactMatrix(contact_matrix);

mio::ExponentialDecay expdecay2(0.5);
mio::StateAgeFunctionWrapper prob(expdecay2);
mio::ExponentialSurvivalFunction exponential2(0.5);
mio::StateAgeFunctionWrapper prob(exponential2);
model.parameters.set<mio::isecir::TransmissionProbabilityOnContact>(prob);
model.parameters.set<mio::isecir::RelativeTransmissionNoSymptoms>(prob);
model.parameters.set<mio::isecir::RiskOfInfectionFromSymptomatic>(prob);
Expand Down Expand Up @@ -806,7 +807,8 @@ TEST(IdeSecir, compareEquilibria)
mio::SmootherCosine smoothcos2(2.0);
mio::StateAgeFunctionWrapper delaydistribution2(smoothcos);
std::vector<mio::StateAgeFunctionWrapper> vec_delaydistrib2(num_transitions, delaydistribution2);
vec_delaydistrib2[(int)mio::isecir::InfectionTransition::InfectedCriticalToRecovered].set_parameter(7.0);
vec_delaydistrib2[(int)mio::isecir::InfectionTransition::InfectedCriticalToRecovered].set_distribution_parameter(
7.0);
model2.parameters.set<mio::isecir::TransitionDistributions>(vec_delaydistrib2);

// All remaining parameters are equal for both models.
Expand All @@ -826,8 +828,8 @@ TEST(IdeSecir, compareEquilibria)
model.parameters.get<mio::isecir::ContactPatterns>() = mio::UncertainContactMatrix(contact_matrix);
model2.parameters.get<mio::isecir::ContactPatterns>() = mio::UncertainContactMatrix(contact_matrix);

mio::ExponentialDecay expdecay(0.5);
mio::StateAgeFunctionWrapper prob(expdecay);
mio::ExponentialSurvivalFunction exponential(0.5);
mio::StateAgeFunctionWrapper prob(exponential);
model.parameters.set<mio::isecir::TransmissionProbabilityOnContact>(prob);
model.parameters.set<mio::isecir::RelativeTransmissionNoSymptoms>(prob);
model.parameters.set<mio::isecir::RiskOfInfectionFromSymptomatic>(prob);
Expand Down
Loading