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,30 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
4
+ # *******************************************************************************
5
+
6
+ class OpenStudio::Model::HeaderedPumpsConstantSpeed
7
+ def maxWaterFlowRate
8
+ if totalRatedFlowRate.is_initialized
9
+ totalRatedFlowRate
10
+ else
11
+ autosizedTotalRatedFlowRate
12
+ end
13
+ end
14
+
15
+ def maxWaterFlowRateAutosized
16
+ if totalRatedFlowRate.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 << [ratedPumpHead, 'Rated Pump Head']
27
+ effs << [motorEfficiency, 'Motor Efficiency']
28
+ return effs
29
+ end
30
+ end
@@ -0,0 +1,30 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
4
+ # *******************************************************************************
5
+
6
+ class OpenStudio::Model::HeaderedPumpsVariableSpeed
7
+ def maxWaterFlowRate
8
+ if totalRatedFlowRate.is_initialized
9
+ totalRatedFlowRate
10
+ else
11
+ autosizedTotalRatedFlowRate
12
+ end
13
+ end
14
+
15
+ def maxWaterFlowRateAutosized
16
+ if totalRatedFlowRate.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 << [ratedPumpHead, 'Rated Pump Head']
27
+ effs << [motorEfficiency, 'Motor Efficiency']
28
+ return effs
29
+ end
30
+ end
@@ -0,0 +1,36 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
4
+ # *******************************************************************************
5
+
6
+ class OpenStudio::Model::HeatExchangerAirToAirSensibleAndLatent
7
+ def maxAirFlowRate
8
+ if nominalSupplyAirFlowRate.is_initialized
9
+ nominalSupplyAirFlowRate
10
+ else
11
+ autosizedNominalSupplyAirFlowRate
12
+ end
13
+ end
14
+
15
+ def maxAirFlowRateAutosized
16
+ if nominalSupplyAirFlowRate.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 << [sensibleEffectivenessat100HeatingAirFlow, 'Sensible Effectivenessat 100 Heating Air Flow']
27
+ effs << [latentEffectivenessat100HeatingAirFlow, 'Latent Effectivenessat 100 Heating Air Flow']
28
+ effs << [sensibleEffectivenessat75HeatingAirFlow, 'Sensible Effectivenessat 75 Heating Air Flow']
29
+ effs << [latentEffectivenessat75HeatingAirFlow, 'Latent Effectivenessat 75 Heating Air Flow']
30
+ effs << [sensibleEffectivenessat100CoolingAirFlow, 'Sensible Effectivenessat 100 Cooling Air Flow']
31
+ effs << [latentEffectivenessat100CoolingAirFlow, 'Latent Effectivenessat 100 Cooling Air Flow']
32
+ effs << [sensibleEffectivenessat75CoolingAirFlow, 'Sensible Effectivenessat 75 Cooling Air Flow']
33
+ effs << [latentEffectivenessat75CoolingAirFlow, 'Latent Effectivenessat 75 Cooling Air Flow']
34
+ return effs
35
+ end
36
+ 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::HeatExchangerFluidToFluid
7
+ def maxWaterFlowRate
8
+ if loopDemandSideDesignFlowRate.is_initialized
9
+ loopDemandSideDesignFlowRate
10
+ else
11
+ autosizedLoopDemandSideDesignFlowRate
12
+ end
13
+ end
14
+
15
+ def maxWaterFlowRateAutosized
16
+ if loopDemandSideDesignFlowRate.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,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::HeatPumpWaterToWaterEquationFitCooling
7
+ def maxCoolingCapacity
8
+ if ratedCoolingCapacity.is_initialized
9
+ ratedCoolingCapacity
10
+ else
11
+ autosizedRatedCoolingCapacity
12
+ end
13
+ end
14
+
15
+ def maxWaterFlowRate
16
+ if referenceLoadSideFlowRate.is_initialized
17
+ referenceLoadSideFlowRate
18
+ else
19
+ autosizedReferenceLoadSideFlowRate
20
+ end
21
+ end
22
+
23
+ def maxCoolingCapacityAutosized
24
+ if ratedCoolingCapacity.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 referenceLoadSideFlowRate.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::HeatPumpWaterToWaterEquationFitHeating
7
+ def maxHeatingCapacity
8
+ if ratedHeatingCapacity.is_initialized
9
+ ratedHeatingCapacity
10
+ else
11
+ autosizedRatedHeatingCapacity
12
+ end
13
+ end
14
+
15
+ def maxWaterFlowRate
16
+ if referenceLoadSideFlowRate.is_initialized
17
+ referenceLoadSideFlowRate
18
+ else
19
+ autosizedReferenceLoadSideFlowRate
20
+ end
21
+ end
22
+
23
+ def maxHeatingCapacityAutosized
24
+ if ratedHeatingCapacity.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 referenceLoadSideFlowRate.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,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::HumidifierSteamElectric
7
+ def ratedPower
8
+ if ratedPower.is_initialized # SystemStackError: stack level too deep error when this called, disabled in Siz.Model.rb
9
+ ratedPower
10
+ else
11
+ ratedPowerAutosized
12
+ end
13
+ end
14
+
15
+ def ratedPowerAutosized
16
+ if ratedPower.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,134 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
4
+ # *******************************************************************************
5
+
6
+ require_relative 'Siz.HVACComponent'
7
+ require_relative 'Siz.ModelObject'
8
+ require_relative 'Siz.AirConditionerVariableRefrigerantFlow'
9
+ require_relative 'Siz.AirLoopHVAC'
10
+ require_relative 'Siz.AirLoopHVACUnitaryHeatCoolVAVChangeoverBypass'
11
+ require_relative 'Siz.AirLoopHVACUnitaryHeatPumpAirToAir'
12
+ require_relative 'Siz.AirLoopHVACUnitaryHeatPumpAirToAirMultiSpeed'
13
+ require_relative 'Siz.AirLoopHVACUnitarySystem'
14
+ require_relative 'Siz.AirTerminalDualDuctVAV'
15
+ require_relative 'Siz.AirTerminalSingleDuctConstantVolumeCooledBeam'
16
+ require_relative 'Siz.AirTerminalSingleDuctConstantVolumeFourPipeInduction'
17
+ require_relative 'Siz.AirTerminalSingleDuctConstantVolumeReheat'
18
+ require_relative 'Siz.AirTerminalSingleDuctParallelPIUReheat'
19
+ require_relative 'Siz.AirTerminalSingleDuctSeriesPIUReheat'
20
+ require_relative 'Siz.AirTerminalSingleDuctUncontrolled'
21
+ require_relative 'Siz.AirTerminalSingleDuctVAVHeatAndCoolNoReheat'
22
+ require_relative 'Siz.AirTerminalSingleDuctVAVHeatAndCoolReheat'
23
+ require_relative 'Siz.AirTerminalSingleDuctVAVNoReheat'
24
+ require_relative 'Siz.AirTerminalSingleDuctVAVReheat'
25
+ require_relative 'Siz.BoilerHotWater'
26
+ require_relative 'Siz.BoilerSteam'
27
+ require_relative 'Siz.ChillerAbsorption'
28
+ require_relative 'Siz.ChillerAbsorptionIndirect'
29
+ require_relative 'Siz.ChillerElectricEIR'
30
+ require_relative 'Siz.ChillerHeaterPerformanceElectricEIR'
31
+ require_relative 'Siz.CoilCoolingDXMultiSpeed'
32
+ require_relative 'Siz.CoilCoolingDXMultiSpeedStageData'
33
+ require_relative 'Siz.CoilCoolingDXSingleSpeed'
34
+ require_relative 'Siz.CoilCoolingDXTwoSpeed'
35
+ require_relative 'Siz.CoilCoolingDXTwoStageWithHumidityControlMode'
36
+ require_relative 'Siz.CoilCoolingDXVariableRefrigerantFlow'
37
+ require_relative 'Siz.CoilCoolingDXVariableSpeed'
38
+ require_relative 'Siz.CoilCoolingDXVariableSpeedSpeedData'
39
+ require_relative 'Siz.CoilCoolingLowTempRadiantVarFlow'
40
+ require_relative 'Siz.CoilCoolingWater'
41
+ require_relative 'Siz.CoilCoolingWaterToAirHeatPumpEquationFit'
42
+ require_relative 'Siz.CoilCoolingWaterToAirHeatPumpVariableSpeedEquationFit'
43
+ require_relative 'Siz.CoilCoolingWaterToAirHeatPumpVariableSpeedEquationFitSpeedData'
44
+ require_relative 'Siz.CoilHeatingDXMultiSpeed'
45
+ require_relative 'Siz.CoilHeatingDXMultiSpeedStageData'
46
+ require_relative 'Siz.CoilHeatingDXSingleSpeed'
47
+ require_relative 'Siz.CoilHeatingDXVariableRefrigerantFlow'
48
+ require_relative 'Siz.CoilHeatingDXVariableSpeed'
49
+ require_relative 'Siz.CoilHeatingDXVariableSpeedSpeedData'
50
+ require_relative 'Siz.CoilHeatingDesuperheater'
51
+ require_relative 'Siz.CoilHeatingElectric'
52
+ require_relative 'Siz.CoilHeatingGas'
53
+ require_relative 'Siz.CoilHeatingGasMultiStage'
54
+ require_relative 'Siz.CoilHeatingGasMultiStageStageData'
55
+ require_relative 'Siz.CoilHeatingLowTempRadiantVarFlow'
56
+ require_relative 'Siz.CoilHeatingWater'
57
+ require_relative 'Siz.CoilHeatingWaterBaseboard'
58
+ require_relative 'Siz.CoilHeatingWaterBaseboardRadiant'
59
+ require_relative 'Siz.CoilHeatingWaterToAirHeatPumpEquationFit'
60
+ require_relative 'Siz.CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFit'
61
+ require_relative 'Siz.CoilHeatingWaterToAirHeatPumpVariableSpeedEquationFitSpeedData'
62
+ require_relative 'Siz.CoilPerformanceDXCooling'
63
+ require_relative 'Siz.CoilSystemCoolingDXHeatExchangerAssisted'
64
+ require_relative 'Siz.CoilSystemCoolingWaterHeatExchangerAssisted'
65
+ require_relative 'Siz.CoilWaterHeatingAirToWaterHeatPump'
66
+ require_relative 'Siz.CoilWaterHeatingAirToWaterHeatPumpWrapped'
67
+ require_relative 'Siz.CoilWaterHeatingDesuperheater'
68
+ require_relative 'Siz.ControllerOutdoorAir'
69
+ require_relative 'Siz.CoolingTowerSingleSpeed'
70
+ require_relative 'Siz.CoolingTowerTwoSpeed'
71
+ require_relative 'Siz.CoolingTowerVariableSpeed'
72
+ require_relative 'Siz.DistrictCooling'
73
+ require_relative 'Siz.DistrictHeating'
74
+ require_relative 'Siz.ElectricLoadCenterInverterLookUpTable'
75
+ require_relative 'Siz.ElectricLoadCenterInverterSimple'
76
+ require_relative 'Siz.ElectricLoadCenterStorageConverter'
77
+ require_relative 'Siz.ElectricLoadCenterStorageSimple'
78
+ require_relative 'Siz.EvaporativeCoolerDirectResearchSpecial'
79
+ require_relative 'Siz.EvaporativeCoolerIndirectResearchSpecial'
80
+ require_relative 'Siz.EvaporativeFluidCoolerSingleSpeed'
81
+ require_relative 'Siz.EvaporativeFluidCoolerTwoSpeed'
82
+ require_relative 'Siz.FanConstantVolume'
83
+ require_relative 'Siz.FanOnOff'
84
+ require_relative 'Siz.FanSystemModel'
85
+ require_relative 'Siz.FanVariableVolume'
86
+ require_relative 'Siz.FanZoneExhaust'
87
+ require_relative 'Siz.FluidCoolerSingleSpeed'
88
+ require_relative 'Siz.FluidCoolerTwoSpeed'
89
+ require_relative 'Siz.GeneratorFuelCellElectricalStorage'
90
+ require_relative 'Siz.GeneratorFuelCellInverter'
91
+ require_relative 'Siz.GeneratorFuelCellPowerModule'
92
+ require_relative 'Siz.GeneratorMicroTurbine'
93
+ require_relative 'Siz.GeneratorMicroTurbineHeatRecovery'
94
+ require_relative 'Siz.HeaderedPumpsConstantSpeed'
95
+ require_relative 'Siz.HeaderedPumpsVariableSpeed'
96
+ require_relative 'Siz.HeatExchangerAirToAirSensibleAndLatent'
97
+ require_relative 'Siz.HeatExchangerFluidToFluid'
98
+ require_relative 'Siz.HeatPumpWaterToWaterEquationFitCooling'
99
+ require_relative 'Siz.HeatPumpWaterToWaterEquationFitHeating'
100
+ # require_relative 'Siz.HumidifierSteamElectric'
101
+ require_relative 'Siz.Model'
102
+ require_relative 'Siz.PhotovoltaicPerformanceSimple'
103
+ require_relative 'Siz.PlantComponentTemperatureSource'
104
+ require_relative 'Siz.PlantLoop'
105
+ require_relative 'Siz.PumpConstantSpeed'
106
+ require_relative 'Siz.PumpVariableSpeed'
107
+ require_relative 'Siz.RefrigerationSecondarySystem'
108
+ require_relative 'Siz.RefrigerationSystem'
109
+ require_relative 'Siz.RefrigerationTranscriticalSystem'
110
+ require_relative 'Siz.SizingSystem'
111
+ require_relative 'Siz.SolarCollectorFlatPlatePhotovoltaicThermal'
112
+ require_relative 'Siz.SolarCollectorPerformancePhotovoltaicThermalSimple'
113
+ require_relative 'Siz.ThermalStorageChilledWaterStratified'
114
+ require_relative 'Siz.WaterHeaterHeatPump'
115
+ require_relative 'Siz.WaterHeaterHeatPumpWrappedCondenser'
116
+ require_relative 'Siz.WaterHeaterMixed'
117
+ require_relative 'Siz.WaterHeaterStratified'
118
+ require_relative 'Siz.ZoneHVACBaseboardConvectiveElectric'
119
+ require_relative 'Siz.ZoneHVACBaseboardConvectiveWater'
120
+ require_relative 'Siz.ZoneHVACBaseboardRadiantConvectiveElectric'
121
+ require_relative 'Siz.ZoneHVACBaseboardRadiantConvectiveWater'
122
+ require_relative 'Siz.ZoneHVACEnergyRecoveryVentilator'
123
+ require_relative 'Siz.ZoneHVACFourPipeFanCoil'
124
+ require_relative 'Siz.ZoneHVACHighTemperatureRadiant'
125
+ require_relative 'Siz.ZoneHVACIdealLoadsAirSystem'
126
+ require_relative 'Siz.ZoneHVACLowTempRadiantConstFlow'
127
+ require_relative 'Siz.ZoneHVACLowTempRadiantVarFlow'
128
+ require_relative 'Siz.ZoneHVACPackagedTerminalAirConditioner'
129
+ require_relative 'Siz.ZoneHVACPackagedTerminalHeatPump'
130
+ require_relative 'Siz.ZoneHVACTerminalUnitVariableRefrigerantFlow'
131
+ require_relative 'Siz.ZoneHVACUnitHeater'
132
+ require_relative 'Siz.ZoneHVACUnitVentilator'
133
+ require_relative 'Siz.ZoneHVACWaterToAirHeatPump'
134
+ require_relative 'Siz.ZoneVentilationDesignFlowRate'
@@ -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::ModelObject
7
+ # Convert object to a concrete class if possible
8
+ # @return [Object, nil] returns nil if the object was already
9
+ # of its concrete class, returns the object casted to its concrete
10
+ # class if it was casted successfully.
11
+ def cast_to_concrete_type
12
+ # puts "Casting '#{name}' to concrete type from #{caller_locations(1,1)[0].label}"
13
+ # Get the class type and the IDD object type
14
+ comp_class = self.class.name.to_s.gsub('OpenStudio::Model::', '')
15
+ comp_type = iddObject.type.valueDescription.gsub('OS:', '').delete(':')
16
+ case comp_type
17
+ when 'CoilCoolingLowTemperatureRadiantVariableFlow'
18
+ comp_type = 'CoilCoolingLowTempRadiantVarFlow'
19
+ when 'CoilHeatingLowTemperatureRadiantVariableFlow'
20
+ comp_type = 'CoilHeatingLowTempRadiantVarFlow'
21
+ when 'ZoneHVACLowTemperatureRadiantVariableFlow'
22
+ comp_type = 'ZoneHVACLowTempRadiantVarFlow'
23
+ end
24
+ # If the class type and the IDD object type are identical,
25
+ # this means that the object is already of the concrete class.
26
+ if comp_class == comp_type
27
+ # puts "INFO: #{name} of type #{comp_type} is already concrete"
28
+ return nil
29
+ end
30
+ # Cast the object to its concrete class type
31
+ cast_method = "to_#{comp_type}"
32
+ if respond_to?(cast_method)
33
+ return public_send(cast_method).get
34
+ else
35
+ puts "ERROR: #{name} of type #{comp_type} cannot be made concrete using #{cast_method}"
36
+ # raise "ERROR: #{name} of type #{comp_type} cannot be made concrete using #{cast_method}"
37
+ return nil
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,12 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
4
+ # *******************************************************************************
5
+
6
+ class OpenStudio::Model::PhotovoltaicPerformanceSimple
7
+ def performanceCharacteristics
8
+ effs = []
9
+ effs << [fixedEfficiency, 'Fixed Efficiency']
10
+ return effs
11
+ end
12
+ 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::PlantComponentTemperatureSource
7
+ def maxWaterFlowRate
8
+ if designVolumeFlowRate.is_initialized
9
+ designVolumeFlowRate
10
+ else
11
+ autosizedDesignVolumeFlowRate
12
+ end
13
+ end
14
+
15
+ def maxWaterFlowRateAutosized
16
+ if designVolumeFlowRate.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,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::PlantLoop
7
+ def maxAirFlowRate
8
+ if maximumLoopFlowRate.is_initialized
9
+ maximumLoopFlowRate
10
+ else
11
+ autosizedMaximumLoopFlowRate
12
+ end
13
+ end
14
+
15
+ def maxWaterFlowRate
16
+ if maximumLoopFlowRate.is_initialized
17
+ maximumLoopFlowRate
18
+ else
19
+ autosizedMaximumLoopFlowRate
20
+ end
21
+ end
22
+
23
+ def maxAirFlowRateAutosized
24
+ if maximumLoopFlowRate.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 maximumLoopFlowRate.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,30 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
4
+ # *******************************************************************************
5
+
6
+ class OpenStudio::Model::PumpConstantSpeed
7
+ def maxWaterFlowRate
8
+ if ratedFlowRate.is_initialized
9
+ ratedFlowRate
10
+ else
11
+ autosizedRatedFlowRate
12
+ end
13
+ end
14
+
15
+ def maxWaterFlowRateAutosized
16
+ if ratedFlowRate.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 << [ratedPumpHead, 'Rated Pump Head']
27
+ effs << [motorEfficiency, 'Motor Efficiency']
28
+ return effs
29
+ end
30
+ end
@@ -0,0 +1,30 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
4
+ # *******************************************************************************
5
+
6
+ class OpenStudio::Model::PumpVariableSpeed
7
+ def maxWaterFlowRate
8
+ if ratedFlowRate.is_initialized
9
+ ratedFlowRate
10
+ else
11
+ autosizedRatedFlowRate
12
+ end
13
+ end
14
+
15
+ def maxWaterFlowRateAutosized
16
+ if ratedFlowRate.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 << [ratedPumpHead, 'Rated Pump Head']
27
+ effs << [motorEfficiency, 'Motor Efficiency']
28
+ return effs
29
+ end
30
+ end
@@ -0,0 +1,12 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
4
+ # *******************************************************************************
5
+
6
+ class OpenStudio::Model::RefrigerationSecondarySystem
7
+ def performanceCharacteristics
8
+ effs = []
9
+ effs << [totalPumpHead, 'Total Pump Head']
10
+ return effs
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
4
+ # *******************************************************************************
5
+
6
+ class OpenStudio::Model::RefrigerationSystem
7
+ def performanceCharacteristics
8
+ effs = []
9
+ effs << [shellandCoilIntercoolerEffectiveness, 'Shelland Coil Intercooler Effectiveness']
10
+ return effs
11
+ end
12
+ end
@@ -0,0 +1,13 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
4
+ # *******************************************************************************
5
+
6
+ class OpenStudio::Model::RefrigerationTranscriticalSystem
7
+ def performanceCharacteristics
8
+ effs = []
9
+ effs << [receiverPressure, 'Receiver Pressure']
10
+ effs << [subcoolerEffectiveness, 'Subcooler Effectiveness']
11
+ return effs
12
+ end
13
+ end
@@ -0,0 +1,57 @@
1
+ # *******************************************************************************
2
+ # OpenStudio(R), Copyright (c) Alliance for Sustainable Energy, LLC.
3
+ # See also https://openstudio.net/license
4
+ # *******************************************************************************
5
+
6
+ class OpenStudio::Model::SizingSystem
7
+ def maxHeatingCapacity
8
+ if heatingDesignCapacity.is_initialized
9
+ heatingDesignCapacity
10
+ else
11
+ autosizedHeatingDesignCapacity
12
+ end
13
+ end
14
+
15
+ def maxCoolingCapacity
16
+ if coolingDesignCapacity.is_initialized
17
+ coolingDesignCapacity
18
+ else
19
+ autosizedCoolingDesignCapacity
20
+ end
21
+ end
22
+
23
+ def maxAirFlowRate
24
+ if designOutdoorAirFlowRate.is_initialized
25
+ designOutdoorAirFlowRate
26
+ else
27
+ autosizedDesignOutdoorAirFlowRate
28
+ end
29
+ end
30
+
31
+ def maxHeatingCapacityAutosized
32
+ if heatingDesignCapacity.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 maxCoolingCapacityAutosized
41
+ if coolingDesignCapacity.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 maxAirFlowRateAutosized
50
+ if designOutdoorAirFlowRate.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
+ 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::SolarCollectorFlatPlatePhotovoltaicThermal
7
+ def maxWaterFlowRate
8
+ if designFlowRate.is_initialized
9
+ designFlowRate
10
+ else
11
+ autosizedDesignFlowRate
12
+ end
13
+ end
14
+
15
+ def maxWaterFlowRateAutosized
16
+ if designFlowRate.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