openstudio-standards 0.8.3 → 0.8.5.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (330) hide show
  1. checksums.yaml +4 -4
  2. data/data/geometry/ASHRAECollege.osm +30 -30
  3. data/data/geometry/ASHRAECourthouse.osm +22 -22
  4. data/data/geometry/ASHRAESmallOfficeDetailed.osm +2 -2
  5. data/data/geometry/DEER_Asm.osm +1 -1
  6. data/data/geometry/DEER_ECC.osm +1 -1
  7. data/data/geometry/DEER_EPr.osm +1 -1
  8. data/data/geometry/DEER_ERC.osm +1 -1
  9. data/data/geometry/DEER_ESe.osm +1 -1
  10. data/data/geometry/DEER_EUn.osm +1 -1
  11. data/data/geometry/DEER_Hsp.osm +1 -1
  12. data/data/geometry/DEER_Htl.osm +1 -1
  13. data/data/geometry/DEER_MBT.osm +1 -1
  14. data/data/geometry/DEER_MFm.osm +1 -1
  15. data/data/geometry/DEER_Nrs.osm +1 -1
  16. data/data/geometry/DEER_OfL.osm +1 -1
  17. data/data/geometry/DEER_OfS.osm +1 -1
  18. data/data/geometry/DEER_RFF.osm +1 -1
  19. data/data/geometry/DEER_RSD.osm +1 -1
  20. data/data/geometry/DEER_Rt3.osm +1 -1
  21. data/data/geometry/DEER_RtS.osm +1 -1
  22. data/data/standards/export_OpenStudio_libraries.rb +2 -3
  23. data/data/standards/test_performance_expected_dd_results.csv +42 -42
  24. data/lib/openstudio-standards/btap/NECB_building_types.csv +35 -0
  25. data/lib/openstudio-standards/btap/NECB_space_types.csv +109 -0
  26. data/lib/openstudio-standards/btap/activity.rb +480 -0
  27. data/lib/openstudio-standards/btap/attributes.rb +166 -0
  28. data/lib/openstudio-standards/btap/bridging.rb +561 -1402
  29. data/lib/openstudio-standards/btap/btap.rb +4 -2
  30. data/lib/openstudio-standards/btap/btap_test_helper.rb +86 -0
  31. data/lib/openstudio-standards/btap/carbon/btap_carbon.rb +177 -0
  32. data/lib/openstudio-standards/btap/common_paths.rb +81 -0
  33. data/lib/openstudio-standards/btap/common_resources/ConstructionProperties.csv +52 -0
  34. data/lib/openstudio-standards/btap/common_resources/Constructions.csv +37 -0
  35. data/lib/openstudio-standards/btap/common_resources/carbon_frame.csv +35 -0
  36. data/lib/openstudio-standards/btap/common_resources/carbon_glazing.csv +35 -0
  37. data/lib/openstudio-standards/btap/common_resources/carbon_opaque.csv +164 -0
  38. data/lib/openstudio-standards/btap/common_resources/construction_sets.csv +1270 -0
  39. data/lib/openstudio-standards/btap/common_resources/constructions_glazing.csv +121 -0
  40. data/lib/openstudio-standards/btap/common_resources/constructions_opaque.csv +2256 -0
  41. data/lib/openstudio-standards/btap/common_resources/costs.csv +1897 -0
  42. data/lib/openstudio-standards/btap/common_resources/costs_local_factors.csv +2315 -0
  43. data/lib/openstudio-standards/btap/common_resources/hvac_vent_ahu.csv +925 -0
  44. data/lib/openstudio-standards/btap/common_resources/lighting.csv +364 -0
  45. data/lib/openstudio-standards/btap/common_resources/lighting_sets.csv +2667 -0
  46. data/lib/openstudio-standards/btap/common_resources/locations.csv +75 -0
  47. data/lib/openstudio-standards/btap/common_resources/materials_glazing.csv +35 -0
  48. data/lib/openstudio-standards/btap/common_resources/materials_hvac.csv +1686 -0
  49. data/lib/openstudio-standards/btap/common_resources/materials_lighting.csv +267 -0
  50. data/lib/openstudio-standards/btap/common_resources/materials_opaque.csv +164 -0
  51. data/lib/openstudio-standards/btap/costing/README.md +502 -0
  52. data/lib/openstudio-standards/btap/costing/btap_costing.rb +469 -0
  53. data/lib/openstudio-standards/btap/costing/btap_measure_helper.rb +359 -0
  54. data/lib/openstudio-standards/btap/costing/btap_workflow.rb +117 -0
  55. data/lib/openstudio-standards/btap/costing/copy_test_results_files_to_expected_results.rb +11 -0
  56. data/lib/openstudio-standards/btap/costing/cost_building_from_file.rb +136 -0
  57. data/lib/openstudio-standards/btap/costing/costing_database_wrapper.rb +173 -0
  58. data/lib/openstudio-standards/btap/costing/daylighting_sensor_control_costing.rb +354 -0
  59. data/lib/openstudio-standards/btap/costing/dcv_costing.rb +314 -0
  60. data/lib/openstudio-standards/btap/costing/dummy.epw +8768 -0
  61. data/lib/openstudio-standards/btap/costing/dummy.osm +5320 -0
  62. data/lib/openstudio-standards/btap/costing/envelope_costing.rb +215 -0
  63. data/lib/openstudio-standards/btap/costing/heating_cooling_costing.rb +2584 -0
  64. data/lib/openstudio-standards/btap/costing/led_lighting_costing.rb +156 -0
  65. data/lib/openstudio-standards/btap/costing/lighting_costing.rb +209 -0
  66. data/lib/openstudio-standards/btap/costing/mech_sizing.json +502 -0
  67. data/lib/openstudio-standards/btap/costing/neb_end_use_prices.csv +42 -0
  68. data/lib/openstudio-standards/btap/costing/necb_2011_spacetype_info.csv +225 -0
  69. data/lib/openstudio-standards/btap/costing/necb_reference_runs.csv +28705 -0
  70. data/lib/openstudio-standards/btap/costing/nv_costing.rb +547 -0
  71. data/lib/openstudio-standards/btap/costing/parallel_tests.rb +92 -0
  72. data/lib/openstudio-standards/btap/costing/pv_ground_costing.rb +687 -0
  73. data/lib/openstudio-standards/btap/costing/shw_costing.rb +705 -0
  74. data/lib/openstudio-standards/btap/costing/test_list.txt +15 -0
  75. data/lib/openstudio-standards/btap/costing/test_run_all_test_locally.rb +27 -0
  76. data/lib/openstudio-standards/btap/costing/test_run_costing_tests.rb +80 -0
  77. data/lib/openstudio-standards/btap/costing/ventilation_costing.rb +2616 -0
  78. data/lib/openstudio-standards/btap/geometry.rb +86 -6
  79. data/lib/openstudio-standards/btap/structure.rb +657 -0
  80. data/lib/openstudio-standards/constructions/modify.rb +2 -1
  81. data/lib/openstudio-standards/create_typical/create_typical.rb +17 -33
  82. data/lib/openstudio-standards/create_typical/space_type_ratios.rb +36 -36
  83. data/lib/openstudio-standards/equipment/create_transformer.rb +104 -0
  84. data/lib/openstudio-standards/equipment/create_typical_equipment.rb +117 -0
  85. data/lib/openstudio-standards/equipment/data/electric_equipment_space_types.json +1514 -0
  86. data/lib/openstudio-standards/equipment/data/gas_equipment_space_types.json +227 -0
  87. data/lib/openstudio-standards/exterior_lighting/create.rb +22 -22
  88. data/lib/openstudio-standards/exterior_lighting/information.rb +3 -2
  89. data/lib/openstudio-standards/hvac/components/air_conditioner_vrf.rb +482 -0
  90. data/lib/openstudio-standards/hvac/components/air_terminal.rb +31 -0
  91. data/lib/openstudio-standards/hvac/components/boiler_hot_water.rb +163 -0
  92. data/lib/openstudio-standards/hvac/components/central_air_source_heat_pump.rb +220 -0
  93. data/lib/openstudio-standards/hvac/components/chiller.rb +25 -0
  94. data/lib/openstudio-standards/hvac/components/coil.rb +276 -0
  95. data/lib/openstudio-standards/hvac/components/coil_cooling_dx_multi_speed.rb +40 -0
  96. data/lib/openstudio-standards/hvac/components/coil_cooling_dx_single_speed.rb +300 -0
  97. data/lib/openstudio-standards/hvac/components/coil_cooling_dx_two_speed.rb +187 -0
  98. data/lib/openstudio-standards/hvac/components/coil_cooling_water.rb +80 -0
  99. data/lib/openstudio-standards/hvac/components/coil_cooling_water_to_air_heat_pump_equation_fit.rb +182 -0
  100. data/lib/openstudio-standards/hvac/components/coil_heating_dx_single_speed.rb +220 -0
  101. data/lib/openstudio-standards/hvac/components/coil_heating_electric.rb +56 -0
  102. data/lib/openstudio-standards/hvac/components/coil_heating_gas.rb +90 -0
  103. data/lib/openstudio-standards/hvac/components/coil_heating_gas_multi_stage.rb +33 -0
  104. data/lib/openstudio-standards/hvac/components/coil_heating_water.rb +98 -0
  105. data/lib/openstudio-standards/hvac/components/coil_heating_water_to_air_heat_pump_equation_fit.rb +147 -0
  106. data/lib/openstudio-standards/hvac/components/component.rb +39 -0
  107. data/lib/openstudio-standards/{standards/ashrae_90_1/data/ashrae_90_1.fans.json → hvac/components/data/fans.json} +6 -6
  108. data/lib/openstudio-standards/hvac/components/fan.rb +363 -0
  109. data/lib/openstudio-standards/hvac/components/heat_exchanger_air_to_air.rb +203 -0
  110. data/lib/openstudio-standards/hvac/components/pump.rb +181 -0
  111. data/lib/openstudio-standards/hvac/controls/radiant_system_controls.rb +594 -0
  112. data/lib/openstudio-standards/hvac/conversions.rb +222 -0
  113. data/lib/openstudio-standards/hvac/curves.rb +192 -0
  114. data/lib/openstudio-standards/hvac/helpers.rb +357 -0
  115. data/lib/openstudio-standards/hvac/setpoint_managers/information.rb +4 -4
  116. data/lib/openstudio-standards/interior_lighting/create_lights.rb +52 -0
  117. data/lib/openstudio-standards/interior_lighting/create_typical_interior_lighting.rb +254 -0
  118. data/lib/openstudio-standards/interior_lighting/data/convert_lighting_data.rb +249 -0
  119. data/lib/openstudio-standards/interior_lighting/data/lighting_space_types.csv +96 -0
  120. data/lib/openstudio-standards/interior_lighting/data/lighting_space_types.json +1429 -0
  121. data/lib/openstudio-standards/interior_lighting/data/lighting_technology.csv +46 -0
  122. data/lib/openstudio-standards/interior_lighting/data/lighting_technology.json +859 -0
  123. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirTerminalSingleDuctVAVReheat.rb +1 -1
  124. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirTerminalSingleDuctVAVReheat.rb +1 -1
  125. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirTerminalSingleDuctVAVReheat.rb +1 -1
  126. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Model.rb +4 -4
  127. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirTerminalSingleDuctVAVReheat.rb +1 -1
  128. data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Model.rb +4 -4
  129. data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.AirTerminalSingleDuctVAVReheat.rb +1 -1
  130. data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirTerminalSingleDuctVAVReheat.rb +1 -1
  131. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.HighRiseApartment.rb +6 -7
  132. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Hospital.rb +15 -15
  133. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeHotel.rb +4 -4
  134. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeOffice.rb +5 -5
  135. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.MediumOffice.rb +6 -6
  136. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Outpatient.rb +7 -7
  137. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.PrimarySchool.rb +4 -4
  138. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SecondarySchool.rb +6 -6
  139. data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallOfficeDetailed.rb +5 -1
  140. data/lib/openstudio-standards/prototypes/common/data/prototype_space_type_map.json +2594 -0
  141. data/lib/openstudio-standards/prototypes/common/data/thermostat_schedule_lookup.json +2108 -0
  142. data/lib/openstudio-standards/prototypes/common/objects/Prototype.AirTerminalSingleDuctVAVReheat.rb +33 -0
  143. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Fan.rb +0 -140
  144. data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanConstantVolume.rb +1 -73
  145. data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanOnOff.rb +1 -69
  146. data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanVariableVolume.rb +0 -116
  147. data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanZoneExhaust.rb +0 -61
  148. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.hvac.rb +2 -2
  149. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.rb +128 -13
  150. data/lib/openstudio-standards/prototypes/common/objects/Prototype.hvac_systems.rb +606 -607
  151. data/lib/openstudio-standards/prototypes/common/prototype_space_type_map.rb +41 -0
  152. data/lib/openstudio-standards/prototypes/common/space_type_equipment_map.rb +184 -0
  153. data/lib/openstudio-standards/prototypes/common/space_type_thermostat_schedule_map.rb +116 -0
  154. data/lib/openstudio-standards/qaqc/hvac.rb +12 -12
  155. data/lib/openstudio-standards/refrigeration/create_compressor.rb +2 -5
  156. data/lib/openstudio-standards/refrigeration/data/refrigeration_compressors.csv +4 -4
  157. data/lib/openstudio-standards/service_water_heating/create_water_heater.rb +1 -2
  158. data/lib/openstudio-standards/service_water_heating/create_water_use.rb +5 -5
  159. data/lib/openstudio-standards/space_type/data/level_1_space_types.json +612 -0
  160. data/lib/openstudio-standards/space_type/standards_space_type.rb +53 -0
  161. data/lib/openstudio-standards/standards/Standards.AirConditionerVariableRefrigerantFlow.rb +8 -26
  162. data/lib/openstudio-standards/standards/Standards.AirLoopHVAC.rb +13 -13
  163. data/lib/openstudio-standards/standards/Standards.AirTerminalSingleDuctVAVReheat.rb +0 -24
  164. data/lib/openstudio-standards/standards/Standards.BoilerHotWater.rb +6 -43
  165. data/lib/openstudio-standards/standards/Standards.ChillerElectricEIR.rb +7 -24
  166. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXMultiSpeed.rb +19 -44
  167. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXSingleSpeed.rb +25 -50
  168. data/lib/openstudio-standards/standards/Standards.CoilCoolingDXTwoSpeed.rb +25 -33
  169. data/lib/openstudio-standards/standards/Standards.CoilCoolingWaterToAirHeatPumpEquationFit.rb +9 -22
  170. data/lib/openstudio-standards/standards/Standards.CoilDX.rb +15 -157
  171. data/lib/openstudio-standards/standards/Standards.CoilHeatingDXMultiSpeed.rb +2 -2
  172. data/lib/openstudio-standards/standards/Standards.CoilHeatingDXSingleSpeed.rb +18 -105
  173. data/lib/openstudio-standards/standards/Standards.CoilHeatingGas.rb +3 -23
  174. data/lib/openstudio-standards/standards/Standards.CoilHeatingGasMultiStage.rb +0 -24
  175. data/lib/openstudio-standards/standards/Standards.CoilHeatingWaterToAirHeatPumpEquationFit.rb +2 -86
  176. data/lib/openstudio-standards/standards/Standards.FanVariableVolume.rb +0 -107
  177. data/lib/openstudio-standards/standards/Standards.Model.rb +45 -20
  178. data/lib/openstudio-standards/standards/Standards.People.rb +113 -0
  179. data/lib/openstudio-standards/standards/Standards.PlantLoop.rb +11 -11
  180. data/lib/openstudio-standards/standards/Standards.Pump.rb +2 -147
  181. data/lib/openstudio-standards/standards/Standards.PumpVariableSpeed.rb +57 -41
  182. data/lib/openstudio-standards/standards/Standards.SpaceType.rb +30 -153
  183. data/lib/openstudio-standards/standards/Standards.Ventilation.rb +74 -0
  184. data/lib/openstudio-standards/standards/Standards.ZoneHVACComponent.rb +1 -1
  185. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.PlantLoop.rb +4 -4
  186. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.heat_pumps_heating.json +3 -3
  187. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.spc_typ.json +37 -112
  188. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/comstock_ashrae_90_1_2007/data/comstock_ashrae_90_1_2007.spc_typ.json +37 -102
  189. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.heat_pumps_heating.json +3 -3
  190. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.spc_typ.json +37 -112
  191. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirTerminalSingleDuctVAVReheat.rb +1 -1
  192. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/comstock_ashrae_90_1_2010/data/comstock_ashrae_90_1_2010.spc_typ.json +37 -37
  193. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.heat_pumps_heating.json +6 -6
  194. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.spc_typ.json +37 -37
  195. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirTerminalSingleDuctVAVReheat.rb +1 -1
  196. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.BoilerHotWater.rb +1 -1
  197. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/comstock_ashrae_90_1_2013/data/comstock_ashrae_90_1_2013.spc_typ.json +37 -102
  198. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.heat_pumps_heating.json +6 -6
  199. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.spc_typ.json +37 -37
  200. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirTerminalSingleDuctVAVReheat.rb +1 -1
  201. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.BoilerHotWater.rb +1 -1
  202. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/comstock_ashrae_90_1_2016/data/comstock_ashrae_90_1_2016.spc_typ.json +45 -109
  203. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.heat_pumps_heating.json +6 -6
  204. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.spc_typ.json +37 -37
  205. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirLoopHVAC.rb +1 -1
  206. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirTerminalSingleDuctVAVReheat.rb +1 -1
  207. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.BoilerHotWater.rb +1 -1
  208. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.CoilHeatingGas.rb +1 -1
  209. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/comstock_ashrae_90_1_2019/data/comstock_ashrae_90_1_2019.spc_typ.json +45 -109
  210. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.heat_pumps_heating.json +6 -6
  211. data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.spc_typ.json +37 -37
  212. data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.curves.json +0 -200
  213. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/comstock_doe_ref_1980_2004/data/comstock_doe_ref_1980_2004.spc_typ.json +37 -37
  214. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.spc_typ.json +37 -37
  215. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/comstock_doe_ref_pre_1980/data/comstock_doe_ref_pre_1980.spc_typ.json +37 -37
  216. data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.spc_typ.json +37 -37
  217. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.AirTerminalSingleDuctVAVReheat.rb +1 -1
  218. data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.PlantLoop.rb +5 -5
  219. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirTerminalSingleDuctVAVReheat.rb +1 -1
  220. data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.PlantLoop.rb +5 -5
  221. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.AirLoopHVAC.rb +1 -1
  222. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.ChillerElectricEIR.rb +2 -2
  223. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilCoolingDXSingleSpeed.rb +2 -68
  224. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilCoolingDXTwoSpeed.rb +2 -35
  225. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilDX.rb +42 -0
  226. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilHeatingDXSingleSpeed.rb +5 -2
  227. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilHeatingGas.rb +2 -2
  228. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.Model.rb +2 -2
  229. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.PlantLoop.rb +3 -3
  230. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.SpaceType.rb +1 -1
  231. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/ashrae_90_1_prm_2019.Model.rb +1 -0
  232. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/ashrae_90_1_prm_2019_WaterHeaterMixed.rb +2 -4
  233. data/lib/openstudio-standards/standards/ashrae_90_1_prm/data/ashrae_90_1_prm.curves.json +0 -200
  234. data/lib/openstudio-standards/standards/ashrae_90_1_prm/data/ashrae_90_1_prm.fans.json +5 -5
  235. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/ashrae_90_1_prm.UserData.rb +7 -1
  236. data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/userdata_enums.rb +0 -1
  237. data/lib/openstudio-standards/standards/cbes/data/cbes.curves.json +0 -200
  238. data/lib/openstudio-standards/standards/deer/data/deer.curves.json +0 -200
  239. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/btap_pre1980.rb +21 -37
  240. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/building_envelope.rb +12 -11
  241. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_3_and_8_single_speed.rb +68 -27
  242. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_4.rb +64 -25
  243. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_system_6.rb +9 -14
  244. data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_systems.rb +4 -4
  245. data/lib/openstudio-standards/standards/necb/ECMS/ecms.rb +1 -1
  246. data/lib/openstudio-standards/standards/necb/ECMS/hvac_systems.rb +115 -112
  247. data/lib/openstudio-standards/standards/necb/NECB2011/autozone.rb +637 -249
  248. data/lib/openstudio-standards/standards/necb/NECB2011/beps_compliance_path.rb +16 -12
  249. data/lib/openstudio-standards/standards/necb/NECB2011/building_envelope.rb +799 -46
  250. data/lib/openstudio-standards/standards/necb/NECB2011/data/chillers.json +33 -51
  251. data/lib/openstudio-standards/standards/necb/NECB2011/data/constants.json +75 -7
  252. data/lib/openstudio-standards/standards/necb/NECB2011/data/fuel_type_sets.json +25 -1
  253. data/lib/openstudio-standards/standards/necb/NECB2011/data/geometry/HighriseApartmentMult.osm +14272 -0
  254. data/lib/openstudio-standards/standards/necb/NECB2011/data/heat_pumps_heating.json +21 -15
  255. data/lib/openstudio-standards/standards/necb/NECB2011/data/necb_2015_table_c1.json +1 -1
  256. data/lib/openstudio-standards/standards/necb/NECB2011/data/space_types.json +437 -437
  257. data/lib/openstudio-standards/standards/necb/NECB2011/data/systems.json +516 -0
  258. data/lib/openstudio-standards/standards/necb/NECB2011/data/systems_including_sys5.json +588 -0
  259. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_namer.rb +489 -0
  260. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_1_single_speed.rb +18 -6
  261. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_2_and_5.rb +48 -5
  262. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_3_and_8_multi_speed.rb +2 -2
  263. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_3_and_8_single_speed.rb +35 -27
  264. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_4.rb +34 -23
  265. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_6.rb +8 -6
  266. data/lib/openstudio-standards/standards/necb/NECB2011/hvac_systems.rb +68 -150
  267. data/lib/openstudio-standards/standards/necb/NECB2011/necb_2011.rb +444 -134
  268. data/lib/openstudio-standards/standards/necb/NECB2011/system_fuels.rb +61 -1
  269. data/lib/openstudio-standards/standards/necb/NECB2015/data/heat_pumps_heating.json +10 -2
  270. data/lib/openstudio-standards/standards/necb/NECB2015/data/space_types.json +636 -636
  271. data/lib/openstudio-standards/standards/necb/NECB2015/data/unitary_acs.json +38 -38
  272. data/lib/openstudio-standards/standards/necb/NECB2015/hvac_systems.rb +17 -8
  273. data/lib/openstudio-standards/standards/necb/NECB2017/data/space_types.json +636 -636
  274. data/lib/openstudio-standards/standards/necb/NECB2020/data/chillers.json +71 -71
  275. data/lib/openstudio-standards/standards/necb/NECB2020/data/heat_pumps_heating.json +16 -6
  276. data/lib/openstudio-standards/standards/necb/NECB2020/data/unitary_acs.json +60 -61
  277. data/lib/openstudio-standards/standards/necb/NECB2020/service_water_heating.rb +30 -30
  278. data/lib/openstudio-standards/standards/necb/README.md +343 -0
  279. data/lib/openstudio-standards/standards/necb/common/btap_analysis.rb +79 -0
  280. data/lib/openstudio-standards/standards/necb/common/btap_data.rb +206 -32
  281. data/lib/openstudio-standards/standards/necb/common/btap_datapoint.rb +75 -43
  282. data/lib/openstudio-standards/standards/necb/common/eccc_electric_grid_intensity_20250311.csv +14 -0
  283. data/lib/openstudio-standards/standards/necb/common/nir_gas_grid_intensity_20250311.csv +14 -0
  284. data/lib/openstudio-standards/standards/necb/common/system_types.yaml +0 -0
  285. data/lib/openstudio-standards/thermal_zone/{thermal_zone.rb → information.rb} +12 -45
  286. data/lib/openstudio-standards/thermal_zone/thermostat_schedules.rb +152 -0
  287. data/lib/openstudio-standards/utilities/logging.rb +18 -14
  288. data/lib/openstudio-standards/version.rb +1 -1
  289. data/lib/openstudio-standards/weather/modify.rb +2 -2
  290. data/lib/openstudio-standards/weather/stat_file.rb +2 -2
  291. data/lib/openstudio-standards.rb +67 -38
  292. metadata +141 -50
  293. data/lib/openstudio-standards/hvac/components/create.rb +0 -169
  294. data/lib/openstudio-standards/hvac/components/modify.rb +0 -42
  295. data/lib/openstudio-standards/prototypes/common/objects/Prototype.AirConditionerVariableRefrigerantFlow.rb +0 -438
  296. data/lib/openstudio-standards/prototypes/common/objects/Prototype.BoilerHotWater.rb +0 -123
  297. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CentralAirSourceHeatPump.rb +0 -216
  298. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingDXSingleSpeed.rb +0 -273
  299. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingDXTwoSpeed.rb +0 -159
  300. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingWater.rb +0 -77
  301. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingWaterToAirHeatPumpEquationFit.rb +0 -154
  302. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingDXSingleSpeed.rb +0 -214
  303. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingElectric.rb +0 -53
  304. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingGas.rb +0 -72
  305. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingWater.rb +0 -95
  306. data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingWaterToAirHeatPumpEquationFit.rb +0 -125
  307. data/lib/openstudio-standards/prototypes/common/objects/Prototype.ControllerWaterCoil.rb +0 -17
  308. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.transformers.rb +0 -90
  309. data/lib/openstudio-standards/prototypes/common/objects/Prototype.Pump.rb +0 -4
  310. data/lib/openstudio-standards/prototypes/common/objects/Prototype.PumpVariableSpeed.rb +0 -70
  311. data/lib/openstudio-standards/prototypes/common/objects/Prototype.radiant_system_controls.rb +0 -590
  312. data/lib/openstudio-standards/prototypes/common/objects/Prototype.utilities.rb +0 -901
  313. data/lib/openstudio-standards/standards/Standards.FanConstantVolume.rb +0 -5
  314. data/lib/openstudio-standards/standards/Standards.FanOnOff.rb +0 -5
  315. data/lib/openstudio-standards/standards/Standards.FanZoneExhaust.rb +0 -5
  316. data/lib/openstudio-standards/standards/Standards.HeaderedPumpsConstantSpeed.rb +0 -5
  317. data/lib/openstudio-standards/standards/Standards.HeaderedPumpsVariableSpeed.rb +0 -55
  318. data/lib/openstudio-standards/standards/Standards.PumpConstantSpeed.rb +0 -5
  319. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.FanConstantVolume.rb +0 -5
  320. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.FanOnOff.rb +0 -5
  321. data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.FanZoneExhaust.rb +0 -5
  322. data/lib/openstudio-standards/standards/cbes/data/cbes.fans.json +0 -328
  323. data/lib/openstudio-standards/standards/deer/data/deer.fans.json +0 -328
  324. /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.PumpVariableSpeed.rb +0 -0
  325. /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.PumpVariableSpeed.rb +0 -0
  326. /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.PumpVariableSpeed.rb +0 -0
  327. /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.PumpVariableSpeed.rb +0 -0
  328. /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.PumpVariableSpeed.rb +0 -0
  329. /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Pump.rb +0 -0
  330. /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.PumpVariableSpeed.rb +0 -0
@@ -1,42 +0,0 @@
1
- module OpenstudioStandards
2
- # The HVAC module provides methods create, modify, and get information about HVAC systems in the model
3
- module HVAC
4
- # @!group Component:Modify
5
- # Methods to modify HVAC Component objects
6
-
7
- # Applies historical default or user-input effectiveness values to a HeatExchangerAirToAirSensibleAndLatent object
8
- #
9
- # @param hx [<OpenStudio::Model::HeatExchangerAirToAirSensibleAndLatent>] OpenStudio HX object to update
10
- # @param defaults [Boolean] flag to apply historical default curves
11
- # @param values [Hash{String=>Hash{Float=>Float}}] user-input effectiveness values, where keys are one of
12
- # 'Sensible Heating', 'Latent Heating, 'Sensible Cooling', 'Latent Cooling'
13
- # and value is a hash of { flow decimal fraction => effectivess decimal fraction }, e.g. { 0.75 => 0.81, 1.0 => 0.76 }
14
- # @return [<OpenStudio::Model::HeatExchangerAirToAirSensibleAndLatent>] modified OpenStudio HX object
15
- def self.heat_exchanger_air_to_air_set_effectiveness_values(hx, defaults: false, values: nil)
16
- if defaults
17
- hx.assignHistoricalEffectivenessCurves
18
- if values.nil?
19
- return hx
20
- end
21
- elsif values.nil?
22
- OpenStudio.logFree(OpenStudio::Warn, 'openstudio.model.Hvac', "#{__method__} called with defaults=false and no values provided. #{hx.name.get} will not be modified")
23
- return hx
24
- end
25
-
26
- values.each do |type, values_hash|
27
- # ensure values_hash has one value at 100% flow
28
- unless values_hash.key?(1.0)
29
- OpenStudio.logFree(OpenStudio::Error, 'openstudio.model.Hvac', "Effectiveness Values for #{type} do not include 100% flow effectivenss. Cannot set effectiveness curves")
30
- return false
31
- end
32
-
33
- lookup_table = OpenstudioStandards::HVAC.create_hx_effectiveness_table(hx, type, values_hash)
34
- type_a = type.split
35
- hx.send("set#{type_a[0]}Effectivenessat100#{type_a[1]}AirFlow", values_hash[1.0])
36
- hx.send("set#{type_a[0]}Effectivenessof#{type_a[1]}AirFlowCurve", lookup_table)
37
- end
38
-
39
- return hx
40
- end
41
- end
42
- end
@@ -1,438 +0,0 @@
1
- class Standard
2
- # @!group AirConditionerVariableRefrigerantFlow
3
-
4
- # Prototype AirConditionerVariableRefrigerantFlow object
5
- # Enters in default curves for coil by type of coil
6
- #
7
- # @param model [OpenStudio::Model::Model] OpenStudio model object
8
- # @param name [String] the name of the system, or nil in which case it will be defaulted
9
- # @param schedule [String] name of the availability schedule, or [<OpenStudio::Model::Schedule>] Schedule object, or nil in which case default to always on
10
- # @param type [String] the type of unit to reference for the correct curve set
11
- # @param cooling_cop [Double] rated cooling coefficient of performance
12
- # @param heating_cop [Double] rated heating coefficient of performance
13
- # @param heat_recovery [Boolean] does the unit have heat recovery
14
- # @param defrost_strategy [String] type of defrost strategy. options are ReverseCycle or Resistive
15
- # @param condenser_type [String] type of condenser
16
- # options are AirCooled (default), WaterCooled, and EvaporativelyCooled.
17
- # if WaterCooled, the user most include a condenser_loop
18
- # @param master_zone [<OpenStudio::Model::ThermalZone>] master control zone to switch between heating and cooling
19
- # @param priority_control_type [String] type of master thermostat priority control type
20
- # options are LoadPriority, ZonePriority, ThermostatOffsetPriority, MasterThermostatPriority
21
- # @return [OpenStudio::Model::AirConditionerVariableRefrigerantFlow] the vrf unit
22
- def create_air_conditioner_variable_refrigerant_flow(model,
23
- name: 'VRF System',
24
- schedule: nil,
25
- type: nil,
26
- cooling_cop: 4.287,
27
- heating_cop: 4.147,
28
- heat_recovery: true,
29
- defrost_strategy: 'Resistive',
30
- condenser_type: 'AirCooled',
31
- condenser_loop: nil,
32
- master_zone: nil,
33
- priority_control_type: 'LoadPriority')
34
-
35
- vrf_outdoor_unit = OpenStudio::Model::AirConditionerVariableRefrigerantFlow.new(model)
36
-
37
- # set name
38
- if name.nil?
39
- vrf_outdoor_unit.setName('VRF System')
40
- else
41
- vrf_outdoor_unit.setName(name)
42
- end
43
-
44
- # set availability schedule
45
- if schedule.nil?
46
- # default always on
47
- availability_schedule = model.alwaysOnDiscreteSchedule
48
- elsif schedule.instance_of?(String)
49
- availability_schedule = model_add_schedule(model, schedule)
50
-
51
- if availability_schedule.nil? && schedule == 'alwaysOffDiscreteSchedule'
52
- availability_schedule = model.alwaysOffDiscreteSchedule
53
- elsif availability_schedule.nil?
54
- availability_schedule = model.alwaysOnDiscreteSchedule
55
- end
56
- elsif !schedule.to_Schedule.empty?
57
- availability_schedule = schedule
58
- else
59
- availability_schedule = model.alwaysOnDiscreteSchedule
60
- end
61
- vrf_outdoor_unit.setAvailabilitySchedule(availability_schedule)
62
-
63
- # set cops
64
- if model.version < OpenStudio::VersionString.new('2.9.0')
65
- vrf_outdoor_unit.setRatedCoolingCOP(cooling_cop)
66
- else
67
- vrf_outdoor_unit.setGrossRatedCoolingCOP(cooling_cop)
68
- end
69
- vrf_outdoor_unit.setRatedHeatingCOP(heating_cop)
70
-
71
- # heat recovery
72
- if heat_recovery
73
- vrf_outdoor_unit.setHeatPumpWasteHeatRecovery(true)
74
- else
75
- vrf_outdoor_unit.setHeatPumpWasteHeatRecovery(false)
76
- end
77
-
78
- # defrost strategy
79
- vrf_outdoor_unit.setDefrostStrategy(defrost_strategy)
80
-
81
- # defaults
82
- vrf_outdoor_unit.setMinimumOutdoorTemperatureinCoolingMode(-15.0)
83
- vrf_outdoor_unit.setMaximumOutdoorTemperatureinCoolingMode(50.0)
84
- vrf_outdoor_unit.setMinimumOutdoorTemperatureinHeatingMode(-25.0)
85
- vrf_outdoor_unit.setMaximumOutdoorTemperatureinHeatingMode(16.1)
86
- vrf_outdoor_unit.setMinimumOutdoorTemperatureinHeatRecoveryMode(-10.0)
87
- vrf_outdoor_unit.setMaximumOutdoorTemperatureinHeatRecoveryMode(27.2)
88
- vrf_outdoor_unit.setEquivalentPipingLengthusedforPipingCorrectionFactorinCoolingMode(30.48)
89
- vrf_outdoor_unit.setEquivalentPipingLengthusedforPipingCorrectionFactorinHeatingMode(30.48)
90
- vrf_outdoor_unit.setVerticalHeightusedforPipingCorrectionFactor(10.668)
91
-
92
- # condenser type
93
- if condenser_type == 'WaterCooled'
94
- vrf_outdoor_unit.setString(56, condenser_type)
95
- # require condenser_loop
96
- unless condenser_loop
97
- OpenStudio.logFree(OpenStudio::Error, 'openstudio.Model.Model', 'Must specify condenser_loop for vrf_outdoor_unit if WaterCooled')
98
- end
99
- condenser_loop.addDemandBranchForComponent(vrf_outdoor_unit)
100
- elsif condenser_type == 'EvaporativelyCooled'
101
- vrf_outdoor_unit.setString(56, condenser_type)
102
- end
103
-
104
- # set master zone
105
- unless master_zone.to_ThermalZone.empty?
106
- vrf_outdoor_unit.setZoneforMasterThermostatLocation(master_zone)
107
- vrf_outdoor_unit.setMasterThermostatPriorityControlType(priority_control_type)
108
- end
109
-
110
- vrf_cool_cap_f_of_low_temp = nil
111
- vrf_cool_cap_ratio_boundary = nil
112
- vrf_cool_cap_f_of_high_temp = nil
113
- vrf_cool_eir_f_of_low_temp = nil
114
- vrf_cool_eir_ratio_boundary = nil
115
- vrf_cool_eir_f_of_high_temp = nil
116
- vrf_cooling_eir_low_plr = nil
117
- vrf_cooling_eir_high_plr = nil
118
- vrf_cooling_comb_ratio = nil
119
- vrf_cooling_cplffplr = nil
120
- vrf_heat_cap_f_of_low_temp = nil
121
- vrf_heat_cap_ratio_boundary = nil
122
- vrf_heat_cap_f_of_high_temp = nil
123
- vrf_heat_eir_f_of_low_temp = nil
124
- vrf_heat_eir_boundary = nil
125
- vrf_heat_eir_f_of_high_temp = nil
126
- vrf_heating_eir_low_plr = nil
127
- vrf_heating_eir_hi_plr = nil
128
- vrf_heating_comb_ratio = nil
129
- vrf_heating_cplffplr = nil
130
- vrf_defrost_eir_f_of_temp = nil
131
-
132
- # curve sets
133
- if type == 'OS default'
134
-
135
- # use OS default curves
136
-
137
- else # default curve set
138
-
139
- # based on DAIKINREYQ 120 on BCL
140
-
141
- # Cooling Capacity Ratio Modifier Function of Low Temperature Curve
142
- vrf_cool_cap_f_of_low_temp = OpenStudio::Model::CurveBiquadratic.new(model)
143
- vrf_cool_cap_f_of_low_temp.setName('vrf_cool_cap_f_of_low_temp')
144
- vrf_cool_cap_f_of_low_temp.setCoefficient1Constant(-1.69653019339465)
145
- vrf_cool_cap_f_of_low_temp.setCoefficient2x(0.207248180531939)
146
- vrf_cool_cap_f_of_low_temp.setCoefficient3xPOW2(-0.00343146229659024)
147
- vrf_cool_cap_f_of_low_temp.setCoefficient4y(0.016381597419714)
148
- vrf_cool_cap_f_of_low_temp.setCoefficient5yPOW2(-6.7387172629965e-05)
149
- vrf_cool_cap_f_of_low_temp.setCoefficient6xTIMESY(-0.000849848402870241)
150
- vrf_cool_cap_f_of_low_temp.setMinimumValueofx(13.9)
151
- vrf_cool_cap_f_of_low_temp.setMaximumValueofx(23.9)
152
- vrf_cool_cap_f_of_low_temp.setMinimumValueofy(-5.0)
153
- vrf_cool_cap_f_of_low_temp.setMaximumValueofy(43.3)
154
- vrf_cool_cap_f_of_low_temp.setMinimumCurveOutput(0.59)
155
- vrf_cool_cap_f_of_low_temp.setMaximumCurveOutput(1.33)
156
-
157
- # Cooling Capacity Ratio Boundary Curve
158
- vrf_cool_cap_ratio_boundary = OpenStudio::Model::CurveCubic.new(model)
159
- vrf_cool_cap_ratio_boundary.setName('vrf_cool_cap_ratio_boundary')
160
- vrf_cool_cap_ratio_boundary.setCoefficient1Constant(25.73)
161
- vrf_cool_cap_ratio_boundary.setCoefficient2x(-0.03150043)
162
- vrf_cool_cap_ratio_boundary.setCoefficient3xPOW2(-0.01416595)
163
- vrf_cool_cap_ratio_boundary.setCoefficient4xPOW3(0.0)
164
- vrf_cool_cap_ratio_boundary.setMinimumValueofx(11.0)
165
- vrf_cool_cap_ratio_boundary.setMaximumValueofx(30.0)
166
-
167
- # Cooling Capacity Ratio Modifier Function of High Temperature Curve
168
- vrf_cool_cap_f_of_high_temp = OpenStudio::Model::CurveBiquadratic.new(model)
169
- vrf_cool_cap_f_of_high_temp.setName('vrf_cool_cap_f_of_high_temp')
170
- vrf_cool_cap_f_of_high_temp.setCoefficient1Constant(0.6867358)
171
- vrf_cool_cap_f_of_high_temp.setCoefficient2x(0.0207631)
172
- vrf_cool_cap_f_of_high_temp.setCoefficient3xPOW2(0.0005447)
173
- vrf_cool_cap_f_of_high_temp.setCoefficient4y(-0.0016218)
174
- vrf_cool_cap_f_of_high_temp.setCoefficient5yPOW2(-4.259e-07)
175
- vrf_cool_cap_f_of_high_temp.setCoefficient6xTIMESY(-0.0003392)
176
- vrf_cool_cap_f_of_high_temp.setMinimumValueofx(15.0)
177
- vrf_cool_cap_f_of_high_temp.setMaximumValueofx(24.0)
178
- vrf_cool_cap_f_of_high_temp.setMinimumValueofy(16.0)
179
- vrf_cool_cap_f_of_high_temp.setMaximumValueofy(43.0)
180
-
181
- # Cooling Energy Input Ratio Modifier Function of Low Temperature Curve
182
- vrf_cool_eir_f_of_low_temp = OpenStudio::Model::CurveBiquadratic.new(model)
183
- vrf_cool_eir_f_of_low_temp.setName('vrf_cool_eir_f_of_low_temp')
184
- vrf_cool_eir_f_of_low_temp.setCoefficient1Constant(-1.61908214818635)
185
- vrf_cool_eir_f_of_low_temp.setCoefficient2x(0.185964818731756)
186
- vrf_cool_eir_f_of_low_temp.setCoefficient3xPOW2(-0.00389610393381592)
187
- vrf_cool_eir_f_of_low_temp.setCoefficient4y(-0.00901995326324613)
188
- vrf_cool_eir_f_of_low_temp.setCoefficient5yPOW2(0.00030340007815629)
189
- vrf_cool_eir_f_of_low_temp.setCoefficient6xTIMESY(0.000476048529099348)
190
- vrf_cool_eir_f_of_low_temp.setMinimumValueofx(13.9)
191
- vrf_cool_eir_f_of_low_temp.setMaximumValueofx(23.9)
192
- vrf_cool_eir_f_of_low_temp.setMinimumValueofy(-5.0)
193
- vrf_cool_eir_f_of_low_temp.setMaximumValueofy(43.3)
194
- vrf_cool_eir_f_of_low_temp.setMinimumCurveOutput(0.27)
195
- vrf_cool_eir_f_of_low_temp.setMaximumCurveOutput(1.15)
196
-
197
- # Cooling Energy Input Ratio Boundary Curve
198
- vrf_cool_eir_ratio_boundary = OpenStudio::Model::CurveCubic.new(model)
199
- vrf_cool_eir_ratio_boundary.setName('vrf_cool_eir_ratio_boundary')
200
- vrf_cool_eir_ratio_boundary.setCoefficient1Constant(25.73473775)
201
- vrf_cool_eir_ratio_boundary.setCoefficient2x(-0.03150043)
202
- vrf_cool_eir_ratio_boundary.setCoefficient3xPOW2(-0.01416595)
203
- vrf_cool_eir_ratio_boundary.setCoefficient4xPOW3(0.0)
204
- vrf_cool_eir_ratio_boundary.setMinimumValueofx(15.0)
205
- vrf_cool_eir_ratio_boundary.setMaximumValueofx(24.0)
206
-
207
- # Cooling Energy Input Ratio Modifier Function of High Temperature Curve
208
- vrf_cool_eir_f_of_high_temp = OpenStudio::Model::CurveBiquadratic.new(model)
209
- vrf_cool_eir_f_of_high_temp.setName('vrf_cool_eir_f_of_high_temp')
210
- vrf_cool_eir_f_of_high_temp.setCoefficient1Constant(-1.4395110176)
211
- vrf_cool_eir_f_of_high_temp.setCoefficient2x(0.1619850459)
212
- vrf_cool_eir_f_of_high_temp.setCoefficient3xPOW2(-0.0034911781)
213
- vrf_cool_eir_f_of_high_temp.setCoefficient4y(0.0269442645)
214
- vrf_cool_eir_f_of_high_temp.setCoefficient5yPOW2(0.0001346163)
215
- vrf_cool_eir_f_of_high_temp.setCoefficient6xTIMESY(-0.0006714941)
216
- vrf_cool_eir_f_of_high_temp.setMinimumValueofx(15.0)
217
- vrf_cool_eir_f_of_high_temp.setMaximumValueofx(23.9)
218
- vrf_cool_eir_f_of_high_temp.setMinimumValueofy(16.8)
219
- vrf_cool_eir_f_of_high_temp.setMaximumValueofy(43.3)
220
-
221
- # Cooling Energy Input Ratio Modifier Function of Low Part-Load Ratio Curve
222
- vrf_cooling_eir_low_plr = OpenStudio::Model::CurveCubic.new(model)
223
- vrf_cooling_eir_low_plr.setName('vrf_cool_eir_f_of_low_temp')
224
- vrf_cooling_eir_low_plr.setCoefficient1Constant(0.0734992169827752)
225
- vrf_cooling_eir_low_plr.setCoefficient2x(0.334783365234032)
226
- vrf_cooling_eir_low_plr.setCoefficient3xPOW2(0.591613015486343)
227
- vrf_cooling_eir_low_plr.setCoefficient4xPOW3(0.0)
228
- vrf_cooling_eir_low_plr.setMinimumValueofx(0.25)
229
- vrf_cooling_eir_low_plr.setMaximumValueofx(1.0)
230
- vrf_cooling_eir_low_plr.setMinimumCurveOutput(0.0)
231
- vrf_cooling_eir_low_plr.setMaximumCurveOutput(1.0)
232
-
233
- # Cooling Energy Input Ratio Modifier Function of High Part-Load Ratio Curve
234
- vrf_cooling_eir_high_plr = OpenStudio::Model::CurveCubic.new(model)
235
- vrf_cooling_eir_high_plr.setName('vrf_cooling_eir_high_plr')
236
- vrf_cooling_eir_high_plr.setCoefficient1Constant(1.0)
237
- vrf_cooling_eir_high_plr.setCoefficient2x(0.0)
238
- vrf_cooling_eir_high_plr.setCoefficient3xPOW2(0.0)
239
- vrf_cooling_eir_high_plr.setCoefficient4xPOW3(0.0)
240
- vrf_cooling_eir_high_plr.setMinimumValueofx(1.0)
241
- vrf_cooling_eir_high_plr.setMaximumValueofx(1.5)
242
-
243
- # Cooling Combination Ratio Correction Factor Curve
244
- vrf_cooling_comb_ratio = OpenStudio::Model::CurveCubic.new(model)
245
- vrf_cooling_comb_ratio.setName('vrf_cooling_comb_ratio')
246
- vrf_cooling_comb_ratio.setCoefficient1Constant(0.24034)
247
- vrf_cooling_comb_ratio.setCoefficient2x(-0.21873)
248
- vrf_cooling_comb_ratio.setCoefficient3xPOW2(1.97941)
249
- vrf_cooling_comb_ratio.setCoefficient4xPOW3(-1.02636)
250
- vrf_cooling_comb_ratio.setMinimumValueofx(0.5)
251
- vrf_cooling_comb_ratio.setMaximumValueofx(2.0)
252
- vrf_cooling_comb_ratio.setMinimumCurveOutput(0.5)
253
- vrf_cooling_comb_ratio.setMaximumCurveOutput(1.056)
254
-
255
- # Cooling Part-Load Fraction Correlation Curve
256
- vrf_cooling_cplffplr = OpenStudio::Model::CurveCubic.new(model)
257
- vrf_cooling_cplffplr.setName('vrf_cooling_cplffplr')
258
- vrf_cooling_cplffplr.setCoefficient1Constant(0.85)
259
- vrf_cooling_cplffplr.setCoefficient2x(0.15)
260
- vrf_cooling_cplffplr.setCoefficient3xPOW2(0.0)
261
- vrf_cooling_cplffplr.setCoefficient4xPOW3(0.0)
262
- vrf_cooling_cplffplr.setMinimumValueofx(1.0)
263
- vrf_cooling_cplffplr.setMaximumValueofx(1.0)
264
-
265
- # Heating Capacity Ratio Modifier Function of Low Temperature Curve Name
266
- vrf_heat_cap_f_of_low_temp = OpenStudio::Model::CurveBiquadratic.new(model)
267
- vrf_heat_cap_f_of_low_temp.setName('vrf_heat_cap_f_of_low_temp')
268
- vrf_heat_cap_f_of_low_temp.setCoefficient1Constant(0.983220174655636)
269
- vrf_heat_cap_f_of_low_temp.setCoefficient2x(0.0157167577703294)
270
- vrf_heat_cap_f_of_low_temp.setCoefficient3xPOW2(-0.000835032422884084)
271
- vrf_heat_cap_f_of_low_temp.setCoefficient4y(0.0522939264581759)
272
- vrf_heat_cap_f_of_low_temp.setCoefficient5yPOW2(-0.000531556035364549)
273
- vrf_heat_cap_f_of_low_temp.setCoefficient6xTIMESY(-0.00190605953116024)
274
- vrf_heat_cap_f_of_low_temp.setMinimumValueofx(16.1)
275
- vrf_heat_cap_f_of_low_temp.setMaximumValueofx(23.9)
276
- vrf_heat_cap_f_of_low_temp.setMinimumValueofy(-25.0)
277
- vrf_heat_cap_f_of_low_temp.setMaximumValueofy(13.3)
278
- vrf_heat_cap_f_of_low_temp.setMinimumCurveOutput(0.515151515151515)
279
- vrf_heat_cap_f_of_low_temp.setMaximumCurveOutput(1.2)
280
-
281
- # Heating Capacity Ratio Boundary Curve Name
282
- vrf_heat_cap_ratio_boundary = OpenStudio::Model::CurveCubic.new(model)
283
- vrf_heat_cap_ratio_boundary.setName('vrf_heat_cap_ratio_boundary')
284
- vrf_heat_cap_ratio_boundary.setCoefficient1Constant(58.577)
285
- vrf_heat_cap_ratio_boundary.setCoefficient2x(-3.0255)
286
- vrf_heat_cap_ratio_boundary.setCoefficient3xPOW2(0.0193)
287
- vrf_heat_cap_ratio_boundary.setCoefficient4xPOW3(0.0)
288
- vrf_heat_cap_ratio_boundary.setMinimumValueofx(15)
289
- vrf_heat_cap_ratio_boundary.setMaximumValueofx(23.9)
290
-
291
- # Heating Capacity Ratio Modifier Function of High Temperature Curve Name
292
- vrf_heat_cap_f_of_high_temp = OpenStudio::Model::CurveBiquadratic.new(model)
293
- vrf_heat_cap_f_of_high_temp.setName('vrf_heat_cap_f_of_high_temp')
294
- vrf_heat_cap_f_of_high_temp.setCoefficient1Constant(2.5859872368)
295
- vrf_heat_cap_f_of_high_temp.setCoefficient2x(-0.0953227101)
296
- vrf_heat_cap_f_of_high_temp.setCoefficient3xPOW2(0.0009553288)
297
- vrf_heat_cap_f_of_high_temp.setCoefficient4y(0.0)
298
- vrf_heat_cap_f_of_high_temp.setCoefficient5yPOW2(0.0)
299
- vrf_heat_cap_f_of_high_temp.setCoefficient6xTIMESY(0.0)
300
- vrf_heat_cap_f_of_high_temp.setMinimumValueofx(21.1)
301
- vrf_heat_cap_f_of_high_temp.setMaximumValueofx(27.2)
302
- vrf_heat_cap_f_of_high_temp.setMinimumValueofy(-944)
303
- vrf_heat_cap_f_of_high_temp.setMaximumValueofy(15)
304
-
305
- # Heating Energy Input Ratio Modifier Function of Low Temperature Curve Name
306
- vrf_heat_eir_f_of_low_temp = OpenStudio::Model::CurveBiquadratic.new(model)
307
- vrf_heat_eir_f_of_low_temp.setName('vrf_heat_eir_f_of_low_temp')
308
- vrf_heat_eir_f_of_low_temp.setCoefficient1Constant(0.756830029796909)
309
- vrf_heat_eir_f_of_low_temp.setCoefficient2x(0.0457499799042671)
310
- vrf_heat_eir_f_of_low_temp.setCoefficient3xPOW2(-0.00136357240431388)
311
- vrf_heat_eir_f_of_low_temp.setCoefficient4y(0.0554884599902023)
312
- vrf_heat_eir_f_of_low_temp.setCoefficient5yPOW2(-0.00120700875497686)
313
- vrf_heat_eir_f_of_low_temp.setCoefficient6xTIMESY(-0.00303329271420931)
314
- vrf_heat_eir_f_of_low_temp.setMinimumValueofx(16.1)
315
- vrf_heat_eir_f_of_low_temp.setMaximumValueofx(23.9)
316
- vrf_heat_eir_f_of_low_temp.setMinimumValueofy(-25.0)
317
- vrf_heat_eir_f_of_low_temp.setMaximumValueofy(13.3)
318
- vrf_heat_eir_f_of_low_temp.setMinimumCurveOutput(0.7)
319
- vrf_heat_eir_f_of_low_temp.setMaximumCurveOutput(1.184)
320
-
321
- # Heating Energy Input Ratio Boundary Curve Name
322
- vrf_heat_eir_boundary = OpenStudio::Model::CurveCubic.new(model)
323
- vrf_heat_eir_boundary.setName('vrf_heat_eir_boundary')
324
- vrf_heat_eir_boundary.setCoefficient1Constant(58.577)
325
- vrf_heat_eir_boundary.setCoefficient2x(-3.0255)
326
- vrf_heat_eir_boundary.setCoefficient3xPOW2(0.0193)
327
- vrf_heat_eir_boundary.setCoefficient4xPOW3(0.0)
328
- vrf_heat_eir_boundary.setMinimumValueofx(15.0)
329
- vrf_heat_eir_boundary.setMaximumValueofx(23.9)
330
-
331
- # Heating Energy Input Ratio Modifier Function of High Temperature Curve Name
332
- vrf_heat_eir_f_of_high_temp = OpenStudio::Model::CurveBiquadratic.new(model)
333
- vrf_heat_eir_f_of_high_temp.setName('vrf_heat_eir_f_of_high_temp')
334
- vrf_heat_eir_f_of_high_temp.setCoefficient1Constant(1.3885703646)
335
- vrf_heat_eir_f_of_high_temp.setCoefficient2x(-0.0229771462)
336
- vrf_heat_eir_f_of_high_temp.setCoefficient3xPOW2(0.000537274)
337
- vrf_heat_eir_f_of_high_temp.setCoefficient4y(-0.0273936962)
338
- vrf_heat_eir_f_of_high_temp.setCoefficient5yPOW2(0.0004030426)
339
- vrf_heat_eir_f_of_high_temp.setCoefficient6xTIMESY(-5.9786e-05)
340
- vrf_heat_eir_f_of_high_temp.setMinimumValueofx(21.1)
341
- vrf_heat_eir_f_of_high_temp.setMaximumValueofx(27.2)
342
- vrf_heat_eir_f_of_high_temp.setMinimumValueofy(0.0)
343
- vrf_heat_eir_f_of_high_temp.setMaximumValueofy(1.0)
344
-
345
- # Heating Performance Curve Outdoor Temperature Type
346
- vrf_outdoor_unit.setHeatingPerformanceCurveOutdoorTemperatureType('WetBulbTemperature')
347
-
348
- # Heating Energy Input Ratio Modifier Function of Low Part-Load Ratio Curve Name
349
- vrf_heating_eir_low_plr = OpenStudio::Model::CurveCubic.new(model)
350
- vrf_heating_eir_low_plr.setName('vrf_heating_eir_low_plr')
351
- vrf_heating_eir_low_plr.setCoefficient1Constant(0.0724906507105475)
352
- vrf_heating_eir_low_plr.setCoefficient2x(0.658189977561701)
353
- vrf_heating_eir_low_plr.setCoefficient3xPOW2(0.269259536275246)
354
- vrf_heating_eir_low_plr.setCoefficient4xPOW3(0.0)
355
- vrf_heating_eir_low_plr.setMinimumValueofx(0.25)
356
- vrf_heating_eir_low_plr.setMaximumValueofx(1.0)
357
- vrf_heating_eir_low_plr.setMinimumCurveOutput(0.0)
358
- vrf_heating_eir_low_plr.setMaximumCurveOutput(1.0)
359
-
360
- # Heating Energy Input Ratio Modifier Function of High Part-Load Ratio Curve Name
361
- vrf_heating_eir_hi_plr = OpenStudio::Model::CurveCubic.new(model)
362
- vrf_heating_eir_hi_plr.setName('vrf_heating_eir_hi_plr')
363
- vrf_heating_eir_hi_plr.setCoefficient1Constant(1.0)
364
- vrf_heating_eir_hi_plr.setCoefficient2x(0.0)
365
- vrf_heating_eir_hi_plr.setCoefficient3xPOW2(0.0)
366
- vrf_heating_eir_hi_plr.setCoefficient4xPOW3(0.0)
367
- vrf_heating_eir_hi_plr.setMinimumValueofx(1.0)
368
- vrf_heating_eir_hi_plr.setMaximumValueofx(1.5)
369
-
370
- # Heating Combination Ratio Correction Factor Curve Name
371
- vrf_heating_comb_ratio = OpenStudio::Model::CurveCubic.new(model)
372
- vrf_heating_comb_ratio.setName('vrf_heating_comb_ratio')
373
- vrf_heating_comb_ratio.setCoefficient1Constant(0.62115)
374
- vrf_heating_comb_ratio.setCoefficient2x(-1.55798)
375
- vrf_heating_comb_ratio.setCoefficient3xPOW2(3.36817)
376
- vrf_heating_comb_ratio.setCoefficient4xPOW3(-1.4224)
377
- vrf_heating_comb_ratio.setMinimumValueofx(0.5)
378
- vrf_heating_comb_ratio.setMaximumValueofx(2.0)
379
- vrf_heating_comb_ratio.setMinimumCurveOutput(0.5)
380
- vrf_heating_comb_ratio.setMaximumCurveOutput(1.155)
381
-
382
- # Heating Part-Load Fraction Correlation Curve Name
383
- vrf_heating_cplffplr = OpenStudio::Model::CurveCubic.new(model)
384
- vrf_heating_cplffplr.setName('vrf_heating_cplffplr')
385
- vrf_heating_cplffplr.setCoefficient1Constant(0.85)
386
- vrf_heating_cplffplr.setCoefficient2x(0.15)
387
- vrf_heating_cplffplr.setCoefficient3xPOW2(0.0)
388
- vrf_heating_cplffplr.setCoefficient4xPOW3(0.0)
389
- vrf_heating_cplffplr.setMinimumValueofx(1.0)
390
- vrf_heating_cplffplr.setMaximumValueofx(1.0)
391
-
392
- # Defrost Energy Input Ratio Modifier Function of Temperature Curve
393
- vrf_defrost_eir_f_of_temp = OpenStudio::Model::CurveBiquadratic.new(model)
394
- vrf_defrost_eir_f_of_temp.setName('vrf_defrost_eir_f_of_temp')
395
- vrf_defrost_eir_f_of_temp.setCoefficient1Constant(-1.61908214818635)
396
- vrf_defrost_eir_f_of_temp.setCoefficient2x(0.185964818731756)
397
- vrf_defrost_eir_f_of_temp.setCoefficient3xPOW2(-0.00389610393381592)
398
- vrf_defrost_eir_f_of_temp.setCoefficient4y(-0.00901995326324613)
399
- vrf_defrost_eir_f_of_temp.setCoefficient5yPOW2(0.00030340007815629)
400
- vrf_defrost_eir_f_of_temp.setCoefficient6xTIMESY(0.000476048529099348)
401
- vrf_defrost_eir_f_of_temp.setMinimumValueofx(13.9)
402
- vrf_defrost_eir_f_of_temp.setMaximumValueofx(23.9)
403
- vrf_defrost_eir_f_of_temp.setMinimumValueofy(-5.0)
404
- vrf_defrost_eir_f_of_temp.setMaximumValueofy(50.0)
405
- vrf_defrost_eir_f_of_temp.setMinimumCurveOutput(0.27)
406
- vrf_defrost_eir_f_of_temp.setMaximumCurveOutput(1.155)
407
-
408
- # set defrost control
409
- vrf_outdoor_unit.setDefrostStrategy('ReverseCycle')
410
- vrf_outdoor_unit.setDefrostControl('OnDemand')
411
-
412
- end
413
-
414
- vrf_outdoor_unit.setCoolingCapacityRatioModifierFunctionofLowTemperatureCurve(vrf_cool_cap_f_of_low_temp) unless vrf_cool_cap_f_of_low_temp.nil?
415
- vrf_outdoor_unit.setCoolingCapacityRatioBoundaryCurve(vrf_cool_cap_ratio_boundary) unless vrf_cool_cap_ratio_boundary.nil?
416
- vrf_outdoor_unit.setCoolingCapacityRatioModifierFunctionofHighTemperatureCurve(vrf_cool_cap_f_of_high_temp) unless vrf_cool_cap_f_of_high_temp.nil?
417
- vrf_outdoor_unit.setCoolingEnergyInputRatioModifierFunctionofLowTemperatureCurve(vrf_cool_eir_f_of_low_temp) unless vrf_cool_eir_f_of_low_temp.nil?
418
- vrf_outdoor_unit.setCoolingEnergyInputRatioBoundaryCurve(vrf_cool_eir_ratio_boundary) unless vrf_cool_eir_ratio_boundary.nil?
419
- vrf_outdoor_unit.setCoolingEnergyInputRatioModifierFunctionofHighTemperatureCurve(vrf_cool_eir_f_of_high_temp) unless vrf_cool_eir_f_of_high_temp.nil?
420
- vrf_outdoor_unit.setCoolingEnergyInputRatioModifierFunctionofLowPartLoadRatioCurve(vrf_cooling_eir_low_plr) unless vrf_cooling_eir_low_plr.nil?
421
- vrf_outdoor_unit.setCoolingEnergyInputRatioModifierFunctionofHighPartLoadRatioCurve(vrf_cooling_eir_high_plr) unless vrf_cooling_eir_high_plr.nil?
422
- vrf_outdoor_unit.setCoolingCombinationRatioCorrectionFactorCurve(vrf_cooling_comb_ratio) unless vrf_cooling_comb_ratio.nil?
423
- vrf_outdoor_unit.setCoolingPartLoadFractionCorrelationCurve(vrf_cooling_cplffplr) unless vrf_cooling_cplffplr.nil?
424
- vrf_outdoor_unit.setHeatingCapacityRatioModifierFunctionofLowTemperatureCurve(vrf_heat_cap_f_of_low_temp) unless vrf_heat_cap_f_of_low_temp.nil?
425
- vrf_outdoor_unit.setHeatingCapacityRatioBoundaryCurve(vrf_heat_cap_ratio_boundary) unless vrf_heat_cap_ratio_boundary.nil?
426
- vrf_outdoor_unit.setHeatingCapacityRatioModifierFunctionofHighTemperatureCurve(vrf_heat_cap_f_of_high_temp) unless vrf_heat_cap_f_of_high_temp.nil?
427
- vrf_outdoor_unit.setHeatingEnergyInputRatioModifierFunctionofLowTemperatureCurve(vrf_heat_eir_f_of_low_temp) unless vrf_heat_eir_f_of_low_temp.nil?
428
- vrf_outdoor_unit.setHeatingEnergyInputRatioBoundaryCurve(vrf_heat_eir_boundary) unless vrf_heat_eir_boundary.nil?
429
- vrf_outdoor_unit.setHeatingEnergyInputRatioModifierFunctionofHighTemperatureCurve(vrf_heat_eir_f_of_high_temp) unless vrf_heat_eir_f_of_high_temp.nil?
430
- vrf_outdoor_unit.setHeatingEnergyInputRatioModifierFunctionofLowPartLoadRatioCurve(vrf_heating_eir_low_plr) unless vrf_heating_eir_low_plr.nil?
431
- vrf_outdoor_unit.setHeatingEnergyInputRatioModifierFunctionofHighPartLoadRatioCurve(vrf_heating_eir_hi_plr) unless vrf_heating_eir_hi_plr.nil?
432
- vrf_outdoor_unit.setHeatingCombinationRatioCorrectionFactorCurve(vrf_heating_comb_ratio) unless vrf_heating_comb_ratio.nil?
433
- vrf_outdoor_unit.setHeatingPartLoadFractionCorrelationCurve(vrf_heating_cplffplr) unless vrf_heating_cplffplr.nil?
434
- vrf_outdoor_unit.setDefrostEnergyInputRatioModifierFunctionofTemperatureCurve(vrf_defrost_eir_f_of_temp) unless vrf_defrost_eir_f_of_temp.nil?
435
-
436
- return vrf_outdoor_unit
437
- end
438
- end
@@ -1,123 +0,0 @@
1
- class Standard
2
- # @!group Boiler Hot Water
3
-
4
- # Prototype BoilerHotWater object
5
- #
6
- # @param model [OpenStudio::Model::Model] OpenStudio model object
7
- # @param hot_water_loop [<OpenStudio::Model::PlantLoop>] a hot water loop served by the boiler
8
- # @param name [String] the name of the boiler, or nil in which case it will be defaulted
9
- # @param fuel_type [String] type of fuel serving the boiler
10
- # @param draft_type [String] Boiler type Condensing, MechanicalNoncondensing, Natural (default)
11
- # @param nominal_thermal_efficiency [Double] boiler nominal thermal efficiency
12
- # @param eff_curve_temp_eval_var [String] LeavingBoiler or EnteringBoiler temperature for the boiler efficiency curve
13
- # @param flow_mode [String] boiler flow mode
14
- # @param lvg_temp_dsgn_f [Double] boiler leaving design temperature in degrees Fahrenheit
15
- # note that this field is deprecated in OS versions 3.0+
16
- # @param out_temp_lmt_f [Double] boiler outlet temperature limit in degrees Fahrenheit
17
- # @param min_plr [Double] boiler minimum part load ratio
18
- # @param max_plr [Double] boiler maximum part load ratio
19
- # @param opt_plr [Double] boiler optimum part load ratio
20
- # @param sizing_factor [Double] boiler oversizing factor
21
- # @return [OpenStudio::Model::BoilerHotWater] the boiler object
22
- def create_boiler_hot_water(model,
23
- hot_water_loop: nil,
24
- name: 'Boiler',
25
- fuel_type: 'NaturalGas',
26
- draft_type: 'Natural',
27
- nominal_thermal_efficiency: 0.80,
28
- eff_curve_temp_eval_var: 'LeavingBoiler',
29
- flow_mode: 'LeavingSetpointModulated',
30
- lvg_temp_dsgn_f: 180.0, # 82.22 degrees Celsius
31
- out_temp_lmt_f: 203.0, # 95.0 degrees Celsius
32
- min_plr: 0.0,
33
- max_plr: 1.2,
34
- opt_plr: 1.0,
35
- sizing_factor: nil)
36
-
37
- # create the boiler
38
- boiler = OpenStudio::Model::BoilerHotWater.new(model)
39
- if name.nil?
40
- if hot_water_loop.nil?
41
- boiler.setName('Boiler')
42
- else
43
- boiler.setName("#{hot_water_loop.name} Boiler")
44
- end
45
- else
46
- boiler.setName(name)
47
- end
48
-
49
- if fuel_type.nil? || fuel_type == 'Gas'
50
- boiler.setFuelType('NaturalGas')
51
- elsif fuel_type == 'Propane' || fuel_type == 'PropaneGas'
52
- boiler.setFuelType('Propane')
53
- else
54
- boiler.setFuelType(fuel_type)
55
- end
56
-
57
- if nominal_thermal_efficiency.nil?
58
- boiler.setNominalThermalEfficiency(0.8)
59
- else
60
- boiler.setNominalThermalEfficiency(nominal_thermal_efficiency)
61
- end
62
-
63
- if eff_curve_temp_eval_var.nil?
64
- boiler.setEfficiencyCurveTemperatureEvaluationVariable('LeavingBoiler')
65
- else
66
- boiler.setEfficiencyCurveTemperatureEvaluationVariable(eff_curve_temp_eval_var)
67
- end
68
-
69
- if flow_mode.nil?
70
- boiler.setBoilerFlowMode('LeavingSetpointModulated')
71
- else
72
- boiler.setBoilerFlowMode(flow_mode)
73
- end
74
-
75
- if model.version < OpenStudio::VersionString.new('3.0.0')
76
- if lvg_temp_dsgn_f.nil?
77
- boiler.setDesignWaterOutletTemperature(OpenStudio.convert(180.0, 'F', 'C').get)
78
- else
79
- boiler.setDesignWaterOutletTemperature(OpenStudio.convert(lvg_temp_dsgn_f, 'F', 'C').get)
80
- end
81
- end
82
-
83
- if out_temp_lmt_f.nil?
84
- boiler.setWaterOutletUpperTemperatureLimit(OpenStudio.convert(203.0, 'F', 'C').get)
85
- else
86
- boiler.setWaterOutletUpperTemperatureLimit(OpenStudio.convert(out_temp_lmt_f, 'F', 'C').get)
87
- end
88
-
89
- # logic to set different defaults for condensing boilers if not specified
90
- if draft_type == 'Condensing'
91
- if model.version < OpenStudio::VersionString.new('3.0.0') && lvg_temp_dsgn_f.nil?
92
- # default to 120 degrees Fahrenheit (48.49 degrees Celsius)
93
- boiler.setDesignWaterOutletTemperature(OpenStudio.convert(120.0, 'F', 'C').get)
94
- end
95
- boiler.setNominalThermalEfficiency(0.96) if nominal_thermal_efficiency.nil?
96
- end
97
-
98
- if min_plr.nil?
99
- boiler.setMinimumPartLoadRatio(0.0)
100
- else
101
- boiler.setMinimumPartLoadRatio(min_plr)
102
- end
103
-
104
- if max_plr.nil?
105
- boiler.setMaximumPartLoadRatio(1.2)
106
- else
107
- boiler.setMaximumPartLoadRatio(max_plr)
108
- end
109
-
110
- if opt_plr.nil?
111
- boiler.setOptimumPartLoadRatio(1.0)
112
- else
113
- boiler.setOptimumPartLoadRatio(opt_plr)
114
- end
115
-
116
- boiler.setSizingFactor(sizing_factor) unless sizing_factor.nil?
117
-
118
- # add to supply side of hot water loop if specified
119
- hot_water_loop.addSupplyBranchForComponent(boiler) unless hot_water_loop.nil?
120
-
121
- return boiler
122
- end
123
- end