diff --git a/hub/data/energy_systems/montreal_custom_systems.xml b/hub/data/energy_systems/montreal_custom_systems.xml
index ea525ec1..8e1b2db3 100644
--- a/hub/data/energy_systems/montreal_custom_systems.xml
+++ b/hub/data/energy_systems/montreal_custom_systems.xml
@@ -113,50 +113,18 @@
0.22
true
-
- Water distribution and fancoils
-
- electricity
-
- 0
- 4
- 4
- false
-
-
- Air distribution central
-
- electricity
-
- 0
- 4
- 4
- false
-
-
- DX distribution central
-
- electricity
-
- 0
- 4
- 4
- false
-
1
7
- 13
1
7
- 13
10
@@ -164,14 +132,12 @@
2
7
- 13
2
7
- 13
10
@@ -179,14 +145,12 @@
1
8
- 11
1
8
- 11
10
@@ -194,14 +158,12 @@
2
8
- 11
2
8
- 11
10
@@ -209,14 +171,12 @@
3
4
- 13
3
4
- 13
10
@@ -224,27 +184,23 @@
4
4
- 13
4
4
- 13
10
8
- 11
8
- 11
10
@@ -252,14 +208,12 @@
5
8
- 12
5
8
- 12
10
@@ -267,14 +221,12 @@
6
8
- 12
6
8
- 12
10
diff --git a/hub/exports/building_energy/idf.py b/hub/exports/building_energy/idf.py
index 058a4e8d..e0c25f7f 100644
--- a/hub/exports/building_energy/idf.py
+++ b/hub/exports/building_energy/idf.py
@@ -427,32 +427,32 @@ class Idf:
for zone in self._idf.idfobjects["ZONE"]:
if zone.Name == f'{zone_name}_infiltration':
return
- schedule = f'Infiltration schedules {thermal_zone.usage_name}'
- if schedule not in self._idf.idfobjects[self._HOURLY_SCHEDULE]:
- return
- self._idf.newidfobject(self._INFILTRATION,
- Name=f'{zone_name}_infiltration',
- Zone_or_ZoneList_Name=zone_name,
- Schedule_Name=schedule,
- Design_Flow_Rate_Calculation_Method='AirChanges/Hour',
- Air_Changes_per_Hour=thermal_zone.infiltration_rate_system_off
- )
+ schedule = f'Ventilation schedules {thermal_zone.usage_name}'
+ #if schedule not in self._idf.idfobjects[self._HOURLY_SCHEDULE]:
+ # return
+ self._idf.newidfobject(self._INFILTRATION,
+ Name=f'{zone_name}_infiltration',
+ Zone_or_ZoneList_Name=zone_name,
+ Schedule_Name=schedule,
+ Design_Flow_Rate_Calculation_Method='AirChanges/Hour',
+ Air_Changes_per_Hour=thermal_zone.infiltration_rate_system_off
+ )
def _add_ventilation(self, thermal_zone, zone_name):
for zone in self._idf.idfobjects["ZONE"]:
if zone.Name == f'{zone_name}_ventilation':
return
- schedule = f'Ventilation schedules {thermal_zone.usage_name}'
- if schedule not in self._idf.idfobjects[self._HOURLY_SCHEDULE]:
- return
- # todo: revise ventilation with Pilar
- self._idf.newidfobject(self._VENTILATION,
- Name=f'{zone_name}_ventilation',
- Zone_or_ZoneList_Name=zone_name,
- Schedule_Name=schedule,
- Design_Flow_Rate_Calculation_Method='AirChanges/Hour',
- Flow_Rate_per_Zone_Floor_Area=thermal_zone.mechanical_air_change
- )
+ schedule = f'Ventilation schedules {thermal_zone.usage_name}'
+ #if schedule not in self._idf.idfobjects[self._HOURLY_SCHEDULE]:
+ # return
+ # todo: revise ventilation with Pilar
+ self._idf.newidfobject(self._VENTILATION,
+ Name=f'{zone_name}_ventilation',
+ Zone_or_ZoneList_Name=zone_name,
+ Schedule_Name=schedule,
+ Design_Flow_Rate_Calculation_Method='AirChanges/Hour',
+ Air_Changes_per_Hour=thermal_zone.mechanical_air_change
+ )
def _add_dhw(self, thermal_zone, zone_name):
peak_flow_rate = thermal_zone.domestic_hot_water.peak_flow * thermal_zone.total_floor_area
@@ -510,8 +510,8 @@ class Idf:
if building.name in self._target_buildings or building.name in self._adjacent_buildings:
_new_schedules = self._create_infiltration_schedules(thermal_zone)
self._add_schedules(usage, 'Infiltration', _new_schedules)
- _new_schedules2 = self._create_ventilation_schedules(thermal_zone)
- self._add_schedules(usage, 'Ventilation', _new_schedules2)
+ _new_schedules = self._create_ventilation_schedules(thermal_zone)
+ self._add_schedules(usage, 'Ventilation', _new_schedules)
self._add_schedules(usage, 'Occupancy', thermal_zone.occupancy.occupancy_schedules)
self._add_schedules(usage, 'HVAC AVAIL', thermal_zone.thermal_control.hvac_availability_schedules)
self._add_schedules(usage, 'Heating thermostat', thermal_zone.thermal_control.heating_set_point_schedules)
@@ -536,6 +536,7 @@ class Idf:
self._add_zone(thermal_zone, building.name)
self._add_heating_system(thermal_zone, building.name)
self._add_infiltration(thermal_zone, building.name)
+ self._add_ventilation(thermal_zone, building.name)
self._add_occupancy(thermal_zone, building.name)
self._add_lighting(thermal_zone, building.name)
self._add_appliances(thermal_zone, building.name)