openstudio-standards 0.8.4 → 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.
- checksums.yaml +4 -4
- data/data/geometry/ASHRAECollege.osm +30 -30
- data/data/geometry/ASHRAECourthouse.osm +22 -22
- data/data/geometry/ASHRAESmallOfficeDetailed.osm +2 -2
- data/data/geometry/DEER_Asm.osm +1 -1
- data/data/geometry/DEER_ECC.osm +1 -1
- data/data/geometry/DEER_EPr.osm +1 -1
- data/data/geometry/DEER_ERC.osm +1 -1
- data/data/geometry/DEER_ESe.osm +1 -1
- data/data/geometry/DEER_EUn.osm +1 -1
- data/data/geometry/DEER_Hsp.osm +1 -1
- data/data/geometry/DEER_Htl.osm +1 -1
- data/data/geometry/DEER_MBT.osm +1 -1
- data/data/geometry/DEER_MFm.osm +1 -1
- data/data/geometry/DEER_Nrs.osm +1 -1
- data/data/geometry/DEER_OfL.osm +1 -1
- data/data/geometry/DEER_OfS.osm +1 -1
- data/data/geometry/DEER_RFF.osm +1 -1
- data/data/geometry/DEER_RSD.osm +1 -1
- data/data/geometry/DEER_Rt3.osm +1 -1
- data/data/geometry/DEER_RtS.osm +1 -1
- data/data/standards/export_OpenStudio_libraries.rb +2 -3
- data/data/standards/test_performance_expected_dd_results.csv +42 -42
- data/lib/openstudio-standards/btap/NECB_building_types.csv +35 -0
- data/lib/openstudio-standards/btap/NECB_space_types.csv +109 -0
- data/lib/openstudio-standards/btap/activity.rb +480 -0
- data/lib/openstudio-standards/btap/attributes.rb +166 -0
- data/lib/openstudio-standards/btap/bridging.rb +561 -1402
- data/lib/openstudio-standards/btap/btap.rb +4 -2
- data/lib/openstudio-standards/btap/btap_test_helper.rb +86 -0
- data/lib/openstudio-standards/btap/carbon/btap_carbon.rb +177 -0
- data/lib/openstudio-standards/btap/{costing/common_paths.rb → common_paths.rb} +14 -11
- data/lib/openstudio-standards/btap/common_resources/carbon_frame.csv +35 -0
- data/lib/openstudio-standards/btap/common_resources/carbon_glazing.csv +35 -0
- data/lib/openstudio-standards/btap/common_resources/carbon_opaque.csv +164 -0
- data/lib/openstudio-standards/btap/common_resources/constructions_glazing.csv +121 -0
- data/lib/openstudio-standards/btap/common_resources/costs.csv +1897 -0
- data/lib/openstudio-standards/btap/{costing/common_resources → common_resources}/lighting.csv +59 -59
- data/lib/openstudio-standards/btap/{costing/common_resources → common_resources}/materials_hvac.csv +1019 -1032
- data/lib/openstudio-standards/btap/costing/btap_costing.rb +3 -7
- data/lib/openstudio-standards/btap/costing/costing_database_wrapper.rb +1 -5
- data/lib/openstudio-standards/btap/costing/daylighting_sensor_control_costing.rb +5 -4
- data/lib/openstudio-standards/btap/costing/dcv_costing.rb +1 -1
- data/lib/openstudio-standards/btap/costing/envelope_costing.rb +112 -181
- data/lib/openstudio-standards/btap/costing/heating_cooling_costing.rb +4 -4
- data/lib/openstudio-standards/btap/costing/led_lighting_costing.rb +2 -1
- data/lib/openstudio-standards/btap/costing/lighting_costing.rb +3 -3
- data/lib/openstudio-standards/btap/costing/test_list.txt +15 -17
- data/lib/openstudio-standards/btap/costing/test_run_all_test_locally.rb +10 -9
- data/lib/openstudio-standards/btap/geometry.rb +86 -6
- data/lib/openstudio-standards/btap/structure.rb +657 -0
- data/lib/openstudio-standards/create_typical/create_typical.rb +17 -33
- data/lib/openstudio-standards/create_typical/space_type_ratios.rb +36 -36
- data/lib/openstudio-standards/equipment/create_transformer.rb +104 -0
- data/lib/openstudio-standards/equipment/create_typical_equipment.rb +117 -0
- data/lib/openstudio-standards/equipment/data/electric_equipment_space_types.json +1514 -0
- data/lib/openstudio-standards/equipment/data/gas_equipment_space_types.json +227 -0
- data/lib/openstudio-standards/exterior_lighting/create.rb +22 -22
- data/lib/openstudio-standards/exterior_lighting/information.rb +3 -2
- data/lib/openstudio-standards/hvac/components/air_conditioner_vrf.rb +482 -0
- data/lib/openstudio-standards/hvac/components/air_terminal.rb +31 -0
- data/lib/openstudio-standards/hvac/components/boiler_hot_water.rb +163 -0
- data/lib/openstudio-standards/hvac/components/central_air_source_heat_pump.rb +220 -0
- data/lib/openstudio-standards/hvac/components/chiller.rb +25 -0
- data/lib/openstudio-standards/hvac/components/coil.rb +276 -0
- data/lib/openstudio-standards/hvac/components/coil_cooling_dx_multi_speed.rb +40 -0
- data/lib/openstudio-standards/hvac/components/coil_cooling_dx_single_speed.rb +300 -0
- data/lib/openstudio-standards/hvac/components/coil_cooling_dx_two_speed.rb +187 -0
- data/lib/openstudio-standards/hvac/components/coil_cooling_water.rb +80 -0
- data/lib/openstudio-standards/hvac/components/coil_cooling_water_to_air_heat_pump_equation_fit.rb +182 -0
- data/lib/openstudio-standards/hvac/components/coil_heating_dx_single_speed.rb +220 -0
- data/lib/openstudio-standards/hvac/components/coil_heating_electric.rb +56 -0
- data/lib/openstudio-standards/hvac/components/coil_heating_gas.rb +90 -0
- data/lib/openstudio-standards/hvac/components/coil_heating_gas_multi_stage.rb +33 -0
- data/lib/openstudio-standards/hvac/components/coil_heating_water.rb +98 -0
- data/lib/openstudio-standards/hvac/components/coil_heating_water_to_air_heat_pump_equation_fit.rb +147 -0
- data/lib/openstudio-standards/hvac/components/component.rb +39 -0
- data/lib/openstudio-standards/{standards/ashrae_90_1/data/ashrae_90_1.fans.json → hvac/components/data/fans.json} +6 -6
- data/lib/openstudio-standards/hvac/components/fan.rb +363 -0
- data/lib/openstudio-standards/hvac/components/heat_exchanger_air_to_air.rb +203 -0
- data/lib/openstudio-standards/hvac/components/pump.rb +181 -0
- data/lib/openstudio-standards/hvac/controls/radiant_system_controls.rb +594 -0
- data/lib/openstudio-standards/hvac/conversions.rb +222 -0
- data/lib/openstudio-standards/hvac/curves.rb +192 -0
- data/lib/openstudio-standards/hvac/helpers.rb +357 -0
- data/lib/openstudio-standards/hvac/setpoint_managers/information.rb +4 -4
- data/lib/openstudio-standards/interior_lighting/create_lights.rb +52 -0
- data/lib/openstudio-standards/interior_lighting/create_typical_interior_lighting.rb +254 -0
- data/lib/openstudio-standards/interior_lighting/data/convert_lighting_data.rb +249 -0
- data/lib/openstudio-standards/interior_lighting/data/lighting_space_types.csv +96 -0
- data/lib/openstudio-standards/interior_lighting/data/lighting_space_types.json +1429 -0
- data/lib/openstudio-standards/interior_lighting/data/lighting_technology.csv +46 -0
- data/lib/openstudio-standards/interior_lighting/data/lighting_technology.json +859 -0
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.Model.rb +4 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Model.rb +4 -4
- data/lib/openstudio-standards/prototypes/ashrae_90_1/nrel_nze_ready_2017/nrel_zne_ready_2017.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/prototypes/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.HighRiseApartment.rb +6 -7
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Hospital.rb +15 -15
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeHotel.rb +4 -4
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.LargeOffice.rb +5 -5
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.MediumOffice.rb +6 -6
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.Outpatient.rb +7 -7
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.PrimarySchool.rb +4 -4
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SecondarySchool.rb +6 -6
- data/lib/openstudio-standards/prototypes/common/buildings/Prototype.SmallOfficeDetailed.rb +5 -1
- data/lib/openstudio-standards/prototypes/common/data/prototype_space_type_map.json +2594 -0
- data/lib/openstudio-standards/prototypes/common/data/thermostat_schedule_lookup.json +2108 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.AirTerminalSingleDuctVAVReheat.rb +33 -0
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Fan.rb +0 -140
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanConstantVolume.rb +1 -73
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanOnOff.rb +1 -69
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanVariableVolume.rb +0 -116
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.FanZoneExhaust.rb +0 -61
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.hvac.rb +2 -2
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.rb +128 -13
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.hvac_systems.rb +606 -607
- data/lib/openstudio-standards/prototypes/common/prototype_space_type_map.rb +41 -0
- data/lib/openstudio-standards/prototypes/common/space_type_equipment_map.rb +184 -0
- data/lib/openstudio-standards/prototypes/common/space_type_thermostat_schedule_map.rb +116 -0
- data/lib/openstudio-standards/qaqc/hvac.rb +12 -12
- data/lib/openstudio-standards/refrigeration/create_compressor.rb +2 -5
- data/lib/openstudio-standards/refrigeration/data/refrigeration_compressors.csv +4 -4
- data/lib/openstudio-standards/service_water_heating/create_water_heater.rb +1 -2
- data/lib/openstudio-standards/service_water_heating/create_water_use.rb +5 -5
- data/lib/openstudio-standards/space_type/data/level_1_space_types.json +612 -0
- data/lib/openstudio-standards/space_type/standards_space_type.rb +53 -0
- data/lib/openstudio-standards/standards/Standards.AirConditionerVariableRefrigerantFlow.rb +8 -26
- data/lib/openstudio-standards/standards/Standards.AirLoopHVAC.rb +13 -13
- data/lib/openstudio-standards/standards/Standards.AirTerminalSingleDuctVAVReheat.rb +0 -24
- data/lib/openstudio-standards/standards/Standards.BoilerHotWater.rb +6 -43
- data/lib/openstudio-standards/standards/Standards.ChillerElectricEIR.rb +7 -24
- data/lib/openstudio-standards/standards/Standards.CoilCoolingDXMultiSpeed.rb +19 -44
- data/lib/openstudio-standards/standards/Standards.CoilCoolingDXSingleSpeed.rb +25 -50
- data/lib/openstudio-standards/standards/Standards.CoilCoolingDXTwoSpeed.rb +25 -33
- data/lib/openstudio-standards/standards/Standards.CoilCoolingWaterToAirHeatPumpEquationFit.rb +9 -22
- data/lib/openstudio-standards/standards/Standards.CoilDX.rb +15 -157
- data/lib/openstudio-standards/standards/Standards.CoilHeatingDXMultiSpeed.rb +2 -2
- data/lib/openstudio-standards/standards/Standards.CoilHeatingDXSingleSpeed.rb +18 -105
- data/lib/openstudio-standards/standards/Standards.CoilHeatingGas.rb +3 -23
- data/lib/openstudio-standards/standards/Standards.CoilHeatingGasMultiStage.rb +0 -24
- data/lib/openstudio-standards/standards/Standards.CoilHeatingWaterToAirHeatPumpEquationFit.rb +2 -86
- data/lib/openstudio-standards/standards/Standards.FanVariableVolume.rb +0 -107
- data/lib/openstudio-standards/standards/Standards.Model.rb +6 -11
- data/lib/openstudio-standards/standards/Standards.People.rb +113 -0
- data/lib/openstudio-standards/standards/Standards.PlantLoop.rb +11 -11
- data/lib/openstudio-standards/standards/Standards.Pump.rb +2 -147
- data/lib/openstudio-standards/standards/Standards.PumpVariableSpeed.rb +57 -41
- data/lib/openstudio-standards/standards/Standards.SpaceType.rb +30 -153
- data/lib/openstudio-standards/standards/Standards.Ventilation.rb +74 -0
- data/lib/openstudio-standards/standards/Standards.ZoneHVACComponent.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.PlantLoop.rb +4 -4
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.heat_pumps_heating.json +3 -3
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2004/data/ashrae_90_1_2004.spc_typ.json +37 -112
- 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
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.heat_pumps_heating.json +3 -3
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2007/data/ashrae_90_1_2007.spc_typ.json +37 -112
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.AirTerminalSingleDuctVAVReheat.rb +1 -1
- 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
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.heat_pumps_heating.json +6 -6
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2010/data/ashrae_90_1_2010.spc_typ.json +37 -37
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.BoilerHotWater.rb +1 -1
- 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
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.heat_pumps_heating.json +6 -6
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2013/data/ashrae_90_1_2013.spc_typ.json +37 -37
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.BoilerHotWater.rb +1 -1
- 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
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.heat_pumps_heating.json +6 -6
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2016/data/ashrae_90_1_2016.spc_typ.json +37 -37
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirLoopHVAC.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.BoilerHotWater.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.CoilHeatingGas.rb +1 -1
- 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
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.heat_pumps_heating.json +6 -6
- data/lib/openstudio-standards/standards/ashrae_90_1/ashrae_90_1_2019/data/ashrae_90_1_2019.spc_typ.json +37 -37
- data/lib/openstudio-standards/standards/ashrae_90_1/data/ashrae_90_1.curves.json +0 -200
- 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
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_1980_2004/data/doe_ref_1980_2004.spc_typ.json +37 -37
- 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
- data/lib/openstudio-standards/standards/ashrae_90_1/doe_ref_pre_1980/data/doe_ref_pre_1980.spc_typ.json +37 -37
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/nrel_zne_ready_2017/nrel_zne_ready_2017.PlantLoop.rb +5 -5
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.AirTerminalSingleDuctVAVReheat.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1/ze_aedg_multifamily/ze_aedg_multifamily.PlantLoop.rb +5 -5
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.AirLoopHVAC.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.ChillerElectricEIR.rb +2 -2
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilCoolingDXSingleSpeed.rb +2 -68
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilCoolingDXTwoSpeed.rb +2 -35
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilDX.rb +42 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilHeatingDXSingleSpeed.rb +5 -2
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.CoilHeatingGas.rb +2 -2
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.PlantLoop.rb +3 -3
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.SpaceType.rb +1 -1
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/ashrae_90_1_prm_2019.Model.rb +1 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm_2019/ashrae_90_1_prm_2019_WaterHeaterMixed.rb +2 -4
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/data/ashrae_90_1_prm.curves.json +0 -200
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/data/ashrae_90_1_prm.fans.json +5 -5
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/ashrae_90_1_prm.UserData.rb +1 -0
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/userdata_csv/userdata_enums.rb +0 -1
- data/lib/openstudio-standards/standards/cbes/data/cbes.curves.json +0 -200
- data/lib/openstudio-standards/standards/deer/data/deer.curves.json +0 -200
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/btap_pre1980.rb +19 -10
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/building_envelope.rb +12 -11
- data/lib/openstudio-standards/standards/necb/BTAPPRE1980/hvac_systems.rb +4 -4
- data/lib/openstudio-standards/standards/necb/ECMS/ecms.rb +1 -1
- data/lib/openstudio-standards/standards/necb/ECMS/hvac_systems.rb +69 -92
- data/lib/openstudio-standards/standards/necb/NECB2011/autozone.rb +2 -1
- data/lib/openstudio-standards/standards/necb/NECB2011/beps_compliance_path.rb +16 -12
- data/lib/openstudio-standards/standards/necb/NECB2011/building_envelope.rb +799 -46
- data/lib/openstudio-standards/standards/necb/NECB2011/data/chillers.json +33 -51
- data/lib/openstudio-standards/standards/necb/NECB2011/data/constants.json +32 -0
- data/lib/openstudio-standards/standards/necb/NECB2011/data/fuel_type_sets.json +18 -0
- data/lib/openstudio-standards/standards/necb/NECB2011/data/heat_pumps_heating.json +21 -15
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_namer.rb +5 -5
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_system_1_single_speed.rb +2 -0
- data/lib/openstudio-standards/standards/necb/NECB2011/hvac_systems.rb +30 -141
- data/lib/openstudio-standards/standards/necb/NECB2011/necb_2011.rb +233 -112
- data/lib/openstudio-standards/standards/necb/NECB2015/data/heat_pumps_heating.json +10 -2
- data/lib/openstudio-standards/standards/necb/NECB2015/hvac_systems.rb +2 -2
- data/lib/openstudio-standards/standards/necb/NECB2020/data/heat_pumps_heating.json +16 -6
- data/lib/openstudio-standards/standards/necb/NECB2020/data/unitary_acs.json +60 -61
- data/lib/openstudio-standards/standards/necb/NECB2020/service_water_heating.rb +30 -30
- data/lib/openstudio-standards/standards/necb/common/btap_analysis.rb +79 -0
- data/lib/openstudio-standards/standards/necb/common/btap_data.rb +16 -4
- data/lib/openstudio-standards/standards/necb/common/btap_datapoint.rb +65 -42
- data/lib/openstudio-standards/thermal_zone/{thermal_zone.rb → information.rb} +12 -45
- data/lib/openstudio-standards/thermal_zone/thermostat_schedules.rb +152 -0
- data/lib/openstudio-standards/version.rb +1 -1
- data/lib/openstudio-standards/weather/stat_file.rb +2 -2
- data/lib/openstudio-standards.rb +55 -38
- metadata +106 -66
- data/lib/openstudio-standards/btap/costing/common_resources/constructions_glazing.csv +0 -61
- data/lib/openstudio-standards/btap/costing/common_resources/costs.csv +0 -1904
- data/lib/openstudio-standards/hvac/components/create.rb +0 -169
- data/lib/openstudio-standards/hvac/components/modify.rb +0 -42
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.AirConditionerVariableRefrigerantFlow.rb +0 -438
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.BoilerHotWater.rb +0 -123
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CentralAirSourceHeatPump.rb +0 -216
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingDXSingleSpeed.rb +0 -273
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingDXTwoSpeed.rb +0 -159
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingWater.rb +0 -77
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilCoolingWaterToAirHeatPumpEquationFit.rb +0 -154
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingDXSingleSpeed.rb +0 -214
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingElectric.rb +0 -53
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingGas.rb +0 -72
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingWater.rb +0 -95
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.CoilHeatingWaterToAirHeatPumpEquationFit.rb +0 -125
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.ControllerWaterCoil.rb +0 -17
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Model.transformers.rb +0 -90
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.Pump.rb +0 -4
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.PumpVariableSpeed.rb +0 -70
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.radiant_system_controls.rb +0 -590
- data/lib/openstudio-standards/prototypes/common/objects/Prototype.utilities.rb +0 -901
- data/lib/openstudio-standards/standards/Standards.FanConstantVolume.rb +0 -5
- data/lib/openstudio-standards/standards/Standards.FanOnOff.rb +0 -5
- data/lib/openstudio-standards/standards/Standards.FanZoneExhaust.rb +0 -5
- data/lib/openstudio-standards/standards/Standards.HeaderedPumpsConstantSpeed.rb +0 -5
- data/lib/openstudio-standards/standards/Standards.HeaderedPumpsVariableSpeed.rb +0 -55
- data/lib/openstudio-standards/standards/Standards.PumpConstantSpeed.rb +0 -5
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.FanConstantVolume.rb +0 -5
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.FanOnOff.rb +0 -5
- data/lib/openstudio-standards/standards/ashrae_90_1_prm/ashrae_90_1_prm.FanZoneExhaust.rb +0 -5
- data/lib/openstudio-standards/standards/cbes/data/cbes.fans.json +0 -328
- data/lib/openstudio-standards/standards/deer/data/deer.fans.json +0 -328
- /data/lib/openstudio-standards/btap/{costing/common_resources → common_resources}/ConstructionProperties.csv +0 -0
- /data/lib/openstudio-standards/btap/{costing/common_resources → common_resources}/Constructions.csv +0 -0
- /data/lib/openstudio-standards/btap/{costing/common_resources → common_resources}/construction_sets.csv +0 -0
- /data/lib/openstudio-standards/btap/{costing/common_resources → common_resources}/constructions_opaque.csv +0 -0
- /data/lib/openstudio-standards/btap/{costing/common_resources → common_resources}/costs_local_factors.csv +0 -0
- /data/lib/openstudio-standards/btap/{costing/common_resources → common_resources}/hvac_vent_ahu.csv +0 -0
- /data/lib/openstudio-standards/btap/{costing/common_resources → common_resources}/lighting_sets.csv +0 -0
- /data/lib/openstudio-standards/btap/{costing/common_resources → common_resources}/locations.csv +0 -0
- /data/lib/openstudio-standards/btap/{costing/common_resources → common_resources}/materials_glazing.csv +0 -0
- /data/lib/openstudio-standards/btap/{costing/common_resources → common_resources}/materials_lighting.csv +0 -0
- /data/lib/openstudio-standards/btap/{costing/common_resources → common_resources}/materials_opaque.csv +0 -0
- /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2004/ashrae_90_1_2004.PumpVariableSpeed.rb +0 -0
- /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2007/ashrae_90_1_2007.PumpVariableSpeed.rb +0 -0
- /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2010/ashrae_90_1_2010.PumpVariableSpeed.rb +0 -0
- /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2013/ashrae_90_1_2013.PumpVariableSpeed.rb +0 -0
- /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2016/ashrae_90_1_2016.PumpVariableSpeed.rb +0 -0
- /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.Pump.rb +0 -0
- /data/lib/openstudio-standards/{prototypes → standards}/ashrae_90_1/ashrae_90_1_2019/ashrae_90_1_2019.PumpVariableSpeed.rb +0 -0
|
@@ -0,0 +1,98 @@
|
|
|
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:Coil
|
|
5
|
+
# Methods to create, modify, and get information about HVAC coil objects
|
|
6
|
+
|
|
7
|
+
# Create CoilHeatingWater object
|
|
8
|
+
#
|
|
9
|
+
# @param model [OpenStudio::Model::Model] OpenStudio model object
|
|
10
|
+
# @param hot_water_loop [<OpenStudio::Model::PlantLoop>] the coil will be placed on the demand side of this plant loop
|
|
11
|
+
# @param air_loop_node [<OpenStudio::Model::Node>] the coil will be placed on this node of the air loop
|
|
12
|
+
# @param name [String] the name of the coil, or nil in which case it will be defaulted
|
|
13
|
+
# @param schedule [String] name of the availability schedule, or [<OpenStudio::Model::Schedule>] Schedule object, or nil in which case default to always on
|
|
14
|
+
# @param rated_inlet_water_temperature [Double] rated inlet water temperature in degrees Celsius, default is hot water loop design exit temperature
|
|
15
|
+
# @param rated_outlet_water_temperature [Double] rated outlet water temperature in degrees Celsius, default is hot water loop design return temperature
|
|
16
|
+
# @param rated_inlet_air_temperature [Double] rated inlet air temperature in degrees Celsius, default is 16.6 (62F)
|
|
17
|
+
# @param rated_outlet_air_temperature [Double] rated outlet air temperature in degrees Celsius, default is 32.2 (90F)
|
|
18
|
+
# @param controller_convergence_tolerance [Double] controller convergence tolerance
|
|
19
|
+
# @return [OpenStudio::Model::CoilHeatingWater] the heating coil
|
|
20
|
+
def self.create_coil_heating_water(model,
|
|
21
|
+
hot_water_loop,
|
|
22
|
+
air_loop_node: nil,
|
|
23
|
+
name: 'Htg Coil',
|
|
24
|
+
schedule: nil,
|
|
25
|
+
rated_inlet_water_temperature: nil,
|
|
26
|
+
rated_outlet_water_temperature: nil,
|
|
27
|
+
rated_inlet_air_temperature: 16.6,
|
|
28
|
+
rated_outlet_air_temperature: 32.2,
|
|
29
|
+
controller_convergence_tolerance: 0.1)
|
|
30
|
+
htg_coil = OpenStudio::Model::CoilHeatingWater.new(model)
|
|
31
|
+
|
|
32
|
+
# add to hot water loop
|
|
33
|
+
hot_water_loop.addDemandBranchForComponent(htg_coil)
|
|
34
|
+
|
|
35
|
+
# add to air loop if specified
|
|
36
|
+
htg_coil.addToNode(air_loop_node) unless air_loop_node.nil?
|
|
37
|
+
|
|
38
|
+
# set coil name
|
|
39
|
+
if name.nil?
|
|
40
|
+
htg_coil.setName('Htg Coil')
|
|
41
|
+
else
|
|
42
|
+
htg_coil.setName(name)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# set coil availability schedule
|
|
46
|
+
if schedule.nil?
|
|
47
|
+
# default always on
|
|
48
|
+
coil_availability_schedule = model.alwaysOnDiscreteSchedule
|
|
49
|
+
elsif schedule.instance_of?(String)
|
|
50
|
+
coil_availability_schedule = model_add_schedule(model, schedule)
|
|
51
|
+
|
|
52
|
+
if coil_availability_schedule.nil? && schedule == 'alwaysOffDiscreteSchedule'
|
|
53
|
+
coil_availability_schedule = model.alwaysOffDiscreteSchedule
|
|
54
|
+
elsif coil_availability_schedule.nil?
|
|
55
|
+
coil_availability_schedule = model.alwaysOnDiscreteSchedule
|
|
56
|
+
end
|
|
57
|
+
elsif !schedule.to_Schedule.empty?
|
|
58
|
+
coil_availability_schedule = schedule
|
|
59
|
+
end
|
|
60
|
+
htg_coil.setAvailabilitySchedule(coil_availability_schedule)
|
|
61
|
+
|
|
62
|
+
# rated water temperatures, use hot water loop temperatures if defined
|
|
63
|
+
if rated_inlet_water_temperature.nil?
|
|
64
|
+
rated_inlet_water_temperature = hot_water_loop.sizingPlant.designLoopExitTemperature
|
|
65
|
+
htg_coil.setRatedInletWaterTemperature(rated_inlet_water_temperature)
|
|
66
|
+
else
|
|
67
|
+
htg_coil.setRatedInletWaterTemperature(rated_inlet_water_temperature)
|
|
68
|
+
end
|
|
69
|
+
if rated_outlet_water_temperature.nil?
|
|
70
|
+
rated_outlet_water_temperature = rated_inlet_water_temperature - hot_water_loop.sizingPlant.loopDesignTemperatureDifference
|
|
71
|
+
htg_coil.setRatedOutletWaterTemperature(rated_outlet_water_temperature)
|
|
72
|
+
else
|
|
73
|
+
htg_coil.setRatedOutletWaterTemperature(rated_outlet_water_temperature)
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
# rated air temperatures
|
|
77
|
+
if rated_inlet_air_temperature.nil?
|
|
78
|
+
htg_coil.setRatedInletAirTemperature(16.6)
|
|
79
|
+
else
|
|
80
|
+
htg_coil.setRatedInletAirTemperature(rated_inlet_air_temperature)
|
|
81
|
+
end
|
|
82
|
+
if rated_outlet_air_temperature.nil?
|
|
83
|
+
htg_coil.setRatedOutletAirTemperature(32.2)
|
|
84
|
+
else
|
|
85
|
+
htg_coil.setRatedOutletAirTemperature(rated_outlet_air_temperature)
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# coil controller properties
|
|
89
|
+
# @note These inputs will get overwritten if addToNode or addDemandBranchForComponent is called on the htg_coil object after this
|
|
90
|
+
htg_coil_controller = htg_coil.controllerWaterCoil.get
|
|
91
|
+
htg_coil_controller.setName("#{htg_coil.name} Controller")
|
|
92
|
+
htg_coil_controller.setMinimumActuatedFlow(0.0)
|
|
93
|
+
htg_coil_controller.setControllerConvergenceTolerance(controller_convergence_tolerance) unless controller_convergence_tolerance.nil?
|
|
94
|
+
|
|
95
|
+
return htg_coil
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
end
|
data/lib/openstudio-standards/hvac/components/coil_heating_water_to_air_heat_pump_equation_fit.rb
ADDED
|
@@ -0,0 +1,147 @@
|
|
|
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:Coil
|
|
5
|
+
# Methods to create, modify, and get information about HVAC coil objects
|
|
6
|
+
|
|
7
|
+
# Create CoilHeatingWaterToAirHeatPumpEquationFit object
|
|
8
|
+
# Enters in default curves for coil by type of coil
|
|
9
|
+
#
|
|
10
|
+
# @param model [OpenStudio::Model::Model] OpenStudio model object
|
|
11
|
+
# @param plant_loop [<OpenStudio::Model::PlantLoop>] the coil will be placed on the demand side of this plant loop
|
|
12
|
+
# @param air_loop_node [<OpenStudio::Model::Node>] the coil will be placed on this node of the air loop
|
|
13
|
+
# @param name [String] the name of the system, or nil in which case it will be defaulted
|
|
14
|
+
# @param type [String] the type of coil to reference the correct curve set
|
|
15
|
+
# @param cop [Double] rated heating coefficient of performance
|
|
16
|
+
# @return [OpenStudio::Model::CoilHeatingWaterToAirHeatPumpEquationFit] the heating coil
|
|
17
|
+
def self.create_coil_heating_water_to_air_heat_pump_equation_fit(model,
|
|
18
|
+
plant_loop,
|
|
19
|
+
air_loop_node: nil,
|
|
20
|
+
name: 'Water-to-Air HP Htg Coil',
|
|
21
|
+
type: nil,
|
|
22
|
+
cop: 4.2)
|
|
23
|
+
htg_coil = OpenStudio::Model::CoilHeatingWaterToAirHeatPumpEquationFit.new(model)
|
|
24
|
+
|
|
25
|
+
# add to air loop if specified
|
|
26
|
+
htg_coil.addToNode(air_loop_node) unless air_loop_node.nil?
|
|
27
|
+
|
|
28
|
+
# set coil name
|
|
29
|
+
htg_coil.setName(name)
|
|
30
|
+
|
|
31
|
+
# add to plant loop
|
|
32
|
+
if plant_loop.nil?
|
|
33
|
+
OpenStudio.logFree(OpenStudio::Error, 'openstudio.standards.HVAC', 'No plant loop supplied for heating coil')
|
|
34
|
+
return false
|
|
35
|
+
end
|
|
36
|
+
plant_loop.addDemandBranchForComponent(htg_coil)
|
|
37
|
+
|
|
38
|
+
# set coil cop
|
|
39
|
+
if cop.nil?
|
|
40
|
+
htg_coil.setRatedHeatingCoefficientofPerformance(4.2)
|
|
41
|
+
else
|
|
42
|
+
htg_coil.setRatedHeatingCoefficientofPerformance(cop)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# curve sets
|
|
46
|
+
if type == 'OS default'
|
|
47
|
+
# use OS default curves
|
|
48
|
+
else # default curve set
|
|
49
|
+
if model.version < OpenStudio::VersionString.new('3.2.0')
|
|
50
|
+
htg_coil.setHeatingCapacityCoefficient1(0.237847462869254)
|
|
51
|
+
htg_coil.setHeatingCapacityCoefficient2(-3.35823796081626)
|
|
52
|
+
htg_coil.setHeatingCapacityCoefficient3(3.80640467406376)
|
|
53
|
+
htg_coil.setHeatingCapacityCoefficient4(0.179200417311554)
|
|
54
|
+
htg_coil.setHeatingCapacityCoefficient5(0.12860719846082)
|
|
55
|
+
htg_coil.setHeatingPowerConsumptionCoefficient1(-3.79175529243238)
|
|
56
|
+
htg_coil.setHeatingPowerConsumptionCoefficient2(3.38799239505527)
|
|
57
|
+
htg_coil.setHeatingPowerConsumptionCoefficient3(1.5022612076303)
|
|
58
|
+
htg_coil.setHeatingPowerConsumptionCoefficient4(-0.177653510577989)
|
|
59
|
+
htg_coil.setHeatingPowerConsumptionCoefficient5(-0.103079864171839)
|
|
60
|
+
else
|
|
61
|
+
if model.getCurveByName('Water to Air Heat Pump Heating Capacity Curve').is_initialized
|
|
62
|
+
heating_capacity_curve = model.getCurveByName('Water to Air Heat Pump Heating Capacity Curve').get
|
|
63
|
+
heating_capacity_curve = heating_capacity_curve.to_CurveQuadLinear.get
|
|
64
|
+
else
|
|
65
|
+
heating_capacity_curve = OpenStudio::Model::CurveQuadLinear.new(model)
|
|
66
|
+
heating_capacity_curve.setName('Water to Air Heat Pump Heating Capacity Curve')
|
|
67
|
+
heating_capacity_curve.setCoefficient1Constant(0.237847462869254)
|
|
68
|
+
heating_capacity_curve.setCoefficient2w(-3.35823796081626)
|
|
69
|
+
heating_capacity_curve.setCoefficient3x(3.80640467406376)
|
|
70
|
+
heating_capacity_curve.setCoefficient4y(0.179200417311554)
|
|
71
|
+
heating_capacity_curve.setCoefficient5z(0.12860719846082)
|
|
72
|
+
heating_capacity_curve.setMinimumValueofw(-100)
|
|
73
|
+
heating_capacity_curve.setMaximumValueofw(100)
|
|
74
|
+
heating_capacity_curve.setMinimumValueofx(-100)
|
|
75
|
+
heating_capacity_curve.setMaximumValueofx(100)
|
|
76
|
+
heating_capacity_curve.setMinimumValueofy(0)
|
|
77
|
+
heating_capacity_curve.setMaximumValueofy(100)
|
|
78
|
+
heating_capacity_curve.setMinimumValueofz(0)
|
|
79
|
+
heating_capacity_curve.setMaximumValueofz(100)
|
|
80
|
+
end
|
|
81
|
+
htg_coil.setHeatingCapacityCurve(heating_capacity_curve)
|
|
82
|
+
|
|
83
|
+
if model.getCurveByName('Water to Air Heat Pump Heating Power Consumption Curve').is_initialized
|
|
84
|
+
heating_power_consumption_curve = model.getCurveByName('Water to Air Heat Pump Heating Power Consumption Curve').get
|
|
85
|
+
heating_power_consumption_curve = heating_power_consumption_curve.to_CurveQuadLinear.get
|
|
86
|
+
else
|
|
87
|
+
heating_power_consumption_curve = OpenStudio::Model::CurveQuadLinear.new(model)
|
|
88
|
+
heating_power_consumption_curve.setName('Water to Air Heat Pump Heating Power Consumption Curve')
|
|
89
|
+
heating_power_consumption_curve.setCoefficient1Constant(-3.79175529243238)
|
|
90
|
+
heating_power_consumption_curve.setCoefficient2w(3.38799239505527)
|
|
91
|
+
heating_power_consumption_curve.setCoefficient3x(1.5022612076303)
|
|
92
|
+
heating_power_consumption_curve.setCoefficient4y(-0.177653510577989)
|
|
93
|
+
heating_power_consumption_curve.setCoefficient5z(-0.103079864171839)
|
|
94
|
+
heating_power_consumption_curve.setMinimumValueofw(-100)
|
|
95
|
+
heating_power_consumption_curve.setMaximumValueofw(100)
|
|
96
|
+
heating_power_consumption_curve.setMinimumValueofx(-100)
|
|
97
|
+
heating_power_consumption_curve.setMaximumValueofx(100)
|
|
98
|
+
heating_power_consumption_curve.setMinimumValueofy(0)
|
|
99
|
+
heating_power_consumption_curve.setMaximumValueofy(100)
|
|
100
|
+
heating_power_consumption_curve.setMinimumValueofz(0)
|
|
101
|
+
heating_power_consumption_curve.setMaximumValueofz(100)
|
|
102
|
+
end
|
|
103
|
+
htg_coil.setHeatingPowerConsumptionCurve(heating_power_consumption_curve)
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
# part load fraction correlation curve added as a required curve in OS v3.7.0
|
|
107
|
+
if model.version > OpenStudio::VersionString.new('3.6.1')
|
|
108
|
+
if model.getCurveByName('Water to Air Heat Pump Part Load Fraction Correlation Curve').is_initialized
|
|
109
|
+
part_load_correlation_curve = model.getCurveByName('Water to Air Heat Pump Part Load Fraction Correlation Curve').get
|
|
110
|
+
part_load_correlation_curve = part_load_correlation_curve.to_CurveLinear.get
|
|
111
|
+
else
|
|
112
|
+
part_load_correlation_curve = OpenStudio::Model::CurveLinear.new(model)
|
|
113
|
+
part_load_correlation_curve.setName('Water to Air Heat Pump Part Load Fraction Correlation Curve')
|
|
114
|
+
part_load_correlation_curve.setCoefficient1Constant(0.833746458696111)
|
|
115
|
+
part_load_correlation_curve.setCoefficient2x(0.166253541303889)
|
|
116
|
+
part_load_correlation_curve.setMinimumValueofx(0)
|
|
117
|
+
part_load_correlation_curve.setMaximumValueofx(1)
|
|
118
|
+
part_load_correlation_curve.setMinimumCurveOutput(0)
|
|
119
|
+
part_load_correlation_curve.setMaximumCurveOutput(1)
|
|
120
|
+
end
|
|
121
|
+
htg_coil.setPartLoadFractionCorrelationCurve(part_load_correlation_curve)
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
return htg_coil
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
# Return the capacity in W of a CoilHeatingWaterToAirHeatPumpEquationFit
|
|
129
|
+
#
|
|
130
|
+
# @param coil_heating_water_to_air_heat_pump [OpenStudio::Model::CoilHeatingWaterToAirHeatPumpEquationFit] coil coheating water to air heat pump object
|
|
131
|
+
# @param multiplier [Double] zone multiplier, if applicable
|
|
132
|
+
# @return [Double] capacity in W
|
|
133
|
+
def self.coil_heating_water_to_air_heat_pump_equation_fit_get_capacity(coil_heating_water_to_air_heat_pump, multiplier: 1.0)
|
|
134
|
+
capacity_w = nil
|
|
135
|
+
if coil_heating_water_to_air_heat_pump.ratedHeatingCapacity.is_initialized
|
|
136
|
+
capacity_w = coil_heating_water_to_air_heat_pump.ratedHeatingCapacity.get
|
|
137
|
+
elsif coil_heating_water_to_air_heat_pump.autosizedRatedHeatingCapacity.is_initialized
|
|
138
|
+
capacity_w = coil_heating_water_to_air_heat_pump.autosizedRatedHeatingCapacity.get
|
|
139
|
+
else
|
|
140
|
+
OpenStudio.logFree(OpenStudio::Warn, 'openstudio.standards.HVAC.coil_heating_water_to_air_heat_pump_equation_fit', "For #{coil_heating_water_to_air_heat_pump.name} capacity is not available.")
|
|
141
|
+
return capacity_w
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
return capacity_w
|
|
145
|
+
end
|
|
146
|
+
end
|
|
147
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
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
|
|
5
|
+
# Methods to create, modify, and get information about HVAC components
|
|
6
|
+
|
|
7
|
+
# Returns the thermal zone associated with an HVAC component
|
|
8
|
+
#
|
|
9
|
+
# @param hvac_component [OpenStudio::Model::HVACComponent] HVAC component object
|
|
10
|
+
# @return [OpenStudio::Model::ThermalZone] thermal zone object
|
|
11
|
+
def self.hvac_component_get_thermal_zone(hvac_component)
|
|
12
|
+
if hvac_component.to_ZoneHVACComponent.is_initialized
|
|
13
|
+
hvac_component = hvac_component.to_ZoneHVACComponent.get
|
|
14
|
+
if hvac_component.thermalZone.is_initialized
|
|
15
|
+
return hvac_component.thermalZone.get
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
if hvac_component.containingHVACComponent.is_initialized
|
|
20
|
+
hvac_component = hvac_component.containingHVACComponent.get
|
|
21
|
+
if hvac_component.to_AirLoopHVACUnitarySystem.is_initialized
|
|
22
|
+
unitary = hvac_component.to_AirLoopHVACUnitarySystem.get
|
|
23
|
+
if unitary.controllingZoneorThermostatLocation.is_initialized
|
|
24
|
+
return unitary.controllingZoneorThermostatLocation.get
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
if hvac_component.containingZoneHVACComponent.is_initialized
|
|
30
|
+
hvac_component = hvac_component.containingZoneHVACComponent.get
|
|
31
|
+
if hvac_component.thermalZone.is_initialized
|
|
32
|
+
return hvac_component.thermalZone.get
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
return nil
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"motor_in_airstream_fraction": 1.0,
|
|
34
34
|
"fan_power_minimum_flow_rate_fraction": 0.25,
|
|
35
35
|
"fan_power_minimum_flow_rate_input_method": "Fraction",
|
|
36
|
-
"fan_curve": "Single
|
|
36
|
+
"fan_curve": "Single Zone VAV",
|
|
37
37
|
"notes": null
|
|
38
38
|
},
|
|
39
39
|
{
|
|
@@ -153,7 +153,7 @@
|
|
|
153
153
|
"motor_in_airstream_fraction": 1.0,
|
|
154
154
|
"fan_power_minimum_flow_rate_fraction": 0.25,
|
|
155
155
|
"fan_power_minimum_flow_rate_input_method": "Fraction",
|
|
156
|
-
"fan_curve": "Single
|
|
156
|
+
"fan_curve": "Single Zone VAV",
|
|
157
157
|
"notes": null
|
|
158
158
|
},
|
|
159
159
|
{
|
|
@@ -255,7 +255,7 @@
|
|
|
255
255
|
{
|
|
256
256
|
"name": "Unit_Heater_Fan",
|
|
257
257
|
"type": "ConstantVolume",
|
|
258
|
-
"pressure_rise":
|
|
258
|
+
"pressure_rise": 0.2,
|
|
259
259
|
"fan_efficiency": 0.53625,
|
|
260
260
|
"motor_efficiency": 0.825,
|
|
261
261
|
"motor_in_airstream_fraction": 1.0,
|
|
@@ -273,7 +273,7 @@
|
|
|
273
273
|
"motor_in_airstream_fraction": 1.0,
|
|
274
274
|
"fan_power_minimum_flow_rate_fraction": 0.25,
|
|
275
275
|
"fan_power_minimum_flow_rate_input_method": "Fraction",
|
|
276
|
-
"fan_curve": "Multi
|
|
276
|
+
"fan_curve": "Multi Zone VAV with Static Pressure Setpoint Reset",
|
|
277
277
|
"notes": null
|
|
278
278
|
},
|
|
279
279
|
{
|
|
@@ -285,7 +285,7 @@
|
|
|
285
285
|
"motor_in_airstream_fraction": 1.0,
|
|
286
286
|
"fan_power_minimum_flow_rate_fraction": 0.25,
|
|
287
287
|
"fan_power_minimum_flow_rate_input_method": "Fraction",
|
|
288
|
-
"fan_curve": "Multi
|
|
288
|
+
"fan_curve": "Multi Zone VAV with Static Pressure Setpoint Reset",
|
|
289
289
|
"notes": null
|
|
290
290
|
},
|
|
291
291
|
{
|
|
@@ -309,7 +309,7 @@
|
|
|
309
309
|
"motor_in_airstream_fraction": 1.0,
|
|
310
310
|
"fan_power_minimum_flow_rate_fraction": null,
|
|
311
311
|
"fan_power_minimum_flow_rate_input_method": null,
|
|
312
|
-
"fan_curve": "Multi
|
|
312
|
+
"fan_curve": "Multi Zone VAV with Static Pressure Setpoint Reset",
|
|
313
313
|
"notes": null
|
|
314
314
|
},
|
|
315
315
|
{
|