From 2ac20bd81d7062042ec14b85ad0afda8e80d500a Mon Sep 17 00:00:00 2001 From: Andrejh Date: Fri, 6 Aug 2021 15:42:56 +0200 Subject: [PATCH] add new files for the IGH paper --- cara/mc-output_IGH_paper.py | 179 +++++ cara/model_scenarios_IGH_paper.py | 1056 +++++++++++++++++++++++++++++ 2 files changed, 1235 insertions(+) create mode 100644 cara/mc-output_IGH_paper.py create mode 100644 cara/model_scenarios_IGH_paper.py diff --git a/cara/mc-output_IGH_paper.py b/cara/mc-output_IGH_paper.py new file mode 100644 index 00000000..8962370c --- /dev/null +++ b/cara/mc-output_IGH_paper.py @@ -0,0 +1,179 @@ +from cara.montecarlo import * +from cara.model_scenarios_IGH_paper import * + +##Fig 1a +#compare_concentration_curves_virus_IGH_paper([classroom_model_IGH_no_mask_windows_closed[0],classroom_model_IGH_no_mask_windows_open_breaks[0], +# classroom_model_IGH_no_mask_windows_open_alltimes[0]], +# labels=['Windows closed', 'Window open during breaks', 'Window open at all times'], +# colors=['tomato', 'lightskyblue', 'limegreen', '#1f77b4', 'seagreen', 'lightskyblue', 'deepskyblue'], +# title='No mask - Spring/Summer period' +# ) +#print_qd_info(classroom_model_IGH_no_mask_windows_closed[0]) +#print_qd_info(classroom_model_IGH_no_mask_windows_open_breaks[0]) +#print_qd_info(classroom_model_IGH_no_mask_windows_open_alltimes[0]) +# +##Fig 1b +#compare_concentration_curves_virus_IGH_paper([classroom_model_IGH_no_mask_windows_closed[0],classroom_model_IGH_no_mask_2windows_open_breaks[0], +# classroom_model_IGH_no_mask_2windows_open_alltimes[0]], +# labels=['Windows closed', '2 windows open during breaks', '2 windows open at all times'], +# colors=['tomato', 'lightskyblue', 'limegreen', '#1f77b4', 'seagreen', 'lightskyblue', 'deepskyblue'], +# title='No mask - Spring/Summer period' +# ) +#print_qd_info(classroom_model_IGH_no_mask_windows_closed[0]) +#print_qd_info(classroom_model_IGH_no_mask_2windows_open_breaks[0]) +#print_qd_info(classroom_model_IGH_no_mask_2windows_open_alltimes[0]) + +##Fig 1c +#compare_concentration_curves_virus_IGH_paper([classroom_model_IGH_no_mask_windows_closed[0],classroom_model_IGH_no_mask_windows_open_breaks_winter[0], +# classroom_model_IGH_no_mask_windows_open_alltimes_winter[0], classroom_model_IGH_no_mask_windows_fully_open_alltimes_winter[0]], +# labels=['Windows closed', 'Window fully open during breaks', 'Window slightly open at all times', 'Window fully open at all times'], +# colors=['tomato', 'lightskyblue', '#1f77b4', 'limegreen', 'seagreen', 'lightskyblue', 'deepskyblue'], +# title='No mask - Winter period' +# ) +#print_qd_info(classroom_model_IGH_no_mask_windows_closed[0]) +#print_qd_info(classroom_model_IGH_no_mask_windows_open_breaks_winter[0]) +#print_qd_info(classroom_model_IGH_no_mask_windows_open_alltimes_winter[0]) +#print_qd_info(classroom_model_IGH_no_mask_windows_fully_open_alltimes_winter[0]) +# + +##Fig 1d +#compare_concentration_curves_virus_IGH_paper([classroom_model_IGH_no_mask_windows_closed[0],classroom_model_IGH_no_mask_2windows_open_breaks_winter[0], +# classroom_model_IGH_no_mask_2windows_open_alltimes_winter[0], classroom_model_IGH_no_mask_2windows_fully_open_alltimes_winter[0]], +# labels=['Windows closed', '2 windows fully open during breaks', '2 windows slighty open at all times', '2 windows fully open at all times'], +# colors=['tomato', 'lightskyblue', '#1f77b4', 'limegreen', 'seagreen', 'lightskyblue', 'deepskyblue'], +# title='No mask - Winter period' +# ) +#print_qd_info(classroom_model_IGH_no_mask_windows_closed[0]) +#print_qd_info(classroom_model_IGH_no_mask_2windows_open_breaks_winter[0]) +#print_qd_info(classroom_model_IGH_no_mask_2windows_open_alltimes_winter[0]) +#print_qd_info(classroom_model_IGH_no_mask_2windows_fully_open_alltimes_winter[0]) +# +##Fig 1e +#compare_concentration_curves_virus_IGH_paper([classroom_model_IGH_no_mask_windows_closed[0],classroom_model_IGH_no_mask_6windows_open_breaks[0], +# classroom_model_IGH_no_mask_6windows_open_alltimes[0]], +# labels=['Windows closed', '6 windows open during breaks', '6 windows open at all times'], +# colors=['tomato', 'lightskyblue', 'limegreen', '#1f77b4', 'seagreen', 'lightskyblue', 'deepskyblue'], +# title='No mask - Spring/Summer period' +# ) +#print_qd_info(classroom_model_IGH_no_mask_windows_closed[0]) +#print_qd_info(classroom_model_IGH_no_mask_6windows_open_breaks[0]) +#print_qd_info(classroom_model_IGH_no_mask_6windows_open_alltimes[0]) +# +##Fig 1f +#compare_concentration_curves_virus_IGH_paper([classroom_model_IGH_no_mask_windows_closed[0],classroom_model_IGH_no_mask_6windows_open_breaks_winter[0], +# classroom_model_IGH_no_mask_6windows_open_alltimes_winter[0], classroom_model_IGH_no_mask_6windows_fully_open_alltimes_winter[0]], +# labels=['Windows closed', '6 windows fully open during breaks', '6 windows slighty open at all times', '6 windows fully open at all times'], +# colors=['tomato', 'lightskyblue', '#1f77b4', 'limegreen', 'seagreen', 'lightskyblue', 'deepskyblue'], +# title='No mask - Winter period' +# ) +#print_qd_info(classroom_model_IGH_no_mask_windows_closed[0]) +#print_qd_info(classroom_model_IGH_no_mask_6windows_open_breaks_winter[0]) +#print_qd_info(classroom_model_IGH_no_mask_6windows_open_alltimes_winter[0]) +#rint_qd_info(classroom_model_IGH_no_mask_6windows_fully_open_alltimes_winter[0]) +# +##Fig 2 +#compare_concentration_curves_virus_IGH_paper([classroom_model_IGH_no_mask_windows_closed[0],classroom_model_IGH_no_mask_windows_closed_1HEPA[0], +# classroom_model_IGH_no_mask_windows_closed_2HEPA[0]], +# labels=['Windows closed', 'Windows closed + 1 HEPA filter (2.5 ACH)', 'Windows closed + 2 HEPA filter (5 ACH)'], +# colors=['tomato', 'lightskyblue', 'limegreen', '#1f77b4', 'seagreen', 'lightskyblue', 'deepskyblue'], +# title='No mask' +# ) +#print_qd_info(classroom_model_IGH_no_mask_windows_closed[0]) +#print_qd_info(classroom_model_IGH_no_mask_windows_closed_1HEPA[0]) +#print_qd_info(classroom_model_IGH_no_mask_windows_closed_2HEPA[0]) +# +##Fig 3 +#compare_concentration_curves_virus_IGH_paper([classroom_model_IGH_no_mask_windows_closed[0],classroom_model_IGH_with_mask_windows_closed[0]], +# labels=['Windows closed', 'Windows closed + surgical type masks'], +# colors=['tomato', 'lightskyblue', 'limegreen', '#1f77b4', 'seagreen', 'lightskyblue', 'deepskyblue'], +# title='Use of mask' +# ) +#print_qd_info(classroom_model_IGH_no_mask_windows_closed[0]) +#print_qd_info(classroom_model_IGH_with_mask_windows_closed[0]) +# +##Fig 4a +#compare_concentration_curves_virus_IGH_paper([classroom_model_IGH_no_mask_windows_closed[0],classroom_model_IGH_no_mask_2windows_open_breaks_winter_bis[0], +# classroom_model_IGH_with_mask_2windows_open_breaks_winter[0]], +# labels=['Windows closed', '2 windows open during breaks', '2 windows open during breaks + surgical masks'], +# colors=['tomato', 'lightskyblue', 'limegreen', '#1f77b4', 'seagreen', 'lightskyblue', 'deepskyblue'], +# title='Combination of measures (winter period) ' +# ) +# +##Fig 4b +#compare_concentration_curves_virus_IGH_paper([classroom_model_IGH_no_mask_windows_closed[0],classroom_model_IGH_with_mask_2windows_open_breaks_winter_1HEPA[0], +# classroom_model_IGH_with_mask_2windows_open_breaks_winter_2HEPA[0]], +# labels=['Windows closed', '2 windows open during breaks + 1 HEPA filter (2.5 ACH) + surgical masks', '2 windows open during breaks + 2 HEPA filter (5 ACH) + surgical masks'], +# colors=['tomato', 'lightskyblue', 'limegreen', '#1f77b4', 'seagreen', 'lightskyblue', 'deepskyblue'], +# title='Combination of measures (winter period) ' +# ) +# +##Fig 4c +#compare_concentration_curves_virus_IGH_paper([classroom_model_IGH_no_mask_windows_closed[0],classroom_model_IGH_no_mask_2windows_open_alltimes_winter_bis[0], +# classroom_model_IGH_with_mask_2windows_open_alltimes_winter[0]], +# labels=['Windows closed', '2 windows open at all times', '2 windows open at all times + surgical masks'], +# colors=['tomato', 'lightskyblue', 'limegreen', '#1f77b4', 'seagreen', 'lightskyblue', 'deepskyblue'], +# title='Combination of measures (winter period) ' +# ) +#print_qd_info(classroom_model_IGH_no_mask_windows_closed[0]) +#print_qd_info(classroom_model_IGH_no_mask_2windows_open_alltimes_winter_bis[0]) +#print_qd_info(classroom_model_IGH_with_mask_2windows_open_alltimes_winter[0]) +# +##Fig 4d +#compare_concentration_curves_virus_IGH_paper([classroom_model_IGH_no_mask_windows_closed[0],classroom_model_IGH_with_mask_2windows_open_alltimes_winter_1HEPA[0], +# classroom_model_IGH_with_mask_2windows_open_alltimes_winter_2HEPA[0]], +# labels=['Windows closed', '2 windows open at all times + 1 HEPA filter (2.5 ACH) + surgical masks', '2 windows open at all times + 2 HEPA filter (5 ACH) + surgical masks'], +# colors=['tomato', 'lightskyblue', 'limegreen', '#1f77b4', 'seagreen', 'lightskyblue', 'deepskyblue'], +# title='Combination of measures (winter period) ' +# ) +#print_qd_info(classroom_model_IGH_no_mask_windows_closed[0]) +#print_qd_info(classroom_model_IGH_with_mask_2windows_open_alltimes_winter_1HEPA[0]) +#print_qd_info(classroom_model_IGH_with_mask_2windows_open_alltimes_winter_2HEPA[0]) +# + +#compare_concentration_curves_virus_IGH_paper([classroom_model_IGH_no_mask_windows_closed[0], +# classroom_model_IGH_no_mask_6windows_open_breaks_endOfClass[0]], +# labels=['Windows closed', +# '6 windows open during breaks + end of classes'], +# colors=['tomato', '#1f77b4'], +# title='Without mask - Spring/Summer period' +# ) +# +#print_qd_info(classroom_model_IGH_no_mask_windows_closed[0]) +##print_qd_info(classroom_model_IGH_no_mask_6windows_open_alltimes[0]) +#print_qd_info(classroom_model_IGH_no_mask_6windows_open_breaks_endOfClass[0]) + +#compare_concentration_curves_virus_IGH_paper([classroom_model_IGH_no_mask_windows_closed[0], +# classroom_model_IGH_no_mask_6windows_open_breaks_endOfClass_winter[0]], +# labels=['Windows closed', +# '6 windows open during breaks + end of classes'], +# colors=['tomato', '#1f77b4'], +# title='Without mask - Winter period' +# ) +# +#print_qd_info(classroom_model_IGH_no_mask_windows_closed[0]) +#print_qd_info(classroom_model_IGH_no_mask_6windows_open_alltimes_winter[0]) +#print_qd_info(classroom_model_IGH_no_mask_6windows_open_breaks_endOfClass_winter[0]) + +#print_qd_info(classroom_model_IGH_no_mask_2windows_open_breaks_endOfClass_winter[0]) +#print_qd_info(classroom_model_IGH_no_mask_windows_open_breaks_endOfClass_winter[0]) +#print_qd_info(classroom_model_IGH_no_mask_windows_closed[0]) + +print_qd_info(classroom_model_IGH_no_mask_windows_closed[0]) +#print_qd_info(classroom_model_IGH_no_mask_6windows_open_breaks_endOfClass[0]) +print_qd_info(classroom_model_IGH_no_mask_2windows_open_breaks_endOfClass_winter[0]) +#print_qd_info(classroom_model_IGH_no_mask_windows_open_breaks_endOfClass_winter[0]) + + + + + +#compare_concentration_curves([classroom_model_IGH_no_mask_windows_closed[1],classroom_model_IGH_no_mask_2windows_open_breaks[1],classroom_model_IGH_no_mask_2windows_open_breaks_endOfClass[1], +# classroom_model_IGH_no_mask_2windows_open_alltimes[1], classroom_model_IGH_no_mask_windows_closed_1HEPA[1], +# classroom_model_IGH_no_mask_windows_closed_2HEPA[1]], +# labels=['Windows closed', '2 Windows open during breaks', '2 Windows open during breaks + end of classes', +# '2 Windows open at all times', 'Windows closed + HEPA filter (2.5 ACH)', 'Windows closed + HEPA filter (5 ACH)'], +# colors=['tomato','limegreen', '#1f77b4', 'seagreen', 'lightskyblue', 'deepskyblue'], +# title='No mask - Spring/Summer period' +# ) + +#present_model(classroom_model_IGH_no_mask_windows_closed[0].concentration_model, title='') diff --git a/cara/model_scenarios_IGH_paper.py b/cara/model_scenarios_IGH_paper.py new file mode 100644 index 00000000..60a85592 --- /dev/null +++ b/cara/model_scenarios_IGH_paper.py @@ -0,0 +1,1056 @@ +from cara import models +from cara.montecarlo import * + +#IGH paper + +classroom_model_IGH_no_mask_windows_closed = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.AirChange( + active=models.PeriodicInterval(period=120, duration=120), + air_exch=0.25, + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=False, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['No mask'] + ) +)for qid in (100, 60)] + +#Fig 1a +classroom_model_IGH_no_mask_windows_open_breaks = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.SlidingWindow( + active=models.SpecificInterval(((1.5, 2), (3.5, 4.5), (6, 6.5))), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (291,)), + window_height=1.6, opening_length=0.6, + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=False, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['No mask'] + ) +)for qid in (100, 60)] + +classroom_model_IGH_no_mask_windows_open_alltimes = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.SlidingWindow( + active=models.PeriodicInterval(period=120, duration=120), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (291,)), + window_height=1.6, opening_length=0.6, + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=False, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['No mask'] + ) +)for qid in (100, 60)] + +#Fig 1b +classroom_model_IGH_no_mask_2windows_open_breaks = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.SlidingWindow( + active=models.SpecificInterval(((1.5, 2), (3.5, 4.5), (6, 6.5))), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (291,)), + window_height=1.6, opening_length=2*0.6, + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=False, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['No mask'] + ) +)for qid in (100, 60)] + +classroom_model_IGH_no_mask_2windows_open_alltimes = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.SlidingWindow( + active=models.PeriodicInterval(period=120, duration=120), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (291,)), + window_height=1.6, opening_length=2*0.6, + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=False, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['No mask'] + ) +)for qid in (100, 60)] + +#Fig 1c +classroom_model_IGH_no_mask_windows_open_breaks_winter = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.SlidingWindow( + active=models.SpecificInterval(((1.5, 2), (3.5, 4.5), (6, 6.5))), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (278,)), + window_height=1.6, opening_length=0.6, + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=False, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['No mask'] + ) +)for qid in (100, 60)] + +classroom_model_IGH_no_mask_windows_open_alltimes_winter = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.SlidingWindow( + active=models.PeriodicInterval(period=120, duration=120), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (278,)), + window_height=1.6, opening_length=0.2, + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=False, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['No mask'] + ) +)for qid in (100, 60)] + +classroom_model_IGH_no_mask_windows_fully_open_alltimes_winter = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.SlidingWindow( + active=models.PeriodicInterval(period=120, duration=120), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (278,)), + window_height=1.6, opening_length=0.6, + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=False, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['No mask'] + ) +)for qid in (100, 60)] + +#Fig 1d +classroom_model_IGH_no_mask_2windows_open_breaks_winter = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.SlidingWindow( + active=models.SpecificInterval(((1.5, 2), (3.5, 4.5), (6, 6.5))), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (278,)), + window_height=1.6, opening_length=2*0.6, + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=False, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['No mask'] + ) +)for qid in (100, 60)] + +classroom_model_IGH_no_mask_2windows_open_alltimes_winter = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.SlidingWindow( + active=models.PeriodicInterval(period=120, duration=120), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (278,)), + window_height=1.6, opening_length=2*0.2, + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=False, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['No mask'] + ) +)for qid in (100, 60)] + +classroom_model_IGH_no_mask_2windows_fully_open_alltimes_winter = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.SlidingWindow( + active=models.PeriodicInterval(period=120, duration=120), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (278,)), + window_height=1.6, opening_length=2*0.6, + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=False, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['No mask'] + ) +)for qid in (100, 60)] + +#Fig 1e +classroom_model_IGH_no_mask_6windows_open_breaks = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.SlidingWindow( + active=models.SpecificInterval(((1.5, 2), (3.5, 4.5), (6, 6.5))), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (291,)), + window_height=1.6, opening_length=6*0.6, + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=False, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['No mask'] + ) +)for qid in (100, 60)] + +classroom_model_IGH_no_mask_6windows_open_alltimes = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.SlidingWindow( + active=models.PeriodicInterval(period=120, duration=120), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (291,)), + window_height=1.6, opening_length=6*0.6, + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=False, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['No mask'] + ) +)for qid in (100, 60)] + +#Fig 1f +classroom_model_IGH_no_mask_6windows_open_breaks_winter = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.SlidingWindow( + active=models.SpecificInterval(((1.5, 2), (3.5, 4.5), (6, 6.5))), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (278,)), + window_height=1.6, opening_length=6*0.6, + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=False, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['No mask'] + ) +)for qid in (100, 60)] + +classroom_model_IGH_no_mask_6windows_open_alltimes_winter = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.SlidingWindow( + active=models.PeriodicInterval(period=120, duration=120), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (278,)), + window_height=1.6, opening_length=6*0.2, + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=False, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['No mask'] + ) +)for qid in (100, 60)] + +classroom_model_IGH_no_mask_6windows_fully_open_alltimes_winter = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.SlidingWindow( + active=models.PeriodicInterval(period=120, duration=120), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (278,)), + window_height=1.6, opening_length=6*0.6, + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=False, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['No mask'] + ) +)for qid in (100, 60)] + + +#Fig 2 +classroom_model_IGH_no_mask_windows_closed_1HEPA = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.MultipleVentilation( + ventilations=( + models.AirChange( + active=models.PeriodicInterval(period=120, duration=120), + air_exch=0.25, + ), + models.HEPAFilter(active=models.PeriodicInterval(period=120, duration=120), + q_air_mech=430) + ) + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=False, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['No mask'] + ) +)for qid in (100, 60)] + +classroom_model_IGH_no_mask_windows_closed_2HEPA = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.MultipleVentilation( + ventilations=( + models.AirChange( + active=models.PeriodicInterval(period=120, duration=120), + air_exch=0.25, + ), + models.HEPAFilter(active=models.PeriodicInterval(period=120, duration=120), + q_air_mech=860) + ) + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=False, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['No mask'] + ) +)for qid in (100, 60)] + +#Fig 3 +classroom_model_IGH_with_mask_windows_closed = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.AirChange( + active=models.PeriodicInterval(period=120, duration=120), + air_exch=0.25, + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=True, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['Type I'] + ) +)for qid in (100, 60)] + +#Fig 4a +classroom_model_IGH_no_mask_2windows_open_breaks_winter_bis = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.SlidingWindow( + active=models.SpecificInterval(((1.5, 2), (3.5, 4.5), (6, 6.5))), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (278,)), + window_height=1.6, opening_length=2*0.6, + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=False, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['No mask'] + ) +)for qid in (100, 60)] + +classroom_model_IGH_with_mask_2windows_open_breaks_winter = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.SlidingWindow( + active=models.SpecificInterval(((1.5, 2), (3.5, 4.5), (6, 6.5))), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (278,)), + window_height=1.6, opening_length=2 * 0.6, + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=True, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['Type I'] + ) +)for qid in (100, 60)] + +#Fig 4b +classroom_model_IGH_with_mask_2windows_open_breaks_winter_1HEPA = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.MultipleVentilation( + ventilations=( + models.SlidingWindow( + active=models.SpecificInterval(((1.5, 2), (3.5, 4.5), (6, 6.5))), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (278,)), + window_height=1.6, opening_length=2 * 0.6, + ), + models.HEPAFilter(active=models.PeriodicInterval(period=120, duration=120), + q_air_mech=430) + ) + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=True, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['Type I'] + ) +)for qid in (100, 60)] + +classroom_model_IGH_with_mask_2windows_open_breaks_winter_2HEPA = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.MultipleVentilation( + ventilations=( + models.SlidingWindow( + active=models.SpecificInterval(((1.5, 2), (3.5, 4.5), (6, 6.5))), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (278,)), + window_height=1.6, opening_length=2 * 0.6, + ), + models.HEPAFilter(active=models.PeriodicInterval(period=120, duration=120), + q_air_mech=2*430) + ) + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=True, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['Type I'] + ) +)for qid in (100, 60)] + +#Fig 4c +classroom_model_IGH_no_mask_2windows_open_alltimes_winter_bis = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.SlidingWindow( + active=models.PeriodicInterval(period=120, duration=120), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (278,)), + window_height=1.6, opening_length=2*0.2, + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=False, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['No mask'] + ) +)for qid in (100, 60)] + +classroom_model_IGH_with_mask_2windows_open_alltimes_winter = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.SlidingWindow( + active=models.PeriodicInterval(period=120, duration=120), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (278,)), + window_height=1.6, opening_length=2*0.2, + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=True, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['Type I'] + ) +)for qid in (100, 60)] + +#Fig 4d +classroom_model_IGH_with_mask_2windows_open_alltimes_winter_1HEPA = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.MultipleVentilation( + ventilations=( + models.SlidingWindow( + active=models.PeriodicInterval(period=120, duration=120), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (278,)), + window_height=1.6, opening_length=2 * 0.2, + ), + models.HEPAFilter(active=models.PeriodicInterval(period=120, duration=120), + q_air_mech=430) + ) + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=True, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['Type I'] + ) +)for qid in (100, 60)] + +classroom_model_IGH_with_mask_2windows_open_alltimes_winter_2HEPA = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.MultipleVentilation( + ventilations=( + models.SlidingWindow( + active=models.PeriodicInterval(period=120, duration=120), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (278,)), + window_height=1.6, opening_length=2 * 0.2, + ), + models.HEPAFilter(active=models.PeriodicInterval(period=120, duration=120), + q_air_mech=2*430) + ) + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=True, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['Type I'] + ) +)for qid in (100, 60)] + +###### + + +classroom_model_IGH_no_mask_windows_open_breaks_endOfClass = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.SlidingWindow( + active=models.SpecificInterval(((0.75, 0.92), (1.5, 2), (2.75, 2.92), (3.5, 4.5), (5.25, 5.42), (6, 6.5), (7.25, 7.42))), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (291,)), + window_height=1.6, opening_length=0.6, + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=False, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['No mask'] + ) +)for qid in (100, 60)] + +classroom_model_IGH_no_mask_2windows_open_breaks_endOfClass = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.SlidingWindow( + active=models.SpecificInterval(((0.75, 0.92), (1.5, 2), (2.75, 2.92), (3.5, 4.5), (5.25, 5.42), (6, 6.5), (7.25, 7.42))), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (291,)), + window_height=1.6, opening_length=2*0.6, + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=False, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['No mask'] + ) +)for qid in (100, 60)] + +classroom_model_IGH_no_mask_6windows_open_breaks_endOfClass = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.SlidingWindow( + active=models.SpecificInterval(((0.75, 0.92), (1.5, 2), (2.75, 2.92), (3.5, 4.5), (5.25, 5.42), (6, 6.5), (7.25, 7.42))), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (291,)), + window_height=1.6, opening_length=6*0.6, + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=False, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['No mask'] + ) +)for qid in (100, 60)] + +classroom_model_IGH_no_mask_windows_open_breaks_endOfClass_winter = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.SlidingWindow( + active=models.SpecificInterval(((0.75, 0.92), (1.5, 2), (2.75, 2.92), (3.5, 4.5), (5.25, 5.42), (6, 6.5), (7.25, 7.42))), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (278,)), + window_height=1.6, opening_length=0.6, + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=False, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['No mask'] + ) +)for qid in (100, 60)] + +classroom_model_IGH_no_mask_2windows_open_breaks_endOfClass_winter = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.SlidingWindow( + active=models.SpecificInterval(((0.75, 0.92), (1.5, 2), (2.75, 2.92), (3.5, 4.5), (5.25, 5.42), (6, 6.5), (7.25, 7.42))), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (278,)), + window_height=1.6, opening_length=2*0.6, + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=False, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['No mask'] + ) +)for qid in (100, 60)] + +classroom_model_IGH_no_mask_6windows_open_breaks_endOfClass_winter = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.SlidingWindow( + active=models.SpecificInterval(((0.75, 0.92), (1.5, 2), (2.75, 2.92), (3.5, 4.5), (5.25, 5.42), (6, 6.5), (7.25, 7.42))), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (278,)), + window_height=1.6, opening_length=6*0.6, + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=False, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['No mask'] + ) +)for qid in (100, 60)] + + +classroom_model_IGH_with_mask_windows_open_breaks_endOfClass = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.SlidingWindow( + active=models.SpecificInterval(((0.75, 0.92), (1.5, 2), (2.75, 2.92), (3.5, 4.5), (5.25, 5.42), (6, 6.5), (7.25, 7.42))), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (291,)), + window_height=1.6, opening_length=0.6, + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=True, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['Type I'] + ) +)for qid in (100, 60)] + +classroom_model_IGH_with_mask_windows_open_alltimes = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.SlidingWindow( + active=models.PeriodicInterval(period=120, duration=120), + inside_temp=models.PiecewiseConstant((0, 24), (295,)), + outside_temp=models.PiecewiseConstant((0, 24), (291,)), + window_height=1.6, opening_length=0.6, + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=True, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['Type I'] + ) +)for qid in (100, 60)] + +classroom_model_IGH_with_mask_windows_closed_1HEPA = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.MultipleVentilation( + ventilations=( + models.AirChange( + active=models.PeriodicInterval(period=120, duration=120), + air_exch=0.25, + ), + models.HEPAFilter(active=models.PeriodicInterval(period=120, duration=120), + q_air_mech=430) + ) + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=True, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['Type I'] + ) +)for qid in (100, 60)] + +classroom_model_IGH_with_mask_windows_closed_2HEPA = [MCExposureModel( + concentration_model=MCConcentrationModel( + room=models.Room(volume=160), + ventilation=models.MultipleVentilation( + ventilations=( + models.AirChange( + active=models.PeriodicInterval(period=120, duration=120), + air_exch=0.25, + ), + models.HEPAFilter(active=models.PeriodicInterval(period=120, duration=120), + q_air_mech=860) + ) + ), + infected=MCInfectedPopulation( + number=1, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + masked=True, + virus=MCVirus(halflife=1.1, qID=qid), + expiratory_activity=2, + samples=200000, + breathing_category=3, + ) + ), + exposed=models.Population( + number=19, + presence=models.SpecificInterval(((0, 1.5), (2, 3.5), (4.5, 6), (6.5, 8))), + activity=models.Activity.types['Seated'], + mask=models.Mask.types['Type I'] + ) +)for qid in (100, 60)] \ No newline at end of file