Adding 0.25 ACH to all ventilation schemes in calculator; changing modele_generator tests accordingly

This commit is contained in:
Nicolas Mounet 2021-06-04 14:16:35 +02:00
parent a34e22097e
commit 71b59357fa
2 changed files with 11 additions and 7 deletions

View file

@ -265,11 +265,15 @@ class FormData:
ventilation = models.HVACMechanical(
active=always_on, q_air_mech=self.air_supply)
# this is a minimal, always present source of ventilation, due
# to the air infiltration from the outside.
# See CERN-OPEN-2021-004, p. 12.
infiltration_ventilation = models.AirChange(active=always_on, air_exch=0.25)
if self.hepa_option:
hepa = models.HEPAFilter(active=always_on, q_air_mech=self.hepa_amount)
return models.MultipleVentilation((ventilation, hepa))
return models.MultipleVentilation((ventilation, hepa, infiltration_ventilation))
else:
return ventilation
return models.MultipleVentilation((ventilation, infiltration_ventilation))
def mask(self) -> models.Mask:
# Initializes the mask type if mask wearing is "continuous", otherwise instantiates the mask attribute as

View file

@ -50,7 +50,7 @@ def test_ventilation_slidingwindow(baseline_form: model_generator.FormData):
baseline_form.opening_distance = 0.6
ts = np.linspace(8, 16, 100)
np.testing.assert_allclose([window.air_exchange(room, t) for t in ts],
np.testing.assert_allclose([window.air_exchange(room, t)+0.25 for t in ts],
[baseline_form.ventilation().air_exchange(room, t) for t in ts])
@ -73,7 +73,7 @@ def test_ventilation_hingedwindow(baseline_form: model_generator.FormData):
baseline_form.opening_distance = 0.6
ts = np.linspace(8, 16, 100)
np.testing.assert_allclose([window.air_exchange(room, t) for t in ts],
np.testing.assert_allclose([window.air_exchange(room, t)+0.25 for t in ts],
[baseline_form.ventilation().air_exchange(room, t) for t in ts])
@ -88,7 +88,7 @@ def test_ventilation_mechanical(baseline_form: model_generator.FormData):
baseline_form.air_supply = 500.
ts = np.linspace(8, 16, 100)
np.testing.assert_allclose([mech.air_exchange(room, t) for t in ts],
np.testing.assert_allclose([mech.air_exchange(room, t)+0.25 for t in ts],
[baseline_form.ventilation().air_exchange(room, t) for t in ts])
@ -103,7 +103,7 @@ def test_ventilation_airchanges(baseline_form: model_generator.FormData):
baseline_form.air_changes = 3.
ts = np.linspace(8, 16, 100)
np.testing.assert_allclose([airchange.air_exchange(room, t) for t in ts],
np.testing.assert_allclose([airchange.air_exchange(room, t)+0.25 for t in ts],
[baseline_form.ventilation().air_exchange(room, t) for t in ts])
@ -131,7 +131,7 @@ def test_ventilation_window_hepa(baseline_form: model_generator.FormData):
baseline_form.hepa_option = True
ts = np.linspace(9, 17, 100)
np.testing.assert_allclose([ventilation.air_exchange(room, t) for t in ts],
np.testing.assert_allclose([ventilation.air_exchange(room, t)+0.25 for t in ts],
[baseline_form.ventilation().air_exchange(room, t) for t in ts])