class CBEST242008

This class holds methods that apply CBES T24 2008 to a given model. @ref [References::CBES]

Attributes

template[R]

Public Class Methods

new() click to toggle source
Calls superclass method CBES::new
# File lib/openstudio-standards/standards/cbes/cbes_t24_2008/cbes_t24_2008.rb, line 7
def initialize
  super()
  @template = 'CBES T24 2008'
  load_standards_database
end

Public Instance Methods

fan_constant_volume_airloop_fan_pressure_rise(fan_constant_volume) click to toggle source

Determine the prototype fan pressure rise for a constant volume fan on an AirLoopHVAC based on system airflow. Defaults to the logic from ASHRAE 90.1-2004 prototypes.

@param fan_constant_volume [OpenStudio::Model::FanConstantVolume] constant volume fan object @return [Double] pressure rise in inches H20

# File lib/openstudio-standards/prototypes/cbes/cbes_t24_2008/cbes_t24_2008.FanConstantVolume.rb, line 9
def fan_constant_volume_airloop_fan_pressure_rise(fan_constant_volume)
  # Get the max flow rate from the fan.
  maximum_flow_rate_m3_per_s = nil
  if fan_constant_volume.maximumFlowRate.is_initialized
    maximum_flow_rate_m3_per_s = fan_constant_volume.maximumFlowRate.get
  elsif fan_constant_volume.autosizedMaximumFlowRate.is_initialized
    maximum_flow_rate_m3_per_s = fan_constant_volume.autosizedMaximumFlowRate.get
  else
    OpenStudio.logFree(OpenStudio::Warn, 'openstudio.prototype.FanConstantVolume', "For #{fan_constant_volume.name} max flow rate is not available, cannot apply prototype assumptions.")
    return false
  end

  # Convert max flow rate to cfm
  maximum_flow_rate_cfm = OpenStudio.convert(maximum_flow_rate_m3_per_s, 'm^3/s', 'cfm').get

  # Determine the pressure rise
  pressure_rise_in_h2o = if maximum_flow_rate_cfm < 7437
                           2.5
                         else # Over 7,437 cfm
                           4.09
                         end

  return pressure_rise_in_h2o
end
fan_on_off_airloop_or_unitary_fan_pressure_rise(fan_on_off) click to toggle source

Determine the prototype fan pressure rise for an on off fan on an AirLoopHVAC or inside a unitary system based on system airflow. Defaults to the logic from ASHRAE 90.1-2004 prototypes.

@param fan_on_off [OpenStudio::Model::FanOnOff] on off fan object @return [Double] pressure rise in inches H20

# File lib/openstudio-standards/prototypes/cbes/cbes_t24_2008/cbes_t24_2008.FanOnOff.rb, line 9
def fan_on_off_airloop_or_unitary_fan_pressure_rise(fan_on_off)
  # Get the max flow rate from the fan.
  maximum_flow_rate_m3_per_s = nil
  if fan_on_off.maximumFlowRate.is_initialized
    maximum_flow_rate_m3_per_s = fan_on_off.maximumFlowRate.get
  elsif fan_on_off.autosizedMaximumFlowRate.is_initialized
    maximum_flow_rate_m3_per_s = fan_on_off.autosizedMaximumFlowRate.get
  else
    OpenStudio.logFree(OpenStudio::Warn, 'openstudio.prototype.FanOnOff', "For #{fan_on_off.name} max flow rate is not available, cannot apply prototype assumptions.")
    return false
  end

  # Convert max flow rate to cfm
  maximum_flow_rate_cfm = OpenStudio.convert(maximum_flow_rate_m3_per_s, 'm^3/s', 'cfm').get

  # Determine the pressure rise
  pressure_rise_in_h2o = if maximum_flow_rate_cfm < 7437
                           2.5
                         else # Over 7,437 cfm
                           4.09
                         end

  return pressure_rise_in_h2o
end
fan_variable_volume_airloop_fan_pressure_rise(fan_variable_volume) click to toggle source

Determine the prototype fan pressure rise for a variable volume fan on an AirLoopHVAC based on system airflow. Defaults to the logic from ASHRAE 90.1-2004 prototypes.

@param fan_variable_volume [OpenStudio::Model::FanVariableVolume] variable volume fan object @return [Double] pressure rise in inches H20

# File lib/openstudio-standards/prototypes/cbes/cbes_t24_2008/cbes_t24_2008.FanVariableVolume.rb, line 9
def fan_variable_volume_airloop_fan_pressure_rise(fan_variable_volume)
  # Get the max flow rate from the fan.
  maximum_flow_rate_m3_per_s = nil
  if fan_variable_volume.maximumFlowRate.is_initialized
    maximum_flow_rate_m3_per_s = fan_variable_volume.maximumFlowRate.get
  elsif fan_variable_volume.autosizedMaximumFlowRate.is_initialized
    maximum_flow_rate_m3_per_s = fan_variable_volume.autosizedMaximumFlowRate.get
  else
    OpenStudio.logFree(OpenStudio::Warn, 'openstudio.prototype.FanVariableVolume', "For #{fan_variable_volume.name} max flow rate is not available, cannot apply prototype assumptions.")
    return false
  end

  # Convert max flow rate to cfm
  maximum_flow_rate_cfm = OpenStudio.convert(maximum_flow_rate_m3_per_s, 'm^3/s', 'cfm').get

  # Determine the pressure rise
  pressure_rise_in_h2o = if maximum_flow_rate_cfm < 4648
                           4.0
                         else # Over 7,437 cfm
                           5.58
                         end

  return pressure_rise_in_h2o
end
load_standards_database(data_directories = []) click to toggle source

Loads the openstudio standards dataset for this standard.

@param data_directories [Array<String>] array of file paths that contain standards data @return [Hash] a hash of standards data

Calls superclass method CBES#load_standards_database
# File lib/openstudio-standards/standards/cbes/cbes_t24_2008/cbes_t24_2008.rb, line 17
def load_standards_database(data_directories = [])
  super([__dir__] + data_directories)
end
space_infiltration_rate_75_pa(space = nil) click to toggle source

Baseline infiltration rate

@return [Double] the baseline infiltration rate, in cfm/ft^2 exterior above grade wall area at 75 Pa

# File lib/openstudio-standards/standards/cbes/cbes_t24_2008/cbes_t24_2008.Space.rb, line 7
def space_infiltration_rate_75_pa(space = nil)
  basic_infil_rate_cfm_per_ft2 = 0.5
  return basic_infil_rate_cfm_per_ft2
end