Merge remote-tracking branch 'origin/energy_plus_result_factory' into energy_plus_result_factory

This commit is contained in:
Saeed Ranjbar 2023-10-05 14:20:24 -04:00
commit dae117fb44
4 changed files with 7 additions and 8 deletions

View File

@ -558,6 +558,7 @@ class Idf:
self._add_lighting(thermal_zone, building.name)
self._add_appliances(thermal_zone, building.name)
self._add_dhw(thermal_zone, building.name)
# todo: @Guille: if export_type is not surfaces, we don't differentiate between shadows and buildings?
if self._export_type == "Surfaces":
if building.name in self._target_buildings or building.name in self._adjacent_buildings:
if building.thermal_zones_from_internal_zones is not None:

View File

@ -12,7 +12,7 @@ import csv
import hub.helpers.constants as cte
class EnergyPlusWorkflow:
class EnergyPlusSingleBuilding:
def __init__(self, city, base_path):
self._city = city
self._base_path = base_path
@ -59,7 +59,7 @@ class EnergyPlusWorkflow:
total_cooling_demand += float(line[cooling_index])
building_energy_demands['Cooling (J)'].append(total_cooling_demand)
for dhw_index in dhw_column_index:
total_dhw_demand += float(line[dhw_index]) * 3600
total_dhw_demand += float(line[dhw_index]) * cte.WATTS_HOUR_TO_JULES
building_energy_demands['DHW (J)'].append(total_dhw_demand)
for appliance_index in appliance_column_index:
total_appliance_demand += float(line[appliance_index])
@ -85,8 +85,6 @@ class EnergyPlusWorkflow:
building.domestic_hot_water_heat_demand[cte.HOUR] = building_energy_demands['DHW (J)']
building.appliances_electrical_demand[cte.HOUR] = building_energy_demands['Appliances (J)']
building.lighting_electrical_demand[cte.HOUR] = building_energy_demands['Lighting (J)']
# todo: @Saeed, this a list of ONE value with the total energy of the year, exactly the same as cte.YEAR.
# You have to use the method to add hourly values from helpers/monthly_values
building.heating_demand[cte.MONTH] = MonthlyValues.get_total_month(building.heating_demand[cte.HOUR])
building.cooling_demand[cte.MONTH] = MonthlyValues.get_total_month(building.cooling_demand[cte.HOUR])
building.domestic_hot_water_heat_demand[cte.MONTH] = (

View File

@ -10,7 +10,7 @@ from pathlib import Path
from hub.helpers.utils import validate_import_export_type
from hub.imports.results.insel_monthly_energry_balance import InselMonthlyEnergyBalance
from hub.imports.results.simplified_radiosity_algorithm import SimplifiedRadiosityAlgorithm
from hub.imports.results.energy_plus_workflow import EnergyPlusWorkflow
from hub.imports.results.energy_plus_single_building import EnergyPlusSingleBuilding
class ResultFactory:
"""
@ -46,11 +46,11 @@ class ResultFactory:
"""
InselMonthlyEnergyBalance(self._city, self._base_path).enrich()
def _energy_plus_workflow(self):
def _energy_plus_single_building(self):
"""
Enrich the city with energy plus results
"""
EnergyPlusWorkflow(self._city, self._base_path).enrich()
EnergyPlusSingleBuilding(self._city, self._base_path).enrich()
def enrich(self):
"""

View File

@ -94,7 +94,7 @@ class TestResultsImport(TestCase):
self.assertIsNotNone(building.cooling_peak_load)
def test_energy_plus_results_import(self):
ResultFactory('energy_plus_workflow', self._city, self._example_path).enrich()
ResultFactory('energy_plus_single_building', self._city, self._example_path).enrich()
for building in self._city.buildings:
csv_output_name = f'{building.name}_out.csv'
csv_output_path = (self._example_path / csv_output_name).resolve()