Skip to content

Commit 1ee457c

Browse files
committed
Merge branch 'main' of github.com:SciCompMod/memilio-tutorials
2 parents 53f57ec + 8453a8d commit 1ee457c

10 files changed

Lines changed: 21 additions & 59 deletions

File tree

cpp-tutorials/abm/tutorial_abm_vaccination.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -419,8 +419,7 @@ int main(int argc, char* argv[])
419419
// ── Data-driven mode ─────────────────────────────────────────
420420
// Read real-world vaccination counts from a JSON file and apply
421421
// them day-by-day to the model's persons.
422-
const std::string vacc_json_path =
423-
"/Users/saschakorf/Documents/Promotion/memilio-tutorials/cpp-tutorials/abm/vacc_county_ageinf_ma7.json";
422+
const std::string vacc_json_path = "./vacc_county_ageinf_ma7.json";
424423
const int county_id = 1002;
425424
const mio::Date sim_start = mio::Date(2020, 10, 1);
426425

cpp-tutorials/exercises/exercise03.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,12 @@ int main()
4848
// all currently active dampings of one level and different types are summed up. If two dampings have different
4949
// levels (independent of the type) they are combined multiplicatively. In the following we apply a `Damping`
5050
// of 0.9 after 10 days and another damping of 0.6 after 20 days which means that the contacts are reduced
51-
// by 10% and 40%, respectively. To always retain a minimum level of contacts, a minimum contact frequency can
51+
// by 90% and 60%, respectively. To always retain a minimum level of contacts, a minimum contact frequency can
5252
// be set that is never deceeded. In our example we set this minimum contact rate to 0.
5353
contact_matrix[0].add_damping(0.9, mio::SimulationTime<ScalarType>(10.));
5454
contact_matrix[0].add_damping(0.6, mio::SimulationTime<ScalarType>(20.));
5555

56-
//EXERCISE: Please create a damping that replaces the 10% reduction after 10 days by a 20% reduction. Additionally, add a damping after 40 days that increases the contact rate by 50%.
56+
//EXERCISE: Please create a damping that replaces the 90% reduction after 10 days by a 20% reduction. Additionally, add a damping after 40 days that increases the contact rate by 50%.
5757

5858
// Again, we start with 0.5% of the population initially in `Exposed` and 0.5% initially in `InfectedNoSymptoms`
5959
// while the remaining 99% is `Susceptible`.

cpp-tutorials/tutorial03.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ int main()
4646
// all currently active dampings of one level and different types are summed up. If two dampings have different
4747
// levels (independent of the type) they are combined multiplicatively. In the following we apply a `Damping`
4848
// of 0.9 after 10 days and another damping of 0.6 after 20 days which means that the contacts are reduced
49-
// by 10% and 40%, respectively. To always retain a minimum level of contacts, a minimum contact frequency can
49+
// by 90% and 60%, respectively. To always retain a minimum level of contacts, a minimum contact frequency can
5050
// be set that is never deceeded. In our example we set this minimum contact rate to 0.
5151
contact_matrix[0].add_damping(0.9, mio::SimulationTime<ScalarType>(10.));
5252
contact_matrix[0].add_damping(0.6, mio::SimulationTime<ScalarType>(20.));

exercises/exercise01.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ def _(mo):
250250

251251
@app.cell
252252
def _(result):
253-
result.print_table()
253+
print(result.print_table(return_string=True))
254254
return
255255

256256

@@ -280,7 +280,7 @@ def _(mo):
280280

281281
@app.cell
282282
def _(interpolated_result):
283-
interpolated_result.print_table()
283+
print(interpolated_result.print_table(return_string=True))
284284
return
285285

286286

exercises/exercise03.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ def _():
105105
@app.cell
106106
def _(mo):
107107
mo.md(r"""
108-
After the model initialization, we add a contact reduction (`Damping`) that represents an NPI like e.g. mask wearing or social distancing. Dampings are a factor applied to the contact frequency and can be added to the model at fixed simulation time points before simulating. They have a *Level* and a *Type*. A damping with a given level and type replaces the previously active one with the same level and type, while all currently active dampings of one level and different types are summed up. If two dampings have different levels (independent of the type) they are combined multiplicatively. In the following we apply a `Damping` of 0.9 after 10 days and another damping of 0.6 after 20 days which means that the contacts are reduced by 10% and 40%, respectively. In general, it is also possible to increase the contact rate by using Damping values greater than 1. To always retain a minimum level of contacts, a minimum contact frequency can be set that is never deceeded. In our example we set this minimum contact rate to 0.
108+
After the model initialization, we add a contact reduction (`Damping`) that represents an NPI like e.g. mask wearing or social distancing. Dampings are a factor applied to the contact frequency and can be added to the model at fixed simulation time points before simulating. They have a *Level* and a *Type*. A damping with a given level and type replaces the previously active one with the same level and type, while all currently active dampings of one level and different types are summed up. If two dampings have different levels (independent of the type) they are combined multiplicatively. In the following we apply a `Damping` of 0.9 after 10 days and another damping of 0.6 after 20 days which means that the contacts are reduced by 90% and 60%, respectively. In general, it is also possible to increase the contact rate by using negative Damping values. To always retain a minimum level of contacts, a minimum contact frequency can be set that is never deceeded. In our example we set this minimum contact rate to 0.
109109
""")
110110
return
111111

@@ -115,9 +115,9 @@ def _(Damping, model, np):
115115
# Set minimum contact frequency
116116
model.parameters.ContactPatterns.cont_freq_mat[0].minimum = np.zeros((1, 1))
117117

118-
# Add contact reduction by 10% after 10 days
118+
# Add contact reduction by 90% after 10 days
119119
model.parameters.ContactPatterns.cont_freq_mat.add_damping(Damping(coeffs=np.ones((1, 1)) * 0.9, t=10.0, level=0, type=0))
120-
# Add contact reduction by 40% after 20 days
120+
# Add contact reduction by 60% after 20 days
121121
model.parameters.ContactPatterns.cont_freq_mat.add_damping(Damping(coeffs=np.ones((1, 1)) * 0.6, t=20.0, level=0, type=0))
122122
return
123123

@@ -126,7 +126,7 @@ def _(Damping, model, np):
126126
def _(mo):
127127
mo.md(r"""
128128
### Exercise
129-
Please create a damping that replaces the 10% reduction after 10 days by a 20% reduction. Additionally, add a damping after 40 days that increases the contact rate by 50%.
129+
Please create a damping that replaces the 90% reduction after 10 days by a 20% reduction. Additionally, add a damping after 40 days that increases the contact rate by 50%.
130130
""")
131131
return
132132

@@ -170,7 +170,7 @@ def _(mo):
170170
def _(dt, model, osecir, t0, tmax):
171171
# Simulate model from t0 to tmax with initial step size dt
172172
result = osecir.simulate(t0, tmax, dt, model)
173-
result.print_table()
173+
print(result.print_table(return_string=True))
174174
return (result,)
175175

176176

@@ -186,7 +186,7 @@ def _(mo):
186186
def _(osecir, result):
187187
# Interpolate result to full days
188188
interpolated_result = osecir.interpolate_simulation_result(result)
189-
interpolated_result.print_table()
189+
print(interpolated_result.print_table(return_string=True))
190190
return
191191

192192

exercises/exercise05.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ def _(mo):
184184
def _(dt, model, osecir, t0, tmax):
185185
# Simulate model from t0 to tmax with initial step size dt
186186
result = osecir.simulate(t0, tmax, dt, model)
187-
result.print_table()
187+
print(result.print_table(return_string=True))
188188
return (result,)
189189

190190

@@ -200,7 +200,7 @@ def _(mo):
200200
def _(osecir, result):
201201
# Interpolate result to full days
202202
interpolated_result = osecir.interpolate_simulation_result(result)
203-
interpolated_result.print_table()
203+
print(interpolated_result.print_table(return_string=True))
204204
return
205205

206206

hello-world.ipynb

Lines changed: 0 additions & 37 deletions
This file was deleted.

tutorial01.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ def _(mo):
221221

222222
@app.cell
223223
def _(result):
224-
result.print_table()
224+
print(result.print_table(return_string=True))
225225
return
226226

227227

@@ -251,7 +251,7 @@ def _(mo):
251251

252252
@app.cell
253253
def _(interpolated_result):
254-
interpolated_result.print_table()
254+
print(interpolated_result.print_table(return_string=True))
255255
return
256256

257257

tutorial03.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,9 @@ def _(Damping, model, np):
100100
# Set minimum contact frequency
101101
model.parameters.ContactPatterns.cont_freq_mat[0].minimum = np.zeros((1, 1))
102102

103-
# Add contact reduction by 10% after 10 days
103+
# Add contact reduction by 90% after 10 days
104104
model.parameters.ContactPatterns.cont_freq_mat.add_damping(Damping(coeffs=np.ones((1, 1)) * 0.9, t=10.0, level=0, type=0))
105-
# Add contact reduction by 40% after 20 days
105+
# Add contact reduction by 60% after 20 days
106106
model.parameters.ContactPatterns.cont_freq_mat.add_damping(Damping(coeffs=np.ones((1, 1)) * 0.6, t=20.0, level=0, type=0))
107107
return
108108

@@ -140,7 +140,7 @@ def _(mo):
140140
def _(dt, model, osecir, t0, tmax):
141141
# Simulate model from t0 to tmax with initial step size dt
142142
result = osecir.simulate(t0, tmax, dt, model)
143-
result.print_table()
143+
print(result.print_table(return_string=True))
144144
return (result,)
145145

146146

@@ -156,7 +156,7 @@ def _(mo):
156156
def _(osecir, result):
157157
# Interpolate result to full days
158158
interpolated_result = osecir.interpolate_simulation_result(result)
159-
interpolated_result.print_table()
159+
print(interpolated_result.print_table(return_string=True))
160160
return
161161

162162

tutorial05.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ def _(dt, model, osecir, t0, tmax):
171171
result = osecir.simulate(t0, tmax, dt, model)
172172
# Interpolate result to full days
173173
interpolated_result = osecir.interpolate_simulation_result(result)
174-
interpolated_result.print_table()
174+
print(interpolated_result.print_table(return_string=True))
175175
return (result,)
176176

177177

0 commit comments

Comments
 (0)