diff --git a/cara/apps/calculator/model_generator.py b/cara/apps/calculator/model_generator.py index 9b1d2ad4..1da57809 100644 --- a/cara/apps/calculator/model_generator.py +++ b/cara/apps/calculator/model_generator.py @@ -247,7 +247,8 @@ def model_from_form(form: FormData) -> models.ExposureModel: # of the infected and exposed occupants respectively. # I.e. (infected_activity, infected_expiration), (exposed_activity, exposed_expiration) - activity_dict = {'office': (('Seated', 'Talking'), ('Seated', 'Talking')), + activity_dict = {'office': (('Seated', 'Conversation'), ('Seated', 'Conversation')), + 'callcentre': (('Seated', 'Talking'), ('Seated', 'Talking')), 'training': (('Light exercise', 'Talking'), ('Seated', 'Whispering')), 'workshop': (('Light exercise', 'Talking'), ('Light exercise', 'Talking'))} @@ -323,7 +324,7 @@ def baseline_raw_form_data(): } -ACTIVITY_TYPES = {'office', 'training', 'workshop'} +ACTIVITY_TYPES = {'office', 'training', 'callcentre', 'workshop'} EVENT_TYPES = {'single_event', 'recurrent_event'} MECHANICAL_VENTILATION_TYPES = {'air_changes', 'air_supply', 'not-applicable'} MASK_TYPES = {'Type I', 'FFP2'} diff --git a/cara/apps/calculator/templates/calculator.form.html.j2 b/cara/apps/calculator/templates/calculator.form.html.j2 index 83b0eb0c..9fd342bd 100644 --- a/cara/apps/calculator/templates/calculator.form.html.j2 +++ b/cara/apps/calculator/templates/calculator.form.html.j2 @@ -111,6 +111,7 @@ Activity type:
@@ -206,8 +207,9 @@ Activity types:
The type of activity that includes both the infected and exposed persons: Activity breaks:
diff --git a/cara/models.py b/cara/models.py index 12f85c7c..ed2f3c83 100644 --- a/cara/models.py +++ b/cara/models.py @@ -172,7 +172,7 @@ class MultipleVentilation: @abstractmethod def air_exchange(self, room: Room, time: float) -> float: """ - Returns the rate at which air is being exchanged in the given room + Returns the rate at which air is being exchanged in the given room at a given time (in hours). """ return sum([ventilation.air_exchange(room,time) @@ -271,7 +271,7 @@ class AirChange(Ventilation): #: The interval in which the ventilation is operating. active: Interval - #: The rate (in h^-1) at which the ventilation exchanges all the air + #: The rate (in h^-1) at which the ventilation exchanges all the air # of the room (when switched on) air_exch: float @@ -375,8 +375,10 @@ class Expiration: Expiration.types = { + #added new profile - Conversation = weighting of 1/3rd talking, 2/3 breathing. 'Breathing': Expiration((0.084, 0.009, 0.003, 0.002)), 'Whispering': Expiration((0.11, 0.014, 0.004, 0.002)), + 'Conversation': Expiration((0.135, 0.029, 0.004, 0.005)), 'Talking': Expiration((0.236, 0.068, 0.007, 0.011)), 'Unmodulated Vocalization': Expiration((0.751, 0.139, 0.0139, 0.059)), 'Superspreading event': Expiration((np.inf, np.inf, np.inf, np.inf)),