forked from s_ranjbar/city_retrofit
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:
|
||||
usage_type = space_type['building_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']
|
||||
appliances_density = space_type_compliance['electric_equipment_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)
|
||||
|
||||
# ACH
|
||||
#todo: revise with Pilar, some changes done
|
||||
mechanical_air_change = space_type['ventilation_air_changes']
|
||||
# cfm/ft2 to m3/m2.s
|
||||
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
|
||||
ventilation_rate = space_type['ventilation_per_person'] / (cte.METERS_TO_FEET * cte.MINUTES_TO_SECONDS)\
|
||||
/ occupancy_density
|
||||
|
||||
ventilation_rate += space_type['ventilation_per_person'] / (cte.METERS_TO_FEET * cte.MINUTES_TO_SECONDS)\
|
||||
* occupancy_density
|
||||
lighting_radiative_fraction = space_type['lighting_fraction_radiant']
|
||||
lighting_convective_fraction = 0
|
||||
if lighting_radiative_fraction is not None:
|
||||
|
|
|
@ -38,6 +38,7 @@ class Idf:
|
|||
_WINDOW_MATERIAL_SIMPLE = 'WINDOWMATERIAL:SIMPLEGLAZINGSYSTEM'
|
||||
_ROUGHNESS = 'MediumRough'
|
||||
_INFILTRATION = 'ZONEINFILTRATION:DESIGNFLOWRATE'
|
||||
_VENTILATION = 'ZONEVENTILATION:DESIGNFLOWRATE'
|
||||
|
||||
_HOURLY_SCHEDULE = 'SCHEDULE:DAY:HOURLY'
|
||||
_COMPACT_SCHEDULE = 'SCHEDULE:COMPACT'
|
||||
|
@ -421,7 +422,21 @@ class Idf:
|
|||
Design_Flow_Rate_Calculation_Method='AirChanges/Hour',
|
||||
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):
|
||||
fuel_type = 'Electricity'
|
||||
method = 'Watts/Area'
|
||||
|
|
Loading…
Reference in New Issue
Block a user