lbt-measures 0.3.2

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 (171) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/ci.yaml +63 -0
  3. data/.gitignore +34 -0
  4. data/.releaserc.json +7 -0
  5. data/Gemfile +11 -0
  6. data/LICENSE.md +23 -0
  7. data/README.md +13 -0
  8. data/lbt-measures.gemspec +31 -0
  9. data/lib/efficiency_standard/LICENSE.md +27 -0
  10. data/lib/efficiency_standard/README.md +32 -0
  11. data/lib/efficiency_standard/README.md.erb +42 -0
  12. data/lib/efficiency_standard/measure.rb +142 -0
  13. data/lib/efficiency_standard/measure.xml +70 -0
  14. data/lib/inject_idf/LICENSE.md +27 -0
  15. data/lib/inject_idf/README.md +32 -0
  16. data/lib/inject_idf/README.md.erb +42 -0
  17. data/lib/inject_idf/measure.rb +107 -0
  18. data/lib/inject_idf/measure.xml +72 -0
  19. data/lib/openstudio_results/LICENSE.md +13 -0
  20. data/lib/openstudio_results/README.md +266 -0
  21. data/lib/openstudio_results/README.md.erb +46 -0
  22. data/lib/openstudio_results/measure.rb +384 -0
  23. data/lib/openstudio_results/measure.xml +1546 -0
  24. data/lib/openstudio_results/resources/Siz.AirConditionerVariableRefrigerantFlow.rb +82 -0
  25. data/lib/openstudio_results/resources/Siz.AirLoopHVAC.rb +23 -0
  26. data/lib/openstudio_results/resources/Siz.AirLoopHVACUnitaryHeatCoolVAVChangeoverBypass.rb +66 -0
  27. data/lib/openstudio_results/resources/Siz.AirLoopHVACUnitaryHeatPumpAirToAir.rb +66 -0
  28. data/lib/openstudio_results/resources/Siz.AirLoopHVACUnitaryHeatPumpAirToAirMultiSpeed.rb +108 -0
  29. data/lib/openstudio_results/resources/Siz.AirLoopHVACUnitarySystem.rb +84 -0
  30. data/lib/openstudio_results/resources/Siz.AirTerminalDualDuctVAV.rb +23 -0
  31. data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctConstantVolumeCooledBeam.rb +40 -0
  32. data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctConstantVolumeFourPipeInduction.rb +84 -0
  33. data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctConstantVolumeReheat.rb +45 -0
  34. data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctParallelPIUReheat.rb +46 -0
  35. data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctSeriesPIUReheat.rb +46 -0
  36. data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctUncontrolled.rb +23 -0
  37. data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctVAVHeatAndCoolNoReheat.rb +23 -0
  38. data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctVAVHeatAndCoolReheat.rb +45 -0
  39. data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctVAVNoReheat.rb +23 -0
  40. data/lib/openstudio_results/resources/Siz.AirTerminalSingleDuctVAVReheat.rb +45 -0
  41. data/lib/openstudio_results/resources/Siz.BoilerHotWater.rb +46 -0
  42. data/lib/openstudio_results/resources/Siz.BoilerSteam.rb +29 -0
  43. data/lib/openstudio_results/resources/Siz.ChillerAbsorption.rb +40 -0
  44. data/lib/openstudio_results/resources/Siz.ChillerAbsorptionIndirect.rb +40 -0
  45. data/lib/openstudio_results/resources/Siz.ChillerElectricEIR.rb +69 -0
  46. data/lib/openstudio_results/resources/Siz.ChillerHeaterPerformanceElectricEIR.rb +52 -0
  47. data/lib/openstudio_results/resources/Siz.CoilCoolingDXMultiSpeed.rb +32 -0
  48. data/lib/openstudio_results/resources/Siz.CoilCoolingDXMultiSpeedStageData.rb +49 -0
  49. data/lib/openstudio_results/resources/Siz.CoilCoolingDXSingleSpeed.rb +47 -0
  50. data/lib/openstudio_results/resources/Siz.CoilCoolingDXTwoSpeed.rb +50 -0
  51. data/lib/openstudio_results/resources/Siz.CoilCoolingDXTwoStageWithHumidityControlMode.rb +100 -0
  52. data/lib/openstudio_results/resources/Siz.CoilCoolingDXVariableRefrigerantFlow.rb +40 -0
  53. data/lib/openstudio_results/resources/Siz.CoilCoolingDXVariableSpeed.rb +40 -0
  54. data/lib/openstudio_results/resources/Siz.CoilCoolingDXVariableSpeedSpeedData.rb +13 -0
  55. data/lib/openstudio_results/resources/Siz.CoilCoolingLowTempRadiantVarFlow.rb +18 -0
  56. data/lib/openstudio_results/resources/Siz.CoilCoolingWater.rb +40 -0
  57. data/lib/openstudio_results/resources/Siz.CoilCoolingWaterToAirHeatPumpEquationFit.rb +63 -0
  58. data/lib/openstudio_results/resources/Siz.CoilCoolingWaterToAirHeatPumpVariableSpeedEquationFit.rb +67 -0
  59. data/lib/openstudio_results/resources/Siz.CoilCoolingWaterToAirHeatPumpVariableSpeedEquationFitSpeedData.rb +12 -0
  60. data/lib/openstudio_results/resources/Siz.CoilHeatingDXMultiSpeed.rb +32 -0
  61. data/lib/openstudio_results/resources/Siz.CoilHeatingDXMultiSpeedStageData.rb +46 -0
  62. data/lib/openstudio_results/resources/Siz.CoilHeatingDXSingleSpeed.rb +46 -0
  63. data/lib/openstudio_results/resources/Siz.CoilHeatingDXVariableRefrigerantFlow.rb +40 -0
  64. data/lib/openstudio_results/resources/Siz.CoilHeatingDXVariableSpeed.rb +40 -0
  65. data/lib/openstudio_results/resources/Siz.CoilHeatingDXVariableSpeedSpeedData.rb +12 -0
  66. data/lib/openstudio_results/resources/Siz.CoilHeatingDesuperheater.rb +12 -0
  67. data/lib/openstudio_results/resources/Siz.CoilHeatingElectric.rb +29 -0
  68. data/lib/openstudio_results/resources/Siz.CoilHeatingGas.rb +29 -0
  69. data/lib/openstudio_results/resources/Siz.CoilHeatingGasMultiStage.rb +14 -0
  70. data/lib/openstudio_results/resources/Siz.CoilHeatingGasMultiStageStageData.rb +29 -0
  71. data/lib/openstudio_results/resources/Siz.CoilHeatingLowTempRadiantVarFlow.rb +18 -0
  72. data/lib/openstudio_results/resources/Siz.CoilHeatingWater.rb +40 -0
  73. data/lib/openstudio_results/resources/Siz.CoilHeatingWaterBaseboard.rb +40 -0
  74. data/lib/openstudio_results/resources/Siz.CoilHeatingWaterBaseboardRadiant.rb +40 -0
  75. data/lib/openstudio_results/resources/Siz.CoilHeatingWaterToAirHeatPumpEquationFit.rb +63 -0
  76. data/lib/openstudio_results/resources/Siz.CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFit.rb +67 -0
  77. data/lib/openstudio_results/resources/Siz.CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFitSpeedData.rb +12 -0
  78. data/lib/openstudio_results/resources/Siz.CoilPerformanceDXCooling.rb +47 -0
  79. data/lib/openstudio_results/resources/Siz.CoilSystemCoolingDXHeatExchangerAssisted.rb +12 -0
  80. data/lib/openstudio_results/resources/Siz.CoilSystemCoolingWaterHeatExchangerAssisted.rb +12 -0
  81. data/lib/openstudio_results/resources/Siz.CoilWaterHeatingAirToWaterHeatPump.rb +46 -0
  82. data/lib/openstudio_results/resources/Siz.CoilWaterHeatingAirToWaterHeatPumpWrapped.rb +12 -0
  83. data/lib/openstudio_results/resources/Siz.CoilWaterHeatingDesuperheater.rb +12 -0
  84. data/lib/openstudio_results/resources/Siz.ControllerOutdoorAir.rb +23 -0
  85. data/lib/openstudio_results/resources/Siz.CoolingTowerSingleSpeed.rb +40 -0
  86. data/lib/openstudio_results/resources/Siz.CoolingTowerTwoSpeed.rb +40 -0
  87. data/lib/openstudio_results/resources/Siz.CoolingTowerVariableSpeed.rb +40 -0
  88. data/lib/openstudio_results/resources/Siz.DistrictCooling.rb +23 -0
  89. data/lib/openstudio_results/resources/Siz.DistrictHeating.rb +23 -0
  90. data/lib/openstudio_results/resources/Siz.ElectricLoadCenterInverterLookUpTable.rb +17 -0
  91. data/lib/openstudio_results/resources/Siz.ElectricLoadCenterInverterSimple.rb +12 -0
  92. data/lib/openstudio_results/resources/Siz.ElectricLoadCenterStorageConverter.rb +12 -0
  93. data/lib/openstudio_results/resources/Siz.ElectricLoadCenterStorageSimple.rb +13 -0
  94. data/lib/openstudio_results/resources/Siz.EvaporativeCoolerDirectResearchSpecial.rb +29 -0
  95. data/lib/openstudio_results/resources/Siz.EvaporativeCoolerIndirectResearchSpecial.rb +32 -0
  96. data/lib/openstudio_results/resources/Siz.EvaporativeFluidCoolerSingleSpeed.rb +40 -0
  97. data/lib/openstudio_results/resources/Siz.EvaporativeFluidCoolerTwoSpeed.rb +40 -0
  98. data/lib/openstudio_results/resources/Siz.FanConstantVolume.rb +31 -0
  99. data/lib/openstudio_results/resources/Siz.FanOnOff.rb +31 -0
  100. data/lib/openstudio_results/resources/Siz.FanSystemModel.rb +31 -0
  101. data/lib/openstudio_results/resources/Siz.FanVariableVolume.rb +31 -0
  102. data/lib/openstudio_results/resources/Siz.FanZoneExhaust.rb +13 -0
  103. data/lib/openstudio_results/resources/Siz.FluidCoolerSingleSpeed.rb +40 -0
  104. data/lib/openstudio_results/resources/Siz.FluidCoolerTwoSpeed.rb +40 -0
  105. data/lib/openstudio_results/resources/Siz.GeneratorFuelCellElectricalStorage.rb +13 -0
  106. data/lib/openstudio_results/resources/Siz.GeneratorFuelCellInverter.rb +12 -0
  107. data/lib/openstudio_results/resources/Siz.GeneratorFuelCellPowerModule.rb +12 -0
  108. data/lib/openstudio_results/resources/Siz.GeneratorMicroTurbine.rb +12 -0
  109. data/lib/openstudio_results/resources/Siz.GeneratorMicroTurbineHeatRecovery.rb +12 -0
  110. data/lib/openstudio_results/resources/Siz.HVACComponent.rb +127 -0
  111. data/lib/openstudio_results/resources/Siz.HeaderedPumpsConstantSpeed.rb +30 -0
  112. data/lib/openstudio_results/resources/Siz.HeaderedPumpsVariableSpeed.rb +30 -0
  113. data/lib/openstudio_results/resources/Siz.HeatExchangerAirToAirSensibleAndLatent.rb +36 -0
  114. data/lib/openstudio_results/resources/Siz.HeatExchangerFluidToFluid.rb +23 -0
  115. data/lib/openstudio_results/resources/Siz.HeatPumpWaterToWaterEquationFitCooling.rb +40 -0
  116. data/lib/openstudio_results/resources/Siz.HeatPumpWaterToWaterEquationFitHeating.rb +40 -0
  117. data/lib/openstudio_results/resources/Siz.HumidifierSteamElectric.rb +23 -0
  118. data/lib/openstudio_results/resources/Siz.Model.rb +134 -0
  119. data/lib/openstudio_results/resources/Siz.ModelObject.rb +40 -0
  120. data/lib/openstudio_results/resources/Siz.PhotovoltaicPerformanceSimple.rb +12 -0
  121. data/lib/openstudio_results/resources/Siz.PlantComponentTemperatureSource.rb +23 -0
  122. data/lib/openstudio_results/resources/Siz.PlantLoop.rb +40 -0
  123. data/lib/openstudio_results/resources/Siz.PumpConstantSpeed.rb +30 -0
  124. data/lib/openstudio_results/resources/Siz.PumpVariableSpeed.rb +30 -0
  125. data/lib/openstudio_results/resources/Siz.RefrigerationSecondarySystem.rb +12 -0
  126. data/lib/openstudio_results/resources/Siz.RefrigerationSystem.rb +12 -0
  127. data/lib/openstudio_results/resources/Siz.RefrigerationTranscriticalSystem.rb +13 -0
  128. data/lib/openstudio_results/resources/Siz.SizingSystem.rb +57 -0
  129. data/lib/openstudio_results/resources/Siz.SolarCollectorFlatPlatePhotovoltaicThermal.rb +23 -0
  130. data/lib/openstudio_results/resources/Siz.SolarCollectorPerformancePhotovoltaicThermalSimple.rb +12 -0
  131. data/lib/openstudio_results/resources/Siz.ThermalStorageChilledWaterStratified.rb +30 -0
  132. data/lib/openstudio_results/resources/Siz.WaterHeaterHeatPump.rb +29 -0
  133. data/lib/openstudio_results/resources/Siz.WaterHeaterHeatPumpWrappedCondenser.rb +12 -0
  134. data/lib/openstudio_results/resources/Siz.WaterHeaterMixed.rb +48 -0
  135. data/lib/openstudio_results/resources/Siz.WaterHeaterStratified.rb +48 -0
  136. data/lib/openstudio_results/resources/Siz.ZoneHVACBaseboardConvectiveElectric.rb +29 -0
  137. data/lib/openstudio_results/resources/Siz.ZoneHVACBaseboardConvectiveWater.rb +28 -0
  138. data/lib/openstudio_results/resources/Siz.ZoneHVACBaseboardRadiantConvectiveElectric.rb +29 -0
  139. data/lib/openstudio_results/resources/Siz.ZoneHVACBaseboardRadiantConvectiveWater.rb +28 -0
  140. data/lib/openstudio_results/resources/Siz.ZoneHVACEnergyRecoveryVentilator.rb +29 -0
  141. data/lib/openstudio_results/resources/Siz.ZoneHVACFourPipeFanCoil.rb +72 -0
  142. data/lib/openstudio_results/resources/Siz.ZoneHVACHighTemperatureRadiant.rb +12 -0
  143. data/lib/openstudio_results/resources/Siz.ZoneHVACIdealLoadsAirSystem.rb +64 -0
  144. data/lib/openstudio_results/resources/Siz.ZoneHVACLowTempRadiantConstFlow.rb +20 -0
  145. data/lib/openstudio_results/resources/Siz.ZoneHVACLowTempRadiantVarFlow.rb +38 -0
  146. data/lib/openstudio_results/resources/Siz.ZoneHVACPackagedTerminalAirConditioner.rb +91 -0
  147. data/lib/openstudio_results/resources/Siz.ZoneHVACPackagedTerminalHeatPump.rb +91 -0
  148. data/lib/openstudio_results/resources/Siz.ZoneHVACTerminalUnitVariableRefrigerantFlow.rb +122 -0
  149. data/lib/openstudio_results/resources/Siz.ZoneHVACUnitHeater.rb +46 -0
  150. data/lib/openstudio_results/resources/Siz.ZoneHVACUnitVentilator.rb +98 -0
  151. data/lib/openstudio_results/resources/Siz.ZoneHVACWaterToAirHeatPump.rb +91 -0
  152. data/lib/openstudio_results/resources/Siz.ZoneVentilationDesignFlowRate.rb +13 -0
  153. data/lib/openstudio_results/resources/bootstrap.min.css +5 -0
  154. data/lib/openstudio_results/resources/bootstrap.min.js +6 -0
  155. data/lib/openstudio_results/resources/d3.min.js +5 -0
  156. data/lib/openstudio_results/resources/dimple.v2.1.2.min.js +3 -0
  157. data/lib/openstudio_results/resources/jquery.min.js +6 -0
  158. data/lib/openstudio_results/resources/os_lib_reporting.rb +4891 -0
  159. data/lib/openstudio_results/resources/report.html.erb +501 -0
  160. data/lib/view_data/LICENSE.md +13 -0
  161. data/lib/view_data/README.md +72 -0
  162. data/lib/view_data/README.md.erb +42 -0
  163. data/lib/view_data/measure.rb +449 -0
  164. data/lib/view_data/measure.xml +202 -0
  165. data/lib/view_data/resources/js/TweenLite.2.1.3.min.js +12 -0
  166. data/lib/view_data/resources/js/dat.gui.0.7.9.min.js +13 -0
  167. data/lib/view_data/resources/js/three.orbitcontrols.js +706 -0
  168. data/lib/view_data/resources/js/three.r98.min.js +964 -0
  169. data/lib/view_data/resources/report.html.in +1577 -0
  170. data/lib/view_data/resources/va3c.rb +996 -0
  171. metadata +227 -0
@@ -0,0 +1,46 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
4
+ # *******************************************************************************
5
+
6
+ class OpenStudio::Model::AirTerminalSingleDuctSeriesPIUReheat
7
+ def maxHeatingCapacity
8
+ reheatCoil.maxHeatingCapacity
9
+ end
10
+
11
+ def maxAirFlowRate
12
+ if maximumAirFlowRate.is_initialized
13
+ maximumAirFlowRate
14
+ else
15
+ autosizedMaximumAirFlowRate
16
+ end
17
+ end
18
+
19
+ def maxWaterFlowRate
20
+ reheatCoil.maxWaterFlowRate
21
+ end
22
+
23
+ def maxHeatingCapacityAutosized
24
+ reheatCoil.maxHeatingCapacityAutosized
25
+ end
26
+
27
+ def maxAirFlowRateAutosized
28
+ if maximumAirFlowRate.is_initialized
29
+ # Not autosized if hard size field value present
30
+ return OpenStudio::OptionalBool.new(false)
31
+ else
32
+ return OpenStudio::OptionalBool.new(true)
33
+ end
34
+ end
35
+
36
+ def maxWaterFlowRateAutosized
37
+ reheatCoil.maxWaterFlowRateAutosized
38
+ end
39
+
40
+ def performanceCharacteristics
41
+ effs = []
42
+ effs += fan.performanceCharacteristics
43
+ effs += reheatCoil.performanceCharacteristics
44
+ return effs
45
+ end
46
+ end
@@ -0,0 +1,23 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
4
+ # *******************************************************************************
5
+
6
+ class OpenStudio::Model::AirTerminalSingleDuctUncontrolled
7
+ def maxAirFlowRate
8
+ if maximumAirFlowRate.is_initialized
9
+ maximumAirFlowRate
10
+ else
11
+ autosizedMaximumAirFlowRate
12
+ end
13
+ end
14
+
15
+ def maxAirFlowRateAutosized
16
+ if maximumAirFlowRate.is_initialized
17
+ # Not autosized if hard size field value present
18
+ return OpenStudio::OptionalBool.new(false)
19
+ else
20
+ return OpenStudio::OptionalBool.new(true)
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
4
+ # *******************************************************************************
5
+
6
+ class OpenStudio::Model::AirTerminalSingleDuctVAVHeatAndCoolNoReheat
7
+ def maxAirFlowRate
8
+ if maximumAirFlowRate.is_initialized
9
+ maximumAirFlowRate
10
+ else
11
+ autosizedMaximumAirFlowRate
12
+ end
13
+ end
14
+
15
+ def maxAirFlowRateAutosized
16
+ if maximumAirFlowRate.is_initialized
17
+ # Not autosized if hard size field value present
18
+ return OpenStudio::OptionalBool.new(false)
19
+ else
20
+ return OpenStudio::OptionalBool.new(true)
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,45 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
4
+ # *******************************************************************************
5
+
6
+ class OpenStudio::Model::AirTerminalSingleDuctVAVHeatAndCoolReheat
7
+ def maxHeatingCapacity
8
+ reheatCoil.maxHeatingCapacity
9
+ end
10
+
11
+ def maxAirFlowRate
12
+ if maximumAirFlowRate.is_initialized
13
+ maximumAirFlowRate
14
+ else
15
+ autosizedMaximumAirFlowRate
16
+ end
17
+ end
18
+
19
+ def maxWaterFlowRate
20
+ reheatCoil.maxWaterFlowRate
21
+ end
22
+
23
+ def maxHeatingCapacityAutosized
24
+ reheatCoil.maxHeatingCapacityAutosized
25
+ end
26
+
27
+ def maxAirFlowRateAutosized
28
+ if maximumAirFlowRate.is_initialized
29
+ # Not autosized if hard size field value present
30
+ return OpenStudio::OptionalBool.new(false)
31
+ else
32
+ return OpenStudio::OptionalBool.new(true)
33
+ end
34
+ end
35
+
36
+ def maxWaterFlowRateAutosized
37
+ reheatCoil.maxWaterFlowRateAutosized
38
+ end
39
+
40
+ def performanceCharacteristics
41
+ effs = []
42
+ effs += reheatCoil.performanceCharacteristics
43
+ return effs
44
+ end
45
+ end
@@ -0,0 +1,23 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
4
+ # *******************************************************************************
5
+
6
+ class OpenStudio::Model::AirTerminalSingleDuctVAVNoReheat
7
+ def maxAirFlowRate
8
+ if maximumAirFlowRate.is_initialized
9
+ maximumAirFlowRate
10
+ else
11
+ autosizedMaximumAirFlowRate
12
+ end
13
+ end
14
+
15
+ def maxAirFlowRateAutosized
16
+ if maximumAirFlowRate.is_initialized
17
+ # Not autosized if hard size field value present
18
+ return OpenStudio::OptionalBool.new(false)
19
+ else
20
+ return OpenStudio::OptionalBool.new(true)
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,45 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
4
+ # *******************************************************************************
5
+
6
+ class OpenStudio::Model::AirTerminalSingleDuctVAVReheat
7
+ def maxHeatingCapacity
8
+ reheatCoil.maxHeatingCapacity
9
+ end
10
+
11
+ def maxAirFlowRate
12
+ if maximumAirFlowRate.is_initialized
13
+ maximumAirFlowRate
14
+ else
15
+ autosizedMaximumAirFlowRate
16
+ end
17
+ end
18
+
19
+ def maxWaterFlowRate
20
+ reheatCoil.maxWaterFlowRate
21
+ end
22
+
23
+ def maxHeatingCapacityAutosized
24
+ reheatCoil.maxHeatingCapacityAutosized
25
+ end
26
+
27
+ def maxAirFlowRateAutosized
28
+ if maximumAirFlowRate.is_initialized
29
+ # Not autosized if hard size field value present
30
+ return OpenStudio::OptionalBool.new(false)
31
+ else
32
+ return OpenStudio::OptionalBool.new(true)
33
+ end
34
+ end
35
+
36
+ def maxWaterFlowRateAutosized
37
+ reheatCoil.maxWaterFlowRateAutosized
38
+ end
39
+
40
+ def performanceCharacteristics
41
+ effs = []
42
+ effs += reheatCoil.performanceCharacteristics
43
+ return effs
44
+ end
45
+ end
@@ -0,0 +1,46 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
4
+ # *******************************************************************************
5
+
6
+ class OpenStudio::Model::BoilerHotWater
7
+ def maxHeatingCapacity
8
+ if nominalCapacity.is_initialized
9
+ nominalCapacity
10
+ else
11
+ autosizedNominalCapacity
12
+ end
13
+ end
14
+
15
+ def maxWaterFlowRate
16
+ if designWaterFlowRate.is_initialized
17
+ designWaterFlowRate
18
+ else
19
+ autosizedDesignWaterFlowRate
20
+ end
21
+ end
22
+
23
+ def maxHeatingCapacityAutosized
24
+ if nominalCapacity.is_initialized
25
+ # Not autosized if hard size field value present
26
+ return OpenStudio::OptionalBool.new(false)
27
+ else
28
+ return OpenStudio::OptionalBool.new(true)
29
+ end
30
+ end
31
+
32
+ def maxWaterFlowRateAutosized
33
+ if designWaterFlowRate.is_initialized
34
+ # Not autosized if hard size field value present
35
+ return OpenStudio::OptionalBool.new(false)
36
+ else
37
+ return OpenStudio::OptionalBool.new(true)
38
+ end
39
+ end
40
+
41
+ def performanceCharacteristics
42
+ effs = []
43
+ effs << [nominalThermalEfficiency, 'Nominal Thermal Efficiency']
44
+ return effs
45
+ end
46
+ end
@@ -0,0 +1,29 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
4
+ # *******************************************************************************
5
+
6
+ class OpenStudio::Model::BoilerSteam
7
+ def maxHeatingCapacity
8
+ if nominalCapacity.is_initialized
9
+ nominalCapacity
10
+ else
11
+ autosizedNominalCapacity
12
+ end
13
+ end
14
+
15
+ def maxHeatingCapacityAutosized
16
+ if nominalCapacity.is_initialized
17
+ # Not autosized if hard size field value present
18
+ return OpenStudio::OptionalBool.new(false)
19
+ else
20
+ return OpenStudio::OptionalBool.new(true)
21
+ end
22
+ end
23
+
24
+ def performanceCharacteristics
25
+ effs = []
26
+ effs << [theoreticalEfficiency, 'Theoretical Efficiency']
27
+ return effs
28
+ end
29
+ end
@@ -0,0 +1,40 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
4
+ # *******************************************************************************
5
+
6
+ class OpenStudio::Model::ChillerAbsorption
7
+ def maxCoolingCapacity
8
+ if nominalCapacity.is_initialized
9
+ nominalCapacity
10
+ else
11
+ autosizedNominalCapacity
12
+ end
13
+ end
14
+
15
+ def maxWaterFlowRate
16
+ if designChilledWaterFlowRate.is_initialized
17
+ designChilledWaterFlowRate
18
+ else
19
+ autosizedDesignChilledWaterFlowRate
20
+ end
21
+ end
22
+
23
+ def maxCoolingCapacityAutosized
24
+ if nominalCapacity.is_initialized
25
+ # Not autosized if hard size field value present
26
+ return OpenStudio::OptionalBool.new(false)
27
+ else
28
+ return OpenStudio::OptionalBool.new(true)
29
+ end
30
+ end
31
+
32
+ def maxWaterFlowRateAutosized
33
+ if designChilledWaterFlowRate.is_initialized
34
+ # Not autosized if hard size field value present
35
+ return OpenStudio::OptionalBool.new(false)
36
+ else
37
+ return OpenStudio::OptionalBool.new(true)
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,40 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
4
+ # *******************************************************************************
5
+
6
+ class OpenStudio::Model::ChillerAbsorptionIndirect
7
+ def maxCoolingCapacity
8
+ if nominalCapacity.is_initialized
9
+ nominalCapacity
10
+ else
11
+ autosizedNominalCapacity
12
+ end
13
+ end
14
+
15
+ def maxWaterFlowRate
16
+ if designChilledWaterFlowRate.is_initialized
17
+ designChilledWaterFlowRate
18
+ else
19
+ autosizedDesignChilledWaterFlowRate
20
+ end
21
+ end
22
+
23
+ def maxCoolingCapacityAutosized
24
+ if nominalCapacity.is_initialized
25
+ # Not autosized if hard size field value present
26
+ return OpenStudio::OptionalBool.new(false)
27
+ else
28
+ return OpenStudio::OptionalBool.new(true)
29
+ end
30
+ end
31
+
32
+ def maxWaterFlowRateAutosized
33
+ if designChilledWaterFlowRate.is_initialized
34
+ # Not autosized if hard size field value present
35
+ return OpenStudio::OptionalBool.new(false)
36
+ else
37
+ return OpenStudio::OptionalBool.new(true)
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,69 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
4
+ # *******************************************************************************
5
+
6
+ class OpenStudio::Model::ChillerElectricEIR
7
+ def maxCoolingCapacity
8
+ if referenceCapacity.is_initialized
9
+ referenceCapacity
10
+ else
11
+ autosizedReferenceCapacity
12
+ end
13
+ end
14
+
15
+ def maxAirFlowRate
16
+ if referenceCondenserFluidFlowRate.is_initialized
17
+ referenceCondenserFluidFlowRate
18
+ else
19
+ autosizedReferenceCondenserFluidFlowRate
20
+ end
21
+ end
22
+
23
+ def maxWaterFlowRate
24
+ if referenceChilledWaterFlowRate.is_initialized
25
+ referenceChilledWaterFlowRate
26
+ else
27
+ autosizedReferenceChilledWaterFlowRate
28
+ end
29
+ end
30
+
31
+ def maxCoolingCapacityAutosized
32
+ if referenceCapacity.is_initialized
33
+ # Not autosized if hard size field value present
34
+ return OpenStudio::OptionalBool.new(false)
35
+ else
36
+ return OpenStudio::OptionalBool.new(true)
37
+ end
38
+ end
39
+
40
+ def maxAirFlowRateAutosized
41
+ if referenceCondenserFluidFlowRate.is_initialized
42
+ # Not autosized if hard size field value present
43
+ return OpenStudio::OptionalBool.new(false)
44
+ else
45
+ return OpenStudio::OptionalBool.new(true)
46
+ end
47
+ end
48
+
49
+ def maxWaterFlowRateAutosized
50
+ if referenceChilledWaterFlowRate.is_initialized
51
+ # Not autosized if hard size field value present
52
+ return OpenStudio::OptionalBool.new(false)
53
+ else
54
+ return OpenStudio::OptionalBool.new(true)
55
+ end
56
+ end
57
+
58
+ def performanceCharacteristics
59
+ effs = []
60
+ effs << [referenceCOP, 'Reference COP']
61
+ # check os version
62
+ if Gem::Version.new(OpenStudio.openStudioVersion) > Gem::Version.new('2.9.1')
63
+ effs << [fractionofCompressorElectricConsumptionRejectedbyCondenser, 'Fraction of Compressor Electric Consumption Rejected by Condenser']
64
+ else
65
+ effs << [compressorMotorEfficiency, 'Compressor Motor Fraction of Compressor Electric Consumption Rejected by Condenser']
66
+ end
67
+ return effs
68
+ end
69
+ end
@@ -0,0 +1,52 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
4
+ # *******************************************************************************
5
+
6
+ class OpenStudio::Model::ChillerHeaterPerformanceElectricEIR
7
+ def maxCoolingCapacity
8
+ if referenceCoolingModeEvaporatorCapacity.is_initialized
9
+ referenceCoolingModeEvaporatorCapacity
10
+ else
11
+ autosizedReferenceCoolingModeEvaporatorCapacity
12
+ end
13
+ end
14
+
15
+ def maxWaterFlowRate
16
+ if designChilledWaterFlowRate.is_initialized
17
+ designChilledWaterFlowRate
18
+ else
19
+ autosizedDesignChilledWaterFlowRate
20
+ end
21
+ end
22
+
23
+ def maxCoolingCapacityAutosized
24
+ if referenceCoolingModeEvaporatorCapacity.is_initialized
25
+ # Not autosized if hard size field value present
26
+ return OpenStudio::OptionalBool.new(false)
27
+ else
28
+ return OpenStudio::OptionalBool.new(true)
29
+ end
30
+ end
31
+
32
+ def maxWaterFlowRateAutosized
33
+ if designChilledWaterFlowRate.is_initialized
34
+ # Not autosized if hard size field value present
35
+ return OpenStudio::OptionalBool.new(false)
36
+ else
37
+ return OpenStudio::OptionalBool.new(true)
38
+ end
39
+ end
40
+
41
+ def performanceCharacteristics
42
+ effs = []
43
+ effs << [referenceCoolingModeCOP, 'Reference Cooling Mode COP']
44
+ # check os version
45
+ if Gem::Version.new(OpenStudio.openStudioVersion) > Gem::Version.new('2.9.1')
46
+ effs << [fractionofCompressorElectricConsumptionRejectedbyCondenser, 'Fraction of Compressor Electric Consumption Rejected by Condenser']
47
+ else
48
+ effs << [compressorMotorEfficiency, 'Compressor Motor Fraction of Compressor Electric Consumption Rejected by Condenser']
49
+ end
50
+ return effs
51
+ end
52
+ end
@@ -0,0 +1,32 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
4
+ # *******************************************************************************
5
+
6
+ class OpenStudio::Model::CoilCoolingDXMultiSpeed
7
+ def maxCoolingCapacity
8
+ stages.last.maxCoolingCapacity
9
+ end
10
+
11
+ def maxAirFlowRate
12
+ stages.last.maxAirFlowRate
13
+ end
14
+
15
+ def maxCoolingCapacityAutosized
16
+ stages.last.maxCoolingCapacityAutosized
17
+ end
18
+
19
+ def maxAirFlowRateAutosized
20
+ stages.last.maxAirFlowRateAutosized
21
+ end
22
+
23
+ def performanceCharacteristics
24
+ effs = []
25
+ stages.each_with_index do |stage_data, i|
26
+ stage_effs = stage_data.performanceCharacteristics
27
+ stage_effs.each{|pc| pc[1] = "Stage #{i+1} #{pc[1]}"}
28
+ effs.concat stage_effs
29
+ end
30
+ return effs
31
+ end
32
+ end
@@ -0,0 +1,49 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
4
+ # *******************************************************************************
5
+
6
+ class OpenStudio::Model::CoilCoolingDXMultiSpeedStageData
7
+ def maxCoolingCapacity
8
+ if grossRatedTotalCoolingCapacity.is_initialized
9
+ grossRatedTotalCoolingCapacity
10
+ else
11
+ autosizedGrossRatedTotalCoolingCapacity
12
+ end
13
+ end
14
+
15
+ def maxAirFlowRate
16
+ if ratedAirFlowRate.is_initialized
17
+ ratedAirFlowRate
18
+ else
19
+ autosizedRatedAirFlowRate
20
+ end
21
+ end
22
+
23
+ def maxCoolingCapacityAutosized
24
+ if grossRatedTotalCoolingCapacity.is_initialized
25
+ # Not autosized if hard size field value present
26
+ return OpenStudio::OptionalBool.new(false)
27
+ else
28
+ return OpenStudio::OptionalBool.new(true)
29
+ end
30
+ end
31
+
32
+ def maxAirFlowRateAutosized
33
+ if ratedAirFlowRate.is_initialized
34
+ # Not autosized if hard size field value present
35
+ return OpenStudio::OptionalBool.new(false)
36
+ else
37
+ return OpenStudio::OptionalBool.new(true)
38
+ end
39
+ end
40
+
41
+ def performanceCharacteristics
42
+ effs = []
43
+ effs << [grossRatedCoolingCOP, 'Gross Rated Cooling COP']
44
+ if parentCoil.is_initialized
45
+ effs << [evaporativeCondenserEffectiveness, 'Evaporative Condenser Effectiveness'] if parentCoil.get.condenserType == 'EvaporativelyCooled'
46
+ end
47
+ return effs
48
+ end
49
+ end
@@ -0,0 +1,47 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
4
+ # *******************************************************************************
5
+
6
+ class OpenStudio::Model::CoilCoolingDXSingleSpeed
7
+ def maxCoolingCapacity
8
+ if ratedTotalCoolingCapacity.is_initialized
9
+ ratedTotalCoolingCapacity
10
+ else
11
+ autosizedRatedTotalCoolingCapacity
12
+ end
13
+ end
14
+
15
+ def maxAirFlowRate
16
+ if ratedAirFlowRate.is_initialized
17
+ ratedAirFlowRate
18
+ else
19
+ autosizedRatedAirFlowRate
20
+ end
21
+ end
22
+
23
+ def maxCoolingCapacityAutosized
24
+ if ratedTotalCoolingCapacity.is_initialized
25
+ # Not autosized if hard size field value present
26
+ return OpenStudio::OptionalBool.new(false)
27
+ else
28
+ return OpenStudio::OptionalBool.new(true)
29
+ end
30
+ end
31
+
32
+ def maxAirFlowRateAutosized
33
+ if ratedAirFlowRate.is_initialized
34
+ # Not autosized if hard size field value present
35
+ return OpenStudio::OptionalBool.new(false)
36
+ else
37
+ return OpenStudio::OptionalBool.new(true)
38
+ end
39
+ end
40
+
41
+ def performanceCharacteristics
42
+ effs = []
43
+ effs << [ratedCOP, 'Rated Cooling COP']
44
+ effs << [evaporativeCondenserEffectiveness, 'Evaporative Condenser Effectiveness'] if condenserType == 'EvaporativelyCooled'
45
+ return effs
46
+ end
47
+ end
@@ -0,0 +1,50 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
4
+ # *******************************************************************************
5
+
6
+ class OpenStudio::Model::CoilCoolingDXTwoSpeed
7
+ def maxCoolingCapacity
8
+ if ratedHighSpeedTotalCoolingCapacity.is_initialized
9
+ ratedHighSpeedTotalCoolingCapacity
10
+ else
11
+ autosizedRatedHighSpeedTotalCoolingCapacity
12
+ end
13
+ end
14
+
15
+ def maxAirFlowRate
16
+ if ratedHighSpeedAirFlowRate.is_initialized
17
+ ratedHighSpeedAirFlowRate
18
+ else
19
+ autosizedRatedHighSpeedAirFlowRate
20
+ end
21
+ end
22
+
23
+ def maxCoolingCapacityAutosized
24
+ if ratedHighSpeedTotalCoolingCapacity.is_initialized
25
+ # Not autosized if hard size field value present
26
+ return OpenStudio::OptionalBool.new(false)
27
+ else
28
+ return OpenStudio::OptionalBool.new(true)
29
+ end
30
+ end
31
+
32
+ def maxAirFlowRateAutosized
33
+ if ratedHighSpeedAirFlowRate.is_initialized
34
+ # Not autosized if hard size field value present
35
+ return OpenStudio::OptionalBool.new(false)
36
+ else
37
+ return OpenStudio::OptionalBool.new(true)
38
+ end
39
+ end
40
+
41
+ def performanceCharacteristics
42
+ effs = []
43
+ effs << [ratedHighSpeedCOP, 'Rated High Speed COP']
44
+ effs << [ratedLowSpeedCOP, 'Rated Low Speed COP']
45
+ if condenserType == 'EvaporativelyCooled'
46
+ effs << [highSpeedEvaporativeCondenserEffectiveness, 'High Speed Evaporative Condenser Effectiveness']
47
+ effs << [lowSpeedEvaporativeCondenserEffectiveness, 'Low Speed Evaporative Condenser Effectiveness']
48
+ end
49
+ end
50
+ end