lib/openstudio-standards/hvac/cbecs_hvac.rb in openstudio-standards-0.5.0 vs lib/openstudio-standards/hvac/cbecs_hvac.rb in openstudio-standards-0.6.0.rc1

- old
+ new

@@ -1,9 +1,10 @@ -# Method to apply a typical CBECS HVAC system to thermal zones module OpenstudioStandards + # The HVAC module provides methods create, modify, and get information about HVAC systems in the model module HVAC # @!group CBECS HVAC + # Method to apply a typical CBECS HVAC system to thermal zones # Adds the HVAC system as derived from the combinations of CBECS 2012 MAINHT and MAINCL fields. # Mapping between combinations and HVAC systems per http://www.nrel.gov/docs/fy08osti/41956.pdf # Table C-31 # @@ -14,15 +15,15 @@ # @return [Boolean] returns true if successful, false if not def self.add_cbecs_hvac_system(model, standard, hvac_system_type, zones) # the 'zones' argument includes zones that have heating, cooling, or both # if the HVAC system type serves a single zone, handle zones with only heating separately by adding unit heaters # applies to system types PTAC, PTHP, PSZ-AC, and Window AC - heated_and_cooled_zones = zones.select { |zone| standard.thermal_zone_heated?(zone) && standard.thermal_zone_cooled?(zone) } - heated_zones = zones.select { |zone| standard.thermal_zone_heated?(zone) } - cooled_zones = zones.select { |zone| standard.thermal_zone_cooled?(zone) } - cooled_only_zones = zones.select { |zone| !standard.thermal_zone_heated?(zone) && standard.thermal_zone_cooled?(zone) } - heated_only_zones = zones.select { |zone| standard.thermal_zone_heated?(zone) && !standard.thermal_zone_cooled?(zone) } + heated_and_cooled_zones = zones.select { |zone| OpenstudioStandards::ThermalZone.thermal_zone_heated?(zone) && OpenstudioStandards::ThermalZone.thermal_zone_cooled?(zone) } + heated_zones = zones.select { |zone| OpenstudioStandards::ThermalZone.thermal_zone_heated?(zone) } + cooled_zones = zones.select { |zone| OpenstudioStandards::ThermalZone.thermal_zone_cooled?(zone) } + cooled_only_zones = zones.select { |zone| !OpenstudioStandards::ThermalZone.thermal_zone_heated?(zone) && OpenstudioStandards::ThermalZone.thermal_zone_cooled?(zone) } + heated_only_zones = zones.select { |zone| OpenstudioStandards::ThermalZone.thermal_zone_heated?(zone) && !OpenstudioStandards::ThermalZone.thermal_zone_cooled?(zone) } system_zones = heated_and_cooled_zones + cooled_only_zones # system type naming convention: # [ventilation strategy] [ cooling system and plant] [heating system and plant] @@ -433,11 +434,15 @@ standard.model_add_hvac_system(model, 'PVAV Reheat', ht = 'DistrictHeating', znht = 'DistrictHeating', cl = 'Electricity', zones) when 'PVAV with PFP boxes' standard.model_add_hvac_system(model, 'PVAV PFP Boxes', ht = 'Electricity', znht = 'Electricity', cl = 'Electricity', zones) - when 'PVAV with gas heat with electric reheat' - standard.model_add_hvac_system(model, 'PVAV Reheat', ht = 'Gas', znht = 'Electricity', cl = 'Electricity', zones) + when 'PVAV with gas heat with electric reheat', 'PVAV with gas coil heat with electric reheat' + standard.model_add_hvac_system(self, 'PVAV Reheat', ht = 'Gas', znht = 'Electricity', cl = 'Electricity', zones, + air_loop_heating_type: 'Gas') + + when 'PVAV with gas boiler heat with electric reheat' + standard.model_add_hvac_system(self, 'PVAV Reheat', ht = 'Gas', znht = 'Electricity', cl = 'Electricity', zones) # all residential systems do not have ventilation when 'Residential AC with baseboard electric' standard.model_add_hvac_system(model, 'Residential AC', ht = nil, znht = nil, cl = nil, cooled_zones) standard.model_add_hvac_system(model, 'Baseboards', ht = 'Electricity', znht = nil, cl = nil, heated_zones)