From ff6f61e9c10730c336d0e0c31da58250e2b757ef Mon Sep 17 00:00:00 2001 From: Nicolas Mounet Date: Wed, 11 Nov 2020 14:12:12 +0100 Subject: [PATCH] Forcing outside temperature to be at worst 0.1 K below the inside temperature (models.py) --- cara/models.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/cara/models.py b/cara/models.py index 918ca439..22584cd3 100644 --- a/cara/models.py +++ b/cara/models.py @@ -203,6 +203,9 @@ class WindowOpening(Ventilation): #: used to exchange air (0 <= cd_b <= 1) cd_b: float = 0.6 + #: Minimum difference between inside and outside temperature + min_deltaT: float = 0.1 + def transition_times(self) -> typing.Set[float]: transitions = super().transition_times() transitions.update(self.inside_temp.transition_times) @@ -218,7 +221,10 @@ class WindowOpening(Ventilation): outside_temp = self.outside_temp.value(time) # Reminder, no dependence on time in the resulting calculation. - temp_delta = abs(inside_temp - outside_temp) / outside_temp + if outside_temp < (inside_temp-self.min_deltaT): + temp_delta = (inside_temp - outside_temp) / outside_temp + else: + temp_delta = self.min_deltaT / outside_temp root = np.sqrt(9.81 * self.window_height * temp_delta) window_area = self.window_height * self.opening_length * self.number_of_windows return (3600 / (3 * room.volume)) * self.cd_b * window_area * root