lib/openstudio-standards/standards/Standards.Pump.rb in openstudio-standards-0.2.14 vs lib/openstudio-standards/standards/Standards.Pump.rb in openstudio-standards-0.2.15.pre.rc1
- old
+ new
@@ -1,17 +1,17 @@
# A variety of pump calculation methods that are the same regardless of pump type.
# These methods are available to PumpConstantSpeed, PumpVariableSpeed
module Pump
# @!group Pump
- # Set the pressure rise that cooresponds to the
- # target power per flow number, given the standard
- # pump efficiency and the default EnergyPlus pump impeller efficiency
- # of 0.78.
+ # Set the pressure rise that corresponds to the target power per flow number,
+ # given the standard pump efficiency and the default EnergyPlus pump impeller efficiency of 0.78.
#
+ # @param pump [OpenStudio::Model::StraightComponent] pump object, allowable types:
+ # PumpConstantSpeed, PumpVariableSpeed
# @param target_w_per_gpm [Double] the target power per flow, in W/gpm
- # @return [Bool] return true if successful, false if not
+ # @return [Bool] returns true if successful, false if not
# @author jmarrec
def pump_apply_prm_pressure_rise_and_motor_efficiency(pump, target_w_per_gpm)
# Eplus assumes an impeller efficiency of 0.78 to determine the total efficiency
# http://bigladdersoftware.com/epx/docs/8-4/engineering-reference/component-sizing.html#pump-sizing
# Rated_Power_Use = Rated_Volume_Flow_Rate * Rated_Pump_Head / Total_Efficiency
@@ -88,12 +88,15 @@
OpenStudio.logFree(OpenStudio::Debug, 'openstudio.standards.Pump', "For #{pump.name}: calculated W/gpm = #{calculated_w_per_gpm.round(1)}.")
return true
end
- # Applies the minimum motor efficiency for this pump
- # based on the motor's brake horsepower.
+ # Applies the minimum motor efficiency for this pump based on the motor's brake horsepower.
+ #
+ # @param pump [OpenStudio::Model::StraightComponent] pump object, allowable types:
+ # PumpConstantSpeed, PumpVariableSpeed
+ # @return [Bool] returns true if successful, false if not
def pump_apply_standard_minimum_motor_efficiency(pump)
# Get the horsepower
bhp = pump_brake_horsepower(pump)
# Find the motor efficiency
@@ -114,10 +117,12 @@
# horsepower, and the efficiency is based on that size. For example,
# if the bhp = 6.3, the nominal size will be 7.5HP and the efficiency
# for 90.1-2010 will be 91.7% from Table 10.8B. This method assumes
# 4-pole, 1800rpm totally-enclosed fan-cooled motors.
#
+ # @param pump [OpenStudio::Model::StraightComponent] pump object, allowable types:
+ # PumpConstantSpeed, PumpVariableSpeed
# @param motor_bhp [Double] motor brake horsepower (hp)
# @return [Array<Double>] minimum motor efficiency (0.0 to 1.0), nominal horsepower
def pump_standard_minimum_motor_efficiency_and_size(pump, motor_bhp)
motor_eff = 0.85
nominal_hp = motor_bhp
@@ -160,16 +165,17 @@
motor_eff = motor_properties['nominal_full_load_efficiency']
return [motor_eff, nominal_hp]
end
- # Determines the pump power (W) based on
- # flow rate, pressure rise, and total pump efficiency(impeller eff * motor eff).
+ # Determines the pump power (W) based on flow rate, pressure rise,
+ # and total pump efficiency(impeller eff * motor eff).
# Uses the E+ default assumption of 0.78 impeller efficiency.
#
- # @return [Double] pump power
- # @units Watts (W)
+ # @param pump [OpenStudio::Model::StraightComponent] pump object, allowable types:
+ # PumpConstantSpeed, PumpVariableSpeed
+ # @return [Double] pump power in watts
def pump_pumppower(pump)
# Get flow rate (whether autosized or hard-sized)
flow_m3_per_s = 0
flow_m3_per_s = if pump.to_PumpVariableSpeed.is_initialized || pump.to_PumpConstantSpeed.is_initialized
if pump.autosizedRatedFlowRate.is_initialized
@@ -204,15 +210,16 @@
pump_power_w = pressure_rise_pa * flow_m3_per_s / pump_total_eff
return pump_power_w
end
- # Determines the brake horsepower of the pump
- # based on flow rate, pressure rise, and impeller efficiency.
+ # Determines the brake horsepower of the pump based on flow rate,
+ # pressure rise, and impeller efficiency.
#
+ # @param pump [OpenStudio::Model::StraightComponent] pump object, allowable types:
+ # PumpConstantSpeed, PumpVariableSpeed
# @return [Double] brake horsepower
- # @units horsepower (hp)
def pump_brake_horsepower(pump)
# Get flow rate (whether autosized or hard-sized)
# Get flow rate (whether autosized or hard-sized)
flow_m3_per_s = 0
flow_m3_per_s = if pump.to_PumpVariableSpeed.is_initialized || pump.to_PumpConstantSpeed.is_initialized
@@ -243,15 +250,15 @@
pump_power_hp = pump_power_w / 745.7 # 745.7 W/HP
return pump_power_hp
end
- # Determines the horsepower of the pump
- # motor, including motor efficiency and
- # pump impeller efficiency.
+ # Determines the horsepower of the pump motor, including motor efficiency and pump impeller efficiency.
#
- # @return [Double] horsepower
+ # @param pump [OpenStudio::Model::StraightComponent] pump object, allowable types:
+ # PumpConstantSpeed, PumpVariableSpeed
+ # @return [Double] motor horsepower
def pump_motor_horsepower(pump)
# Get the pump power
pump_power_w = pump_pumppower(pump)
# Convert to HP
@@ -260,11 +267,12 @@
return pump_hp
end
# Determines the rated watts per GPM of the pump
#
- # @return [Double] rated power consumption per flow
- # @units Watts per GPM (W*min/gal)
+ # @param pump [OpenStudio::Model::StraightComponent] pump object, allowable types:
+ # PumpConstantSpeed, PumpVariableSpeed
+ # @return [Double] rated power consumption per flow in watts per gpm, W*min/gal
def pump_rated_w_per_gpm(pump)
# Get design power (whether autosized or hard-sized)
rated_power_w = 0
if pump.autosizedRatedPowerConsumption.is_initialized
rated_power_w = pump.autosizedRatedPowerConsumption.get