Class: OpenStudio::Model::AirTerminalSingleDuctVAVReheat
- Inherits:
-
Object
- Object
- OpenStudio::Model::AirTerminalSingleDuctVAVReheat
- Defined in:
- lib/openstudio-standards/hvac_sizing/HVACSizing.AirTerminalSingleDuctVAVNoReheat.rb,
lib/openstudio-standards/hvac_sizing/HVACSizing.AirTerminalSingleDuctVAVReheat.rb,
lib/openstudio-standards/prototypes/Prototype.AirTerminalSingleDuctVAVReheat.rb,
lib/openstudio-standards/standards/Standards.AirTerminalSingleDuctVAVReheat.rb
Overview
open the class to add methods to return sizing values
Instance Method Summary collapse
-
#applySizingValues ⇒ Object
Takes the values calculated by the EnergyPlus sizing routines and puts them into this object model in place of the autosized fields.
-
#autosize ⇒ Object
Sets all auto-sizeable fields to autosize.
-
#autosizedMaximumAirFlowRate ⇒ Object
returns the autosized maximum air flow rate as an optional double.
-
#autosizedMaximumFlowFractionDuringReheat ⇒ Object
returns the autosized maximum flow fraction during reheat as an optional double.
-
#autosizedMaximumFlowPerZoneFloorAreaDuringReheat ⇒ Object
returns the autosized maximum flow per zone floor area during reheat as an optional double.
-
#autosizedMaximumHotWaterOrSteamFlowRate ⇒ Object
returns the autosized rated power consumption as an optional double.
-
#set_initial_prototype_damper_position(building_vintage, zone_oa_per_area) ⇒ Bool
Set the initial minimum damper position based on OA rate of the space and the building vintage.
-
#set_minimum_damper_position(building_vintage, zone_oa_per_area, has_ddc = true) ⇒ Bool
Set the minimum damper position based on OA rate of the space and the building vintage.
Instance Method Details
#applySizingValues ⇒ Object
Takes the values calculated by the EnergyPlus sizing routines and puts them into this object model in place of the autosized fields. Must have previously completed a run with sql output for this to work.
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/openstudio-standards/hvac_sizing/HVACSizing.AirTerminalSingleDuctVAVNoReheat.rb', line 13 def applySizingValues rated_flow_rate = self.autosizedMaximumAirFlowRate if rated_flow_rate.is_initialized self.setMaximumAirFlowRate(rated_flow_rate.get) end maximum_hot_water_or_steam_flow_rate = self.autosizedMaximumHotWaterOrSteamFlowRate if maximum_hot_water_or_steam_flow_rate.is_initialized self.setMaximumHotWaterOrSteamFlowRate(maximum_hot_water_or_steam_flow_rate.get) end maximum_flow_per_zone_floor_area_during_reheat = self.autosizedMaximumFlowPerZoneFloorAreaDuringReheat if maximum_flow_per_zone_floor_area_during_reheat.is_initialized self.setMaximumFlowPerZoneFloorAreaDuringReheat(maximum_flow_per_zone_floor_area_during_reheat.get) end maximum_flow_fraction_during_reheat = self.autosizedMaximumFlowFractionDuringReheat if maximum_flow_fraction_during_reheat.is_initialized self.setMaximumFlowFractionDuringReheat(maximum_flow_fraction_during_reheat.get) end end |
#autosize ⇒ Object
Sets all auto-sizeable fields to autosize
6 7 8 |
# File 'lib/openstudio-standards/hvac_sizing/HVACSizing.AirTerminalSingleDuctVAVNoReheat.rb', line 6 def autosize OpenStudio::logFree(OpenStudio::Warn, "openstudio.sizing.AirTerminalSingleDuctVAVReheat", ".autosize not yet implemented for #{self.iddObject.type.valueDescription}.") end |
#autosizedMaximumAirFlowRate ⇒ Object
returns the autosized maximum air flow rate as an optional double
38 39 40 41 42 |
# File 'lib/openstudio-standards/hvac_sizing/HVACSizing.AirTerminalSingleDuctVAVNoReheat.rb', line 38 def autosizedMaximumAirFlowRate return self.model.getAutosizedValue(self, 'Design Size Maximum Air Flow Rate', 'm3/s') end |
#autosizedMaximumFlowFractionDuringReheat ⇒ Object
returns the autosized maximum flow fraction during reheat as an optional double
59 60 61 62 63 |
# File 'lib/openstudio-standards/hvac_sizing/HVACSizing.AirTerminalSingleDuctVAVNoReheat.rb', line 59 def autosizedMaximumFlowFractionDuringReheat return self.model.getAutosizedValue(self, 'Design Size Maximum Flow Fraction during Reheat', '') end |
#autosizedMaximumFlowPerZoneFloorAreaDuringReheat ⇒ Object
returns the autosized maximum flow per zone floor area during reheat as an optional double
52 53 54 55 56 |
# File 'lib/openstudio-standards/hvac_sizing/HVACSizing.AirTerminalSingleDuctVAVNoReheat.rb', line 52 def autosizedMaximumFlowPerZoneFloorAreaDuringReheat return self.model.getAutosizedValue(self, 'Design Size Maximum Flow per Zone Floor Area during Reheat', 'm3/s-m2') end |
#autosizedMaximumHotWaterOrSteamFlowRate ⇒ Object
returns the autosized rated power consumption as an optional double
45 46 47 48 49 |
# File 'lib/openstudio-standards/hvac_sizing/HVACSizing.AirTerminalSingleDuctVAVNoReheat.rb', line 45 def autosizedMaximumHotWaterOrSteamFlowRate return self.model.getAutosizedValue(self, 'Design Size Maximum Reheat Water Flow Rate', 'm3/s') end |
#set_initial_prototype_damper_position(building_vintage, zone_oa_per_area) ⇒ Bool
remove exception where older vintages don’t have minimum positions adjusted.
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
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/openstudio-standards/prototypes/Prototype.AirTerminalSingleDuctVAVReheat.rb', line 13 def set_initial_prototype_damper_position(building_vintage, zone_oa_per_area) # Minimum damper position is based on prototype # assumptions, which are not clearly documented. min_damper_position = nil case building_vintage when 'DOE Ref Pre-1980', 'DOE Ref 1980-2004', '90.1-2004' min_damper_position = 0.3 when '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 self.setConstantMinimumAirFlowFraction(0.7) end else # Low OA zones self.setConstantMinimumAirFlowFraction(min_damper_position) end return true end |
#set_minimum_damper_position(building_vintage, zone_oa_per_area, has_ddc = true) ⇒ Bool
remove exception where older vintages don’t have minimum positions adjusted.
Set the 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.adjust_minimum_vav_damper_positions
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/openstudio-standards/standards/Standards.AirTerminalSingleDuctVAVReheat.rb', line 14 def set_minimum_damper_position(building_vintage, zone_oa_per_area, has_ddc = true) # Minimum damper position is based on prototype # assumptions, which are not clearly documented. min_damper_position = nil case building_vintage when 'DOE Ref Pre-1980', 'DOE Ref 1980-2004', '90.1-2004' min_damper_position = 0.3 when '90.1-2007' min_damper_position = 0.3 when '90.1-2010', '90.1-2013' if has_ddc min_damper_position = 0.2 else min_damper_position = 0.3 end 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 # High OA zones self.setConstantMinimumAirFlowFraction(0.7) else # Low OA zones self.setConstantMinimumAirFlowFraction(min_damper_position) end return true end |