class OpenStudio::Model::AirTerminalSingleDuctVAVReheat # Set the initial minimum damper position based on OA # rate of the space and the building vintage. # Zones with low OA per area get lower initial guesses. # Final position will be adjusted upward # as necessary by Standards.AirLoopHVAC.set_minimum_vav_damper_positions # @param building_vintage [String] the building vintage # @param zone_oa_per_area [Double] the zone outdoor air per area, m^3/s # @return [Bool] returns true if successful, false if not # @todo remove exception where older vintages don't have minimum positions adjusted. def set_initial_prototype_damper_position(building_type, building_vintage, zone_oa_per_area) # Minimum damper position is based on prototype # assumptions, which are not clearly documented. min_damper_position = nil vav_name = self.name.get case building_vintage when 'DOE Ref Pre-1980', 'DOE Ref 1980-2004' if building_type == "Outpatient" and vav_name.include? "Floor 1" min_damper_position = 1 elsif building_type == "Hospital" and vav_name.include? "PatRoom" min_damper_position = 1 elsif building_type == "Hospital" and vav_name.include? "OR" min_damper_position = 1 elsif building_type == "Hospital" and vav_name.include? "ICU" min_damper_position = 1 elsif building_type == "Hospital" and vav_name.include? "Lab" min_damper_position = 1 elsif building_type == "Hospital" and vav_name.include? "ER" min_damper_position = 1 elsif building_type == "Hospital" and vav_name.include? "Kitchen" min_damper_position = 1 elsif building_type == "Hospital" and vav_name.include? "NurseStn" min_damper_position = 0.3 else min_damper_position = 0.3 end when '90.1-2004', '90.1-2007' min_damper_position = 0.3 when '90.1-2010', '90.1-2013' min_damper_position = 0.2 end # TODO remove the template conditional; doesn't make sense # Determine whether or not to use the high minimum guess. # Cutoff was determined by correlating apparent minimum guesses # to OA rates in prototypes since not well documented in papers. if zone_oa_per_area > 0.001 # 0.001 m^3/s*m^2 = .196 cfm/ft2 case building_vintage when 'DOE Ref Pre-1980', 'DOE Ref 1980-2004' self.setConstantMinimumAirFlowFraction(min_damper_position) else # High OA zones if building_type == "Outpatient" self.setConstantMinimumAirFlowFraction(1) elsif building_type == "Hospital" case building_vintage when '90.1-2010', '90.1-2013' if vav_name.include? "PatRoom" self.setConstantMinimumAirFlowFraction(0.5) else self.setConstantMinimumAirFlowFraction(1) end when '90.1-2004', '90.1-2007' self.setConstantMinimumAirFlowFraction(1) end else self.setConstantMinimumAirFlowFraction(0.7) end end else # Low OA zones self.setConstantMinimumAirFlowFraction(min_damper_position) end return true end end