Source code for honeybee_openstudio.hvac.standards.pump_variable_speed

# coding=utf-8
"""Module taken from OpenStudio-standards.

https://github.com/NREL/openstudio-standards/blob/master/
lib/openstudio-standards/standards/PumpVariableSpeed.rb
"""
from __future__ import division


[docs] def pump_variable_speed_set_control_type(pump_variable_speed, control_type): """Set the pump curve coefficients based on the specified control type. Args: pump_variable_speed: [OpenStudio::Model::PumpVariableSpeed] variable speed pump. control_type: [String] valid choices are Riding Curve, VSD No Reset, VSD DP Reset. """ # Determine the coefficients if control_type == 'Constant Flow': coeff_a = 0.0 coeff_b = 1.0 coeff_c = 0.0 coeff_d = 0.0 elif control_type == 'Riding Curve': coeff_a = 0.0 coeff_b = 3.2485 coeff_c = -4.7443 coeff_d = 2.5294 elif control_type == 'VSD No Reset': coeff_a = 0.0 coeff_b = 0.5726 coeff_c = -0.301 coeff_d = 0.7347 elif control_type == 'VSD DP Reset': coeff_a = 0.0 coeff_b = 0.0205 coeff_c = 0.4101 coeff_d = 0.5753 else: msg = 'Pump control type {} not recognized, pump coefficients will not ' \ 'be changed.'.format(control_type) print(msg) return None # Set the coefficients pump_variable_speed.setCoefficient1ofthePartLoadPerformanceCurve(coeff_a) pump_variable_speed.setCoefficient2ofthePartLoadPerformanceCurve(coeff_b) pump_variable_speed.setCoefficient3ofthePartLoadPerformanceCurve(coeff_c) pump_variable_speed.setCoefficient4ofthePartLoadPerformanceCurve(coeff_d) pump_variable_speed.setPumpControlType('Intermittent') return True