Module: BTAP::Resources::HVAC::ZoneEquipment

Defined in:
lib/openstudio-standards/btap/hvac.rb

Defined Under Namespace

Classes: ZoneEquipmentTests

Class Method Summary collapse

Class Method Details

.add_baseboard_convective_electric(model, zone) ⇒ Object



751
752
753
754
755
756
# File 'lib/openstudio-standards/btap/hvac.rb', line 751

def self.add_baseboard_convective_electric(model,zone)
  equipment = BTAP::OpenStudioLibrary.instance.library.getZoneHVACBaseboardConvectiveElectricByName("Zone HVAC Baseboard Convective Electric 1").get
  equipment = equipment.clone(model).to_ZoneHVACBaseboardConvectiveElectric.get
  equipment.addToThermalZone(zone)
  return equipment
end

.add_baseboard_convective_water(model, zone, hot_water_loop) ⇒ Object



739
740
741
742
743
744
745
# File 'lib/openstudio-standards/btap/hvac.rb', line 739

def self.add_baseboard_convective_water(model,zone,hot_water_loop)
  equipment = BTAP::OpenStudioLibrary.instance.library.getZoneHVACBaseboardConvectiveWaterByName("Convective Baseboard Water").get
  equipment = equipment.clone(model).to_ZoneHVACBaseboardConvectiveWater.get
  equipment.addToThermalZone(zone)
  hot_water_loop.addDemandBranchForComponent(equipment.heatingCoil()) unless hot_water_loop.to_PlantLoop.empty?
  return equipment
end

.add_four_pipe_fan_coil(model, zone, hot_water_loop, cold_water_loop) ⇒ Object



711
712
713
714
715
716
717
718
# File 'lib/openstudio-standards/btap/hvac.rb', line 711

def self.add_four_pipe_fan_coil(model,zone,hot_water_loop,cold_water_loop)
  equipment = BTAP::OpenStudioLibrary.instance.library.getZoneHVACFourPipeFanCoilByName("Zone HVAC Four Pipe Fan Coil 1").get
  equipment = equipment.clone(model).to_ZoneHVACFourPipeFanCoil.get
  equipment.addToThermalZone(zone)
  hot_water_loop.addDemandBranchForComponent(equipment.heatingCoil()) unless hot_water_loop.to_PlantLoop.empty?
  cold_water_loop.addDemandBranchForComponent(equipment.coolingCoil()) unless cold_water_loop.to_PlantLoop.empty?
  return equipment
end

.add_ideal_air_loads(model, zone) ⇒ Object

End Test ZoneEquipment



680
681
682
# File 'lib/openstudio-standards/btap/hvac.rb', line 680

def self.add_ideal_air_loads(model,zone)
  zone.setUseIdealAirLoads(true)
end

.add_low_temp_radiant_constant_flow(model, zone, hot_water_loop, cold_water_loop) ⇒ Object



702
703
704
705
706
707
708
709
# File 'lib/openstudio-standards/btap/hvac.rb', line 702

def self.add_low_temp_radiant_constant_flow(model,zone,hot_water_loop,cold_water_loop)
  equipment = BTAP::OpenStudioLibrary.instance.library.getZoneHVACLowTempRadiantConstFlowByName("Low Temp Radiant Const Flow").get
  equipment = equipment.clone(model).to_ZoneHVACLowTempRadiantConstFlow.get
  equipment.addToThermalZone(zone)
  hot_water_loop.addDemandBranchForComponent(equipment.heatingCoil()) unless hot_water_loop.to_PlantLoop.empty?
  cold_water_loop.addDemandBranchForComponent(equipment.coolingCoil()) unless cold_water_loop.to_PlantLoop.empty?
  return equipment
end

.add_low_temp_radiant_electric(model, zone) ⇒ Object



686
687
688
689
690
691
# File 'lib/openstudio-standards/btap/hvac.rb', line 686

def self.add_low_temp_radiant_electric(model,zone)
  equipment = BTAP::OpenStudioLibrary.instance.library.getZoneHVACLowTemperatureRadiantElectricByName("Low Temperature Radiant Electric").get
  equipment = equipment.clone(model).to_ZoneHVACLowTemperatureRadiantElectric.get
  equipment.addToThermalZone(zone)
  return equipment
end

.add_low_temp_radiant_var_flow(model, zone, hot_water_loop, cold_water_loop) ⇒ Object



693
694
695
696
697
698
699
700
# File 'lib/openstudio-standards/btap/hvac.rb', line 693

def self.add_low_temp_radiant_var_flow(model,zone,hot_water_loop,cold_water_loop)
  equipment = BTAP::OpenStudioLibrary.instance.library.getZoneHVACLowTempRadiantVarFlowByName("Low Temp Radiant Var Flow").get
  equipment = equipment.clone(model).to_ZoneHVACLowTempRadiantVarFlow.get
  equipment.addToThermalZone(zone)
  hot_water_loop.addDemandBranchForComponent(equipment.heatingCoil()) unless hot_water_loop.to_PlantLoop.empty?
  cold_water_loop.addDemandBranchForComponent(equipment.coolingCoil()) unless cold_water_loop.to_PlantLoop.empty?
  return equipment
end

.add_ptac(model, zone, hot_water_loop) ⇒ Object



731
732
733
734
735
736
737
# File 'lib/openstudio-standards/btap/hvac.rb', line 731

def self.add_ptac(model,zone,hot_water_loop)
  equipment = BTAP::OpenStudioLibrary.instance.library.getZoneHVACPackagedTerminalAirConditionerByName("OS:ZoneHVAC:PackagedTerminalAirConditioner 1").get
  equipment = equipment.clone(model).to_ZoneHVACPackagedTerminalAirConditioner.get
  equipment.addToThermalZone(zone)
  hot_water_loop.addDemandBranchForComponent(equipment.heatingCoil()) unless hot_water_loop.to_PlantLoop.empty?
  return equipment
end

.add_pthp(model, zone) ⇒ Object



724
725
726
727
728
729
# File 'lib/openstudio-standards/btap/hvac.rb', line 724

def self.add_pthp(model,zone)
  equipment = BTAP::OpenStudioLibrary.instance.library.getZoneHVACPackagedTerminalHeatPumpByName("OS:ZoneHVAC:PackagedTerminalHeatPump 1").get
  equipment = equipment.clone(model).to_ZoneHVACPackagedTerminalHeatPump.get
  equipment.addToThermalZone(zone)
  return equipment
end

.add_unit_heater(model, zone, heat_source = "electric", fan_source = "CV", hot_water_loop = nil) ⇒ Object



784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
# File 'lib/openstudio-standards/btap/hvac.rb', line 784

def self.add_unit_heater(model,zone,heat_source="electric",fan_source = "CV",hot_water_loop = nil)
  heat_source = heat_source.downcase
  fan_source = fan_source.downcase
  valid_heat_sources = ["electric","naturalgas","hotwater"]
  raise("Heat source #{heat_source} is invalid. please use #{valid_heat_sources}. ") unless valid_heat_sources.include?(heat_source)
  valid_fan_sources = ["vav","cv"]
  raise("Fan source #{fan_source} is invalid. please use a valid fan source name...#{valid_fan_sources}. ") unless valid_fan_sources.include?(fan_source)
  lib_name = ""
  if heat_source.downcase == "electric"
    if fan_source == "cv"
      lib_name = "Unit Heater CV - Electric"
    elsif fan_source == "vav"
      lib_name = "Unit Heater VAV - Electric"
    end
  elsif heat_source.downcase == "naturalgas"
    if fan_source == "cv"
      lib_name = "Unit Heater CV - Gas"
    elsif fan_source == "vav"
      lib_name = "Unit Heater VAV - Gas"
    end
  elsif heat_source.downcase == "hotwater"
    if fan_source == "cv"
      lib_name = "Unit Heater CV - Hot Water"
    elsif fan_source == "vav"
      lib_name = "Unit Heater VAV - Hot Water"
    end
  end
  unit_heater = BTAP::OpenStudioLibrary.instance.library.getZoneHVACUnitHeaterByName(lib_name).get
  new_unit_heater = unit_heater.clone(model).to_ZoneHVACUnitHeater.get
  new_unit_heater.addToThermalZone(zone);
  hot_water_loop.addDemandBranchForComponent(new_unit_heater.heatingCoil()) unless hot_water_loop.nil? or hot_water_loop.to_PlantLoop.empty?
  return unit_heater
end

.add_water_to_air_heat_pump(model, zone, backup_source = "naturalgas", hp_hot_water_loop = nil, hp_cold_water_loop = nil, hot_water_backup_loop = nil) ⇒ Object



768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
# File 'lib/openstudio-standards/btap/hvac.rb', line 768

def self.add_water_to_air_heat_pump(model,zone,backup_source = "naturalgas",hp_hot_water_loop = nil,hp_cold_water_loop = nil,hot_water_backup_loop = nil)
  backup_source = backup_source.downcase
  valid_heat_sources = ["electric","naturalgas","hotwater"]
  raise("Backup Heat Source #{backup_source} is invalid. please use #{valid_heat_sources}. ") unless valid_heat_sources.include?(backup_source)
  lib_name = ""
  lib_name = "Water To Air Heat Pump w Gas Supplemental Coil" if backup_source == "naturalgas"
  lib_name = "Water to Air Heat Pump w Hot Water Supplemental Coil"  if backup_source == "hotwater"
  lib_name = "Water To Air HP w Elec Supplemental Coil"  if backup_source == "electric"
  equipment = BTAP::OpenStudioLibrary.instance.library.getZoneHVACWaterToAirHeatPumpByName(lib_name).get
  equipment = equipment.clone(model).to_ZoneHVACWaterToAirHeatPump.get
  equipment.addToThermalZone(zone)
  hp_hot_water_loop.addDemandBranchForComponent(equipment.heatingCoil()) unless hp_hot_water_loop.nil? or hp_hot_water_loop.to_PlantLoop.empty?
  hp_cold_water_loop.addDemandBranchForComponent(equipment.coolingCoil()) unless hp_hot_water_loop.nil? or hp_cold_water_loop.to_PlantLoop.empty?
  hot_water_backup_loop.addDemandBranchForComponent(equipment.supplementalHeatingCoil()) unless hot_water_backup_loop.nil? or hot_water_backup_loop.to_PlantLoop.empty?
end

.add_zone_baseboard_convective_water(model, avail_sched, baseboard_coil) ⇒ Object



747
748
749
# File 'lib/openstudio-standards/btap/hvac.rb', line 747

def self.add_zone_baseboard_convective_water(model,avail_sched,baseboard_coil)
  return OpenStudio::Model::ZoneHVACBaseboardConvectiveWater.new(model,avail_sched,baseboard_coil);
end

.add_zoneHVAC_fpfc(model, avail_sched, supply_fan, cool_coil, htg_coil) ⇒ Object



720
721
722
# File 'lib/openstudio-standards/btap/hvac.rb', line 720

def self.add_zoneHVAC_fpfc(model,avail_sched,supply_fan,cool_coil,htg_coil)
  return OpenStudio::Model::ZoneHVACFourPipeFanCoil.new(model,avail_sched,supply_fan,cool_coil,htg_coil)
end