Class: OpenStudio::Model::HeaderedPumpsVariableSpeed
- Inherits:
-
Object
- Object
- OpenStudio::Model::HeaderedPumpsVariableSpeed
- Includes:
- Pump
- Defined in:
- lib/openstudio-standards/standards/Standards.HeaderedPumpsVariableSpeed.rb,
lib/openstudio-standards/hvac_sizing/Siz.HeaderedPumpsVariableSpeed.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.
-
#autosizedRatedFlowRate ⇒ OptionalDouble
Takes the total rated flow rate and returns per-pump values as an optional double.
-
#autosizedRatedPowerConsumption ⇒ Object
returns the autosized rated power consumption as an optional double.
-
#autosizedTotalRatedFlowRate ⇒ Object
returns the autosized rated flow rate as an optional double.
-
#ratedFlowRate ⇒ OptionalDouble
Takes the total rated flow rate and returns per-pump values as an optional double.
-
#set_control_type(control_type) ⇒ Object
Set the pump curve coefficients based on the specified control type.
Methods included from Pump
#apply_prm_pressure_rise_and_motor_efficiency, #apply_standard_minimum_motor_efficiency, #brake_horsepower, #motor_horsepower, #pump_power, #rated_w_per_gpm, #standard_minimum_motor_efficiency_and_size
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.
14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/openstudio-standards/hvac_sizing/Siz.HeaderedPumpsVariableSpeed.rb', line 14 def applySizingValues rated_flow_rate = self.autosizedTotalRatedFlowRate if rated_flow_rate.is_initialized self.setTotalRatedFlowRate(rated_flow_rate.get) end rated_power_consumption = self.autosizedRatedPowerConsumption if rated_power_consumption.is_initialized self.setRatedPowerConsumption(rated_power_consumption.get) end end |
#autosize ⇒ Object
Sets all auto-sizeable fields to autosize
6 7 8 9 |
# File 'lib/openstudio-standards/hvac_sizing/Siz.HeaderedPumpsVariableSpeed.rb', line 6 def autosize self.autosizeTotalRatedFlowRate self.autosizeRatedPowerConsumption end |
#autosizedRatedFlowRate ⇒ OptionalDouble
Takes the total rated flow rate and returns per-pump values as an optional double
9 10 11 12 13 14 15 16 17 18 |
# File 'lib/openstudio-standards/standards/Standards.HeaderedPumpsVariableSpeed.rb', line 9 def autosizedRatedFlowRate result = OpenStudio::OptionalDouble.new total_rated_flow_rate = autosizedTotalRatedFlowRate if total_rated_flow_rate.is_initialized per_pump_rated_flow_rate = total_rated_flow_rate.get / numberofPumpsinBank result = OpenStudio::OptionalDouble.new(per_pump_rated_flow_rate) end return result end |
#autosizedRatedPowerConsumption ⇒ Object
returns the autosized rated power consumption as an optional double
43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/openstudio-standards/hvac_sizing/Siz.HeaderedPumpsVariableSpeed.rb', line 43 def autosizedRatedPowerConsumption # In E+ 8.5, (OS 1.10.5 onward) the column name changed col_name = nil if self.model.version < OpenStudio::VersionString.new('1.10.5') col_name = 'Rated Power Consumption' else col_name = 'Design Power Consumption' end return self.model.getAutosizedValue(self, col_name, 'W') end |
#autosizedTotalRatedFlowRate ⇒ Object
returns the autosized rated flow rate as an optional double
29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/openstudio-standards/hvac_sizing/Siz.HeaderedPumpsVariableSpeed.rb', line 29 def autosizedTotalRatedFlowRate # In E+ 8.5, (OS 1.10.5 onward) the column name changed col_name = nil if self.model.version < OpenStudio::VersionString.new('1.10.5') col_name = 'Rated Flow Rate' else col_name = 'Design Flow Rate' end return self.model.getAutosizedValue(self, col_name, 'm3/s') end |
#ratedFlowRate ⇒ OptionalDouble
Takes the total rated flow rate and returns per-pump values as an optional double
23 24 25 26 27 28 29 30 31 32 |
# File 'lib/openstudio-standards/standards/Standards.HeaderedPumpsVariableSpeed.rb', line 23 def ratedFlowRate result = OpenStudio::OptionalDouble.new total_rated_flow_rate = totalRatedFlowRate if total_rated_flow_rate.is_initialized per_pump_rated_flow_rate = total_rated_flow_rate.get / numberofPumpsinBank result = OpenStudio::OptionalDouble.new(per_pump_rated_flow_rate) end return result end |
#set_control_type(control_type) ⇒ Object
Set the pump curve coefficients based on the specified control type.
are Riding Curve, VSD No Reset, VSD DP Reset
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/openstudio-standards/standards/Standards.HeaderedPumpsVariableSpeed.rb', line 39 def set_control_type(control_type) # Determine the coefficients coeff_a = nil coeff_b = nil coeff_c = nil coeff_d = nil case control_type when 'Constant Flow' coeff_a = 0.0 coeff_b = 1.0 coeff_c = 0.0 coeff_d = 0.0 when 'Riding Curve' coeff_a = 0.0 coeff_b = 3.2485 coeff_c = -4.7443 coeff_d = 2.5294 when 'VSD No Reset' coeff_a = 0.0 coeff_b = 0.5726 coeff_c = -0.301 coeff_d = 0.7347 when 'VSD DP Reset' coeff_a = 0.0 coeff_b = 0.0205 coeff_c = 0.4101 coeff_d = 0.5753 else OpenStudio.logFree(OpenStudio::Warn, 'openstudio.standards.HeaderedPumpsVariableSpeed', "Pump control type '#{control_type}' not recognized, pump coefficients will not be changed.") return false end # Set the coefficients setCoefficient1ofthePartLoadPerformanceCurve(coeff_a) setCoefficient2ofthePartLoadPerformanceCurve(coeff_b) setCoefficient3ofthePartLoadPerformanceCurve(coeff_c) setCoefficient4ofthePartLoadPerformanceCurve(coeff_d) setPumpControlType('Intermittent') # Append the control type to the pump name # self.setName("#{self.name} #{control_type}") return true end |