Mask exhale_efficiency use now a diameter in microns

This commit is contained in:
Nicolas Mounet 2021-05-31 06:55:07 +02:00
parent ffb85c6b72
commit bfdb3e322e
2 changed files with 13 additions and 13 deletions

View file

@ -489,14 +489,14 @@ class Mask:
therein (Asadi 2020).
Obtained from measurements of filtration efficiency and of
the leakage through the sides.
Diameter is in cm.
Diameter is in microns.
"""
if diameter < 0.5e-4:
if diameter < 0.5:
eta_out = 0.
elif diameter < 0.94614e-4:
eta_out = 0.5893 * diameter * 1e4 + 0.1546
elif diameter < 3e-4:
eta_out = 0.0509 * diameter * 1e4 + 0.664
elif diameter < 0.94614:
eta_out = 0.5893 * diameter + 0.1546
elif diameter < 3.:
eta_out = 0.0509 * diameter + 0.664
else:
eta_out = 0.8167
return eta_out*self.factor_exhale
@ -551,7 +551,7 @@ class Expiration(_ExpirationBase):
total = 0
for diameter, factor in zip(self.particle_sizes, self.ejection_factor):
contribution = (volume(diameter) * factor *
(1 - mask.exhale_efficiency(diameter)))
(1 - mask.exhale_efficiency(diameter*1e4)))
total += contribution
return total

View file

@ -11,7 +11,7 @@ from cara import models
[np.array([0.3, 0.5]), np.array([0.3, 0.5])],
],
)
def test_masks_inhale(η_inhale, expected_inhale_efficiency):
def test_mask_inhale(η_inhale, expected_inhale_efficiency):
mask = models.Mask(η_inhale=η_inhale)
npt.assert_equal(mask.inhale_efficiency(),
expected_inhale_efficiency)
@ -20,11 +20,11 @@ def test_masks_inhale(η_inhale, expected_inhale_efficiency):
@pytest.mark.parametrize(
"diameter, factor_exhale, expected_exhale_efficiency",
[
[0.3e-4, 1., 0.],
[0.7e-4, 0.3, 0.56711*0.3],
[1.e-4, 1., 0.7149],
[4.e-4, 0.5, 0.8167*0.5],
[5.e-4, 0., 0.],
[0.3, 1., 0.],
[0.7, 0.3, 0.56711*0.3],
[1., 1., 0.7149],
[4., 0.5, 0.8167*0.5],
[5., 0., 0.],
],
)
def test_mask_exhale(diameter, factor_exhale, expected_exhale_efficiency):