Class: OpenStudio::Model::PumpVariableSpeed
- Inherits:
-
Object
- Object
- OpenStudio::Model::PumpVariableSpeed
- Includes:
- Pump
- Defined in:
- lib/openstudio-standards/standards/Standards.PumpVariableSpeed.rb,
lib/openstudio-standards/hvac_sizing/Siz.PumpVariableSpeed.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 ⇒ Object
returns the autosized rated flow rate as an optional double.
-
#autosizedRatedPowerConsumption ⇒ Object
returns the autosized rated power consumption 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.
13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/openstudio-standards/hvac_sizing/Siz.PumpVariableSpeed.rb', line 13 def applySizingValues rated_flow_rate = self.autosizedRatedFlowRate if rated_flow_rate.is_initialized self.setRatedFlowRate(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 |
# File 'lib/openstudio-standards/hvac_sizing/Siz.PumpVariableSpeed.rb', line 6 def autosize OpenStudio::logFree(OpenStudio::Warn, "openstudio.sizing.PumpVariableSpeed", ".autosize not yet implemented for #{self.iddObject.type.valueDescription}.") end |
#autosizedRatedFlowRate ⇒ Object
returns the autosized rated flow rate as an optional double
29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/openstudio-standards/hvac_sizing/Siz.PumpVariableSpeed.rb', line 29 def autosizedRatedFlowRate # 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 |
#autosizedRatedPowerConsumption ⇒ Object
returns the autosized rated power consumption as an optional double
44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/openstudio-standards/hvac_sizing/Siz.PumpVariableSpeed.rb', line 44 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 |
#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
11 12 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 47 48 49 50 51 52 53 54 |
# File 'lib/openstudio-standards/standards/Standards.PumpVariableSpeed.rb', line 11 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.PumpVariableSpeed', "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 |