From 9103831a17dcf23547ebe13ded3f2f811675bc02 Mon Sep 17 00:00:00 2001 From: lrdossan Date: Thu, 22 Aug 2024 13:04:02 +0100 Subject: [PATCH] added calculation of flow rate in L/s --- caimira/apps/calculator/static/js/co2_form.js | 9 +++++++-- caimira/apps/templates/base/calculator.form.html.j2 | 9 ++++++--- caimira/apps/templates/base/calculator.report.html.j2 | 11 +++++++++-- caimira/models.py | 8 ++++++-- 4 files changed, 28 insertions(+), 9 deletions(-) diff --git a/caimira/apps/calculator/static/js/co2_form.js b/caimira/apps/calculator/static/js/co2_form.js index 5b8d4a2c..46e98bd2 100644 --- a/caimira/apps/calculator/static/js/co2_form.js +++ b/caimira/apps/calculator/static/js/co2_form.js @@ -301,8 +301,12 @@ function displayFittingData(json_response) { String(json_response["exhalation_rate"].toFixed(2)) + " m³/h" ); - let ventilation_table = - "Time (HH:MM)ACH value (h⁻¹)Flow rate (L/s/person)"; + let ventilation_table = ` + Time (HH:MM) + ACH value (h⁻¹) + Flow rate (L/s) + Flow rate (L/s/person) + `; json_response["ventilation_values"].forEach((CO2_val, index) => { let transition_times = displayTransitionTimesHourFormat( json_response["transition_times"][index], @@ -312,6 +316,7 @@ function displayFittingData(json_response) { ventilation_table += ` ${transition_times} ${CO2_val.toPrecision(2)} + ${json_response['ventilation_ls_values'][index].toPrecision(2)} ${json_response['ventilation_lsp_values'][index].toPrecision(2)} `; }); diff --git a/caimira/apps/templates/base/calculator.form.html.j2 b/caimira/apps/templates/base/calculator.form.html.j2 index 377f0433..9c74d295 100644 --- a/caimira/apps/templates/base/calculator.form.html.j2 +++ b/caimira/apps/templates/base/calculator.form.html.j2 @@ -364,9 +364,12 @@
Room data: -
-
-
+
+ +
+ ? +
+
diff --git a/caimira/apps/templates/base/calculator.report.html.j2 b/caimira/apps/templates/base/calculator.report.html.j2 index 041cf3ef..c7f330d4 100644 --- a/caimira/apps/templates/base/calculator.report.html.j2 +++ b/caimira/apps/templates/base/calculator.report.html.j2 @@ -541,14 +541,21 @@ {% endif %}
  • From Fitting: {% if form.ventilation_type == "from_fitting" %} - Yes + Yes

  • - + + + + + + {% for ventilation in form.CO2_fitting_result['ventilation_values'] %} {% set transition_time = form.CO2_fitting_result['transition_times'] %} + + {% endfor %}
    Time (HH:MM)ACH value (h⁻¹)
    Time (HH:MM)ACH value (h⁻¹)Flow rate (L/s)Flow rate (L/s/person)
    {{ transition_time[loop.index - 1] | hour_format }} - {{ transition_time[loop.index] | hour_format }} {{ ventilation | float_format }} {{ form.CO2_fitting_result['ventilation_ls_values'][loop.index - 1] | float_format }} {{ form.CO2_fitting_result['ventilation_lsp_values'][loop.index - 1] | float_format }}
    diff --git a/caimira/models.py b/caimira/models.py index 4bcb0f22..49d918ad 100644 --- a/caimira/models.py +++ b/caimira/models.py @@ -1593,13 +1593,17 @@ class CO2DataModel: ) the_predictive_CO2 = self.CO2_concentrations_from_params(the_CO2_concentration_model) - # Ventilation in L/s/person - vent_volume_liter_person = [vent / 3600 * self.room_volume / self.room_capacity * 1000 + # Ventilation in L/s + vent_volume_liter = [vent / 3600 * self.room_volume * 1000 for vent in ventilation_values] # 1m^3 = 1000L + # Ventilation in L/s/person + vent_volume_liter_person = [vent / self.room_capacity for vent in vent_volume_liter] + return { "exhalation_rate": exhalation_rate, "ventilation_values": list(ventilation_values), + "ventilation_ls_values": vent_volume_liter, "ventilation_lsp_values": vent_volume_liter_person, 'predictive_CO2': list(the_predictive_CO2) }