Ventilation and usage changed, problem of units. Revise with Pilar the incorporation of ventilation
This commit is contained in:
parent
bcc2f2fd3a
commit
75e56f4b99
|
@ -105,7 +105,8 @@ class NrcanCatalog(Catalog):
|
||||||
for space_type in space_types:
|
for space_type in space_types:
|
||||||
usage_type = space_type['building_type']
|
usage_type = space_type['building_type']
|
||||||
space_type_compliance = space_types_dictionary[usage_type]
|
space_type_compliance = space_types_dictionary[usage_type]
|
||||||
occupancy_density = space_type_compliance['occupancy_per_area']
|
#todo: check, because I think the value is pax per 1000 sqfoot
|
||||||
|
occupancy_density = space_type_compliance['occupancy_per_area']/1000
|
||||||
lighting_density = space_type_compliance['lighting_per_area']
|
lighting_density = space_type_compliance['lighting_per_area']
|
||||||
appliances_density = space_type_compliance['electric_equipment_per_area']
|
appliances_density = space_type_compliance['electric_equipment_per_area']
|
||||||
domestic_hot_water_peak_flow = space_type_compliance['service_water_heating_peak_flow_per_area']
|
domestic_hot_water_peak_flow = space_type_compliance['service_water_heating_peak_flow_per_area']
|
||||||
|
@ -128,14 +129,14 @@ class NrcanCatalog(Catalog):
|
||||||
domestic_hot_water_load_schedule = self._get_schedules(domestic_hot_water_schedule_name)
|
domestic_hot_water_load_schedule = self._get_schedules(domestic_hot_water_schedule_name)
|
||||||
|
|
||||||
# ACH
|
# ACH
|
||||||
|
#todo: revise with Pilar, some changes done
|
||||||
mechanical_air_change = space_type['ventilation_air_changes']
|
mechanical_air_change = space_type['ventilation_air_changes']
|
||||||
# cfm/ft2 to m3/m2.s
|
# cfm/ft2 to m3/m2.s
|
||||||
ventilation_rate = space_type['ventilation_per_area'] / (cte.METERS_TO_FEET * cte.MINUTES_TO_SECONDS)
|
ventilation_rate = space_type['ventilation_per_area'] / (cte.METERS_TO_FEET * cte.MINUTES_TO_SECONDS)
|
||||||
if ventilation_rate == 0:
|
#if ventilation_rate == 0:
|
||||||
# cfm/person to m3/m2.s
|
# cfm/person to m3/m2.s
|
||||||
ventilation_rate = space_type['ventilation_per_person'] / (cte.METERS_TO_FEET * cte.MINUTES_TO_SECONDS)\
|
ventilation_rate += space_type['ventilation_per_person'] / (cte.METERS_TO_FEET * cte.MINUTES_TO_SECONDS)\
|
||||||
/ occupancy_density
|
* occupancy_density
|
||||||
|
|
||||||
lighting_radiative_fraction = space_type['lighting_fraction_radiant']
|
lighting_radiative_fraction = space_type['lighting_fraction_radiant']
|
||||||
lighting_convective_fraction = 0
|
lighting_convective_fraction = 0
|
||||||
if lighting_radiative_fraction is not None:
|
if lighting_radiative_fraction is not None:
|
||||||
|
|
|
@ -38,6 +38,7 @@ class Idf:
|
||||||
_WINDOW_MATERIAL_SIMPLE = 'WINDOWMATERIAL:SIMPLEGLAZINGSYSTEM'
|
_WINDOW_MATERIAL_SIMPLE = 'WINDOWMATERIAL:SIMPLEGLAZINGSYSTEM'
|
||||||
_ROUGHNESS = 'MediumRough'
|
_ROUGHNESS = 'MediumRough'
|
||||||
_INFILTRATION = 'ZONEINFILTRATION:DESIGNFLOWRATE'
|
_INFILTRATION = 'ZONEINFILTRATION:DESIGNFLOWRATE'
|
||||||
|
_VENTILATION = 'ZONEVENTILATION:DESIGNFLOWRATE'
|
||||||
|
|
||||||
_HOURLY_SCHEDULE = 'SCHEDULE:DAY:HOURLY'
|
_HOURLY_SCHEDULE = 'SCHEDULE:DAY:HOURLY'
|
||||||
_COMPACT_SCHEDULE = 'SCHEDULE:COMPACT'
|
_COMPACT_SCHEDULE = 'SCHEDULE:COMPACT'
|
||||||
|
@ -421,7 +422,21 @@ class Idf:
|
||||||
Design_Flow_Rate_Calculation_Method='AirChanges/Hour',
|
Design_Flow_Rate_Calculation_Method='AirChanges/Hour',
|
||||||
Air_Changes_per_Hour=thermal_zone.infiltration_rate_system_off * factorreduct
|
Air_Changes_per_Hour=thermal_zone.infiltration_rate_system_off * factorreduct
|
||||||
)
|
)
|
||||||
|
def _add_ventilation(self, thermal_zone, zone_name):
|
||||||
|
# for zone in self._idf.idfobjects["ZONE"]:
|
||||||
|
# if zone.Name == f'{zone_name}_infiltration':
|
||||||
|
# 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='Flow/Zone',
|
||||||
|
Flow_Rate_per_Zone_Floor_Area=thermal_zone.infiltration_rate_system_off
|
||||||
|
)
|
||||||
def _add_dhw(self, thermal_zone, zone_name):
|
def _add_dhw(self, thermal_zone, zone_name):
|
||||||
fuel_type = 'Electricity'
|
fuel_type = 'Electricity'
|
||||||
method = 'Watts/Area'
|
method = 'Watts/Area'
|
||||||
|
|
Loading…
Reference in New Issue
Block a user