From 937345cd7457bdcb4d1fc58741cb57cfe9f52f12 Mon Sep 17 00:00:00 2001 From: Rick Strand Date: Fri, 30 Aug 2024 14:19:06 -0500 Subject: [PATCH 1/4] 10677 Fix of BB Crash This fix avoids the hard crash that is taking place in the defect IDF by not doing sizing when sizing is not required for the convective water baseboard unit. --- src/EnergyPlus/BaseboardRadiator.cc | 16 ++++++++++++++++ src/EnergyPlus/BaseboardRadiator.hh | 2 ++ 2 files changed, 18 insertions(+) diff --git a/src/EnergyPlus/BaseboardRadiator.cc b/src/EnergyPlus/BaseboardRadiator.cc index 62ee9c5446a..ff20a88ebaf 100644 --- a/src/EnergyPlus/BaseboardRadiator.cc +++ b/src/EnergyPlus/BaseboardRadiator.cc @@ -418,6 +418,8 @@ namespace BaseboardRadiator { thisBaseboard.ZonePtr = DataZoneEquipment::GetZoneEquipControlledZoneNum( state, DataZoneEquipment::ZoneEquipType::BaseboardConvectiveWater, thisBaseboard.EquipID); + + thisBaseboard.resetSizingFlagBasedOnInput(state); // set MySizeFlag to false if no autosizing is being done } if (ErrorsFound) { @@ -941,6 +943,20 @@ namespace BaseboardRadiator { } } + void BaseboardParams::resetSizingFlagBasedOnInput(EnergyPlusData &state) + { + // this->MySizeFlag defaults to true. Set to false if no sizing is requested. + // Condition 1: Is UA hardwired (not autosized)? + // Condition 2: Is max flow rate hardwired (not autosized)? + // Condition 3: Is EITHER capacity used and hardwired (not autosized) OR capacity per floor area used? + // If YES to all three, then this unit does not need to be autosized and the sizing flag needs to be set to false. + if ((this->UA != DataSizing::AutoSize) && (this->WaterVolFlowRateMax != DataSizing::AutoSize) && + (((this->HeatingCapMethod == DataSizing::HeatingDesignCapacity) && (this->ScaledHeatingCapacity != DataSizing::AutoSize)) || + (this->HeatingCapMethod == DataSizing::CapacityPerFloorArea))) { + this->MySizeFlag = false; + } + } + void SimHWConvective(EnergyPlusData &state, int &BaseboardNum, Real64 &LoadMet) { // SUBROUTINE INFORMATION: diff --git a/src/EnergyPlus/BaseboardRadiator.hh b/src/EnergyPlus/BaseboardRadiator.hh index a21a326e044..457fbd05687 100644 --- a/src/EnergyPlus/BaseboardRadiator.hh +++ b/src/EnergyPlus/BaseboardRadiator.hh @@ -107,6 +107,8 @@ namespace BaseboardRadiator { void InitBaseboard(EnergyPlusData &state, int baseboardNum); void SizeBaseboard(EnergyPlusData &state, int baseboardNum); + + void resetSizingFlagBasedOnInput(EnergyPlusData &state); }; void SimBaseboard( From 5cdbef83f01b26d8d3fc48ae46308f351b9d670c Mon Sep 17 00:00:00 2001 From: Rick Strand Date: Fri, 6 Sep 2024 11:24:50 -0500 Subject: [PATCH 2/4] 10677 Unit Test of New Subroutine Added a unit test to exercise the new subroutine that was added to fix the defect issue. Candidate PR commit. --- tst/EnergyPlus/unit/BaseboardRadiator.unit.cc | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/tst/EnergyPlus/unit/BaseboardRadiator.unit.cc b/tst/EnergyPlus/unit/BaseboardRadiator.unit.cc index b275ef3df6c..348aa5ac9db 100644 --- a/tst/EnergyPlus/unit/BaseboardRadiator.unit.cc +++ b/tst/EnergyPlus/unit/BaseboardRadiator.unit.cc @@ -479,4 +479,57 @@ TEST_F(EnergyPlusFixture, BaseboardConvWater_SizingTest) EXPECT_EQ(state->dataBaseboardRadiator->baseboards(BaseboardNum).UA, 3000.0); } +TEST_F(EnergyPlusFixture, BaseboardConvWater_resetSizingFlagBasedOnInputTest) +{ + state->dataBaseboardRadiator->baseboards.allocate(1); + auto &thisBB = state->dataBaseboardRadiator->baseboards(1); + + // Test 1A: UA autosized so MySizeFlag should stay true + thisBB.MySizeFlag = true; // reset to default/initialized value + thisBB.UA = DataSizing::AutoSize; + thisBB.WaterVolFlowRateMax = 0.001; + thisBB.HeatingCapMethod = DataSizing::FractionOfAutosizedHeatingCapacity; + thisBB.ScaledHeatingCapacity = 1.0; + thisBB.resetSizingFlagBasedOnInput(*state); + EXPECT_TRUE(thisBB.MySizeFlag); + + // Test 1B: WaterVolFlowRateMax autosized so MySizeFlag should stay true + thisBB.MySizeFlag = true; // reset to default/initialized value + thisBB.UA = 0.5; + thisBB.WaterVolFlowRateMax = DataSizing::AutoSize; + thisBB.HeatingCapMethod = DataSizing::FractionOfAutosizedHeatingCapacity; + thisBB.ScaledHeatingCapacity = 1.0; + thisBB.resetSizingFlagBasedOnInput(*state); + EXPECT_TRUE(thisBB.MySizeFlag); + + // Test 1C: Heating Capacity autosized for method HeatingDesignCapacity so MySizeFlag should stay true + thisBB.MySizeFlag = true; // reset to default/initialized value + thisBB.UA = 0.5; + thisBB.WaterVolFlowRateMax = 0.001; + thisBB.HeatingCapMethod = DataSizing::HeatingDesignCapacity; + thisBB.ScaledHeatingCapacity = DataSizing::AutoSize; + thisBB.resetSizingFlagBasedOnInput(*state); + EXPECT_TRUE(thisBB.MySizeFlag); + + // Test 2A: Heating Capacity not autosized for method HeatingDesignCapacity and UA and WaterVolFlowRateMax not autosized + // so MySizeFlag should be changed to false + thisBB.MySizeFlag = true; // reset to default/initialized value + thisBB.UA = 0.5; + thisBB.WaterVolFlowRateMax = 0.001; + thisBB.HeatingCapMethod = DataSizing::HeatingDesignCapacity; + thisBB.ScaledHeatingCapacity = 1000.0; + thisBB.resetSizingFlagBasedOnInput(*state); + EXPECT_FALSE(thisBB.MySizeFlag); + + // Test 2B: CapacityPerFloorArea method and UA and WaterVolFlowRateMax not autosized + // so MySizeFlag should be changed to false + thisBB.MySizeFlag = true; // reset to default/initialized value + thisBB.UA = 0.5; + thisBB.WaterVolFlowRateMax = 0.001; + thisBB.HeatingCapMethod = DataSizing::CapacityPerFloorArea; + thisBB.ScaledHeatingCapacity = DataSizing::AutoSize; // this value does not mater since it is not really valid for this method + thisBB.resetSizingFlagBasedOnInput(*state); + EXPECT_FALSE(thisBB.MySizeFlag); +} + } // namespace EnergyPlus From a78ec756e164adc4f09768651ac0c2bc50664784 Mon Sep 17 00:00:00 2001 From: Rick Strand Date: Wed, 11 Sep 2024 10:10:02 -0500 Subject: [PATCH 3/4] 10677 Additional Fix for Untrapped Case During review, it was revealed that the baseboard model still crashed when autosizing was used for baseboards and zone sizing was not requested. This corrects that based on comments from @rraustad and @mjwitte. --- src/EnergyPlus/BaseboardRadiator.cc | 6 +----- tst/EnergyPlus/unit/BaseboardRadiator.unit.cc | 2 ++ 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/EnergyPlus/BaseboardRadiator.cc b/src/EnergyPlus/BaseboardRadiator.cc index ff20a88ebaf..7f03f312eaf 100644 --- a/src/EnergyPlus/BaseboardRadiator.cc +++ b/src/EnergyPlus/BaseboardRadiator.cc @@ -638,7 +638,6 @@ namespace BaseboardRadiator { state, cCMO_BBRadiator_Water, this->EquipID, "User-Specified Maximum Water Flow Rate [m3/s]", this->WaterVolFlowRateMax); } } else { - CheckZoneSizing(state, cCMO_BBRadiator_Water, this->EquipID); std::string_view const CompType = cCMO_BBRadiator_Water; std::string_view const CompName = this->EquipID; state.dataSize->DataFracOfAutosizedHeatingCapacity = 1.0; @@ -653,7 +652,6 @@ namespace BaseboardRadiator { if (CapSizingMethod == DataSizing::HeatingDesignCapacity) { if (this->ScaledHeatingCapacity == DataSizing::AutoSize) { - CheckZoneSizing(state, CompType, CompName); zoneEqSizing.DesHeatingLoad = finalZoneSizing.NonAirSysDesHeatLoad; } else { zoneEqSizing.DesHeatingLoad = this->ScaledHeatingCapacity; @@ -667,7 +665,6 @@ namespace BaseboardRadiator { TempSize = zoneEqSizing.DesHeatingLoad; state.dataSize->DataScalableCapSizingON = true; } else if (CapSizingMethod == DataSizing::FractionOfAutosizedHeatingCapacity) { - CheckZoneSizing(state, CompType, CompName); zoneEqSizing.HeatingCapacity = true; state.dataSize->DataFracOfAutosizedHeatingCapacity = this->ScaledHeatingCapacity; zoneEqSizing.DesHeatingLoad = finalZoneSizing.NonAirSysDesHeatLoad; @@ -774,7 +771,6 @@ namespace BaseboardRadiator { CapSizingMethod == DataSizing::FractionOfAutosizedHeatingCapacity) { if (CapSizingMethod == DataSizing::HeatingDesignCapacity) { if (this->ScaledHeatingCapacity == DataSizing::AutoSize) { - CheckZoneSizing(state, CompType, CompName); zoneEqSizing.DesHeatingLoad = finalZoneSizing.NonAirSysDesHeatLoad; } else { zoneEqSizing.DesHeatingLoad = this->ScaledHeatingCapacity; @@ -788,7 +784,6 @@ namespace BaseboardRadiator { TempSize = zoneEqSizing.DesHeatingLoad; state.dataSize->DataScalableCapSizingON = true; } else if (CapSizingMethod == DataSizing::FractionOfAutosizedHeatingCapacity) { - CheckZoneSizing(state, CompType, CompName); zoneEqSizing.HeatingCapacity = true; state.dataSize->DataFracOfAutosizedHeatingCapacity = this->ScaledHeatingCapacity; zoneEqSizing.DesHeatingLoad = finalZoneSizing.NonAirSysDesHeatLoad; @@ -955,6 +950,7 @@ namespace BaseboardRadiator { (this->HeatingCapMethod == DataSizing::CapacityPerFloorArea))) { this->MySizeFlag = false; } + if (this->MySizeFlag) CheckZoneSizing(state, cCMO_BBRadiator_Water, this->EquipID); } void SimHWConvective(EnergyPlusData &state, int &BaseboardNum, Real64 &LoadMet) diff --git a/tst/EnergyPlus/unit/BaseboardRadiator.unit.cc b/tst/EnergyPlus/unit/BaseboardRadiator.unit.cc index 348aa5ac9db..2fcdabd9f68 100644 --- a/tst/EnergyPlus/unit/BaseboardRadiator.unit.cc +++ b/tst/EnergyPlus/unit/BaseboardRadiator.unit.cc @@ -387,6 +387,7 @@ TEST_F(EnergyPlusFixture, BaseboardConvWater_SizingTest) loopsidebranch.Comp.allocate(1); } + state->dataSize->ZoneSizingRunDone = true; DataZoneEquipment::GetZoneEquipmentData(*state); // get electric baseboard inputs BaseboardRadiator::GetBaseboardInput(*state); @@ -483,6 +484,7 @@ TEST_F(EnergyPlusFixture, BaseboardConvWater_resetSizingFlagBasedOnInputTest) { state->dataBaseboardRadiator->baseboards.allocate(1); auto &thisBB = state->dataBaseboardRadiator->baseboards(1); + state->dataSize->ZoneSizingRunDone = true; // Test 1A: UA autosized so MySizeFlag should stay true thisBB.MySizeFlag = true; // reset to default/initialized value From bf006c8651bd3a0af79755883006fd9eac25f05f Mon Sep 17 00:00:00 2001 From: Rick Strand Date: Thu, 12 Sep 2024 13:43:41 -0500 Subject: [PATCH 4/4] 10677 Fix Input Files Fixed three input files that crashed because of the new requirement that zone sizing must be done in order to do autosizing of convective baseboard units. Expect differences in results from develop but these should now run. --- testfiles/HVACStandAloneERV_Economizer.idf | 112 ++++++++++++++++++++- testfiles/VAVSingleDuctReheatBaseboard.idf | 110 +++++++++++++++++++- testfiles/WindACRHControl.idf | 110 +++++++++++++++++++- 3 files changed, 329 insertions(+), 3 deletions(-) diff --git a/testfiles/HVACStandAloneERV_Economizer.idf b/testfiles/HVACStandAloneERV_Economizer.idf index 212b4a046cc..5ac8399d7b3 100644 --- a/testfiles/HVACStandAloneERV_Economizer.idf +++ b/testfiles/HVACStandAloneERV_Economizer.idf @@ -112,7 +112,7 @@ !- =========== ALL OBJECTS IN CLASS: SIMULATIONCONTROL =========== SimulationControl, - No, !- Do Zone Sizing Calculation + Yes, !- Do Zone Sizing Calculation No, !- Do System Sizing Calculation No, !- Do Plant Sizing Calculation Yes, !- Run Simulation for Sizing Periods @@ -1373,6 +1373,116 @@ 0.0013, !- Maximum Water Flow Rate {m3/s} 0.001; !- Convergence Tolerance +!- =========== ALL OBJECTS IN CLASS: SIZING:ZONE AND DESIGNSPECIFICATION:OUTDOORAIR =========== + + Sizing:Zone, + WEST ZONE, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 14., !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50., !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.009, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.004, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA Zone 1, !- Design Specification Outdoor Air Object Name + 0.0, !- Zone Heating Sizing Factor + 0.0, !- Zone Cooling Sizing Factor + DesignDayWithLimit, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + , !- Heating Maximum Air Flow Fraction + , !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize; !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + + DesignSpecification:OutdoorAir, + SZ DSOA Zone 1, !- Name + sum, !- Outdoor Air Method + 0.00236, !- Outdoor Air Flow per Person {m3/s-person} + 0.000305, !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + 0.0; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:Zone, + EAST ZONE, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 14., !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50., !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.009, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.004, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA Zone 2, !- Design Specification Outdoor Air Object Name + 0.0, !- Zone Heating Sizing Factor + 0.0, !- Zone Cooling Sizing Factor + DesignDayWithLimit, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + , !- Heating Maximum Air Flow Fraction + , !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize; !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + + DesignSpecification:OutdoorAir, + SZ DSOA Zone 2, !- Name + sum, !- Outdoor Air Method + 0.00236, !- Outdoor Air Flow per Person {m3/s-person} + 0.000305, !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + 0.0; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:Zone, + NORTH ZONE, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 14., !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50., !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.009, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.004, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA Zone 3, !- Design Specification Outdoor Air Object Name + 0.0, !- Zone Heating Sizing Factor + 0.0, !- Zone Cooling Sizing Factor + DesignDayWithLimit, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + , !- Heating Maximum Air Flow Fraction + , !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize; !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + + DesignSpecification:OutdoorAir, + SZ DSOA Zone 3, !- Name + sum, !- Outdoor Air Method + 0.00236, !- Outdoor Air Flow per Person {m3/s-person} + 0.000305, !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + 0.0; !- Outdoor Air Flow per Zone {m3/s} + !- =========== ALL OBJECTS IN CLASS: ZONEHVAC:EQUIPMENTLIST =========== ZoneHVAC:EquipmentList, diff --git a/testfiles/VAVSingleDuctReheatBaseboard.idf b/testfiles/VAVSingleDuctReheatBaseboard.idf index 12ac99aa40e..5ea81bae7a5 100644 --- a/testfiles/VAVSingleDuctReheatBaseboard.idf +++ b/testfiles/VAVSingleDuctReheatBaseboard.idf @@ -125,7 +125,7 @@ HeatBalanceAlgorithm,ConductionTransferFunction; SimulationControl, - No, !- Do Zone Sizing Calculation + Yes, !- Do Zone Sizing Calculation No, !- Do System Sizing Calculation No, !- Do Plant Sizing Calculation Yes, !- Run Simulation for Sizing Periods @@ -2019,6 +2019,114 @@ 0.0013, !- Maximum Water Flow Rate {m3/s} 0.001; !- Convergence Tolerance + Sizing:Zone, + WEST ZONE, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 14., !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50., !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.009, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.004, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA Zone 1, !- Design Specification Outdoor Air Object Name + 0.0, !- Zone Heating Sizing Factor + 0.0, !- Zone Cooling Sizing Factor + DesignDayWithLimit, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + , !- Heating Maximum Air Flow Fraction + , !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize; !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + + DesignSpecification:OutdoorAir, + SZ DSOA Zone 1, !- Name + sum, !- Outdoor Air Method + 0.00236, !- Outdoor Air Flow per Person {m3/s-person} + 0.000305, !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + 0.0; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:Zone, + EAST ZONE, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 14., !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50., !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.009, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.004, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA Zone 2, !- Design Specification Outdoor Air Object Name + 0.0, !- Zone Heating Sizing Factor + 0.0, !- Zone Cooling Sizing Factor + DesignDayWithLimit, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + , !- Heating Maximum Air Flow Fraction + , !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize; !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + + DesignSpecification:OutdoorAir, + SZ DSOA Zone 2, !- Name + sum, !- Outdoor Air Method + 0.00236, !- Outdoor Air Flow per Person {m3/s-person} + 0.000305, !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + 0.0; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:Zone, + NORTH ZONE, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 14., !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50., !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.009, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.004, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA Zone 3, !- Design Specification Outdoor Air Object Name + 0.0, !- Zone Heating Sizing Factor + 0.0, !- Zone Cooling Sizing Factor + DesignDayWithLimit, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + , !- Heating Maximum Air Flow Fraction + , !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize; !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + + DesignSpecification:OutdoorAir, + SZ DSOA Zone 3, !- Name + sum, !- Outdoor Air Method + 0.00236, !- Outdoor Air Flow per Person {m3/s-person} + 0.000305, !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + 0.0; !- Outdoor Air Flow per Zone {m3/s} + ZoneControl:Thermostat, Zone 1 Thermostat, !- Name West Zone, !- Zone or ZoneList Name diff --git a/testfiles/WindACRHControl.idf b/testfiles/WindACRHControl.idf index 047f7618486..a569fc2a641 100644 --- a/testfiles/WindACRHControl.idf +++ b/testfiles/WindACRHControl.idf @@ -122,7 +122,7 @@ HeatBalanceAlgorithm,ConductionTransferFunction; SimulationControl, - No, !- Do Zone Sizing Calculation + Yes, !- Do Zone Sizing Calculation No, !- Do System Sizing Calculation No, !- Do Plant Sizing Calculation Yes, !- Run Simulation for Sizing Periods @@ -1731,6 +1731,114 @@ 0.0013, !- Maximum Water Flow Rate {m3/s} 0.001; !- Convergence Tolerance + Sizing:Zone, + WEST ZONE, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 14., !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50., !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.009, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.004, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA Zone 1, !- Design Specification Outdoor Air Object Name + 0.0, !- Zone Heating Sizing Factor + 0.0, !- Zone Cooling Sizing Factor + DesignDayWithLimit, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + , !- Heating Maximum Air Flow Fraction + , !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize; !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + + DesignSpecification:OutdoorAir, + SZ DSOA Zone 1, !- Name + sum, !- Outdoor Air Method + 0.00236, !- Outdoor Air Flow per Person {m3/s-person} + 0.000305, !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + 0.0; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:Zone, + EAST ZONE, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 14., !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50., !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.009, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.004, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA Zone 2, !- Design Specification Outdoor Air Object Name + 0.0, !- Zone Heating Sizing Factor + 0.0, !- Zone Cooling Sizing Factor + DesignDayWithLimit, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + , !- Heating Maximum Air Flow Fraction + , !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize; !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + + DesignSpecification:OutdoorAir, + SZ DSOA Zone 2, !- Name + sum, !- Outdoor Air Method + 0.00236, !- Outdoor Air Flow per Person {m3/s-person} + 0.000305, !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + 0.0; !- Outdoor Air Flow per Zone {m3/s} + + Sizing:Zone, + NORTH ZONE, !- Zone or ZoneList Name + SupplyAirTemperature, !- Zone Cooling Design Supply Air Temperature Input Method + 14., !- Zone Cooling Design Supply Air Temperature {C} + , !- Zone Cooling Design Supply Air Temperature Difference {deltaC} + SupplyAirTemperature, !- Zone Heating Design Supply Air Temperature Input Method + 50., !- Zone Heating Design Supply Air Temperature {C} + , !- Zone Heating Design Supply Air Temperature Difference {deltaC} + 0.009, !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} + 0.004, !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} + SZ DSOA Zone 3, !- Design Specification Outdoor Air Object Name + 0.0, !- Zone Heating Sizing Factor + 0.0, !- Zone Cooling Sizing Factor + DesignDayWithLimit, !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2} + , !- Cooling Minimum Air Flow {m3/s} + , !- Cooling Minimum Air Flow Fraction + DesignDay, !- Heating Design Air Flow Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2} + , !- Heating Maximum Air Flow {m3/s} + , !- Heating Maximum Air Flow Fraction + , !- Design Specification Zone Air Distribution Object Name + No, !- Account for Dedicated Outdoor Air System + NeutralSupplyAir, !- Dedicated Outdoor Air System Control Strategy + autosize, !- Dedicated Outdoor Air Low Setpoint Temperature for Design {C} + autosize; !- Dedicated Outdoor Air High Setpoint Temperature for Design {C} + + DesignSpecification:OutdoorAir, + SZ DSOA Zone 3, !- Name + sum, !- Outdoor Air Method + 0.00236, !- Outdoor Air Flow per Person {m3/s-person} + 0.000305, !- Outdoor Air Flow per Zone Floor Area {m3/s-m2} + 0.0; !- Outdoor Air Flow per Zone {m3/s} + ZoneControl:Humidistat, Zone 1 Humidistat, !- Name West Zone, !- Zone Name