From 0754e99fe0f903265313b755e99da2482122e830 Mon Sep 17 00:00:00 2001 From: Nigusse Date: Tue, 12 Aug 2014 20:03:48 -0400 Subject: [PATCH 01/19] Zone HVAC scalable sizing commit. Some of the test files that contain ZoneHVAC (baseboard type) may require transition. --- src/EnergyPlus/BaseboardElectric.cc | 186 +++- src/EnergyPlus/BaseboardElectric.hh | 36 +- src/EnergyPlus/BaseboardRadiator.cc | 177 +++- src/EnergyPlus/BaseboardRadiator.hh | 35 +- src/EnergyPlus/DataSizing.cc | 35 + src/EnergyPlus/DataSizing.hh | 237 ++++- src/EnergyPlus/ElectricBaseboardRadiator.cc | 193 +++- src/EnergyPlus/ElectricBaseboardRadiator.hh | 32 +- src/EnergyPlus/EvaporativeCoolers.cc | 177 +++- src/EnergyPlus/EvaporativeCoolers.hh | 33 +- src/EnergyPlus/FanCoilUnits.cc | 492 ++++++--- src/EnergyPlus/FanCoilUnits.hh | 37 + src/EnergyPlus/HVACVariableRefrigerantFlow.cc | 552 +++++++--- src/EnergyPlus/HVACVariableRefrigerantFlow.hh | 35 +- src/EnergyPlus/HWBaseboardRadiator.cc | 197 +++- src/EnergyPlus/HWBaseboardRadiator.hh | 34 +- src/EnergyPlus/HighTempRadiantSystem.cc | 238 +++-- src/EnergyPlus/HighTempRadiantSystem.hh | 34 +- src/EnergyPlus/LowTempRadiantSystem.cc | 455 ++++++-- src/EnergyPlus/LowTempRadiantSystem.hh | 79 +- src/EnergyPlus/PackagedTerminalHeatPump.cc | 360 +++++-- src/EnergyPlus/PackagedTerminalHeatPump.hh | 33 +- src/EnergyPlus/PurchasedAirManager.cc | 553 +++++++--- src/EnergyPlus/PurchasedAirManager.hh | 33 +- src/EnergyPlus/ReportSizingManager.cc | 258 ++++- src/EnergyPlus/SimAirServingZones.cc | 88 +- src/EnergyPlus/SimAirServingZones.hh | 6 + src/EnergyPlus/SizingManager.cc | 991 ++++++++++++++++-- src/EnergyPlus/SizingManager.hh | 3 + src/EnergyPlus/SteamBaseboardRadiator.cc | 156 ++- src/EnergyPlus/SteamBaseboardRadiator.hh | 35 +- src/EnergyPlus/UnitHeater.cc | 192 +++- src/EnergyPlus/UnitHeater.hh | 32 +- src/EnergyPlus/UnitVentilator.cc | 435 ++++++-- src/EnergyPlus/UnitVentilator.hh | 32 +- src/EnergyPlus/VentilatedSlab.cc | 305 +++++- src/EnergyPlus/VentilatedSlab.hh | 29 +- src/EnergyPlus/WindowAC.cc | 151 ++- src/EnergyPlus/WindowAC.hh | 33 +- src/EnergyPlus/ZoneEquipmentManager.cc | 7 +- 40 files changed, 5889 insertions(+), 1137 deletions(-) diff --git a/src/EnergyPlus/BaseboardElectric.cc b/src/EnergyPlus/BaseboardElectric.cc index 84535f22ac5..42cf1d0e2e6 100644 --- a/src/EnergyPlus/BaseboardElectric.cc +++ b/src/EnergyPlus/BaseboardElectric.cc @@ -6,6 +6,7 @@ // EnergyPlus Headers #include +#include #include #include #include @@ -66,6 +67,7 @@ namespace BaseboardElectric { // Object Data FArray1D< BaseboardParams > Baseboard; + FArray1D< BaseboardNumericFieldData > BaseboardNumericFields; // Functions @@ -183,6 +185,14 @@ namespace BaseboardElectric { using InputProcessor::SameString; using GlobalNames::VerifyUniqueBaseboardName; using namespace DataIPShortCuts; + using General::TrimSigDigits; + using DataSizing::HeatingDesignCapacity; + using DataSizing::CapacityPerFloorArea; + using DataSizing::FractionOfAutosizedHeatingCapacity; + using DataSizing::AutoSize; + using DataGlobals::NumOfZones; + using DataZoneEquipment::ZoneEquipList; + using DataZoneEquipment::BBElectricConvective_Num; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -191,6 +201,11 @@ namespace BaseboardElectric { // SUBROUTINE PARAMETER DEFINITIONS: static std::string const RoutineName( "GetBaseboardInput: " ); // include trailing blank space + int const iHeatCAPMAlphaNum( 3 ); // get input index to baseboard heating capacity sizing method + int const iHeatDesignCapacityNumericNum( 1 ); // get input index to baseboard heating capacity + int const iHeatCapacityPerFloorAreaNumericNum( 2 ); // get input index to baseboard heating capacity per floor area sizing + int const iHeatFracOfAutosizedCapacityNumericNum( 3 ); // get input index to baseboard heating capacity sizing as fraction of autozized heating capacity + // INTERFACE BLOCK SPECIFICATIONS // na @@ -209,19 +224,9 @@ namespace BaseboardElectric { bool IsBlank; // Flag for blank name bool errFlag; - //BASEBOARD HEATER:ELECTRIC:Convective, - // A1 , \field Baseboard Name - // \required-field - // A2 , \field Available Schedule - // \required-field - // \type object-list - // \object-list ScheduleNames - // N1 , \field Efficiency of the Coil - // \maximum 1.0 - // \minimum 0.0 - // \default 1.0 - // N2 ; \field Nominal Capacity of the Coil - // \units W + int CtrlZone; // index to constrolled zone number + int ZoneEquipTypeNum; // index to zone equipment in a zone equipment list + cCurrentModuleObject = cCMO_BBRadiator_Electric; @@ -232,6 +237,7 @@ namespace BaseboardElectric { Baseboard.allocate( NumBaseboards ); CheckEquipName.allocate( NumBaseboards ); + BaseboardNumericFields.allocate( NumBaseboards ); CheckEquipName = true; if ( NumConvElecBaseboards > 0 ) { //Get the data for cooling schemes @@ -239,6 +245,10 @@ namespace BaseboardElectric { for ( ConvElecBBNum = 1; ConvElecBBNum <= NumConvElecBaseboards; ++ConvElecBBNum ) { GetObjectItem( cCurrentModuleObject, ConvElecBBNum, cAlphaArgs, NumAlphas, rNumericArgs, NumNums, IOStat, lNumericFieldBlanks, lAlphaFieldBlanks, cAlphaFieldNames, cNumericFieldNames ); + + BaseboardNumericFields( ConvElecBBNum ).FieldNames.allocate( NumNums); + BaseboardNumericFields( ConvElecBBNum ).FieldNames = ""; + BaseboardNumericFields( ConvElecBBNum ).FieldNames = cNumericFieldNames; IsNotOK = false; IsBlank = false; @@ -265,8 +275,73 @@ namespace BaseboardElectric { } } // get inlet node number - Baseboard( BaseboardNum ).NominalCapacity = rNumericArgs( 1 ); - Baseboard( BaseboardNum ).BaseboardEfficiency = rNumericArgs( 2 ); + Baseboard( BaseboardNum ).BaseboardEfficiency = rNumericArgs( 4 ); + + // Determine baseboard electric heating design capacity sizing method + if (SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "HeatingDesignCapacity")) { + Baseboard(BaseboardNum).HeatingCapMethod = HeatingDesignCapacity; + if ( ! lNumericFieldBlanks( iHeatDesignCapacityNumericNum ) ) { + Baseboard(BaseboardNum).ScaledHeatingCapacity = rNumericArgs( iHeatDesignCapacityNumericNum ); + if (Baseboard(BaseboardNum).ScaledHeatingCapacity < 0.0 && Baseboard(BaseboardNum).ScaledHeatingCapacity != AutoSize) { + ShowSevereError( cCurrentModuleObject + " = " + Baseboard(BaseboardNum).EquipName ); + ShowContinueError("Illegal " + cNumericFieldNames( iHeatDesignCapacityNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iHeatDesignCapacityNumericNum), 7 ) ); + ErrorsFound = true; + } + } else { + ShowSevereError( cCurrentModuleObject + " = " + Baseboard( BaseboardNum ).EquipName ); + ShowContinueError( "Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFieldNames( iHeatDesignCapacityNumericNum )); + ErrorsFound = true; + } + } else if (SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "CapacityPerFloorArea" ) ) { + Baseboard( BaseboardNum ).HeatingCapMethod = CapacityPerFloorArea; + if ( ! lNumericFieldBlanks( iHeatCapacityPerFloorAreaNumericNum ) ) { + Baseboard( BaseboardNum ).ScaledHeatingCapacity = rNumericArgs( iHeatCapacityPerFloorAreaNumericNum ); + if (Baseboard( BaseboardNum ).ScaledHeatingCapacity <= 0.0) { + ShowSevereError( cCurrentModuleObject + " = " + Baseboard( BaseboardNum ).EquipName ); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFieldNames( iHeatCapacityPerFloorAreaNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iHeatCapacityPerFloorAreaNumericNum ), 7)); + ErrorsFound = true; + } else if (Baseboard(BaseboardNum).ScaledHeatingCapacity == AutoSize) { + ShowSevereError(cCurrentModuleObject + " = " + Baseboard(BaseboardNum).EquipName); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = Autosize"); + ErrorsFound = true; + } + } else { + ShowSevereError(cCurrentModuleObject + " = " + Baseboard(BaseboardNum).EquipName); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum)); + ErrorsFound = true; + } + } else if (SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "FractionOfAutosizedHeatingCapacity" )){ + Baseboard( BaseboardNum ).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; + if ( !lNumericFieldBlanks( iHeatFracOfAutosizedCapacityNumericNum ) ) { + Baseboard( BaseboardNum ).ScaledHeatingCapacity = rNumericArgs( iHeatFracOfAutosizedCapacityNumericNum ); + if (Baseboard( BaseboardNum ).ScaledHeatingCapacity < 0.0 ) { + ShowSevereError( cCurrentModuleObject + " = " + Baseboard( BaseboardNum ).EquipName ); + ShowContinueError( "Illegal " + cNumericFieldNames( iHeatFracOfAutosizedCapacityNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iHeatFracOfAutosizedCapacityNumericNum ), 7 ) ); + ErrorsFound = true; + } + } else { + ShowSevereError( cCurrentModuleObject + " = " + Baseboard( BaseboardNum ).EquipName ); + ShowContinueError("Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError("Blank field not allowed for " + cNumericFieldNames( iHeatFracOfAutosizedCapacityNumericNum ) ); + ErrorsFound = true; + } + } else { + ShowSevereError( cCurrentModuleObject + " = " + Baseboard( BaseboardNum ).EquipName ); + ShowContinueError( "Illegal " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ErrorsFound = true; + } + + for (CtrlZone = 1; CtrlZone <= NumOfZones; ++CtrlZone) { + for (ZoneEquipTypeNum = 1; ZoneEquipTypeNum <= ZoneEquipList(CtrlZone).NumOfEquipTypes; ++ZoneEquipTypeNum) { + if (ZoneEquipList(CtrlZone).EquipType_Num(ZoneEquipTypeNum) == BBElectricConvective_Num && ZoneEquipList(CtrlZone).EquipName(ZoneEquipTypeNum) == Baseboard(BaseboardNum).EquipName) { + Baseboard(BaseboardNum).ZonePtr = CtrlZone; + } + } + } } if ( ErrorsFound ) { @@ -386,6 +461,7 @@ namespace BaseboardElectric { // AUTHOR Fred Buhl // DATE WRITTEN February 2002 // MODIFIED August 2013 Daeho Kang, add component sizing table entries + // July 2014, B. Nigusse, added scalable sizing // RE-ENGINEERED na // PURPOSE OF THIS SUBROUTINE: @@ -401,14 +477,16 @@ namespace BaseboardElectric { // Using/Aliasing using namespace DataSizing; + using ReportSizingManager::RequestSizing; using ReportSizingManager::ReportSizingOutput; using General::RoundSigDigits; + using DataHVACGlobals::HeatingCapacitySizing; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: // SUBROUTINE PARAMETER DEFINITIONS: - // na + static std::string const RoutineName("SizeElectricBaseboard"); // INTERFACE BLOCK SPECIFICATIONS // na @@ -421,43 +499,59 @@ namespace BaseboardElectric { Real64 NominalCapacityDes; // Design nominal capacity for reporting Real64 NominalCapacityUser; // User hard-sized nominal capacity for reporting + std::string CompName; // component name + std::string CompType; // component type + std::string SizingString; // input field sizing description (e.g., Nominal Capacity) + Real64 TempSize; // autosized value of coil input field + int FieldNum = 1; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) + bool PrintFlag; // TRUE when sizing information is reported in the eio file + int CapSizingMethod( 0 ); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) + IsAutoSize = false; NominalCapacityDes = 0.0; NominalCapacityUser = 0.0; + DataScalableCapSizingON = false; if ( CurZoneEqNum > 0 ) { - if ( Baseboard( BaseboardNum ).NominalCapacity == AutoSize ) { - IsAutoSize = true; - } - if ( ! IsAutoSize && ! ZoneSizingRunDone ) { // Simulation continue - if ( Baseboard( BaseboardNum ).NominalCapacity > 0.0 ) { - ReportSizingOutput( cCMO_BBRadiator_Electric, Baseboard( BaseboardNum ).EquipName, "User-Specified Nominal Capacity [W]", Baseboard( BaseboardNum ).NominalCapacity ); - } - } else { // AutoSize or hard-size with design run - CheckZoneSizing( Baseboard( BaseboardNum ).EquipType, Baseboard( BaseboardNum ).EquipName ); - NominalCapacityDes = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; - - if ( IsAutoSize ) { - Baseboard( BaseboardNum ).NominalCapacity = NominalCapacityDes; - ReportSizingOutput( cCMO_BBRadiator_Electric, Baseboard( BaseboardNum ).EquipName, "Design Size Nominal Capacity [W]", NominalCapacityDes ); - } else { // hard-sized with sizing data - if ( Baseboard( BaseboardNum ).NominalCapacity > 0.0 && NominalCapacityDes > 0.0 ) { - NominalCapacityUser = Baseboard( BaseboardNum ).NominalCapacity; - ReportSizingOutput( cCMO_BBRadiator_Electric, Baseboard( BaseboardNum ).EquipName, "Design Size Nominal Capacity [W]", NominalCapacityDes, "User-Specified Nominal Capacity [W]", NominalCapacityUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( NominalCapacityDes - NominalCapacityUser ) / NominalCapacityUser ) > AutoVsHardSizingThreshold ) { - ShowMessage( "SizeBaseboard: Potential issue with equipment sizing for ZoneHVAC:Baseboard:Convective:Electric=\"" + Baseboard( BaseboardNum ).EquipName + "\"." ); - ShowContinueError( "User-Specified Nominal Capacity of " + RoundSigDigits( NominalCapacityUser, 2 ) + " [W]" ); - ShowContinueError( "differs from Design Size Nominal Capacity of " + RoundSigDigits( NominalCapacityDes, 2 ) + " [W]" ); - ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); - ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); - } - } - } + + CompType = Baseboard( BaseboardNum ).EquipType; + CompName = Baseboard( BaseboardNum ).EquipName; + DataFracOfAutosizedHeatingCapacity = 1.0; + DataZoneNumber = Baseboard( BaseboardNum ).ZonePtr; + SizingMethod = HeatingCapacitySizing; + FieldNum = 1; + PrintFlag = true; + SizingString = BaseboardNumericFields(BaseboardNum).FieldNames(FieldNum) + " [W]"; + CapSizingMethod = Baseboard( BaseboardNum ).HeatingCapMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; + if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { + if ( CapSizingMethod == HeatingDesignCapacity ){ + if (Baseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize ) { + CheckZoneSizing(CompType, CompName); + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; + } + TempSize = Baseboard( BaseboardNum ).ScaledHeatingCapacity; + } else if ( CapSizingMethod == CapacityPerFloorArea ){ + DataHeatingCapPerFloorArea = Baseboard( BaseboardNum ).ScaledHeatingCapacity; + TempSize = Baseboard( BaseboardNum ).ScaledHeatingCapacity; + DataScalableCapSizingON = true; + } else if ( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ + CheckZoneSizing( CompType, CompName ); + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + DataFracOfAutosizedHeatingCapacity = Baseboard(BaseboardNum).ScaledHeatingCapacity; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + TempSize = AutoSize; + DataScalableCapSizingON = true; + } else { + TempSize = Baseboard( BaseboardNum ).ScaledHeatingCapacity; } - } + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); + Baseboard( BaseboardNum ).NominalCapacity = TempSize; + DataScalableCapSizingON = false; + } } - } void diff --git a/src/EnergyPlus/BaseboardElectric.hh b/src/EnergyPlus/BaseboardElectric.hh index 4216151d864..37a180e8a8c 100644 --- a/src/EnergyPlus/BaseboardElectric.hh +++ b/src/EnergyPlus/BaseboardElectric.hh @@ -46,6 +46,9 @@ namespace BaseboardElectric { Real64 Energy; Real64 ElecUseLoad; Real64 ElecUseRate; + int ZonePtr; // point to teh zone where the basebaord is located + int HeatingCapMethod; // - Method for heating capacity scaledsizing calculation- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 ScaledHeatingCapacity; // - scaled maximum heating capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} // Default Constructor BaseboardParams() : @@ -58,7 +61,10 @@ namespace BaseboardElectric { Power( 0.0 ), Energy( 0.0 ), ElecUseLoad( 0.0 ), - ElecUseRate( 0.0 ) + ElecUseRate( 0.0 ), + ZonePtr( 0 ), + HeatingCapMethod( 0.0 ), + ScaledHeatingCapacity( 0.0 ) {} // Member Constructor @@ -75,7 +81,10 @@ namespace BaseboardElectric { Real64 const Power, Real64 const Energy, Real64 const ElecUseLoad, - Real64 const ElecUseRate + Real64 const ElecUseRate, + int const ZonePtr, // point to teh zone where the electric baseboard is located + int const HeatingCapMethod, // - Method for electric baseboard heating capacity scalable sizing calculation + Real64 const ScaledHeatingCapacity // - electric baseboard scaled maximum heating capacity {W} or scalable variable for sizing in {-}, or {W/m2} ) : EquipName( EquipName ), EquipType( EquipType ), @@ -89,13 +98,34 @@ namespace BaseboardElectric { Power( Power ), Energy( Energy ), ElecUseLoad( ElecUseLoad ), - ElecUseRate( ElecUseRate ) + ElecUseRate( ElecUseRate ), + ZonePtr( ZonePtr ), + HeatingCapMethod( HeatingCapMethod ), + ScaledHeatingCapacity( ScaledHeatingCapacity ) {} }; + struct BaseboardNumericFieldData + { + // Members + FArray1D_string FieldNames; + + // Default Constructor + BaseboardNumericFieldData() + {} + + // Member Constructor + BaseboardNumericFieldData( + FArray1_string const & FieldNames // Name of the HeatingCoil numeric field descriptions + ) : + FieldNames(FieldNames) + {} + }; + // Object Data extern FArray1D< BaseboardParams > Baseboard; + extern FArray1D< BaseboardNumericFieldData > BaseboardNumericFields; // Functions diff --git a/src/EnergyPlus/BaseboardRadiator.cc b/src/EnergyPlus/BaseboardRadiator.cc index b8a8ac8c215..43f98fa77c8 100644 --- a/src/EnergyPlus/BaseboardRadiator.cc +++ b/src/EnergyPlus/BaseboardRadiator.cc @@ -90,6 +90,7 @@ namespace BaseboardRadiator { // Object Data FArray1D< BaseboardParams > Baseboard; + FArray1D< BaseboardParamsNumericFieldData > BaseboardParamsNumericFields; // Functions @@ -243,6 +244,8 @@ namespace BaseboardRadiator { using namespace DataLoopNode; using GlobalNames::VerifyUniqueBaseboardName; using namespace DataIPShortCuts; + using namespace DataSizing; + using General::TrimSigDigits; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -251,6 +254,12 @@ namespace BaseboardRadiator { // SUBROUTINE PARAMETER DEFINITIONS: static std::string const RoutineName( "GetBaseboardInput: " ); // include trailing blank space + int const iHeatCAPMAlphaNum( 5 ); // get input index to water baseboard Radiator system heating capacity sizing method + int const iHeatDesignCapacityNumericNum( 1 ); // get input index to water baseboard Radiator system electric heating capacity + int const iHeatCapacityPerFloorAreaNumericNum( 2 ); // get input index to water baseboard Radiator system electric heating capacity per floor area sizing + int const iHeatFracOfAutosizedCapacityNumericNum( 3 ); // get input index to water baseboard Radiator system electric heating capacity sizing as fraction of autozized heating capacity + + // INTERFACE BLOCK SPECIFICATIONS // na @@ -279,6 +288,7 @@ namespace BaseboardRadiator { Baseboard.allocate( NumBaseboards ); CheckEquipName.allocate( NumBaseboards ); CheckEquipName = true; + BaseboardParamsNumericFields.allocate( NumBaseboards ); if ( NumConvHWBaseboards > 0 ) { //Get the data for cooling schemes BaseboardNum = 0; @@ -286,6 +296,10 @@ namespace BaseboardRadiator { GetObjectItem( cCurrentModuleObject, ConvHWBaseboardNum, cAlphaArgs, NumAlphas, rNumericArgs, NumNums, IOStat, lNumericFieldBlanks, lAlphaFieldBlanks, cAlphaFieldNames, cNumericFieldNames ); + BaseboardParamsNumericFields( ConvHWBaseboardNum ).FieldNames.allocate(NumNums); + BaseboardParamsNumericFields( ConvHWBaseboardNum ).FieldNames = ""; + BaseboardParamsNumericFields( ConvHWBaseboardNum ).FieldNames = cNumericFieldNames; + IsNotOK = false; IsBlank = false; VerifyName( cAlphaArgs( 1 ), Baseboard.EquipID(), BaseboardNum, IsNotOK, IsBlank, cCurrentModuleObject + " Name" ); @@ -317,12 +331,70 @@ namespace BaseboardRadiator { TestCompSet( cCMO_BBRadiator_Water, cAlphaArgs( 1 ), cAlphaArgs( 3 ), cAlphaArgs( 4 ), "Hot Water Nodes" ); - Baseboard( BaseboardNum ).UA = rNumericArgs( 1 ); - Baseboard( BaseboardNum ).WaterVolFlowRateMax = rNumericArgs( 2 ); - Baseboard( BaseboardNum ).Offset = rNumericArgs( 3 ); + // Determine steam baseboard radiator system heating design capacity sizing method + if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "HeatingDesignCapacity")) { + Baseboard(BaseboardNum).HeatingCapMethod = HeatingDesignCapacity; + if (!lNumericFieldBlanks(iHeatDesignCapacityNumericNum)) { + Baseboard(BaseboardNum).ScaledHeatingCapacity = rNumericArgs(iHeatDesignCapacityNumericNum); + if (Baseboard( BaseboardNum ).ScaledHeatingCapacity < 0.0 && Baseboard( BaseboardNum ).ScaledHeatingCapacity != AutoSize) { + ShowSevereError( cCMO_BBRadiator_Water + " = " + Baseboard( BaseboardNum ).EquipID); + ShowContinueError("Illegal " + cNumericFieldNames(iHeatDesignCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatDesignCapacityNumericNum), 7)); + ErrorsFound = true; + } + } else { + ShowSevereError( cCMO_BBRadiator_Water + " = " + Baseboard( BaseboardNum ).EquipID); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatDesignCapacityNumericNum)); + ErrorsFound = true; + } + } else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "CapacityPerFloorArea")) { + Baseboard( BaseboardNum ).HeatingCapMethod = CapacityPerFloorArea; + if (!lNumericFieldBlanks(iHeatCapacityPerFloorAreaNumericNum)) { + Baseboard( BaseboardNum ).ScaledHeatingCapacity = rNumericArgs(iHeatCapacityPerFloorAreaNumericNum); + if (Baseboard( BaseboardNum ).ScaledHeatingCapacity <= 0.0) { + ShowSevereError( cCMO_BBRadiator_Water + " = " + Baseboard( BaseboardNum ).EquipID); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatCapacityPerFloorAreaNumericNum), 7)); + ErrorsFound = true; + } else if (Baseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize) { + ShowSevereError( cCMO_BBRadiator_Water + " = " + Baseboard( BaseboardNum ).EquipID); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = Autosize"); + ErrorsFound = true; + } + } else { + ShowSevereError( cCMO_BBRadiator_Water + " = " + Baseboard( BaseboardNum ).EquipID); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum)); + ErrorsFound = true; + } + } else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "FractionOfAutosizedHeatingCapacity")){ + Baseboard( BaseboardNum ).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; + if (!lNumericFieldBlanks(iHeatFracOfAutosizedCapacityNumericNum)) { + Baseboard( BaseboardNum ).ScaledHeatingCapacity = rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum); + if (Baseboard( BaseboardNum ).ScaledHeatingCapacity < 0.0) { + ShowSevereError( cCMO_BBRadiator_Water + " = " + Baseboard( BaseboardNum ).EquipID); + ShowContinueError("Illegal " + cNumericFieldNames(iHeatFracOfAutosizedCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum), 7)); + ErrorsFound = true; + } + } else { + ShowSevereError( cCMO_BBRadiator_Water + " = " + Baseboard( BaseboardNum ).EquipID); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatFracOfAutosizedCapacityNumericNum)); + ErrorsFound = true; + } + } else { + ShowSevereError( cCMO_BBRadiator_Water + " = " + Baseboard( BaseboardNum ).EquipID); + ShowContinueError("Illegal " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ErrorsFound = true; + } + + Baseboard( BaseboardNum ).UA = rNumericArgs( 4 ); + Baseboard( BaseboardNum ).WaterVolFlowRateMax = rNumericArgs( 5 ); + Baseboard( BaseboardNum ).Offset = rNumericArgs( 6 ); // Set default convergence tolerance - if ( Baseboard( BaseboardNum ).Offset <= 0.0 ) { - Baseboard( BaseboardNum ).Offset = 0.001; + if ( Baseboard( BaseboardNum ).Offset <= 0.0 ) { + Baseboard( BaseboardNum ).Offset = 0.001; } } @@ -509,8 +581,9 @@ namespace BaseboardRadiator { using General::RoundSigDigits; using PlantUtilities::RegisterPlantCompDesignFlow; using ReportSizingManager::ReportSizingOutput; + using ReportSizingManager::RequestSizing; using DataLoopNode::Node; - + using DataHVACGlobals::HeatingCapacitySizing; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -545,6 +618,14 @@ namespace BaseboardRadiator { Real64 WaterVolFlowRateMaxUser; // User hard-sized volume flow for reporting Real64 UADes; // Design UA value for reproting Real64 UAUser; // User hard-sized value for reporting + std::string CompName; // component name + std::string CompType; // component type + std::string SizingString; // input field sizing description (e.g., Nominal Capacity) + Real64 TempSize; // autosized value of coil input field + int FieldNum = 1; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (HeatingCapacitySizing) + bool PrintFlag; // TRUE when sizing information is reported in the eio file + int CapSizingMethod( 0 ); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, and FractionOfAutosizedHeatingCapacity ) PltSizHeatNum = 0; PltSizNum = 0; @@ -573,7 +654,48 @@ namespace BaseboardRadiator { } } else { CheckZoneSizing( cCMO_BBRadiator_Water, Baseboard( BaseboardNum ).EquipID ); - DesCoilLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; + + //DesCoilLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; + CompType = cCMO_BBRadiator_Water; + CompName = Baseboard(BaseboardNum).EquipID; + DataFracOfAutosizedHeatingCapacity = 1.0; + DataZoneNumber = Baseboard(BaseboardNum).ZonePtr; + SizingMethod = HeatingCapacitySizing; + FieldNum = 1; + PrintFlag = false; + SizingString = BaseboardParamsNumericFields( BaseboardNum ).FieldNames(FieldNum) + " [W]"; + CapSizingMethod = Baseboard( BaseboardNum ).HeatingCapMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; + if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { + + if (CapSizingMethod == HeatingDesignCapacity){ + if (Baseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize) { + CheckZoneSizing(CompType, CompName); + ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + } + TempSize = Baseboard( BaseboardNum ).ScaledHeatingCapacity; + + } else if (CapSizingMethod == CapacityPerFloorArea){ + DataHeatingCapPerFloorArea = Baseboard( BaseboardNum ).ScaledHeatingCapacity; + TempSize = Baseboard( BaseboardNum ).ScaledHeatingCapacity; + DataScalableCapSizingON = true; + } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ + CheckZoneSizing(CompType, CompName); + ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + DataFracOfAutosizedHeatingCapacity = Baseboard( BaseboardNum ).ScaledHeatingCapacity; + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + TempSize = AutoSize; + DataScalableCapSizingON = true; + } else { + TempSize = Baseboard( BaseboardNum ).ScaledHeatingCapacity; + } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DesCoilLoad = TempSize; + } else { + DesCoilLoad = 0.0; // CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + } + if ( DesCoilLoad >= SmallLoad ) { Cp = GetSpecificHeatGlycol( PlantLoop( Baseboard( BaseboardNum ).LoopNum ).FluidName, 60.0, PlantLoop( Baseboard( BaseboardNum ).LoopNum ).FluidIndex, RoutineName ); rho = GetDensityGlycol( PlantLoop( Baseboard( BaseboardNum ).LoopNum ).FluidName, InitConvTemp, PlantLoop( Baseboard( BaseboardNum ).LoopNum ).FluidIndex, RoutineName ); @@ -622,7 +744,46 @@ namespace BaseboardRadiator { WaterInletNode = Baseboard( BaseboardNum ).WaterInletNode; rho = GetDensityGlycol( PlantLoop( Baseboard( BaseboardNum ).LoopNum ).FluidName, InitConvTemp, PlantLoop( Baseboard( BaseboardNum ).LoopNum ).FluidIndex, RoutineName ); Node( WaterInletNode ).MassFlowRate = rho * Baseboard( BaseboardNum ).WaterVolFlowRateMax; - DesCoilLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; + + CompType = cCMO_BBRadiator_Water; + CompName = Baseboard(BaseboardNum).EquipID; + DataFracOfAutosizedHeatingCapacity = 1.0; + DataZoneNumber = Baseboard(BaseboardNum).ZonePtr; + SizingMethod = HeatingCapacitySizing; + FieldNum = 1; + PrintFlag = false; + SizingString = BaseboardParamsNumericFields(BaseboardNum).FieldNames(FieldNum) + " [W]"; + CapSizingMethod = Baseboard(BaseboardNum).HeatingCapMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; + if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { + + if (CapSizingMethod == HeatingDesignCapacity){ + if (Baseboard(BaseboardNum).ScaledHeatingCapacity == AutoSize) { + CheckZoneSizing(CompType, CompName); + ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + } + TempSize = Baseboard(BaseboardNum).ScaledHeatingCapacity; + + } else if (CapSizingMethod == CapacityPerFloorArea){ + DataHeatingCapPerFloorArea = Baseboard(BaseboardNum).ScaledHeatingCapacity; + TempSize = Baseboard(BaseboardNum).ScaledHeatingCapacity; + DataScalableCapSizingON = true; + } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ + CheckZoneSizing(CompType, CompName); + ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + DataFracOfAutosizedHeatingCapacity = Baseboard(BaseboardNum).ScaledHeatingCapacity; + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + TempSize = AutoSize; + DataScalableCapSizingON = true; + } else { + TempSize = Baseboard(BaseboardNum).ScaledHeatingCapacity; + } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DesCoilLoad = TempSize; + } else { + DesCoilLoad = 0.0; // CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + } if ( DesCoilLoad >= SmallLoad ) { // pick an air mass flow rate that is twice the water mass flow rate (CR8842) Baseboard( BaseboardNum ).DesAirMassFlowRate = 2.0 * rho * Baseboard( BaseboardNum ).WaterVolFlowRateMax; diff --git a/src/EnergyPlus/BaseboardRadiator.hh b/src/EnergyPlus/BaseboardRadiator.hh index a39fc5454c6..3e9fa0c82d3 100644 --- a/src/EnergyPlus/BaseboardRadiator.hh +++ b/src/EnergyPlus/BaseboardRadiator.hh @@ -71,6 +71,9 @@ namespace BaseboardRadiator { int BBLoadReSimIndex; int BBMassFlowReSimIndex; int BBInletTempFlowReSimIndex; + int HeatingCapMethod; // - Method for water baseboard Radiator system heating capacity scaledsizing calculation + //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 ScaledHeatingCapacity; // - water baseboard Radiator system scaled maximum heating capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} // Default Constructor BaseboardParams() : @@ -103,7 +106,9 @@ namespace BaseboardRadiator { CompNum( 0 ), BBLoadReSimIndex( 0 ), BBMassFlowReSimIndex( 0 ), - BBInletTempFlowReSimIndex( 0 ) + BBInletTempFlowReSimIndex( 0 ), + HeatingCapMethod( 0 ), + ScaledHeatingCapacity( 0.0 ) {} // Member Constructor @@ -139,7 +144,11 @@ namespace BaseboardRadiator { int const CompNum, // plant loop component index int const BBLoadReSimIndex, int const BBMassFlowReSimIndex, - int const BBInletTempFlowReSimIndex + int const BBInletTempFlowReSimIndex, + int const HeatingCapMethod, // - Method for steam baseboard Radiator system heating capacity scaledsizing calculation + //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 const ScaledHeatingCapacity // - steam baseboard Radiator system scaled maximum heating capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} + ) : EquipID( EquipID ), Schedule( Schedule ), @@ -172,13 +181,33 @@ namespace BaseboardRadiator { CompNum( CompNum ), BBLoadReSimIndex( BBLoadReSimIndex ), BBMassFlowReSimIndex( BBMassFlowReSimIndex ), - BBInletTempFlowReSimIndex( BBInletTempFlowReSimIndex ) + BBInletTempFlowReSimIndex( BBInletTempFlowReSimIndex ), + HeatingCapMethod( HeatingCapMethod ), + ScaledHeatingCapacity( ScaledHeatingCapacity ) {} }; + struct BaseboardParamsNumericFieldData + { + // Members + FArray1D_string FieldNames; + + // Default Constructor + BaseboardParamsNumericFieldData() + {} + + // Member Constructor + BaseboardParamsNumericFieldData( + FArray1_string const & FieldNames // Name of the HeatingCoil numeric field descriptions + ) : + FieldNames(FieldNames) + {} + }; // Object Data extern FArray1D< BaseboardParams > Baseboard; + extern FArray1D< BaseboardParamsNumericFieldData > BaseboardParamsNumericFields; + // Functions diff --git a/src/EnergyPlus/DataSizing.cc b/src/EnergyPlus/DataSizing.cc index 2e0fa5426dc..07ef0b1e3ba 100644 --- a/src/EnergyPlus/DataSizing.cc +++ b/src/EnergyPlus/DataSizing.cc @@ -77,6 +77,7 @@ namespace DataSizing { // parameter for autosize Real64 const AutoSize( -99999.0 ); + Real64 const ScaleSize( 99999.0 ); // parameter for (time-of-peak) sizing format gio::Fmt const PeakHrMinFmt( "(I2.2,':',I2.2,':00')" ); @@ -103,6 +104,21 @@ namespace DataSizing { int const SOAM_IAQPCOM( 6 ); // Take the maximum outdoor air rate from both CO2 and generic contaminant controls // based on the generic contaminant setpoint + // Zone HVAC Equipment Supply Air Sizing Option + int const None( 1 ); + int const SupplyAirFlowRate( 2 ); + int const FlowPerFloorArea( 3 ); + int const FractionOfAutosizedCoolingAirflow( 4 ); + int const FractionOfAutosizedHeatingAirflow( 5 ); + int const FlowPerCoolingCapacity( 6 ); + int const FlowPerHeatingCapacity( 7 ); + + int const CoolingDesignCapacity( 8 ); + int const HeatingDesignCapacity( 9 ); + int const CapacityPerFloorArea( 10 ); + int const FractionOfAutosizedCoolingCapacity( 11 ); + int const FractionOfAutosizedHeatingCapacity( 12 ); + // DERIVED TYPE DEFINITIONS: // INTERFACE BLOCK SPECIFICATIONS @@ -137,12 +153,15 @@ namespace DataSizing { bool DataCoilIsSuppHeater( false ); // TRUE if heating coil used as supplemental heater bool DataIsDXCoil( false ); // TRUE if direct-expansion coil bool DataAutosizable( true ); // TRUE if component is autosizable + bool DataScalableSizingON( false ) ; // boolean determines scalable flow sizing is specified + bool DataScalableCapSizingON( false ); // boolean determines scalable capacity sizing is specified bool DataEMSOverrideON( false ); // boolean determines if user relies on EMS to override autosizing bool SysSizingRunDone( false ); // True if a system sizing run is successfully completed. bool TermUnitSingDuct( false ); // TRUE if a non-induction single duct terminal unit bool TermUnitPIU( false ); // TRUE if a powered induction terminal unit bool TermUnitIU( false ); // TRUE if an unpowered induction terminal unit bool ZoneEqFanCoil( false ); // TRUE if a 4 pipe fan coil unit is being simulated + bool ZoneEqUnitVent( false ); // TRUE if a unit ventilator unit is being simulated bool ZoneEqDXCoil( false ); // TRUE if a ZoneHVAC DX coil is being simulated bool ZoneCoolingOnlyFan( false ); // TRUE if a ZoneHVAC DX cooling coil is only coil in parent bool ZoneHeatingOnlyFan( false ); // TRUE if zone unit only does heating and contains a fam (such as Unit Heater) @@ -155,8 +174,22 @@ namespace DataSizing { Real64 DataHeatSizeRatio( 1.0 ); // heating coil size as a ratio of cooling coil capacity Real64 DataEMSOverride ( 0.0 ); // value of EMS variable used to override autosizing Real64 DataBypassFrac ( 0.0 ); // value of bypass fraction for Coil:Cooling:DX:TwoStageWithHumidityControlMode coils + int DataZoneNumber( 0 ); // a pointer to a served by zoneHVAC equipment + Real64 DataCoolFlowPerFloorArea( 0.0 ); // cooling supply air flow per unit conditioned floor area + Real64 DataHeatFlowPerFloorArea( 0.0 ); // heating supply air flow per unit conditioned floor area + Real64 DataFracOfAutosizedCoolingAirflow( 1.0 ); // fraction of design cooling supply air flow rate + Real64 DataFracOfAutosizedHeatingAirflow( 1.0 ); // fraction of design heating supply air flow rate + Real64 DataFlowPerCoolingCapacity( 0.0 ); // cooling supply air flow per unit cooling capacity + Real64 DataFlowPerHeatingCapacity( 0.0 ); // heating supply air flow per unit heating capacity + Real64 DataCoolingCapPerFloorArea( 0.0 ); // cooling capacity per floor area + Real64 DataHeatingCapPerFloorArea( 0.0 ); // heating capacity per floor area + Real64 DataFracOfAutosizedCoolingCapacity( 1.0 ); // fraction of autosized cooling capacity + Real64 DataFracOfAutosizedHeatingCapacity( 1.0 ); // fraction of autosized heating capacit + Real64 DataAutosizedCoolingCapacity( 0.0 ); // Autosized cooling capacity used for multiplying flow per capacity to get flow rate + Real64 DataAutosizedHeatingCapacity( 0.0 ); // Autosized heating capacit used for multiplying flow per capacity to get flow rate Real64 DataConstantUsedForSizing ( 0.0 ); // base value used for sizing inputs that are ratios of other inputs Real64 DataFractionUsedForSizing ( 0.0 ); // fractional value of base value used for sizing inputs that are ratios of other inputs + Real64 DXCoolCap( 0.0 ); // The ARI cooling capacity of a DX unit. Real64 GlobalHeatSizingFactor( 0.0 ); // the global heating sizing ratio Real64 GlobalCoolSizingFactor( 0.0 ); // the global cooling sizing ratio @@ -167,6 +200,7 @@ namespace DataSizing { FArray1D_string CoolPeakDateHrMin; FArray1D_string HeatPeakDateHrMin; char SizingFileColSep; // Character to separate columns in sizing outputs + int NumZoneHVACSizing; // Number of zone HVAC sizing objects // Object Data FArray1D< OARequirementsData > OARequirements; @@ -188,6 +222,7 @@ namespace DataSizing { FArray1D< PlantSizingData > PlantSizData; // Input data array for plant sizing FArray1D< DesDayWeathData > DesDayWeath; // design day weather saved at major time step FArray1D< CompDesWaterFlowData > CompDesWaterFlow; // array to store components' design water flow + FArray1D< ZoneHVACSizingData > ZoneHVACSizing; // Input data for zone HVAC sizing // NOTICE // Copyright © 1996-2014 The Board of Trustees of the University of Illinois diff --git a/src/EnergyPlus/DataSizing.hh b/src/EnergyPlus/DataSizing.hh index b0fb10db1f4..5b61ae46eef 100644 --- a/src/EnergyPlus/DataSizing.hh +++ b/src/EnergyPlus/DataSizing.hh @@ -92,6 +92,21 @@ namespace DataSizing { extern int const SOAM_IAQPCOM; // Take the maximum outdoor air rate from both CO2 and generic contaminant controls // based on the generic contaminant setpoint + // Zone HVAC Equipment Supply Air Sizing Option + extern int const None; + extern int const SupplyAirFlowRate; + extern int const FlowPerFloorArea; + extern int const FractionOfAutosizedCoolingAirflow; + extern int const FractionOfAutosizedHeatingAirflow; + extern int const FlowPerCoolingCapacity; + extern int const FlowPerHeatingCapacity; + + extern int const CoolingDesignCapacity; + extern int const HeatingDesignCapacity; + extern int const CapacityPerFloorArea; + extern int const FractionOfAutosizedCoolingCapacity; + extern int const FractionOfAutosizedHeatingCapacity; + // DERIVED TYPE DEFINITIONS: // INTERFACE BLOCK SPECIFICATIONS @@ -132,6 +147,21 @@ namespace DataSizing { extern Real64 DataHeatSizeRatio; // heating coil size as a ratio of cooling coil capacity extern Real64 DataEMSOverride; // value of EMS variable used to override autosizing extern Real64 DataBypassFrac; // value of bypass fraction for Coil:Cooling:DX:TwoStageWithHumidityControlMode coils + extern int DataZoneNumber; // a pointer to a served by zoneHVAC equipment + extern Real64 DataCoolFlowPerFloorArea; // cooling supply air flow per unit conditioned floor area + extern Real64 DataHeatFlowPerFloorArea; // heating supply air flow per unit conditioned floor area + extern Real64 DataFracOfAutosizedCoolingAirflow; // fraction of design cooling supply air flow rate + extern Real64 DataFracOfAutosizedHeatingAirflow; // fraction of design heating supply air flow rate + extern Real64 DataFlowPerCoolingCapacity; // cooling supply air flow per unit cooling capacity + extern Real64 DataFlowPerHeatingCapacity; // heating supply air flow per unit heating capacity + extern Real64 DataCoolingCapPerFloorArea; // cooling capacity per floor area + extern Real64 DataHeatingCapPerFloorArea; // heating capacity per floor area + extern Real64 DataFracOfAutosizedCoolingCapacity; // fraction of autosized cooling capacity + extern Real64 DataFracOfAutosizedHeatingCapacity; // fraction of autosized heating capacit + extern Real64 DataAutosizedCoolingCapacity; // Autosized cooling capacity used for multiplying flow per capacity to get flow rate + extern Real64 DataAutosizedHeatingCapacity; // Autosized heating capacit used for multiplying flow per capacity to get flow rate + extern bool DataScalableSizingON; // boolean determines scalable flow sizing is specified + extern bool DataScalableCapSizingON; // boolean determines scalable capacity sizing is specified extern bool DataEMSOverrideON; // boolean determines if user relies on EMS to override autosizing extern Real64 DataConstantUsedForSizing; // base value used for sizing inputs that are ratios of other inputs extern Real64 DataFractionUsedForSizing; // fractional value of base value used for sizing inputs that are ratios of other inputs @@ -139,6 +169,7 @@ namespace DataSizing { extern bool TermUnitPIU; // TRUE if a powered induction terminal unit extern bool TermUnitIU; // TRUE if an unpowered induction terminal unit extern bool ZoneEqFanCoil; // TRUE if a 4 pipe fan coil unit is being simulated + extern bool ZoneEqUnitVent; // TRUE if a unit ventilator unit is being simulated extern bool ZoneEqDXCoil; // TRUE if a ZoneHVAC DX coil is being simulated extern bool ZoneCoolingOnlyFan; // TRUE if a ZoneHVAC DX cooling coil is only coil in parent extern bool ZoneHeatingOnlyFan; // TRUE if zone unit only does heating and contains a fam (such as Unit Heater) @@ -156,6 +187,7 @@ namespace DataSizing { extern FArray1D_string CoolPeakDateHrMin; extern FArray1D_string HeatPeakDateHrMin; extern char SizingFileColSep; // Character to separate columns in sizing outputs + extern int NumZoneHVACSizing; // Number of zone HVAC sizing objects // Types @@ -363,9 +395,11 @@ namespace DataSizing { int ActualZoneNum; // index into the Zone data array (in DataHeatBalance) int SupplyAirNode; // node number of supply air node Real64 DesHeatMassFlow; // zone design heating air mass flow rate [kg/s] + Real64 DesHeatOAFlowFrac; // zone design heating OA air volume fraction [-] bool EMSOverrideDesHeatMassOn; // true if EMS is acting on this structure Real64 EMSValueDesHeatMassFlow; // Value EMS directing to use for Design Heating air mass flow [kg/s] Real64 DesCoolMassFlow; // zone design cooling air mass flow rate [kg/s] + Real64 DesCoolOAFlowFrac; // zone design cooling OA air volume fraction [-] bool EMSOverrideDesCoolMassOn; // true if EMS is acting on this structure Real64 EMSValueDesCoolMassFlow; // Value EMS directing to use for Design Cooling air mass flow [kg/s] Real64 DesHeatLoad; // zone design heating load [W] @@ -501,9 +535,11 @@ namespace DataSizing { ActualZoneNum( 0 ), SupplyAirNode( 0 ), DesHeatMassFlow( 0.0 ), + DesHeatOAFlowFrac( 0.0 ), EMSOverrideDesHeatMassOn( false ), EMSValueDesHeatMassFlow( 0.0 ), DesCoolMassFlow( 0.0 ), + DesCoolOAFlowFrac( 0.0 ), EMSOverrideDesCoolMassOn( false ), EMSValueDesCoolMassFlow( 0.0 ), DesHeatLoad( 0.0 ), @@ -615,9 +651,11 @@ namespace DataSizing { int const ActualZoneNum, // index into the Zone data array (in DataHeatBalance) int const SupplyAirNode, // node number of supply air node Real64 const DesHeatMassFlow, // zone design heating air mass flow rate [kg/s] + Real64 const DesHeatOAFlowFrac, // zone design heating OA air volume fraction [-] bool const EMSOverrideDesHeatMassOn, // true if EMS is acting on this structure Real64 const EMSValueDesHeatMassFlow, // Value EMS directing to use for Design Heating air mass flow [kg/s] Real64 const DesCoolMassFlow, // zone design cooling air mass flow rate [kg/s] + Real64 const DesCoolOAFlowFrac, // zone design cooling OA air volume fraction [-] bool const EMSOverrideDesCoolMassOn, // true if EMS is acting on this structure Real64 const EMSValueDesCoolMassFlow, // Value EMS directing to use for Design Cooling air mass flow [kg/s] Real64 const DesHeatLoad, // zone design heating load [W] @@ -746,9 +784,11 @@ namespace DataSizing { ActualZoneNum( ActualZoneNum ), SupplyAirNode( SupplyAirNode ), DesHeatMassFlow( DesHeatMassFlow ), + DesHeatOAFlowFrac( DesHeatOAFlowFrac ), EMSOverrideDesHeatMassOn( EMSOverrideDesHeatMassOn ), EMSValueDesHeatMassFlow( EMSValueDesHeatMassFlow ), DesCoolMassFlow( DesCoolMassFlow ), + DesCoolOAFlowFrac( DesCoolOAFlowFrac ), EMSOverrideDesCoolMassOn( EMSOverrideDesCoolMassOn ), EMSValueDesCoolMassFlow( EMSValueDesCoolMassFlow ), DesHeatLoad( DesHeatLoad ), @@ -928,6 +968,8 @@ namespace DataSizing { bool CoolingCapacity; // TRUE if AirloopHVAC system cooling capacity is calculated bool HeatingCapacity; // TRUE if AirloopHVAC system heating capacity is calculated bool SystemCapacity; // TRUE if AirloopHVAC system heating capacity is calculated + FArray1D_int SizingMethod; // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow and FractionOfAutosizedHeatingAirflow) + FArray1D_int CapSizingMethod; // capacity sizing methods (HeatingDesignCapacity, CoolingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity and FractionOfAutosizedHeatingCapacity ) // Default Constructor ZoneEqSizingData() : @@ -968,7 +1010,8 @@ namespace DataSizing { bool const Capacity, // TRUE if AirloopHVAC system capacity is calculated bool const CoolingCapacity, // TRUE if AirloopHVAC system cooling capacity is calculated bool const HeatingCapacity, // TRUE if AirloopHVAC system heating capacity is calculated - bool const SystemCapacity // TRUE if AirloopHVAC system heating capacity is calculated + bool const SystemCapacity, // TRUE if AirloopHVAC system heating capacity is calculated + FArray1_int const & SizingMethod // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow and FractionOfAutosizedHeatingAirflow) ) : AirVolFlow( AirVolFlow ), MaxHWVolFlow( MaxHWVolFlow ), @@ -986,7 +1029,85 @@ namespace DataSizing { Capacity( Capacity ), CoolingCapacity( CoolingCapacity ), HeatingCapacity( HeatingCapacity ), - SystemCapacity( SystemCapacity ) + SystemCapacity( SystemCapacity ), + SizingMethod( SizingMethod ) + {} + + }; + + + // Data Structure for Zone HVAC sizing, referenced by various ZoneHVAC Equipment + struct ZoneHVACSizingData + { + // Members + std::string Name; + int CoolingSAFMethod; // - Method for cooling supply air flow rate sizing calculation + //- (SupplyAirFlowRate,FlowPerFloorArea, FractionOfAutoSizedCoolingValue, + // FlowPerCoolingCapacity) + int HeatingSAFMethod; // - Method for heating supply air flow rate sizing calculation + //- (SupplyAirFlowRate,FlowPerFloorArea, FractionOfAutoSizedHeatingValue, + // FlowPerHeatingCapacity, + int NoCoolHeatSAFMethod; // - Method for supply air flow sizing during no cooling and heating calculation + //- (SupplyAirFlowRate, FractionOfAutoSizedCoolingValue, FractionOfAutoSizedHeatingValue) + int CoolingCapMethod; // - Method for cooling capacity scaledsizing calculation + //- (CoolingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedHeatingCapacity) + int HeatingCapMethod; // - Method for heatiing capacity scaledsizing calculation + //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + + + Real64 MaxCoolAirVolFlow;// - maximum cooling supply air flow rate, m3/s + Real64 MaxHeatAirVolFlow;// - maximum heating supply air flow rate, m3/s + Real64 MaxNoCoolHeatAirVolFlow; // - maximum supply air flow rate when no cooling or heating, m3/s + + Real64 ScaledCoolingCapacity; // - scaled maximum cooling capacity of zone HVAC equipment, W + Real64 ScaledHeatingCapacity; // - scaled maximum heating capacity of zone HVAC equipment, W + bool RequestAutoSize; // - true if autosizing is requested + + + // Default Constructor + ZoneHVACSizingData() : + CoolingSAFMethod(0), + HeatingSAFMethod(0), + NoCoolHeatSAFMethod(0), + CoolingCapMethod(0), + HeatingCapMethod(0), + MaxCoolAirVolFlow(0.0), + MaxHeatAirVolFlow(0.0), + MaxNoCoolHeatAirVolFlow(0.0), + ScaledCoolingCapacity(0.0), + ScaledHeatingCapacity(0.0), + RequestAutoSize(false) + {} + + // Member Constructor + ZoneHVACSizingData( + std::string const & Name, + int const CoolingSAFMethod, // - Method for cooling supply air flow rate sizing calculation + int const HeatingSAFMethod, // - Method for heating supply air flow rate sizing calculation + int const NoCoolHeatSAFMethod, // - Method for supply air flow rate sizing during no cooling and heating calculation + int const CoolingCapMethod, // - Method for cooling capacity scaledsizing calculation + int const HeatingCapMethod, // - Method for heatiing capacity scaledsizing calculation + Real64 const MaxCoolAirVolFlow,// - maximum cooling supply air flow rate, m3/s + Real64 const MaxHeatAirVolFlow,// - maximum heating supply air flow rate, m3/s + Real64 const MaxNoCoolHeatAirVolFlow, // - maximum supply air flow rate when no cooling or heating, m3/s + Real64 const ScaledCoolingCapacity, // - scaled maximum cooling capacity of zone HVAC equipment, W + Real64 const ScaledHeatingCapacity, // - scaled maximum heating capacity of zone HVAC equipment, W + bool const RequestAutoSize, // - true if autosizing is requested + bool const CoolCoilExists, // True if a cooling coil is specified in the ZoneHVAC equip + bool const HeatCoilExists // True if a heating coil is specified in the ZoneHVAC equipm + ) : + Name(Name), + CoolingSAFMethod(CoolingSAFMethod), + HeatingSAFMethod(HeatingSAFMethod), + NoCoolHeatSAFMethod(NoCoolHeatSAFMethod), + CoolingCapMethod(CoolingCapMethod), + HeatingCapMethod(HeatingCapMethod), + MaxCoolAirVolFlow(MaxCoolAirVolFlow), + MaxHeatAirVolFlow(MaxHeatAirVolFlow), + MaxNoCoolHeatAirVolFlow(MaxNoCoolHeatAirVolFlow), + ScaledCoolingCapacity(ScaledCoolingCapacity), + ScaledHeatingCapacity(ScaledHeatingCapacity), + RequestAutoSize(RequestAutoSize) {} }; @@ -1020,6 +1141,21 @@ namespace DataSizing { int SystemOAMethod; // System Outdoor Air Method; 1 = SOAM_ZoneSum, 2 = SOAM_VRP Real64 MaxZoneOAFraction; // maximum value of min OA for zones served by system bool OAAutoSized; // Set to true if design OA vol flow is set to 'autosize' + + int CoolingCapMethod; // - Method for cooling capacity scaledsizing calculation + //- (CoolingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity) + int HeatingCapMethod; // - Method for heatiing capacity scaledsizing calculation + //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 ScaledCoolingCapacity; // - scaled maximum cooling capacity of cooling coil in an air loop + Real64 ScaledHeatingCapacity; // - scaled maximum heating capacity of cooling coil in an air loop + Real64 FloorAreaOnAirLoopCooled; // total floor of cooled zones served by an airloop + Real64 FloorAreaOnAirLoopHeated; // total floor of heated zones served by an airloop + Real64 FlowPerFloorAreaCooled; // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop + Real64 FlowPerFloorAreaHeated; // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop + Real64 FracOfAutosizedCoolingAirflow; // fraction of of cooling supply air flow rate an airloop + Real64 FracOfAutosizedHeatingAirflow; // fraction of of heating supply air flow rate an airloop + Real64 FlowPerCoolingCapacity; // ratio of cooling supply air flow rate to cooling capacity of an airloop + Real64 FlowPerHeatingCapacity; // ratio of heating supply air flow rate to heating capacity of an airloop // in Sizing:System // Default Constructor @@ -1045,7 +1181,21 @@ namespace DataSizing { DesHeatAirFlow( 0.0 ), SystemOAMethod( 0 ), MaxZoneOAFraction( 0.0 ), - OAAutoSized( false ) + OAAutoSized( false ), + + CoolingCapMethod( 0 ), + HeatingCapMethod( 0 ), + ScaledCoolingCapacity( 0.0 ), + ScaledHeatingCapacity( 0.0 ), + FloorAreaOnAirLoopCooled( 0.0 ), + FloorAreaOnAirLoopHeated( 0.0 ), + FlowPerFloorAreaCooled( 0.0 ), + FlowPerFloorAreaHeated( 0.0 ), + FracOfAutosizedCoolingAirflow( 0.0 ), + FracOfAutosizedHeatingAirflow( 0.0 ), + FlowPerCoolingCapacity( 0.0 ), + FlowPerHeatingCapacity( 0.0 ) + {} // Member Constructor @@ -1072,7 +1222,25 @@ namespace DataSizing { Real64 const DesHeatAirFlow, // design system heating supply air flow rate [m3/s] int const SystemOAMethod, // System Outdoor Air Method; 1 = SOAM_ZoneSum, 2 = SOAM_VRP Real64 const MaxZoneOAFraction, // maximum value of min OA for zones served by system - bool const OAAutoSized // Set to true if design OA vol flow is set to 'autosize' + bool const OAAutoSized, // Set to true if design OA vol flow is set to 'autosize' + + int const CoolingCapMethod, // - Method for cooling capacity scaledsizing calculation + //- (CoolingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity) + int const HeatingCapMethod, // - Method for heatiing capacity scaledsizing calculation + //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 const ScaledCoolingCapacity, // - scaled maximum cooling capacity of cooling coil in an air loop + Real64 const ScaledHeatingCapacity, // - scaled maximum heating capacity of cooling coil in an air loop + + Real64 const FloorAreaOnAirLoopCooled, // total floor of cooled zones served by an airloop + Real64 const FloorAreaOnAirLoopHeated, // total floor of heated zones served by an airloop + Real64 const FlowPerFloorAreaCooled, // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop + Real64 const FlowPerFloorAreaHeated, // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop + Real64 const FracOfAutosizedCoolingAirflow, // fraction of of cooling supply air flow rate an airloop + Real64 const FracOfAutosizedHeatingAirflow, // fraction of of heating supply air flow rate an airloop + Real64 const FlowPerCoolingCapacity, // ratio of cooling supply air flow rate to cooling capacity of an airloop + Real64 const FlowPerHeatingCapacity // ratio of heating supply air flow rate to heating capacity of an airloop + + ) : AirPriLoopName( AirPriLoopName ), AirLoopNum( AirLoopNum ), @@ -1096,7 +1264,21 @@ namespace DataSizing { DesHeatAirFlow( DesHeatAirFlow ), SystemOAMethod( SystemOAMethod ), MaxZoneOAFraction( MaxZoneOAFraction ), - OAAutoSized( OAAutoSized ) + OAAutoSized( OAAutoSized ), + + CoolingCapMethod( CoolingCapMethod ), + HeatingCapMethod( HeatingCapMethod ), + ScaledCoolingCapacity( ScaledCoolingCapacity ), + ScaledHeatingCapacity( ScaledHeatingCapacity ), + FloorAreaOnAirLoopCooled(FloorAreaOnAirLoopCooled), + FloorAreaOnAirLoopHeated(FloorAreaOnAirLoopCooled), + FlowPerFloorAreaCooled(FlowPerFloorAreaCooled), + FlowPerFloorAreaHeated(FlowPerFloorAreaHeated), + FracOfAutosizedCoolingAirflow(FracOfAutosizedCoolingAirflow), + FracOfAutosizedHeatingAirflow(FracOfAutosizedHeatingAirflow), + FlowPerCoolingCapacity(FlowPerCoolingCapacity), + FlowPerHeatingCapacity(FlowPerHeatingCapacity) + {} }; @@ -1194,6 +1376,16 @@ namespace DataSizing { Real64 SysUncOA; // uncorrected system outdoor air flow based on zone people and // zone area bool OAAutoSized; // Set to true if design OA vol flow is set to 'autosize' + + Real64 FloorAreaOnAirLoopCooled; // total floor of cooled zones served by an airloop + Real64 FloorAreaOnAirLoopHeated; // total floor of heated zones served by an airloop + Real64 FlowPerFloorAreaCooled; // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop + Real64 FlowPerFloorAreaHeated; // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop + Real64 FracOfAutosizedCoolingAirflow; // fraction of of cooling supply air flow rate an airloop + Real64 FracOfAutosizedHeatingAirflow; // fraction of of heating supply air flow rate an airloop + Real64 FlowPerCoolingCapacity; // ratio of cooling supply air flow rate to cooling capacity of an airloop + Real64 FlowPerHeatingCapacity; // ratio of heating supply air flow rate to heating capacity of an airloop + // in Sizing:System // Default Constructor @@ -1256,7 +1448,16 @@ namespace DataSizing { SystemOAMethod( 0 ), MaxZoneOAFraction( 0.0 ), SysUncOA( 0.0 ), - OAAutoSized( false ) + OAAutoSized( false ), + FloorAreaOnAirLoopCooled(0.0), + FloorAreaOnAirLoopHeated(0.0), + FlowPerFloorAreaCooled(0.0), + FlowPerFloorAreaHeated(0.0), + FracOfAutosizedCoolingAirflow(0.0), + FracOfAutosizedHeatingAirflow(0.0), + FlowPerCoolingCapacity(0.0), + FlowPerHeatingCapacity(0.0) + {} // Member Constructor @@ -1335,7 +1536,17 @@ namespace DataSizing { int const SystemOAMethod, // System Outdoor Air Method; 1 = SOAM_ZoneSum, 2 = SOAM_VRP Real64 const MaxZoneOAFraction, // maximum value of min OA for zones served by system Real64 const SysUncOA, // uncorrected system outdoor air flow based on zone people and - bool const OAAutoSized // Set to true if design OA vol flow is set to 'autosize' + bool const OAAutoSized, // Set to true if design OA vol flow is set to 'autosize' + + Real64 const FloorAreaOnAirLoopCooled, // total floor of cooled zones served by an airloop + Real64 const FloorAreaOnAirLoopHeated, // total floor of heated zones served by an airloop + Real64 const FlowPerFloorAreaCooled, // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop + Real64 const FlowPerFloorAreaHeated, // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop + Real64 const FracOfAutosizedCoolingAirflow, // fraction of of cooling supply air flow rate an airloop + Real64 const FracOfAutosizedHeatingAirflow, // fraction of of heating supply air flow rate an airloop + Real64 const FlowPerCoolingCapacity, // ratio of cooling supply air flow rate to cooling capacity of an airloop + Real64 const FlowPerHeatingCapacity // ratio of heating supply air flow rate to heating capacity of an airloop + ) : AirPriLoopName( AirPriLoopName ), CoolDesDay( CoolDesDay ), @@ -1411,7 +1622,16 @@ namespace DataSizing { SystemOAMethod( SystemOAMethod ), MaxZoneOAFraction( MaxZoneOAFraction ), SysUncOA( SysUncOA ), - OAAutoSized( OAAutoSized ) + OAAutoSized( OAAutoSized ), + + FloorAreaOnAirLoopCooled( FloorAreaOnAirLoopCooled ), + FloorAreaOnAirLoopHeated( FloorAreaOnAirLoopCooled ), + FlowPerFloorAreaCooled( FlowPerFloorAreaCooled ), + FlowPerFloorAreaHeated( FlowPerFloorAreaHeated ), + FracOfAutosizedCoolingAirflow( FracOfAutosizedCoolingAirflow ), + FracOfAutosizedHeatingAirflow( FracOfAutosizedHeatingAirflow ), + FlowPerCoolingCapacity( FlowPerCoolingCapacity ), + FlowPerHeatingCapacity( FlowPerHeatingCapacity ) {} }; @@ -1610,6 +1830,7 @@ namespace DataSizing { extern FArray1D< PlantSizingData > PlantSizData; // Input data array for plant sizing extern FArray1D< DesDayWeathData > DesDayWeath; // design day weather saved at major time step extern FArray1D< CompDesWaterFlowData > CompDesWaterFlow; // array to store components' design water flow + extern FArray1D< ZoneHVACSizingData > ZoneHVACSizing; // Input data for zone HVAC sizing } // DataSizing diff --git a/src/EnergyPlus/ElectricBaseboardRadiator.cc b/src/EnergyPlus/ElectricBaseboardRadiator.cc index f060ee41b24..2d34f68c483 100644 --- a/src/EnergyPlus/ElectricBaseboardRadiator.cc +++ b/src/EnergyPlus/ElectricBaseboardRadiator.cc @@ -87,6 +87,7 @@ namespace ElectricBaseboardRadiator { // Object Data FArray1D< ElecBaseboardParams > ElecBaseboard; + FArray1D< ElecBaseboardNumericFieldData > ElecBaseboardNumericFields; // Functions @@ -206,6 +207,7 @@ namespace ElectricBaseboardRadiator { using InputProcessor::GetNumObjectsFound; using InputProcessor::GetObjectItem; using InputProcessor::VerifyName; + using InputProcessor::SameString; using InputProcessor::FindItemInList; using DataSurfaces::Surface; using DataSurfaces::TotSurfaces; @@ -214,6 +216,14 @@ namespace ElectricBaseboardRadiator { using ScheduleManager::GetScheduleIndex; using namespace DataIPShortCuts; + using General::TrimSigDigits; + using DataSizing::AutoSize; + using DataSizing::FinalZoneSizing; + using DataSizing::HeatingDesignCapacity; + using DataSizing::CapacityPerFloorArea; + using DataSizing::FractionOfAutosizedHeatingCapacity; + + // Locals // SUBROUTINE ARGUMENT DEFINITIONS: // na @@ -225,6 +235,11 @@ namespace ElectricBaseboardRadiator { // INTEGER,PARAMETER :: MaxDistribSurfaces = 20 ! Maximum number of surfaces that a baseboard heater can radiate to int const MinDistribSurfaces( 1 ); // Minimum number of surfaces that a baseboard heater can radiate to + int const iHeatCAPMAlphaNum( 3 ); // get input index to HW baseboard heating capacity sizing method + int const iHeatDesignCapacityNumericNum( 1 ); // get input index to HW baseboard heating capacity + int const iHeatCapacityPerFloorAreaNumericNum( 2 ); // get input index to HW baseboard heating capacity per floor area sizing + int const iHeatFracOfAutosizedCapacityNumericNum( 3 ); // get input index to HW baseboard heating capacity sizing as fraction of autozized heating capacity + // INTERFACE BLOCK SPECIFICATIONS // na @@ -252,11 +267,17 @@ namespace ElectricBaseboardRadiator { ElecBaseboard.allocate( NumElecBaseboards ); CheckEquipName.allocate( NumElecBaseboards ); + ElecBaseboardNumericFields.allocate( NumElecBaseboards ); CheckEquipName = true; for ( BaseboardNum = 1; BaseboardNum <= NumElecBaseboards; ++BaseboardNum ) { GetObjectItem( cCurrentModuleObject, BaseboardNum, cAlphaArgs, NumAlphas, rNumericArgs, NumNumbers, IOStat, lNumericFieldBlanks, lAlphaFieldBlanks, cAlphaFieldNames, cNumericFieldNames ); + + ElecBaseboardNumericFields( BaseboardNum ).FieldNames.allocate(NumNumbers); + ElecBaseboardNumericFields( BaseboardNum ).FieldNames = ""; + ElecBaseboardNumericFields( BaseboardNum ).FieldNames = cNumericFieldNames; + IsNotOK = false; IsBlank = false; VerifyName( cAlphaArgs( 1 ), ElecBaseboard.EquipName(), BaseboardNum, IsNotOK, IsBlank, cCurrentModuleObject + " Name" ); @@ -281,18 +302,82 @@ namespace ElectricBaseboardRadiator { ErrorsFound = true; } } - // get inlet node number - ElecBaseboard( BaseboardNum ).NominalCapacity = rNumericArgs( 1 ); - ElecBaseboard( BaseboardNum ).BaseboardEfficiency = rNumericArgs( 2 ); + + // Determine HW radiant baseboard heating design capacity sizing method + if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "HeatingDesignCapacity")) { + ElecBaseboard(BaseboardNum).HeatingCapMethod = HeatingDesignCapacity; + + if (!lNumericFieldBlanks(iHeatDesignCapacityNumericNum)) { + ElecBaseboard(BaseboardNum).ScaledHeatingCapacity = rNumericArgs(iHeatDesignCapacityNumericNum); + if (ElecBaseboard(BaseboardNum).ScaledHeatingCapacity < 0.0 && ElecBaseboard(BaseboardNum).ScaledHeatingCapacity != AutoSize) { + ShowSevereError(cCurrentModuleObject + " = " + ElecBaseboard(BaseboardNum).EquipName); + ShowContinueError("Illegal " + cNumericFieldNames(iHeatDesignCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatDesignCapacityNumericNum), 7)); + ErrorsFound = true; + } + } + else { + ShowSevereError(cCurrentModuleObject + " = " + ElecBaseboard(BaseboardNum).EquipName); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatDesignCapacityNumericNum)); + ErrorsFound = true; + } + } + else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "CapacityPerFloorArea")) { + ElecBaseboard(BaseboardNum).HeatingCapMethod = CapacityPerFloorArea; + if (!lNumericFieldBlanks(iHeatCapacityPerFloorAreaNumericNum)) { + ElecBaseboard(BaseboardNum).ScaledHeatingCapacity = rNumericArgs(iHeatCapacityPerFloorAreaNumericNum); + if (ElecBaseboard(BaseboardNum).ScaledHeatingCapacity <= 0.0) { + ShowSevereError(cCurrentModuleObject + " = " + ElecBaseboard(BaseboardNum).EquipName); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatCapacityPerFloorAreaNumericNum), 7)); + ErrorsFound = true; + } + else if (ElecBaseboard(BaseboardNum).ScaledHeatingCapacity == AutoSize) { + ShowSevereError(cCurrentModuleObject + " = " + ElecBaseboard(BaseboardNum).EquipName); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = Autosize"); + ErrorsFound = true; + } + } + else { + ShowSevereError(cCurrentModuleObject + " = " + ElecBaseboard(BaseboardNum).EquipName); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum)); + ErrorsFound = true; + } + } + else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "FractionOfAutosizedHeatingCapacity")){ + ElecBaseboard(BaseboardNum).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; + if (!lNumericFieldBlanks(iHeatFracOfAutosizedCapacityNumericNum)) { + ElecBaseboard(BaseboardNum).ScaledHeatingCapacity = rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum); + if (ElecBaseboard(BaseboardNum).ScaledHeatingCapacity < 0.0) { + ShowSevereError(cCurrentModuleObject + " = " + ElecBaseboard(BaseboardNum).EquipName); + ShowContinueError("Illegal " + cNumericFieldNames(iHeatFracOfAutosizedCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum), 7)); + ErrorsFound = true; + } + } + else { + ShowSevereError(cCurrentModuleObject + " = " + ElecBaseboard(BaseboardNum).EquipName); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatFracOfAutosizedCapacityNumericNum)); + ErrorsFound = true; + } + } + else { + ShowSevereError(cCurrentModuleObject + " = " + ElecBaseboard(BaseboardNum).EquipName); + ShowContinueError("Illegal " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ErrorsFound = true; + } - ElecBaseboard( BaseboardNum ).FracRadiant = rNumericArgs( 3 ); + ElecBaseboard( BaseboardNum ).BaseboardEfficiency = rNumericArgs( 4 ); + ElecBaseboard( BaseboardNum ).FracRadiant = rNumericArgs( 5 ); if ( ElecBaseboard( BaseboardNum ).FracRadiant < MinFraction ) { - ShowWarningError( RoutineName + cCurrentModuleObject + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( 3 ) + " was lower than the allowable minimum." ); + ShowWarningError( RoutineName + cCurrentModuleObject + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( 5 ) + " was lower than the allowable minimum." ); ShowContinueError( "...reset to minimum value=[" + RoundSigDigits( MinFraction, 2 ) + "]." ); ElecBaseboard( BaseboardNum ).FracRadiant = MinFraction; } if ( ElecBaseboard( BaseboardNum ).FracRadiant > MaxFraction ) { - ShowWarningError( RoutineName + cCurrentModuleObject + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( 3 ) + " was higher than the allowable maximum." ); + ShowWarningError( RoutineName + cCurrentModuleObject + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( 5 ) + " was higher than the allowable maximum." ); ShowContinueError( "...reset to maximum value=[" + RoundSigDigits( MaxFraction, 2 ) + "]." ); ElecBaseboard( BaseboardNum ).FracRadiant = MaxFraction; } @@ -307,19 +392,19 @@ namespace ElectricBaseboardRadiator { ElecBaseboard( BaseboardNum ).FracConvect = 1.0 - AllFracsSummed; } - ElecBaseboard( BaseboardNum ).FracDistribPerson = rNumericArgs( 4 ); + ElecBaseboard( BaseboardNum ).FracDistribPerson = rNumericArgs( 6 ); if ( ElecBaseboard( BaseboardNum ).FracDistribPerson < MinFraction ) { - ShowWarningError( RoutineName + cCurrentModuleObject + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( 4 ) + " was lower than the allowable minimum." ); + ShowWarningError( RoutineName + cCurrentModuleObject + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( 6 ) + " was lower than the allowable minimum." ); ShowContinueError( "...reset to minimum value=[" + RoundSigDigits( MinFraction, 2 ) + "]." ); ElecBaseboard( BaseboardNum ).FracDistribPerson = MinFraction; } if ( ElecBaseboard( BaseboardNum ).FracDistribPerson > MaxFraction ) { - ShowWarningError( RoutineName + cCurrentModuleObject + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( 4 ) + " was higher than the allowable maximum." ); + ShowWarningError( RoutineName + cCurrentModuleObject + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( 6 ) + " was higher than the allowable maximum." ); ShowContinueError( "...reset to maximum value=[" + RoundSigDigits( MaxFraction, 2 ) + "]." ); ElecBaseboard( BaseboardNum ).FracDistribPerson = MaxFraction; } - ElecBaseboard( BaseboardNum ).TotSurfToDistrib = NumNumbers - 4; + ElecBaseboard( BaseboardNum ).TotSurfToDistrib = NumNumbers - 6; // IF (ElecBaseboard(BaseboardNum)%TotSurfToDistrib > MaxDistribSurfaces) THEN // CALL ShowWarningError(RoutineName//TRIM(cCurrentModuleObject)//'="'//TRIM(cAlphaArgs(1))// & // '", the number of surface/radiant fraction groups entered was higher than the allowable maximum.') @@ -343,20 +428,20 @@ namespace ElectricBaseboardRadiator { AllFracsSummed = ElecBaseboard( BaseboardNum ).FracDistribPerson; for ( SurfNum = 1; SurfNum <= ElecBaseboard( BaseboardNum ).TotSurfToDistrib; ++SurfNum ) { - ElecBaseboard( BaseboardNum ).SurfaceName( SurfNum ) = cAlphaArgs( SurfNum + 2 ); - ElecBaseboard( BaseboardNum ).SurfacePtr( SurfNum ) = FindItemInList( cAlphaArgs( SurfNum + 2 ), Surface.Name(), TotSurfaces ); - ElecBaseboard( BaseboardNum ).FracDistribToSurf( SurfNum ) = rNumericArgs( SurfNum + 4 ); + ElecBaseboard( BaseboardNum ).SurfaceName( SurfNum ) = cAlphaArgs( SurfNum + 3 ); + ElecBaseboard( BaseboardNum ).SurfacePtr( SurfNum ) = FindItemInList( cAlphaArgs( SurfNum + 3 ), Surface.Name(), TotSurfaces ); + ElecBaseboard( BaseboardNum ).FracDistribToSurf( SurfNum ) = rNumericArgs( SurfNum + 6 ); if ( ElecBaseboard( BaseboardNum ).SurfacePtr( SurfNum ) == 0 ) { - ShowSevereError( RoutineName + cCurrentModuleObject + "=\"" + cAlphaArgs( 1 ) + "\", " + cAlphaFieldNames( SurfNum + 2 ) + "=\"" + cAlphaArgs( SurfNum + 2 ) + "\" invalid - not found." ); + ShowSevereError( RoutineName + cCurrentModuleObject + "=\"" + cAlphaArgs( 1 ) + "\", " + cAlphaFieldNames( SurfNum + 3 ) + "=\"" + cAlphaArgs( SurfNum + 3 ) + "\" invalid - not found." ); ErrorsFound = true; } if ( ElecBaseboard( BaseboardNum ).FracDistribToSurf( SurfNum ) > MaxFraction ) { - ShowWarningError( RoutineName + cCurrentModuleObject + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( SurfNum + 4 ) + "was greater than the allowable maximum." ); + ShowWarningError( RoutineName + cCurrentModuleObject + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( SurfNum + 6 ) + "was greater than the allowable maximum." ); ShowContinueError( "...reset to maximum value=[" + RoundSigDigits( MaxFraction, 2 ) + "]." ); ElecBaseboard( BaseboardNum ).TotSurfToDistrib = MaxFraction; } if ( ElecBaseboard( BaseboardNum ).FracDistribToSurf( SurfNum ) < MinFraction ) { - ShowWarningError( RoutineName + cCurrentModuleObject + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( SurfNum + 4 ) + "was less than the allowable minimum." ); + ShowWarningError( RoutineName + cCurrentModuleObject + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( SurfNum + 6 ) + "was less than the allowable minimum." ); ShowContinueError( "...reset to maximum value=[" + RoundSigDigits( MinFraction, 2 ) + "]." ); ElecBaseboard( BaseboardNum ).TotSurfToDistrib = MinFraction; } @@ -548,6 +633,7 @@ namespace ElectricBaseboardRadiator { // AUTHOR Fred Buhl // DATE WRITTEN February 2002 // MODIFIED August 2013 Daeho Kang, add component sizing table entries + // July 2014, B. Nigusse, added scalable sizing // RE-ENGINEERED na // PURPOSE OF THIS SUBROUTINE: @@ -564,13 +650,15 @@ namespace ElectricBaseboardRadiator { // Using/Aliasing using namespace DataSizing; using ReportSizingManager::ReportSizingOutput; + using ReportSizingManager::RequestSizing; using General::RoundSigDigits; + using DataHVACGlobals::HeatingCapacitySizing; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: // SUBROUTINE PARAMETER DEFINITIONS: - // na + static std::string const RoutineName("SizeElectricBaseboard"); // INTERFACE BLOCK SPECIFICATIONS // na @@ -583,42 +671,59 @@ namespace ElectricBaseboardRadiator { Real64 NominalCapacityUser; // User hard-sized UA value for reproting bool IsAutoSize; // Indicator to autosizing nominal capacity + std::string CompName; // component name + std::string CompType; // component type + std::string SizingString; // input field sizing description (e.g., Nominal Capacity) + Real64 TempSize; // autosized value of coil input field + int FieldNum = 1; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) + bool PrintFlag; // TRUE when sizing information is reported in the eio file + int CapSizingMethod( 0 ); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) + IsAutoSize = false; NominalCapacityDes = 0.0; NominalCapacityUser = 0.0; + DataScalableCapSizingON = false; if ( CurZoneEqNum > 0 ) { - if ( ElecBaseboard( BaseboardNum ).NominalCapacity == AutoSize ) { - IsAutoSize = true; - } - // Check if all are hard-sized - if ( ! IsAutoSize && ! ZoneSizingRunDone ) { // simulation should continue - if ( ElecBaseboard( BaseboardNum ).NominalCapacity > 0.0 ) { - ReportSizingOutput( cCMO_BBRadiator_Electric, ElecBaseboard( BaseboardNum ).EquipName, "User-Specified Nominal Capacity [W]", ElecBaseboard( BaseboardNum ).NominalCapacity ); - } - } else { // AutoSize or hard-size with sizing run - CheckZoneSizing( cCMO_BBRadiator_Electric, ElecBaseboard( BaseboardNum ).EquipName ); - NominalCapacityDes = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; - if ( IsAutoSize ) { - ElecBaseboard( BaseboardNum ).NominalCapacity = NominalCapacityDes; - ReportSizingOutput( cCMO_BBRadiator_Electric, ElecBaseboard( BaseboardNum ).EquipName, "Design Size Nominal Capacity [W]", NominalCapacityDes ); - } else { // Hard-size with sizing data - if ( ElecBaseboard( BaseboardNum ).NominalCapacity > 0.0 && NominalCapacityDes > 0.0 ) { - NominalCapacityUser = ElecBaseboard( BaseboardNum ).NominalCapacity; - ReportSizingOutput( cCMO_BBRadiator_Electric, ElecBaseboard( BaseboardNum ).EquipName, "Design Size Nominal Capacity [W]", NominalCapacityDes, "User-Specified Nominal Capacity [W]", NominalCapacityUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( NominalCapacityDes - NominalCapacityUser ) / NominalCapacityUser ) > AutoVsHardSizingThreshold ) { - ShowMessage( "SizeElecBaseboard: Potential issue with equipment sizing for " "ZoneHVAC:Baseboard:RadiantConvective:Electric=\"" + ElecBaseboard( BaseboardNum ).EquipName + "\"." ); - ShowContinueError( "User-Specified Nominal Capacity of " + RoundSigDigits( NominalCapacityUser, 2 ) + " [W]" ); - ShowContinueError( "differs from Design Size Nominal Capacity of " + RoundSigDigits( NominalCapacityDes, 2 ) + " [W]" ); - ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); - ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); - } - } + CompType = cCMO_BBRadiator_Electric; + CompName = ElecBaseboard( BaseboardNum ).EquipName; + DataFracOfAutosizedHeatingCapacity = 1.0; + DataZoneNumber = ElecBaseboard( BaseboardNum ).ZonePtr; + SizingMethod = HeatingCapacitySizing; + FieldNum = 1; + PrintFlag = true; + SizingString = ElecBaseboardNumericFields(BaseboardNum).FieldNames(FieldNum) + " [W]"; + CapSizingMethod = ElecBaseboard( BaseboardNum ).HeatingCapMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; + if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { + if (CapSizingMethod == HeatingDesignCapacity){ + if (ElecBaseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize) { + CheckZoneSizing(CompType, CompName); + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; } + TempSize = ElecBaseboard( BaseboardNum ).ScaledHeatingCapacity; + } else if ( CapSizingMethod == CapacityPerFloorArea ){ + DataHeatingCapPerFloorArea = ElecBaseboard( BaseboardNum ).ScaledHeatingCapacity; + TempSize = ElecBaseboard( BaseboardNum ).ScaledHeatingCapacity; + DataScalableCapSizingON = true; + } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ + CheckZoneSizing(CompType, CompName); + ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + DataFracOfAutosizedHeatingCapacity = ElecBaseboard(BaseboardNum).ScaledHeatingCapacity; + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + TempSize = AutoSize; + DataScalableCapSizingON = true; + } else { + TempSize = ElecBaseboard(BaseboardNum).ScaledHeatingCapacity; } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + ElecBaseboard(BaseboardNum).NominalCapacity = TempSize; + DataScalableCapSizingON = false; } + } } diff --git a/src/EnergyPlus/ElectricBaseboardRadiator.hh b/src/EnergyPlus/ElectricBaseboardRadiator.hh index 2c6ad149916..cda39a9f704 100644 --- a/src/EnergyPlus/ElectricBaseboardRadiator.hh +++ b/src/EnergyPlus/ElectricBaseboardRadiator.hh @@ -66,6 +66,8 @@ namespace ElectricBaseboardRadiator { Real64 ConvEnergy; Real64 RadEnergy; FArray1D< Real64 > FracDistribToSurf; + int HeatingCapMethod; // - Method for electric baseboard heating capacity scalable sizing calculation + Real64 ScaledHeatingCapacity; // - electric baseboard scaled maximum heating capacity {W} or scalable variable for sizing in {-}, or {W/m2} // Default Constructor ElecBaseboardParams() : @@ -90,7 +92,9 @@ namespace ElectricBaseboardRadiator { TotEnergy( 0.0 ), Energy( 0.0 ), ConvEnergy( 0.0 ), - RadEnergy( 0.0 ) + RadEnergy( 0.0 ), + HeatingCapMethod( 0 ), + ScaledHeatingCapacity( 0.0 ) {} // Member Constructor @@ -121,7 +125,9 @@ namespace ElectricBaseboardRadiator { Real64 const Energy, Real64 const ConvEnergy, Real64 const RadEnergy, - FArray1< Real64 > const & FracDistribToSurf + FArray1< Real64 > const & FracDistribToSurf, + int const HeatingCapMethod, + Real64 const ScaledHeatingCapacity ) : EquipName( EquipName ), EquipType( EquipType ), @@ -149,13 +155,33 @@ namespace ElectricBaseboardRadiator { Energy( Energy ), ConvEnergy( ConvEnergy ), RadEnergy( RadEnergy ), - FracDistribToSurf( FracDistribToSurf ) + FracDistribToSurf( FracDistribToSurf ), + HeatingCapMethod( HeatingCapMethod ), + ScaledHeatingCapacity( ScaledHeatingCapacity ) {} }; + struct ElecBaseboardNumericFieldData + { + // Members + FArray1D_string FieldNames; + + // Default Constructor + ElecBaseboardNumericFieldData() + {} + + // Member Constructor + ElecBaseboardNumericFieldData( + FArray1_string const & FieldNames // Name of the HeatingCoil numeric field descriptions + ) : + FieldNames(FieldNames) + {} + }; + // Object Data extern FArray1D< ElecBaseboardParams > ElecBaseboard; + extern FArray1D< ElecBaseboardNumericFieldData > ElecBaseboardNumericFields; // Functions diff --git a/src/EnergyPlus/EvaporativeCoolers.cc b/src/EnergyPlus/EvaporativeCoolers.cc index 43e7bb53505..1fc3fb6d91a 100644 --- a/src/EnergyPlus/EvaporativeCoolers.cc +++ b/src/EnergyPlus/EvaporativeCoolers.cc @@ -112,6 +112,7 @@ namespace EvaporativeCoolers { // Object Data FArray1D< EvapConditions > EvapCond; FArray1D< ZoneEvapCoolerUnitStruct > ZoneEvapUnit; + FArray1D< ZoneEvapCoolerUnitFieldData > ZoneEvapCoolerUnitFields; // MODULE SUBROUTINES: //************************************************************************* @@ -2077,6 +2078,10 @@ namespace EvaporativeCoolers { using DataHVACGlobals::FanType_SimpleOnOff; using DataZoneEquipment::ZoneEvaporativeCoolerUnit_Num; using BranchNodeConnections::SetUpCompSets; + using DataSizing::NumZoneHVACSizing; + using DataSizing::ZoneHVACSizing; + using DataZoneEquipment::ZoneEquipConfig; + using DataGlobals::NumOfZones; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -2111,6 +2116,8 @@ namespace EvaporativeCoolers { bool errFlag; Real64 FanVolFlow; int UnitLoop; + int CtrlZone; // index to loop counter + int NodeNum; // index to loop counter if ( GetInputEvapComponentsFlag ) { GetEvapInput(); @@ -2142,9 +2149,15 @@ namespace EvaporativeCoolers { CheckZoneEvapUnitName.allocate( NumZoneEvapUnits ); CheckZoneEvapUnitName = true; ZoneEvapUnit.allocate( NumZoneEvapUnits ); + ZoneEvapCoolerUnitFields.allocate( NumZoneEvapUnits ); for ( UnitLoop = 1; UnitLoop <= NumZoneEvapUnits; ++UnitLoop ) { GetObjectItem( CurrentModuleObject, UnitLoop, Alphas, NumAlphas, Numbers, NumNumbers, IOStatus, lNumericBlanks, lAlphaBlanks, cAlphaFields, cNumericFields ); + + ZoneEvapCoolerUnitFields( UnitLoop ).FieldNames.allocate( NumNumbers ); + ZoneEvapCoolerUnitFields( UnitLoop ).FieldNames = ""; + ZoneEvapCoolerUnitFields( UnitLoop ).FieldNames = cNumericFields; + IsNotOK = false; IsBlank = false; VerifyName( Alphas( 1 ), ZoneEvapUnit.Name(), UnitLoop - 1, IsNotOK, IsBlank, CurrentModuleObject + " Name" ); @@ -2212,6 +2225,17 @@ namespace EvaporativeCoolers { ErrorsFound = true; }} + // get the zone numer served by the zoneHVAC evaporative cooler + for ( CtrlZone = 1; CtrlZone <= NumOfZones; ++CtrlZone ) { + if ( ! ZoneEquipConfig( CtrlZone ).IsControlled) continue; + for ( NodeNum = 1; NodeNum <= ZoneEquipConfig( CtrlZone ).NumInletNodes; ++NodeNum ) { + if ( ZoneEvapUnit( UnitLoop ).UnitOutletNodeNum == ZoneEquipConfig( CtrlZone ).InletNode( NodeNum ) ) { + ZoneEvapUnit( UnitLoop ).ZonePtr = CtrlZone; + break; + } + } + } + { auto const SELECT_CASE_var( Alphas( 10 ) ); if ( SELECT_CASE_var == "ZONETEMPERATUREDEADBANDONOFFCYCLING" ) { ZoneEvapUnit( UnitLoop ).ControlSchemeType = ZoneTemperatureDeadBandOnOffCycling; @@ -2297,6 +2321,16 @@ namespace EvaporativeCoolers { } } + ZoneEvapUnit( UnitLoop ).HVACSizingIndex = 0; + if (!lAlphaBlanks( 15 )) { + ZoneEvapUnit( UnitLoop ).HVACSizingIndex = FindItemInList(Alphas( 15 ), ZoneHVACSizing.Name(), NumZoneHVACSizing ); + if ( ZoneEvapUnit( UnitLoop ).HVACSizingIndex == 0 ) { + ShowSevereError( cAlphaFields( 15 ) + " = " + Alphas( 15 ) + " not found." ); + ShowContinueError( "Occurs in " + CurrentModuleObject + " = " + ZoneEvapUnit( UnitLoop ).Name ); + ErrorsFound = true; + } + } + //Add fan to component sets array SetUpCompSets( CurrentModuleObject, ZoneEvapUnit( UnitLoop ).Name, ZoneEvapUnit( UnitLoop ).FanObjectClassName, ZoneEvapUnit( UnitLoop ).FanName, NodeID( ZoneEvapUnit( UnitLoop ).FanInletNodeNum ), NodeID( ZoneEvapUnit( UnitLoop ).FanOutletNodeNum ) ); @@ -2556,7 +2590,7 @@ namespace EvaporativeCoolers { // SUBROUTINE INFORMATION: // AUTHOR B. Griffith // DATE WRITTEN July 2013 - // MODIFIED na + // MODIFIED August 2014 Bereket Nigusse, added scalable sizing // RE-ENGINEERED na // PURPOSE OF THIS SUBROUTINE: @@ -2570,16 +2604,22 @@ namespace EvaporativeCoolers { // Using/Aliasing using ReportSizingManager::ReportSizingOutput; - using DataSizing::AutoSize; - using DataSizing::CurZoneEqNum; - using DataSizing::FinalZoneSizing; + using ReportSizingManager::RequestSizing; + using namespace DataSizing; + //using DataSizing::CurZoneEqNum; + //using DataSizing::ZoneEqSizing; + //using DataSizing::FinalZoneSizing; using DataHVACGlobals::SmallAirVolFlow; + //using General::RoundSigDigits; + using DataHVACGlobals::SystemAirflowSizing; + using DataHVACGlobals::CoolingAirflowSizing; + using DataHVACGlobals::CoolingCapacitySizing; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: // SUBROUTINE PARAMETER DEFINITIONS: - // na + static std::string const RoutineName("SizeZoneEvaporativeCoolerUnit: "); // include trailing blank space // INTERFACE BLOCK SPECIFICATIONS: // na @@ -2588,21 +2628,126 @@ namespace EvaporativeCoolers { // na // SUBROUTINE LOCAL VARIABLE DECLARATIONS: - // na - - if ( ZoneEvapUnit( UnitNum ).DesignAirVolumeFlowRate == AutoSize ) { - - if ( CurZoneEqNum > 0 ) { - CheckZoneSizing( "ZoneHVAC:EvaporativeCoolerUnit", ZoneEvapUnit( UnitNum ).Name ); - ZoneEvapUnit( UnitNum ).DesignAirVolumeFlowRate = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; - if ( ZoneEvapUnit( UnitNum ).DesignAirVolumeFlowRate < SmallAirVolFlow ) { - ZoneEvapUnit( UnitNum ).DesignAirVolumeFlowRate = 0.0; - } - ReportSizingOutput( "ZoneHVAC:EvaporativeCoolerUnit", ZoneEvapUnit( UnitNum ).Name, "Design Supply Air Flow Rate [m3/s]", ZoneEvapUnit( UnitNum ).DesignAirVolumeFlowRate ); + std::string CompName; // component name + std::string CompType; // component type + std::string SizingString; // input field sizing description (e.g., Nominal Capacity) + Real64 TempSize; // autosized value of coil input field + int FieldNum = 1; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) + bool PrintFlag; // TRUE when sizing information is reported in the eio file + int zoneHVACIndex; // index of zoneHVAC equipment sizing specification + int SAFMethod(0); // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow ...) + int CapSizingMethod(0); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) + + DataScalableSizingON = false; + ZoneHeatingOnlyFan = false; + ZoneCoolingOnlyFan = false; + + CompType = "ZoneHVAC:EvaporativeCoolerUnit"; + CompName = ZoneEvapUnit( UnitNum ).Name; + DataZoneNumber = ZoneEvapUnit( UnitNum ).ZonePtr; + SizingMethod = CoolingAirflowSizing; + FieldNum = 1; + PrintFlag = true; + SizingString = ZoneEvapCoolerUnitFields(UnitNum).FieldNames(FieldNum) + " [m3/s]"; + // N1 , \field Maximum Supply Air Flow Rate + + if (CurZoneEqNum > 0) { + + if ( ZoneEvapUnit( UnitNum ).HVACSizingIndex > 0) { + ZoneCoolingOnlyFan = true; + zoneHVACIndex = ZoneEvapUnit( UnitNum ).HVACSizingIndex; + SAFMethod = ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; + if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow) { + if (SAFMethod == SupplyAirFlowRate){ + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + if ( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0 ) { + PrintFlag = false; + } + } else if (SAFMethod == FlowPerFloorArea){ + DataCoolFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow;; + DataScalableSizingON = true; + } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + } + else { + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + ZoneEvapUnit( UnitNum ).DesignAirVolumeFlowRate = TempSize; + + } else if (SAFMethod == FlowPerCoolingCapacity) { + SizingMethod = CoolingCapacitySizing; + TempSize = AutoSize; + PrintFlag = false; + DataScalableSizingON = true; + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + if (ZoneHVACSizing( zoneHVACIndex ).CoolingCapMethod == FractionOfAutosizedCoolingCapacity) { + DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; + } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DataCapacityUsedForSizing = TempSize; + DataFlowPerCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + SizingMethod = CoolingAirflowSizing; + PrintFlag = true; + TempSize = AutoSize; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + ZoneEvapUnit( UnitNum ).DesignAirVolumeFlowRate = TempSize; + } + DataScalableSizingON = false; + ZoneCoolingOnlyFan = false; + + //// initialize capacity sizing variables: cooling + //CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).CoolingCapMethod; + //ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; + //if (CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity) { + // if (CapSizingMethod == HeatingDesignCapacity){ + // if (ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity > 0.0) { + // ZoneEqSizing(CurZoneEqNum).CoolingCapacity = true; + // ZoneEqSizing(CurZoneEqNum).DesCoolingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + // } + // } + // else if (CapSizingMethod == CapacityPerFloorArea){ + // DataCoolingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + // } + // else if (CapSizingMethod == FractionOfAutosizedCoolingCapacity){ + // DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + // } + //} + + } else { + // no scalble sizing method has been specified. Sizing proceeds using the method + // specified in the zoneHVAC object + // N1 , \field Maximum Supply Air Flow Rate + ZoneCoolingOnlyFan = true; + if ( ZoneEvapUnit( UnitNum ).DesignAirVolumeFlowRate > 0.0) { + PrintFlag = false; + } + TempSize = ZoneEvapUnit(UnitNum).DesignAirVolumeFlowRate; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + ZoneEvapUnit(UnitNum).DesignAirVolumeFlowRate = TempSize; + ZoneCoolingOnlyFan = false; } } + //if ( ZoneEvapUnit( UnitNum ).DesignAirVolumeFlowRate == AutoSize ) { + + // if ( CurZoneEqNum > 0 ) { + // CheckZoneSizing( "ZoneHVAC:EvaporativeCoolerUnit", ZoneEvapUnit( UnitNum ).Name ); + // ZoneEvapUnit( UnitNum ).DesignAirVolumeFlowRate = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; + // if ( ZoneEvapUnit( UnitNum ).DesignAirVolumeFlowRate < SmallAirVolFlow ) { + // ZoneEvapUnit( UnitNum ).DesignAirVolumeFlowRate = 0.0; + // } + // ReportSizingOutput( "ZoneHVAC:EvaporativeCoolerUnit", ZoneEvapUnit( UnitNum ).Name, "Design Supply Air Flow Rate [m3/s]", ZoneEvapUnit( UnitNum ).DesignAirVolumeFlowRate ); + // } + + //} + } void diff --git a/src/EnergyPlus/EvaporativeCoolers.hh b/src/EnergyPlus/EvaporativeCoolers.hh index d657d82dd4f..b3f07d96eff 100644 --- a/src/EnergyPlus/EvaporativeCoolers.hh +++ b/src/EnergyPlus/EvaporativeCoolers.hh @@ -394,6 +394,8 @@ namespace EvaporativeCoolers { Real64 UnitFanSpeedRatio; // unit fan speed ratio, dimensionless [ ] int UnitVSControlMaxIterErrorIndex; // regula falsi errors, fan speed iteration limits int UnitVSControlLimitsErrorIndex; // regula falsi errors, limits exceeded. + int ZonePtr; // pointer to a zone served by an evaportive cooler unit + int HVACSizingIndex; // index of a HVACSizing object for an evaportive cooler unit // Default Constructor ZoneEvapCoolerUnitStruct() : @@ -449,7 +451,9 @@ namespace EvaporativeCoolers { UnitLatentCoolingEnergy( 0.0 ), UnitFanSpeedRatio( 0.0 ), UnitVSControlMaxIterErrorIndex( 0 ), - UnitVSControlLimitsErrorIndex( 0 ) + UnitVSControlLimitsErrorIndex( 0 ), + ZonePtr( 0 ), + HVACSizingIndex( 0 ) {} // Member Constructor @@ -514,7 +518,9 @@ namespace EvaporativeCoolers { Real64 const UnitLatentCoolingEnergy, // unit output to zone, latent cooling energy [J] Real64 const UnitFanSpeedRatio, // unit fan speed ratio, dimensionless [ ] int const UnitVSControlMaxIterErrorIndex, // regula falsi errors, fan speed iteration limits - int const UnitVSControlLimitsErrorIndex // regula falsi errors, limits exceeded. + int const UnitVSControlLimitsErrorIndex, // regula falsi errors, limits exceeded. + int const ZonePtr, // pointer to a zone served by an evaportive cooler unit + int const HVACSizingIndex // index of a HVACSizing object for an evaportive cooler unit ) : Name( Name ), ZoneEquipType( ZoneEquipType ), @@ -576,14 +582,35 @@ namespace EvaporativeCoolers { UnitLatentCoolingEnergy( UnitLatentCoolingEnergy ), UnitFanSpeedRatio( UnitFanSpeedRatio ), UnitVSControlMaxIterErrorIndex( UnitVSControlMaxIterErrorIndex ), - UnitVSControlLimitsErrorIndex( UnitVSControlLimitsErrorIndex ) + UnitVSControlLimitsErrorIndex( UnitVSControlLimitsErrorIndex ), + ZonePtr( ZonePtr ), + HVACSizingIndex( HVACSizingIndex ) {} }; + struct ZoneEvapCoolerUnitFieldData + { + // Members + FArray1D_string FieldNames; + + // Default Constructor + ZoneEvapCoolerUnitFieldData() + {} + + // Member Constructor + ZoneEvapCoolerUnitFieldData( + FArray1_string const & FieldNames // Name of the HeatingCoil numeric field descriptions + ) : + FieldNames(FieldNames) + {} + }; + // Object Data extern FArray1D< EvapConditions > EvapCond; extern FArray1D< ZoneEvapCoolerUnitStruct > ZoneEvapUnit; + extern FArray1D< ZoneEvapCoolerUnitFieldData > ZoneEvapCoolerUnitFields; + // Functions diff --git a/src/EnergyPlus/FanCoilUnits.cc b/src/EnergyPlus/FanCoilUnits.cc index 6af87110546..e1b31166f19 100644 --- a/src/EnergyPlus/FanCoilUnits.cc +++ b/src/EnergyPlus/FanCoilUnits.cc @@ -34,6 +34,7 @@ #include #include #include +#include namespace EnergyPlus { @@ -137,6 +138,7 @@ namespace FanCoilUnits { // Object Data FArray1D< FanCoilData > FanCoil; + FArray1D< FanCoilNumericFieldData > FanCoilNumericFields; // Functions @@ -287,7 +289,9 @@ namespace FanCoilUnits { using DataGlobals::NumOfZones; using DataGlobals::ScheduleAlwaysOn; using SingleDuct::GetATMixer; - + using InputProcessor::FindItemInList; + using DataSizing::NumZoneHVACSizing; + using DataSizing::ZoneHVACSizing; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: static std::string const RoutineName( "GetFanCoilUnits: " ); // include trailing blank space @@ -340,6 +344,7 @@ namespace FanCoilUnits { NumFanCoils = Num4PipeFanCoils; // allocate the data structures FanCoil.allocate( NumFanCoils ); + FanCoilNumericFields.allocate( NumFanCoils ); CheckEquipName.allocate( NumFanCoils ); CheckEquipName = true; @@ -363,6 +368,11 @@ namespace FanCoilUnits { GetObjectItem( CurrentModuleObject, FanCoilIndex, Alphas, NumAlphas, Numbers, NumNumbers, IOStatus, lNumericBlanks, lAlphaBlanks, cAlphaFields, cNumericFields ); FanCoilNum = FanCoilIndex; + + FanCoilNumericFields( FanCoilNum ).FieldNames.allocate( NumNumbers ); + FanCoilNumericFields( FanCoilNum ).FieldNames = ""; + FanCoilNumericFields( FanCoilNum ).FieldNames = cNumericFields; + IsNotOK = false; IsBlank = false; VerifyName( Alphas( 1 ), FanCoil.Name(), FanCoilNum - 1, IsNotOK, IsBlank, CurrentModuleObject + " Name" ); @@ -539,6 +549,16 @@ namespace FanCoilUnits { ZoneComp( FanCoil4Pipe_Num ).ZoneCompAvailMgrs( FanCoilNum ).AvailManagerListName = Alphas( 15 ); } + FanCoil( FanCoilNum ).HVACSizingIndex = 0; + if (!lAlphaBlanks( 16 ) ) { + FanCoil( FanCoilNum ).HVACSizingIndex = FindItemInList( Alphas( 16 ), ZoneHVACSizing.Name(), NumZoneHVACSizing ); + if (FanCoil( FanCoilNum ).HVACSizingIndex == 0) { + ShowSevereError( cAlphaFields(16) + " = " + Alphas(16) + " not found." ); + ShowContinueError( "Occurs in " + cMO_FanCoil + " = " + FanCoil(FanCoilNum).Name ); + ErrorsFound = true; + } + } + errFlag = false; ValidateComponent( FanCoil( FanCoilNum ).FanType, FanCoil( FanCoilNum ).FanName, errFlag, CurrentModuleObject ); if ( errFlag ) { @@ -652,6 +672,7 @@ namespace FanCoilUnits { if ( ! ZoneEquipConfig( CtrlZone ).IsControlled ) continue; for ( NodeNum = 1; NodeNum <= ZoneEquipConfig( CtrlZone ).NumInletNodes; ++NodeNum ) { if ( FanCoil( FanCoilNum ).AirOutNode == ZoneEquipConfig( CtrlZone ).InletNode( NodeNum ) ) { + FanCoil(FanCoilNum).ZonePtr = CtrlZone; ZoneInNodeNotFound = false; } } @@ -941,6 +962,7 @@ namespace FanCoilUnits { // na // Using/Aliasing + using namespace DataSizing; using namespace InputProcessor; using Psychrometrics::PsyCpAirFnWTdb; using Psychrometrics::PsyHFnTdbW; @@ -957,7 +979,13 @@ namespace FanCoilUnits { using FluidProperties::GetDensityGlycol; using FluidProperties::GetSpecificHeatGlycol; using ReportSizingManager::ReportSizingOutput; + using ReportSizingManager::RequestSizing; using General::RoundSigDigits; + using DataHVACGlobals::SystemAirflowSizing; + using DataHVACGlobals::CoolingAirflowSizing; + using DataHVACGlobals::HeatingAirflowSizing; + using DataHVACGlobals::CoolingCapacitySizing; + using DataHVACGlobals::HeatingCapacitySizing; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -988,6 +1016,7 @@ namespace FanCoilUnits { std::string CoolingCoilType; Real64 rho; Real64 Cp; + int zoneHVACIndex; // index of zoneHVAC equipment sizing specification bool IsAutoSize; // Indicator to autosize for reporting Real64 MaxAirVolFlowDes; // Autosized max air flow for reporting Real64 MaxAirVolFlowUser; // Hardsized max air flow for reporting @@ -997,6 +1026,18 @@ namespace FanCoilUnits { Real64 MaxHotWaterVolFlowUser; // Hardsized hot water flow for reporting Real64 MaxColdWaterVolFlowDes; // Autosized cold water flow for reporting Real64 MaxColdWaterVolFlowUser; // Hardsized cold water flow for reporting + Real64 CoolingAirVolFlowDes; // cooling supply air flow rate + Real64 HeatingAirVolFlowDes; // heating supply air flow rate + + std::string CompName; // component name + std::string CompType; // component type + std::string SizingString; // input field sizing description (e.g., Nominal Capacity) + Real64 TempSize; // autosized value of coil input field + int FieldNum = 1; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) + bool PrintFlag; // TRUE when sizing information is reported in the eio file + int SAFMethod( 0 ); // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow ...) + int CapSizingMethod( 0 ); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) PltSizCoolNum = 0; PltSizHeatNum = 0; @@ -1011,72 +1052,188 @@ namespace FanCoilUnits { MaxColdWaterVolFlowDes = 0.0; MaxColdWaterVolFlowUser = 0.0; - if ( FanCoil( FanCoilNum ).MaxAirVolFlow == AutoSize ) { - IsAutoSize = true; + CoolingAirVolFlowDes = 0.0; + HeatingAirVolFlowDes = 0.0; + //DataFracOfAutosizedCoolingAirflow = 1.0; + //DataFracOfAutosizedHeatingAirflow = 1.0; + //DataFracOfAutosizedCoolingCapacity = 1.0; + //DataFracOfAutosizedHeatingCapacity = 1.0; + + CompType = FanCoil(FanCoilNum).UnitType; + CompName = FanCoil(FanCoilNum).Name; + DataZoneNumber = FanCoil(FanCoilNum).ZonePtr; + + if (CurZoneEqNum > 0) { + if (FanCoil(FanCoilNum).HVACSizingIndex > 0) { + + zoneHVACIndex = FanCoil(FanCoilNum).HVACSizingIndex; + FieldNum = 1; + PrintFlag = true; + SizingString = FanCoilNumericFields(FanCoilNum).FieldNames(FieldNum) + " [m3/s]"; + if (ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod > 0) { + SizingMethod = CoolingAirflowSizing; + SAFMethod = ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; + if (SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow) { + if (SAFMethod == SupplyAirFlowRate){ + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + } else if (SAFMethod == FlowPerFloorArea){ + DataCoolFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + } else { + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + CoolingAirVolFlowDes = TempSize; + + } else if (SAFMethod == FlowPerCoolingCapacity) { + SizingMethod = CoolingCapacitySizing; + TempSize = AutoSize; + PrintFlag = false; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + if (ZoneHVACSizing(zoneHVACIndex).CoolingCapMethod == FractionOfAutosizedCoolingCapacity) { + DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + } + DataAutosizedCoolingCapacity = TempSize; + DataFlowPerCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + SizingMethod = CoolingAirflowSizing; + PrintFlag = true; + TempSize = AutoSize; + DataScalableSizingON = true; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + CoolingAirVolFlowDes = TempSize; + } + } else if (ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod > 0) { + // now do heating supply air flow rate sizing + SizingMethod = HeatingAirflowSizing; + SAFMethod = ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; + if (SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow) { + if (SAFMethod == SupplyAirFlowRate){ + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + } else if (SAFMethod == FlowPerFloorArea){ + DataHeatFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + } else if (SAFMethod == FractionOfAutosizedHeatingAirflow){ + DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + } else { + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + HeatingAirVolFlowDes = TempSize; + } else if (SAFMethod == FlowPerHeatingCapacity) { + SizingMethod = HeatingCapacitySizing; + TempSize = AutoSize; + PrintFlag = false; + DataScalableSizingON = true; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + if (ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod == FractionOfAutosizedHeatingCapacity) { + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + } + DataAutosizedHeatingCapacity = TempSize; + DataFlowPerHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + SizingMethod = HeatingAirflowSizing; + PrintFlag = true; + TempSize = AutoSize; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + HeatingAirVolFlowDes = TempSize; + } + } + + if (ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow == AutoSize || ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow == AutoSize) { + IsAutoSize = true; + FanCoil(FanCoilNum).MaxAirVolFlow = AutoSize; + MaxAirVolFlowDes = max(CoolingAirVolFlowDes, HeatingAirVolFlowDes); + } else { + FanCoil(FanCoilNum).MaxAirVolFlow = max(CoolingAirVolFlowDes, HeatingAirVolFlowDes);; + MaxAirVolFlowDes = 0.0; + } + DataScalableSizingON = false; + } else { + //SizingString = "Supply Air Maximum Flow Rate [m3/s]"; + SizingMethod = SystemAirflowSizing; + FieldNum = 1; + SizingString = FanCoilNumericFields(FanCoilNum).FieldNames(FieldNum) + " [m3/s]"; + TempSize = FanCoil(FanCoilNum).MaxAirVolFlow; + PrintFlag = true; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + if (FanCoil(FanCoilNum).MaxAirVolFlow == AutoSize) { + IsAutoSize = true; + MaxAirVolFlowDes = TempSize; + } else { + MaxAirVolFlowDes = 0.0; + } + + } } - if ( CurZoneEqNum > 0 ) { - if ( ! IsAutoSize && ! ZoneSizingRunDone ) { - if ( FanCoil( FanCoilNum ).MaxAirVolFlow > 0.0 ) { - ReportSizingOutput( FanCoil( FanCoilNum ).UnitType, FanCoil( FanCoilNum ).Name, "User-Specified Supply Air Maximum Flow Rate [m3/s]", FanCoil( FanCoilNum ).MaxAirVolFlow ); - } + if (CurZoneEqNum > 0) { + + if (!IsAutoSize && !ZoneSizingRunDone) { + } else { - CheckZoneSizing( FanCoil( FanCoilNum ).UnitType, FanCoil( FanCoilNum ).Name ); - MaxAirVolFlowDes = max( FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow, FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow ); - if ( MaxAirVolFlowDes < SmallAirVolFlow ) { + if (MaxAirVolFlowDes < SmallAirVolFlow) { MaxAirVolFlowDes = 0.0; } // If fan is autosized, get fan volumetric flow rate - if ( FanCoil( FanCoilNum ).FanAirVolFlow == AutoSize ) { - SimulateFanComponents( FanCoil( FanCoilNum ).FanName, true, FanCoil( FanCoilNum ).FanIndex ); - FanCoil( FanCoilNum ).FanAirVolFlow = GetFanDesignVolumeFlowRate( cFanTypes( FanCoil( FanCoilNum ).FanType_Num ), FanCoil( FanCoilNum ).FanName, ErrorsFound ); + if (FanCoil(FanCoilNum).FanAirVolFlow == AutoSize) { + SimulateFanComponents(FanCoil(FanCoilNum).FanName, true, FanCoil(FanCoilNum).FanIndex); + FanCoil(FanCoilNum).FanAirVolFlow = GetFanDesignVolumeFlowRate(cFanTypes(FanCoil(FanCoilNum).FanType_Num), FanCoil(FanCoilNum).FanName, ErrorsFound); } // Check that the fan volumetric flow rate is greater than or equal to the FCU volumetric flow rate - if ( MaxAirVolFlowDes > FanCoil( FanCoilNum ).FanAirVolFlow ) { - ShowWarningError( RoutineName + FanCoil( FanCoilNum ).UnitType + ": " + FanCoil( FanCoilNum ).Name ); - ShowContinueError( "... Maximum supply air flow rate is greater than the maximum fan flow rate." ); - ShowContinueError( "... Fan Coil Unit flow = " + TrimSigDigits( MaxAirVolFlowDes, 5 ) + " [m3/s]." ); - ShowContinueError( "... Fan = " + cFanTypes( FanCoil( FanCoilNum ).FanType_Num ) + ": " + FanCoil( FanCoilNum ).FanName ); - ShowContinueError( "... Fan flow = " + TrimSigDigits( FanCoil( FanCoilNum ).FanAirVolFlow, 5 ) + " [m3/s]." ); - ShowContinueError( "... Fan Coil Unit flow rate reduced to match the fan flow rate and the simulation continues." ); - MaxAirVolFlowDes = FanCoil( FanCoilNum ).FanAirVolFlow; + if (MaxAirVolFlowDes > FanCoil(FanCoilNum).FanAirVolFlow) { + ShowWarningError(RoutineName + FanCoil(FanCoilNum).UnitType + ": " + FanCoil(FanCoilNum).Name); + ShowContinueError("... Maximum supply air flow rate is greater than the maximum fan flow rate."); + ShowContinueError("... Fan Coil Unit flow = " + TrimSigDigits(MaxAirVolFlowDes, 5) + " [m3/s]."); + ShowContinueError("... Fan = " + cFanTypes(FanCoil(FanCoilNum).FanType_Num) + ": " + FanCoil(FanCoilNum).FanName); + ShowContinueError("... Fan flow = " + TrimSigDigits(FanCoil(FanCoilNum).FanAirVolFlow, 5) + " [m3/s]."); + ShowContinueError("... Fan Coil Unit flow rate reduced to match the fan flow rate and the simulation continues."); + MaxAirVolFlowDes = FanCoil(FanCoilNum).FanAirVolFlow; } - if ( IsAutoSize ) { - FanCoil( FanCoilNum ).MaxAirVolFlow = MaxAirVolFlowDes; - ReportSizingOutput( FanCoil( FanCoilNum ).UnitType, FanCoil( FanCoilNum ).Name, "Design Size Supply Air Maximum Flow Rate [m3/s]", MaxAirVolFlowDes ); + + if (IsAutoSize) { + FanCoil(FanCoilNum).MaxAirVolFlow = MaxAirVolFlowDes; } else { // Hard size with sizing data - if ( FanCoil( FanCoilNum ).MaxAirVolFlow > 0.0 && MaxAirVolFlowDes > 0.0 ) { - MaxAirVolFlowUser = FanCoil( FanCoilNum ).MaxAirVolFlow; - ReportSizingOutput( FanCoil( FanCoilNum ).UnitType, FanCoil( FanCoilNum ).Name, "Design Size Supply Air Maximum Flow Rate [m3/s]", MaxAirVolFlowDes, "User-Specified Supply Air Maximum Flow Rate [m3/s]", MaxAirVolFlowUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( MaxAirVolFlowDes - MaxAirVolFlowUser ) / MaxAirVolFlowUser ) > AutoVsHardSizingThreshold ) { - ShowMessage( "SizeFanCoilUnit: Potential issue with equipment sizing for " + FanCoil( FanCoilNum ).UnitType + ' ' + FanCoil( FanCoilNum ).Name ); - ShowContinueError( "User-Specified Supply Air Maximum Flow Rate of " + RoundSigDigits( MaxAirVolFlowUser, 5 ) + " [m3/s]" ); - ShowContinueError( "differs from Design Size Supply Air Maximum Flow Rate of " + RoundSigDigits( MaxAirVolFlowDes, 5 ) + " [m3/s]" ); - ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); - ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); + if (FanCoil(FanCoilNum).MaxAirVolFlow > 0.0 && MaxAirVolFlowDes > 0.0) { + MaxAirVolFlowUser = FanCoil(FanCoilNum).MaxAirVolFlow; + if (DisplayExtraWarnings) { + if ((std::abs(MaxAirVolFlowDes - MaxAirVolFlowUser) / MaxAirVolFlowUser) > AutoVsHardSizingThreshold) { + ShowMessage("SizeFanCoilUnit: Potential issue with equipment sizing for " + FanCoil(FanCoilNum).UnitType + ' ' + FanCoil(FanCoilNum).Name); + ShowContinueError("User-Specified Supply Air Maximum Flow Rate of " + RoundSigDigits(MaxAirVolFlowUser, 5) + " [m3/s]"); + ShowContinueError("differs from Design Size Supply Air Maximum Flow Rate of " + RoundSigDigits(MaxAirVolFlowDes, 5) + " [m3/s]"); + ShowContinueError("This may, or may not, indicate mismatched component sizes."); + ShowContinueError("Verify that the value entered is intended and is consistent with other components."); } } } } } - } else if ( FanCoil( FanCoilNum ).FanAirVolFlow == AutoSize ) { - SimulateFanComponents( FanCoil( FanCoilNum ).FanName, true, FanCoil( FanCoilNum ).FanIndex ); - FanCoil( FanCoilNum ).FanAirVolFlow = GetFanDesignVolumeFlowRate( cFanTypes( FanCoil( FanCoilNum ).FanType_Num ), FanCoil( FanCoilNum ).FanName, ErrorsFound ); + } else if (FanCoil(FanCoilNum).FanAirVolFlow == AutoSize) { + SimulateFanComponents(FanCoil(FanCoilNum).FanName, true, FanCoil(FanCoilNum).FanIndex); + FanCoil(FanCoilNum).FanAirVolFlow = GetFanDesignVolumeFlowRate(cFanTypes(FanCoil(FanCoilNum).FanType_Num), FanCoil(FanCoilNum).FanName, ErrorsFound); // Check that the fan volumetric flow rate is greater than or equal to the FCU volumetric flow rate - if ( FanCoil( FanCoilNum ).MaxAirVolFlow > FanCoil( FanCoilNum ).FanAirVolFlow ) { - ShowWarningError( RoutineName + FanCoil( FanCoilNum ).UnitType + ": " + FanCoil( FanCoilNum ).Name ); - ShowContinueError( "... Maximum supply air flow rate is greater than the maximum fan flow rate." ); - ShowContinueError( "... Fan Coil Unit flow = " + TrimSigDigits( FanCoil( FanCoilNum ).MaxAirVolFlow, 5 ) + " m3/s." ); - ShowContinueError( "... Fan = " + cFanTypes( FanCoil( FanCoilNum ).FanType_Num ) + ": " + FanCoil( FanCoilNum ).FanName ); - ShowContinueError( "... Fan flow = " + TrimSigDigits( FanCoil( FanCoilNum ).FanAirVolFlow, 5 ) + " m3/s." ); - ShowContinueError( "... Fan Coil Unit flow rate reduced to match the fan flow rate and the simulation continues." ); - FanCoil( FanCoilNum ).MaxAirVolFlow = FanCoil( FanCoilNum ).FanAirVolFlow; + if (FanCoil(FanCoilNum).MaxAirVolFlow > FanCoil(FanCoilNum).FanAirVolFlow) { + ShowWarningError(RoutineName + FanCoil(FanCoilNum).UnitType + ": " + FanCoil(FanCoilNum).Name); + ShowContinueError("... Maximum supply air flow rate is greater than the maximum fan flow rate."); + ShowContinueError("... Fan Coil Unit flow = " + TrimSigDigits(FanCoil(FanCoilNum).MaxAirVolFlow, 5) + " m3/s."); + ShowContinueError("... Fan = " + cFanTypes(FanCoil(FanCoilNum).FanType_Num) + ": " + FanCoil(FanCoilNum).FanName); + ShowContinueError("... Fan flow = " + TrimSigDigits(FanCoil(FanCoilNum).FanAirVolFlow, 5) + " m3/s."); + ShowContinueError("... Fan Coil Unit flow rate reduced to match the fan flow rate and the simulation continues."); + FanCoil(FanCoilNum).MaxAirVolFlow = FanCoil(FanCoilNum).FanAirVolFlow; } } + IsAutoSize = false; if ( FanCoil( FanCoilNum ).OutAirVolFlow == AutoSize ) { IsAutoSize = true; @@ -1119,58 +1276,84 @@ namespace FanCoilUnits { IsAutoSize = true; } - if ( CurZoneEqNum > 0 ) { - if ( ! IsAutoSize && ! ZoneSizingRunDone ) { - if ( FanCoil( FanCoilNum ).MaxHotWaterVolFlow > 0.0 ) { - ReportSizingOutput( FanCoil( FanCoilNum ).UnitType, FanCoil( FanCoilNum ).Name, "User-Specified Maximum Hot Water Flow [m3/s]", FanCoil( FanCoilNum ).MaxHotWaterVolFlow ); + if (CurZoneEqNum > 0) { + if (!IsAutoSize && !ZoneSizingRunDone) { + if (FanCoil(FanCoilNum).MaxHotWaterVolFlow > 0.0) { + ReportSizingOutput(FanCoil(FanCoilNum).UnitType, FanCoil(FanCoilNum).Name, "User-Specified Maximum Hot Water Flow [m3/s]", FanCoil(FanCoilNum).MaxHotWaterVolFlow); } } else { - CoilWaterInletNode = GetCoilWaterInletNode( "Coil:Heating:Water", FanCoil( FanCoilNum ).HCoilName, ErrorsFound ); - CoilWaterOutletNode = GetCoilWaterOutletNode( "Coil:Heating:Water", FanCoil( FanCoilNum ).HCoilName, ErrorsFound ); + CoilWaterInletNode = GetCoilWaterInletNode("Coil:Heating:Water", FanCoil(FanCoilNum).HCoilName, ErrorsFound); + CoilWaterOutletNode = GetCoilWaterOutletNode("Coil:Heating:Water", FanCoil(FanCoilNum).HCoilName, ErrorsFound); if ( IsAutoSize ) { - PltSizHeatNum = MyPlantSizingIndex( "Coil:Heating:Water", FanCoil( FanCoilNum ).HCoilName, CoilWaterInletNode, CoilWaterOutletNode, ErrorsFound ); - if ( PltSizHeatNum > 0 ) { - CheckZoneSizing( FanCoil( FanCoilNum ).UnitType, FanCoil( FanCoilNum ).Name ); - if ( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow > 0.0 ) { - FCOAFrac = min( FanCoil( FanCoilNum ).OutAirVolFlow / FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow, 1.0 ); + PltSizHeatNum = MyPlantSizingIndex("Coil:Heating:Water", FanCoil(FanCoilNum).HCoilName, CoilWaterInletNode, CoilWaterOutletNode, ErrorsFound); + if (PltSizHeatNum > 0) { + SizingMethod = HeatingCapacitySizing; + if (FinalZoneSizing(CurZoneEqNum).DesHeatMassFlow > 0.0) { + FinalZoneSizing(CurZoneEqNum).DesHeatOAFlowFrac = min(FanCoil(FanCoilNum).OutAirVolFlow / FinalZoneSizing(CurZoneEqNum).DesHeatMassFlow, 1.0); } else { - FCOAFrac = 0.0; + FinalZoneSizing(CurZoneEqNum).DesHeatOAFlowFrac = 0.0; } - CoilInTemp = FCOAFrac * FinalZoneSizing( CurZoneEqNum ).OutTempAtHeatPeak + ( 1.0 - FCOAFrac ) * FinalZoneSizing( CurZoneEqNum ).ZoneTempAtHeatPeak; - CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).HeatDesTemp; - CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat; - DesCoilLoad = PsyCpAirFnWTdb( CoilOutHumRat, 0.5 * ( CoilInTemp + CoilOutTemp ) ) * FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow * ( CoilOutTemp - CoilInTemp ); - FanCoil( FanCoilNum ).DesHeatingLoad = DesCoilLoad; - if ( DesCoilLoad >= SmallLoad ) { - rho = GetDensityGlycol( PlantLoop( FanCoil( FanCoilNum ).HWLoopNum ).FluidName, 60., PlantLoop( FanCoil( FanCoilNum ).HWLoopNum ).FluidIndex, RoutineNameNoSpace ); - - Cp = GetSpecificHeatGlycol( PlantLoop( FanCoil( FanCoilNum ).HWLoopNum ).FluidName, 60., PlantLoop( FanCoil( FanCoilNum ).HWLoopNum ).FluidIndex, RoutineNameNoSpace ); - - MaxHotWaterVolFlowDes = DesCoilLoad / ( PlantSizData( PltSizHeatNum ).DeltaT * Cp * rho ); + if (FanCoil(FanCoilNum).HVACSizingIndex > 0) { + zoneHVACIndex = FanCoil(FanCoilNum).HVACSizingIndex; + CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; + if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { + if (CapSizingMethod == HeatingDesignCapacity){ + if (ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity > 0.0) { + ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + } + TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + } else if (CapSizingMethod == CapacityPerFloorArea){ + DataHeatingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + DataScalableCapSizingON = true; + } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + TempSize = AutoSize; + } + } + SizingString = "Maximum Hot Water Flow [m3/s]"; + PrintFlag = false; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DesCoilLoad = TempSize; + } else { + SizingString = "Maximum Hot Water Flow [m3/s]"; + PrintFlag = false; + TempSize = AutoSize; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DesCoilLoad = TempSize; + } + FanCoil(FanCoilNum).DesHeatingLoad = DesCoilLoad; + if (DesCoilLoad >= SmallLoad) { + rho = GetDensityGlycol(PlantLoop(FanCoil(FanCoilNum).HWLoopNum).FluidName, 60., PlantLoop(FanCoil(FanCoilNum).HWLoopNum).FluidIndex, RoutineNameNoSpace); + Cp = GetSpecificHeatGlycol(PlantLoop(FanCoil(FanCoilNum).HWLoopNum).FluidName, 60., PlantLoop(FanCoil(FanCoilNum).HWLoopNum).FluidIndex, RoutineNameNoSpace); + MaxHotWaterVolFlowDes = DesCoilLoad / (PlantSizData(PltSizHeatNum).DeltaT * Cp * rho); } else { MaxHotWaterVolFlowDes = 0.0; } } else { - ShowSevereError( "Autosizing of water flow requires a heating loop Sizing:Plant object" ); - ShowContinueError( "Occurs in " + FanCoil( FanCoilNum ).UnitType + " Object=" + FanCoil( FanCoilNum ).Name ); + ShowSevereError("Autosizing of water flow requires a heating loop Sizing:Plant object"); + ShowContinueError("Occurs in " + FanCoil(FanCoilNum).UnitType + " Object=" + FanCoil(FanCoilNum).Name); ErrorsFound = true; } } - if ( IsAutoSize ) { - FanCoil( FanCoilNum ).MaxHotWaterVolFlow = MaxHotWaterVolFlowDes; - ReportSizingOutput( FanCoil( FanCoilNum ).UnitType, FanCoil( FanCoilNum ).Name, "Design Size Maximum Hot Water Flow [m3/s]", MaxHotWaterVolFlowDes ); - } else { // Hard size with sizing data - if ( FanCoil( FanCoilNum ).MaxHotWaterVolFlow > 0.0 && MaxHotWaterVolFlowDes > 0.0 ) { - MaxHotWaterVolFlowDes = FanCoil( FanCoilNum ).MaxHotWaterVolFlow; - ReportSizingOutput( FanCoil( FanCoilNum ).UnitType, FanCoil( FanCoilNum ).Name, "Design Size Maximum Hot Water Flow [m3/s]", MaxHotWaterVolFlowDes, "User-Specified Maximum Hot Water Flow [m3/s]", MaxHotWaterVolFlowUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( MaxHotWaterVolFlowDes - MaxHotWaterVolFlowUser ) / MaxHotWaterVolFlowUser ) > AutoVsHardSizingThreshold ) { - ShowMessage( "SizeFanCoilUnit: Potential issue with equipment sizing for " + FanCoil( FanCoilNum ).UnitType + ' ' + FanCoil( FanCoilNum ).Name ); - ShowContinueError( "User-Specified Maximum Hot Water Flow of " + RoundSigDigits( MaxHotWaterVolFlowUser, 5 ) + " [m3/s]" ); - ShowContinueError( "differs from Design Size Maximum Hot Water Flow of " + RoundSigDigits( MaxHotWaterVolFlowDes, 5 ) + " [m3/s]" ); - ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); - ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); - } + } + + if (IsAutoSize) { + FanCoil(FanCoilNum).MaxHotWaterVolFlow = MaxHotWaterVolFlowDes; + ReportSizingOutput(FanCoil(FanCoilNum).UnitType, FanCoil(FanCoilNum).Name, "Design Size Maximum Hot Water Flow [m3/s]", MaxHotWaterVolFlowDes); + } + else { // Hard size with sizing data + if (FanCoil(FanCoilNum).MaxHotWaterVolFlow > 0.0 && MaxHotWaterVolFlowDes > 0.0) { + MaxHotWaterVolFlowDes = FanCoil(FanCoilNum).MaxHotWaterVolFlow; + ReportSizingOutput(FanCoil(FanCoilNum).UnitType, FanCoil(FanCoilNum).Name, "Design Size Maximum Hot Water Flow [m3/s]", MaxHotWaterVolFlowDes, "User-Specified Maximum Hot Water Flow [m3/s]", MaxHotWaterVolFlowUser); + if (DisplayExtraWarnings) { + if ((std::abs(MaxHotWaterVolFlowDes - MaxHotWaterVolFlowUser) / MaxHotWaterVolFlowUser) > AutoVsHardSizingThreshold) { + ShowMessage("SizeFanCoilUnit: Potential issue with equipment sizing for " + FanCoil(FanCoilNum).UnitType + ' ' + FanCoil(FanCoilNum).Name); + ShowContinueError("User-Specified Maximum Hot Water Flow of " + RoundSigDigits(MaxHotWaterVolFlowUser, 5) + " [m3/s]"); + ShowContinueError("differs from Design Size Maximum Hot Water Flow of " + RoundSigDigits(MaxHotWaterVolFlowDes, 5) + " [m3/s]"); + ShowContinueError("This may, or may not, indicate mismatched component sizes."); + ShowContinueError("Verify that the value entered is intended and is consistent with other components."); } } } @@ -1178,77 +1361,100 @@ namespace FanCoilUnits { } IsAutoSize = false; - if ( FanCoil( FanCoilNum ).MaxColdWaterVolFlow == AutoSize ) { + if (FanCoil(FanCoilNum).MaxColdWaterVolFlow == AutoSize) { IsAutoSize = true; } - - if ( CurZoneEqNum > 0 ) { - if ( ! IsAutoSize && ! ZoneSizingRunDone ) { - if ( FanCoil( FanCoilNum ).MaxColdWaterVolFlow > 0.0 ) { - ReportSizingOutput( FanCoil( FanCoilNum ).UnitType, FanCoil( FanCoilNum ).Name, "User-Specified Maximum Cold Water Flow [m3/s]", FanCoil( FanCoilNum ).MaxColdWaterVolFlow ); + if (CurZoneEqNum > 0) { + if (!IsAutoSize && !ZoneSizingRunDone) { + if (FanCoil(FanCoilNum).MaxColdWaterVolFlow > 0.0) { + ReportSizingOutput(FanCoil(FanCoilNum).UnitType, FanCoil(FanCoilNum).Name, "User-Specified Maximum Cold Water Flow [m3/s]", FanCoil(FanCoilNum).MaxColdWaterVolFlow); } - } else { - if ( SameString( FanCoil( FanCoilNum ).CCoilType, "CoilSystem:Cooling:Water:HeatExchangerAssisted" ) ) { - CoolingCoilName = GetHXDXCoilName( FanCoil( FanCoilNum ).CCoilType, FanCoil( FanCoilNum ).CCoilName, ErrorsFound ); - CoolingCoilType = GetHXCoilType( FanCoil( FanCoilNum ).CCoilType, FanCoil( FanCoilNum ).CCoilName, ErrorsFound ); - } else { - CoolingCoilName = FanCoil( FanCoilNum ).CCoilName; - CoolingCoilType = FanCoil( FanCoilNum ).CCoilType; + } + else { + if (SameString(FanCoil(FanCoilNum).CCoilType, "CoilSystem:Cooling:Water:HeatExchangerAssisted")) { + CoolingCoilName = GetHXDXCoilName(FanCoil(FanCoilNum).CCoilType, FanCoil(FanCoilNum).CCoilName, ErrorsFound); + CoolingCoilType = GetHXCoilType(FanCoil(FanCoilNum).CCoilType, FanCoil(FanCoilNum).CCoilName, ErrorsFound); } - CoilWaterInletNode = GetCoilWaterInletNode( CoolingCoilType, CoolingCoilName, ErrorsFound ); - CoilWaterOutletNode = GetCoilWaterOutletNode( CoolingCoilType, CoolingCoilName, ErrorsFound ); - if ( IsAutoSize ) { - PltSizCoolNum = MyPlantSizingIndex( CoolingCoilType, CoolingCoilName, CoilWaterInletNode, CoilWaterOutletNode, ErrorsFound ); - if ( PltSizCoolNum > 0 ) { - CheckZoneSizing( FanCoil( FanCoilNum ).UnitType, FanCoil( FanCoilNum ).Name ); - if ( FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow > 0.0 ) { - FCOAFrac = min( FanCoil( FanCoilNum ).OutAirVolFlow / FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow, 1.0 ); + else { + CoolingCoilName = FanCoil(FanCoilNum).CCoilName; + CoolingCoilType = FanCoil(FanCoilNum).CCoilType; + } + CoilWaterInletNode = GetCoilWaterInletNode(CoolingCoilType, CoolingCoilName, ErrorsFound); + CoilWaterOutletNode = GetCoilWaterOutletNode(CoolingCoilType, CoolingCoilName, ErrorsFound); + if (IsAutoSize) { + PltSizCoolNum = MyPlantSizingIndex(CoolingCoilType, CoolingCoilName, CoilWaterInletNode, CoilWaterOutletNode, ErrorsFound); + if (PltSizCoolNum > 0) { + SizingMethod = CoolingCapacitySizing; + if (FinalZoneSizing(CurZoneEqNum).DesCoolMassFlow > 0.0) { + FinalZoneSizing(CurZoneEqNum).DesCoolOAFlowFrac = min(FanCoil(FanCoilNum).OutAirVolFlow / FinalZoneSizing(CurZoneEqNum).DesCoolMassFlow, 1.0); } else { - FCOAFrac = 0.0; + FinalZoneSizing(CurZoneEqNum).DesCoolOAFlowFrac = 0.0; } - CoilInTemp = FCOAFrac * FinalZoneSizing( CurZoneEqNum ).OutTempAtCoolPeak + ( 1.0 - FCOAFrac ) * FinalZoneSizing( CurZoneEqNum ).ZoneTempAtCoolPeak; - CoilInHumRat = FCOAFrac * FinalZoneSizing( CurZoneEqNum ).OutHumRatAtCoolPeak + ( 1.0 - FCOAFrac ) * FinalZoneSizing( CurZoneEqNum ).ZoneHumRatAtCoolPeak; - CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).CoolDesTemp; - CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).CoolDesHumRat; - if ( CoilOutHumRat > CoilInHumRat ) { - if ( CoilInHumRat > 0.016 ) { - CoilOutHumRat = 0.5 * CoilInHumRat; - } else { - CoilOutHumRat = CoilInHumRat; - } - } - DesCoilLoad = FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow * ( PsyHFnTdbW( CoilInTemp, CoilInHumRat ) - PsyHFnTdbW( CoilOutTemp, CoilOutHumRat ) ); - FanCoil( FanCoilNum ).DesCoolingLoad = DesCoilLoad; - if ( DesCoilLoad >= SmallLoad ) { - - rho = GetDensityGlycol( PlantLoop( FanCoil( FanCoilNum ).CWLoopNum ).FluidName, 5., PlantLoop( FanCoil( FanCoilNum ).CWLoopNum ).FluidIndex, RoutineNameNoSpace ); - - Cp = GetSpecificHeatGlycol( PlantLoop( FanCoil( FanCoilNum ).CWLoopNum ).FluidName, 5., PlantLoop( FanCoil( FanCoilNum ).CWLoopNum ).FluidIndex, RoutineNameNoSpace ); + if (FanCoil(FanCoilNum).HVACSizingIndex > 0) { + zoneHVACIndex = FanCoil(FanCoilNum).HVACSizingIndex; + CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).CoolingCapMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; + if (CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity) { + if (CapSizingMethod == CoolingDesignCapacity){ + if (ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity > 0.0) { + ZoneEqSizing(CurZoneEqNum).CoolingCapacity = true; + ZoneEqSizing(CurZoneEqNum).DesCoolingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + } else { + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + } + TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + } else if (CapSizingMethod == CapacityPerFloorArea){ + DataCoolingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + DataScalableCapSizingON = true; + } else if (CapSizingMethod == FractionOfAutosizedCoolingCapacity){ + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + TempSize = AutoSize; + } + } + SizingString = "Maximum Cold Water Flow [m3/s]"; + PrintFlag = false; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DesCoilLoad = TempSize; + } else { + SizingString = "Maximum Cold Water Flow [m3/s]"; + PrintFlag = false; + TempSize = AutoSize; + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DesCoilLoad = TempSize; - MaxColdWaterVolFlowDes = DesCoilLoad / ( PlantSizData( PltSizCoolNum ).DeltaT * Cp * rho ); + } + FanCoil(FanCoilNum).DesCoolingLoad = DesCoilLoad; + if (DesCoilLoad >= SmallLoad) { + rho = GetDensityGlycol(PlantLoop(FanCoil(FanCoilNum).CWLoopNum).FluidName, 5., PlantLoop(FanCoil(FanCoilNum).CWLoopNum).FluidIndex, RoutineNameNoSpace); + Cp = GetSpecificHeatGlycol(PlantLoop(FanCoil(FanCoilNum).CWLoopNum).FluidName, 5., PlantLoop(FanCoil(FanCoilNum).CWLoopNum).FluidIndex, RoutineNameNoSpace); + MaxColdWaterVolFlowDes = DesCoilLoad / (PlantSizData(PltSizCoolNum).DeltaT * Cp * rho); } else { MaxColdWaterVolFlowDes = 0.0; } + } else { - ShowSevereError( "Autosizing of water flow requires a cooling loop Sizing:Plant object" ); - ShowContinueError( "Occurs in " + FanCoil( FanCoilNum ).UnitType + " Object=" + FanCoil( FanCoilNum ).Name ); + ShowSevereError("Autosizing of water flow requires a cooling loop Sizing:Plant object"); + ShowContinueError("Occurs in " + FanCoil(FanCoilNum).UnitType + " Object=" + FanCoil(FanCoilNum).Name); ErrorsFound = true; } } - if ( IsAutoSize ) { - FanCoil( FanCoilNum ).MaxColdWaterVolFlow = MaxColdWaterVolFlowDes; - ReportSizingOutput( FanCoil( FanCoilNum ).UnitType, FanCoil( FanCoilNum ).Name, "Design Size Maximum Cold Water Flow [m3/s]", MaxColdWaterVolFlowDes ); - } else { // Hard size with sizing data - if ( FanCoil( FanCoilNum ).MaxColdWaterVolFlow > 0.0 && MaxColdWaterVolFlowDes > 0.0 ) { - MaxColdWaterVolFlowUser = FanCoil( FanCoilNum ).MaxColdWaterVolFlow; - ReportSizingOutput( FanCoil( FanCoilNum ).UnitType, FanCoil( FanCoilNum ).Name, "Design Size Maximum Cold Water Flow [m3/s]", MaxColdWaterVolFlowDes, "User-Specified Maximum Cold Water Flow [m3/s]", MaxColdWaterVolFlowUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( MaxColdWaterVolFlowDes - MaxColdWaterVolFlowUser ) / MaxColdWaterVolFlowUser ) > AutoVsHardSizingThreshold ) { - ShowMessage( "SizeFanCoilUnit: Potential issue with equipment sizing for " + FanCoil( FanCoilNum ).UnitType + ' ' + FanCoil( FanCoilNum ).Name ); - ShowContinueError( "User-Specified Maximum Cold Water Flow of " + RoundSigDigits( MaxColdWaterVolFlowUser, 5 ) + "[m3/s]" ); - ShowContinueError( "differs from Design Size Maximum Cold Water Flow of " + RoundSigDigits( MaxColdWaterVolFlowDes, 5 ) + "[m3/s]" ); - ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); - ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); + if (IsAutoSize) { + FanCoil(FanCoilNum).MaxColdWaterVolFlow = MaxColdWaterVolFlowDes; + ReportSizingOutput(FanCoil(FanCoilNum).UnitType, FanCoil(FanCoilNum).Name, "Design Size Maximum Cold Water Flow [m3/s]", MaxColdWaterVolFlowDes); + } + else { // Hard size with sizing data + if (FanCoil(FanCoilNum).MaxColdWaterVolFlow > 0.0 && MaxColdWaterVolFlowDes > 0.0) { + MaxColdWaterVolFlowUser = FanCoil(FanCoilNum).MaxColdWaterVolFlow; + ReportSizingOutput(FanCoil(FanCoilNum).UnitType, FanCoil(FanCoilNum).Name, "Design Size Maximum Cold Water Flow [m3/s]", MaxColdWaterVolFlowDes, "User-Specified Maximum Cold Water Flow [m3/s]", MaxColdWaterVolFlowUser); + if (DisplayExtraWarnings) { + if ((std::abs(MaxColdWaterVolFlowDes - MaxColdWaterVolFlowUser) / MaxColdWaterVolFlowUser) > AutoVsHardSizingThreshold) { + ShowMessage("SizeFanCoilUnit: Potential issue with equipment sizing for " + FanCoil(FanCoilNum).UnitType + ' ' + FanCoil(FanCoilNum).Name); + ShowContinueError("User-Specified Maximum Cold Water Flow of " + RoundSigDigits(MaxColdWaterVolFlowUser, 5) + "[m3/s]"); + ShowContinueError("differs from Design Size Maximum Cold Water Flow of " + RoundSigDigits(MaxColdWaterVolFlowDes, 5) + "[m3/s]"); + ShowContinueError("This may, or may not, indicate mismatched component sizes."); + ShowContinueError("Verify that the value entered is intended and is consistent with other components."); } } } diff --git a/src/EnergyPlus/FanCoilUnits.hh b/src/EnergyPlus/FanCoilUnits.hh index 6f238626d75..99b97334ca5 100644 --- a/src/EnergyPlus/FanCoilUnits.hh +++ b/src/EnergyPlus/FanCoilUnits.hh @@ -145,6 +145,9 @@ namespace FanCoilUnits { int ATMixerPriNode; // primary inlet air node number for the air terminal mixer int ATMixerSecNode; // secondary air inlet node number for the air terminal mixer int ATMixerOutNode; // outlet air node number for the air terminal mixer + int ZonePtr; // pointer to a zone served by a fancoil unit + int HVACSizingIndex; // index of a HVACSizing object for a fancoil unit + // Report data Real64 HeatPower; // unit heating output in watts Real64 HeatEnergy; // unit heating output in J @@ -220,6 +223,8 @@ namespace FanCoilUnits { ATMixerPriNode( 0 ), ATMixerSecNode( 0 ), ATMixerOutNode( 0 ), + ZonePtr( 0 ), + HVACSizingIndex( 0 ), HeatPower( 0.0 ), HeatEnergy( 0.0 ), TotCoolPower( 0.0 ), @@ -312,6 +317,8 @@ namespace FanCoilUnits { int const ATMixerPriNode, // primary inlet air node number for the air terminal mixer int const ATMixerSecNode, // secondary air inlet node number for the air terminal mixer int const ATMixerOutNode, // outlet air node number for the air terminal mixer + int const ZonePtr, // pointer to a zone served by a fancoil unit + int const HVACSizingIndex, // index of a HVACSizing object for a fancoil unit Real64 const HeatPower, // unit heating output in watts Real64 const HeatEnergy, // unit heating output in J Real64 const TotCoolPower, // unit total cooling power output in watts @@ -401,6 +408,8 @@ namespace FanCoilUnits { ATMixerPriNode( ATMixerPriNode ), ATMixerSecNode( ATMixerSecNode ), ATMixerOutNode( ATMixerOutNode ), + ZonePtr( ZonePtr ), + HVACSizingIndex( HVACSizingIndex ), HeatPower( HeatPower ), HeatEnergy( HeatEnergy ), TotCoolPower( TotCoolPower ), @@ -415,8 +424,26 @@ namespace FanCoilUnits { }; + struct FanCoilNumericFieldData + { + // Members + FArray1D_string FieldNames; + + // Default Constructor + FanCoilNumericFieldData() + {} + + // Member Constructor + FanCoilNumericFieldData( + FArray1_string const & FieldNames // Name of the HeatingCoil numeric field descriptions + ) : + FieldNames(FieldNames) + {} + }; + // Object Data extern FArray1D< FanCoilData > FanCoil; + extern FArray1D< FanCoilNumericFieldData > FanCoilNumericFields; // Functions @@ -443,6 +470,16 @@ namespace FanCoilUnits { void SizeFanCoilUnit( int const FanCoilNum ); + void + SizeCoilWaterFlowRate( + std::string const & WaterCoilType, + std::string const & WaterCoilName, + int const WaterCoilType_Num, + int const WLoopNum, + Real64 & MaxWaterVolFlowDes, + Real64 & DesignLoad, + bool & ErrorsFound); + void Sim4PipeFanCoil( int & FanCoilNum, // number of the current fan coil unit being simulated diff --git a/src/EnergyPlus/HVACVariableRefrigerantFlow.cc b/src/EnergyPlus/HVACVariableRefrigerantFlow.cc index 135e52a0804..bc3c4ef36d5 100644 --- a/src/EnergyPlus/HVACVariableRefrigerantFlow.cc +++ b/src/EnergyPlus/HVACVariableRefrigerantFlow.cc @@ -188,6 +188,7 @@ namespace HVACVariableRefrigerantFlow { FArray1D< VRFCondenserEquipment > VRF; // AirConditioner:VariableRefrigerantFlow object FArray1D< VRFTerminalUnitEquipment > VRFTU; // ZoneHVAC:TerminalUnit:VariableRefrigerantFlow object FArray1D< TerminalUnitListData > TerminalUnitList; // zoneTerminalUnitList object + FArray1D< VRFTUNumericFieldData > VRFTUNumericFields; // holds VRF TU numeric input fields character field name // Utility routines for module // na @@ -1189,6 +1190,8 @@ namespace HVACVariableRefrigerantFlow { using DataZoneEquipment::ZoneEquipConfig; using DataZoneEquipment::VRFTerminalUnit_Num; using DataSizing::AutoSize; + using DataSizing::NumZoneHVACSizing; + using DataSizing::ZoneHVACSizing; // USE DataIPShortCuts @@ -1288,6 +1291,7 @@ namespace HVACVariableRefrigerantFlow { VRFTU.allocate( NumVRFTU ); CheckEquipName.allocate( NumVRFTU ); CheckEquipName = true; + VRFTUNumericFields.allocate( NumVRFTU ); } if ( NumVRFCond > 0 ) { @@ -1356,6 +1360,7 @@ namespace HVACVariableRefrigerantFlow { cCurrentModuleObject = "AirConditioner:VariableRefrigerantFlow"; for ( VRFNum = 1; VRFNum <= NumVRFCond; ++VRFNum ) { GetObjectItem( cCurrentModuleObject, VRFNum, cAlphaArgs, NumAlphas, rNumericArgs, NumNums, IOStat, lNumericFieldBlanks, lAlphaFieldBlanks, cAlphaFieldNames, cNumericFieldNames ); + IsNotOK = false; IsBlank = false; VerifyName( cAlphaArgs( 1 ), VRF.Name(), VRFNum - 1, IsNotOK, IsBlank, cCurrentModuleObject + " Name" ); @@ -2081,6 +2086,11 @@ namespace HVACVariableRefrigerantFlow { HCoilOutletNodeNum = 0; GetObjectItem( cCurrentModuleObject, VRFTUNum, cAlphaArgs, NumAlphas, rNumericArgs, NumNums, IOStat, lNumericFieldBlanks, lAlphaFieldBlanks, cAlphaFieldNames, cNumericFieldNames ); + + VRFTUNumericFields( VRFTUNum ).FieldNames.allocate(NumNums); + VRFTUNumericFields( VRFTUNum ).FieldNames = ""; + VRFTUNumericFields( VRFTUNum ).FieldNames = cNumericFieldNames; + IsNotOK = false; IsBlank = false; VerifyName( cAlphaArgs( 1 ), VRFTU.Name(), VRFTUNum - 1, IsNotOK, IsBlank, cCurrentModuleObject + " Name" ); @@ -2386,6 +2396,18 @@ namespace HVACVariableRefrigerantFlow { VRFTU( VRFTUNum ).ParasiticElec = rNumericArgs( 8 ); VRFTU( VRFTUNum ).ParasiticOffElec = rNumericArgs( 9 ); + + VRFTU( VRFTUNum ).HVACSizingIndex = 0; + if ( ! lAlphaFieldBlanks( 16 ) ) { + VRFTU( VRFTUNum ).HVACSizingIndex = FindItemInList( cAlphaArgs( 16 ), ZoneHVACSizing.Name(), NumZoneHVACSizing ); + if ( VRFTU( VRFTUNum ).HVACSizingIndex == 0 ) { + ShowSevereError( cAlphaFieldNames( 16 ) + " = " + cAlphaArgs( 16 ) + " not found." ); + ShowContinueError( "Occurs in " + cCurrentModuleObject + " = " + VRFTU( VRFTUNum).Name ); + ErrorsFound = true; + } + } + + // Add TU to component sets array SetUpCompSets( cCurrentModuleObject, VRFTU( VRFTUNum ).Name, cFanTypes( FanType_Num ), FanName, NodeID( FanInletNodeNum ), NodeID( FanOutletNodeNum ) ); @@ -3751,6 +3773,7 @@ namespace HVACVariableRefrigerantFlow { // AUTHOR Richard Raustad, FSEC // DATE WRITTEN August 2010 // MODIFIED August 2013 Daeho Kang, add component sizing table entries + // B Nigusse, FSEC, added scalable sizing // RE-ENGINEERED na // PURPOSE OF THIS SUBROUTINE: @@ -3770,9 +3793,16 @@ namespace HVACVariableRefrigerantFlow { using ReportSizingManager::ReportSizingOutput; using General::RoundSigDigits; using PlantUtilities::RegisterPlantCompDesignFlow; + using ReportSizingManager::RequestSizing; + using DataHVACGlobals::SystemAirflowSizing; + using DataHVACGlobals::CoolingAirflowSizing; + using DataHVACGlobals::HeatingAirflowSizing; + using DataHVACGlobals::CoolingCapacitySizing; + using DataHVACGlobals::HeatingCapacitySizing; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: + static std::string const RoutineName("SizeVRF: "); // include trailing blank space // SUBROUTINE PARAMETER DEFINITIONS: // na @@ -3823,6 +3853,19 @@ namespace HVACVariableRefrigerantFlow { Real64 EvapCondPumpPowerDes; // Autosized evaporative condenser pump power for reporting Real64 EvapCondPumpPowerUser; // Hardsized evaporative condenser pump power for reporting + std::string CompName; // component name + std::string CompType; // component type + std::string SizingString; // input field sizing description (e.g., Nominal Capacity) + Real64 TempSize; // autosized value of coil input field + int FieldNum = 2; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) + bool PrintFlag = true; // TRUE when sizing information is reported in the eio file + int zoneHVACIndex; // index of zoneHVAC equipment sizing specification + int SAFMethod( 0 ); // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow ...) + int CapSizingMethod( 0 ); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) + //Real64 CoolingAirVolFlowScalable; // cooling airvolume for rate determined using scalable sizing method + //Real64 HeatingAirVolFlowScalable; // heating airvolume for rate determined using scalable sizing method + // Formats static gio::Fmt const Format_990( "('! , VRF System Type, VRF System Name, ','VRF System Cooling Combination Ratio, VRF System Heating Combination Ratio, ','VRF System Cooling Piping Correction Factor, VRF System Heating Piping Correction Factor')" ); static gio::Fmt const Format_991( "(' VRF System Information',6(', ',A))" ); @@ -3853,6 +3896,13 @@ namespace HVACVariableRefrigerantFlow { EvapCondAirVolFlowRateUser = 0.0; EvapCondPumpPowerDes = 0.0; EvapCondPumpPowerUser = 0.0; + + DataScalableSizingON = false; + DataHeatSizeRatio = 1.0; + DataFracOfAutosizedCoolingAirflow = 1.0; + DataFracOfAutosizedHeatingAirflow = 1.0; + DataFracOfAutosizedCoolingCapacity = 1.0; + DataFracOfAutosizedHeatingCapacity = 1.0; if ( MyOneTimeFlag ) { // initialize the environment and sizing flags @@ -3861,152 +3911,392 @@ namespace HVACVariableRefrigerantFlow { MyOneTimeFlag = false; } - if ( VRFTU( VRFTUNum ).MaxCoolAirVolFlow == AutoSize ) { - IsAutoSize = true; - } - if ( CurZoneEqNum > 0 ) { - if ( ! IsAutoSize && ! ZoneSizingRunDone ) { // Simulation continue - if ( VRFTU( VRFTUNum ).MaxCoolAirVolFlow > 0.0 ) { - ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "User-Specified Supply Air Flow Rate During Cooling Operation [m3/s]", VRFTU( VRFTUNum ).MaxCoolAirVolFlow ); - } - } else { - CheckZoneSizing( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name ); - MaxCoolAirVolFlowDes = max( FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow, FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow ); - if ( MaxCoolAirVolFlowDes < SmallAirVolFlow ) { - MaxCoolAirVolFlowDes = 0.0; - } - - if ( IsAutoSize ) { - VRFTU( VRFTUNum ).MaxCoolAirVolFlow = MaxCoolAirVolFlowDes; - ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "Design Size Supply Air Flow Rate During Cooling Operation [m3/s]", MaxCoolAirVolFlowDes ); - } else { - if ( VRFTU( VRFTUNum ).MaxCoolAirVolFlow > 0.0 && MaxCoolAirVolFlowDes > 0.0 ) { - MaxCoolAirVolFlowUser = VRFTU( VRFTUNum ).MaxCoolAirVolFlow; - ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "Design Size Supply Air Flow Rate During Cooling Operation [m3/s]", MaxCoolAirVolFlowDes, "User-Specified Supply Air Flow Rate During Cooling Operation [m3/s]", MaxCoolAirVolFlowUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( MaxCoolAirVolFlowDes - MaxCoolAirVolFlowUser ) / MaxCoolAirVolFlowUser ) > AutoVsHardSizingThreshold ) { - ShowMessage( "SizeVRF: Potential issue with equipment sizing for " + cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ) + ' ' + VRFTU( VRFTUNum ).Name ); - ShowContinueError( "User-Specified Supply Air Flow Rate During Cooling Operation of " + RoundSigDigits( MaxCoolAirVolFlowUser, 5 ) + " [m3/s]" ); - ShowContinueError( "differs from Design Size Supply Air Flow Rate During Cooling Operation of " + RoundSigDigits( MaxCoolAirVolFlowDes, 5 ) + " [m3/s]" ); - ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); - ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); - } - } + CompType = "ZoneHVAC:TerminalUnit:VariableRefrigerantFlow"; + CompName = VRFTU(VRFTUNum).Name; + if (CurZoneEqNum > 0) { + if (VRFTU(VRFTUNum).HVACSizingIndex > 0) { + zoneHVACIndex = VRFTU(VRFTUNum).HVACSizingIndex; + DataZoneNumber = VRFTU(VRFTUNum).ZoneNum; + + // N1, \field Supply Air Flow Rate During Cooling Operation + SizingMethod = CoolingAirflowSizing; + FieldNum = 1; + PrintFlag = true; + SizingString = VRFTUNumericFields( VRFTUNum ).FieldNames(FieldNum) + " [m3/s]"; + SAFMethod = ZoneHVACSizing( zoneHVACIndex ).CoolingSAFMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; + if (SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow) { + if (SAFMethod == SupplyAirFlowRate){ + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + } else if (SAFMethod == FlowPerFloorArea){ + DataCoolFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + } else { + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; } - } - } - } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + VRFTU( VRFTUNum ).MaxCoolAirVolFlow = TempSize; + + } else if (SAFMethod == FlowPerCoolingCapacity) { + SizingMethod = CoolingCapacitySizing; + TempSize = AutoSize; + PrintFlag = false; + DataScalableSizingON = true; + //DataFlowUsedForSizing = max( FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow, FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow ); + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + if (ZoneHVACSizing(zoneHVACIndex).CoolingCapMethod == FractionOfAutosizedCoolingCapacity) { + DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DataAutosizedCoolingCapacity = TempSize; + DataFlowPerCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + SizingMethod = CoolingAirflowSizing; + PrintFlag = true; + TempSize = AutoSize; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + VRFTU( VRFTUNum ).MaxCoolAirVolFlow = TempSize; + } + + //N3, \field Supply Air Flow Rate During Heating Operation + SizingMethod = HeatingAirflowSizing; + FieldNum = 3; + PrintFlag = true; + SizingString = VRFTUNumericFields(VRFTUNum).FieldNames(FieldNum) + " [m3/s]"; + SAFMethod = ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; + if (SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow) { + if (SAFMethod == SupplyAirFlowRate){ + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + } else if (SAFMethod == FlowPerFloorArea){ + DataHeatFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + } else if (SAFMethod == FractionOfAutosizedHeatingAirflow){ + DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + } else { + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + VRFTU( VRFTUNum ).MaxHeatAirVolFlow = TempSize; + + } else if (SAFMethod == FlowPerHeatingCapacity) { + SizingMethod = HeatingCapacitySizing; + TempSize = AutoSize; + PrintFlag = false; + DataScalableSizingON = true; + //DataFlowUsedForSizing = max( FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow, FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow ); + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + if (ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod == FractionOfAutosizedHeatingCapacity) { + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DataAutosizedHeatingCapacity = TempSize; + DataFlowPerHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + SizingMethod = HeatingAirflowSizing; + PrintFlag = true; + TempSize = AutoSize; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + VRFTU( VRFTUNum ).MaxHeatAirVolFlow = TempSize; + } + + //N2, \field Supply Air Flow Rate When No Cooling is Needed + SizingMethod = SystemAirflowSizing; + FieldNum = 2; + PrintFlag = true; + SizingString = VRFTUNumericFields(VRFTUNum).FieldNames(FieldNum) + " [m3/s]"; + SAFMethod = ZoneHVACSizing(zoneHVACIndex).NoCoolHeatSAFMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; + if (SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow || SAFMethod == FractionOfAutosizedHeatingAirflow) { + if (SAFMethod == SupplyAirFlowRate){ + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + } else if (SAFMethod == FlowPerFloorArea){ + DataCoolFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + } else if (SAFMethod == FractionOfAutosizedHeatingAirflow){ + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + } else { + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + VRFTU(VRFTUNum).MaxNoCoolAirVolFlow = TempSize; + } + + + //N4, \field Supply Air Flow Rate When No Heating is Needed + SizingMethod = SystemAirflowSizing; + FieldNum = 4; + PrintFlag = true; + SizingString = VRFTUNumericFields(VRFTUNum).FieldNames(FieldNum) + " [m3/s]"; + SAFMethod = ZoneHVACSizing(zoneHVACIndex).NoCoolHeatSAFMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; + if (SAFMethod == SupplyAirFlowRate || SizingMethod == FlowPerFloorArea || SizingMethod == FractionOfAutosizedHeatingAirflow || SizingMethod == FractionOfAutosizedCoolingAirflow) { + if (SizingMethod == SupplyAirFlowRate){ + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + } else if (SizingMethod == FlowPerFloorArea){ + DataHeatFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + } else if (SizingMethod == FractionOfAutosizedHeatingAirflow){ + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + } else { + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + VRFTU( VRFTUNum ).MaxNoHeatAirVolFlow = TempSize; - IsAutoSize = false; - if ( VRFTU( VRFTUNum ).MaxHeatAirVolFlow == AutoSize ) { - IsAutoSize = true; - } - if ( CurZoneEqNum > 0 ) { - if ( ! IsAutoSize && ! ZoneSizingRunDone ) { // Simulation continue - if ( VRFTU( VRFTUNum ).MaxHeatAirVolFlow > 0.0 ) { - ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "User-Specified Supply Air Flow Rate During Heating Operation [m3/s]", VRFTU( VRFTUNum ).MaxHeatAirVolFlow ); - } - } else { - CheckZoneSizing( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name ); - MaxHeatAirVolFlowDes = max( FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow, FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow ); - if ( MaxHeatAirVolFlowDes < SmallAirVolFlow ) { - MaxHeatAirVolFlowDes = 0.0; } + DataScalableSizingON = false; - if ( IsAutoSize ) { - VRFTU( VRFTUNum ).MaxHeatAirVolFlow = MaxHeatAirVolFlowDes; - ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "Design Size Supply Air Flow Rate During Heating Operation [m3/s]", MaxHeatAirVolFlowDes ); - } else { - if ( VRFTU( VRFTUNum ).MaxHeatAirVolFlow > 0.0 && MaxHeatAirVolFlowDes > 0.0 ) { - MaxHeatAirVolFlowUser = VRFTU( VRFTUNum ).MaxHeatAirVolFlow; - ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "Design Size Supply Air Flow Rate During Heating Operation [m3/s]", MaxHeatAirVolFlowDes, "User-Specified Supply Air Flow Rate During Heating Operation [m3/s]", MaxHeatAirVolFlowUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( MaxHeatAirVolFlowDes - MaxHeatAirVolFlowUser ) / MaxHeatAirVolFlowUser ) > AutoVsHardSizingThreshold ) { - ShowMessage( "SizeVRF: Potential issue with equipment sizing for" + cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ) + ' ' + VRFTU( VRFTUNum ).Name ); - ShowContinueError( "User-Specified Supply Air Flow Rate During Heating Operation of " + RoundSigDigits( MaxHeatAirVolFlowUser, 5 ) + " [m3/s]" ); - ShowContinueError( "differs from Design Size Supply Air Flow Rate During Heating Operation of " + RoundSigDigits( MaxHeatAirVolFlowDes, 5 ) + " [m3/s]" ); - ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); - ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); - } + // initialize capacity sizing variables: cooling + SizingMethod = CoolingCapacitySizing; + CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).CoolingCapMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; + if (CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity) { + if (CapSizingMethod == HeatingDesignCapacity){ + if (ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity > 0.0) { + ZoneEqSizing(CurZoneEqNum).CoolingCapacity = true; + ZoneEqSizing(CurZoneEqNum).DesCoolingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; } + } else if (CapSizingMethod == CapacityPerFloorArea){ + DataCoolingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + //DataScalableCapSizingON = true; + } else if (CapSizingMethod == FractionOfAutosizedCoolingCapacity){ + DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + //DataScalableCapSizingON = true; } } - } - } - IsAutoSize = false; - if ( VRFTU( VRFTUNum ).MaxNoCoolAirVolFlow == AutoSize ) { - IsAutoSize = true; - } - if ( CurZoneEqNum > 0 ) { - if ( ! IsAutoSize && ! ZoneSizingRunDone ) { // Simulation continue - if ( VRFTU( VRFTUNum ).MaxNoCoolAirVolFlow > 0.0 ) { - ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "User-Specified Supply Air Flow Rate When No Cooling is Needed [m3/s]", VRFTU( VRFTUNum ).MaxNoCoolAirVolFlow ); - } - } else { - CheckZoneSizing( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name ); - MaxNoCoolAirVolFlowDes = VRFTU( VRFTUNum ).MaxCoolAirVolFlow; - if ( MaxNoCoolAirVolFlowDes < SmallAirVolFlow ) { - MaxNoCoolAirVolFlowDes = 0.0; - } - - if ( IsAutoSize ) { - VRFTU( VRFTUNum ).MaxNoCoolAirVolFlow = MaxNoCoolAirVolFlowDes; - ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "Design Size Supply Air Flow Rate When No Cooling is Needed [m3/s]", MaxNoCoolAirVolFlowDes ); - } else { - if ( VRFTU( VRFTUNum ).MaxNoCoolAirVolFlow > 0.0 && MaxNoCoolAirVolFlowDes > 0.0 ) { - MaxNoCoolAirVolFlowUser = VRFTU( VRFTUNum ).MaxNoCoolAirVolFlow; - ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "Design Size Supply Air Flow Rate When No Cooling is Needed [m3/s]", MaxNoCoolAirVolFlowDes, "User-Specified Supply Air Flow Rate When No Cooling is Needed [m3/s]", MaxNoCoolAirVolFlowUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( MaxNoCoolAirVolFlowDes - MaxNoCoolAirVolFlowUser ) / MaxNoCoolAirVolFlowUser ) > AutoVsHardSizingThreshold ) { - ShowMessage( "SizeVRF: Potential issue with equipment sizing for " + cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ) + ' ' + VRFTU( VRFTUNum ).Name ); - ShowContinueError( "User-Specified Supply Air Flow Rate When No Cooling is Needed of " + RoundSigDigits( MaxNoCoolAirVolFlowUser, 5 ) + " [m3/s]" ); - ShowContinueError( "differs from Design Size Supply Air Flow Rate When No Cooling is Needed of " + RoundSigDigits( MaxNoCoolAirVolFlowDes, 5 ) + " [m3/s]" ); - ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); - ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); - } + // initialize capacity sizing variables: heating + SizingMethod = HeatingCapacitySizing; + CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; + if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { + if (CapSizingMethod == HeatingDesignCapacity){ + if (ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity > 0.0) { + ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; } + } else if (CapSizingMethod == CapacityPerFloorArea){ + DataHeatingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + //DataScalableCapSizingON = true; + } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + //DataScalableCapSizingON = true; } } - } - } - IsAutoSize = false; - if ( VRFTU( VRFTUNum ).MaxNoHeatAirVolFlow == AutoSize ) { - IsAutoSize = true; - } - if ( CurZoneEqNum > 0 ) { - if ( ! IsAutoSize && ! ZoneSizingRunDone ) { // Simulation continue - if ( VRFTU( VRFTUNum ).MaxNoHeatAirVolFlow > 0.0 ) { - ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "User-Specified Supply Air Flow Rate When No Heating is Needed [m3/s]", VRFTU( VRFTUNum ).MaxNoHeatAirVolFlow ); - } } else { - CheckZoneSizing( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name ); - MaxNoHeatAirVolFlowDes = VRFTU( VRFTUNum ).MaxHeatAirVolFlow; - if ( MaxNoHeatAirVolFlowDes < SmallAirVolFlow ) { - MaxNoHeatAirVolFlowDes = 0.0; - } - - if ( IsAutoSize ) { - VRFTU( VRFTUNum ).MaxNoHeatAirVolFlow = MaxNoHeatAirVolFlowDes; - ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "Design Size Supply Air Flow Rate When No Heating is Needed [m3/s]", MaxNoHeatAirVolFlowDes ); - } else { - if ( VRFTU( VRFTUNum ).MaxNoHeatAirVolFlow > 0.0 && MaxNoHeatAirVolFlowDes > 0.0 ) { - MaxNoHeatAirVolFlowUser = VRFTU( VRFTUNum ).MaxNoHeatAirVolFlow; - ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "Design Size Supply Air Flow Rate When No Heating is Needed [m3/s]", MaxNoHeatAirVolFlowDes, "User-Specified Supply Air Flow Rate When No Heating is Needed [m3/s]", MaxNoHeatAirVolFlowUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( MaxNoHeatAirVolFlowDes - MaxNoHeatAirVolFlowUser ) / MaxNoHeatAirVolFlowUser ) > AutoVsHardSizingThreshold ) { - ShowMessage( "SizeVRF: Potential issue with equipment sizing for " + cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ) + ' ' + VRFTU( VRFTUNum ).Name ); - ShowContinueError( "User-Specified Supply Air Flow Rate When No Heating is Needed of " + RoundSigDigits( MaxNoHeatAirVolFlowUser, 5 ) + " [m3/s]" ); - ShowContinueError( "differs from Design Size Supply Air Flow Rate When No Heating is Needed of " + RoundSigDigits( MaxNoHeatAirVolFlowDes, 5 ) + " [m3/s]" ); - ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); - ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); - } - } - } - } + // no scalble sizing method has been specified. Sizing proceeds using the method + // specified in the zoneHVAC object + + PrintFlag = true; + + // N1, \field Supply Air Flow Rate During Cooling Operation + SizingMethod = CoolingAirflowSizing; + FieldNum = 1; + SizingString = VRFTUNumericFields(VRFTUNum).FieldNames(FieldNum) + " [m3/s]"; + TempSize = VRFTU(VRFTUNum).MaxCoolAirVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + VRFTU( VRFTUNum ).MaxCoolAirVolFlow = TempSize; + + //N3, \field Supply Air Flow Rate During Heating Operation + FieldNum = 3; + SizingString = VRFTUNumericFields(VRFTUNum).FieldNames(FieldNum) + " [m3/s]"; + SizingMethod = HeatingAirflowSizing; + TempSize = VRFTU(VRFTUNum).MaxHeatAirVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + VRFTU( VRFTUNum ).MaxHeatAirVolFlow = TempSize; + + //N2, \field Supply Air Flow Rate When No Cooling is Needed + FieldNum = 2; + SizingString = VRFTUNumericFields(VRFTUNum).FieldNames(FieldNum) + " [m3/s]"; + SizingMethod = SystemAirflowSizing; + TempSize = VRFTU(VRFTUNum).MaxNoCoolAirVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + VRFTU(VRFTUNum).MaxNoCoolAirVolFlow = TempSize; + + //N4, \field Supply Air Flow Rate When No Heating is Needed + FieldNum = 4; + SizingString = VRFTUNumericFields(VRFTUNum).FieldNames(FieldNum) + " [m3/s]"; + SizingMethod = SystemAirflowSizing; + TempSize = VRFTU(VRFTUNum).MaxNoHeatAirVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + VRFTU(VRFTUNum).MaxNoHeatAirVolFlow = TempSize; } } + //// existing code + //if ( VRFTU( VRFTUNum ).MaxCoolAirVolFlow == AutoSize ) { + // IsAutoSize = true; + //} + //if ( CurZoneEqNum > 0 ) { + // if ( ! IsAutoSize && ! ZoneSizingRunDone ) { // Simulation continue + // if ( VRFTU( VRFTUNum ).MaxCoolAirVolFlow > 0.0 ) { + // ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "User-Specified Supply Air Flow Rate During Cooling Operation [m3/s]", VRFTU( VRFTUNum ).MaxCoolAirVolFlow ); + // } + // } else { + // CheckZoneSizing( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name ); + // MaxCoolAirVolFlowDes = max( FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow, FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow ); + // if ( MaxCoolAirVolFlowDes < SmallAirVolFlow ) { + // MaxCoolAirVolFlowDes = 0.0; + // } + + // if ( IsAutoSize ) { + // VRFTU( VRFTUNum ).MaxCoolAirVolFlow = MaxCoolAirVolFlowDes; + // ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "Design Size Supply Air Flow Rate During Cooling Operation [m3/s]", MaxCoolAirVolFlowDes ); + // } else { + // if ( VRFTU( VRFTUNum ).MaxCoolAirVolFlow > 0.0 && MaxCoolAirVolFlowDes > 0.0 ) { + // MaxCoolAirVolFlowUser = VRFTU( VRFTUNum ).MaxCoolAirVolFlow; + // ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "Design Size Supply Air Flow Rate During Cooling Operation [m3/s]", MaxCoolAirVolFlowDes, "User-Specified Supply Air Flow Rate During Cooling Operation [m3/s]", MaxCoolAirVolFlowUser ); + // if ( DisplayExtraWarnings ) { + // if ( ( std::abs( MaxCoolAirVolFlowDes - MaxCoolAirVolFlowUser ) / MaxCoolAirVolFlowUser ) > AutoVsHardSizingThreshold ) { + // ShowMessage( "SizeVRF: Potential issue with equipment sizing for " + cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ) + ' ' + VRFTU( VRFTUNum ).Name ); + // ShowContinueError( "User-Specified Supply Air Flow Rate During Cooling Operation of " + RoundSigDigits( MaxCoolAirVolFlowUser, 5 ) + " [m3/s]" ); + // ShowContinueError( "differs from Design Size Supply Air Flow Rate During Cooling Operation of " + RoundSigDigits( MaxCoolAirVolFlowDes, 5 ) + " [m3/s]" ); + // ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); + // ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); + // } + // } + // } + // } + // } + //} + + + //IsAutoSize = false; + //if ( VRFTU( VRFTUNum ).MaxHeatAirVolFlow == AutoSize ) { + // IsAutoSize = true; + //} + //if ( CurZoneEqNum > 0 ) { + // if ( ! IsAutoSize && ! ZoneSizingRunDone ) { // Simulation continue + // if ( VRFTU( VRFTUNum ).MaxHeatAirVolFlow > 0.0 ) { + // ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "User-Specified Supply Air Flow Rate During Heating Operation [m3/s]", VRFTU( VRFTUNum ).MaxHeatAirVolFlow ); + // } + // } else { + // CheckZoneSizing( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name ); + // MaxHeatAirVolFlowDes = max( FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow, FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow ); + // if ( MaxHeatAirVolFlowDes < SmallAirVolFlow ) { + // MaxHeatAirVolFlowDes = 0.0; + // } + + // if ( IsAutoSize ) { + // VRFTU( VRFTUNum ).MaxHeatAirVolFlow = MaxHeatAirVolFlowDes; + // ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "Design Size Supply Air Flow Rate During Heating Operation [m3/s]", MaxHeatAirVolFlowDes ); + // } else { + // if ( VRFTU( VRFTUNum ).MaxHeatAirVolFlow > 0.0 && MaxHeatAirVolFlowDes > 0.0 ) { + // MaxHeatAirVolFlowUser = VRFTU( VRFTUNum ).MaxHeatAirVolFlow; + // ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "Design Size Supply Air Flow Rate During Heating Operation [m3/s]", MaxHeatAirVolFlowDes, "User-Specified Supply Air Flow Rate During Heating Operation [m3/s]", MaxHeatAirVolFlowUser ); + // if ( DisplayExtraWarnings ) { + // if ( ( std::abs( MaxHeatAirVolFlowDes - MaxHeatAirVolFlowUser ) / MaxHeatAirVolFlowUser ) > AutoVsHardSizingThreshold ) { + // ShowMessage( "SizeVRF: Potential issue with equipment sizing for" + cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ) + ' ' + VRFTU( VRFTUNum ).Name ); + // ShowContinueError( "User-Specified Supply Air Flow Rate During Heating Operation of " + RoundSigDigits( MaxHeatAirVolFlowUser, 5 ) + " [m3/s]" ); + // ShowContinueError( "differs from Design Size Supply Air Flow Rate During Heating Operation of " + RoundSigDigits( MaxHeatAirVolFlowDes, 5 ) + " [m3/s]" ); + // ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); + // ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); + // } + // } + // } + // } + // } + //} + + + //IsAutoSize = false; + //if ( VRFTU( VRFTUNum ).MaxNoCoolAirVolFlow == AutoSize ) { + // IsAutoSize = true; + //} + //if ( CurZoneEqNum > 0 ) { + // if ( ! IsAutoSize && ! ZoneSizingRunDone ) { // Simulation continue + // if ( VRFTU( VRFTUNum ).MaxNoCoolAirVolFlow > 0.0 ) { + // ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "User-Specified Supply Air Flow Rate When No Cooling is Needed [m3/s]", VRFTU( VRFTUNum ).MaxNoCoolAirVolFlow ); + // } + // } else { + // CheckZoneSizing( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name ); + // MaxNoCoolAirVolFlowDes = VRFTU( VRFTUNum ).MaxCoolAirVolFlow; + // if ( MaxNoCoolAirVolFlowDes < SmallAirVolFlow ) { + // MaxNoCoolAirVolFlowDes = 0.0; + // } + + // if ( IsAutoSize ) { + // VRFTU( VRFTUNum ).MaxNoCoolAirVolFlow = MaxNoCoolAirVolFlowDes; + // ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "Design Size Supply Air Flow Rate When No Cooling is Needed [m3/s]", MaxNoCoolAirVolFlowDes ); + // } else { + // if ( VRFTU( VRFTUNum ).MaxNoCoolAirVolFlow > 0.0 && MaxNoCoolAirVolFlowDes > 0.0 ) { + // MaxNoCoolAirVolFlowUser = VRFTU( VRFTUNum ).MaxNoCoolAirVolFlow; + // ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "Design Size Supply Air Flow Rate When No Cooling is Needed [m3/s]", MaxNoCoolAirVolFlowDes, "User-Specified Supply Air Flow Rate When No Cooling is Needed [m3/s]", MaxNoCoolAirVolFlowUser ); + // if ( DisplayExtraWarnings ) { + // if ( ( std::abs( MaxNoCoolAirVolFlowDes - MaxNoCoolAirVolFlowUser ) / MaxNoCoolAirVolFlowUser ) > AutoVsHardSizingThreshold ) { + // ShowMessage( "SizeVRF: Potential issue with equipment sizing for " + cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ) + ' ' + VRFTU( VRFTUNum ).Name ); + // ShowContinueError( "User-Specified Supply Air Flow Rate When No Cooling is Needed of " + RoundSigDigits( MaxNoCoolAirVolFlowUser, 5 ) + " [m3/s]" ); + // ShowContinueError( "differs from Design Size Supply Air Flow Rate When No Cooling is Needed of " + RoundSigDigits( MaxNoCoolAirVolFlowDes, 5 ) + " [m3/s]" ); + // ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); + // ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); + // } + // } + // } + // } + // } + //} + + //IsAutoSize = false; + //if ( VRFTU( VRFTUNum ).MaxNoHeatAirVolFlow == AutoSize ) { + // IsAutoSize = true; + //} + //if ( CurZoneEqNum > 0 ) { + // if ( ! IsAutoSize && ! ZoneSizingRunDone ) { // Simulation continue + // if ( VRFTU( VRFTUNum ).MaxNoHeatAirVolFlow > 0.0 ) { + // ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "User-Specified Supply Air Flow Rate When No Heating is Needed [m3/s]", VRFTU( VRFTUNum ).MaxNoHeatAirVolFlow ); + // } + // } else { + // CheckZoneSizing( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name ); + // MaxNoHeatAirVolFlowDes = VRFTU( VRFTUNum ).MaxHeatAirVolFlow; + // if ( MaxNoHeatAirVolFlowDes < SmallAirVolFlow ) { + // MaxNoHeatAirVolFlowDes = 0.0; + // } + + // if ( IsAutoSize ) { + // VRFTU( VRFTUNum ).MaxNoHeatAirVolFlow = MaxNoHeatAirVolFlowDes; + // ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "Design Size Supply Air Flow Rate When No Heating is Needed [m3/s]", MaxNoHeatAirVolFlowDes ); + // } else { + // if ( VRFTU( VRFTUNum ).MaxNoHeatAirVolFlow > 0.0 && MaxNoHeatAirVolFlowDes > 0.0 ) { + // MaxNoHeatAirVolFlowUser = VRFTU( VRFTUNum ).MaxNoHeatAirVolFlow; + // ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "Design Size Supply Air Flow Rate When No Heating is Needed [m3/s]", MaxNoHeatAirVolFlowDes, "User-Specified Supply Air Flow Rate When No Heating is Needed [m3/s]", MaxNoHeatAirVolFlowUser ); + // if ( DisplayExtraWarnings ) { + // if ( ( std::abs( MaxNoHeatAirVolFlowDes - MaxNoHeatAirVolFlowUser ) / MaxNoHeatAirVolFlowUser ) > AutoVsHardSizingThreshold ) { + // ShowMessage( "SizeVRF: Potential issue with equipment sizing for " + cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ) + ' ' + VRFTU( VRFTUNum ).Name ); + // ShowContinueError( "User-Specified Supply Air Flow Rate When No Heating is Needed of " + RoundSigDigits( MaxNoHeatAirVolFlowUser, 5 ) + " [m3/s]" ); + // ShowContinueError( "differs from Design Size Supply Air Flow Rate When No Heating is Needed of " + RoundSigDigits( MaxNoHeatAirVolFlowDes, 5 ) + " [m3/s]" ); + // ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); + // ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); + // } + // } + // } + // } + // } + //} IsAutoSize = false; if ( VRFTU( VRFTUNum ).CoolOutAirVolFlow == AutoSize ) { diff --git a/src/EnergyPlus/HVACVariableRefrigerantFlow.hh b/src/EnergyPlus/HVACVariableRefrigerantFlow.hh index 6dc19110551..abdda51cdbd 100644 --- a/src/EnergyPlus/HVACVariableRefrigerantFlow.hh +++ b/src/EnergyPlus/HVACVariableRefrigerantFlow.hh @@ -926,7 +926,8 @@ namespace HVACVariableRefrigerantFlow { Real64 EMSValueForPartLoadFrac; // user defined value for EMS function int IterLimitExceeded; // index used for warning messages int FirstIterfailed; // index used for warning messages - + int ZonePtr; // pointer to a zone served by a VRF terminal unit + int HVACSizingIndex; // index of a HVACSizing object for a VRF terminal // Default Constructor VRFTerminalUnitEquipment() : VRFTUType_Num( 0 ), @@ -996,7 +997,9 @@ namespace HVACVariableRefrigerantFlow { EMSOverridePartLoadFrac( false ), EMSValueForPartLoadFrac( 0.0 ), IterLimitExceeded( 0 ), - FirstIterfailed( 0 ) + FirstIterfailed( 0 ), + ZonePtr( 0 ), + HVACSizingIndex( 0 ) {} // Member Constructor @@ -1071,7 +1074,9 @@ namespace HVACVariableRefrigerantFlow { bool const EMSOverridePartLoadFrac, // User defined EMS function Real64 const EMSValueForPartLoadFrac, // user defined value for EMS function int const IterLimitExceeded, // index used for warning messages - int const FirstIterfailed // index used for warning messages + int const FirstIterfailed, // index used for warning messages + int const ZonePtr, // pointer to a zone served by a VRF terminal + int const HVACSizingIndex // index of a HVACSizing object for a VRF terminal ) : Name( Name ), VRFTUType_Num( VRFTUType_Num ), @@ -1143,15 +1148,37 @@ namespace HVACVariableRefrigerantFlow { EMSOverridePartLoadFrac( EMSOverridePartLoadFrac ), EMSValueForPartLoadFrac( EMSValueForPartLoadFrac ), IterLimitExceeded( IterLimitExceeded ), - FirstIterfailed( FirstIterfailed ) + FirstIterfailed( FirstIterfailed ), + ZonePtr( ZonePtr ), + HVACSizingIndex( HVACSizingIndex ) {} }; + + struct VRFTUNumericFieldData + { + // Members + FArray1D_string FieldNames; + + // Default Constructor + VRFTUNumericFieldData() + {} + + // Member Constructor + VRFTUNumericFieldData( + FArray1_string const & FieldNames // Name of the HeatingCoil numeric field descriptions + ) : + FieldNames( FieldNames ) + {} + }; + + // Object Data extern FArray1D< VRFCondenserEquipment > VRF; // AirConditioner:VariableRefrigerantFlow object extern FArray1D< VRFTerminalUnitEquipment > VRFTU; // ZoneHVAC:TerminalUnit:VariableRefrigerantFlow object extern FArray1D< TerminalUnitListData > TerminalUnitList; // zoneTerminalUnitList object + extern FArray1D< VRFTUNumericFieldData > VRFTUNumericFields; // holds VRF TU numeric input fields character field name // Functions diff --git a/src/EnergyPlus/HWBaseboardRadiator.cc b/src/EnergyPlus/HWBaseboardRadiator.cc index 301c54c019f..63d9e9a4e15 100644 --- a/src/EnergyPlus/HWBaseboardRadiator.cc +++ b/src/EnergyPlus/HWBaseboardRadiator.cc @@ -108,6 +108,7 @@ namespace HWBaseboardRadiator { // Object Data FArray1D< HWBaseboardParams > HWBaseboard; + FArray1D< HWBaseboardNumericFieldData > HWBaseboardNumericFields; // Functions @@ -265,8 +266,12 @@ namespace HWBaseboardRadiator { using ScheduleManager::GetCurrentScheduleValue; using GlobalNames::VerifyUniqueBaseboardName; using General::RoundSigDigits; + using General::TrimSigDigits; using DataSizing::AutoSize; using DataSizing::FinalZoneSizing; + using DataSizing::HeatingDesignCapacity; + using DataSizing::CapacityPerFloorArea; + using DataSizing::FractionOfAutosizedHeatingCapacity; using namespace DataIPShortCuts; // Locals @@ -290,6 +295,12 @@ namespace HWBaseboardRadiator { // INTEGER, PARAMETER :: MaxDistribSurfaces = 20 ! Maximum number of surfaces that a baseboard heater can radiate to int const MinDistribSurfaces( 1 ); // Minimum number of surfaces that a baseboard heater can radiate to + int const iHeatCAPMAlphaNum( 5 ) ; // get input index to HW baseboard heating capacity sizing method + int const iHeatDesignCapacityNumericNum( 3 ); // get input index to HW baseboard heating capacity + int const iHeatCapacityPerFloorAreaNumericNum( 4 ); // get input index to HW baseboard heating capacity per floor area sizing + int const iHeatFracOfAutosizedCapacityNumericNum( 5 ); // get input index to HW baseboard heating capacity sizing as fraction of autozized heating capacity + + // INTERFACE BLOCK SPECIFICATIONS // na @@ -314,12 +325,18 @@ namespace HWBaseboardRadiator { HWBaseboard.allocate( NumHWBaseboards ); CheckEquipName.allocate( NumHWBaseboards ); + HWBaseboardNumericFields.allocate( NumHWBaseboards ); CheckEquipName = true; // Get the data from the user input related to baseboard heaters for ( BaseboardNum = 1; BaseboardNum <= NumHWBaseboards; ++BaseboardNum ) { GetObjectItem( cCMO_BBRadiator_Water, BaseboardNum, cAlphaArgs, NumAlphas, rNumericArgs, NumNumbers, IOStat, lNumericFieldBlanks, lAlphaFieldBlanks, cAlphaFieldNames, cNumericFieldNames ); + + HWBaseboardNumericFields( BaseboardNum ).FieldNames.allocate( NumNumbers ); + HWBaseboardNumericFields( BaseboardNum ).FieldNames = ""; + HWBaseboardNumericFields( BaseboardNum ).FieldNames = cNumericFieldNames; + IsNotOK = false; IsBlank = false; VerifyName( cAlphaArgs( 1 ), HWBaseboard.EquipID(), BaseboardNum, IsNotOK, IsBlank, cCMO_BBRadiator_Water + " Name" ); @@ -372,35 +389,102 @@ namespace HWBaseboardRadiator { HWBaseboard( BaseboardNum ).WaterMassFlowRateStd = WaterMassFlowDefault; } - HWBaseboard( BaseboardNum ).RatedCapacity = rNumericArgs( 3 ); + //HWBaseboard( BaseboardNum ).RatedCapacity = rNumericArgs( 3 ); + + // Determine HW radiant baseboard heating design capacity sizing method + if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "HeatingDesignCapacity")) { + HWBaseboard(BaseboardNum).HeatingCapMethod = HeatingDesignCapacity; - HWBaseboard( BaseboardNum ).WaterVolFlowRateMax = rNumericArgs( 4 ); + if (!lNumericFieldBlanks(iHeatDesignCapacityNumericNum)) { + HWBaseboard(BaseboardNum).ScaledHeatingCapacity = rNumericArgs(iHeatDesignCapacityNumericNum); + if (HWBaseboard(BaseboardNum).ScaledHeatingCapacity < 0.0 && HWBaseboard(BaseboardNum).ScaledHeatingCapacity != AutoSize) { + ShowSevereError(cCurrentModuleObject + " = " + HWBaseboard(BaseboardNum).EquipID); + ShowContinueError("Illegal " + cNumericFieldNames(iHeatDesignCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatDesignCapacityNumericNum), 7)); + ErrorsFound = true; + } + } + else { + ShowSevereError(cCurrentModuleObject + " = " + HWBaseboard(BaseboardNum).EquipID); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatDesignCapacityNumericNum)); + ErrorsFound = true; + } + } + else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "CapacityPerFloorArea")) { + HWBaseboard(BaseboardNum).HeatingCapMethod = CapacityPerFloorArea; + if (!lNumericFieldBlanks(iHeatCapacityPerFloorAreaNumericNum)) { + HWBaseboard(BaseboardNum).ScaledHeatingCapacity = rNumericArgs(iHeatCapacityPerFloorAreaNumericNum); + if (HWBaseboard(BaseboardNum).ScaledHeatingCapacity <= 0.0) { + ShowSevereError(cCurrentModuleObject + " = " + HWBaseboard(BaseboardNum).EquipID); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatCapacityPerFloorAreaNumericNum), 7)); + ErrorsFound = true; + } + else if (HWBaseboard(BaseboardNum).ScaledHeatingCapacity == AutoSize) { + ShowSevereError(cCurrentModuleObject + " = " + HWBaseboard(BaseboardNum).EquipID); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = Autosize"); + ErrorsFound = true; + } + } + else { + ShowSevereError(cCurrentModuleObject + " = " + HWBaseboard(BaseboardNum).EquipID); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum)); + ErrorsFound = true; + } + } + else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "FractionOfAutosizedHeatingCapacity")){ + HWBaseboard(BaseboardNum).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; + if (!lNumericFieldBlanks(iHeatFracOfAutosizedCapacityNumericNum)) { + HWBaseboard(BaseboardNum).ScaledHeatingCapacity = rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum); + if (HWBaseboard(BaseboardNum).ScaledHeatingCapacity < 0.0) { + ShowSevereError(cCurrentModuleObject + " = " + HWBaseboard(BaseboardNum).EquipID); + ShowContinueError("Illegal " + cNumericFieldNames(iHeatFracOfAutosizedCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum), 7)); + ErrorsFound = true; + } + } + else { + ShowSevereError(cCurrentModuleObject + " = " + HWBaseboard(BaseboardNum).EquipID); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatFracOfAutosizedCapacityNumericNum)); + ErrorsFound = true; + } + } + else { + ShowSevereError(cCurrentModuleObject + " = " + HWBaseboard(BaseboardNum).EquipID); + ShowContinueError("Illegal " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ErrorsFound = true; + } + + + HWBaseboard( BaseboardNum ).WaterVolFlowRateMax = rNumericArgs( 6 ); if ( std::abs( HWBaseboard( BaseboardNum ).WaterVolFlowRateMax ) <= MinWaterFlowRate ) { - ShowWarningError( RoutineName + cCMO_BBRadiator_Water + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( 4 ) + " was less than the allowable minimum." ); + ShowWarningError( RoutineName + cCMO_BBRadiator_Water + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( 6 ) + " was less than the allowable minimum." ); ShowContinueError( "...reset to minimum value=[" + RoundSigDigits( MinWaterFlowRate, 2 ) + "]." ); HWBaseboard( BaseboardNum ).WaterVolFlowRateMax = MinWaterFlowRate; } else if ( HWBaseboard( BaseboardNum ).WaterVolFlowRateMax > MaxWaterFlowRate ) { - ShowWarningError( RoutineName + cCMO_BBRadiator_Water + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( 4 ) + " was higher than the allowable maximum." ); + ShowWarningError( RoutineName + cCMO_BBRadiator_Water + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( 6 ) + " was higher than the allowable maximum." ); ShowContinueError( "...reset to maximum value=[" + RoundSigDigits( MaxWaterFlowRate, 2 ) + "]." ); HWBaseboard( BaseboardNum ).WaterVolFlowRateMax = MaxWaterFlowRate; } - HWBaseboard( BaseboardNum ).Offset = rNumericArgs( 5 ); + HWBaseboard( BaseboardNum ).Offset = rNumericArgs( 7 ); // Set default convergence tolerance if ( HWBaseboard( BaseboardNum ).Offset <= 0.0 ) { - ShowWarningError( RoutineName + cCMO_BBRadiator_Water + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( 5 ) + " was less than the allowable minimum." ); + ShowWarningError( RoutineName + cCMO_BBRadiator_Water + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( 7 ) + " was less than the allowable minimum." ); ShowContinueError( "...reset to a default value=[" + RoundSigDigits( MaxFraction, 2 ) + "]." ); HWBaseboard( BaseboardNum ).Offset = 0.001; } - HWBaseboard( BaseboardNum ).FracRadiant = rNumericArgs( 6 ); + HWBaseboard( BaseboardNum ).FracRadiant = rNumericArgs( 8 ); if ( HWBaseboard( BaseboardNum ).FracRadiant < MinFraction ) { - ShowWarningError( RoutineName + cCMO_BBRadiator_Water + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( 6 ) + " was lower than the allowable minimum." ); + ShowWarningError( RoutineName + cCMO_BBRadiator_Water + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( 8 ) + " was lower than the allowable minimum." ); ShowContinueError( "...reset to minimum value=[" + RoundSigDigits( MinFraction, 2 ) + "]." ); HWBaseboard( BaseboardNum ).FracRadiant = MinFraction; } if ( HWBaseboard( BaseboardNum ).FracRadiant > MaxFraction ) { - ShowWarningError( RoutineName + cCMO_BBRadiator_Water + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( 6 ) + " was higher than the allowable maximum." ); + ShowWarningError( RoutineName + cCMO_BBRadiator_Water + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( 8 ) + " was higher than the allowable maximum." ); ShowContinueError( "...reset to maximum value=[" + RoundSigDigits( MaxFraction, 2 ) + "]." ); HWBaseboard( BaseboardNum ).FracRadiant = MaxFraction; } @@ -415,19 +499,19 @@ namespace HWBaseboardRadiator { HWBaseboard( BaseboardNum ).FracConvect = 1.0 - AllFracsSummed; } - HWBaseboard( BaseboardNum ).FracDistribPerson = rNumericArgs( 7 ); + HWBaseboard( BaseboardNum ).FracDistribPerson = rNumericArgs( 9 ); if ( HWBaseboard( BaseboardNum ).FracDistribPerson < MinFraction ) { - ShowWarningError( RoutineName + cCMO_BBRadiator_Water + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( 7 ) + " was lower than the allowable minimum." ); + ShowWarningError( RoutineName + cCMO_BBRadiator_Water + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( 9 ) + " was lower than the allowable minimum." ); ShowContinueError( "...reset to minimum value=[" + RoundSigDigits( MinFraction, 3 ) + "]." ); HWBaseboard( BaseboardNum ).FracDistribPerson = MinFraction; } if ( HWBaseboard( BaseboardNum ).FracDistribPerson > MaxFraction ) { - ShowWarningError( RoutineName + cCMO_BBRadiator_Water + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( 7 ) + " was higher than the allowable maximum." ); + ShowWarningError( RoutineName + cCMO_BBRadiator_Water + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( 9 ) + " was higher than the allowable maximum." ); ShowContinueError( "...reset to maximum value=[" + RoundSigDigits( MaxFraction, 3 ) + "]." ); HWBaseboard( BaseboardNum ).FracDistribPerson = MaxFraction; } - HWBaseboard( BaseboardNum ).TotSurfToDistrib = NumNumbers - 7; + HWBaseboard( BaseboardNum ).TotSurfToDistrib = NumNumbers - 9; // IF (HWBaseboard(BaseboardNum)%TotSurfToDistrib > MaxDistribSurfaces) THEN // CALL ShowWarningError(RoutineName//cCMO_BBRadiator_Water//'="'//TRIM(cAlphaArgs(1))// & // '", the number of surface/radiant fraction groups entered was higher than the allowable maximum.') @@ -451,20 +535,20 @@ namespace HWBaseboardRadiator { AllFracsSummed = HWBaseboard( BaseboardNum ).FracDistribPerson; for ( SurfNum = 1; SurfNum <= HWBaseboard( BaseboardNum ).TotSurfToDistrib; ++SurfNum ) { - HWBaseboard( BaseboardNum ).SurfaceName( SurfNum ) = cAlphaArgs( SurfNum + 4 ); - HWBaseboard( BaseboardNum ).SurfacePtr( SurfNum ) = FindItemInList( cAlphaArgs( SurfNum + 4 ), Surface.Name(), TotSurfaces ); - HWBaseboard( BaseboardNum ).FracDistribToSurf( SurfNum ) = rNumericArgs( SurfNum + 7 ); + HWBaseboard( BaseboardNum ).SurfaceName( SurfNum ) = cAlphaArgs( SurfNum + 5 ); + HWBaseboard( BaseboardNum ).SurfacePtr( SurfNum ) = FindItemInList( cAlphaArgs( SurfNum + 5 ), Surface.Name(), TotSurfaces ); + HWBaseboard( BaseboardNum ).FracDistribToSurf( SurfNum ) = rNumericArgs( SurfNum + 9 ); if ( HWBaseboard( BaseboardNum ).SurfacePtr( SurfNum ) == 0 ) { - ShowSevereError( RoutineName + cCMO_BBRadiator_Water + "=\"" + cAlphaArgs( 1 ) + "\", " + cAlphaFieldNames( SurfNum + 4 ) + "=\"" + cAlphaArgs( SurfNum + 4 ) + "\" invalid - not found." ); + ShowSevereError( RoutineName + cCMO_BBRadiator_Water + "=\"" + cAlphaArgs( 1 ) + "\", " + cAlphaFieldNames( SurfNum + 5 ) + "=\"" + cAlphaArgs( SurfNum + 5 ) + "\" invalid - not found." ); ErrorsFound = true; } if ( HWBaseboard( BaseboardNum ).FracDistribToSurf( SurfNum ) > MaxFraction ) { - ShowWarningError( RoutineName + cCMO_BBRadiator_Water + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( SurfNum + 7 ) + "was greater than the allowable maximum." ); + ShowWarningError( RoutineName + cCMO_BBRadiator_Water + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( SurfNum + 9 ) + "was greater than the allowable maximum." ); ShowContinueError( "...reset to maximum value=[" + RoundSigDigits( MaxFraction, 2 ) + "]." ); HWBaseboard( BaseboardNum ).TotSurfToDistrib = MaxFraction; } if ( HWBaseboard( BaseboardNum ).FracDistribToSurf( SurfNum ) < MinFraction ) { - ShowWarningError( RoutineName + cCMO_BBRadiator_Water + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( SurfNum + 7 ) + "was less than the allowable minimum." ); + ShowWarningError( RoutineName + cCMO_BBRadiator_Water + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( SurfNum + 9 ) + "was less than the allowable minimum." ); ShowContinueError( "...reset to maximum value=[" + RoundSigDigits( MinFraction, 2 ) + "]." ); HWBaseboard( BaseboardNum ).TotSurfToDistrib = MinFraction; } @@ -725,6 +809,8 @@ namespace HWBaseboardRadiator { using DataLoopNode::Node; using PlantUtilities::RegisterPlantCompDesignFlow; using General::RoundSigDigits; + using DataHVACGlobals::HeatingCapacitySizing; + using ReportSizingManager::RequestSizing; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -762,9 +848,18 @@ namespace HWBaseboardRadiator { bool CapAutoSize; // Indicator to autosize for capacity Real64 WaterVolFlowRateMaxDes; // Design maximum water volume flow for reproting Real64 WaterVolFlowRateMaxUser; // User hard-sized maximum water volume flow for reproting - //REAL(r64) :: RatedCapacityDes ! Design rated capacity for reproting + Real64 RatedCapacityDes; // Design rated capacity for reproting //REAL(r64) :: RatedCapacityUser ! User hard-sized rated capacity for reproting + std::string CompName; // component name + std::string CompType; // component type + std::string SizingString; // input field sizing description (e.g., Nominal Capacity) + Real64 TempSize; // autosized value of coil input field + int FieldNum = 1; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) + bool PrintFlag; // TRUE when sizing information is reported in the eio file + int CapSizingMethod( 0 ); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) + PltSizHeatNum = 0; PltSizNum = 0; DesCoilLoad = 0.0; @@ -773,14 +868,64 @@ namespace HWBaseboardRadiator { CapAutoSize = false; WaterVolFlowRateMaxDes = 0.0; WaterVolFlowRateMaxUser = 0.0; - //RatedCapacityDes = 0.0d0 + RatedCapacityDes = 0.0; + DataScalableCapSizingON = false; + //RatedCapacityUser = 0.0d0 + + if (CurZoneEqNum > 0) { + + CompType = cCMO_BBRadiator_Water; + CompName = HWBaseboard(BaseboardNum).EquipID; + DataHeatSizeRatio = 1.0; + DataFracOfAutosizedHeatingCapacity = 1.0; + DataZoneNumber = HWBaseboard(BaseboardNum).ZonePtr; + SizingMethod = HeatingCapacitySizing; + FieldNum = 3; + PrintFlag = false; + SizingString = HWBaseboardNumericFields(BaseboardNum).FieldNames(FieldNum) + " [W]"; + CapSizingMethod = HWBaseboard(BaseboardNum).HeatingCapMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; + if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { + if (CapSizingMethod == HeatingDesignCapacity){ + if (HWBaseboard(BaseboardNum).ScaledHeatingCapacity == AutoSize) { + CheckZoneSizing(CompType, CompName); + ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + } + TempSize = HWBaseboard(BaseboardNum).ScaledHeatingCapacity; + + } else if (CapSizingMethod == CapacityPerFloorArea){ + DataHeatingCapPerFloorArea = HWBaseboard(BaseboardNum).ScaledHeatingCapacity; + TempSize = HWBaseboard(BaseboardNum).ScaledHeatingCapacity; + DataScalableCapSizingON = true; + } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ + CheckZoneSizing(CompType, CompName); + ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + DataFracOfAutosizedHeatingCapacity = HWBaseboard(BaseboardNum).ScaledHeatingCapacity; + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + TempSize = AutoSize; + DataScalableCapSizingON = true; + } else { + TempSize = HWBaseboard(BaseboardNum).ScaledHeatingCapacity; + } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + if (HWBaseboard(BaseboardNum).ScaledHeatingCapacity == AutoSize) { + HWBaseboard(BaseboardNum).RatedCapacity = AutoSize; + } else { + HWBaseboard(BaseboardNum).RatedCapacity = TempSize; + } + RatedCapacityDes = TempSize; + } + } + // find the appropriate heating Plant Sizing object PltSizHeatNum = PlantLoop( HWBaseboard( BaseboardNum ).LoopNum ).PlantSizNum; if ( PltSizHeatNum > 0 ) { if ( CurZoneEqNum > 0 ) { + if ( HWBaseboard( BaseboardNum ).WaterVolFlowRateMax == AutoSize ) { FlowAutoSize = true; } @@ -790,7 +935,8 @@ namespace HWBaseboardRadiator { } } else { CheckZoneSizing( cCMO_BBRadiator_Water, HWBaseboard( BaseboardNum ).EquipID ); - DesCoilLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; + //DesCoilLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; + DesCoilLoad = RatedCapacityDes; if ( DesCoilLoad >= SmallLoad ) { Cp = GetSpecificHeatGlycol( PlantLoop( HWBaseboard( BaseboardNum ).LoopNum ).FluidName, 60.0, PlantLoop( HWBaseboard( BaseboardNum ).LoopNum ).FluidIndex, RoutineName ); rho = GetDensityGlycol( PlantLoop( HWBaseboard( BaseboardNum ).LoopNum ).FluidName, InitConvTemp, PlantLoop( HWBaseboard( BaseboardNum ).LoopNum ).FluidIndex, RoutineName ); @@ -822,7 +968,8 @@ namespace HWBaseboardRadiator { DesCoilLoad = HWBaseboard( BaseboardNum ).RatedCapacity; WaterMassFlowRateStd = HWBaseboard( BaseboardNum ).WaterMassFlowRateStd; } else if ( HWBaseboard( BaseboardNum ).RatedCapacity == AutoSize || HWBaseboard( BaseboardNum ).RatedCapacity == 0.0 ) { - DesCoilLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; + //DesCoilLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; + DesCoilLoad = RatedCapacityDes; rho = GetDensityGlycol( PlantLoop( HWBaseboard( BaseboardNum ).LoopNum ).FluidName, InitConvTemp, PlantLoop( HWBaseboard( BaseboardNum ).LoopNum ).FluidIndex, RoutineNameFull ); WaterMassFlowRateStd = HWBaseboard( BaseboardNum ).WaterVolFlowRateMax * rho; } @@ -871,7 +1018,9 @@ namespace HWBaseboardRadiator { ErrorsFound = true; } // calculate UA from rated capacities - DesCoilLoad = HWBaseboard( BaseboardNum ).RatedCapacity; + HWBaseboard(BaseboardNum).RatedCapacity = RatedCapacityDes; + DesCoilLoad = RatedCapacityDes; + if ( DesCoilLoad >= SmallLoad ) { WaterMassFlowRateStd = HWBaseboard( BaseboardNum ).WaterMassFlowRateStd; // m_dot = 0.0062 + 2.75e-05*q diff --git a/src/EnergyPlus/HWBaseboardRadiator.hh b/src/EnergyPlus/HWBaseboardRadiator.hh index dcb26e36a8b..e174c6dd853 100644 --- a/src/EnergyPlus/HWBaseboardRadiator.hh +++ b/src/EnergyPlus/HWBaseboardRadiator.hh @@ -94,6 +94,9 @@ namespace HWBaseboardRadiator { int BBLoadReSimIndex; int BBMassFlowReSimIndex; int BBInletTempFlowReSimIndex; + int HeatingCapMethod; // - Method for heating capacity scaledsizing calculation + //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 ScaledHeatingCapacity; // - scaled maximum heating capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} // Default Constructor HWBaseboardParams() : @@ -143,7 +146,9 @@ namespace HWBaseboardRadiator { CompNum( 0 ), BBLoadReSimIndex( 0 ), BBMassFlowReSimIndex( 0 ), - BBInletTempFlowReSimIndex( 0 ) + BBInletTempFlowReSimIndex( 0 ), + HeatingCapMethod( 0 ), + ScaledHeatingCapacity( 0.0 ) {} // Member Constructor @@ -199,7 +204,10 @@ namespace HWBaseboardRadiator { int const CompNum, // plant loop component index int const BBLoadReSimIndex, int const BBMassFlowReSimIndex, - int const BBInletTempFlowReSimIndex + int const BBInletTempFlowReSimIndex, + int const HeatingCapMethod, // - Method for HW baseboard heating capacity scalable sizing calculation + //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 const ScaledHeatingCapacity // - HW baseboard scaled maximum heating capacity {W} or scalable variable for sizing in {-}, or {W/m2} ) : EquipID( EquipID ), EquipType( EquipType ), @@ -252,13 +260,33 @@ namespace HWBaseboardRadiator { CompNum( CompNum ), BBLoadReSimIndex( BBLoadReSimIndex ), BBMassFlowReSimIndex( BBMassFlowReSimIndex ), - BBInletTempFlowReSimIndex( BBInletTempFlowReSimIndex ) + BBInletTempFlowReSimIndex( BBInletTempFlowReSimIndex ), + HeatingCapMethod( HeatingCapMethod ), + ScaledHeatingCapacity( ScaledHeatingCapacity ) {} }; + struct HWBaseboardNumericFieldData + { + // Members + FArray1D_string FieldNames; + + // Default Constructor + HWBaseboardNumericFieldData() + {} + + // Member Constructor + HWBaseboardNumericFieldData( + FArray1_string const & FieldNames // Name of the HeatingCoil numeric field descriptions + ) : + FieldNames(FieldNames) + {} + }; + // Object Data extern FArray1D< HWBaseboardParams > HWBaseboard; + extern FArray1D< HWBaseboardNumericFieldData > HWBaseboardNumericFields; // Functions diff --git a/src/EnergyPlus/HighTempRadiantSystem.cc b/src/EnergyPlus/HighTempRadiantSystem.cc index bea9ccaefe2..8da894c21e7 100644 --- a/src/EnergyPlus/HighTempRadiantSystem.cc +++ b/src/EnergyPlus/HighTempRadiantSystem.cc @@ -112,6 +112,7 @@ namespace HighTempRadiantSystem { // Object Data FArray1D< HighTempRadiantSystemData > HighTempRadSys; + FArray1D< HighTempRadSysNumericFieldData > HighTempRadSysNumericFields; // Functions @@ -235,6 +236,12 @@ namespace HighTempRadiantSystem { using InputProcessor::VerifyName; using InputProcessor::GetObjectDefMaxArgs; using ScheduleManager::GetScheduleIndex; + using General::TrimSigDigits; + using DataSizing::AutoSize; + using DataSizing::FinalZoneSizing; + using DataSizing::HeatingDesignCapacity; + using DataSizing::CapacityPerFloorArea; + using DataSizing::FractionOfAutosizedHeatingCapacity; using namespace DataIPShortCuts; // Locals @@ -250,6 +257,11 @@ namespace HighTempRadiantSystem { // INTEGER, PARAMETER :: MaxDistribSurfaces = 20 ! Maximum number of surfaces that a radiant heater can radiate to static std::string const RoutineName( "GetHighTempRadiantSystem: " ); // include trailing blank space + int const iHeatCAPMAlphaNum( 4 ); // get input index to High Temperature Radiant system heating capacity sizing method + int const iHeatDesignCapacityNumericNum( 1 ); // get input index to High Temperature Radiant system heating capacity + int const iHeatCapacityPerFloorAreaNumericNum( 2 ); // get input index to High Temperature Radiant system heating capacity per floor area sizing + int const iHeatFracOfAutosizedCapacityNumericNum( 3 ); // get input index to High Temperature Radiant system heating capacity sizing as fraction of autozized heating capacity + // INTERFACE BLOCK SPECIFICATIONS // na @@ -273,6 +285,7 @@ namespace HighTempRadiantSystem { HighTempRadSys.allocate( NumOfHighTempRadSys ); CheckEquipName.allocate( NumOfHighTempRadSys ); + HighTempRadSysNumericFields.allocate( NumOfHighTempRadSys ); CheckEquipName = true; // extensible object, do not need max args because using IPShortCuts @@ -283,6 +296,10 @@ namespace HighTempRadiantSystem { GetObjectItem( cCurrentModuleObject, Item, cAlphaArgs, NumAlphas, rNumericArgs, NumNumbers, IOStatus, lNumericFieldBlanks, lAlphaFieldBlanks, cAlphaFieldNames, cNumericFieldNames ); + HighTempRadSysNumericFields( Item ).FieldNames.allocate( NumNumbers ); + HighTempRadSysNumericFields( Item ).FieldNames = ""; + HighTempRadSysNumericFields( Item ).FieldNames = cNumericFieldNames; + IsNotOK = false; IsBlank = false; VerifyName( cAlphaArgs( 1 ), HighTempRadSys.Name(), Item - 1, IsNotOK, IsBlank, cCurrentModuleObject + " Name" ); @@ -312,72 +329,132 @@ namespace HighTempRadiantSystem { ErrorsFound = true; } - HighTempRadSys( Item ).MaxPowerCapac = rNumericArgs( 1 ); + //HighTempRadSys( Item ).MaxPowerCapac = rNumericArgs( 1 ); + + + // Determine High Temp Radiant heating design capacity sizing method + if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "HeatingDesignCapacity")) { + HighTempRadSys( Item ).HeatingCapMethod = HeatingDesignCapacity; - if ( SameString( cAlphaArgs( 4 ), cNaturalGas ) ) { + if (!lNumericFieldBlanks(iHeatDesignCapacityNumericNum)) { + HighTempRadSys( Item ).ScaledHeatingCapacity = rNumericArgs(iHeatDesignCapacityNumericNum); + if (HighTempRadSys( Item ).ScaledHeatingCapacity < 0.0 && HighTempRadSys( Item ).ScaledHeatingCapacity != AutoSize) { + ShowSevereError(cCurrentModuleObject + " = " + HighTempRadSys(Item).Name); + ShowContinueError("Illegal " + cNumericFieldNames(iHeatDesignCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatDesignCapacityNumericNum), 7)); + ErrorsFound = true; + } + } else { + ShowSevereError(cCurrentModuleObject + " = " + HighTempRadSys(Item).Name); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatDesignCapacityNumericNum)); + ErrorsFound = true; + } + } else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "CapacityPerFloorArea")) { + HighTempRadSys( Item ).HeatingCapMethod = CapacityPerFloorArea; + if (!lNumericFieldBlanks(iHeatCapacityPerFloorAreaNumericNum)) { + HighTempRadSys( Item ).ScaledHeatingCapacity = rNumericArgs(iHeatCapacityPerFloorAreaNumericNum); + if (HighTempRadSys( Item ).ScaledHeatingCapacity <= 0.0) { + ShowSevereError(cCurrentModuleObject + " = " + HighTempRadSys(Item).Name); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatCapacityPerFloorAreaNumericNum), 7)); + ErrorsFound = true; + } else if (HighTempRadSys( Item ).ScaledHeatingCapacity == AutoSize) { + ShowSevereError(cCurrentModuleObject + " = " + HighTempRadSys(Item).Name); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = Autosize"); + ErrorsFound = true; + } + } else { + ShowSevereError(cCurrentModuleObject + " = " + HighTempRadSys(Item).Name); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum)); + ErrorsFound = true; + } + } else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "FractionOfAutosizedHeatingCapacity")){ + HighTempRadSys( Item ).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; + if (!lNumericFieldBlanks(iHeatFracOfAutosizedCapacityNumericNum)) { + HighTempRadSys( Item ).ScaledHeatingCapacity = rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum); + if (HighTempRadSys( Item ).ScaledHeatingCapacity < 0.0) { + ShowSevereError(cCurrentModuleObject + " = " + HighTempRadSys(Item).Name); + ShowContinueError("Illegal " + cNumericFieldNames(iHeatFracOfAutosizedCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum), 7)); + ErrorsFound = true; + } + } else { + ShowSevereError(cCurrentModuleObject + " = " + HighTempRadSys(Item).Name); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatFracOfAutosizedCapacityNumericNum)); + ErrorsFound = true; + } + } else { + ShowSevereError(cCurrentModuleObject + " = " + HighTempRadSys(Item).Name); + ShowContinueError("Illegal " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ErrorsFound = true; + } + + if ( SameString( cAlphaArgs( 5 ), cNaturalGas ) ) { HighTempRadSys( Item ).HeaterType = Gas; - } else if ( SameString( cAlphaArgs( 4 ), cElectricity ) ) { + } else if ( SameString( cAlphaArgs( 5 ), cElectricity ) ) { HighTempRadSys( Item ).HeaterType = Electric; - } else if ( SameString( cAlphaArgs( 4 ), cGas ) ) { + } else if ( SameString( cAlphaArgs( 5 ), cGas ) ) { HighTempRadSys( Item ).HeaterType = Gas; - } else if ( SameString( cAlphaArgs( 4 ), cElectric ) ) { + } else if ( SameString( cAlphaArgs( 5 ), cElectric ) ) { HighTempRadSys( Item ).HeaterType = Electric; } else { - ShowSevereError( "Invalid " + cAlphaFieldNames( 4 ) + " = " + cAlphaArgs( 4 ) ); + ShowSevereError( "Invalid " + cAlphaFieldNames( 5 ) + " = " + cAlphaArgs( 5 ) ); ShowContinueError( "Occurs for " + cCurrentModuleObject + " = " + cAlphaArgs( 1 ) ); ErrorsFound = true; } if ( HighTempRadSys( Item ).HeaterType == Gas ) { - HighTempRadSys( Item ).CombustionEffic = rNumericArgs( 2 ); + HighTempRadSys( Item ).CombustionEffic = rNumericArgs( 4 ); // Limit the combustion efficiency to between zero and one... if ( HighTempRadSys( Item ).CombustionEffic < MinCombustionEffic ) { HighTempRadSys( Item ).CombustionEffic = MinCombustionEffic; - ShowWarningError( cNumericFieldNames( 2 ) + " was less than the allowable minimum, reset to minimum value." ); + ShowWarningError( cNumericFieldNames( 4 ) + " was less than the allowable minimum, reset to minimum value." ); ShowContinueError( "Occurs for " + cCurrentModuleObject + " = " + cAlphaArgs( 1 ) ); } if ( HighTempRadSys( Item ).CombustionEffic > MaxCombustionEffic ) { HighTempRadSys( Item ).CombustionEffic = MaxCombustionEffic; - ShowWarningError( cNumericFieldNames( 2 ) + " was greater than the allowable maximum, reset to maximum value." ); + ShowWarningError( cNumericFieldNames( 4 ) + " was greater than the allowable maximum, reset to maximum value." ); ShowContinueError( "Occurs for " + cCurrentModuleObject + " = " + cAlphaArgs( 1 ) ); } } else { HighTempRadSys( Item ).CombustionEffic = MaxCombustionEffic; // No inefficiency in the heater } - HighTempRadSys( Item ).FracRadiant = rNumericArgs( 3 ); + HighTempRadSys( Item ).FracRadiant = rNumericArgs( 5 ); if ( HighTempRadSys( Item ).FracRadiant < MinFraction ) { HighTempRadSys( Item ).FracRadiant = MinFraction; - ShowWarningError( cNumericFieldNames( 3 ) + " was less than the allowable minimum, reset to minimum value." ); + ShowWarningError( cNumericFieldNames( 5 ) + " was less than the allowable minimum, reset to minimum value." ); ShowContinueError( "Occurs for " + cCurrentModuleObject + " = " + cAlphaArgs( 1 ) ); } if ( HighTempRadSys( Item ).FracRadiant > MaxFraction ) { HighTempRadSys( Item ).FracRadiant = MaxFraction; - ShowWarningError( cNumericFieldNames( 3 ) + " was greater than the allowable maximum, reset to maximum value." ); + ShowWarningError( cNumericFieldNames( 5 ) + " was greater than the allowable maximum, reset to maximum value." ); ShowContinueError( "Occurs for " + cCurrentModuleObject + " = " + cAlphaArgs( 1 ) ); } - HighTempRadSys( Item ).FracLatent = rNumericArgs( 4 ); + HighTempRadSys( Item ).FracLatent = rNumericArgs( 6 ); if ( HighTempRadSys( Item ).FracLatent < MinFraction ) { HighTempRadSys( Item ).FracLatent = MinFraction; - ShowWarningError( cNumericFieldNames( 4 ) + " was less than the allowable minimum, reset to minimum value." ); + ShowWarningError( cNumericFieldNames( 6 ) + " was less than the allowable minimum, reset to minimum value." ); ShowContinueError( "Occurs for " + cCurrentModuleObject + " = " + cAlphaArgs( 1 ) ); } if ( HighTempRadSys( Item ).FracLatent > MaxFraction ) { HighTempRadSys( Item ).FracLatent = MaxFraction; - ShowWarningError( cNumericFieldNames( 4 ) + " was greater than the allowable maximum, reset to maximum value." ); + ShowWarningError( cNumericFieldNames( 6 ) + " was greater than the allowable maximum, reset to maximum value." ); ShowContinueError( "Occurs for " + cCurrentModuleObject + " = " + cAlphaArgs( 1 ) ); } - HighTempRadSys( Item ).FracLost = rNumericArgs( 5 ); + HighTempRadSys( Item ).FracLost = rNumericArgs( 7 ); if ( HighTempRadSys( Item ).FracLost < MinFraction ) { HighTempRadSys( Item ).FracLost = MinFraction; - ShowWarningError( cNumericFieldNames( 5 ) + " was less than the allowable minimum, reset to minimum value." ); + ShowWarningError( cNumericFieldNames( 7 ) + " was less than the allowable minimum, reset to minimum value." ); ShowContinueError( "Occurs for " + cCurrentModuleObject + " = " + cAlphaArgs( 1 ) ); } if ( HighTempRadSys( Item ).FracLost > MaxFraction ) { HighTempRadSys( Item ).FracLost = MaxFraction; - ShowWarningError( cNumericFieldNames( 5 ) + " was greater than the allowable maximum, reset to maximum value." ); + ShowWarningError( cNumericFieldNames( 7 ) + " was greater than the allowable maximum, reset to maximum value." ); ShowContinueError( "Occurs for " + cCurrentModuleObject + " = " + cAlphaArgs( 1 ) ); } @@ -393,54 +470,54 @@ namespace HighTempRadiantSystem { } // Process the temperature control type - if ( SameString( cAlphaArgs( 5 ), cMATControl ) ) { + if ( SameString( cAlphaArgs( 6 ), cMATControl ) ) { HighTempRadSys( Item ).ControlType = MATControl; - } else if ( SameString( cAlphaArgs( 5 ), cMRTControl ) ) { + } else if ( SameString( cAlphaArgs( 6 ), cMRTControl ) ) { HighTempRadSys( Item ).ControlType = MRTControl; - } else if ( SameString( cAlphaArgs( 5 ), cOperativeControl ) ) { + } else if ( SameString( cAlphaArgs( 6 ), cOperativeControl ) ) { HighTempRadSys( Item ).ControlType = OperativeControl; - } else if ( SameString( cAlphaArgs( 5 ), cMATSPControl ) ) { + } else if ( SameString( cAlphaArgs( 6 ), cMATSPControl ) ) { HighTempRadSys( Item ).ControlType = MATSPControl; - } else if ( SameString( cAlphaArgs( 5 ), cMRTSPControl ) ) { + } else if ( SameString( cAlphaArgs( 6 ), cMRTSPControl ) ) { HighTempRadSys( Item ).ControlType = MRTSPControl; - } else if ( SameString( cAlphaArgs( 5 ), cOperativeSPControl ) ) { + } else if ( SameString( cAlphaArgs( 6 ), cOperativeSPControl ) ) { HighTempRadSys( Item ).ControlType = OperativeSPControl; } else { - ShowWarningError( "Invalid " + cAlphaFieldNames( 5 ) + " = " + cAlphaArgs( 5 ) ); + ShowWarningError( "Invalid " + cAlphaFieldNames( 6 ) + " = " + cAlphaArgs( 6 ) ); ShowContinueError( "Occurs for " + cCurrentModuleObject + " = " + cAlphaArgs( 1 ) ); ShowContinueError( "Control reset to OPERATIVE control for this " + cCurrentModuleObject ); HighTempRadSys( Item ).ControlType = OperativeControl; } - HighTempRadSys( Item ).ThrottlRange = rNumericArgs( 6 ); + HighTempRadSys( Item ).ThrottlRange = rNumericArgs( 8 ); if ( HighTempRadSys( Item ).ThrottlRange < MinThrottlingRange ) { HighTempRadSys( Item ).ThrottlRange = 1.0; - ShowWarningError( cNumericFieldNames( 6 ) + " is below the minimum allowed." ); + ShowWarningError( cNumericFieldNames( 8 ) + " is below the minimum allowed." ); ShowContinueError( "Occurs for " + cCurrentModuleObject + " = " + cAlphaArgs( 1 ) ); ShowContinueError( "Thus, the throttling range value has been reset to 1.0" ); } - HighTempRadSys( Item ).SetptSched = cAlphaArgs( 6 ); - HighTempRadSys( Item ).SetptSchedPtr = GetScheduleIndex( cAlphaArgs( 6 ) ); - if ( ( HighTempRadSys( Item ).SetptSchedPtr == 0 ) && ( ! lAlphaFieldBlanks( 6 ) ) ) { - ShowSevereError( cAlphaFieldNames( 6 ) + " not found: " + cAlphaArgs( 6 ) ); + HighTempRadSys( Item ).SetptSched = cAlphaArgs( 7 ); + HighTempRadSys( Item ).SetptSchedPtr = GetScheduleIndex( cAlphaArgs( 7 ) ); + if ( ( HighTempRadSys( Item ).SetptSchedPtr == 0 ) && ( ! lAlphaFieldBlanks( 7 ) ) ) { + ShowSevereError( cAlphaFieldNames( 7 ) + " not found: " + cAlphaArgs( 7 ) ); ShowContinueError( "Occurs for " + cCurrentModuleObject + " = " + cAlphaArgs( 1 ) ); ErrorsFound = true; } - HighTempRadSys( Item ).FracDistribPerson = rNumericArgs( 7 ); + HighTempRadSys( Item ).FracDistribPerson = rNumericArgs( 9 ); if ( HighTempRadSys( Item ).FracDistribPerson < MinFraction ) { HighTempRadSys( Item ).FracDistribPerson = MinFraction; - ShowWarningError( cNumericFieldNames( 7 ) + " was less than the allowable minimum, reset to minimum value." ); + ShowWarningError( cNumericFieldNames( 9 ) + " was less than the allowable minimum, reset to minimum value." ); ShowContinueError( "Occurs for " + cCurrentModuleObject + " = " + cAlphaArgs( 1 ) ); } if ( HighTempRadSys( Item ).FracDistribPerson > MaxFraction ) { HighTempRadSys( Item ).FracDistribPerson = MaxFraction; - ShowWarningError( cNumericFieldNames( 7 ) + " was greater than the allowable maximum, reset to maximum value." ); + ShowWarningError( cNumericFieldNames( 9 ) + " was greater than the allowable maximum, reset to maximum value." ); ShowContinueError( "Occurs for " + cCurrentModuleObject + " = " + cAlphaArgs( 1 ) ); } - HighTempRadSys( Item ).TotSurfToDistrib = NumNumbers - 7; + HighTempRadSys( Item ).TotSurfToDistrib = NumNumbers - 9; // IF (HighTempRadSys(Item)%TotSurfToDistrib > MaxDistribSurfaces) THEN // CALL ShowSevereError('Trying to distribute radiant energy to too many surfaces for heater '//TRIM(cAlphaArgs(1))) // CALL ShowContinueError('Occurs for '//TRIM(cCurrentModuleObject)//' = '//TRIM(cAlphaArgs(1))) @@ -452,9 +529,9 @@ namespace HighTempRadiantSystem { AllFracsSummed = HighTempRadSys( Item ).FracDistribPerson; for ( SurfNum = 1; SurfNum <= HighTempRadSys( Item ).TotSurfToDistrib; ++SurfNum ) { - HighTempRadSys( Item ).SurfaceName( SurfNum ) = cAlphaArgs( SurfNum + 6 ); - HighTempRadSys( Item ).SurfacePtr( SurfNum ) = FindItemInList( cAlphaArgs( SurfNum + 6 ), Surface.Name(), TotSurfaces ); - HighTempRadSys( Item ).FracDistribToSurf( SurfNum ) = rNumericArgs( SurfNum + 7 ); + HighTempRadSys( Item ).SurfaceName( SurfNum ) = cAlphaArgs( SurfNum + 7 ); + HighTempRadSys( Item ).SurfacePtr( SurfNum ) = FindItemInList( cAlphaArgs( SurfNum + 7 ), Surface.Name(), TotSurfaces ); + HighTempRadSys( Item ).FracDistribToSurf( SurfNum ) = rNumericArgs( SurfNum + 9 ); // Error trap for surfaces that do not exist or surfaces not in the zone the radiant heater is in if ( HighTempRadSys( Item ).SurfacePtr( SurfNum ) == 0 ) { ShowSevereError( RoutineName + "Invalid Surface name = " + HighTempRadSys( Item ).SurfaceName( SurfNum ) ); @@ -468,12 +545,12 @@ namespace HighTempRadiantSystem { // Error trap for fractions that are out of range if ( HighTempRadSys( Item ).FracDistribToSurf( SurfNum ) < MinFraction ) { HighTempRadSys( Item ).FracDistribToSurf( SurfNum ) = MinFraction; - ShowWarningError( cNumericFieldNames( SurfNum + 7 ) + " was less than the allowable minimum, reset to minimum value." ); + ShowWarningError( cNumericFieldNames( SurfNum + 9 ) + " was less than the allowable minimum, reset to minimum value." ); ShowContinueError( "Occurs for " + cCurrentModuleObject + " = " + cAlphaArgs( 1 ) ); } if ( HighTempRadSys( Item ).FracDistribToSurf( SurfNum ) > MaxFraction ) { HighTempRadSys( Item ).FracDistribToSurf( SurfNum ) = MaxFraction; - ShowWarningError( cNumericFieldNames( SurfNum + 7 ) + " was greater than the allowable maximum, reset to maximum value." ); + ShowWarningError( cNumericFieldNames( SurfNum + 9 ) + " was greater than the allowable maximum, reset to maximum value." ); ShowContinueError( "Occurs for " + cCurrentModuleObject + " = " + cAlphaArgs( 1 ) ); } @@ -634,6 +711,7 @@ namespace HighTempRadiantSystem { // AUTHOR Fred Buhl // DATE WRITTEN February 2002 // MODIFIED August 2013 Daeho Kang, add component sizing table entries + // July 2014, B. Nigusse, added scalable sizing // RE-ENGINEERED na // PURPOSE OF THIS SUBROUTINE: @@ -648,14 +726,16 @@ namespace HighTempRadiantSystem { // Using/Aliasing using namespace DataSizing; + using ReportSizingManager::RequestSizing; using ReportSizingManager::ReportSizingOutput; using General::RoundSigDigits; + using DataHVACGlobals::HeatingCapacitySizing; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: // SUBROUTINE PARAMETER DEFINITIONS: - // na + static std::string const RoutineName( "SizeHighTempRadiantSystem" ); // INTERFACE BLOCK SPECIFICATIONS // na @@ -668,45 +748,59 @@ namespace HighTempRadiantSystem { Real64 MaxPowerCapacUser; // User hard-sized maximum capacity for reproting bool IsAutoSize; // Indicator to autosizing nominal capacity + std::string CompName; // component name + std::string CompType; // component type + std::string SizingString; // input field sizing description (e.g., Nominal Capacity) + Real64 TempSize; // autosized value of coil input field + int FieldNum = 1; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) + bool PrintFlag; // TRUE when sizing information is reported in the eio file + int CapSizingMethod( 0 ); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) + IsAutoSize = false; MaxPowerCapacDes = 0.0; MaxPowerCapacUser = 0.0; - - if ( HighTempRadSys( RadSysNum ).MaxPowerCapac == AutoSize ) { - IsAutoSize = true; - } + DataScalableCapSizingON = false; if ( CurZoneEqNum > 0 ) { - if ( ! IsAutoSize && ! ZoneSizingRunDone ) { // Simulation should continue - if ( HighTempRadSys( RadSysNum ).MaxPowerCapac > 0.0 ) { - ReportSizingOutput( "ZoneHVAC:HighTemperatureRadiant", HighTempRadSys( RadSysNum ).Name, "User-Specified Maximum Power Input [W]", HighTempRadSys( RadSysNum ).MaxPowerCapac ); - } - } else { // AutoSize or hard-size with sizing run - CheckZoneSizing( "ZoneHVAC:HighTemperatureRadiant", HighTempRadSys( RadSysNum ).Name ); - if ( ( CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor ) >= SmallLoad ) { - MaxPowerCapacDes = ( CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor ) / ( HighTempRadSys( RadSysNum ).FracRadiant + HighTempRadSys( RadSysNum ).FracConvect ); - } else { - MaxPowerCapacDes = 0.0; - } - if ( IsAutoSize ) { - HighTempRadSys( RadSysNum ).MaxPowerCapac = MaxPowerCapacDes; - ReportSizingOutput( "ZoneHVAC:HighTemperatureRadiant", HighTempRadSys( RadSysNum ).Name, "Design Size Maximum Power Input [W]", MaxPowerCapacDes ); - } else { // Hard-size with sizing data - if ( HighTempRadSys( RadSysNum ).MaxPowerCapac > 0.0 && MaxPowerCapacDes > 0.0 ) { - MaxPowerCapacUser = HighTempRadSys( RadSysNum ).MaxPowerCapac; - ReportSizingOutput( "ZoneHVAC:HighTemperatureRadiant", HighTempRadSys( RadSysNum ).Name, "Design Size Maximum Power Input [W]", MaxPowerCapacDes, "User-Specified Maximum Power Input [W]", MaxPowerCapacUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( MaxPowerCapacDes - MaxPowerCapacUser ) / MaxPowerCapacUser ) > AutoVsHardSizingThreshold ) { - ShowMessage( "SizeHighTempRadiantSystem: Potential issue with equipment sizing for " "ZoneHVAC:HighTemperatureRadiant = \"" + HighTempRadSys( RadSysNum ).Name + "\"." ); - ShowContinueError( "User-Specified Maximum Power Input of " + RoundSigDigits( MaxPowerCapacUser, 2 ) + " [W]" ); - ShowContinueError( "differs from Design Size Maximum Power Input of " + RoundSigDigits( MaxPowerCapacDes, 2 ) + " [W]" ); - ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); - ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); - } - } + + CompType = "ZoneHVAC:HighTemperatureRadiant"; + CompName = HighTempRadSys( RadSysNum ).Name; + DataFracOfAutosizedHeatingCapacity = 1.0; + DataZoneNumber = HighTempRadSys( RadSysNum ).ZonePtr; + SizingMethod = HeatingCapacitySizing; + FieldNum = 1; + PrintFlag = true; + SizingString = HighTempRadSysNumericFields(RadSysNum).FieldNames(FieldNum) + " [W]"; + CapSizingMethod = HighTempRadSys( RadSysNum ).HeatingCapMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; + if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { + + if (CapSizingMethod == HeatingDesignCapacity){ + if (HighTempRadSys( RadSysNum ).ScaledHeatingCapacity == AutoSize) { + CheckZoneSizing( CompType, CompName ); + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor / (HighTempRadSys(RadSysNum).FracRadiant + HighTempRadSys(RadSysNum).FracConvect); } + TempSize = HighTempRadSys( RadSysNum ).ScaledHeatingCapacity; + } else if (CapSizingMethod == CapacityPerFloorArea){ + DataHeatingCapPerFloorArea = HighTempRadSys( RadSysNum ).ScaledHeatingCapacity; + TempSize = HighTempRadSys( RadSysNum ).ScaledHeatingCapacity; + DataScalableCapSizingON = true; + } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ + CheckZoneSizing( CompType, CompName ); + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + DataFracOfAutosizedHeatingCapacity = HighTempRadSys(RadSysNum).ScaledHeatingCapacity; + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor / (HighTempRadSys(RadSysNum).FracRadiant + HighTempRadSys(RadSysNum).FracConvect); + TempSize = AutoSize; + DataScalableCapSizingON = true; + } else { + TempSize = HighTempRadSys( RadSysNum ).ScaledHeatingCapacity; } + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); + HighTempRadSys( RadSysNum ).MaxPowerCapac = TempSize; } + } } diff --git a/src/EnergyPlus/HighTempRadiantSystem.hh b/src/EnergyPlus/HighTempRadiantSystem.hh index 5eddc4ee8b5..3926ab70b05 100644 --- a/src/EnergyPlus/HighTempRadiantSystem.hh +++ b/src/EnergyPlus/HighTempRadiantSystem.hh @@ -88,6 +88,9 @@ namespace HighTempRadiantSystem { Real64 GasEnergy; // system gas consumption in Joules Real64 HeatPower; // actual heating sent to zone (convective and radiative) in Watts Real64 HeatEnergy; // actual heating sent to zone (convective and radiative) in Joules + int HeatingCapMethod; // - Method for High Temperature Radiant heating capacity scalable sizing calculation + //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 ScaledHeatingCapacity; // - High Temperature Radiant scaled maximum heating capacity {W} or scalable variable for sizing in {-}, or {W/m2} // Default Constructor HighTempRadiantSystemData() : @@ -110,7 +113,9 @@ namespace HighTempRadiantSystem { GasPower( 0.0 ), GasEnergy( 0.0 ), HeatPower( 0.0 ), - HeatEnergy( 0.0 ) + HeatEnergy( 0.0 ), + HeatingCapMethod( 0 ), + ScaledHeatingCapacity( 0.0 ) {} // Member Constructor @@ -141,7 +146,10 @@ namespace HighTempRadiantSystem { Real64 const GasPower, // system gas consumption in Watts Real64 const GasEnergy, // system gas consumption in Joules Real64 const HeatPower, // actual heating sent to zone (convective and radiative) in Watts - Real64 const HeatEnergy // actual heating sent to zone (convective and radiative) in Joules + Real64 const HeatEnergy, // actual heating sent to zone (convective and radiative) in Joules + int const HeatingCapMethod, // - Method for High Temperature Radiant heating capacity scalable sizing calculation + //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 const ScaledHeatingCapacity // - High Temperature Radiant scaled maximum heating capacity {W} or scalable variable for sizing in {-}, or {W/m2} ) : Name( Name ), SchedName( SchedName ), @@ -169,13 +177,33 @@ namespace HighTempRadiantSystem { GasPower( GasPower ), GasEnergy( GasEnergy ), HeatPower( HeatPower ), - HeatEnergy( HeatEnergy ) + HeatEnergy( HeatEnergy ), + HeatingCapMethod( HeatingCapMethod ), + ScaledHeatingCapacity( ScaledHeatingCapacity ) {} }; + struct HighTempRadSysNumericFieldData + { + // Members + FArray1D_string FieldNames; + + // Default Constructor + HighTempRadSysNumericFieldData() + {} + + // Member Constructor + HighTempRadSysNumericFieldData( + FArray1_string const & FieldNames // Name of the HeatingCoil numeric field descriptions + ) : + FieldNames(FieldNames) + {} + }; + // Object Data extern FArray1D< HighTempRadiantSystemData > HighTempRadSys; + extern FArray1D< HighTempRadSysNumericFieldData > HighTempRadSysNumericFields; // Functions diff --git a/src/EnergyPlus/LowTempRadiantSystem.cc b/src/EnergyPlus/LowTempRadiantSystem.cc index ddd6daa8c12..70cc473f95c 100644 --- a/src/EnergyPlus/LowTempRadiantSystem.cc +++ b/src/EnergyPlus/LowTempRadiantSystem.cc @@ -180,6 +180,8 @@ namespace LowTempRadiantSystem { FArray1D< ConstantFlowRadiantSystemData > CFloRadSys; FArray1D< ElectricRadiantSystemData > ElecRadSys; FArray1D< RadSysTypeData > RadSysTypes; + FArray1D< ElecRadSysNumericFieldData > ElecRadSysNumericFields; + FArray1D< HydronicRadiantSysNumericFieldData > HydronicRadiantSysNumericFields; // Functions @@ -330,7 +332,13 @@ namespace LowTempRadiantSystem { using DataHeatBalance::Zone; using DataHeatBalance::Construct; using DataSizing::AutoSize; + using DataSizing::HeatingDesignCapacity; + using DataSizing::CapacityPerFloorArea; + using DataSizing::FractionOfAutosizedHeatingCapacity; + using DataSizing::CoolingDesignCapacity; + using DataSizing::FractionOfAutosizedCoolingCapacity; using FluidProperties::FindGlycol; + using General::TrimSigDigits; using InputProcessor::GetNumObjectsFound; using InputProcessor::GetObjectItem; using InputProcessor::FindItemInList; @@ -342,6 +350,9 @@ namespace LowTempRadiantSystem { using namespace DataLoopNode; using namespace DataSurfaceLists; + + + // Locals // SUBROUTINE ARGUMENT DEFINITIONS: // na @@ -359,6 +370,11 @@ namespace LowTempRadiantSystem { static std::string const SimpleOff( "SimpleOff" ); static std::string const VariableOff( "VariableOff" ); + int const iHeatCAPMAlphaNum( 5 ); // get input index to Low Temperature Radiant system heating capacity sizing method + int const iHeatDesignCapacityNumericNum( 1 ); // get input index to Low Temperature Radiant system electric heating capacity + int const iHeatCapacityPerFloorAreaNumericNum( 2 ); // get input index to Low Temperature Radiant system electric heating capacity per floor area sizing + int const iHeatFracOfAutosizedCapacityNumericNum( 3 ); // get input index to Low Temperature Radiant system electric heating capacity sizing as fraction of autozized heating capacity + // INTERFACE BLOCK SPECIFICATIONS // na @@ -457,6 +473,8 @@ namespace LowTempRadiantSystem { } ElecRadSys.allocate( NumOfElecLowTempRadSys ); + ElecRadSysNumericFields.allocate( NumOfElecLowTempRadSys ); + HydronicRadiantSysNumericFields.allocate( NumOfHydrLowTempRadSys ); // make sure data is gotten for surface lists BaseNum = GetNumberOfSurfaceLists(); @@ -468,6 +486,11 @@ namespace LowTempRadiantSystem { GetObjectItem( CurrentModuleObject, Item, Alphas, NumAlphas, Numbers, NumNumbers, IOStatus, lNumericBlanks, lAlphaBlanks, cAlphaFields, cNumericFields ); + + HydronicRadiantSysNumericFields( Item ).FieldNames.allocate( NumNumbers ); + HydronicRadiantSysNumericFields( Item ).FieldNames = ""; + HydronicRadiantSysNumericFields( Item ).FieldNames = cNumericFields; + IsNotOK = false; IsBlank = false; VerifyName( Alphas( 1 ), RadSysTypes.Name(), BaseNum, IsNotOK, IsBlank, CurrentModuleObject + " Name" ); @@ -589,87 +612,203 @@ namespace LowTempRadiantSystem { HydrRadSys( Item ).ControlType = MATControl; } + // Determine Low Temp Radiant heating design capacity sizing method + if ( SameString( Alphas( 6 ), "HeatingDesignCapacity" ) ) { + HydrRadSys( Item ).HeatingCapMethod = HeatingDesignCapacity; + if ( ! lNumericBlanks( 3 ) ) { + HydrRadSys( Item ).ScaledHeatingCapacity = Numbers( 3 ); + if (HydrRadSys( Item ).ScaledHeatingCapacity < 0.0 && HydrRadSys( Item ).ScaledHeatingCapacity != AutoSize) { + ShowSevereError( CurrentModuleObject + " = " + HydrRadSys( Item ).Name ); + ShowContinueError( "Illegal " + cNumericFields( 3 ) + " = " + TrimSigDigits( Numbers( 3 ), 7)); + ErrorsFound = true; + } + } else { + ShowSevereError(CurrentModuleObject + " = " + HydrRadSys(Item).Name); + ShowContinueError("Input for " + cAlphaFields( 6 ) + " = " + Alphas( 6 )); + ShowContinueError("Blank field not allowed for " + cNumericFields( 3 )); + ErrorsFound = true; + } + } else if ( SameString( Alphas( 6 ), "CapacityPerFloorArea" ) ) { + HydrRadSys(Item).HeatingCapMethod = CapacityPerFloorArea; + if ( ! lNumericBlanks( 4 )) { + HydrRadSys( Item ).ScaledHeatingCapacity = Numbers( 4 ); + if ( HydrRadSys( Item ).ScaledHeatingCapacity <= 0.0 ) { + ShowSevereError( CurrentModuleObject + " = " + HydrRadSys( Item ).Name ); + ShowContinueError( "Input for " + cAlphaFields( 6 ) + " = " + Alphas( 6 )); + ShowContinueError( "Illegal " + cNumericFields( 4 ) + " = " + TrimSigDigits( Numbers( 4 ), 7)); + ErrorsFound = true; + } else if ( HydrRadSys( Item ).ScaledHeatingCapacity == AutoSize) { + ShowSevereError( CurrentModuleObject + " = " + HydrRadSys( Item ).Name ); + ShowContinueError("Input for " + cAlphaFields( 6 ) + " = " + Alphas( 6 )); + ShowContinueError("Illegal " + cNumericFields( 4 ) + " = Autosize"); + ErrorsFound = true; + } + } else { + ShowSevereError(CurrentModuleObject + " = " + HydrRadSys(Item).Name); + ShowContinueError("Input for " + cAlphaFields( 6 ) + " = " + Alphas( 6 )); + ShowContinueError("Blank field not allowed for " + cNumericFields( 4 )); + ErrorsFound = true; + } + } else if ( SameString( Alphas( 6 ), "FractionOfAutosizedHeatingCapacity" ) ){ + HydrRadSys( Item ).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; + if ( ! lNumericBlanks( 5 ) ) { + HydrRadSys( Item ).ScaledHeatingCapacity = Numbers( 5 ); + if (HydrRadSys( Item ).ScaledHeatingCapacity < 0.0) { + ShowSevereError( CurrentModuleObject + " = " + HydrRadSys( Item ).Name ); + ShowContinueError( "Illegal " + cNumericFields( 5 ) + " = " + TrimSigDigits( Numbers( 5 ), 7)); + ErrorsFound = true; + } + } else { + ShowSevereError(CurrentModuleObject + " = " + HydrRadSys( Item ).Name); + ShowContinueError("Input for " + cAlphaFields( 6 ) + " = " + Alphas( 6 )); + ShowContinueError("Blank field not allowed for " + cNumericFields( 5 )); + ErrorsFound = true; + } + } else { + ShowSevereError(CurrentModuleObject + " = " + HydrRadSys(Item).Name); + ShowContinueError("Illegal " + cAlphaFields( 6 ) + " = " + Alphas( 6 )); + ErrorsFound = true; + } + // Heating user input data - HydrRadSys( Item ).WaterVolFlowMaxHeat = Numbers( 3 ); + HydrRadSys( Item ).WaterVolFlowMaxHeat = Numbers( 6 ); - HydrRadSys( Item ).HotWaterInNode = GetOnlySingleNode( Alphas( 6 ), ErrorsFound, CurrentModuleObject, Alphas( 1 ), NodeType_Water, NodeConnectionType_Inlet, 1, ObjectIsNotParent ); + HydrRadSys( Item ).HotWaterInNode = GetOnlySingleNode( Alphas( 7 ), ErrorsFound, CurrentModuleObject, Alphas( 1 ), NodeType_Water, NodeConnectionType_Inlet, 1, ObjectIsNotParent ); - HydrRadSys( Item ).HotWaterOutNode = GetOnlySingleNode( Alphas( 7 ), ErrorsFound, CurrentModuleObject, Alphas( 1 ), NodeType_Water, NodeConnectionType_Outlet, 1, ObjectIsNotParent ); + HydrRadSys( Item ).HotWaterOutNode = GetOnlySingleNode( Alphas( 8 ), ErrorsFound, CurrentModuleObject, Alphas( 1 ), NodeType_Water, NodeConnectionType_Outlet, 1, ObjectIsNotParent ); - if ( ( ! lAlphaBlanks( 6 ) ) || ( ! lAlphaBlanks( 7 ) ) ) { - TestCompSet( CurrentModuleObject, Alphas( 1 ), Alphas( 6 ), Alphas( 7 ), "Hot Water Nodes" ); + if ( ( ! lAlphaBlanks( 7 ) ) || ( ! lAlphaBlanks( 8 ) ) ) { + TestCompSet( CurrentModuleObject, Alphas( 1 ), Alphas( 7 ), Alphas( 8 ), "Hot Water Nodes" ); } - HydrRadSys( Item ).HotThrottlRange = Numbers( 4 ); + HydrRadSys( Item ).HotThrottlRange = Numbers( 7 ); if ( HydrRadSys( Item ).HotThrottlRange < MinThrottlingRange ) { ShowWarningError( "ZoneHVAC:LowTemperatureRadiant:VariableFlow: Heating throttling range too small, reset to 0.5" ); ShowContinueError( "Occurs in Radiant System=" + HydrRadSys( Item ).Name ); HydrRadSys( Item ).HotThrottlRange = MinThrottlingRange; } - HydrRadSys( Item ).HotSetptSched = Alphas( 8 ); - HydrRadSys( Item ).HotSetptSchedPtr = GetScheduleIndex( Alphas( 8 ) ); - if ( ( HydrRadSys( Item ).HotSetptSchedPtr == 0 ) && ( ! lAlphaBlanks( 8 ) ) ) { - ShowSevereError( cAlphaFields( 8 ) + " not found: " + Alphas( 8 ) ); + HydrRadSys( Item ).HotSetptSched = Alphas( 9 ); + HydrRadSys( Item ).HotSetptSchedPtr = GetScheduleIndex( Alphas( 9 ) ); + if ( ( HydrRadSys( Item ).HotSetptSchedPtr == 0 ) && ( ! lAlphaBlanks( 9 ) ) ) { + ShowSevereError( cAlphaFields( 9 ) + " not found: " + Alphas( 9 ) ); ShowContinueError( "Occurs in " + CurrentModuleObject + " = " + Alphas( 1 ) ); ErrorsFound = true; } - if ( ( HydrRadSys( Item ).WaterVolFlowMaxHeat == AutoSize ) && ( lAlphaBlanks( 6 ) || lAlphaBlanks( 7 ) || lAlphaBlanks( 8 ) || ( HydrRadSys( Item ).HotWaterInNode <= 0 ) || ( HydrRadSys( Item ).HotWaterOutNode <= 0 ) || ( HydrRadSys( Item ).HotSetptSchedPtr == 0 ) ) ) { + if ( ( HydrRadSys( Item ).WaterVolFlowMaxHeat == AutoSize ) && ( lAlphaBlanks( 7 ) || lAlphaBlanks( 8 ) || lAlphaBlanks( 9 ) || ( HydrRadSys( Item ).HotWaterInNode <= 0 ) || ( HydrRadSys( Item ).HotWaterOutNode <= 0 ) || ( HydrRadSys( Item ).HotSetptSchedPtr == 0 ) ) ) { ShowSevereError( "Hydronic radiant systems may not be autosized without specification of nodes or schedules." ); ShowContinueError( "Occurs in " + CurrentModuleObject + " (heating input) = " + Alphas( 1 ) ); ErrorsFound = true; } + // Determine Low Temp Radiant cooling design capacity sizing method + if (SameString( Alphas( 10 ), "CoolingDesignCapacity" ) ) { + HydrRadSys( Item ).CoolingCapMethod = CoolingDesignCapacity; + if ( ! lNumericBlanks( 8 ) ) { + HydrRadSys( Item ).ScaledCoolingCapacity = Numbers( 8 ); + if (HydrRadSys( Item ).ScaledCoolingCapacity < 0.0 && HydrRadSys( Item ).ScaledCoolingCapacity != AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + HydrRadSys( Item ).Name ); + ShowContinueError( "Illegal " + cNumericFields( 8 ) + " = " + TrimSigDigits( Numbers( 8 ), 7 ) ); + ErrorsFound = true; + } + } else { + ShowSevereError( CurrentModuleObject + " = " + HydrRadSys( Item ).Name); + ShowContinueError("Input for " + cAlphaFields( 10 ) + " = " + Alphas( 10 ) ); + ShowContinueError("Blank field not allowed for " + cNumericFields( 8 ) ); + ErrorsFound = true; + } + } else if (SameString( Alphas( 10 ), "CapacityPerFloorArea")) { + HydrRadSys( Item ).CoolingCapMethod = CapacityPerFloorArea; + if ( ! lNumericBlanks( 9 ) ) { + HydrRadSys( Item ).ScaledCoolingCapacity = Numbers( 9 ); + if ( HydrRadSys( Item ).CoolingCapMethod <= 0.0) { + ShowSevereError( CurrentModuleObject + " = " + HydrRadSys( Item ).Name ); + ShowContinueError( "Input for " + cAlphaFields( 10 ) + " = " + Alphas( 10 ) ); + ShowContinueError( "Illegal " + cNumericFields( 9 ) + " = " + TrimSigDigits( Numbers( 9 ), 7 ) ); + ErrorsFound = true; + } else if ( HydrRadSys( Item ).ScaledCoolingCapacity == AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + HydrRadSys( Item ).Name ); + ShowContinueError( "Input for " + cAlphaFields( 10 ) + " = " + Alphas( 10 )); + ShowContinueError( "Illegal " + cNumericFields( 9 ) + " = Autosize" ); + ErrorsFound = true; + } + } else { + ShowSevereError( CurrentModuleObject + " = " + HydrRadSys(Item).Name ); + ShowContinueError( "Input for " + cAlphaFields( 10 ) + " = " + Alphas( 10 )); + ShowContinueError( "Blank field not allowed for " + cNumericFields( 9 ) ); + ErrorsFound = true; + } + } else if (SameString( Alphas( 10 ), "FractionOfAutosizedCoolingCapacity" ) ){ + HydrRadSys( Item ).CoolingCapMethod = FractionOfAutosizedCoolingCapacity; + if ( ! lNumericBlanks( 10 ) ) { + HydrRadSys( Item ).ScaledCoolingCapacity = Numbers( 10 ); + if (HydrRadSys( Item ).ScaledCoolingCapacity < 0.0 ) { + ShowSevereError( CurrentModuleObject + " = " + HydrRadSys( Item ).Name ); + ShowContinueError( "Illegal " + cNumericFields( 10 ) + " = " + TrimSigDigits( Numbers( 10 ), 7 ) ); + ErrorsFound = true; + } + } else { + ShowSevereError( CurrentModuleObject + " = " + HydrRadSys( Item ).Name ); + ShowContinueError( "Input for " + cAlphaFields( 10 ) + " = " + Alphas( 10 ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFields( 10 ) ); + ErrorsFound = true; + } + } else { + ShowSevereError( CurrentModuleObject + " = " + HydrRadSys( Item ).Name ); + ShowContinueError( "Illegal " + cAlphaFields( 10 ) + " = " + Alphas( 10 ) ); + ErrorsFound = true; + } + // Cooling user input data - HydrRadSys( Item ).WaterVolFlowMaxCool = Numbers( 5 ); + HydrRadSys( Item ).WaterVolFlowMaxCool = Numbers( 11 ); - HydrRadSys( Item ).ColdWaterInNode = GetOnlySingleNode( Alphas( 9 ), ErrorsFound, CurrentModuleObject, Alphas( 1 ), NodeType_Water, NodeConnectionType_Inlet, 2, ObjectIsNotParent ); + HydrRadSys( Item ).ColdWaterInNode = GetOnlySingleNode( Alphas( 11 ), ErrorsFound, CurrentModuleObject, Alphas( 1 ), NodeType_Water, NodeConnectionType_Inlet, 2, ObjectIsNotParent ); - HydrRadSys( Item ).ColdWaterOutNode = GetOnlySingleNode( Alphas( 10 ), ErrorsFound, CurrentModuleObject, Alphas( 1 ), NodeType_Water, NodeConnectionType_Outlet, 2, ObjectIsNotParent ); + HydrRadSys( Item ).ColdWaterOutNode = GetOnlySingleNode( Alphas( 12 ), ErrorsFound, CurrentModuleObject, Alphas( 1 ), NodeType_Water, NodeConnectionType_Outlet, 2, ObjectIsNotParent ); - if ( ( ! lAlphaBlanks( 9 ) ) || ( ! lAlphaBlanks( 10 ) ) ) { - TestCompSet( CurrentModuleObject, Alphas( 1 ), Alphas( 9 ), Alphas( 10 ), "Chilled Water Nodes" ); + if ( ( ! lAlphaBlanks( 11 ) ) || ( ! lAlphaBlanks( 12 ) ) ) { + TestCompSet( CurrentModuleObject, Alphas( 1 ), Alphas( 11 ), Alphas( 12 ), "Chilled Water Nodes" ); } - HydrRadSys( Item ).ColdThrottlRange = Numbers( 6 ); + HydrRadSys( Item ).ColdThrottlRange = Numbers( 12 ); if ( HydrRadSys( Item ).ColdThrottlRange < MinThrottlingRange ) { ShowWarningError( "ZoneHVAC:LowTemperatureRadiant:VariableFlow: Cooling throttling range too small, reset to 0.5" ); ShowContinueError( "Occurs in Radiant System=" + HydrRadSys( Item ).Name ); HydrRadSys( Item ).ColdThrottlRange = MinThrottlingRange; } - HydrRadSys( Item ).ColdSetptSched = Alphas( 11 ); - HydrRadSys( Item ).ColdSetptSchedPtr = GetScheduleIndex( Alphas( 11 ) ); - if ( ( HydrRadSys( Item ).ColdSetptSchedPtr == 0 ) && ( ! lAlphaBlanks( 11 ) ) ) { - ShowSevereError( cAlphaFields( 11 ) + " not found: " + Alphas( 11 ) ); + HydrRadSys( Item ).ColdSetptSched = Alphas( 13 ); + HydrRadSys( Item ).ColdSetptSchedPtr = GetScheduleIndex( Alphas( 13 ) ); + if ( ( HydrRadSys( Item ).ColdSetptSchedPtr == 0 ) && ( ! lAlphaBlanks( 13 ) ) ) { + ShowSevereError( cAlphaFields( 13 ) + " not found: " + Alphas( 13 ) ); ShowContinueError( "Occurs in " + CurrentModuleObject + " = " + Alphas( 1 ) ); ErrorsFound = true; } - if ( SameString( Alphas( 12 ), Off ) ) { + if ( SameString( Alphas( 14 ), Off ) ) { HydrRadSys( Item ).CondCtrlType = CondCtrlNone; - } else if ( SameString( Alphas( 12 ), SimpleOff ) ) { + } else if ( SameString( Alphas( 14 ), SimpleOff ) ) { HydrRadSys( Item ).CondCtrlType = CondCtrlSimpleOff; - } else if ( SameString( Alphas( 12 ), VariableOff ) ) { + } else if ( SameString( Alphas( 14 ), VariableOff ) ) { HydrRadSys( Item ).CondCtrlType = CondCtrlVariedOff; } else { HydrRadSys( Item ).CondCtrlType = CondCtrlSimpleOff; } - HydrRadSys( Item ).CondDewPtDeltaT = Numbers( 7 ); + HydrRadSys( Item ).CondDewPtDeltaT = Numbers( 13 ); - if ( SameString( Alphas( 13 ), OnePerSurf ) ) { + if ( SameString( Alphas( 15 ), OnePerSurf ) ) { HydrRadSys( Item ).NumCircCalcMethod = OneCircuit; - } else if ( SameString( Alphas( 13 ), CalcFromLength ) ) { + } else if ( SameString( Alphas( 15 ), CalcFromLength ) ) { HydrRadSys( Item ).NumCircCalcMethod = CalculateFromLength; } else { HydrRadSys( Item ).NumCircCalcMethod = OneCircuit; } - HydrRadSys( Item ).CircLength = Numbers( 8 ); + HydrRadSys( Item ).CircLength = Numbers( 14 ); - if ( ( HydrRadSys( Item ).WaterVolFlowMaxCool == AutoSize ) && ( lAlphaBlanks( 9 ) || lAlphaBlanks( 10 ) || lAlphaBlanks( 11 ) || ( HydrRadSys( Item ).ColdWaterInNode <= 0 ) || ( HydrRadSys( Item ).ColdWaterOutNode <= 0 ) || ( HydrRadSys( Item ).ColdSetptSchedPtr == 0 ) ) ) { + if ( ( HydrRadSys( Item ).WaterVolFlowMaxCool == AutoSize ) && ( lAlphaBlanks( 11 ) || lAlphaBlanks( 12 ) || lAlphaBlanks( 13 ) || ( HydrRadSys( Item ).ColdWaterInNode <= 0 ) || ( HydrRadSys( Item ).ColdWaterOutNode <= 0 ) || ( HydrRadSys( Item ).ColdSetptSchedPtr == 0 ) ) ) { ShowSevereError( "Hydronic radiant systems may not be autosized without specification of nodes or schedules" ); ShowContinueError( "Occurs in " + CurrentModuleObject + " (cooling input) =" + Alphas( 1 ) ); ErrorsFound = true; @@ -936,6 +1075,11 @@ namespace LowTempRadiantSystem { GetObjectItem( CurrentModuleObject, Item, Alphas, NumAlphas, Numbers, NumNumbers, IOStatus, lNumericBlanks, lAlphaBlanks, cAlphaFields, cNumericFields ); + + ElecRadSysNumericFields( Item ).FieldNames.allocate( NumNumbers ); + ElecRadSysNumericFields( Item ).FieldNames = ""; + ElecRadSysNumericFields( Item ).FieldNames = cNumericFields; + IsNotOK = false; IsBlank = false; VerifyName( Alphas( 1 ), RadSysTypes.Name(), BaseNum, IsNotOK, IsBlank, CurrentModuleObject + " Name" ); @@ -1030,41 +1174,97 @@ namespace LowTempRadiantSystem { } // Heating user input data - ElecRadSys( Item ).MaxElecPower = Numbers( 1 ); + // Determine Low Temp Radiant heating design capacity sizing method + if (SameString( Alphas( iHeatCAPMAlphaNum ), "HeatingDesignCapacity")) { + ElecRadSys( Item ).HeatingCapMethod = HeatingDesignCapacity; + if (!lNumericBlanks(iHeatDesignCapacityNumericNum)) { + ElecRadSys( Item ).ScaledHeatingCapacity = Numbers(iHeatDesignCapacityNumericNum); + if (ElecRadSys( Item ).ScaledHeatingCapacity < 0.0 && ElecRadSys( Item ).ScaledHeatingCapacity != AutoSize) { + ShowSevereError(CurrentModuleObject + " = " + ElecRadSys( Item ).Name); + ShowContinueError("Illegal " + cNumericFields(iHeatDesignCapacityNumericNum) + " = " + TrimSigDigits(Numbers(iHeatDesignCapacityNumericNum), 7)); + ErrorsFound = true; + } + } else { + ShowSevereError(CurrentModuleObject + " = " + ElecRadSys(Item).Name); + ShowContinueError("Input for " + cAlphaFields(iHeatCAPMAlphaNum) + " = " + Alphas(iHeatCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFields(iHeatDesignCapacityNumericNum)); + ErrorsFound = true; + } + } else if (SameString(Alphas(iHeatCAPMAlphaNum), "CapacityPerFloorArea")) { + ElecRadSys(Item).HeatingCapMethod = CapacityPerFloorArea; + if (!lNumericBlanks(iHeatCapacityPerFloorAreaNumericNum)) { + ElecRadSys(Item).ScaledHeatingCapacity = Numbers(iHeatCapacityPerFloorAreaNumericNum); + if (ElecRadSys(Item).ScaledHeatingCapacity <= 0.0) { + ShowSevereError(CurrentModuleObject + " = " + ElecRadSys(Item).Name); + ShowContinueError("Input for " + cAlphaFields(iHeatCAPMAlphaNum) + " = " + Alphas(iHeatCAPMAlphaNum)); + ShowContinueError("Illegal " + cNumericFields(iHeatCapacityPerFloorAreaNumericNum) + " = " + TrimSigDigits(Numbers(iHeatCapacityPerFloorAreaNumericNum), 7)); + ErrorsFound = true; + } else if (ElecRadSys(Item).ScaledHeatingCapacity == AutoSize) { + ShowSevereError(CurrentModuleObject + " = " + ElecRadSys(Item).Name); + ShowContinueError("Input for " + cAlphaFields(iHeatCAPMAlphaNum) + " = " + Alphas(iHeatCAPMAlphaNum)); + ShowContinueError("Illegal " + cNumericFields(iHeatCapacityPerFloorAreaNumericNum) + " = Autosize"); + ErrorsFound = true; + } + } else { + ShowSevereError(CurrentModuleObject + " = " + ElecRadSys(Item).Name); + ShowContinueError("Input for " + cAlphaFields(iHeatCAPMAlphaNum) + " = " + Alphas(iHeatCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFields(iHeatCapacityPerFloorAreaNumericNum)); + ErrorsFound = true; + } + } else if (SameString(Alphas(iHeatCAPMAlphaNum), "FractionOfAutosizedHeatingCapacity")){ + ElecRadSys(Item).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; + if (!lNumericBlanks(iHeatFracOfAutosizedCapacityNumericNum)) { + ElecRadSys(Item).ScaledHeatingCapacity = Numbers(iHeatFracOfAutosizedCapacityNumericNum); + if (ElecRadSys(Item).ScaledHeatingCapacity < 0.0) { + ShowSevereError(CurrentModuleObject + " = " + ElecRadSys(Item).Name); + ShowContinueError("Illegal " + cNumericFields(iHeatFracOfAutosizedCapacityNumericNum) + " = " + TrimSigDigits(Numbers(iHeatFracOfAutosizedCapacityNumericNum), 7)); + ErrorsFound = true; + } + } else { + ShowSevereError(CurrentModuleObject + " = " + ElecRadSys(Item).Name); + ShowContinueError("Input for " + cAlphaFields(iHeatCAPMAlphaNum) + " = " + Alphas(iHeatCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFields(iHeatFracOfAutosizedCapacityNumericNum)); + ErrorsFound = true; + } + } else { + ShowSevereError(CurrentModuleObject + " = " + ElecRadSys(Item).Name); + ShowContinueError("Illegal " + cAlphaFields(iHeatCAPMAlphaNum) + " = " + Alphas(iHeatCAPMAlphaNum)); + ErrorsFound = true; + } // Process the temperature control type - if ( SameString( Alphas( 5 ), MeanAirTemperature ) ) { + if ( SameString( Alphas( 6 ), MeanAirTemperature ) ) { ElecRadSys( Item ).ControlType = MATControl; - } else if ( SameString( Alphas( 5 ), MeanRadiantTemperature ) ) { + } else if ( SameString( Alphas( 6 ), MeanRadiantTemperature ) ) { ElecRadSys( Item ).ControlType = MRTControl; - } else if ( SameString( Alphas( 5 ), OperativeTemperature ) ) { + } else if ( SameString( Alphas( 6 ), OperativeTemperature ) ) { ElecRadSys( Item ).ControlType = OperativeControl; - } else if ( SameString( Alphas( 5 ), OutsideAirDryBulbTemperature ) ) { + } else if ( SameString( Alphas( 6 ), OutsideAirDryBulbTemperature ) ) { ElecRadSys( Item ).ControlType = ODBControl; - } else if ( SameString( Alphas( 5 ), OutsideAirWetBulbTemperature ) ) { + } else if ( SameString( Alphas( 6 ), OutsideAirWetBulbTemperature ) ) { ElecRadSys( Item ).ControlType = OWBControl; } else { - ShowWarningError( "Invalid " + cAlphaFields( 5 ) + " = " + Alphas( 5 ) ); + ShowWarningError( "Invalid " + cAlphaFields( 6 ) + " = " + Alphas( 6 ) ); ShowContinueError( "Occurs in " + CurrentModuleObject + " = " + Alphas( 1 ) ); ShowContinueError( "Control reset to MAT control for this Electric Radiant System." ); ElecRadSys( Item ).ControlType = MATControl; } - ElecRadSys( Item ).ThrottlRange = Numbers( 2 ); + ElecRadSys( Item ).ThrottlRange = Numbers( 4 ); if ( ElecRadSys( Item ).ThrottlRange < MinThrottlingRange ) { - ShowWarningError( cNumericFields( 2 ) + " out of range, reset to 0.5" ); + ShowWarningError( cNumericFields( 4 ) + " out of range, reset to 0.5" ); ShowContinueError( "Occurs in " + CurrentModuleObject + " = " + Alphas( 1 ) ); ElecRadSys( Item ).ThrottlRange = MinThrottlingRange; } - ElecRadSys( Item ).SetptSched = Alphas( 6 ); - ElecRadSys( Item ).SetptSchedPtr = GetScheduleIndex( Alphas( 6 ) ); + ElecRadSys( Item ).SetptSched = Alphas( 7 ); + ElecRadSys( Item ).SetptSchedPtr = GetScheduleIndex( Alphas( 7 ) ); if ( ElecRadSys( Item ).SetptSchedPtr == 0 ) { - if ( lAlphaBlanks( 6 ) ) { - ShowSevereError( cAlphaFields( 6 ) + " must be input, missing for " + Alphas( 1 ) ); + if ( lAlphaBlanks( 7 ) ) { + ShowSevereError( cAlphaFields( 7 ) + " must be input, missing for " + Alphas( 1 ) ); } else { - ShowSevereError( cAlphaFields( 6 ) + " not found for " + Alphas( 1 ) ); - ShowContinueError( "Incorrect " + cAlphaFields( 6 ) + " = " + Alphas( 6 ) ); + ShowSevereError( cAlphaFields( 7 ) + " not found for " + Alphas( 1 ) ); + ShowContinueError( "Incorrect " + cAlphaFields( 7 ) + " = " + Alphas( 7 ) ); } ErrorsFound = true; } @@ -1695,6 +1895,7 @@ namespace LowTempRadiantSystem { // AUTHOR Fred Buhl // DATE WRITTEN February 2002 // MODIFIED August 2013 Daeho Kang, add component sizing table entries + // August 2014 Bereket Nigusse, added scalable sizing // RE-ENGINEERED na // PURPOSE OF THIS SUBROUTINE: @@ -1712,12 +1913,15 @@ namespace LowTempRadiantSystem { // Using/Aliasing using namespace DataSizing; using PlantUtilities::RegisterPlantCompDesignFlow; + using ReportSizingManager::RequestSizing; using ReportSizingManager::ReportSizingOutput; using FluidProperties::GetDensityGlycol; using FluidProperties::GetSpecificHeatGlycol; using DataPlant::PlantLoop; using DataPlant::MyPlantSizingIndex; using General::RoundSigDigits; + using DataHVACGlobals::HeatingCapacitySizing; + using DataHVACGlobals::CoolingCapacitySizing; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -1749,6 +1953,16 @@ namespace LowTempRadiantSystem { Real64 TubeLengthDes; // Design tube length for reproting Real64 TubeLengthUser; // User hard-sized tube length for reproting + std::string CompName; // component name + std::string CompType; // component type + std::string SizingString; // input field sizing description (e.g., Nominal Capacity) + Real64 TempSize; // autosized value of coil input field + int FieldNum = 1; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (e.g. CoolingCapacitySizing, HeatingCapacitySizing) + bool PrintFlag; // TRUE when sizing information is reported in the eio file + int CapSizingMethod( 0 ); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) + Real64 DesCoilLoad; // design autosized or user specified capacity + ErrorsFound = false; IsAutoSize = false; MaxElecPowerDes = 0.0; @@ -1759,6 +1973,7 @@ namespace LowTempRadiantSystem { WaterVolFlowMaxCoolUser = 0.0; TubeLengthDes = 0.0; TubeLengthUser = 0.0; + DataScalableCapSizingON = false; if ( SystemType == ElectricSystem ) { @@ -1767,36 +1982,44 @@ namespace LowTempRadiantSystem { } if ( CurZoneEqNum > 0 ) { - if ( ! IsAutoSize && ! ZoneSizingRunDone ) { // simulation should continue - if ( ElecRadSys( RadSysNum ).MaxElecPower > 0.0 ) { - ReportSizingOutput( "ZoneHVAC:LowTemperatureRadiant:Electric", ElecRadSys( RadSysNum ).Name, "User-Specified Maximum Electrical Power to Panel [W]", ElecRadSys( RadSysNum ).MaxElecPower ); - } - } else { // Autosize or hard-size with sizing run - CheckZoneSizing( "ZoneHVAC:LowTemperatureRadiant:Electric", ElecRadSys( RadSysNum ).Name ); - if ( ( CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor ) >= SmallLoad ) { - MaxElecPowerDes = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; - } else { - MaxElecPowerDes = 0.0; - } - if ( IsAutoSize ) { - ElecRadSys( RadSysNum ).MaxElecPower = MaxElecPowerDes; - ReportSizingOutput( "ZoneHVAC:LowTemperatureRadiant:Electric", ElecRadSys( RadSysNum ).Name, "Design Size Maximum Electrical Power to Panel [W]", MaxElecPowerDes ); - } else { // Hard-size with sizing data - if ( ElecRadSys( RadSysNum ).MaxElecPower > 0.0 && MaxElecPowerDes > 0.0 ) { - MaxElecPowerUser = ElecRadSys( RadSysNum ).MaxElecPower; - ReportSizingOutput( "ZoneHVAC:LowTemperatureRadiant:Electric", ElecRadSys( RadSysNum ).Name, "Design Size Maximum Electrical Power to Panel [W]", MaxElecPowerDes, "User-Specified Maximum Electrical Power to Panel [W]", MaxElecPowerUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( MaxElecPowerDes - MaxElecPowerUser ) / MaxElecPowerUser ) > AutoVsHardSizingThreshold ) { - ShowMessage( "SizeLowTempRadiantSystem: Potential issue with equipment sizing for " "ZoneHVAC:LowTemperatureRadiant:Electric = \" " + ElecRadSys( RadSysNum ).Name + "\"." ); // Fix from LL: HydrRadSys->ElecRadSys - ShowContinueError( "User-Specified Maximum Electrical Power to Panel of " + RoundSigDigits( MaxElecPowerUser, 2 ) + " [W]" ); - ShowContinueError( "differs from Design Size Maximum Electrical Power to Panel of " + RoundSigDigits( MaxElecPowerDes, 2 ) + " [W]" ); - ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); - ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); - } - } + + CompType = "ZoneHVAC:LowTemperatureRadiant:Electric"; + CompName = ElecRadSys(RadSysNum).Name; + DataFracOfAutosizedHeatingCapacity = 1.0; + DataZoneNumber = ElecRadSys(RadSysNum).ZonePtr; + SizingMethod = HeatingCapacitySizing; + FieldNum = 1; + PrintFlag = true; + SizingString = ElecRadSysNumericFields(RadSysNum).FieldNames(FieldNum) + " [W]"; + CapSizingMethod = ElecRadSys(RadSysNum).HeatingCapMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; + if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { + + if (CapSizingMethod == HeatingDesignCapacity){ + if (ElecRadSys(RadSysNum).ScaledHeatingCapacity == AutoSize) { + CheckZoneSizing(CompType, CompName); + ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; } + TempSize = ElecRadSys(RadSysNum).ScaledHeatingCapacity; + + } else if (CapSizingMethod == CapacityPerFloorArea){ + DataHeatingCapPerFloorArea = ElecRadSys(RadSysNum).ScaledHeatingCapacity; + TempSize = ElecRadSys(RadSysNum).ScaledHeatingCapacity; + DataScalableCapSizingON = true; + } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ + CheckZoneSizing(CompType, CompName); + ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + DataFracOfAutosizedHeatingCapacity = ElecRadSys(RadSysNum).ScaledHeatingCapacity; + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + TempSize = AutoSize; + DataScalableCapSizingON = true; + } else { + TempSize = ElecRadSys(RadSysNum).ScaledHeatingCapacity; } - } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + ElecRadSys(RadSysNum).MaxElecPower = TempSize; + } } } @@ -1817,15 +2040,56 @@ namespace LowTempRadiantSystem { if ( IsAutoSize ) { PltSizHeatNum = MyPlantSizingIndex( "ZoneHVAC:LowTemperatureRadiant:VariableFlow", HydrRadSys( RadSysNum ).Name, HydrRadSys( RadSysNum ).HotWaterInNode, HydrRadSys( RadSysNum ).HotWaterOutNode, ErrorsFound ); if ( PltSizHeatNum > 0 ) { - if ( ( CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor ) >= SmallLoad ) { + + CompType = "ZoneHVAC:LowTemperatureRadiant:VariableFlow"; + CompName = HydrRadSys( RadSysNum ).Name; + DataFracOfAutosizedHeatingCapacity = 1.0; + DataZoneNumber = HydrRadSys( RadSysNum ).ZonePtr; + SizingMethod = HeatingCapacitySizing; + FieldNum = 3; + PrintFlag = false; + SizingString = HydronicRadiantSysNumericFields( RadSysNum ).FieldNames( FieldNum ) + " [W]"; + CapSizingMethod = HydrRadSys( RadSysNum ).HeatingCapMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; + if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { + + if (CapSizingMethod == HeatingDesignCapacity){ + if (HydrRadSys( RadSysNum ).ScaledHeatingCapacity == AutoSize) { + CheckZoneSizing(CompType, CompName); + ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + } + TempSize = HydrRadSys( RadSysNum ).ScaledHeatingCapacity; + + } else if (CapSizingMethod == CapacityPerFloorArea){ + DataHeatingCapPerFloorArea = HydrRadSys( RadSysNum ).ScaledHeatingCapacity; + TempSize = HydrRadSys( RadSysNum ).ScaledHeatingCapacity; + DataScalableCapSizingON = true; + } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ + CheckZoneSizing(CompType, CompName); + ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + DataFracOfAutosizedHeatingCapacity = HydrRadSys( RadSysNum ).ScaledHeatingCapacity; + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + TempSize = AutoSize; + DataScalableCapSizingON = true; + } else { + TempSize = HydrRadSys( RadSysNum ).ScaledHeatingCapacity; + } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DesCoilLoad = TempSize; + } else { + DesCoilLoad = 0.0; // CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + } + if ( DesCoilLoad >= SmallLoad ) { rho = GetDensityGlycol( PlantLoop( HydrRadSys( RadSysNum ).HWLoopNum ).FluidName, 60., PlantLoop( HydrRadSys( RadSysNum ).HWLoopNum ).FluidIndex, RoutineName ); Cp = GetSpecificHeatGlycol( PlantLoop( HydrRadSys( RadSysNum ).HWLoopNum ).FluidName, 60., PlantLoop( HydrRadSys( RadSysNum ).HWLoopNum ).FluidIndex, RoutineName ); - WaterVolFlowMaxHeatDes = ( CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor ) / ( PlantSizData( PltSizHeatNum ).DeltaT * Cp * rho ); + WaterVolFlowMaxHeatDes = DesCoilLoad / (PlantSizData(PltSizHeatNum).DeltaT * Cp * rho); } else { WaterVolFlowMaxHeatDes = 0.0; } + } else { ShowSevereError( "Autosizing of water flow requires a heating loop Sizing:Plant object" ); ShowContinueError( "Occurs in " "ZoneHVAC:LowTemperatureRadiant:VariableFlow" " Object=" + HydrRadSys( RadSysNum ).Name ); @@ -1867,7 +2131,48 @@ namespace LowTempRadiantSystem { if ( IsAutoSize ) { PltSizCoolNum = MyPlantSizingIndex( "ZoneHVAC:LowTemperatureRadiant:VariableFlow", HydrRadSys( RadSysNum ).Name, HydrRadSys( RadSysNum ).ColdWaterInNode, HydrRadSys( RadSysNum ).ColdWaterOutNode, ErrorsFound ); if ( PltSizCoolNum > 0 ) { - if ( ( CalcFinalZoneSizing( CurZoneEqNum ).DesCoolLoad * CalcFinalZoneSizing( CurZoneEqNum ).CoolSizingFactor ) >= SmallLoad ) { + + + CompType = "ZoneHVAC:LowTemperatureRadiant:VariableFlow"; + CompName = HydrRadSys(RadSysNum).Name; + DataFracOfAutosizedCoolingCapacity = 1.0; + DataZoneNumber = HydrRadSys(RadSysNum).ZonePtr; + SizingMethod = CoolingCapacitySizing; + FieldNum = 3; + PrintFlag = false; + SizingString = HydronicRadiantSysNumericFields(RadSysNum).FieldNames(FieldNum) + " [W]"; + CapSizingMethod = HydrRadSys(RadSysNum).CoolingCapMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; + if (CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity) { + if (CapSizingMethod == CoolingDesignCapacity){ + if (HydrRadSys(RadSysNum).ScaledCoolingCapacity == AutoSize) { + CheckZoneSizing(CompType, CompName); + ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesCoolLoad * CalcFinalZoneSizing(CurZoneEqNum).CoolSizingFactor; + } + TempSize = HydrRadSys( RadSysNum ).ScaledCoolingCapacity; + + } else if (CapSizingMethod == CapacityPerFloorArea){ + DataCoolingCapPerFloorArea = HydrRadSys(RadSysNum).ScaledCoolingCapacity; + TempSize = HydrRadSys(RadSysNum).ScaledCoolingCapacity; + DataScalableCapSizingON = true; + } else if (CapSizingMethod == FractionOfAutosizedCoolingCapacity){ + CheckZoneSizing(CompType, CompName); + ZoneEqSizing(CurZoneEqNum).CoolingCapacity = true; + DataFracOfAutosizedCoolingCapacity = HydrRadSys( RadSysNum ).ScaledCoolingCapacity; + ZoneEqSizing(CurZoneEqNum).DesCoolingLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesCoolLoad * CalcFinalZoneSizing( CurZoneEqNum ).CoolSizingFactor; + TempSize = AutoSize; + DataScalableCapSizingON = true; + } else { + TempSize = HydrRadSys(RadSysNum).ScaledCoolingCapacity; + } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DesCoilLoad = TempSize; + } else { + DesCoilLoad = 0.0; // CalcFinalZoneSizing(CurZoneEqNum).DesCoolLoad * CalcFinalZoneSizing(CurZoneEqNum).CoolSizingFactor; + } + + if ( DesCoilLoad >= SmallLoad ) { rho = GetDensityGlycol( PlantLoop( HydrRadSys( RadSysNum ).CWLoopNum ).FluidName, 5., PlantLoop( HydrRadSys( RadSysNum ).CWLoopNum ).FluidIndex, RoutineName ); Cp = GetSpecificHeatGlycol( PlantLoop( HydrRadSys( RadSysNum ).CWLoopNum ).FluidName, 5., PlantLoop( HydrRadSys( RadSysNum ).CWLoopNum ).FluidIndex, RoutineName ); diff --git a/src/EnergyPlus/LowTempRadiantSystem.hh b/src/EnergyPlus/LowTempRadiantSystem.hh index 2f56c2b2be3..c767f93cf3a 100644 --- a/src/EnergyPlus/LowTempRadiantSystem.hh +++ b/src/EnergyPlus/LowTempRadiantSystem.hh @@ -139,6 +139,12 @@ namespace LowTempRadiantSystem { Real64 CoolEnergy; // cooling sent to panel in Joules int OutRangeHiErrorCount; // recurring errors for crazy results too high fluid temperature int OutRangeLoErrorCount; // recurring errors for crazy results too low fluid temperature + int HeatingCapMethod; // - Method for Low Temp Radiant system heating capacity scaledsizing calculation + //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 ScaledHeatingCapacity; // - Low Temp Radiant system scaled maximum heating capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} + int CoolingCapMethod; // - Method for Low Temp Radiant system cooling capacity scaledsizing calculation + //- (CoolingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedCoolingCapacity) + Real64 ScaledCoolingCapacity; // - Low Temp Radiant system scaled maximum cooling capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} // Default Constructor HydronicRadiantSystemData() : @@ -189,7 +195,11 @@ namespace LowTempRadiantSystem { CoolPower( 0.0 ), CoolEnergy( 0.0 ), OutRangeHiErrorCount( 0 ), - OutRangeLoErrorCount( 0 ) + OutRangeLoErrorCount( 0 ), + HeatingCapMethod( 0 ), + ScaledHeatingCapacity( 0.0 ), + CoolingCapMethod( 0 ), + ScaledCoolingCapacity( 0.0 ) {} // Member Constructor @@ -251,7 +261,14 @@ namespace LowTempRadiantSystem { Real64 const CoolPower, // cooling sent to panel in Watts Real64 const CoolEnergy, // cooling sent to panel in Joules int const OutRangeHiErrorCount, // recurring errors for crazy results too high fluid temperature - int const OutRangeLoErrorCount // recurring errors for crazy results too low fluid temperature + int const OutRangeLoErrorCount, // recurring errors for crazy results too low fluid temperature + int const HeatingCapMethod, // - Method for Low Temp Radiant system heating capacity scaledsizing calculation + //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 const ScaledHeatingCapacity, // - Low Temp Radiant system scaled maximum heating capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} + int const CoolingCapMethod, // - Method for Low Temp Radiant system cooling capacity scaledsizing calculation + //- (CoolingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedCoolingCapacity) + Real64 const ScaledCoolingCapacity // - Low Temp Radiant system scaled maximum cooling capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} + ) : Name( Name ), SchedName( SchedName ), @@ -310,7 +327,11 @@ namespace LowTempRadiantSystem { CoolPower( CoolPower ), CoolEnergy( CoolEnergy ), OutRangeHiErrorCount( OutRangeHiErrorCount ), - OutRangeLoErrorCount( OutRangeLoErrorCount ) + OutRangeLoErrorCount( OutRangeLoErrorCount ), + HeatingCapMethod( HeatingCapMethod ), + ScaledHeatingCapacity( ScaledHeatingCapacity ), + CoolingCapMethod( CoolingCapMethod ), + ScaledCoolingCapacity( ScaledCoolingCapacity ) {} }; @@ -678,6 +699,9 @@ namespace LowTempRadiantSystem { Real64 ElecEnergy; // heating sent to panel in Joules Real64 HeatPower; // heating sent to panel in Watts (same as ElecPower) Real64 HeatEnergy; // heating sent to panel in Joules (same as ElecEnergy) + int HeatingCapMethod; // - Method for Low Temp Radiant system heating capacity scaledsizing calculation + //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 ScaledHeatingCapacity; // - Low Temp Radiant system scaled maximum heating capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} // Default Constructor ElectricRadiantSystemData() : @@ -692,7 +716,9 @@ namespace LowTempRadiantSystem { ElecPower( 0.0 ), ElecEnergy( 0.0 ), HeatPower( 0.0 ), - HeatEnergy( 0.0 ) + HeatEnergy( 0.0 ), + HeatingCapMethod( 0 ), + ScaledHeatingCapacity( 0.0 ) {} // Member Constructor @@ -716,7 +742,10 @@ namespace LowTempRadiantSystem { Real64 const ElecPower, // heating sent to panel in Watts Real64 const ElecEnergy, // heating sent to panel in Joules Real64 const HeatPower, // heating sent to panel in Watts (same as ElecPower) - Real64 const HeatEnergy // heating sent to panel in Joules (same as ElecEnergy) + Real64 const HeatEnergy, // heating sent to panel in Joules (same as ElecEnergy) + int const HeatingCapMethod, // - Method for Low Temp Radiant system heating capacity scalable sizing calculation + //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 const ScaledHeatingCapacity // - Low Temp Radiant system scaled maximum heating capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} ) : Name( Name ), SchedName( SchedName ), @@ -737,7 +766,9 @@ namespace LowTempRadiantSystem { ElecPower( ElecPower ), ElecEnergy( ElecEnergy ), HeatPower( HeatPower ), - HeatEnergy( HeatEnergy ) + HeatEnergy( HeatEnergy ), + HeatingCapMethod( HeatingCapMethod ), + ScaledHeatingCapacity( ScaledHeatingCapacity ) {} }; @@ -769,11 +800,47 @@ namespace LowTempRadiantSystem { }; + struct ElecRadSysNumericFieldData + { + // Members + FArray1D_string FieldNames; + + // Default Constructor + ElecRadSysNumericFieldData() + {} + + // Member Constructor + ElecRadSysNumericFieldData( + FArray1_string const & FieldNames // Name of the HeatingCoil numeric field descriptions + ) : + FieldNames(FieldNames) + {} + }; + + struct HydronicRadiantSysNumericFieldData + { + // Members + FArray1D_string FieldNames; + + // Default Constructor + HydronicRadiantSysNumericFieldData() + {} + + // Member Constructor + HydronicRadiantSysNumericFieldData( + FArray1_string const & FieldNames // Name of the HeatingCoil numeric field descriptions + ) : + FieldNames(FieldNames) + {} + }; + // Object Data extern FArray1D< HydronicRadiantSystemData > HydrRadSys; extern FArray1D< ConstantFlowRadiantSystemData > CFloRadSys; extern FArray1D< ElectricRadiantSystemData > ElecRadSys; extern FArray1D< RadSysTypeData > RadSysTypes; + extern FArray1D< ElecRadSysNumericFieldData > ElecRadSysNumericFields; + extern FArray1D< HydronicRadiantSysNumericFieldData > HydronicRadiantSysNumericFields; // Functions diff --git a/src/EnergyPlus/PackagedTerminalHeatPump.cc b/src/EnergyPlus/PackagedTerminalHeatPump.cc index 7dcf31d862c..3f7b3f77380 100644 --- a/src/EnergyPlus/PackagedTerminalHeatPump.cc +++ b/src/EnergyPlus/PackagedTerminalHeatPump.cc @@ -148,6 +148,7 @@ namespace PackagedTerminalHeatPump { // Object Data FArray1D< PTUnitData > PTUnit; + FArray1D< PTUnitNumericFieldData > PTUnitUNumericFields; // holds VRF TU numeric input fields character field name // Functions @@ -502,6 +503,7 @@ namespace PackagedTerminalHeatPump { using InputProcessor::VerifyName; using InputProcessor::SameString; using InputProcessor::GetObjectDefMaxArgs; + using InputProcessor::FindItemInList; using NodeInputManager::GetOnlySingleNode; using BranchNodeConnections::SetUpCompSets; using FluidProperties::GetSatDensityRefrig; @@ -529,6 +531,8 @@ namespace PackagedTerminalHeatPump { using DataHVACGlobals::WaterConstant; using DataHVACGlobals::WaterConstantOnDemand; using SingleDuct::GetATMixer; + using DataSizing::NumZoneHVACSizing; + using DataSizing::ZoneHVACSizing; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -633,7 +637,8 @@ namespace PackagedTerminalHeatPump { // allocate the data structures if ( NumPTUs > 0 ) { PTUnit.allocate( NumPTUs ); - CheckEquipName.allocate( NumPTUs ); + CheckEquipName.allocate( NumPTUs ); + PTUnitUNumericFields.allocate( NumPTUs ); } CheckEquipName = true; @@ -656,6 +661,11 @@ namespace PackagedTerminalHeatPump { GetObjectItem( CurrentModuleObject, PTUnitIndex, Alphas, NumAlphas, Numbers, NumNumbers, IOStatus, lNumericBlanks, lAlphaBlanks, cAlphaFields, cNumericFields ); PTUnitNum = PTUnitIndex; + + PTUnitUNumericFields( PTUnitNum ).FieldNames.allocate( NumNumbers ); + PTUnitUNumericFields( PTUnitNum ).FieldNames = ""; + PTUnitUNumericFields( PTUnitNum ).FieldNames = cNumericFields; + IsNotOK = false; IsBlank = false; VerifyName( Alphas( 1 ), PTUnit.Name(), PTUnitNum - 1, IsNotOK, IsBlank, CurrentModuleObject + " Name" ); @@ -1054,6 +1064,7 @@ namespace PackagedTerminalHeatPump { if ( ! ZoneEquipConfig( CtrlZone ).IsControlled ) continue; for ( NodeNum = 1; NodeNum <= ZoneEquipConfig( CtrlZone ).NumInletNodes; ++NodeNum ) { if ( PTUnit( PTUnitNum ).AirOutNode == ZoneEquipConfig( CtrlZone ).InletNode( NodeNum ) ) { + PTUnit( PTUnitNum ).ZonePtr = CtrlZone; ZoneNodeNotFound = false; break; } @@ -1157,6 +1168,16 @@ namespace PackagedTerminalHeatPump { ZoneComp( PkgTermHPAirToAir_Num ).ZoneCompAvailMgrs( PTUnitNum ).AvailManagerListName = Alphas( 17 ); } + PTUnit( PTUnitNum ).HVACSizingIndex = 0; + if ( ! lAlphaBlanks( 18 )) { + PTUnit( PTUnitNum ).HVACSizingIndex = FindItemInList( Alphas( 18 ), ZoneHVACSizing.Name(), NumZoneHVACSizing ); + if (PTUnit( PTUnitNum ).HVACSizingIndex == 0) { + ShowSevereError( cAlphaFields( 18 ) + " = " + Alphas( 18 ) + " not found."); + ShowContinueError( "Occurs in " + CurrentModuleObject + " = " + PTUnit( PTUnitNum ).Name ); + ErrorsFound = true; + } + } + // set air flow control mode, UseCompressorOnFlow = operate at last cooling or heating air flow requested when compressor is off // UseCompressorOffFlow = operate at value specified by user // AirFlowControl only valid if fan opmode = ContFanCycCoil @@ -1256,6 +1277,11 @@ namespace PackagedTerminalHeatPump { GetObjectItem( CurrentModuleObject, PTUnitIndex, Alphas, NumAlphas, Numbers, NumNumbers, IOStatus, lNumericBlanks, lAlphaBlanks, cAlphaFields, cNumericFields ); PTUnitNum = PTUnitIndex + NumPTHP; + + PTUnitUNumericFields( PTUnitNum ).FieldNames.allocate( NumNumbers ); + PTUnitUNumericFields( PTUnitNum ).FieldNames = ""; + PTUnitUNumericFields( PTUnitNum ).FieldNames = cNumericFields; + IsNotOK = false; IsBlank = false; VerifyName( Alphas( 1 ), PTUnit.Name(), PTUnitNum - 1, IsNotOK, IsBlank, CurrentModuleObject + " Name" ); @@ -1597,6 +1623,7 @@ namespace PackagedTerminalHeatPump { if ( ! ZoneEquipConfig( CtrlZone ).IsControlled ) continue; for ( NodeNum = 1; NodeNum <= ZoneEquipConfig( CtrlZone ).NumInletNodes; ++NodeNum ) { if ( PTUnit( PTUnitNum ).AirOutNode == ZoneEquipConfig( CtrlZone ).InletNode( NodeNum ) ) { + PTUnit( PTUnitNum ).ZonePtr = CtrlZone; ZoneNodeNotFound = false; break; } @@ -1668,6 +1695,7 @@ namespace PackagedTerminalHeatPump { if ( ! ZoneEquipConfig( CtrlZone ).IsControlled ) continue; for ( NodeNum = 1; NodeNum <= ZoneEquipConfig( CtrlZone ).NumInletNodes; ++NodeNum ) { if ( PTUnit( PTUnitNum ).AirOutNode == ZoneEquipConfig( CtrlZone ).InletNode( NodeNum ) ) { + PTUnit(PTUnitNum).ZonePtr = CtrlZone; ZoneNodeNotFound = false; break; } @@ -1694,6 +1722,17 @@ namespace PackagedTerminalHeatPump { PTUnit( PTUnitNum ).AvailManagerListName = Alphas( 15 ); ZoneComp( PkgTermACAirToAir_Num ).ZoneCompAvailMgrs( PTUnitNum ).AvailManagerListName = Alphas( 15 ); } + + PTUnit( PTUnitNum ).HVACSizingIndex = 0; + if ( ! lAlphaBlanks( 16 ) ) { + PTUnit( PTUnitNum ).HVACSizingIndex = FindItemInList( Alphas( 16 ), ZoneHVACSizing.Name(), NumZoneHVACSizing ); + if ( PTUnit( PTUnitNum ).HVACSizingIndex == 0) { + ShowSevereError( cAlphaFields( 16 ) + " = " + Alphas( 16 ) + " not found." ); + ShowContinueError( "Occurs in " + CurrentModuleObject + " = " + PTUnit( PTUnitNum ).Name ); + ErrorsFound = true; + } + } + // set air flow control mode, UseCompressorOnFlow = operate at last cooling or heating air flow requested when compressor is off // UseCompressorOffFlow = operate at value specified by user // AirFlowControl only valid if fan opmode = ContFanCycCoil @@ -1785,6 +1824,11 @@ namespace PackagedTerminalHeatPump { GetObjectItem( CurrentModuleObject, PTUnitIndex, Alphas, NumAlphas, Numbers, NumNumbers, IOStatus, lNumericBlanks, lAlphaBlanks, cAlphaFields, cNumericFields ); PTUnitNum = PTUnitIndex + NumPTHP + NumPTAC; + + PTUnitUNumericFields( PTUnitNum ).FieldNames.allocate( NumNumbers ); + PTUnitUNumericFields( PTUnitNum ).FieldNames = ""; + PTUnitUNumericFields( PTUnitNum ).FieldNames = cNumericFields; + IsNotOK = false; IsBlank = false; VerifyName( Alphas( 1 ), PTUnit.Name(), PTUnitNum - 1, IsNotOK, IsBlank, CurrentModuleObject + " Name" ); @@ -2130,6 +2174,16 @@ namespace PackagedTerminalHeatPump { ZoneComp( PkgTermHPWaterToAir_Num ).ZoneCompAvailMgrs( PTUnitNum ).AvailManagerListName = Alphas( 18 ); } + PTUnit( PTUnitNum ).HVACSizingIndex = 0; + if ( ! lAlphaBlanks( 20 ) ) { + PTUnit( PTUnitNum ).HVACSizingIndex = FindItemInList( Alphas( 20 ), ZoneHVACSizing.Name(), NumZoneHVACSizing ); + if (PTUnit( PTUnitNum ).HVACSizingIndex == 0 ) { + ShowSevereError( cAlphaFields( 20 ) + " = " + Alphas( 20 ) + " not found." ); + ShowContinueError( "Occurs in " + CurrentModuleObject + " = " + PTUnit( PTUnitNum ).Name ); + ErrorsFound = true; + } + } + // Get AirTerminal mixer data GetATMixer( PTUnit( PTUnitNum ).Name, PTUnit( PTUnitNum ).ATMixerName, PTUnit( PTUnitNum ).ATMixerIndex, PTUnit( PTUnitNum ).ATMixerType, PTUnit( PTUnitNum ).ATMixerPriNode, PTUnit( PTUnitNum ).ATMixerSecNode, PTUnit( PTUnitNum ).ATMixerOutNode ); if ( PTUnit( PTUnitNum ).ATMixerType == ATMixer_InletSide || PTUnit( PTUnitNum ).ATMixerType == ATMixer_SupplySide ) { @@ -2185,6 +2239,7 @@ namespace PackagedTerminalHeatPump { if ( ! ZoneEquipConfig( CtrlZone ).IsControlled ) continue; for ( NodeNum = 1; NodeNum <= ZoneEquipConfig( CtrlZone ).NumInletNodes; ++NodeNum ) { if ( PTUnit( PTUnitNum ).AirOutNode == ZoneEquipConfig( CtrlZone ).InletNode( NodeNum ) ) { + PTUnit( PTUnitNum ).ZonePtr = CtrlZone; ZoneNodeNotFound = false; break; } @@ -3452,9 +3507,16 @@ namespace PackagedTerminalHeatPump { // na // Using/Aliasing + using namespace DataSizing; using WaterCoils::SetCoilDesFlow; using ReportSizingManager::ReportSizingOutput; + using ReportSizingManager::RequestSizing; using General::RoundSigDigits; + using DataHVACGlobals::SystemAirflowSizing; + using DataHVACGlobals::CoolingAirflowSizing; + using DataHVACGlobals::HeatingAirflowSizing; + using DataHVACGlobals::CoolingCapacitySizing; + using DataHVACGlobals::HeatingCapacitySizing; // Locals bool IsAutoSize; // Indicator to autosize @@ -3474,9 +3536,10 @@ namespace PackagedTerminalHeatPump { Real64 MaxSATSupHeatUser; // Hardsized supply air temperature of supplemental heater for reporting // SUBROUTINE ARGUMENT DEFINITIONS: - - // SUBROUTINE PARAMETER DEFINITIONS: // na + + // SUBROUTINE PARAMETER DEFINITIONS: + static std::string const RoutineName("SizePTUnit: "); // include trailing blank space // INTERFACE BLOCK SPECIFICATIONS // na @@ -3488,6 +3551,18 @@ namespace PackagedTerminalHeatPump { bool ErrorsFound; bool SizingDesRunThisZone; // true if a particular zone had a Sizing:Zone object and zone sizing was done + + std::string CompName; // component name + std::string CompType; // component type + std::string SizingString; // input field sizing description (e.g., Nominal Capacity) + Real64 TempSize; // autosized value of coil input field + int FieldNum = 2; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) + bool PrintFlag; // TRUE when sizing information is reported in the eio file + int zoneHVACIndex; // index of zoneHVAC equipment sizing specification + int SAFMethod( 0 ); // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow ...) + int CapSizingMethod( 0 ); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) + ErrorsFound = false; IsAutoSize = false; MaxCoolAirVolFlowDes = 0.0; @@ -3505,114 +3580,197 @@ namespace PackagedTerminalHeatPump { MaxSATSupHeatDes = 0.0; MaxSATSupHeatUser = 0.0; - if ( PTUnit( PTUnitNum ).MaxCoolAirVolFlow == AutoSize ) { - IsAutoSize = true; - } + DataFracOfAutosizedCoolingAirflow = 1.0; + DataFracOfAutosizedHeatingAirflow = 1.0; + DataFracOfAutosizedCoolingCapacity = 1.0; + DataFracOfAutosizedHeatingCapacity = 1.0; + //DataFlowPerCoolingCapacity; + //DataFlowPerHeatingCapacity; + + DataScalableSizingON = false; + CompType = PTUnit( PTUnitNum ).UnitType; + CompName = PTUnit( PTUnitNum ).Name; + DataZoneNumber = PTUnit( PTUnitNum ).ZonePtr; + if ( CurZoneEqNum > 0 ) { - CheckThisZoneForSizing( CurZoneEqNum, SizingDesRunThisZone ); - if ( ! IsAutoSize && ! SizingDesRunThisZone ) { // Simulation continue - if ( PTUnit( PTUnitNum ).MaxCoolAirVolFlow > 0.0 ) { - ReportSizingOutput( PTUnit( PTUnitNum ).UnitType, PTUnit( PTUnitNum ).Name, "User-Specified Supply Air Flow Rate During Cooling Operation [m3/s]", PTUnit( PTUnitNum ).MaxCoolAirVolFlow ); - } - } else { - CheckZoneSizing( PTUnit( PTUnitNum ).UnitType, PTUnit( PTUnitNum ).Name ); - MaxCoolAirVolFlowDes = max( FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow, FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow ); - if ( MaxCoolAirVolFlowDes < SmallAirVolFlow ) { - MaxCoolAirVolFlowDes = 0.0; - } - if ( IsAutoSize ) { - PTUnit( PTUnitNum ).MaxCoolAirVolFlow = MaxCoolAirVolFlowDes; - ReportSizingOutput( PTUnit( PTUnitNum ).UnitType, PTUnit( PTUnitNum ).Name, "Design Size Supply Air Flow Rate During Cooling Operation [m3/s]", MaxCoolAirVolFlowDes ); - } else { - if ( PTUnit( PTUnitNum ).MaxCoolAirVolFlow > 0.0 && MaxCoolAirVolFlowDes > 0.0 && SizingDesRunThisZone ) { - MaxCoolAirVolFlowUser = PTUnit( PTUnitNum ).MaxCoolAirVolFlow; - ReportSizingOutput( PTUnit( PTUnitNum ).UnitType, PTUnit( PTUnitNum ).Name, "Design Size Supply Air Flow Rate During Cooling Operation [m3/s]", MaxCoolAirVolFlowDes, "User-Specified Supply Air Flow Rate During Cooling Operation [m3/s]", MaxCoolAirVolFlowUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( MaxCoolAirVolFlowDes - MaxCoolAirVolFlowUser ) / MaxCoolAirVolFlowUser ) > AutoVsHardSizingThreshold ) { - ShowMessage( "SizePTUnit: Potential issue with equipment sizing for " + PTUnit( PTUnitNum ).UnitType + ' ' + PTUnit( PTUnitNum ).Name ); - ShowContinueError( "User-Specified Supply Air Flow Rate During Cooling Operation of " + RoundSigDigits( MaxCoolAirVolFlowUser, 5 ) + " [m3/s]" ); - ShowContinueError( "differs from Design Size Supply Air Flow Rate During Cooling Operation of " + RoundSigDigits( MaxCoolAirVolFlowDes, 5 ) + " [m3/s]" ); - ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); - ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); - } + if (PTUnit(PTUnitNum).HVACSizingIndex > 0) { + zoneHVACIndex = PTUnit(PTUnitNum).HVACSizingIndex; + // N1, \field Supply Air Flow Rate During Cooling Operation + SizingMethod = CoolingAirflowSizing; + FieldNum = 1; + SizingString = PTUnitUNumericFields(PTUnitNum).FieldNames(FieldNum) + " [m3/s]"; + PrintFlag = true; + SAFMethod = ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; + if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow) { + if (SAFMethod == SupplyAirFlowRate){ + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + } else if (SAFMethod == FlowPerFloorArea){ + DataCoolFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + DataScalableSizingON = true; + } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + } else { + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + PTUnit( PTUnitNum ).MaxCoolAirVolFlow = TempSize; + } else if (SAFMethod == FlowPerCoolingCapacity) { + SizingMethod = CoolingCapacitySizing; + TempSize = AutoSize; + PrintFlag = false; + DataScalableSizingON = true; + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + if (ZoneHVACSizing(zoneHVACIndex).CoolingCapMethod == FractionOfAutosizedCoolingCapacity) { + DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DataAutosizedCoolingCapacity = TempSize; + DataFlowPerCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + SizingMethod = CoolingAirflowSizing; + PrintFlag = true; + TempSize = AutoSize; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + PTUnit( PTUnitNum ).MaxCoolAirVolFlow = TempSize; + } + + //N2, \field Supply Air Flow Rate During Heating Operation + SizingMethod = HeatingAirflowSizing; + FieldNum = 2; + PrintFlag = true; + SizingString = PTUnitUNumericFields(PTUnitNum).FieldNames(FieldNum) + " [m3/s]"; + SAFMethod = ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; + if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow) { + + if (SAFMethod == SupplyAirFlowRate){ + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + } else if (SAFMethod == FlowPerFloorArea){ + DataHeatFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + DataScalableSizingON = true; + } else if (SAFMethod == FractionOfAutosizedHeatingAirflow){ + DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + } else { + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + PTUnit( PTUnitNum ).MaxHeatAirVolFlow = TempSize; + } else if (SAFMethod == FlowPerHeatingCapacity) { + SizingMethod = HeatingCapacitySizing; + TempSize = AutoSize; + PrintFlag = false; + DataScalableSizingON = true; + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + if (ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod == FractionOfAutosizedHeatingCapacity) { + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + } + DataAutosizedHeatingCapacity = TempSize; + DataFlowPerHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + SizingMethod = HeatingAirflowSizing; + PrintFlag = true; + TempSize = AutoSize; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + PTUnit( PTUnitNum ).MaxHeatAirVolFlow = TempSize; + } + //N3, \field Supply Air Flow Rate When No Cooling or Heating is Needed + SizingMethod = SystemAirflowSizing; + FieldNum = 3; + PrintFlag = true; + SizingString = PTUnitUNumericFields(PTUnitNum).FieldNames(FieldNum) + " [m3/s]"; + SAFMethod = ZoneHVACSizing(zoneHVACIndex).NoCoolHeatSAFMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; + if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow || SAFMethod == FractionOfAutosizedHeatingAirflow) { + if (SAFMethod == SupplyAirFlowRate){ + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + } else if (SAFMethod == FlowPerFloorArea){ + DataCoolFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + DataScalableSizingON = true; + } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + } else if (SAFMethod == FractionOfAutosizedHeatingAirflow){ + DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + } else { + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + PTUnit( PTUnitNum ).MaxNoCoolHeatAirVolFlow = TempSize; + } + DataScalableSizingON = false; + + // initialize capacity sizing variables: cooling + SizingMethod = CoolingCapacitySizing; + CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).CoolingCapMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; + if (CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity) { + if (CapSizingMethod == HeatingDesignCapacity){ + if (ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity > 0.0) { + ZoneEqSizing(CurZoneEqNum).CoolingCapacity = true; + ZoneEqSizing(CurZoneEqNum).DesCoolingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; } + } else if (CapSizingMethod == CapacityPerFloorArea){ + DataCoolingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + } else if (CapSizingMethod == FractionOfAutosizedCoolingCapacity){ + DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; } } - } - } - IsAutoSize = false; - if ( PTUnit( PTUnitNum ).MaxHeatAirVolFlow == AutoSize ) { - IsAutoSize = true; - } - if ( CurZoneEqNum > 0 ) { - CheckThisZoneForSizing( CurZoneEqNum, SizingDesRunThisZone ); - if ( ! IsAutoSize && ! SizingDesRunThisZone ) { // Simulation continue - if ( PTUnit( PTUnitNum ).MaxHeatAirVolFlow > 0.0 ) { - ReportSizingOutput( PTUnit( PTUnitNum ).UnitType, PTUnit( PTUnitNum ).Name, "User-Specified Supply Air Flow Rate During Heating Operation [m3/s]", PTUnit( PTUnitNum ).MaxHeatAirVolFlow ); - } - } else { - CheckZoneSizing( PTUnit( PTUnitNum ).UnitType, PTUnit( PTUnitNum ).Name ); - MaxHeatAirVolFlowDes = max( FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow, FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow ); - if ( MaxHeatAirVolFlowDes < SmallAirVolFlow ) { - MaxHeatAirVolFlowDes = 0.0; - } - if ( IsAutoSize ) { - PTUnit( PTUnitNum ).MaxHeatAirVolFlow = MaxHeatAirVolFlowDes; - ReportSizingOutput( PTUnit( PTUnitNum ).UnitType, PTUnit( PTUnitNum ).Name, "Design Size Supply Air Flow Rate During Heating Operation [m3/s]", MaxHeatAirVolFlowDes ); - } else { - if ( PTUnit( PTUnitNum ).MaxHeatAirVolFlow > 0.0 && MaxHeatAirVolFlowDes > 0.0 && SizingDesRunThisZone ) { - MaxHeatAirVolFlowUser = PTUnit( PTUnitNum ).MaxHeatAirVolFlow; - ReportSizingOutput( PTUnit( PTUnitNum ).UnitType, PTUnit( PTUnitNum ).Name, "Design Size Supply Air Flow Rate During Heating Operation [m3/s]", MaxHeatAirVolFlowDes, "User-Specified Supply Air Flow Rate During Heating Operation [m3/s]", MaxHeatAirVolFlowUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( MaxHeatAirVolFlowDes - MaxHeatAirVolFlowUser ) / MaxHeatAirVolFlowUser ) > AutoVsHardSizingThreshold ) { - ShowMessage( "SizePTUnit: Potential issue with equipment sizing for " + PTUnit( PTUnitNum ).UnitType + ' ' + PTUnit( PTUnitNum ).Name ); - ShowContinueError( "User-Specified Supply Air Flow Rate During Heating Operation of " + RoundSigDigits( MaxHeatAirVolFlowUser, 5 ) + " [m3/s]" ); - ShowContinueError( "differs from Design Size Supply Air Flow Rate During Heating Operation of " + RoundSigDigits( MaxHeatAirVolFlowDes, 5 ) + " [m3/s]" ); - ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); - ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); - } + // initialize capacity sizing variables: heating + SizingMethod = HeatingCapacitySizing; + CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; + if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { + if (CapSizingMethod == HeatingDesignCapacity){ + if (ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity > 0.0) { + ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; } + } else if (CapSizingMethod == CapacityPerFloorArea){ + DataHeatingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; } } - } - } - - IsAutoSize = false; - if ( PTUnit( PTUnitNum ).MaxNoCoolHeatAirVolFlow == AutoSize ) { - IsAutoSize = true; - } - if ( CurZoneEqNum > 0 ) { - CheckThisZoneForSizing( CurZoneEqNum, SizingDesRunThisZone ); - if ( ! IsAutoSize && ! SizingDesRunThisZone ) { // Simulation continue - if ( PTUnit( PTUnitNum ).MaxNoCoolHeatAirVolFlow > 0.0 ) { - ReportSizingOutput( PTUnit( PTUnitNum ).UnitType, PTUnit( PTUnitNum ).Name, "User-Specified Supply Air Flow Rate When No Cooling or Heating is Needed [m3/s]", PTUnit( PTUnitNum ).MaxNoCoolHeatAirVolFlow ); - } } else { - CheckZoneSizing( PTUnit( PTUnitNum ).UnitType, PTUnit( PTUnitNum ).Name ); - MaxNoCoolHeatAirVolFlowDes = min( PTUnit( PTUnitNum ).MaxCoolAirVolFlow, PTUnit( PTUnitNum ).MaxHeatAirVolFlow ); - if ( MaxNoCoolHeatAirVolFlowDes < SmallAirVolFlow ) { - MaxNoCoolHeatAirVolFlowDes = 0.0; - } - if ( IsAutoSize ) { - PTUnit( PTUnitNum ).MaxNoCoolHeatAirVolFlow = MaxNoCoolHeatAirVolFlowDes; - ReportSizingOutput( PTUnit( PTUnitNum ).UnitType, PTUnit( PTUnitNum ).Name, "Design Size Supply Air Flow Rate When No Cooling or Heating is Needed [m3/s]", MaxNoCoolHeatAirVolFlowDes ); - } else { - if ( PTUnit( PTUnitNum ).MaxNoCoolHeatAirVolFlow > 0.0 && MaxNoCoolHeatAirVolFlowDes > 0.0 && SizingDesRunThisZone ) { - MaxNoCoolHeatAirVolFlowUser = PTUnit( PTUnitNum ).MaxNoCoolHeatAirVolFlow; - ReportSizingOutput( PTUnit( PTUnitNum ).UnitType, PTUnit( PTUnitNum ).Name, "Design Size Supply Air Flow Rate When No Cooling or Heating is Needed [m3/s]", MaxNoCoolHeatAirVolFlowDes, "User-Specified Supply Air Flow Rate When No Cooling or Heating is Needed [m3/s]", MaxNoCoolHeatAirVolFlowUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( MaxNoCoolHeatAirVolFlowDes - MaxNoCoolHeatAirVolFlowUser ) / MaxNoCoolHeatAirVolFlowUser ) > AutoVsHardSizingThreshold ) { - ShowMessage( "SizePTUnit: Potential issue with equipment sizing for " + PTUnit( PTUnitNum ).UnitType + ' ' + PTUnit( PTUnitNum ).Name ); - ShowContinueError( "User-Specified Supply Air Flow Rate When No Cooling or Heating is Needed of " + RoundSigDigits( MaxNoCoolHeatAirVolFlowUser, 5 ) + " [m3/s]" ); - ShowContinueError( "differs from Design Size Supply Air Flow Rate When No Cooling or Heating is Needed of " + RoundSigDigits( MaxNoCoolHeatAirVolFlowDes, 5 ) + " [m3/s]" ); - ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); - ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); - } - } - } - } + // no scalble sizing method has been specified. Sizing proceeds using the method + // specified in the zoneHVAC object + // N1, \field Supply Air Flow Rate During Cooling Operation + + PrintFlag = true; + SizingMethod = CoolingAirflowSizing; + FieldNum = 1; + SizingString = PTUnitUNumericFields(PTUnitNum).FieldNames(FieldNum) + " [m3/s]"; + TempSize = PTUnit(PTUnitNum).MaxCoolAirVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + PTUnit( PTUnitNum ).MaxCoolAirVolFlow = TempSize; + + //N2, \field Supply Air Flow Rate During Heating Operation + SizingMethod = HeatingAirflowSizing; + FieldNum = 2; + SizingString = PTUnitUNumericFields(PTUnitNum).FieldNames(FieldNum) + " [m3/s]"; + TempSize = PTUnit(PTUnitNum).MaxHeatAirVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + PTUnit( PTUnitNum ).MaxHeatAirVolFlow = TempSize; + + //N3, \field Supply Air Flow Rate When No Cooling or Heating is Needed + SizingMethod = SystemAirflowSizing; + FieldNum = 3; + SizingString = PTUnitUNumericFields(PTUnitNum).FieldNames(FieldNum) + " [m3/s]"; + TempSize = PTUnit( PTUnitNum ).MaxNoCoolHeatAirVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + PTUnit( PTUnitNum ).MaxNoCoolHeatAirVolFlow = TempSize; } } diff --git a/src/EnergyPlus/PackagedTerminalHeatPump.hh b/src/EnergyPlus/PackagedTerminalHeatPump.hh index dd627a478e1..c36e3340e4e 100644 --- a/src/EnergyPlus/PackagedTerminalHeatPump.hh +++ b/src/EnergyPlus/PackagedTerminalHeatPump.hh @@ -213,6 +213,9 @@ namespace PackagedTerminalHeatPump { Real64 CompSpeedRatio; int ErrIndexCyc; int ErrIndexVar; + int ZonePtr; // pointer to a zone served by a fancoil unit + int HVACSizingIndex; // index of a HVACSizing object for a fancoil unit + // end of the additional variables for variable speed water source heat pump // Default Constructor @@ -333,7 +336,9 @@ namespace PackagedTerminalHeatPump { CompSpeedNum( 0 ), CompSpeedRatio( 0.0 ), ErrIndexCyc( 0 ), - ErrIndexVar( 0 ) + ErrIndexVar( 0 ), + ZonePtr(0), + HVACSizingIndex(0) {} // Member Constructor @@ -470,7 +475,9 @@ namespace PackagedTerminalHeatPump { int const CompSpeedNum, Real64 const CompSpeedRatio, int const ErrIndexCyc, - int const ErrIndexVar + int const ErrIndexVar, + int const ZonePtr, // pointer to a zone served by a fancoil unit + int const HVACSizingIndex // index of a HVACSizing object for a fancoil unit ) : Name( Name ), UnitType( UnitType ), @@ -604,13 +611,33 @@ namespace PackagedTerminalHeatPump { CompSpeedNum( CompSpeedNum ), CompSpeedRatio( CompSpeedRatio ), ErrIndexCyc( ErrIndexCyc ), - ErrIndexVar( ErrIndexVar ) + ErrIndexVar( ErrIndexVar ), + ZonePtr( ZonePtr ), + HVACSizingIndex( HVACSizingIndex ) {} }; + struct PTUnitNumericFieldData + { + // Members + FArray1D_string FieldNames; + + // Default Constructor + PTUnitNumericFieldData() + {} + + // Member Constructor + PTUnitNumericFieldData( + FArray1_string const & FieldNames // Name of the HeatingCoil numeric field descriptions + ) : + FieldNames(FieldNames) + {} + }; + // Object Data extern FArray1D< PTUnitData > PTUnit; + extern FArray1D< PTUnitNumericFieldData > PTUnitUNumericFields; // holds PT unit numeric input fields character field name // Functions diff --git a/src/EnergyPlus/PurchasedAirManager.cc b/src/EnergyPlus/PurchasedAirManager.cc index c78904cd4bf..04c7c1e2fc1 100644 --- a/src/EnergyPlus/PurchasedAirManager.cc +++ b/src/EnergyPlus/PurchasedAirManager.cc @@ -136,6 +136,7 @@ namespace PurchasedAirManager { // Object Data FArray1D< ZonePurchasedAir > PurchAir; // Used to specify purchased air parameters + FArray1D< PurchAirNumericFieldData > PurchAirNumericFields; // Used to save the indecies of scalable sizing object for zone HVAC // Functions @@ -262,6 +263,9 @@ namespace PurchasedAirManager { using DataSizing::OARequirements; // to find DesignSpecification:OutdoorAir pointer using DataSizing::NumOARequirements; using DataContaminantBalance::Contaminant; + using DataSizing::NumZoneHVACSizing; + using DataSizing::ZoneHVACSizing; + using DataZoneEquipment::ZoneEquipConfig; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -281,6 +285,8 @@ namespace PurchasedAirManager { int NumAlphas; int NumNums; int IOStat; + int CtrlZone; // zone index + int NodeNum; // node index static std::string const RoutineName( "GetPurchasedAir: " ); // include trailing blank space static bool ErrorsFound( false ); // If errors detected in input bool IsNotOK; // Flag to verify name @@ -294,6 +300,7 @@ namespace PurchasedAirManager { PurchAir.allocate( NumPurchAir ); CheckEquipName.allocate( NumPurchAir ); + PurchAirNumericFields.allocate( NumPurchAir ); CheckEquipName = true; if ( NumPurchAir > 0 ) { @@ -302,6 +309,11 @@ namespace PurchasedAirManager { PurchAir( PurchAirNum ).cObjectName = cCurrentModuleObject; GetObjectItem( cCurrentModuleObject, PurchAirNum, cAlphaArgs, NumAlphas, rNumericArgs, NumNums, IOStat, lNumericFieldBlanks, lAlphaFieldBlanks, cAlphaFieldNames, cNumericFieldNames ); + + PurchAirNumericFields( PurchAirNum ).FieldNames.allocate( NumNums ); + PurchAirNumericFields( PurchAirNum ).FieldNames = ""; + PurchAirNumericFields( PurchAirNum ).FieldNames = cNumericFieldNames; + IsNotOK = false; IsBlank = false; VerifyName( cAlphaArgs( 1 ), PurchAir.Name(), PurchAirNum - 1, IsNotOK, IsBlank, cCurrentModuleObject + " Name" ); @@ -556,6 +568,25 @@ namespace PurchasedAirManager { PurchAir( PurchAirNum ).HtRecSenEff = rNumericArgs( 10 ); PurchAir( PurchAirNum ).HtRecLatEff = rNumericArgs( 11 ); + for ( CtrlZone = 1; CtrlZone <= NumOfZones; ++CtrlZone ) { + if ( ! ZoneEquipConfig( CtrlZone ).IsControlled ) continue; + for ( NodeNum = 1; NodeNum <= ZoneEquipConfig( CtrlZone ).NumInletNodes; ++NodeNum ) { + if (PurchAir( PurchAirNum ).ZoneSupplyAirNodeNum == ZoneEquipConfig( CtrlZone ).InletNode( NodeNum ) ) { + PurchAir( PurchAirNum ).ZonePtr = CtrlZone; + } + } + } + + PurchAir( PurchAirNum ).HVACSizingIndex = 0; + if ( ! lAlphaFieldBlanks( 16 ) ) { + PurchAir(PurchAirNum).HVACSizingIndex = FindItemInList(cAlphaArgs(16), ZoneHVACSizing.Name(), NumZoneHVACSizing); + if ( PurchAir(PurchAirNum).HVACSizingIndex == 0 ) { + ShowSevereError( cAlphaFieldNames( 16 ) + " = " + cAlphaArgs( 16 ) + " not found."); + ShowContinueError( "Occurs in " + cCurrentModuleObject + " = " + PurchAir( PurchAirNum ).Name); + ErrorsFound = true; + } + } + // initialize the calculated and report values PurchAir( PurchAirNum ).MaxHeatMassFlowRate = 0.0; PurchAir( PurchAirNum ).MaxCoolMassFlowRate = 0.0; @@ -944,6 +975,7 @@ namespace PurchasedAirManager { // Using/Aliasing using namespace DataSizing; using namespace InputProcessor; + using ReportSizingManager::RequestSizing; using ReportSizingManager::ReportSizingOutput; using Psychrometrics::PsyCpAirFnWTdb; using Psychrometrics::RhoH2O; @@ -951,12 +983,17 @@ namespace PurchasedAirManager { using Psychrometrics::CPCW; using Psychrometrics::PsyHFnTdbW; using General::RoundSigDigits; + using DataHVACGlobals::SystemAirflowSizing; + using DataHVACGlobals::CoolingAirflowSizing; + using DataHVACGlobals::HeatingAirflowSizing; + using DataHVACGlobals::CoolingCapacitySizing; + using DataHVACGlobals::HeatingCapacitySizing; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: // SUBROUTINE PARAMETER DEFINITIONS: - // na + static std::string const RoutineName("SizePurchasedAir: "); // include trailing blank space // INTERFACE BLOCK SPECIFICATIONS: // na @@ -980,6 +1017,21 @@ namespace PurchasedAirManager { Real64 MaxCoolTotCapDes; // Autosized maximum sensible cooling capacity for reporting Real64 MaxCoolTotCapUser; // Hardsized maximum sensible cooling capacity for reporting + std::string CompName; // component name + std::string CompType; // component type + std::string SizingString; // input field sizing description (e.g., Nominal Capacity) + bool bPRINT = true; // TRUE if sizing is reported to output (eio) + Real64 TempSize; // autosized value of coil input field + int FieldNum = 2; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) + bool PrintFlag; // TRUE when sizing information is reported in the eio file + int zoneHVACIndex; // index of zoneHVAC equipment sizing specification + int SAFMethod( 0 ); // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow ...) + int CapSizingMethod(0); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) + + Real64 CoolingAirVolFlowDes; // cooling supply air flow rate + Real64 HeatingAirVolFlowDes; // heating supply air flow rate + IsAutoSize = false; MaxHeatVolFlowRateDes = 0.0; MaxHeatVolFlowRateUser = 0.0; @@ -990,169 +1042,396 @@ namespace PurchasedAirManager { MaxCoolTotCapDes = 0.0; MaxCoolTotCapUser = 0.0; - if ( ( PurchAir( PurchAirNum ).MaxHeatVolFlowRate == AutoSize ) && ( ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRate ) || ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRateAndCapacity ) ) ) { - IsAutoSize = true; - } + ZoneHeatingOnlyFan = false; + ZoneCoolingOnlyFan = false; + CompType = PurchAir(PurchAirNum).cObjectName; + CompName = PurchAir(PurchAirNum).Name; + + if (CurZoneEqNum > 0) { + if (PurchAir( PurchAirNum ).HVACSizingIndex > 0) { + DataZoneNumber = PurchAir(PurchAirNum).ZonePtr; + zoneHVACIndex = PurchAir(PurchAirNum).HVACSizingIndex; + + // N5 , \field Maximum Heating Air Flow Rate + FieldNum = 5; + PrintFlag = true; + SizingString = PurchAirNumericFields(PurchAirNum).FieldNames(FieldNum) + " [m3/s]"; + if (ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod > 0) { + SizingMethod = HeatingAirflowSizing; + ZoneHeatingOnlyFan = true; + SAFMethod = ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; + if (SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow) { + if (SAFMethod == SupplyAirFlowRate){ + if ((ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow == AutoSize) && ((PurchAir(PurchAirNum).HeatingLimit == LimitFlowRate) || (PurchAir(PurchAirNum).HeatingLimit == LimitFlowRateAndCapacity))) { + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + HeatingAirVolFlowDes = TempSize; + } else { + if (ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow > 0.0) { + RequestSizing(CompType, CompName, SizingMethod, SizingString, ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow, PrintFlag, RoutineName); + HeatingAirVolFlowDes = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + } + } + } else if (SAFMethod == FlowPerFloorArea){ + DataHeatFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + DataScalableSizingON = true; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + HeatingAirVolFlowDes = TempSize; + } else if (SAFMethod == FractionOfAutosizedHeatingAirflow){ + DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + if ((ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow == AutoSize) && ((PurchAir(PurchAirNum).HeatingLimit == LimitFlowRate) || (PurchAir(PurchAirNum).HeatingLimit == LimitFlowRateAndCapacity))) { + TempSize = AutoSize; + DataScalableSizingON = true; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + HeatingAirVolFlowDes = TempSize; + } - if ( CurZoneEqNum > 0 ) { - if ( ! IsAutoSize && ! ZoneSizingRunDone ) { // Simulation continue - if ( PurchAir( PurchAirNum ).MaxHeatVolFlowRate > 0.0 ) { - ReportSizingOutput( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name, "User-Specified Maximum Heating Air Flow Rate [m3/s]", PurchAir( PurchAirNum ).MaxHeatVolFlowRate ); - } - } else { - CheckZoneSizing( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name ); - MaxHeatVolFlowRateDes = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; - if ( MaxHeatVolFlowRateDes < SmallAirVolFlow ) { - MaxHeatVolFlowRateDes = 0.0; - } - if ( IsAutoSize ) { - PurchAir( PurchAirNum ).MaxHeatVolFlowRate = MaxHeatVolFlowRateDes; - ReportSizingOutput( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name, "Design Size Maximum Heating Air Flow Rate [m3/s]", MaxHeatVolFlowRateDes ); - } else { - if ( PurchAir( PurchAirNum ).MaxHeatVolFlowRate > 0.0 && MaxHeatVolFlowRateDes > 0.0 ) { - MaxHeatVolFlowRateUser = PurchAir( PurchAirNum ).MaxHeatVolFlowRate; - ReportSizingOutput( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name, "Design Size Maximum Heating Air Flow Rate [m3/s]", MaxHeatVolFlowRateDes, "User-Specified Maximum Heating Air Flow Rate [m3/s]", MaxHeatVolFlowRateUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( MaxHeatVolFlowRateDes - MaxHeatVolFlowRateUser ) / MaxHeatVolFlowRateUser ) > AutoVsHardSizingThreshold ) { - ShowMessage( "SizePurchasedAir: Potential issue with equipment sizing for " + PurchAir( PurchAirNum ).cObjectName + ' ' + PurchAir( PurchAirNum ).Name ); - ShowContinueError( "User-Specified Maximum Heating Air Flow Rate of " + RoundSigDigits( MaxHeatVolFlowRateUser, 5 ) + " [m3/s]" ); - ShowContinueError( "differs from Design Size Maximum Heating Air Flow Rate of " + RoundSigDigits( MaxHeatVolFlowRateDes, 5 ) + " [m3/s]" ); - ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); - ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); + } else { + // Invalid sizing method + } + } else if (SAFMethod == FlowPerHeatingCapacity) { + SizingMethod = HeatingCapacitySizing; + TempSize = AutoSize; + PrintFlag = false; + if ((ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow == AutoSize) && ((PurchAir(PurchAirNum).HeatingLimit == LimitFlowRate) || (PurchAir(PurchAirNum).HeatingLimit == LimitFlowRateAndCapacity))) { + TempSize = AutoSize; + DataScalableSizingON = true; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DataAutosizedHeatingCapacity = TempSize; + DataFlowPerHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + SizingMethod = HeatingAirflowSizing; + PrintFlag = true; + TempSize = AutoSize; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + HeatingAirVolFlowDes = TempSize; + } + } + MaxHeatVolFlowRateDes = max(0.0, HeatingAirVolFlowDes); + PurchAir(PurchAirNum).MaxHeatVolFlowRate = MaxHeatVolFlowRateDes; + ZoneHeatingOnlyFan = false; + + CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod; + ZoneEqSizing(CurZoneEqNum).CapSizingMethod = CapSizingMethod; + if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { + if (CapSizingMethod == HeatingDesignCapacity){ + if (ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity > 0.0) { + ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + } + TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + } + else if (CapSizingMethod == CapacityPerFloorArea){ + DataHeatingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + DataScalableSizingON = true; + } + else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + TempSize = AutoSize; + } + } + SizingMethod = HeatingCapacitySizing; + SizingString = ""; + ZoneHeatingOnlyFan = true; + PrintFlag = false; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + MaxHeatSensCapDes = TempSize; + ZoneHeatingOnlyFan = false; + if (MaxHeatSensCapDes < SmallLoad) { + MaxHeatSensCapDes = 0.0; + } + if (IsAutoSize) { + PurchAir(PurchAirNum).MaxHeatSensCap = MaxHeatSensCapDes; + ReportSizingOutput(PurchAir(PurchAirNum).cObjectName, PurchAir(PurchAirNum).Name, "Design Size Maximum Sensible Heating Capacity [W]", MaxHeatSensCapDes); + // If there is OA, check if sizing calcs have OA>0, throw warning if not + if ((PurchAir(PurchAirNum).OutdoorAir) && (FinalZoneSizing(CurZoneEqNum).MinOA == 0.0)) { + ShowWarningError("InitPurchasedAir: In " + PurchAir(PurchAirNum).cObjectName + " = " + PurchAir(PurchAirNum).Name); + ShowContinueError("There is outdoor air specified in this object, " "but the design outdoor air flow rate for this "); + ShowContinueError("zone is zero. The Maximum Sensible Heating Capacity will be " "autosized for zero outdoor air flow. "); + ShowContinueError("Check the outdoor air specifications in the Sizing:Zone object for zone " + FinalZoneSizing(CurZoneEqNum).ZoneName + '.'); + } + } + else { + if (PurchAir(PurchAirNum).MaxHeatSensCap > 0.0 && MaxHeatSensCapDes > 0.0) { + MaxHeatSensCapUser = PurchAir(PurchAirNum).MaxHeatSensCap; + ReportSizingOutput(PurchAir(PurchAirNum).cObjectName, PurchAir(PurchAirNum).Name, "Design Size Maximum Sensible Heating Capacity [W]", MaxHeatSensCapDes, "User-Specified Maximum Sensible Heating Capacity [W]", MaxHeatSensCapUser); + if (DisplayExtraWarnings) { + if ((std::abs(MaxHeatSensCapDes - MaxHeatSensCapUser) / MaxHeatSensCapUser) > AutoVsHardSizingThreshold) { + ShowMessage("SizePurchasedAir: Potential issue with equipment sizing for " + PurchAir(PurchAirNum).cObjectName + ' ' + PurchAir(PurchAirNum).Name); + ShowContinueError("...User-Specified Maximum Sensible Heating Capacity of " + RoundSigDigits(MaxHeatSensCapUser, 2) + " [W]"); + ShowContinueError("...differs from Design Size Maximum Sensible Heating Capacity of " + RoundSigDigits(MaxHeatSensCapDes, 2) + " [W]"); + ShowContinueError("This may, or may not, indicate mismatched component sizes."); + ShowContinueError("Verify that the value entered is intended and is consistent with other components."); + } } } } } - } - } - - IsAutoSize = false; - if ( ( PurchAir( PurchAirNum ).MaxCoolVolFlowRate == AutoSize ) && ( ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRate ) || ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRateAndCapacity ) || ( PurchAir( PurchAirNum ).OutdoorAir && PurchAir( PurchAirNum ).EconomizerType != NoEconomizer ) ) ) { - IsAutoSize = true; - } - if ( CurZoneEqNum > 0 ) { - if ( ! IsAutoSize && ! ZoneSizingRunDone ) { // Simulation continue - if ( PurchAir( PurchAirNum ).MaxCoolVolFlowRate > 0.0 ) { - ReportSizingOutput( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name, "User-Specified Maximum Cooling Air Flow Rate [m3/s]", PurchAir( PurchAirNum ).MaxCoolVolFlowRate ); + //N7 , \field Maximum Cooling Air Flow Rate + FieldNum = 7; + PrintFlag = true; + SizingString = PurchAirNumericFields(PurchAirNum).FieldNames(FieldNum) + " [m3/s]"; + if (ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod > 0) { + SizingMethod = CoolingAirflowSizing; + ZoneCoolingOnlyFan = true; + SAFMethod = ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; + if (SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow) { + if (SAFMethod == SupplyAirFlowRate){ + if ((ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow == AutoSize) && ((PurchAir(PurchAirNum).CoolingLimit == LimitFlowRate) || (PurchAir(PurchAirNum).CoolingLimit == LimitFlowRateAndCapacity) || (PurchAir(PurchAirNum).OutdoorAir && PurchAir(PurchAirNum).EconomizerType != NoEconomizer))) { + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + CoolingAirVolFlowDes = TempSize; + } else { + if (ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow > 0.0) { + RequestSizing(CompType, CompName, SizingMethod, SizingString, ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow, PrintFlag, RoutineName); + CoolingAirVolFlowDes = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + } + } + } else if (SAFMethod == FlowPerFloorArea){ + DataCoolFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + DataScalableSizingON = true; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + CoolingAirVolFlowDes = TempSize; + } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ + if ((ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow == AutoSize) && ((PurchAir(PurchAirNum).CoolingLimit == LimitFlowRate) || (PurchAir(PurchAirNum).CoolingLimit == LimitFlowRateAndCapacity) || (PurchAir(PurchAirNum).OutdoorAir && PurchAir(PurchAirNum).EconomizerType != NoEconomizer))) { + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + CoolingAirVolFlowDes = TempSize; + } + } else { + // Invlid scalable sizing method + } + } else if (SAFMethod == FlowPerCoolingCapacity) { + if ((ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow == AutoSize) && ((PurchAir(PurchAirNum).CoolingLimit == LimitFlowRate) || (PurchAir(PurchAirNum).CoolingLimit == LimitFlowRateAndCapacity) || (PurchAir(PurchAirNum).OutdoorAir && PurchAir(PurchAirNum).EconomizerType != NoEconomizer))) { + SizingMethod = CoolingCapacitySizing; + TempSize = AutoSize; + PrintFlag = false; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DataAutosizedCoolingCapacity = TempSize; + DataFlowPerCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + SizingMethod = CoolingAirflowSizing; + PrintFlag = true; + TempSize = AutoSize; + DataScalableSizingON = true; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + CoolingAirVolFlowDes = TempSize; + } + } + MaxCoolVolFlowRateDes = max(0.0, CoolingAirVolFlowDes); + PurchAir( PurchAirNum ).MaxCoolVolFlowRate = MaxCoolVolFlowRateDes; + ZoneCoolingOnlyFan = false; + DataScalableSizingON = false; + + CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).CoolingCapMethod; + ZoneEqSizing(CurZoneEqNum).CapSizingMethod = CapSizingMethod; + if (CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity) { + if (CapSizingMethod == CoolingDesignCapacity){ + if (ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity > 0.0) { + ZoneEqSizing(CurZoneEqNum).CoolingCapacity = true; + ZoneEqSizing(CurZoneEqNum).DesCoolingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + } else { + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolMassFlow; + } + TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + } else if (CapSizingMethod == CapacityPerFloorArea){ + DataCoolingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + DataScalableSizingON = true; + } else if (CapSizingMethod == FractionOfAutosizedCoolingCapacity){ + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolMassFlow; + TempSize = AutoSize; + } + } + SizingMethod = CoolingCapacitySizing; + SizingString = ""; + ZoneCoolingOnlyFan = true; + PrintFlag = false; + TempSize = PurchAir(PurchAirNum).MaxCoolTotCap; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + MaxCoolTotCapDes = TempSize; + ZoneCoolingOnlyFan = false; + if (MaxCoolTotCapDes < SmallLoad) { + MaxCoolTotCapDes = 0.0; + } + if (IsAutoSize) { + PurchAir(PurchAirNum).MaxCoolTotCap = MaxCoolTotCapDes; + ReportSizingOutput(PurchAir(PurchAirNum).cObjectName, PurchAir(PurchAirNum).Name, "Design Size Maximum Total Cooling Capacity [W]", MaxCoolTotCapDes); + // If there is OA, check if sizing calcs have OA>0, throw warning if not + if ((PurchAir(PurchAirNum).OutdoorAir) && (FinalZoneSizing(CurZoneEqNum).MinOA == 0.0)) { + ShowWarningError("SizePurchasedAir: In " + PurchAir(PurchAirNum).cObjectName + " = " + PurchAir(PurchAirNum).Name); + ShowContinueError("There is outdoor air specified in this object, " "but the design outdoor air flow rate for this "); + ShowContinueError("zone is zero. The Maximum Total Cooling Capacity will be autosized " "for zero outdoor air flow. "); + ShowContinueError("Check the outdoor air specifications in the Sizing:Zone object for zone " + FinalZoneSizing(CurZoneEqNum).ZoneName + '.'); + } + } + else { + if (PurchAir(PurchAirNum).MaxCoolTotCap > 0.0 && MaxCoolTotCapDes > 0.0) { + MaxCoolTotCapUser = PurchAir(PurchAirNum).MaxCoolTotCap; + ReportSizingOutput(PurchAir(PurchAirNum).cObjectName, PurchAir(PurchAirNum).Name, "Design Size Maximum Total Cooling Capacity [W]", MaxCoolTotCapDes, "User-Specified Maximum Total Cooling Capacity [W]", MaxCoolTotCapUser); + if (DisplayExtraWarnings) { + if ((std::abs(MaxCoolTotCapDes - MaxCoolTotCapUser) / MaxCoolTotCapUser) > AutoVsHardSizingThreshold) { + ShowMessage("SizePurchasedAir: Potential issue with equipment sizing for " + PurchAir(PurchAirNum).cObjectName + ' ' + PurchAir(PurchAirNum).Name); + ShowContinueError("User-Specified Maximum Total Cooling Capacity of " + RoundSigDigits(MaxCoolTotCapUser, 2) + " [W]"); + ShowContinueError("differs from Design Size Maximum Total Cooling Capacity of " + RoundSigDigits(MaxCoolTotCapDes, 2) + " [W]"); + ShowContinueError("This may, or may not, indicate mismatched component sizes."); + ShowContinueError("Verify that the value entered is intended and is consistent with other components."); + } + } + } + } + } + } else { - CheckZoneSizing( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name ); - MaxCoolVolFlowRateDes = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; - if ( MaxCoolVolFlowRateDes < SmallAirVolFlow ) { - MaxCoolVolFlowRateDes = 0.0; + //SizingString = "Maximum Heating Air Flow Rate [m3/s]"; + SizingMethod = HeatingAirflowSizing; + FieldNum = 5; + SizingString = PurchAirNumericFields(PurchAirNum).FieldNames(FieldNum) + " [m3/s]"; + IsAutoSize = false; + PrintFlag = true; + if ((PurchAir(PurchAirNum).MaxHeatVolFlowRate == AutoSize) && ((PurchAir(PurchAirNum).HeatingLimit == LimitFlowRate) || (PurchAir(PurchAirNum).HeatingLimit == LimitFlowRateAndCapacity))) { + IsAutoSize = true; } - if ( IsAutoSize ) { - PurchAir( PurchAirNum ).MaxCoolVolFlowRate = MaxCoolVolFlowRateDes; - ReportSizingOutput( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name, "Design Size Maximum Cooling Air Flow Rate [m3/s]", MaxCoolVolFlowRateDes ); + if ( ! IsAutoSize && ! ZoneSizingRunDone ) { // Simulation continue + if (PurchAir(PurchAirNum).MaxHeatVolFlowRate > 0.0) { + RequestSizing(CompType, CompName, SizingMethod, SizingString, PurchAir(PurchAirNum).MaxHeatVolFlowRate, PrintFlag, RoutineName); + } + MaxHeatVolFlowRateDes = 0.0; } else { - if ( PurchAir( PurchAirNum ).MaxCoolVolFlowRate > 0.0 && MaxCoolVolFlowRateDes > 0.0 ) { - MaxCoolVolFlowRateUser = PurchAir( PurchAirNum ).MaxCoolVolFlowRate; - ReportSizingOutput( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name, "Design Size Maximum Cooling Air Flow Rate [m3/s]", MaxCoolVolFlowRateDes, "User-Specified Maximum Cooling Air Flow Rate [m3/s]", MaxCoolVolFlowRateUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( MaxCoolVolFlowRateDes - MaxCoolVolFlowRateUser ) / MaxCoolVolFlowRateUser ) > AutoVsHardSizingThreshold ) { - ShowMessage( "SizePurchasedAir: Potential issue with equipment sizing for " + PurchAir( PurchAirNum ).cObjectName + ' ' + PurchAir( PurchAirNum ).Name ); - ShowContinueError( "User-Specified Maximum Cooling Air Flow Rate of " + RoundSigDigits( MaxCoolVolFlowRateUser, 5 ) + " [m3/s]" ); - ShowContinueError( "differs from Design Size Maximum Cooling Air Flow Rate of " + RoundSigDigits( MaxCoolVolFlowRateDes, 5 ) + " [m3/s]" ); - ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); - ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); - } - } + ZoneHeatingOnlyFan = true; + TempSize = PurchAir(PurchAirNum).MaxHeatVolFlowRate; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + MaxHeatVolFlowRateDes = TempSize; + PurchAir(PurchAirNum).MaxHeatVolFlowRate = MaxHeatVolFlowRateDes; + ZoneHeatingOnlyFan = false; + } + + IsAutoSize = false; + SizingMethod = HeatingCapacitySizing; + FieldNum = 6; + SizingString = PurchAirNumericFields(PurchAirNum).FieldNames(FieldNum) + " [m3/s]"; + // N6, \field Maximum Sensible Heating Capacity + if ((PurchAir(PurchAirNum).MaxHeatSensCap == AutoSize) && ((PurchAir(PurchAirNum).HeatingLimit == LimitCapacity) || (PurchAir(PurchAirNum).HeatingLimit == LimitFlowRateAndCapacity))) { + IsAutoSize = true; + } + if (!IsAutoSize && !ZoneSizingRunDone) { // Simulation continue + if (PurchAir(PurchAirNum).MaxHeatSensCap > 0.0) { + RequestSizing(CompType, CompName, SizingMethod, SizingString, PurchAir(PurchAirNum).MaxHeatSensCap, PrintFlag, RoutineName); } } - } - } - - IsAutoSize = false; - if ( ( PurchAir( PurchAirNum ).MaxHeatSensCap == AutoSize ) && ( ( PurchAir( PurchAirNum ).HeatingLimit == LimitCapacity ) || ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRateAndCapacity ) ) ) { - IsAutoSize = true; - } - - if ( CurZoneEqNum > 0 ) { - if ( ! IsAutoSize && ! ZoneSizingRunDone ) { // Simulation continue - if ( PurchAir( PurchAirNum ).MaxHeatSensCap > 0.0 ) { - ReportSizingOutput( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name, "User-Specified Maximum Sensible Heating Capacity [W]", PurchAir( PurchAirNum ).MaxHeatSensCap ); + else { + + TempSize = PurchAir(PurchAirNum).MaxHeatSensCap; + ZoneHeatingOnlyFan = true; + PrintFlag = false; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + MaxHeatSensCapDes = TempSize; + ZoneHeatingOnlyFan = false; } - } else { - CheckZoneSizing( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name ); - MixedAirTemp = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTemp; - OutletTemp = FinalZoneSizing( CurZoneEqNum ).HeatDesTemp; - OutletHumRat = FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat; - DesignLoad = PsyCpAirFnWTdb( OutletHumRat, 0.5 * ( MixedAirTemp + OutletTemp ) ) * FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow * ( OutletTemp - MixedAirTemp ); - MaxHeatSensCapDes = DesignLoad; - if ( MaxHeatSensCapDes < SmallLoad ) { + if (MaxHeatSensCapDes < SmallLoad) { MaxHeatSensCapDes = 0.0; } - if ( IsAutoSize ) { - PurchAir( PurchAirNum ).MaxHeatSensCap = MaxHeatSensCapDes; - ReportSizingOutput( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name, "Design Size Maximum Sensible Heating Capacity [W]", MaxHeatSensCapDes ); + if (IsAutoSize) { + PurchAir(PurchAirNum).MaxHeatSensCap = MaxHeatSensCapDes; + ReportSizingOutput(PurchAir(PurchAirNum).cObjectName, PurchAir(PurchAirNum).Name, "Design Size Maximum Sensible Heating Capacity [W]", MaxHeatSensCapDes); // If there is OA, check if sizing calcs have OA>0, throw warning if not - if ( ( PurchAir( PurchAirNum ).OutdoorAir ) && ( FinalZoneSizing( CurZoneEqNum ).MinOA == 0.0 ) ) { - ShowWarningError( "InitPurchasedAir: In " + PurchAir( PurchAirNum ).cObjectName + " = " + PurchAir( PurchAirNum ).Name ); - ShowContinueError( "There is outdoor air specified in this object, " "but the design outdoor air flow rate for this " ); - ShowContinueError( "zone is zero. The Maximum Sensible Heating Capacity will be " "autosized for zero outdoor air flow. " ); - ShowContinueError( "Check the outdoor air specifications in the Sizing:Zone object for zone " + FinalZoneSizing( CurZoneEqNum ).ZoneName + '.' ); + if ((PurchAir(PurchAirNum).OutdoorAir) && (FinalZoneSizing(CurZoneEqNum).MinOA == 0.0)) { + ShowWarningError("InitPurchasedAir: In " + PurchAir(PurchAirNum).cObjectName + " = " + PurchAir(PurchAirNum).Name); + ShowContinueError("There is outdoor air specified in this object, " "but the design outdoor air flow rate for this "); + ShowContinueError("zone is zero. The Maximum Sensible Heating Capacity will be " "autosized for zero outdoor air flow. "); + ShowContinueError("Check the outdoor air specifications in the Sizing:Zone object for zone " + FinalZoneSizing(CurZoneEqNum).ZoneName + '.'); } - } else { - if ( PurchAir( PurchAirNum ).MaxHeatSensCap > 0.0 && MaxHeatSensCapDes > 0.0 ) { - MaxHeatSensCapUser = PurchAir( PurchAirNum ).MaxHeatSensCap; - ReportSizingOutput( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name, "Design Size Maximum Sensible Heating Capacity [W]", MaxHeatSensCapDes, "User-Specified Maximum Sensible Heating Capacity [W]", MaxHeatSensCapUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( MaxHeatSensCapDes - MaxHeatSensCapUser ) / MaxHeatSensCapUser ) > AutoVsHardSizingThreshold ) { - ShowMessage( "SizePurchasedAir: Potential issue with equipment sizing for " + PurchAir( PurchAirNum ).cObjectName + ' ' + PurchAir( PurchAirNum ).Name ); - ShowContinueError( "...User-Specified Maximum Sensible Heating Capacity of " + RoundSigDigits( MaxHeatSensCapUser, 2 ) + " [W]" ); - ShowContinueError( "...differs from Design Size Maximum Sensible Heating Capacity of " + RoundSigDigits( MaxHeatSensCapDes, 2 ) + " [W]" ); - ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); - ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); + } + else { + if (PurchAir(PurchAirNum).MaxHeatSensCap > 0.0 && MaxHeatSensCapDes > 0.0) { + MaxHeatSensCapUser = PurchAir(PurchAirNum).MaxHeatSensCap; + ReportSizingOutput(PurchAir(PurchAirNum).cObjectName, PurchAir(PurchAirNum).Name, "Design Size Maximum Sensible Heating Capacity [W]", MaxHeatSensCapDes, "User-Specified Maximum Sensible Heating Capacity [W]", MaxHeatSensCapUser); + if (DisplayExtraWarnings) { + if ((std::abs(MaxHeatSensCapDes - MaxHeatSensCapUser) / MaxHeatSensCapUser) > AutoVsHardSizingThreshold) { + ShowMessage("SizePurchasedAir: Potential issue with equipment sizing for " + PurchAir(PurchAirNum).cObjectName + ' ' + PurchAir(PurchAirNum).Name); + ShowContinueError("...User-Specified Maximum Sensible Heating Capacity of " + RoundSigDigits(MaxHeatSensCapUser, 2) + " [W]"); + ShowContinueError("...differs from Design Size Maximum Sensible Heating Capacity of " + RoundSigDigits(MaxHeatSensCapDes, 2) + " [W]"); + ShowContinueError("This may, or may not, indicate mismatched component sizes."); + ShowContinueError("Verify that the value entered is intended and is consistent with other components."); } } } } - } - } - - IsAutoSize = false; - if ( ( PurchAir( PurchAirNum ).MaxCoolTotCap == AutoSize ) && ( ( PurchAir( PurchAirNum ).CoolingLimit == LimitCapacity ) || ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRateAndCapacity ) ) ) { - IsAutoSize = true; - } - if ( CurZoneEqNum > 0 ) { - if ( ! IsAutoSize && ! ZoneSizingRunDone ) { // Simulation continue - if ( PurchAir( PurchAirNum ).MaxCoolTotCap > 0.0 ) { - ReportSizingOutput( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name, "User-Specified Maximum Heating Air Flow Rate [m3/s]", PurchAir( PurchAirNum ).MaxCoolTotCap ); + //N7 , \field Maximum Cooling Air Flow Rate + SizingMethod = CoolingAirflowSizing; + FieldNum = 7; + PrintFlag = true; + SizingString = PurchAirNumericFields(PurchAirNum).FieldNames(FieldNum) + " [m3/s]"; + IsAutoSize = false; + if ((PurchAir(PurchAirNum).MaxCoolVolFlowRate == AutoSize) && ((PurchAir(PurchAirNum).CoolingLimit == LimitFlowRate) || (PurchAir(PurchAirNum).CoolingLimit == LimitFlowRateAndCapacity) || (PurchAir(PurchAirNum).OutdoorAir && PurchAir(PurchAirNum).EconomizerType != NoEconomizer))) { + IsAutoSize = true; } - } else { - CheckZoneSizing( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name ); - MixedAirTemp = FinalZoneSizing( CurZoneEqNum ).DesCoolCoilInTemp; - OutletTemp = FinalZoneSizing( CurZoneEqNum ).CoolDesTemp; - OutletHumRat = FinalZoneSizing( CurZoneEqNum ).CoolDesHumRat; - MixedAirHumRat = FinalZoneSizing( CurZoneEqNum ).DesCoolCoilInHumRat; - DesignLoad = FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow * ( PsyHFnTdbW( MixedAirTemp, MixedAirHumRat ) - PsyHFnTdbW( OutletTemp, OutletHumRat ) ); - MaxCoolTotCapDes = DesignLoad; - if ( MaxCoolTotCapDes < SmallLoad ) { + if (!IsAutoSize && !ZoneSizingRunDone) { // Simulation continue + if (PurchAir(PurchAirNum).MaxCoolVolFlowRate > 0.0) { + RequestSizing(CompType, CompName, SizingMethod, SizingString, PurchAir(PurchAirNum).MaxCoolVolFlowRate, PrintFlag, RoutineName); + } + } else { + ZoneCoolingOnlyFan = true; + TempSize = PurchAir(PurchAirNum).MaxCoolVolFlowRate; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + MaxCoolVolFlowRateDes = TempSize; + PurchAir(PurchAirNum).MaxCoolVolFlowRate = MaxCoolVolFlowRateDes; + ZoneCoolingOnlyFan = false; + } + + IsAutoSize = false; + SizingMethod = CoolingCapacitySizing; + FieldNum = 8; + SizingString = PurchAirNumericFields(PurchAirNum).FieldNames(FieldNum) + " [m3/s]"; + // N8, \field Maximum Total Cooling Capacity + if ((PurchAir(PurchAirNum).MaxCoolTotCap == AutoSize) && ((PurchAir(PurchAirNum).CoolingLimit == LimitCapacity) || (PurchAir(PurchAirNum).CoolingLimit == LimitFlowRateAndCapacity))) { + IsAutoSize = true; + } + if (!IsAutoSize && !ZoneSizingRunDone) { // Simulation continue + if (PurchAir(PurchAirNum).MaxCoolTotCap > 0.0) { + RequestSizing(CompType, CompName, SizingMethod, SizingString, PurchAir(PurchAirNum).MaxCoolTotCap, PrintFlag, RoutineName); + } + } + else { + ZoneCoolingOnlyFan = true; + PrintFlag = false; + TempSize = PurchAir(PurchAirNum).MaxCoolTotCap; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + MaxCoolTotCapDes = TempSize; + ZoneCoolingOnlyFan = false; + } + if (MaxCoolTotCapDes < SmallLoad) { MaxCoolTotCapDes = 0.0; } - if ( IsAutoSize ) { - PurchAir( PurchAirNum ).MaxCoolTotCap = MaxCoolTotCapDes; - ReportSizingOutput( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name, "Design Size Maximum Total Cooling Capacity [W]", MaxCoolTotCapDes ); + if (IsAutoSize) { + PurchAir(PurchAirNum).MaxCoolTotCap = MaxCoolTotCapDes; + ReportSizingOutput(PurchAir(PurchAirNum).cObjectName, PurchAir(PurchAirNum).Name, "Design Size Maximum Total Cooling Capacity [W]", MaxCoolTotCapDes); // If there is OA, check if sizing calcs have OA>0, throw warning if not - if ( ( PurchAir( PurchAirNum ).OutdoorAir ) && ( FinalZoneSizing( CurZoneEqNum ).MinOA == 0.0 ) ) { - ShowWarningError( "SizePurchasedAir: In " + PurchAir( PurchAirNum ).cObjectName + " = " + PurchAir( PurchAirNum ).Name ); - ShowContinueError( "There is outdoor air specified in this object, " "but the design outdoor air flow rate for this " ); - ShowContinueError( "zone is zero. The Maximum Total Cooling Capacity will be autosized " "for zero outdoor air flow. " ); - ShowContinueError( "Check the outdoor air specifications in the Sizing:Zone object for zone " + FinalZoneSizing( CurZoneEqNum ).ZoneName + '.' ); + if ((PurchAir(PurchAirNum).OutdoorAir) && (FinalZoneSizing(CurZoneEqNum).MinOA == 0.0)) { + ShowWarningError("SizePurchasedAir: In " + PurchAir(PurchAirNum).cObjectName + " = " + PurchAir(PurchAirNum).Name); + ShowContinueError("There is outdoor air specified in this object, " "but the design outdoor air flow rate for this "); + ShowContinueError("zone is zero. The Maximum Total Cooling Capacity will be autosized " "for zero outdoor air flow. "); + ShowContinueError("Check the outdoor air specifications in the Sizing:Zone object for zone " + FinalZoneSizing(CurZoneEqNum).ZoneName + '.'); } - } else { - if ( PurchAir( PurchAirNum ).MaxCoolTotCap > 0.0 && MaxCoolTotCapDes > 0.0 ) { - MaxCoolTotCapUser = PurchAir( PurchAirNum ).MaxCoolTotCap; - ReportSizingOutput( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name, "Design Size Maximum Total Cooling Capacity [W]", MaxCoolTotCapDes, "User-Specified Maximum Total Cooling Capacity [W]", MaxCoolTotCapUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( MaxCoolTotCapDes - MaxCoolTotCapUser ) / MaxCoolTotCapUser ) > AutoVsHardSizingThreshold ) { - ShowMessage( "SizePurchasedAir: Potential issue with equipment sizing for " + PurchAir( PurchAirNum ).cObjectName + ' ' + PurchAir( PurchAirNum ).Name ); - ShowContinueError( "User-Specified Maximum Total Cooling Capacity of " + RoundSigDigits( MaxCoolTotCapUser, 2 ) + " [W]" ); - ShowContinueError( "differs from Design Size Maximum Total Cooling Capacity of " + RoundSigDigits( MaxCoolTotCapDes, 2 ) + " [W]" ); - ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); - ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); + } + else { + if (PurchAir(PurchAirNum).MaxCoolTotCap > 0.0 && MaxCoolTotCapDes > 0.0) { + MaxCoolTotCapUser = PurchAir(PurchAirNum).MaxCoolTotCap; + ReportSizingOutput(PurchAir(PurchAirNum).cObjectName, PurchAir(PurchAirNum).Name, "Design Size Maximum Total Cooling Capacity [W]", MaxCoolTotCapDes, "User-Specified Maximum Total Cooling Capacity [W]", MaxCoolTotCapUser); + if (DisplayExtraWarnings) { + if ((std::abs(MaxCoolTotCapDes - MaxCoolTotCapUser) / MaxCoolTotCapUser) > AutoVsHardSizingThreshold) { + ShowMessage("SizePurchasedAir: Potential issue with equipment sizing for " + PurchAir(PurchAirNum).cObjectName + ' ' + PurchAir(PurchAirNum).Name); + ShowContinueError("User-Specified Maximum Total Cooling Capacity of " + RoundSigDigits(MaxCoolTotCapUser, 2) + " [W]"); + ShowContinueError("differs from Design Size Maximum Total Cooling Capacity of " + RoundSigDigits(MaxCoolTotCapDes, 2) + " [W]"); + ShowContinueError("This may, or may not, indicate mismatched component sizes."); + ShowContinueError("Verify that the value entered is intended and is consistent with other components."); } } } diff --git a/src/EnergyPlus/PurchasedAirManager.hh b/src/EnergyPlus/PurchasedAirManager.hh index 7992e15390a..bbf7d5d0315 100644 --- a/src/EnergyPlus/PurchasedAirManager.hh +++ b/src/EnergyPlus/PurchasedAirManager.hh @@ -186,6 +186,9 @@ namespace PurchasedAirManager { Real64 HtRecTotCoolRate; // Total cooling rate from heat reocovery [W] Real64 TimeEconoActive; // Time economizer is active [hrs] Real64 TimeHtRecActive; // Time heat reocovery is active [hrs] + int ZonePtr; // pointer to a zone served by an Ideal load air system + int HVACSizingIndex; // index of a HVAC Sizing object for an Ideal load air system + // Default Constructor ZonePurchasedAir() : @@ -297,7 +300,9 @@ namespace PurchasedAirManager { HtRecLatCoolRate( 0.0 ), HtRecTotCoolRate( 0.0 ), TimeEconoActive( 0.0 ), - TimeHtRecActive( 0.0 ) + TimeHtRecActive( 0.0 ), + ZonePtr( 0 ), + HVACSizingIndex( 0 ) {} // Member Constructor @@ -415,7 +420,9 @@ namespace PurchasedAirManager { Real64 const HtRecLatCoolRate, // Latent cooling rate from heat reocovery [W] Real64 const HtRecTotCoolRate, // Total cooling rate from heat reocovery [W] Real64 const TimeEconoActive, // Time economizer is active [hrs] - Real64 const TimeHtRecActive // Time heat reocovery is active [hrs] + Real64 const TimeHtRecActive, // Time heat reocovery is active [hrs] + int const ZonePtr, // pointer to a zone served by an Ideal load air system + int const HVACSizingIndex // index of a HVAC Sizing object for an Ideal load air system ) : cObjectName( cObjectName ), Name( Name ), @@ -530,13 +537,33 @@ namespace PurchasedAirManager { HtRecLatCoolRate( HtRecLatCoolRate ), HtRecTotCoolRate( HtRecTotCoolRate ), TimeEconoActive( TimeEconoActive ), - TimeHtRecActive( TimeHtRecActive ) + TimeHtRecActive( TimeHtRecActive ), + ZonePtr( ZonePtr ), + HVACSizingIndex( HVACSizingIndex ) {} }; + struct PurchAirNumericFieldData + { + // Members + FArray1D_string FieldNames; + + // Default Constructor + PurchAirNumericFieldData() + {} + + // Member Constructor + PurchAirNumericFieldData( + FArray1_string const & FieldNames // Name of the HeatingCoil numeric field descriptions + ) : + FieldNames(FieldNames) + {} + }; + // Object Data extern FArray1D< ZonePurchasedAir > PurchAir; // Used to specify purchased air parameters + extern FArray1D< PurchAirNumericFieldData > PurchAirNumericFields; // Used to save the indecies of scalable sizing object for zone HVAC // Functions diff --git a/src/EnergyPlus/ReportSizingManager.cc b/src/EnergyPlus/ReportSizingManager.cc index 5d9f81097b0..da189935347 100644 --- a/src/EnergyPlus/ReportSizingManager.cc +++ b/src/EnergyPlus/ReportSizingManager.cc @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -252,6 +253,7 @@ namespace ReportSizingManager { using DataAirLoop::AirLoopControlInfo; using DataAirSystems::PrimaryAirSystem; using DataGlobals::DisplayExtraWarnings; + using DataHeatBalance::Zone; using namespace DataSizing; // Data added in zone eq component sizing routines using namespace DataHVACGlobals; using General::RoundSigDigits; @@ -261,6 +263,7 @@ namespace ReportSizingManager { using Psychrometrics::PsyHFnTdbW; using Psychrometrics::PsyRhoAirFnPbTdbW; using Psychrometrics::PsyTwbFnTdbWPb; + using DataEnvironment::StdRhoAir; // SUBROUTINE PARAMETER DEFINITIONS: // na @@ -302,6 +305,8 @@ namespace ReportSizingManager { bool OASysFlag; // Logical flag determines if parent object set OA Sys coil property bool AirLoopSysFlag; // Logical flag determines if parent object set air loop coil property Real64 RatedVolFlowPerRatedTotCap; // ratio of volume flow rate to capacity [m3/W] + Real64 DesCoolOAFlowFrac; // design outdoor air flow volume fraction + std::string ScalableSM; // scalable sizing methods label for reporting AutosizeDes = 0.0; AutosizeUser = 0.0; @@ -345,7 +350,7 @@ namespace ReportSizingManager { ShowFatalError( "Preceding conditions cause termination." ); } } else if ( CurZoneEqNum > 0 ) { - if ( !IsAutoSize && !SizingDesRunThisZone ) { + if (!IsAutoSize && !SizingDesRunThisZone && ! DataScalableSizingON && ! DataScalableCapSizingON) { HardSizeNoDesRun = true; AutosizeUser = SizingResult; if ( PrintWarningFlag && SizingResult > 0.0 ) { @@ -358,21 +363,132 @@ namespace ReportSizingManager { ReportSizingOutput( CompType, CompName, "User-Specified " + SizingString, SizingResult ); } } + } else if (!IsAutoSize && DataScalableSizingON && (SizingType == SystemAirflowSizing || SizingType == HeatingAirflowSizing || SizingType == SystemAirflowSizing) ) { + if ( ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingType ) == FlowPerFloorArea) { + if (ZoneCoolingOnlyFan) { + AutosizeDes = DataCoolFlowPerFloorArea * Zone(DataZoneNumber).FloorArea; + } else if (ZoneHeatingOnlyFan) { + AutosizeDes = DataHeatFlowPerFloorArea * Zone(DataZoneNumber).FloorArea; + } else if (ZoneEqSizing(CurZoneEqNum).CoolingAirFlow && !ZoneEqSizing(CurZoneEqNum).HeatingAirFlow) { + AutosizeDes = DataCoolFlowPerFloorArea * Zone(DataZoneNumber).FloorArea; + } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && !ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + AutosizeDes = DataHeatFlowPerFloorArea * Zone(DataZoneNumber).FloorArea; + } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + AutosizeDes = max(DataCoolFlowPerFloorArea * Zone(DataZoneNumber).FloorArea, DataHeatFlowPerFloorArea * Zone(DataZoneNumber).FloorArea); + } else { + AutosizeDes = max(DataCoolFlowPerFloorArea * Zone(DataZoneNumber).FloorArea, DataHeatFlowPerFloorArea * Zone(DataZoneNumber).FloorArea); + } + } } else { if ( SizingType == CoolingAirflowSizing || SizingType == HeatingAirflowSizing || SizingType == SystemAirflowSizing ) { - if ( ZoneCoolingOnlyFan ) { - AutosizeDes = FinalZoneSizing ( CurZoneEqNum ).DesCoolVolFlow; - } else if ( ZoneHeatingOnlyFan ) { - AutosizeDes = FinalZoneSizing ( CurZoneEqNum ).DesHeatVolFlow; - } else if ( ZoneEqSizing ( CurZoneEqNum ).CoolingAirFlow && !ZoneEqSizing ( CurZoneEqNum ).HeatingAirFlow ) { - AutosizeDes = ZoneEqSizing ( CurZoneEqNum ).CoolingAirVolFlow; - } else if ( ZoneEqSizing ( CurZoneEqNum ).HeatingAirFlow && !ZoneEqSizing ( CurZoneEqNum ).CoolingAirFlow ) { - AutosizeDes = ZoneEqSizing ( CurZoneEqNum ).HeatingAirVolFlow; - } else if ( ZoneEqSizing ( CurZoneEqNum ).HeatingAirFlow && ZoneEqSizing ( CurZoneEqNum ).CoolingAirFlow ) { - AutosizeDes = max ( ZoneEqSizing ( CurZoneEqNum ).CoolingAirVolFlow, ZoneEqSizing ( CurZoneEqNum ).HeatingAirVolFlow ); - } else { - AutosizeDes = max ( FinalZoneSizing ( CurZoneEqNum ).DesCoolVolFlow, FinalZoneSizing ( CurZoneEqNum ).DesHeatVolFlow ); + + { auto const SELECT_CASE_var( ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingType) ); + if ((SELECT_CASE_var == SupplyAirFlowRate) || (SELECT_CASE_var == None)) { + if (ZoneCoolingOnlyFan) { + AutosizeDes = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + } else if (ZoneHeatingOnlyFan) { + AutosizeDes = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + } else if (ZoneEqSizing(CurZoneEqNum).CoolingAirFlow && !ZoneEqSizing(CurZoneEqNum).HeatingAirFlow) { + AutosizeDes = ZoneEqSizing(CurZoneEqNum).CoolingAirVolFlow; + } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && !ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + AutosizeDes = ZoneEqSizing(CurZoneEqNum).HeatingAirVolFlow; + } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + AutosizeDes = max(ZoneEqSizing(CurZoneEqNum).CoolingAirVolFlow, ZoneEqSizing(CurZoneEqNum).HeatingAirVolFlow); + } else { + AutosizeDes = max(FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow, FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow); + } + + } else if (SELECT_CASE_var == FlowPerFloorArea) { + if (ZoneCoolingOnlyFan) { + AutosizeDes = DataCoolFlowPerFloorArea * Zone(DataZoneNumber).FloorArea; + } else if (ZoneHeatingOnlyFan) { + AutosizeDes = DataHeatFlowPerFloorArea * Zone(DataZoneNumber).FloorArea; + } else if (ZoneEqSizing(CurZoneEqNum).CoolingAirFlow && !ZoneEqSizing(CurZoneEqNum).HeatingAirFlow) { + AutosizeDes = DataCoolFlowPerFloorArea * Zone(DataZoneNumber).FloorArea; + } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && !ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + AutosizeDes = DataHeatFlowPerFloorArea * Zone(DataZoneNumber).FloorArea; + } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + AutosizeDes = max(DataCoolFlowPerFloorArea * Zone(DataZoneNumber).FloorArea, DataHeatFlowPerFloorArea * Zone(DataZoneNumber).FloorArea); + } else { + AutosizeDes = max(DataCoolFlowPerFloorArea * Zone(DataZoneNumber).FloorArea, DataHeatFlowPerFloorArea * Zone(DataZoneNumber).FloorArea); + } + + } else if (SELECT_CASE_var == FractionOfAutosizedCoolingAirflow) { + if (ZoneCoolingOnlyFan) { + AutosizeDes = DataFracOfAutosizedCoolingAirflow * FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + } else if (ZoneHeatingOnlyFan) { + AutosizeDes = DataFracOfAutosizedHeatingAirflow * FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + } else if (ZoneEqSizing(CurZoneEqNum).CoolingAirFlow && !ZoneEqSizing(CurZoneEqNum).HeatingAirFlow) { + AutosizeDes = DataFracOfAutosizedCoolingAirflow * ZoneEqSizing(CurZoneEqNum).CoolingAirVolFlow; + } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && !ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + AutosizeDes = DataFracOfAutosizedHeatingAirflow * ZoneEqSizing(CurZoneEqNum).HeatingAirVolFlow; + } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + AutosizeDes = max(DataFracOfAutosizedCoolingAirflow * ZoneEqSizing(CurZoneEqNum).CoolingAirVolFlow, DataFracOfAutosizedHeatingAirflow * ZoneEqSizing(CurZoneEqNum).HeatingAirVolFlow); + } else { + AutosizeDes = max(DataFracOfAutosizedCoolingAirflow * FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow, DataFracOfAutosizedHeatingAirflow * FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow); + } + + } else if (SELECT_CASE_var == FractionOfAutosizedHeatingAirflow) { + if (ZoneCoolingOnlyFan) { + AutosizeDes = DataFracOfAutosizedCoolingAirflow * FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + } else if (ZoneHeatingOnlyFan) { + AutosizeDes = DataFracOfAutosizedHeatingAirflow * FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + } else if (ZoneEqSizing(CurZoneEqNum).CoolingAirFlow && !ZoneEqSizing(CurZoneEqNum).HeatingAirFlow) { + AutosizeDes = DataFracOfAutosizedCoolingAirflow * ZoneEqSizing(CurZoneEqNum).CoolingAirVolFlow; + } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && !ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + AutosizeDes = DataFracOfAutosizedHeatingAirflow * ZoneEqSizing(CurZoneEqNum).HeatingAirVolFlow; + } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + AutosizeDes = max(DataFracOfAutosizedCoolingAirflow * ZoneEqSizing(CurZoneEqNum).CoolingAirVolFlow, DataFracOfAutosizedHeatingAirflow * ZoneEqSizing(CurZoneEqNum).HeatingAirVolFlow); + } else { + AutosizeDes = max(DataFracOfAutosizedCoolingAirflow * FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow, DataFracOfAutosizedHeatingAirflow * FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow); + } + } else if (SELECT_CASE_var == FlowPerCoolingCapacity) { + if (ZoneCoolingOnlyFan) { + AutosizeDes = DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity; + } else if (ZoneHeatingOnlyFan) { + AutosizeDes = DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity; + } else if (ZoneEqSizing(CurZoneEqNum).CoolingAirFlow && !ZoneEqSizing(CurZoneEqNum).HeatingAirFlow) { + AutosizeDes = DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity; + } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && !ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + AutosizeDes = DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity; + } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + AutosizeDes = max(DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity, DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity); + } else { + AutosizeDes = max(DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity, DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity); + } + } else if (SELECT_CASE_var == FlowPerHeatingCapacity) { + if (ZoneCoolingOnlyFan) { + AutosizeDes = DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity; + } else if (ZoneHeatingOnlyFan) { + AutosizeDes = DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity; + } else if (ZoneEqSizing(CurZoneEqNum).CoolingAirFlow && !ZoneEqSizing(CurZoneEqNum).HeatingAirFlow) { + AutosizeDes = DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity; + } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && !ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + AutosizeDes = DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity; + } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + AutosizeDes = max(DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity, DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity); + } else { + AutosizeDes = max(DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity, DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity); + } + } + else { + if (ZoneCoolingOnlyFan) { + AutosizeDes = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + } else if (ZoneHeatingOnlyFan) { + AutosizeDes = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + } else if (ZoneEqSizing(CurZoneEqNum).CoolingAirFlow && !ZoneEqSizing(CurZoneEqNum).HeatingAirFlow) { + AutosizeDes = ZoneEqSizing(CurZoneEqNum).CoolingAirVolFlow; + } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && !ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + AutosizeDes = ZoneEqSizing(CurZoneEqNum).HeatingAirVolFlow; + } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + AutosizeDes = max(ZoneEqSizing(CurZoneEqNum).CoolingAirVolFlow, ZoneEqSizing(CurZoneEqNum).HeatingAirVolFlow); + } else { + AutosizeDes = max(FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow, FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow); + } + } } + + } else if ( SizingType == CoolingSHRSizing ) { if ( DataFlowUsedForSizing >= SmallAirVolFlow && DataCapacityUsedForSizing > 0.0 ) { @@ -408,6 +524,10 @@ namespace ReportSizingManager { if ( ZoneEqSizing( CurZoneEqNum ).CoolingCapacity ) { // Parent object calculated capacity AutosizeDes = ZoneEqSizing ( CurZoneEqNum ).DesCoolingLoad; DesVolFlow = DataFlowUsedForSizing; + } else if (!IsAutoSize && DataScalableCapSizingON) { + if ( ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingType ) == CapacityPerFloorArea) { + AutosizeDes = DataCoolingCapPerFloorArea * Zone(DataZoneNumber).FloorArea; + } } else { DesVolFlow = DataFlowUsedForSizing; if ( DesVolFlow >= SmallAirVolFlow ) { @@ -419,12 +539,26 @@ namespace ReportSizingManager { CoilInTemp = FinalZoneSizing ( CurZoneEqNum ).ZoneRetTempAtCoolPeak; CoilInHumRat = FinalZoneSizing ( CurZoneEqNum ).ZoneHumRatAtCoolPeak; } + } else if ( ZoneEqFanCoil ) { + DesCoolOAFlowFrac = FinalZoneSizing(CurZoneEqNum).DesCoolOAFlowFrac; + CoilInTemp = DesCoolOAFlowFrac * FinalZoneSizing(CurZoneEqNum).OutTempAtCoolPeak + (1.0 - DesCoolOAFlowFrac) * FinalZoneSizing(CurZoneEqNum).ZoneTempAtCoolPeak; + CoilInHumRat = DesCoolOAFlowFrac * FinalZoneSizing(CurZoneEqNum).OutHumRatAtCoolPeak + (1.0 - DesCoolOAFlowFrac) * FinalZoneSizing(CurZoneEqNum).ZoneHumRatAtCoolPeak; } else { CoilInTemp = FinalZoneSizing ( CurZoneEqNum ).DesCoolCoilInTemp; CoilInHumRat = FinalZoneSizing ( CurZoneEqNum ).DesCoolCoilInHumRat; } CoilOutTemp = FinalZoneSizing ( CurZoneEqNum ).CoolDesTemp; CoilOutHumRat = FinalZoneSizing ( CurZoneEqNum ).CoolDesHumRat; + if (ZoneEqFanCoil) { + if (CoilOutHumRat > CoilInHumRat) { + if (CoilInHumRat > 0.016) { + CoilOutHumRat = 0.5 * CoilInHumRat; + } + else { + CoilOutHumRat = CoilInHumRat; + } + } + } TimeStepNumAtMax = FinalZoneSizing ( CurZoneEqNum ).TimeStepNumAtCoolMax; DDNum = FinalZoneSizing ( CurZoneEqNum ).CoolDDNum; if ( DDNum > 0 && TimeStepNumAtMax > 0 ) { @@ -441,7 +575,15 @@ namespace ReportSizingManager { } else { TotCapTempModFac = 1.0; } - PeakCoilLoad = max ( 0.0, ( rhoair * DesVolFlow * ( CoilInEnth - CoilOutEnth ) ) ); + if (ZoneEqFanCoil) { + //PeakCoilLoad = max(0.0, (DesMassFlow * (CoilInEnth - CoilOutEnth))); + PeakCoilLoad = max( 0.0, ( StdRhoAir * DesVolFlow * ( CoilInEnth - CoilOutEnth ) ) ); + } else if ( ZoneEqUnitVent ) { + PeakCoilLoad = max( 0.0, ( StdRhoAir * DesVolFlow * ( CoilInEnth - CoilOutEnth ) ) ); + } else { + PeakCoilLoad = max( 0.0, ( rhoair * DesVolFlow * ( CoilInEnth - CoilOutEnth ) ) ); + } + if ( TotCapTempModFac > 0.0 ) { AutosizeDes = PeakCoilLoad / TotCapTempModFac; } else { @@ -451,10 +593,15 @@ namespace ReportSizingManager { AutosizeDes = 0.0; } } + //AutosizeDes = AutosizeDes * DataFracOfAutosizedCoolingCapacity; } else if ( SizingType == HeatingCapacitySizing ) { - if ( !IsAutoSize && !SizingDesRunThisZone ) { + if (!IsAutoSize && !SizingDesRunThisZone && ! DataScalableCapSizingON) { NominalCapacityDes = SizingResult; + } else if (!IsAutoSize && DataScalableCapSizingON) { + if (ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingType ) == CapacityPerFloorArea) { + NominalCapacityDes = DataHeatingCapPerFloorArea * Zone(DataZoneNumber).FloorArea; + } } else { //Autosize or hardsize with sizing data if ( ZoneEqSizing(CurZoneEqNum).HeatingCapacity ) { // *** change to HeatingCapacity NominalCapacityDes = ZoneEqSizing(CurZoneEqNum).DesHeatingLoad; @@ -462,6 +609,7 @@ namespace ReportSizingManager { NominalCapacityDes = DataCoolCoilCap; DesVolFlow = DataFlowUsedForSizing; } else if ( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow >= SmallMassFlow ) { + //DesVolFlow = DataFlowUsedForSizing; if ( TermUnitPIU ) { MinPriFlowFrac = TermUnitSizing( CurZoneEqNum ).MinFlowFrac; if ( TermUnitSizing( CurZoneEqNum ).InducesPlenumAir ) { @@ -469,6 +617,9 @@ namespace ReportSizingManager { } else { CoilInTemp = ( FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTempTU * MinPriFlowFrac ) + ( FinalZoneSizing( CurZoneEqNum ).ZoneTempAtHeatPeak * ( 1.0 - MinPriFlowFrac ) ); } + } else if ( ZoneEqFanCoil ) { + DesCoolOAFlowFrac = FinalZoneSizing(CurZoneEqNum).DesHeatOAFlowFrac; + CoilInTemp = DesCoolOAFlowFrac * FinalZoneSizing(CurZoneEqNum).OutTempAtHeatPeak + (1.0 - DesCoolOAFlowFrac) * FinalZoneSizing(CurZoneEqNum).ZoneTempAtHeatPeak; } else if ( TermUnitIU ) { CoilInTemp = FinalZoneSizing( CurZoneEqNum ).ZoneTempAtHeatPeak; } else if ( TermUnitSingDuct ) { @@ -496,13 +647,19 @@ namespace ReportSizingManager { CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat; CpAir = PsyCpAirFnWTdb( CoilOutHumRat, 0.5 * ( CoilInTemp + CoilOutTemp ) ); DesCoilLoad = CpAir * FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow * ( CoilOutTemp - CoilInTemp ); + //DesCoilLoad = CpAir * StdRhoAir * DesVolFlow * (CoilOutTemp - CoilInTemp); + } NominalCapacityDes = max( 0.0, DesCoilLoad ); } else { NominalCapacityDes = 0.0; } } - AutosizeDes = NominalCapacityDes * DataHeatSizeRatio; + if ( DataCoolCoilCap > 0.0 ) { + AutosizeDes = NominalCapacityDes * DataHeatSizeRatio; + } else { + AutosizeDes = NominalCapacityDes * DataHeatSizeRatio * DataFracOfAutosizedHeatingCapacity; + } } else { // from else if (SizingType == HeatingCapacitySizing) // should never happen } @@ -748,12 +905,47 @@ namespace ReportSizingManager { } else { SizingResult = AutosizeDes; } + } else if (DataScalableSizingON || DataScalableCapSizingON) { + SizingResult = AutosizeDes; } else { AutosizeUser = SizingResult; } + if (DataScalableSizingON) { + if (SizingType == CoolingAirflowSizing || SizingType == HeatingAirflowSizing || SizingType == SystemAirflowSizing) { + { auto const SELECT_CASE_var( ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingType ) ); + if (SELECT_CASE_var == SupplyAirFlowRate || SELECT_CASE_var == None) { + ScalableSM = "User-Specified (scaled by flow / zone) "; + } else if (SELECT_CASE_var == FlowPerFloorArea) { + ScalableSM = "User-Specified(scaled by flow / area) "; + } else if (SELECT_CASE_var == FractionOfAutosizedCoolingAirflow || SELECT_CASE_var == FractionOfAutosizedHeatingAirflow) { + ScalableSM = "User-Specified(scaled by fractional multiplier) "; + } else if (SELECT_CASE_var == FlowPerCoolingCapacity || SELECT_CASE_var == FlowPerHeatingCapacity) { + ScalableSM = "User-Specified(scaled by flow / capacity) "; + } else { + ScalableSM = "Design Size "; + } + } + } + } + + if ( DataScalableCapSizingON ) { + { auto const SELECT_CASE_var( ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingType ) ); + if (SELECT_CASE_var == HeatingDesignCapacity || SELECT_CASE_var == CoolingDesignCapacity) { + ScalableSM = "User-Specified "; + if (SizingResult == AutoSize) ScalableSM = "Design Size "; + } else if (SELECT_CASE_var == CapacityPerFloorArea) { + ScalableSM = "User-Specified(scaled by capacity / area) "; + } else if (SELECT_CASE_var == FractionOfAutosizedHeatingCapacity || SELECT_CASE_var == FractionOfAutosizedCoolingCapacity) { + ScalableSM = "User-Specified(scaled by fractional multiplier) "; + } else { + ScalableSM = "Design Size "; + } + } + } + if ( PrintWarningFlag ) { - if ( !HardSizeNoDesRun ) { + if (!HardSizeNoDesRun || DataScalableSizingON || DataScalableCapSizingON) { if ( IsAutoSize ) { // Design Size values are available for both autosized and hard - sized // check capacity to make sure design volume flow per total capacity is within range if ( DataIsDXCoil && ( SizingType == CoolingCapacitySizing || SizingType == HeatingCapacitySizing ) ) { @@ -805,6 +997,15 @@ namespace ReportSizingManager { ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); } } + } else if ( ( DataScalableSizingON || DataScalableCapSizingON ) && AutosizeDes > 0.0 ) { + if (SameString(CompType, "COIL:COOLING:DX:TWOSTAGEWITHHUMIDITYCONTROLMODE") && SizingType == CoolingAirflowSizing && DataIsDXCoil) { + if (DataAutosizable) ReportSizingOutput(CompType, CompName, ScalableSM + SizingString, SizingResult); + SizingResult *= (1 - DataBypassFrac); // now apply bypass fraction for second message and remianing simulation calcs + if (DataAutosizable) ReportSizingOutput(CompType, CompName, ScalableSM + SizingString + " ( non-bypassed )", SizingResult); + } + else { + if (DataAutosizable) ReportSizingOutput(CompType, CompName, ScalableSM + SizingString, SizingResult); + } } else { if ( SameString( CompType, "COIL:COOLING:DX:TWOSTAGEWITHHUMIDITYCONTROLMODE" ) && SizingType == CoolingAirflowSizing && DataIsDXCoil ) { if ( DataAutosizable ) ReportSizingOutput( CompType, CompName, "Design Size " + SizingString, SizingResult ); @@ -813,7 +1014,8 @@ namespace ReportSizingManager { } else { if ( DataAutosizable ) ReportSizingOutput( CompType, CompName, "Design Size " + SizingString, SizingResult ); } - } + } + } else { if ( DataAutosizable && AutosizeUser > 0.0 && AutosizeDes > 0.0 ) { ReportSizingOutput( CompType, CompName, "Design Size " + SizingString, AutosizeDes, "User-Specified " + SizingString, AutosizeUser ); @@ -826,7 +1028,25 @@ namespace ReportSizingManager { ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); } } - } else{ + } else if ( ( DataScalableSizingON || DataScalableCapSizingON ) && AutosizeDes > 0.0 ) { + if (SameString(CompType, "COIL:COOLING:DX:TWOSTAGEWITHHUMIDITYCONTROLMODE") && SizingType == CoolingAirflowSizing && DataIsDXCoil) { + if (DataAutosizable) ReportSizingOutput(CompType, CompName, ScalableSM + SizingString, SizingResult); + SizingResult *= (1 - DataBypassFrac); // now apply bypass fraction for second message and remianing simulation calcs + if (DataAutosizable) ReportSizingOutput(CompType, CompName, ScalableSM + SizingString + " ( non-bypassed )", SizingResult); + } + else { + if (DataAutosizable) ReportSizingOutput(CompType, CompName, ScalableSM + SizingString, SizingResult); + } + } else if ( ( DataScalableSizingON || DataScalableCapSizingON ) && AutosizeUser > 0.0) { + if (SameString(CompType, "COIL:COOLING:DX:TWOSTAGEWITHHUMIDITYCONTROLMODE") && SizingType == CoolingAirflowSizing && DataIsDXCoil) { + if (DataAutosizable) ReportSizingOutput(CompType, CompName, ScalableSM + SizingString, SizingResult); + SizingResult *= (1 - DataBypassFrac); // now apply bypass fraction for second message and remianing simulation calcs + if (DataAutosizable) ReportSizingOutput(CompType, CompName, ScalableSM + SizingString + " ( non-bypassed )", SizingResult); + } + else { + if (DataAutosizable) ReportSizingOutput(CompType, CompName, ScalableSM + SizingString, SizingResult); + } + } else { if ( SameString( CompType, "COIL:COOLING:DX:TWOSTAGEWITHHUMIDITYCONTROLMODE" ) && SizingType == CoolingAirflowSizing && DataIsDXCoil ) { if ( DataAutosizable ) ReportSizingOutput( CompType, CompName, "User-Specified " + SizingString, SizingResult ); SizingResult *= ( 1 - DataBypassFrac ); // now apply bypass fraction for second message and remaining simulation calcs diff --git a/src/EnergyPlus/SimAirServingZones.cc b/src/EnergyPlus/SimAirServingZones.cc index 68cc6c228bb..e8630107f9d 100644 --- a/src/EnergyPlus/SimAirServingZones.cc +++ b/src/EnergyPlus/SimAirServingZones.cc @@ -3626,6 +3626,14 @@ namespace SimAirServingZones { FinalSysSizing( AirLoopNum ).SystemOAMethod = SysSizInput( SysSizNum ).SystemOAMethod; FinalSysSizing( AirLoopNum ).MaxZoneOAFraction = SysSizInput( SysSizNum ).MaxZoneOAFraction; FinalSysSizing( AirLoopNum ).OAAutoSized = SysSizInput( SysSizNum ).OAAutoSized; + + FinalSysSizing(AirLoopNum).FlowPerFloorAreaCooled = SysSizInput(SysSizNum).FlowPerFloorAreaCooled; + FinalSysSizing(AirLoopNum).FlowPerFloorAreaHeated = SysSizInput(SysSizNum).FlowPerFloorAreaHeated; + FinalSysSizing(AirLoopNum).FracOfAutosizedCoolingAirflow = SysSizInput(SysSizNum).FracOfAutosizedCoolingAirflow; + FinalSysSizing(AirLoopNum).FracOfAutosizedHeatingAirflow = SysSizInput(SysSizNum).FracOfAutosizedHeatingAirflow; + FinalSysSizing(AirLoopNum).FlowPerCoolingCapacity = SysSizInput(SysSizNum).FlowPerCoolingCapacity; + FinalSysSizing(AirLoopNum).FlowPerHeatingCapacity = SysSizInput(SysSizNum).FlowPerHeatingCapacity; + CalcSysSizing( AirLoopNum ).LoadSizeType = SysSizInput( SysSizNum ).LoadSizeType; CalcSysSizing( AirLoopNum ).DesOutAirVolFlow = SysSizInput( SysSizNum ).DesOutAirVolFlow; CalcSysSizing( AirLoopNum ).SysAirMinFlowRat = SysSizInput( SysSizNum ).SysAirMinFlowRat; @@ -3647,6 +3655,15 @@ namespace SimAirServingZones { CalcSysSizing( AirLoopNum ).SystemOAMethod = SysSizInput( SysSizNum ).SystemOAMethod; CalcSysSizing( AirLoopNum ).MaxZoneOAFraction = SysSizInput( SysSizNum ).MaxZoneOAFraction; CalcSysSizing( AirLoopNum ).OAAutoSized = SysSizInput( SysSizNum ).OAAutoSized; + + CalcSysSizing( AirLoopNum ).FlowPerFloorAreaCooled = SysSizInput( SysSizNum ).FlowPerFloorAreaCooled; + CalcSysSizing( AirLoopNum ).FlowPerFloorAreaHeated = SysSizInput( SysSizNum ).FlowPerFloorAreaHeated; + CalcSysSizing( AirLoopNum ).FracOfAutosizedCoolingAirflow = SysSizInput( SysSizNum ).FracOfAutosizedCoolingAirflow; + CalcSysSizing( AirLoopNum ).FracOfAutosizedHeatingAirflow = SysSizInput( SysSizNum ).FracOfAutosizedHeatingAirflow; + CalcSysSizing( AirLoopNum ).FlowPerCoolingCapacity = SysSizInput( SysSizNum ).FlowPerCoolingCapacity; + CalcSysSizing( AirLoopNum ).FlowPerHeatingCapacity = SysSizInput( SysSizNum ).FlowPerHeatingCapacity; + + } else { // Set missing inputs to the first ShowWarningError( "SetUpSysSizingArrays: Sizing for System (HVACAirLoop)=\"" + FinalSysSizing( AirLoopNum ).AirPriLoopName + "\" will use Sizing:System specifications listed for System=\"" + SysSizInput( 1 ).AirPriLoopName + "\"." ); FinalSysSizing( AirLoopNum ).LoadSizeType = SysSizInput( 1 ).LoadSizeType; @@ -3670,6 +3687,14 @@ namespace SimAirServingZones { FinalSysSizing( AirLoopNum ).SystemOAMethod = SysSizInput( 1 ).SystemOAMethod; FinalSysSizing( AirLoopNum ).MaxZoneOAFraction = SysSizInput( 1 ).MaxZoneOAFraction; FinalSysSizing( AirLoopNum ).OAAutoSized = SysSizInput( 1 ).OAAutoSized; + + FinalSysSizing(AirLoopNum).FlowPerFloorAreaCooled = SysSizInput(1).FlowPerFloorAreaCooled; + FinalSysSizing(AirLoopNum).FlowPerFloorAreaHeated = SysSizInput(1).FlowPerFloorAreaHeated; + FinalSysSizing(AirLoopNum).FracOfAutosizedCoolingAirflow = SysSizInput(1).FracOfAutosizedCoolingAirflow; + FinalSysSizing(AirLoopNum).FracOfAutosizedHeatingAirflow = SysSizInput(1).FracOfAutosizedHeatingAirflow; + FinalSysSizing(AirLoopNum).FlowPerCoolingCapacity = SysSizInput(1).FlowPerCoolingCapacity; + FinalSysSizing(AirLoopNum).FlowPerHeatingCapacity = SysSizInput(1).FlowPerHeatingCapacity; + CalcSysSizing( AirLoopNum ).LoadSizeType = SysSizInput( 1 ).LoadSizeType; CalcSysSizing( AirLoopNum ).DesOutAirVolFlow = SysSizInput( 1 ).DesOutAirVolFlow; CalcSysSizing( AirLoopNum ).SysAirMinFlowRat = SysSizInput( 1 ).SysAirMinFlowRat; @@ -3691,6 +3716,14 @@ namespace SimAirServingZones { CalcSysSizing( AirLoopNum ).SystemOAMethod = SysSizInput( 1 ).SystemOAMethod; CalcSysSizing( AirLoopNum ).MaxZoneOAFraction = SysSizInput( 1 ).MaxZoneOAFraction; CalcSysSizing( AirLoopNum ).OAAutoSized = SysSizInput( 1 ).OAAutoSized; + + CalcSysSizing(AirLoopNum).FlowPerFloorAreaCooled = SysSizInput(1).FlowPerFloorAreaCooled; + CalcSysSizing(AirLoopNum).FlowPerFloorAreaHeated = SysSizInput(1).FlowPerFloorAreaHeated; + CalcSysSizing(AirLoopNum).FracOfAutosizedCoolingAirflow = SysSizInput(1).FracOfAutosizedCoolingAirflow; + CalcSysSizing(AirLoopNum).FracOfAutosizedHeatingAirflow = SysSizInput(1).FracOfAutosizedHeatingAirflow; + CalcSysSizing(AirLoopNum).FlowPerCoolingCapacity = SysSizInput(1).FlowPerCoolingCapacity; + CalcSysSizing(AirLoopNum).FlowPerHeatingCapacity = SysSizInput(1).FlowPerHeatingCapacity; + } FinalSysSizing( AirLoopNum ).HeatFlowSeq.allocate( NumOfTimeStepInDay ); FinalSysSizing( AirLoopNum ).CoolFlowSeq.allocate( NumOfTimeStepInDay ); @@ -3718,6 +3751,8 @@ namespace SimAirServingZones { FinalSysSizing( AirLoopNum ).SysCoolOutHumRatSeq = 0.0; FinalSysSizing( AirLoopNum ).SysHeatOutTempSeq = 0.0; FinalSysSizing( AirLoopNum ).SysHeatOutHumRatSeq = 0.0; + FinalSysSizing( AirLoopNum ).FloorAreaOnAirLoopCooled = 0.0; + FinalSysSizing( AirLoopNum ).FloorAreaOnAirLoopHeated = 0.0; CalcSysSizing( AirLoopNum ).HeatFlowSeq.allocate( NumOfTimeStepInDay ); CalcSysSizing( AirLoopNum ).CoolFlowSeq.allocate( NumOfTimeStepInDay ); CalcSysSizing( AirLoopNum ).SensCoolCapSeq.allocate( NumOfTimeStepInDay ); @@ -3744,6 +3779,8 @@ namespace SimAirServingZones { CalcSysSizing( AirLoopNum ).SysCoolOutHumRatSeq = 0.0; CalcSysSizing( AirLoopNum ).SysHeatOutTempSeq = 0.0; CalcSysSizing( AirLoopNum ).SysHeatOutHumRatSeq = 0.0; + CalcSysSizing( AirLoopNum ).FloorAreaOnAirLoopCooled = 0.0; + CalcSysSizing( AirLoopNum ).FloorAreaOnAirLoopHeated = 0.0; if ( AnyEnergyManagementSystemInModel ) { @@ -3934,7 +3971,12 @@ namespace SimAirServingZones { if ( ZoneSA > 0.0 ) Ep = ZonePA / ZoneSA; if ( Ep > 1.0 ) Ep = 1.0; FinalZoneSizing( CtrlZoneNum ).ZonePrimaryAirFraction = Ep; - FinalZoneSizing( CtrlZoneNum ).ZoneOAFracCooling = ZoneOAFracCooling; + FinalZoneSizing(CtrlZoneNum).ZoneOAFracCooling = ZoneOAFracCooling; + + // determined cooled zone floor area in an airloop + if ( ZoneEquipConfig( CtrlZoneNum ).AirLoopNum == AirLoopNum) { + FinalSysSizing( AirLoopNum ).FloorAreaOnAirLoopCooled += Zone( ZoneEquipConfig( CtrlZoneNum ).ActualZoneNum ).FloorArea; + } } NumZonesHeated = AirToZoneNodeInfo( AirLoopNum ).NumZonesHeated; @@ -4042,6 +4084,12 @@ namespace SimAirServingZones { if ( Ep > 1.0 ) Ep = 1.0; FinalZoneSizing( CtrlZoneNum ).ZonePrimaryAirFractionHtg = Ep; FinalZoneSizing( CtrlZoneNum ).ZoneOAFracHeating = ZoneOAFracHeating; + + // determined heated zone floor area in an airloop + if (ZoneEquipConfig( CtrlZoneNum ).AirLoopNum == AirLoopNum) { + FinalSysSizing( AirLoopNum ).FloorAreaOnAirLoopHeated += Zone( ZoneEquipConfig( CtrlZoneNum ).ActualZoneNum ).FloorArea; + } + } } else { // getting heating flow based values for Std 62.1 report for single path systems @@ -5277,7 +5325,25 @@ namespace SimAirServingZones { } } - + + //// scalable sizing for coincident sizing option + //if (FinalSysSizing(AirLoopNum).CoolAirDesMethod == FlowPerFloorArea){ + // CalcSysSizing(AirLoopNum).DesCoolVolFlow = CalcSysSizing(AirLoopNum).FlowPerFloorAreaCooled * CalcSysSizing(AirLoopNum).FloorAreaOnAirLoopCooled; + //} else if (FinalSysSizing(AirLoopNum).CoolAirDesMethod == FractionOfAutosizedCoolingAirflow) { + // CalcSysSizing(AirLoopNum).DesCoolVolFlow = CalcSysSizing(AirLoopNum).FracOfAutosizedCoolingAirflow * CalcSysSizing(AirLoopNum).DesCoolVolFlow; + //} else if (FinalSysSizing(AirLoopNum).CoolAirDesMethod == FlowPerCoolingCapacity) { + // CalcSysSizing(AirLoopNum).DesCoolVolFlow = CalcSysSizing(AirLoopNum).FlowPerCoolingCapacity * CalcSysSizing(AirLoopNum).SensCoolCap; + //} + + //// scalable sizing for coincident sizing option + //if (FinalSysSizing(AirLoopNum).HeatAirDesMethod == FlowPerFloorArea){ + // CalcSysSizing(AirLoopNum).DesHeatVolFlow = CalcSysSizing(AirLoopNum).FlowPerFloorAreaHeated * CalcSysSizing(AirLoopNum).FloorAreaOnAirLoopHeated; + //} else if (FinalSysSizing(AirLoopNum).HeatAirDesMethod == FractionOfAutosizedHeatingAirflow) { + // CalcSysSizing(AirLoopNum).DesHeatVolFlow = CalcSysSizing(AirLoopNum).FracOfAutosizedHeatingAirflow * CalcSysSizing(AirLoopNum).DesHeatVolFlow; + //} else if (FinalSysSizing(AirLoopNum).HeatAirDesMethod == FlowPerHeatingCapacity) { + // CalcSysSizing(AirLoopNum).DesHeatVolFlow = CalcSysSizing(AirLoopNum).FlowPerHeatingCapacity * CalcSysSizing(AirLoopNum).HeatCap; + //} + CalcSysSizing( AirLoopNum ).DesMainVolFlow = max( CalcSysSizing( AirLoopNum ).DesCoolVolFlow, CalcSysSizing( AirLoopNum ).DesHeatVolFlow ); // For noncoincident sizing, find the max heat and cool mass flow for each zone over all the @@ -5446,6 +5512,24 @@ namespace SimAirServingZones { } CalcSysSizing( AirLoopNum ).DesCoolVolFlow = CalcSysSizing( AirLoopNum ).NonCoinCoolMassFlow / StdRhoAir; CalcSysSizing( AirLoopNum ).DesHeatVolFlow = CalcSysSizing( AirLoopNum ).NonCoinHeatMassFlow / StdRhoAir; + + //// scalable sizing for noncoincident sizing option for cooling + //if (FinalSysSizing(AirLoopNum).CoolAirDesMethod == FlowPerFloorArea){ + // CalcSysSizing(AirLoopNum).DesCoolVolFlow = CalcSysSizing(AirLoopNum).FlowPerFloorAreaCooled * CalcSysSizing(AirLoopNum).FloorAreaOnAirLoopCooled; + //} else if (FinalSysSizing(AirLoopNum).CoolAirDesMethod == FractionOfAutosizedCoolingAirflow) { + // CalcSysSizing(AirLoopNum).DesCoolVolFlow = CalcSysSizing(AirLoopNum).FracOfAutosizedCoolingAirflow * CalcSysSizing(AirLoopNum).DesCoolVolFlow; + //} else if (FinalSysSizing(AirLoopNum).CoolAirDesMethod == FlowPerCoolingCapacity) { + // CalcSysSizing(AirLoopNum).DesCoolVolFlow = CalcSysSizing(AirLoopNum).FlowPerCoolingCapacity * CalcSysSizing(AirLoopNum).SensCoolCap; + //} + + //// scalable sizing for noncoincident sizing option for heating + //if (FinalSysSizing(AirLoopNum).HeatAirDesMethod == FlowPerFloorArea){ + // CalcSysSizing(AirLoopNum).DesHeatVolFlow = CalcSysSizing(AirLoopNum).FlowPerFloorAreaHeated * CalcSysSizing(AirLoopNum).FloorAreaOnAirLoopHeated; + //} else if (FinalSysSizing(AirLoopNum).HeatAirDesMethod == FractionOfAutosizedHeatingAirflow) { + // CalcSysSizing(AirLoopNum).DesHeatVolFlow = CalcSysSizing(AirLoopNum).FracOfAutosizedHeatingAirflow * CalcSysSizing(AirLoopNum).DesHeatVolFlow; + //} else if (FinalSysSizing(AirLoopNum).HeatAirDesMethod == FlowPerHeatingCapacity) { + // CalcSysSizing(AirLoopNum).DesHeatVolFlow = CalcSysSizing(AirLoopNum).FlowPerHeatingCapacity * CalcSysSizing(AirLoopNum).HeatCap; + //} CalcSysSizing( AirLoopNum ).DesMainVolFlow = max( CalcSysSizing( AirLoopNum ).DesCoolVolFlow, CalcSysSizing( AirLoopNum ).DesHeatVolFlow ); } diff --git a/src/EnergyPlus/SimAirServingZones.hh b/src/EnergyPlus/SimAirServingZones.hh index 2d61dddf199..5c737b9e6ea 100644 --- a/src/EnergyPlus/SimAirServingZones.hh +++ b/src/EnergyPlus/SimAirServingZones.hh @@ -172,6 +172,12 @@ namespace SimAirServingZones { void UpdateSysSizing( int const CallIndicator ); + //void + //UpdateScalableSysSizing( int const AirLoopNum ); + + void + UpdateSysSizingFlowForScalableInputs( int const AirLoopNum ); + // End Algorithm Section of the Module // ***************************************************************************** diff --git a/src/EnergyPlus/SizingManager.cc b/src/EnergyPlus/SizingManager.cc index 487fc5151da..f69cb07bdab 100644 --- a/src/EnergyPlus/SizingManager.cc +++ b/src/EnergyPlus/SizingManager.cc @@ -175,6 +175,7 @@ namespace SizingManager { curName = "Unknown"; GetOARequirements(); // get the OA requirements object GetZoneAirDistribution(); // get zone air distribution objects + GetZoneHVACSizing(); // get zone HVAC sizing object GetSizingParams(); // get the building level sizing paramets GetZoneSizingInput(); // get the Zone Sizing input GetSystemSizingInput(); // get the System Sizing input @@ -1793,10 +1794,56 @@ namespace SizingManager { using InputProcessor::VerifyName; using InputProcessor::SameString; using General::RoundSigDigits; + using General::TrimSigDigits; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: - // na + + + //Sizing:System; + int const iNameAlphaNum = 1; // A1, \field AirLoop Name + int const iLoadTypeSizeAlphaNum = 2; // A2, \field Type of Load to Size On + int const iDesignOAVolFlowNumericNum = 1; // N1, \field Design Outdoor Air Flow Rate + int const iMinSysAirFlowRatioNumericNum = 2; // N2, \field Minimum System Air Flow Ratio + int const iPreheatDesignTempNumericNum = 3; // N3, \field Preheat Design Temperature + int const iPreheatDesignHumRatNumericNum = 4; // N4, \field Preheat Design Humidity Ratio + int const iPrecoolDesignTempNumericNum = 5; // N5, \field Precool Design Temperature + int const iPrecoolDesignHumRatNumericNum = 6; // N6, \field Precool Design Humidity Ratio + int const iCentralCoolDesignSATempNumericNum = 7; // N7, \field Central Cooling Design Supply Air Temperature + int const iCentralHeatDesignSATempNumericNum = 8; // N8, \field Central Heating Design Supply Air Temperature + + int const iSizingOptionAlphaNum = 3; // A3, \field Sizing Option + int const i100PercentOACoolingAlphaNum = 4; // A4, \field 100% Outdoor Air in Cooling + int const i100PercentOAHeatingAlphaNum = 5; // A5, \field 100% Outdoor Air in Heating + int const iCentralCoolDesignSAHumRatNumericNum = 9; // N9, \field Central Cooling Design Supply Air Humidity Ratio + int const iCentralHeatDesignSAHumRatNumericNum = 10; // N10, \field Central Heating Design Supply Air Humidity Ratio + + int const iCoolSAFMAlphaNum = 6; // A6, \field Cooling Design Air Flow Method + int const iMaxCoolAirVolFlowNumericNum = 11; // N11, \field Cooling Design Air Flow Rate {m3/s} + //int const iCoolFlowPerFloorAreaNumericNum = 12; // N12, \field Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + //int const iCoolFlowPerFracCoolNumericNum = 13; // N13, \field Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + //int const iCoolFlowPerCoolCapNumericNum = 14; // N14, \field Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} + + int const iHeatSAFMAlphaNum = 7; // A7, \field Heating Design Air Flow Method + int const iMaxHeatAirVolFlowNumericNum = 12; // N15, \field Heating Design Air Flow Rate {m3/s} + //int const iHeatFlowPerFloorAreaNumericNum = 16; // N16, \field Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + //int const iHeatFlowPerFracHeatNumericNum = 17; // N17, \field Fraction of Autosized Design Heating Supply Air Flow Rate {-} + //int const iHeatFlowPerFracCoolNumericNum = 18; // N18, \field Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + //int const iHeatFlowPerHeatCapNumericNum = 19; // N19, \field Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} + + int const iSystemOASMethodAlphaNum = 8; // A8, \field System Outdoor Air Method + int const iZoneMaxOAFractionNumericNum = 13; // N20, \field Zone Maximum Outdoor Air Fraction + + int const iCoolCAPMAlphaNum( 9 ); // A9, \field Cooling Design Capacity Method + int const iCoolDesignCapacityNumericNum( 21 ); // N21, \field Cooling Design Capacity {W} + int const iCoolCapacityPerFloorAreaNumericNum( 22 ); // N22, \field Cooling Design Capacity Per Floor Area {W/m2} + int const iCoolFracOfAutosizedCapacityNumericNum( 23 ); // N23, \field Fraction of Autosized Cooling Design Capacity {-} + int const iHeatCAPMAlphaNum( 10 ); // A10, \field Heating Design Capacity Method + int const iHeatDesignCapacityNumericNum( 24 ); // N24, \field Heating Design Capacity {W} + int const iHeatCapacityPerFloorAreaNumericNum( 25 ); // N25, \field Heating Design Capacity Per Floor Area {W/m2} + int const iHeatFracOfAutosizedCapacityNumericNum( 26 ); // N26, \field Fraction of Autosized Cooling Design Capacity {-} + + // SUBROUTINE PARAMETER DEFINITIONS: // na @@ -1834,14 +1881,14 @@ namespace SizingManager { GetObjectItem( cCurrentModuleObject, SysSizIndex, cAlphaArgs, NumAlphas, rNumericArgs, NumNumbers, IOStatus, lNumericFieldBlanks, lAlphaFieldBlanks, cAlphaFieldNames, cNumericFieldNames ); IsNotOK = false; IsBlank = false; - VerifyName( cAlphaArgs( 1 ), SysSizInput.AirPriLoopName(), SysSizIndex - 1, IsNotOK, IsBlank, cCurrentModuleObject + " Name" ); + VerifyName( cAlphaArgs( iNameAlphaNum ), SysSizInput.AirPriLoopName(), SysSizIndex - 1, IsNotOK, IsBlank, cCurrentModuleObject + " Name" ); if ( IsNotOK ) { ErrorsFound = true; - if ( IsBlank ) cAlphaArgs( 1 ) = "xxxxx"; + if (IsBlank) cAlphaArgs( iNameAlphaNum ) = "xxxxx"; } - SysSizInput( SysSizIndex ).AirPriLoopName = cAlphaArgs( 1 ); - { auto const loadSizeType( cAlphaArgs( 2 ) ); + SysSizInput( SysSizIndex ).AirPriLoopName = cAlphaArgs( iNameAlphaNum ); + { auto const loadSizeType( cAlphaArgs( iLoadTypeSizeAlphaNum ) ); if ( loadSizeType == "SENSIBLE" ) { SysSizInput( SysSizIndex ).LoadSizeType = Sensible; } else if ( loadSizeType == "LATENT" ) { @@ -1851,41 +1898,41 @@ namespace SizingManager { } else if ( loadSizeType == "VENTILATIONREQUIREMENT" ) { SysSizInput( SysSizIndex ).LoadSizeType = Ventilation; } else { - ShowSevereError( cCurrentModuleObject + "=\"" + cAlphaArgs( 1 ) + "\", invalid data." ); - ShowContinueError( "... incorrect " + cAlphaFieldNames( 2 ) + "=\"" + cAlphaArgs( 2 ) + "\"." ); + ShowSevereError( cCurrentModuleObject + "=\"" + cAlphaArgs( iNameAlphaNum ) + "\", invalid data." ); + ShowContinueError( "... incorrect " + cAlphaFieldNames( iLoadTypeSizeAlphaNum ) + "=\"" + cAlphaArgs( iLoadTypeSizeAlphaNum ) + "\"."); ShowContinueError( "... valid values are Sensible, Latent, Total, or VentilationRequirement." ); ErrorsFound = true; }} - { auto const sizingOption( cAlphaArgs( 3 ) ); + { auto const sizingOption( cAlphaArgs( iSizingOptionAlphaNum ) ); if ( sizingOption == "COINCIDENT" ) { SysSizInput( SysSizIndex ).SizingOption = Coincident; } else if ( sizingOption == "NONCOINCIDENT" ) { SysSizInput( SysSizIndex ).SizingOption = NonCoincident; } else { - ShowSevereError( cCurrentModuleObject + "=\"" + cAlphaArgs( 1 ) + "\", invalid data." ); - ShowContinueError( "... incorrect " + cAlphaFieldNames( 3 ) + "=\"" + cAlphaArgs( 3 ) + "\"." ); + ShowSevereError( cCurrentModuleObject + "=\"" + cAlphaArgs( iNameAlphaNum ) + "\", invalid data." ); + ShowContinueError( "... incorrect " + cAlphaFieldNames( iSizingOptionAlphaNum ) + "=\"" + cAlphaArgs( iSizingOptionAlphaNum ) + "\"."); ShowContinueError( "... valid values are Coincident or NonCoincident." ); ErrorsFound = true; }} - { auto const coolOAOption( cAlphaArgs( 4 ) ); + { auto const coolOAOption( cAlphaArgs( i100PercentOACoolingAlphaNum ) ); if ( coolOAOption == "YES" ) { SysSizInput( SysSizIndex ).CoolOAOption = 1; } else if ( coolOAOption == "NO" ) { SysSizInput( SysSizIndex ).CoolOAOption = 2; } else { - ShowSevereError( cCurrentModuleObject + "=\"" + cAlphaArgs( 1 ) + "\", invalid data." ); - ShowContinueError( "... incorrect " + cAlphaFieldNames( 4 ) + "=\"" + cAlphaArgs( 4 ) + "\"." ); + ShowSevereError( cCurrentModuleObject + "=\"" + cAlphaArgs( iNameAlphaNum ) + "\", invalid data." ); + ShowContinueError("... incorrect " + cAlphaFieldNames( i100PercentOACoolingAlphaNum ) + "=\"" + cAlphaArgs( i100PercentOACoolingAlphaNum ) + "\"."); ShowContinueError( "... valid values are Yes or No." ); ErrorsFound = true; }} - { auto const heatOAOption( cAlphaArgs( 5 ) ); + { auto const heatOAOption( cAlphaArgs( i100PercentOAHeatingAlphaNum ) ); if ( heatOAOption == "YES" ) { SysSizInput( SysSizIndex ).HeatOAOption = 1; } else if ( heatOAOption == "NO" ) { SysSizInput( SysSizIndex ).HeatOAOption = 2; } else { - ShowSevereError( cCurrentModuleObject + "=\"" + cAlphaArgs( 1 ) + "\", invalid data." ); - ShowContinueError( "... incorrect " + cAlphaFieldNames( 5 ) + "=\"" + cAlphaArgs( 5 ) + "\"." ); + ShowSevereError( cCurrentModuleObject + "=\"" + cAlphaArgs( iNameAlphaNum ) + "\", invalid data." ); + ShowContinueError( "... incorrect " + cAlphaFieldNames( i100PercentOAHeatingAlphaNum ) + "=\"" + cAlphaArgs( i100PercentOAHeatingAlphaNum ) + "\"."); ShowContinueError( "... valid values are Yes or No." ); ErrorsFound = true; }} @@ -1894,14 +1941,15 @@ namespace SizingManager { // \type real // \default autosize // \minimum 0.0 - if ( lNumericFieldBlanks( 1 ) ) { + //int const iDesignOAVolFlowNumericNum = 1; // N1, \field Design Outdoor Air Flow Rate + if ( lNumericFieldBlanks( iDesignOAVolFlowNumericNum ) ) { SysSizInput( SysSizIndex ).DesOutAirVolFlow = AutoSize; - } else if ( rNumericArgs( 1 ) < 0.0 && rNumericArgs( 1 ) != AutoSize ) { - ShowSevereError( cCurrentModuleObject + "=\"" + cAlphaArgs( 1 ) + "\", invalid data." ); - ShowContinueError( "... incorrect " + cNumericFieldNames( 1 ) + "=[" + RoundSigDigits( rNumericArgs( 1 ), 2 ) + "], value should not be negative." ); + } else if ( rNumericArgs( iDesignOAVolFlowNumericNum ) < 0.0 && rNumericArgs( iDesignOAVolFlowNumericNum ) != AutoSize) { + ShowSevereError( cCurrentModuleObject + "=\"" + cAlphaArgs( iNameAlphaNum ) + "\", invalid data." ); + ShowContinueError("... incorrect " + cNumericFieldNames( iDesignOAVolFlowNumericNum ) + "=[" + RoundSigDigits( rNumericArgs( iDesignOAVolFlowNumericNum ), 2) + "], value should not be negative."); ErrorsFound = true; } else { - SysSizInput( SysSizIndex ).DesOutAirVolFlow = rNumericArgs( 1 ); + SysSizInput(SysSizIndex).DesOutAirVolFlow = rNumericArgs( iDesignOAVolFlowNumericNum ); } if ( SysSizInput( SysSizIndex ).DesOutAirVolFlow == AutoSize ) { SysSizInput( SysSizIndex ).OAAutoSized = true; @@ -1912,23 +1960,32 @@ namespace SizingManager { // \type real // \minimum 0.0 // \maximum 1.0 - if ( lNumericFieldBlanks( 2 ) ) { + //int const iMinSysAirFlowRatioNumericNum = 2; // N2, \field Minimum System Air Flow Ratio + if ( lNumericFieldBlanks( iMinSysAirFlowRatioNumericNum ) ) { SysSizInput( SysSizIndex ).SysAirMinFlowRat = 0.0; - } else if ( rNumericArgs( 2 ) < 0.0 ) { - ShowSevereError( cCurrentModuleObject + "=\"" + cAlphaArgs( 1 ) + "\", invalid data." ); - ShowContinueError( "... incorrect " + cNumericFieldNames( 2 ) + "=[" + RoundSigDigits( rNumericArgs( 2 ), 2 ) + "], value should not be negative." ); + } else if (rNumericArgs( iMinSysAirFlowRatioNumericNum ) < 0.0) { + ShowSevereError( cCurrentModuleObject + "=\"" + cAlphaArgs( iMinSysAirFlowRatioNumericNum ) + "\", invalid data."); + ShowContinueError( "... incorrect " + cNumericFieldNames( iMinSysAirFlowRatioNumericNum ) + "=[" + RoundSigDigits( rNumericArgs( iMinSysAirFlowRatioNumericNum ), 2) + "], value should not be negative."); ErrorsFound = true; } else { - SysSizInput( SysSizIndex ).SysAirMinFlowRat = rNumericArgs( 2 ); + SysSizInput( SysSizIndex ).SysAirMinFlowRat = rNumericArgs( iMinSysAirFlowRatioNumericNum ); } - SysSizInput( SysSizIndex ).PreheatTemp = rNumericArgs( 3 ); - SysSizInput( SysSizIndex ).PreheatHumRat = rNumericArgs( 4 ); - SysSizInput( SysSizIndex ).PrecoolTemp = rNumericArgs( 5 ); - SysSizInput( SysSizIndex ).PrecoolHumRat = rNumericArgs( 6 ); - SysSizInput( SysSizIndex ).CoolSupTemp = rNumericArgs( 7 ); - SysSizInput( SysSizIndex ).HeatSupTemp = rNumericArgs( 8 ); - SysSizInput( SysSizIndex ).CoolSupHumRat = rNumericArgs( 9 ); - SysSizInput( SysSizIndex ).HeatSupHumRat = rNumericArgs( 10 ); + //int const iPreheatDesignTempNumericNum = 3; // N3, \field Preheat Design Temperature + //int const iPreheatDesignHumRatNumericNum = 4; // N4, \field Preheat Design Humidity Ratio + //int const iPrecoolDesignTempNumericNum = 5; // N5, \field Precool Design Temperature + //int const iPrecoolDesignHumRatNumericNum = 6; // N6, \field Precool Design Humidity Ratio + //int const iCentralCoolDesignSATempNumericNum = 7; // N7, \field Central Cooling Design Supply Air Temperature + //int const iCentralHeatDesignSATempNumericNum = 8; // N8, \field Central Heating Design Supply Air Temperature + //int const iCentralCoolDesignSAHumRatNumericNum = 9; // N9, \field Central Cooling Design Supply Air Humidity Ratio + //int const iCentralHeatDesignSAHumRatNumericNum = 10; // N10, \field Central Heating Design Supply Air Humidity Ratio + SysSizInput( SysSizIndex ).PreheatTemp = rNumericArgs( iPreheatDesignTempNumericNum ); + SysSizInput( SysSizIndex ).PreheatHumRat = rNumericArgs( iPreheatDesignHumRatNumericNum ); + SysSizInput( SysSizIndex ).PrecoolTemp = rNumericArgs( iPrecoolDesignTempNumericNum ); + SysSizInput( SysSizIndex ).PrecoolHumRat = rNumericArgs( iPrecoolDesignHumRatNumericNum ); + SysSizInput( SysSizIndex ).CoolSupTemp = rNumericArgs( iCentralCoolDesignSATempNumericNum ); + SysSizInput( SysSizIndex ).HeatSupTemp = rNumericArgs( iCentralHeatDesignSATempNumericNum ); + SysSizInput( SysSizIndex ).CoolSupHumRat = rNumericArgs( iCentralCoolDesignSAHumRatNumericNum ); + SysSizInput( SysSizIndex).HeatSupHumRat = rNumericArgs( iCentralHeatDesignSAHumRatNumericNum ); // N11, \field Cooling Design Air Flow Rate // \note This input is used if Cooling Design Air Flow Method is Flow/System // \note This value will *not* be multiplied by any sizing factor or by zone multipliers. @@ -1937,14 +1994,22 @@ namespace SizingManager { // \units m3/s // \minimum 0 // \default 0 - if ( lNumericFieldBlanks( 11 ) ) { + //int const iCoolSAFMAlphaNum = 6; // A6, \field Cooling Design Air Flow Method + //int const iMaxCoolAirVolFlowNumericNum = 11; // N11, \field Cooling Design Air Flow Rate {m3/s} + //int const iCoolFlowPerFloorAreaNumericNum = 12; // N12, \field Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + //int const iCoolFlowPerFracCoolNumericNum = 13; // N13, \field Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + //int const iCoolFlowPerCoolCapNumericNum = 14; // N14, \field Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} + + + if ( lNumericFieldBlanks( iMaxCoolAirVolFlowNumericNum ) ) { SysSizInput( SysSizIndex ).DesCoolAirFlow = 0.0; - } else if ( rNumericArgs( 11 ) < 0.0 ) { - ShowSevereError( cCurrentModuleObject + "=\"" + cAlphaArgs( 1 ) + "\", invalid data." ); - ShowContinueError( "... incorrect " + cNumericFieldNames( 11 ) + "=[" + RoundSigDigits( rNumericArgs( 11 ), 2 ) + "], value should not be negative." ); + } + else if (rNumericArgs( iMaxCoolAirVolFlowNumericNum ) < 0.0) { + ShowSevereError( cCurrentModuleObject + "=\"" + cAlphaArgs( iNameAlphaNum ) + "\", invalid data." ); + ShowContinueError( "... incorrect " + cNumericFieldNames( iMaxCoolAirVolFlowNumericNum ) + "=[" + RoundSigDigits( rNumericArgs( iMaxCoolAirVolFlowNumericNum ), 2 ) + "], value should not be negative." ); ErrorsFound = true; } else { - SysSizInput( SysSizIndex ).DesCoolAirFlow = rNumericArgs( 11 ); + SysSizInput( SysSizIndex ).DesCoolAirFlow = rNumericArgs( iMaxCoolAirVolFlowNumericNum ); } // N12;\field Heating Design Air Flow Rate // \note This input is used if Heating Design Air Flow Method is Flow/System @@ -1954,68 +2019,220 @@ namespace SizingManager { // \units m3/s // \minimum 0 // \default 0 - if ( lNumericFieldBlanks( 12 ) ) { + //int const iHeatSAFMAlphaNum = 7; // A7, \field Heating Design Air Flow Method + //int const iMaxHeatAirVolFlowNumericNum = 12; // N15, \field Heating Design Air Flow Rate {m3/s} + //int const iHeatFlowPerFloorAreaNumericNum = 16; // N16, \field Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + //int const iHeatFlowPerFracHeatNumericNum = 17; // N17, \field Fraction of Autosized Design Heating Supply Air Flow Rate {-} + //int const iHeatFlowPerFracCoolNumericNum = 18; // N18, \field Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + //int const iHeatFlowPerHeatCapNumericNum = 19; // N19, \field Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} + // add input fields for other cooling sizing methods + if ( lNumericFieldBlanks( iMaxHeatAirVolFlowNumericNum ) ) { SysSizInput( SysSizIndex ).DesHeatAirFlow = 0.0; - } else if ( rNumericArgs( 12 ) < 0.0 ) { - ShowSevereError( cCurrentModuleObject + "=\"" + cAlphaArgs( 1 ) + "\", invalid data." ); - ShowContinueError( "... incorrect " + cNumericFieldNames( 12 ) + "=[" + RoundSigDigits( rNumericArgs( 12 ), 2 ) + "], value should not be negative." ); + } else if ( rNumericArgs( iMaxHeatAirVolFlowNumericNum ) < 0.0) { + ShowSevereError( cCurrentModuleObject + "=\"" + cAlphaArgs( iNameAlphaNum ) + "\", invalid data." ); + ShowContinueError( "... incorrect " + cNumericFieldNames( iMaxHeatAirVolFlowNumericNum ) + "=[" + RoundSigDigits( rNumericArgs( iMaxHeatAirVolFlowNumericNum ), 2 ) + "], value should not be negative." ); ErrorsFound = true; } else { - SysSizInput( SysSizIndex ).DesHeatAirFlow = rNumericArgs( 12 ); + SysSizInput( SysSizIndex ).DesHeatAirFlow = rNumericArgs( iMaxHeatAirVolFlowNumericNum ); } // N13;\field Maximum Zone Outdoor Air Fraction // \type real // \default 1.0 // \minimum> 0.0 // \units dimensionless - if ( lNumericFieldBlanks( 13 ) ) { + //int const iSystemOASMethodAlphaNum = 8; // A8, \field System Outdoor Air Method + //int const iZoneMaxOAFractionNumericNum = 13; // N20, \field Zone Maximum Outdoor Air Fraction + + // add input fields for other heating sizing methods + if ( lNumericFieldBlanks ( iZoneMaxOAFractionNumericNum ) ) { SysSizInput( SysSizIndex ).MaxZoneOAFraction = 0.0; - } else if ( rNumericArgs( 13 ) < 0.0 ) { - ShowSevereError( cCurrentModuleObject + "=\"" + cAlphaArgs( 1 ) + "\", invalid data." ); - ShowContinueError( "... incorrect " + cNumericFieldNames( 13 ) + "=[" + RoundSigDigits( rNumericArgs( 13 ), 2 ) + "], value should not be negative." ); + } else if ( rNumericArgs( iZoneMaxOAFractionNumericNum ) < 0.0) { + ShowSevereError( cCurrentModuleObject + "=\"" + cAlphaArgs( iNameAlphaNum ) + "\", invalid data." ); + ShowContinueError( "... incorrect " + cNumericFieldNames( iZoneMaxOAFractionNumericNum ) + "=[" + RoundSigDigits( rNumericArgs( iZoneMaxOAFractionNumericNum ), 2 ) + "], value should not be negative."); ErrorsFound = true; } else { - SysSizInput( SysSizIndex ).MaxZoneOAFraction = rNumericArgs( 13 ); + SysSizInput(SysSizIndex).MaxZoneOAFraction = rNumericArgs( iZoneMaxOAFractionNumericNum ); } - { auto const coolAirDesMethod( cAlphaArgs( 6 ) ); + { auto const coolAirDesMethod( cAlphaArgs( iCoolSAFMAlphaNum ) ); if ( coolAirDesMethod == "DESIGNDAY" ) { SysSizInput( SysSizIndex ).CoolAirDesMethod = FromDDCalc; } else if ( coolAirDesMethod == "FLOW/SYSTEM" ) { - SysSizInput( SysSizIndex ).CoolAirDesMethod = InpDesAirFlow; + SysSizInput( SysSizIndex ).CoolAirDesMethod = InpDesAirFlow; + //} else if ( coolAirDesMethod == "FlowPerFloorArea") { + // SysSizInput( SysSizIndex ).CoolAirDesMethod = FlowPerFloorArea; + // //SysSizInput(SysSizIndex).FlowPerFloorAreaCooled = rNumericArgs( iCoolFlowPerFloorAreaNumericNum ); + //} else if ( coolAirDesMethod == "FractionOfAutosizedCoolingAirflow") { + // SysSizInput(SysSizIndex).CoolAirDesMethod = FractionOfAutosizedCoolingAirflow; + // //SysSizInput(SysSizIndex).FractionOfAutosizedCoolingAirflow = rNumericArgs( iCoolFlowPerFracCoolNumericNum ); + //} else if ( coolAirDesMethod == "FlowPerCoolingCapacity") { + // SysSizInput(SysSizIndex).CoolAirDesMethod = FlowPerCoolingCapacity; + // //SysSizInput(SysSizIndex).FlowPerCoolingCapacity = rNumericArgs( iCoolFlowPerCoolCapNumericNum ); } else { - ShowSevereError( cCurrentModuleObject + "=\"" + cAlphaArgs( 1 ) + "\", invalid data." ); - ShowContinueError( "... incorrect " + cAlphaFieldNames( 6 ) + "=\"" + cAlphaArgs( 6 ) + "\"." ); + ShowSevereError( cCurrentModuleObject + "=\"" + cAlphaArgs( iNameAlphaNum ) + "\", invalid data." ); + ShowContinueError( "... incorrect " + cAlphaFieldNames( iCoolSAFMAlphaNum ) + "=\"" + cAlphaArgs( iCoolSAFMAlphaNum ) + "\"." ); ShowContinueError( "... valid values are DesignDay or Flow/System." ); ErrorsFound = true; }} - { auto const heatAirDesMethod( cAlphaArgs( 7 ) ); + { auto const heatAirDesMethod( cAlphaArgs( iHeatSAFMAlphaNum ) ); if ( heatAirDesMethod == "DESIGNDAY" ) { SysSizInput( SysSizIndex ).HeatAirDesMethod = FromDDCalc; } else if ( heatAirDesMethod == "FLOW/SYSTEM" ) { - SysSizInput( SysSizIndex ).HeatAirDesMethod = InpDesAirFlow; + SysSizInput( SysSizIndex ).HeatAirDesMethod = InpDesAirFlow; + //} else if (heatAirDesMethod == "FlowPerFloorArea") { + // SysSizInput(SysSizIndex).HeatAirDesMethod = FlowPerFloorArea; + // //SysSizInput(SysSizIndex).FlowPerFloorAreaCooled = rNumericArgs( iHeatFlowPerFloorAreaNumericNum ); + //} else if (heatAirDesMethod == "FractionOfAutosizedHeatingAirflow") { + // SysSizInput(SysSizIndex).HeatAirDesMethod = FractionOfAutosizedHeatingAirflow; + // //SysSizInput(SysSizIndex).FractionOfAutosizedHeatingAirflow = rNumericArgs( iHeatFlowPerFracHeatNumericNum ); + //} else if (heatAirDesMethod == "FractionOfAutosizedCoolingAirflow") { + // SysSizInput(SysSizIndex).HeatAirDesMethod = FractionOfAutosizedHeatingAirflow; + // //SysSizInput(SysSizIndex).FractionOfAutosizedCoolingAirflow = rNumericArgs( iHeatFlowPerFracCoolNumericNum ); + //} else if (heatAirDesMethod == "FlowPerHeatingCapacity") { + // SysSizInput(SysSizIndex).HeatAirDesMethod = FlowPerHeatingCapacity; + // //SysSizInput(SysSizIndex).FlowPerHeatingCapacity = rNumericArgs( iHeatFlowPerHeatCapNumericNum ); } else { - ShowSevereError( cCurrentModuleObject + "=\"" + cAlphaArgs( 1 ) + "\", invalid data." ); - ShowContinueError( "... incorrect " + cAlphaFieldNames( 7 ) + "=\"" + cAlphaArgs( 7 ) + "\"." ); + ShowSevereError( cCurrentModuleObject + "=\"" + cAlphaArgs( iNameAlphaNum ) + "\", invalid data." ); + ShowContinueError("... incorrect " + cAlphaFieldNames( iHeatSAFMAlphaNum ) + "=\"" + cAlphaArgs( iHeatSAFMAlphaNum ) + "\"." ); ShowContinueError( "... valid values are DesignDay or Flow/System." ); ErrorsFound = true; }} - { auto const systemOAMethod( cAlphaArgs( 8 ) ); + { auto const systemOAMethod(cAlphaArgs( iSystemOASMethodAlphaNum )); if ( systemOAMethod == "ZONESUM" ) { SysSizInput( SysSizIndex ).SystemOAMethod = SOAM_ZoneSum; } else if ( systemOAMethod == "VENTILATIONRATEPROCEDURE" ) { SysSizInput( SysSizIndex ).SystemOAMethod = SOAM_VRP; if ( SysSizInput( SysSizIndex ).DesOutAirVolFlow > 0 ) { - ShowSevereError( cCurrentModuleObject + "=\"" + cAlphaArgs( 1 ) + "\", invalid data." ); - ShowContinueError( "SystemOAMethod is set to VRP and " + cNumericFieldNames( 1 ) + " > 0, " " user entry will be ignored." ); + ShowSevereError( cCurrentModuleObject + "=\"" + cAlphaArgs( iNameAlphaNum ) + "\", invalid data." ); + ShowContinueError("SystemOAMethod is set to VRP and " + cNumericFieldNames( iDesignOAVolFlowNumericNum ) + " > 0, " " user entry will be ignored."); } } else { - ShowSevereError( cCurrentModuleObject + "=\"" + cAlphaArgs( 1 ) + "\", invalid data." ); - ShowContinueError( "... incorrect " + cAlphaFieldNames( 8 ) + "=\"" + cAlphaArgs( 8 ) + "\"." ); + ShowSevereError( cCurrentModuleObject + "=\"" + cAlphaArgs( iNameAlphaNum ) + "\", invalid data." ); + ShowContinueError( "... incorrect " + cAlphaFieldNames( iSystemOASMethodAlphaNum ) + "=\"" + cAlphaArgs( iSystemOASMethodAlphaNum ) + "\"."); ShowContinueError( "... valid values are ZoneSum or VentilationRateProcedure." ); ErrorsFound = true; }} } + //// Determine SysSizInput electric Cooling design capacity sizing method + //if (SameString(cAlphaArgs(iCoolCAPMAlphaNum), "CoolingDesignCapacity")) { + // SysSizInput(SysSizIndex).CoolingCapMethod = CoolingDesignCapacity; + + // if (!lNumericFieldBlanks(iCoolDesignCapacityNumericNum)) { + // SysSizInput(SysSizIndex).ScaledCoolingCapacity = rNumericArgs(iCoolDesignCapacityNumericNum); + // if (SysSizInput(SysSizIndex).ScaledCoolingCapacity < 0.0 && SysSizInput(SysSizIndex).ScaledCoolingCapacity != AutoSize) { + // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + // ShowContinueError("Illegal " + cNumericFieldNames(iCoolDesignCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iCoolDesignCapacityNumericNum), 7)); + // ErrorsFound = true; + // } + // } else { + // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + // ShowContinueError("Input for " + cAlphaFieldNames(iCoolCAPMAlphaNum) + " = " + cAlphaArgs(iCoolCAPMAlphaNum)); + // ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iCoolDesignCapacityNumericNum)); + // ErrorsFound = true; + // } + //} else if (SameString(cAlphaArgs(iCoolCAPMAlphaNum), "CapacityPerFloorArea")) { + // SysSizInput(SysSizIndex).CoolingCapMethod = CapacityPerFloorArea; + // if (!lNumericFieldBlanks(iCoolCapacityPerFloorAreaNumericNum)) { + // SysSizInput(SysSizIndex).ScaledCoolingCapacity = rNumericArgs(iCoolCapacityPerFloorAreaNumericNum); + // if (SysSizInput(SysSizIndex).ScaledCoolingCapacity <= 0.0) { + // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + // ShowContinueError("Input for " + cAlphaFieldNames(iCoolCAPMAlphaNum) + " = " + cAlphaArgs(iCoolCAPMAlphaNum)); + // ShowContinueError("Illegal " + cNumericFieldNames(iCoolCapacityPerFloorAreaNumericNum) + " = " + TrimSigDigits(rNumericArgs(iCoolCapacityPerFloorAreaNumericNum), 7)); + // ErrorsFound = true; + // } else if (SysSizInput(SysSizIndex).ScaledCoolingCapacity == AutoSize) { + // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + // ShowContinueError("Input for " + cAlphaFieldNames(iCoolCAPMAlphaNum) + " = " + cAlphaArgs(iCoolCAPMAlphaNum)); + // ShowContinueError("Illegal " + cNumericFieldNames(iCoolCapacityPerFloorAreaNumericNum) + " = Autosize"); + // ErrorsFound = true; + // } + // } else { + // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + // ShowContinueError("Input for " + cAlphaFieldNames(iCoolCAPMAlphaNum) + " = " + cAlphaArgs(iCoolCAPMAlphaNum)); + // ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iCoolCapacityPerFloorAreaNumericNum)); + // ErrorsFound = true; + // } + //} else if (SameString(cAlphaArgs(iCoolCAPMAlphaNum), "FractionOfAutosizedCoolingCapacity")){ + // SysSizInput(SysSizIndex).CoolingCapMethod = FractionOfAutosizedCoolingCapacity; + // if (!lNumericFieldBlanks(iCoolFracOfAutosizedCapacityNumericNum)) { + // SysSizInput(SysSizIndex).ScaledCoolingCapacity = rNumericArgs(iCoolFracOfAutosizedCapacityNumericNum); + // if (SysSizInput(SysSizIndex).ScaledCoolingCapacity < 0.0) { + // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + // ShowContinueError("Illegal " + cNumericFieldNames(iCoolFracOfAutosizedCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iCoolFracOfAutosizedCapacityNumericNum), 7)); + // ErrorsFound = true; + // } + // } else { + // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + // ShowContinueError("Input for " + cAlphaFieldNames(iCoolCAPMAlphaNum) + " = " + cAlphaArgs(iCoolCAPMAlphaNum)); + // ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iCoolFracOfAutosizedCapacityNumericNum)); + // ErrorsFound = true; + // } + //} else { + // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + // ShowContinueError("Illegal " + cAlphaFieldNames(iCoolCAPMAlphaNum) + " = " + cAlphaArgs(iCoolCAPMAlphaNum)); + // ErrorsFound = true; + //} + + + //// Determine SysSizInput electric heating design capacity sizing method + //if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "HeatingDesignCapacity")) { + // SysSizInput( SysSizIndex ).HeatingCapMethod = HeatingDesignCapacity; + + // if (!lNumericFieldBlanks(iHeatDesignCapacityNumericNum)) { + // SysSizInput( SysSizIndex ).ScaledHeatingCapacity = rNumericArgs(iHeatDesignCapacityNumericNum); + // if (SysSizInput( SysSizIndex ).ScaledHeatingCapacity < 0.0 && SysSizInput( SysSizIndex ).ScaledHeatingCapacity != AutoSize) { + // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + // ShowContinueError("Illegal " + cNumericFieldNames(iHeatDesignCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatDesignCapacityNumericNum), 7)); + // ErrorsFound = true; + // } + // } else { + // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + // ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + // ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatDesignCapacityNumericNum)); + // ErrorsFound = true; + // } + //} else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "CapacityPerFloorArea")) { + // SysSizInput( SysSizIndex ).HeatingCapMethod = CapacityPerFloorArea; + // if (!lNumericFieldBlanks(iHeatCapacityPerFloorAreaNumericNum)) { + // SysSizInput( SysSizIndex ).ScaledHeatingCapacity = rNumericArgs(iHeatCapacityPerFloorAreaNumericNum); + // if (SysSizInput( SysSizIndex ).ScaledHeatingCapacity <= 0.0) { + // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + // ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + // ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatCapacityPerFloorAreaNumericNum), 7)); + // ErrorsFound = true; + // } else if (SysSizInput( SysSizIndex ).ScaledHeatingCapacity == AutoSize) { + // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + // ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + // ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = Autosize"); + // ErrorsFound = true; + // } + // } else { + // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + // ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + // ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum)); + // ErrorsFound = true; + // } + //} else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "FractionOfAutosizedHeatingCapacity")){ + // SysSizInput( SysSizIndex ).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; + // if (!lNumericFieldBlanks(iHeatFracOfAutosizedCapacityNumericNum)) { + // SysSizInput( SysSizIndex ).ScaledHeatingCapacity = rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum); + // if (SysSizInput( SysSizIndex ).ScaledHeatingCapacity < 0.0) { + // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + // ShowContinueError("Illegal " + cNumericFieldNames(iHeatFracOfAutosizedCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum), 7)); + // ErrorsFound = true; + // } + // } else { + // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + // ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + // ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatFracOfAutosizedCapacityNumericNum)); + // ErrorsFound = true; + // } + //} else { + // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + // ShowContinueError("Illegal " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + // ErrorsFound = true; + //} + + if ( ErrorsFound ) { ShowFatalError( cCurrentModuleObject + ": Errors found in getting input. Program terminates." ); } @@ -2376,6 +2593,656 @@ namespace SizingManager { } + + void + GetZoneHVACSizing() + { + + // SUBROUTINE INFORMATION: + // AUTHOR B. Nigusse - FSEC + // DATE WRITTEN July 2014 + // MODIFIED na + // RE-ENGINEERED na + + // PURPOSE OF THIS SUBROUTINE: + // Obtains input data for the ZoneHVAC sizing methods object and stores it in + // appropriate data structure. + + // METHODOLOGY EMPLOYED: + // Uses InputProcessor "Get" routines to obtain data. + // This object requires only a name where the default values are assumed + // if subsequent fields are not entered. + + // REFERENCES: + // na + + // Using/Aliasing + using InputProcessor::GetNumObjectsFound; + using InputProcessor::GetObjectDefMaxArgs; + using InputProcessor::GetObjectItem; + using InputProcessor::VerifyName; + using InputProcessor::SameString; + using namespace DataIPShortCuts; + using General::RoundSigDigits; + using General::TrimSigDigits; + using DataSizing::NumZoneHVACSizing; + using DataSizing::ZoneHVACSizing; + + // Locals + // SUBROUTINE ARGUMENT DEFINITIONS: + // na + + // SUBROUTINE PARAMETER DEFINITIONS: + static std::string const RoutineName("GetZoneHVACSizing: "); // include trailing blank space + + // INTERFACE BLOCK SPECIFICATIONS + // na + + // DERIVED TYPE DEFINITIONS + // na + + // SUBROUTINE LOCAL VARIABLE DECLARATIONS: + + int iHeatSAFMAlphaNum; // get input index to Zone HVAC sizing heat supp air flow method + int iCoolSAFMAlphaNum; // get input index to Zone HVAC sizing cool supp air flow method + int iMaxCoolAirVolFlowNumericNum; // get input index to Zone HVAC sizing cool supply air flow + int iMaxHeatAirVolFlowNumericNum; // get input index to Zone HVAC sizing heat supply air flow + int iNoCoolHeatSAFMAlphaNum; // get input index to Zone HVAC sizing no cool/heat supply air flow + int iMaxNoCoolHeatAirVolFlowNumericNum; // get input index to Zone HVAC sizing no cool/heat supply air flow + int iCoolFlowPerFloorAreaNumericNum; // get input index to Zone HVAC sizing cool flow per floor area + int iCoolFlowPerFracCoolNumericNum; // get input index to Zone HVAC sizing cool flow per fraction cool + int iCoolFlowPerCoolCapNumericNum; // get input index to Zone HVAC sizing cool flow per cooling cap + int iHeatFlowPerFloorAreaNumericNum; // get input index to Zone HVAC sizing heat flow per floor area + int iHeatFlowPerFracCoolNumericNum; // get input index to Zone HVAC sizing heat flow per fraction heat + int iHeatFlowPerHeatCapNumericNum; // get input index to Zone HVAC sizing heat flow per heating cap + int iNoCoolHeatFlowPerFloorAreaNumericNum; // get input index to Zone HVAC sizing no cool/heat FPA + int iNoCoolHeatFlowPerFracCoolNumericNum; // get input index to Zone HVAC sizing no cool/heat FPFC + int iNoCoolHeatFlowPerFracHeatNumericNum; // get input index to Zone HVAC sizing no cool/heat FPFH + int iNoCoolHeatFlowPerCoolCapNumericNum; // get input index to Zone HVAC sizing no cool/heat FPCC + int iNoCoolHeatFlowPerHeatCapNumericNum; // get input index to Zone HVAC sizing no cool/heat FPHC + + int iCoolCAPMAlphaNum; // get input index to Zone HVAC sizing chilled water flow method + int iCoolDesignCapacityNumericNum; // get input index to Zone HVAC sizing chilled water flow + int iCoolCapacityPerFloorAreaNumericNum; // get input index to Zone HVAC sizing cooling capacity per floor area + int iCoolFracOfAutosizedCapacityNumericNum; // get input index to Zone HVAC sizing capacity as fraction autozized cooling capacity + + int iHeatCAPMAlphaNum; // get input index to Zone HVAC sizing heating capacity + int iHeatDesignCapacityNumericNum; // get input index to Zone HVAC sizing heating design capacity + int iHeatCapacityPerFloorAreaNumericNum; // get input index to Zone HVAC sizing heating capacity per floor area + int iHeatFracOfAutosizedCapacityNumericNum; // get input index to Zone HVAC sizing capacity as fraction autozized cooling capacity + + iCoolSAFMAlphaNum = 2; // get input index to Zone HVAC sizing heat supp air flow method + iMaxCoolAirVolFlowNumericNum = 1; // get input index to Zone HVAC sizing cool supply air flow + iCoolFlowPerFloorAreaNumericNum = 2; // get input index to Zone HVAC sizing cool flow per floor area + iCoolFlowPerFracCoolNumericNum = 3; // get input index to Zone HVAC sizing cool flow per fraction cool + iCoolFlowPerCoolCapNumericNum = 4; // get input index to Zone HVAC sizing cool flow per cooling cap + + + iNoCoolHeatSAFMAlphaNum = 3; // get input index to Zone HVAC sizing no cool/heat supply air flow + iMaxNoCoolHeatAirVolFlowNumericNum = 5; // get input index to Zone HVAC sizing no cool/heat supply air flow + iNoCoolHeatFlowPerFloorAreaNumericNum = 6; // get input index to Zone HVAC sizing no cool/heat FPA + iNoCoolHeatFlowPerFracCoolNumericNum = 7; // get input index to Zone HVAC sizing no cool/heat FPFC + iNoCoolHeatFlowPerFracHeatNumericNum = 8; // get input index to Zone HVAC sizing no cool/heat FPFH + + iHeatSAFMAlphaNum = 4; // get input index to Zone HVAC sizing cool supp air flow method + iMaxHeatAirVolFlowNumericNum = 9; // get input index to Zone HVAC sizing heat supply air flow + iHeatFlowPerFloorAreaNumericNum = 10; // get input index to Zone HVAC sizing heat flow per floor area + iHeatFlowPerFracCoolNumericNum = 11; // get input index to Zone HVAC sizing heat flow per fraction heat + iHeatFlowPerHeatCapNumericNum = 12; // get input index to Zone HVAC sizing heat flow per heating cap + + iCoolCAPMAlphaNum = 5; // get input index to Zone HVAC sizing cooling design capacity method + iCoolDesignCapacityNumericNum = 13; // get input index to Zone HVAC sizing cooling design capacity + iCoolCapacityPerFloorAreaNumericNum = 14; // get input index to Zone HVAC sizing cooling design capacity per floor area + iCoolFracOfAutosizedCapacityNumericNum = 15; // get input index to Zone HVAC sizing as a fraction of cooling design capacity + + + iHeatCAPMAlphaNum = 6; // get input index to Zone HVAC sizing heating capacity + iHeatDesignCapacityNumericNum = 16; // get input index to Zone HVAC sizing heating design capacity + iHeatCapacityPerFloorAreaNumericNum = 17; // get input index to Zone HVAC sizing heating capacity per floor area + iHeatFracOfAutosizedCapacityNumericNum = 18; // get input index to Zone HVAC sizing capacity as fraction autozized heating capacity + + + int NumAlphas; // Number of Alphas for each GetObjectItem call + int NumNumbers; // Number of Numbers for each GetObjectItem call + int TotalArgs; // Total number of alpha and numeric arguments (max) for a + int IOStatus; // Used in GetObjectItem + int zSIndex; // index of "DesignSpecification:ZoneHVAC:Sizing" objects + static bool ErrorsFound(false); // If errors detected in input + bool IsNotOK; // Flag to verify name + bool IsBlank; // Flag for blank name + // REAL(r64) :: CalcAmt + + std::string CurrentModuleObject; // for ease in getting objects + FArray1D_string Alphas; // Alpha input items for object + FArray1D_string cAlphaFields; // Alpha field names + FArray1D_string cNumericFields; // Numeric field names + FArray1D< Real64 > Numbers; // Numeric input items for object + FArray1D_bool lAlphaBlanks; // Logical array, alpha field input BLANK = .TRUE. + FArray1D_bool lNumericBlanks; // Logical array, numeric field input BLANK = .TRUE. + + CurrentModuleObject = "DesignSpecification:ZoneHVAC:Sizing"; + NumZoneHVACSizing = GetNumObjectsFound(CurrentModuleObject); + GetObjectDefMaxArgs(CurrentModuleObject, TotalArgs, NumAlphas, NumNumbers); + + Alphas.allocate(NumAlphas); + Alphas = ""; + cAlphaFields.allocate(NumAlphas); + cAlphaFields = ""; + cNumericFields.allocate(NumNumbers); + cNumericFields = ""; + Numbers.allocate(NumNumbers); + Numbers = 0.0; + lAlphaBlanks.allocate(NumAlphas); + lAlphaBlanks = true; + lNumericBlanks.allocate(NumNumbers); + lNumericBlanks = true; + + if (NumZoneHVACSizing > 0) { + ZoneHVACSizing.allocate(NumZoneHVACSizing); + + //Start Loading the System Input + for (zSIndex = 1; zSIndex <= NumZoneHVACSizing; ++zSIndex) { + + Alphas = ""; + cAlphaFields = ""; + cNumericFields = ""; + Numbers = 0; + lAlphaBlanks = true; + lNumericBlanks = true; + + GetObjectItem(CurrentModuleObject, zSIndex, Alphas, NumAlphas, Numbers, NumNumbers, IOStatus, lNumericBlanks, lAlphaBlanks, cAlphaFields, cNumericFields); + + VerifyName(Alphas(1), ZoneHVACSizing.Name(), zSIndex - 1, IsNotOK, IsBlank, CurrentModuleObject + " Name"); + if (IsNotOK) { + ErrorsFound = true; + if (IsBlank) Alphas(1) = "xxxxx"; + } + + ZoneHVACSizing(zSIndex).Name = Alphas(1); + + // Determine supply air flow rate sizing method for cooling mode + if (SameString(Alphas(iCoolSAFMAlphaNum), "SupplyAirFlowRate")) { + ZoneHVACSizing(zSIndex).CoolingSAFMethod = SupplyAirFlowRate;; + + if (!lNumericBlanks(iMaxCoolAirVolFlowNumericNum)) { + ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow = Numbers(iMaxCoolAirVolFlowNumericNum); + if (ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow == AutoSize) ZoneHVACSizing(zSIndex).RequestAutoSize = true; + if (ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow <= 0.0 && ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow != AutoSize) { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Illegal " + cNumericFields(iMaxCoolAirVolFlowNumericNum) + " = " + TrimSigDigits(Numbers(iMaxCoolAirVolFlowNumericNum), 7)); + ErrorsFound = true; + } + } + else { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iCoolSAFMAlphaNum) + " = " + Alphas(iCoolSAFMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFields(iMaxCoolAirVolFlowNumericNum)); + ErrorsFound = true; + } + } + else if (SameString(Alphas(iCoolSAFMAlphaNum), "FlowPerFloorArea")) { + ZoneHVACSizing(zSIndex).CoolingSAFMethod = FlowPerFloorArea; + if (!lNumericBlanks(iCoolFlowPerFloorAreaNumericNum)) { + ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow = Numbers(iCoolFlowPerFloorAreaNumericNum); + if (ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow <= 0.0 && ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow != AutoSize) { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iCoolSAFMAlphaNum) + " = " + Alphas(iCoolSAFMAlphaNum)); + ShowContinueError("Illegal " + cNumericFields(iCoolFlowPerFloorAreaNumericNum) + " = " + TrimSigDigits(Numbers(iCoolFlowPerFloorAreaNumericNum), 7)); + ErrorsFound = true; + // Autosized input is not allowed + } + else if (ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow == AutoSize) { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iCoolSAFMAlphaNum) + " = " + Alphas(iCoolSAFMAlphaNum)); + ShowContinueError("Illegal " + cNumericFields(iCoolFlowPerFloorAreaNumericNum) + " = Autosize"); + ErrorsFound = true; + } + else { + // user input cooling supply air flow per unit conditioned area is saved in ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow + ZoneHVACSizing(zSIndex).RequestAutoSize = true; + } + } + else { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iCoolSAFMAlphaNum) + " = " + Alphas(iCoolSAFMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFields(iCoolFlowPerFloorAreaNumericNum)); + ErrorsFound = true; + } + } + else if (SameString(Alphas(iCoolSAFMAlphaNum), "FractionOfAutosizedCoolingAirflow")) { + ZoneHVACSizing(zSIndex).CoolingSAFMethod = FractionOfAutosizedCoolingAirflow; + if (!lNumericBlanks(iCoolFlowPerFracCoolNumericNum)) { + ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow = Numbers(iCoolFlowPerFracCoolNumericNum); + if (ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow <= 0.0 && ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow != AutoSize) { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iCoolSAFMAlphaNum) + " = " + Alphas(iCoolSAFMAlphaNum)); + ShowContinueError("Illegal " + cNumericFields(iCoolFlowPerFracCoolNumericNum) + " = " + TrimSigDigits(Numbers(iCoolFlowPerFracCoolNumericNum), 7)); + ErrorsFound = true; + // Autosized input is not allowed + } + else if (ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow == AutoSize) { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iCoolSAFMAlphaNum) + " = " + Alphas(iCoolSAFMAlphaNum)); + ShowContinueError("Illegal " + cNumericFields(iCoolFlowPerFracCoolNumericNum) + " = Autosize"); + ErrorsFound = true; + } + else { + // user input fraction of cooling supply air flow rate is saved in ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow + ZoneHVACSizing(zSIndex).RequestAutoSize = true; + } + } + else { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iCoolSAFMAlphaNum) + " = " + Alphas(iCoolSAFMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFields(iCoolFlowPerFracCoolNumericNum)); + ErrorsFound = true; + } + } + else if (SameString(Alphas(iCoolSAFMAlphaNum), "FlowPerCoolingCapacity")) { + + ZoneHVACSizing(zSIndex).CoolingSAFMethod = FlowPerCoolingCapacity; + if (!lNumericBlanks(iCoolFlowPerCoolCapNumericNum)) { + ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow = Numbers(iCoolFlowPerCoolCapNumericNum); + if (ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow <= 0.0 && ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow != AutoSize) { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iCoolSAFMAlphaNum) + " = " + Alphas(iCoolSAFMAlphaNum)); + ShowContinueError("Illegal " + cNumericFields(iCoolFlowPerCoolCapNumericNum) + " = " + TrimSigDigits(Numbers(iCoolFlowPerCoolCapNumericNum), 7)); + ErrorsFound = true; + // Autosized input is not allowed + } + else if (ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow == AutoSize) { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iCoolSAFMAlphaNum) + " = " + Alphas(iCoolSAFMAlphaNum)); + ShowContinueError("Illegal " + cNumericFields(iCoolFlowPerCoolCapNumericNum) + " = Autosize"); + ErrorsFound = true; + } + else { + // user input cooling supply air flow per unit cooling capacity is saved in ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow + ZoneHVACSizing(zSIndex).RequestAutoSize = true; + } + } + else { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iCoolSAFMAlphaNum) + " = " + Alphas(iCoolSAFMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFields(iCoolFlowPerCoolCapNumericNum)); + ErrorsFound = true; + } + } + else if (SameString(Alphas(iCoolSAFMAlphaNum), "None") || lAlphaBlanks(iCoolSAFMAlphaNum)) { + ZoneHVACSizing(zSIndex).CoolingSAFMethod = None; + ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow = 0.0; + // cooling supply air flow rate will not be sized, may be cooling coil does not exist + } + else { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Illegal " + cAlphaFields(iCoolSAFMAlphaNum) + " = " + Alphas(iCoolSAFMAlphaNum)); + ErrorsFound = true; + } + // Determine supply air flow rate sizing method for heating mode + if (SameString(Alphas(iHeatSAFMAlphaNum), "SupplyAirFlowRate")) { + ZoneHVACSizing(zSIndex).HeatingSAFMethod = SupplyAirFlowRate; + if (!lNumericBlanks(iMaxHeatAirVolFlowNumericNum)) { + ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow = Numbers(iMaxHeatAirVolFlowNumericNum); + if (ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow == AutoSize) ZoneHVACSizing(zSIndex).RequestAutoSize = true; + + if (ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow <= 0.0 && ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow != AutoSize) { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Illegal " + cNumericFields(iMaxHeatAirVolFlowNumericNum) + " = " + TrimSigDigits(Numbers(iMaxHeatAirVolFlowNumericNum), 7)); + ErrorsFound = true; + } + } + else { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iHeatSAFMAlphaNum) + " = " + Alphas(iHeatSAFMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFields(iMaxHeatAirVolFlowNumericNum)); + ErrorsFound = true; + } + } + else if (SameString(Alphas(iHeatSAFMAlphaNum), "FlowPerFloorArea")) { + ZoneHVACSizing(zSIndex).HeatingSAFMethod = FlowPerFloorArea; + if (!lNumericBlanks(iHeatFlowPerFloorAreaNumericNum)) { + ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow = Numbers(iHeatFlowPerFloorAreaNumericNum); + if (ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow <= 0.0 && ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow != AutoSize) { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iHeatSAFMAlphaNum) + " = " + Alphas(iHeatSAFMAlphaNum)); + ShowContinueError("Illegal " + cNumericFields(iHeatFlowPerFloorAreaNumericNum) + " = " + TrimSigDigits(Numbers(iHeatFlowPerFloorAreaNumericNum), 7)); + ErrorsFound = true; + // Autosized input is not allowed + } + else if (ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow == AutoSize) { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iHeatSAFMAlphaNum) + " = " + Alphas(iHeatSAFMAlphaNum)); + ShowContinueError("Illegal " + cNumericFields(iHeatFlowPerFloorAreaNumericNum) + " = Autosize"); + ErrorsFound = true; + } + else { + // user input heating supply air flow per unit conditioned area is saved in ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow + ZoneHVACSizing(zSIndex).RequestAutoSize = true; + } + } + else { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iHeatSAFMAlphaNum) + " = " + Alphas(iHeatSAFMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFields(iHeatFlowPerFloorAreaNumericNum)); + ErrorsFound = true; + } + } + else if (SameString(Alphas(iHeatSAFMAlphaNum), "FractionOfAutosizedHeatingAirflow")) { + ZoneHVACSizing(zSIndex).HeatingSAFMethod = FractionOfAutosizedHeatingAirflow; + if (!lNumericBlanks(iHeatFlowPerFracCoolNumericNum)) { + ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow = Numbers(iHeatFlowPerFracCoolNumericNum); + if (ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow <= 0.0 && ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow != AutoSize) { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iHeatSAFMAlphaNum) + " = " + Alphas(iHeatSAFMAlphaNum)); + ShowContinueError("Illegal " + cNumericFields(iHeatFlowPerFracCoolNumericNum) + " = " + TrimSigDigits(Numbers(iHeatFlowPerFracCoolNumericNum), 7)); + ErrorsFound = true; + // Autosized input is not allowed + } + else if (ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow == AutoSize) { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iHeatSAFMAlphaNum) + " = " + Alphas(iHeatSAFMAlphaNum)); + ShowContinueError("Illegal " + cNumericFields(iHeatFlowPerFracCoolNumericNum) + " = Autosize"); + ErrorsFound = true; + } + else { + // user input fraction of heating supply air flow rate is saved in ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow + ZoneHVACSizing(zSIndex).RequestAutoSize = true; + } + } + else { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iHeatSAFMAlphaNum) + " = " + Alphas(iHeatSAFMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFields(iHeatFlowPerFracCoolNumericNum)); + ErrorsFound = true; + } + } + else if (SameString(Alphas(iHeatSAFMAlphaNum), "FlowPerHeatingCapacity")) { + ZoneHVACSizing(zSIndex).HeatingSAFMethod = FlowPerHeatingCapacity; + if (!lNumericBlanks(iHeatFlowPerHeatCapNumericNum)) { + ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow = Numbers(iHeatFlowPerHeatCapNumericNum); + if (ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow <= 0.0 && ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow != AutoSize) { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iHeatSAFMAlphaNum) + " = " + Alphas(iHeatSAFMAlphaNum)); + ShowContinueError("Illegal " + cNumericFields(iHeatFlowPerHeatCapNumericNum) + " = " + TrimSigDigits(Numbers(iHeatFlowPerHeatCapNumericNum), 7)); + ErrorsFound = true; + // Autosized input is not allowed + } + else if (ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow == AutoSize) { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iHeatSAFMAlphaNum) + " = " + Alphas(iHeatSAFMAlphaNum)); + ShowContinueError("Illegal " + cNumericFields(iHeatFlowPerHeatCapNumericNum) + " = Autosize"); + ErrorsFound = true; + } + else { + // user input heating supply air flow per unit heating capacity is saved in ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow + ZoneHVACSizing(zSIndex).RequestAutoSize = true; + } + } + else { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iHeatSAFMAlphaNum) + " = " + Alphas(iHeatSAFMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFields(iHeatFlowPerHeatCapNumericNum)); + ErrorsFound = true; + } + } + else if (SameString(Alphas(iHeatSAFMAlphaNum), "None") || lAlphaBlanks(iHeatSAFMAlphaNum)) { + ZoneHVACSizing(zSIndex).HeatingSAFMethod = None; + ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow = 0.0; + } + else { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Illegal " + cAlphaFields(iHeatSAFMAlphaNum) + " = " + Alphas(iHeatSAFMAlphaNum)); + ErrorsFound = true; + } + + // Determine supply air flow rate sizing method when cooling or heating is not needed + if (SameString(Alphas(iNoCoolHeatSAFMAlphaNum), "SupplyAirFlowRate")) { + ZoneHVACSizing(zSIndex).NoCoolHeatSAFMethod = SupplyAirFlowRate; + if (!lNumericBlanks(iMaxNoCoolHeatAirVolFlowNumericNum)) { + ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow = Numbers(iMaxNoCoolHeatAirVolFlowNumericNum); + if (ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow == AutoSize) ZoneHVACSizing(zSIndex).RequestAutoSize = true; + if (ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow < 0.0 && ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow != AutoSize) { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Illegal " + cNumericFields(iMaxNoCoolHeatAirVolFlowNumericNum) + " = " + TrimSigDigits(Numbers(iMaxNoCoolHeatAirVolFlowNumericNum), 7)); + ErrorsFound = true; + } + } else { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iNoCoolHeatSAFMAlphaNum) + " = " + Alphas(iNoCoolHeatSAFMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFields(iMaxNoCoolHeatAirVolFlowNumericNum)); + ErrorsFound = true; + } + } + else if (SameString(Alphas(iNoCoolHeatSAFMAlphaNum), "FlowPerFloorArea")) { + ZoneHVACSizing(zSIndex).NoCoolHeatSAFMethod = FlowPerFloorArea; + if (!lNumericBlanks(iNoCoolHeatFlowPerFloorAreaNumericNum)) { + ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow = Numbers(iNoCoolHeatFlowPerFloorAreaNumericNum); + if (ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow < 0.0 && ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow != AutoSize) { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iNoCoolHeatSAFMAlphaNum) + " = " + Alphas(iNoCoolHeatSAFMAlphaNum)); + ShowContinueError("Illegal " + cNumericFields(iNoCoolHeatFlowPerFloorAreaNumericNum) + " = " + TrimSigDigits(Numbers(iNoCoolHeatFlowPerFloorAreaNumericNum), 7)); + ErrorsFound = true; + // Autosized input is not allowed + } else if (ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow == AutoSize) { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iNoCoolHeatSAFMAlphaNum) + " = " + Alphas(iNoCoolHeatSAFMAlphaNum)); + ShowContinueError("Illegal " + cNumericFields(iNoCoolHeatFlowPerFloorAreaNumericNum) + " = Autosize"); + ErrorsFound = true; + } else { + // user input supply air flow per unit floor area during no cooling or heating area is saved in ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow + ZoneHVACSizing(zSIndex).RequestAutoSize = true; + } + } else { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iNoCoolHeatSAFMAlphaNum) + " = " + Alphas(iNoCoolHeatSAFMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFields(iNoCoolHeatFlowPerFloorAreaNumericNum)); + ErrorsFound = true; + } + } + else if (SameString(Alphas(iNoCoolHeatSAFMAlphaNum), "FractionOfAutosizedCoolingAirflow")) { + ZoneHVACSizing(zSIndex).NoCoolHeatSAFMethod = FractionOfAutosizedCoolingAirflow; + if (!lNumericBlanks(iNoCoolHeatFlowPerFracCoolNumericNum)) { + ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow = Numbers(iNoCoolHeatFlowPerFracCoolNumericNum); + if (ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow < 0.0 && ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow != AutoSize) { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iNoCoolHeatSAFMAlphaNum) + " = " + Alphas(iNoCoolHeatSAFMAlphaNum)); + ShowContinueError("Illegal " + cNumericFields(iNoCoolHeatFlowPerFracCoolNumericNum) + " = " + TrimSigDigits(Numbers(iNoCoolHeatFlowPerFracCoolNumericNum), 7)); + ErrorsFound = true; + // Autosized input is not allowed + } else if (ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow == AutoSize) { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iNoCoolHeatSAFMAlphaNum) + " = " + Alphas(iNoCoolHeatSAFMAlphaNum)); + ShowContinueError("Illegal " + cNumericFields(iNoCoolHeatFlowPerFracCoolNumericNum) + " = Autosize"); + ErrorsFound = true; + } else { + // user input frcation of cooling supply air flow rate during no cooling or heating area is saved in ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow + ZoneHVACSizing(zSIndex).RequestAutoSize = true; + } + } else { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iNoCoolHeatSAFMAlphaNum) + " = " + Alphas(iNoCoolHeatSAFMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFields(iNoCoolHeatFlowPerFracCoolNumericNum)); + ErrorsFound = true; + } + } else if (SameString(Alphas(iNoCoolHeatSAFMAlphaNum), "FractionOfAutosizedHeatingAirflow")) { + ZoneHVACSizing(zSIndex).NoCoolHeatSAFMethod = FractionOfAutosizedHeatingAirflow; + if (!lNumericBlanks(iNoCoolHeatFlowPerFracHeatNumericNum)) { + ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow = Numbers(iNoCoolHeatFlowPerFracHeatNumericNum); + if (ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow < 0.0 && ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow != AutoSize) { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iNoCoolHeatSAFMAlphaNum) + " = " + Alphas(iNoCoolHeatSAFMAlphaNum)); + ShowContinueError("Illegal " + cNumericFields(iNoCoolHeatFlowPerFracHeatNumericNum) + " = " + TrimSigDigits(Numbers(iNoCoolHeatFlowPerFracHeatNumericNum), 7)); + ErrorsFound = true; + // Autosized input is not allowed + } else if (ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow == AutoSize) { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iNoCoolHeatSAFMAlphaNum) + " = " + Alphas(iNoCoolHeatSAFMAlphaNum)); + ShowContinueError("Illegal " + cNumericFields(iNoCoolHeatFlowPerFracHeatNumericNum) + " = Autosize"); + ErrorsFound = true; + } else { + // user input frcation of heating supply air flow rate during no cooling or heating area is saved in ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow + ZoneHVACSizing(zSIndex).RequestAutoSize = true; + } + } else { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iNoCoolHeatSAFMAlphaNum) + " = " + Alphas(iNoCoolHeatSAFMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFields(iNoCoolHeatFlowPerFracHeatNumericNum)); + ErrorsFound = true; + } + } else if (SameString(Alphas(iNoCoolHeatSAFMAlphaNum), "None") || lAlphaBlanks(iNoCoolHeatSAFMAlphaNum)) { + ZoneHVACSizing(zSIndex).NoCoolHeatSAFMethod = None; + ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow = 0.0; + } else { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Illegal " + cAlphaFields(iNoCoolHeatSAFMAlphaNum) + " = " + Alphas(iNoCoolHeatSAFMAlphaNum)); + ErrorsFound = true; + } + + // Determine cooling design capacity of zoneHVAC equipment + if (SameString(Alphas(iCoolCAPMAlphaNum), "CoolingDesignCapacity")) { + ZoneHVACSizing(zSIndex).CoolingCapMethod = CoolingDesignCapacity; + if (!lNumericBlanks(iCoolDesignCapacityNumericNum)) { + ZoneHVACSizing(zSIndex).ScaledCoolingCapacity = Numbers(iCoolDesignCapacityNumericNum); + if (ZoneHVACSizing(zSIndex).ScaledCoolingCapacity == AutoSize) ZoneHVACSizing(zSIndex).RequestAutoSize = true; + if (ZoneHVACSizing(zSIndex).ScaledCoolingCapacity < 0.0 && ZoneHVACSizing(zSIndex).ScaledCoolingCapacity != AutoSize) { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Illegal " + cNumericFields(iCoolDesignCapacityNumericNum) + " = " + TrimSigDigits(Numbers(iCoolDesignCapacityNumericNum), 7)); + ErrorsFound = true; + } + } else { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iCoolCAPMAlphaNum) + " = " + Alphas(iCoolCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFields(iCoolDesignCapacityNumericNum)); + ErrorsFound = true; + } + } else if (SameString(Alphas(iCoolCAPMAlphaNum), "CapacityPerFloorArea")) { + ZoneHVACSizing(zSIndex).CoolingCapMethod = CapacityPerFloorArea; + if (!lNumericBlanks(iCoolCapacityPerFloorAreaNumericNum)) { + ZoneHVACSizing(zSIndex).ScaledCoolingCapacity = Numbers(iCoolCapacityPerFloorAreaNumericNum); + if (ZoneHVACSizing(zSIndex).ScaledCoolingCapacity <= 0.0) { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iCoolCAPMAlphaNum) + " = " + Alphas(iCoolCAPMAlphaNum)); + ShowContinueError("Illegal " + cNumericFields(iCoolCapacityPerFloorAreaNumericNum) + " = " + TrimSigDigits(Numbers(iCoolCapacityPerFloorAreaNumericNum), 7)); + ErrorsFound = true; + // Autosized input is not allowed + } else if (ZoneHVACSizing(zSIndex).ScaledCoolingCapacity == AutoSize) { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iCoolCAPMAlphaNum) + " = " + Alphas(iCoolCAPMAlphaNum)); + ShowContinueError("Illegal " + cNumericFields(iCoolCapacityPerFloorAreaNumericNum) + " = Autosize"); + ErrorsFound = true; + } + } else { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iCoolCAPMAlphaNum) + " = " + Alphas(iCoolCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFields(iCoolCapacityPerFloorAreaNumericNum)); + ErrorsFound = true; + } + } else if (SameString(Alphas(iCoolCAPMAlphaNum), "FractionOfAutosizedCoolingCapacity") ) { + ZoneHVACSizing(zSIndex).CoolingCapMethod = FractionOfAutosizedCoolingCapacity; + if (!lNumericBlanks(iCoolFracOfAutosizedCapacityNumericNum)) { + ZoneHVACSizing(zSIndex).ScaledCoolingCapacity = Numbers(iCoolFracOfAutosizedCapacityNumericNum); + if (ZoneHVACSizing(zSIndex).ScaledCoolingCapacity == AutoSize) ZoneHVACSizing(zSIndex).RequestAutoSize = true; + if (ZoneHVACSizing(zSIndex).ScaledCoolingCapacity < 0.0 && ZoneHVACSizing(zSIndex).ScaledCoolingCapacity != AutoSize) { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Illegal " + cNumericFields(iCoolFracOfAutosizedCapacityNumericNum) + " = " + TrimSigDigits(Numbers(iCoolFracOfAutosizedCapacityNumericNum), 7)); + ErrorsFound = true; + } + } else { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iCoolCAPMAlphaNum) + " = " + Alphas(iCoolCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFields(iCoolFracOfAutosizedCapacityNumericNum)); + ErrorsFound = true; + } + } else if (SameString(Alphas(iCoolCAPMAlphaNum), "None") || lAlphaBlanks(iCoolCAPMAlphaNum)) { + ZoneHVACSizing(zSIndex).CoolingCapMethod = None; + } else { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Illegal " + cAlphaFields(iCoolCAPMAlphaNum) + " = " + Alphas(iCoolCAPMAlphaNum)); + ErrorsFound = true; + } + + // Determine heating design capacity of zone HVAC equipment + if (SameString(Alphas(iHeatCAPMAlphaNum), "HeatingDesignCapacity")) { + ZoneHVACSizing(zSIndex).HeatingCapMethod = HeatingDesignCapacity; + if (!lNumericBlanks(iHeatDesignCapacityNumericNum)) { + ZoneHVACSizing(zSIndex).ScaledHeatingCapacity = Numbers(iHeatDesignCapacityNumericNum); + if (ZoneHVACSizing(zSIndex).ScaledHeatingCapacity == AutoSize) ZoneHVACSizing(zSIndex).RequestAutoSize = true; + if (ZoneHVACSizing(zSIndex).ScaledHeatingCapacity < 0.0 && ZoneHVACSizing(zSIndex).ScaledHeatingCapacity != AutoSize) { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Illegal " + cNumericFields(iHeatDesignCapacityNumericNum) + " = " + TrimSigDigits(Numbers(iHeatDesignCapacityNumericNum), 7)); + ErrorsFound = true; + } + } else { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iHeatCAPMAlphaNum) + " = " + Alphas(iHeatCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFields(iHeatDesignCapacityNumericNum)); + ErrorsFound = true; + } + } + else if (SameString(Alphas(iHeatCAPMAlphaNum), "CapacityPerFloorArea")) { + ZoneHVACSizing(zSIndex).HeatingCapMethod = CapacityPerFloorArea; + if (!lNumericBlanks(iHeatCapacityPerFloorAreaNumericNum)) { + ZoneHVACSizing(zSIndex).ScaledHeatingCapacity = Numbers(iHeatCapacityPerFloorAreaNumericNum); + if (ZoneHVACSizing(zSIndex).ScaledHeatingCapacity <= 0.0) { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iHeatCAPMAlphaNum) + " = " + Alphas(iHeatCAPMAlphaNum)); + ShowContinueError("Illegal " + cNumericFields(iHeatCapacityPerFloorAreaNumericNum) + " = " + TrimSigDigits(Numbers(iHeatCapacityPerFloorAreaNumericNum), 7)); + ErrorsFound = true; + // Autosized input is not allowed + } else if (ZoneHVACSizing(zSIndex).ScaledHeatingCapacity == AutoSize) { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iHeatCAPMAlphaNum) + " = " + Alphas(iHeatCAPMAlphaNum)); + ShowContinueError("Illegal " + cNumericFields(iHeatCapacityPerFloorAreaNumericNum) + " = Autosize"); + ErrorsFound = true; + } + } else { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iHeatCAPMAlphaNum) + " = " + Alphas(iHeatCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFields(iHeatCapacityPerFloorAreaNumericNum)); + ErrorsFound = true; + } + } else if (SameString(Alphas(iHeatCAPMAlphaNum), "FractionOfAutosizedHeatingCapacity")){ + ZoneHVACSizing(zSIndex).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; + if (!lNumericBlanks(iHeatFracOfAutosizedCapacityNumericNum)) { + ZoneHVACSizing(zSIndex).ScaledHeatingCapacity = Numbers(iHeatFracOfAutosizedCapacityNumericNum); + if (ZoneHVACSizing(zSIndex).ScaledHeatingCapacity == AutoSize) ZoneHVACSizing(zSIndex).RequestAutoSize = true; + if (ZoneHVACSizing(zSIndex).ScaledHeatingCapacity < 0.0 && ZoneHVACSizing(zSIndex).ScaledCoolingCapacity != AutoSize) { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Illegal " + cNumericFields(iHeatFracOfAutosizedCapacityNumericNum) + " = " + TrimSigDigits(Numbers(iHeatFracOfAutosizedCapacityNumericNum), 7)); + ErrorsFound = true; + } + } + else { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Input for " + cAlphaFields(iHeatCAPMAlphaNum) + " = " + Alphas(iHeatCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFields(iHeatFracOfAutosizedCapacityNumericNum)); + ErrorsFound = true; + } + } else if (SameString(Alphas(iHeatCAPMAlphaNum), "None") || lAlphaBlanks(iHeatCAPMAlphaNum)) { + ZoneHVACSizing(zSIndex).HeatingCapMethod = None; + } else { + ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); + ShowContinueError("Illegal " + cAlphaFields(iHeatCAPMAlphaNum) + " = " + Alphas(iHeatCAPMAlphaNum)); + ErrorsFound = true; + } + + } + } + + Alphas.deallocate(); + cAlphaFields.deallocate(); + cNumericFields.deallocate(); + Numbers.deallocate(); + lAlphaBlanks.deallocate(); + lNumericBlanks.deallocate(); + + if (ErrorsFound) { + ShowFatalError(RoutineName + "Errors found in input. Preceding condition(s) cause termination."); + } + + } + + // NOTICE // Copyright © 1996-2014 The Board of Trustees of the University of Illinois diff --git a/src/EnergyPlus/SizingManager.hh b/src/EnergyPlus/SizingManager.hh index d12597d3a62..4096aab9b84 100644 --- a/src/EnergyPlus/SizingManager.hh +++ b/src/EnergyPlus/SizingManager.hh @@ -64,6 +64,9 @@ namespace SizingManager { void GetZoneAirDistribution(); + void + GetZoneHVACSizing(); + void GetSizingParams(); diff --git a/src/EnergyPlus/SteamBaseboardRadiator.cc b/src/EnergyPlus/SteamBaseboardRadiator.cc index c94dee9004e..958ee08d347 100644 --- a/src/EnergyPlus/SteamBaseboardRadiator.cc +++ b/src/EnergyPlus/SteamBaseboardRadiator.cc @@ -112,6 +112,7 @@ namespace SteamBaseboardRadiator { // Object Data FArray1D< SteamBaseboardParams > SteamBaseboard; + FArray1D< SteamBaseboardNumericFieldData > SteamBaseboardNumericFields; // Functions @@ -274,6 +275,7 @@ namespace SteamBaseboardRadiator { using ScheduleManager::GetCurrentScheduleValue; using GlobalNames::VerifyUniqueBaseboardName; using General::RoundSigDigits; + using General::TrimSigDigits; using FluidProperties::FindRefrigerant; using namespace DataIPShortCuts; using namespace DataSizing; @@ -291,6 +293,13 @@ namespace SteamBaseboardRadiator { Real64 const MinSteamFlowRate( 0.0 ); // Minimum limit of steam volume flow rate in m3/s // INTEGER,PARAMETER :: MaxDistribSurfaces = 20 ! Maximum number of surfaces that a baseboard heater can radiate to int const MinDistribSurfaces( 1 ); // Minimum number of surfaces that a baseboard heater can radiate to + + int const iHeatCAPMAlphaNum( 5 ); // get input index to steam baseboard Radiator system heating capacity sizing method + int const iHeatDesignCapacityNumericNum( 1 ); // get input index to steam baseboard Radiator system electric heating capacity + int const iHeatCapacityPerFloorAreaNumericNum( 2 ); // get input index to steam baseboard Radiator system electric heating capacity per floor area sizing + int const iHeatFracOfAutosizedCapacityNumericNum( 3 ); // get input index to steam baseboard Radiator system electric heating capacity sizing as fraction of autozized heating capacity + + // INTERFACE BLOCK SPECIFICATIONS // na @@ -318,11 +327,17 @@ namespace SteamBaseboardRadiator { SteamBaseboard.allocate( NumSteamBaseboards ); CheckEquipName.allocate( NumSteamBaseboards ); CheckEquipName = true; + SteamBaseboardNumericFields.allocate( NumSteamBaseboards ); // Get the data from the user input related to baseboard heaters for ( BaseboardNum = 1; BaseboardNum <= NumSteamBaseboards; ++BaseboardNum ) { GetObjectItem( cCMO_BBRadiator_Steam, BaseboardNum, cAlphaArgs, NumAlphas, rNumericArgs, NumNumbers, IOStat, lNumericFieldBlanks, lAlphaFieldBlanks, cAlphaFieldNames, cNumericFieldNames ); + + SteamBaseboardNumericFields( BaseboardNum ).FieldNames.allocate( NumNumbers ); + SteamBaseboardNumericFields( BaseboardNum ).FieldNames = ""; + SteamBaseboardNumericFields( BaseboardNum ).FieldNames = cNumericFieldNames; + IsNotOK = false; IsBlank = false; VerifyName( cAlphaArgs( 1 ), SteamBaseboard.EquipID(), BaseboardNum, IsNotOK, IsBlank, cCMO_BBRadiator_Steam + " Name" ); @@ -357,12 +372,71 @@ namespace SteamBaseboardRadiator { SteamBaseboard( BaseboardNum ).SteamOutletNode = GetOnlySingleNode( cAlphaArgs( 4 ), ErrorsFound, cCMO_BBRadiator_Steam, cAlphaArgs( 1 ), NodeType_Steam, NodeConnectionType_Outlet, 1, ObjectIsNotParent ); TestCompSet( cCMO_BBRadiator_Steam, cAlphaArgs( 1 ), cAlphaArgs( 3 ), cAlphaArgs( 4 ), "Hot Steam Nodes" ); + // Determine steam baseboard radiator system heating design capacity sizing method + if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "HeatingDesignCapacity")) { + SteamBaseboard(BaseboardNum).HeatingCapMethod = HeatingDesignCapacity; + + if (!lNumericFieldBlanks(iHeatDesignCapacityNumericNum)) { + SteamBaseboard(BaseboardNum).ScaledHeatingCapacity = rNumericArgs(iHeatDesignCapacityNumericNum); + if (SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity < 0.0 && SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity != AutoSize) { + ShowSevereError(cCMO_BBRadiator_Steam + " = " + SteamBaseboard( BaseboardNum ).EquipID); + ShowContinueError("Illegal " + cNumericFieldNames(iHeatDesignCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatDesignCapacityNumericNum), 7)); + ErrorsFound = true; + } + } else { + ShowSevereError(cCMO_BBRadiator_Steam + " = " + SteamBaseboard(BaseboardNum).EquipID); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatDesignCapacityNumericNum)); + ErrorsFound = true; + } + } else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "CapacityPerFloorArea")) { + SteamBaseboard( BaseboardNum ).HeatingCapMethod = CapacityPerFloorArea; + if (!lNumericFieldBlanks(iHeatCapacityPerFloorAreaNumericNum)) { + SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity = rNumericArgs(iHeatCapacityPerFloorAreaNumericNum); + if (SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity <= 0.0) { + ShowSevereError(cCMO_BBRadiator_Steam + " = " + SteamBaseboard( BaseboardNum ).EquipID); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatCapacityPerFloorAreaNumericNum), 7)); + ErrorsFound = true; + } else if (SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize) { + ShowSevereError(cCMO_BBRadiator_Steam + " = " + SteamBaseboard( BaseboardNum ).EquipID); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = Autosize"); + ErrorsFound = true; + } + } else { + ShowSevereError(cCMO_BBRadiator_Steam + " = " + SteamBaseboard( BaseboardNum ).EquipID); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum)); + ErrorsFound = true; + } + } else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "FractionOfAutosizedHeatingCapacity")){ + SteamBaseboard( BaseboardNum ).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; + if (!lNumericFieldBlanks(iHeatFracOfAutosizedCapacityNumericNum)) { + SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity = rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum); + if (SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity < 0.0) { + ShowSevereError(cCMO_BBRadiator_Steam + " = " + SteamBaseboard( BaseboardNum ).EquipID); + ShowContinueError("Illegal " + cNumericFieldNames(iHeatFracOfAutosizedCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum), 7)); + ErrorsFound = true; + } + } else { + ShowSevereError(cCMO_BBRadiator_Steam + " = " + SteamBaseboard( BaseboardNum ).EquipID); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatFracOfAutosizedCapacityNumericNum)); + ErrorsFound = true; + } + } else { + ShowSevereError(cCMO_BBRadiator_Steam + " = " + SteamBaseboard( BaseboardNum ).EquipID); + ShowContinueError("Illegal " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ErrorsFound = true; + } + // Desired degree of cooling - SteamBaseboard( BaseboardNum ).DegOfSubcooling = rNumericArgs( 1 ); + SteamBaseboard( BaseboardNum ).DegOfSubcooling = rNumericArgs( 4 ); // Maximum steam flow rate - SteamBaseboard( BaseboardNum ).SteamVolFlowRateMax = rNumericArgs( 2 ); + SteamBaseboard( BaseboardNum ).SteamVolFlowRateMax = rNumericArgs( 5 ); if ( SteamBaseboard( BaseboardNum ).SteamVolFlowRateMax >= MaxSteamFlowRate ) { - ShowWarningError( RoutineName + cCMO_BBRadiator_Steam + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( 2 ) + " was higher than the allowable maximum." ); + ShowWarningError( RoutineName + cCMO_BBRadiator_Steam + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( 5 ) + " was higher than the allowable maximum." ); ShowContinueError( "...reset to maximum value=[" + RoundSigDigits( MaxSteamFlowRate, 2 ) + "]." ); SteamBaseboard( BaseboardNum ).SteamVolFlowRateMax = MaxSteamFlowRate; } else if ( SteamBaseboard( BaseboardNum ).SteamVolFlowRateMax <= MinSteamFlowRate && SteamBaseboard( BaseboardNum ).SteamVolFlowRateMax != AutoSize ) { @@ -371,7 +445,7 @@ namespace SteamBaseboardRadiator { SteamBaseboard( BaseboardNum ).SteamVolFlowRateMax = MinSteamFlowRate; } - SteamBaseboard( BaseboardNum ).Offset = rNumericArgs( 3 ); + SteamBaseboard( BaseboardNum ).Offset = rNumericArgs( 6 ); // Set default convergence tolerance if ( SteamBaseboard( BaseboardNum ).Offset <= 0.0 ) { SteamBaseboard( BaseboardNum ).Offset = 0.001; @@ -379,7 +453,7 @@ namespace SteamBaseboardRadiator { ShowContinueError( "...reset to default value=[0.001]." ); } // Fraction of radiant heat out of the total heating rate of the unit - SteamBaseboard( BaseboardNum ).FracRadiant = rNumericArgs( 4 ); + SteamBaseboard( BaseboardNum ).FracRadiant = rNumericArgs( 7 ); if ( SteamBaseboard( BaseboardNum ).FracRadiant < MinFraction ) { ShowWarningError( RoutineName + cCMO_BBRadiator_Steam + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( 7 ) + " was lower than the allowable minimum." ); ShowContinueError( "...reset to minimum value=[" + RoundSigDigits( MinFraction, 3 ) + "]." ); @@ -400,7 +474,7 @@ namespace SteamBaseboardRadiator { SteamBaseboard( BaseboardNum ).FracConvect = 1.0 - AllFracsSummed; } // Fraction of radiant heat addition to the people within the radiant heating capacity specified by the user - SteamBaseboard( BaseboardNum ).FracDistribPerson = rNumericArgs( 5 ); + SteamBaseboard( BaseboardNum ).FracDistribPerson = rNumericArgs( 8 ); if ( SteamBaseboard( BaseboardNum ).FracDistribPerson < MinFraction ) { ShowWarningError( RoutineName + cCMO_BBRadiator_Steam + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( 8 ) + " was lower than the allowable minimum." ); ShowContinueError( "...reset to minimum value=[" + RoundSigDigits( MinFraction, 3 ) + "]." ); @@ -411,7 +485,7 @@ namespace SteamBaseboardRadiator { ShowContinueError( "...reset to maximum value=[" + RoundSigDigits( MaxFraction, 3 ) + "]." ); SteamBaseboard( BaseboardNum ).FracDistribPerson = MaxFraction; } - SteamBaseboard( BaseboardNum ).TotSurfToDistrib = NumNumbers - 5; + SteamBaseboard( BaseboardNum ).TotSurfToDistrib = NumNumbers - 8; // IF (SteamBaseboard(BaseboardNum)%TotSurfToDistrib > MaxDistribSurfaces) THEN // CALL ShowWarningError(RoutineName//cCMO_BBRadiator_Steam//'="'//TRIM(cAlphaArgs(1))// & // '", the number of surface/radiant fraction groups entered was higher than the allowable maximum.') @@ -435,20 +509,20 @@ namespace SteamBaseboardRadiator { AllFracsSummed = SteamBaseboard( BaseboardNum ).FracDistribPerson; for ( SurfNum = 1; SurfNum <= SteamBaseboard( BaseboardNum ).TotSurfToDistrib; ++SurfNum ) { - SteamBaseboard( BaseboardNum ).SurfaceName( SurfNum ) = cAlphaArgs( SurfNum + 4 ); - SteamBaseboard( BaseboardNum ).SurfacePtr( SurfNum ) = FindItemInList( cAlphaArgs( SurfNum + 4 ), Surface.Name(), TotSurfaces ); - SteamBaseboard( BaseboardNum ).FracDistribToSurf( SurfNum ) = rNumericArgs( SurfNum + 5 ); + SteamBaseboard( BaseboardNum ).SurfaceName( SurfNum ) = cAlphaArgs( SurfNum + 5 ); + SteamBaseboard( BaseboardNum ).SurfacePtr( SurfNum ) = FindItemInList( cAlphaArgs( SurfNum + 5 ), Surface.Name(), TotSurfaces ); + SteamBaseboard( BaseboardNum ).FracDistribToSurf( SurfNum ) = rNumericArgs( SurfNum + 8 ); if ( SteamBaseboard( BaseboardNum ).SurfacePtr( SurfNum ) == 0 ) { - ShowSevereError( RoutineName + cCMO_BBRadiator_Steam + "=\"" + cAlphaArgs( 1 ) + "\", " + cAlphaFieldNames( SurfNum + 4 ) + "=\"" + cAlphaArgs( SurfNum + 4 ) + "\" invalid - not found." ); + ShowSevereError( RoutineName + cCMO_BBRadiator_Steam + "=\"" + cAlphaArgs( 1 ) + "\", " + cAlphaFieldNames( SurfNum + 5 ) + "=\"" + cAlphaArgs( SurfNum + 5 ) + "\" invalid - not found." ); ErrorsFound = true; } if ( SteamBaseboard( BaseboardNum ).FracDistribToSurf( SurfNum ) > MaxFraction ) { - ShowWarningError( RoutineName + cCMO_BBRadiator_Steam + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( SurfNum + 6 ) + "was greater than the allowable maximum." ); + ShowWarningError( RoutineName + cCMO_BBRadiator_Steam + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( SurfNum + 8 ) + "was greater than the allowable maximum." ); ShowContinueError( "...reset to maximum value=[" + RoundSigDigits( MaxFraction, 1 ) + "]." ); SteamBaseboard( BaseboardNum ).TotSurfToDistrib = MaxFraction; } if ( SteamBaseboard( BaseboardNum ).FracDistribToSurf( SurfNum ) < MinFraction ) { - ShowWarningError( RoutineName + cCMO_BBRadiator_Steam + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( SurfNum + 6 ) + "was less than the allowable minimum." ); + ShowWarningError( RoutineName + cCMO_BBRadiator_Steam + "=\"" + cAlphaArgs( 1 ) + "\", " + cNumericFieldNames( SurfNum + 8 ) + "was less than the allowable minimum." ); ShowContinueError( "...reset to maximum value=[" + RoundSigDigits( MinFraction, 1 ) + "]." ); SteamBaseboard( BaseboardNum ).TotSurfToDistrib = MinFraction; } @@ -683,6 +757,7 @@ namespace SteamBaseboardRadiator { // AUTHOR Fred Buhl // DATE WRITTEN February 2002 // MODIFIED August 2013 Daeho Kang, add component sizing table entries + // August 2014 Bereket Nigusse, added scalable sizing // RE-ENGINEERED na // PURPOSE OF THIS SUBROUTINE: @@ -703,7 +778,9 @@ namespace SteamBaseboardRadiator { using FluidProperties::GetSatSpecificHeatRefrig; // USE BranchInputManager, ONLY: MyPlantSizingIndex using ReportSizingManager::ReportSizingOutput; + using ReportSizingManager::RequestSizing; using General::RoundSigDigits; + using DataHVACGlobals::HeatingCapacitySizing; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -732,6 +809,16 @@ namespace SteamBaseboardRadiator { Real64 SteamVolFlowRateMaxDes; // Design maximum steam volume flow for reporting Real64 SteamVolFlowRateMaxUser; // User hard-sized maximum steam volume flow for reporting + std::string CompName; // component name + std::string CompType; // component type + std::string SizingString; // input field sizing description (e.g., Nominal Capacity) + Real64 TempSize; // autosized value of coil input field + int FieldNum = 1; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (HeatingCapacitySizing) + bool PrintFlag; // TRUE when sizing information is reported in the eio file + int CapSizingMethod( 0 ); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, and FractionOfAutosizedHeatingCapacity ) + + PltSizSteamNum = 0; DesCoilLoad = 0.0; ErrorsFound = false; @@ -758,7 +845,48 @@ namespace SteamBaseboardRadiator { } } else { CheckZoneSizing( cCMO_BBRadiator_Steam, SteamBaseboard( BaseboardNum ).EquipID ); - DesCoilLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; + + CompType = cCMO_BBRadiator_Steam; + CompName = SteamBaseboard( BaseboardNum ).EquipID; + DataFracOfAutosizedHeatingCapacity = 1.0; + DataZoneNumber = SteamBaseboard( BaseboardNum ).ZonePtr; + SizingMethod = HeatingCapacitySizing; + FieldNum = 1; + PrintFlag = false; + SizingString = SteamBaseboardNumericFields( BaseboardNum ).FieldNames(FieldNum) + " [W]"; + CapSizingMethod = SteamBaseboard( BaseboardNum ).HeatingCapMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; + if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { + + if (CapSizingMethod == HeatingDesignCapacity){ + if (SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize) { + CheckZoneSizing(CompType, CompName); + ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + } + TempSize = SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity; + + } else if (CapSizingMethod == CapacityPerFloorArea){ + DataHeatingCapPerFloorArea = SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity; + TempSize = SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity; + DataScalableCapSizingON = true; + } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ + CheckZoneSizing(CompType, CompName); + ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + DataFracOfAutosizedHeatingCapacity = SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity; + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + TempSize = AutoSize; + DataScalableCapSizingON = true; + } else { + TempSize = SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity; + } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DesCoilLoad = TempSize; + } else { + DesCoilLoad = 0.0; // CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + } + + if ( DesCoilLoad >= SmallLoad ) { SteamInletTemp = 100.0; EnthSteamInDry = GetSatEnthalpyRefrig( fluidNameSteam, SteamInletTemp, 1.0, SteamBaseboard( BaseboardNum ).FluidIndex, RoutineName ); diff --git a/src/EnergyPlus/SteamBaseboardRadiator.hh b/src/EnergyPlus/SteamBaseboardRadiator.hh index 31e98a0362f..961c4200d15 100644 --- a/src/EnergyPlus/SteamBaseboardRadiator.hh +++ b/src/EnergyPlus/SteamBaseboardRadiator.hh @@ -89,6 +89,9 @@ namespace SteamBaseboardRadiator { int BBLoadReSimIndex; int BBMassFlowReSimIndex; int BBInletTempFlowReSimIndex; + int HeatingCapMethod; // - Method for steam baseboard Radiator system heating capacity scaledsizing calculation + //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 ScaledHeatingCapacity; // - steam baseboard Radiator system scaled maximum heating capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} // Default Constructor SteamBaseboardParams() : @@ -131,7 +134,9 @@ namespace SteamBaseboardRadiator { CompNum( 0 ), BBLoadReSimIndex( 0 ), BBMassFlowReSimIndex( 0 ), - BBInletTempFlowReSimIndex( 0 ) + BBInletTempFlowReSimIndex( 0 ), + HeatingCapMethod( 0 ), + ScaledHeatingCapacity( 0.0 ) {} // Member Constructor @@ -180,7 +185,11 @@ namespace SteamBaseboardRadiator { int const CompNum, // plant loop component index int const BBLoadReSimIndex, int const BBMassFlowReSimIndex, - int const BBInletTempFlowReSimIndex + int const BBInletTempFlowReSimIndex, + int const HeatingCapMethod, // - Method for steam baseboard Radiator system heating capacity scaledsizing calculation + //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 const ScaledHeatingCapacity // - steam baseboard Radiator system scaled maximum heating capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} + ) : EquipID( EquipID ), EquipType( EquipType ), @@ -226,13 +235,33 @@ namespace SteamBaseboardRadiator { CompNum( CompNum ), BBLoadReSimIndex( BBLoadReSimIndex ), BBMassFlowReSimIndex( BBMassFlowReSimIndex ), - BBInletTempFlowReSimIndex( BBInletTempFlowReSimIndex ) + BBInletTempFlowReSimIndex( BBInletTempFlowReSimIndex ), + HeatingCapMethod( HeatingCapMethod ), + ScaledHeatingCapacity( ScaledHeatingCapacity ) {} }; + struct SteamBaseboardNumericFieldData + { + // Members + FArray1D_string FieldNames; + + // Default Constructor + SteamBaseboardNumericFieldData() + {} + + // Member Constructor + SteamBaseboardNumericFieldData( + FArray1_string const & FieldNames // Name of the HeatingCoil numeric field descriptions + ) : + FieldNames(FieldNames) + {} + }; + // Object Data extern FArray1D< SteamBaseboardParams > SteamBaseboard; + extern FArray1D< SteamBaseboardNumericFieldData > SteamBaseboardNumericFields; // Functions diff --git a/src/EnergyPlus/UnitHeater.cc b/src/EnergyPlus/UnitHeater.cc index a2c83ac600c..f69943fd2b7 100644 --- a/src/EnergyPlus/UnitHeater.cc +++ b/src/EnergyPlus/UnitHeater.cc @@ -115,6 +115,7 @@ namespace UnitHeater { // Object Data FArray1D< UnitHeaterData > UnitHeat; + FArray1D< UnitHeatNumericFieldData > UnitHeatNumericFields; // Functions @@ -231,6 +232,7 @@ namespace UnitHeater { using InputProcessor::GetObjectItem; using InputProcessor::VerifyName; using InputProcessor::SameString; + using InputProcessor::FindItemInList; using InputProcessor::GetObjectDefMaxArgs; using NodeInputManager::GetOnlySingleNode; using BranchNodeConnections::SetUpCompSets; @@ -253,6 +255,8 @@ namespace UnitHeater { using DataGlobals::NumOfZones; using DataPlant::TypeOf_CoilWaterSimpleHeating; using DataPlant::TypeOf_CoilSteamAirHeating; + using DataSizing::NumZoneHVACSizing; + using DataSizing::ZoneHVACSizing; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -314,6 +318,7 @@ namespace UnitHeater { if ( NumOfUnitHeats > 0 ) { UnitHeat.allocate( NumOfUnitHeats ); CheckEquipName.allocate( NumOfUnitHeats ); + UnitHeatNumericFields.allocate( NumOfUnitHeats ); } CheckEquipName = true; @@ -321,6 +326,10 @@ namespace UnitHeater { GetObjectItem( CurrentModuleObject, UnitHeatNum, Alphas, NumAlphas, Numbers, NumNumbers, IOStatus, lNumericBlanks, lAlphaBlanks, cAlphaFields, cNumericFields ); + UnitHeatNumericFields( UnitHeatNum ).FieldNames.allocate( NumNumbers ); + UnitHeatNumericFields( UnitHeatNum ).FieldNames = ""; + UnitHeatNumericFields( UnitHeatNum ).FieldNames = cNumericFields; + IsNotOK = false; IsBlank = false; VerifyName( Alphas( 1 ), UnitHeat.Name(), UnitHeatNum - 1, IsNotOK, IsBlank, CurrentModuleObject + " Name" ); @@ -492,6 +501,16 @@ namespace UnitHeater { ZoneComp( UnitHeater_Num ).ZoneCompAvailMgrs( UnitHeatNum ).AvailManagerListName = Alphas( 11 ); } + UnitHeat( UnitHeatNum ).HVACSizingIndex = 0; + if ( ! lAlphaBlanks( 12 )) { + UnitHeat( UnitHeatNum ).HVACSizingIndex = FindItemInList( Alphas( 12 ), ZoneHVACSizing.Name(), NumZoneHVACSizing ); + if (UnitHeat( UnitHeatNum ).HVACSizingIndex == 0) { + ShowSevereError( cAlphaFields( 12 ) + " = " + Alphas( 12 ) + " not found."); + ShowContinueError( "Occurs in " + CurrentModuleObject + " = " + UnitHeat( UnitHeatNum ).Name ); + ErrorsFound = true; + } + } + // check that unit heater air inlet node must be the same as a zone exhaust node ZoneNodeNotFound = true; for ( CtrlZone = 1; CtrlZone <= NumOfZones; ++CtrlZone ) { @@ -515,6 +534,7 @@ namespace UnitHeater { if ( ! ZoneEquipConfig( CtrlZone ).IsControlled ) continue; for ( NodeNum = 1; NodeNum <= ZoneEquipConfig( CtrlZone ).NumInletNodes; ++NodeNum ) { if ( UnitHeat( UnitHeatNum ).AirOutNode == ZoneEquipConfig( CtrlZone ).InletNode( NodeNum ) ) { + UnitHeat( UnitHeatNum ).ZonePtr = CtrlZone; ZoneNodeNotFound = false; break; } @@ -809,7 +829,10 @@ namespace UnitHeater { using DataPlant::MyPlantSizingIndex; using Psychrometrics::CPHW; using ReportSizingManager::ReportSizingOutput; + using ReportSizingManager::RequestSizing; using General::RoundSigDigits; + using DataHVACGlobals::HeatingAirflowSizing; + using DataHVACGlobals::HeatingCapacitySizing; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -847,6 +870,17 @@ namespace UnitHeater { Real64 MaxVolHotSteamFlowDes; // Autosized maximum hot steam flow for reporting Real64 MaxVolHotSteamFlowUser; // Hardsized maximum hot steam flow for reporting + std::string CompName; // component name + std::string CompType; // component type + std::string SizingString; // input field sizing description (e.g., Nominal Capacity) + Real64 TempSize; // autosized value of coil input field + int FieldNum = 1; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) + bool PrintFlag; // TRUE when sizing information is reported in the eio file + int zoneHVACIndex; // index of zoneHVAC equipment sizing specification + int SAFMethod( 0 ); // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow ...) + int CapSizingMethod(0); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) + PltSizHeatNum = 0; ErrorsFound = false; IsAutoSize = false; @@ -857,39 +891,69 @@ namespace UnitHeater { MaxVolHotSteamFlowDes = 0.0; MaxVolHotSteamFlowUser = 0.0; - if ( UnitHeat( UnitHeatNum ).MaxAirVolFlow == AutoSize ) { - IsAutoSize = true; - } + DataScalableSizingON = false; + ZoneHeatingOnlyFan = true; + CompType = "ZoneHVAC:UnitHeater"; + CompName = UnitHeat( UnitHeatNum ).Name; + DataZoneNumber = UnitHeat( UnitHeatNum ).ZonePtr; + if ( CurZoneEqNum > 0 ) { - if ( ! IsAutoSize && ! ZoneSizingRunDone ) { // Simulation continue - if ( UnitHeat( UnitHeatNum ).MaxAirVolFlow > 0.0 ) { - ReportSizingOutput( "ZoneHVAC:UnitHeater", UnitHeat( UnitHeatNum ).Name, "User-Specified Maximum Supply Air Flow Rate [m3/s]", UnitHeat( UnitHeatNum ).MaxAirVolFlow ); - } - } else { - CheckZoneSizing( "ZoneHVAC:UnitHeater", UnitHeat( UnitHeatNum ).Name ); - if ( FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow >= SmallAirVolFlow ) { - MaxAirVolFlowDes = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; - } else { - MaxAirVolFlowDes = 0.0; - } - if ( IsAutoSize ) { - UnitHeat( UnitHeatNum ).MaxAirVolFlow = MaxAirVolFlowDes; - ReportSizingOutput( "ZoneHVAC:UnitHeater", UnitHeat( UnitHeatNum ).Name, "Design Size Maximum Supply Air Flow Rate [m3/s]", MaxAirVolFlowDes ); - } else { - if ( UnitHeat( UnitHeatNum ).MaxAirVolFlow > 0.0 && MaxAirVolFlowDes > 0.0 ) { - MaxAirVolFlowUser = UnitHeat( UnitHeatNum ).MaxAirVolFlow; - ReportSizingOutput( "ZoneHVAC:UnitHeater", UnitHeat( UnitHeatNum ).Name, "Design Size Maximum Supply Air Flow Rate [m3/s]", MaxAirVolFlowDes, "User-Specified Maximum Supply Air Flow Rate [m3/s]", MaxAirVolFlowUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( MaxAirVolFlowDes - MaxAirVolFlowUser ) / MaxAirVolFlowUser ) > AutoVsHardSizingThreshold ) { - ShowMessage( "SizeUnitHeater: Potential issue with equipment sizing for ZoneHVAC:UnitHeater " + UnitHeat( UnitHeatNum ).Name ); - ShowContinueError( "User-Specified Maximum Hot Water Flow of " + RoundSigDigits( MaxAirVolFlowUser, 5 ) + " [m3/s]" ); - ShowContinueError( ".differs from Design Size Maximum Hot Water Flow of " + RoundSigDigits( MaxAirVolFlowDes, 5 ) + " [m3/s]" ); - ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); - ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); - } - } + if (UnitHeat(UnitHeatNum).HVACSizingIndex > 0) { + zoneHVACIndex = UnitHeat(UnitHeatNum).HVACSizingIndex; + // N1 , \field Maximum Supply Air Flow Rate + SizingMethod = HeatingAirflowSizing; + FieldNum = 1; + PrintFlag = true; + SizingString = UnitHeatNumericFields(UnitHeatNum).FieldNames(FieldNum) + " [m3/s]"; + SAFMethod = ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod( SizingMethod ) = SAFMethod; + if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow) { + if (SAFMethod == SupplyAirFlowRate){ + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + } else if (SAFMethod == FlowPerFloorArea){ + DataHeatFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + DataScalableSizingON = true; + } else if (SAFMethod == FractionOfAutosizedHeatingAirflow){ + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + } else { + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + UnitHeat(UnitHeatNum).MaxAirVolFlow = TempSize; + + } else if (SAFMethod == FlowPerHeatingCapacity) { + SizingMethod = HeatingCapacitySizing; + TempSize = AutoSize; + PrintFlag = false; + DataScalableSizingON = true; + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + if (ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod == FractionOfAutosizedHeatingCapacity) { + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + } + DataAutosizedHeatingCapacity = TempSize; + DataFlowPerHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + SizingMethod = HeatingAirflowSizing; + PrintFlag = true; + TempSize = AutoSize; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + UnitHeat(UnitHeatNum).MaxAirVolFlow = TempSize; } + DataScalableSizingON = false; + } else { + // no scalble sizing method has been specified. Sizing proceeds using the method + // specified in the zoneHVAC object + // N1 , \field Maximum Supply Air Flow Rate + SizingMethod = HeatingAirflowSizing; + FieldNum = 1; + PrintFlag = true; + SizingString = UnitHeatNumericFields( UnitHeatNum ).FieldNames( FieldNum ) + " [m3/s]"; + TempSize = UnitHeat(UnitHeatNum).MaxAirVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + UnitHeat(UnitHeatNum).MaxAirVolFlow = TempSize; } } @@ -913,16 +977,48 @@ namespace UnitHeater { if ( IsAutoSize ) { PltSizHeatNum = MyPlantSizingIndex( "Coil:Heating:Water", UnitHeat( UnitHeatNum ).HCoilName, CoilWaterInletNode, CoilWaterOutletNode, ErrorsFound ); if ( PltSizHeatNum > 0 ) { - DesCoilLoad = FinalZoneSizing( CurZoneEqNum ).DesHeatLoad; + SizingMethod = HeatingCapacitySizing; + if ( UnitHeat( UnitHeatNum ).HVACSizingIndex > 0) { + zoneHVACIndex = UnitHeat(UnitHeatNum).HVACSizingIndex; + CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; + if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { + if (CapSizingMethod == HeatingDesignCapacity){ + if (ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity > 0.0) { + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + } else { + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = FinalZoneSizing(CurZoneEqNum).DesHeatLoad; + } + ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + TempSize = AutoSize; + } else if (CapSizingMethod == CapacityPerFloorArea){ + DataHeatingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + DataScalableSizingON = true; + } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + TempSize = AutoSize; + } + } + PrintFlag = false; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DesCoilLoad = TempSize; + } else { + SizingString = "Maximum Hot Water Flow [m3/s]"; + PrintFlag = false; + TempSize = AutoSize; + ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = FinalZoneSizing(CurZoneEqNum).DesHeatLoad; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DesCoilLoad = TempSize; + } if ( DesCoilLoad >= SmallLoad ) { - rho = GetDensityGlycol( PlantLoop( UnitHeat( UnitHeatNum ).HWLoopNum ).FluidName, 60., PlantLoop( UnitHeat( UnitHeatNum ).HWLoopNum ).FluidIndex, RoutineName ); Cp = GetSpecificHeatGlycol( PlantLoop( UnitHeat( UnitHeatNum ).HWLoopNum ).FluidName, 60., PlantLoop( UnitHeat( UnitHeatNum ).HWLoopNum ).FluidIndex, RoutineName ); - MaxVolHotWaterFlowDes = DesCoilLoad / ( PlantSizData( PltSizHeatNum ).DeltaT * Cp * rho ); } else { MaxVolHotWaterFlowDes = 0.0; } + } else { ShowSevereError( "Autosizing of water flow requires a heating loop Sizing:Plant object" ); ShowContinueError( "Occurs in " "ZoneHVAC:UnitHeater" " Object=" + UnitHeat( UnitHeatNum ).Name ); @@ -973,7 +1069,35 @@ namespace UnitHeater { if ( IsAutoSize ) { PltSizHeatNum = MyPlantSizingIndex( "Coil:Heating:Steam", UnitHeat( UnitHeatNum ).HCoilName, CoilSteamInletNode, CoilSteamOutletNode, ErrorsFound ); if ( PltSizHeatNum > 0 ) { - DesCoilLoad = FinalZoneSizing( CurZoneEqNum ).DesHeatLoad; + if (UnitHeat(UnitHeatNum).HVACSizingIndex > 0) { + zoneHVACIndex = UnitHeat(UnitHeatNum).HVACSizingIndex; + SizingMethod = HeatingCapacitySizing; + CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; + if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { + if (CapSizingMethod == HeatingDesignCapacity){ + if (ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity == AutoSize) { + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = FinalZoneSizing(CurZoneEqNum).DesHeatLoad; + } else { + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + } + ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + TempSize = AutoSize; + } else if (CapSizingMethod == CapacityPerFloorArea){ + DataHeatingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + DataScalableSizingON = true; + } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + TempSize = AutoSize; + } + } + SizingMethod = HeatingCapacitySizing; + PrintFlag = false; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DesCoilLoad = TempSize; + } else { + DesCoilLoad = FinalZoneSizing(CurZoneEqNum).DesHeatLoad; + } if ( DesCoilLoad >= SmallLoad ) { TempSteamIn = 100.00; EnthSteamInDry = GetSatEnthalpyRefrig( fluidNameSteam, TempSteamIn, 1.0, RefrigIndex, RoutineName ); diff --git a/src/EnergyPlus/UnitHeater.hh b/src/EnergyPlus/UnitHeater.hh index 47f15d8855c..1cc0888ece5 100644 --- a/src/EnergyPlus/UnitHeater.hh +++ b/src/EnergyPlus/UnitHeater.hh @@ -93,6 +93,8 @@ namespace UnitHeater { int AvailStatus; bool FanOffNoHeating; // True when fan is on during no heating load Real64 FanPartLoadRatio; // fan part-load ratio for time step + int ZonePtr; // pointer to a zone served by a unit heater + int HVACSizingIndex; // index of a HVACSizing object for a unit heater // Default Constructor UnitHeaterData() : @@ -134,7 +136,9 @@ namespace UnitHeater { ElecEnergy( 0.0 ), AvailStatus( 0 ), FanOffNoHeating( false ), - FanPartLoadRatio( 0.0 ) + FanPartLoadRatio( 0.0 ), + ZonePtr( 0 ), + HVACSizingIndex( 0 ) {} // Member Constructor @@ -186,7 +190,9 @@ namespace UnitHeater { std::string const & AvailManagerListName, // Name of an availability manager list object int const AvailStatus, bool const FanOffNoHeating, // True when fan is on during no heating load - Real64 const FanPartLoadRatio // fan part-load ratio for time step + Real64 const FanPartLoadRatio, // fan part-load ratio for time step + int const ZonePtr, // pointer to a zone served by a unit heater + int const HVACSizingIndex // index of a HVACSizing object for a unit heater ) : Name( Name ), SchedName( SchedName ), @@ -235,13 +241,33 @@ namespace UnitHeater { AvailManagerListName( AvailManagerListName ), AvailStatus( AvailStatus ), FanOffNoHeating( FanOffNoHeating ), - FanPartLoadRatio( FanPartLoadRatio ) + FanPartLoadRatio( FanPartLoadRatio ), + ZonePtr( ZonePtr ), + HVACSizingIndex( HVACSizingIndex ) {} }; + struct UnitHeatNumericFieldData + { + // Members + FArray1D_string FieldNames; + + // Default Constructor + UnitHeatNumericFieldData() + {} + + // Member Constructor + UnitHeatNumericFieldData( + FArray1_string const & FieldNames // Name of the HeatingCoil numeric field descriptions + ) : + FieldNames(FieldNames) + {} + }; + // Object Data extern FArray1D< UnitHeaterData > UnitHeat; + extern FArray1D< UnitHeatNumericFieldData > UnitHeatNumericFields; // Functions diff --git a/src/EnergyPlus/UnitVentilator.cc b/src/EnergyPlus/UnitVentilator.cc index 89ba8263229..7b5f11e949c 100644 --- a/src/EnergyPlus/UnitVentilator.cc +++ b/src/EnergyPlus/UnitVentilator.cc @@ -132,6 +132,7 @@ namespace UnitVentilator { // Object Data FArray1D< UnitVentilatorData > UnitVent; + FArray1D< UnitVentNumericFieldData > UnitVentNumericFields; // Functions @@ -164,6 +165,7 @@ namespace UnitVentilator { // Using/Aliasing using InputProcessor::FindItemInList; using General::TrimSigDigits; + using DataSizing::ZoneEqUnitVent; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -206,6 +208,8 @@ namespace UnitVentilator { } } + ZoneEqUnitVent = true; + InitUnitVentilator( UnitVentNum, FirstHVACIteration, ZoneNum ); CalcUnitVentilator( UnitVentNum, ZoneNum, FirstHVACIteration, PowerMet, LatOutputProvided ); @@ -214,6 +218,7 @@ namespace UnitVentilator { ReportUnitVentilator( UnitVentNum ); + ZoneEqUnitVent = false; } void @@ -243,6 +248,7 @@ namespace UnitVentilator { using InputProcessor::GetObjectItem; using InputProcessor::VerifyName; using InputProcessor::SameString; + using InputProcessor::FindItemInList; using InputProcessor::GetObjectDefMaxArgs; using NodeInputManager::GetOnlySingleNode; using BranchNodeConnections::SetUpCompSets; @@ -266,6 +272,8 @@ namespace UnitVentilator { using DataHVACGlobals::ZoneComp; using DataSizing::AutoSize; + using DataSizing::ZoneHVACSizing; + using DataSizing::NumZoneHVACSizing; using General::TrimSigDigits; using DataZoneEquipment::UnitVentilator_Num; using DataZoneEquipment::ZoneEquipConfig; @@ -340,6 +348,7 @@ namespace UnitVentilator { if ( NumOfUnitVents > 0 ) { UnitVent.allocate( NumOfUnitVents ); CheckEquipName.allocate( NumOfUnitVents ); + UnitVentNumericFields.allocate( NumOfUnitVents ); } CheckEquipName = true; @@ -347,6 +356,10 @@ namespace UnitVentilator { GetObjectItem( CurrentModuleObject, UnitVentNum, Alphas, NumAlphas, Numbers, NumNumbers, IOStatus, lNumericBlanks, lAlphaBlanks, cAlphaFields, cNumericFields ); + UnitVentNumericFields( UnitVentNum ).FieldNames.allocate (NumNumbers ); + UnitVentNumericFields( UnitVentNum ).FieldNames = ""; + UnitVentNumericFields( UnitVentNum ).FieldNames = cNumericFields; + IsNotOK = false; IsBlank = false; VerifyName( Alphas( 1 ), UnitVent.Name(), UnitVentNum - 1, IsNotOK, IsBlank, CurrentModuleObject + " Name" ); @@ -536,6 +549,15 @@ namespace UnitVentilator { ZoneComp( UnitVentilator_Num ).ZoneCompAvailMgrs( UnitVentNum ).AvailManagerListName = Alphas( 18 ); } + UnitVent( UnitVentNum ).HVACSizingIndex = 0; + if (!lAlphaBlanks( 20 )) { + UnitVent( UnitVentNum ).HVACSizingIndex = FindItemInList( Alphas( 20 ), ZoneHVACSizing.Name(), NumZoneHVACSizing ); + if (UnitVent( UnitVentNum ).HVACSizingIndex == 0) { + ShowSevereError( cAlphaFields( 20 ) + " = " + Alphas( 20 ) + " not found."); + ShowContinueError( "Occurs in " + cMO_UnitVentilator + " = " + UnitVent(UnitVentNum).Name ); + ErrorsFound = true; + } + } // A13, \field Coil Option // \required-field // \type choice @@ -789,6 +811,7 @@ namespace UnitVentilator { if ( ! ZoneEquipConfig( CtrlZone ).IsControlled ) continue; for ( NodeNum = 1; NodeNum <= ZoneEquipConfig( CtrlZone ).NumInletNodes; ++NodeNum ) { if ( UnitVent( UnitVentNum ).AirOutNode == ZoneEquipConfig( CtrlZone ).InletNode( NodeNum ) ) { + UnitVent( UnitVentNum ).ZonePtr = CtrlZone; ZoneNodeNotFound = false; break; } @@ -1175,6 +1198,12 @@ namespace UnitVentilator { using DataPlant::PlantLoop; using DataPlant::MyPlantSizingIndex; using ReportSizingManager::ReportSizingOutput; + using ReportSizingManager::RequestSizing; + using DataHVACGlobals::SystemAirflowSizing; + using DataHVACGlobals::CoolingAirflowSizing; + using DataHVACGlobals::HeatingAirflowSizing; + using DataHVACGlobals::CoolingCapacitySizing; + using DataHVACGlobals::HeatingCapacitySizing; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -1198,7 +1227,8 @@ namespace UnitVentilator { Real64 CoilInHumRat; Real64 CoilInEnthalpy; Real64 CoilOutEnthalpy; - Real64 DesCoilLoad; + Real64 DesCoolingLoad; + Real64 DesHeatingLoad; Real64 TempSteamIn; Real64 EnthSteamInDry; Real64 EnthSteamOutWet; @@ -1228,6 +1258,20 @@ namespace UnitVentilator { Real64 MaxVolColdWaterFlowDes; // Autosized maximum chilled water flow for reporting Real64 MaxVolColdWaterFlowUser; // Hardsized maximum chilled water flow for reporting + std::string CompName; // component name + std::string CompType; // component type + std::string SizingString; // input field sizing description (e.g., Nominal Capacity) + bool bPRINT = true; // TRUE if sizing is reported to output (eio) + Real64 TempSize; // autosized value of coil input field + int FieldNum = 2; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) + bool PrintFlag; // TRUE when sizing information is reported in the eio file + int zoneHVACIndex; // index of zoneHVAC equipment sizing specification + int SAFMethod( 0 ); // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow ...) + int CapSizingMethod( 0 ); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) + Real64 CoolingAirVolFlowScalable; // cooling airvolume for rate determined using scalable sizing method + Real64 HeatingAirVolFlowScalable; // heating airvolume for rate determined using scalable sizing method + PltSizHeatNum = 0; ErrorsFound = false; IsAutoSize = false; @@ -1244,47 +1288,204 @@ namespace UnitVentilator { MaxVolColdWaterFlowDes = 0.0; MaxVolColdWaterFlowUser = 0.0; - if ( UnitVent( UnitVentNum ).MaxAirVolFlow == AutoSize ) { - IsAutoSize = true; + CoolingAirVolFlowScalable = 0.0; + HeatingAirVolFlowScalable = 0.0; + + DataScalableSizingON = false; + CompType = cMO_UnitVentilator; + CompName = UnitVent(UnitVentNum).Name; + DataZoneNumber = UnitVent(UnitVentNum).ZonePtr; + ZoneCoolingOnlyFan = false; + ZoneHeatingOnlyFan = false; + + if (UnitVent(UnitVentNum).CoilOption == BothOption) { + ZoneCoolingOnlyFan = true; + ZoneHeatingOnlyFan = true; + } else if (UnitVent(UnitVentNum).CoilOption == HeatingOption) { + ZoneHeatingOnlyFan = true; + } else if (UnitVent(UnitVentNum).CoilOption == CoolingOption) { + ZoneCoolingOnlyFan = true; + } else if (UnitVent(UnitVentNum).CoilOption == NoneOption) { } - if ( CurZoneEqNum > 0 ) { - if ( ! IsAutoSize && ! ZoneSizingRunDone ) { // Simulation continue - if ( UnitVent( UnitVentNum ).MaxAirVolFlow > 0.0 ) { - ReportSizingOutput( cMO_UnitVentilator, UnitVent( UnitVentNum ).Name, "User-Specified Maximum Supply Air Flow Rate [m3/s]", UnitVent( UnitVentNum ).MaxAirVolFlow ); - } - } else { - CheckZoneSizing( cMO_UnitVentilator, UnitVent( UnitVentNum ).Name ); - if ( UnitVent( UnitVentNum ).CoilOption == BothOption ) { - MaxAirVolFlowDes = max( FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow, FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow ); - } else if ( UnitVent( UnitVentNum ).CoilOption == HeatingOption ) { - MaxAirVolFlowDes = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; - } else if ( UnitVent( UnitVentNum ).CoilOption == CoolingOption ) { - MaxAirVolFlowDes = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; - } else if ( UnitVent( UnitVentNum ).CoilOption == NoneOption ) { - MaxAirVolFlowDes = FinalZoneSizing( CurZoneEqNum ).MinOA; - } - if ( MaxAirVolFlowDes < SmallAirVolFlow ) { - MaxAirVolFlowDes = 0.0; - } - if ( IsAutoSize ) { - UnitVent( UnitVentNum ).MaxAirVolFlow = MaxAirVolFlowDes; - ReportSizingOutput( cMO_UnitVentilator, UnitVent( UnitVentNum ).Name, "Design Size Maximum Supply Air Flow Rate [m3/s]", MaxAirVolFlowDes ); + if (CurZoneEqNum > 0) { + + if (UnitVent(UnitVentNum).HVACSizingIndex > 0) { + zoneHVACIndex = UnitVent(UnitVentNum).HVACSizingIndex; + // N1 , \field Maximum Supply Air Flow Rate + FieldNum = 1; + PrintFlag = true; + SizingString = UnitVentNumericFields(UnitVentNum).FieldNames(FieldNum) + " [m3/s]"; + + if (ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod > 0 && ZoneCoolingOnlyFan && !ZoneHeatingOnlyFan) { + + SizingMethod = CoolingAirflowSizing; + SAFMethod = ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; + if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow) { + + if (SAFMethod == SupplyAirFlowRate){ + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + } else if (SAFMethod == FlowPerFloorArea){ + DataCoolFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + DataScalableSizingON = true; + } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + } else { + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + CoolingAirVolFlowScalable = TempSize; + + } else if (SAFMethod == FlowPerCoolingCapacity) { + SizingMethod = CoolingCapacitySizing; + TempSize = AutoSize; + PrintFlag = false; + DataScalableSizingON = true; + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DataAutosizedCoolingCapacity = TempSize; + DataFlowPerCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + SizingMethod = CoolingAirflowSizing; + PrintFlag = true; + TempSize = AutoSize; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + CoolingAirVolFlowScalable = TempSize; + } + DataScalableSizingON = false; + + } else if (ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod > 0 && ZoneHeatingOnlyFan && ! ZoneCoolingOnlyFan) { + SizingMethod = HeatingAirflowSizing; + SAFMethod = ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; + if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow) { + if (SAFMethod == SupplyAirFlowRate){ + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + } else if (SAFMethod == FlowPerFloorArea){ + DataHeatFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + DataScalableSizingON = true; + } else if (SAFMethod == FractionOfAutosizedHeatingAirflow){ + DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + } else { + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + HeatingAirVolFlowScalable = TempSize; + + } else if (SAFMethod == FlowPerHeatingCapacity) { + SizingMethod = HeatingCapacitySizing; + TempSize = AutoSize; + PrintFlag = false; + DataScalableSizingON = true; + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DataAutosizedHeatingCapacity = TempSize; + DataFlowPerHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + SizingMethod = HeatingAirflowSizing; + PrintFlag = true; + TempSize = AutoSize; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + HeatingAirVolFlowScalable = TempSize; + } + DataScalableSizingON = false; } else { - if ( UnitVent( UnitVentNum ).MaxAirVolFlow > 0.0 && MaxAirVolFlowDes > 0.0 ) { - MaxAirVolFlowUser = UnitVent( UnitVentNum ).MaxAirVolFlow; - ReportSizingOutput( cMO_UnitVentilator, UnitVent( UnitVentNum ).Name, "Design Size Maximum Supply Air Flow Rate [m3/s]", MaxAirVolFlowDes, "User-Specified Maximum Supply Air Flow Rate [m3/s]", MaxAirVolFlowUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( MaxAirVolFlowDes - MaxAirVolFlowUser ) / MaxAirVolFlowUser ) > AutoVsHardSizingThreshold ) { - ShowMessage( "SizeUnitVentilator: Potential issue with equipment sizing for " + cMO_UnitVentilator + ' ' + UnitVent( UnitVentNum ).Name ); - ShowContinueError( "User-Specified Maximum Supply Air Flow Rate of " + RoundSigDigits( MaxAirVolFlowUser, 5 ) + " [m3/s]" ); - ShowContinueError( "differs from Design Size Maximum Supply Air Flow Rate of " + RoundSigDigits( MaxAirVolFlowDes, 5 ) + " [m3/s]" ); - ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); - ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); + + if (ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod > 0) { + SizingMethod = CoolingAirflowSizing; + SAFMethod = ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; + if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow) { + if (SAFMethod == SupplyAirFlowRate){ + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + } else if (SAFMethod == FlowPerFloorArea){ + DataCoolFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + DataScalableSizingON = true; + } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + } else { + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + CoolingAirVolFlowScalable = TempSize; + + } else if (SAFMethod == FlowPerCoolingCapacity) { + SizingMethod = CoolingCapacitySizing; + TempSize = AutoSize; + PrintFlag = false; + DataScalableSizingON = true; + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DataAutosizedCoolingCapacity = TempSize; + DataFlowPerCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + SizingMethod = CoolingAirflowSizing; + PrintFlag = true; + TempSize = AutoSize; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + CoolingAirVolFlowScalable = TempSize; + } + } else if (ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod > 0) { + SizingMethod = HeatingAirflowSizing; + SAFMethod = ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; + if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow) { + SizingMethod = SystemAirflowSizing; + if (SAFMethod == SupplyAirFlowRate){ + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + } else if (SAFMethod == FlowPerFloorArea){ + DataHeatFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + DataScalableSizingON = true; + } else if (SAFMethod == FractionOfAutosizedHeatingAirflow){ + DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + } else { + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + HeatingAirVolFlowScalable = TempSize; + + } else if (SAFMethod == FlowPerHeatingCapacity) { + SizingMethod = HeatingCapacitySizing; + TempSize = AutoSize; + PrintFlag = false; + DataScalableSizingON = true; + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DataAutosizedHeatingCapacity = TempSize; + DataFlowPerHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + SizingMethod = HeatingAirflowSizing; + PrintFlag = true; + TempSize = AutoSize; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + HeatingAirVolFlowScalable = TempSize; } } + DataScalableSizingON = false; } + + UnitVent( UnitVentNum ).MaxAirVolFlow = max( CoolingAirVolFlowScalable, HeatingAirVolFlowScalable ); + + } else { + // no scalble sizing method has been specified. Sizing proceeds using the method + // specified in the zoneHVAC object + // N1 , \field Maximum Supply Air Flow Rate + PrintFlag = true; + FieldNum = 1; + SizingString = UnitVentNumericFields(UnitVentNum).FieldNames(FieldNum) + " [m3/s]"; + SizingMethod = SystemAirflowSizing; + TempSize = UnitVent(UnitVentNum).MaxAirVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + UnitVent( UnitVentNum ).MaxAirVolFlow = TempSize; } } @@ -1376,15 +1577,47 @@ namespace UnitVentilator { PltSizHeatNum = MyPlantSizingIndex( "Coil:Heating:Water", UnitVent( UnitVentNum ).HCoilName, CoilWaterInletNode, CoilWaterOutletNode, ErrorsFound ); if ( PltSizHeatNum > 0 ) { if ( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow >= SmallAirVolFlow ) { - CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTemp; - CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).HeatDesTemp; - CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat; - DesCoilLoad = PsyCpAirFnWTdb( CoilOutHumRat, 0.5 * ( CoilInTemp + CoilOutTemp ) ) * FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow * ( CoilOutTemp - CoilInTemp ); - + SizingMethod = HeatingCapacitySizing; + if (UnitVent(UnitVentNum).HVACSizingIndex > 0) { + zoneHVACIndex = UnitVent(UnitVentNum).HVACSizingIndex; + CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; + if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { + if (CapSizingMethod == HeatingDesignCapacity){ + if (ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity > 0.0) { + ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + } else { + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + //DataFlowUsedForSizing = UnitVent(UnitVentNum).MaxAirVolFlow; + } + TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + } else if (CapSizingMethod == CapacityPerFloorArea){ + DataHeatingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + DataScalableCapSizingON = true; + } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + //DataFlowUsedForSizing = UnitVent(UnitVentNum).MaxAirVolFlow; + TempSize = AutoSize; + } + } + SizingString = "Maximum Hot Water Flow [m3/s]"; + PrintFlag = false; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DesHeatingLoad = TempSize; + } else { + SizingString = "Maximum Hot Water Flow [m3/s]"; + PrintFlag = false; + TempSize = AutoSize; + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + //DataFlowUsedForSizing = UnitVent(UnitVentNum).MaxAirVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DesHeatingLoad = TempSize; + } rho = GetDensityGlycol( PlantLoop( UnitVent( UnitVentNum ).HWLoopNum ).FluidName, 60., PlantLoop( UnitVent( UnitVentNum ).HWLoopNum ).FluidIndex, RoutineName ); Cp = GetSpecificHeatGlycol( PlantLoop( UnitVent( UnitVentNum ).HWLoopNum ).FluidName, 60., PlantLoop( UnitVent( UnitVentNum ).HWLoopNum ).FluidIndex, RoutineName ); - - MaxVolHotWaterFlowDes = DesCoilLoad / ( PlantSizData( PltSizHeatNum ).DeltaT * Cp * rho ); + MaxVolHotWaterFlowDes = DesHeatingLoad / (PlantSizData(PltSizHeatNum).DeltaT * Cp * rho); } else { MaxVolHotWaterFlowDes = 0.0; } @@ -1437,19 +1670,51 @@ namespace UnitVentilator { PltSizHeatNum = MyPlantSizingIndex( "Coil:Heating:Steam", UnitVent( UnitVentNum ).HCoilName, CoilSteamInletNode, CoilSteamOutletNode, ErrorsFound ); if ( PltSizHeatNum > 0 ) { if ( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow >= SmallAirVolFlow ) { - CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTemp; - CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).HeatDesTemp; - CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat; - DesCoilLoad = PsyCpAirFnWTdb( CoilOutHumRat, 0.5 * ( CoilInTemp + CoilOutTemp ) ) * FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow * ( CoilOutTemp - CoilInTemp ); - + SizingMethod = HeatingCapacitySizing; + if (UnitVent(UnitVentNum).HVACSizingIndex > 0) { + zoneHVACIndex = UnitVent(UnitVentNum).HVACSizingIndex; + CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; + if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { + if (CapSizingMethod == HeatingDesignCapacity){ + if (ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity > 0.0) { + ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + } else { + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + //DataFlowUsedForSizing = UnitVent(UnitVentNum).MaxAirVolFlow; + } + TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + } else if (CapSizingMethod == CapacityPerFloorArea){ + DataHeatingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + DataScalableCapSizingON = true; + } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + //DataFlowUsedForSizing = UnitVent(UnitVentNum).MaxAirVolFlow; + TempSize = AutoSize; + } + } + SizingString = "Maximum Steam Flow [m3/s]"; + PrintFlag = false; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DesHeatingLoad = TempSize; + } else { + SizingString = "Maximum Steam Flow [m3/s]"; + PrintFlag = false; + TempSize = AutoSize; + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + //DataFlowUsedForSizing = UnitVent(UnitVentNum).MaxAirVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DesHeatingLoad = TempSize; + } TempSteamIn = 100.00; EnthSteamInDry = GetSatEnthalpyRefrig( fluidNameSteam, TempSteamIn, 1.0, RefrigIndex, RoutineName ); EnthSteamOutWet = GetSatEnthalpyRefrig( fluidNameSteam, TempSteamIn, 0.0, RefrigIndex, RoutineName ); LatentHeatSteam = EnthSteamInDry - EnthSteamOutWet; SteamDensity = GetSatDensityRefrig( fluidNameSteam, TempSteamIn, 1.0, RefrigIndex, RoutineName ); Cp = GetSpecificHeatGlycol( fluidNameWater, PlantSizData( PltSizHeatNum ).ExitTemp, DummyWaterIndex, RoutineName ); - - MaxVolHotSteamFlowDes = DesCoilLoad / ( SteamDensity * ( LatentHeatSteam + PlantSizData( PltSizHeatNum ).DeltaT * Cp ) ); + MaxVolHotSteamFlowDes = DesHeatingLoad / (SteamDensity * (LatentHeatSteam + PlantSizData(PltSizHeatNum).DeltaT * Cp)); } else { MaxVolHotSteamFlowDes = 0.0; } @@ -1510,32 +1775,64 @@ namespace UnitVentilator { PltSizCoolNum = MyPlantSizingIndex( CoolingCoilType, CoolingCoilName, CoilWaterInletNode, CoilWaterOutletNode, ErrorsFound ); if ( PltSizCoolNum > 0 ) { if ( FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow >= SmallAirVolFlow ) { - CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesCoolCoilInTemp; - CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).CoolDesTemp; - CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).CoolDesHumRat; - CoilInHumRat = FinalZoneSizing( CurZoneEqNum ).DesCoolCoilInHumRat; - DesCoilLoad = FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow * ( PsyHFnTdbW( CoilInTemp, CoilInHumRat ) - PsyHFnTdbW( CoilOutTemp, CoilOutHumRat ) ); + SizingMethod = CoolingCapacitySizing; + if (UnitVent(UnitVentNum).HVACSizingIndex > 0) { + zoneHVACIndex = UnitVent(UnitVentNum).HVACSizingIndex; + CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).CoolingCapMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; + if (CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity) { + if (CapSizingMethod == CoolingDesignCapacity){ + if (ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity > 0.0) { + ZoneEqSizing(CurZoneEqNum).CoolingCapacity = true; + ZoneEqSizing(CurZoneEqNum).DesCoolingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + } else { + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + //DataFlowUsedForSizing = UnitVent(UnitVentNum).MaxAirVolFlow; + } + TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + } else if (CapSizingMethod == CapacityPerFloorArea){ + DataCoolingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + DataScalableCapSizingON = true; + } else if (CapSizingMethod == FractionOfAutosizedCoolingCapacity){ + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + //DataFlowUsedForSizing = UnitVent(UnitVentNum).MaxAirVolFlow; + TempSize = AutoSize; + } + } + SizingString = "Maximum Cold Water Flow [m3/s]"; + PrintFlag = false; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DesCoolingLoad = TempSize; + } else { + SizingString = "Maximum Cold Water Flow [m3/s]"; + PrintFlag = false; + TempSize = AutoSize; + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DesCoolingLoad = TempSize; + } rho = GetDensityGlycol( PlantLoop( UnitVent( UnitVentNum ).CWLoopNum ).FluidName, 5., PlantLoop( UnitVent( UnitVentNum ).CWLoopNum ).FluidIndex, RoutineName ); Cp = GetSpecificHeatGlycol( PlantLoop( UnitVent( UnitVentNum ).CWLoopNum ).FluidName, 5., PlantLoop( UnitVent( UnitVentNum ).CWLoopNum ).FluidIndex, RoutineName ); - - MaxVolColdWaterFlowDes = DesCoilLoad / ( PlantSizData( PltSizCoolNum ).DeltaT * Cp * rho ); + MaxVolColdWaterFlowDes = DesCoolingLoad / (PlantSizData(PltSizCoolNum).DeltaT * Cp * rho); + if ( MaxVolColdWaterFlowDes < 0.0 ) { ShowWarningError( "Autosizing of water flow resulted in negative value." ); ShowContinueError( "Occurs in " + cMO_UnitVentilator + " Object=" + UnitVent( UnitVentNum ).Name ); ShowContinueError( "...Sizing information found during sizing simulation:" ); - ShowContinueError( "...Coil inlet temperature = " + TrimSigDigits( CoilInTemp, 3 ) + " C" ); - ShowContinueError( "...Coil inlet humidity ratio = " + TrimSigDigits( CoilInHumRat, 6 ) + " kg/kg" ); - CoilInEnthalpy = PsyHFnTdbW( CoilInTemp, CoilInHumRat ); - ShowContinueError( "...Coil inlet enthalpy = " + TrimSigDigits( CoilInEnthalpy, 3 ) + " J/kg" ); - ShowContinueError( "...Sizing information from sizing object:" ); - ShowContinueError( "...Coil outlet temperature = " + TrimSigDigits( CoilOutTemp, 3 ) + " C" ); - ShowContinueError( "...Coil outlet humidity ratio = " + TrimSigDigits( CoilOutHumRat, 6 ) + " kg/kg" ); - CoilOutEnthalpy = PsyHFnTdbW( CoilOutTemp, CoilOutHumRat ); - ShowContinueError( "...Coil outlet enthalpy = " + TrimSigDigits( CoilOutEnthalpy, 3 ) + " J/kg" ); - if ( CoilOutEnthalpy > CoilInEnthalpy ) { - ShowContinueError( "...Coil outlet air enthalpy is greater than coil inlet air enthalpy." ); - } - ShowContinueError( "...Calculated coil design load = " + TrimSigDigits( DesCoilLoad, 3 ) + " W" ); + //ShowContinueError( "...Coil inlet temperature = " + TrimSigDigits( CoilInTemp, 3 ) + " C" ); + //ShowContinueError( "...Coil inlet humidity ratio = " + TrimSigDigits( CoilInHumRat, 6 ) + " kg/kg" ); + //CoilInEnthalpy = PsyHFnTdbW( CoilInTemp, CoilInHumRat ); + //ShowContinueError( "...Coil inlet enthalpy = " + TrimSigDigits( CoilInEnthalpy, 3 ) + " J/kg" ); + //ShowContinueError( "...Sizing information from sizing object:" ); + //ShowContinueError( "...Coil outlet temperature = " + TrimSigDigits( CoilOutTemp, 3 ) + " C" ); + //ShowContinueError( "...Coil outlet humidity ratio = " + TrimSigDigits( CoilOutHumRat, 6 ) + " kg/kg" ); + //CoilOutEnthalpy = PsyHFnTdbW( CoilOutTemp, CoilOutHumRat ); + //ShowContinueError( "...Coil outlet enthalpy = " + TrimSigDigits( CoilOutEnthalpy, 3 ) + " J/kg" ); + //if ( CoilOutEnthalpy > CoilInEnthalpy ) { + // ShowContinueError( "...Coil outlet air enthalpy is greater than coil inlet air enthalpy." ); + //} + ShowContinueError("...Calculated coil design load = " + TrimSigDigits(DesCoolingLoad, 3) + " W"); ShowContinueError( "...Calculated water flow rate = " + TrimSigDigits( MaxVolColdWaterFlowDes, 3 ) + " m3/s" ); ShowContinueError( "...Water flow rate will be set to 0. Check sizing inputs for zone and plant," " inputs for water cooling coil object, and design day specifications." ); ShowContinueError( "...Consider autosizing all inputs if not already doing so." ); diff --git a/src/EnergyPlus/UnitVentilator.hh b/src/EnergyPlus/UnitVentilator.hh index e3901e89872..780b6343854 100644 --- a/src/EnergyPlus/UnitVentilator.hh +++ b/src/EnergyPlus/UnitVentilator.hh @@ -158,6 +158,8 @@ namespace UnitVentilator { int AvailStatus; Real64 FanPartLoadRatio; // fan part-load ratio for time step Real64 PartLoadFrac; // unit ventilator part-load ratio for time step + int ZonePtr; // pointer to a zone served by a unit ventilator + int HVACSizingIndex; // index of a HVACSizing object for a unit ventilator // for unit ventilator object // Default Constructor @@ -236,7 +238,9 @@ namespace UnitVentilator { ElecEnergy( 0.0 ), AvailStatus( 0 ), FanPartLoadRatio( 0.0 ), - PartLoadFrac( 0.0 ) + PartLoadFrac( 0.0 ), + ZonePtr( 0 ), + HVACSizingIndex( 0 ) {} // Member Constructor @@ -331,7 +335,9 @@ namespace UnitVentilator { std::string const & AvailManagerListName, // Name of an availability manager list object int const AvailStatus, Real64 const FanPartLoadRatio, // fan part-load ratio for time step - Real64 const PartLoadFrac // unit ventilator part-load ratio for time step + Real64 const PartLoadFrac, // unit ventilator part-load ratio for time step + int const ZonePtr, // pointer to a zone served by a unit ventilator + int const HVACSizingIndex // index of a HVACSizing object for a unit ventilator ) : Name( Name ), SchedName( SchedName ), @@ -423,13 +429,33 @@ namespace UnitVentilator { AvailManagerListName( AvailManagerListName ), AvailStatus( AvailStatus ), FanPartLoadRatio( FanPartLoadRatio ), - PartLoadFrac( PartLoadFrac ) + PartLoadFrac( PartLoadFrac ), + ZonePtr( ZonePtr ), + HVACSizingIndex( HVACSizingIndex ) {} }; + struct UnitVentNumericFieldData + { + // Members + FArray1D_string FieldNames; + + // Default Constructor + UnitVentNumericFieldData() + {} + + // Member Constructor + UnitVentNumericFieldData( + FArray1_string const & FieldNames // Name of the HeatingCoil numeric field descriptions + ) : + FieldNames( FieldNames ) + {} + }; + // Object Data extern FArray1D< UnitVentilatorData > UnitVent; + extern FArray1D< UnitVentNumericFieldData > UnitVentNumericFields; // Functions diff --git a/src/EnergyPlus/VentilatedSlab.cc b/src/EnergyPlus/VentilatedSlab.cc index f528c4f13d8..d0ce8fde308 100644 --- a/src/EnergyPlus/VentilatedSlab.cc +++ b/src/EnergyPlus/VentilatedSlab.cc @@ -163,6 +163,7 @@ namespace VentilatedSlab { // Object Data FArray1D< VentilatedSlabData > VentSlab; + FArray1D< VentSlabNumericFieldData > VentSlabNumericFields; // Functions @@ -300,6 +301,9 @@ namespace VentilatedSlab { using DataPlant::TypeOf_CoilWaterSimpleHeating; using DataPlant::TypeOf_CoilSteamAirHeating; using DataHVACGlobals::ZoneComp; + using DataSizing::AutoSize; + using DataSizing::ZoneHVACSizing; + using DataSizing::NumZoneHVACSizing; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -371,10 +375,16 @@ namespace VentilatedSlab { VentSlab.allocate( NumOfVentSlabs ); CheckEquipName.allocate( NumOfVentSlabs ); CheckEquipName = true; + VentSlabNumericFields.allocate( NumOfVentSlabs ); for ( Item = 1; Item <= NumOfVentSlabs; ++Item ) { // Begin looping over the entire ventilated slab systems found in the input file... GetObjectItem( CurrentModuleObject, Item, cAlphaArgs, NumAlphas, rNumericArgs, NumNumbers, IOStatus, lNumericBlanks, lAlphaBlanks, cAlphaFields, cNumericFields ); + + VentSlabNumericFields( Item ).FieldNames.allocate( NumNumbers) ; + VentSlabNumericFields( Item ).FieldNames = ""; + VentSlabNumericFields( Item ).FieldNames = cNumericFields; + IsNotOK = false; IsBlank = false; VerifyName( cAlphaArgs( 1 ), VentSlab.Name(), Item - 1, IsNotOK, IsBlank, CurrentModuleObject + " Name" ); @@ -964,6 +974,16 @@ namespace VentilatedSlab { ZoneComp( VentilatedSlab_Num ).ZoneCompAvailMgrs( Item ).AvailManagerListName = cAlphaArgs( 33 ); } + VentSlab( Item ).HVACSizingIndex = 0; + if ( ! lAlphaBlanks( 34 )) { + VentSlab( Item ).HVACSizingIndex = FindItemInList( cAlphaArgs( 34 ), ZoneHVACSizing.Name(), NumZoneHVACSizing); + if (VentSlab( Item ).HVACSizingIndex == 0) { + ShowSevereError( cAlphaFields( 34 ) + " = " + cAlphaArgs( 34 ) + " not found." ); + ShowContinueError( "Occurs in " + cMO_VentilatedSlab + " = " + VentSlab( Item ).Name ); + ErrorsFound = true; + } + } + { auto const SELECT_CASE_var( VentSlab( Item ).CoilOption ); if ( SELECT_CASE_var == BothOption ) { // 'HeatingAndCooling' // Add cooling coil to component sets array when present @@ -1387,7 +1407,13 @@ namespace VentilatedSlab { using DataPlant::PlantLoop; using DataPlant::MyPlantSizingIndex; using ReportSizingManager::ReportSizingOutput; + using ReportSizingManager::RequestSizing; using General::RoundSigDigits; + using DataHVACGlobals::SystemAirflowSizing; + using DataHVACGlobals::CoolingAirflowSizing; + using DataHVACGlobals::HeatingAirflowSizing; + using DataHVACGlobals::CoolingCapacitySizing; + using DataHVACGlobals::HeatingCapacitySizing; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -1438,6 +1464,20 @@ namespace VentilatedSlab { Real64 MaxVolColdWaterFlowDes; // Autosized maximum cold water flow for reporting Real64 MaxVolColdWaterFlowUser; // Hardsized maximum cold water flow for reporting + std::string CompName; // component name + std::string CompType; // component type + std::string SizingString; // input field sizing description (e.g., Nominal Capacity) + bool bPRINT = true; // TRUE if sizing is reported to output (eio) + Real64 TempSize; // autosized value of coil input field + int FieldNum = 2; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) + bool PrintFlag; // TRUE when sizing information is reported in the eio file + int zoneHVACIndex; // index of zoneHVAC equipment sizing specification + int SAFMethod( 0 ); // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow ...) + int CapSizingMethod(0); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) + Real64 CoolingAirVolFlowScalable; // cooling airvolume for rate determined using scalable sizing method + Real64 HeatingAirVolFlowScalable; // heating airvolume for rate determined using scalable sizing method + PltSizCoolNum = 0; PltSizHeatNum = 0; ErrorsFound = false; @@ -1454,40 +1494,107 @@ namespace VentilatedSlab { MaxVolHotSteamFlowUser = 0.0; MaxVolColdWaterFlowDes = 0.0; MaxVolColdWaterFlowUser = 0.0; - - if ( VentSlab( Item ).MaxAirVolFlow == AutoSize ) { - IsAutoSize = true; - } - if ( CurZoneEqNum > 0 ) { - if ( ! IsAutoSize && ! ZoneSizingRunDone ) { - if ( VentSlab( Item ).MaxAirVolFlow > 0.0 ) { - ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "User-Specified Maximum Air Flow Rate [m3/s]", VentSlab( Item ).MaxAirVolFlow ); - } - } else { // Autosize or hard-size with sizing run - CheckZoneSizing( cMO_VentilatedSlab, VentSlab( Item ).Name ); - MaxAirVolFlowDes = max( FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow, FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow ); - if ( MaxAirVolFlowDes < SmallAirVolFlow ) { - MaxAirVolFlowDes = 0.0; - } - if ( IsAutoSize ) { - VentSlab( Item ).MaxAirVolFlow = MaxAirVolFlowDes; - ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "Design Size Maximum Air Flow Rate [m3/s]", MaxAirVolFlowDes ); - } else { // Hard-size with sizing data - if ( VentSlab( Item ).MaxAirVolFlow > 0.0 && MaxAirVolFlowDes > 0.0 ) { - MaxAirVolFlowUser = VentSlab( Item ).MaxAirVolFlow; - ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "Design Size Maximum Air Flow Rate [m3/s]", MaxAirVolFlowDes, "User-Specified Maximum Air Flow Rate [m3/s]", MaxAirVolFlowUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( MaxAirVolFlowDes - MaxAirVolFlowUser ) / MaxAirVolFlowUser ) > AutoVsHardSizingThreshold ) { - ShowMessage( "SizeVentilatedSlab: Potential issue with equipment sizing for ZoneHVAC:VentilatedSlab = \" " + VentSlab( Item ).Name + "\"." ); - ShowContinueError( "User-Specified Maximum Air Flow Rate of " + RoundSigDigits( MaxAirVolFlowUser, 5 ) + " [m3/s]" ); - ShowContinueError( "differs from Design Size Maximum Air Flow of " + RoundSigDigits( MaxAirVolFlowDes, 5 ) + " [m3/s]" ); - ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); - ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); - } - } + CoolingAirVolFlowScalable = 0.0; + HeatingAirVolFlowScalable = 0.0; + + DataScalableSizingON = false; + CompType = cMO_VentilatedSlab; + CompName = VentSlab( Item ).Name; + DataZoneNumber = VentSlab( Item ).ZonePtr; + + if (VentSlab(Item).HVACSizingIndex > 0) { + zoneHVACIndex = VentSlab(Item).HVACSizingIndex; + // N1 , \field Maximum Supply Air Flow Rate + FieldNum = 1; + PrintFlag = true; + SizingString = VentSlabNumericFields( Item ).FieldNames(FieldNum) + " [m3/s]"; + if (ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod > 0) { + SizingMethod = CoolingAirflowSizing; + SAFMethod = ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; + if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow) { + if (SAFMethod == SupplyAirFlowRate){ + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + } else if (SAFMethod == FlowPerFloorArea){ + DataCoolFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + DataScalableSizingON = true; + } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + } else { + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + CoolingAirVolFlowScalable = TempSize; + + } else if (SAFMethod == FlowPerCoolingCapacity) { + SizingMethod = CoolingCapacitySizing; + TempSize = AutoSize; + PrintFlag = false; + DataScalableSizingON = true; + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DataAutosizedCoolingCapacity = TempSize; + DataFlowPerCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + SizingMethod = CoolingAirflowSizing; + PrintFlag = true; + TempSize = AutoSize; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + CoolingAirVolFlowScalable = TempSize; + } + } + if (ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod > 0) { + + SizingMethod = HeatingAirflowSizing; + SAFMethod = ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; + if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow) { + if (SAFMethod == SupplyAirFlowRate){ + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + } else if (SAFMethod == FlowPerFloorArea){ + DataHeatFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + DataScalableSizingON = true; + } else if (SAFMethod == FractionOfAutosizedHeatingAirflow){ + DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + } else { + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + HeatingAirVolFlowScalable = TempSize; + } else if (SAFMethod == FlowPerHeatingCapacity) { + SizingMethod = HeatingCapacitySizing; + TempSize = AutoSize; + PrintFlag = false; + DataScalableSizingON = true; + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DataAutosizedHeatingCapacity = TempSize; + DataFlowPerHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + SizingMethod = HeatingAirflowSizing; + PrintFlag = true; + TempSize = AutoSize; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + HeatingAirVolFlowScalable = TempSize; } } + DataScalableSizingON = false; + VentSlab(Item).MaxAirVolFlow = max(CoolingAirVolFlowScalable, HeatingAirVolFlowScalable); + } else { + // no scalble sizing method has been specified. Sizing proceeds using the method + // specified in the zoneHVAC object + // N1 , \field Maximum Supply Air Flow Rate + SizingMethod = SystemAirflowSizing; + FieldNum = 1; + PrintFlag = true; + SizingString = VentSlabNumericFields(Item).FieldNames(FieldNum) + " [m3/s]"; + TempSize = VentSlab(Item).MaxAirVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + VentSlab(Item).MaxAirVolFlow = TempSize; } IsAutoSize = false; @@ -1579,15 +1686,47 @@ namespace VentilatedSlab { PltSizHeatNum = MyPlantSizingIndex( "Coil:Heating:Water", VentSlab( Item ).HCoilName, CoilWaterInletNode, CoilWaterOutletNode, ErrorsFound ); //END IF if ( PltSizHeatNum > 0 ) { - if ( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow >= SmallAirVolFlow ) { - CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTemp; - CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).HeatDesTemp; - CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat; - DesCoilLoad = PsyCpAirFnWTdb( CoilOutHumRat, 0.5 * ( CoilInTemp + CoilOutTemp ) ) * FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow * ( CoilOutTemp - CoilInTemp ); + if ( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow >= SmallAirVolFlow ) { + SizingMethod = HeatingCapacitySizing; + if (VentSlab(Item).HVACSizingIndex > 0) { + zoneHVACIndex = VentSlab(Item).HVACSizingIndex; + CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; + if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { + if (CapSizingMethod == HeatingDesignCapacity){ + if (ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity > 0.0) { + ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + } else { + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + //DataFlowUsedForSizing = VentSlab(Item).MaxAirVolFlow; + } + TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + } else if (CapSizingMethod == CapacityPerFloorArea){ + DataHeatingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + DataScalableCapSizingON = true; + } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + //DataFlowUsedForSizing = VentSlab(Item).MaxAirVolFlow; + TempSize = AutoSize; + } + } + SizingString = "Maximum Hot Water Flow [m3/s]"; + PrintFlag = false; + + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DesCoilLoad = TempSize; + } else { + SizingString = "Maximum Hot Water Flow [m3/s]"; + PrintFlag = false; + TempSize = AutoSize; + //DataFlowUsedForSizing = VentSlab(Item).MaxAirVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DesCoilLoad = TempSize; + } rho = GetDensityGlycol( PlantLoop( VentSlab( Item ).HWLoopNum ).FluidName, 60., PlantLoop( VentSlab( Item ).HWLoopNum ).FluidIndex, RoutineName ); - Cp = GetSpecificHeatGlycol( PlantLoop( VentSlab( Item ).HWLoopNum ).FluidName, 60., PlantLoop( VentSlab( Item ).HWLoopNum ).FluidIndex, RoutineName ); - MaxVolHotWaterFlowDes = DesCoilLoad / ( PlantSizData( PltSizHeatNum ).DeltaT * Cp * rho ); } else { MaxVolHotWaterFlowDes = 0.0; @@ -1598,6 +1737,7 @@ namespace VentilatedSlab { ErrorsFound = true; } } + if ( IsAutoSize ) { VentSlab( Item ).MaxVolHotWaterFlow = MaxVolHotWaterFlowDes; ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "Design Size Maximum Hot Water Flow [m3/s]", MaxVolHotWaterFlowDes ); @@ -1641,12 +1781,44 @@ namespace VentilatedSlab { if ( IsAutoSize ) { PltSizHeatNum = MyPlantSizingIndex( "Coil:Heating:Steam", VentSlab( Item ).HCoilName, CoilSteamInletNode, CoilSteamOutletNode, ErrorsFound ); if ( PltSizHeatNum > 0 ) { - if ( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow >= SmallAirVolFlow ) { - CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTemp; - CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).HeatDesTemp; - CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat; - DesCoilLoad = PsyCpAirFnWTdb( CoilOutHumRat, 0.5 * ( CoilInTemp + CoilOutTemp ) ) * FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow * ( CoilOutTemp - CoilInTemp ); - + if (FinalZoneSizing(CurZoneEqNum).DesHeatMassFlow >= SmallAirVolFlow) { + SizingMethod = HeatingCapacitySizing; + if (VentSlab(Item).HVACSizingIndex > 0) { + zoneHVACIndex = VentSlab(Item).HVACSizingIndex; + CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; + if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { + if (CapSizingMethod == HeatingDesignCapacity){ + if (ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity > 0.0) { + ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + } else { + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + //DataFlowUsedForSizing = VentSlab(Item).MaxAirVolFlow; + } + TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + } else if (CapSizingMethod == CapacityPerFloorArea){ + DataHeatingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + DataScalableCapSizingON = true; + } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + //DataFlowUsedForSizing = VentSlab(Item).MaxAirVolFlow; + TempSize = AutoSize; + } + } + SizingString = "Maximum Steam Flow [m3/s]"; + PrintFlag = false; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DesCoilLoad = TempSize; + } else { + SizingString = "Maximum Steam Flow [m3/s]"; + PrintFlag = false; + TempSize = AutoSize; + //DataFlowUsedForSizing = VentSlab(Item).MaxAirVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DesCoilLoad = TempSize; + } TempSteamIn = 100.00; EnthSteamInDry = GetSatEnthalpyRefrig( fluidNameSteam, TempSteamIn, 1.0, VentSlab( Item ).HCoil_FluidIndex, RoutineName ); EnthSteamOutWet = GetSatEnthalpyRefrig( fluidNameSteam, TempSteamIn, 0.0, VentSlab( Item ).HCoil_FluidIndex, RoutineName ); @@ -1712,15 +1884,46 @@ namespace VentilatedSlab { PltSizCoolNum = MyPlantSizingIndex( CoolingCoilType, CoolingCoilName, CoilWaterInletNode, CoilWaterOutletNode, ErrorsFound ); if ( PltSizCoolNum > 0 ) { if ( FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow >= SmallAirVolFlow ) { - CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesCoolCoilInTemp; - CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).CoolDesTemp; - CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).CoolDesHumRat; - CoilInHumRat = FinalZoneSizing( CurZoneEqNum ).DesCoolCoilInHumRat; - DesCoilLoad = FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow * ( PsyHFnTdbW( CoilInTemp, CoilInHumRat ) - PsyHFnTdbW( CoilOutTemp, CoilOutHumRat ) ); + SizingMethod = CoolingCapacitySizing; + if (VentSlab(Item).HVACSizingIndex > 0) { + zoneHVACIndex = VentSlab(Item).HVACSizingIndex; + CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).CoolingCapMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; + if (CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity) { + if (CapSizingMethod == CoolingDesignCapacity){ + if (ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity > 0.0) { + ZoneEqSizing(CurZoneEqNum).CoolingCapacity = true; + ZoneEqSizing(CurZoneEqNum).DesCoolingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + } else { + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + //DataFlowUsedForSizing = VentSlab(Item).MaxAirVolFlow; + } + TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + } else if (CapSizingMethod == CapacityPerFloorArea){ + DataCoolingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + DataScalableCapSizingON = true; + } else if (CapSizingMethod == FractionOfAutosizedCoolingCapacity){ + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + //DataFlowUsedForSizing = VentSlab(Item).MaxAirVolFlow; + TempSize = AutoSize; + } + } + SizingString = "Maximum Cold Water Flow [m3/s]"; + PrintFlag = false; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DesCoilLoad = TempSize; + } else { + SizingString = "Maximum Cold Water Flow [m3/s]"; + PrintFlag = false; + TempSize = AutoSize; + //DataFlowUsedForSizing = VentSlab(Item).MaxAirVolFlow; + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DesCoilLoad = TempSize; + } rho = GetDensityGlycol( PlantLoop( VentSlab( Item ).CWLoopNum ).FluidName, 5., PlantLoop( VentSlab( Item ).CWLoopNum ).FluidIndex, RoutineName ); - Cp = GetSpecificHeatGlycol( PlantLoop( VentSlab( Item ).CWLoopNum ).FluidName, 5., PlantLoop( VentSlab( Item ).CWLoopNum ).FluidIndex, RoutineName ); - MaxVolColdWaterFlowDes = DesCoilLoad / ( PlantSizData( PltSizCoolNum ).DeltaT * Cp * rho ); } else { MaxVolColdWaterFlowDes = 0.0; diff --git a/src/EnergyPlus/VentilatedSlab.hh b/src/EnergyPlus/VentilatedSlab.hh index 1910a43f793..33401dd7dbf 100644 --- a/src/EnergyPlus/VentilatedSlab.hh +++ b/src/EnergyPlus/VentilatedSlab.hh @@ -249,7 +249,7 @@ namespace VentilatedSlab { Real64 ZoneInletTemp; // supply air temp std::string AvailManagerListName; // Name of an availability manager list object int AvailStatus; - + int HVACSizingIndex; // index of a HVACSizing object for a ventilator slab // Default Constructor VentilatedSlabData() : SchedPtr( 0 ), @@ -362,7 +362,8 @@ namespace VentilatedSlab { ReturnAirTemp( 0.0 ), FanOutletTemp( 0.0 ), ZoneInletTemp( 0.0 ), - AvailStatus( 0 ) + AvailStatus( 0 ), + HVACSizingIndex( 0 ) {} // Member Constructor @@ -514,7 +515,8 @@ namespace VentilatedSlab { Real64 const FanOutletTemp, // FanOutlet temp in degree C Real64 const ZoneInletTemp, // supply air temp std::string const & AvailManagerListName, // Name of an availability manager list object - int const AvailStatus + int const AvailStatus, + int const HVACSizingIndex // index of a HVACSizing object for a ventilator slab ) : Name( Name ), SchedName( SchedName ), @@ -663,13 +665,32 @@ namespace VentilatedSlab { FanOutletTemp( FanOutletTemp ), ZoneInletTemp( ZoneInletTemp ), AvailManagerListName( AvailManagerListName ), - AvailStatus( AvailStatus ) + AvailStatus( AvailStatus ), + HVACSizingIndex( HVACSizingIndex ) {} }; + struct VentSlabNumericFieldData + { + // Members + FArray1D_string FieldNames; + + // Default Constructor + VentSlabNumericFieldData() + {} + + // Member Constructor + VentSlabNumericFieldData( + FArray1_string const & FieldNames // Name of the HeatingCoil numeric field descriptions + ) : + FieldNames(FieldNames) + {} + }; + // Object Data extern FArray1D< VentilatedSlabData > VentSlab; + extern FArray1D< VentSlabNumericFieldData > VentSlabNumericFields; // Functions diff --git a/src/EnergyPlus/WindowAC.cc b/src/EnergyPlus/WindowAC.cc index 10b667b0d37..fbf71c38d33 100644 --- a/src/EnergyPlus/WindowAC.cc +++ b/src/EnergyPlus/WindowAC.cc @@ -121,6 +121,7 @@ namespace WindowAC { // Object Data FArray1D< WindACData > WindAC; + FArray1D< WindACNumericFieldData > WindACNumericFields; // holds window AC numeric input fields character field name // Functions @@ -253,6 +254,7 @@ namespace WindowAC { using InputProcessor::VerifyName; using InputProcessor::SameString; using InputProcessor::GetObjectDefMaxArgs; + using InputProcessor::FindItemInList; using NodeInputManager::GetOnlySingleNode; using BranchNodeConnections::SetUpCompSets; using Fans::GetFanIndex; @@ -274,6 +276,8 @@ namespace WindowAC { using DataHVACGlobals::ZoneComp; using DataZoneEquipment::WindowAC_Num; using DataZoneEquipment::ZoneEquipConfig; + using DataSizing::NumZoneHVACSizing; + using DataSizing::ZoneHVACSizing; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -328,6 +332,7 @@ namespace WindowAC { WindAC.allocate( NumWindAC ); CheckEquipName.allocate( NumWindAC ); CheckEquipName = true; + WindACNumericFields.allocate( NumWindAC ); GetObjectDefMaxArgs( CurrentModuleObject, TotalArgs, NumAlphas, NumNumbers ); @@ -350,6 +355,11 @@ namespace WindowAC { GetObjectItem( CurrentModuleObject, WindACIndex, Alphas, NumAlphas, Numbers, NumNumbers, IOStatus, lNumericBlanks, lAlphaBlanks, cAlphaFields, cNumericFields ); WindACNum = WindACIndex; + + WindACNumericFields( WindACNum ).FieldNames.allocate( NumNumbers ); + WindACNumericFields( WindACNum ).FieldNames = ""; + WindACNumericFields( WindACNum ).FieldNames = cNumericFields; + IsNotOK = false; IsBlank = false; VerifyName( Alphas( 1 ), WindAC.Name(), WindACNum - 1, IsNotOK, IsBlank, CurrentModuleObject + " Name" ); @@ -486,6 +496,16 @@ namespace WindowAC { ZoneComp( WindowAC_Num ).ZoneCompAvailMgrs( WindACNum ).AvailManagerListName = Alphas( 13 ); } + WindAC( WindACNum ).HVACSizingIndex = 0; + if ( ! lAlphaBlanks( 14 ) ) { + WindAC( WindACNum ).HVACSizingIndex = FindItemInList( Alphas( 14 ), ZoneHVACSizing.Name(), NumZoneHVACSizing); + if ( WindAC( WindACNum ).HVACSizingIndex == 0) { + ShowSevereError( cAlphaFields( 14 ) + " = " + Alphas( 14 ) + " not found."); + ShowContinueError( "Occurs in " + CurrentModuleObject + " = " + WindAC( WindACNum ).Name ); + ErrorsFound = true; + } + } + // Add fan to component sets array if ( WindAC( WindACNum ).FanPlace == BlowThru ) { @@ -513,6 +533,7 @@ namespace WindowAC { if ( ! ZoneEquipConfig( CtrlZone ).IsControlled ) continue; for ( NodeNum = 1; NodeNum <= ZoneEquipConfig( CtrlZone ).NumInletNodes; ++NodeNum ) { if ( WindAC( WindACNum ).AirOutNode == ZoneEquipConfig( CtrlZone ).InletNode( NodeNum ) ) { + WindAC(WindACNum).ZonePtr = CtrlZone; ZoneNodeNotFound = false; break; } @@ -552,6 +573,7 @@ namespace WindowAC { if ( ! ZoneEquipConfig( CtrlZone ).IsControlled ) continue; for ( NodeNum = 1; NodeNum <= ZoneEquipConfig( CtrlZone ).NumInletNodes; ++NodeNum ) { if ( WindAC( WindACNum ).AirOutNode == ZoneEquipConfig( CtrlZone ).InletNode( NodeNum ) ) { + WindAC( WindACNum ).ZonePtr = CtrlZone; ZoneNodeNotFound = false; break; } @@ -809,15 +831,20 @@ namespace WindowAC { // na // Using/Aliasing + using namespace DataSizing; using namespace InputProcessor; using ReportSizingManager::ReportSizingOutput; + using ReportSizingManager::RequestSizing; using General::RoundSigDigits; + using DataHVACGlobals::SystemAirflowSizing; + using DataHVACGlobals::CoolingAirflowSizing; + using DataHVACGlobals::CoolingCapacitySizing; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: // SUBROUTINE PARAMETER DEFINITIONS: - // na + static std::string const RoutineName("SizeWindowAC: "); // include trailing blank space // INTERFACE BLOCK SPECIFICATIONS // na @@ -832,44 +859,108 @@ namespace WindowAC { Real64 OutAirVolFlowUser; // Hardsized outdoor ari flow for reporting bool IsAutoSize; // Indicator to autosize + std::string CompName; // component name + std::string CompType; // component type + std::string SizingString; // input field sizing description (e.g., Nominal Capacity) + Real64 TempSize; // autosized value of coil input field + int FieldNum = 2; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) + bool PrintFlag; // TRUE when sizing information is reported in the eio file + int zoneHVACIndex; // index of zoneHVAC equipment sizing specification + int SAFMethod( 0 ); // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow ...) + int CapSizingMethod(0); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) + IsAutoSize = false; MaxAirVolFlowDes = 0.0; MaxAirVolFlowUser = 0.0; OutAirVolFlowDes = 0.0; OutAirVolFlowUser = 0.0; - if ( WindAC( WindACNum ).MaxAirVolFlow == AutoSize ) { - IsAutoSize = true; - } - if ( CurZoneEqNum > 0 ) { - if ( ! IsAutoSize && ! ZoneSizingRunDone ) { // Simulation continue - if ( WindAC( WindACNum ).MaxAirVolFlow > 0.0 ) { - ReportSizingOutput( cWindowAC_UnitTypes( WindAC( WindACNum ).UnitType ), WindAC( WindACNum ).Name, "Maximum Supply Air Flow Rate [m3/s]", WindAC( WindACNum ).MaxAirVolFlow ); - } - } else { - CheckZoneSizing( cWindowAC_UnitTypes( WindAC( WindACNum ).UnitType ), WindAC( WindACNum ).Name ); - MaxAirVolFlowDes = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; - if ( MaxAirVolFlowDes < SmallAirVolFlow ) { - MaxAirVolFlowDes = 0.0; + DataFracOfAutosizedCoolingAirflow = 1.0; + DataFracOfAutosizedHeatingAirflow = 1.0; + DataFracOfAutosizedCoolingCapacity = 1.0; + DataFracOfAutosizedHeatingCapacity = 1.0; + + DataScalableSizingON = false; + ZoneHeatingOnlyFan = false; + ZoneCoolingOnlyFan = true; + CompType = "ZoneHVAC:WindowAirConditioner"; + CompName = WindAC(WindACNum).Name; + DataZoneNumber = WindAC(WindACNum).ZonePtr; + + if (CurZoneEqNum > 0) { + if (WindAC(WindACNum).HVACSizingIndex > 0) { + zoneHVACIndex = WindAC(WindACNum).HVACSizingIndex; + // N1 , \field Maximum Supply Air Flow Rate + SizingMethod = CoolingAirflowSizing; + FieldNum = 1; + SizingString = WindACNumericFields(WindACNum).FieldNames(FieldNum) + " [m3/s]"; + PrintFlag = true; + SAFMethod = ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; + if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow) { + if (SAFMethod == SupplyAirFlowRate){ + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + } else if (SAFMethod == FlowPerFloorArea){ + DataCoolFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow;; + DataScalableSizingON = true; + } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + } else { + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + WindAC( WindACNum ).MaxAirVolFlow = TempSize; + + } else if (SAFMethod == FlowPerCoolingCapacity) { + SizingMethod = CoolingCapacitySizing; + TempSize = AutoSize; + PrintFlag = false; + DataScalableSizingON = true; + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + if (ZoneHVACSizing(zoneHVACIndex).CoolingCapMethod == FractionOfAutosizedCoolingCapacity) { + DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DataCapacityUsedForSizing = TempSize; + DataFlowPerCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + SizingMethod = CoolingAirflowSizing; + PrintFlag = true; + TempSize = AutoSize; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + WindAC( WindACNum ).MaxAirVolFlow = TempSize; } - if ( IsAutoSize ) { - WindAC( WindACNum ).MaxAirVolFlow = MaxAirVolFlowDes; - ReportSizingOutput( cWindowAC_UnitTypes( WindAC( WindACNum ).UnitType ), WindAC( WindACNum ).Name, "Design Size Maximum Supply Air Flow Rate [m3/s]", MaxAirVolFlowDes ); - } else { - if ( WindAC( WindACNum ).MaxAirVolFlow > 0.0 && MaxAirVolFlowDes > 0.0 ) { - MaxAirVolFlowUser = WindAC( WindACNum ).MaxAirVolFlow; - ReportSizingOutput( cWindowAC_UnitTypes( WindAC( WindACNum ).UnitType ), WindAC( WindACNum ).Name, "Design Size Maximum Supply Air Flow Rate [m3/s]", MaxAirVolFlowDes, "User-Specified Maximum Supply Air Flow Rate [m3/s]", MaxAirVolFlowUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( MaxAirVolFlowDes - MaxAirVolFlowUser ) / MaxAirVolFlowUser ) > AutoVsHardSizingThreshold ) { - ShowMessage( "SizeWindowAC: Potential issue with equipment sizing for " + cWindowAC_UnitTypes( WindAC( WindACNum ).UnitType ) + ' ' + WindAC( WindACNum ).Name ); - ShowContinueError( "User-Specified Maximum Supply Air Flow Rate of " + RoundSigDigits( MaxAirVolFlowUser, 5 ) + " [m3/s]" ); - ShowContinueError( "differs from Design Size Maximum Supply Air Flow Rate of " + RoundSigDigits( MaxAirVolFlowDes, 5 ) + " [m3/s]" ); - ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); - ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); - } + DataScalableSizingON = false; + + // initialize capacity sizing variables: cooling + CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).CoolingCapMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; + if (CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity) { + if (CapSizingMethod == HeatingDesignCapacity){ + if (ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity > 0.0) { + ZoneEqSizing(CurZoneEqNum).CoolingCapacity = true; + ZoneEqSizing(CurZoneEqNum).DesCoolingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; } + } else if (CapSizingMethod == CapacityPerFloorArea){ + DataCoolingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + } else if (CapSizingMethod == FractionOfAutosizedCoolingCapacity){ + DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; } - } + } + } else { + // no scalble sizing method has been specified. Sizing proceeds using the method + // specified in the zoneHVAC object + // N1 , \field Maximum Supply Air Flow Rate + SizingMethod = SystemAirflowSizing; + FieldNum = 1; + PrintFlag = true; + SizingString = WindACNumericFields(WindACNum).FieldNames(FieldNum) + " [m3/s]"; + TempSize = WindAC( WindACNum ).MaxAirVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + WindAC( WindACNum ).MaxAirVolFlow = TempSize; } } diff --git a/src/EnergyPlus/WindowAC.hh b/src/EnergyPlus/WindowAC.hh index b3e696d6258..05787081fc0 100644 --- a/src/EnergyPlus/WindowAC.hh +++ b/src/EnergyPlus/WindowAC.hh @@ -95,6 +95,8 @@ namespace WindowAC { Real64 CompPartLoadRatio; // compressor part-load ratio for time step std::string AvailManagerListName; // Name of an availability manager list object int AvailStatus; + int ZonePtr; // pointer to a zone served by a Window AC unit + int HVACSizingIndex; // index of a HVACSizing object for a Window AC unit // Default Constructor WindACData() : @@ -135,7 +137,9 @@ namespace WindowAC { ElecConsumption( 0.0 ), FanPartLoadRatio( 0.0 ), CompPartLoadRatio( 0.0 ), - AvailStatus( 0 ) + AvailStatus( 0 ), + ZonePtr( 0 ), + HVACSizingIndex( 0 ) {} // Member Constructor @@ -186,7 +190,10 @@ namespace WindowAC { Real64 const FanPartLoadRatio, // fan part-load ratio for time step Real64 const CompPartLoadRatio, // compressor part-load ratio for time step std::string const & AvailManagerListName, // Name of an availability manager list object - int const AvailStatus + int const AvailStatus, + int const ZonePtr, // pointer to a zone served by a Window AC unit + int const HVACSizingIndex // index of a HVACSizing object for a Window AC unit + ) : Name( Name ), UnitType( UnitType ), @@ -234,13 +241,33 @@ namespace WindowAC { FanPartLoadRatio( FanPartLoadRatio ), CompPartLoadRatio( CompPartLoadRatio ), AvailManagerListName( AvailManagerListName ), - AvailStatus( AvailStatus ) + AvailStatus( AvailStatus ), + ZonePtr( ZonePtr ), + HVACSizingIndex( HVACSizingIndex ) {} }; + struct WindACNumericFieldData + { + // Members + FArray1D_string FieldNames; + + // Default Constructor + WindACNumericFieldData() + {} + + // Member Constructor + WindACNumericFieldData( + FArray1_string const & FieldNames // Name of the HeatingCoil numeric field descriptions + ) : + FieldNames(FieldNames) + {} + }; + // Object Data extern FArray1D< WindACData > WindAC; + extern FArray1D< WindACNumericFieldData > WindACNumericFields; // holds window AC numeric input fields character field name // Functions diff --git a/src/EnergyPlus/ZoneEquipmentManager.cc b/src/EnergyPlus/ZoneEquipmentManager.cc index cc866c71fb7..0c87a196b35 100644 --- a/src/EnergyPlus/ZoneEquipmentManager.cc +++ b/src/EnergyPlus/ZoneEquipmentManager.cc @@ -300,7 +300,7 @@ namespace ZoneEquipmentManager { // SUBROUTINE ARGUMENT DEFINITIONS: // SUBROUTINE PARAMETER DEFINITIONS: - // na + int NumOfSizingTypes = 7; // number of zone HVAC equipment supply air flow and capacity sizing types (Cooling, Heating and no-Cooling-No Heating, heating and cooling capacity) // INTERFACE BLOCK SPECIFICATIONS // na @@ -341,6 +341,9 @@ namespace ZoneEquipmentManager { ZoneSysMoistureDemand( ControlledZoneNum ).SequencedOutputRequired.allocate( ZoneEquipCount ); ZoneSysMoistureDemand( ControlledZoneNum ).SequencedOutputRequiredToHumidSP.allocate( ZoneEquipCount ); ZoneSysMoistureDemand( ControlledZoneNum ).SequencedOutputRequiredToDehumidSP.allocate( ZoneEquipCount ); + ZoneEqSizing( ControlledZoneNum ).SizingMethod.allocate( NumOfSizingTypes ); + ZoneEqSizing( ControlledZoneNum ).SizingMethod = 0; + } } @@ -430,6 +433,8 @@ namespace ZoneEquipmentManager { Node( ZoneReturnAirNode ).GenContam = OutdoorGC; } } + + } MyEnvrnFlag = false; From da941fcac85ddf21f590029e022fd180936b442b Mon Sep 17 00:00:00 2001 From: Nigusse Date: Tue, 12 Aug 2014 20:05:54 -0400 Subject: [PATCH 02/19] Zone HVAC objects were modified for scalable sizing. --- idd/Energy+.idd | 2279 +++++++++++++++++++++++++++++------------------ 1 file changed, 1405 insertions(+), 874 deletions(-) diff --git a/idd/Energy+.idd b/idd/Energy+.idd index ae5db0dad67..c90b0429434 100644 --- a/idd/Energy+.idd +++ b/idd/Energy+.idd @@ -30041,6 +30041,222 @@ Sizing:Zone, \type object-list \object-list DesignSpecificationZoneAirDistributionNames + +DesignSpecification:ZoneHVAC:Sizing, + \min-fields 1 + \memo This object is used to describe general scalable zone HVAC equipment sizing which + \memo are referenced by other objects. + A1, \field Name + \required-field + \type alpha + \reference + A2, \field Cooling Design Air Flow Method + \type choice + \key None + \key SupplyAirFlowRate + \key FlowPerFloorArea + \key FractionOfAutosizedCoolingAirflow + \key FlowPerCoolingCapacity + \default SupplyAirFlowRate + \note Enter the method used to determine the cooling supply air volume flow rate. + \note None is used when a cooling coil is not included in the Zone HVAC Equip or this field + \note may be blank. SupplyAirFlowRate => selected when the magnitude of the supply air volume + \note flow rate is specified. FlowPerFloorArea => selected when the supply air volume flow rate + \note is determined from total floor area served by the Zone HVAC unit and Flow Per Floor Area + \note value specified. FractionOfAutosizedCoolingAirflow => is selected when the supply air volume + \note is determined from a user specified fraction and the autosized cooling supply air flow rate + \note value determined by the simulation. FlowPerCoolingCapacity => is selected when the supply + \note air volume is determined from user specified flow per Cooling Capacity and Cooling Capacity + \note determined by the simulation. + N1, \field Cooling Design Supply Air Flow Rate {m3/s} + \type real + \units m3/s + \minimum 0.0 + \autosizable + \note Enter the magnitude of supply air volume flow rate during cooling operation. + \note Required field when Supply air Flow Rate Method During Cooling Operation is SupplyAirFlowRate. + \note This field may be blank if a cooling coil is not included in the Zone HVAC equipment. + N2, \field Cooling Design Supply Air Flow Rate Per Floor Area {m3/s-m2} + \type real + \units m3/s-m2 + \minimum 0.0 + \note Enter the cooling supply air volume flow rate per total conditioned floor area. + \note Required field when Supply air Flow Rate Method During Cooling Operation is FlowPerFloorArea. + \note This field may be blank if a cooling coil is not included in the Zone HVAC equipment. + N3, \field Fraction of Autosized Cooling Design Supply Air Flow Rate {-} + \type real + \minimum 0.0 + \note Enter the supply air volume flow rate as a fraction of the cooling supply air flow rate. + \note Required field when Supply air Flow Rate Method During Cooling Operation is + \note FractionOfAutosizedCoolingAirflow. + \note This field may be blank if a cooling coil is not included in the Zone HVAC equipment. + N4, \field Cooling Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} + \type real + \units m3/s-W + \minimum 0.0 + \note Enter the cooling supply air volume flow rate unit cooling capacity. + \note Required field when Supply air Flow Rate Method During Cooling Operation is + \note FlowPerCoolingCapacity. This field may be blank if a cooling coil is not + \note included in the Zone HVAC equipment. + A3, \field Supply Air Flow Rate Method When No Cooling or Heating is Required + \type choice + \key None + \key SupplyAirFlowRate + \key FlowPerFloorArea + \key FractionOfAutosizedCoolingAirflow + \key FractionOfAutosizedHeatingAirflow + \default SupplyAirFlowRate + \note Enter the method used to determine the supply air volume flow rate When No Cooling or Heating + \note is Required. None is used when a cooling or heating coils is not included in the Zone HVAC + \note Equipment or this field may be blank. SupplyAirFlowRate => selected when the magnitude of the + \note supply air volume flow rate is specified. FlowPerFloorArea => selected when the supply air + \note volume flow rate is determined from total floor area served by the Zone HVAC unit and Flow Per + \note Floor Area is specified. FractionOfAutosizedCoolingAirflow => is selected when the supply + \note air volume is determined from a user specified fraction and the Autosized cooling supply + \note air flow rate value determined by the simulation. FractionOfAutosizedHeatingAirflow => is + \note selected when the supply air volume is determined from a user specified fraction and the + \note Autosized heating supply air flow rate value determined by the simulation. + N5, \field Supply Air Flow Rate When No Cooling or Heating is Required {m3/s} + \type real + \units m3/s + \minimum 0.0 + \autosizable + \note Enter the magnitude of the supply air volume flow rate during when no cooling or heating + \note is required. Required field when Supply air Flow Rate Method When No Cooling or Heating + \note is Required is SupplyAirFlowRate. + N6, \field Supply Air Flow Rate Per Floor Area When No Clg or Htg is Required {m3/s-m2} + \type real + \units m3/s-m2 + \minimum 0.0 + \note Enter the supply air volume flow rate per total floor area. + \note Required field when Supply air Flow Rate Method When No Cooling or Heating is Required + \note is FlowPerFloorArea. + N7, \field Fraction of Design Cooling Supply Air Flow Rate When No Clg or Htg Required {-} + \type real + \minimum 0.0 + \note Enter the supply air volume flow rate as a fraction of the cooling supply air flow rate. + \note Required field when Supply air Flow Rate Method When No Cooling or Heating is Required + \note is FractionOfAutosizedCoolingAirflow. + N8, \field Fraction of Design Heating Supply Air Flow Rate When No Clg or Htg Required {-} + \type real + \minimum 0.0 + \note Enter the supply air volume flow rate as a fraction of the heating supply air flow rate. + \note Required field when Supply air Flow Rate Method When No Cooling or Heating is Required + \note is FractionOfAutosizedHeatingAirflow. + A4, \field Heating Design Air Flow Method + \type choice + \key None + \key SupplyAirFlowRate + \key FlowPerFloorArea + \key FractionOfAutosizedHeatingAirflow + \key FlowPerHeatingCapacity + \default SupplyAirFlowRate + \note Enter the method used to determine the heating supply air volume flow rate. + \note None is used when a heating coil is not included in the Zone HVAC Equipment or this field may + \note be blank. SupplyAirFlowRate => selected when the magnitude of the heating supply air volume + \note flow rate is specified. FlowPerFloorArea => selected when the supply air volume flow rate is + \note determined from total floor area served by a Zone HVAC unit and user specified value of Flow + \note Per Floor Area. FractionOfAutosizedHeatingAirflow => is selected when the supply air volume + \note is determined from a user specified fraction and the Autosized heating supply air flow rate + \note value determined by the simulation. FlowPerHeatingCapacity => is selected when the supply + \note air volume is determined from user specified flow per Heating Capacity and Heating Capacity + \note determined by the simulation. + N9, \field Heating Design Supply Air Flow Rate {m3/s} + \type real + \units m3/s + \minimum 0.0 + \autosizable + \note Enter the magnitude of the supply air volume flow rate during heating operation. + \note Required field when Supply air Flow Rate Method During Heating Operation is SupplyAirFlowRate. + \note This field may be blank if a heating coil is not included in the Zone HVAC equipment. + N10, \field Heating Design Supply Air Flow Rate Per Floor Area {m3/s-m2} + \type real + \units m3/s-m2 + \minimum 0.0 + \note Enter the heating supply air volume flow rate per total conditioned floor area. + \note Required field when Supply air Flow Rate Method During Heating Operation is FlowPerFloorArea. + \note This field may be blank if a heating coil is not included in the Zone HVAC equipment. + N11, \field Fraction of Heating Design Supply Air Flow Rate {-} + \type real + \minimum 0.0 + \note Enter the supply air volume flow rate as a fraction of the heating supply air flow rate. + \note Required field when Supply air Flow Rate Method During Heating Operation is + \note FractionOfAutosizedHeatingAirflow. + \note This field may be blank if a heating coil is not included in the Zone HVAC equipment. + N12, \field Heating Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} + \type real + \units m3/s-W + \minimum 0.0 + \note Enter the supply air volume flow rate per unit heating capacity. + \note Required field when Supply air Flow Rate Method During Heating Operation is + \note FlowPerHeatingCapacity. + \note This field may be blank if a heating coil is not included in the Zone HVAC equipment. + A5, \field Cooling Design Capacity Method + \type choice + \key None + \key CoolingDesignCapacity + \key CapacityPerFloorArea + \key FractionOfAutosizedCoolingCapacity + \default None + \note Enter the method used to determine the cooling design capacity for scalable sizing. + \note None is used when a cooling coils is not included in the Zone HVAC Equipment or + \note this field may be blank. If this input field is left blank, then the design cooling + \note capacity is set to zero. CoolingDesignCapacity => selected when the design cooling capacity + \note value is specified or auto-sized. CapacityPerFloorArea => selected when the design cooling + \note capacity is determine from user specified cooling capacity per floor area and zone floor area. + \note FractionOfAutosizedCoolingCapacity => is selected when the design cooling capacity is + \note determined from a user specified fraction and the auto-sized design cooling capacity. + N13, \field Cooling Design Capacity {W} + \type real + \units m3/s + \minimum 0.0 + \autosizable + \note Enter the design cooling capacity. Required field when the cooling design capacity method + \note CoolingDesignCapacity. + N14, \field Cooling Design Capacity Per Floor Area {W/m2} + \type real + \minimum 0.0 + \note Enter the cooling design capacity per zone floor area. Required field when the cooling design + \note capacity method field is CapacityPerFloorArea. + N15, \field Fraction of Autosized Cooling Design Capacity {-} + \type real + \minimum 0.0 + \note Enter the fraction of auto-sized cooling design capacity. Required field when the cooling + \note design capacity method field is FractionOfAutosizedCoolingCapacity. + A6, \field Heating Design Capacity Method + \type choice + \key None + \key HeatingDesignCapacity + \key CapacityPerFloorArea + \key FractionOfAutosizedHeatingCapacity + \default None + \note Enter the method used to determine the heating design capacity for scalable sizing. + \note None is used when a heating coil is not included in the Zone HVAC Equipment or + \note this field may be blank. If this input field is left blank, then the design heating + \note capacity is set to zero. HeatingDesignCapacity => selected when the design heating capacity + \note value is specified or auto-sized. CapacityPerFloorArea => selected when the design cooling + \note capacity is determine from user specified heating capacity per flow area and zone floor area. + \note FractionOfAutosizedHeatingCapacity => is selected when the design heating capacity is + \note determined from a user specified fraction and the auto-sized design heating capacity + N16, \field Heating Design Capacity {W} + \type real + \units m3/s + \minimum 0.0 + \autosizable + \note Enter the design heating capacity. Required field when the heating design capacity method + \note HeatingDesignCapacity. + N17, \field Heating Design Capacity Per Floor Area {W/m2} + \type real + \minimum 0.0 + \note Enter the heating design capacity per zone floor area. Required field when the heating design + \note capacity method field is CapacityPerFloorArea. + N18; \field Fraction of Autosized Heating Design Capacity {-} + \type real + \minimum 0.0 + \note Enter the fraction of auto-sized heating design capacity. Required field when capacity the + \note heating design capacity method field is FractionOfAutosizedHeatingCapacity. + + Sizing:System, \memo Specifies the input needed to perform sizing calculations for a central forced air \memo system design air flow, heating capacity, and cooling capacity. @@ -30893,18 +31109,23 @@ ZoneHVAC:IdealLoadsAirSystem, \minimum 0.0 \maximum 1.0 \default 0.70 - N11; \field Latent Heat Recovery Effectiveness + N11, \field Latent Heat Recovery Effectiveness \note Applicable only if Heat Recovery Type is Enthalpy. \units dimensionless \minimum 0.0 \maximum 1.0 \default 0.65 + A16; \field Design Specification ZoneHVAC Sizing Object Name + \note Enter the name of a DesignSpecificationZoneHVACSizing object. + \type object + \object-name DesignSpecificationZoneHVACSizingName ZoneHVAC:FourPipeFanCoil, \memo Four pipe fan coil system. Forced-convection hydronic heating-cooling unit with \memo supply fan, hot water heating coil, chilled water cooling coil, and fixed-position \memo outdoor air mixer. \min-fields 24 + \reference DesignSpecificationZoneHVACSizingName A1 , \field Name \required-field A2 , \field Availability Schedule Name @@ -31013,10 +31234,15 @@ ZoneHVAC:FourPipeFanCoil, \type real \minimum> 0.0 \default 0.001 - A15; \field Availability Manager List Name + A15, \field Availability Manager List Name \note Enter the name of an AvailabilityManagerAssignmentList object. \type object-list \object-list SystemAvailabilityManagerLists + A16; \field Design Specification ZoneHVAC Sizing Object Name + \note Enter the name of a DesignSpecificationZoneHVACSizing object. + \type object + \object-name DesignSpecificationZoneHVACSizingName + ZoneHVAC:WindowAirConditioner, \memo Window air conditioner. Forced-convection cooling-only unit with supply fan, direct @@ -31094,11 +31320,16 @@ ZoneHVAC:WindowAirConditioner, \type real \minimum> 0.0 \default 0.001 - A13; \field Availability Manager List Name + A13, \field Availability Manager List Name \note Enter the name of an AvailabilityManagerAssignmentList object. \type object-list \object-list SystemAvailabilityManagerLists + A14; \field Design Specification ZoneHVAC Sizing Object Name + \note Enter the name of a DesignSpecificationZoneHVACSizing object. + \type object + \object-name DesignSpecificationZoneHVACSizingName + ZoneHVAC:PackagedTerminalAirConditioner, \memo Packaged terminal air conditioner (PTAC). Forced-convection heating-cooling unit \memo with supply fan, direct expansion (DX) cooling coil, heating coil (gas, electric, hot @@ -31234,10 +31465,14 @@ ZoneHVAC:PackagedTerminalAirConditioner, \note Enter the name of a schedule that controls fan operation. Schedule Name values of 0 denote \note cycling fan operation (fan cycles with cooling or heating coil). Schedule Name values greater \note than 0 denote constant fan operation (fan runs continually regardless of coil operation). - A15; \field Availability Manager List Name + A15, \field Availability Manager List Name \note Enter the name of an AvailabilityManagerAssignmentList object. \type object-list \object-list SystemAvailabilityManagerLists + A16; \field Design Specification ZoneHVAC Sizing Object Name + \note Enter the name of a DesignSpecificationZoneHVACSizing object. + \type object + \object-name DesignSpecificationZoneHVACSizingName ZoneHVAC:PackagedTerminalHeatPump, \memo Packaged terminal heat pump (PTHP). Forced-convection heating-cooling unit with @@ -31416,11 +31651,15 @@ ZoneHVAC:PackagedTerminalHeatPump, \note cycling fan operation (fan cycles with cooling or heating coil). Schedule Name values greater \note than 0 denote constant fan operation (fan runs continually regardless of coil operation). \note The fan operating mode defaults to cycling fan operation if this field is left blank. - A17; \field Availability Manager List Name + A17, \field Availability Manager List Name \note Enter the name of an AvailabilityManagerAssignmentList object. \type object-list \object-list SystemAvailabilityManagerLists - + A18; \field Design Specification ZoneHVAC Sizing Object Name + \note Enter the name of a DesignSpecificationZoneHVACSizing object. + \type object + \object-name DesignSpecificationZoneHVACSizingName + ZoneHVAC:WaterToAirHeatPump, \memo Water-to-air heat pump. Forced-convection heating-cooling unit with supply fan, \memo water-to-air cooling and heating coils, supplemental heating coil (gas, electric, hot @@ -31599,7 +31838,7 @@ ZoneHVAC:WaterToAirHeatPump, \note Enter the name of an AvailabilityManagerAssignmentList object. \type object-list \object-list SystemAvailabilityManagerLists - A19; \field Heat Pump Coil Water Flow Mode + A19, \field Heat Pump Coil Water Flow Mode \type choice \key Constant \key Cycling @@ -31609,6 +31848,10 @@ ZoneHVAC:WaterToAirHeatPump, \note Constant results in 100% water flow regardless of compressor PLR \note Cycling results in water flow that matches compressor PLR \note ConstantOnDemand results in 100% water flow whenever the coil is on, but is 0% whenever the coil has no load + A20; \field Design Specification ZoneHVAC Sizing Object Name + \note Enter the name of a DesignSpecificationZoneHVACSizing object. + \type object + \object-name DesignSpecificationZoneHVACSizingName ZoneHVAC:Dehumidifier:DX, \memo This object calculates the performance of zone (room) air dehumidifiers. @@ -31963,10 +32206,14 @@ ZoneHVAC:UnitVentilator, \type real \minimum> 0.0 \default 0.001 - A19; \field Availability Manager List Name + A19, \field Availability Manager List Name \note Enter the name of an AvailabilityManagerAssignmentList object. \type object-list \object-list SystemAvailabilityManagerLists + A20; \field Design Specification ZoneHVAC Sizing Object Name + \note Enter the name of a DesignSpecificationZoneHVACSizing object. + \type object + \object-name DesignSpecificationZoneHVACSizingName ZoneHVAC:UnitHeater, \memo Unit heater. Forced-convection heating-only unit with supply fan, heating coil @@ -32046,10 +32293,14 @@ ZoneHVAC:UnitHeater, \type real \minimum> 0.0 \default 0.001 - A11; \field Availability Manager List Name + A11, \field Availability Manager List Name \note Enter the name of an AvailabilityManagerAssignmentList object. \type object-list \object-list SystemAvailabilityManagerLists + A12; \field Design Specification ZoneHVAC Sizing Object Name + \note Enter the name of a DesignSpecificationZoneHVACSizing object. + \type object + \object-name DesignSpecificationZoneHVACSizingName ZoneHVAC:EvaporativeCoolerUnit, \memo Zone evaporative cooler. Forced-convection cooling-only unit with supply fan, @@ -32136,11 +32387,14 @@ ZoneHVAC:EvaporativeCoolerUnit, \key EvaporativeCooler:Indirect:CelDekPad \key EvaporativeCooler:Indirect:WetCoil \key EvaporativeCooler:Indirect:ResearchSpecial - A14; \field Second Evaporative Cooler Name + A14, \field Second Evaporative Cooler Name \note optional, used for direct/indirect configurations \type object-list \object-list EvapCoolerNames - + A15; \field Design Specification ZoneHVAC Sizing Object Name + \note Enter the name of a DesignSpecificationZoneHVACSizing object. + \type object + \object-name DesignSpecificationZoneHVACSizingName ZoneHVAC:OutdoorAirUnit, \memo The zone outdoor air unit models a single-zone dedicated outdoor air system (DOAS). @@ -32484,10 +32738,14 @@ ZoneHVAC:TerminalUnit:VariableRefrigerantFlow, \note to be equal to the cooling capacity multiplied by this sizing ratio. \note This input applies to the terminal unit heating coil and overrides the sizing \note ratio entered in the AirConditioner:VariableRefrigerantFlow object. - A15; \field Availability Manager List Name - \note Enter the name of an AvailabilityManagerAssignmentList object. - \type object-list - \object-list SystemAvailabilityManagerLists + A15, \field Availability Manager List Name + \note Enter the name of an AvailabilityManagerAssignmentList object. + \type object-list + \object-list SystemAvailabilityManagerLists + A16; \field Design Specification ZoneHVAC Sizing Object Name + \note Enter the name of a DesignSpecificationZoneHVACSizing object. + \type object + \object-name DesignSpecificationZoneHVACSizingName \group Zone HVAC Radiative/Convective Units @@ -32527,731 +32785,759 @@ ZoneHVAC:Baseboard:RadiantConvective:Water, \minimum> 0.0 \units Kg/s \default 0.063 - N3, \field Rated Capacity - \note Users must multiply the actual finned length published in the literature. - \note Rated Capacity is for an inlet air dry-bulb temperature of 18.0C, the Rated Water Mass Flow Rate - \note of 0.063kg/s or 0.252kg/s, and the Rated Average Water Temperature between 32.2C and 115.6C. - \autosizable + A5, \field Heating Design Capacity Method + \required-field + \type choice + \key HeatingDesignCapacity + \key CapacityPerFloorArea + \key FractionOfAutosizedHeatingCapacity + \default HeatingDesignCapacity + \note Enter the method used to determine the heating design capacity. + \note HeatingDesignCapacity = > selected when the design heating capacity value or autosize + \note is specified. CapacityPerFloorArea = > selected when the design heating capacity is + \note determine from user specified heating capacity per floor area and zone floor area. + \note FractionOfAutosizedHeatingCapacity = > is selected when the design heating capacity is + \note determined from a user specified fraction and the auto-sized design heating capacity. + N3 , \field Heating Design Capacity \type real \units W + \minimum 0.0 + \autosizable + \ip-units W \default autosize - N4, \field Maximum Water Flow Rate + \note Enter the design heating capacity. Required field when the heating design capacity method + \note HeatingDesignCapacity. This input field is rated heating capacity. Users must multiply the + \note actual finned length published in the literature to determine the rated capacity. Rated + \note Capacity is for an inlet air dry-bulb temperature of 18.0C, the Rated Water Mass Flow Rate + \note of 0.063kg/s or 0.252kg/s, and the Rated Average Water Temperature between 32.2C and 115.6C. + N4 , \field Heating Design Capacity Per Floor Area + \type real + \minimum 0.0 + \note Enter the heating design capacity per zone floor area.Required field when the heating design + \note capacity method field is CapacityPerFloorArea. + N5 , \field Fraction of Autosized Heating Design Capacity{ -} + \type real + \minimum 0.0 + \default 1.0 + \note Enter the fraction of auto - sized heating design capacity.Required field when capacity the + \note heating design capacity method field is FractionOfAutosizedHeatingCapacity. + N6, \field Maximum Water Flow Rate \required-field \autosizable \type real \units m3/s - N5, \field Convergence Tolerance + N7, \field Convergence Tolerance \type real \minimum> 0.0 \default 0.001 - N6, \field Fraction Radiant + N8, \field Fraction Radiant \required-field \type real \minimum 0 \maximum 1 - N7, \field Fraction of Radiant Energy Incident on People + N9, \field Fraction of Radiant Energy Incident on People \type real \minimum 0 \maximum 1 - A5, \field Surface 1 Name + A6, \field Surface 1 Name \begin-extensible \note Radiant energy may be distributed to specific surfaces \type object-list \object-list AllHeatTranSurfNames - N8, \field Fraction of Radiant Energy to Surface 1 + N10, \field Fraction of Radiant Energy to Surface 1 \type real \minimum 0 \maximum 1 - A6, \field Surface 2 Name + A7, \field Surface 2 Name \type object-list \object-list AllHeatTranSurfNames - N9, \field Fraction of Radiant Energy to Surface 2 + N11, \field Fraction of Radiant Energy to Surface 2 \type real \minimum 0 \maximum 1 - A7, \field Surface 3 Name + A8, \field Surface 3 Name \type object-list \object-list AllHeatTranSurfNames - N10, \field Fraction of Radiant Energy to Surface 3 + N12, \field Fraction of Radiant Energy to Surface 3 \type real \minimum 0 \maximum 1 - A8, \field Surface 4 Name + A9, \field Surface 4 Name \type object-list \object-list AllHeatTranSurfNames - N11, \field Fraction of Radiant Energy to Surface 4 + N13, \field Fraction of Radiant Energy to Surface 4 \type real \minimum 0 \maximum 1 - A9, \field Surface 5 Name + A10, \field Surface 5 Name \type object-list \object-list AllHeatTranSurfNames - N12, \field Fraction of Radiant Energy to Surface 5 + N14, \field Fraction of Radiant Energy to Surface 5 \type real \minimum 0 \maximum 1 - A10, \field Surface 6 Name + A11, \field Surface 6 Name \type object-list \object-list AllHeatTranSurfNames - N13, \field Fraction of Radiant Energy to Surface 6 + N15, \field Fraction of Radiant Energy to Surface 6 \type real \minimum 0 \maximum 1 - A11, \field Surface 7 Name + A12, \field Surface 7 Name \type object-list \object-list AllHeatTranSurfNames - N14, \field Fraction of Radiant Energy to Surface 7 + N16, \field Fraction of Radiant Energy to Surface 7 \type real \minimum 0 \maximum 1 - A12, \field Surface 8 Name + A13, \field Surface 8 Name \type object-list \object-list AllHeatTranSurfNames - N15, \field Fraction of Radiant Energy to Surface 8 + N17, \field Fraction of Radiant Energy to Surface 8 \type real \minimum 0 \maximum 1 - A13, \field Surface 9 Name + A14, \field Surface 9 Name \type object-list \object-list AllHeatTranSurfNames - N16, \field Fraction of Radiant Energy to Surface 9 + N18, \field Fraction of Radiant Energy to Surface 9 \type real \minimum 0 \maximum 1 - A14, \field Surface 10 Name + A15, \field Surface 10 Name \type object-list \object-list AllHeatTranSurfNames - N17, \field Fraction of Radiant Energy to Surface 10 + N19, \field Fraction of Radiant Energy to Surface 10 \type real \minimum 0 \maximum 1 - A15, \field Surface 11 Name + A16, \field Surface 11 Name \type object-list \object-list AllHeatTranSurfNames - N18, \field Fraction of Radiant Energy to Surface 11 + N20, \field Fraction of Radiant Energy to Surface 11 \type real \minimum 0 \maximum 1 - A16, \field Surface 12 Name + A17, \field Surface 12 Name \type object-list \object-list AllHeatTranSurfNames - N19, \field Fraction of Radiant Energy to Surface 12 + N21, \field Fraction of Radiant Energy to Surface 12 \type real \minimum 0 \maximum 1 - A17, \field Surface 13 Name + A18, \field Surface 13 Name \type object-list \object-list AllHeatTranSurfNames - N20, \field Fraction of Radiant Energy to Surface 13 + N22, \field Fraction of Radiant Energy to Surface 13 \type real \minimum 0 \maximum 1 - A18, \field Surface 14 Name + A19, \field Surface 14 Name \type object-list \object-list AllHeatTranSurfNames - N21, \field Fraction of Radiant Energy to Surface 14 + N23, \field Fraction of Radiant Energy to Surface 14 \type real \minimum 0 \maximum 1 - A19, \field Surface 15 Name + A20, \field Surface 15 Name \type object-list \object-list AllHeatTranSurfNames - N22, \field Fraction of Radiant Energy to Surface 15 + N24, \field Fraction of Radiant Energy to Surface 15 \type real \minimum 0 \maximum 1 - A20, \field Surface 16 Name + A21, \field Surface 16 Name \type object-list \object-list AllHeatTranSurfNames - N23, \field Fraction of Radiant Energy to Surface 16 + N25, \field Fraction of Radiant Energy to Surface 16 \type real \minimum 0 \maximum 1 - A21, \field Surface 17 Name + A22, \field Surface 17 Name \type object-list \object-list AllHeatTranSurfNames - N24, \field Fraction of Radiant Energy to Surface 17 + N26, \field Fraction of Radiant Energy to Surface 17 \type real \minimum 0 \maximum 1 - A22, \field Surface 18 Name + A23, \field Surface 18 Name \type object-list \object-list AllHeatTranSurfNames - N25, \field Fraction of Radiant Energy to Surface 18 + N27, \field Fraction of Radiant Energy to Surface 18 \type real \minimum 0 \maximum 1 - A23, \field Surface 19 Name + A24, \field Surface 19 Name \type object-list \object-list AllHeatTranSurfNames - N26, \field Fraction of Radiant Energy to Surface 19 + N28, \field Fraction of Radiant Energy to Surface 19 \type real \minimum 0 \maximum 1 - A24, \field Surface 20 Name + A25, \field Surface 20 Name \type object-list \object-list AllHeatTranSurfNames - N27, \field Fraction of Radiant Energy to Surface 20 + N29, \field Fraction of Radiant Energy to Surface 20 \type real \minimum 0 \maximum 1 - A25, \field Surface 21 Name + A26, \field Surface 21 Name \type object-list \object-list AllHeatTranSurfNames - N28, \field Fraction of Radiant Energy to Surface 21 + N30, \field Fraction of Radiant Energy to Surface 21 \type real \minimum 0 \maximum 1 - A26, \field Surface 22 Name + A27, \field Surface 22 Name \type object-list \object-list AllHeatTranSurfNames - N29, \field Fraction of Radiant Energy to Surface 22 + N31, \field Fraction of Radiant Energy to Surface 22 \type real \minimum 0 \maximum 1 - A27, \field Surface 23 Name + A28, \field Surface 23 Name \type object-list \object-list AllHeatTranSurfNames - N30, \field Fraction of Radiant Energy to Surface 23 + N32, \field Fraction of Radiant Energy to Surface 23 \type real \minimum 0 \maximum 1 - A28, \field Surface 24 Name + A29, \field Surface 24 Name \type object-list \object-list AllHeatTranSurfNames - N31, \field Fraction of Radiant Energy to Surface 24 + N33, \field Fraction of Radiant Energy to Surface 24 \type real \minimum 0 \maximum 1 - A29, \field Surface 25 Name + A30, \field Surface 25 Name \type object-list \object-list AllHeatTranSurfNames - N32, \field Fraction of Radiant Energy to Surface 25 + N34, \field Fraction of Radiant Energy to Surface 25 \type real \minimum 0 \maximum 1 - A30, \field Surface 26 Name + A31, \field Surface 26 Name \type object-list \object-list AllHeatTranSurfNames - N33, \field Fraction of Radiant Energy to Surface 26 + N35, \field Fraction of Radiant Energy to Surface 26 \type real \minimum 0 \maximum 1 - A31, \field Surface 27 Name + A32, \field Surface 27 Name \type object-list \object-list AllHeatTranSurfNames - N34, \field Fraction of Radiant Energy to Surface 27 + N36, \field Fraction of Radiant Energy to Surface 27 \type real \minimum 0 \maximum 1 - A32, \field Surface 28 Name + A33, \field Surface 28 Name \type object-list \object-list AllHeatTranSurfNames - N35, \field Fraction of Radiant Energy to Surface 28 + N37, \field Fraction of Radiant Energy to Surface 28 \type real \minimum 0 \maximum 1 - A33, \field Surface 29 Name + A34, \field Surface 29 Name \type object-list \object-list AllHeatTranSurfNames - N36, \field Fraction of Radiant Energy to Surface 29 + N38, \field Fraction of Radiant Energy to Surface 29 \type real \minimum 0 \maximum 1 - A34, \field Surface 30 Name + A35, \field Surface 30 Name \type object-list \object-list AllHeatTranSurfNames - N37, \field Fraction of Radiant Energy to Surface 30 + N39, \field Fraction of Radiant Energy to Surface 30 \type real \minimum 0 \maximum 1 - A35, \field Surface 31 Name + A36, \field Surface 31 Name \type object-list \object-list AllHeatTranSurfNames - N38, \field Fraction of Radiant Energy to Surface 31 + N40, \field Fraction of Radiant Energy to Surface 31 \type real \minimum 0 \maximum 1 - A36, \field Surface 32 Name + A37, \field Surface 32 Name \type object-list \object-list AllHeatTranSurfNames - N39, \field Fraction of Radiant Energy to Surface 32 + N41, \field Fraction of Radiant Energy to Surface 32 \type real \minimum 0 \maximum 1 - A37, \field Surface 33 Name + A38, \field Surface 33 Name \type object-list \object-list AllHeatTranSurfNames - N40, \field Fraction of Radiant Energy to Surface 33 + N42, \field Fraction of Radiant Energy to Surface 33 \type real \minimum 0 \maximum 1 - A38, \field Surface 34 Name + A39, \field Surface 34 Name \type object-list \object-list AllHeatTranSurfNames - N41, \field Fraction of Radiant Energy to Surface 34 + N43, \field Fraction of Radiant Energy to Surface 34 \type real \minimum 0 \maximum 1 - A39, \field Surface 35 Name + A40, \field Surface 35 Name \type object-list \object-list AllHeatTranSurfNames - N42, \field Fraction of Radiant Energy to Surface 35 + N44, \field Fraction of Radiant Energy to Surface 35 \type real \minimum 0 \maximum 1 - A40, \field Surface 36 Name + A41, \field Surface 36 Name \type object-list \object-list AllHeatTranSurfNames - N43, \field Fraction of Radiant Energy to Surface 36 + N45, \field Fraction of Radiant Energy to Surface 36 \type real \minimum 0 \maximum 1 - A41, \field Surface 37 Name + A42, \field Surface 37 Name \type object-list \object-list AllHeatTranSurfNames - N44, \field Fraction of Radiant Energy to Surface 37 + N46, \field Fraction of Radiant Energy to Surface 37 \type real \minimum 0 \maximum 1 - A42, \field Surface 38 Name + A43, \field Surface 38 Name \type object-list \object-list AllHeatTranSurfNames - N45, \field Fraction of Radiant Energy to Surface 38 + N47, \field Fraction of Radiant Energy to Surface 38 \type real \minimum 0 \maximum 1 - A43, \field Surface 39 Name + A44, \field Surface 39 Name \type object-list \object-list AllHeatTranSurfNames - N46, \field Fraction of Radiant Energy to Surface 39 + N48, \field Fraction of Radiant Energy to Surface 39 \type real \minimum 0 \maximum 1 - A44, \field Surface 40 Name + A45, \field Surface 40 Name \type object-list \object-list AllHeatTranSurfNames - N47, \field Fraction of Radiant Energy to Surface 40 + N49, \field Fraction of Radiant Energy to Surface 40 \type real \minimum 0 \maximum 1 - A45, \field Surface 41 Name + A46, \field Surface 41 Name \type object-list \object-list AllHeatTranSurfNames - N48, \field Fraction of Radiant Energy to Surface 41 + N50, \field Fraction of Radiant Energy to Surface 41 \type real \minimum 0 \maximum 1 - A46, \field Surface 42 Name + A47, \field Surface 42 Name \type object-list \object-list AllHeatTranSurfNames - N49, \field Fraction of Radiant Energy to Surface 42 + N51, \field Fraction of Radiant Energy to Surface 42 \type real \minimum 0 \maximum 1 - A47, \field Surface 43 Name + A48, \field Surface 43 Name \type object-list \object-list AllHeatTranSurfNames - N50, \field Fraction of Radiant Energy to Surface 43 + N52, \field Fraction of Radiant Energy to Surface 43 \type real \minimum 0 \maximum 1 - A48, \field Surface 44 Name + A49, \field Surface 44 Name \type object-list \object-list AllHeatTranSurfNames - N51, \field Fraction of Radiant Energy to Surface 44 + N53, \field Fraction of Radiant Energy to Surface 44 \type real \minimum 0 \maximum 1 - A49, \field Surface 45 Name + A50, \field Surface 45 Name \type object-list \object-list AllHeatTranSurfNames - N52, \field Fraction of Radiant Energy to Surface 45 + N54, \field Fraction of Radiant Energy to Surface 45 \type real \minimum 0 \maximum 1 - A50, \field Surface 46 Name + A51, \field Surface 46 Name \type object-list \object-list AllHeatTranSurfNames - N53, \field Fraction of Radiant Energy to Surface 46 + N55, \field Fraction of Radiant Energy to Surface 46 \type real \minimum 0 \maximum 1 - A51, \field Surface 47 Name + A52, \field Surface 47 Name \type object-list \object-list AllHeatTranSurfNames - N54, \field Fraction of Radiant Energy to Surface 47 + N56, \field Fraction of Radiant Energy to Surface 47 \type real \minimum 0 \maximum 1 - A52, \field Surface 48 Name + A53, \field Surface 48 Name \type object-list \object-list AllHeatTranSurfNames - N55, \field Fraction of Radiant Energy to Surface 48 + N57, \field Fraction of Radiant Energy to Surface 48 \type real \minimum 0 \maximum 1 - A53, \field Surface 49 Name + A54, \field Surface 49 Name \type object-list \object-list AllHeatTranSurfNames - N56, \field Fraction of Radiant Energy to Surface 49 + N58, \field Fraction of Radiant Energy to Surface 49 \type real \minimum 0 \maximum 1 - A54, \field Surface 50 Name + A55, \field Surface 50 Name \type object-list \object-list AllHeatTranSurfNames - N57, \field Fraction of Radiant Energy to Surface 50 + N59, \field Fraction of Radiant Energy to Surface 50 \type real \minimum 0 \maximum 1 - A55, \field Surface 51 Name + A56, \field Surface 51 Name \type object-list \object-list AllHeatTranSurfNames - N58, \field Fraction of Radiant Energy to Surface 51 + N60, \field Fraction of Radiant Energy to Surface 51 \type real \minimum 0 \maximum 1 - A56, \field Surface 52 Name + A57, \field Surface 52 Name \type object-list \object-list AllHeatTranSurfNames - N59, \field Fraction of Radiant Energy to Surface 52 + N61, \field Fraction of Radiant Energy to Surface 52 \type real \minimum 0 \maximum 1 - A57, \field Surface 53 Name + A58, \field Surface 53 Name \type object-list \object-list AllHeatTranSurfNames - N60, \field Fraction of Radiant Energy to Surface 53 + N62, \field Fraction of Radiant Energy to Surface 53 \type real \minimum 0 \maximum 1 - A58, \field Surface 54 Name + A59, \field Surface 54 Name \type object-list \object-list AllHeatTranSurfNames - N61, \field Fraction of Radiant Energy to Surface 54 + N63, \field Fraction of Radiant Energy to Surface 54 \type real \minimum 0 \maximum 1 - A59, \field Surface 55 Name + A60, \field Surface 55 Name \type object-list \object-list AllHeatTranSurfNames - N62, \field Fraction of Radiant Energy to Surface 55 + N64, \field Fraction of Radiant Energy to Surface 55 \type real \minimum 0 \maximum 1 - A60, \field Surface 56 Name + A61, \field Surface 56 Name \type object-list \object-list AllHeatTranSurfNames - N63, \field Fraction of Radiant Energy to Surface 56 + N65, \field Fraction of Radiant Energy to Surface 56 \type real \minimum 0 \maximum 1 - A61, \field Surface 57 Name + A62, \field Surface 57 Name \type object-list \object-list AllHeatTranSurfNames - N64, \field Fraction of Radiant Energy to Surface 57 + N66, \field Fraction of Radiant Energy to Surface 57 \type real \minimum 0 \maximum 1 - A62, \field Surface 58 Name + A63, \field Surface 58 Name \type object-list \object-list AllHeatTranSurfNames - N65, \field Fraction of Radiant Energy to Surface 58 + N67, \field Fraction of Radiant Energy to Surface 58 \type real \minimum 0 \maximum 1 - A63, \field Surface 59 Name + A64, \field Surface 59 Name \type object-list \object-list AllHeatTranSurfNames - N66, \field Fraction of Radiant Energy to Surface 59 + N68, \field Fraction of Radiant Energy to Surface 59 \type real \minimum 0 \maximum 1 - A64, \field Surface 60 Name + A65, \field Surface 60 Name \type object-list \object-list AllHeatTranSurfNames - N67, \field Fraction of Radiant Energy to Surface 60 + N69, \field Fraction of Radiant Energy to Surface 60 \type real \minimum 0 \maximum 1 - A65, \field Surface 61 Name + A66, \field Surface 61 Name \type object-list \object-list AllHeatTranSurfNames - N68, \field Fraction of Radiant Energy to Surface 61 + N70, \field Fraction of Radiant Energy to Surface 61 \type real \minimum 0 \maximum 1 - A66, \field Surface 62 Name + A67, \field Surface 62 Name \type object-list \object-list AllHeatTranSurfNames - N69, \field Fraction of Radiant Energy to Surface 62 + N71, \field Fraction of Radiant Energy to Surface 62 \type real \minimum 0 \maximum 1 - A67, \field Surface 63 Name + A68, \field Surface 63 Name \type object-list \object-list AllHeatTranSurfNames - N70, \field Fraction of Radiant Energy to Surface 63 + N72, \field Fraction of Radiant Energy to Surface 63 \type real \minimum 0 \maximum 1 - A68, \field Surface 64 Name + A69, \field Surface 64 Name \type object-list \object-list AllHeatTranSurfNames - N71, \field Fraction of Radiant Energy to Surface 64 + N73, \field Fraction of Radiant Energy to Surface 64 \type real \minimum 0 \maximum 1 - A69, \field Surface 65 Name + A70, \field Surface 65 Name \type object-list \object-list AllHeatTranSurfNames - N72, \field Fraction of Radiant Energy to Surface 65 + N74, \field Fraction of Radiant Energy to Surface 65 \type real \minimum 0 \maximum 1 - A70, \field Surface 66 Name + A71, \field Surface 66 Name \type object-list \object-list AllHeatTranSurfNames - N73, \field Fraction of Radiant Energy to Surface 66 + N75, \field Fraction of Radiant Energy to Surface 66 \type real \minimum 0 \maximum 1 - A71, \field Surface 67 Name + A72, \field Surface 67 Name \type object-list \object-list AllHeatTranSurfNames - N74, \field Fraction of Radiant Energy to Surface 67 + N76, \field Fraction of Radiant Energy to Surface 67 \type real \minimum 0 \maximum 1 - A72, \field Surface 68 Name + A73, \field Surface 68 Name \type object-list \object-list AllHeatTranSurfNames - N75, \field Fraction of Radiant Energy to Surface 68 + N77, \field Fraction of Radiant Energy to Surface 68 \type real \minimum 0 \maximum 1 - A73, \field Surface 69 Name + A74, \field Surface 69 Name \type object-list \object-list AllHeatTranSurfNames - N76, \field Fraction of Radiant Energy to Surface 69 + N78, \field Fraction of Radiant Energy to Surface 69 \type real \minimum 0 \maximum 1 - A74, \field Surface 70 Name + A75, \field Surface 70 Name \type object-list \object-list AllHeatTranSurfNames - N77, \field Fraction of Radiant Energy to Surface 70 + N79, \field Fraction of Radiant Energy to Surface 70 \type real \minimum 0 \maximum 1 - A75, \field Surface 71 Name + A76, \field Surface 71 Name \type object-list \object-list AllHeatTranSurfNames - N78, \field Fraction of Radiant Energy to Surface 71 + N80, \field Fraction of Radiant Energy to Surface 71 \type real \minimum 0 \maximum 1 - A76, \field Surface 72 Name + A77, \field Surface 72 Name \type object-list \object-list AllHeatTranSurfNames - N79, \field Fraction of Radiant Energy to Surface 72 + N81, \field Fraction of Radiant Energy to Surface 72 \type real \minimum 0 \maximum 1 - A77, \field Surface 73 Name + A78, \field Surface 73 Name \type object-list \object-list AllHeatTranSurfNames - N80, \field Fraction of Radiant Energy to Surface 73 + N82, \field Fraction of Radiant Energy to Surface 73 \type real \minimum 0 \maximum 1 - A78, \field Surface 74 Name + A79, \field Surface 74 Name \type object-list \object-list AllHeatTranSurfNames - N81, \field Fraction of Radiant Energy to Surface 74 + N83, \field Fraction of Radiant Energy to Surface 74 \type real \minimum 0 \maximum 1 - A79, \field Surface 75 Name + A80, \field Surface 75 Name \type object-list \object-list AllHeatTranSurfNames - N82, \field Fraction of Radiant Energy to Surface 75 + N84, \field Fraction of Radiant Energy to Surface 75 \type real \minimum 0 \maximum 1 - A80, \field Surface 76 Name + A81, \field Surface 76 Name \type object-list \object-list AllHeatTranSurfNames - N83, \field Fraction of Radiant Energy to Surface 76 + N85, \field Fraction of Radiant Energy to Surface 76 \type real \minimum 0 \maximum 1 - A81, \field Surface 77 Name + A82, \field Surface 77 Name \type object-list \object-list AllHeatTranSurfNames - N84, \field Fraction of Radiant Energy to Surface 77 + N86, \field Fraction of Radiant Energy to Surface 77 \type real \minimum 0 \maximum 1 - A82, \field Surface 78 Name + A83, \field Surface 78 Name \type object-list \object-list AllHeatTranSurfNames - N85, \field Fraction of Radiant Energy to Surface 78 + N87, \field Fraction of Radiant Energy to Surface 78 \type real \minimum 0 \maximum 1 - A83, \field Surface 79 Name + A84, \field Surface 79 Name \type object-list \object-list AllHeatTranSurfNames - N86, \field Fraction of Radiant Energy to Surface 79 + N88, \field Fraction of Radiant Energy to Surface 79 \type real \minimum 0 \maximum 1 - A84, \field Surface 80 Name + A85, \field Surface 80 Name \type object-list \object-list AllHeatTranSurfNames - N87, \field Fraction of Radiant Energy to Surface 80 + N89, \field Fraction of Radiant Energy to Surface 80 \type real \minimum 0 \maximum 1 - A85, \field Surface 81 Name + A86, \field Surface 81 Name \type object-list \object-list AllHeatTranSurfNames - N88, \field Fraction of Radiant Energy to Surface 81 + N90, \field Fraction of Radiant Energy to Surface 81 \type real \minimum 0 \maximum 1 - A86, \field Surface 82 Name + A87, \field Surface 82 Name \type object-list \object-list AllHeatTranSurfNames - N89, \field Fraction of Radiant Energy to Surface 82 + N91, \field Fraction of Radiant Energy to Surface 82 \type real \minimum 0 \maximum 1 - A87, \field Surface 83 Name + A88, \field Surface 83 Name \type object-list \object-list AllHeatTranSurfNames - N90, \field Fraction of Radiant Energy to Surface 83 + N92, \field Fraction of Radiant Energy to Surface 83 \type real \minimum 0 \maximum 1 - A88, \field Surface 84 Name + A89, \field Surface 84 Name \type object-list \object-list AllHeatTranSurfNames - N91, \field Fraction of Radiant Energy to Surface 84 + N93, \field Fraction of Radiant Energy to Surface 84 \type real \minimum 0 \maximum 1 - A89, \field Surface 85 Name + A90, \field Surface 85 Name \type object-list \object-list AllHeatTranSurfNames - N92, \field Fraction of Radiant Energy to Surface 85 + N94, \field Fraction of Radiant Energy to Surface 85 \type real \minimum 0 \maximum 1 - A90, \field Surface 86 Name + A91, \field Surface 86 Name \type object-list \object-list AllHeatTranSurfNames - N93, \field Fraction of Radiant Energy to Surface 86 + N95, \field Fraction of Radiant Energy to Surface 86 \type real \minimum 0 \maximum 1 - A91, \field Surface 87 Name + A92, \field Surface 87 Name \type object-list \object-list AllHeatTranSurfNames - N94, \field Fraction of Radiant Energy to Surface 87 + N96, \field Fraction of Radiant Energy to Surface 87 \type real \minimum 0 \maximum 1 - A92, \field Surface 88 Name + A93, \field Surface 88 Name \type object-list \object-list AllHeatTranSurfNames - N95, \field Fraction of Radiant Energy to Surface 88 + N97, \field Fraction of Radiant Energy to Surface 88 \type real \minimum 0 \maximum 1 - A93, \field Surface 89 Name + A94, \field Surface 89 Name \type object-list \object-list AllHeatTranSurfNames - N96, \field Fraction of Radiant Energy to Surface 89 + N98, \field Fraction of Radiant Energy to Surface 89 \type real \minimum 0 \maximum 1 - A94, \field Surface 90 Name + A95, \field Surface 90 Name \type object-list \object-list AllHeatTranSurfNames - N97, \field Fraction of Radiant Energy to Surface 90 + N99, \field Fraction of Radiant Energy to Surface 90 \type real \minimum 0 \maximum 1 - A95, \field Surface 91 Name + A96, \field Surface 91 Name \type object-list \object-list AllHeatTranSurfNames - N98, \field Fraction of Radiant Energy to Surface 91 + N100, \field Fraction of Radiant Energy to Surface 91 \type real \minimum 0 \maximum 1 - A96, \field Surface 92 Name + A97, \field Surface 92 Name \type object-list \object-list AllHeatTranSurfNames - N99, \field Fraction of Radiant Energy to Surface 92 + N101, \field Fraction of Radiant Energy to Surface 92 \type real \minimum 0 \maximum 1 - A97, \field Surface 93 Name + A98, \field Surface 93 Name \type object-list \object-list AllHeatTranSurfNames - N100, \field Fraction of Radiant Energy to Surface 93 + N102, \field Fraction of Radiant Energy to Surface 93 \type real \minimum 0 \maximum 1 - A98, \field Surface 94 Name + A99, \field Surface 94 Name \type object-list \object-list AllHeatTranSurfNames - N101, \field Fraction of Radiant Energy to Surface 94 + N103, \field Fraction of Radiant Energy to Surface 94 \type real \minimum 0 \maximum 1 - A99, \field Surface 95 Name + A100, \field Surface 95 Name \type object-list \object-list AllHeatTranSurfNames - N102, \field Fraction of Radiant Energy to Surface 95 + N104, \field Fraction of Radiant Energy to Surface 95 \type real \minimum 0 \maximum 1 - A100, \field Surface 96 Name + A101, \field Surface 96 Name \type object-list \object-list AllHeatTranSurfNames - N103, \field Fraction of Radiant Energy to Surface 96 + N105, \field Fraction of Radiant Energy to Surface 96 \type real \minimum 0 \maximum 1 - A101, \field Surface 97 Name + A102, \field Surface 97 Name \type object-list \object-list AllHeatTranSurfNames - N104, \field Fraction of Radiant Energy to Surface 97 + N106, \field Fraction of Radiant Energy to Surface 97 \type real \minimum 0 \maximum 1 - A102, \field Surface 98 Name + A103, \field Surface 98 Name \type object-list \object-list AllHeatTranSurfNames - N105, \field Fraction of Radiant Energy to Surface 98 + N107, \field Fraction of Radiant Energy to Surface 98 \type real \minimum 0 \maximum 1 - A103, \field Surface 99 Name + A104, \field Surface 99 Name \type object-list \object-list AllHeatTranSurfNames - N106, \field Fraction of Radiant Energy to Surface 99 + N108, \field Fraction of Radiant Energy to Surface 99 \type real \minimum 0 \maximum 1 - A104, \field Surface 100 Name + A105, \field Surface 100 Name \type object-list \object-list AllHeatTranSurfNames - N107; \field Fraction of Radiant Energy to Surface 100 + N109; \field Fraction of Radiant Energy to Surface 100 \type real \minimum 0 \maximum 1 @@ -33274,729 +33560,762 @@ ZoneHVAC:Baseboard:RadiantConvective:Steam, A4, \field Outlet Node Name \required-field \type node - N1, \field Degree of SubCooling + A5 , \field Heating Design Capacity Method + \required-field + \type choice + \key HeatingDesignCapacity + \key CapacityPerFloorArea + \key FractionOfAutosizedHeatingCapacity + \default HeatingDesignCapacity + \note Enter the method used to determine the heating design capacity. + \note HeatingDesignCapacity = > selected when the design heating capacity value or autosize + \note is specified. CapacityPerFloorArea = > selected when the design heating capacity is + \note determine from user specified heating capacity per floor area and zone floor area. + \note FractionOfAutosizedHeatingCapacity = > is selected when the design heating capacity is + \note determined from a user specified fraction and the auto-sized design heating capacity. + N1 , \field Heating Design Capacity + \type real + \units W + \minimum 0.0 + \autosizable + \ip-units W + \default autosize + \note Enter the design heating capacity.Required field when the heating design capacity method + \note HeatingDesignCapacity. + N2 , \field Heating Design Capacity Per Floor Area + \type real + \minimum 0.0 + \note Enter the heating design capacity per zone floor area.Required field when the heating design + \note capacity method field is CapacityPerFloorArea. + N3 , \field Fraction of Autosized Heating Design Capacity{ -} + \type real + \minimum 0.0 + \default 1.0 + \note Enter the fraction of auto - sized heating design capacity.Required field when capacity the + \note heating design capacity method field is FractionOfAutosizedHeatingCapacity. + N4, \field Degree of SubCooling \type real \minimum 1.0 \default 5.0 \units C - N2, \field Maximum Steam Flow Rate + N5, \field Maximum Steam Flow Rate \required-field \type real \autosizable \minimum> 0.0 \units m3/s - N3, \field Convergence Tolerance + N6, \field Convergence Tolerance \type real \minimum> 0.0 \default 0.001 - N4, \field Fraction Radiant + N7, \field Fraction Radiant \required-field \type real \minimum 0 \maximum 1 - N5, \field Fraction of Radiant Energy Incident on People + N8, \field Fraction of Radiant Energy Incident on People \type real \minimum 0 \maximum 1 - A5, \field Surface 1 Name + A6, \field Surface 1 Name \begin-extensible \note Radiant energy may be distributed to specific surfaces \type object-list \object-list AllHeatTranSurfNames - N6, \field Fraction of Radiant Energy to Surface 1 + N9, \field Fraction of Radiant Energy to Surface 1 \type real \minimum 0 \maximum 1 - A6, \field Surface 2 Name + A7, \field Surface 2 Name \type object-list \object-list AllHeatTranSurfNames - N7, \field Fraction of Radiant Energy to Surface 2 + N10, \field Fraction of Radiant Energy to Surface 2 \type real \minimum 0 \maximum 1 - A7, \field Surface 3 Name + A8, \field Surface 3 Name \type object-list \object-list AllHeatTranSurfNames - N8, \field Fraction of Radiant Energy to Surface 3 + N11, \field Fraction of Radiant Energy to Surface 3 \type real \minimum 0 \maximum 1 - A8, \field Surface 4 Name + A9, \field Surface 4 Name \type object-list \object-list AllHeatTranSurfNames - N9, \field Fraction of Radiant Energy to Surface 4 + N12, \field Fraction of Radiant Energy to Surface 4 \type real \minimum 0 \maximum 1 - A9, \field Surface 5 Name + A10, \field Surface 5 Name \type object-list \object-list AllHeatTranSurfNames - N10, \field Fraction of Radiant Energy to Surface 5 + N13, \field Fraction of Radiant Energy to Surface 5 \type real \minimum 0 \maximum 1 - A10, \field Surface 6 Name + A11, \field Surface 6 Name \type object-list \object-list AllHeatTranSurfNames - N11, \field Fraction of Radiant Energy to Surface 6 + N14, \field Fraction of Radiant Energy to Surface 6 \type real \minimum 0 \maximum 1 - A11, \field Surface 7 Name + A12, \field Surface 7 Name \type object-list \object-list AllHeatTranSurfNames - N12, \field Fraction of Radiant Energy to Surface 7 + N15, \field Fraction of Radiant Energy to Surface 7 \type real \minimum 0 \maximum 1 - A12, \field Surface 8 Name + A13, \field Surface 8 Name \type object-list \object-list AllHeatTranSurfNames - N13, \field Fraction of Radiant Energy to Surface 8 + N16, \field Fraction of Radiant Energy to Surface 8 \type real \minimum 0 \maximum 1 - A13, \field Surface 9 Name + A14, \field Surface 9 Name \type object-list \object-list AllHeatTranSurfNames - N14, \field Fraction of Radiant Energy to Surface 9 + N17, \field Fraction of Radiant Energy to Surface 9 \type real \minimum 0 \maximum 1 - A14, \field Surface 10 Name + A15, \field Surface 10 Name \type object-list \object-list AllHeatTranSurfNames - N15, \field Fraction of Radiant Energy to Surface 10 + N18, \field Fraction of Radiant Energy to Surface 10 \type real \minimum 0 \maximum 1 - A15, \field Surface 11 Name + A16, \field Surface 11 Name \type object-list \object-list AllHeatTranSurfNames - N16, \field Fraction of Radiant Energy to Surface 11 + N19, \field Fraction of Radiant Energy to Surface 11 \type real \minimum 0 \maximum 1 - A16, \field Surface 12 Name + A17, \field Surface 12 Name \type object-list \object-list AllHeatTranSurfNames - N17, \field Fraction of Radiant Energy to Surface 12 + N20, \field Fraction of Radiant Energy to Surface 12 \type real \minimum 0 \maximum 1 - A17, \field Surface 13 Name + A18, \field Surface 13 Name \type object-list \object-list AllHeatTranSurfNames - N18, \field Fraction of Radiant Energy to Surface 13 + N21, \field Fraction of Radiant Energy to Surface 13 \type real \minimum 0 \maximum 1 - A18, \field Surface 14 Name + A19, \field Surface 14 Name \type object-list \object-list AllHeatTranSurfNames - N19, \field Fraction of Radiant Energy to Surface 14 + N22, \field Fraction of Radiant Energy to Surface 14 \type real \minimum 0 \maximum 1 - A19, \field Surface 15 Name + A20, \field Surface 15 Name \type object-list \object-list AllHeatTranSurfNames - N20, \field Fraction of Radiant Energy to Surface 15 + N23, \field Fraction of Radiant Energy to Surface 15 \type real \minimum 0 \maximum 1 - A20, \field Surface 16 Name + A21, \field Surface 16 Name \type object-list \object-list AllHeatTranSurfNames - N21, \field Fraction of Radiant Energy to Surface 16 + N24, \field Fraction of Radiant Energy to Surface 16 \type real \minimum 0 \maximum 1 - A21, \field Surface 17 Name + A22, \field Surface 17 Name \type object-list \object-list AllHeatTranSurfNames - N22, \field Fraction of Radiant Energy to Surface 17 + N25, \field Fraction of Radiant Energy to Surface 17 \type real \minimum 0 \maximum 1 - A22, \field Surface 18 Name + A23, \field Surface 18 Name \type object-list \object-list AllHeatTranSurfNames - N23, \field Fraction of Radiant Energy to Surface 18 + N26, \field Fraction of Radiant Energy to Surface 18 \type real \minimum 0 \maximum 1 - A23, \field Surface 19 Name + A24, \field Surface 19 Name \type object-list \object-list AllHeatTranSurfNames - N24, \field Fraction of Radiant Energy to Surface 19 + N27, \field Fraction of Radiant Energy to Surface 19 \type real \minimum 0 \maximum 1 - A24, \field Surface 20 Name + A25, \field Surface 20 Name \type object-list \object-list AllHeatTranSurfNames - N25, \field Fraction of Radiant Energy to Surface 20 + N28, \field Fraction of Radiant Energy to Surface 20 \type real \minimum 0 \maximum 1 - A25, \field Surface 21 Name + A26, \field Surface 21 Name \type object-list \object-list AllHeatTranSurfNames - N26, \field Fraction of Radiant Energy to Surface 21 + N29, \field Fraction of Radiant Energy to Surface 21 \type real \minimum 0 \maximum 1 - A26, \field Surface 22 Name + A27, \field Surface 22 Name \type object-list \object-list AllHeatTranSurfNames - N27, \field Fraction of Radiant Energy to Surface 22 + N30, \field Fraction of Radiant Energy to Surface 22 \type real \minimum 0 \maximum 1 - A27, \field Surface 23 Name + A28, \field Surface 23 Name \type object-list \object-list AllHeatTranSurfNames - N28, \field Fraction of Radiant Energy to Surface 23 + N31, \field Fraction of Radiant Energy to Surface 23 \type real \minimum 0 \maximum 1 - A28, \field Surface 24 Name + A29, \field Surface 24 Name \type object-list \object-list AllHeatTranSurfNames - N29, \field Fraction of Radiant Energy to Surface 24 + N32, \field Fraction of Radiant Energy to Surface 24 \type real \minimum 0 \maximum 1 - A29, \field Surface 25 Name + A30, \field Surface 25 Name \type object-list \object-list AllHeatTranSurfNames - N30, \field Fraction of Radiant Energy to Surface 25 + N33, \field Fraction of Radiant Energy to Surface 25 \type real \minimum 0 \maximum 1 - A30, \field Surface 26 Name + A31, \field Surface 26 Name \type object-list \object-list AllHeatTranSurfNames - N31, \field Fraction of Radiant Energy to Surface 26 + N34, \field Fraction of Radiant Energy to Surface 26 \type real \minimum 0 \maximum 1 - A31, \field Surface 27 Name + A32, \field Surface 27 Name \type object-list \object-list AllHeatTranSurfNames - N32, \field Fraction of Radiant Energy to Surface 27 + N35, \field Fraction of Radiant Energy to Surface 27 \type real \minimum 0 \maximum 1 - A32, \field Surface 28 Name + A33, \field Surface 28 Name \type object-list \object-list AllHeatTranSurfNames - N33, \field Fraction of Radiant Energy to Surface 28 + N36, \field Fraction of Radiant Energy to Surface 28 \type real \minimum 0 \maximum 1 - A33, \field Surface 29 Name + A34, \field Surface 29 Name \type object-list \object-list AllHeatTranSurfNames - N34, \field Fraction of Radiant Energy to Surface 29 + N37, \field Fraction of Radiant Energy to Surface 29 \type real \minimum 0 \maximum 1 - A34, \field Surface 30 Name + A35, \field Surface 30 Name \type object-list \object-list AllHeatTranSurfNames - N35, \field Fraction of Radiant Energy to Surface 30 + N38, \field Fraction of Radiant Energy to Surface 30 \type real \minimum 0 \maximum 1 - A35, \field Surface 31 Name + A36, \field Surface 31 Name \type object-list \object-list AllHeatTranSurfNames - N36, \field Fraction of Radiant Energy to Surface 31 + N39, \field Fraction of Radiant Energy to Surface 31 \type real \minimum 0 \maximum 1 - A36, \field Surface 32 Name + A37, \field Surface 32 Name \type object-list \object-list AllHeatTranSurfNames - N37, \field Fraction of Radiant Energy to Surface 32 + N40, \field Fraction of Radiant Energy to Surface 32 \type real \minimum 0 \maximum 1 - A37, \field Surface 33 Name + A38, \field Surface 33 Name \type object-list \object-list AllHeatTranSurfNames - N38, \field Fraction of Radiant Energy to Surface 33 + N41, \field Fraction of Radiant Energy to Surface 33 \type real \minimum 0 \maximum 1 - A38, \field Surface 34 Name + A39, \field Surface 34 Name \type object-list \object-list AllHeatTranSurfNames - N39, \field Fraction of Radiant Energy to Surface 34 + N42, \field Fraction of Radiant Energy to Surface 34 \type real \minimum 0 \maximum 1 - A39, \field Surface 35 Name + A40, \field Surface 35 Name \type object-list \object-list AllHeatTranSurfNames - N40, \field Fraction of Radiant Energy to Surface 35 + N43, \field Fraction of Radiant Energy to Surface 35 \type real \minimum 0 \maximum 1 - A40, \field Surface 36 Name + A41, \field Surface 36 Name \type object-list \object-list AllHeatTranSurfNames - N41, \field Fraction of Radiant Energy to Surface 36 + N44, \field Fraction of Radiant Energy to Surface 36 \type real \minimum 0 \maximum 1 - A41, \field Surface 37 Name + A42, \field Surface 37 Name \type object-list \object-list AllHeatTranSurfNames - N42, \field Fraction of Radiant Energy to Surface 37 + N45, \field Fraction of Radiant Energy to Surface 37 \type real \minimum 0 \maximum 1 - A42, \field Surface 38 Name + A43, \field Surface 38 Name \type object-list \object-list AllHeatTranSurfNames - N43, \field Fraction of Radiant Energy to Surface 38 + N46, \field Fraction of Radiant Energy to Surface 38 \type real \minimum 0 \maximum 1 - A43, \field Surface 39 Name + A44, \field Surface 39 Name \type object-list \object-list AllHeatTranSurfNames - N44, \field Fraction of Radiant Energy to Surface 39 + N47, \field Fraction of Radiant Energy to Surface 39 \type real \minimum 0 \maximum 1 - A44, \field Surface 40 Name + A45, \field Surface 40 Name \type object-list \object-list AllHeatTranSurfNames - N45, \field Fraction of Radiant Energy to Surface 40 + N48, \field Fraction of Radiant Energy to Surface 40 \type real \minimum 0 \maximum 1 - A45, \field Surface 41 Name + A46, \field Surface 41 Name \type object-list \object-list AllHeatTranSurfNames - N46, \field Fraction of Radiant Energy to Surface 41 + N49, \field Fraction of Radiant Energy to Surface 41 \type real \minimum 0 \maximum 1 - A46, \field Surface 42 Name + A47, \field Surface 42 Name \type object-list \object-list AllHeatTranSurfNames - N47, \field Fraction of Radiant Energy to Surface 42 + N50, \field Fraction of Radiant Energy to Surface 42 \type real \minimum 0 \maximum 1 - A47, \field Surface 43 Name + A48, \field Surface 43 Name \type object-list \object-list AllHeatTranSurfNames - N48, \field Fraction of Radiant Energy to Surface 43 + N51, \field Fraction of Radiant Energy to Surface 43 \type real \minimum 0 \maximum 1 - A48, \field Surface 44 Name + A49, \field Surface 44 Name \type object-list \object-list AllHeatTranSurfNames - N49, \field Fraction of Radiant Energy to Surface 44 + N52, \field Fraction of Radiant Energy to Surface 44 \type real \minimum 0 \maximum 1 - A49, \field Surface 45 Name + A50, \field Surface 45 Name \type object-list \object-list AllHeatTranSurfNames - N50, \field Fraction of Radiant Energy to Surface 45 + N53, \field Fraction of Radiant Energy to Surface 45 \type real \minimum 0 \maximum 1 - A50, \field Surface 46 Name + A51, \field Surface 46 Name \type object-list \object-list AllHeatTranSurfNames - N51, \field Fraction of Radiant Energy to Surface 46 + N54, \field Fraction of Radiant Energy to Surface 46 \type real \minimum 0 \maximum 1 - A51, \field Surface 47 Name + A52, \field Surface 47 Name \type object-list \object-list AllHeatTranSurfNames - N52, \field Fraction of Radiant Energy to Surface 47 + N55, \field Fraction of Radiant Energy to Surface 47 \type real \minimum 0 \maximum 1 - A52, \field Surface 48 Name + A53, \field Surface 48 Name \type object-list \object-list AllHeatTranSurfNames - N53, \field Fraction of Radiant Energy to Surface 48 + N56, \field Fraction of Radiant Energy to Surface 48 \type real \minimum 0 \maximum 1 - A53, \field Surface 49 Name + A54, \field Surface 49 Name \type object-list \object-list AllHeatTranSurfNames - N54, \field Fraction of Radiant Energy to Surface 49 + N57, \field Fraction of Radiant Energy to Surface 49 \type real \minimum 0 \maximum 1 - A54, \field Surface 50 Name + A55, \field Surface 50 Name \type object-list \object-list AllHeatTranSurfNames - N55, \field Fraction of Radiant Energy to Surface 50 + N58, \field Fraction of Radiant Energy to Surface 50 \type real \minimum 0 \maximum 1 - A55, \field Surface 51 Name + A56, \field Surface 51 Name \type object-list \object-list AllHeatTranSurfNames - N56, \field Fraction of Radiant Energy to Surface 51 + N59, \field Fraction of Radiant Energy to Surface 51 \type real \minimum 0 \maximum 1 - A56, \field Surface 52 Name + A57, \field Surface 52 Name \type object-list \object-list AllHeatTranSurfNames - N57, \field Fraction of Radiant Energy to Surface 52 + N60, \field Fraction of Radiant Energy to Surface 52 \type real \minimum 0 \maximum 1 - A57, \field Surface 53 Name + A58, \field Surface 53 Name \type object-list \object-list AllHeatTranSurfNames - N58, \field Fraction of Radiant Energy to Surface 53 + N61, \field Fraction of Radiant Energy to Surface 53 \type real \minimum 0 \maximum 1 - A58, \field Surface 54 Name + A59, \field Surface 54 Name \type object-list \object-list AllHeatTranSurfNames - N59, \field Fraction of Radiant Energy to Surface 54 + N62, \field Fraction of Radiant Energy to Surface 54 \type real \minimum 0 \maximum 1 - A59, \field Surface 55 Name + A60, \field Surface 55 Name \type object-list \object-list AllHeatTranSurfNames - N60, \field Fraction of Radiant Energy to Surface 55 + N63, \field Fraction of Radiant Energy to Surface 55 \type real \minimum 0 \maximum 1 - A60, \field Surface 56 Name + A61, \field Surface 56 Name \type object-list \object-list AllHeatTranSurfNames - N61, \field Fraction of Radiant Energy to Surface 56 + N64, \field Fraction of Radiant Energy to Surface 56 \type real \minimum 0 \maximum 1 - A61, \field Surface 57 Name + A62, \field Surface 57 Name \type object-list \object-list AllHeatTranSurfNames - N62, \field Fraction of Radiant Energy to Surface 57 + N65, \field Fraction of Radiant Energy to Surface 57 \type real \minimum 0 \maximum 1 - A62, \field Surface 58 Name + A63, \field Surface 58 Name \type object-list \object-list AllHeatTranSurfNames - N63, \field Fraction of Radiant Energy to Surface 58 + N66, \field Fraction of Radiant Energy to Surface 58 \type real \minimum 0 \maximum 1 - A63, \field Surface 59 Name + A64, \field Surface 59 Name \type object-list \object-list AllHeatTranSurfNames - N64, \field Fraction of Radiant Energy to Surface 59 + N67, \field Fraction of Radiant Energy to Surface 59 \type real \minimum 0 \maximum 1 - A64, \field Surface 60 Name + A65, \field Surface 60 Name \type object-list \object-list AllHeatTranSurfNames - N65, \field Fraction of Radiant Energy to Surface 60 + N68, \field Fraction of Radiant Energy to Surface 60 \type real \minimum 0 \maximum 1 - A65, \field Surface 61 Name + A66, \field Surface 61 Name \type object-list \object-list AllHeatTranSurfNames - N66, \field Fraction of Radiant Energy to Surface 61 + N69, \field Fraction of Radiant Energy to Surface 61 \type real \minimum 0 \maximum 1 - A66, \field Surface 62 Name + A67, \field Surface 62 Name \type object-list \object-list AllHeatTranSurfNames - N67, \field Fraction of Radiant Energy to Surface 62 + N70, \field Fraction of Radiant Energy to Surface 62 \type real \minimum 0 \maximum 1 - A67, \field Surface 63 Name + A68, \field Surface 63 Name \type object-list \object-list AllHeatTranSurfNames - N68, \field Fraction of Radiant Energy to Surface 63 + N71, \field Fraction of Radiant Energy to Surface 63 \type real \minimum 0 \maximum 1 - A68, \field Surface 64 Name + A69, \field Surface 64 Name \type object-list \object-list AllHeatTranSurfNames - N69, \field Fraction of Radiant Energy to Surface 64 + N72, \field Fraction of Radiant Energy to Surface 64 \type real \minimum 0 \maximum 1 - A69, \field Surface 65 Name + A70, \field Surface 65 Name \type object-list \object-list AllHeatTranSurfNames - N70, \field Fraction of Radiant Energy to Surface 65 + N73, \field Fraction of Radiant Energy to Surface 65 \type real \minimum 0 \maximum 1 - A70, \field Surface 66 Name + A71, \field Surface 66 Name \type object-list \object-list AllHeatTranSurfNames - N71, \field Fraction of Radiant Energy to Surface 66 + N74, \field Fraction of Radiant Energy to Surface 66 \type real \minimum 0 \maximum 1 - A71, \field Surface 67 Name + A72, \field Surface 67 Name \type object-list \object-list AllHeatTranSurfNames - N72, \field Fraction of Radiant Energy to Surface 67 + N75, \field Fraction of Radiant Energy to Surface 67 \type real \minimum 0 \maximum 1 - A72, \field Surface 68 Name + A73, \field Surface 68 Name \type object-list \object-list AllHeatTranSurfNames - N73, \field Fraction of Radiant Energy to Surface 68 + N76, \field Fraction of Radiant Energy to Surface 68 \type real \minimum 0 \maximum 1 - A73, \field Surface 69 Name + A74, \field Surface 69 Name \type object-list \object-list AllHeatTranSurfNames - N74, \field Fraction of Radiant Energy to Surface 69 + N77, \field Fraction of Radiant Energy to Surface 69 \type real \minimum 0 \maximum 1 - A74, \field Surface 70 Name + A75, \field Surface 70 Name \type object-list \object-list AllHeatTranSurfNames - N75, \field Fraction of Radiant Energy to Surface 70 + N78, \field Fraction of Radiant Energy to Surface 70 \type real \minimum 0 \maximum 1 - A75, \field Surface 71 Name + A76, \field Surface 71 Name \type object-list \object-list AllHeatTranSurfNames - N76, \field Fraction of Radiant Energy to Surface 71 + N79, \field Fraction of Radiant Energy to Surface 71 \type real \minimum 0 \maximum 1 - A76, \field Surface 72 Name + A77, \field Surface 72 Name \type object-list \object-list AllHeatTranSurfNames - N77, \field Fraction of Radiant Energy to Surface 72 + N80, \field Fraction of Radiant Energy to Surface 72 \type real \minimum 0 \maximum 1 - A77, \field Surface 73 Name + A78, \field Surface 73 Name \type object-list \object-list AllHeatTranSurfNames - N78, \field Fraction of Radiant Energy to Surface 73 + N81, \field Fraction of Radiant Energy to Surface 73 \type real \minimum 0 \maximum 1 - A78, \field Surface 74 Name + A79, \field Surface 74 Name \type object-list \object-list AllHeatTranSurfNames - N79, \field Fraction of Radiant Energy to Surface 74 + N82, \field Fraction of Radiant Energy to Surface 74 \type real \minimum 0 \maximum 1 - A79, \field Surface 75 Name + A80, \field Surface 75 Name \type object-list \object-list AllHeatTranSurfNames - N80, \field Fraction of Radiant Energy to Surface 75 + N83, \field Fraction of Radiant Energy to Surface 75 \type real \minimum 0 \maximum 1 - A80, \field Surface 76 Name + A81, \field Surface 76 Name \type object-list \object-list AllHeatTranSurfNames - N81, \field Fraction of Radiant Energy to Surface 76 + N84, \field Fraction of Radiant Energy to Surface 76 \type real \minimum 0 \maximum 1 - A81, \field Surface 77 Name + A82, \field Surface 77 Name \type object-list \object-list AllHeatTranSurfNames - N82, \field Fraction of Radiant Energy to Surface 77 + N85, \field Fraction of Radiant Energy to Surface 77 \type real \minimum 0 \maximum 1 - A82, \field Surface 78 Name + A83, \field Surface 78 Name \type object-list \object-list AllHeatTranSurfNames - N83, \field Fraction of Radiant Energy to Surface 78 + N86, \field Fraction of Radiant Energy to Surface 78 \type real \minimum 0 \maximum 1 - A83, \field Surface 79 Name + A84, \field Surface 79 Name \type object-list \object-list AllHeatTranSurfNames - N84, \field Fraction of Radiant Energy to Surface 79 + N87, \field Fraction of Radiant Energy to Surface 79 \type real \minimum 0 \maximum 1 - A84, \field Surface 80 Name + A85, \field Surface 80 Name \type object-list \object-list AllHeatTranSurfNames - N85, \field Fraction of Radiant Energy to Surface 80 + N88, \field Fraction of Radiant Energy to Surface 80 \type real \minimum 0 \maximum 1 - A85, \field Surface 81 Name + A86, \field Surface 81 Name \type object-list \object-list AllHeatTranSurfNames - N86, \field Fraction of Radiant Energy to Surface 81 + N89, \field Fraction of Radiant Energy to Surface 81 \type real \minimum 0 \maximum 1 - A86, \field Surface 82 Name + A87, \field Surface 82 Name \type object-list \object-list AllHeatTranSurfNames - N87, \field Fraction of Radiant Energy to Surface 82 + N90, \field Fraction of Radiant Energy to Surface 82 \type real \minimum 0 \maximum 1 - A87, \field Surface 83 Name + A88, \field Surface 83 Name \type object-list \object-list AllHeatTranSurfNames - N88, \field Fraction of Radiant Energy to Surface 83 + N91, \field Fraction of Radiant Energy to Surface 83 \type real \minimum 0 \maximum 1 - A88, \field Surface 84 Name + A89, \field Surface 84 Name \type object-list \object-list AllHeatTranSurfNames - N89, \field Fraction of Radiant Energy to Surface 84 + N92, \field Fraction of Radiant Energy to Surface 84 \type real \minimum 0 \maximum 1 - A89, \field Surface 85 Name + A90, \field Surface 85 Name \type object-list \object-list AllHeatTranSurfNames - N90, \field Fraction of Radiant Energy to Surface 85 + N93, \field Fraction of Radiant Energy to Surface 85 \type real \minimum 0 \maximum 1 - A90, \field Surface 86 Name + A91, \field Surface 86 Name \type object-list \object-list AllHeatTranSurfNames - N91, \field Fraction of Radiant Energy to Surface 86 + N94, \field Fraction of Radiant Energy to Surface 86 \type real \minimum 0 \maximum 1 - A91, \field Surface 87 Name + A92, \field Surface 87 Name \type object-list \object-list AllHeatTranSurfNames - N92, \field Fraction of Radiant Energy to Surface 87 + N95, \field Fraction of Radiant Energy to Surface 87 \type real \minimum 0 \maximum 1 - A92, \field Surface 88 Name + A93, \field Surface 88 Name \type object-list \object-list AllHeatTranSurfNames - N93, \field Fraction of Radiant Energy to Surface 88 + N96, \field Fraction of Radiant Energy to Surface 88 \type real \minimum 0 \maximum 1 - A93, \field Surface 89 Name + A94, \field Surface 89 Name \type object-list \object-list AllHeatTranSurfNames - N94, \field Fraction of Radiant Energy to Surface 89 + N97, \field Fraction of Radiant Energy to Surface 89 \type real \minimum 0 \maximum 1 - A94, \field Surface 90 Name + A95, \field Surface 90 Name \type object-list \object-list AllHeatTranSurfNames - N95, \field Fraction of Radiant Energy to Surface 90 + N98, \field Fraction of Radiant Energy to Surface 90 \type real \minimum 0 \maximum 1 - A95, \field Surface 91 Name + A96, \field Surface 91 Name \type object-list \object-list AllHeatTranSurfNames - N96, \field Fraction of Radiant Energy to Surface 91 + N99, \field Fraction of Radiant Energy to Surface 91 \type real \minimum 0 \maximum 1 - A96, \field Surface 92 Name + A97, \field Surface 92 Name \type object-list \object-list AllHeatTranSurfNames - N97, \field Fraction of Radiant Energy to Surface 92 + N100, \field Fraction of Radiant Energy to Surface 92 \type real \minimum 0 \maximum 1 - A97, \field Surface 93 Name + A98, \field Surface 93 Name \type object-list \object-list AllHeatTranSurfNames - N98, \field Fraction of Radiant Energy to Surface 93 + N101, \field Fraction of Radiant Energy to Surface 93 \type real \minimum 0 \maximum 1 - A98, \field Surface 94 Name + A99, \field Surface 94 Name \type object-list \object-list AllHeatTranSurfNames - N99, \field Fraction of Radiant Energy to Surface 94 + N102, \field Fraction of Radiant Energy to Surface 94 \type real \minimum 0 \maximum 1 - A99, \field Surface 95 Name + A100, \field Surface 95 Name \type object-list \object-list AllHeatTranSurfNames - N100, \field Fraction of Radiant Energy to Surface 95 + N103, \field Fraction of Radiant Energy to Surface 95 \type real \minimum 0 \maximum 1 - A100, \field Surface 96 Name + A101, \field Surface 96 Name \type object-list \object-list AllHeatTranSurfNames - N101, \field Fraction of Radiant Energy to Surface 96 + N104, \field Fraction of Radiant Energy to Surface 96 \type real \minimum 0 \maximum 1 - A101, \field Surface 97 Name + A102, \field Surface 97 Name \type object-list \object-list AllHeatTranSurfNames - N102, \field Fraction of Radiant Energy to Surface 97 + N105, \field Fraction of Radiant Energy to Surface 97 \type real \minimum 0 \maximum 1 - A102, \field Surface 98 Name + A103, \field Surface 98 Name \type object-list \object-list AllHeatTranSurfNames - N103, \field Fraction of Radiant Energy to Surface 98 + N106, \field Fraction of Radiant Energy to Surface 98 \type real \minimum 0 \maximum 1 - A103, \field Surface 99 Name + A104, \field Surface 99 Name \type object-list \object-list AllHeatTranSurfNames - N104, \field Fraction of Radiant Energy to Surface 99 + N107, \field Fraction of Radiant Energy to Surface 99 \type real \minimum 0 \maximum 1 - A104, \field Surface 100 Name + A105, \field Surface 100 Name \type object-list \object-list AllHeatTranSurfNames - N105; \field Fraction of Radiant Energy to Surface 100 + N108; \field Fraction of Radiant Energy to Surface 100 \type real \minimum 0 \maximum 1 @@ -34013,724 +34332,752 @@ ZoneHVAC:Baseboard:RadiantConvective:Electric, \note If this field is blank, the system is always available. \type object-list \object-list ScheduleNames - N1 , \field Nominal Capacity + A3 , \field Heating Design Capacity Method \required-field + \type choice + \key HeatingDesignCapacity + \key CapacityPerFloorArea + \key FractionOfAutosizedHeatingCapacity + \default HeatingDesignCapacity + \note Enter the method used to determine the heating design capacity. + \note HeatingDesignCapacity = > selected when the design heating capacity value or autosize + \note is specified. CapacityPerFloorArea = > selected when the design heating capacity is + \note determine from user specified heating capacity per floor area and zone floor area. + \note FractionOfAutosizedHeatingCapacity = > is selected when the design heating capacity is + \note determined from a user specified fraction and the auto-sized design heating capacity. + N1 , \field Heating Design Capacity + \type real \units W + \minimum 0.0 \autosizable \ip-units W - N2 , \field Efficiency + \default autosize + \note Enter the design heating capacity.Required field when the heating design capacity method + \note HeatingDesignCapacity. + N2 , \field Heating Design Capacity Per Floor Area + \type real + \minimum 0.0 + \note Enter the heating design capacity per zone floor area.Required field when the heating design + \note capacity method field is CapacityPerFloorArea. + N3 , \field Fraction of Autosized Heating Design Capacity{ -} + \type real + \minimum 0.0 + \default 1.0 + \note Enter the fraction of auto - sized heating design capacity.Required field when capacity the + \note heating design capacity method field is FractionOfAutosizedHeatingCapacity. + N4 , \field Efficiency \required-field \maximum 1.0 \minimum> 0.0 \default 1.0 - N3, \field Fraction Radiant + N5, \field Fraction Radiant \required-field \type real \minimum 0 \maximum 1 - N4, \field Fraction of Radiant Energy Incident on People + N6, \field Fraction of Radiant Energy Incident on People \type real \minimum 0 \maximum 1 - A3, \field Surface 1 Name + A4, \field Surface 1 Name \begin-extensible \note Radiant energy may be distributed to specific surfaces \type object-list \object-list AllHeatTranSurfNames - N5, \field Fraction of Radiant Energy to Surface 1 + N7, \field Fraction of Radiant Energy to Surface 1 \type real \minimum 0 \maximum 1 - A4, \field Surface 2 Name + A5, \field Surface 2 Name \type object-list \object-list AllHeatTranSurfNames - N6, \field Fraction of Radiant Energy to Surface 2 + N8, \field Fraction of Radiant Energy to Surface 2 \type real \minimum 0 \maximum 1 - A5, \field Surface 3 Name + A6, \field Surface 3 Name \type object-list \object-list AllHeatTranSurfNames - N7, \field Fraction of Radiant Energy to Surface 3 + N9, \field Fraction of Radiant Energy to Surface 3 \type real \minimum 0 \maximum 1 - A6, \field Surface 4 Name + A7, \field Surface 4 Name \type object-list \object-list AllHeatTranSurfNames - N8, \field Fraction of Radiant Energy to Surface 4 + N10, \field Fraction of Radiant Energy to Surface 4 \type real \minimum 0 \maximum 1 - A7, \field Surface 5 Name + A8, \field Surface 5 Name \type object-list \object-list AllHeatTranSurfNames - N9, \field Fraction of Radiant Energy to Surface 5 + N11, \field Fraction of Radiant Energy to Surface 5 \type real \minimum 0 \maximum 1 - A8, \field Surface 6 Name + A9, \field Surface 6 Name \type object-list \object-list AllHeatTranSurfNames - N10, \field Fraction of Radiant Energy to Surface 6 + N12, \field Fraction of Radiant Energy to Surface 6 \type real \minimum 0 \maximum 1 - A9, \field Surface 7 Name + A10, \field Surface 7 Name \type object-list \object-list AllHeatTranSurfNames - N11, \field Fraction of Radiant Energy to Surface 7 + N13, \field Fraction of Radiant Energy to Surface 7 \type real \minimum 0 \maximum 1 - A10, \field Surface 8 Name + A11, \field Surface 8 Name \type object-list \object-list AllHeatTranSurfNames - N12, \field Fraction of Radiant Energy to Surface 8 + N14, \field Fraction of Radiant Energy to Surface 8 \type real \minimum 0 \maximum 1 - A11, \field Surface 9 Name + A12, \field Surface 9 Name \type object-list \object-list AllHeatTranSurfNames - N13, \field Fraction of Radiant Energy to Surface 9 + N15, \field Fraction of Radiant Energy to Surface 9 \type real \minimum 0 \maximum 1 - A12, \field Surface 10 Name + A13, \field Surface 10 Name \type object-list \object-list AllHeatTranSurfNames - N14, \field Fraction of Radiant Energy to Surface 10 + N16, \field Fraction of Radiant Energy to Surface 10 \type real \minimum 0 \maximum 1 - A13, \field Surface 11 Name + A14, \field Surface 11 Name \type object-list \object-list AllHeatTranSurfNames - N15, \field Fraction of Radiant Energy to Surface 11 + N17, \field Fraction of Radiant Energy to Surface 11 \type real \minimum 0 \maximum 1 - A14, \field Surface 12 Name + A15, \field Surface 12 Name \type object-list \object-list AllHeatTranSurfNames - N16, \field Fraction of Radiant Energy to Surface 12 + N18, \field Fraction of Radiant Energy to Surface 12 \type real \minimum 0 \maximum 1 - A15, \field Surface 13 Name + A16, \field Surface 13 Name \type object-list \object-list AllHeatTranSurfNames - N17, \field Fraction of Radiant Energy to Surface 13 + N19, \field Fraction of Radiant Energy to Surface 13 \type real \minimum 0 \maximum 1 - A16, \field Surface 14 Name + A17, \field Surface 14 Name \type object-list \object-list AllHeatTranSurfNames - N18, \field Fraction of Radiant Energy to Surface 14 + N20, \field Fraction of Radiant Energy to Surface 14 \type real \minimum 0 \maximum 1 - A17, \field Surface 15 Name + A18, \field Surface 15 Name \type object-list \object-list AllHeatTranSurfNames - N19, \field Fraction of Radiant Energy to Surface 15 + N21, \field Fraction of Radiant Energy to Surface 15 \type real \minimum 0 \maximum 1 - A18, \field Surface 16 Name + A19, \field Surface 16 Name \type object-list \object-list AllHeatTranSurfNames - N20, \field Fraction of Radiant Energy to Surface 16 + N22, \field Fraction of Radiant Energy to Surface 16 \type real \minimum 0 \maximum 1 - A19, \field Surface 17 Name + A20, \field Surface 17 Name \type object-list \object-list AllHeatTranSurfNames - N21, \field Fraction of Radiant Energy to Surface 17 + N23, \field Fraction of Radiant Energy to Surface 17 \type real \minimum 0 \maximum 1 - A20, \field Surface 18 Name + A21, \field Surface 18 Name \type object-list \object-list AllHeatTranSurfNames - N22, \field Fraction of Radiant Energy to Surface 18 + N24, \field Fraction of Radiant Energy to Surface 18 \type real \minimum 0 \maximum 1 - A21, \field Surface 19 Name + A22, \field Surface 19 Name \type object-list \object-list AllHeatTranSurfNames - N23, \field Fraction of Radiant Energy to Surface 19 + N25, \field Fraction of Radiant Energy to Surface 19 \type real \minimum 0 \maximum 1 - A22, \field Surface 20 Name + A23, \field Surface 20 Name \type object-list \object-list AllHeatTranSurfNames - N24, \field Fraction of Radiant Energy to Surface 20 + N26, \field Fraction of Radiant Energy to Surface 20 \type real \minimum 0 \maximum 1 - A23, \field Surface 21 Name + A24, \field Surface 21 Name \type object-list \object-list AllHeatTranSurfNames - N25, \field Fraction of Radiant Energy to Surface 21 + N27, \field Fraction of Radiant Energy to Surface 21 \type real \minimum 0 \maximum 1 - A24, \field Surface 22 Name + A25, \field Surface 22 Name \type object-list \object-list AllHeatTranSurfNames - N26, \field Fraction of Radiant Energy to Surface 22 + N28, \field Fraction of Radiant Energy to Surface 22 \type real \minimum 0 \maximum 1 - A25, \field Surface 23 Name + A26, \field Surface 23 Name \type object-list \object-list AllHeatTranSurfNames - N27, \field Fraction of Radiant Energy to Surface 23 + N29, \field Fraction of Radiant Energy to Surface 23 \type real \minimum 0 \maximum 1 - A26, \field Surface 24 Name + A27, \field Surface 24 Name \type object-list \object-list AllHeatTranSurfNames - N28, \field Fraction of Radiant Energy to Surface 24 + N30, \field Fraction of Radiant Energy to Surface 24 \type real \minimum 0 \maximum 1 - A27, \field Surface 25 Name + A28, \field Surface 25 Name \type object-list \object-list AllHeatTranSurfNames - N29, \field Fraction of Radiant Energy to Surface 25 + N31, \field Fraction of Radiant Energy to Surface 25 \type real \minimum 0 \maximum 1 - A28, \field Surface 26 Name + A29, \field Surface 26 Name \type object-list \object-list AllHeatTranSurfNames - N30, \field Fraction of Radiant Energy to Surface 26 + N32, \field Fraction of Radiant Energy to Surface 26 \type real \minimum 0 \maximum 1 - A29, \field Surface 27 Name + A30, \field Surface 27 Name \type object-list \object-list AllHeatTranSurfNames - N31, \field Fraction of Radiant Energy to Surface 27 + N33, \field Fraction of Radiant Energy to Surface 27 \type real \minimum 0 \maximum 1 - A30, \field Surface 28 Name + A31, \field Surface 28 Name \type object-list \object-list AllHeatTranSurfNames - N32, \field Fraction of Radiant Energy to Surface 28 + N34, \field Fraction of Radiant Energy to Surface 28 \type real \minimum 0 \maximum 1 - A31, \field Surface 29 Name + A32, \field Surface 29 Name \type object-list \object-list AllHeatTranSurfNames - N33, \field Fraction of Radiant Energy to Surface 29 + N35, \field Fraction of Radiant Energy to Surface 29 \type real \minimum 0 \maximum 1 - A32, \field Surface 30 Name + A33, \field Surface 30 Name \type object-list \object-list AllHeatTranSurfNames - N34, \field Fraction of Radiant Energy to Surface 30 + N36, \field Fraction of Radiant Energy to Surface 30 \type real \minimum 0 \maximum 1 - A33, \field Surface 31 Name + A34, \field Surface 31 Name \type object-list \object-list AllHeatTranSurfNames - N35, \field Fraction of Radiant Energy to Surface 31 + N37, \field Fraction of Radiant Energy to Surface 31 \type real \minimum 0 \maximum 1 - A34, \field Surface 32 Name + A35, \field Surface 32 Name \type object-list \object-list AllHeatTranSurfNames - N36, \field Fraction of Radiant Energy to Surface 32 + N38, \field Fraction of Radiant Energy to Surface 32 \type real \minimum 0 \maximum 1 - A35, \field Surface 33 Name + A36, \field Surface 33 Name \type object-list \object-list AllHeatTranSurfNames - N37, \field Fraction of Radiant Energy to Surface 33 + N39, \field Fraction of Radiant Energy to Surface 33 \type real \minimum 0 \maximum 1 - A36, \field Surface 34 Name + A37, \field Surface 34 Name \type object-list \object-list AllHeatTranSurfNames - N38, \field Fraction of Radiant Energy to Surface 34 + N40, \field Fraction of Radiant Energy to Surface 34 \type real \minimum 0 \maximum 1 - A37, \field Surface 35 Name + A38, \field Surface 35 Name \type object-list \object-list AllHeatTranSurfNames - N39, \field Fraction of Radiant Energy to Surface 35 + N41, \field Fraction of Radiant Energy to Surface 35 \type real \minimum 0 \maximum 1 - A38, \field Surface 36 Name + A39, \field Surface 36 Name \type object-list \object-list AllHeatTranSurfNames - N40, \field Fraction of Radiant Energy to Surface 36 + N42, \field Fraction of Radiant Energy to Surface 36 \type real \minimum 0 \maximum 1 - A39, \field Surface 37 Name + A40, \field Surface 37 Name \type object-list \object-list AllHeatTranSurfNames - N41, \field Fraction of Radiant Energy to Surface 37 + N43, \field Fraction of Radiant Energy to Surface 37 \type real \minimum 0 \maximum 1 - A40, \field Surface 38 Name + A41, \field Surface 38 Name \type object-list \object-list AllHeatTranSurfNames - N42, \field Fraction of Radiant Energy to Surface 38 + N44, \field Fraction of Radiant Energy to Surface 38 \type real \minimum 0 \maximum 1 - A41, \field Surface 39 Name + A42, \field Surface 39 Name \type object-list \object-list AllHeatTranSurfNames - N43, \field Fraction of Radiant Energy to Surface 39 + N45, \field Fraction of Radiant Energy to Surface 39 \type real \minimum 0 \maximum 1 - A42, \field Surface 40 Name + A43, \field Surface 40 Name \type object-list \object-list AllHeatTranSurfNames - N44, \field Fraction of Radiant Energy to Surface 40 + N46, \field Fraction of Radiant Energy to Surface 40 \type real \minimum 0 \maximum 1 - A43, \field Surface 41 Name + A44, \field Surface 41 Name \type object-list \object-list AllHeatTranSurfNames - N45, \field Fraction of Radiant Energy to Surface 41 + N47, \field Fraction of Radiant Energy to Surface 41 \type real \minimum 0 \maximum 1 - A44, \field Surface 42 Name + A45, \field Surface 42 Name \type object-list \object-list AllHeatTranSurfNames - N46, \field Fraction of Radiant Energy to Surface 42 + N48, \field Fraction of Radiant Energy to Surface 42 \type real \minimum 0 \maximum 1 - A45, \field Surface 43 Name + A46, \field Surface 43 Name \type object-list \object-list AllHeatTranSurfNames - N47, \field Fraction of Radiant Energy to Surface 43 + N49, \field Fraction of Radiant Energy to Surface 43 \type real \minimum 0 \maximum 1 - A46, \field Surface 44 Name + A47, \field Surface 44 Name \type object-list \object-list AllHeatTranSurfNames - N48, \field Fraction of Radiant Energy to Surface 44 + N50, \field Fraction of Radiant Energy to Surface 44 \type real \minimum 0 \maximum 1 - A47, \field Surface 45 Name + A48, \field Surface 45 Name \type object-list \object-list AllHeatTranSurfNames - N49, \field Fraction of Radiant Energy to Surface 45 + N51, \field Fraction of Radiant Energy to Surface 45 \type real \minimum 0 \maximum 1 - A48, \field Surface 46 Name + A49, \field Surface 46 Name \type object-list \object-list AllHeatTranSurfNames - N50, \field Fraction of Radiant Energy to Surface 46 + N52, \field Fraction of Radiant Energy to Surface 46 \type real \minimum 0 \maximum 1 - A49, \field Surface 47 Name + A50, \field Surface 47 Name \type object-list \object-list AllHeatTranSurfNames - N51, \field Fraction of Radiant Energy to Surface 47 + N53, \field Fraction of Radiant Energy to Surface 47 \type real \minimum 0 \maximum 1 - A50, \field Surface 48 Name + A51, \field Surface 48 Name \type object-list \object-list AllHeatTranSurfNames - N52, \field Fraction of Radiant Energy to Surface 48 + N54, \field Fraction of Radiant Energy to Surface 48 \type real \minimum 0 \maximum 1 - A51, \field Surface 49 Name + A52, \field Surface 49 Name \type object-list \object-list AllHeatTranSurfNames - N53, \field Fraction of Radiant Energy to Surface 49 + N55, \field Fraction of Radiant Energy to Surface 49 \type real \minimum 0 \maximum 1 - A52, \field Surface 50 Name + A53, \field Surface 50 Name \type object-list \object-list AllHeatTranSurfNames - N54, \field Fraction of Radiant Energy to Surface 50 + N56, \field Fraction of Radiant Energy to Surface 50 \type real \minimum 0 \maximum 1 - A53, \field Surface 51 Name + A54, \field Surface 51 Name \type object-list \object-list AllHeatTranSurfNames - N55, \field Fraction of Radiant Energy to Surface 51 + N57, \field Fraction of Radiant Energy to Surface 51 \type real \minimum 0 \maximum 1 - A54, \field Surface 52 Name + A55, \field Surface 52 Name \type object-list \object-list AllHeatTranSurfNames - N56, \field Fraction of Radiant Energy to Surface 52 + N58, \field Fraction of Radiant Energy to Surface 52 \type real \minimum 0 \maximum 1 - A55, \field Surface 53 Name + A56, \field Surface 53 Name \type object-list \object-list AllHeatTranSurfNames - N57, \field Fraction of Radiant Energy to Surface 53 + N59, \field Fraction of Radiant Energy to Surface 53 \type real \minimum 0 \maximum 1 - A56, \field Surface 54 Name + A57, \field Surface 54 Name \type object-list \object-list AllHeatTranSurfNames - N58, \field Fraction of Radiant Energy to Surface 54 + N60, \field Fraction of Radiant Energy to Surface 54 \type real \minimum 0 \maximum 1 - A57, \field Surface 55 Name + A58, \field Surface 55 Name \type object-list \object-list AllHeatTranSurfNames - N59, \field Fraction of Radiant Energy to Surface 55 + N61, \field Fraction of Radiant Energy to Surface 55 \type real \minimum 0 \maximum 1 - A58, \field Surface 56 Name + A59, \field Surface 56 Name \type object-list \object-list AllHeatTranSurfNames - N60, \field Fraction of Radiant Energy to Surface 56 + N62, \field Fraction of Radiant Energy to Surface 56 \type real \minimum 0 \maximum 1 - A59, \field Surface 57 Name + A60, \field Surface 57 Name \type object-list \object-list AllHeatTranSurfNames - N61, \field Fraction of Radiant Energy to Surface 57 + N63, \field Fraction of Radiant Energy to Surface 57 \type real \minimum 0 \maximum 1 - A60, \field Surface 58 Name + A61, \field Surface 58 Name \type object-list \object-list AllHeatTranSurfNames - N62, \field Fraction of Radiant Energy to Surface 58 + N64, \field Fraction of Radiant Energy to Surface 58 \type real \minimum 0 \maximum 1 - A61, \field Surface 59 Name + A62, \field Surface 59 Name \type object-list \object-list AllHeatTranSurfNames - N63, \field Fraction of Radiant Energy to Surface 59 + N65, \field Fraction of Radiant Energy to Surface 59 \type real \minimum 0 \maximum 1 - A62, \field Surface 60 Name + A63, \field Surface 60 Name \type object-list \object-list AllHeatTranSurfNames - N64, \field Fraction of Radiant Energy to Surface 60 + N66, \field Fraction of Radiant Energy to Surface 60 \type real \minimum 0 \maximum 1 - A63, \field Surface 61 Name + A64, \field Surface 61 Name \type object-list \object-list AllHeatTranSurfNames - N65, \field Fraction of Radiant Energy to Surface 61 + N67, \field Fraction of Radiant Energy to Surface 61 \type real \minimum 0 \maximum 1 - A64, \field Surface 62 Name + A65, \field Surface 62 Name \type object-list \object-list AllHeatTranSurfNames - N66, \field Fraction of Radiant Energy to Surface 62 + N68, \field Fraction of Radiant Energy to Surface 62 \type real \minimum 0 \maximum 1 - A65, \field Surface 63 Name + A66, \field Surface 63 Name \type object-list \object-list AllHeatTranSurfNames - N67, \field Fraction of Radiant Energy to Surface 63 + N69, \field Fraction of Radiant Energy to Surface 63 \type real \minimum 0 \maximum 1 - A66, \field Surface 64 Name + A67, \field Surface 64 Name \type object-list \object-list AllHeatTranSurfNames - N68, \field Fraction of Radiant Energy to Surface 64 + N70, \field Fraction of Radiant Energy to Surface 64 \type real \minimum 0 \maximum 1 - A67, \field Surface 65 Name + A68, \field Surface 65 Name \type object-list \object-list AllHeatTranSurfNames - N69, \field Fraction of Radiant Energy to Surface 65 + N71, \field Fraction of Radiant Energy to Surface 65 \type real \minimum 0 \maximum 1 - A68, \field Surface 66 Name + A69, \field Surface 66 Name \type object-list \object-list AllHeatTranSurfNames - N70, \field Fraction of Radiant Energy to Surface 66 + N72, \field Fraction of Radiant Energy to Surface 66 \type real \minimum 0 \maximum 1 - A69, \field Surface 67 Name + A70, \field Surface 67 Name \type object-list \object-list AllHeatTranSurfNames - N71, \field Fraction of Radiant Energy to Surface 67 + N73, \field Fraction of Radiant Energy to Surface 67 \type real \minimum 0 \maximum 1 - A70, \field Surface 68 Name + A71, \field Surface 68 Name \type object-list \object-list AllHeatTranSurfNames - N72, \field Fraction of Radiant Energy to Surface 68 + N74, \field Fraction of Radiant Energy to Surface 68 \type real \minimum 0 \maximum 1 - A71, \field Surface 69 Name + A72, \field Surface 69 Name \type object-list \object-list AllHeatTranSurfNames - N73, \field Fraction of Radiant Energy to Surface 69 + N75, \field Fraction of Radiant Energy to Surface 69 \type real \minimum 0 \maximum 1 - A72, \field Surface 70 Name + A73, \field Surface 70 Name \type object-list \object-list AllHeatTranSurfNames - N74, \field Fraction of Radiant Energy to Surface 70 + N76, \field Fraction of Radiant Energy to Surface 70 \type real \minimum 0 \maximum 1 - A73, \field Surface 71 Name + A74, \field Surface 71 Name \type object-list \object-list AllHeatTranSurfNames - N75, \field Fraction of Radiant Energy to Surface 71 + N77, \field Fraction of Radiant Energy to Surface 71 \type real \minimum 0 \maximum 1 - A74, \field Surface 72 Name + A75, \field Surface 72 Name \type object-list \object-list AllHeatTranSurfNames - N76, \field Fraction of Radiant Energy to Surface 72 + N78, \field Fraction of Radiant Energy to Surface 72 \type real \minimum 0 \maximum 1 - A75, \field Surface 73 Name + A76, \field Surface 73 Name \type object-list \object-list AllHeatTranSurfNames - N77, \field Fraction of Radiant Energy to Surface 73 + N79, \field Fraction of Radiant Energy to Surface 73 \type real \minimum 0 \maximum 1 - A76, \field Surface 74 Name + A77, \field Surface 74 Name \type object-list \object-list AllHeatTranSurfNames - N78, \field Fraction of Radiant Energy to Surface 74 + N80, \field Fraction of Radiant Energy to Surface 74 \type real \minimum 0 \maximum 1 - A77, \field Surface 75 Name + A78, \field Surface 75 Name \type object-list \object-list AllHeatTranSurfNames - N79, \field Fraction of Radiant Energy to Surface 75 + N81, \field Fraction of Radiant Energy to Surface 75 \type real \minimum 0 \maximum 1 - A78, \field Surface 76 Name + A79, \field Surface 76 Name \type object-list \object-list AllHeatTranSurfNames - N80, \field Fraction of Radiant Energy to Surface 76 + N82, \field Fraction of Radiant Energy to Surface 76 \type real \minimum 0 \maximum 1 - A79, \field Surface 77 Name + A80, \field Surface 77 Name \type object-list \object-list AllHeatTranSurfNames - N81, \field Fraction of Radiant Energy to Surface 77 + N83, \field Fraction of Radiant Energy to Surface 77 \type real \minimum 0 \maximum 1 - A80, \field Surface 78 Name + A81, \field Surface 78 Name \type object-list \object-list AllHeatTranSurfNames - N82, \field Fraction of Radiant Energy to Surface 78 + N84, \field Fraction of Radiant Energy to Surface 78 \type real \minimum 0 \maximum 1 - A81, \field Surface 79 Name + A82, \field Surface 79 Name \type object-list \object-list AllHeatTranSurfNames - N83, \field Fraction of Radiant Energy to Surface 79 + N85, \field Fraction of Radiant Energy to Surface 79 \type real \minimum 0 \maximum 1 - A82, \field Surface 80 Name + A83, \field Surface 80 Name \type object-list \object-list AllHeatTranSurfNames - N84, \field Fraction of Radiant Energy to Surface 80 + N86, \field Fraction of Radiant Energy to Surface 80 \type real \minimum 0 \maximum 1 - A83, \field Surface 81 Name + A84, \field Surface 81 Name \type object-list \object-list AllHeatTranSurfNames - N85, \field Fraction of Radiant Energy to Surface 81 + N87, \field Fraction of Radiant Energy to Surface 81 \type real \minimum 0 \maximum 1 - A84, \field Surface 82 Name + A85, \field Surface 82 Name \type object-list \object-list AllHeatTranSurfNames - N86, \field Fraction of Radiant Energy to Surface 82 + N88, \field Fraction of Radiant Energy to Surface 82 \type real \minimum 0 \maximum 1 - A85, \field Surface 83 Name + A86, \field Surface 83 Name \type object-list \object-list AllHeatTranSurfNames - N87, \field Fraction of Radiant Energy to Surface 83 + N89, \field Fraction of Radiant Energy to Surface 83 \type real \minimum 0 \maximum 1 - A86, \field Surface 84 Name + A87, \field Surface 84 Name \type object-list \object-list AllHeatTranSurfNames - N88, \field Fraction of Radiant Energy to Surface 84 + N90, \field Fraction of Radiant Energy to Surface 84 \type real \minimum 0 \maximum 1 - A87, \field Surface 85 Name + A88, \field Surface 85 Name \type object-list \object-list AllHeatTranSurfNames - N89, \field Fraction of Radiant Energy to Surface 85 + N91, \field Fraction of Radiant Energy to Surface 85 \type real \minimum 0 \maximum 1 - A88, \field Surface 86 Name + A89, \field Surface 86 Name \type object-list \object-list AllHeatTranSurfNames - N90, \field Fraction of Radiant Energy to Surface 86 + N92, \field Fraction of Radiant Energy to Surface 86 \type real \minimum 0 \maximum 1 - A89, \field Surface 87 Name + A90, \field Surface 87 Name \type object-list \object-list AllHeatTranSurfNames - N91, \field Fraction of Radiant Energy to Surface 87 + N93, \field Fraction of Radiant Energy to Surface 87 \type real \minimum 0 \maximum 1 - A90, \field Surface 88 Name + A91, \field Surface 88 Name \type object-list \object-list AllHeatTranSurfNames - N92, \field Fraction of Radiant Energy to Surface 88 + N94, \field Fraction of Radiant Energy to Surface 88 \type real \minimum 0 \maximum 1 - A91, \field Surface 89 Name + A92, \field Surface 89 Name \type object-list \object-list AllHeatTranSurfNames - N93, \field Fraction of Radiant Energy to Surface 89 + N95, \field Fraction of Radiant Energy to Surface 89 \type real \minimum 0 \maximum 1 - A92, \field Surface 90 Name + A93, \field Surface 90 Name \type object-list \object-list AllHeatTranSurfNames - N94, \field Fraction of Radiant Energy to Surface 90 + N96, \field Fraction of Radiant Energy to Surface 90 \type real \minimum 0 \maximum 1 - A93, \field Surface 91 Name + A94, \field Surface 91 Name \type object-list \object-list AllHeatTranSurfNames - N95, \field Fraction of Radiant Energy to Surface 91 + N97, \field Fraction of Radiant Energy to Surface 91 \type real \minimum 0 \maximum 1 - A94, \field Surface 92 Name + A95, \field Surface 92 Name \type object-list \object-list AllHeatTranSurfNames - N96, \field Fraction of Radiant Energy to Surface 92 + N98, \field Fraction of Radiant Energy to Surface 92 \type real \minimum 0 \maximum 1 - A95, \field Surface 93 Name + A96, \field Surface 93 Name \type object-list \object-list AllHeatTranSurfNames - N97, \field Fraction of Radiant Energy to Surface 93 + N99, \field Fraction of Radiant Energy to Surface 93 \type real \minimum 0 \maximum 1 - A96, \field Surface 94 Name + A97, \field Surface 94 Name \type object-list \object-list AllHeatTranSurfNames - N98, \field Fraction of Radiant Energy to Surface 94 + N100, \field Fraction of Radiant Energy to Surface 94 \type real \minimum 0 \maximum 1 - A97, \field Surface 95 Name + A98, \field Surface 95 Name \type object-list \object-list AllHeatTranSurfNames - N99, \field Fraction of Radiant Energy to Surface 95 + N101, \field Fraction of Radiant Energy to Surface 95 \type real \minimum 0 \maximum 1 - A98, \field Surface 96 Name + A99, \field Surface 96 Name \type object-list \object-list AllHeatTranSurfNames - N100, \field Fraction of Radiant Energy to Surface 96 + N102, \field Fraction of Radiant Energy to Surface 96 \type real \minimum 0 \maximum 1 - A99, \field Surface 97 Name + A100, \field Surface 97 Name \type object-list \object-list AllHeatTranSurfNames - N101, \field Fraction of Radiant Energy to Surface 97 + N103, \field Fraction of Radiant Energy to Surface 97 \type real \minimum 0 \maximum 1 - A100, \field Surface 98 Name + A101, \field Surface 98 Name \type object-list \object-list AllHeatTranSurfNames - N102, \field Fraction of Radiant Energy to Surface 98 + N104, \field Fraction of Radiant Energy to Surface 98 \type real \minimum 0 \maximum 1 - A101, \field Surface 99 Name + A102, \field Surface 99 Name \type object-list \object-list AllHeatTranSurfNames - N103, \field Fraction of Radiant Energy to Surface 99 + N105, \field Fraction of Radiant Energy to Surface 99 \type real \minimum 0 \maximum 1 - A102, \field Surface 100 Name + A103, \field Surface 100 Name \type object-list \object-list AllHeatTranSurfNames - N104; \field Fraction of Radiant Energy to Surface 100 + N106; \field Fraction of Radiant Energy to Surface 100 \type real \minimum 0 \maximum 1 @@ -34745,21 +35092,54 @@ ZoneHVAC:Baseboard:Convective:Water, \type object-list \object-list ScheduleNames A3 , \field Inlet Node Name - \required-field - \type node + \required-field + \type node A4 , \field Outlet Node Name - \required-field - \type node - N1 , \field U-Factor Times Area Value + \required-field + \type node + A5 , \field Heating Design Capacity Method + \required-field + \type choice + \key HeatingDesignCapacity + \key CapacityPerFloorArea + \key FractionOfAutosizedHeatingCapacity + \default HeatingDesignCapacity + \note Enter the method used to determine the heating design capacity. + \note HeatingDesignCapacity = > selected when the design heating capacity value or autosize + \note is specified. CapacityPerFloorArea = > selected when the design heating capacity is + \note determine from user specified heating capacity per floor area and zone floor area. + \note FractionOfAutosizedHeatingCapacity = > is selected when the design heating capacity is + \note determined from a user specified fraction and the auto-sized design heating capacity. + N1 , \field Heating Design Capacity + \type real + \units W + \minimum 0.0 + \autosizable + \ip-units W + \default autosize + \note Enter the design heating capacity.Required field when the heating design capacity method + \note HeatingDesignCapacity. + N2 , \field Heating Design Capacity Per Floor Area + \type real + \minimum 0.0 + \note Enter the heating design capacity per zone floor area.Required field when the heating design + \note capacity method field is CapacityPerFloorArea. + N3 , \field Fraction of Autosized Heating Design Capacity{ -} + \type real + \minimum 0.0 + \default 1.0 + \note Enter the fraction of auto - sized heating design capacity.Required field when capacity the + \note heating design capacity method field is FractionOfAutosizedHeatingCapacity. + N4 , \field U-Factor Times Area Value \required-field \autosizable \units W/K - N2 , \field Maximum Water Flow Rate + N5 , \field Maximum Water Flow Rate \required-field \units m3/s \autosizable \ip-units gal/min - N3 ; \field Convergence Tolerance + N6 ; \field Convergence Tolerance \type real \minimum> 0.0 \default 0.001 @@ -34773,15 +35153,43 @@ ZoneHVAC:Baseboard:Convective:Electric, \note If this field is blank, the system is always available. \type object-list \object-list ScheduleNames - N1 , \field Nominal Capacity + A3 , \field Heating Design Capacity Method \required-field + \type choice + \key HeatingDesignCapacity + \key CapacityPerFloorArea + \key FractionOfAutosizedHeatingCapacity + \default HeatingDesignCapacity + \note Enter the method used to determine the heating design capacity. + \note HeatingDesignCapacity = > selected when the design heating capacity value or autosize + \note is specified. CapacityPerFloorArea = > selected when the design heating capacity is + \note determine from user specified heating capacity per floor area and zone floor area. + \note FractionOfAutosizedHeatingCapacity = > is selected when the design heating capacity is + \note determined from a user specified fraction and the auto-sized design heating capacity. + N1 , \field Heating Design Capacity + \type real \units W + \minimum 0.0 \autosizable \ip-units W - N2 ; \field Efficiency + \default autosize + \note Enter the design heating capacity.Required field when the heating design capacity method + \note HeatingDesignCapacity. + N2 , \field Heating Design Capacity Per Floor Area + \type real + \minimum 0.0 + \note Enter the heating design capacity per zone floor area.Required field when the heating design + \note capacity method field is CapacityPerFloorArea. + N3 , \field Fraction of Autosized Heating Design Capacity{ -} + \type real + \minimum 0.0 + \default 1.0 + \note Enter the fraction of auto - sized heating design capacity.Required field when capacity the + \note heating design capacity method field is FractionOfAutosizedHeatingCapacity. + N4 ; \field Efficiency \required-field \maximum 1.0 - \minimum> 0.0 + \minimum 0.0 \default 1.0 ZoneHVAC:LowTemperatureRadiant:VariableFlow, @@ -34825,53 +35233,117 @@ ZoneHVAC:LowTemperatureRadiant:VariableFlow, \key OutdoorDryBulbTemperature \key OutdoorWetBulbTemperature \default MeanAirTemperature - N3 , \field Maximum Hot Water Flow + A6 , \field Heating Design Capacity Method + \required-field + \type choice + \key HeatingDesignCapacity + \key CapacityPerFloorArea + \key FractionOfAutosizedHeatingCapacity + \default HeatingDesignCapacity + \note Enter the method used to determine the heating design capacity. + \note HeatingDesignCapacity = > selected when the design heating capacity value or autosize + \note is specified. CapacityPerFloorArea = > selected when the design heating capacity is + \note determine from user specified heating capacity per floor area and zone floor area. + \note FractionOfAutosizedHeatingCapacity = > is selected when the design heating capacity is + \note determined from a user specified fraction and the auto-sized design heating capacity. + N3 , \field Heating Design Capacity + \type real + \units W + \minimum 0.0 + \autosizable + \ip-units W + \default autosize + \note Enter the design heating capacity.Required field when the heating design capacity method + \note HeatingDesignCapacity. + N4 , \field Heating Design Capacity Per Floor Area + \type real + \minimum 0.0 + \note Enter the heating design capacity per zone floor area.Required field when the heating design + \note capacity method field is CapacityPerFloorArea. + N5 , \field Fraction of Autosized Heating Design Capacity{ -} + \type real + \minimum 0.0 + \default 1.0 + \note Enter the fraction of auto - sized heating design capacity.Required field when capacity the + \note heating design capacity method field is FractionOfAutosizedHeatingCapacity. + N6 , \field Maximum Hot Water Flow \units m3/s \minimum 0 \autosizable \ip-units gal/min - A6 , \field Heating Water Inlet Node Name + A7 , \field Heating Water Inlet Node Name \type node - A7 , \field Heating Water Outlet Node Name + A8 , \field Heating Water Outlet Node Name \type node - N4 , \field Heating Control Throttling Range + N7 , \field Heating Control Throttling Range \units deltaC \minimum 0.5 \default 0.5 - A8 , \field Heating Control Temperature Schedule Name + A9 , \field Heating Control Temperature Schedule Name \type object-list \object-list ScheduleNames - N5 , \field Maximum Cold Water Flow + A10, \field Cooling Design Capacity Method + \type choice + \key None + \key CoolingDesignCapacity + \key CapacityPerFloorArea + \key FractionOfAutosizedCoolingCapacity + \default CoolingDesignCapacity + \note Enter the method used to determine the cooling design capacity for scalable sizing. + \note CoolingDesignCapacity => selected when the design cooling capacity value is specified or + \note auto-sized. CapacityPerFloorArea => selected when the design cooling capacity is determined + \note from user specified cooling capacity per floor area and total floor area of cooled zone + \note served by the hydrolic unit. FractionOfAutosizedCoolingCapacity => is selected when the + \note design cooling capacity is determined from a user specified fraction and the auto-sized + \note design cooling capacity of the system. + N8 , \field Cooling Design Capacity {W} + \type real + \units m3/s + \minimum 0.0 + \autosizable + \note Enter the design cooling capacity. Required field when the cooling design capacity method + \note CoolingDesignCapacity. + N9 , \field Cooling Design Capacity Per Floor Area {W/m2} + \type real + \minimum 0.0 + \note Enter the cooling design capacity per total floor area of cooled zones served by the unit. + \note Required field when the cooling design capacity method field is CapacityPerFloorArea. + N10, \field Fraction of Autosized Cooling Design Capacity {-} + \type real + \minimum 0.0 + \note Enter the fraction of auto-sized cooling design capacity. Required field when the cooling + \note design capacity method field is FractionOfAutosizedCoolingCapacity. + N11, \field Maximum Cold Water Flow \units m3/s \minimum 0 \autosizable \ip-units gal/min - A9 , \field Cooling Water Inlet Node Name + A11, \field Cooling Water Inlet Node Name \type node - A10, \field Cooling Water Outlet Node Name + A12, \field Cooling Water Outlet Node Name \type node - N6 , \field Cooling Control Throttling Range + N12, \field Cooling Control Throttling Range \units deltaC \minimum 0.5 \default 0.5 - A11, \field Cooling Control Temperature Schedule Name + A13, \field Cooling Control Temperature Schedule Name \type object-list \object-list ScheduleNames - A12, \field Condensation Control Type + A14, \field Condensation Control Type \type choice \key Off \key SimpleOff \key VariableOff \default SimpleOff - N7 , \field Condensation Control Dewpoint Offset + N13, \field Condensation Control Dewpoint Offset \units C \default 1.0 - A13, \field Number of Circuits + A15, \field Number of Circuits \type choice \key OnePerSurface \key CalculateFromCircuitLength \default OnePerSurface - N8 ; \field Circuit Length + N14; \field Circuit Length \units m \default 106.7 @@ -35021,12 +35493,40 @@ ZoneHVAC:LowTemperatureRadiant:Electric, \note a ZoneHVAC:LowTemperatureRadiant:SurfaceGroup object. \type object-list \object-list RadGroupAndSurfNames - N1 , \field Maximum Electrical Power to Panel + A5 , \field Heating Design Capacity Method + \required-field + \type choice + \key HeatingDesignCapacity + \key CapacityPerFloorArea + \key FractionOfAutosizedHeatingCapacity + \default HeatingDesignCapacity + \note Enter the method used to determine the maximum electrical heating design capacity. + \note HeatingDesignCapacity = > selected when the design heating capacity value or autosize + \note is specified. CapacityPerFloorArea = > selected when the design heating capacity is + \note determine from user specified heating capacity per floor area and zone floor area. + \n te FractionOfAutosizedHeatingCapacity = > is selected when the design heating capacity is + \note determined from a user specified fraction and the auto-sized design heating capacity. + N1 , \field Heating Design Capacity + \type real \units W - \minimum 0 + \minimum 0.0 \autosizable \ip-units W - A5 , \field Temperature Control Type + \default autosize + \note Enter the design heating capacity.Required field when the heating design capacity method + \note HeatingDesignCapacity. + N2 , \field Heating Design Capacity Per Floor Area + \type real + \minimum 0.0 + \note Enter the heating design capacity per zone floor area.Required field when the heating design + \note capacity method field is CapacityPerFloorArea. + N3 , \field Fraction of Autosized Heating Design Capacity{ -} + \type real + \minimum 0.0 + \default 1.0 + \note Enter the fraction of auto - sized heating design capacity.Required field when capacity the + \note heating design capacity method field is FractionOfAutosizedHeatingCapacity. + A6 , \field Temperature Control Type \note Temperature used to control unit \type choice \key MeanAirTemperature @@ -35035,11 +35535,11 @@ ZoneHVAC:LowTemperatureRadiant:Electric, \key OutdoorDryBulbTemperature \key OutdoorWetBulbTemperature \default MeanAirTemperature - N2 , \field Heating Throttling Range + N4 , \field Heating Throttling Range \units deltaC \minimum 0 \default 0 - A6 ; \field Heating Setpoint Temperature Schedule Name + A7 ; \field Heating Setpoint Temperature Schedule Name \type object-list \object-list ScheduleNames @@ -35573,41 +36073,68 @@ ZoneHVAC:HighTemperatureRadiant, \required-field \type object-list \object-list ZoneNames - N1 , \field Maximum Power Input + A4 , \field Heating Design Capacity Method \required-field + \type choice + \key HeatingDesignCapacity + \key CapacityPerFloorArea + \key FractionOfAutosizedHeatingCapacity + \default HeatingDesignCapacity + \note Enter the method used to determine the maximum heating power input capacity. + \note HeatingDesignCapacity = > selected when the design heating capacity value or autosize + \note is specified. CapacityPerFloorArea = > selected when the design heating capacity is + \note determine from user specified heating capacity per floor area and zone floor area. + \n te FractionOfAutosizedHeatingCapacity = > is selected when the design heating capacity is + \note determined from a user specified fraction and the auto-sized design heating capacity. + N1 , \field Heating Design Capacity + \type real \units W - \minimum 0 + \minimum 0.0 \autosizable - A4 , \field Fuel Type + \default autosize + \note Enter the design heating capacity.Required field when the heating design capacity method + \note HeatingDesignCapacity. + N2 , \field Heating Design Capacity Per Floor Area + \type real + \minimum 0.0 + \note Enter the heating design capacity per zone floor area.Required field when the heating design + \note capacity method field is CapacityPerFloorArea. + N3 , \field Fraction of Autosized Heating Design Capacity{ -} + \type real + \minimum 0.0 + \default 1.0 + \note Enter the fraction of auto - sized heating design capacity.Required field when capacity the + \note heating design capacity method field is FractionOfAutosizedHeatingCapacity. + A5 , \field Fuel Type \note Natural gas or electricity \required-field \type choice \key NaturalGas \key Electricity - N2 , \field Combustion Efficiency + N4 , \field Combustion Efficiency \note Not used for non-gas radiant heaters \required-field \minimum 0 \maximum 1 \default 0.9 - N3 , \field Fraction of Input Converted to Radiant Energy + N5 , \field Fraction of Input Converted to Radiant Energy \required-field \note Radiant+latent+lost fractions must sum to 1 or less, remainder is considered convective heat \minimum 0 \maximum 1 \default 0.7 - N4 , \field Fraction of Input Converted to Latent Energy + N6 , \field Fraction of Input Converted to Latent Energy \required-field \minimum 0 \maximum 1 \default 0.0 - N5 , \field Fraction of Input that Is Lost + N7 , \field Fraction of Input that Is Lost \note Fraction of input vented to outdoor environment \required-field \minimum 0 \maximum 1 \default 0.0 - A5 , \field Temperature Control Type + A6 , \field Temperature Control Type \note Temperature type used to control unit \type choice \key MeanAirTemperature @@ -35617,620 +36144,620 @@ ZoneHVAC:HighTemperatureRadiant, \key MeanRadiantTemperatureSetpoint \key OperativeTemperatureSetpoint \default OperativeTemperature - N6 , \field Heating Throttling Range + N8 , \field Heating Throttling Range \required-field \units deltaC \minimum 0 \default 2.0 - A6 , \field Heating Setpoint Temperature Schedule Name + A7 , \field Heating Setpoint Temperature Schedule Name \note This setpoint is an "operative temperature" setpoint \type object-list \object-list ScheduleNames - N7, \field Fraction of Radiant Energy Incident on People + N9, \field Fraction of Radiant Energy Incident on People \note This will affect thermal comfort but from an energy balance standpoint this value \note gets added to the convective gains from the radiant heater \minimum 0 \maximum 1 - A7, \field Surface 1 Name + A8, \field Surface 1 Name \begin-extensible \note Radiant energy may be distributed to specific surfaces \type object-list \object-list AllHeatTranSurfNames - N8, \field Fraction of Radiant Energy to Surface 1 + N10, \field Fraction of Radiant Energy to Surface 1 \minimum 0 \maximum 1 - A8, \field Surface 2 Name + A9, \field Surface 2 Name \type object-list \object-list AllHeatTranSurfNames - N9, \field Fraction of Radiant Energy to Surface 2 + N11, \field Fraction of Radiant Energy to Surface 2 \minimum 0 \maximum 1 - A9, \field Surface 3 Name + A10, \field Surface 3 Name \type object-list \object-list AllHeatTranSurfNames - N10, \field Fraction of Radiant Energy to Surface 3 + N12, \field Fraction of Radiant Energy to Surface 3 \minimum 0 \maximum 1 - A10, \field Surface 4 Name + A11, \field Surface 4 Name \type object-list \object-list AllHeatTranSurfNames - N11, \field Fraction of Radiant Energy to Surface 4 + N13, \field Fraction of Radiant Energy to Surface 4 \minimum 0 \maximum 1 - A11, \field Surface 5 Name + A12, \field Surface 5 Name \type object-list \object-list AllHeatTranSurfNames - N12, \field Fraction of Radiant Energy to Surface 5 + N14, \field Fraction of Radiant Energy to Surface 5 \minimum 0 \maximum 1 - A12, \field Surface 6 Name + A13, \field Surface 6 Name \type object-list \object-list AllHeatTranSurfNames - N13, \field Fraction of Radiant Energy to Surface 6 + N15, \field Fraction of Radiant Energy to Surface 6 \minimum 0 \maximum 1 - A13, \field Surface 7 Name + A14, \field Surface 7 Name \type object-list \object-list AllHeatTranSurfNames - N14, \field Fraction of Radiant Energy to Surface 7 + N16, \field Fraction of Radiant Energy to Surface 7 \minimum 0 \maximum 1 - A14, \field Surface 8 Name + A15, \field Surface 8 Name \type object-list \object-list AllHeatTranSurfNames - N15, \field Fraction of Radiant Energy to Surface 8 + N17, \field Fraction of Radiant Energy to Surface 8 \minimum 0 \maximum 1 - A15, \field Surface 9 Name + A16, \field Surface 9 Name \type object-list \object-list AllHeatTranSurfNames - N16, \field Fraction of Radiant Energy to Surface 9 + N18, \field Fraction of Radiant Energy to Surface 9 \minimum 0 \maximum 1 - A16, \field Surface 10 Name + A17, \field Surface 10 Name \type object-list \object-list AllHeatTranSurfNames - N17, \field Fraction of Radiant Energy to Surface 10 + N19, \field Fraction of Radiant Energy to Surface 10 \minimum 0 \maximum 1 - A17, \field Surface 11 Name + A18, \field Surface 11 Name \type object-list \object-list AllHeatTranSurfNames - N18, \field Fraction of Radiant Energy to Surface 11 + N20, \field Fraction of Radiant Energy to Surface 11 \minimum 0 \maximum 1 - A18, \field Surface 12 Name + A19, \field Surface 12 Name \type object-list \object-list AllHeatTranSurfNames - N19, \field Fraction of Radiant Energy to Surface 12 + N21, \field Fraction of Radiant Energy to Surface 12 \minimum 0 \maximum 1 - A19, \field Surface 13 Name + A20, \field Surface 13 Name \type object-list \object-list AllHeatTranSurfNames - N20, \field Fraction of Radiant Energy to Surface 13 + N22, \field Fraction of Radiant Energy to Surface 13 \minimum 0 \maximum 1 - A20, \field Surface 14 Name + A21, \field Surface 14 Name \type object-list \object-list AllHeatTranSurfNames - N21, \field Fraction of Radiant Energy to Surface 14 + N23, \field Fraction of Radiant Energy to Surface 14 \minimum 0 \maximum 1 - A21, \field Surface 15 Name + A22, \field Surface 15 Name \type object-list \object-list AllHeatTranSurfNames - N22, \field Fraction of Radiant Energy to Surface 15 + N24, \field Fraction of Radiant Energy to Surface 15 \minimum 0 \maximum 1 - A22, \field Surface 16 Name + A23, \field Surface 16 Name \type object-list \object-list AllHeatTranSurfNames - N23, \field Fraction of Radiant Energy to Surface 16 + N25, \field Fraction of Radiant Energy to Surface 16 \minimum 0 \maximum 1 - A23, \field Surface 17 Name + A24, \field Surface 17 Name \type object-list \object-list AllHeatTranSurfNames - N24, \field Fraction of Radiant Energy to Surface 17 + N26, \field Fraction of Radiant Energy to Surface 17 \minimum 0 \maximum 1 - A24, \field Surface 18 Name + A25, \field Surface 18 Name \type object-list \object-list AllHeatTranSurfNames - N25, \field Fraction of Radiant Energy to Surface 18 + N27, \field Fraction of Radiant Energy to Surface 18 \minimum 0 \maximum 1 - A25, \field Surface 19 Name + A26, \field Surface 19 Name \type object-list \object-list AllHeatTranSurfNames - N26, \field Fraction of Radiant Energy to Surface 19 + N28, \field Fraction of Radiant Energy to Surface 19 \minimum 0 \maximum 1 - A26, \field Surface 20 Name + A27, \field Surface 20 Name \type object-list \object-list AllHeatTranSurfNames - N27, \field Fraction of Radiant Energy to Surface 20 + N29, \field Fraction of Radiant Energy to Surface 20 \minimum 0 \maximum 1 - A27, \field Surface 21 Name + A28, \field Surface 21 Name \type object-list \object-list AllHeatTranSurfNames - N28, \field Fraction of Radiant Energy to Surface 21 + N30, \field Fraction of Radiant Energy to Surface 21 \minimum 0 \maximum 1 - A28, \field Surface 22 Name + A29, \field Surface 22 Name \type object-list \object-list AllHeatTranSurfNames - N29, \field Fraction of Radiant Energy to Surface 22 + N31, \field Fraction of Radiant Energy to Surface 22 \minimum 0 \maximum 1 - A29, \field Surface 23 Name + A30, \field Surface 23 Name \type object-list \object-list AllHeatTranSurfNames - N30, \field Fraction of Radiant Energy to Surface 23 + N32, \field Fraction of Radiant Energy to Surface 23 \minimum 0 \maximum 1 - A30, \field Surface 24 Name + A31, \field Surface 24 Name \type object-list \object-list AllHeatTranSurfNames - N31, \field Fraction of Radiant Energy to Surface 24 + N33, \field Fraction of Radiant Energy to Surface 24 \minimum 0 \maximum 1 - A31, \field Surface 25 Name + A32, \field Surface 25 Name \type object-list \object-list AllHeatTranSurfNames - N32, \field Fraction of Radiant Energy to Surface 25 + N34, \field Fraction of Radiant Energy to Surface 25 \minimum 0 \maximum 1 - A32, \field Surface 26 Name + A33, \field Surface 26 Name \type object-list \object-list AllHeatTranSurfNames - N33, \field Fraction of Radiant Energy to Surface 26 + N35, \field Fraction of Radiant Energy to Surface 26 \minimum 0 \maximum 1 - A33, \field Surface 27 Name + A34, \field Surface 27 Name \type object-list \object-list AllHeatTranSurfNames - N34, \field Fraction of Radiant Energy to Surface 27 + N36, \field Fraction of Radiant Energy to Surface 27 \minimum 0 \maximum 1 - A34, \field Surface 28 Name + A35, \field Surface 28 Name \type object-list \object-list AllHeatTranSurfNames - N35, \field Fraction of Radiant Energy to Surface 28 + N37, \field Fraction of Radiant Energy to Surface 28 \minimum 0 \maximum 1 - A35, \field Surface 29 Name + A36, \field Surface 29 Name \type object-list \object-list AllHeatTranSurfNames - N36, \field Fraction of Radiant Energy to Surface 29 + N38, \field Fraction of Radiant Energy to Surface 29 \minimum 0 \maximum 1 - A36, \field Surface 30 Name + A37, \field Surface 30 Name \type object-list \object-list AllHeatTranSurfNames - N37, \field Fraction of Radiant Energy to Surface 30 + N39, \field Fraction of Radiant Energy to Surface 30 \minimum 0 \maximum 1 - A37, \field Surface 31 Name + A38, \field Surface 31 Name \type object-list \object-list AllHeatTranSurfNames - N38, \field Fraction of Radiant Energy to Surface 31 + N40, \field Fraction of Radiant Energy to Surface 31 \minimum 0 \maximum 1 - A38, \field Surface 32 Name + A39, \field Surface 32 Name \type object-list \object-list AllHeatTranSurfNames - N39, \field Fraction of Radiant Energy to Surface 32 + N41, \field Fraction of Radiant Energy to Surface 32 \minimum 0 \maximum 1 - A39, \field Surface 33 Name + A40, \field Surface 33 Name \type object-list \object-list AllHeatTranSurfNames - N40, \field Fraction of Radiant Energy to Surface 33 + N42, \field Fraction of Radiant Energy to Surface 33 \minimum 0 \maximum 1 - A40, \field Surface 34 Name + A41, \field Surface 34 Name \type object-list \object-list AllHeatTranSurfNames - N41, \field Fraction of Radiant Energy to Surface 34 + N43, \field Fraction of Radiant Energy to Surface 34 \minimum 0 \maximum 1 - A41, \field Surface 35 Name + A42, \field Surface 35 Name \type object-list \object-list AllHeatTranSurfNames - N42, \field Fraction of Radiant Energy to Surface 35 + N44, \field Fraction of Radiant Energy to Surface 35 \minimum 0 \maximum 1 - A42, \field Surface 36 Name + A43, \field Surface 36 Name \type object-list \object-list AllHeatTranSurfNames - N43, \field Fraction of Radiant Energy to Surface 36 + N45, \field Fraction of Radiant Energy to Surface 36 \minimum 0 \maximum 1 - A43, \field Surface 37 Name + A44, \field Surface 37 Name \type object-list \object-list AllHeatTranSurfNames - N44, \field Fraction of Radiant Energy to Surface 37 + N46, \field Fraction of Radiant Energy to Surface 37 \minimum 0 \maximum 1 - A44, \field Surface 38 Name + A45, \field Surface 38 Name \type object-list \object-list AllHeatTranSurfNames - N45, \field Fraction of Radiant Energy to Surface 38 + N47, \field Fraction of Radiant Energy to Surface 38 \minimum 0 \maximum 1 - A45, \field Surface 39 Name + A46, \field Surface 39 Name \type object-list \object-list AllHeatTranSurfNames - N46, \field Fraction of Radiant Energy to Surface 39 + N48, \field Fraction of Radiant Energy to Surface 39 \minimum 0 \maximum 1 - A46, \field Surface 40 Name + A47, \field Surface 40 Name \type object-list \object-list AllHeatTranSurfNames - N47, \field Fraction of Radiant Energy to Surface 40 + N49, \field Fraction of Radiant Energy to Surface 40 \minimum 0 \maximum 1 - A47, \field Surface 41 Name + A48, \field Surface 41 Name \type object-list \object-list AllHeatTranSurfNames - N48, \field Fraction of Radiant Energy to Surface 41 + N50, \field Fraction of Radiant Energy to Surface 41 \minimum 0 \maximum 1 - A48, \field Surface 42 Name + A49, \field Surface 42 Name \type object-list \object-list AllHeatTranSurfNames - N49, \field Fraction of Radiant Energy to Surface 42 + N51, \field Fraction of Radiant Energy to Surface 42 \minimum 0 \maximum 1 - A49, \field Surface 43 Name + A50, \field Surface 43 Name \type object-list \object-list AllHeatTranSurfNames - N50, \field Fraction of Radiant Energy to Surface 43 + N52, \field Fraction of Radiant Energy to Surface 43 \minimum 0 \maximum 1 - A50, \field Surface 44 Name + A51, \field Surface 44 Name \type object-list \object-list AllHeatTranSurfNames - N51, \field Fraction of Radiant Energy to Surface 44 + N53, \field Fraction of Radiant Energy to Surface 44 \minimum 0 \maximum 1 - A51, \field Surface 45 Name + A52, \field Surface 45 Name \type object-list \object-list AllHeatTranSurfNames - N52, \field Fraction of Radiant Energy to Surface 45 + N54, \field Fraction of Radiant Energy to Surface 45 \minimum 0 \maximum 1 - A52, \field Surface 46 Name + A53, \field Surface 46 Name \type object-list \object-list AllHeatTranSurfNames - N53, \field Fraction of Radiant Energy to Surface 46 + N55, \field Fraction of Radiant Energy to Surface 46 \minimum 0 \maximum 1 - A53, \field Surface 47 Name + A54, \field Surface 47 Name \type object-list \object-list AllHeatTranSurfNames - N54, \field Fraction of Radiant Energy to Surface 47 + N56, \field Fraction of Radiant Energy to Surface 47 \minimum 0 \maximum 1 - A54, \field Surface 48 Name + A55, \field Surface 48 Name \type object-list \object-list AllHeatTranSurfNames - N55, \field Fraction of Radiant Energy to Surface 48 + N57, \field Fraction of Radiant Energy to Surface 48 \minimum 0 \maximum 1 - A55, \field Surface 49 Name + A56, \field Surface 49 Name \type object-list \object-list AllHeatTranSurfNames - N56, \field Fraction of Radiant Energy to Surface 49 + N58, \field Fraction of Radiant Energy to Surface 49 \minimum 0 \maximum 1 - A56, \field Surface 50 Name + A57, \field Surface 50 Name \type object-list \object-list AllHeatTranSurfNames - N57, \field Fraction of Radiant Energy to Surface 50 + N59, \field Fraction of Radiant Energy to Surface 50 \minimum 0 \maximum 1 - A57, \field Surface 51 Name + A58, \field Surface 51 Name \type object-list \object-list AllHeatTranSurfNames - N58, \field Fraction of Radiant Energy to Surface 51 + N60, \field Fraction of Radiant Energy to Surface 51 \minimum 0 \maximum 1 - A58, \field Surface 52 Name + A59, \field Surface 52 Name \type object-list \object-list AllHeatTranSurfNames - N59, \field Fraction of Radiant Energy to Surface 52 + N61, \field Fraction of Radiant Energy to Surface 52 \minimum 0 \maximum 1 - A59, \field Surface 53 Name + A60, \field Surface 53 Name \type object-list \object-list AllHeatTranSurfNames - N60, \field Fraction of Radiant Energy to Surface 53 + N62, \field Fraction of Radiant Energy to Surface 53 \minimum 0 \maximum 1 - A60, \field Surface 54 Name + A61, \field Surface 54 Name \type object-list \object-list AllHeatTranSurfNames - N61, \field Fraction of Radiant Energy to Surface 54 + N63, \field Fraction of Radiant Energy to Surface 54 \minimum 0 \maximum 1 - A61, \field Surface 55 Name + A62, \field Surface 55 Name \type object-list \object-list AllHeatTranSurfNames - N62, \field Fraction of Radiant Energy to Surface 55 + N64, \field Fraction of Radiant Energy to Surface 55 \minimum 0 \maximum 1 - A62, \field Surface 56 Name + A63, \field Surface 56 Name \type object-list \object-list AllHeatTranSurfNames - N63, \field Fraction of Radiant Energy to Surface 56 + N65, \field Fraction of Radiant Energy to Surface 56 \minimum 0 \maximum 1 - A63, \field Surface 57 Name + A64, \field Surface 57 Name \type object-list \object-list AllHeatTranSurfNames - N64, \field Fraction of Radiant Energy to Surface 57 + N66, \field Fraction of Radiant Energy to Surface 57 \minimum 0 \maximum 1 - A64, \field Surface 58 Name + A65, \field Surface 58 Name \type object-list \object-list AllHeatTranSurfNames - N65, \field Fraction of Radiant Energy to Surface 58 + N67, \field Fraction of Radiant Energy to Surface 58 \minimum 0 \maximum 1 - A65, \field Surface 59 Name + A66, \field Surface 59 Name \type object-list \object-list AllHeatTranSurfNames - N66, \field Fraction of Radiant Energy to Surface 59 + N68, \field Fraction of Radiant Energy to Surface 59 \minimum 0 \maximum 1 - A66, \field Surface 60 Name + A67, \field Surface 60 Name \type object-list \object-list AllHeatTranSurfNames - N67, \field Fraction of Radiant Energy to Surface 60 + N69, \field Fraction of Radiant Energy to Surface 60 \minimum 0 \maximum 1 - A67, \field Surface 61 Name + A68, \field Surface 61 Name \type object-list \object-list AllHeatTranSurfNames - N68, \field Fraction of Radiant Energy to Surface 61 + N70, \field Fraction of Radiant Energy to Surface 61 \minimum 0 \maximum 1 - A68, \field Surface 62 Name + A69, \field Surface 62 Name \type object-list \object-list AllHeatTranSurfNames - N69, \field Fraction of Radiant Energy to Surface 62 + N71, \field Fraction of Radiant Energy to Surface 62 \minimum 0 \maximum 1 - A69, \field Surface 63 Name + A70, \field Surface 63 Name \type object-list \object-list AllHeatTranSurfNames - N70, \field Fraction of Radiant Energy to Surface 63 + N72, \field Fraction of Radiant Energy to Surface 63 \minimum 0 \maximum 1 - A70, \field Surface 64 Name + A71, \field Surface 64 Name \type object-list \object-list AllHeatTranSurfNames - N71, \field Fraction of Radiant Energy to Surface 64 + N73, \field Fraction of Radiant Energy to Surface 64 \minimum 0 \maximum 1 - A71, \field Surface 65 Name + A72, \field Surface 65 Name \type object-list \object-list AllHeatTranSurfNames - N72, \field Fraction of Radiant Energy to Surface 65 + N74, \field Fraction of Radiant Energy to Surface 65 \minimum 0 \maximum 1 - A72, \field Surface 66 Name + A73, \field Surface 66 Name \type object-list \object-list AllHeatTranSurfNames - N73, \field Fraction of Radiant Energy to Surface 66 + N75, \field Fraction of Radiant Energy to Surface 66 \minimum 0 \maximum 1 - A73, \field Surface 67 Name + A74, \field Surface 67 Name \type object-list \object-list AllHeatTranSurfNames - N74, \field Fraction of Radiant Energy to Surface 67 + N76, \field Fraction of Radiant Energy to Surface 67 \minimum 0 \maximum 1 - A74, \field Surface 68 Name + A75, \field Surface 68 Name \type object-list \object-list AllHeatTranSurfNames - N75, \field Fraction of Radiant Energy to Surface 68 + N77, \field Fraction of Radiant Energy to Surface 68 \minimum 0 \maximum 1 - A75, \field Surface 69 Name + A76, \field Surface 69 Name \type object-list \object-list AllHeatTranSurfNames N76, \field Fraction of Radiant Energy to Surface 69 \minimum 0 \maximum 1 - A76, \field Surface 70 Name + A77, \field Surface 70 Name \type object-list \object-list AllHeatTranSurfNames N77, \field Fraction of Radiant Energy to Surface 70 \minimum 0 \maximum 1 - A77, \field Surface 71 Name + A78, \field Surface 71 Name \type object-list \object-list AllHeatTranSurfNames - N78, \field Fraction of Radiant Energy to Surface 71 + N80, \field Fraction of Radiant Energy to Surface 71 \minimum 0 \maximum 1 - A78, \field Surface 72 Name + A79, \field Surface 72 Name \type object-list \object-list AllHeatTranSurfNames - N79, \field Fraction of Radiant Energy to Surface 72 + N81, \field Fraction of Radiant Energy to Surface 72 \minimum 0 \maximum 1 - A79, \field Surface 73 Name + A80, \field Surface 73 Name \type object-list \object-list AllHeatTranSurfNames - N80, \field Fraction of Radiant Energy to Surface 73 + N82, \field Fraction of Radiant Energy to Surface 73 \minimum 0 \maximum 1 - A80, \field Surface 74 Name + A81, \field Surface 74 Name \type object-list \object-list AllHeatTranSurfNames - N81, \field Fraction of Radiant Energy to Surface 74 + N83, \field Fraction of Radiant Energy to Surface 74 \minimum 0 \maximum 1 - A81, \field Surface 75 Name + A82, \field Surface 75 Name \type object-list \object-list AllHeatTranSurfNames - N82, \field Fraction of Radiant Energy to Surface 75 + N84, \field Fraction of Radiant Energy to Surface 75 \minimum 0 \maximum 1 - A82, \field Surface 76 Name + A83, \field Surface 76 Name \type object-list \object-list AllHeatTranSurfNames - N83, \field Fraction of Radiant Energy to Surface 76 + N85, \field Fraction of Radiant Energy to Surface 76 \minimum 0 \maximum 1 - A83, \field Surface 77 Name + A84, \field Surface 77 Name \type object-list \object-list AllHeatTranSurfNames - N84, \field Fraction of Radiant Energy to Surface 77 + N86, \field Fraction of Radiant Energy to Surface 77 \minimum 0 \maximum 1 - A84, \field Surface 78 Name + A85, \field Surface 78 Name \type object-list \object-list AllHeatTranSurfNames - N85, \field Fraction of Radiant Energy to Surface 78 + N87, \field Fraction of Radiant Energy to Surface 78 \minimum 0 \maximum 1 - A85, \field Surface 79 Name + A86, \field Surface 79 Name \type object-list \object-list AllHeatTranSurfNames - N86, \field Fraction of Radiant Energy to Surface 79 + N88, \field Fraction of Radiant Energy to Surface 79 \minimum 0 \maximum 1 - A86, \field Surface 80 Name + A87, \field Surface 80 Name \type object-list \object-list AllHeatTranSurfNames N87, \field Fraction of Radiant Energy to Surface 80 \minimum 0 \maximum 1 - A87, \field Surface 81 Name + A88, \field Surface 81 Name \type object-list \object-list AllHeatTranSurfNames - N88, \field Fraction of Radiant Energy to Surface 81 + N90, \field Fraction of Radiant Energy to Surface 81 \minimum 0 \maximum 1 - A88, \field Surface 82 Name + A89, \field Surface 82 Name \type object-list \object-list AllHeatTranSurfNames - N89, \field Fraction of Radiant Energy to Surface 82 + N91, \field Fraction of Radiant Energy to Surface 82 \minimum 0 \maximum 1 - A89, \field Surface 83 Name + A90, \field Surface 83 Name \type object-list \object-list AllHeatTranSurfNames - N90, \field Fraction of Radiant Energy to Surface 83 + N92, \field Fraction of Radiant Energy to Surface 83 \minimum 0 \maximum 1 - A90, \field Surface 84 Name + A91, \field Surface 84 Name \type object-list \object-list AllHeatTranSurfNames - N91, \field Fraction of Radiant Energy to Surface 84 + N93, \field Fraction of Radiant Energy to Surface 84 \minimum 0 \maximum 1 - A91, \field Surface 85 Name + A92, \field Surface 85 Name \type object-list \object-list AllHeatTranSurfNames - N92, \field Fraction of Radiant Energy to Surface 85 + N94, \field Fraction of Radiant Energy to Surface 85 \minimum 0 \maximum 1 - A92, \field Surface 86 Name + A93, \field Surface 86 Name \type object-list \object-list AllHeatTranSurfNames - N93, \field Fraction of Radiant Energy to Surface 86 + N95, \field Fraction of Radiant Energy to Surface 86 \minimum 0 \maximum 1 - A93, \field Surface 87 Name + A94, \field Surface 87 Name \type object-list \object-list AllHeatTranSurfNames - N94, \field Fraction of Radiant Energy to Surface 87 + N96, \field Fraction of Radiant Energy to Surface 87 \minimum 0 \maximum 1 - A94, \field Surface 88 Name + A95, \field Surface 88 Name \type object-list \object-list AllHeatTranSurfNames - N95, \field Fraction of Radiant Energy to Surface 88 + N97, \field Fraction of Radiant Energy to Surface 88 \minimum 0 \maximum 1 - A95, \field Surface 89 Name + A96, \field Surface 89 Name \type object-list \object-list AllHeatTranSurfNames - N96, \field Fraction of Radiant Energy to Surface 89 + N98, \field Fraction of Radiant Energy to Surface 89 \minimum 0 \maximum 1 - A96, \field Surface 90 Name + A97, \field Surface 90 Name \type object-list \object-list AllHeatTranSurfNames - N97, \field Fraction of Radiant Energy to Surface 90 + N99, \field Fraction of Radiant Energy to Surface 90 \minimum 0 \maximum 1 - A97, \field Surface 91 Name + A98, \field Surface 91 Name \type object-list \object-list AllHeatTranSurfNames - N98, \field Fraction of Radiant Energy to Surface 91 + N100, \field Fraction of Radiant Energy to Surface 91 \minimum 0 \maximum 1 - A98, \field Surface 92 Name + A99, \field Surface 92 Name \type object-list \object-list AllHeatTranSurfNames - N99, \field Fraction of Radiant Energy to Surface 92 + N101, \field Fraction of Radiant Energy to Surface 92 \minimum 0 \maximum 1 - A99, \field Surface 93 Name + A100, \field Surface 93 Name \type object-list \object-list AllHeatTranSurfNames - N100, \field Fraction of Radiant Energy to Surface 93 + N102, \field Fraction of Radiant Energy to Surface 93 \minimum 0 \maximum 1 - A100, \field Surface 94 Name + A101, \field Surface 94 Name \type object-list \object-list AllHeatTranSurfNames - N101, \field Fraction of Radiant Energy to Surface 94 + N103, \field Fraction of Radiant Energy to Surface 94 \minimum 0 \maximum 1 - A101, \field Surface 95 Name + A102, \field Surface 95 Name \type object-list \object-list AllHeatTranSurfNames - N102, \field Fraction of Radiant Energy to Surface 95 + N104, \field Fraction of Radiant Energy to Surface 95 \minimum 0 \maximum 1 - A102, \field Surface 96 Name + A103, \field Surface 96 Name \type object-list \object-list AllHeatTranSurfNames - N103, \field Fraction of Radiant Energy to Surface 96 + N105, \field Fraction of Radiant Energy to Surface 96 \minimum 0 \maximum 1 - A103, \field Surface 97 Name + A104, \field Surface 97 Name \type object-list \object-list AllHeatTranSurfNames - N104, \field Fraction of Radiant Energy to Surface 97 + N106, \field Fraction of Radiant Energy to Surface 97 \minimum 0 \maximum 1 - A104, \field Surface 98 Name + A105, \field Surface 98 Name \type object-list \object-list AllHeatTranSurfNames - N105, \field Fraction of Radiant Energy to Surface 98 + N107, \field Fraction of Radiant Energy to Surface 98 \minimum 0 \maximum 1 - A105, \field Surface 99 Name + A106, \field Surface 99 Name \type object-list \object-list AllHeatTranSurfNames - N106, \field Fraction of Radiant Energy to Surface 99 + N108, \field Fraction of Radiant Energy to Surface 99 \minimum 0 \maximum 1 - A106, \field Surface 100 Name + A107, \field Surface 100 Name \type object-list \object-list AllHeatTranSurfNames - N107; \field Fraction of Radiant Energy to Surface 100 + N109; \field Fraction of Radiant Energy to Surface 100 \minimum 0 \maximum 1 @@ -36424,10 +36951,14 @@ ZoneHVAC:VentilatedSlab, \object-list CoolingCoilsWater A32, \field Cold Water Inlet Node Name \type node - A33; \field Availability Manager List Name - \note Enter the name of an AvailabilityManagerAssignmentList object. - \type object-list - \object-list SystemAvailabilityManagerLists + A33, \field Availability Manager List Name + \note Enter the name of an AvailabilityManagerAssignmentList object. + \type object-list + \object-list SystemAvailabilityManagerLists + A34; \field Design Specification ZoneHVAC Sizing Object Name + \note Enter the name of a DesignSpecificationZoneHVACSizing object. + \type object + \object-name DesignSpecificationZoneHVACSizingName ZoneHVAC:VentilatedSlab:SlabGroup, \memo This is used to allow the coordinate control of several ventilad slab system From 9affcc3bf24325ee1be0a131bcc1315768d6d66d Mon Sep 17 00:00:00 2001 From: Nigusse Date: Wed, 13 Aug 2014 11:57:39 -0400 Subject: [PATCH 03/19] Zone HVAC objects transitioned files. --- testfiles/1ZoneEvapCooler.idf | 5 +- testfiles/1ZoneParameterAspect.idf | 5 +- testfiles/5ZoneCoolBeam.idf | 20 ++ testfiles/5ZoneSteamBaseboard.idf | 8 + testfiles/5ZoneWaterCooled_Baseboard.idf | 12 +- testfiles/BaseBoardElectric.idf | 17 +- testfiles/DOASDualDuctSchool.idf | 44 ++- testfiles/EMSUserDefinedWindACAuto.idf | 12 + testfiles/HVACStandAloneERV_Economizer.idf | 12 + testfiles/MultiStory.idf | 45 ++- testfiles/RadHiTempElecTermReheat.idf | 15 +- testfiles/RadHiTempGasCtrlOpt.idf | 15 +- testfiles/RadHiTempGasTermReheat.idf | 15 +- testfiles/RadLoHydrHeatCoolAuto.idf | 24 ++ testfiles/RadLoHydrHeatCoolAutoCondFD.idf | 24 ++ testfiles/RadLoTempElecTermReheat.idf | 15 +- testfiles/RadLoTempElecTermReheatCondFD.idf | 15 +- testfiles/RadLoTempHydrCoolTower.idf | 24 ++ testfiles/RadLoTempHydrCoolTowerCondFD.idf | 24 ++ testfiles/RadLoTempHydrCtrlOpt.idf | 24 ++ testfiles/RadLoTempHydrCtrlOpt2.idf | 24 ++ testfiles/RadLoTempHydrHeatCool.idf | 24 ++ testfiles/RadLoTempHydrHeatCool2D.idf | 24 ++ testfiles/RadLoTempHydrHeatCoolDry.idf | 24 ++ testfiles/RadLoTempHydrHeatCoolDryCondFD.idf | 24 ++ testfiles/RadLoTempHydrInterMulti.idf | 16 + testfiles/RadLoTempHydrMulti10.idf | 8 + testfiles/RadLoTempHydrTermReheat.idf | 24 ++ testfiles/StripMallZoneEvapCooler.idf | 330 +++++++++++++++++-- testfiles/VAVSingleDuctReheatBaseboard.idf | 4 + testfiles/WindACAuto.idf | 12 + testfiles/WindACRHControl.idf | 12 + 32 files changed, 830 insertions(+), 71 deletions(-) diff --git a/testfiles/1ZoneEvapCooler.idf b/testfiles/1ZoneEvapCooler.idf index cd38f17ef2f..02e20afba27 100644 --- a/testfiles/1ZoneEvapCooler.idf +++ b/testfiles/1ZoneEvapCooler.idf @@ -535,7 +535,10 @@ ZoneHVAC:Baseboard:Convective:Electric, Main Zone Baseboard, !- Name System Availability Schedule, !- Availability Schedule Name - 8000, !- Nominal Capacity {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + 8000, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.97; !- Efficiency ZoneControl:Thermostat, diff --git a/testfiles/1ZoneParameterAspect.idf b/testfiles/1ZoneParameterAspect.idf index f41b0e011e8..9af2d8a72bb 100644 --- a/testfiles/1ZoneParameterAspect.idf +++ b/testfiles/1ZoneParameterAspect.idf @@ -560,7 +560,10 @@ ZoneHVAC:Baseboard:Convective:Electric, Main Zone Baseboard, !- Name System Availability Schedule, !- Availability Schedule Name - 8000, !- Nominal Capacity {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + 8000, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.97; !- Efficiency ZoneControl:Thermostat, diff --git a/testfiles/5ZoneCoolBeam.idf b/testfiles/5ZoneCoolBeam.idf index 21d4e3f33fc..5f0443fa957 100644 --- a/testfiles/5ZoneCoolBeam.idf +++ b/testfiles/5ZoneCoolBeam.idf @@ -2391,6 +2391,10 @@ ReheatCoilAvailSched, !- Availability Schedule Name SPACE1-1 HW Coil Water In Node, !- Inlet Node Name SPACE1-1 HW Coil Water Out Node, !- Outlet Node Name + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} autosize, !- U-Factor Times Area Value {W/K} autosize; !- Maximum Water Flow Rate {m3/s} @@ -2399,6 +2403,10 @@ ReheatCoilAvailSched, !- Availability Schedule Name SPACE2-1 HW Coil Water In Node, !- Inlet Node Name SPACE2-1 HW Coil Water Out Node, !- Outlet Node Name + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} autosize, !- U-Factor Times Area Value {W/K} autosize; !- Maximum Water Flow Rate {m3/s} @@ -2407,6 +2415,10 @@ ReheatCoilAvailSched, !- Availability Schedule Name SPACE3-1 HW Coil Water In Node, !- Inlet Node Name SPACE3-1 HW Coil Water Out Node, !- Outlet Node Name + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} autosize, !- U-Factor Times Area Value {W/K} autosize; !- Maximum Water Flow Rate {m3/s} @@ -2415,6 +2427,10 @@ ReheatCoilAvailSched, !- Availability Schedule Name SPACE4-1 HW Coil Water In Node, !- Inlet Node Name SPACE4-1 HW Coil Water Out Node, !- Outlet Node Name + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} autosize, !- U-Factor Times Area Value {W/K} autosize; !- Maximum Water Flow Rate {m3/s} @@ -2423,6 +2439,10 @@ ReheatCoilAvailSched, !- Availability Schedule Name SPACE5-1 HW Coil Water In Node, !- Inlet Node Name SPACE5-1 HW Coil Water Out Node, !- Outlet Node Name + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} autosize, !- U-Factor Times Area Value {W/K} autosize; !- Maximum Water Flow Rate {m3/s} diff --git a/testfiles/5ZoneSteamBaseboard.idf b/testfiles/5ZoneSteamBaseboard.idf index 60dc176332f..d400d186b7d 100644 --- a/testfiles/5ZoneSteamBaseboard.idf +++ b/testfiles/5ZoneSteamBaseboard.idf @@ -2774,6 +2774,10 @@ REHEATCOILAVAILSCHED, !- Availability Schedule Name SPACE1-1 Reheat Coil Steam Inlet, !- Inlet Node Name SPACE1-1 Reheat Coil Steam Outlet, !- Outlet Node Name + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 5, !- Degree of SubCooling {C} autosize, !- Maximum Steam Flow Rate {m3/s} 0.001, !- Convergence Tolerance @@ -2791,6 +2795,10 @@ REHEATCOILAVAILSCHED, !- Availability Schedule Name SPACE3-1 Reheat Coil Steam Inlet, !- Inlet Node Name SPACE3-1 Reheat Coil Steam Outlet, !- Outlet Node Name + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 5, !- Degree of SubCooling {C} autosize, !- Maximum Steam Flow Rate {m3/s} 0.001, !- Convergence Tolerance diff --git a/testfiles/5ZoneWaterCooled_Baseboard.idf b/testfiles/5ZoneWaterCooled_Baseboard.idf index 8d6e90bfa7d..3ed8a941e82 100644 --- a/testfiles/5ZoneWaterCooled_Baseboard.idf +++ b/testfiles/5ZoneWaterCooled_Baseboard.idf @@ -20,7 +20,7 @@ ! Run Period (Weather File): Winter 1/14, Summer 7/7, CHICAGO_IL_USA TMY2-94846 ! ! Run Control: Zone and System sizing with weather file run control (no design days ran) -! +! ! Building: Single floor rectangular building 100 ft x 50 ft. 5 zones - 4 exterior, 1 interior, zone height 8 feet. ! Exterior zone depth is 12 feet. There is a 2 foot high return plenum: the overall building height is ! 10 feet. There are windows on all 4 facades; the south and north facades have glass doors. @@ -2194,7 +2194,10 @@ SPACE2-1 Zone Coil Water Out Node, !- Outlet Node Name 87.78, !- Rated Average Water Temperature {C} 0.063, !- Rated Water Mass Flow Rate {Kg/s} - autosize, !- Rated Capacity {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} autosize, !- Maximum Water Flow Rate {m3/s} 0.001, !- Convergence Tolerance 0.3, !- Fraction Radiant @@ -2213,7 +2216,10 @@ SPACE4-1 Zone Coil Water Out Node, !- Outlet Node Name 82.22, !- Rated Average Water Temperature {C} 0.063, !- Rated Water Mass Flow Rate {Kg/s} - autosize, !- Rated Capacity {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} autosize, !- Maximum Water Flow Rate {m3/s} 0.001, !- Convergence Tolerance 0.3, !- Fraction Radiant diff --git a/testfiles/BaseBoardElectric.idf b/testfiles/BaseBoardElectric.idf index 24ccf60aa51..7b58239e530 100644 --- a/testfiles/BaseBoardElectric.idf +++ b/testfiles/BaseBoardElectric.idf @@ -1205,19 +1205,28 @@ ZoneHVAC:Baseboard:Convective:Electric, Zone1Baseboard, !- Name FanAndCoilAvailSched, !- Availability Schedule Name - 5000, !- Nominal Capacity {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + 5000.0, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.97; !- Efficiency - + ZoneHVAC:Baseboard:Convective:Electric, Zone2Baseboard, !- Name FanAndCoilAvailSched, !- Availability Schedule Name - 5000, !- Nominal Capacity {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + 5000.0, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.97; !- Efficiency ZoneHVAC:Baseboard:Convective:Electric, Zone3Baseboard, !- Name FanAndCoilAvailSched, !- Availability Schedule Name - 5000, !- Nominal Capacity {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + 5000.0, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.97; !- Efficiency !- =========== ALL OBJECTS IN CLASS: AIRTERMINAL:SINGLEDUCT:UNCONTROLLED =========== diff --git a/testfiles/DOASDualDuctSchool.idf b/testfiles/DOASDualDuctSchool.idf index 3cbe6714bcb..3dac376466a 100644 --- a/testfiles/DOASDualDuctSchool.idf +++ b/testfiles/DOASDualDuctSchool.idf @@ -75,7 +75,7 @@ ! End SimMetaData ! Number of Zones: 11 - Version,8.2; + Version,8.1; Timestep,6; @@ -1721,7 +1721,7 @@ Fan:OnOff, Corner_Class_1_Pod_1 Fan Coil Fan, !- Name ALWAYS_ON, !- Availability Schedule Name - 0.5, !- Fan Total Efficiency + 0.5, !- Fan Efficiency 75, !- Pressure Rise {Pa} AUTOSIZE, !- Maximum Flow Rate {m3/s} 0.9, !- Motor Efficiency @@ -2601,7 +2601,7 @@ Fan:OnOff, Mult_Class_1_Pod_1 Fan Coil Fan, !- Name ALWAYS_ON, !- Availability Schedule Name - 0.5, !- Fan Total Efficiency + 0.5, !- Fan Efficiency 75, !- Pressure Rise {Pa} AUTOSIZE, !- Maximum Flow Rate {m3/s} 0.9, !- Motor Efficiency @@ -2974,7 +2974,7 @@ Fan:OnOff, Corridor_Pod_1 Fan Coil Fan, !- Name ALWAYS_ON, !- Availability Schedule Name - 0.5, !- Fan Total Efficiency + 0.5, !- Fan Efficiency 75, !- Pressure Rise {Pa} AUTOSIZE, !- Maximum Flow Rate {m3/s} 0.9, !- Motor Efficiency @@ -3462,7 +3462,7 @@ Fan:OnOff, Corner_Class_2_Pod_1 Fan Coil Fan, !- Name ALWAYS_ON, !- Availability Schedule Name - 0.5, !- Fan Total Efficiency + 0.5, !- Fan Efficiency 75, !- Pressure Rise {Pa} AUTOSIZE, !- Maximum Flow Rate {m3/s} 0.9, !- Motor Efficiency @@ -4142,7 +4142,7 @@ Fan:OnOff, Mult_Class_2_Pod_1 Fan Coil Fan, !- Name ALWAYS_ON, !- Availability Schedule Name - 0.5, !- Fan Total Efficiency + 0.5, !- Fan Efficiency 75, !- Pressure Rise {Pa} AUTOSIZE, !- Maximum Flow Rate {m3/s} 0.9, !- Motor Efficiency @@ -4651,6 +4651,10 @@ ALWAYS_ON, !- Availability Schedule Name Main_Corridor Baseboard Heater Inlet Node Name, !- Inlet Node Name Main_Corridor Baseboard Heater Outlet Node Name, !- Outlet Node Name + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} AUTOSIZE, !- U-Factor Times Area Value {W/K} AUTOSIZE, !- Maximum Water Flow Rate {m3/s} 0.001; !- Convergence Tolerance @@ -5122,6 +5126,10 @@ ALWAYS_ON, !- Availability Schedule Name Lobby Baseboard Heater Inlet Node Name, !- Inlet Node Name Lobby Baseboard Heater Outlet Node Name, !- Outlet Node Name + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} AUTOSIZE, !- U-Factor Times Area Value {W/K} AUTOSIZE, !- Maximum Water Flow Rate {m3/s} 0.001; !- Convergence Tolerance @@ -5561,6 +5569,10 @@ ALWAYS_ON, !- Availability Schedule Name Mech Baseboard Heater Inlet Node Name, !- Inlet Node Name Mech Baseboard Heater Outlet Node Name, !- Outlet Node Name + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} AUTOSIZE, !- U-Factor Times Area Value {W/K} AUTOSIZE, !- Maximum Water Flow Rate {m3/s} 0.001; !- Convergence Tolerance @@ -5960,6 +5972,10 @@ ALWAYS_ON, !- Availability Schedule Name Bathrooms Baseboard Heater Inlet Node Name, !- Inlet Node Name Bathrooms Baseboard Heater Outlet Node Name, !- Outlet Node Name + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} AUTOSIZE, !- U-Factor Times Area Value {W/K} AUTOSIZE, !- Maximum Water Flow Rate {m3/s} 0.001; !- Convergence Tolerance @@ -5967,7 +5983,7 @@ Fan:ZoneExhaust, Bathrooms Exhaust Fan 1, !- Name MinOA_Sched, !- Availability Schedule Name - 0.4500, !- Fan Total Efficiency + 0.4500, !- Fan Efficiency 125.0000, !- Pressure Rise {Pa} 0.3861, !- Maximum Flow Rate {m3/s} Bathrooms Exhaust Fan 1 Inlet Node, !- Air Inlet Node Name @@ -6830,6 +6846,10 @@ ALWAYS_ON, !- Availability Schedule Name Offices Baseboard Heater Inlet Node Name, !- Inlet Node Name Offices Baseboard Heater Outlet Node Name, !- Outlet Node Name + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} AUTOSIZE, !- U-Factor Times Area Value {W/K} AUTOSIZE, !- Maximum Water Flow Rate {m3/s} 0.001; !- Convergence Tolerance @@ -7497,6 +7517,10 @@ ALWAYS_ON, !- Availability Schedule Name Media_Center Baseboard Heater Inlet Node Name, !- Inlet Node Name Media_Center Baseboard Heater Outlet Node Name, !- Outlet Node Name + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} AUTOSIZE, !- U-Factor Times Area Value {W/K} AUTOSIZE, !- Maximum Water Flow Rate {m3/s} 0.001; !- Convergence Tolerance @@ -7742,7 +7766,7 @@ Fan:VariableVolume, DOAS_POD_1_OA_Fan, !- Name MinOA_Sched, !- Availability Schedule Name - 0.69, !- Fan Total Efficiency + 0.69, !- Fan Efficiency 1000, !- Pressure Rise {Pa} AUTOSIZE, !- Maximum Flow Rate {m3/s} FixedFlowRate, !- Fan Power Minimum Flow Rate Input Method @@ -8094,7 +8118,7 @@ Fan:VariableVolume, DUALDUCT_OTHER_OA_Fan, !- Name HVACOperationSchd, !- Availability Schedule Name - 0.69, !- Fan Total Efficiency + 0.69, !- Fan Efficiency 1000, !- Pressure Rise {Pa} AUTOSIZE, !- Maximum Flow Rate {m3/s} FixedFlowRate, !- Fan Power Minimum Flow Rate Input Method @@ -8138,7 +8162,7 @@ Fan:VariableVolume, DUALDUCT_OTHER_RC_Fan, !- Name HVACOperationSchd, !- Availability Schedule Name - 0.69, !- Fan Total Efficiency + 0.69, !- Fan Efficiency 1000, !- Pressure Rise {Pa} AUTOSIZE, !- Maximum Flow Rate {m3/s} FixedFlowRate, !- Fan Power Minimum Flow Rate Input Method diff --git a/testfiles/EMSUserDefinedWindACAuto.idf b/testfiles/EMSUserDefinedWindACAuto.idf index 257979e114a..6c6bf92a498 100644 --- a/testfiles/EMSUserDefinedWindACAuto.idf +++ b/testfiles/EMSUserDefinedWindACAuto.idf @@ -1593,6 +1593,10 @@ FanAndCoilAvailSched, !- Availability Schedule Name Zone1BBHWInletNode, !- Inlet Node Name Zone1BBHWOutletNode, !- Outlet Node Name + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} autosize, !- U-Factor Times Area Value {W/K} autosize, !- Maximum Water Flow Rate {m3/s} 0.001; !- Convergence Tolerance @@ -1629,6 +1633,10 @@ FanAndCoilAvailSched, !- Availability Schedule Name Zone2BBHWInletNode, !- Inlet Node Name Zone2BBHWOutletNode, !- Outlet Node Name + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} autosize, !- U-Factor Times Area Value {W/K} autosize, !- Maximum Water Flow Rate {m3/s} 0.001; !- Convergence Tolerance @@ -1665,6 +1673,10 @@ FanAndCoilAvailSched, !- Availability Schedule Name Zone3BBHWInletNode, !- Inlet Node Name Zone3BBHWOutletNode, !- Outlet Node Name + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} autosize, !- U-Factor Times Area Value {W/K} autosize, !- Maximum Water Flow Rate {m3/s} 0.001; !- Convergence Tolerance diff --git a/testfiles/HVACStandAloneERV_Economizer.idf b/testfiles/HVACStandAloneERV_Economizer.idf index 2f5e91a4a7d..9f2f07f28b8 100644 --- a/testfiles/HVACStandAloneERV_Economizer.idf +++ b/testfiles/HVACStandAloneERV_Economizer.idf @@ -1314,6 +1314,10 @@ FanAndCoilAvailSched, !- Availability Schedule Name Zone1BBHWInletNode, !- Inlet Node Name Zone1BBHWOutletNode, !- Outlet Node Name + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 500., !- U-Factor Times Area Value {W/K} 0.0013, !- Maximum Water Flow Rate {m3/s} 0.001; !- Convergence Tolerance @@ -1323,6 +1327,10 @@ FanAndCoilAvailSched, !- Availability Schedule Name Zone2BBHWInletNode, !- Inlet Node Name Zone2BBHWOutletNode, !- Outlet Node Name + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 500., !- U-Factor Times Area Value {W/K} 0.0012, !- Maximum Water Flow Rate {m3/s} 0.001; !- Convergence Tolerance @@ -1332,6 +1340,10 @@ FanAndCoilAvailSched, !- Availability Schedule Name Zone3BBHWInletNode, !- Inlet Node Name Zone3BBHWOutletNode, !- Outlet Node Name + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 500., !- U-Factor Times Area Value {W/K} 0.0013, !- Maximum Water Flow Rate {m3/s} 0.001; !- Convergence Tolerance diff --git a/testfiles/MultiStory.idf b/testfiles/MultiStory.idf index d2fb35c8c1d..ee6d3d9716b 100644 --- a/testfiles/MultiStory.idf +++ b/testfiles/MultiStory.idf @@ -903,7 +903,10 @@ ZoneHVAC:Baseboard:Convective:Electric, Gnd West Baseboard, !- Name AlwaysOnSchedule, !- Availability Schedule Name - AUTOSIZE, !- Nominal Capacity {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + AUTOSIZE, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.95; !- Efficiency Zone, @@ -1160,7 +1163,10 @@ ZoneHVAC:Baseboard:Convective:Electric, Gnd Center Baseboard, !- Name AlwaysOnSchedule, !- Availability Schedule Name - AUTOSIZE, !- Nominal Capacity {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + AUTOSIZE, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.95; !- Efficiency Zone, @@ -1433,7 +1439,10 @@ ZoneHVAC:Baseboard:Convective:Electric, Gnd East Baseboard, !- Name AlwaysOnSchedule, !- Availability Schedule Name - AUTOSIZE, !- Nominal Capacity {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + AUTOSIZE, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.95; !- Efficiency ZoneGroup, @@ -1717,7 +1726,10 @@ ZoneHVAC:Baseboard:Convective:Electric, Mid West Baseboard, !- Name AlwaysOnSchedule, !- Availability Schedule Name - AUTOSIZE, !- Nominal Capacity {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + AUTOSIZE, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.95; !- Efficiency Zone, @@ -1974,7 +1986,10 @@ ZoneHVAC:Baseboard:Convective:Electric, Mid Center Baseboard, !- Name AlwaysOnSchedule, !- Availability Schedule Name - AUTOSIZE, !- Nominal Capacity {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + AUTOSIZE, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.95; !- Efficiency Zone, @@ -2247,7 +2262,10 @@ ZoneHVAC:Baseboard:Convective:Electric, Mid East Baseboard, !- Name AlwaysOnSchedule, !- Availability Schedule Name - AUTOSIZE, !- Nominal Capacity {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + AUTOSIZE, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.95; !- Efficiency ZoneGroup, @@ -2531,7 +2549,10 @@ ZoneHVAC:Baseboard:Convective:Electric, Top West Baseboard, !- Name AlwaysOnSchedule, !- Availability Schedule Name - AUTOSIZE, !- Nominal Capacity {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + AUTOSIZE, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.95; !- Efficiency Zone, @@ -2788,7 +2809,10 @@ ZoneHVAC:Baseboard:Convective:Electric, Top Center Baseboard, !- Name AlwaysOnSchedule, !- Availability Schedule Name - AUTOSIZE, !- Nominal Capacity {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + AUTOSIZE, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.95; !- Efficiency Zone, @@ -3061,7 +3085,10 @@ ZoneHVAC:Baseboard:Convective:Electric, Top East Baseboard, !- Name AlwaysOnSchedule, !- Availability Schedule Name - AUTOSIZE, !- Nominal Capacity {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + AUTOSIZE, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.95; !- Efficiency ScheduleTypeLimits, diff --git a/testfiles/RadHiTempElecTermReheat.idf b/testfiles/RadHiTempElecTermReheat.idf index 867e470eee3..9a2329e81aa 100644 --- a/testfiles/RadHiTempElecTermReheat.idf +++ b/testfiles/RadHiTempElecTermReheat.idf @@ -2116,7 +2116,10 @@ Zone 1 Radiant Heater, !- Name RadiantPanelAvailSched, !- Availability Schedule Name West Zone, !- Zone Name - 10000, !- Maximum Power Input {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + 10000, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} Electricity, !- Fuel Type 1.0, !- Combustion Efficiency 0.80, !- Fraction of Input Converted to Radiant Energy @@ -2141,7 +2144,10 @@ Zone 2 Radiant Heater, !- Name RadiantPanelAvailSched, !- Availability Schedule Name EAST ZONE, !- Zone Name - 10000, !- Maximum Power Input {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + 10000, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} Electricity, !- Fuel Type 1.0, !- Combustion Efficiency 0.80, !- Fraction of Input Converted to Radiant Energy @@ -2166,7 +2172,10 @@ Zone 3 Radiant Heater, !- Name RadiantPanelAvailSched, !- Availability Schedule Name NORTH ZONE, !- Zone Name - 15000, !- Maximum Power Input {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + 15000, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} Electricity, !- Fuel Type 1.0, !- Combustion Efficiency 0.80, !- Fraction of Input Converted to Radiant Energy diff --git a/testfiles/RadHiTempGasCtrlOpt.idf b/testfiles/RadHiTempGasCtrlOpt.idf index 9c60d5ea99b..52279e6214c 100644 --- a/testfiles/RadHiTempGasCtrlOpt.idf +++ b/testfiles/RadHiTempGasCtrlOpt.idf @@ -2110,7 +2110,10 @@ Zone 1 Radiant Heater, !- Name RadiantPanelAvailSched, !- Availability Schedule Name West Zone, !- Zone Name - 10000, !- Maximum Power Input {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + 10000, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} NaturalGas, !- Fuel Type 0.85, !- Combustion Efficiency 0.75, !- Fraction of Input Converted to Radiant Energy @@ -2135,7 +2138,10 @@ Zone 2 Radiant Heater, !- Name RadiantPanelAvailSched, !- Availability Schedule Name EAST ZONE, !- Zone Name - 10000, !- Maximum Power Input {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + 10000, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} NaturalGas, !- Fuel Type 0.8, !- Combustion Efficiency 0.80, !- Fraction of Input Converted to Radiant Energy @@ -2160,7 +2166,10 @@ Zone 3 Radiant Heater, !- Name RadiantPanelAvailSched, !- Availability Schedule Name NORTH ZONE, !- Zone Name - 15000, !- Maximum Power Input {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + 15000, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} NaturalGas, !- Fuel Type 0.9, !- Combustion Efficiency 0.80, !- Fraction of Input Converted to Radiant Energy diff --git a/testfiles/RadHiTempGasTermReheat.idf b/testfiles/RadHiTempGasTermReheat.idf index 641381553fd..9399c67d336 100644 --- a/testfiles/RadHiTempGasTermReheat.idf +++ b/testfiles/RadHiTempGasTermReheat.idf @@ -2116,7 +2116,10 @@ Zone 1 Radiant Heater, !- Name RadiantPanelAvailSched, !- Availability Schedule Name West Zone, !- Zone Name - 10000, !- Maximum Power Input {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + 10000, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} NaturalGas, !- Fuel Type 0.85, !- Combustion Efficiency 0.75, !- Fraction of Input Converted to Radiant Energy @@ -2141,7 +2144,10 @@ Zone 2 Radiant Heater, !- Name RadiantPanelAvailSched, !- Availability Schedule Name EAST ZONE, !- Zone Name - 10000, !- Maximum Power Input {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + 10000, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} NaturalGas, !- Fuel Type 0.8, !- Combustion Efficiency 0.80, !- Fraction of Input Converted to Radiant Energy @@ -2166,7 +2172,10 @@ Zone 3 Radiant Heater, !- Name RadiantPanelAvailSched, !- Availability Schedule Name NORTH ZONE, !- Zone Name - 15000, !- Maximum Power Input {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + 15000, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} NaturalGas, !- Fuel Type 0.9, !- Combustion Efficiency 0.80, !- Fraction of Input Converted to Radiant Energy diff --git a/testfiles/RadLoHydrHeatCoolAuto.idf b/testfiles/RadLoHydrHeatCoolAuto.idf index 389314274af..d4fe8cf3ff1 100644 --- a/testfiles/RadLoHydrHeatCoolAuto.idf +++ b/testfiles/RadLoHydrHeatCoolAuto.idf @@ -1889,11 +1889,19 @@ 0.013, !- Hydronic Tubing Inside Diameter {m} autosize, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} autosize, !- Maximum Hot Water Flow {m3/s} West Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name West Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} autosize, !- Maximum Cold Water Flow {m3/s} Zone 1 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 1 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name @@ -1912,11 +1920,19 @@ 0.013, !- Hydronic Tubing Inside Diameter {m} autosize, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} autosize, !- Maximum Hot Water Flow {m3/s} East Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name East Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} autosize, !- Maximum Cold Water Flow {m3/s} Zone 2 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 2 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name @@ -1935,11 +1951,19 @@ 0.013, !- Hydronic Tubing Inside Diameter {m} autosize, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} autosize, !- Maximum Hot Water Flow {m3/s} North Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name North Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} autosize, !- Maximum Cold Water Flow {m3/s} Zone 3 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 3 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name diff --git a/testfiles/RadLoHydrHeatCoolAutoCondFD.idf b/testfiles/RadLoHydrHeatCoolAutoCondFD.idf index 0b37eb23f26..1bc442d681e 100644 --- a/testfiles/RadLoHydrHeatCoolAutoCondFD.idf +++ b/testfiles/RadLoHydrHeatCoolAutoCondFD.idf @@ -1382,11 +1382,19 @@ 0.013, !- Hydronic Tubing Inside Diameter {m} autosize, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} autosize, !- Maximum Hot Water Flow {m3/s} West Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name West Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} autosize, !- Maximum Cold Water Flow {m3/s} Zone 1 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 1 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name @@ -1405,11 +1413,19 @@ 0.013, !- Hydronic Tubing Inside Diameter {m} autosize, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} autosize, !- Maximum Hot Water Flow {m3/s} East Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name East Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} autosize, !- Maximum Cold Water Flow {m3/s} Zone 2 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 2 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name @@ -1428,11 +1444,19 @@ 0.013, !- Hydronic Tubing Inside Diameter {m} autosize, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} autosize, !- Maximum Hot Water Flow {m3/s} North Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name North Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} autosize, !- Maximum Cold Water Flow {m3/s} Zone 3 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 3 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name diff --git a/testfiles/RadLoTempElecTermReheat.idf b/testfiles/RadLoTempElecTermReheat.idf index 84dcf78ccbf..acf1fec0cd9 100644 --- a/testfiles/RadLoTempElecTermReheat.idf +++ b/testfiles/RadLoTempElecTermReheat.idf @@ -2113,7 +2113,10 @@ RadiantPanelAvailSched, !- Availability Schedule Name West Zone, !- Zone Name Zn001:Flr001, !- Surface Name or Radiant Surface Group Name - 10000, !- Maximum Electrical Power to Panel {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + 10000, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} MeanAirTemperature, !- Temperature Control Type 2.0, !- Heating Throttling Range {deltaC} Radiant Heating Setpoints; !- Heating Setpoint Temperature Schedule Name @@ -2123,7 +2126,10 @@ RadiantPanelAvailSched, !- Availability Schedule Name EAST ZONE, !- Zone Name Zn002:Flr001, !- Surface Name or Radiant Surface Group Name - 10000, !- Maximum Electrical Power to Panel {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + 10000, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} MeanRadiantTemperature, !- Temperature Control Type 2.0, !- Heating Throttling Range {deltaC} Radiant Heating Setpoints; !- Heating Setpoint Temperature Schedule Name @@ -2133,7 +2139,10 @@ RadiantPanelAvailSched, !- Availability Schedule Name NORTH ZONE, !- Zone Name Zn003:Flr001, !- Surface Name or Radiant Surface Group Name - 15000, !- Maximum Electrical Power to Panel {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + 15000, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} OperativeTemperature, !- Temperature Control Type 2.0, !- Heating Throttling Range {deltaC} Radiant Heating Setpoints; !- Heating Setpoint Temperature Schedule Name diff --git a/testfiles/RadLoTempElecTermReheatCondFD.idf b/testfiles/RadLoTempElecTermReheatCondFD.idf index 2bced5f8964..8b4cc7d708b 100644 --- a/testfiles/RadLoTempElecTermReheatCondFD.idf +++ b/testfiles/RadLoTempElecTermReheatCondFD.idf @@ -1267,7 +1267,10 @@ RadiantPanelAvailSched, !- Availability Schedule Name West Zone, !- Zone Name Zn001:Flr001, !- Surface Name or Radiant Surface Group Name - 10000, !- Maximum Electrical Power to Panel {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + 10000, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} MeanAirTemperature, !- Temperature Control Type 2.0, !- Heating Throttling Range {deltaC} Radiant Heating Setpoints; !- Heating Setpoint Temperature Schedule Name @@ -1277,7 +1280,10 @@ RadiantPanelAvailSched, !- Availability Schedule Name EAST ZONE, !- Zone Name Zn002:Flr001, !- Surface Name or Radiant Surface Group Name - 10000, !- Maximum Electrical Power to Panel {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + 10000, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} MeanRadiantTemperature, !- Temperature Control Type 2.0, !- Heating Throttling Range {deltaC} Radiant Heating Setpoints; !- Heating Setpoint Temperature Schedule Name @@ -1287,7 +1293,10 @@ RadiantPanelAvailSched, !- Availability Schedule Name NORTH ZONE, !- Zone Name Zn003:Flr001, !- Surface Name or Radiant Surface Group Name - 15000, !- Maximum Electrical Power to Panel {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + 15000, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} OperativeTemperature, !- Temperature Control Type 2.0, !- Heating Throttling Range {deltaC} Radiant Heating Setpoints; !- Heating Setpoint Temperature Schedule Name diff --git a/testfiles/RadLoTempHydrCoolTower.idf b/testfiles/RadLoTempHydrCoolTower.idf index 4cff0fdedf2..9536ce6afb0 100644 --- a/testfiles/RadLoTempHydrCoolTower.idf +++ b/testfiles/RadLoTempHydrCoolTower.idf @@ -1600,11 +1600,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.00008, !- Maximum Hot Water Flow {m3/s} West Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name West Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0025, !- Maximum Cold Water Flow {m3/s} Zone 1 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 1 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name @@ -1623,11 +1631,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.00008, !- Maximum Hot Water Flow {m3/s} East Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name East Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0025, !- Maximum Cold Water Flow {m3/s} Zone 2 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 2 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name @@ -1646,11 +1662,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.00010, !- Maximum Hot Water Flow {m3/s} North Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name North Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0035, !- Maximum Cold Water Flow {m3/s} Zone 3 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 3 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name diff --git a/testfiles/RadLoTempHydrCoolTowerCondFD.idf b/testfiles/RadLoTempHydrCoolTowerCondFD.idf index fcb6928b06f..b227016036f 100644 --- a/testfiles/RadLoTempHydrCoolTowerCondFD.idf +++ b/testfiles/RadLoTempHydrCoolTowerCondFD.idf @@ -1238,11 +1238,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.00008, !- Maximum Hot Water Flow {m3/s} West Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name West Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0025, !- Maximum Cold Water Flow {m3/s} Zone 1 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 1 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name @@ -1261,11 +1269,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.00008, !- Maximum Hot Water Flow {m3/s} East Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name East Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0025, !- Maximum Cold Water Flow {m3/s} Zone 2 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 2 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name @@ -1284,11 +1300,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.00010, !- Maximum Hot Water Flow {m3/s} North Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name North Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0035, !- Maximum Cold Water Flow {m3/s} Zone 3 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 3 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name diff --git a/testfiles/RadLoTempHydrCtrlOpt.idf b/testfiles/RadLoTempHydrCtrlOpt.idf index b4e548e68a5..596268b6d60 100644 --- a/testfiles/RadLoTempHydrCtrlOpt.idf +++ b/testfiles/RadLoTempHydrCtrlOpt.idf @@ -1930,11 +1930,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.00008, !- Maximum Hot Water Flow {m3/s} West Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name West Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0012, !- Maximum Cold Water Flow {m3/s} Zone 1 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 1 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name @@ -1953,11 +1961,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} MeanRadiantTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.00008, !- Maximum Hot Water Flow {m3/s} East Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name East Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0012, !- Maximum Cold Water Flow {m3/s} Zone 2 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 2 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name @@ -1976,11 +1992,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} OperativeTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.00010, !- Maximum Hot Water Flow {m3/s} North Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name North Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0015, !- Maximum Cold Water Flow {m3/s} Zone 3 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 3 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name diff --git a/testfiles/RadLoTempHydrCtrlOpt2.idf b/testfiles/RadLoTempHydrCtrlOpt2.idf index 07db51feddd..489c9ed4c33 100644 --- a/testfiles/RadLoTempHydrCtrlOpt2.idf +++ b/testfiles/RadLoTempHydrCtrlOpt2.idf @@ -1932,11 +1932,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.00008, !- Maximum Hot Water Flow {m3/s} West Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name West Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0012, !- Maximum Cold Water Flow {m3/s} Zone 1 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 1 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name @@ -1955,11 +1963,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} OutdoorDryBulbTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.00008, !- Maximum Hot Water Flow {m3/s} East Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name East Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0012, !- Maximum Cold Water Flow {m3/s} Zone 2 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 2 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name @@ -1978,11 +1994,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} OutdoorWetBulbTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.00010, !- Maximum Hot Water Flow {m3/s} North Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name North Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0015, !- Maximum Cold Water Flow {m3/s} Zone 3 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 3 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name diff --git a/testfiles/RadLoTempHydrHeatCool.idf b/testfiles/RadLoTempHydrHeatCool.idf index 5f10e116dc7..b0eafd3e43a 100644 --- a/testfiles/RadLoTempHydrHeatCool.idf +++ b/testfiles/RadLoTempHydrHeatCool.idf @@ -1920,11 +1920,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.00008, !- Maximum Hot Water Flow {m3/s} West Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name West Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0012, !- Maximum Cold Water Flow {m3/s} Zone 1 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 1 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name @@ -1943,11 +1951,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.00008, !- Maximum Hot Water Flow {m3/s} East Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name East Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0012, !- Maximum Cold Water Flow {m3/s} Zone 2 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 2 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name @@ -1966,11 +1982,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.00010, !- Maximum Hot Water Flow {m3/s} North Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name North Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0015, !- Maximum Cold Water Flow {m3/s} Zone 3 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 3 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name diff --git a/testfiles/RadLoTempHydrHeatCool2D.idf b/testfiles/RadLoTempHydrHeatCool2D.idf index 44136a78bbd..7e93b75f891 100644 --- a/testfiles/RadLoTempHydrHeatCool2D.idf +++ b/testfiles/RadLoTempHydrHeatCool2D.idf @@ -1920,11 +1920,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.00008, !- Maximum Hot Water Flow {m3/s} West Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name West Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0012, !- Maximum Cold Water Flow {m3/s} Zone 1 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 1 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name @@ -1943,11 +1951,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.00008, !- Maximum Hot Water Flow {m3/s} East Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name East Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0012, !- Maximum Cold Water Flow {m3/s} Zone 2 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 2 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name @@ -1966,11 +1982,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.00010, !- Maximum Hot Water Flow {m3/s} North Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name North Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0015, !- Maximum Cold Water Flow {m3/s} Zone 3 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 3 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name diff --git a/testfiles/RadLoTempHydrHeatCoolDry.idf b/testfiles/RadLoTempHydrHeatCoolDry.idf index 3c07b891d1c..9ae4a7920eb 100644 --- a/testfiles/RadLoTempHydrHeatCoolDry.idf +++ b/testfiles/RadLoTempHydrHeatCoolDry.idf @@ -1920,11 +1920,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.00008, !- Maximum Hot Water Flow {m3/s} West Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name West Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0012, !- Maximum Cold Water Flow {m3/s} Zone 1 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 1 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name @@ -1943,11 +1951,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.00008, !- Maximum Hot Water Flow {m3/s} East Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name East Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0012, !- Maximum Cold Water Flow {m3/s} Zone 2 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 2 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name @@ -1966,11 +1982,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.00010, !- Maximum Hot Water Flow {m3/s} North Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name North Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0015, !- Maximum Cold Water Flow {m3/s} Zone 3 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 3 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name diff --git a/testfiles/RadLoTempHydrHeatCoolDryCondFD.idf b/testfiles/RadLoTempHydrHeatCoolDryCondFD.idf index 2473b767c98..d0658dad88d 100644 --- a/testfiles/RadLoTempHydrHeatCoolDryCondFD.idf +++ b/testfiles/RadLoTempHydrHeatCoolDryCondFD.idf @@ -1257,11 +1257,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.00008, !- Maximum Hot Water Flow {m3/s} West Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name West Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0012, !- Maximum Cold Water Flow {m3/s} Zone 1 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 1 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name @@ -1280,11 +1288,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.00008, !- Maximum Hot Water Flow {m3/s} East Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name East Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0012, !- Maximum Cold Water Flow {m3/s} Zone 2 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 2 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name @@ -1303,11 +1319,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.00010, !- Maximum Hot Water Flow {m3/s} North Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name North Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0015, !- Maximum Cold Water Flow {m3/s} Zone 3 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 3 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name diff --git a/testfiles/RadLoTempHydrInterMulti.idf b/testfiles/RadLoTempHydrInterMulti.idf index ebc67df030b..362a2437a70 100644 --- a/testfiles/RadLoTempHydrInterMulti.idf +++ b/testfiles/RadLoTempHydrInterMulti.idf @@ -1912,11 +1912,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.00008, !- Maximum Hot Water Flow {m3/s} West Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name West Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0012, !- Maximum Cold Water Flow {m3/s} Zone 1 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 1 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name @@ -1942,11 +1950,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.00018, !- Maximum Hot Water Flow {m3/s} East Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name East Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0027, !- Maximum Cold Water Flow {m3/s} Zone 2 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 2 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name diff --git a/testfiles/RadLoTempHydrMulti10.idf b/testfiles/RadLoTempHydrMulti10.idf index 530633f9989..f8f3db8d5bd 100644 --- a/testfiles/RadLoTempHydrMulti10.idf +++ b/testfiles/RadLoTempHydrMulti10.idf @@ -1644,11 +1644,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.0002, !- Maximum Hot Water Flow {m3/s} West Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name West Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0025, !- Maximum Cold Water Flow {m3/s} Zone 1 Cooling Water Inlet Node, !- Cooling Water Inlet Node Name Zone 1 Cooling Water Outlet Node, !- Cooling Water Outlet Node Name diff --git a/testfiles/RadLoTempHydrTermReheat.idf b/testfiles/RadLoTempHydrTermReheat.idf index f14e5d2872a..0da10ae1bec 100644 --- a/testfiles/RadLoTempHydrTermReheat.idf +++ b/testfiles/RadLoTempHydrTermReheat.idf @@ -2159,11 +2159,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.00008, !- Maximum Hot Water Flow {m3/s} West Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name West Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0, !- Maximum Cold Water Flow {m3/s} , !- Cooling Water Inlet Node Name , !- Cooling Water Outlet Node Name @@ -2182,11 +2190,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.00008, !- Maximum Hot Water Flow {m3/s} East Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name East Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0, !- Maximum Cold Water Flow {m3/s} , !- Cooling Water Inlet Node Name , !- Cooling Water Outlet Node Name @@ -2205,11 +2221,19 @@ 0.012, !- Hydronic Tubing Inside Diameter {m} 400.0, !- Hydronic Tubing Length {m} MeanAirTemperature, !- Temperature Control Type + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.00010, !- Maximum Hot Water Flow {m3/s} North Zone Radiant Water Inlet Node, !- Heating Water Inlet Node Name North Zone Radiant Water Outlet Node, !- Heating Water Outlet Node Name 2.0, !- Heating Control Throttling Range {deltaC} Radiant Heating Setpoints, !- Heating Control Temperature Schedule Name + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity{ W } + , !- Cooling Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Cooling Design Capacity{ -} 0.0, !- Maximum Cold Water Flow {m3/s} , !- Cooling Water Inlet Node Name , !- Cooling Water Outlet Node Name diff --git a/testfiles/StripMallZoneEvapCooler.idf b/testfiles/StripMallZoneEvapCooler.idf index 0316f89ce09..5a1a243a056 100644 --- a/testfiles/StripMallZoneEvapCooler.idf +++ b/testfiles/StripMallZoneEvapCooler.idf @@ -3959,8 +3959,35 @@ EvaporativeCooler:Indirect:CelDekPad, !- First Evaporative Cooler Object Type LGstore1 Indirect Evaporative Cooler, !- First Evaporative Cooler Object Name EvaporativeCooler:Direct:ResearchSpecial, !- Second Evaporative Cooler Object Type - LGstore1 Direct Evaporative Cooler; !- Second Evaporative Cooler Name - + LGstore1 Direct Evaporative Cooler; !- Second Evaporative Cooler Name + !; !- Design Specification ZoneHVAC Sizing Object Name + + DesignSpecification:ZoneHVAC:Sizing, + LGstore1DesignSpec, !- Name + SupplyAirFlowRate, !- Cooling Design Air Flow Method + autosize, !- Cooling Design Supply Air Flow Rate + , !- Cooling Design Supply Air Flow Rate Per Floor Area + , !- Fraction of Autosized Cooling Design Supply Air Flow Rate + , !- Cooling Design Supply Air Flow Rate Per Unit of Capacity {m3/s-W} + SupplyAirFlowRate, !- Supply Air Flow Rate Method When No Cooling or Heating is Required + autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required + , !- Supply Air Flow Rate Per Floor Area When No Clg or Htg is Required + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Clg or Htg + , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Clg or Htg + SupplyAirFlowRate, !- Heating Design Air Flow Method + autosize, !- Heating Design Supply Air Flow Rate + , !- Heating Design Supply Air Flow Rate Per Floor Area + , !- Fraction of Autosized Heating Design Supply Air Flow Rate + , !- Heating Design Supply Air Flow Rate Per Unit of Heating Capacity + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity {W} + , !- Cooling Design Capacity Per Floor Area {W/m2} + , !- Fraction of Autosized Cooling Design Capacity {-} + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity {W} + , !- Heating Design Capacity Per Floor Area {W/m2} + ; !- Fraction of Autosized Cooling Design Capacity {-} + OutdoorAir:Node, LGstore1 Cooler Unit OA Inlet; !- Name @@ -4191,7 +4218,34 @@ LGstore2 Evaporative Cooler, !- First Evaporative Cooler Object Name , !- Second Evaporative Cooler Object Type ; !- Second Evaporative Cooler Name - + !; !- Design Specification ZoneHVAC Sizing Object Name + + DesignSpecification:ZoneHVAC:Sizing, + LGstore2DesignSpec, !- Name + SupplyAirFlowRate, !- Cooling Design Air Flow Method + 1.0, !- Cooling Design Supply Air Flow Rate + , !- Cooling Design Supply Air Flow Rate Per Floor Area + , !- Fraction of Autosized Cooling Design Supply Air Flow Rate + , !- Cooling Design Supply Air Flow Rate Per Unit of Capacity {m3/s-W} + SupplyAirFlowRate, !- Supply Air Flow Rate Method When No Cooling or Heating is Required + autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required + , !- Supply Air Flow Rate Per Floor Area When No Clg or Htg is Required + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Clg or Htg + , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Clg or Htg + SupplyAirFlowRate, !- Heating Design Air Flow Method + autosize, !- Heating Design Supply Air Flow Rate + , !- Heating Design Supply Air Flow Rate Per Floor Area + , !- Fraction of Autosized Heating Design Supply Air Flow Rate + , !- Heating Design Supply Air Flow Rate Per Unit of Heating Capacity + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity {W} + , !- Cooling Design Capacity Per Floor Area {W/m2} + , !- Fraction of Autosized Cooling Design Capacity {-} + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity {W} + , !- Heating Design Capacity Per Floor Area {W/m2} + ; !- Fraction of Autosized Cooling Design Capacity {-} + OutdoorAir:Node, LGstore2 Cooler Unit OA Inlet; !- Name @@ -4277,7 +4331,35 @@ SMstore2 Evaporative Cooler, !- First Evaporative Cooler Object Name , !- Second Evaporative Cooler Object Type ; !- Second Evaporative Cooler Name - + !SMstore2DesignSpec; !- Design Specification ZoneHVAC Sizing Object Name + + DesignSpecification:ZoneHVAC:Sizing, + SMstore2DesignSpec, !- Name + SupplyAirFlowRate, !- Cooling Design Air Flow Method + autosize, !- Cooling Design Supply Air Flow Rate + , !- Cooling Design Supply Air Flow Rate Per Floor Area + , !- Fraction of Autosized Cooling Design Supply Air Flow Rate + , !- Cooling Design Supply Air Flow Rate Per Unit of Capacity {m3/s-W} + SupplyAirFlowRate, !- Supply Air Flow Rate Method When No Cooling or Heating is Required + autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required + , !- Supply Air Flow Rate Per Floor Area When No Clg or Htg is Required + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Clg or Htg + , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Clg or Htg + SupplyAirFlowRate, !- Heating Design Air Flow Method + autosize, !- Heating Design Supply Air Flow Rate + , !- Heating Design Supply Air Flow Rate Per Floor Area + , !- Fraction of Autosized Heating Design Supply Air Flow Rate + , !- Heating Design Supply Air Flow Rate Per Unit of Heating Capacity + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity {W} + , !- Cooling Design Capacity Per Floor Area {W/m2} + , !- Fraction of Autosized Cooling Design Capacity {-} + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity {W} + , !- Heating Design Capacity Per Floor Area {W/m2} + ; !- Fraction of Autosized Cooling Design Capacity {-} + + OutdoorAir:Node, SMstore2 Cooler Unit OA Inlet; !- Name @@ -4320,7 +4402,34 @@ SMstore3 Evaporative Cooler, !- First Evaporative Cooler Object Name , !- Second Evaporative Cooler Object Type ; !- Second Evaporative Cooler Name - + !; !- Design Specification ZoneHVAC Sizing Object Name + + DesignSpecification:ZoneHVAC:Sizing, + SMstore3DesignSpec, !- Name + SupplyAirFlowRate, !- Cooling Design Air Flow Method + autosize, !- Cooling Design Supply Air Flow Rate + , !- Cooling Design Supply Air Flow Rate Per Floor Area + , !- Fraction of Autosized Cooling Design Supply Air Flow Rate + , !- Cooling Design Supply Air Flow Rate Per Unit of Capacity {m3/s-W} + SupplyAirFlowRate, !- Supply Air Flow Rate Method When No Cooling or Heating is Required + autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required + , !- Supply Air Flow Rate Per Floor Area When No Clg or Htg is Required + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Clg or Htg + , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Clg or Htg + SupplyAirFlowRate, !- Heating Design Air Flow Method + autosize, !- Heating Design Supply Air Flow Rate + , !- Heating Design Supply Air Flow Rate Per Floor Area + , !- Fraction of Autosized Heating Design Supply Air Flow Rate + , !- Heating Design Supply Air Flow Rate Per Unit of Heating Capacity + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity {W} + , !- Cooling Design Capacity Per Floor Area {W/m2} + , !- Fraction of Autosized Cooling Design Capacity {-} + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity {W} + , !- Heating Design Capacity Per Floor Area {W/m2} + ; !- Fraction of Autosized Cooling Design Capacity {-} + OutdoorAir:Node, SMstore3 Cooler Unit OA Inlet; !- Name @@ -4371,7 +4480,34 @@ SMstore4 Evaporative Cooler, !- First Evaporative Cooler Object Name , !- Second Evaporative Cooler Object Type ; !- Second Evaporative Cooler Name - + !; !- Design Specification ZoneHVAC Sizing Object Name + + DesignSpecification:ZoneHVAC:Sizing, + SMstore4DesignSpec, !- Name + SupplyAirFlowRate, !- Cooling Design Air Flow Method + autosize, !- Cooling Design Supply Air Flow Rate + , !- Cooling Design Supply Air Flow Rate Per Floor Area + , !- Fraction of Autosized Cooling Design Supply Air Flow Rate + , !- Cooling Design Supply Air Flow Rate Per Unit of Capacity {m3/s-W} + SupplyAirFlowRate, !- Supply Air Flow Rate Method When No Cooling or Heating is Required + autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required + , !- Supply Air Flow Rate Per Floor Area When No Clg or Htg is Required + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Clg or Htg + , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Clg or Htg + SupplyAirFlowRate, !- Heating Design Air Flow Method + autosize, !- Heating Design Supply Air Flow Rate + , !- Heating Design Supply Air Flow Rate Per Floor Area + , !- Fraction of Autosized Heating Design Supply Air Flow Rate + , !- Heating Design Supply Air Flow Rate Per Unit of Heating Capacity + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity {W} + , !- Cooling Design Capacity Per Floor Area {W/m2} + , !- Fraction of Autosized Cooling Design Capacity {-} + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity {W} + , !- Heating Design Capacity Per Floor Area {W/m2} + ; !- Fraction of Autosized Cooling Design Capacity {-} + OutdoorAir:Node, SMstore4 Cooler Unit OA Inlet; !- Name @@ -4424,7 +4560,34 @@ SMstore5 Evaporative Cooler, !- First Evaporative Cooler Object Name , !- Second Evaporative Cooler Object Type ; !- Second Evaporative Cooler Name - + !; !- Design Specification ZoneHVAC Sizing Object Name + + DesignSpecification:ZoneHVAC:Sizing, + SMstore5DesignSpec, !- Name + SupplyAirFlowRate, !- Cooling Design Air Flow Method + autosize, !- Cooling Design Supply Air Flow Rate + , !- Cooling Design Supply Air Flow Rate Per Floor Area + , !- Fraction of Autosized Cooling Design Supply Air Flow Rate + , !- Cooling Design Supply Air Flow Rate Per Unit of Capacity {m3/s-W} + SupplyAirFlowRate, !- Supply Air Flow Rate Method When No Cooling or Heating is Required + autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required + , !- Supply Air Flow Rate Per Floor Area When No Clg or Htg is Required + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Clg or Htg + , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Clg or Htg + SupplyAirFlowRate, !- Heating Design Air Flow Method + autosize, !- Heating Design Supply Air Flow Rate + , !- Heating Design Supply Air Flow Rate Per Floor Area + , !- Fraction of Autosized Heating Design Supply Air Flow Rate + , !- Heating Design Supply Air Flow Rate Per Unit of Heating Capacity + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity {W} + , !- Cooling Design Capacity Per Floor Area {W/m2} + , !- Fraction of Autosized Cooling Design Capacity {-} + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity {W} + , !- Heating Design Capacity Per Floor Area {W/m2} + ; !- Fraction of Autosized Cooling Design Capacity {-} + OutdoorAir:Node, SMstore5 Cooler Unit OA Inlet; !- Name @@ -4488,6 +4651,33 @@ SMstore6 Evaporative Cooler, !- First Evaporative Cooler Object Name , !- Second Evaporative Cooler Object Type ; !- Second Evaporative Cooler Name + !; !- Design Specification ZoneHVAC Sizing Object Name + + DesignSpecification:ZoneHVAC:Sizing, + SMstore6DesignSpec, !- Name + SupplyAirFlowRate, !- Cooling Design Air Flow Method + 0.65, !- Cooling Design Supply Air Flow Rate + , !- Cooling Design Supply Air Flow Rate Per Floor Area + , !- Fraction of Autosized Cooling Design Supply Air Flow Rate + , !- Cooling Design Supply Air Flow Rate Per Unit of Capacity {m3/s-W} + SupplyAirFlowRate, !- Supply Air Flow Rate Method When No Cooling or Heating is Required + autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required + , !- Supply Air Flow Rate Per Floor Area When No Clg or Htg is Required + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Clg or Htg + , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Clg or Htg + SupplyAirFlowRate, !- Heating Design Air Flow Method + autosize, !- Heating Design Supply Air Flow Rate + , !- Heating Design Supply Air Flow Rate Per Floor Area + , !- Fraction of Autosized Heating Design Supply Air Flow Rate + , !- Heating Design Supply Air Flow Rate Per Unit of Heating Capacity + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity {W} + , !- Cooling Design Capacity Per Floor Area {W/m2} + , !- Fraction of Autosized Cooling Design Capacity {-} + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity {W} + , !- Heating Design Capacity Per Floor Area {W/m2} + ; !- Fraction of Autosized Cooling Design Capacity {-} OutdoorAir:Node, SMstore6 Cooler Unit OA Inlet; !- Name @@ -4539,7 +4729,34 @@ SMstore7 Indirect Evaporative Cooler, !- First Evaporative Cooler Object Name EvaporativeCooler:Direct:CelDekPad, !- Second Evaporative Cooler Object Type SMstore7 Direct Evaporative Cooler; !- Second Evaporative Cooler Name - + !; !- Design Specification ZoneHVAC Sizing Object Name + + DesignSpecification:ZoneHVAC:Sizing, + SMstore7DesignSpec, !- Name + SupplyAirFlowRate, !- Cooling Design Air Flow Method + 0.65, !- Cooling Design Supply Air Flow Rate + , !- Cooling Design Supply Air Flow Rate Per Floor Area + , !- Fraction of Autosized Cooling Design Supply Air Flow Rate + , !- Cooling Design Supply Air Flow Rate Per Unit of Capacity {m3/s-W} + SupplyAirFlowRate, !- Supply Air Flow Rate Method When No Cooling or Heating is Required + autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required + , !- Supply Air Flow Rate Per Floor Area When No Clg or Htg is Required + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Clg or Htg + , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Clg or Htg + SupplyAirFlowRate, !- Heating Design Air Flow Method + autosize, !- Heating Design Supply Air Flow Rate + , !- Heating Design Supply Air Flow Rate Per Floor Area + , !- Fraction of Autosized Heating Design Supply Air Flow Rate + , !- Heating Design Supply Air Flow Rate Per Unit of Heating Capacity + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity {W} + , !- Cooling Design Capacity Per Floor Area {W/m2} + , !- Fraction of Autosized Cooling Design Capacity {-} + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity {W} + , !- Heating Design Capacity Per Floor Area {W/m2} + ; !- Fraction of Autosized Cooling Design Capacity {-} + OutdoorAir:Node, SMstore7 Cooler Unit OA Inlet; !- Name @@ -4600,7 +4817,34 @@ SMstore8 Indirect Evaporative Cooler, !- First Evaporative Cooler Object Name EvaporativeCooler:Direct:ResearchSpecial, !- Second Evaporative Cooler Object Type SMstore8 Direct Evaporative Cooler; !- Second Evaporative Cooler Name - + !; !- Design Specification ZoneHVAC Sizing Object Name + + DesignSpecification:ZoneHVAC:Sizing, + SMstore8DesignSpec, !- Name + SupplyAirFlowRate, !- Cooling Design Air Flow Method + autosize, !- Cooling Design Supply Air Flow Rate + , !- Cooling Design Supply Air Flow Rate Per Floor Area + , !- Fraction of Autosized Cooling Design Supply Air Flow Rate + , !- Cooling Design Supply Air Flow Rate Per Unit of Capacity {m3/s-W} + SupplyAirFlowRate, !- Supply Air Flow Rate Method When No Cooling or Heating is Required + autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required + , !- Supply Air Flow Rate Per Floor Area When No Clg or Htg is Required + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Clg or Htg + , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Clg or Htg + SupplyAirFlowRate, !- Heating Design Air Flow Method + autosize, !- Heating Design Supply Air Flow Rate + , !- Heating Design Supply Air Flow Rate Per Floor Area + , !- Fraction of Autosized Heating Design Supply Air Flow Rate + , !- Heating Design Supply Air Flow Rate Per Unit of Heating Capacity + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity {W} + , !- Cooling Design Capacity Per Floor Area {W/m2} + , !- Fraction of Autosized Cooling Design Capacity {-} + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity {W} + , !- Heating Design Capacity Per Floor Area {W/m2} + ; !- Fraction of Autosized Cooling Design Capacity {-} + OutdoorAir:Node, SMstore8 Cooler Unit OA Inlet; !- Name @@ -4791,62 +5035,92 @@ ZoneHVAC:Baseboard:Convective:Electric, LGstore1 Zone Baseboard, !- Name ALWAYS_ON, !- Availability Schedule Name - Autosize, !- Nominal Capacity {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + Autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.97; !- Efficiency ZoneHVAC:Baseboard:Convective:Electric, LGstore2 Zone Baseboard, !- Name ALWAYS_ON, !- Availability Schedule Name - Autosize, !- Nominal Capacity {W} - 0.97; !- Efficiency + HeatingDesignCapacity, !- Heating Design Capacity Method + Autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} + 0.97; !- Efficiency ZoneHVAC:Baseboard:Convective:Electric, SMstore1 Zone Baseboard, !- Name ALWAYS_ON, !- Availability Schedule Name - Autosize, !- Nominal Capacity {W} - 0.97; !- Efficiency + HeatingDesignCapacity, !- Heating Design Capacity Method + Autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} + 0.97; !- Efficiency ZoneHVAC:Baseboard:Convective:Electric, SMstore2 Zone Baseboard, !- Name ALWAYS_ON, !- Availability Schedule Name - Autosize, !- Nominal Capacity {W} - 0.97; !- Efficiency + HeatingDesignCapacity, !- Heating Design Capacity Method + Autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} + 0.97; !- Efficiency ZoneHVAC:Baseboard:Convective:Electric, SMstore3 Zone Baseboard, !- Name ALWAYS_ON, !- Availability Schedule Name - Autosize, !- Nominal Capacity {W} - 0.97; !- Efficiency + HeatingDesignCapacity, !- Heating Design Capacity Method + Autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} + 0.97; !- Efficiency ZoneHVAC:Baseboard:Convective:Electric, SMstore4 Zone Baseboard, !- Name ALWAYS_ON, !- Availability Schedule Name - Autosize, !- Nominal Capacity {W} - 0.97; !- Efficiency + HeatingDesignCapacity, !- Heating Design Capacity Method + Autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} + 0.97; !- Efficiency ZoneHVAC:Baseboard:Convective:Electric, SMstore5 Zone Baseboard, !- Name ALWAYS_ON, !- Availability Schedule Name - Autosize, !- Nominal Capacity {W} - 0.97; !- Efficiency + HeatingDesignCapacity, !- Heating Design Capacity Method + Autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} + 0.97; !- Efficiency ZoneHVAC:Baseboard:Convective:Electric, SMstore6 Zone Baseboard, !- Name ALWAYS_ON, !- Availability Schedule Name - Autosize, !- Nominal Capacity {W} - 0.97; !- Efficiency + HeatingDesignCapacity, !- Heating Design Capacity Method + Autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} + 0.97; !- Efficiency ZoneHVAC:Baseboard:Convective:Electric, SMstore7 Zone Baseboard, !- Name ALWAYS_ON, !- Availability Schedule Name - Autosize, !- Nominal Capacity {W} - 0.97; !- Efficiency + HeatingDesignCapacity, !- Heating Design Capacity Method + Autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} + 0.97; !- Efficiency ZoneHVAC:Baseboard:Convective:Electric, SMstore8 Zone Baseboard, !- Name ALWAYS_ON, !- Availability Schedule Name - Autosize, !- Nominal Capacity {W} - 0.97; !- Efficiency + HeatingDesignCapacity, !- Heating Design Capacity Method + Autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} + 0.97; !- Efficiency ! ***SCHEDULES*** diff --git a/testfiles/VAVSingleDuctReheatBaseboard.idf b/testfiles/VAVSingleDuctReheatBaseboard.idf index 63a88bf2660..760dca98383 100644 --- a/testfiles/VAVSingleDuctReheatBaseboard.idf +++ b/testfiles/VAVSingleDuctReheatBaseboard.idf @@ -2036,6 +2036,10 @@ FanAndCoilAvailSched, !- Availability Schedule Name Zone 1 Reheat Water Inlet Node, !- Inlet Node Name Zone 1 Reheat Water Outlet Node, !- Outlet Node Name + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 500., !- U-Factor Times Area Value {W/K} 0.0013, !- Maximum Water Flow Rate {m3/s} 0.001; !- Convergence Tolerance diff --git a/testfiles/WindACAuto.idf b/testfiles/WindACAuto.idf index c1834b9081d..39b2744be46 100644 --- a/testfiles/WindACAuto.idf +++ b/testfiles/WindACAuto.idf @@ -1579,6 +1579,10 @@ FanAndCoilAvailSched, !- Availability Schedule Name Zone1BBHWInletNode, !- Inlet Node Name Zone1BBHWOutletNode, !- Outlet Node Name + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} autosize, !- U-Factor Times Area Value {W/K} autosize, !- Maximum Water Flow Rate {m3/s} 0.001; !- Convergence Tolerance @@ -1666,6 +1670,10 @@ FanAndCoilAvailSched, !- Availability Schedule Name Zone2BBHWInletNode, !- Inlet Node Name Zone2BBHWOutletNode, !- Outlet Node Name + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} autosize, !- U-Factor Times Area Value {W/K} autosize, !- Maximum Water Flow Rate {m3/s} 0.001; !- Convergence Tolerance @@ -1753,6 +1761,10 @@ FanAndCoilAvailSched, !- Availability Schedule Name Zone3BBHWInletNode, !- Inlet Node Name Zone3BBHWOutletNode, !- Outlet Node Name + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} autosize, !- U-Factor Times Area Value {W/K} autosize, !- Maximum Water Flow Rate {m3/s} 0.001; !- Convergence Tolerance diff --git a/testfiles/WindACRHControl.idf b/testfiles/WindACRHControl.idf index c96f65eb370..033dff6fec9 100644 --- a/testfiles/WindACRHControl.idf +++ b/testfiles/WindACRHControl.idf @@ -1672,6 +1672,10 @@ FanAndCoilAvailSched, !- Availability Schedule Name Zone1BBHWInletNode, !- Inlet Node Name Zone1BBHWOutletNode, !- Outlet Node Name + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 500., !- U-Factor Times Area Value {W/K} 0.0013, !- Maximum Water Flow Rate {m3/s} 0.001; !- Convergence Tolerance @@ -1681,6 +1685,10 @@ FanAndCoilAvailSched, !- Availability Schedule Name Zone2BBHWInletNode, !- Inlet Node Name Zone2BBHWOutletNode, !- Outlet Node Name + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 500., !- U-Factor Times Area Value {W/K} 0.0012, !- Maximum Water Flow Rate {m3/s} 0.001; !- Convergence Tolerance @@ -1690,6 +1698,10 @@ FanAndCoilAvailSched, !- Availability Schedule Name Zone3BBHWInletNode, !- Inlet Node Name Zone3BBHWOutletNode, !- Outlet Node Name + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 500., !- U-Factor Times Area Value {W/K} 0.0013, !- Maximum Water Flow Rate {m3/s} 0.001; !- Convergence Tolerance From f25d82cce85d9314d2da0f4cf633506c134d3dcf Mon Sep 17 00:00:00 2001 From: Nigusse Date: Wed, 13 Aug 2014 19:11:38 -0400 Subject: [PATCH 04/19] Cleanup and modified code for diffs. --- src/EnergyPlus/FanCoilUnits.cc | 10 ++++++---- src/EnergyPlus/ReportSizingManager.cc | 4 ++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/EnergyPlus/FanCoilUnits.cc b/src/EnergyPlus/FanCoilUnits.cc index e1b31166f19..6cb1bd4a52d 100644 --- a/src/EnergyPlus/FanCoilUnits.cc +++ b/src/EnergyPlus/FanCoilUnits.cc @@ -1054,10 +1054,12 @@ namespace FanCoilUnits { CoolingAirVolFlowDes = 0.0; HeatingAirVolFlowDes = 0.0; - //DataFracOfAutosizedCoolingAirflow = 1.0; - //DataFracOfAutosizedHeatingAirflow = 1.0; - //DataFracOfAutosizedCoolingCapacity = 1.0; - //DataFracOfAutosizedHeatingCapacity = 1.0; + ZoneHeatingOnlyFan = false; + ZoneCoolingOnlyFan = false; + DataFracOfAutosizedCoolingAirflow = 1.0; + DataFracOfAutosizedHeatingAirflow = 1.0; + DataFracOfAutosizedCoolingCapacity = 1.0; + DataFracOfAutosizedHeatingCapacity = 1.0; CompType = FanCoil(FanCoilNum).UnitType; CompName = FanCoil(FanCoilNum).Name; diff --git a/src/EnergyPlus/ReportSizingManager.cc b/src/EnergyPlus/ReportSizingManager.cc index da189935347..18d9668f333 100644 --- a/src/EnergyPlus/ReportSizingManager.cc +++ b/src/EnergyPlus/ReportSizingManager.cc @@ -576,8 +576,8 @@ namespace ReportSizingManager { TotCapTempModFac = 1.0; } if (ZoneEqFanCoil) { - //PeakCoilLoad = max(0.0, (DesMassFlow * (CoilInEnth - CoilOutEnth))); PeakCoilLoad = max( 0.0, ( StdRhoAir * DesVolFlow * ( CoilInEnth - CoilOutEnth ) ) ); + //PeakCoilLoad = max(0.0, ( FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow * (CoilInEnth - CoilOutEnth))); } else if ( ZoneEqUnitVent ) { PeakCoilLoad = max( 0.0, ( StdRhoAir * DesVolFlow * ( CoilInEnth - CoilOutEnth ) ) ); } else { @@ -593,7 +593,7 @@ namespace ReportSizingManager { AutosizeDes = 0.0; } } - //AutosizeDes = AutosizeDes * DataFracOfAutosizedCoolingCapacity; + AutosizeDes = AutosizeDes * DataFracOfAutosizedCoolingCapacity; } else if ( SizingType == HeatingCapacitySizing ) { if (!IsAutoSize && !SizingDesRunThisZone && ! DataScalableCapSizingON) { From e0c7ac0073e0074e77b5f6590416c6d947956a5f Mon Sep 17 00:00:00 2001 From: Nigusse Date: Wed, 13 Aug 2014 19:26:07 -0400 Subject: [PATCH 05/19] Cleaned up. --- testfiles/StripMallZoneEvapCooler.idf | 262 +------------------------- 1 file changed, 9 insertions(+), 253 deletions(-) diff --git a/testfiles/StripMallZoneEvapCooler.idf b/testfiles/StripMallZoneEvapCooler.idf index 5a1a243a056..e5d4aee89fa 100644 --- a/testfiles/StripMallZoneEvapCooler.idf +++ b/testfiles/StripMallZoneEvapCooler.idf @@ -3960,35 +3960,8 @@ LGstore1 Indirect Evaporative Cooler, !- First Evaporative Cooler Object Name EvaporativeCooler:Direct:ResearchSpecial, !- Second Evaporative Cooler Object Type LGstore1 Direct Evaporative Cooler; !- Second Evaporative Cooler Name - !; !- Design Specification ZoneHVAC Sizing Object Name - - DesignSpecification:ZoneHVAC:Sizing, - LGstore1DesignSpec, !- Name - SupplyAirFlowRate, !- Cooling Design Air Flow Method - autosize, !- Cooling Design Supply Air Flow Rate - , !- Cooling Design Supply Air Flow Rate Per Floor Area - , !- Fraction of Autosized Cooling Design Supply Air Flow Rate - , !- Cooling Design Supply Air Flow Rate Per Unit of Capacity {m3/s-W} - SupplyAirFlowRate, !- Supply Air Flow Rate Method When No Cooling or Heating is Required - autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required - , !- Supply Air Flow Rate Per Floor Area When No Clg or Htg is Required - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Clg or Htg - , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Clg or Htg - SupplyAirFlowRate, !- Heating Design Air Flow Method - autosize, !- Heating Design Supply Air Flow Rate - , !- Heating Design Supply Air Flow Rate Per Floor Area - , !- Fraction of Autosized Heating Design Supply Air Flow Rate - , !- Heating Design Supply Air Flow Rate Per Unit of Heating Capacity - CoolingDesignCapacity, !- Cooling Design Capacity Method - autosize, !- Cooling Design Capacity {W} - , !- Cooling Design Capacity Per Floor Area {W/m2} - , !- Fraction of Autosized Cooling Design Capacity {-} - HeatingDesignCapacity, !- Heating Design Capacity Method - autosize, !- Heating Design Capacity {W} - , !- Heating Design Capacity Per Floor Area {W/m2} - ; !- Fraction of Autosized Cooling Design Capacity {-} - - OutdoorAir:Node, + + OutdoorAir:Node, LGstore1 Cooler Unit OA Inlet; !- Name Fan:ComponentModel, @@ -4218,34 +4191,7 @@ LGstore2 Evaporative Cooler, !- First Evaporative Cooler Object Name , !- Second Evaporative Cooler Object Type ; !- Second Evaporative Cooler Name - !; !- Design Specification ZoneHVAC Sizing Object Name - - DesignSpecification:ZoneHVAC:Sizing, - LGstore2DesignSpec, !- Name - SupplyAirFlowRate, !- Cooling Design Air Flow Method - 1.0, !- Cooling Design Supply Air Flow Rate - , !- Cooling Design Supply Air Flow Rate Per Floor Area - , !- Fraction of Autosized Cooling Design Supply Air Flow Rate - , !- Cooling Design Supply Air Flow Rate Per Unit of Capacity {m3/s-W} - SupplyAirFlowRate, !- Supply Air Flow Rate Method When No Cooling or Heating is Required - autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required - , !- Supply Air Flow Rate Per Floor Area When No Clg or Htg is Required - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Clg or Htg - , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Clg or Htg - SupplyAirFlowRate, !- Heating Design Air Flow Method - autosize, !- Heating Design Supply Air Flow Rate - , !- Heating Design Supply Air Flow Rate Per Floor Area - , !- Fraction of Autosized Heating Design Supply Air Flow Rate - , !- Heating Design Supply Air Flow Rate Per Unit of Heating Capacity - CoolingDesignCapacity, !- Cooling Design Capacity Method - autosize, !- Cooling Design Capacity {W} - , !- Cooling Design Capacity Per Floor Area {W/m2} - , !- Fraction of Autosized Cooling Design Capacity {-} - HeatingDesignCapacity, !- Heating Design Capacity Method - autosize, !- Heating Design Capacity {W} - , !- Heating Design Capacity Per Floor Area {W/m2} - ; !- Fraction of Autosized Cooling Design Capacity {-} - + OutdoorAir:Node, LGstore2 Cooler Unit OA Inlet; !- Name @@ -4331,35 +4277,7 @@ SMstore2 Evaporative Cooler, !- First Evaporative Cooler Object Name , !- Second Evaporative Cooler Object Type ; !- Second Evaporative Cooler Name - !SMstore2DesignSpec; !- Design Specification ZoneHVAC Sizing Object Name - - DesignSpecification:ZoneHVAC:Sizing, - SMstore2DesignSpec, !- Name - SupplyAirFlowRate, !- Cooling Design Air Flow Method - autosize, !- Cooling Design Supply Air Flow Rate - , !- Cooling Design Supply Air Flow Rate Per Floor Area - , !- Fraction of Autosized Cooling Design Supply Air Flow Rate - , !- Cooling Design Supply Air Flow Rate Per Unit of Capacity {m3/s-W} - SupplyAirFlowRate, !- Supply Air Flow Rate Method When No Cooling or Heating is Required - autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required - , !- Supply Air Flow Rate Per Floor Area When No Clg or Htg is Required - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Clg or Htg - , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Clg or Htg - SupplyAirFlowRate, !- Heating Design Air Flow Method - autosize, !- Heating Design Supply Air Flow Rate - , !- Heating Design Supply Air Flow Rate Per Floor Area - , !- Fraction of Autosized Heating Design Supply Air Flow Rate - , !- Heating Design Supply Air Flow Rate Per Unit of Heating Capacity - CoolingDesignCapacity, !- Cooling Design Capacity Method - autosize, !- Cooling Design Capacity {W} - , !- Cooling Design Capacity Per Floor Area {W/m2} - , !- Fraction of Autosized Cooling Design Capacity {-} - HeatingDesignCapacity, !- Heating Design Capacity Method - autosize, !- Heating Design Capacity {W} - , !- Heating Design Capacity Per Floor Area {W/m2} - ; !- Fraction of Autosized Cooling Design Capacity {-} - - + OutdoorAir:Node, SMstore2 Cooler Unit OA Inlet; !- Name @@ -4402,34 +4320,7 @@ SMstore3 Evaporative Cooler, !- First Evaporative Cooler Object Name , !- Second Evaporative Cooler Object Type ; !- Second Evaporative Cooler Name - !; !- Design Specification ZoneHVAC Sizing Object Name - - DesignSpecification:ZoneHVAC:Sizing, - SMstore3DesignSpec, !- Name - SupplyAirFlowRate, !- Cooling Design Air Flow Method - autosize, !- Cooling Design Supply Air Flow Rate - , !- Cooling Design Supply Air Flow Rate Per Floor Area - , !- Fraction of Autosized Cooling Design Supply Air Flow Rate - , !- Cooling Design Supply Air Flow Rate Per Unit of Capacity {m3/s-W} - SupplyAirFlowRate, !- Supply Air Flow Rate Method When No Cooling or Heating is Required - autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required - , !- Supply Air Flow Rate Per Floor Area When No Clg or Htg is Required - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Clg or Htg - , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Clg or Htg - SupplyAirFlowRate, !- Heating Design Air Flow Method - autosize, !- Heating Design Supply Air Flow Rate - , !- Heating Design Supply Air Flow Rate Per Floor Area - , !- Fraction of Autosized Heating Design Supply Air Flow Rate - , !- Heating Design Supply Air Flow Rate Per Unit of Heating Capacity - CoolingDesignCapacity, !- Cooling Design Capacity Method - autosize, !- Cooling Design Capacity {W} - , !- Cooling Design Capacity Per Floor Area {W/m2} - , !- Fraction of Autosized Cooling Design Capacity {-} - HeatingDesignCapacity, !- Heating Design Capacity Method - autosize, !- Heating Design Capacity {W} - , !- Heating Design Capacity Per Floor Area {W/m2} - ; !- Fraction of Autosized Cooling Design Capacity {-} - + OutdoorAir:Node, SMstore3 Cooler Unit OA Inlet; !- Name @@ -4480,34 +4371,7 @@ SMstore4 Evaporative Cooler, !- First Evaporative Cooler Object Name , !- Second Evaporative Cooler Object Type ; !- Second Evaporative Cooler Name - !; !- Design Specification ZoneHVAC Sizing Object Name - - DesignSpecification:ZoneHVAC:Sizing, - SMstore4DesignSpec, !- Name - SupplyAirFlowRate, !- Cooling Design Air Flow Method - autosize, !- Cooling Design Supply Air Flow Rate - , !- Cooling Design Supply Air Flow Rate Per Floor Area - , !- Fraction of Autosized Cooling Design Supply Air Flow Rate - , !- Cooling Design Supply Air Flow Rate Per Unit of Capacity {m3/s-W} - SupplyAirFlowRate, !- Supply Air Flow Rate Method When No Cooling or Heating is Required - autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required - , !- Supply Air Flow Rate Per Floor Area When No Clg or Htg is Required - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Clg or Htg - , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Clg or Htg - SupplyAirFlowRate, !- Heating Design Air Flow Method - autosize, !- Heating Design Supply Air Flow Rate - , !- Heating Design Supply Air Flow Rate Per Floor Area - , !- Fraction of Autosized Heating Design Supply Air Flow Rate - , !- Heating Design Supply Air Flow Rate Per Unit of Heating Capacity - CoolingDesignCapacity, !- Cooling Design Capacity Method - autosize, !- Cooling Design Capacity {W} - , !- Cooling Design Capacity Per Floor Area {W/m2} - , !- Fraction of Autosized Cooling Design Capacity {-} - HeatingDesignCapacity, !- Heating Design Capacity Method - autosize, !- Heating Design Capacity {W} - , !- Heating Design Capacity Per Floor Area {W/m2} - ; !- Fraction of Autosized Cooling Design Capacity {-} - + OutdoorAir:Node, SMstore4 Cooler Unit OA Inlet; !- Name @@ -4560,34 +4424,7 @@ SMstore5 Evaporative Cooler, !- First Evaporative Cooler Object Name , !- Second Evaporative Cooler Object Type ; !- Second Evaporative Cooler Name - !; !- Design Specification ZoneHVAC Sizing Object Name - - DesignSpecification:ZoneHVAC:Sizing, - SMstore5DesignSpec, !- Name - SupplyAirFlowRate, !- Cooling Design Air Flow Method - autosize, !- Cooling Design Supply Air Flow Rate - , !- Cooling Design Supply Air Flow Rate Per Floor Area - , !- Fraction of Autosized Cooling Design Supply Air Flow Rate - , !- Cooling Design Supply Air Flow Rate Per Unit of Capacity {m3/s-W} - SupplyAirFlowRate, !- Supply Air Flow Rate Method When No Cooling or Heating is Required - autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required - , !- Supply Air Flow Rate Per Floor Area When No Clg or Htg is Required - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Clg or Htg - , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Clg or Htg - SupplyAirFlowRate, !- Heating Design Air Flow Method - autosize, !- Heating Design Supply Air Flow Rate - , !- Heating Design Supply Air Flow Rate Per Floor Area - , !- Fraction of Autosized Heating Design Supply Air Flow Rate - , !- Heating Design Supply Air Flow Rate Per Unit of Heating Capacity - CoolingDesignCapacity, !- Cooling Design Capacity Method - autosize, !- Cooling Design Capacity {W} - , !- Cooling Design Capacity Per Floor Area {W/m2} - , !- Fraction of Autosized Cooling Design Capacity {-} - HeatingDesignCapacity, !- Heating Design Capacity Method - autosize, !- Heating Design Capacity {W} - , !- Heating Design Capacity Per Floor Area {W/m2} - ; !- Fraction of Autosized Cooling Design Capacity {-} - + OutdoorAir:Node, SMstore5 Cooler Unit OA Inlet; !- Name @@ -4651,33 +4488,6 @@ SMstore6 Evaporative Cooler, !- First Evaporative Cooler Object Name , !- Second Evaporative Cooler Object Type ; !- Second Evaporative Cooler Name - !; !- Design Specification ZoneHVAC Sizing Object Name - - DesignSpecification:ZoneHVAC:Sizing, - SMstore6DesignSpec, !- Name - SupplyAirFlowRate, !- Cooling Design Air Flow Method - 0.65, !- Cooling Design Supply Air Flow Rate - , !- Cooling Design Supply Air Flow Rate Per Floor Area - , !- Fraction of Autosized Cooling Design Supply Air Flow Rate - , !- Cooling Design Supply Air Flow Rate Per Unit of Capacity {m3/s-W} - SupplyAirFlowRate, !- Supply Air Flow Rate Method When No Cooling or Heating is Required - autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required - , !- Supply Air Flow Rate Per Floor Area When No Clg or Htg is Required - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Clg or Htg - , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Clg or Htg - SupplyAirFlowRate, !- Heating Design Air Flow Method - autosize, !- Heating Design Supply Air Flow Rate - , !- Heating Design Supply Air Flow Rate Per Floor Area - , !- Fraction of Autosized Heating Design Supply Air Flow Rate - , !- Heating Design Supply Air Flow Rate Per Unit of Heating Capacity - CoolingDesignCapacity, !- Cooling Design Capacity Method - autosize, !- Cooling Design Capacity {W} - , !- Cooling Design Capacity Per Floor Area {W/m2} - , !- Fraction of Autosized Cooling Design Capacity {-} - HeatingDesignCapacity, !- Heating Design Capacity Method - autosize, !- Heating Design Capacity {W} - , !- Heating Design Capacity Per Floor Area {W/m2} - ; !- Fraction of Autosized Cooling Design Capacity {-} OutdoorAir:Node, SMstore6 Cooler Unit OA Inlet; !- Name @@ -4729,34 +4539,7 @@ SMstore7 Indirect Evaporative Cooler, !- First Evaporative Cooler Object Name EvaporativeCooler:Direct:CelDekPad, !- Second Evaporative Cooler Object Type SMstore7 Direct Evaporative Cooler; !- Second Evaporative Cooler Name - !; !- Design Specification ZoneHVAC Sizing Object Name - - DesignSpecification:ZoneHVAC:Sizing, - SMstore7DesignSpec, !- Name - SupplyAirFlowRate, !- Cooling Design Air Flow Method - 0.65, !- Cooling Design Supply Air Flow Rate - , !- Cooling Design Supply Air Flow Rate Per Floor Area - , !- Fraction of Autosized Cooling Design Supply Air Flow Rate - , !- Cooling Design Supply Air Flow Rate Per Unit of Capacity {m3/s-W} - SupplyAirFlowRate, !- Supply Air Flow Rate Method When No Cooling or Heating is Required - autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required - , !- Supply Air Flow Rate Per Floor Area When No Clg or Htg is Required - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Clg or Htg - , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Clg or Htg - SupplyAirFlowRate, !- Heating Design Air Flow Method - autosize, !- Heating Design Supply Air Flow Rate - , !- Heating Design Supply Air Flow Rate Per Floor Area - , !- Fraction of Autosized Heating Design Supply Air Flow Rate - , !- Heating Design Supply Air Flow Rate Per Unit of Heating Capacity - CoolingDesignCapacity, !- Cooling Design Capacity Method - autosize, !- Cooling Design Capacity {W} - , !- Cooling Design Capacity Per Floor Area {W/m2} - , !- Fraction of Autosized Cooling Design Capacity {-} - HeatingDesignCapacity, !- Heating Design Capacity Method - autosize, !- Heating Design Capacity {W} - , !- Heating Design Capacity Per Floor Area {W/m2} - ; !- Fraction of Autosized Cooling Design Capacity {-} - + OutdoorAir:Node, SMstore7 Cooler Unit OA Inlet; !- Name @@ -4817,34 +4600,7 @@ SMstore8 Indirect Evaporative Cooler, !- First Evaporative Cooler Object Name EvaporativeCooler:Direct:ResearchSpecial, !- Second Evaporative Cooler Object Type SMstore8 Direct Evaporative Cooler; !- Second Evaporative Cooler Name - !; !- Design Specification ZoneHVAC Sizing Object Name - - DesignSpecification:ZoneHVAC:Sizing, - SMstore8DesignSpec, !- Name - SupplyAirFlowRate, !- Cooling Design Air Flow Method - autosize, !- Cooling Design Supply Air Flow Rate - , !- Cooling Design Supply Air Flow Rate Per Floor Area - , !- Fraction of Autosized Cooling Design Supply Air Flow Rate - , !- Cooling Design Supply Air Flow Rate Per Unit of Capacity {m3/s-W} - SupplyAirFlowRate, !- Supply Air Flow Rate Method When No Cooling or Heating is Required - autosize, !- Supply Air Flow Rate When No Cooling or Heating is Required - , !- Supply Air Flow Rate Per Floor Area When No Clg or Htg is Required - , !- Fraction of Autosized Design Cooling Supply Air Flow Rate When No Clg or Htg - , !- Fraction of Autosized Design Heating Supply Air Flow Rate When No Clg or Htg - SupplyAirFlowRate, !- Heating Design Air Flow Method - autosize, !- Heating Design Supply Air Flow Rate - , !- Heating Design Supply Air Flow Rate Per Floor Area - , !- Fraction of Autosized Heating Design Supply Air Flow Rate - , !- Heating Design Supply Air Flow Rate Per Unit of Heating Capacity - CoolingDesignCapacity, !- Cooling Design Capacity Method - autosize, !- Cooling Design Capacity {W} - , !- Cooling Design Capacity Per Floor Area {W/m2} - , !- Fraction of Autosized Cooling Design Capacity {-} - HeatingDesignCapacity, !- Heating Design Capacity Method - autosize, !- Heating Design Capacity {W} - , !- Heating Design Capacity Per Floor Area {W/m2} - ; !- Fraction of Autosized Cooling Design Capacity {-} - + OutdoorAir:Node, SMstore8 Cooler Unit OA Inlet; !- Name From 78da8696838a0defbaf0db44a84674f2bf452c69 Mon Sep 17 00:00:00 2001 From: Nigusse Date: Thu, 14 Aug 2014 09:31:36 -0400 Subject: [PATCH 06/19] Transitioned example file 5ZoneElectricBaseboard.idf. --- testfiles/5ZoneElectricBaseboard.idf | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/testfiles/5ZoneElectricBaseboard.idf b/testfiles/5ZoneElectricBaseboard.idf index f30d19f3943..3596817bc36 100644 --- a/testfiles/5ZoneElectricBaseboard.idf +++ b/testfiles/5ZoneElectricBaseboard.idf @@ -2197,7 +2197,10 @@ ZoneHVAC:Baseboard:RadiantConvective:Electric, SPACE2-1 Baseboard, !- Name ReheatCoilAvailSched, !- Availability Schedule Name - autosize, !- Nominal Capacity {W} + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + , !- Fraction of Autosized Heating Design Capacity{ -} 0.97, !- Efficiency 0.2, !- Fraction Radiant 0.3, !- Fraction of Radiant Energy Incident on People @@ -2215,7 +2218,10 @@ ZoneHVAC:Baseboard:RadiantConvective:Electric, SPACE4-1 Baseboard, !- Name ReheatCoilAvailSched, !- Availability Schedule Name - autosize, !- Nominal Capacity {W} + FractionOfAutosizedHeatingCapacity, !- Heating Design Capacity Method + , !- Heating Design Capacity{ W } + , !- Heating Design Capacity Per Floor Area{ W / m2 } + 1.0, !- Fraction of Autosized Heating Design Capacity{ -} 0.97, !- Efficiency 0.2, !- Fraction Radiant 0.3, !- Fraction of Radiant Energy Incident on People From 81839093966ba98d805755ee257a94f3d96bf83a Mon Sep 17 00:00:00 2001 From: Nigusse Date: Thu, 14 Aug 2014 14:04:24 -0400 Subject: [PATCH 07/19] Modified source code files and idd change for system scalable sizing. Not yet complete. --- idd/Energy+.idd | 128 ++++++- src/EnergyPlus/DataSizing.hh | 137 +++++--- src/EnergyPlus/ReportSizingManager.cc | 127 ++++--- src/EnergyPlus/SimAirServingZones.cc | 470 +++++++++++++++++++++++--- 4 files changed, 717 insertions(+), 145 deletions(-) diff --git a/idd/Energy+.idd b/idd/Energy+.idd index c90b0429434..d490e6c5568 100644 --- a/idd/Energy+.idd +++ b/idd/Energy+.idd @@ -30256,11 +30256,10 @@ DesignSpecification:ZoneHVAC:Sizing, \note Enter the fraction of auto-sized heating design capacity. Required field when capacity the \note heating design capacity method field is FractionOfAutosizedHeatingCapacity. - Sizing:System, \memo Specifies the input needed to perform sizing calculations for a central forced air \memo system design air flow, heating capacity, and cooling capacity. - \min-fields 20 + \min-fields 20 A1, \field AirLoop Name \required-field \type object-list @@ -30332,7 +30331,7 @@ Sizing:System, \type real \default 0.008 \units kgWater/kgDryAir - N10, \field Central Heating Design Supply Air Humidity Ratio + N10, \field Central Heating Design Supply Air Humidity Ratio \required-field \type real \default 0.008 @@ -30341,8 +30340,11 @@ Sizing:System, \type choice \key Flow/System \key DesignDay + \key FlowPerFloorArea + \key FractionOfAutosizedCoolingAirflow + \key FlowPerCoolingCapacity \default DesignDay - N11, \field Cooling Design Air Flow Rate + N11, \field Cooling Design Air Flow Rate {m3/s} \note This input is used if Cooling Design Air Flow Method is Flow/System \note This value will *not* be multiplied by any sizing factor or by zone multipliers. \note If using zone multipliers, this value must be large enough to serve the multiplied zones. @@ -30350,12 +30352,35 @@ Sizing:System, \units m3/s \minimum 0 \default 0 + N12, \field Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + \type real + \units m3/s-m2 + \minimum 0.0 + \note Enter the cooling supply air volume flow rate per total conditioned floor area. + \note Required field when Supply air Flow Rate Method during cooling operation is FlowPerFloorArea. + N13, \field Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + \type real + \minimum 0.0 + \note Enter the supply air volume flow rate as a fraction of the cooling supply air flow rate. + \note Required field when Supply air Flow Rate Method during cooling operation is + \note FractionOfAutosizedCoolingAirflow. + N14, \field Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} + \type real + \units m3/s-W + \minimum 0.0 + \note Enter the supply air volume flow rate per unit cooling capacity. + \note Required field when Supply air Flow Rate Method During Cooling Operation is + \note FlowPerCoolingCapacity. A7, \field Heating Design Air Flow Method \type choice \key Flow/System \key DesignDay + \key FlowPerFloorArea + \key FractionOfAutosizedHeatingAirflow + \key FractionOfAutosizedCoolingAirflow + \key FlowPerCoolingCapacity \default DesignDay - N12,\field Heating Design Air Flow Rate + N15, \field Heating Design Air Flow Rate {m3/s} \note This input is used if Heating Design Air Flow Method is Flow/System \note This value will *not* be multiplied by any sizing factor or by zone multipliers. \note If using zone multipliers, this value must be large enough to serve the multiplied zones. @@ -30363,16 +30388,107 @@ Sizing:System, \units m3/s \minimum 0 \default 0 + N16, \field Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + \type real + \units m3/s-m2 + \minimum 0.0 + \note Enter the heating supply air volume flow rate per total conditioned floor area. + \note Required field when Supply air Flow Rate Method during heating operation is FlowPerFloorArea. + N17, \field Fraction of Autosized Design Heating Supply Air Flow Rate {-} + \type real + \minimum 0.0 + \note Enter the supply air volume flow rate as a fraction of the heating supply air flow rate. + \note Required field when Supply air Flow Rate Method during heating operation is + \note FractionOfAutosizedHeatingAirflow. + N18, \field Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + \type real + \minimum 0.0 + \note Enter the supply air volume flow rate as a fraction of the cooling supply air flow rate. + \note Required field when Supply air Flow Rate Method during heating operation is + \note FractionOfAutosizedCoolingAirflow. + N19, \field Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} + \type real + \units m3/s-W + \minimum 0.0 + \note Enter the heating supply air volume flow rate per unit heating capacity. + \note Required field when Supply air Flow Rate Method during heating operation is + \note FlowPerHeatingCapacity. A8, \field System Outdoor Air Method \type choice \key ZoneSum \key VentilationRateProcedure \default ZoneSum - N13;\field Zone Maximum Outdoor Air Fraction + N20, \field Zone Maximum Outdoor Air Fraction \type real \default 1.0 \minimum> 0.0 \units dimensionless + A9, \field Cooling Design Capacity Method + \type choice + \key None + \key CoolingDesignCapacity + \key CapacityPerFloorArea + \key FractionOfAutosizedCoolingCapacity + \default CoolingDesignCapacity + \note Enter the method used to determine the system cooling design capacity for scalable sizing. + \note None is used when a cooling coils is not included in an airloop or this field may be blank. + \note If this input field is left blank, then the design cooling capacity is set to zero. + \note CoolingDesignCapacity => selected when the design cooling capacity value is specified or + \note auto-sized. CapacityPerFloorArea => selected when the design cooling capacity is determined + \note from user specified cooling capacity per floor area and total floor area of cooled zones + \note served by an airloop. FractionOfAutosizedCoolingCapacity => is selected when the design + \note cooling capacity is determined from a user specified fraction and the auto-sized design + \note cooling capacity of the system. + N21, \field Cooling Design Capacity {W} + \type real + \units m3/s + \minimum 0.0 + \autosizable + \note Enter the design cooling capacity. Required field when the cooling design capacity method + \note CoolingDesignCapacity. + N22, \field Cooling Design Capacity Per Floor Area {W/m2} + \type real + \minimum 0.0 + \note Enter the cooling design capacity per total floor area of cooled zones served by an airloop. + \note Required field when the cooling design capacity method field is CapacityPerFloorArea. + N23, \field Fraction of Autosized Cooling Design Capacity {-} + \type real + \minimum 0.0 + \note Enter the fraction of auto-sized cooling design capacity. Required field when the cooling + \note design capacity method field is FractionOfAutosizedCoolingCapacity. + A10, \field Heating Design Capacity Method + \type choice + \key None + \key HeatingDesignCapacity + \key CapacityPerFloorArea + \key FractionOfAutosizedHeatingCapacity + \default HeatingDesignCapacity + \note Enter the method used to determine the heating design capacity for scalable sizing. + \note None is used when a heating coil not included in an airloop or this field may be blank. + \note If this input field is left blank, then the design heating capacity is set to zero. + \note HeatingDesignCapacity => selected when the design heating capacity value is specified or + \note auto-sized. CapacityPerFloorArea => selected when the design heating capacity is determined + \note from user specified heating capacity per flow area and total floor area of heated zones + \note served by an airloop. FractionOfAutosizedHeatingCapacity => is selected when the design + \note heating capacity is determined from a user specified fraction and the auto-sized design + \note heating capacity of the system. + N24, \field Heating Design Capacity {W} + \type real + \units m3/s + \minimum 0.0 + \autosizable + \note Enter the design heating capacity. Required field when the heating design capacity method + \note HeatingDesignCapacity. + N25, \field Heating Design Capacity Per Floor Area {W/m2} + \type real + \minimum 0.0 + \note Enter the heating design capacity per zone floor area. Required field when the heating design + \note capacity method field is CapacityPerFloorArea. + N26; \field Fraction of Autosized Heating Design Capacity {-} + \type real + \minimum 0.0 + \note Enter the fraction of auto-sized heating design capacity. Required field when capacity the + \note heating design capacity method field is FractionOfAutosizedHeatingCapacity. Sizing:Plant, \memo Specifies the input needed to autosize plant loop flow rates and equipment capacities. diff --git a/src/EnergyPlus/DataSizing.hh b/src/EnergyPlus/DataSizing.hh index 5b61ae46eef..392083b369f 100644 --- a/src/EnergyPlus/DataSizing.hh +++ b/src/EnergyPlus/DataSizing.hh @@ -160,8 +160,10 @@ namespace DataSizing { extern Real64 DataFracOfAutosizedHeatingCapacity; // fraction of autosized heating capacit extern Real64 DataAutosizedCoolingCapacity; // Autosized cooling capacity used for multiplying flow per capacity to get flow rate extern Real64 DataAutosizedHeatingCapacity; // Autosized heating capacit used for multiplying flow per capacity to get flow rate - extern bool DataScalableSizingON; // boolean determines scalable flow sizing is specified - extern bool DataScalableCapSizingON; // boolean determines scalable capacity sizing is specified + extern bool DataScalableSizingON; // boolean determines scalable zone flow sizing is specified + extern bool DataScalableCapSizingON; // boolean determines scalable zone capacity sizing is specified + extern bool DataSysScalableFlowSizingON; // boolean determines scalable system flow sizing is specified + extern bool DataSysScalableCapSizingON; // boolean determines scalable system capacity sizing is specified extern bool DataEMSOverrideON; // boolean determines if user relies on EMS to override autosizing extern Real64 DataConstantUsedForSizing; // base value used for sizing inputs that are ratios of other inputs extern Real64 DataFractionUsedForSizing; // fractional value of base value used for sizing inputs that are ratios of other inputs @@ -1138,6 +1140,10 @@ namespace DataSizing { int HeatAirDesMethod; // choice of how to get system heating design air flow rates; // 1 = calc from des day simulation; 2=m3/s per zone, user input Real64 DesHeatAirFlow; // design system heating supply air flow rate [m3/s] + int ScaleCoolSAFMethod; // choice of how to get system cooling scalable air flow rates; + // (FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FlowPerCoolingCapacity) + int ScaleHeatSAFMethod; // choice of how to get system heating scalable air flow rates; + // (FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow, FlowPerHeatingCapacity) int SystemOAMethod; // System Outdoor Air Method; 1 = SOAM_ZoneSum, 2 = SOAM_VRP Real64 MaxZoneOAFraction; // maximum value of min OA for zones served by system bool OAAutoSized; // Set to true if design OA vol flow is set to 'autosize' @@ -1152,10 +1158,12 @@ namespace DataSizing { Real64 FloorAreaOnAirLoopHeated; // total floor of heated zones served by an airloop Real64 FlowPerFloorAreaCooled; // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop Real64 FlowPerFloorAreaHeated; // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop - Real64 FracOfAutosizedCoolingAirflow; // fraction of of cooling supply air flow rate an airloop - Real64 FracOfAutosizedHeatingAirflow; // fraction of of heating supply air flow rate an airloop + Real64 FractionOfAutosizedCoolingAirflow; // fraction of of cooling supply air flow rate an airloop + Real64 FractionOfAutosizedHeatingAirflow; // fraction of of heating supply air flow rate an airloop Real64 FlowPerCoolingCapacity; // ratio of cooling supply air flow rate to cooling capacity of an airloop Real64 FlowPerHeatingCapacity; // ratio of heating supply air flow rate to heating capacity of an airloop + + // in Sizing:System // Default Constructor @@ -1179,6 +1187,8 @@ namespace DataSizing { DesCoolAirFlow( 0.0 ), HeatAirDesMethod( 0 ), DesHeatAirFlow( 0.0 ), + ScaleCoolSAFMethod( 0 ), + ScaleHeatSAFMethod( 0 ), SystemOAMethod( 0 ), MaxZoneOAFraction( 0.0 ), OAAutoSized( false ), @@ -1191,8 +1201,8 @@ namespace DataSizing { FloorAreaOnAirLoopHeated( 0.0 ), FlowPerFloorAreaCooled( 0.0 ), FlowPerFloorAreaHeated( 0.0 ), - FracOfAutosizedCoolingAirflow( 0.0 ), - FracOfAutosizedHeatingAirflow( 0.0 ), + FractionOfAutosizedCoolingAirflow( 1.0 ), + FractionOfAutosizedHeatingAirflow( 1.0 ), FlowPerCoolingCapacity( 0.0 ), FlowPerHeatingCapacity( 0.0 ) @@ -1220,6 +1230,10 @@ namespace DataSizing { Real64 const DesCoolAirFlow, // design system supply air flow rate for cooling[m3/s] int const HeatAirDesMethod, // choice of how to get system heating design air flow rates; Real64 const DesHeatAirFlow, // design system heating supply air flow rate [m3/s] + int const ScaleCoolSAFMethod, // choice of how to get system cooling scalable air flow rates; + // (FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FlowPerCoolingCapacity) + int const ScaleHeatSAFMethod, // choice of how to get system heating scalable air flow rates; + // (FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow, FlowPerHeatingCapacity) int const SystemOAMethod, // System Outdoor Air Method; 1 = SOAM_ZoneSum, 2 = SOAM_VRP Real64 const MaxZoneOAFraction, // maximum value of min OA for zones served by system bool const OAAutoSized, // Set to true if design OA vol flow is set to 'autosize' @@ -1230,17 +1244,17 @@ namespace DataSizing { //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) Real64 const ScaledCoolingCapacity, // - scaled maximum cooling capacity of cooling coil in an air loop Real64 const ScaledHeatingCapacity, // - scaled maximum heating capacity of cooling coil in an air loop - Real64 const FloorAreaOnAirLoopCooled, // total floor of cooled zones served by an airloop Real64 const FloorAreaOnAirLoopHeated, // total floor of heated zones served by an airloop Real64 const FlowPerFloorAreaCooled, // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop Real64 const FlowPerFloorAreaHeated, // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop - Real64 const FracOfAutosizedCoolingAirflow, // fraction of of cooling supply air flow rate an airloop - Real64 const FracOfAutosizedHeatingAirflow, // fraction of of heating supply air flow rate an airloop + Real64 const FractionOfAutosizedCoolingAirflow, // fraction of of cooling supply air flow rate an airloop + Real64 const FractionOfAutosizedHeatingAirflow, // fraction of of heating supply air flow rate an airloop Real64 const FlowPerCoolingCapacity, // ratio of cooling supply air flow rate to cooling capacity of an airloop Real64 const FlowPerHeatingCapacity // ratio of heating supply air flow rate to heating capacity of an airloop + ) : AirPriLoopName( AirPriLoopName ), AirLoopNum( AirLoopNum ), @@ -1261,6 +1275,8 @@ namespace DataSizing { CoolAirDesMethod( CoolAirDesMethod ), DesCoolAirFlow( DesCoolAirFlow ), HeatAirDesMethod( HeatAirDesMethod ), + ScaleCoolSAFMethod( ScaleCoolSAFMethod ), + ScaleHeatSAFMethod( ScaleHeatSAFMethod ), DesHeatAirFlow( DesHeatAirFlow ), SystemOAMethod( SystemOAMethod ), MaxZoneOAFraction( MaxZoneOAFraction ), @@ -1270,14 +1286,14 @@ namespace DataSizing { HeatingCapMethod( HeatingCapMethod ), ScaledCoolingCapacity( ScaledCoolingCapacity ), ScaledHeatingCapacity( ScaledHeatingCapacity ), - FloorAreaOnAirLoopCooled(FloorAreaOnAirLoopCooled), - FloorAreaOnAirLoopHeated(FloorAreaOnAirLoopCooled), - FlowPerFloorAreaCooled(FlowPerFloorAreaCooled), - FlowPerFloorAreaHeated(FlowPerFloorAreaHeated), - FracOfAutosizedCoolingAirflow(FracOfAutosizedCoolingAirflow), - FracOfAutosizedHeatingAirflow(FracOfAutosizedHeatingAirflow), - FlowPerCoolingCapacity(FlowPerCoolingCapacity), - FlowPerHeatingCapacity(FlowPerHeatingCapacity) + FloorAreaOnAirLoopCooled( FloorAreaOnAirLoopCooled ), + FloorAreaOnAirLoopHeated( FloorAreaOnAirLoopCooled ), + FlowPerFloorAreaCooled( FlowPerFloorAreaCooled ), + FlowPerFloorAreaHeated( FlowPerFloorAreaHeated ), + FractionOfAutosizedCoolingAirflow( FractionOfAutosizedCoolingAirflow ), + FractionOfAutosizedHeatingAirflow( FractionOfAutosizedHeatingAirflow ), + FlowPerCoolingCapacity( FlowPerCoolingCapacity ), + FlowPerHeatingCapacity( FlowPerHeatingCapacity ) {} @@ -1376,15 +1392,28 @@ namespace DataSizing { Real64 SysUncOA; // uncorrected system outdoor air flow based on zone people and // zone area bool OAAutoSized; // Set to true if design OA vol flow is set to 'autosize' - + int ScaleCoolSAFMethod; // choice of how to get system cooling scalable air flow rates; + // (FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FlowPerCoolingCapacity) + int ScaleHeatSAFMethod; // choice of how to get system heating scalable air flow rates; + // (FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow, FlowPerHeatingCapacity) + int CoolingCapMethod; // - Method for cooling capacity scaledsizing calculation + //- (CoolingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity) + int HeatingCapMethod; // - Method for heatiing capacity scaledsizing calculation + //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 ScaledCoolingCapacity; // - scaled maximum cooling capacity of cooling coil in an air loop + Real64 ScaledHeatingCapacity; // - scaled maximum heating capacity of cooling coil in an air loop Real64 FloorAreaOnAirLoopCooled; // total floor of cooled zones served by an airloop Real64 FloorAreaOnAirLoopHeated; // total floor of heated zones served by an airloop Real64 FlowPerFloorAreaCooled; // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop Real64 FlowPerFloorAreaHeated; // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop - Real64 FracOfAutosizedCoolingAirflow; // fraction of of cooling supply air flow rate an airloop - Real64 FracOfAutosizedHeatingAirflow; // fraction of of heating supply air flow rate an airloop + Real64 FractionOfAutosizedCoolingAirflow; // fraction of of cooling supply air flow rate an airloop + Real64 FractionOfAutosizedHeatingAirflow; // fraction of of heating supply air flow rate an airloop Real64 FlowPerCoolingCapacity; // ratio of cooling supply air flow rate to cooling capacity of an airloop Real64 FlowPerHeatingCapacity; // ratio of heating supply air flow rate to heating capacity of an airloop + Real64 FractionOfAutosizedCoolingCapacity; // fraction of of cooling total capacity + Real64 FractionOfAutosizedHeatingCapacity; // fraction of of heating total capacity + Real64 CoolingTotalCapacity; // system total cooling capacity + Real64 HeatingTotalCapacity; // system total heating capacity // in Sizing:System @@ -1449,14 +1478,24 @@ namespace DataSizing { MaxZoneOAFraction( 0.0 ), SysUncOA( 0.0 ), OAAutoSized( false ), - FloorAreaOnAirLoopCooled(0.0), - FloorAreaOnAirLoopHeated(0.0), - FlowPerFloorAreaCooled(0.0), - FlowPerFloorAreaHeated(0.0), - FracOfAutosizedCoolingAirflow(0.0), - FracOfAutosizedHeatingAirflow(0.0), - FlowPerCoolingCapacity(0.0), - FlowPerHeatingCapacity(0.0) + ScaleCoolSAFMethod( 0 ), + ScaleHeatSAFMethod( 0 ), + CoolingCapMethod( 0 ), + HeatingCapMethod( 0 ), + ScaledCoolingCapacity( 0.0 ), + ScaledHeatingCapacity( 0.0 ), + FloorAreaOnAirLoopCooled( 0.0 ), + FloorAreaOnAirLoopHeated( 0.0 ), + FlowPerFloorAreaCooled( 0.0 ), + FlowPerFloorAreaHeated( 0.0 ), + FractionOfAutosizedCoolingAirflow( 1.0 ), + FractionOfAutosizedHeatingAirflow( 1.0 ), + FlowPerCoolingCapacity( 0.0 ), + FlowPerHeatingCapacity( 0.0 ), + FractionOfAutosizedCoolingCapacity( 1.0 ), + FractionOfAutosizedHeatingCapacity( 1.0 ), + CoolingTotalCapacity( 0.0 ), + HeatingTotalCapacity( 0.0 ) {} @@ -1537,16 +1576,28 @@ namespace DataSizing { Real64 const MaxZoneOAFraction, // maximum value of min OA for zones served by system Real64 const SysUncOA, // uncorrected system outdoor air flow based on zone people and bool const OAAutoSized, // Set to true if design OA vol flow is set to 'autosize' - + int const ScaleCoolSAFMethod, // choice of how to get system cooling scalable air flow rates; + // (FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FlowPerCoolingCapacity) + int const ScaleHeatSAFMethod, // choice of how to get system heating scalable air flow rates; + // (FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow, FlowPerHeatingCapacity) + int const CoolingCapMethod, // - Method for cooling capacity scaledsizing calculation + //- (CoolingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity) + int const HeatingCapMethod, // - Method for heatiing capacity scaledsizing calculation + //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 const ScaledCoolingCapacity, // - scaled maximum cooling capacity of cooling coil in an air loop + Real64 const ScaledHeatingCapacity, // - scaled maximum heating capacity of cooling coil in an air loop Real64 const FloorAreaOnAirLoopCooled, // total floor of cooled zones served by an airloop Real64 const FloorAreaOnAirLoopHeated, // total floor of heated zones served by an airloop Real64 const FlowPerFloorAreaCooled, // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop Real64 const FlowPerFloorAreaHeated, // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop - Real64 const FracOfAutosizedCoolingAirflow, // fraction of of cooling supply air flow rate an airloop - Real64 const FracOfAutosizedHeatingAirflow, // fraction of of heating supply air flow rate an airloop + Real64 const FractionOfAutosizedCoolingAirflow, // fraction of of cooling supply air flow rate an airloop + Real64 const FractionOfAutosizedHeatingAirflow, // fraction of of heating supply air flow rate an airloop Real64 const FlowPerCoolingCapacity, // ratio of cooling supply air flow rate to cooling capacity of an airloop - Real64 const FlowPerHeatingCapacity // ratio of heating supply air flow rate to heating capacity of an airloop - + Real64 const FlowPerHeatingCapacity, // ratio of heating supply air flow rate to heating capacity of an airloop + Real64 const FractionOfAutosizedCoolingCapacity, // fraction of of cooling total capacity + Real64 const FractionOfAutosizedHeatingCapacity, // fraction of of heating total capacity + Real64 const CoolingTotalCapacity, // system total cooling capacity + Real64 const HeatingTotalCapacity // system total heating capacity ) : AirPriLoopName( AirPriLoopName ), CoolDesDay( CoolDesDay ), @@ -1623,15 +1674,25 @@ namespace DataSizing { MaxZoneOAFraction( MaxZoneOAFraction ), SysUncOA( SysUncOA ), OAAutoSized( OAAutoSized ), - + ScaleCoolSAFMethod( ScaleCoolSAFMethod ), + ScaleHeatSAFMethod( ScaleHeatSAFMethod ), + CoolingCapMethod( CoolingCapMethod ), + HeatingCapMethod( HeatingCapMethod ), + ScaledCoolingCapacity( ScaledCoolingCapacity ), + ScaledHeatingCapacity( ScaledHeatingCapacity ), FloorAreaOnAirLoopCooled( FloorAreaOnAirLoopCooled ), - FloorAreaOnAirLoopHeated( FloorAreaOnAirLoopCooled ), + FloorAreaOnAirLoopHeated( FloorAreaOnAirLoopHeated ), FlowPerFloorAreaCooled( FlowPerFloorAreaCooled ), FlowPerFloorAreaHeated( FlowPerFloorAreaHeated ), - FracOfAutosizedCoolingAirflow( FracOfAutosizedCoolingAirflow ), - FracOfAutosizedHeatingAirflow( FracOfAutosizedHeatingAirflow ), + FractionOfAutosizedCoolingAirflow( FractionOfAutosizedCoolingAirflow ), + FractionOfAutosizedHeatingAirflow( FractionOfAutosizedHeatingAirflow ), FlowPerCoolingCapacity( FlowPerCoolingCapacity ), - FlowPerHeatingCapacity( FlowPerHeatingCapacity ) + FlowPerHeatingCapacity( FlowPerHeatingCapacity ), + FractionOfAutosizedCoolingCapacity( FractionOfAutosizedCoolingCapacity ), + FractionOfAutosizedHeatingCapacity( FractionOfAutosizedHeatingCapacity ), + CoolingTotalCapacity( CoolingTotalCapacity ), + HeatingTotalCapacity( HeatingTotalCapacity ) + {} }; diff --git a/src/EnergyPlus/ReportSizingManager.cc b/src/EnergyPlus/ReportSizingManager.cc index 18d9668f333..d1767ef847e 100644 --- a/src/EnergyPlus/ReportSizingManager.cc +++ b/src/EnergyPlus/ReportSizingManager.cc @@ -486,9 +486,7 @@ namespace ReportSizingManager { AutosizeDes = max(FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow, FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow); } } - } - - + } } else if ( SizingType == CoolingSHRSizing ) { if ( DataFlowUsedForSizing >= SmallAirVolFlow && DataCapacityUsedForSizing > 0.0 ) { @@ -577,7 +575,7 @@ namespace ReportSizingManager { } if (ZoneEqFanCoil) { PeakCoilLoad = max( 0.0, ( StdRhoAir * DesVolFlow * ( CoilInEnth - CoilOutEnth ) ) ); - //PeakCoilLoad = max(0.0, ( FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow * (CoilInEnth - CoilOutEnth))); + //PeakCoilLoad = max(0.0, ( FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow * ( CoilInEnth - CoilOutEnth ) ) ); } else if ( ZoneEqUnitVent ) { PeakCoilLoad = max( 0.0, ( StdRhoAir * DesVolFlow * ( CoilInEnth - CoilOutEnth ) ) ); } else { @@ -647,8 +645,7 @@ namespace ReportSizingManager { CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat; CpAir = PsyCpAirFnWTdb( CoilOutHumRat, 0.5 * ( CoilInTemp + CoilOutTemp ) ); DesCoilLoad = CpAir * FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow * ( CoilOutTemp - CoilInTemp ); - //DesCoilLoad = CpAir * StdRhoAir * DesVolFlow * (CoilOutTemp - CoilInTemp); - + //DesCoilLoad = CpAir * StdRhoAir * DesVolFlow * (CoilOutTemp - CoilInTemp); } NominalCapacityDes = max( 0.0, DesCoilLoad ); } else { @@ -689,14 +686,39 @@ namespace ReportSizingManager { AutosizeDes = FinalSysSizing ( CurSysNum ).DesOutAirVolFlow; } } else { - AutosizeDes = FinalSysSizing ( CurSysNum ).DesMainVolFlow; + { auto const SELECT_CASE_var(FinalSysSizing(CurSysNum).ScaleCoolSAFMethod); + if ((SELECT_CASE_var == FromDDCalc) || (SELECT_CASE_var == InpDesAirFlow)) { + AutosizeDes = FinalSysSizing(CurSysNum).DesCoolVolFlow; + } else if (SELECT_CASE_var == FlowPerFloorArea) { + AutosizeDes = FinalSysSizing(CurSysNum).FlowPerFloorAreaCooled * FinalSysSizing(CurSysNum).FloorAreaOnAirLoopCooled; + } else if (SELECT_CASE_var == FractionOfAutosizedCoolingAirflow) { + AutosizeDes = FinalSysSizing(CurSysNum).FractionOfAutosizedCoolingAirflow * FinalSysSizing(CurSysNum).DesCoolVolFlow; + } else if (SELECT_CASE_var == FlowPerCoolingCapacity) { + AutosizeDes = FinalSysSizing(CurSysNum).FlowPerCoolingCapacity * DataAutosizedCoolingCapacity; + } else { + AutosizeDes = FinalSysSizing(CurSysNum).DesMainVolFlow; + } + } } - } else if ( SizingType == HeatingAirflowSizing ) { if ( UnitarySysEqSizing(CurSysNum).HeatingAirFlow ) { AutosizeDes = UnitarySysEqSizing(CurSysNum).AirVolFlow; } else { - AutosizeDes = FinalSysSizing(CurSysNum).DesMainVolFlow; + { auto const SELECT_CASE_var(FinalSysSizing(CurSysNum).ScaleHeatSAFMethod); + if ((SELECT_CASE_var == FromDDCalc) || (SELECT_CASE_var == InpDesAirFlow)) { + AutosizeDes = FinalSysSizing(CurSysNum).DesHeatVolFlow; + } else if (SELECT_CASE_var == FlowPerFloorArea) { + AutosizeDes = FinalSysSizing(CurSysNum).FlowPerFloorAreaHeated * FinalSysSizing(CurSysNum).FloorAreaOnAirLoopHeated; + } else if (SELECT_CASE_var == FractionOfAutosizedHeatingAirflow) { + AutosizeDes = FinalSysSizing(CurSysNum).FractionOfAutosizedCoolingAirflow * FinalSysSizing(CurSysNum).DesHeatVolFlow; + } else if (SELECT_CASE_var == FractionOfAutosizedCoolingAirflow) { + AutosizeDes = FinalSysSizing(CurSysNum).FractionOfAutosizedCoolingAirflow * FinalSysSizing(CurSysNum).DesCoolVolFlow; + } else if (SELECT_CASE_var == FlowPerCoolingCapacity) { + AutosizeDes = FinalSysSizing(CurSysNum).FlowPerCoolingCapacity * DataAutosizedHeatingCapacity; + }else { + AutosizeDes = FinalSysSizing(CurSysNum).DesMainVolFlow; + } + } } } else if ( SizingType == SystemAirflowSizing ) { if ( AirLoopSysFlag ) { @@ -753,53 +775,60 @@ namespace ReportSizingManager { AutosizeDes = UnitarySysEqSizing ( CurSysNum ).DesCoolingLoad; } else { // CheckSysSizing ( CompType, CompName ); - DesVolFlow = DataFlowUsedForSizing; - if ( DesVolFlow >= SmallAirVolFlow ) { - if ( CurOASysNum > 0 ) { // coil is in the OA stream - CoilInTemp = FinalSysSizing ( CurSysNum ).CoolOutTemp; - CoilInHumRat = FinalSysSizing ( CurSysNum ).CoolOutHumRat; - CoilOutTemp = FinalSysSizing ( CurSysNum ).PrecoolTemp; - CoilOutHumRat = FinalSysSizing ( CurSysNum ).PrecoolHumRat; - } else { // coil is on the main air loop - CoilOutTemp = FinalSysSizing ( CurSysNum ).CoolSupTemp; - CoilOutHumRat = FinalSysSizing ( CurSysNum ).CoolSupHumRat; - if ( PrimaryAirSystem( CurSysNum ).NumOACoolCoils == 0 ) { // there is no precooling of the OA stream - CoilInTemp = FinalSysSizing ( CurSysNum ).CoolMixTemp; - CoilInHumRat = FinalSysSizing ( CurSysNum ).CoolMixHumRat; - } else { // there is precooling of OA stream - if ( DesVolFlow > 0.0 ) { - OutAirFrac = FinalSysSizing ( CurSysNum ).DesOutAirVolFlow / DesVolFlow; - } else { - OutAirFrac = 1.0; + if (FinalSysSizing(CurSysNum).CoolingCapMethod == CapacityPerFloorArea) { + AutosizeDes = CalcSysSizing( CurSysNum ).ScaledCoolingCapacity * CalcSysSizing( CurSysNum ).FloorAreaOnAirLoopCooled; + } else { + DataFracOfAutosizedCoolingCapacity = FinalSysSizing( CurSysNum ).FractionOfAutosizedCoolingCapacity; + DesVolFlow = DataFlowUsedForSizing; + if ( DesVolFlow >= SmallAirVolFlow ) { + if ( CurOASysNum > 0 ) { // coil is in the OA stream + CoilInTemp = FinalSysSizing ( CurSysNum ).CoolOutTemp; + CoilInHumRat = FinalSysSizing ( CurSysNum ).CoolOutHumRat; + CoilOutTemp = FinalSysSizing ( CurSysNum ).PrecoolTemp; + CoilOutHumRat = FinalSysSizing ( CurSysNum ).PrecoolHumRat; + } else { // coil is on the main air loop + CoilOutTemp = FinalSysSizing ( CurSysNum ).CoolSupTemp; + CoilOutHumRat = FinalSysSizing ( CurSysNum ).CoolSupHumRat; + if ( PrimaryAirSystem( CurSysNum ).NumOACoolCoils == 0 ) { // there is no precooling of the OA stream + CoilInTemp = FinalSysSizing ( CurSysNum ).CoolMixTemp; + CoilInHumRat = FinalSysSizing ( CurSysNum ).CoolMixHumRat; + } else { // there is precooling of OA stream + if ( DesVolFlow > 0.0 ) { + OutAirFrac = FinalSysSizing ( CurSysNum ).DesOutAirVolFlow / DesVolFlow; + } else { + OutAirFrac = 1.0; + } + OutAirFrac = min ( 1.0, max ( 0.0, OutAirFrac ) ); + CoilInTemp = OutAirFrac * FinalSysSizing ( CurSysNum ).PrecoolTemp + ( 1.0 - OutAirFrac ) * FinalSysSizing ( CurSysNum ).CoolRetTemp; + CoilInHumRat = OutAirFrac*FinalSysSizing ( CurSysNum ).PrecoolHumRat + ( 1.0 - OutAirFrac )*FinalSysSizing ( CurSysNum ).CoolRetHumRat; } - OutAirFrac = min ( 1.0, max ( 0.0, OutAirFrac ) ); - CoilInTemp = OutAirFrac * FinalSysSizing ( CurSysNum ).PrecoolTemp + ( 1.0 - OutAirFrac ) * FinalSysSizing ( CurSysNum ).CoolRetTemp; - CoilInHumRat = OutAirFrac*FinalSysSizing ( CurSysNum ).PrecoolHumRat + ( 1.0 - OutAirFrac )*FinalSysSizing ( CurSysNum ).CoolRetHumRat; } - } - OutTemp = FinalSysSizing ( CurSysNum ).CoolOutTemp; - rhoair = PsyRhoAirFnPbTdbW ( StdBaroPress, CoilInTemp, CoilInHumRat, CallingRoutine ); - CoilInEnth = PsyHFnTdbW ( CoilInTemp, CoilInHumRat ); - CoilInWetBulb = PsyTwbFnTdbWPb ( CoilInTemp, CoilInHumRat, StdBaroPress, CallingRoutine ); - CoilOutEnth = PsyHFnTdbW ( CoilOutTemp, CoilOutHumRat ); - if ( DataTotCapCurveIndex > 0 ) { - TotCapTempModFac = CurveValue ( DataTotCapCurveIndex, CoilInWetBulb, OutTemp ); - } else { - TotCapTempModFac = 1.0; - } - PeakCoilLoad = max ( 0.0, ( rhoair * DesVolFlow * ( CoilInEnth - CoilOutEnth ) ) ); - if ( TotCapTempModFac > 0.0 ) { - NominalCapacityDes = PeakCoilLoad / TotCapTempModFac; + OutTemp = FinalSysSizing ( CurSysNum ).CoolOutTemp; + rhoair = PsyRhoAirFnPbTdbW ( StdBaroPress, CoilInTemp, CoilInHumRat, CallingRoutine ); + CoilInEnth = PsyHFnTdbW ( CoilInTemp, CoilInHumRat ); + CoilInWetBulb = PsyTwbFnTdbWPb ( CoilInTemp, CoilInHumRat, StdBaroPress, CallingRoutine ); + CoilOutEnth = PsyHFnTdbW ( CoilOutTemp, CoilOutHumRat ); + if ( DataTotCapCurveIndex > 0 ) { + TotCapTempModFac = CurveValue ( DataTotCapCurveIndex, CoilInWetBulb, OutTemp ); + } else { + TotCapTempModFac = 1.0; + } + PeakCoilLoad = max ( 0.0, ( rhoair * DesVolFlow * ( CoilInEnth - CoilOutEnth ) ) ); + if ( TotCapTempModFac > 0.0 ) { + NominalCapacityDes = PeakCoilLoad / TotCapTempModFac; + } else { + NominalCapacityDes = PeakCoilLoad; + } } else { - NominalCapacityDes = PeakCoilLoad; + NominalCapacityDes = 0.0; } - } else { - NominalCapacityDes = 0.0; } } // IF(OASysFlag) THEN or ELSE IF(AirLoopSysFlag) THEN + AutosizeDes = NominalCapacityDes * DataHeatSizeRatio * DataFracOfAutosizedCoolingCapacity; } - AutosizeDes = NominalCapacityDes * DataHeatSizeRatio; + } else if (SizingType == HeatingCapacitySizing) { + DataFracOfAutosizedHeatingCapacity = FinalSysSizing( CurSysNum ).FractionOfAutosizedHeatingCapacity; if (CurOASysNum > 0) { if (OASysEqSizing(CurOASysNum).HeatingAirFlow) { DesVolFlow = OASysEqSizing(CurOASysNum).AirVolFlow; @@ -888,7 +917,7 @@ namespace ReportSizingManager { NominalCapacityDes = 0.0; } } - AutosizeDes = NominalCapacityDes * DataHeatSizeRatio; + AutosizeDes = NominalCapacityDes * DataHeatSizeRatio * DataFracOfAutosizedHeatingCapacity; } } } diff --git a/src/EnergyPlus/SimAirServingZones.cc b/src/EnergyPlus/SimAirServingZones.cc index e8630107f9d..df91b836d81 100644 --- a/src/EnergyPlus/SimAirServingZones.cc +++ b/src/EnergyPlus/SimAirServingZones.cc @@ -1803,6 +1803,8 @@ namespace SimAirServingZones { for ( AirLoopNum = 1; AirLoopNum <= NumPrimaryAirSys; ++AirLoopNum ) { + //UpdateScalableSysSizing( AirLoopNum ); + for ( BranchNum = 1; BranchNum <= PrimaryAirSystem( AirLoopNum ).NumBranches; ++BranchNum ) { SizeAirLoopBranches( AirLoopNum, BranchNum ); } @@ -3397,6 +3399,7 @@ namespace SimAirServingZones { using DataHeatBalance::Zone; using DataDefineEquip::AirDistUnit; using DataDefineEquip::NumAirDistUnits; + using namespace DataSizing; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -3543,6 +3546,10 @@ namespace SimAirServingZones { SysSizing( AirLoopNum, DesDayEnvrnNum ).HeatOAOption = SysSizInput( SysSizNum ).HeatOAOption; SysSizing( AirLoopNum, DesDayEnvrnNum ).CoolAirDesMethod = SysSizInput( SysSizNum ).CoolAirDesMethod; SysSizing( AirLoopNum, DesDayEnvrnNum ).HeatAirDesMethod = SysSizInput( SysSizNum ).HeatAirDesMethod; + SysSizing( AirLoopNum, DesDayEnvrnNum ).ScaleCoolSAFMethod = SysSizInput( SysSizNum ).ScaleCoolSAFMethod; + SysSizing( AirLoopNum, DesDayEnvrnNum ).ScaleHeatSAFMethod = SysSizInput( SysSizNum ).ScaleHeatSAFMethod; + SysSizing( AirLoopNum, DesDayEnvrnNum ).CoolingCapMethod = SysSizInput( SysSizNum ).CoolingCapMethod; + SysSizing( AirLoopNum, DesDayEnvrnNum ).HeatingCapMethod = SysSizInput( SysSizNum ).HeatingCapMethod; SysSizing( AirLoopNum, DesDayEnvrnNum ).InpDesCoolAirFlow = SysSizInput( SysSizNum ).DesCoolAirFlow; SysSizing( AirLoopNum, DesDayEnvrnNum ).InpDesHeatAirFlow = SysSizInput( SysSizNum ).DesHeatAirFlow; SysSizing( AirLoopNum, DesDayEnvrnNum ).MaxZoneOAFraction = SysSizInput( SysSizNum ).MaxZoneOAFraction; @@ -3565,6 +3572,10 @@ namespace SimAirServingZones { SysSizing( AirLoopNum, DesDayEnvrnNum ).HeatOAOption = SysSizInput( 1 ).HeatOAOption; SysSizing( AirLoopNum, DesDayEnvrnNum ).CoolAirDesMethod = SysSizInput( 1 ).CoolAirDesMethod; SysSizing( AirLoopNum, DesDayEnvrnNum ).HeatAirDesMethod = SysSizInput( 1 ).HeatAirDesMethod; + SysSizing( AirLoopNum, DesDayEnvrnNum ).ScaleCoolSAFMethod = SysSizInput( 1 ).ScaleCoolSAFMethod; + SysSizing( AirLoopNum, DesDayEnvrnNum ).ScaleHeatSAFMethod = SysSizInput( 1 ).ScaleHeatSAFMethod; + SysSizing( AirLoopNum, DesDayEnvrnNum ).CoolingCapMethod = SysSizInput( 1 ).CoolingCapMethod; + SysSizing( AirLoopNum, DesDayEnvrnNum ).HeatingCapMethod = SysSizInput( 1 ).HeatingCapMethod; SysSizing( AirLoopNum, DesDayEnvrnNum ).InpDesCoolAirFlow = SysSizInput( 1 ).DesCoolAirFlow; SysSizing( AirLoopNum, DesDayEnvrnNum ).InpDesHeatAirFlow = SysSizInput( 1 ).DesHeatAirFlow; SysSizing( AirLoopNum, DesDayEnvrnNum ).MaxZoneOAFraction = SysSizInput( 1 ).MaxZoneOAFraction; @@ -3621,18 +3632,26 @@ namespace SimAirServingZones { FinalSysSizing( AirLoopNum ).HeatOAOption = SysSizInput( SysSizNum ).HeatOAOption; FinalSysSizing( AirLoopNum ).CoolAirDesMethod = SysSizInput( SysSizNum ).CoolAirDesMethod; FinalSysSizing( AirLoopNum ).HeatAirDesMethod = SysSizInput( SysSizNum ).HeatAirDesMethod; + FinalSysSizing( AirLoopNum ).ScaleCoolSAFMethod = SysSizInput( SysSizNum ).ScaleCoolSAFMethod; + FinalSysSizing( AirLoopNum ).ScaleHeatSAFMethod = SysSizInput( SysSizNum ).ScaleHeatSAFMethod; + FinalSysSizing( AirLoopNum ).CoolingCapMethod = SysSizInput( SysSizNum ).CoolingCapMethod; + FinalSysSizing( AirLoopNum ).HeatingCapMethod = SysSizInput( SysSizNum ).HeatingCapMethod; + + FinalSysSizing(AirLoopNum).ScaledCoolingCapacity = SysSizInput(SysSizNum).ScaledCoolingCapacity; + FinalSysSizing(AirLoopNum).ScaledHeatingCapacity = SysSizInput(SysSizNum).ScaledHeatingCapacity; + FinalSysSizing( AirLoopNum ).InpDesCoolAirFlow = SysSizInput( SysSizNum ).DesCoolAirFlow; FinalSysSizing( AirLoopNum ).InpDesHeatAirFlow = SysSizInput( SysSizNum ).DesHeatAirFlow; FinalSysSizing( AirLoopNum ).SystemOAMethod = SysSizInput( SysSizNum ).SystemOAMethod; FinalSysSizing( AirLoopNum ).MaxZoneOAFraction = SysSizInput( SysSizNum ).MaxZoneOAFraction; FinalSysSizing( AirLoopNum ).OAAutoSized = SysSizInput( SysSizNum ).OAAutoSized; - FinalSysSizing(AirLoopNum).FlowPerFloorAreaCooled = SysSizInput(SysSizNum).FlowPerFloorAreaCooled; - FinalSysSizing(AirLoopNum).FlowPerFloorAreaHeated = SysSizInput(SysSizNum).FlowPerFloorAreaHeated; - FinalSysSizing(AirLoopNum).FracOfAutosizedCoolingAirflow = SysSizInput(SysSizNum).FracOfAutosizedCoolingAirflow; - FinalSysSizing(AirLoopNum).FracOfAutosizedHeatingAirflow = SysSizInput(SysSizNum).FracOfAutosizedHeatingAirflow; - FinalSysSizing(AirLoopNum).FlowPerCoolingCapacity = SysSizInput(SysSizNum).FlowPerCoolingCapacity; - FinalSysSizing(AirLoopNum).FlowPerHeatingCapacity = SysSizInput(SysSizNum).FlowPerHeatingCapacity; + FinalSysSizing( AirLoopNum ).FlowPerFloorAreaCooled = SysSizInput( SysSizNum ).FlowPerFloorAreaCooled; + FinalSysSizing( AirLoopNum ).FlowPerFloorAreaHeated = SysSizInput( SysSizNum ).FlowPerFloorAreaHeated; + FinalSysSizing( AirLoopNum ).FractionOfAutosizedCoolingAirflow = SysSizInput( SysSizNum ).FractionOfAutosizedCoolingAirflow; + FinalSysSizing( AirLoopNum ).FractionOfAutosizedHeatingAirflow = SysSizInput( SysSizNum ).FractionOfAutosizedHeatingAirflow; + FinalSysSizing( AirLoopNum ).FlowPerCoolingCapacity = SysSizInput( SysSizNum ).FlowPerCoolingCapacity; + FinalSysSizing( AirLoopNum ).FlowPerHeatingCapacity = SysSizInput( SysSizNum ).FlowPerHeatingCapacity; CalcSysSizing( AirLoopNum ).LoadSizeType = SysSizInput( SysSizNum ).LoadSizeType; CalcSysSizing( AirLoopNum ).DesOutAirVolFlow = SysSizInput( SysSizNum ).DesOutAirVolFlow; @@ -3650,16 +3669,22 @@ namespace SimAirServingZones { CalcSysSizing( AirLoopNum ).HeatOAOption = SysSizInput( SysSizNum ).HeatOAOption; CalcSysSizing( AirLoopNum ).CoolAirDesMethod = SysSizInput( SysSizNum ).CoolAirDesMethod; CalcSysSizing( AirLoopNum ).HeatAirDesMethod = SysSizInput( SysSizNum ).HeatAirDesMethod; + CalcSysSizing( AirLoopNum ).ScaleCoolSAFMethod = SysSizInput( SysSizNum ).ScaleCoolSAFMethod; + CalcSysSizing( AirLoopNum ).ScaleHeatSAFMethod = SysSizInput( SysSizNum ).ScaleHeatSAFMethod; + CalcSysSizing( AirLoopNum ).CoolingCapMethod = SysSizInput( SysSizNum ).CoolingCapMethod; + CalcSysSizing( AirLoopNum ).HeatingCapMethod = SysSizInput( SysSizNum ).HeatingCapMethod; + CalcSysSizing(AirLoopNum).ScaledCoolingCapacity = SysSizInput(SysSizNum).ScaledCoolingCapacity; + CalcSysSizing(AirLoopNum).ScaledHeatingCapacity = SysSizInput(SysSizNum).ScaledHeatingCapacity; + CalcSysSizing( AirLoopNum ).InpDesCoolAirFlow = SysSizInput( SysSizNum ).DesCoolAirFlow; CalcSysSizing( AirLoopNum ).InpDesHeatAirFlow = SysSizInput( SysSizNum ).DesHeatAirFlow; CalcSysSizing( AirLoopNum ).SystemOAMethod = SysSizInput( SysSizNum ).SystemOAMethod; CalcSysSizing( AirLoopNum ).MaxZoneOAFraction = SysSizInput( SysSizNum ).MaxZoneOAFraction; CalcSysSizing( AirLoopNum ).OAAutoSized = SysSizInput( SysSizNum ).OAAutoSized; - CalcSysSizing( AirLoopNum ).FlowPerFloorAreaCooled = SysSizInput( SysSizNum ).FlowPerFloorAreaCooled; CalcSysSizing( AirLoopNum ).FlowPerFloorAreaHeated = SysSizInput( SysSizNum ).FlowPerFloorAreaHeated; - CalcSysSizing( AirLoopNum ).FracOfAutosizedCoolingAirflow = SysSizInput( SysSizNum ).FracOfAutosizedCoolingAirflow; - CalcSysSizing( AirLoopNum ).FracOfAutosizedHeatingAirflow = SysSizInput( SysSizNum ).FracOfAutosizedHeatingAirflow; + CalcSysSizing( AirLoopNum ).FractionOfAutosizedCoolingAirflow = SysSizInput( SysSizNum ).FractionOfAutosizedCoolingAirflow; + CalcSysSizing( AirLoopNum ).FractionOfAutosizedHeatingAirflow = SysSizInput( SysSizNum ).FractionOfAutosizedHeatingAirflow; CalcSysSizing( AirLoopNum ).FlowPerCoolingCapacity = SysSizInput( SysSizNum ).FlowPerCoolingCapacity; CalcSysSizing( AirLoopNum ).FlowPerHeatingCapacity = SysSizInput( SysSizNum ).FlowPerHeatingCapacity; @@ -3682,6 +3707,13 @@ namespace SimAirServingZones { FinalSysSizing( AirLoopNum ).HeatOAOption = SysSizInput( 1 ).HeatOAOption; FinalSysSizing( AirLoopNum ).CoolAirDesMethod = SysSizInput( 1 ).CoolAirDesMethod; FinalSysSizing( AirLoopNum ).HeatAirDesMethod = SysSizInput( 1 ).HeatAirDesMethod; + FinalSysSizing( AirLoopNum ).ScaleCoolSAFMethod = SysSizInput( 1 ).ScaleCoolSAFMethod; + FinalSysSizing( AirLoopNum ).ScaleHeatSAFMethod = SysSizInput( 1 ).ScaleHeatSAFMethod; + FinalSysSizing( AirLoopNum ).CoolingCapMethod = SysSizInput( 1 ).CoolingCapMethod; + FinalSysSizing( AirLoopNum ).HeatingCapMethod = SysSizInput( 1 ).HeatingCapMethod; + FinalSysSizing(AirLoopNum).ScaledCoolingCapacity = SysSizInput(1).ScaledCoolingCapacity; + FinalSysSizing(AirLoopNum).ScaledHeatingCapacity = SysSizInput(1).ScaledHeatingCapacity; + FinalSysSizing( AirLoopNum ).InpDesCoolAirFlow = SysSizInput( 1 ).DesCoolAirFlow; FinalSysSizing( AirLoopNum ).InpDesHeatAirFlow = SysSizInput( 1 ).DesHeatAirFlow; FinalSysSizing( AirLoopNum ).SystemOAMethod = SysSizInput( 1 ).SystemOAMethod; @@ -3690,8 +3722,8 @@ namespace SimAirServingZones { FinalSysSizing(AirLoopNum).FlowPerFloorAreaCooled = SysSizInput(1).FlowPerFloorAreaCooled; FinalSysSizing(AirLoopNum).FlowPerFloorAreaHeated = SysSizInput(1).FlowPerFloorAreaHeated; - FinalSysSizing(AirLoopNum).FracOfAutosizedCoolingAirflow = SysSizInput(1).FracOfAutosizedCoolingAirflow; - FinalSysSizing(AirLoopNum).FracOfAutosizedHeatingAirflow = SysSizInput(1).FracOfAutosizedHeatingAirflow; + FinalSysSizing(AirLoopNum).FractionOfAutosizedCoolingAirflow = SysSizInput(1).FractionOfAutosizedCoolingAirflow; + FinalSysSizing(AirLoopNum).FractionOfAutosizedHeatingAirflow = SysSizInput(1).FractionOfAutosizedHeatingAirflow; FinalSysSizing(AirLoopNum).FlowPerCoolingCapacity = SysSizInput(1).FlowPerCoolingCapacity; FinalSysSizing(AirLoopNum).FlowPerHeatingCapacity = SysSizInput(1).FlowPerHeatingCapacity; @@ -3711,6 +3743,12 @@ namespace SimAirServingZones { CalcSysSizing( AirLoopNum ).HeatOAOption = SysSizInput( 1 ).HeatOAOption; CalcSysSizing( AirLoopNum ).CoolAirDesMethod = SysSizInput( 1 ).CoolAirDesMethod; CalcSysSizing( AirLoopNum ).HeatAirDesMethod = SysSizInput( 1 ).HeatAirDesMethod; + CalcSysSizing( AirLoopNum ).ScaleCoolSAFMethod = SysSizInput( 1 ).ScaleCoolSAFMethod; + CalcSysSizing( AirLoopNum ).ScaleHeatSAFMethod = SysSizInput( 1 ).ScaleHeatSAFMethod; + CalcSysSizing( AirLoopNum ).CoolingCapMethod = SysSizInput( 1 ).CoolingCapMethod; + CalcSysSizing( AirLoopNum ).HeatingCapMethod = SysSizInput( 1 ).HeatingCapMethod; + CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity = SysSizInput(1).ScaledCoolingCapacity; + CalcSysSizing( AirLoopNum ).ScaledHeatingCapacity = SysSizInput(1).ScaledHeatingCapacity; CalcSysSizing( AirLoopNum ).InpDesCoolAirFlow = SysSizInput( 1 ).DesCoolAirFlow; CalcSysSizing( AirLoopNum ).InpDesHeatAirFlow = SysSizInput( 1 ).DesHeatAirFlow; CalcSysSizing( AirLoopNum ).SystemOAMethod = SysSizInput( 1 ).SystemOAMethod; @@ -3719,8 +3757,8 @@ namespace SimAirServingZones { CalcSysSizing(AirLoopNum).FlowPerFloorAreaCooled = SysSizInput(1).FlowPerFloorAreaCooled; CalcSysSizing(AirLoopNum).FlowPerFloorAreaHeated = SysSizInput(1).FlowPerFloorAreaHeated; - CalcSysSizing(AirLoopNum).FracOfAutosizedCoolingAirflow = SysSizInput(1).FracOfAutosizedCoolingAirflow; - CalcSysSizing(AirLoopNum).FracOfAutosizedHeatingAirflow = SysSizInput(1).FracOfAutosizedHeatingAirflow; + CalcSysSizing(AirLoopNum).FractionOfAutosizedCoolingAirflow = SysSizInput(1).FractionOfAutosizedCoolingAirflow; + CalcSysSizing(AirLoopNum).FractionOfAutosizedHeatingAirflow = SysSizInput(1).FractionOfAutosizedHeatingAirflow; CalcSysSizing(AirLoopNum).FlowPerCoolingCapacity = SysSizInput(1).FlowPerCoolingCapacity; CalcSysSizing(AirLoopNum).FlowPerHeatingCapacity = SysSizInput(1).FlowPerHeatingCapacity; @@ -3904,7 +3942,7 @@ namespace SimAirServingZones { // Calc maximum zone OA fraction and supply air adjustment factor based on // user entered max allowed OA fraction - a TRACE feature if ( FinalSysSizing( AirLoopNum ).MaxZoneOAFraction > 0 && ZoneOAFracCooling > FinalSysSizing( AirLoopNum ).MaxZoneOAFraction ) { - if ( FinalSysSizing( AirLoopNum ).CoolAirDesMethod == FromDDCalc ) { // DesignDay Method + if (FinalSysSizing(AirLoopNum).CoolAirDesMethod == FromDDCalc ) { // DesignDay Method ClgSupplyAirAdjustFactor = ZoneOAFracCooling / FinalSysSizing( AirLoopNum ).MaxZoneOAFraction; if ( FinalZoneSizing( CtrlZoneNum ).ZoneSecondaryRecirculation > 0.0 || FinalZoneSizing( CtrlZoneNum ).DesCoolVolFlowMin <= 0 ) { //multi-path system or VAV Minimum not defined @@ -4161,6 +4199,8 @@ namespace SimAirServingZones { } FinalZoneSizing( CtrlZoneNum ).SupplyAirAdjustFactor = max( ClgSupplyAirAdjustFactor, HtgSupplyAirAdjustFactor ); CalcZoneSizing( CtrlZoneNum, CurOverallSimDay ).SupplyAirAdjustFactor = FinalZoneSizing( CtrlZoneNum ).SupplyAirAdjustFactor; + + FinalSysSizing( AirLoopNum ).FloorAreaOnAirLoopHeated = FinalSysSizing( AirLoopNum ).FloorAreaOnAirLoopCooled; } FinalSysSizing( AirLoopNum ).SysUncOA = SysOAUnc; @@ -4359,6 +4399,7 @@ namespace SimAirServingZones { using EMSManager::ManageEMS; using namespace OutputReportPredefined; using DataHeatBalance::Zone; + using namespace DataSizing; // Locals int NumOfTimeStepInDay; // number of zone time steps in a day @@ -5325,25 +5366,7 @@ namespace SimAirServingZones { } } - - //// scalable sizing for coincident sizing option - //if (FinalSysSizing(AirLoopNum).CoolAirDesMethod == FlowPerFloorArea){ - // CalcSysSizing(AirLoopNum).DesCoolVolFlow = CalcSysSizing(AirLoopNum).FlowPerFloorAreaCooled * CalcSysSizing(AirLoopNum).FloorAreaOnAirLoopCooled; - //} else if (FinalSysSizing(AirLoopNum).CoolAirDesMethod == FractionOfAutosizedCoolingAirflow) { - // CalcSysSizing(AirLoopNum).DesCoolVolFlow = CalcSysSizing(AirLoopNum).FracOfAutosizedCoolingAirflow * CalcSysSizing(AirLoopNum).DesCoolVolFlow; - //} else if (FinalSysSizing(AirLoopNum).CoolAirDesMethod == FlowPerCoolingCapacity) { - // CalcSysSizing(AirLoopNum).DesCoolVolFlow = CalcSysSizing(AirLoopNum).FlowPerCoolingCapacity * CalcSysSizing(AirLoopNum).SensCoolCap; - //} - - //// scalable sizing for coincident sizing option - //if (FinalSysSizing(AirLoopNum).HeatAirDesMethod == FlowPerFloorArea){ - // CalcSysSizing(AirLoopNum).DesHeatVolFlow = CalcSysSizing(AirLoopNum).FlowPerFloorAreaHeated * CalcSysSizing(AirLoopNum).FloorAreaOnAirLoopHeated; - //} else if (FinalSysSizing(AirLoopNum).HeatAirDesMethod == FractionOfAutosizedHeatingAirflow) { - // CalcSysSizing(AirLoopNum).DesHeatVolFlow = CalcSysSizing(AirLoopNum).FracOfAutosizedHeatingAirflow * CalcSysSizing(AirLoopNum).DesHeatVolFlow; - //} else if (FinalSysSizing(AirLoopNum).HeatAirDesMethod == FlowPerHeatingCapacity) { - // CalcSysSizing(AirLoopNum).DesHeatVolFlow = CalcSysSizing(AirLoopNum).FlowPerHeatingCapacity * CalcSysSizing(AirLoopNum).HeatCap; - //} - + CalcSysSizing( AirLoopNum ).DesMainVolFlow = max( CalcSysSizing( AirLoopNum ).DesCoolVolFlow, CalcSysSizing( AirLoopNum ).DesHeatVolFlow ); // For noncoincident sizing, find the max heat and cool mass flow for each zone over all the @@ -5513,23 +5536,6 @@ namespace SimAirServingZones { CalcSysSizing( AirLoopNum ).DesCoolVolFlow = CalcSysSizing( AirLoopNum ).NonCoinCoolMassFlow / StdRhoAir; CalcSysSizing( AirLoopNum ).DesHeatVolFlow = CalcSysSizing( AirLoopNum ).NonCoinHeatMassFlow / StdRhoAir; - //// scalable sizing for noncoincident sizing option for cooling - //if (FinalSysSizing(AirLoopNum).CoolAirDesMethod == FlowPerFloorArea){ - // CalcSysSizing(AirLoopNum).DesCoolVolFlow = CalcSysSizing(AirLoopNum).FlowPerFloorAreaCooled * CalcSysSizing(AirLoopNum).FloorAreaOnAirLoopCooled; - //} else if (FinalSysSizing(AirLoopNum).CoolAirDesMethod == FractionOfAutosizedCoolingAirflow) { - // CalcSysSizing(AirLoopNum).DesCoolVolFlow = CalcSysSizing(AirLoopNum).FracOfAutosizedCoolingAirflow * CalcSysSizing(AirLoopNum).DesCoolVolFlow; - //} else if (FinalSysSizing(AirLoopNum).CoolAirDesMethod == FlowPerCoolingCapacity) { - // CalcSysSizing(AirLoopNum).DesCoolVolFlow = CalcSysSizing(AirLoopNum).FlowPerCoolingCapacity * CalcSysSizing(AirLoopNum).SensCoolCap; - //} - - //// scalable sizing for noncoincident sizing option for heating - //if (FinalSysSizing(AirLoopNum).HeatAirDesMethod == FlowPerFloorArea){ - // CalcSysSizing(AirLoopNum).DesHeatVolFlow = CalcSysSizing(AirLoopNum).FlowPerFloorAreaHeated * CalcSysSizing(AirLoopNum).FloorAreaOnAirLoopHeated; - //} else if (FinalSysSizing(AirLoopNum).HeatAirDesMethod == FractionOfAutosizedHeatingAirflow) { - // CalcSysSizing(AirLoopNum).DesHeatVolFlow = CalcSysSizing(AirLoopNum).FracOfAutosizedHeatingAirflow * CalcSysSizing(AirLoopNum).DesHeatVolFlow; - //} else if (FinalSysSizing(AirLoopNum).HeatAirDesMethod == FlowPerHeatingCapacity) { - // CalcSysSizing(AirLoopNum).DesHeatVolFlow = CalcSysSizing(AirLoopNum).FlowPerHeatingCapacity * CalcSysSizing(AirLoopNum).HeatCap; - //} CalcSysSizing( AirLoopNum ).DesMainVolFlow = max( CalcSysSizing( AirLoopNum ).DesCoolVolFlow, CalcSysSizing( AirLoopNum ).DesHeatVolFlow ); } @@ -5586,18 +5592,21 @@ namespace SimAirServingZones { // Check for user input design system flow rates. Set the sizing ratios. for ( AirLoopNum = 1; AirLoopNum <= NumPrimaryAirSys; ++AirLoopNum ) { + // adjust system sizing flow rates for scalable flows + UpdateSysSizingFlowForScalableInputs( AirLoopNum ); + NumZonesCooled = AirToZoneNodeInfo( AirLoopNum ).NumZonesCooled; NumZonesHeated = AirToZoneNodeInfo( AirLoopNum ).NumZonesHeated; RhoAir = StdRhoAir; SysCoolSizingRat = 0.0; - if ( CalcSysSizing( AirLoopNum ).InpDesCoolAirFlow > 0.0 && CalcSysSizing( AirLoopNum ).DesCoolVolFlow > 0.0 && CalcSysSizing( AirLoopNum ).CoolAirDesMethod == InpDesAirFlow ) { + if ( CalcSysSizing( AirLoopNum ).InpDesCoolAirFlow > 0.0 && CalcSysSizing( AirLoopNum ).DesCoolVolFlow > 0.0 && ( CalcSysSizing( AirLoopNum ).CoolAirDesMethod == InpDesAirFlow || CalcSysSizing( AirLoopNum ).ScaleCoolSAFMethod == FlowPerFloorArea || CalcSysSizing( AirLoopNum ).ScaleCoolSAFMethod == FractionOfAutosizedCoolingAirflow || CalcSysSizing(AirLoopNum).ScaleCoolSAFMethod == FlowPerCoolingCapacity) ) { SysCoolSizingRat = CalcSysSizing( AirLoopNum ).InpDesCoolAirFlow / CalcSysSizing( AirLoopNum ).DesCoolVolFlow; } else { SysCoolSizingRat = 1.0; } SysHeatSizingRat = 0.0; - if ( CalcSysSizing( AirLoopNum ).InpDesHeatAirFlow > 0.0 && CalcSysSizing( AirLoopNum ).DesHeatVolFlow > 0.0 && CalcSysSizing( AirLoopNum ).HeatAirDesMethod == InpDesAirFlow ) { + if ( CalcSysSizing( AirLoopNum ).InpDesHeatAirFlow > 0.0 && CalcSysSizing( AirLoopNum ).DesHeatVolFlow > 0.0 && ( CalcSysSizing(AirLoopNum ).HeatAirDesMethod == InpDesAirFlow || CalcSysSizing( AirLoopNum ).ScaleHeatSAFMethod == FlowPerFloorArea || CalcSysSizing( AirLoopNum ).ScaleHeatSAFMethod == FractionOfAutosizedHeatingAirflow || CalcSysSizing( AirLoopNum ).ScaleHeatSAFMethod == FractionOfAutosizedCoolingAirflow || CalcSysSizing( AirLoopNum ).ScaleHeatSAFMethod == FlowPerHeatingCapacity ) ) { SysHeatSizingRat = CalcSysSizing( AirLoopNum ).InpDesHeatAirFlow / CalcSysSizing( AirLoopNum ).DesHeatVolFlow; } else { SysHeatSizingRat = 1.0; @@ -5781,6 +5790,7 @@ namespace SimAirServingZones { if ( FinalSysSizing( AirLoopNum ).DesCoolVolFlowMin <= 0.0 ) { FinalSysSizing( AirLoopNum ).DesCoolVolFlowMin = FinalSysSizing( AirLoopNum ).DesOutAirVolFlow; } + } // EMS calling point to customize zone sizing results @@ -5909,6 +5919,362 @@ namespace SimAirServingZones { } + //void + //UpdateScalableSysSizing( int const AirLoopNum ) + //{ + // + // // SUBROUTINE INFORMATION: + // // AUTHOR Bereket Nigusse + // // DATE WRITTEN Auguts 2014 + // // MODIFIED na + // // RE-ENGINEERED na + + // // PURPOSE OF THIS SUBROUTINE: + // // calculates or updates the sizing results if scalable sizing method is specified + + // // METHODOLOGY EMPLOYED: + // // na + + // // REFERENCES: + // // na + + // // Using/Aliasing + // using namespace DataSizing; + // using DataHVACGlobals::SystemAirflowSizing; + // using DataHVACGlobals::CoolingAirflowSizing; + // using DataHVACGlobals::HeatingAirflowSizing; + // using DataHVACGlobals::CoolingCapacitySizing; + // using DataHVACGlobals::HeatingCapacitySizing; + // using ReportSizingManager::RequestSizing; + // using InputProcessor::FindItemInList; + // //using DataSizing::CurSysNum; + + // //using General::FindNumberInList; + + // // Locals + // // SUBROUTINE ARGUMENT DEFINITIONS: + + // // SUBROUTINE PARAMETER DEFINITIONS: + // static std::string const RoutineName("UpdateScalableSysSizing: "); // include trailing blank space + + // // INTERFACE BLOCK SPECIFICATIONS + // // na + + // // DERIVED TYPE DEFINITIONS + // // na + + // // SUBROUTINE LOCAL VARIABLE DECLARATIONS: + // //int NumOfTimeStepInDay; // number of zone time steps in a day + // std::string CompName; // component name + // std::string CompType; // component type + // std::string SizingString; // input field sizing description (e.g., Nominal Capacity) + // Real64 TempSize; // autosized value + // int FieldNum( 1 ); // IDD numeric field number where input field description is found + // int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) + // int SAFMethod( 0 ); // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow ...) + // int CapSizingMethod( 0 ); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) + // bool PrintFlag; // TRUE when sizing information is reported in the eio file + + + // if (CurSysNum == 0 ) CurSysNum = FindItemInList(FinalSysSizing(AirLoopNum).AirPriLoopName, SysSizInput.AirPriLoopName(), NumSysSizInput); + // + // if ( AirLoopNum > 0 ) { + // + // PrintFlag = false; + // SizingString = ""; + // //scalable sizing options for cooling supply air flow rate + // { auto const SELECT_CASE_var(FinalSysSizing(AirLoopNum).ScaleCoolSAFMethod); + // if ((SELECT_CASE_var == FromDDCalc) || (SELECT_CASE_var == InpDesAirFlow)) { + // //FinalSysSizing(AirLoopNum).DesCoolVolFlow = CalcSysSizing( AirLoopNum ).DesCoolVolFlow; + // } else if (SELECT_CASE_var == FlowPerFloorArea) { + // SizingMethod = CoolingAirflowSizing; + // TempSize = FinalSysSizing(AirLoopNum).FlowPerFloorAreaCooled; + // RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + // FinalSysSizing(AirLoopNum).DesCoolVolFlow = TempSize; + + // CalcSysSizing(AirLoopNum).InpDesCoolAirFlow = TempSize; + // FinalSysSizing(AirLoopNum).InpDesCoolAirFlow = TempSize; + + // } else if (SELECT_CASE_var == FractionOfAutosizedCoolingAirflow) { + // SizingMethod = CoolingAirflowSizing; + // TempSize = AutoSize; + // RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + // FinalSysSizing(AirLoopNum).DesCoolVolFlow = TempSize; + // } else if (SELECT_CASE_var == FlowPerCoolingCapacity) { + // SizingMethod = CoolingCapacitySizing; + // TempSize = AutoSize; + // RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + // if (FinalSysSizing(AirLoopNum).ScaleCoolSAFMethod == FractionOfAutosizedCoolingCapacity) { + // DataFracOfAutosizedCoolingCapacity = FinalSysSizing(AirLoopNum).ScaledCoolingCapacity; + // } + // DataAutosizedCoolingCapacity = TempSize; + // SizingMethod = CoolingAirflowSizing; + // TempSize = AutoSize; + // DataSysScalableFlowSizingON = true; + // RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + // FinalSysSizing(AirLoopNum).DesCoolVolFlow = TempSize; + + // } else { + // //FinalSysSizing(AirLoopNum).DesCoolVolFlow = CalcSysSizing(AirLoopNum).DesCoolVolFlow; + // } + // } + + // //{ auto const SELECT_CASE_var(FinalSysSizing( AirLoopNum ).CoolingCapMethod); + // // if (SELECT_CASE_var == CoolingDesignCapacity){ + // // if (CalcSysSizing(AirLoopNum).ScaledCoolingCapacity > 0.0) { + // // CalcSysSizing(AirLoopNum).SensCoolCap = CalcSysSizing(AirLoopNum).ScaledCoolingCapacity; + // // } else { + // // // autosized + // // CalcSysSizing(AirLoopNum).SensCoolCap = CalcSysSizing(AirLoopNum).SensCoolCap; + // // } + // // } else if (SELECT_CASE_var == CapacityPerFloorArea) { + // // CalcSysSizing(AirLoopNum).SensCoolCap = CalcSysSizing(AirLoopNum).ScaledCoolingCapacity * CalcSysSizing(AirLoopNum).FloorAreaOnAirLoopCooled; + // // } else if (SELECT_CASE_var == FractionOfAutosizedCoolingCapacity) { + // // CalcSysSizing(AirLoopNum).SensCoolCap = CalcSysSizing(AirLoopNum).ScaledCoolingCapacity * CalcSysSizing(AirLoopNum).SensCoolCap; + // // } + // //} + + // // // scalable sizing for noncoincident sizing option for heating supply air flow rate + // { auto const SELECT_CASE_var(FinalSysSizing(AirLoopNum).ScaleHeatSAFMethod); + // if ((SELECT_CASE_var == FromDDCalc) || (SELECT_CASE_var == InpDesAirFlow)) { + // //FinalSysSizing(AirLoopNum).DesHeatVolFlow = CalcSysSizing(AirLoopNum).DesHeatVolFlow; + // } else if (SELECT_CASE_var == FlowPerFloorArea) { + + // SizingMethod = HeatingAirflowSizing; + // TempSize = FinalSysSizing(AirLoopNum).FlowPerFloorAreaHeated; + // RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + // FinalSysSizing(AirLoopNum).DesHeatVolFlow = TempSize; + + // CalcSysSizing( AirLoopNum ).InpDesHeatAirFlow = TempSize; + // FinalSysSizing( AirLoopNum ).InpDesHeatAirFlow = TempSize; + + // } else if (SELECT_CASE_var == FractionOfAutosizedHeatingAirflow) { + + // SizingMethod = HeatingAirflowSizing; + // TempSize = AutoSize; + // RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + // FinalSysSizing(AirLoopNum).DesHeatVolFlow = TempSize; + + // } else if (SELECT_CASE_var == FractionOfAutosizedCoolingAirflow) { + + // SizingMethod = HeatingAirflowSizing; + // TempSize = AutoSize; + // RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + // FinalSysSizing(AirLoopNum).DesHeatVolFlow = TempSize; + + // } else if (SELECT_CASE_var == FlowPerHeatingCapacity) { + + // SizingMethod = HeatingCapacitySizing; + // TempSize = AutoSize; + // RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + // if (FinalSysSizing(AirLoopNum).ScaleCoolSAFMethod == FractionOfAutosizedHeatingCapacity) { + // DataFracOfAutosizedHeatingCapacity = FinalSysSizing(AirLoopNum).ScaledHeatingCapacity; + // } + // DataAutosizedHeatingCapacity = TempSize; + // SizingMethod = HeatingAirflowSizing; + // TempSize = AutoSize; + // DataSysScalableFlowSizingON = true; + // RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + // FinalSysSizing(AirLoopNum).DesHeatVolFlow = TempSize; + + // } else { + // //FinalSysSizing(AirLoopNum).DesHeatVolFlow = CalcSysSizing(AirLoopNum).DesHeatVolFlow; + // } + // } + // + // FinalSysSizing( AirLoopNum ).DesMainVolFlow = max(FinalSysSizing( AirLoopNum ).DesCoolVolFlow, FinalSysSizing( AirLoopNum ).DesHeatVolFlow ); + + // } + + // //CurSysNum = 0; + //} + + void + UpdateSysSizingFlowForScalableInputs( int const AirLoopNum ) + { + + // SUBROUTINE INFORMATION: + // AUTHOR Bereket Nigusse + // DATE WRITTEN Auguts 2014 + // MODIFIED na + // RE-ENGINEERED na + + // PURPOSE OF THIS SUBROUTINE: + // Modifies the design sizing flow rates for scalable sizing method inputs + + // METHODOLOGY EMPLOYED: + // na + + // REFERENCES: + // na + + // Using/Aliasing + using namespace DataPrecisionGlobals; + //using namespace DataSizing; + using ReportSizingManager::RequestSizing; + using InputProcessor::FindItemInList; + using Psychrometrics::PsyHFnTdbW; + using Psychrometrics::PsyCpAirFnWTdb; + using DataEnvironment::StdRhoAir; + using DataSizing::CalcSysSizing; + using DataSizing::FinalSysSizing; + + // Locals + // SUBROUTINE ARGUMENT DEFINITIONS: + + // SUBROUTINE PARAMETER DEFINITIONS: + static std::string const RoutineName("UpdateScalableSysSizing: "); // include trailing blank space + + // INTERFACE BLOCK SPECIFICATIONS + // na + + // DERIVED TYPE DEFINITIONS + // na + + // SUBROUTINE LOCAL VARIABLE DECLARATIONS: + std::string CompName; // component name + std::string CompType; // component type + std::string SizingString; // input field sizing description (e.g., Nominal Capacity) + Real64 TempSize; // autosized value + Real64 CoilInTemp; // entering coil air temperature [C] + Real64 CoilInHumRat; // entering coil air humidity ratio [kg/kg] + Real64 CoilInEnth; // entering coil air enthalpy [J/kg] + Real64 CoilOutTemp; // coil outlet air temperature [C] + Real64 CoilOutHumRat; // coil outlet air humidity ratio [kg/kg] + Real64 CoilOutEnth; // coil outlet air enthalpy [J/kg] + Real64 OutAirFrac; // outdoor air fraction [-] + Real64 CpAirStd; // specific heat of air at standard condition + Real64 FractionOfAutosize; // user specified autosized fraction for capacity and supply air flow + Real64 AutosizedCapacity; // autosized heating and cooling capacity + + if (AirLoopNum > 0) { + + FractionOfAutosize = 1.0; + + // scalable sizing option for cooling supply air flow rate + { auto const SELECT_CASE_var( FinalSysSizing( AirLoopNum ).ScaleCoolSAFMethod); + if (SELECT_CASE_var == FlowPerFloorArea) { + TempSize = FinalSysSizing( AirLoopNum ).FlowPerFloorAreaCooled * FinalSysSizing( AirLoopNum ).FloorAreaOnAirLoopCooled; + CalcSysSizing( AirLoopNum ).InpDesCoolAirFlow = TempSize; + FinalSysSizing( AirLoopNum ).InpDesCoolAirFlow = TempSize; + + } else if (SELECT_CASE_var == FractionOfAutosizedCoolingAirflow) { + FractionOfAutosize = FinalSysSizing(AirLoopNum).FractionOfAutosizedCoolingAirflow; + CalcSysSizing(AirLoopNum).InpDesCoolAirFlow = CalcSysSizing(AirLoopNum).DesCoolVolFlow * FractionOfAutosize; + FinalSysSizing(AirLoopNum).InpDesCoolAirFlow = FinalSysSizing(AirLoopNum).DesCoolVolFlow * FractionOfAutosize; + + } else if (SELECT_CASE_var == FlowPerCoolingCapacity) { + + if (FinalSysSizing(AirLoopNum).CoolingCapMethod == FractionOfAutosizedCoolingCapacity) { + FractionOfAutosize = FinalSysSizing(AirLoopNum).ScaledCoolingCapacity; + } + if (PrimaryAirSystem(AirLoopNum).NumOACoolCoils == 0) { // there is no precooling of the OA stream + CoilInTemp = FinalSysSizing( AirLoopNum ).CoolMixTemp; + CoilInHumRat = FinalSysSizing( AirLoopNum ).CoolMixHumRat; + } else { // there is precooling of OA stream + if (FinalSysSizing(AirLoopNum).DesCoolVolFlow > 0.0) { + OutAirFrac = FinalSysSizing( AirLoopNum ).DesOutAirVolFlow / FinalSysSizing(AirLoopNum).DesCoolVolFlow; + } + else { + OutAirFrac = 1.0; + } + OutAirFrac = min( 1.0, max( 0.0, OutAirFrac ) ); + CoilInTemp = OutAirFrac * FinalSysSizing( AirLoopNum).PrecoolTemp + (1.0 - OutAirFrac) * FinalSysSizing(AirLoopNum).CoolRetTemp; + CoilInHumRat = OutAirFrac * FinalSysSizing( AirLoopNum ).PrecoolHumRat + (1.0 - OutAirFrac)*FinalSysSizing(AirLoopNum).CoolRetHumRat; + } + CoilOutTemp = FinalSysSizing( AirLoopNum ).CoolSupTemp; + CoilOutHumRat = FinalSysSizing( AirLoopNum ).CoolSupHumRat; + CoilInEnth = PsyHFnTdbW(CoilInTemp, CoilInHumRat); + CoilOutEnth = PsyHFnTdbW(CoilOutTemp, CoilOutHumRat); + AutosizedCapacity = StdRhoAir * FinalSysSizing(AirLoopNum).DesCoolVolFlow * (CoilInEnth - CoilOutEnth); + TempSize = FinalSysSizing(AirLoopNum).FlowPerCoolingCapacity * AutosizedCapacity * FractionOfAutosize; + CalcSysSizing(AirLoopNum).InpDesCoolAirFlow = TempSize; + FinalSysSizing(AirLoopNum).InpDesCoolAirFlow = TempSize; + } + } + + // scalable sizing option for heating supply air flow rate + { auto const SELECT_CASE_var(FinalSysSizing(AirLoopNum).ScaleHeatSAFMethod); + if (SELECT_CASE_var == FlowPerFloorArea) { + TempSize = FinalSysSizing(AirLoopNum).FlowPerFloorAreaHeated * FinalSysSizing(AirLoopNum).FloorAreaOnAirLoopHeated; + CalcSysSizing(AirLoopNum).InpDesHeatAirFlow = TempSize; + FinalSysSizing(AirLoopNum).InpDesHeatAirFlow = TempSize; + + } else if (SELECT_CASE_var == FractionOfAutosizedHeatingAirflow) { + FractionOfAutosize = FinalSysSizing(AirLoopNum).FractionOfAutosizedHeatingAirflow; + CalcSysSizing(AirLoopNum).InpDesHeatAirFlow = CalcSysSizing(AirLoopNum).DesHeatVolFlow * FractionOfAutosize; + FinalSysSizing(AirLoopNum).InpDesHeatAirFlow = FinalSysSizing(AirLoopNum).DesHeatVolFlow * FractionOfAutosize; + + } else if (SELECT_CASE_var == FractionOfAutosizedCoolingAirflow) { + FractionOfAutosize = FinalSysSizing(AirLoopNum).FractionOfAutosizedCoolingAirflow; + CalcSysSizing(AirLoopNum).InpDesHeatAirFlow = CalcSysSizing(AirLoopNum).DesHeatVolFlow * FractionOfAutosize; + FinalSysSizing(AirLoopNum).InpDesHeatAirFlow = FinalSysSizing(AirLoopNum).DesHeatVolFlow * FractionOfAutosize; + + } else if (SELECT_CASE_var == FlowPerHeatingCapacity) { + if (FinalSysSizing(AirLoopNum).HeatingCapMethod == FractionOfAutosizedHeatingCapacity) { + FractionOfAutosize = FinalSysSizing(AirLoopNum).ScaledHeatingCapacity; + } + if (FinalSysSizing(AirLoopNum).HeatOAOption == MinOA) { + if (FinalSysSizing(AirLoopNum).DesHeatVolFlow > 0.0) { + OutAirFrac = FinalSysSizing(AirLoopNum).DesOutAirVolFlow / FinalSysSizing(AirLoopNum).DesHeatVolFlow; + } else { + OutAirFrac = 1.0; + } + OutAirFrac = std::min(1.0, std::max(0.0, OutAirFrac)); + } else { + OutAirFrac = 1.0; + } + if (CurOASysNum == 0 && PrimaryAirSystem(AirLoopNum).NumOAHeatCoils > 0) { + CoilInTemp = OutAirFrac * FinalSysSizing(AirLoopNum).PreheatTemp + (1.0 - OutAirFrac) * FinalSysSizing(AirLoopNum).HeatRetTemp; + } else { + CoilInTemp = OutAirFrac * FinalSysSizing(AirLoopNum).HeatOutTemp + (1.0 - OutAirFrac) * FinalSysSizing(AirLoopNum).HeatRetTemp; + } + CoilOutTemp = FinalSysSizing(AirLoopNum).HeatSupTemp; + CpAirStd = PsyCpAirFnWTdb(constant_zero, constant_twenty); + AutosizedCapacity = StdRhoAir * FinalSysSizing(AirLoopNum).DesHeatVolFlow * CpAirStd * (CoilOutTemp - CoilInTemp); + TempSize = FinalSysSizing(AirLoopNum).FlowPerHeatingCapacity * AutosizedCapacity * FractionOfAutosize; + CalcSysSizing(AirLoopNum).InpDesHeatAirFlow = TempSize; + FinalSysSizing(AirLoopNum).InpDesHeatAirFlow = TempSize; + } + } + + // save the total cooling capacity sizing data for scalable sizing + { auto const SELECT_CASE_var(FinalSysSizing( AirLoopNum ).CoolingCapMethod); + if (SELECT_CASE_var == CoolingDesignCapacity){ + if (CalcSysSizing(AirLoopNum).ScaledCoolingCapacity > 0.0) { + CalcSysSizing(AirLoopNum).CoolingTotalCapacity = CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity; + FinalSysSizing(AirLoopNum).CoolingTotalCapacity = CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity; + } else { + // autosized + } + } else if (SELECT_CASE_var == CapacityPerFloorArea) { + FinalSysSizing(AirLoopNum).CoolingTotalCapacity = CalcSysSizing(AirLoopNum).ScaledCoolingCapacity * CalcSysSizing(AirLoopNum).FloorAreaOnAirLoopCooled; + } else if (SELECT_CASE_var == FractionOfAutosizedCoolingCapacity) { + CalcSysSizing( AirLoopNum ).FractionOfAutosizedCoolingCapacity = CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity; + FinalSysSizing( AirLoopNum ).FractionOfAutosizedCoolingCapacity = CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity; + } + } + + // save the total heating capacity sizing data for scalable sizing + { auto const SELECT_CASE_var(FinalSysSizing(AirLoopNum).HeatingCapMethod); + if (SELECT_CASE_var == HeatingDesignCapacity){ + if (CalcSysSizing(AirLoopNum).ScaledHeatingCapacity > 0.0) { + FinalSysSizing(AirLoopNum).HeatingTotalCapacity= CalcSysSizing(AirLoopNum).ScaledHeatingCapacity; + }else { + // autosized + } + } else if (SELECT_CASE_var == CapacityPerFloorArea) { + FinalSysSizing(AirLoopNum).HeatingTotalCapacity = CalcSysSizing(AirLoopNum).ScaledHeatingCapacity * CalcSysSizing(AirLoopNum).FloorAreaOnAirLoopHeated; + } else if (SELECT_CASE_var == FractionOfAutosizedHeatingCapacity) { + FinalSysSizing(AirLoopNum).FractionOfAutosizedHeatingCapacity = CalcSysSizing(AirLoopNum).ScaledHeatingCapacity; + } + } + + + } + + } + // End Algorithm Section of the Module // ***************************************************************************** From d264274a3bcfdaa38b7d7d1289bdb6974d02681f Mon Sep 17 00:00:00 2001 From: Nigusse Date: Thu, 14 Aug 2014 14:43:47 -0400 Subject: [PATCH 08/19] Commit to my local branch. --- src/EnergyPlus/DataSizing.hh | 35 +- src/EnergyPlus/ReportSizingManager.cc | 997 ++------------------------ src/EnergyPlus/SimAirServingZones.cc | 11 +- src/EnergyPlus/SizingManager.cc | 349 ++++----- 4 files changed, 275 insertions(+), 1117 deletions(-) diff --git a/src/EnergyPlus/DataSizing.hh b/src/EnergyPlus/DataSizing.hh index fdcbbd84100..392083b369f 100644 --- a/src/EnergyPlus/DataSizing.hh +++ b/src/EnergyPlus/DataSizing.hh @@ -133,20 +133,13 @@ namespace DataSizing { extern int CurDuctType; // Duct type of current branch extern int CurLoopNum; // the current plant loop index extern int CurCondLoopNum; // the current condenser loop number - extern int CurEnvirNumSimDay; // current environment number for day simulated - extern int CurOverallSimDay; // current day of simulation + extern int CurEnvirNumSimDay; + extern int CurOverallSimDay; extern int NumTimeStepsInAvg; // number of time steps in the averaging window for the design flow and load sequences extern int SaveNumPlantComps; // Number of components using water as an energy source or sink (e.g. water coils) - extern int DataTotCapCurveIndex; // index to total capacity as a function of temperature curve - extern int DataPltSizCoolNum; // index to cooling plant sizing data - extern int DataPltSizHeatNum; // index to heating plant sizing data - extern int DataWaterLoopNum; // index to plant water loop - extern int DataCoilNum; // index to coil object - extern int DataFanOpMode; // fan operating mode (ContFanCycCoil or CycFanCycCoil) extern bool DataCoilIsSuppHeater; // TRUE if heating coil used as supplemental heater extern bool DataIsDXCoil; // TRUE if direct-expansion coil extern bool DataAutosizable; // TRUE if component is autosizable -<<<<<<< HEAD extern int DataTotCapCurveIndex; // index to total capacity as a function of temperature curve extern Real64 DataCoolCoilCap; // cooling coil capacity used for sizing with scalable inputs extern Real64 DataFlowUsedForSizing; // air flow rate used for sizing with scalable inputs [m3/s] @@ -171,9 +164,9 @@ namespace DataSizing { extern bool DataScalableCapSizingON; // boolean determines scalable zone capacity sizing is specified extern bool DataSysScalableFlowSizingON; // boolean determines scalable system flow sizing is specified extern bool DataSysScalableCapSizingON; // boolean determines scalable system capacity sizing is specified -======= ->>>>>>> remotes/origin/develop extern bool DataEMSOverrideON; // boolean determines if user relies on EMS to override autosizing + extern Real64 DataConstantUsedForSizing; // base value used for sizing inputs that are ratios of other inputs + extern Real64 DataFractionUsedForSizing; // fractional value of base value used for sizing inputs that are ratios of other inputs extern bool TermUnitSingDuct; // TRUE if a non-induction single duct terminal unit extern bool TermUnitPIU; // TRUE if a powered induction terminal unit extern bool TermUnitIU; // TRUE if an unpowered induction terminal unit @@ -184,22 +177,6 @@ namespace DataSizing { extern bool ZoneHeatingOnlyFan; // TRUE if zone unit only does heating and contains a fam (such as Unit Heater) extern bool SysSizingRunDone; // True if a system sizing run is successfully completed. extern bool ZoneSizingRunDone; // True if a zone sizing run has been successfully completed. - extern bool DataErrorsFound; // used for simulation termination when errors are found - extern Real64 DataDesInletWaterTemp; // coil inlet water temperture used for warning messages - extern Real64 DataDesInletAirHumRat; // coil inlet air humidity ratio used for warning messages - extern Real64 DataDesInletAirTemp; // coil inlet air temperature used for warning messages - extern Real64 DataDesOutletAirTemp; // coil outlet air temperature used for sizing - extern Real64 DataCoolCoilCap; // cooling coil capacity used for sizing with scalable inputs - extern Real64 DataFlowUsedForSizing; // air flow rate used for sizing with scalable inputs [m3/s] - extern Real64 DataAirFlowUsedForSizing; // air flow rate used for sizing with scalable inputs [m3/s] - extern Real64 DataWaterFlowUsedForSizing; // water flow rate used for sizing with scalable inputs [m3/s] - extern Real64 DataCapacityUsedForSizing; // capacity used for sizing with scalable inputs [W] - extern Real64 DataDesignCoilCapacity; // calculated capacity of coil at end of UA calculation - extern Real64 DataHeatSizeRatio; // heating coil size as a ratio of cooling coil capacity - extern Real64 DataEMSOverride; // value of EMS variable used to override autosizing - extern Real64 DataBypassFrac; // value of bypass fraction for Coil:Cooling:DX:TwoStageWithHumidityControlMode coils - extern Real64 DataConstantUsedForSizing; // base value used for sizing inputs that are ratios of other inputs - extern Real64 DataFractionUsedForSizing; // fractional value of base value used for sizing inputs that are ratios of other inputs extern Real64 AutoVsHardSizingThreshold; // criteria threshold used to determine if user hard size and autosize disagree 10% extern Real64 AutoVsHardSizingDeltaTempThreshold; // temperature criteria threshold for autosize versus hard size [C] extern Real64 DXCoolCap; // The ARI cooling capacity of a DX unit. @@ -209,8 +186,8 @@ namespace DataSizing { extern Real64 GlobalCoolSizingFactor; // the global cooling sizing ratio extern FArray1D< Real64 > ZoneSizThermSetPtHi; // highest zone thermostat setpoint during zone sizing calcs extern FArray1D< Real64 > ZoneSizThermSetPtLo; // lowest zone thermostat setpoint during zone sizing calcs - extern FArray1D_string CoolPeakDateHrMin; // date:hr:min of cooling peak - extern FArray1D_string HeatPeakDateHrMin; // date:hr:min of heating peak + extern FArray1D_string CoolPeakDateHrMin; + extern FArray1D_string HeatPeakDateHrMin; extern char SizingFileColSep; // Character to separate columns in sizing outputs extern int NumZoneHVACSizing; // Number of zone HVAC sizing objects diff --git a/src/EnergyPlus/ReportSizingManager.cc b/src/EnergyPlus/ReportSizingManager.cc index bfcdad40fe7..d1767ef847e 100644 --- a/src/EnergyPlus/ReportSizingManager.cc +++ b/src/EnergyPlus/ReportSizingManager.cc @@ -22,9 +22,6 @@ #include #include #include -#include -#include -#include namespace EnergyPlus { @@ -97,6 +94,7 @@ namespace ReportSizingManager { using DataGlobals::OutputFileInits; using namespace OutputReportPredefined; using General::RoundSigDigits; + using namespace SQLiteProcedures; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -134,7 +132,7 @@ namespace ReportSizingManager { } // add to SQL output - if ( sqlite->writeOutputToSQLite() ) sqlite->addSQLiteComponentSizingRecord( CompType, CompName, VarDesc, VarValue ); + if ( WriteOutputToSQLite ) AddSQLiteComponentSizingRecord( CompType, CompName, VarDesc, VarValue ); } @@ -162,66 +160,35 @@ namespace ReportSizingManager { // Sizing calculations for component and parent models are now consolidated into a common routine. The parent or component will // specify global variables (instead of using optional arguments) to set up the input required for specific sizing calculations. // - // SIZING TYPES (selects the specific sizing calculations, optional global arguments are in parentheses): + // SIZING TYPES (selects the specific sizing calculations): // (other sizing types may be added as needed) // - // Developer will typically provide all Data* variables in parentheses since a coil could be zone or airloop equipment - // Caution: DataFlowUsedForSizing might be either m3/s or kg/s, check the code during model development to be sure of usage - // Comments for ZONE or AIRLOOP coils indicates differences in calculations, OPTIONAL means 1 will otherwise be used) - // // CoolingAirflowSizing( 1 ); // request sizing for cooling air flow rate - // CoolingWaterflowSizing( 2 ); // request sizing for cooling water flow rate (DataPltSizCoolNum, DataWaterLoopNum, AIRLOOP COILS: DataCapacityUsedForSizing) - // HeatingWaterflowSizing( 3 ); // request sizing for heating coil water flow rate (DataPltSizHeatNum, DataWaterLoopNum, AIRLOOP COILS: DataCapacityUsedForSizing) - // CoolingWaterDesAirInletTempSizing( 4 ); // request sizing for cooling water coil inlet air temp - // CoolingWaterDesAirInletHumRatSizing( 5 ); // request sizing for cooling water coil inlet air humidity ratio - // CoolingWaterDesWaterInletTempSizing( 6 ); // request sizing for cooling water coil inlet water temp (DataPltSizCoolNum) - // CoolingWaterDesAirOutletTempSizing( 7 ); // request sizing for cooling water coil outlet air temp (DataPltSizCoolNum, DataWaterLoopNum, DataDesInletAirTemp, DataDesInletAirHumRat, DataAirFlowUsedForSizing, DataWaterFlowUsedForSizing, AIRLOOP COILS: DataDesInletWaterTemp) - // CoolingWaterDesAirOutletHumRatSizing( 8 ); // request sizing for cooling water coil outlet air humidity ratio (DataDesInletAirHumRat, DataDesInletWaterTemp, DataCapacityUsedForSizing, ZONE COILS: DataDesOutletAirTemp) - // CoolingWaterNumofTubesPerRowSizing( 9 ); // request sizing for cooling water coil number of tubes per row (DataWaterFlowUsedForSizing) - // HeatingWaterDesAirInletTempSizing( 10 ); // request sizing for heating water coil inlet air temp - // HeatingWaterDesAirInletHumRatSizing( 11 ); // request sizing for heating water coil inlet air humidity ratio - // HeatingWaterDesCoilLoadUsedForUASizing( 12 ); // request sizing for heating water coil capacity used for UA sizing (DataWaterLoopNum, DataPltSizHeatNum, AIRLOOP COILS: DataAirFlowUsedForSizing) - // HeatingWaterDesCoilWaterVolFlowUsedForUASizing( 13 ); // request sizing for heating water coil volume flow rate used for UA sizing (DataWaterFlowUsedForSizing) - // HeatingAirflowSizing( 14 ); // request sizing for heating air flow rate - // HeatingAirflowUASizing( 15 ); // request sizing for heating air flow rate - // SystemAirflowSizing( 16 ); // request sizing for system air flow rate - // CoolingCapacitySizing( 17 ); // request sizing for cooling capacity (DataFlowUsedForSizing [m3/s], DataTotCapCurveIndex [DX coils only]) - // HeatingCapacitySizing( 18 ); // request sizing for heating capacity (DataCoolCoilCap, DataFlowUsedForSizing, AIRLOOP COILS: DataCoilIsSuppHeater, OPTIONAL: DataHeatSizeRatio) - // WaterHeatingCapacitySizing( 19 ); // request sizing for water-side heating capacity (ZONE COILS ONLY: DataWaterLoopNum, DataPltSizHeatNum, OPTIONAL: DataHeatSizeRatio) - // WaterHeatingCoilUASizing( 20 ); // request sizing for heating coil UA (DataCapacityUsedForSizing, DataCoilNum, DataFanOpMode, DataCapacityUsedForSizing, DataDesInletAirTemp, DataDesInletAirHumRat, DataFlowUsedForSizing, DataDesignCoilCapacity) - // SystemCapacitySizing( 21 ); // request sizing for system capacity - // CoolingSHRSizing( 22 ); // request sizing for cooling SHR (DataFlowUsedForSizing, DataCapacityUsedForSizing) - // HeatingDefrostSizing( 23 ); // request sizing for heating defrost capacity - // AutoCalculateSizing ( 24 ); // identifies an autocalulate input + // HeatingAirflowSizing( 2 ); // request sizing for heating air flow rate + // SystemAirflowSizing( 3 ); // request sizing for system air flow rate + // CoolingCapacitySizing( 4 ); // request sizing for cooling capacity + // HeatingCapacitySizing( 5 ); // request sizing for heating capacity + // SystemCapacitySizing( 6 ); // request sizing for system capacity + // CoolingSHRSizing( 7 ); // request sizing for cooling SHR + // HeatingDefrostSizing( 8 ); // request sizing for heating defrost capacity + // AutoCalculateSizing ( 9 ); // identifies an autocalulate input (requires DataConstantUsedForSizing > 0 and DataFractionUsedForSizing > 0) // // GLOBAL VARIABLES (previously used as optional arguments): // (other global variables may be added as needed) // - // int DataTotCapCurveIndex( 0 ); // index to total capacity as a function of temperature curve - // int DataPltSizCoolNum( 0 ); // index to cooling plant sizing data - // int DataPltSizHeatNum( 0 ); // index to heating plant sizing data - // int DataWaterLoopNum( 0 ); // index to plant water loop - // int DataCoilNum( 0 ); // index to coil object - // int DataFanOpMode( 0 ); // fan operating mode (ContFanCycCoil or CycFanCycCoil) - // bool DataCoilIsSuppHeater( false ); // TRUE if heating coil used as supplemental heater - // bool DataIsDXCoil( false ); // TRUE if direct-expansion coil - // bool DataAutosizable( true ); // TRUE if component is autosizable - // bool DataEMSOverrideON( false ); // boolean determines if user relies on EMS to override autosizing - // Real64 DataDesInletWaterTemp( 0.0 ); // coil inlet water temperture used for warning messages - // Real64 DataDesInletAirHumRat( 0.0 ); // coil inlet air humidity ratio used for warning messages - // Real64 DataDesInletAirTemp( 0.0 ); // coil inlet air temperature used for warning messages - // Real64 DataDesOutletAirTemp( 0.0 ); // coil outlet air temperature used for sizing - // Real64 DataCoolCoilCap( 0.0 ); // cooling coil capacity used for sizing with scalable inputs [W] - // Real64 DataFlowUsedForSizing( 0.0 ); // air flow rate used for sizing with scalable inputs [m3/s] - // Real64 DataAirFlowUsedForSizing( 0.0 ); // air flow rate used for sizing with scalable inputs [m3/s] - // Real64 DataWaterFlowUsedForSizing( 0.0 ); // water flow rate used for sizing with scalable inputs [m3/s] - // Real64 DataCapacityUsedForSizing( 0.0 ); //capacity used for sizing with scalable inputs [W] - // Real64 DataDesignCoilCapacity( 0.0); // calculated capacity of coil at end of UA calculation - // Real64 DataHeatSizeRatio( 1.0 ); // heating coil size as a ratio of cooling coil capacity - // Real64 DataEMSOverride( 0.0 ); // value of EMS variable used to override autosizing - // Real64 DataBypassFrac( 0.0 ); // value of bypass fraction for Coil:Cooling:DX:TwoStageWithHumidityControlMode coils - // Real64 DataConstantUsedForSizing( 0.0 ); // base value used for sizing inputs that are ratios of other inputs - // Real64 DataFractionUsedForSizing( 0.0 ); // fractional value of base value used for sizing inputs that are ratios of other inputs + // DataCoilIsSuppHeater( false ); // TRUE if heating coil used as supplemental heater + // DataIsDXCoil( false ); // TRUE if direct-expansion coil + // DataAutosizable( true ); // TRUE if component is autosizable + // DataTotCapCurveIndex( 0 ); // index to total capacity as a function of temperature curve + // DataCoolCoilCap( 0.0 ); // cooling coil capacity used for sizing with scalable inputs + // DataFlowUsedForSizing( 0.0 ); // air flow rate used for sizing with scalable inputs [m3/s] + // DataCapacityUsedForSizing( 0.0 ); // capacity used for sizing with scalable inputs [W] + // DataHeatSizeRatio ( 1.0 ); // heating coil size as a ratio of cooling coil capacity + // DataEMSOverride( 0.0 ); // value of EMS variable used to override autosizing + // DataEMSOverrideON( false ); // boolean determines if user relies on EMS to override autosizing + // DataBypassFrac( 0.0 ); // value of bypass fraction for Coil:Cooling:DX:TwoStageWithHumidityControlMode coils + // DataConstantUsedForSizing( 0.0 ); // base value used for sizing inputs that are ratios of other inputs (requires SizingType == AutoCalculateSizing) + // DataFractionUsedForSizing( 0.0 ); // fractional value of base value used for sizing inputs that are ratios of other inputs (requires SizingType == AutoCalculateSizing) // // EXAMPLE setup in DXCoils: // if ( DXCoil( DXCoilNum ).DXCoilType_Num == CoilDX_CoolingTwoStageWHumControl ) { @@ -286,38 +253,20 @@ namespace ReportSizingManager { using DataAirLoop::AirLoopControlInfo; using DataAirSystems::PrimaryAirSystem; using DataGlobals::DisplayExtraWarnings; -<<<<<<< HEAD using DataHeatBalance::Zone; using namespace DataSizing; // Data added in zone eq component sizing routines -======= - using DataGlobals::InitConvTemp;; - using namespace DataSizing; ->>>>>>> remotes/origin/develop using namespace DataHVACGlobals; using General::RoundSigDigits; using General::TrimSigDigits; - using General::SolveRegulaFalsi; using InputProcessor::SameString; using Psychrometrics::PsyCpAirFnWTdb; using Psychrometrics::PsyHFnTdbW; - using Psychrometrics::PsyWFnTdpPb; - using Psychrometrics::PsyWFnTdbH; - using Psychrometrics::PsyTdpFnWPb; - using Psychrometrics::PsyWFnTdbRhPb; using Psychrometrics::PsyRhoAirFnPbTdbW; using Psychrometrics::PsyTwbFnTdbWPb; -<<<<<<< HEAD using DataEnvironment::StdRhoAir; -======= - using FluidProperties::GetSpecificHeatGlycol; - using FluidProperties::GetDensityGlycol; - using DataPlant::PlantLoop; - using WaterCoils::SimpleHeatingCoilUAResidual; ->>>>>>> remotes/origin/develop // SUBROUTINE PARAMETER DEFINITIONS: - Real64 const Acc( 0.0001 ); // Accuracy of result - int const MaxIte( 500 ); // Maximum number of iterations + // na // INTERFACE BLOCK SPECIFICATIONS: // na @@ -326,16 +275,8 @@ namespace ReportSizingManager { // na // SUBROUTINE LOCAL VARIABLE DECLARATIONS: - int DDNum; // design day number corresponding to TimeStepNumAtMax - int SolFla; // Flag of solver - int TimeStepNumAtMax; // time step number at max load bool IsAutoSize; // Indicator to autosize for reporting bool HardSizeNoDesRun; // Indicator to hardsize with no sizing runs for reporting - bool SizingDesRunThisAirSys; // true if a particular air system had a Sizing : System object and system sizing done - bool SizingDesRunThisZone; // true if a particular zone had a Sizing : Zone object and zone sizing was done - bool OASysFlag; // Logical flag determines if parent object set OA Sys coil property - bool AirLoopSysFlag; // Logical flag determines if parent object set air loop coil property - bool bCheckForZero; // logical to flag whether or not to check for very small autosized values Real64 AutosizeDes; // autosized value Real64 AutosizeUser; // user sized value Real64 OutTemp; // outdoor air temperature [C] @@ -350,38 +291,28 @@ namespace ReportSizingManager { Real64 DesCoilLoad; // design coil load based on sizing inputs and entering air conditions [W] Real64 PeakCoilLoad; // adjusted coil size based on TotCapTempModFac [W] Real64 DesVolFlow; // coil design air volume flow rate [m3/s] - Real64 DesMassFlow; // coil design mass flow rate [kg/s] + Real64 DesMassFlow; // coil design air mass flow rate [kg/s] Real64 CpAir; // specific heat of air [J/kg-K] Real64 rhoair; // density of air [kg/m3] Real64 OutAirFrac; // outdoor air fraction Real64 MinPriFlowFrac; // minimum primary air flow fraction for induction units Real64 CpAirStd; // specific heat of air at standard conditions [J/kg-K] Real64 NominalCapacityDes; // Autosized nominal capacity for reporting [W] + bool SizingDesRunThisAirSys; // true if a particular air system had a Sizing : System object and system sizing done + bool SizingDesRunThisZone; // true if a particular zone had a Sizing : Zone object and zone sizing was done + int TimeStepNumAtMax; // time step number at max load + int DDNum; // design day number corresponding to TimeStepNumAtMax + bool OASysFlag; // Logical flag determines if parent object set OA Sys coil property + bool AirLoopSysFlag; // Logical flag determines if parent object set air loop coil property Real64 RatedVolFlowPerRatedTotCap; // ratio of volume flow rate to capacity [m3/W] -<<<<<<< HEAD Real64 DesCoolOAFlowFrac; // design outdoor air flow volume fraction std::string ScalableSM; // scalable sizing methods label for reporting -======= - Real64 CoilDesWaterDeltaT; // water coil delta T used for sizing [C] - Real64 Cp; // water loop fluid specific heat [J/kgK] - Real64 rho; // water loop fluid density [kg/m3] - Real64 DesSatEnthAtWaterInTemp; // temp variable used for warning messages - Real64 DesHumRatAtWaterInTemp; // temp variable used for warning messages - Real64 T1Out; // water coil air outlet temperature [C] - Real64 T2Out; // water coil water outlet temperature [C] - Real64 UA0; // lower bound of UA for autosizing - Real64 UA1; // upper bound of UA for autosizing - Real64 MinFlowFrac; // minimum flow fraction from terminal unit [] - Real64 TDpIn; // coil inlet air dew point temperature [C] - FArray1D< Real64 > Par( 4 ); // array passed to RegulaFalsi ->>>>>>> remotes/origin/develop AutosizeDes = 0.0; AutosizeUser = 0.0; IsAutoSize = false; OASysFlag = false; AirLoopSysFlag = false; - bCheckForZero = true; if ( SysSizingRunDone || ZoneSizingRunDone ) { HardSizeNoDesRun = false; @@ -391,8 +322,8 @@ namespace ReportSizingManager { if ( CurSysNum > 0 ) { CheckThisAirSystemForSizing( CurSysNum, SizingDesRunThisAirSys ); - AirLoopSysFlag = UnitarySysEqSizing( CurSysNum ).CoolingCapacity || UnitarySysEqSizing( CurSysNum ).HeatingCapacity; // logicals used when parent sizes coil - if ( CurOASysNum > 0 ) OASysFlag = OASysEqSizing( CurOASysNum ).CoolingCapacity || OASysEqSizing( CurOASysNum ).HeatingCapacity; + AirLoopSysFlag = UnitarySysEqSizing( CurSysNum ).CoolingCapacity || UnitarySysEqSizing( CurSysNum ).HeatingCapacity; // *** change to CoolingCapacity and HeatingCapacity + if ( CurOASysNum > 0 ) OASysFlag = OASysEqSizing( CurOASysNum ).CoolingCapacity || OASysEqSizing( CurOASysNum ).HeatingCapacity; // logicals used when parent sizes coil *** change to CoolingCapacity and HeatingCapacity } else { SizingDesRunThisAirSys = false; } @@ -415,7 +346,7 @@ namespace ReportSizingManager { HardSizeNoDesRun = false; } else { ShowSevereError( CallingRoutine + " " + CompType + " " + CompName ); - ShowContinueError( "... DataConstantUsedForSizing and DataFractionUsedForSizing used for autocalculating " + SizingString + " must both be greater than 0." ); + ShowContinueError( "... DataConstantUsedForSizing and DataFractionUsedForSizing " + SizingString + " must both be greater than 0." ); ShowFatalError( "Preceding conditions cause termination." ); } } else if ( CurZoneEqNum > 0 ) { @@ -449,7 +380,6 @@ namespace ReportSizingManager { } } } else { -<<<<<<< HEAD if ( SizingType == CoolingAirflowSizing || SizingType == HeatingAirflowSizing || SizingType == SystemAirflowSizing ) { { auto const SELECT_CASE_var( ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingType) ); @@ -559,230 +489,6 @@ namespace ReportSizingManager { } } else if ( SizingType == CoolingSHRSizing ) { -======= - if ( SizingType == SystemAirflowSizing ) { - if ( ZoneEqSizing ( CurZoneEqNum ).CoolingAirFlow && !ZoneEqSizing ( CurZoneEqNum ).HeatingAirFlow ) { - AutosizeDes = ZoneEqSizing ( CurZoneEqNum ).CoolingAirVolFlow; - } else if ( ZoneEqSizing ( CurZoneEqNum ).HeatingAirFlow && !ZoneEqSizing ( CurZoneEqNum ).CoolingAirFlow ) { - AutosizeDes = ZoneEqSizing ( CurZoneEqNum ).HeatingAirVolFlow; - } else if ( ZoneEqSizing ( CurZoneEqNum ).HeatingAirFlow && ZoneEqSizing ( CurZoneEqNum ).CoolingAirFlow ) { - AutosizeDes = max ( ZoneEqSizing ( CurZoneEqNum ).CoolingAirVolFlow, ZoneEqSizing ( CurZoneEqNum ).HeatingAirVolFlow ); - } else { - if ( ZoneCoolingOnlyFan ) { - AutosizeDes = FinalZoneSizing ( CurZoneEqNum ).DesCoolVolFlow; - } else if ( ZoneHeatingOnlyFan ) { - AutosizeDes = FinalZoneSizing ( CurZoneEqNum ).DesHeatVolFlow; - } else { - AutosizeDes = max ( FinalZoneSizing ( CurZoneEqNum ).DesCoolVolFlow, FinalZoneSizing ( CurZoneEqNum ).DesHeatVolFlow ); - } - } - } else if ( SizingType == CoolingAirflowSizing || SizingType == HeatingAirflowSizing ) { - if ( ZoneCoolingOnlyFan ) { - AutosizeDes = FinalZoneSizing ( CurZoneEqNum ).DesCoolVolFlow; - } else if ( TermUnitIU ) { - AutosizeDes = TermUnitSizing( CurZoneEqNum ).AirVolFlow; - } else if ( ZoneEqFanCoil ) { - AutosizeDes = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; - } else if ( ZoneHeatingOnlyFan ) { - AutosizeDes = FinalZoneSizing ( CurZoneEqNum ).DesHeatVolFlow; - } else if ( ZoneEqSizing ( CurZoneEqNum ).CoolingAirFlow && !ZoneEqSizing ( CurZoneEqNum ).HeatingAirFlow ) { - AutosizeDes = ZoneEqSizing ( CurZoneEqNum ).CoolingAirVolFlow; - } else if ( ZoneEqSizing ( CurZoneEqNum ).HeatingAirFlow && !ZoneEqSizing ( CurZoneEqNum ).CoolingAirFlow ) { - AutosizeDes = ZoneEqSizing ( CurZoneEqNum ).HeatingAirVolFlow; - } else if ( ZoneEqSizing ( CurZoneEqNum ).HeatingAirFlow && ZoneEqSizing ( CurZoneEqNum ).CoolingAirFlow ) { - AutosizeDes = max ( ZoneEqSizing ( CurZoneEqNum ).CoolingAirVolFlow, ZoneEqSizing ( CurZoneEqNum ).HeatingAirVolFlow ); - } else { - AutosizeDes = max ( FinalZoneSizing ( CurZoneEqNum ).DesCoolVolFlow, FinalZoneSizing ( CurZoneEqNum ).DesHeatVolFlow ); - } - } else if ( SizingType == CoolingWaterflowSizing ) { - CoilDesWaterDeltaT = PlantSizData( DataPltSizCoolNum ).DeltaT; - Cp = GetSpecificHeatGlycol( PlantLoop( DataWaterLoopNum ).FluidName, 5.0, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); - rho = GetDensityGlycol( PlantLoop( DataWaterLoopNum ).FluidName, InitConvTemp, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); - if ( TermUnitIU ) { - AutosizeDes = TermUnitSizing( CurZoneEqNum ).MaxCWVolFlow; - } else if ( ZoneEqFanCoil ) { - AutosizeDes = ZoneEqSizing( CurZoneEqNum ).MaxCWVolFlow; - } else { - CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesCoolCoilInTemp; - CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).CoolDesTemp; - CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).CoolDesHumRat; - CoilInHumRat = FinalZoneSizing( CurZoneEqNum ).DesCoolCoilInHumRat; - DesCoilLoad = FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow * ( PsyHFnTdbW( CoilInTemp, CoilInHumRat ) - PsyHFnTdbW( CoilOutTemp, CoilOutHumRat ) ); - if ( DesCoilLoad >= SmallLoad ) { - AutosizeDes = DesCoilLoad / ( CoilDesWaterDeltaT * Cp * rho ); - } else { - AutosizeDes = 0.0; - } - } -// if ( AutosizeDes == 0.0 ) { -// ShowWarningError( "The design coil load is zero for " + CompName + CompName ); -// ShowContinueError( "The autosize value for max water flow rate is zero" ); -// } - bCheckForZero = false; - } else if ( SizingType == HeatingWaterflowSizing ) { - if ( TermUnitSingDuct || TermUnitPIU || TermUnitIU ) { - AutosizeDes = TermUnitSizing( CurZoneEqNum ).MaxHWVolFlow; - Cp = GetSpecificHeatGlycol( PlantLoop( DataWaterLoopNum ).FluidName, 60.0, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); - rho = GetDensityGlycol( PlantLoop( DataWaterLoopNum ).FluidName, InitConvTemp, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); - DesCoilLoad = AutosizeDes * PlantSizData( DataPltSizHeatNum ).DeltaT * Cp * rho; - } else if ( ZoneEqFanCoil ) { - AutosizeDes = ZoneEqSizing( CurZoneEqNum ).MaxHWVolFlow; - Cp = GetSpecificHeatGlycol( PlantLoop( DataWaterLoopNum ).FluidName, 60.0, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); - rho = GetDensityGlycol( PlantLoop( DataWaterLoopNum ).FluidName, InitConvTemp, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); - DesCoilLoad = AutosizeDes * PlantSizData( DataPltSizHeatNum ).DeltaT * Cp * rho; - } else { - CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTemp; - CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).HeatDesTemp; - CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat; - DesMassFlow = FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow; - DesCoilLoad = PsyCpAirFnWTdb( CoilOutHumRat, 0.5 * ( CoilInTemp + CoilOutTemp ) ) * DesMassFlow * ( CoilOutTemp - CoilInTemp ); - if ( DesCoilLoad >= SmallLoad ) { - Cp = GetSpecificHeatGlycol( PlantLoop( DataWaterLoopNum ).FluidName, 60.0, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); - rho = GetDensityGlycol( PlantLoop( DataWaterLoopNum ).FluidName, InitConvTemp, PlantLoop(DataWaterLoopNum ).FluidIndex, CallingRoutine ); - AutosizeDes = DesCoilLoad / ( PlantSizData( DataPltSizHeatNum ).DeltaT * Cp * rho ); - } else { - AutosizeDes = 0.0; - } - } -// if ( AutosizeDes == 0.0 ) { -// ShowWarningError( "The design coil load is zero for " + CompType + CompName ); -// ShowContinueError( "The autosize value for max water flow rate is zero" ); -// } - bCheckForZero = false; - } else if ( SizingType == HeatingWaterDesAirInletTempSizing ) { - if ( TermUnitPIU ) { - MinFlowFrac = TermUnitSizing( CurZoneEqNum ).MinFlowFrac; - AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTempTU * MinFlowFrac + FinalZoneSizing( CurZoneEqNum ).ZoneTempAtHeatPeak * ( 1.0 - MinFlowFrac ); - } else if ( TermUnitIU ) { - AutosizeDes = FinalZoneSizing( CurZoneEqNum ).ZoneTempAtHeatPeak; - } else if ( TermUnitSingDuct ) { - AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTempTU; - } else if ( ZoneEqFanCoil ) { - if ( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow > 0.0 ) { - OutAirFrac = min( StdRhoAir * ZoneEqSizing( CurZoneEqNum ).OAVolFlow / FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow, 1.0 ); - } else { - OutAirFrac = 0.0; - } - AutosizeDes = OutAirFrac * FinalZoneSizing( CurZoneEqNum ).OutTempAtHeatPeak + ( 1.0 - OutAirFrac ) * FinalZoneSizing( CurZoneEqNum ).ZoneTempAtHeatPeak; - } else { - AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTemp; - } - bCheckForZero = false; - } else if ( SizingType == HeatingWaterDesAirInletHumRatSizing ) { - if ( TermUnitPIU ) { - MinFlowFrac = TermUnitSizing( CurZoneEqNum ).MinFlowFrac; - AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInHumRatTU * MinFlowFrac + FinalZoneSizing( CurZoneEqNum ).ZoneHumRatAtHeatPeak * ( 1.0 - MinFlowFrac ); - } else if ( TermUnitIU ) { - AutosizeDes = FinalZoneSizing( CurZoneEqNum ).ZoneHumRatAtHeatPeak; - } else if ( TermUnitSingDuct ) { - AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInHumRatTU; - } else if ( ZoneEqFanCoil ) { - if ( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow > 0.0 ) { - OutAirFrac = min( StdRhoAir * ZoneEqSizing( CurZoneEqNum ).OAVolFlow / FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow, 1.0 ); - } else { - OutAirFrac = 0.0; - } - AutosizeDes = OutAirFrac * FinalZoneSizing( CurZoneEqNum ).OutHumRatAtHeatPeak + ( 1.0 - OutAirFrac ) * FinalZoneSizing( CurZoneEqNum ).ZoneHumRatAtHeatPeak; - } else { - AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInHumRat; - } - bCheckForZero = false; - } else if ( SizingType == CoolingWaterDesAirInletTempSizing ) { - if ( TermUnitIU ) { - AutosizeDes = FinalZoneSizing( CurZoneEqNum ).ZoneTempAtCoolPeak; - } else if ( ZoneEqFanCoil ) { - if ( FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow > 0.0 ) { - OutAirFrac = min( StdRhoAir * ZoneEqSizing( CurZoneEqNum ).OAVolFlow / FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow, 1.0 ); - } else { - OutAirFrac = 0.0; - } - AutosizeDes = OutAirFrac * FinalZoneSizing( CurZoneEqNum ).OutTempAtCoolPeak + ( 1.0 - OutAirFrac ) * FinalZoneSizing( CurZoneEqNum ).ZoneTempAtCoolPeak; - } else { - AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesCoolCoilInTemp; - } - bCheckForZero = false; - } else if ( SizingType == CoolingWaterDesWaterInletTempSizing ) { - AutosizeDes = PlantSizData( DataPltSizCoolNum ).ExitTemp; - bCheckForZero = false; - } else if ( SizingType == CoolingWaterNumofTubesPerRowSizing ) { - // result will be integerized external to this routine , add 0.5 to existing calc to round the result - AutosizeDes = int ( max ( 3.0, 13750.0 * DataWaterFlowUsedForSizing + 1.0 ) ); - bCheckForZero = false; - } else if ( SizingType == CoolingWaterDesAirOutletTempSizing ) { - if ( TermUnitIU ) { - Cp = GetSpecificHeatGlycol( PlantLoop( DataWaterLoopNum ).FluidName, 5.0, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); - rho = GetDensityGlycol( PlantLoop( DataWaterLoopNum ).FluidName, InitConvTemp, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); - DesCoilLoad = DataWaterFlowUsedForSizing * PlantSizData( DataPltSizCoolNum ).DeltaT * Cp * rho; - T1Out = DataDesInletAirTemp - DesCoilLoad / ( StdRhoAir * PsyCpAirFnWTdb( DataDesInletAirHumRat, DataDesInletAirTemp ) * DataAirFlowUsedForSizing ); - T2Out = PlantSizData( DataPltSizCoolNum ).ExitTemp + 2.0; - AutosizeDes = max( T1Out, T2Out ); - } else { - AutosizeDes = FinalZoneSizing( CurZoneEqNum ).CoolDesTemp; - } - - if ( AutosizeDes < DataDesInletWaterTemp && DataWaterFlowUsedForSizing > 0.0 ) { // flow here is water vol flow rate - ShowWarningError( CallingRoutine + ":" + " Coil=\"" + CompName + "\", Cooling Coil has leaving air temperature > entering water temperature." ); - ShowContinueError( " Tair,out = " + RoundSigDigits( AutosizeDes, 3 ) ); - ShowContinueError( " Twater,in = " + RoundSigDigits( DataDesInletWaterTemp, 3 ) ); - AutosizeDes = DataDesInletWaterTemp + 0.5; - ShowContinueError( "....coil leaving air temperature will be reset to:" ); - ShowContinueError( " Tair,out = " + RoundSigDigits( AutosizeDes, 3 ) ); - } - bCheckForZero = false; - } else if ( SizingType == CoolingWaterDesAirInletHumRatSizing ) { - if ( TermUnitIU ) { - AutosizeDes = FinalZoneSizing( CurZoneEqNum ).ZoneHumRatAtCoolPeak; - } else if ( ZoneEqFanCoil ) { - if ( FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow > 0.0 ) { - OutAirFrac = min( StdRhoAir * ZoneEqSizing( CurZoneEqNum ).OAVolFlow / FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow, 1.0 ); - } else { - OutAirFrac = 0.0; - } - AutosizeDes = OutAirFrac * FinalZoneSizing( CurZoneEqNum ).OutHumRatAtCoolPeak + ( 1.0 - OutAirFrac ) * FinalZoneSizing( CurZoneEqNum ).ZoneHumRatAtCoolPeak; - } else { - AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesCoolCoilInHumRat; - } - bCheckForZero = false; - } else if ( SizingType == CoolingWaterDesAirOutletHumRatSizing ) { - if ( TermUnitIU ) { - TDpIn = PsyTdpFnWPb( DataDesInletAirHumRat, StdBaroPress ); - if ( TDpIn <= DataDesInletWaterTemp ) { - AutosizeDes = DataDesInletAirHumRat; - } else { - AutosizeDes = min( PsyWFnTdbRhPb( DataDesOutletAirTemp, 0.9, StdBaroPress ), DataDesInletAirHumRat ); - } - } else { - AutosizeDes = FinalZoneSizing( CurZoneEqNum ).CoolDesHumRat; - } - if ( AutosizeDes > DataDesInletAirHumRat && DataCapacityUsedForSizing > 0.0 && SameString( CompType, "COIL:COOLING:WATER" ) ) { // zone coil uses mDot>0, sys coil uses cap > 0 - ShowWarningError( CallingRoutine + ":" + " Coil=\"" + CompName + "\", Cooling Coil has leaving humidity ratio > entering humidity ratio." ); - ShowContinueError( " Wair,in = " + RoundSigDigits( DataDesInletAirHumRat, 6 ) ); - ShowContinueError( " Wair,out = " + RoundSigDigits( AutosizeDes, 6 ) ); - if ( DataDesInletAirHumRat > 0.016 ) { - AutosizeDes = 0.5 * DataDesInletAirHumRat; - } else { - AutosizeDes = DataDesInletAirHumRat; - } - ShowContinueError( "....coil leaving humidity ratio will be reset to:" ); - ShowContinueError( " Wair,out = " + RoundSigDigits( AutosizeDes, 6 ) ); - } - - // check for dry coil and reset outlet humrat if needed - DesSatEnthAtWaterInTemp = PsyHFnTdbW( DataDesInletWaterTemp, PsyWFnTdpPb( DataDesInletWaterTemp, StdBaroPress ) ); - DesHumRatAtWaterInTemp = PsyWFnTdbH( DataDesInletWaterTemp, DesSatEnthAtWaterInTemp, CallingRoutine ); - if ( AutosizeDes < DataDesInletAirHumRat && DesHumRatAtWaterInTemp > DataDesInletAirHumRat && DataCapacityUsedForSizing > 0.0 ) { - if ( DataDesInletAirHumRat > AutosizeDes && SameString( CompType, "COIL:COOLING:WATER" ) ) { - ShowWarningError( CallingRoutine + ":" + " Coil=\"" + CompName + "\", Cooling Coil is dry and has air leaving humidity ratio < entering humidity ratio." ); - ShowContinueError( " Wair,in = " + RoundSigDigits( DataDesInletAirHumRat, 6 ) ); - ShowContinueError( " Wair,out = " + RoundSigDigits( AutosizeDes, 6 ) ); - AutosizeDes = DataDesInletAirHumRat; - ShowContinueError( "....coil leaving humidity ratio will be reset to:" ); - ShowContinueError( " Wair,out = " + RoundSigDigits( AutosizeDes, 6 ) ); - } - } - bCheckForZero = false; - } else if ( SizingType == CoolingSHRSizing ) { ->>>>>>> remotes/origin/develop if ( DataFlowUsedForSizing >= SmallAirVolFlow && DataCapacityUsedForSizing > 0.0 ) { // For autosizing the rated SHR, we set a minimum SHR of 0.676 and a maximum of 0.798. The min SHR occurs occurs at the // minimum flow / capacity ratio = MinRatedVolFlowPerRatedTotCap = 0.00004027 [m3/s / W] = 300 [cfm/ton]. @@ -811,7 +517,8 @@ namespace ReportSizingManager { } else { AutosizeDes = 1.0; } - } else if ( SizingType == CoolingCapacitySizing ) { + } + else if ( SizingType == CoolingCapacitySizing ) { if ( ZoneEqSizing( CurZoneEqNum ).CoolingCapacity ) { // Parent object calculated capacity AutosizeDes = ZoneEqSizing ( CurZoneEqNum ).DesCoolingLoad; DesVolFlow = DataFlowUsedForSizing; @@ -820,63 +527,21 @@ namespace ReportSizingManager { AutosizeDes = DataCoolingCapPerFloorArea * Zone(DataZoneNumber).FloorArea; } } else { - if ( SameString( CompType, "COIL:COOLING:WATER" ) || SameString( CompType, "COIL:COOLING:WATER:DETAILEDGEOMETRY" ) ) { - if ( TermUnitIU ) { - AutosizeDes = TermUnitSizing( CurZoneEqNum ).DesCoolingLoad; - } else if ( ZoneEqFanCoil ) { - AutosizeDes = ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad; - } else { - CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesCoolCoilInTemp; - CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).CoolDesTemp; - CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).CoolDesHumRat; - CoilInHumRat = FinalZoneSizing( CurZoneEqNum ).DesCoolCoilInHumRat; - AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow * ( PsyHFnTdbW( CoilInTemp, CoilInHumRat ) - PsyHFnTdbW( CoilOutTemp, CoilOutHumRat ) ); - } - } else { - DesVolFlow = DataFlowUsedForSizing; - if ( DesVolFlow >= SmallAirVolFlow ) { - if ( ZoneEqDXCoil ) { - if ( ZoneEqSizing( CurZoneEqNum ).OAVolFlow > 0.0) { - CoilInTemp = FinalZoneSizing ( CurZoneEqNum ).DesCoolCoilInTemp; - CoilInHumRat = FinalZoneSizing ( CurZoneEqNum ).DesCoolCoilInHumRat; - } else { - CoilInTemp = FinalZoneSizing ( CurZoneEqNum ).ZoneRetTempAtCoolPeak; - CoilInHumRat = FinalZoneSizing ( CurZoneEqNum ).ZoneHumRatAtCoolPeak; - } - } else { + DesVolFlow = DataFlowUsedForSizing; + if ( DesVolFlow >= SmallAirVolFlow ) { + if ( ZoneEqDXCoil ) { + if ( ZoneEqSizing( CurZoneEqNum ).OAVolFlow > 0.0) { CoilInTemp = FinalZoneSizing ( CurZoneEqNum ).DesCoolCoilInTemp; CoilInHumRat = FinalZoneSizing ( CurZoneEqNum ).DesCoolCoilInHumRat; - } - CoilOutTemp = FinalZoneSizing ( CurZoneEqNum ).CoolDesTemp; - CoilOutHumRat = FinalZoneSizing ( CurZoneEqNum ).CoolDesHumRat; - TimeStepNumAtMax = FinalZoneSizing ( CurZoneEqNum ).TimeStepNumAtCoolMax; - DDNum = FinalZoneSizing ( CurZoneEqNum ).CoolDDNum; - if ( DDNum > 0 && TimeStepNumAtMax > 0 ) { - OutTemp = DesDayWeath ( DDNum ).Temp ( TimeStepNumAtMax ); - } else { - OutTemp = 0.0; - } - rhoair = PsyRhoAirFnPbTdbW ( StdBaroPress, CoilInTemp, CoilInHumRat, CallingRoutine ); - CoilInEnth = PsyHFnTdbW ( CoilInTemp, CoilInHumRat ); - CoilInWetBulb = PsyTwbFnTdbWPb ( CoilInTemp, CoilInHumRat, StdBaroPress, CallingRoutine ); - CoilOutEnth = PsyHFnTdbW ( CoilOutTemp, CoilOutHumRat ); - if ( DataTotCapCurveIndex > 0 ) { - TotCapTempModFac = CurveValue ( DataTotCapCurveIndex, CoilInWetBulb, OutTemp ); - } else { - TotCapTempModFac = 1.0; - } - PeakCoilLoad = max ( 0.0, ( rhoair * DesVolFlow * ( CoilInEnth - CoilOutEnth ) ) ); - if ( TotCapTempModFac > 0.0 ) { - AutosizeDes = PeakCoilLoad / TotCapTempModFac; } else { - AutosizeDes = PeakCoilLoad; + CoilInTemp = FinalZoneSizing ( CurZoneEqNum ).ZoneRetTempAtCoolPeak; + CoilInHumRat = FinalZoneSizing ( CurZoneEqNum ).ZoneHumRatAtCoolPeak; } } else if ( ZoneEqFanCoil ) { DesCoolOAFlowFrac = FinalZoneSizing(CurZoneEqNum).DesCoolOAFlowFrac; CoilInTemp = DesCoolOAFlowFrac * FinalZoneSizing(CurZoneEqNum).OutTempAtCoolPeak + (1.0 - DesCoolOAFlowFrac) * FinalZoneSizing(CurZoneEqNum).ZoneTempAtCoolPeak; CoilInHumRat = DesCoolOAFlowFrac * FinalZoneSizing(CurZoneEqNum).OutHumRatAtCoolPeak + (1.0 - DesCoolOAFlowFrac) * FinalZoneSizing(CurZoneEqNum).ZoneHumRatAtCoolPeak; } else { -<<<<<<< HEAD CoilInTemp = FinalZoneSizing ( CurZoneEqNum ).DesCoolCoilInTemp; CoilInHumRat = FinalZoneSizing ( CurZoneEqNum ).DesCoolCoilInHumRat; } @@ -898,27 +563,16 @@ namespace ReportSizingManager { OutTemp = DesDayWeath ( DDNum ).Temp ( TimeStepNumAtMax ); } else { OutTemp = 0.0; -======= - AutosizeDes = 0.0; ->>>>>>> remotes/origin/develop } - } - } - } else if ( SizingType == HeatingCapacitySizing ) { - if ( ZoneEqSizing(CurZoneEqNum).HeatingCapacity ) { - NominalCapacityDes = ZoneEqSizing(CurZoneEqNum).DesHeatingLoad; - } else if ( DataCoolCoilCap > 0.0 && DataFlowUsedForSizing > 0.0 ) { - NominalCapacityDes = DataCoolCoilCap; - DesVolFlow = DataFlowUsedForSizing; - } else if ( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow >= SmallMassFlow ) { - if ( TermUnitPIU ) { - MinPriFlowFrac = TermUnitSizing( CurZoneEqNum ).MinFlowFrac; - if ( TermUnitSizing( CurZoneEqNum ).InducesPlenumAir ) { - CoilInTemp = ( FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTempTU * MinPriFlowFrac ) + ( FinalZoneSizing( CurZoneEqNum ).ZoneRetTempAtHeatPeak * ( 1.0 - MinPriFlowFrac ) ); + rhoair = PsyRhoAirFnPbTdbW ( StdBaroPress, CoilInTemp, CoilInHumRat, CallingRoutine ); + CoilInEnth = PsyHFnTdbW ( CoilInTemp, CoilInHumRat ); + CoilInWetBulb = PsyTwbFnTdbWPb ( CoilInTemp, CoilInHumRat, StdBaroPress, CallingRoutine ); + CoilOutEnth = PsyHFnTdbW ( CoilOutTemp, CoilOutHumRat ); + if ( DataTotCapCurveIndex > 0 ) { + TotCapTempModFac = CurveValue ( DataTotCapCurveIndex, CoilInWetBulb, OutTemp ); } else { - CoilInTemp = ( FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTempTU * MinPriFlowFrac ) + ( FinalZoneSizing( CurZoneEqNum ).ZoneTempAtHeatPeak * ( 1.0 - MinPriFlowFrac ) ); + TotCapTempModFac = 1.0; } -<<<<<<< HEAD if (ZoneEqFanCoil) { PeakCoilLoad = max( 0.0, ( StdRhoAir * DesVolFlow * ( CoilInEnth - CoilOutEnth ) ) ); //PeakCoilLoad = max(0.0, ( FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow * ( CoilInEnth - CoilOutEnth ) ) ); @@ -930,41 +584,13 @@ namespace ReportSizingManager { if ( TotCapTempModFac > 0.0 ) { AutosizeDes = PeakCoilLoad / TotCapTempModFac; -======= - } else if ( TermUnitIU ) { - CoilInTemp = FinalZoneSizing( CurZoneEqNum ).ZoneTempAtHeatPeak; - } else if ( TermUnitSingDuct ) { - CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTempTU; - } else { - CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTemp; - } - if ( TermUnitSingDuct || TermUnitPIU ) { - CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).HeatDesTemp; - CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat; - CpAir = PsyCpAirFnWTdb( CoilOutHumRat, 0.5 * ( CoilInTemp + CoilOutTemp ) ); - DesCoilLoad = CpAir * StdRhoAir * TermUnitSizing( CurZoneEqNum ).AirVolFlow * ( CoilOutTemp - CoilInTemp ); - } else if ( TermUnitIU ) { - if ( TermUnitSizing( CurZoneEqNum ).InducRat > 0.01 ) { - DesVolFlow = TermUnitSizing( CurZoneEqNum ).AirVolFlow / TermUnitSizing( CurZoneEqNum ).InducRat; - CpAir = PsyCpAirFnWTdb( FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat, FinalZoneSizing( CurZoneEqNum ).HeatDesTemp ); - // the design heating coil load is the zone load minus whatever the central system does.Note that - // DesHeatCoilInTempTU is really the primary air inlet temperature for the unit. - DesCoilLoad = FinalZoneSizing( CurZoneEqNum ).DesHeatLoad - ( CpAir * StdRhoAir * DesVolFlow * ( FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTempTU - FinalZoneSizing( CurZoneEqNum ).ZoneTempAtHeatPeak ) ); ->>>>>>> remotes/origin/develop } else { - DesCoilLoad = 0.0; + AutosizeDes = PeakCoilLoad; } } else { - CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).HeatDesTemp; - CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat; - CpAir = PsyCpAirFnWTdb( CoilOutHumRat, 0.5 * ( CoilInTemp + CoilOutTemp ) ); - DesCoilLoad = CpAir * FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow * ( CoilOutTemp - CoilInTemp ); + AutosizeDes = 0.0; } - NominalCapacityDes = max( 0.0, DesCoilLoad ); - } else { - NominalCapacityDes = 0.0; } -<<<<<<< HEAD AutosizeDes = AutosizeDes * DataFracOfAutosizedCoolingCapacity; } else if ( SizingType == HeatingCapacitySizing ) { @@ -996,156 +622,47 @@ namespace ReportSizingManager { CoilInTemp = FinalZoneSizing( CurZoneEqNum ).ZoneTempAtHeatPeak; } else if ( TermUnitSingDuct ) { CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTempTU; -======= - AutosizeDes = NominalCapacityDes * DataHeatSizeRatio; - } else if ( SizingType == WaterHeatingCapacitySizing ) { - if ( TermUnitSingDuct || TermUnitPIU || TermUnitIU ) { - DesMassFlow = TermUnitSizing( CurZoneEqNum ).MaxHWVolFlow; - Cp = GetSpecificHeatGlycol( PlantLoop( DataWaterLoopNum ).FluidName, 60.0, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); - rho = GetDensityGlycol( PlantLoop( DataWaterLoopNum ).FluidName, InitConvTemp, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); - NominalCapacityDes = DesMassFlow * PlantSizData( DataPltSizHeatNum ).DeltaT * Cp * rho; - } else if ( ZoneEqFanCoil ) { - DesMassFlow = ZoneEqSizing( CurZoneEqNum ).MaxHWVolFlow; - Cp = GetSpecificHeatGlycol( PlantLoop( DataWaterLoopNum ).FluidName, 60.0, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); - rho = GetDensityGlycol( PlantLoop( DataWaterLoopNum ).FluidName, InitConvTemp, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); - NominalCapacityDes = DesMassFlow * PlantSizData( DataPltSizHeatNum ).DeltaT * Cp * rho; - // if coil is part of a zonal unit, calc coil load to get hot water flow rate - } else { - CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTemp; - CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).HeatDesTemp; - CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat; - DesMassFlow = FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow; - NominalCapacityDes = PsyCpAirFnWTdb( CoilOutHumRat, 0.5 * ( CoilInTemp + CoilOutTemp ) ) * DesMassFlow * ( CoilOutTemp - CoilInTemp ); - } - AutosizeDes = NominalCapacityDes * DataHeatSizeRatio; - } else if ( SizingType == HeatingWaterDesCoilLoadUsedForUASizing ) { - if ( TermUnitSingDuct || TermUnitPIU || TermUnitIU ) { - DesMassFlow = StdRhoAir * TermUnitSizing( CurZoneEqNum ).AirVolFlow * TermUnitSizing( CurZoneEqNum ).ReheatAirFlowMult; - Cp = GetSpecificHeatGlycol( PlantLoop( DataWaterLoopNum ).FluidName, 60.0, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); - rho = GetDensityGlycol( PlantLoop( DataWaterLoopNum ).FluidName, InitConvTemp, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); - AutosizeDes = DataWaterFlowUsedForSizing * PlantSizData( DataPltSizHeatNum ).DeltaT * Cp * rho * TermUnitSizing( CurZoneEqNum ).ReheatLoadMult; - } else if ( ZoneEqFanCoil ) { - DesMassFlow = StdRhoAir * FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; - Cp = GetSpecificHeatGlycol( PlantLoop( DataWaterLoopNum ).FluidName, 60.0, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); - rho = GetDensityGlycol( PlantLoop( DataWaterLoopNum ).FluidName, InitConvTemp, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); - AutosizeDes = DataWaterFlowUsedForSizing * PlantSizData( DataPltSizHeatNum ).DeltaT * Cp * rho; - } else { - DesMassFlow = FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow; - CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTemp; - CoilInHumRat = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInHumRat; - CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).HeatDesTemp; - CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat; - AutosizeDes = PsyCpAirFnWTdb( CoilOutHumRat, 0.5 * ( CoilInTemp + CoilOutTemp ) ) * DesMassFlow * ( CoilOutTemp - CoilInTemp ); - } - } else if ( SizingType == HeatingWaterDesCoilWaterVolFlowUsedForUASizing ) { - if ( TermUnitSingDuct || TermUnitPIU || TermUnitIU ) { - AutosizeDes = DataWaterFlowUsedForSizing * TermUnitSizing( CurZoneEqNum ).ReheatLoadMult; - } else if ( ZoneEqFanCoil ) { - AutosizeDes = DataWaterFlowUsedForSizing; - } else { - AutosizeDes = DataWaterFlowUsedForSizing; - } - bCheckForZero = false; - } else if ( SizingType == HeatingAirflowUASizing ) { - if ( TermUnitSingDuct || TermUnitPIU || TermUnitIU ) { - AutosizeDes = StdRhoAir * TermUnitSizing( CurZoneEqNum ).AirVolFlow * TermUnitSizing( CurZoneEqNum ).ReheatAirFlowMult; - } else if ( ZoneEqFanCoil ) { - AutosizeDes = StdRhoAir * FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; - } else { - AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow; - } - } else if (SizingType == WaterHeatingCoilUASizing) { - if ( DataCapacityUsedForSizing > 0.0 ) { - Par( 1 ) = DataCapacityUsedForSizing; - Par( 2 ) = double( DataCoilNum ); - Par( 3 ) = double( DataFanOpMode ); //fan operating mode - Par( 4 ) = 1.0; // part-load ratio - UA0 = 0.001 * DataCapacityUsedForSizing; - UA1 = DataCapacityUsedForSizing; - // Invert the simple heating coil model: given the design inlet conditions and the design load, - // find the design UA. - SolveRegulaFalsi( Acc, MaxIte, SolFla, AutosizeDes, SimpleHeatingCoilUAResidual, UA0, UA1, Par ); - if ( SolFla == -1 ) { - ShowSevereError( "Autosizing of heating coil UA failed for Coil:Heating:Water \"" + CompName + "\"" ); - ShowContinueError( " Iteration limit exceeded in calculating coil UA" ); - ShowContinueError( " Lower UA estimate = " + TrimSigDigits( UA0, 6 ) + " W/m2-K (0.1% of Design Coil Load)" ); - ShowContinueError( " Upper UA estimate = " + TrimSigDigits( UA1, 6 ) + " W/m2-K (100% of Design Coil Load)" ); - ShowContinueError( " Final UA estimate when iterations exceeded limit = " + TrimSigDigits( AutosizeDes, 6 ) + " W/m2-K" ); - ShowContinueError( " Zone \"" + FinalZoneSizing( CurZoneEqNum ).ZoneName + "\" coil sizing conditions (may be different than Sizing inputs):" ); - ShowContinueError( " Coil inlet air temperature = " + TrimSigDigits( DataDesInletAirTemp, 3 ) + " C" ); - ShowContinueError( " Coil inlet air humidity ratio = " + TrimSigDigits( DataDesInletAirHumRat, 3 ) + " kgWater/kgDryAir" ); - ShowContinueError( " Coil inlet air mass flow rate = " + TrimSigDigits( DataFlowUsedForSizing, 6 ) + " kg/s" ); - // TotWaterHeatingCoilRate is set in CALL to CalcSimpleHeatingCoil - ShowContinueError( " Design Coil Capacity = " + TrimSigDigits( DataDesignCoilCapacity, 3 ) + " W" ); - if ( TermUnitSingDuct || TermUnitPIU || TermUnitIU || ZoneEqFanCoil ) { - ShowContinueError( " Design Coil Load = " + TrimSigDigits( DataCapacityUsedForSizing, 3 ) + " W" ); ->>>>>>> remotes/origin/develop } else { - ShowContinueError( " Design Coil Load = " + TrimSigDigits( DataCapacityUsedForSizing, 3 ) + " W" ); - ShowContinueError( " Coil outlet air temperature = " + TrimSigDigits( FinalZoneSizing( CurZoneEqNum ).HeatDesTemp, 3 ) + " C" ); - ShowContinueError( " Coil outlet air humidity ratio = " + TrimSigDigits( FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat, 3 ) + " kgWater/kgDryAir" ); + CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTemp; } - DataErrorsFound = true; - } else if ( SolFla == -2 ) { - ShowSevereError( "Autosizing of heating coil UA failed for Coil:Heating:Water \"" + CompName + "\"" ); - ShowContinueError( " Bad starting values for UA" ); - ShowContinueError( " Lower UA estimate = " + TrimSigDigits( UA0, 6 ) + " W/m2-K (0.1% of Design Coil Load)" ); - ShowContinueError( " Upper UA estimate = " + TrimSigDigits( UA1, 6 ) + " W/m2-K (100% of Design Coil Load)" ); - ShowContinueError( " Zone \"" + FinalZoneSizing( CurZoneEqNum ).ZoneName + "\" coil sizing conditions (may be different than Sizing inputs):" ); - ShowContinueError( " Coil inlet air temperature = " + TrimSigDigits( DataDesInletAirTemp, 3 ) + " C" ); - ShowContinueError( " Coil inlet air humidity ratio = " + TrimSigDigits( DataDesInletAirHumRat, 3 ) + " kgWater/kgDryAir" ); - ShowContinueError( " Coil inlet air mass flow rate = " + TrimSigDigits( DataFlowUsedForSizing, 6 ) + " kg/s" ); - ShowContinueError( " Design Coil Capacity = " + TrimSigDigits( DataDesignCoilCapacity, 3 ) + " W" ); - if ( TermUnitSingDuct || TermUnitPIU || TermUnitIU || ZoneEqFanCoil ) { - ShowContinueError( " Design Coil Load = " + TrimSigDigits( DataCapacityUsedForSizing, 3 ) + " W" ); + if ( TermUnitSingDuct || TermUnitPIU ) { + CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).HeatDesTemp; + CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat; + CpAir = PsyCpAirFnWTdb( CoilOutHumRat, 0.5 * ( CoilInTemp + CoilOutTemp ) ); + DesCoilLoad = CpAir * StdRhoAir * TermUnitSizing( CurZoneEqNum ).AirVolFlow * ( CoilOutTemp - CoilInTemp ); + } else if ( TermUnitIU ) { + if ( TermUnitSizing( CurZoneEqNum ).InducRat > 0.01 ) { + DesVolFlow = TermUnitSizing( CurZoneEqNum ).AirVolFlow / TermUnitSizing( CurZoneEqNum ).InducRat; + CpAir = PsyCpAirFnWTdb( FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat, FinalZoneSizing( CurZoneEqNum ).HeatDesTemp ); + // the design heating coil load is the zone load minus whatever the central system does.Note that + // DesHeatCoilInTempTU is really the primary air inlet temperature for the unit. + DesCoilLoad = FinalZoneSizing( CurZoneEqNum ).DesHeatLoad - ( CpAir * StdRhoAir * DesVolFlow * ( FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTempTU - FinalZoneSizing( CurZoneEqNum ).ZoneTempAtHeatPeak ) ); + } else { + DesCoilLoad = 0.0; + } } else { -<<<<<<< HEAD CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).HeatDesTemp; CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat; CpAir = PsyCpAirFnWTdb( CoilOutHumRat, 0.5 * ( CoilInTemp + CoilOutTemp ) ); DesCoilLoad = CpAir * FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow * ( CoilOutTemp - CoilInTemp ); //DesCoilLoad = CpAir * StdRhoAir * DesVolFlow * (CoilOutTemp - CoilInTemp); -======= - ShowContinueError( " Design Coil Load = " + TrimSigDigits( DataCapacityUsedForSizing, 3 ) + " W" ); - ShowContinueError( " Coil outlet air temperature = " + TrimSigDigits( FinalZoneSizing( CurZoneEqNum ).HeatDesTemp, 3 ) + " C" ); - ShowContinueError( " Coil outlet air humidity ratio = " + TrimSigDigits( FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat, 3 ) + " kgWater/kgDryAir" ); ->>>>>>> remotes/origin/develop - } - // TotWaterHeatingCoilRate is set in CALL to CalcSimpleHeatingCoil - if ( DataDesignCoilCapacity < DataCapacityUsedForSizing ) { - ShowContinueError( " Inadequate water side capacity: in Plant Sizing for this hot water loop" ); - ShowContinueError( " increase design loop exit temperature and/or decrease design loop delta T" ); - ShowContinueError( " Plant Sizing object = " + PlantSizData( DataPltSizHeatNum ).PlantLoopName ); - ShowContinueError( " Plant design loop exit temperature = " + TrimSigDigits( PlantSizData( DataPltSizHeatNum ).ExitTemp, 3 ) + " C" ); - ShowContinueError( " Plant design loop delta T = " + TrimSigDigits( PlantSizData( DataPltSizHeatNum ).DeltaT, 3 ) + " C" ); } - DataErrorsFound = true; - } - } else { - AutosizeDes = 1.0; - if ( DataWaterFlowUsedForSizing > 0.0 ) { - DataErrorsFound = true; - ShowSevereError( "The design coil load is zero for Coil:Heating:Water " + CompName ); - ShowContinueError( "An autosize value for UA cannot be calculated" ); - ShowContinueError( "Input a value for UA, change the heating design day, or raise" ); - ShowContinueError( " the zone heating design supply air temperature" ); + NominalCapacityDes = max( 0.0, DesCoilLoad ); + } else { + NominalCapacityDes = 0.0; } } -<<<<<<< HEAD if ( DataCoolCoilCap > 0.0 ) { AutosizeDes = NominalCapacityDes * DataHeatSizeRatio; } else { AutosizeDes = NominalCapacityDes * DataHeatSizeRatio * DataFracOfAutosizedHeatingCapacity; } } else { // from else if (SizingType == HeatingCapacitySizing) -======= - } else { ->>>>>>> remotes/origin/develop // should never happen } } - } else if ( CurSysNum > 0 ) { + } else { if ( !IsAutoSize && !SizingDesRunThisAirSys ) { HardSizeNoDesRun = true; AutosizeUser = SizingResult; @@ -1169,7 +686,6 @@ namespace ReportSizingManager { AutosizeDes = FinalSysSizing ( CurSysNum ).DesOutAirVolFlow; } } else { -<<<<<<< HEAD { auto const SELECT_CASE_var(FinalSysSizing(CurSysNum).ScaleCoolSAFMethod); if ((SELECT_CASE_var == FromDDCalc) || (SELECT_CASE_var == InpDesAirFlow)) { AutosizeDes = FinalSysSizing(CurSysNum).DesCoolVolFlow; @@ -1182,25 +698,12 @@ namespace ReportSizingManager { } else { AutosizeDes = FinalSysSizing(CurSysNum).DesMainVolFlow; } -======= - if ( CurDuctType == Main ) { - AutosizeDes = FinalSysSizing( CurSysNum ).DesMainVolFlow; - } else if ( CurDuctType == Cooling ) { - AutosizeDes = FinalSysSizing( CurSysNum ).DesCoolVolFlow; - } else if ( CurDuctType == Heating ) { - AutosizeDes = FinalSysSizing( CurSysNum ).DesHeatVolFlow; - } else if ( CurDuctType == Other ) { - AutosizeDes = FinalSysSizing( CurSysNum ).DesMainVolFlow; - } else { - AutosizeDes = FinalSysSizing( CurSysNum ).DesMainVolFlow; ->>>>>>> remotes/origin/develop } } } else if ( SizingType == HeatingAirflowSizing ) { if ( UnitarySysEqSizing(CurSysNum).HeatingAirFlow ) { AutosizeDes = UnitarySysEqSizing(CurSysNum).AirVolFlow; } else { -<<<<<<< HEAD { auto const SELECT_CASE_var(FinalSysSizing(CurSysNum).ScaleHeatSAFMethod); if ((SELECT_CASE_var == FromDDCalc) || (SELECT_CASE_var == InpDesAirFlow)) { AutosizeDes = FinalSysSizing(CurSysNum).DesHeatVolFlow; @@ -1214,29 +717,6 @@ namespace ReportSizingManager { AutosizeDes = FinalSysSizing(CurSysNum).FlowPerCoolingCapacity * DataAutosizedHeatingCapacity; }else { AutosizeDes = FinalSysSizing(CurSysNum).DesMainVolFlow; -======= - if ( CurOASysNum > 0 ) { - AutosizeDes = FinalSysSizing( CurSysNum ).DesOutAirVolFlow; - } else { - if ( CurDuctType == Main ) { - if ( SameString ( CompType, "COIL:HEATING:WATER" ) ) { - AutosizeDes = FinalSysSizing( CurSysNum ).SysAirMinFlowRat * FinalSysSizing( CurSysNum ).DesMainVolFlow; - } else { - AutosizeDes = FinalSysSizing( CurSysNum ).DesMainVolFlow; - } - } else if ( CurDuctType == Cooling ) { - if ( SameString ( CompType, "COIL:HEATING:WATER" ) ) { - AutosizeDes = FinalSysSizing( CurSysNum ).SysAirMinFlowRat * FinalSysSizing( CurSysNum ).DesCoolVolFlow; - } else { - AutosizeDes = FinalSysSizing( CurSysNum ).DesCoolVolFlow; - } - } else if ( CurDuctType == Heating ) { - AutosizeDes = FinalSysSizing( CurSysNum ).DesHeatVolFlow; - } else if ( CurDuctType == Other ) { - AutosizeDes = FinalSysSizing( CurSysNum ).DesMainVolFlow; - } else { - AutosizeDes = FinalSysSizing( CurSysNum ).DesMainVolFlow; ->>>>>>> remotes/origin/develop } } } @@ -1254,160 +734,6 @@ namespace ReportSizingManager { } else { AutosizeDes = FinalSysSizing ( CurSysNum ).DesMainVolFlow; } - } else if ( SizingType == CoolingWaterflowSizing ) { - if ( CurOASysNum > 0 ) { - CoilDesWaterDeltaT = 0.5 * PlantSizData( DataPltSizCoolNum ).DeltaT; - } else { - CoilDesWaterDeltaT = PlantSizData( DataPltSizCoolNum ).DeltaT; - } - if ( DataCapacityUsedForSizing >= SmallLoad ) { - Cp = GetSpecificHeatGlycol( PlantLoop( DataWaterLoopNum ).FluidName, 5.0, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); - rho = GetDensityGlycol( PlantLoop( DataWaterLoopNum ).FluidName, InitConvTemp, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); - AutosizeDes = DataCapacityUsedForSizing / ( CoilDesWaterDeltaT * Cp * rho ); - } else { - AutosizeDes = 0.0; - // Warning about zero design coil load is issued elsewhere. - } - bCheckForZero = false; - } else if ( SizingType == HeatingWaterflowSizing ) { - if ( DataCapacityUsedForSizing >= SmallLoad ) { - Cp = GetSpecificHeatGlycol( PlantLoop( DataWaterLoopNum ).FluidName, 60.0, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); - rho = GetDensityGlycol( PlantLoop( DataWaterLoopNum ).FluidName, InitConvTemp, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); - AutosizeDes = DataCapacityUsedForSizing / ( PlantSizData( DataPltSizHeatNum ).DeltaT * Cp * rho ); - } else { - AutosizeDes = 0.0; - // Warning about zero design coil load is issued elsewhere. - } - bCheckForZero = false; - } else if ( SizingType == HeatingWaterDesAirInletTempSizing ) { - if ( CurOASysNum > 0 ) { - OutAirFrac = 1.0; - } else if ( FinalSysSizing( CurSysNum ).HeatOAOption == MinOA ) { - if ( DataFlowUsedForSizing > 0.0 ) { - OutAirFrac = FinalSysSizing( CurSysNum ).DesOutAirVolFlow / DataFlowUsedForSizing; - } else { - OutAirFrac = 1.0; - } - OutAirFrac = min( 1.0, max( 0.0, OutAirFrac ) ); - } else { - OutAirFrac = 1.0; - } - // coil inlet temperature - if ( CurOASysNum == 0 && PrimaryAirSystem( CurSysNum ).NumOAHeatCoils > 0 ) { - AutosizeDes = OutAirFrac * FinalSysSizing( CurSysNum ).PreheatTemp + ( 1.0 - OutAirFrac ) * FinalSysSizing( CurSysNum ).HeatRetTemp; - } else { - AutosizeDes = OutAirFrac * FinalSysSizing( CurSysNum ).HeatOutTemp + ( 1.0 - OutAirFrac ) * FinalSysSizing( CurSysNum ).HeatRetTemp; - } - bCheckForZero = false; - } else if ( SizingType == HeatingWaterDesAirInletHumRatSizing ) { - if ( CurOASysNum > 0 ) { - OutAirFrac = 1.0; - } else if ( FinalSysSizing( CurSysNum ).HeatOAOption == MinOA ) { - if ( DataFlowUsedForSizing > 0.0 ) { - OutAirFrac = FinalSysSizing( CurSysNum ).DesOutAirVolFlow / DataFlowUsedForSizing; - } else { - OutAirFrac = 1.0; - } - OutAirFrac = min( 1.0, max( 0.0, OutAirFrac ) ); - } else { - OutAirFrac = 1.0; - } - // coil inlet temperature - if ( CurOASysNum == 0 && PrimaryAirSystem( CurSysNum ).NumOAHeatCoils > 0 ) { - AutosizeDes = OutAirFrac * FinalSysSizing( CurSysNum ).PreheatHumRat + ( 1.0 - OutAirFrac ) * FinalSysSizing( CurSysNum ).HeatRetHumRat; - } else { - AutosizeDes = OutAirFrac * FinalSysSizing( CurSysNum ).HeatOutHumRat + ( 1.0 - OutAirFrac ) * FinalSysSizing( CurSysNum ).HeatRetHumRat; - } - bCheckForZero = false; - } else if ( SizingType == CoolingWaterDesAirInletTempSizing ) { - if ( CurOASysNum > 0 ) { // coil is in OA stream - AutosizeDes = FinalSysSizing( CurSysNum ).CoolOutTemp; - } else { // coil is in main air loop - if ( PrimaryAirSystem( CurSysNum ).NumOACoolCoils == 0 ) { // there is no precooling of the OA stream - AutosizeDes = FinalSysSizing( CurSysNum ).CoolMixTemp; - } else { // thereis precooling of the OA stream - if ( DataFlowUsedForSizing > 0.0 ) { - OutAirFrac = FinalSysSizing( CurSysNum ).DesOutAirVolFlow / DataFlowUsedForSizing; - } else { - OutAirFrac = 1.0; - } - OutAirFrac = min( 1.0, max( 0.0, OutAirFrac ) ); - AutosizeDes = OutAirFrac * FinalSysSizing( CurSysNum ).PrecoolTemp + ( 1.0 - OutAirFrac ) * FinalSysSizing( CurSysNum ).CoolRetTemp; - } - } - bCheckForZero = false; - } else if ( SizingType == CoolingWaterDesWaterInletTempSizing ) { - AutosizeDes = FinalSysSizing( CurSysNum ).CoolOutTemp; - AutosizeDes = PlantSizData( DataPltSizCoolNum ).ExitTemp; - bCheckForZero = false; - } else if ( SizingType == CoolingWaterNumofTubesPerRowSizing ) { - AutosizeDes = int ( max ( 3.0, 13750.0 * DataWaterFlowUsedForSizing + 1.0 ) ); - bCheckForZero = false; - } else if ( SizingType == CoolingWaterDesAirOutletTempSizing ) { - if ( CurOASysNum > 0 ) { - AutosizeDes = FinalSysSizing( CurSysNum ).PrecoolTemp; - } else { - AutosizeDes = FinalSysSizing( CurSysNum ).CoolSupTemp; - } - if ( AutosizeDes < DataDesInletWaterTemp && DataWaterFlowUsedForSizing > 0.0 ) { - ShowWarningError( CallingRoutine + ":" + " Coil=\"" + CompName + "\", Cooling Coil has leaving air temperature > entering water temperature." ); - ShowContinueError( " Tair,out = " + RoundSigDigits( AutosizeDes, 3 ) ); - ShowContinueError( " Twater,in = " + RoundSigDigits( DataDesInletWaterTemp, 3 ) ); - AutosizeDes = DataDesInletWaterTemp + 0.5; - ShowContinueError( "....coil leaving air temperature will be reset to:" ); - ShowContinueError( " Tair,out = " + RoundSigDigits( AutosizeDes, 3 ) ); - } - bCheckForZero = false; - } else if ( SizingType == CoolingWaterDesAirInletHumRatSizing ) { - if ( CurOASysNum > 0 ) { // coil is in OA stream - AutosizeDes = FinalSysSizing( CurSysNum ).CoolOutHumRat; - } else { // coil is in main air loop - if ( PrimaryAirSystem( CurSysNum ).NumOACoolCoils == 0 ) { // there is no precooling of the OA stream - AutosizeDes = FinalSysSizing( CurSysNum ).CoolMixHumRat; - } else { // there is precooling of the OA stream - if ( DataFlowUsedForSizing > 0.0 ) { - OutAirFrac = FinalSysSizing( CurSysNum ).DesOutAirVolFlow / DataFlowUsedForSizing; - } else { - OutAirFrac = 1.0; - } - OutAirFrac = min( 1.0, max( 0.0, OutAirFrac ) ); - AutosizeDes = OutAirFrac * FinalSysSizing( CurSysNum ).PrecoolHumRat + ( 1.0 - OutAirFrac ) * FinalSysSizing( CurSysNum ).CoolRetHumRat; - } - } - bCheckForZero = false; - } else if ( SizingType == CoolingWaterDesAirOutletHumRatSizing ) { - if ( CurOASysNum > 0 ) { - AutosizeDes = FinalSysSizing( CurSysNum ).PrecoolHumRat; - } else { - AutosizeDes = FinalSysSizing( CurSysNum ).CoolSupHumRat; - } - if ( AutosizeDes > DataDesInletAirHumRat && DataCapacityUsedForSizing > 0.0 && SameString( CompType, "COIL:COOLING:WATER" ) ) { // flow here is water vol flow rate - ShowWarningError( CallingRoutine + ":" + " Coil=\"" + CompName + "\", Cooling Coil has leaving humidity ratio > entering humidity ratio." ); - ShowContinueError( " Wair,in = " + RoundSigDigits( DataDesInletAirHumRat, 6 ) ); - ShowContinueError( " Wair,out = " + RoundSigDigits( AutosizeDes, 6 ) ); - if ( DataDesInletAirHumRat > 0.016 ) { - AutosizeDes = 0.5 * DataDesInletAirHumRat; - } else { - AutosizeDes = DataDesInletAirHumRat; - } - ShowContinueError( "....coil leaving humidity ratio will be reset to:" ); - ShowContinueError( " Wair,out = " + RoundSigDigits( AutosizeDes, 6 ) ); - } - - // check for dry coil and reset outlet humrat if needed - DesSatEnthAtWaterInTemp = PsyHFnTdbW( DataDesInletWaterTemp, PsyWFnTdpPb( DataDesInletWaterTemp, StdBaroPress ) ); - DesHumRatAtWaterInTemp = PsyWFnTdbH( DataDesInletWaterTemp, DesSatEnthAtWaterInTemp, CallingRoutine ); - if ( AutosizeDes < DataDesInletAirHumRat && DesHumRatAtWaterInTemp > DataDesInletAirHumRat && DataCapacityUsedForSizing > 0.0 ) { // flow here is water vol flow rate - if ( DataDesInletAirHumRat > AutosizeDes && SameString( CompType, "COIL:COOLING:WATER" ) ) { - ShowWarningError( CallingRoutine + ":" + " Coil=\"" + CompName + "\", Cooling Coil is dry and has air leaving humidity ratio < entering humidity ratio." ); - ShowContinueError( " Wair,in = " + RoundSigDigits( DataDesInletAirHumRat, 6 ) ); - ShowContinueError( " Wair,out = " + RoundSigDigits( AutosizeDes, 6 ) ); - AutosizeDes = DataDesInletAirHumRat; - ShowContinueError( "....coil leaving humidity ratio will be reset to:" ); - ShowContinueError( " Wair,out = " + RoundSigDigits( AutosizeDes, 6 ) ); - } - } - bCheckForZero = false; } else if ( SizingType == CoolingSHRSizing ) { if ( DataFlowUsedForSizing >= SmallAirVolFlow && DataCapacityUsedForSizing > 0.0 ) { // For autosizing the rated SHR, we set a minimum SHR of 0.676 and a maximum of 0.798. The min SHR occurs occurs at the @@ -1435,12 +761,9 @@ namespace ReportSizingManager { } } } else { - ShowSevereError( CallingRoutine + " " + CompType + " " + CompName ); - ShowContinueError( "... DataFlowUsedForSizing and DataCapacityUsedForSizing " + SizingString + " must both be greater than 0." ); - ShowFatalError( "Preceding conditions cause termination." ); + AutosizeDes = 1.0; } } else if ( SizingType == CoolingCapacitySizing ) { -<<<<<<< HEAD // If hard-sized, check if system sizing data is available for system coil if ( !IsAutoSize && !SizingDesRunThisAirSys ) { // looks like this should also be included in all "if (SizingType == Something)'s", better to move to bottom HardSizeNoDesRun = true; @@ -1504,63 +827,6 @@ namespace ReportSizingManager { AutosizeDes = NominalCapacityDes * DataHeatSizeRatio * DataFracOfAutosizedCoolingCapacity; } -======= - if ( OASysFlag ) { - AutosizeDes = OASysEqSizing ( CurOASysNum ).DesCoolingLoad; - } else if ( AirLoopSysFlag ) { - AutosizeDes = UnitarySysEqSizing ( CurSysNum ).DesCoolingLoad; - } else { - CheckSysSizing ( CompType, CompName ); - DesVolFlow = DataFlowUsedForSizing; - if ( DesVolFlow >= SmallAirVolFlow ) { - if ( CurOASysNum > 0 ) { // coil is in the OA stream - CoilInTemp = FinalSysSizing ( CurSysNum ).CoolOutTemp; - CoilInHumRat = FinalSysSizing ( CurSysNum ).CoolOutHumRat; - CoilOutTemp = FinalSysSizing ( CurSysNum ).PrecoolTemp; - CoilOutHumRat = FinalSysSizing ( CurSysNum ).PrecoolHumRat; - } else { // coil is on the main air loop - CoilOutTemp = FinalSysSizing ( CurSysNum ).CoolSupTemp; - CoilOutHumRat = FinalSysSizing ( CurSysNum ).CoolSupHumRat; - if ( PrimaryAirSystem( CurSysNum ).NumOACoolCoils == 0 ) { // there is no precooling of the OA stream - CoilInTemp = FinalSysSizing ( CurSysNum ).CoolMixTemp; - CoilInHumRat = FinalSysSizing ( CurSysNum ).CoolMixHumRat; - } else { // there is precooling of OA stream - if ( DesVolFlow > 0.0 ) { - OutAirFrac = FinalSysSizing ( CurSysNum ).DesOutAirVolFlow / DesVolFlow; - } else { - OutAirFrac = 1.0; - } - OutAirFrac = min ( 1.0, max ( 0.0, OutAirFrac ) ); - CoilInTemp = OutAirFrac * FinalSysSizing ( CurSysNum ).PrecoolTemp + ( 1.0 - OutAirFrac ) * FinalSysSizing ( CurSysNum ).CoolRetTemp; - CoilInHumRat = OutAirFrac*FinalSysSizing ( CurSysNum ).PrecoolHumRat + ( 1.0 - OutAirFrac )*FinalSysSizing ( CurSysNum ).CoolRetHumRat; - } - } - OutTemp = FinalSysSizing ( CurSysNum ).CoolOutTemp; - if ( SameString( CompType, "COIL:COOLING:WATER" ) || SameString( CompType, "COIL:COOLING:WATER:DETAILEDGEOMETRY" ) ) { - rhoair = StdRhoAir; - } else { - rhoair = PsyRhoAirFnPbTdbW ( StdBaroPress, CoilInTemp, CoilInHumRat, CallingRoutine ); - } - CoilInEnth = PsyHFnTdbW ( CoilInTemp, CoilInHumRat ); - CoilInWetBulb = PsyTwbFnTdbWPb ( CoilInTemp, CoilInHumRat, StdBaroPress, CallingRoutine ); - CoilOutEnth = PsyHFnTdbW ( CoilOutTemp, CoilOutHumRat ); - if ( DataTotCapCurveIndex > 0 ) { - TotCapTempModFac = CurveValue ( DataTotCapCurveIndex, CoilInWetBulb, OutTemp ); - } else { - TotCapTempModFac = 1.0; - } - PeakCoilLoad = max ( 0.0, ( rhoair * DesVolFlow * ( CoilInEnth - CoilOutEnth ) ) ); - if ( TotCapTempModFac > 0.0 ) { - NominalCapacityDes = PeakCoilLoad / TotCapTempModFac; - } else { - NominalCapacityDes = PeakCoilLoad; - } - } else { - NominalCapacityDes = 0.0; - } - } // IF(OASysFlag) THEN or ELSE IF(AirLoopSysFlag) THEN - AutosizeDes = NominalCapacityDes * DataHeatSizeRatio; ->>>>>>> remotes/origin/develop } else if (SizingType == HeatingCapacitySizing) { DataFracOfAutosizedHeatingCapacity = FinalSysSizing( CurSysNum ).FractionOfAutosizedHeatingCapacity; if (CurOASysNum > 0) { @@ -1632,7 +898,7 @@ namespace ReportSizingManager { // TRUE for all air loop parent equipment except UnitarySystem where flag is reset to FALSE after simulating // This method allows downstream heating coils to size individually.Probably should do this for all air loop equipment // ChangoverBypass model always sets AirLoopControlInfo%UnitarySys to FALSE so heating coil can individually size - if ( AirLoopControlInfo( CurSysNum ).UnitarySysSimulating && ! SameString( CompType, "COIL:HEATING:WATER" ) ) { + if ( AirLoopControlInfo( CurSysNum ).UnitarySysSimulating ) { NominalCapacityDes = UnitaryHeatCap; } else { if ( DesCoilLoad >= SmallLoad ) { @@ -1651,124 +917,13 @@ namespace ReportSizingManager { NominalCapacityDes = 0.0; } } -<<<<<<< HEAD AutosizeDes = NominalCapacityDes * DataHeatSizeRatio * DataFracOfAutosizedHeatingCapacity; -======= - AutosizeDes = NominalCapacityDes * DataHeatSizeRatio; - } else if ( SizingType == HeatingWaterDesCoilLoadUsedForUASizing ) { - if ( CurOASysNum > 0 ) { - OutAirFrac = 1.0; - } else if ( FinalSysSizing( CurSysNum ).HeatOAOption == MinOA ) { - if ( DataAirFlowUsedForSizing > 0.0 ) { - OutAirFrac = FinalSysSizing( CurSysNum ).DesOutAirVolFlow / DataAirFlowUsedForSizing; - } else { - OutAirFrac = 1.0; - } - OutAirFrac = min( 1.0, max( 0.0, OutAirFrac ) ); - } else { - OutAirFrac = 1.0; - } - if ( CurOASysNum == 0 && PrimaryAirSystem( CurSysNum ).NumOAHeatCoils > 0 ) { - CoilInTemp = OutAirFrac * FinalSysSizing( CurSysNum ).PreheatTemp + ( 1.0 - OutAirFrac ) * FinalSysSizing( CurSysNum ).HeatRetTemp; - } else { - CoilInTemp = OutAirFrac * FinalSysSizing( CurSysNum ).HeatOutTemp + ( 1.0 - OutAirFrac ) * FinalSysSizing( CurSysNum ).HeatRetTemp; - } - // coil load - CpAirStd = PsyCpAirFnWTdb( 0.0, 20.0 ); - if ( CurOASysNum > 0 ) { - AutosizeDes = CpAirStd * StdRhoAir * DataAirFlowUsedForSizing * ( FinalSysSizing( CurSysNum ).PreheatTemp - CoilInTemp ); - } else { - AutosizeDes = CpAirStd * StdRhoAir * DataAirFlowUsedForSizing * ( FinalSysSizing( CurSysNum ).HeatSupTemp - CoilInTemp ); - } - } else if ( SizingType == HeatingWaterDesCoilWaterVolFlowUsedForUASizing ) { - AutosizeDes = DataWaterFlowUsedForSizing; - bCheckForZero = false; - } else if ( SizingType == HeatingAirflowUASizing ) { - if ( CurOASysNum > 0 ) { - AutosizeDes = FinalSysSizing( CurSysNum ).DesOutAirVolFlow; - } else { - if ( CurDuctType == Main ) { - AutosizeDes = FinalSysSizing( CurSysNum ).SysAirMinFlowRat * FinalSysSizing( CurSysNum ).DesMainVolFlow; - } else if ( CurDuctType == Cooling ) { - AutosizeDes = FinalSysSizing( CurSysNum ).SysAirMinFlowRat * FinalSysSizing( CurSysNum ).DesCoolVolFlow; - } else if ( CurDuctType == Heating ) { - AutosizeDes = FinalSysSizing( CurSysNum ).DesHeatVolFlow; - } else if ( CurDuctType == Other ) { - AutosizeDes = FinalSysSizing( CurSysNum ).DesMainVolFlow; - } else { - AutosizeDes = FinalSysSizing( CurSysNum ).DesMainVolFlow; - } - } - AutosizeDes *= StdRhoAir; - } else if (SizingType == WaterHeatingCoilUASizing) { - if ( DataCapacityUsedForSizing >= SmallLoad ) { - Par( 1 ) = DataCapacityUsedForSizing; - Par( 2 ) = double( DataCoilNum ); - Par( 3 ) = double( DataFanOpMode ); //fan operating mode - Par( 4 ) = 1.0; // part-load ratio - UA0 = 0.001 * DataCapacityUsedForSizing; - UA1 = DataCapacityUsedForSizing; - // Invert the simple heating coil model: given the design inlet conditions and the design load, - // find the design UA. - SolveRegulaFalsi( Acc, MaxIte, SolFla, AutosizeDes, SimpleHeatingCoilUAResidual, UA0, UA1, Par ); - if ( SolFla == -1 ) { - ShowSevereError( "Autosizing of heating coil UA failed for Coil:Heating:Water \"" + CompName + "\"" ); - ShowContinueError( " Iteration limit exceeded in calculating coil UA" ); - ShowContinueError( " Lower UA estimate = " + TrimSigDigits( UA0, 6 ) + " W/m2-K (1% of Design Coil Load)" ); - ShowContinueError( " Upper UA estimate = " + TrimSigDigits( UA1, 6 ) + " W/m2-K (100% of Design Coil Load)" ); - ShowContinueError( " Final UA estimate when iterations exceeded limit = " + TrimSigDigits( AutosizeDes, 6 ) + " W/m2-K" ); - ShowContinueError( " AirloopHVAC \"" + FinalSysSizing( CurSysNum ).AirPriLoopName + "\" coil sizing conditions (may be different than Sizing inputs):" ); - ShowContinueError( " Coil inlet air temperature = " + TrimSigDigits( DataDesInletAirTemp, 3 ) + " C" ); - ShowContinueError( " Coil inlet air humidity ratio = " + TrimSigDigits( DataDesInletAirHumRat, 3 ) + " kgWater/kgDryAir" ); - ShowContinueError( " Coil inlet air mass flow rate = " + TrimSigDigits( DataFlowUsedForSizing, 6 ) + " kg/s" ); - ShowContinueError( " Design Coil Capacity = " + TrimSigDigits( DataDesignCoilCapacity, 3 ) + " W" ); - ShowContinueError( " Design Coil Load = " + TrimSigDigits( DataCapacityUsedForSizing, 3 ) + " W" ); - DataErrorsFound = true; - } else if ( SolFla == -2 ) { - ShowSevereError( "Autosizing of heating coil UA failed for Coil:Heating:Water \"" + CompName + "\"" ); - ShowContinueError( " Bad starting values for UA" ); - ShowContinueError( " Lower UA estimate = " + TrimSigDigits( UA0, 6 ) + " W/m2-K (1% of Design Coil Load)" ); - ShowContinueError( " Upper UA estimate = " + TrimSigDigits( UA1, 6 ) + " W/m2-K (100% of Design Coil Load)" ); - ShowContinueError( " AirloopHVAC \"" + FinalSysSizing( CurSysNum ).AirPriLoopName + "\" coil sizing conditions (may be different than Sizing inputs):" ); - ShowContinueError( " Coil inlet air temperature = " + TrimSigDigits( DataDesInletAirTemp, 3 ) + " C" ); - ShowContinueError( " Coil inlet air humidity ratio = " + TrimSigDigits( DataDesInletAirHumRat, 3 ) + " kgWater/kgDryAir" ); - ShowContinueError( " Coil inlet air mass flow rate = " + TrimSigDigits( DataFlowUsedForSizing, 6 ) + " kg/s" ); - ShowContinueError( " Design Coil Capacity = " + TrimSigDigits( DataDesignCoilCapacity, 3 ) + " W" ); - ShowContinueError( " Design Coil Load = " + TrimSigDigits( DataCapacityUsedForSizing, 3 ) + " W" ); - if ( DataDesignCoilCapacity < DataCapacityUsedForSizing ) { - ShowContinueError( " Inadequate water side capacity: in Plant Sizing for this hot water loop" ); - ShowContinueError( " increase design loop exit temperature and/or decrease design loop delta T" ); - ShowContinueError( " Plant Sizing object = " + PlantSizData( DataPltSizHeatNum ).PlantLoopName ); - ShowContinueError( " Plant design loop exit temperature = " + TrimSigDigits( PlantSizData( DataPltSizHeatNum ).ExitTemp, 3 ) + " C" ); - ShowContinueError( " Plant design loop delta T = " + TrimSigDigits( PlantSizData( DataPltSizHeatNum ).DeltaT, 3 ) + " C" ); - } - DataErrorsFound = true; - } - } else { - AutosizeDes = 1.0; - if ( DataWaterFlowUsedForSizing > 0.0 ) { - DataErrorsFound = true; - ShowSevereError( "The design coil load is zero for Coil:Heating:Water " + CompName ); - ShowContinueError( "An autosize value for UA cannot be calculated" ); - ShowContinueError( "Input a value for UA, change the heating design day, or raise" ); - ShowContinueError( " the system heating design supply air temperature" ); - } - } ->>>>>>> remotes/origin/develop } } - } else { - // some components don't set CurZoneEqNum or CurSysNum (e.g., Plant HPWH fans) - HardSizeNoDesRun = true; - AutosizeDes = 0.0; - if ( PrintWarningFlag && SizingResult > 0.0 ) { - ReportSizingOutput( CompType, CompName, "User-Specified " + SizingString, SizingResult ); - } } - if ( IsAutoSize || SizingDesRunThisAirSys || SizingDesRunThisZone ) { - if ( AutosizeDes < SmallAirVolFlow && bCheckForZero) { + if ( AutosizeDes < SmallAirVolFlow ) { AutosizeDes = 0.0; } } @@ -1931,7 +1086,7 @@ namespace ReportSizingManager { } } // } else { -// eventually move hardsize reporting here? [up in calcs, 3 places at e.g., if ( !IsAutoSize && !SizingDesRunThisAirSys )] +// eventually move hardsize reporting (up in calcs, 2 places) here ? } } } diff --git a/src/EnergyPlus/SimAirServingZones.cc b/src/EnergyPlus/SimAirServingZones.cc index 83fcd0c0c67..df91b836d81 100644 --- a/src/EnergyPlus/SimAirServingZones.cc +++ b/src/EnergyPlus/SimAirServingZones.cc @@ -2382,7 +2382,6 @@ namespace SimAirServingZones { // SUBROUTINE PARAMETER DEFINITIONS: // Maximum iterations of an air system/controllers simulation sequence int const MaxIter( 50 ); - static gio::Fmt const fmtLD( "*" ); // INTERFACE BLOCK DEFINITIONS: None @@ -2478,7 +2477,7 @@ namespace SimAirServingZones { ++ErrCount; if ( ErrCount < 15 ) { ErrEnvironmentName = EnvironmentName; - gio::write( CharErrOut, fmtLD ) << MaxIter; + gio::write( CharErrOut, "*" ) << MaxIter; strip( CharErrOut ); ShowWarningError( "SolveAirLoopControllers: Maximum iterations (" + CharErrOut + ") exceeded for " + PrimaryAirSystem( AirLoopNum ).Name + ", at " + EnvironmentName + ", " + CurMnDy + ' ' + CreateSysTimeIntervalString() ); } else { @@ -4408,7 +4407,7 @@ namespace SimAirServingZones { // SUBROUTINE ARGUMENT DEFINITIONS: // SUBROUTINE PARAMETER DEFINITIONS: - static gio::Fmt const fmtA( "(A)" ); + static gio::Fmt const fmta( "(A)" ); static gio::Fmt const SSizeFmt10( "('Time')" ); static gio::Fmt const SSizeFmt11( "(A1,A,A,A1,A,A,A1,A,A,A1,A,A)" ); static gio::Fmt const SSizeFmt20( "(I2.2,':',I2.2,':00')" ); @@ -4634,7 +4633,7 @@ namespace SimAirServingZones { } RetTempRise = ZoneSizing( CtrlZoneNum, CurOverallSimDay ).HeatZoneRetTempSeq( TimeStepInDay ) - ZoneSizing( CtrlZoneNum, CurOverallSimDay ).HeatZoneTempSeq( TimeStepInDay ); if ( RetTempRise > 0.01 ) { - ZoneSizing( CtrlZoneNum, CurOverallSimDay ).HeatZoneRetTempSeq( TimeStepInDay ) = ZoneSizing( CtrlZoneNum, CurOverallSimDay ).HeatZoneTempSeq( TimeStepInDay ) + RetTempRise * ( 1.0 / ( 1.0 + TermUnitSizing( CtrlZoneNum ).InducRat ) ); + ZoneSizing( CtrlZoneNum, CurOverallSimDay ).HeatZoneRetTempSeq( TimeStepInDay ) = ZoneSizing( CtrlZoneNum, CurOverallSimDay ).HeatZoneTempSeq( TimeStepInDay ) + RetTempRise * ( 1. / ( 1. + TermUnitSizing( CtrlZoneNum ).InducRat ) ); } } @@ -5629,7 +5628,7 @@ namespace SimAirServingZones { } // Calculate the new user modified system design quantities - if ( std::abs( SysCoolSizingRat - 1.0 ) > 0.00001 ) { + if ( std::abs( SysCoolSizingRat - 1.0 ) > .00001 ) { FinalSysSizing( AirLoopNum ).CoinCoolMassFlow = SysCoolSizingRat * CalcSysSizing( AirLoopNum ).CoinCoolMassFlow; FinalSysSizing( AirLoopNum ).NonCoinCoolMassFlow = SysCoolSizingRat * CalcSysSizing( AirLoopNum ).NonCoinCoolMassFlow; @@ -5694,7 +5693,7 @@ namespace SimAirServingZones { } - if ( std::abs( SysHeatSizingRat - 1.0 ) > 0.00001 ) { + if ( std::abs( SysHeatSizingRat - 1.0 ) > .00001 ) { FinalSysSizing( AirLoopNum ).CoinHeatMassFlow = SysHeatSizingRat * CalcSysSizing( AirLoopNum ).CoinHeatMassFlow; FinalSysSizing( AirLoopNum ).NonCoinHeatMassFlow = SysHeatSizingRat * CalcSysSizing( AirLoopNum ).NonCoinHeatMassFlow; diff --git a/src/EnergyPlus/SizingManager.cc b/src/EnergyPlus/SizingManager.cc index cdb202e4862..d2bb7fc9a3e 100644 --- a/src/EnergyPlus/SizingManager.cc +++ b/src/EnergyPlus/SizingManager.cc @@ -135,7 +135,6 @@ namespace SizingManager { // SUBROUTINE PARAMETER DEFINITIONS: static std::string const RoutineName( "ManageSizing: " ); - static gio::Fmt const fmtLD( "*" ); // INTERFACE BLOCK SPECIFICATIONS: none @@ -288,7 +287,7 @@ namespace SizingManager { ++CurEnvirNumSimDay; } - gio::write( DayOfSimChr, fmtLD ) << DayOfSim; + gio::write( DayOfSimChr, "*" ) << DayOfSim; strip( DayOfSimChr ); BeginDayFlag = true; EndDayFlag = false; @@ -489,7 +488,7 @@ namespace SizingManager { if ( ! WarmupFlag && DayOfSim > 1 ) { ++CurEnvirNumSimDay; } - gio::write( DayOfSimChr, fmtLD ) << DayOfSim; + gio::write( DayOfSimChr, "*" ) << DayOfSim; strip( DayOfSimChr ); BeginDayFlag = true; EndDayFlag = false; @@ -1030,7 +1029,7 @@ namespace SizingManager { // na // SUBROUTINE PARAMETER DEFINITIONS: - static gio::Fmt const fmtA( "(A)" ); + // na // INTERFACE BLOCK SPECIFICATIONS // na @@ -1099,7 +1098,7 @@ namespace SizingManager { ShowWarningError( cCurrentModuleObject + ": invalid " + cAlphaFieldNames( 1 ) + " entered value=\"" + cAlphaArgs( 1 ) + "\", Commas will be used to separate fields." ); cAlphaArgs( 1 ) = "Comma"; } - gio::write( OutputFileInits, fmtA ) << "! ,Style"; + gio::write( OutputFileInits, "(A)" ) << "! ,Style"; gio::write( OutputFileInits, "('Sizing Output Files,',A)" ) << cAlphaArgs( 1 ); } @@ -1495,7 +1494,7 @@ namespace SizingManager { // \note This input is used if Cooling Design Air Flow Method is design day with limit if ( lNumericFieldBlanks( 10 ) ) { if ( rNumericArgs( 10 ) <= 0.0 ) { // in case someone changes the default in the IDD - ZoneSizingInput( ZoneSizIndex ).DesCoolMinAirFlowPerArea = 0.000762; + ZoneSizingInput( ZoneSizIndex ).DesCoolMinAirFlowPerArea = .000762; } else { ZoneSizingInput( ZoneSizIndex ).DesCoolMinAirFlowPerArea = rNumericArgs( 10 ); } @@ -1821,19 +1820,18 @@ namespace SizingManager { int const iCoolSAFMAlphaNum = 6; // A6, \field Cooling Design Air Flow Method int const iMaxCoolAirVolFlowNumericNum = 11; // N11, \field Cooling Design Air Flow Rate {m3/s} - //int const iCoolFlowPerFloorAreaNumericNum = 12; // N12, \field Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} - //int const iCoolFlowPerFracCoolNumericNum = 13; // N13, \field Fraction of Autosized Design Cooling Supply Air Flow Rate {-} - //int const iCoolFlowPerCoolCapNumericNum = 14; // N14, \field Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} + int const iCoolFlowPerFloorAreaNumericNum = 12; // N12, \field Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + int const iCoolFlowPerFracCoolNumericNum = 13; // N13, \field Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + int const iCoolFlowPerCoolCapNumericNum = 14; // N14, \field Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} int const iHeatSAFMAlphaNum = 7; // A7, \field Heating Design Air Flow Method - int const iMaxHeatAirVolFlowNumericNum = 12; // N15, \field Heating Design Air Flow Rate {m3/s} - //int const iHeatFlowPerFloorAreaNumericNum = 16; // N16, \field Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} - //int const iHeatFlowPerFracHeatNumericNum = 17; // N17, \field Fraction of Autosized Design Heating Supply Air Flow Rate {-} - //int const iHeatFlowPerFracCoolNumericNum = 18; // N18, \field Fraction of Autosized Design Cooling Supply Air Flow Rate {-} - //int const iHeatFlowPerHeatCapNumericNum = 19; // N19, \field Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} - - int const iSystemOASMethodAlphaNum = 8; // A8, \field System Outdoor Air Method - int const iZoneMaxOAFractionNumericNum = 13; // N20, \field Zone Maximum Outdoor Air Fraction + int const iMaxHeatAirVolFlowNumericNum = 15; // N15, \field Heating Design Air Flow Rate {m3/s} + int const iHeatFlowPerFloorAreaNumericNum = 16; // N16, \field Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + int const iHeatFlowPerFracHeatNumericNum = 17; // N17, \field Fraction of Autosized Design Heating Supply Air Flow Rate {-} + int const iHeatFlowPerFracCoolNumericNum = 18; // N18, \field Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + int const iHeatFlowPerHeatCapNumericNum = 19; // N19, \field Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} + int const iSystemOASMethodAlphaNum = 8; // A8, \field System Outdoor Air Method + int const iZoneMaxOAFractionNumericNum = 20; // N20, \field Zone Maximum Outdoor Air Fraction int const iCoolCAPMAlphaNum( 9 ); // A9, \field Cooling Design Capacity Method int const iCoolDesignCapacityNumericNum( 21 ); // N21, \field Cooling Design Capacity {W} @@ -2059,19 +2057,22 @@ namespace SizingManager { SysSizInput( SysSizIndex ).CoolAirDesMethod = FromDDCalc; } else if ( coolAirDesMethod == "FLOW/SYSTEM" ) { SysSizInput( SysSizIndex ).CoolAirDesMethod = InpDesAirFlow; - //} else if ( coolAirDesMethod == "FlowPerFloorArea") { - // SysSizInput( SysSizIndex ).CoolAirDesMethod = FlowPerFloorArea; - // //SysSizInput(SysSizIndex).FlowPerFloorAreaCooled = rNumericArgs( iCoolFlowPerFloorAreaNumericNum ); - //} else if ( coolAirDesMethod == "FractionOfAutosizedCoolingAirflow") { - // SysSizInput(SysSizIndex).CoolAirDesMethod = FractionOfAutosizedCoolingAirflow; - // //SysSizInput(SysSizIndex).FractionOfAutosizedCoolingAirflow = rNumericArgs( iCoolFlowPerFracCoolNumericNum ); - //} else if ( coolAirDesMethod == "FlowPerCoolingCapacity") { - // SysSizInput(SysSizIndex).CoolAirDesMethod = FlowPerCoolingCapacity; - // //SysSizInput(SysSizIndex).FlowPerCoolingCapacity = rNumericArgs( iCoolFlowPerCoolCapNumericNum ); + } else if ( coolAirDesMethod == "FLOWPERFLOORAREA") { + SysSizInput(SysSizIndex).CoolAirDesMethod = InpDesAirFlow; + SysSizInput(SysSizIndex).ScaleCoolSAFMethod = FlowPerFloorArea; + SysSizInput(SysSizIndex).FlowPerFloorAreaCooled = rNumericArgs( iCoolFlowPerFloorAreaNumericNum ); + } else if ( coolAirDesMethod == "FRACTIONOFAUTOSIZEDCOOLINGAIRFLOW") { + SysSizInput(SysSizIndex).CoolAirDesMethod = FromDDCalc; + SysSizInput(SysSizIndex).ScaleCoolSAFMethod = FractionOfAutosizedCoolingAirflow; + SysSizInput(SysSizIndex).FractionOfAutosizedCoolingAirflow = rNumericArgs( iCoolFlowPerFracCoolNumericNum ); + } else if ( coolAirDesMethod == "FLOWPERCOOLINGCAPACITY") { + SysSizInput(SysSizIndex).CoolAirDesMethod = FromDDCalc; + SysSizInput(SysSizIndex).ScaleCoolSAFMethod = FlowPerCoolingCapacity; + SysSizInput(SysSizIndex).FlowPerCoolingCapacity = rNumericArgs( iCoolFlowPerCoolCapNumericNum ); } else { ShowSevereError( cCurrentModuleObject + "=\"" + cAlphaArgs( iNameAlphaNum ) + "\", invalid data." ); ShowContinueError( "... incorrect " + cAlphaFieldNames( iCoolSAFMAlphaNum ) + "=\"" + cAlphaArgs( iCoolSAFMAlphaNum ) + "\"." ); - ShowContinueError( "... valid values are DesignDay or Flow/System." ); + ShowContinueError( "... valid values are DesignDay, Flow/System, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, or FlowPerCoolingCapacity." ); ErrorsFound = true; }} { auto const heatAirDesMethod( cAlphaArgs( iHeatSAFMAlphaNum ) ); @@ -2079,18 +2080,22 @@ namespace SizingManager { SysSizInput( SysSizIndex ).HeatAirDesMethod = FromDDCalc; } else if ( heatAirDesMethod == "FLOW/SYSTEM" ) { SysSizInput( SysSizIndex ).HeatAirDesMethod = InpDesAirFlow; - //} else if (heatAirDesMethod == "FlowPerFloorArea") { - // SysSizInput(SysSizIndex).HeatAirDesMethod = FlowPerFloorArea; - // //SysSizInput(SysSizIndex).FlowPerFloorAreaCooled = rNumericArgs( iHeatFlowPerFloorAreaNumericNum ); - //} else if (heatAirDesMethod == "FractionOfAutosizedHeatingAirflow") { - // SysSizInput(SysSizIndex).HeatAirDesMethod = FractionOfAutosizedHeatingAirflow; - // //SysSizInput(SysSizIndex).FractionOfAutosizedHeatingAirflow = rNumericArgs( iHeatFlowPerFracHeatNumericNum ); - //} else if (heatAirDesMethod == "FractionOfAutosizedCoolingAirflow") { - // SysSizInput(SysSizIndex).HeatAirDesMethod = FractionOfAutosizedHeatingAirflow; - // //SysSizInput(SysSizIndex).FractionOfAutosizedCoolingAirflow = rNumericArgs( iHeatFlowPerFracCoolNumericNum ); - //} else if (heatAirDesMethod == "FlowPerHeatingCapacity") { - // SysSizInput(SysSizIndex).HeatAirDesMethod = FlowPerHeatingCapacity; - // //SysSizInput(SysSizIndex).FlowPerHeatingCapacity = rNumericArgs( iHeatFlowPerHeatCapNumericNum ); + } else if (heatAirDesMethod == "FLOWPERFLOORAREA") { + SysSizInput(SysSizIndex).HeatAirDesMethod = InpDesAirFlow; + SysSizInput(SysSizIndex).ScaleHeatSAFMethod = FlowPerFloorArea; + SysSizInput(SysSizIndex).FlowPerFloorAreaHeated = rNumericArgs( iHeatFlowPerFloorAreaNumericNum ); + } else if (heatAirDesMethod == "FRACTIONOFAUTOSIZEDHEATINGAIRFLOW") { + SysSizInput(SysSizIndex).HeatAirDesMethod = FromDDCalc; + SysSizInput(SysSizIndex).ScaleHeatSAFMethod = FractionOfAutosizedHeatingAirflow; + SysSizInput(SysSizIndex).FractionOfAutosizedHeatingAirflow = rNumericArgs( iHeatFlowPerFracHeatNumericNum ); + } else if (heatAirDesMethod == "FRACTIONOFAUTOSIZEDCOOLINGAIRFLOW") { + SysSizInput(SysSizIndex).HeatAirDesMethod = FromDDCalc; + SysSizInput(SysSizIndex).ScaleHeatSAFMethod = FractionOfAutosizedCoolingAirflow; + SysSizInput(SysSizIndex).FractionOfAutosizedCoolingAirflow = rNumericArgs( iHeatFlowPerFracCoolNumericNum ); + } else if (heatAirDesMethod == "FLOWPERHEATINGCAPACITY") { + SysSizInput(SysSizIndex).HeatAirDesMethod = FromDDCalc; + SysSizInput(SysSizIndex).ScaleHeatSAFMethod = FlowPerHeatingCapacity; + SysSizInput(SysSizIndex).FlowPerHeatingCapacity = rNumericArgs( iHeatFlowPerHeatCapNumericNum ); } else { ShowSevereError( cCurrentModuleObject + "=\"" + cAlphaArgs( iNameAlphaNum ) + "\", invalid data." ); ShowContinueError("... incorrect " + cAlphaFieldNames( iHeatSAFMAlphaNum ) + "=\"" + cAlphaArgs( iHeatSAFMAlphaNum ) + "\"." ); @@ -2112,126 +2117,140 @@ namespace SizingManager { ShowContinueError( "... valid values are ZoneSum or VentilationRateProcedure." ); ErrorsFound = true; }} - } - //// Determine SysSizInput electric Cooling design capacity sizing method - //if (SameString(cAlphaArgs(iCoolCAPMAlphaNum), "CoolingDesignCapacity")) { - // SysSizInput(SysSizIndex).CoolingCapMethod = CoolingDesignCapacity; - - // if (!lNumericFieldBlanks(iCoolDesignCapacityNumericNum)) { - // SysSizInput(SysSizIndex).ScaledCoolingCapacity = rNumericArgs(iCoolDesignCapacityNumericNum); - // if (SysSizInput(SysSizIndex).ScaledCoolingCapacity < 0.0 && SysSizInput(SysSizIndex).ScaledCoolingCapacity != AutoSize) { - // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - // ShowContinueError("Illegal " + cNumericFieldNames(iCoolDesignCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iCoolDesignCapacityNumericNum), 7)); - // ErrorsFound = true; - // } - // } else { - // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - // ShowContinueError("Input for " + cAlphaFieldNames(iCoolCAPMAlphaNum) + " = " + cAlphaArgs(iCoolCAPMAlphaNum)); - // ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iCoolDesignCapacityNumericNum)); - // ErrorsFound = true; - // } - //} else if (SameString(cAlphaArgs(iCoolCAPMAlphaNum), "CapacityPerFloorArea")) { - // SysSizInput(SysSizIndex).CoolingCapMethod = CapacityPerFloorArea; - // if (!lNumericFieldBlanks(iCoolCapacityPerFloorAreaNumericNum)) { - // SysSizInput(SysSizIndex).ScaledCoolingCapacity = rNumericArgs(iCoolCapacityPerFloorAreaNumericNum); - // if (SysSizInput(SysSizIndex).ScaledCoolingCapacity <= 0.0) { - // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - // ShowContinueError("Input for " + cAlphaFieldNames(iCoolCAPMAlphaNum) + " = " + cAlphaArgs(iCoolCAPMAlphaNum)); - // ShowContinueError("Illegal " + cNumericFieldNames(iCoolCapacityPerFloorAreaNumericNum) + " = " + TrimSigDigits(rNumericArgs(iCoolCapacityPerFloorAreaNumericNum), 7)); - // ErrorsFound = true; - // } else if (SysSizInput(SysSizIndex).ScaledCoolingCapacity == AutoSize) { - // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - // ShowContinueError("Input for " + cAlphaFieldNames(iCoolCAPMAlphaNum) + " = " + cAlphaArgs(iCoolCAPMAlphaNum)); - // ShowContinueError("Illegal " + cNumericFieldNames(iCoolCapacityPerFloorAreaNumericNum) + " = Autosize"); - // ErrorsFound = true; - // } - // } else { - // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - // ShowContinueError("Input for " + cAlphaFieldNames(iCoolCAPMAlphaNum) + " = " + cAlphaArgs(iCoolCAPMAlphaNum)); - // ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iCoolCapacityPerFloorAreaNumericNum)); - // ErrorsFound = true; - // } - //} else if (SameString(cAlphaArgs(iCoolCAPMAlphaNum), "FractionOfAutosizedCoolingCapacity")){ - // SysSizInput(SysSizIndex).CoolingCapMethod = FractionOfAutosizedCoolingCapacity; - // if (!lNumericFieldBlanks(iCoolFracOfAutosizedCapacityNumericNum)) { - // SysSizInput(SysSizIndex).ScaledCoolingCapacity = rNumericArgs(iCoolFracOfAutosizedCapacityNumericNum); - // if (SysSizInput(SysSizIndex).ScaledCoolingCapacity < 0.0) { - // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - // ShowContinueError("Illegal " + cNumericFieldNames(iCoolFracOfAutosizedCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iCoolFracOfAutosizedCapacityNumericNum), 7)); - // ErrorsFound = true; - // } - // } else { - // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - // ShowContinueError("Input for " + cAlphaFieldNames(iCoolCAPMAlphaNum) + " = " + cAlphaArgs(iCoolCAPMAlphaNum)); - // ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iCoolFracOfAutosizedCapacityNumericNum)); - // ErrorsFound = true; - // } - //} else { - // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - // ShowContinueError("Illegal " + cAlphaFieldNames(iCoolCAPMAlphaNum) + " = " + cAlphaArgs(iCoolCAPMAlphaNum)); - // ErrorsFound = true; - //} - - - //// Determine SysSizInput electric heating design capacity sizing method - //if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "HeatingDesignCapacity")) { - // SysSizInput( SysSizIndex ).HeatingCapMethod = HeatingDesignCapacity; - - // if (!lNumericFieldBlanks(iHeatDesignCapacityNumericNum)) { - // SysSizInput( SysSizIndex ).ScaledHeatingCapacity = rNumericArgs(iHeatDesignCapacityNumericNum); - // if (SysSizInput( SysSizIndex ).ScaledHeatingCapacity < 0.0 && SysSizInput( SysSizIndex ).ScaledHeatingCapacity != AutoSize) { - // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - // ShowContinueError("Illegal " + cNumericFieldNames(iHeatDesignCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatDesignCapacityNumericNum), 7)); - // ErrorsFound = true; - // } - // } else { - // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - // ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - // ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatDesignCapacityNumericNum)); - // ErrorsFound = true; - // } - //} else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "CapacityPerFloorArea")) { - // SysSizInput( SysSizIndex ).HeatingCapMethod = CapacityPerFloorArea; - // if (!lNumericFieldBlanks(iHeatCapacityPerFloorAreaNumericNum)) { - // SysSizInput( SysSizIndex ).ScaledHeatingCapacity = rNumericArgs(iHeatCapacityPerFloorAreaNumericNum); - // if (SysSizInput( SysSizIndex ).ScaledHeatingCapacity <= 0.0) { - // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - // ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - // ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatCapacityPerFloorAreaNumericNum), 7)); - // ErrorsFound = true; - // } else if (SysSizInput( SysSizIndex ).ScaledHeatingCapacity == AutoSize) { - // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - // ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - // ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = Autosize"); - // ErrorsFound = true; - // } - // } else { - // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - // ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - // ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum)); - // ErrorsFound = true; - // } - //} else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "FractionOfAutosizedHeatingCapacity")){ - // SysSizInput( SysSizIndex ).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; - // if (!lNumericFieldBlanks(iHeatFracOfAutosizedCapacityNumericNum)) { - // SysSizInput( SysSizIndex ).ScaledHeatingCapacity = rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum); - // if (SysSizInput( SysSizIndex ).ScaledHeatingCapacity < 0.0) { - // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - // ShowContinueError("Illegal " + cNumericFieldNames(iHeatFracOfAutosizedCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum), 7)); - // ErrorsFound = true; - // } - // } else { - // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - // ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - // ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatFracOfAutosizedCapacityNumericNum)); - // ErrorsFound = true; - // } - //} else { - // ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - // ShowContinueError("Illegal " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - // ErrorsFound = true; - //} + // Determine SysSizInput electric Cooling design capacity sizing method + if (SameString(cAlphaArgs(iCoolCAPMAlphaNum), "COOLINGDESIGNCAPACITY")) { + SysSizInput(SysSizIndex).CoolingCapMethod = CoolingDesignCapacity; + + if (!lNumericFieldBlanks(iCoolDesignCapacityNumericNum)) { + SysSizInput(SysSizIndex).ScaledCoolingCapacity = rNumericArgs(iCoolDesignCapacityNumericNum); + if (SysSizInput(SysSizIndex).ScaledCoolingCapacity < 0.0 && SysSizInput(SysSizIndex).ScaledCoolingCapacity != AutoSize) { + ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + ShowContinueError("Illegal " + cNumericFieldNames(iCoolDesignCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iCoolDesignCapacityNumericNum), 7)); + ErrorsFound = true; + } + } + else { + ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + ShowContinueError("Input for " + cAlphaFieldNames(iCoolCAPMAlphaNum) + " = " + cAlphaArgs(iCoolCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iCoolDesignCapacityNumericNum)); + ErrorsFound = true; + } + } + else if (SameString(cAlphaArgs(iCoolCAPMAlphaNum), "CAPACITYPERFLOORAREA")) { + SysSizInput(SysSizIndex).CoolingCapMethod = CapacityPerFloorArea; + if (!lNumericFieldBlanks(iCoolCapacityPerFloorAreaNumericNum)) { + SysSizInput(SysSizIndex).ScaledCoolingCapacity = rNumericArgs(iCoolCapacityPerFloorAreaNumericNum); + if (SysSizInput(SysSizIndex).ScaledCoolingCapacity <= 0.0) { + ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + ShowContinueError("Input for " + cAlphaFieldNames(iCoolCAPMAlphaNum) + " = " + cAlphaArgs(iCoolCAPMAlphaNum)); + ShowContinueError("Illegal " + cNumericFieldNames(iCoolCapacityPerFloorAreaNumericNum) + " = " + TrimSigDigits(rNumericArgs(iCoolCapacityPerFloorAreaNumericNum), 7)); + ErrorsFound = true; + } + else if (SysSizInput(SysSizIndex).ScaledCoolingCapacity == AutoSize) { + ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + ShowContinueError("Input for " + cAlphaFieldNames(iCoolCAPMAlphaNum) + " = " + cAlphaArgs(iCoolCAPMAlphaNum)); + ShowContinueError("Illegal " + cNumericFieldNames(iCoolCapacityPerFloorAreaNumericNum) + " = Autosize"); + ErrorsFound = true; + } + } + else { + ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + ShowContinueError("Input for " + cAlphaFieldNames(iCoolCAPMAlphaNum) + " = " + cAlphaArgs(iCoolCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iCoolCapacityPerFloorAreaNumericNum)); + ErrorsFound = true; + } + } + else if (SameString(cAlphaArgs(iCoolCAPMAlphaNum), "FRACTIONOFAUTOSIZEDCOOLINGCAPACITY")){ + SysSizInput(SysSizIndex).CoolingCapMethod = FractionOfAutosizedCoolingCapacity; + if (!lNumericFieldBlanks(iCoolFracOfAutosizedCapacityNumericNum)) { + SysSizInput(SysSizIndex).ScaledCoolingCapacity = rNumericArgs(iCoolFracOfAutosizedCapacityNumericNum); + if (SysSizInput(SysSizIndex).ScaledCoolingCapacity < 0.0) { + ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + ShowContinueError("Illegal " + cNumericFieldNames(iCoolFracOfAutosizedCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iCoolFracOfAutosizedCapacityNumericNum), 7)); + ErrorsFound = true; + } + } + else { + ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + ShowContinueError("Input for " + cAlphaFieldNames(iCoolCAPMAlphaNum) + " = " + cAlphaArgs(iCoolCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iCoolFracOfAutosizedCapacityNumericNum)); + ErrorsFound = true; + } + } else { + //ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + //ShowContinueError("Illegal " + cAlphaFieldNames(iCoolCAPMAlphaNum) + " = " + cAlphaArgs(iCoolCAPMAlphaNum)); + //ErrorsFound = true; + } + + + // Determine SysSizInput electric heating design capacity sizing method + if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "HEATINGDESIGNCAPACITY")) { + SysSizInput(SysSizIndex).HeatingCapMethod = HeatingDesignCapacity; + + if (!lNumericFieldBlanks(iHeatDesignCapacityNumericNum)) { + SysSizInput(SysSizIndex).ScaledHeatingCapacity = rNumericArgs(iHeatDesignCapacityNumericNum); + if (SysSizInput(SysSizIndex).ScaledHeatingCapacity < 0.0 && SysSizInput(SysSizIndex).ScaledHeatingCapacity != AutoSize) { + ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + ShowContinueError("Illegal " + cNumericFieldNames(iHeatDesignCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatDesignCapacityNumericNum), 7)); + ErrorsFound = true; + } + } + else { + ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatDesignCapacityNumericNum)); + ErrorsFound = true; + } + } + else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "CAPACITYPERFLOORAREA")) { + SysSizInput(SysSizIndex).HeatingCapMethod = CapacityPerFloorArea; + if (!lNumericFieldBlanks(iHeatCapacityPerFloorAreaNumericNum)) { + SysSizInput(SysSizIndex).ScaledHeatingCapacity = rNumericArgs(iHeatCapacityPerFloorAreaNumericNum); + if (SysSizInput(SysSizIndex).ScaledHeatingCapacity <= 0.0) { + ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatCapacityPerFloorAreaNumericNum), 7)); + ErrorsFound = true; + } + else if (SysSizInput(SysSizIndex).ScaledHeatingCapacity == AutoSize) { + ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = Autosize"); + ErrorsFound = true; + } + } + else { + ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum)); + ErrorsFound = true; + } + } + else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "FRACTIONOFAUTOSIZEDHEATINGCAPACITY")){ + SysSizInput(SysSizIndex).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; + if (!lNumericFieldBlanks(iHeatFracOfAutosizedCapacityNumericNum)) { + SysSizInput(SysSizIndex).ScaledHeatingCapacity = rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum); + if (SysSizInput(SysSizIndex).ScaledHeatingCapacity < 0.0) { + ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + ShowContinueError("Illegal " + cNumericFieldNames(iHeatFracOfAutosizedCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum), 7)); + ErrorsFound = true; + } + } + else { + ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatFracOfAutosizedCapacityNumericNum)); + ErrorsFound = true; + } + } + else { + //ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); + //ShowContinueError("Illegal " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + //ErrorsFound = true; + } + + } if ( ErrorsFound ) { @@ -2493,6 +2512,10 @@ namespace SizingManager { using DataStringGlobals::VerString; using General::RoundSigDigits; + // BSLLC Start + using namespace SQLiteProcedures; + // BSLLC Finish + // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -2519,8 +2542,8 @@ namespace SizingManager { gio::write( OutputFileInits, Format_991 ) << ZoneName << LoadType << RoundSigDigits( CalcDesLoad, 5 ) << RoundSigDigits( UserDesLoad, 5 ) << RoundSigDigits( CalcDesFlow, 5 ) << RoundSigDigits( UserDesFlow, 5 ) << DesDayName << PeakHrMin << RoundSigDigits( PeakTemp, 5 ) << RoundSigDigits( PeakHumRat, 5 ) << RoundSigDigits( FloorArea, 5 ) << RoundSigDigits( TotOccs, 5 ) << RoundSigDigits( MinOAVolFlow, 5 ); // BSLLC Start - if ( sqlite->writeOutputToSQLite() ) { - sqlite->addSQLiteZoneSizingRecord( ZoneName, LoadType, CalcDesLoad, UserDesLoad, CalcDesFlow, UserDesFlow, DesDayName, PeakHrMin, PeakTemp, PeakHumRat, MinOAVolFlow ); + if ( WriteOutputToSQLite ) { + AddSQLiteZoneSizingRecord( ZoneName, LoadType, CalcDesLoad, UserDesLoad, CalcDesFlow, UserDesFlow, DesDayName, PeakHrMin, PeakTemp, PeakHumRat, MinOAVolFlow ); } // BSLLC Finish @@ -2555,6 +2578,10 @@ namespace SizingManager { using DataStringGlobals::VerString; using General::RoundSigDigits; + // BSLLC Start + using namespace SQLiteProcedures; + // BSLLC Finish + // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -2581,7 +2608,7 @@ namespace SizingManager { gio::write( OutputFileInits, Format_991 ) << SysName << VarDesc << RoundSigDigits( VarValue, 5 ); // BSLLC Start - if ( sqlite->writeOutputToSQLite() ) sqlite->addSQLiteSystemSizingRecord( SysName, VarDesc, VarValue ); + if ( WriteOutputToSQLite ) AddSQLiteSystemSizingRecord( SysName, VarDesc, VarValue ); // BSLLC Finish } From 566436fa75b88f7b96c3062af4c0ff67f95ce210 Mon Sep 17 00:00:00 2001 From: Nigusse Date: Thu, 14 Aug 2014 15:52:56 -0400 Subject: [PATCH 09/19] Merging with source code pulled from develop. --- src/EnergyPlus/DataSizing.cc | 8 -- src/EnergyPlus/DataSizing.hh | 7 +- src/EnergyPlus/FanCoilUnits.cc | 34 ----- src/EnergyPlus/LowTempRadiantSystem.cc | 13 -- src/EnergyPlus/SimAirServingZones.cc | 170 ------------------------- src/EnergyPlus/SimAirServingZones.hh | 3 - src/EnergyPlus/UnitHeater.cc | 7 - src/EnergyPlus/UnitVentilator.cc | 24 ---- src/EnergyPlus/VentilatedSlab.cc | 38 +----- 9 files changed, 4 insertions(+), 300 deletions(-) diff --git a/src/EnergyPlus/DataSizing.cc b/src/EnergyPlus/DataSizing.cc index f16c6dc08e0..43d4c9b5464 100644 --- a/src/EnergyPlus/DataSizing.cc +++ b/src/EnergyPlus/DataSizing.cc @@ -185,7 +185,6 @@ namespace DataSizing { Real64 DataCapacityUsedForSizing( 0.0 ); //capacity used for sizing with scalable inputs [W] Real64 DataDesignCoilCapacity( 0.0); // calculated capacity of coil at end of UA calculation Real64 DataHeatSizeRatio( 1.0 ); // heating coil size as a ratio of cooling coil capacity -<<<<<<< HEAD Real64 DataEMSOverride ( 0.0 ); // value of EMS variable used to override autosizing Real64 DataBypassFrac ( 0.0 ); // value of bypass fraction for Coil:Cooling:DX:TwoStageWithHumidityControlMode coils int DataZoneNumber( 0 ); // a pointer to a served by zoneHVAC equipment @@ -201,15 +200,8 @@ namespace DataSizing { Real64 DataFracOfAutosizedHeatingCapacity( 1.0 ); // fraction of autosized heating capacit Real64 DataAutosizedCoolingCapacity( 0.0 ); // Autosized cooling capacity used for multiplying flow per capacity to get flow rate Real64 DataAutosizedHeatingCapacity( 0.0 ); // Autosized heating capacit used for multiplying flow per capacity to get flow rate - Real64 DataConstantUsedForSizing ( 0.0 ); // base value used for sizing inputs that are ratios of other inputs - Real64 DataFractionUsedForSizing ( 0.0 ); // fractional value of base value used for sizing inputs that are ratios of other inputs - -======= - Real64 DataEMSOverride( 0.0 ); // value of EMS variable used to override autosizing - Real64 DataBypassFrac( 0.0 ); // value of bypass fraction for Coil:Cooling:DX:TwoStageWithHumidityControlMode coils Real64 DataConstantUsedForSizing( 0.0 ); // base value used for sizing inputs that are ratios of other inputs Real64 DataFractionUsedForSizing( 0.0 ); // fractional value of base value used for sizing inputs that are ratios of other inputs ->>>>>>> remotes/origin/develop Real64 DXCoolCap( 0.0 ); // The ARI cooling capacity of a DX unit. Real64 GlobalHeatSizingFactor( 0.0 ); // the global heating sizing ratio Real64 GlobalCoolSizingFactor( 0.0 ); // the global cooling sizing ratio diff --git a/src/EnergyPlus/DataSizing.hh b/src/EnergyPlus/DataSizing.hh index 392083b369f..7b8043d32ed 100644 --- a/src/EnergyPlus/DataSizing.hh +++ b/src/EnergyPlus/DataSizing.hh @@ -154,7 +154,7 @@ namespace DataSizing { extern Real64 DataFracOfAutosizedHeatingAirflow; // fraction of design heating supply air flow rate extern Real64 DataFlowPerCoolingCapacity; // cooling supply air flow per unit cooling capacity extern Real64 DataFlowPerHeatingCapacity; // heating supply air flow per unit heating capacity - extern Real64 DataCoolingCapPerFloorArea; // cooling capacity per floor area + extern Real64 DataCoolingCapPerFloorArea; // cooling capacity per floor area extern Real64 DataHeatingCapPerFloorArea; // heating capacity per floor area extern Real64 DataFracOfAutosizedCoolingCapacity; // fraction of autosized cooling capacity extern Real64 DataFracOfAutosizedHeatingCapacity; // fraction of autosized heating capacit @@ -1055,12 +1055,9 @@ namespace DataSizing { //- (CoolingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedHeatingCapacity) int HeatingCapMethod; // - Method for heatiing capacity scaledsizing calculation //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) - - Real64 MaxCoolAirVolFlow;// - maximum cooling supply air flow rate, m3/s Real64 MaxHeatAirVolFlow;// - maximum heating supply air flow rate, m3/s Real64 MaxNoCoolHeatAirVolFlow; // - maximum supply air flow rate when no cooling or heating, m3/s - Real64 ScaledCoolingCapacity; // - scaled maximum cooling capacity of zone HVAC equipment, W Real64 ScaledHeatingCapacity; // - scaled maximum heating capacity of zone HVAC equipment, W bool RequestAutoSize; // - true if autosizing is requested @@ -1237,7 +1234,6 @@ namespace DataSizing { int const SystemOAMethod, // System Outdoor Air Method; 1 = SOAM_ZoneSum, 2 = SOAM_VRP Real64 const MaxZoneOAFraction, // maximum value of min OA for zones served by system bool const OAAutoSized, // Set to true if design OA vol flow is set to 'autosize' - int const CoolingCapMethod, // - Method for cooling capacity scaledsizing calculation //- (CoolingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity) int const HeatingCapMethod, // - Method for heatiing capacity scaledsizing calculation @@ -1281,7 +1277,6 @@ namespace DataSizing { SystemOAMethod( SystemOAMethod ), MaxZoneOAFraction( MaxZoneOAFraction ), OAAutoSized( OAAutoSized ), - CoolingCapMethod( CoolingCapMethod ), HeatingCapMethod( HeatingCapMethod ), ScaledCoolingCapacity( ScaledCoolingCapacity ), diff --git a/src/EnergyPlus/FanCoilUnits.cc b/src/EnergyPlus/FanCoilUnits.cc index 9b289e5a73e..aec47f55bff 100644 --- a/src/EnergyPlus/FanCoilUnits.cc +++ b/src/EnergyPlus/FanCoilUnits.cc @@ -1295,7 +1295,6 @@ namespace FanCoilUnits { } else { FinalZoneSizing(CurZoneEqNum).DesHeatOAFlowFrac = 0.0; } -<<<<<<< HEAD if (FanCoil(FanCoilNum).HVACSizingIndex > 0) { zoneHVACIndex = FanCoil(FanCoilNum).HVACSizingIndex; CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod; @@ -1327,23 +1326,12 @@ namespace FanCoilUnits { DesCoilLoad = TempSize; } FanCoil(FanCoilNum).DesHeatingLoad = DesCoilLoad; - if (DesCoilLoad >= SmallLoad) { - rho = GetDensityGlycol(PlantLoop(FanCoil(FanCoilNum).HWLoopNum).FluidName, 60., PlantLoop(FanCoil(FanCoilNum).HWLoopNum).FluidIndex, RoutineNameNoSpace); - Cp = GetSpecificHeatGlycol(PlantLoop(FanCoil(FanCoilNum).HWLoopNum).FluidName, 60., PlantLoop(FanCoil(FanCoilNum).HWLoopNum).FluidIndex, RoutineNameNoSpace); - MaxHotWaterVolFlowDes = DesCoilLoad / (PlantSizData(PltSizHeatNum).DeltaT * Cp * rho); -======= - CoilInTemp = FCOAFrac * FinalZoneSizing( CurZoneEqNum ).OutTempAtHeatPeak + ( 1.0 - FCOAFrac ) * FinalZoneSizing( CurZoneEqNum ).ZoneTempAtHeatPeak; - CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).HeatDesTemp; - CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat; - DesCoilLoad = PsyCpAirFnWTdb( CoilOutHumRat, 0.5 * ( CoilInTemp + CoilOutTemp ) ) * FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow * ( CoilOutTemp - CoilInTemp ); - FanCoil( FanCoilNum ).DesHeatingLoad = DesCoilLoad; if ( DesCoilLoad >= SmallLoad ) { rho = GetDensityGlycol( PlantLoop( FanCoil( FanCoilNum ).HWLoopNum ).FluidName, 60.0, PlantLoop( FanCoil( FanCoilNum ).HWLoopNum ).FluidIndex, RoutineNameNoSpace ); Cp = GetSpecificHeatGlycol( PlantLoop( FanCoil( FanCoilNum ).HWLoopNum ).FluidName, 60.0, PlantLoop( FanCoil( FanCoilNum ).HWLoopNum ).FluidIndex, RoutineNameNoSpace ); MaxHotWaterVolFlowDes = DesCoilLoad / ( PlantSizData( PltSizHeatNum ).DeltaT * Cp * rho ); ->>>>>>> remotes/origin/develop } else { MaxHotWaterVolFlowDes = 0.0; } @@ -1406,7 +1394,6 @@ namespace FanCoilUnits { } else { FinalZoneSizing(CurZoneEqNum).DesCoolOAFlowFrac = 0.0; } -<<<<<<< HEAD if (FanCoil(FanCoilNum).HVACSizingIndex > 0) { zoneHVACIndex = FanCoil(FanCoilNum).HVACSizingIndex; CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).CoolingCapMethod; @@ -1440,27 +1427,6 @@ namespace FanCoilUnits { DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); DesCoilLoad = TempSize; -======= - CoilInTemp = FCOAFrac * FinalZoneSizing( CurZoneEqNum ).OutTempAtCoolPeak + ( 1.0 - FCOAFrac ) * FinalZoneSizing( CurZoneEqNum ).ZoneTempAtCoolPeak; - CoilInHumRat = FCOAFrac * FinalZoneSizing( CurZoneEqNum ).OutHumRatAtCoolPeak + ( 1.0 - FCOAFrac ) * FinalZoneSizing( CurZoneEqNum ).ZoneHumRatAtCoolPeak; - CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).CoolDesTemp; - CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).CoolDesHumRat; - if ( CoilOutHumRat > CoilInHumRat ) { - if ( CoilInHumRat > 0.016 ) { - CoilOutHumRat = 0.5 * CoilInHumRat; - } else { - CoilOutHumRat = CoilInHumRat; - } - } - DesCoilLoad = FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow * ( PsyHFnTdbW( CoilInTemp, CoilInHumRat ) - PsyHFnTdbW( CoilOutTemp, CoilOutHumRat ) ); - FanCoil( FanCoilNum ).DesCoolingLoad = DesCoilLoad; - if ( DesCoilLoad >= SmallLoad ) { - - rho = GetDensityGlycol( PlantLoop( FanCoil( FanCoilNum ).CWLoopNum ).FluidName, 5.0, PlantLoop( FanCoil( FanCoilNum ).CWLoopNum ).FluidIndex, RoutineNameNoSpace ); - - Cp = GetSpecificHeatGlycol( PlantLoop( FanCoil( FanCoilNum ).CWLoopNum ).FluidName, 5.0, PlantLoop( FanCoil( FanCoilNum ).CWLoopNum ).FluidIndex, RoutineNameNoSpace ); ->>>>>>> remotes/origin/develop - } FanCoil(FanCoilNum).DesCoolingLoad = DesCoilLoad; if (DesCoilLoad >= SmallLoad) { diff --git a/src/EnergyPlus/LowTempRadiantSystem.cc b/src/EnergyPlus/LowTempRadiantSystem.cc index a26d932d241..d72e1a65982 100644 --- a/src/EnergyPlus/LowTempRadiantSystem.cc +++ b/src/EnergyPlus/LowTempRadiantSystem.cc @@ -2041,8 +2041,6 @@ namespace LowTempRadiantSystem { if ( IsAutoSize ) { PltSizHeatNum = MyPlantSizingIndex( "ZoneHVAC:LowTemperatureRadiant:VariableFlow", HydrRadSys( RadSysNum ).Name, HydrRadSys( RadSysNum ).HotWaterInNode, HydrRadSys( RadSysNum ).HotWaterOutNode, ErrorsFound ); if ( PltSizHeatNum > 0 ) { -<<<<<<< HEAD - CompType = "ZoneHVAC:LowTemperatureRadiant:VariableFlow"; CompName = HydrRadSys( RadSysNum ).Name; DataFracOfAutosizedHeatingCapacity = 1.0; @@ -2084,10 +2082,6 @@ namespace LowTempRadiantSystem { } if ( DesCoilLoad >= SmallLoad ) { rho = GetDensityGlycol( PlantLoop( HydrRadSys( RadSysNum ).HWLoopNum ).FluidName, 60., PlantLoop( HydrRadSys( RadSysNum ).HWLoopNum ).FluidIndex, RoutineName ); -======= - if ( ( CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor ) >= SmallLoad ) { - rho = GetDensityGlycol( PlantLoop( HydrRadSys( RadSysNum ).HWLoopNum ).FluidName, 60.0, PlantLoop( HydrRadSys( RadSysNum ).HWLoopNum ).FluidIndex, RoutineName ); ->>>>>>> remotes/origin/develop Cp = GetSpecificHeatGlycol( PlantLoop( HydrRadSys( RadSysNum ).HWLoopNum ).FluidName, 60.0, PlantLoop( HydrRadSys( RadSysNum ).HWLoopNum ).FluidIndex, RoutineName ); @@ -2137,9 +2131,6 @@ namespace LowTempRadiantSystem { if ( IsAutoSize ) { PltSizCoolNum = MyPlantSizingIndex( "ZoneHVAC:LowTemperatureRadiant:VariableFlow", HydrRadSys( RadSysNum ).Name, HydrRadSys( RadSysNum ).ColdWaterInNode, HydrRadSys( RadSysNum ).ColdWaterOutNode, ErrorsFound ); if ( PltSizCoolNum > 0 ) { -<<<<<<< HEAD - - CompType = "ZoneHVAC:LowTemperatureRadiant:VariableFlow"; CompName = HydrRadSys(RadSysNum).Name; DataFracOfAutosizedCoolingCapacity = 1.0; @@ -2181,10 +2172,6 @@ namespace LowTempRadiantSystem { if ( DesCoilLoad >= SmallLoad ) { rho = GetDensityGlycol( PlantLoop( HydrRadSys( RadSysNum ).CWLoopNum ).FluidName, 5., PlantLoop( HydrRadSys( RadSysNum ).CWLoopNum ).FluidIndex, RoutineName ); -======= - if ( ( CalcFinalZoneSizing( CurZoneEqNum ).DesCoolLoad * CalcFinalZoneSizing( CurZoneEqNum ).CoolSizingFactor ) >= SmallLoad ) { - rho = GetDensityGlycol( PlantLoop( HydrRadSys( RadSysNum ).CWLoopNum ).FluidName, 5.0, PlantLoop( HydrRadSys( RadSysNum ).CWLoopNum ).FluidIndex, RoutineName ); ->>>>>>> remotes/origin/develop Cp = GetSpecificHeatGlycol( PlantLoop( HydrRadSys( RadSysNum ).CWLoopNum ).FluidName, 5.0, PlantLoop( HydrRadSys( RadSysNum ).CWLoopNum ).FluidIndex, RoutineName ); diff --git a/src/EnergyPlus/SimAirServingZones.cc b/src/EnergyPlus/SimAirServingZones.cc index df91b836d81..527d0de1e9c 100644 --- a/src/EnergyPlus/SimAirServingZones.cc +++ b/src/EnergyPlus/SimAirServingZones.cc @@ -5919,176 +5919,6 @@ namespace SimAirServingZones { } - //void - //UpdateScalableSysSizing( int const AirLoopNum ) - //{ - // - // // SUBROUTINE INFORMATION: - // // AUTHOR Bereket Nigusse - // // DATE WRITTEN Auguts 2014 - // // MODIFIED na - // // RE-ENGINEERED na - - // // PURPOSE OF THIS SUBROUTINE: - // // calculates or updates the sizing results if scalable sizing method is specified - - // // METHODOLOGY EMPLOYED: - // // na - - // // REFERENCES: - // // na - - // // Using/Aliasing - // using namespace DataSizing; - // using DataHVACGlobals::SystemAirflowSizing; - // using DataHVACGlobals::CoolingAirflowSizing; - // using DataHVACGlobals::HeatingAirflowSizing; - // using DataHVACGlobals::CoolingCapacitySizing; - // using DataHVACGlobals::HeatingCapacitySizing; - // using ReportSizingManager::RequestSizing; - // using InputProcessor::FindItemInList; - // //using DataSizing::CurSysNum; - - // //using General::FindNumberInList; - - // // Locals - // // SUBROUTINE ARGUMENT DEFINITIONS: - - // // SUBROUTINE PARAMETER DEFINITIONS: - // static std::string const RoutineName("UpdateScalableSysSizing: "); // include trailing blank space - - // // INTERFACE BLOCK SPECIFICATIONS - // // na - - // // DERIVED TYPE DEFINITIONS - // // na - - // // SUBROUTINE LOCAL VARIABLE DECLARATIONS: - // //int NumOfTimeStepInDay; // number of zone time steps in a day - // std::string CompName; // component name - // std::string CompType; // component type - // std::string SizingString; // input field sizing description (e.g., Nominal Capacity) - // Real64 TempSize; // autosized value - // int FieldNum( 1 ); // IDD numeric field number where input field description is found - // int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) - // int SAFMethod( 0 ); // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow ...) - // int CapSizingMethod( 0 ); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) - // bool PrintFlag; // TRUE when sizing information is reported in the eio file - - - // if (CurSysNum == 0 ) CurSysNum = FindItemInList(FinalSysSizing(AirLoopNum).AirPriLoopName, SysSizInput.AirPriLoopName(), NumSysSizInput); - // - // if ( AirLoopNum > 0 ) { - // - // PrintFlag = false; - // SizingString = ""; - // //scalable sizing options for cooling supply air flow rate - // { auto const SELECT_CASE_var(FinalSysSizing(AirLoopNum).ScaleCoolSAFMethod); - // if ((SELECT_CASE_var == FromDDCalc) || (SELECT_CASE_var == InpDesAirFlow)) { - // //FinalSysSizing(AirLoopNum).DesCoolVolFlow = CalcSysSizing( AirLoopNum ).DesCoolVolFlow; - // } else if (SELECT_CASE_var == FlowPerFloorArea) { - // SizingMethod = CoolingAirflowSizing; - // TempSize = FinalSysSizing(AirLoopNum).FlowPerFloorAreaCooled; - // RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - // FinalSysSizing(AirLoopNum).DesCoolVolFlow = TempSize; - - // CalcSysSizing(AirLoopNum).InpDesCoolAirFlow = TempSize; - // FinalSysSizing(AirLoopNum).InpDesCoolAirFlow = TempSize; - - // } else if (SELECT_CASE_var == FractionOfAutosizedCoolingAirflow) { - // SizingMethod = CoolingAirflowSizing; - // TempSize = AutoSize; - // RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - // FinalSysSizing(AirLoopNum).DesCoolVolFlow = TempSize; - // } else if (SELECT_CASE_var == FlowPerCoolingCapacity) { - // SizingMethod = CoolingCapacitySizing; - // TempSize = AutoSize; - // RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - // if (FinalSysSizing(AirLoopNum).ScaleCoolSAFMethod == FractionOfAutosizedCoolingCapacity) { - // DataFracOfAutosizedCoolingCapacity = FinalSysSizing(AirLoopNum).ScaledCoolingCapacity; - // } - // DataAutosizedCoolingCapacity = TempSize; - // SizingMethod = CoolingAirflowSizing; - // TempSize = AutoSize; - // DataSysScalableFlowSizingON = true; - // RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - // FinalSysSizing(AirLoopNum).DesCoolVolFlow = TempSize; - - // } else { - // //FinalSysSizing(AirLoopNum).DesCoolVolFlow = CalcSysSizing(AirLoopNum).DesCoolVolFlow; - // } - // } - - // //{ auto const SELECT_CASE_var(FinalSysSizing( AirLoopNum ).CoolingCapMethod); - // // if (SELECT_CASE_var == CoolingDesignCapacity){ - // // if (CalcSysSizing(AirLoopNum).ScaledCoolingCapacity > 0.0) { - // // CalcSysSizing(AirLoopNum).SensCoolCap = CalcSysSizing(AirLoopNum).ScaledCoolingCapacity; - // // } else { - // // // autosized - // // CalcSysSizing(AirLoopNum).SensCoolCap = CalcSysSizing(AirLoopNum).SensCoolCap; - // // } - // // } else if (SELECT_CASE_var == CapacityPerFloorArea) { - // // CalcSysSizing(AirLoopNum).SensCoolCap = CalcSysSizing(AirLoopNum).ScaledCoolingCapacity * CalcSysSizing(AirLoopNum).FloorAreaOnAirLoopCooled; - // // } else if (SELECT_CASE_var == FractionOfAutosizedCoolingCapacity) { - // // CalcSysSizing(AirLoopNum).SensCoolCap = CalcSysSizing(AirLoopNum).ScaledCoolingCapacity * CalcSysSizing(AirLoopNum).SensCoolCap; - // // } - // //} - - // // // scalable sizing for noncoincident sizing option for heating supply air flow rate - // { auto const SELECT_CASE_var(FinalSysSizing(AirLoopNum).ScaleHeatSAFMethod); - // if ((SELECT_CASE_var == FromDDCalc) || (SELECT_CASE_var == InpDesAirFlow)) { - // //FinalSysSizing(AirLoopNum).DesHeatVolFlow = CalcSysSizing(AirLoopNum).DesHeatVolFlow; - // } else if (SELECT_CASE_var == FlowPerFloorArea) { - - // SizingMethod = HeatingAirflowSizing; - // TempSize = FinalSysSizing(AirLoopNum).FlowPerFloorAreaHeated; - // RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - // FinalSysSizing(AirLoopNum).DesHeatVolFlow = TempSize; - - // CalcSysSizing( AirLoopNum ).InpDesHeatAirFlow = TempSize; - // FinalSysSizing( AirLoopNum ).InpDesHeatAirFlow = TempSize; - - // } else if (SELECT_CASE_var == FractionOfAutosizedHeatingAirflow) { - - // SizingMethod = HeatingAirflowSizing; - // TempSize = AutoSize; - // RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - // FinalSysSizing(AirLoopNum).DesHeatVolFlow = TempSize; - - // } else if (SELECT_CASE_var == FractionOfAutosizedCoolingAirflow) { - - // SizingMethod = HeatingAirflowSizing; - // TempSize = AutoSize; - // RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - // FinalSysSizing(AirLoopNum).DesHeatVolFlow = TempSize; - - // } else if (SELECT_CASE_var == FlowPerHeatingCapacity) { - - // SizingMethod = HeatingCapacitySizing; - // TempSize = AutoSize; - // RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - // if (FinalSysSizing(AirLoopNum).ScaleCoolSAFMethod == FractionOfAutosizedHeatingCapacity) { - // DataFracOfAutosizedHeatingCapacity = FinalSysSizing(AirLoopNum).ScaledHeatingCapacity; - // } - // DataAutosizedHeatingCapacity = TempSize; - // SizingMethod = HeatingAirflowSizing; - // TempSize = AutoSize; - // DataSysScalableFlowSizingON = true; - // RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - // FinalSysSizing(AirLoopNum).DesHeatVolFlow = TempSize; - - // } else { - // //FinalSysSizing(AirLoopNum).DesHeatVolFlow = CalcSysSizing(AirLoopNum).DesHeatVolFlow; - // } - // } - // - // FinalSysSizing( AirLoopNum ).DesMainVolFlow = max(FinalSysSizing( AirLoopNum ).DesCoolVolFlow, FinalSysSizing( AirLoopNum ).DesHeatVolFlow ); - - // } - - // //CurSysNum = 0; - //} - void UpdateSysSizingFlowForScalableInputs( int const AirLoopNum ) { diff --git a/src/EnergyPlus/SimAirServingZones.hh b/src/EnergyPlus/SimAirServingZones.hh index 5c737b9e6ea..8a1b1797aec 100644 --- a/src/EnergyPlus/SimAirServingZones.hh +++ b/src/EnergyPlus/SimAirServingZones.hh @@ -172,9 +172,6 @@ namespace SimAirServingZones { void UpdateSysSizing( int const CallIndicator ); - //void - //UpdateScalableSysSizing( int const AirLoopNum ); - void UpdateSysSizingFlowForScalableInputs( int const AirLoopNum ); diff --git a/src/EnergyPlus/UnitHeater.cc b/src/EnergyPlus/UnitHeater.cc index e4b13470222..b404dd12ad2 100644 --- a/src/EnergyPlus/UnitHeater.cc +++ b/src/EnergyPlus/UnitHeater.cc @@ -1012,15 +1012,8 @@ namespace UnitHeater { DesCoilLoad = TempSize; } if ( DesCoilLoad >= SmallLoad ) { -<<<<<<< HEAD - rho = GetDensityGlycol( PlantLoop( UnitHeat( UnitHeatNum ).HWLoopNum ).FluidName, 60., PlantLoop( UnitHeat( UnitHeatNum ).HWLoopNum ).FluidIndex, RoutineName ); - Cp = GetSpecificHeatGlycol( PlantLoop( UnitHeat( UnitHeatNum ).HWLoopNum ).FluidName, 60., PlantLoop( UnitHeat( UnitHeatNum ).HWLoopNum ).FluidIndex, RoutineName ); -======= - rho = GetDensityGlycol( PlantLoop( UnitHeat( UnitHeatNum ).HWLoopNum ).FluidName, 60.0, PlantLoop( UnitHeat( UnitHeatNum ).HWLoopNum ).FluidIndex, RoutineName ); Cp = GetSpecificHeatGlycol( PlantLoop( UnitHeat( UnitHeatNum ).HWLoopNum ).FluidName, 60.0, PlantLoop( UnitHeat( UnitHeatNum ).HWLoopNum ).FluidIndex, RoutineName ); - ->>>>>>> remotes/origin/develop MaxVolHotWaterFlowDes = DesCoilLoad / ( PlantSizData( PltSizHeatNum ).DeltaT * Cp * rho ); } else { MaxVolHotWaterFlowDes = 0.0; diff --git a/src/EnergyPlus/UnitVentilator.cc b/src/EnergyPlus/UnitVentilator.cc index 90cfa88bba6..2b0f8869291 100644 --- a/src/EnergyPlus/UnitVentilator.cc +++ b/src/EnergyPlus/UnitVentilator.cc @@ -1577,7 +1577,6 @@ namespace UnitVentilator { PltSizHeatNum = MyPlantSizingIndex( "Coil:Heating:Water", UnitVent( UnitVentNum ).HCoilName, CoilWaterInletNode, CoilWaterOutletNode, ErrorsFound ); if ( PltSizHeatNum > 0 ) { if ( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow >= SmallAirVolFlow ) { -<<<<<<< HEAD SizingMethod = HeatingCapacitySizing; if (UnitVent(UnitVentNum).HVACSizingIndex > 0) { zoneHVACIndex = UnitVent(UnitVentNum).HVACSizingIndex; @@ -1612,24 +1611,13 @@ namespace UnitVentilator { PrintFlag = false; TempSize = AutoSize; DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; - //DataFlowUsedForSizing = UnitVent(UnitVentNum).MaxAirVolFlow; RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); DesHeatingLoad = TempSize; } rho = GetDensityGlycol( PlantLoop( UnitVent( UnitVentNum ).HWLoopNum ).FluidName, 60., PlantLoop( UnitVent( UnitVentNum ).HWLoopNum ).FluidIndex, RoutineName ); Cp = GetSpecificHeatGlycol( PlantLoop( UnitVent( UnitVentNum ).HWLoopNum ).FluidName, 60., PlantLoop( UnitVent( UnitVentNum ).HWLoopNum ).FluidIndex, RoutineName ); MaxVolHotWaterFlowDes = DesHeatingLoad / (PlantSizData(PltSizHeatNum).DeltaT * Cp * rho); -======= - CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTemp; - CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).HeatDesTemp; - CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat; - DesCoilLoad = PsyCpAirFnWTdb( CoilOutHumRat, 0.5 * ( CoilInTemp + CoilOutTemp ) ) * FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow * ( CoilOutTemp - CoilInTemp ); - - rho = GetDensityGlycol( PlantLoop( UnitVent( UnitVentNum ).HWLoopNum ).FluidName, 60.0, PlantLoop( UnitVent( UnitVentNum ).HWLoopNum ).FluidIndex, RoutineName ); - Cp = GetSpecificHeatGlycol( PlantLoop( UnitVent( UnitVentNum ).HWLoopNum ).FluidName, 60.0, PlantLoop( UnitVent( UnitVentNum ).HWLoopNum ).FluidIndex, RoutineName ); - MaxVolHotWaterFlowDes = DesCoilLoad / ( PlantSizData( PltSizHeatNum ).DeltaT * Cp * rho ); ->>>>>>> remotes/origin/develop } else { MaxVolHotWaterFlowDes = 0.0; } @@ -1787,7 +1775,6 @@ namespace UnitVentilator { PltSizCoolNum = MyPlantSizingIndex( CoolingCoilType, CoolingCoilName, CoilWaterInletNode, CoilWaterOutletNode, ErrorsFound ); if ( PltSizCoolNum > 0 ) { if ( FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow >= SmallAirVolFlow ) { -<<<<<<< HEAD SizingMethod = CoolingCapacitySizing; if (UnitVent(UnitVentNum).HVACSizingIndex > 0) { zoneHVACIndex = UnitVent(UnitVentNum).HVACSizingIndex; @@ -1829,17 +1816,6 @@ namespace UnitVentilator { Cp = GetSpecificHeatGlycol( PlantLoop( UnitVent( UnitVentNum ).CWLoopNum ).FluidName, 5., PlantLoop( UnitVent( UnitVentNum ).CWLoopNum ).FluidIndex, RoutineName ); MaxVolColdWaterFlowDes = DesCoolingLoad / (PlantSizData(PltSizCoolNum).DeltaT * Cp * rho); -======= - CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesCoolCoilInTemp; - CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).CoolDesTemp; - CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).CoolDesHumRat; - CoilInHumRat = FinalZoneSizing( CurZoneEqNum ).DesCoolCoilInHumRat; - DesCoilLoad = FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow * ( PsyHFnTdbW( CoilInTemp, CoilInHumRat ) - PsyHFnTdbW( CoilOutTemp, CoilOutHumRat ) ); - rho = GetDensityGlycol( PlantLoop( UnitVent( UnitVentNum ).CWLoopNum ).FluidName, 5.0, PlantLoop( UnitVent( UnitVentNum ).CWLoopNum ).FluidIndex, RoutineName ); - Cp = GetSpecificHeatGlycol( PlantLoop( UnitVent( UnitVentNum ).CWLoopNum ).FluidName, 5.0, PlantLoop( UnitVent( UnitVentNum ).CWLoopNum ).FluidIndex, RoutineName ); - - MaxVolColdWaterFlowDes = DesCoilLoad / ( PlantSizData( PltSizCoolNum ).DeltaT * Cp * rho ); ->>>>>>> remotes/origin/develop if ( MaxVolColdWaterFlowDes < 0.0 ) { ShowWarningError( "Autosizing of water flow resulted in negative value." ); ShowContinueError( "Occurs in " + cMO_UnitVentilator + " Object=" + UnitVent( UnitVentNum ).Name ); diff --git a/src/EnergyPlus/VentilatedSlab.cc b/src/EnergyPlus/VentilatedSlab.cc index 3dc52b2c9b7..f579fc0a6a9 100644 --- a/src/EnergyPlus/VentilatedSlab.cc +++ b/src/EnergyPlus/VentilatedSlab.cc @@ -1686,7 +1686,6 @@ namespace VentilatedSlab { PltSizHeatNum = MyPlantSizingIndex( "Coil:Heating:Water", VentSlab( Item ).HCoilName, CoilWaterInletNode, CoilWaterOutletNode, ErrorsFound ); //END IF if ( PltSizHeatNum > 0 ) { -<<<<<<< HEAD if ( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow >= SmallAirVolFlow ) { SizingMethod = HeatingCapacitySizing; if (VentSlab(Item).HVACSizingIndex > 0) { @@ -1700,7 +1699,6 @@ namespace VentilatedSlab { ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; } else { DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; - //DataFlowUsedForSizing = VentSlab(Item).MaxAirVolFlow; } TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; } else if (CapSizingMethod == CapacityPerFloorArea){ @@ -1709,36 +1707,23 @@ namespace VentilatedSlab { } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; - //DataFlowUsedForSizing = VentSlab(Item).MaxAirVolFlow; TempSize = AutoSize; } } SizingString = "Maximum Hot Water Flow [m3/s]"; - PrintFlag = false; - + PrintFlag = false; RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); DesCoilLoad = TempSize; } else { SizingString = "Maximum Hot Water Flow [m3/s]"; PrintFlag = false; TempSize = AutoSize; - //DataFlowUsedForSizing = VentSlab(Item).MaxAirVolFlow; + //DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); DesCoilLoad = TempSize; } rho = GetDensityGlycol( PlantLoop( VentSlab( Item ).HWLoopNum ).FluidName, 60., PlantLoop( VentSlab( Item ).HWLoopNum ).FluidIndex, RoutineName ); Cp = GetSpecificHeatGlycol( PlantLoop( VentSlab( Item ).HWLoopNum ).FluidName, 60., PlantLoop( VentSlab( Item ).HWLoopNum ).FluidIndex, RoutineName ); -======= - if ( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow >= SmallAirVolFlow ) { - CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTemp; - CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).HeatDesTemp; - CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat; - DesCoilLoad = PsyCpAirFnWTdb( CoilOutHumRat, 0.5 * ( CoilInTemp + CoilOutTemp ) ) * FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow * ( CoilOutTemp - CoilInTemp ); - rho = GetDensityGlycol( PlantLoop( VentSlab( Item ).HWLoopNum ).FluidName, 60.0, PlantLoop( VentSlab( Item ).HWLoopNum ).FluidIndex, RoutineName ); - - Cp = GetSpecificHeatGlycol( PlantLoop( VentSlab( Item ).HWLoopNum ).FluidName, 60.0, PlantLoop( VentSlab( Item ).HWLoopNum ).FluidIndex, RoutineName ); - ->>>>>>> remotes/origin/develop MaxVolHotWaterFlowDes = DesCoilLoad / ( PlantSizData( PltSizHeatNum ).DeltaT * Cp * rho ); } else { MaxVolHotWaterFlowDes = 0.0; @@ -1806,7 +1791,6 @@ namespace VentilatedSlab { ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; } else { DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; - //DataFlowUsedForSizing = VentSlab(Item).MaxAirVolFlow; } TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; } else if (CapSizingMethod == CapacityPerFloorArea){ @@ -1815,7 +1799,6 @@ namespace VentilatedSlab { } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; - //DataFlowUsedForSizing = VentSlab(Item).MaxAirVolFlow; TempSize = AutoSize; } } @@ -1827,7 +1810,7 @@ namespace VentilatedSlab { SizingString = "Maximum Steam Flow [m3/s]"; PrintFlag = false; TempSize = AutoSize; - //DataFlowUsedForSizing = VentSlab(Item).MaxAirVolFlow; + //DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); DesCoilLoad = TempSize; } @@ -1896,7 +1879,6 @@ namespace VentilatedSlab { PltSizCoolNum = MyPlantSizingIndex( CoolingCoilType, CoolingCoilName, CoilWaterInletNode, CoilWaterOutletNode, ErrorsFound ); if ( PltSizCoolNum > 0 ) { if ( FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow >= SmallAirVolFlow ) { -<<<<<<< HEAD SizingMethod = CoolingCapacitySizing; if (VentSlab(Item).HVACSizingIndex > 0) { zoneHVACIndex = VentSlab(Item).HVACSizingIndex; @@ -1909,7 +1891,6 @@ namespace VentilatedSlab { ZoneEqSizing(CurZoneEqNum).DesCoolingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; } else { DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; - //DataFlowUsedForSizing = VentSlab(Item).MaxAirVolFlow; } TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; } else if (CapSizingMethod == CapacityPerFloorArea){ @@ -1918,7 +1899,6 @@ namespace VentilatedSlab { } else if (CapSizingMethod == FractionOfAutosizedCoolingCapacity){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; - //DataFlowUsedForSizing = VentSlab(Item).MaxAirVolFlow; TempSize = AutoSize; } } @@ -1930,24 +1910,12 @@ namespace VentilatedSlab { SizingString = "Maximum Cold Water Flow [m3/s]"; PrintFlag = false; TempSize = AutoSize; - //DataFlowUsedForSizing = VentSlab(Item).MaxAirVolFlow; DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); DesCoilLoad = TempSize; } rho = GetDensityGlycol( PlantLoop( VentSlab( Item ).CWLoopNum ).FluidName, 5., PlantLoop( VentSlab( Item ).CWLoopNum ).FluidIndex, RoutineName ); Cp = GetSpecificHeatGlycol( PlantLoop( VentSlab( Item ).CWLoopNum ).FluidName, 5., PlantLoop( VentSlab( Item ).CWLoopNum ).FluidIndex, RoutineName ); -======= - CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesCoolCoilInTemp; - CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).CoolDesTemp; - CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).CoolDesHumRat; - CoilInHumRat = FinalZoneSizing( CurZoneEqNum ).DesCoolCoilInHumRat; - DesCoilLoad = FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow * ( PsyHFnTdbW( CoilInTemp, CoilInHumRat ) - PsyHFnTdbW( CoilOutTemp, CoilOutHumRat ) ); - rho = GetDensityGlycol( PlantLoop( VentSlab( Item ).CWLoopNum ).FluidName, 5.0, PlantLoop( VentSlab( Item ).CWLoopNum ).FluidIndex, RoutineName ); - - Cp = GetSpecificHeatGlycol( PlantLoop( VentSlab( Item ).CWLoopNum ).FluidName, 5.0, PlantLoop( VentSlab( Item ).CWLoopNum ).FluidIndex, RoutineName ); - ->>>>>>> remotes/origin/develop MaxVolColdWaterFlowDes = DesCoilLoad / ( PlantSizData( PltSizCoolNum ).DeltaT * Cp * rho ); } else { MaxVolColdWaterFlowDes = 0.0; From 730a75628e6495f03d46549aaf527a11368d0628 Mon Sep 17 00:00:00 2001 From: Nigusse Date: Sat, 16 Aug 2014 13:20:01 -0400 Subject: [PATCH 10/19] Modified files saved to the local scalable sizing branch. Files modified to address issues related to merging with scalable sizing. --- src/EnergyPlus/DataSizing.cc | 16 +++-- src/EnergyPlus/DataSizing.hh | 45 +++++++++--- src/EnergyPlus/ReportSizingManager.cc | 95 +++++++++++++------------- src/EnergyPlus/SimAirServingZones.cc | 61 +++++++++++++++-- src/EnergyPlus/SimAirServingZones.hh | 2 +- src/EnergyPlus/SizingManager.cc | 57 +++++----------- src/EnergyPlus/ZoneEquipmentManager.cc | 2 +- 7 files changed, 166 insertions(+), 112 deletions(-) diff --git a/src/EnergyPlus/DataSizing.cc b/src/EnergyPlus/DataSizing.cc index 43d4c9b5464..504d2d4cb7c 100644 --- a/src/EnergyPlus/DataSizing.cc +++ b/src/EnergyPlus/DataSizing.cc @@ -158,9 +158,11 @@ namespace DataSizing { bool DataCoilIsSuppHeater( false ); // TRUE if heating coil used as supplemental heater bool DataIsDXCoil( false ); // TRUE if direct-expansion coil bool DataAutosizable( true ); // TRUE if component is autosizable - bool DataScalableSizingON( false ) ; // boolean determines scalable flow sizing is specified - bool DataScalableCapSizingON( false ); // boolean determines scalable capacity sizing is specified bool DataEMSOverrideON( false ); // boolean determines if user relies on EMS to override autosizing + bool DataScalableSizingON( false ); // boolean determines scalable flow sizing is specified + bool DataScalableCapSizingON( false ); // boolean determines scalable capacity sizing is specified + bool DataSysScalableFlowSizingON( false ); // boolean determines scalable system flow sizing is specified + bool DataSysScalableCapSizingON( false ); // boolean determines scalable system capacity sizing is specified bool SysSizingRunDone( false ); // True if a system sizing run is successfully completed. bool TermUnitSingDuct( false ); // TRUE if a non-induction single duct terminal unit bool TermUnitPIU( false ); // TRUE if a powered induction terminal unit @@ -183,11 +185,10 @@ namespace DataSizing { Real64 DataAirFlowUsedForSizing( 0.0 ); // air flow rate used for sizing with scalable inputs [m3/s] Real64 DataWaterFlowUsedForSizing( 0.0 ); // water flow rate used for sizing with scalable inputs [m3/s] Real64 DataCapacityUsedForSizing( 0.0 ); //capacity used for sizing with scalable inputs [W] - Real64 DataDesignCoilCapacity( 0.0); // calculated capacity of coil at end of UA calculation + Real64 DataDesignCoilCapacity( 0.0 ); // calculated capacity of coil at end of UA calculation Real64 DataHeatSizeRatio( 1.0 ); // heating coil size as a ratio of cooling coil capacity - Real64 DataEMSOverride ( 0.0 ); // value of EMS variable used to override autosizing - Real64 DataBypassFrac ( 0.0 ); // value of bypass fraction for Coil:Cooling:DX:TwoStageWithHumidityControlMode coils - int DataZoneNumber( 0 ); // a pointer to a served by zoneHVAC equipment + Real64 DataEMSOverride( 0.0 ); // value of EMS variable used to override autosizing + Real64 DataBypassFrac( 0.0 ); // value of bypass fraction for Coil:Cooling:DX:TwoStageWithHumidityControlMode coils Real64 DataCoolFlowPerFloorArea( 0.0 ); // cooling supply air flow per unit conditioned floor area Real64 DataHeatFlowPerFloorArea( 0.0 ); // heating supply air flow per unit conditioned floor area Real64 DataFracOfAutosizedCoolingAirflow( 1.0 ); // fraction of design cooling supply air flow rate @@ -202,6 +203,8 @@ namespace DataSizing { Real64 DataAutosizedHeatingCapacity( 0.0 ); // Autosized heating capacit used for multiplying flow per capacity to get flow rate Real64 DataConstantUsedForSizing( 0.0 ); // base value used for sizing inputs that are ratios of other inputs Real64 DataFractionUsedForSizing( 0.0 ); // fractional value of base value used for sizing inputs that are ratios of other inputs + int DataZoneNumber( 0 ); // a pointer to a served by zoneHVAC equipment + int NumZoneHVACSizing( 0 ); // Number of zone HVAC sizing objects Real64 DXCoolCap( 0.0 ); // The ARI cooling capacity of a DX unit. Real64 GlobalHeatSizingFactor( 0.0 ); // the global heating sizing ratio Real64 GlobalCoolSizingFactor( 0.0 ); // the global cooling sizing ratio @@ -212,7 +215,6 @@ namespace DataSizing { FArray1D_string CoolPeakDateHrMin; // date:hr:min of cooling peak FArray1D_string HeatPeakDateHrMin; // date:hr:min of heating peak char SizingFileColSep; // Character to separate columns in sizing outputs - int NumZoneHVACSizing; // Number of zone HVAC sizing objects // Object Data FArray1D< OARequirementsData > OARequirements; diff --git a/src/EnergyPlus/DataSizing.hh b/src/EnergyPlus/DataSizing.hh index 7b8043d32ed..d31d28e62c8 100644 --- a/src/EnergyPlus/DataSizing.hh +++ b/src/EnergyPlus/DataSizing.hh @@ -133,21 +133,49 @@ namespace DataSizing { extern int CurDuctType; // Duct type of current branch extern int CurLoopNum; // the current plant loop index extern int CurCondLoopNum; // the current condenser loop number - extern int CurEnvirNumSimDay; - extern int CurOverallSimDay; + extern int CurEnvirNumSimDay; // current environment number for day simulated + extern int CurOverallSimDay; // current day of simulation extern int NumTimeStepsInAvg; // number of time steps in the averaging window for the design flow and load sequences extern int SaveNumPlantComps; // Number of components using water as an energy source or sink (e.g. water coils) + extern int DataTotCapCurveIndex; // index to total capacity as a function of temperature curve + extern int DataPltSizCoolNum; // index to cooling plant sizing data + extern int DataPltSizHeatNum; // index to heating plant sizing data + extern int DataWaterLoopNum; // index to plant water loop + extern int DataCoilNum; // index to coil object + extern int DataFanOpMode; // fan operating mode (ContFanCycCoil or CycFanCycCoil) extern bool DataCoilIsSuppHeater; // TRUE if heating coil used as supplemental heater extern bool DataIsDXCoil; // TRUE if direct-expansion coil extern bool DataAutosizable; // TRUE if component is autosizable - extern int DataTotCapCurveIndex; // index to total capacity as a function of temperature curve + extern bool DataEMSOverrideON; // boolean determines if user relies on EMS to override autosizing + extern bool TermUnitSingDuct; // TRUE if a non-induction single duct terminal unit + extern bool TermUnitPIU; // TRUE if a powered induction terminal unit + extern bool TermUnitIU; // TRUE if an unpowered induction terminal unit + extern bool ZoneEqFanCoil; // TRUE if a 4 pipe fan coil unit is being simulated + extern bool ZoneEqDXCoil; // TRUE if a ZoneHVAC DX coil is being simulated + extern bool ZoneCoolingOnlyFan; // TRUE if a ZoneHVAC DX cooling coil is only coil in parent + extern bool ZoneHeatingOnlyFan; // TRUE if zone unit only does heating and contains a fam (such as Unit Heater) + extern bool SysSizingRunDone; // True if a system sizing run is successfully completed. + extern bool ZoneSizingRunDone; // True if a zone sizing run has been successfully completed. + extern bool DataErrorsFound; // used for simulation termination when errors are found + extern bool DataAutosizable; // TRUE if component is autosizable + extern bool DataEMSOverrideON; // boolean determines if user relies on EMS to override autosizing + extern bool DataScalableSizingON; // boolean determines scalable zone flow sizing is specified + extern bool DataScalableCapSizingON; // boolean determines scalable zone capacity sizing is specified + extern bool DataSysScalableFlowSizingON; // boolean determines scalable system flow sizing is specified + extern bool DataSysScalableCapSizingON; // boolean determines scalable system capacity sizing is specified + extern Real64 DataDesInletWaterTemp; // coil inlet water temperture used for warning messages + extern Real64 DataDesInletAirHumRat; // coil inlet air humidity ratio used for warning messages + extern Real64 DataDesInletAirTemp; // coil inlet air temperature used for warning messages + extern Real64 DataDesOutletAirTemp; // coil outlet air temperature used for sizing extern Real64 DataCoolCoilCap; // cooling coil capacity used for sizing with scalable inputs extern Real64 DataFlowUsedForSizing; // air flow rate used for sizing with scalable inputs [m3/s] + extern Real64 DataAirFlowUsedForSizing; // air flow rate used for sizing with scalable inputs [m3/s] + extern Real64 DataWaterFlowUsedForSizing; // water flow rate used for sizing with scalable inputs [m3/s] extern Real64 DataCapacityUsedForSizing; // capacity used for sizing with scalable inputs [W] + extern Real64 DataDesignCoilCapacity; // calculated capacity of coil at end of UA calculation extern Real64 DataHeatSizeRatio; // heating coil size as a ratio of cooling coil capacity extern Real64 DataEMSOverride; // value of EMS variable used to override autosizing extern Real64 DataBypassFrac; // value of bypass fraction for Coil:Cooling:DX:TwoStageWithHumidityControlMode coils - extern int DataZoneNumber; // a pointer to a served by zoneHVAC equipment extern Real64 DataCoolFlowPerFloorArea; // cooling supply air flow per unit conditioned floor area extern Real64 DataHeatFlowPerFloorArea; // heating supply air flow per unit conditioned floor area extern Real64 DataFracOfAutosizedCoolingAirflow; // fraction of design cooling supply air flow rate @@ -160,13 +188,10 @@ namespace DataSizing { extern Real64 DataFracOfAutosizedHeatingCapacity; // fraction of autosized heating capacit extern Real64 DataAutosizedCoolingCapacity; // Autosized cooling capacity used for multiplying flow per capacity to get flow rate extern Real64 DataAutosizedHeatingCapacity; // Autosized heating capacit used for multiplying flow per capacity to get flow rate - extern bool DataScalableSizingON; // boolean determines scalable zone flow sizing is specified - extern bool DataScalableCapSizingON; // boolean determines scalable zone capacity sizing is specified - extern bool DataSysScalableFlowSizingON; // boolean determines scalable system flow sizing is specified - extern bool DataSysScalableCapSizingON; // boolean determines scalable system capacity sizing is specified - extern bool DataEMSOverrideON; // boolean determines if user relies on EMS to override autosizing extern Real64 DataConstantUsedForSizing; // base value used for sizing inputs that are ratios of other inputs extern Real64 DataFractionUsedForSizing; // fractional value of base value used for sizing inputs that are ratios of other inputs + extern int DataZoneNumber; // a pointer to a served by zoneHVAC equipment + extern int NumZoneHVACSizing; // Number of zone HVAC sizing objects extern bool TermUnitSingDuct; // TRUE if a non-induction single duct terminal unit extern bool TermUnitPIU; // TRUE if a powered induction terminal unit extern bool TermUnitIU; // TRUE if an unpowered induction terminal unit @@ -189,7 +214,7 @@ namespace DataSizing { extern FArray1D_string CoolPeakDateHrMin; extern FArray1D_string HeatPeakDateHrMin; extern char SizingFileColSep; // Character to separate columns in sizing outputs - extern int NumZoneHVACSizing; // Number of zone HVAC sizing objects + // Types diff --git a/src/EnergyPlus/ReportSizingManager.cc b/src/EnergyPlus/ReportSizingManager.cc index d1767ef847e..36584fea7d2 100644 --- a/src/EnergyPlus/ReportSizingManager.cc +++ b/src/EnergyPlus/ReportSizingManager.cc @@ -64,77 +64,76 @@ namespace ReportSizingManager { // Functions void - ReportSizingOutput( + ReportSizingOutput( std::string const & CompType, // the type of the component std::string const & CompName, // the name of the component std::string const & VarDesc, // the description of the input variable Real64 const VarValue, // the value from the sizing calculation Optional_string_const UsrDesc, // the description of a user-specified variable Optional< Real64 const > UsrValue // the value from the user for the desc item - ) + ) { - // SUBROUTINE INFORMATION: - // AUTHOR Fred Buhl - // DATE WRITTEN Decenber 2001 - // MODIFIED August 2008, Greg Stark - // RE-ENGINEERED na + // SUBROUTINE INFORMATION: + // AUTHOR Fred Buhl + // DATE WRITTEN Decenber 2001 + // MODIFIED August 2008, Greg Stark + // RE-ENGINEERED na - // PURPOSE OF THIS SUBROUTINE: - // This subroutine writes one item of sizing data to the "eio" file.. + // PURPOSE OF THIS SUBROUTINE: + // This subroutine writes one item of sizing data to the "eio" file.. - // METHODOLOGY EMPLOYED: - // na + // METHODOLOGY EMPLOYED: + // na - // REFERENCES: - // na + // REFERENCES: + // na - // Using/Aliasing - using namespace DataPrecisionGlobals; - using DataGlobals::OutputFileInits; - using namespace OutputReportPredefined; - using General::RoundSigDigits; - using namespace SQLiteProcedures; + // Using/Aliasing + using namespace DataPrecisionGlobals; + using DataGlobals::OutputFileInits; + using namespace OutputReportPredefined; + using General::RoundSigDigits; - // Locals - // SUBROUTINE ARGUMENT DEFINITIONS: + // Locals + // SUBROUTINE ARGUMENT DEFINITIONS: - // SUBROUTINE PARAMETER DEFINITIONS: - // na + // SUBROUTINE PARAMETER DEFINITIONS: + // na - // INTERFACE BLOCK SPECIFICATIONS - // na + // INTERFACE BLOCK SPECIFICATIONS + // na - // DERIVED TYPE DEFINITIONS - // na + // DERIVED TYPE DEFINITIONS + // na - // SUBROUTINE LOCAL VARIABLE DECLARATIONS: - static bool MyOneTimeFlag( true ); + // SUBROUTINE LOCAL VARIABLE DECLARATIONS: + static bool MyOneTimeFlag(true); - // Formats - static gio::Fmt const Format_990( "('! , Component Type, Component Name, ','Input Field Description, Value')" ); - static gio::Fmt const Format_991( "(' Component Sizing Information, ',A,', ',A,', ',A,', ',A)" ); + // Formats + static gio::Fmt const Format_990("('! , Component Type, Component Name, ','Input Field Description, Value')"); + static gio::Fmt const Format_991("(' Component Sizing Information, ',A,', ',A,', ',A,', ',A)"); - if ( MyOneTimeFlag ) { - gio::write( OutputFileInits, Format_990 ); - MyOneTimeFlag = false; - } + if (MyOneTimeFlag) { + gio::write(OutputFileInits, Format_990); + MyOneTimeFlag = false; + } - gio::write( OutputFileInits, Format_991 ) << CompType << CompName << VarDesc << RoundSigDigits( VarValue, 5 ); - //add to tabular output reports - AddCompSizeTableEntry( CompType, CompName, VarDesc, VarValue ); + gio::write(OutputFileInits, Format_991) << CompType << CompName << VarDesc << RoundSigDigits(VarValue, 5); + //add to tabular output reports + AddCompSizeTableEntry(CompType, CompName, VarDesc, VarValue); - if ( present( UsrDesc ) && present( UsrValue ) ) { - gio::write( OutputFileInits, Format_991 ) << CompType << CompName << UsrDesc << RoundSigDigits( UsrValue, 5 ); - AddCompSizeTableEntry( CompType, CompName, UsrDesc, UsrValue ); - } else if ( present( UsrDesc ) || present( UsrValue ) ) { - ShowFatalError( "ReportSizingOutput: (Developer Error) - called with user-specified description or value but not both." ); - } + if (present(UsrDesc) && present(UsrValue)) { + gio::write(OutputFileInits, Format_991) << CompType << CompName << UsrDesc << RoundSigDigits(UsrValue, 5); + AddCompSizeTableEntry(CompType, CompName, UsrDesc, UsrValue); + } else if (present(UsrDesc) || present(UsrValue)) { + ShowFatalError("ReportSizingOutput: (Developer Error) - called with user-specified description or value but not both."); + } - // add to SQL output - if ( WriteOutputToSQLite ) AddSQLiteComponentSizingRecord( CompType, CompName, VarDesc, VarValue ); + // add to SQL output + if (sqlite->writeOutputToSQLite()) sqlite->addSQLiteComponentSizingRecord(CompType, CompName, VarDesc, VarValue); - } + } void RequestSizing( diff --git a/src/EnergyPlus/SimAirServingZones.cc b/src/EnergyPlus/SimAirServingZones.cc index 527d0de1e9c..b1f710b48ba 100644 --- a/src/EnergyPlus/SimAirServingZones.cc +++ b/src/EnergyPlus/SimAirServingZones.cc @@ -5593,7 +5593,7 @@ namespace SimAirServingZones { for ( AirLoopNum = 1; AirLoopNum <= NumPrimaryAirSys; ++AirLoopNum ) { // adjust system sizing flow rates for scalable flows - UpdateSysSizingFlowForScalableInputs( AirLoopNum ); + UpdateSysSizingForScalableInputs( AirLoopNum ); NumZonesCooled = AirToZoneNodeInfo( AirLoopNum ).NumZonesCooled; NumZonesHeated = AirToZoneNodeInfo( AirLoopNum ).NumZonesHeated; @@ -5920,7 +5920,7 @@ namespace SimAirServingZones { } void - UpdateSysSizingFlowForScalableInputs( int const AirLoopNum ) + UpdateSysSizingForScalableInputs( int const AirLoopNum ) { // SUBROUTINE INFORMATION: @@ -5953,7 +5953,7 @@ namespace SimAirServingZones { // SUBROUTINE ARGUMENT DEFINITIONS: // SUBROUTINE PARAMETER DEFINITIONS: - static std::string const RoutineName("UpdateScalableSysSizing: "); // include trailing blank space + static std::string const RoutineName("UpdateSysSizingForScalableInputs: "); // include trailing blank space // INTERFACE BLOCK SPECIFICATIONS // na @@ -5977,6 +5977,13 @@ namespace SimAirServingZones { Real64 FractionOfAutosize; // user specified autosized fraction for capacity and supply air flow Real64 AutosizedCapacity; // autosized heating and cooling capacity + int NumZonesHeated; // number of zones heated by a system + int NumZonesCooled; // numberof zones cooled by a system + int ZonesHeatedNum; // loop index of zones heated in a system + int ZonesCooledNum; // loop index of zones cooled in a system + int NumZonesForHtg; // Number of heating zones for given primary system + int CtrlZoneNum; // controlled zone index + if (AirLoopNum > 0) { FractionOfAutosize = 1.0; @@ -6021,6 +6028,15 @@ namespace SimAirServingZones { CalcSysSizing(AirLoopNum).InpDesCoolAirFlow = TempSize; FinalSysSizing(AirLoopNum).InpDesCoolAirFlow = TempSize; } + + + // loop over the controlled zones by this system and setup the scalable sizing input for terminal units sizing + // min system cooling flow rate + //for (ZonesCooledNum = 1; ZonesCooledNum <= NumZonesCooled; ++ZonesCooledNum) { + // CtrlZoneNum = AirToZoneNodeInfo( AirLoopNum) .CoolCtrlZoneNums(ZonesCooledNum); + // ZoneEqSizing(CurZoneEqNum).SizingMethod( CoolingAirflowSizing ) = FinalSysSizing(AirLoopNum).ScaleCoolSAFMethod + //} + } // scalable sizing option for heating supply air flow rate @@ -6065,8 +6081,23 @@ namespace SimAirServingZones { TempSize = FinalSysSizing(AirLoopNum).FlowPerHeatingCapacity * AutosizedCapacity * FractionOfAutosize; CalcSysSizing(AirLoopNum).InpDesHeatAirFlow = TempSize; FinalSysSizing(AirLoopNum).InpDesHeatAirFlow = TempSize; - } + } + + + NumZonesHeated = AirToZoneNodeInfo( AirLoopNum ).NumZonesHeated; + NumZonesForHtg = NumZonesHeated; + if (NumZonesHeated == 0) NumZonesHeated = AirToZoneNodeInfo( AirLoopNum ).NumZonesCooled;; + for (ZonesHeatedNum = 1; ZonesHeatedNum <= NumZonesForHtg; ++ZonesHeatedNum ) { + if (NumZonesHeated == 0) { + CtrlZoneNum = AirToZoneNodeInfo( AirLoopNum).CoolCtrlZoneNums( ZonesHeatedNum ); + } else { + CtrlZoneNum = AirToZoneNodeInfo( AirLoopNum ).HeatCtrlZoneNums( ZonesHeatedNum ); + } + ZoneEqSizing( CtrlZoneNum ).SizingMethod( FinalSysSizing( AirLoopNum) .ScaleHeatSAFMethod ) = SELECT_CASE_var; + } + } + // save the total cooling capacity sizing data for scalable sizing { auto const SELECT_CASE_var(FinalSysSizing( AirLoopNum ).CoolingCapMethod); @@ -6083,6 +6114,14 @@ namespace SimAirServingZones { CalcSysSizing( AirLoopNum ).FractionOfAutosizedCoolingCapacity = CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity; FinalSysSizing( AirLoopNum ).FractionOfAutosizedCoolingCapacity = CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity; } + + + //NumZonesCooled = AirToZoneNodeInfo( AirLoopNum ).NumZonesCooled;; + //for (ZonesCooledNum = 1; ZonesCooledNum <= NumZonesCooled; ++ZonesCooledNum) { + // CtrlZoneNum = AirToZoneNodeInfo( AirLoopNum ).CoolCtrlZoneNums( ZonesCooledNum ); + // ZoneEqSizing( CtrlZoneNum ).SizingMethod( FinalSysSizing( AirLoopNum ).CoolingCapMethod ) = SELECT_CASE_var; + //} + } // save the total heating capacity sizing data for scalable sizing @@ -6098,9 +6137,19 @@ namespace SimAirServingZones { } else if (SELECT_CASE_var == FractionOfAutosizedHeatingCapacity) { FinalSysSizing(AirLoopNum).FractionOfAutosizedHeatingCapacity = CalcSysSizing(AirLoopNum).ScaledHeatingCapacity; } - } - + NumZonesHeated = AirToZoneNodeInfo(AirLoopNum).NumZonesHeated; + NumZonesForHtg = NumZonesHeated; + if (NumZonesHeated == 0) NumZonesHeated = AirToZoneNodeInfo( AirLoopNum ).NumZonesCooled;; + for (ZonesHeatedNum = 1; ZonesHeatedNum <= NumZonesForHtg; ++ZonesHeatedNum) { + if (NumZonesHeated == 0) { + CtrlZoneNum = AirToZoneNodeInfo( AirLoopNum ).CoolCtrlZoneNums( ZonesHeatedNum ); + }else { + CtrlZoneNum = AirToZoneNodeInfo( AirLoopNum ).HeatCtrlZoneNums( ZonesHeatedNum ); + } + ZoneEqSizing( CtrlZoneNum ).SizingMethod( FinalSysSizing( AirLoopNum ).HeatingCapMethod ) = SELECT_CASE_var; + } + } } } diff --git a/src/EnergyPlus/SimAirServingZones.hh b/src/EnergyPlus/SimAirServingZones.hh index 8a1b1797aec..77845891515 100644 --- a/src/EnergyPlus/SimAirServingZones.hh +++ b/src/EnergyPlus/SimAirServingZones.hh @@ -173,7 +173,7 @@ namespace SimAirServingZones { UpdateSysSizing( int const CallIndicator ); void - UpdateSysSizingFlowForScalableInputs( int const AirLoopNum ); + UpdateSysSizingForScalableInputs( int const AirLoopNum ); // End Algorithm Section of the Module // ***************************************************************************** diff --git a/src/EnergyPlus/SizingManager.cc b/src/EnergyPlus/SizingManager.cc index d2bb7fc9a3e..69bd832e2a9 100644 --- a/src/EnergyPlus/SizingManager.cc +++ b/src/EnergyPlus/SizingManager.cc @@ -2099,7 +2099,7 @@ namespace SizingManager { } else { ShowSevereError( cCurrentModuleObject + "=\"" + cAlphaArgs( iNameAlphaNum ) + "\", invalid data." ); ShowContinueError("... incorrect " + cAlphaFieldNames( iHeatSAFMAlphaNum ) + "=\"" + cAlphaArgs( iHeatSAFMAlphaNum ) + "\"." ); - ShowContinueError( "... valid values are DesignDay or Flow/System." ); + ShowContinueError( "... valid values are DesignDay, Flow/System, FlowPerFloorArea, FractionOfAutosizedHeatingAirflow, or FlowPerHeatingCapacity." ); ErrorsFound = true; }} { auto const systemOAMethod(cAlphaArgs( iSystemOASMethodAlphaNum )); @@ -2129,15 +2129,13 @@ namespace SizingManager { ShowContinueError("Illegal " + cNumericFieldNames(iCoolDesignCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iCoolDesignCapacityNumericNum), 7)); ErrorsFound = true; } - } - else { + } else { ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); ShowContinueError("Input for " + cAlphaFieldNames(iCoolCAPMAlphaNum) + " = " + cAlphaArgs(iCoolCAPMAlphaNum)); ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iCoolDesignCapacityNumericNum)); ErrorsFound = true; } - } - else if (SameString(cAlphaArgs(iCoolCAPMAlphaNum), "CAPACITYPERFLOORAREA")) { + } else if (SameString(cAlphaArgs(iCoolCAPMAlphaNum), "CAPACITYPERFLOORAREA")) { SysSizInput(SysSizIndex).CoolingCapMethod = CapacityPerFloorArea; if (!lNumericFieldBlanks(iCoolCapacityPerFloorAreaNumericNum)) { SysSizInput(SysSizIndex).ScaledCoolingCapacity = rNumericArgs(iCoolCapacityPerFloorAreaNumericNum); @@ -2146,22 +2144,19 @@ namespace SizingManager { ShowContinueError("Input for " + cAlphaFieldNames(iCoolCAPMAlphaNum) + " = " + cAlphaArgs(iCoolCAPMAlphaNum)); ShowContinueError("Illegal " + cNumericFieldNames(iCoolCapacityPerFloorAreaNumericNum) + " = " + TrimSigDigits(rNumericArgs(iCoolCapacityPerFloorAreaNumericNum), 7)); ErrorsFound = true; - } - else if (SysSizInput(SysSizIndex).ScaledCoolingCapacity == AutoSize) { + } else if (SysSizInput(SysSizIndex).ScaledCoolingCapacity == AutoSize) { ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); ShowContinueError("Input for " + cAlphaFieldNames(iCoolCAPMAlphaNum) + " = " + cAlphaArgs(iCoolCAPMAlphaNum)); ShowContinueError("Illegal " + cNumericFieldNames(iCoolCapacityPerFloorAreaNumericNum) + " = Autosize"); ErrorsFound = true; } - } - else { + } else { ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); ShowContinueError("Input for " + cAlphaFieldNames(iCoolCAPMAlphaNum) + " = " + cAlphaArgs(iCoolCAPMAlphaNum)); ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iCoolCapacityPerFloorAreaNumericNum)); ErrorsFound = true; } - } - else if (SameString(cAlphaArgs(iCoolCAPMAlphaNum), "FRACTIONOFAUTOSIZEDCOOLINGCAPACITY")){ + } else if (SameString(cAlphaArgs(iCoolCAPMAlphaNum), "FRACTIONOFAUTOSIZEDCOOLINGCAPACITY")){ SysSizInput(SysSizIndex).CoolingCapMethod = FractionOfAutosizedCoolingCapacity; if (!lNumericFieldBlanks(iCoolFracOfAutosizedCapacityNumericNum)) { SysSizInput(SysSizIndex).ScaledCoolingCapacity = rNumericArgs(iCoolFracOfAutosizedCapacityNumericNum); @@ -2170,8 +2165,7 @@ namespace SizingManager { ShowContinueError("Illegal " + cNumericFieldNames(iCoolFracOfAutosizedCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iCoolFracOfAutosizedCapacityNumericNum), 7)); ErrorsFound = true; } - } - else { + } else { ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); ShowContinueError("Input for " + cAlphaFieldNames(iCoolCAPMAlphaNum) + " = " + cAlphaArgs(iCoolCAPMAlphaNum)); ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iCoolFracOfAutosizedCapacityNumericNum)); @@ -2195,15 +2189,13 @@ namespace SizingManager { ShowContinueError("Illegal " + cNumericFieldNames(iHeatDesignCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatDesignCapacityNumericNum), 7)); ErrorsFound = true; } - } - else { + } else { ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatDesignCapacityNumericNum)); ErrorsFound = true; } - } - else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "CAPACITYPERFLOORAREA")) { + } else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "CAPACITYPERFLOORAREA")) { SysSizInput(SysSizIndex).HeatingCapMethod = CapacityPerFloorArea; if (!lNumericFieldBlanks(iHeatCapacityPerFloorAreaNumericNum)) { SysSizInput(SysSizIndex).ScaledHeatingCapacity = rNumericArgs(iHeatCapacityPerFloorAreaNumericNum); @@ -2212,22 +2204,19 @@ namespace SizingManager { ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatCapacityPerFloorAreaNumericNum), 7)); ErrorsFound = true; - } - else if (SysSizInput(SysSizIndex).ScaledHeatingCapacity == AutoSize) { + } else if (SysSizInput(SysSizIndex).ScaledHeatingCapacity == AutoSize) { ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = Autosize"); ErrorsFound = true; } - } - else { + } else { ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum)); ErrorsFound = true; } - } - else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "FRACTIONOFAUTOSIZEDHEATINGCAPACITY")){ + } else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "FRACTIONOFAUTOSIZEDHEATINGCAPACITY")){ SysSizInput(SysSizIndex).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; if (!lNumericFieldBlanks(iHeatFracOfAutosizedCapacityNumericNum)) { SysSizInput(SysSizIndex).ScaledHeatingCapacity = rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum); @@ -2236,15 +2225,13 @@ namespace SizingManager { ShowContinueError("Illegal " + cNumericFieldNames(iHeatFracOfAutosizedCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum), 7)); ErrorsFound = true; } - } - else { + } else { ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatFracOfAutosizedCapacityNumericNum)); ErrorsFound = true; } - } - else { + } else { //ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); //ShowContinueError("Illegal " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); //ErrorsFound = true; @@ -2512,10 +2499,6 @@ namespace SizingManager { using DataStringGlobals::VerString; using General::RoundSigDigits; - // BSLLC Start - using namespace SQLiteProcedures; - // BSLLC Finish - // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -2542,8 +2525,8 @@ namespace SizingManager { gio::write( OutputFileInits, Format_991 ) << ZoneName << LoadType << RoundSigDigits( CalcDesLoad, 5 ) << RoundSigDigits( UserDesLoad, 5 ) << RoundSigDigits( CalcDesFlow, 5 ) << RoundSigDigits( UserDesFlow, 5 ) << DesDayName << PeakHrMin << RoundSigDigits( PeakTemp, 5 ) << RoundSigDigits( PeakHumRat, 5 ) << RoundSigDigits( FloorArea, 5 ) << RoundSigDigits( TotOccs, 5 ) << RoundSigDigits( MinOAVolFlow, 5 ); // BSLLC Start - if ( WriteOutputToSQLite ) { - AddSQLiteZoneSizingRecord( ZoneName, LoadType, CalcDesLoad, UserDesLoad, CalcDesFlow, UserDesFlow, DesDayName, PeakHrMin, PeakTemp, PeakHumRat, MinOAVolFlow ); + if ( sqlite->writeOutputToSQLite() ) { + sqlite->addSQLiteZoneSizingRecord( ZoneName, LoadType, CalcDesLoad, UserDesLoad, CalcDesFlow, UserDesFlow, DesDayName, PeakHrMin, PeakTemp, PeakHumRat, MinOAVolFlow ); } // BSLLC Finish @@ -2578,10 +2561,6 @@ namespace SizingManager { using DataStringGlobals::VerString; using General::RoundSigDigits; - // BSLLC Start - using namespace SQLiteProcedures; - // BSLLC Finish - // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -2608,14 +2587,14 @@ namespace SizingManager { gio::write( OutputFileInits, Format_991 ) << SysName << VarDesc << RoundSigDigits( VarValue, 5 ); // BSLLC Start - if ( WriteOutputToSQLite ) AddSQLiteSystemSizingRecord( SysName, VarDesc, VarValue ); + if ( sqlite->writeOutputToSQLite() ) sqlite->addSQLiteSystemSizingRecord( SysName, VarDesc, VarValue ); // BSLLC Finish } void - GetZoneHVACSizing() + GetZoneHVACSizing() { // SUBROUTINE INFORMATION: diff --git a/src/EnergyPlus/ZoneEquipmentManager.cc b/src/EnergyPlus/ZoneEquipmentManager.cc index 48cc7a02858..0fc023d1506 100644 --- a/src/EnergyPlus/ZoneEquipmentManager.cc +++ b/src/EnergyPlus/ZoneEquipmentManager.cc @@ -300,7 +300,7 @@ namespace ZoneEquipmentManager { // SUBROUTINE ARGUMENT DEFINITIONS: // SUBROUTINE PARAMETER DEFINITIONS: - int NumOfSizingTypes = 7; // number of zone HVAC equipment supply air flow and capacity sizing types (Cooling, Heating and no-Cooling-No Heating, heating and cooling capacity) + int NumOfSizingTypes = 24; // number of sizing types // INTERFACE BLOCK SPECIFICATIONS // na From 532e12da8998fa44bc4b069db8575055220ad5cb Mon Sep 17 00:00:00 2001 From: Nigusse Date: Tue, 19 Aug 2014 17:06:45 -0400 Subject: [PATCH 11/19] Commit system HVAC scalable sizing source code changes and 165 example files transitioned. The source codes were merged with latest on develop branch, Friday August 16 2014. --- src/EnergyPlus/FanCoilUnits.cc | 8 +- src/EnergyPlus/ReportSizingManager.cc | 1345 +++++++++++++---- src/EnergyPlus/SimAirServingZones.cc | 143 +- src/EnergyPlus/UnitHeater.cc | 2 +- src/EnergyPlus/UnitVentilator.cc | 180 ++- src/EnergyPlus/VentilatedSlab.cc | 14 +- testfiles/5ZoneAirCooled.idf | 12 +- testfiles/5ZoneAirCooledConvCoef.idf | 11 +- testfiles/5ZoneAirCooledConvCoefPIU.idf | 11 +- testfiles/5ZoneAirCooledDemandLimiting.idf | 11 +- testfiles/5ZoneAirCooledWithSlab.idf | 11 +- testfiles/5ZoneAirCooled_UniformLoading.idf | 11 +- testfiles/5ZoneAirCooled_VRPSizing.idf | 11 +- testfiles/5ZoneAirCooled_VRPSizing_MaxZd.idf | 11 +- .../5ZoneAirCooled_ZoneAirMassFlowBalance.idf | 11 +- testfiles/5ZoneAutoDXVAV.idf | 11 +- testfiles/5ZoneBoilerOutsideAirReset.idf | 11 +- testfiles/5ZoneBranchSupplyPumps.idf | 11 +- testfiles/5ZoneCAV_MaxTemp.idf | 11 +- testfiles/5ZoneCAVtoVAVWarmestTempFlow.idf | 11 +- testfiles/5ZoneCoolBeam.idf | 11 +- testfiles/5ZoneCostEst.idf | 11 +- testfiles/5ZoneDDCycOnAny.idf | 11 +- testfiles/5ZoneDDCycOnOne.idf | 11 +- testfiles/5ZoneDesignInputCoolingCoil.idf | 11 +- testfiles/5ZoneDetailedIceStorage.idf | 11 +- testfiles/5ZoneDetailedIceStorage2.idf | 11 +- .../5ZoneEconomicsTariffAndLifeCycleCosts.idf | 11 +- testfiles/5ZoneElectricBaseboard.idf | 11 +- testfiles/5ZoneEndUses.idf | 11 +- testfiles/5ZoneEngChill.idf | 11 +- testfiles/5ZoneFPIU.idf | 11 +- testfiles/5ZoneGeometryTransform.idf | 11 +- testfiles/5ZoneIceStorage.idf | 11 +- testfiles/5ZoneNightVent1.idf | 11 +- testfiles/5ZoneNightVent2.idf | 11 +- testfiles/5ZoneNightVent3.idf | 11 +- testfiles/5ZoneReturnFan.idf | 11 +- testfiles/5ZoneSteamBaseboard.idf | 11 +- testfiles/5ZoneSupRetPlenRAB.idf | 11 +- testfiles/5ZoneSupRetPlenVSATU.idf | 11 +- testfiles/5ZoneTDV.idf | 11 +- .../5ZoneVAV-ChilledWaterStorage-Mixed.idf | 11 +- ...AV-ChilledWaterStorage-Mixed_DCV_MaxZd.idf | 11 +- ...hilledWaterStorage-Mixed_DCV_MultiPath.idf | 11 +- ...ZoneVAV-ChilledWaterStorage-Stratified.idf | 11 +- testfiles/5ZoneVAV-Pri-SecLoop.idf | 11 +- testfiles/5ZoneWLHPPlantLoopTower.idf | 55 +- testfiles/5ZoneWarmest.idf | 11 +- testfiles/5ZoneWarmestVFD.idf | 11 +- testfiles/5ZoneWarmestVFD_FCMAuto.idf | 11 +- testfiles/5ZoneWaterCooled_Baseboard.idf | 11 +- testfiles/5ZoneWaterCooled_HighRHControl.idf | 11 +- ...eWaterCooled_MultizoneAverageRHControl.idf | 11 +- ...neWaterCooled_MultizoneMinMaxRHControl.idf | 11 +- testfiles/5ZoneWaterLoopHeatPump.idf | 55 +- testfiles/5Zone_Transformer.idf | 12 +- testfiles/5zoneWaterSystems.idf | 11 +- ...ults_RefBldgLargeOfficeNew2004_Chicago.idf | 28 + .../AirEconomizerWithMaxMinOAFractions.idf | 11 +- ...etwork_MultiZone_House_OvercoolDehumid.idf | 11 +- ...rflowNetwork_MultiZone_SmallOffice_VAV.idf | 7 + testfiles/ChangeoverBypassVAV.idf | 11 +- testfiles/ChangeoverBypassVAV_MaxTemp.idf | 11 +- .../CmplxGlz_Daylighting_SouthVB45deg.idf | 9 +- testfiles/CommonPipe_Pri-Sec.idf | 11 +- testfiles/ConvectionAdaptiveSmallOffice.idf | 35 + testfiles/CoolingTowerDryBulbRangeOp.idf | 11 +- testfiles/CoolingTowerRHRangeOp.idf | 11 +- testfiles/CoolingTowerWetBulbRangeOp.idf | 11 +- testfiles/CoolingTowerWithDBDeltaTempOp.idf | 11 +- testfiles/CoolingTower_FluidBypass.idf | 44 +- .../CoolingTower_MerkelVariableSpeed.idf | 28 + .../CoolingTower_SingleSpeed_MultiCell.idf | 44 +- testfiles/CoolingTower_TwoSpeed_MultiCell.idf | 44 +- testfiles/CoolingTower_VariableSpeed.idf | 11 +- ...ngTower_VariableSpeed_CondEntTempReset.idf | 11 +- ...VariableSpeed_IdealCondEntTempSetpoint.idf | 11 +- .../CoolingTower_VariableSpeed_MultiCell.idf | 44 +- ...trum_RefBldgSmallOfficeNew2004_Chicago.idf | 35 + testfiles/DDAutoSize.idf | 11 +- testfiles/DOASDXCOIL_wADPBFMethod.idf | 11 +- testfiles/DOASDualDuctSchool.idf | 22 +- testfiles/DOAToFanCoilInlet.idf | 11 +- testfiles/DOAToFanCoilSupply.idf | 11 +- testfiles/DXCoilSystemAuto.idf | 11 +- testfiles/DirectIndirectEvapCoolers.idf | 44 +- testfiles/DirectIndirectEvapCoolersVSAS.idf | 44 +- testfiles/DisplacementVent_1ZoneOffice.idf | 11 +- testfiles/DisplacementVent_VAV.idf | 10 +- .../EMPD5ZoneWaterCooled_HighRHControl.idf | 11 +- testfiles/EMSCustomOutputVariable.idf | 55 +- testfiles/EMSCustomSchedule.idf | 55 +- testfiles/EMSDemandManager_LargeOffice.idf | 45 +- testfiles/EMSDiscreteAirSystemSizes.idf | 110 +- testfiles/EMSPlantLoopOverrideControl.idf | 11 +- testfiles/EMSPlantOperation_largeOff.idf | 28 + ...ReplaceTraditionalManagers_LargeOffice.idf | 44 +- testfiles/EMSTestMathAndKill.idf | 55 +- testfiles/EMSThermochromicWindow.idf | 55 +- testfiles/EMSUserDefined5ZoneAirCooled.idf | 11 +- testfiles/EcoroofOrlando.idf | 11 +- testfiles/ElectricChiller.idf | 11 +- testfiles/GSHP-GLHE.idf | 11 +- testfiles/HeaderedPumpsConSpeed.idf | 11 +- testfiles/HeaderedPumpsVarSpeed.idf | 11 +- testfiles/HeatPumpAuto.idf | 11 +- testfiles/HeatPumpWaterHeater.idf | 11 +- testfiles/HospitalBaseline.idf | 66 +- testfiles/HospitalBaselineReheatReportEMS.idf | 66 +- testfiles/HospitalLowEnergy.idf | 66 +- testfiles/IceStorage-Parallel.idf | 11 +- .../IceStorage-Series-ChillerDownstream.idf | 11 +- .../IceStorage-Series-ChillerUpstream.idf | 11 +- testfiles/IndEvapCoolerRTUoffice.idf | 110 +- testfiles/LgOffVAV.idf | 11 +- testfiles/LgOffVAVusingBasement.idf | 11 +- testfiles/Mundt_System_Always_On.idf | 11 +- testfiles/Mundt_System_On_During_the_Day.idf | 11 +- ...tart_RefBldgLargeOfficeNew2004_Chicago.idf | 28 + testfiles/OutdoorAirUnitwithAirloopHVAC.idf | 11 +- testfiles/PIUAuto.idf | 11 +- .../ParametricInsulation-5ZoneAirCooled.idf | 11 +- testfiles/PipeHeatTransfer_Outair.idf | 11 +- testfiles/PipeHeatTransfer_Schedule.idf | 11 +- testfiles/PipeHeatTransfer_Underground.idf | 11 +- testfiles/PipeHeatTransfer_Zone.idf | 11 +- testfiles/PlantApplicationsGuide_Example2.idf | 11 +- testfiles/PondGroundHeatExchanger.idf | 11 +- ...dgFullServiceRestaurantNew2004_Chicago.idf | 22 +- testfiles/RefBldgHospitalNew2004_Chicago.idf | 44 +- .../RefBldgLargeOfficeNew2004_Chicago.idf | 28 + .../RefBldgMediumOfficeNew2004_Chicago.idf | 33 +- ...RefBldgMidriseApartmentNew2004_Chicago.idf | 264 +++- .../RefBldgOutPatientNew2004_Chicago.idf | 14 + .../RefBldgPrimarySchoolNew2004_Chicago.idf | 49 + ...gQuickServiceRestaurantNew2004_Chicago.idf | 22 +- .../RefBldgSecondarySchoolNew2004_Chicago.idf | 63 + .../RefBldgSmallHotelNew2004_Chicago.idf | 84 + .../RefBldgSmallOfficeNew2004_Chicago.idf | 35 + ...efBldgStand-aloneRetailNew2004_Chicago.idf | 44 +- testfiles/RefBldgStripMallNew2004_Chicago.idf | 110 +- .../RefBldgSuperMarketNew2004_Chicago.idf | 42 + testfiles/RefBldgWarehouseNew2004_Chicago.idf | 22 +- testfiles/ReliefIndEvapCoolerRTUoffice.idf | 110 +- testfiles/ReportDaylightFactors.idf | 33 +- testfiles/RetailPackagedTESCoil.idf | 44 +- testfiles/SeriesActiveBranch.idf | 11 +- testfiles/ShopWithPVandBattery.idf | 55 +- testfiles/ShopWithPVandStorage.idf | 55 +- testfiles/ShopWithSimplePVT.idf | 55 +- testfiles/SteamSystemAutoSize.idf | 11 +- testfiles/SurfaceGroundHeatExchanger.idf | 11 +- testfiles/ThermochromicWindow.idf | 55 +- testfiles/TranspiredCollectors.idf | 55 +- testfiles/TwoWayCommonPipe_Pri-Sec.idf | 12 +- .../UnitarySystem_5ZoneWaterLoopHeatPump.idf | 55 +- testfiles/UnitarySystem_DXCoilSystemAuto.idf | 11 +- testfiles/UnitarySystem_HeatPumpAuto.idf | 11 +- testfiles/UserDefinedRoomAirPatterns.idf | 11 +- testfiles/VSDXCoilSystemAuto.idf | 11 +- testfiles/WaterSideEconomizer_Integrated.idf | 11 +- .../WaterSideEconomizer_NonIntegrated.idf | 11 +- testfiles/_5ZoneEvapCooled.idf | 22 +- testfiles/_CoolingTowerDewPointRangeOp.idf | 12 +- testfiles/_CoolingTowerWithDPDeltaTempOp.idf | 12 +- testfiles/_DOASDXCOIL_wUserSHRMethod.idf | 13 +- testfiles/_SmallOffice_Dulles.idf | 45 +- 168 files changed, 4554 insertions(+), 1113 deletions(-) diff --git a/src/EnergyPlus/FanCoilUnits.cc b/src/EnergyPlus/FanCoilUnits.cc index aec47f55bff..efe70a7c3e4 100644 --- a/src/EnergyPlus/FanCoilUnits.cc +++ b/src/EnergyPlus/FanCoilUnits.cc @@ -1314,12 +1314,12 @@ namespace FanCoilUnits { TempSize = AutoSize; } } - SizingString = "Maximum Hot Water Flow [m3/s]"; + SizingString = ""; PrintFlag = false; RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); DesCoilLoad = TempSize; } else { - SizingString = "Maximum Hot Water Flow [m3/s]"; + SizingString = ""; PrintFlag = false; TempSize = AutoSize; RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); @@ -1416,12 +1416,12 @@ namespace FanCoilUnits { TempSize = AutoSize; } } - SizingString = "Maximum Cold Water Flow [m3/s]"; + SizingString = ""; PrintFlag = false; RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); DesCoilLoad = TempSize; } else { - SizingString = "Maximum Cold Water Flow [m3/s]"; + SizingString = ""; PrintFlag = false; TempSize = AutoSize; DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; diff --git a/src/EnergyPlus/ReportSizingManager.cc b/src/EnergyPlus/ReportSizingManager.cc index 36584fea7d2..ec9358bd150 100644 --- a/src/EnergyPlus/ReportSizingManager.cc +++ b/src/EnergyPlus/ReportSizingManager.cc @@ -22,6 +22,9 @@ #include #include #include +#include +#include +#include namespace EnergyPlus { @@ -64,76 +67,76 @@ namespace ReportSizingManager { // Functions void - ReportSizingOutput( + ReportSizingOutput( std::string const & CompType, // the type of the component std::string const & CompName, // the name of the component std::string const & VarDesc, // the description of the input variable Real64 const VarValue, // the value from the sizing calculation Optional_string_const UsrDesc, // the description of a user-specified variable Optional< Real64 const > UsrValue // the value from the user for the desc item - ) + ) { - // SUBROUTINE INFORMATION: - // AUTHOR Fred Buhl - // DATE WRITTEN Decenber 2001 - // MODIFIED August 2008, Greg Stark - // RE-ENGINEERED na + // SUBROUTINE INFORMATION: + // AUTHOR Fred Buhl + // DATE WRITTEN Decenber 2001 + // MODIFIED August 2008, Greg Stark + // RE-ENGINEERED na - // PURPOSE OF THIS SUBROUTINE: - // This subroutine writes one item of sizing data to the "eio" file.. + // PURPOSE OF THIS SUBROUTINE: + // This subroutine writes one item of sizing data to the "eio" file.. - // METHODOLOGY EMPLOYED: - // na + // METHODOLOGY EMPLOYED: + // na - // REFERENCES: - // na + // REFERENCES: + // na - // Using/Aliasing - using namespace DataPrecisionGlobals; - using DataGlobals::OutputFileInits; - using namespace OutputReportPredefined; - using General::RoundSigDigits; + // Using/Aliasing + using namespace DataPrecisionGlobals; + using DataGlobals::OutputFileInits; + using namespace OutputReportPredefined; + using General::RoundSigDigits; - // Locals - // SUBROUTINE ARGUMENT DEFINITIONS: + // Locals + // SUBROUTINE ARGUMENT DEFINITIONS: - // SUBROUTINE PARAMETER DEFINITIONS: - // na + // SUBROUTINE PARAMETER DEFINITIONS: + // na - // INTERFACE BLOCK SPECIFICATIONS - // na + // INTERFACE BLOCK SPECIFICATIONS + // na - // DERIVED TYPE DEFINITIONS - // na + // DERIVED TYPE DEFINITIONS + // na - // SUBROUTINE LOCAL VARIABLE DECLARATIONS: - static bool MyOneTimeFlag(true); + // SUBROUTINE LOCAL VARIABLE DECLARATIONS: + static bool MyOneTimeFlag( true ); - // Formats - static gio::Fmt const Format_990("('! , Component Type, Component Name, ','Input Field Description, Value')"); - static gio::Fmt const Format_991("(' Component Sizing Information, ',A,', ',A,', ',A,', ',A)"); + // Formats + static gio::Fmt const Format_990( "('! , Component Type, Component Name, ','Input Field Description, Value')" ); + static gio::Fmt const Format_991( "(' Component Sizing Information, ',A,', ',A,', ',A,', ',A)" ); - if (MyOneTimeFlag) { - gio::write(OutputFileInits, Format_990); - MyOneTimeFlag = false; - } + if ( MyOneTimeFlag ) { + gio::write( OutputFileInits, Format_990 ); + MyOneTimeFlag = false; + } - gio::write(OutputFileInits, Format_991) << CompType << CompName << VarDesc << RoundSigDigits(VarValue, 5); - //add to tabular output reports - AddCompSizeTableEntry(CompType, CompName, VarDesc, VarValue); + gio::write( OutputFileInits, Format_991 ) << CompType << CompName << VarDesc << RoundSigDigits( VarValue, 5 ); + //add to tabular output reports + AddCompSizeTableEntry( CompType, CompName, VarDesc, VarValue ); - if (present(UsrDesc) && present(UsrValue)) { - gio::write(OutputFileInits, Format_991) << CompType << CompName << UsrDesc << RoundSigDigits(UsrValue, 5); - AddCompSizeTableEntry(CompType, CompName, UsrDesc, UsrValue); - } else if (present(UsrDesc) || present(UsrValue)) { - ShowFatalError("ReportSizingOutput: (Developer Error) - called with user-specified description or value but not both."); - } + if ( present( UsrDesc ) && present( UsrValue ) ) { + gio::write( OutputFileInits, Format_991 ) << CompType << CompName << UsrDesc << RoundSigDigits( UsrValue, 5 ); + AddCompSizeTableEntry( CompType, CompName, UsrDesc, UsrValue ); + } else if ( present( UsrDesc ) || present( UsrValue ) ) { + ShowFatalError( "ReportSizingOutput: (Developer Error) - called with user-specified description or value but not both." ); + } - // add to SQL output - if (sqlite->writeOutputToSQLite()) sqlite->addSQLiteComponentSizingRecord(CompType, CompName, VarDesc, VarValue); + // add to SQL output + if ( sqlite->writeOutputToSQLite() ) sqlite->addSQLiteComponentSizingRecord( CompType, CompName, VarDesc, VarValue ); - } + } void RequestSizing( @@ -159,35 +162,66 @@ namespace ReportSizingManager { // Sizing calculations for component and parent models are now consolidated into a common routine. The parent or component will // specify global variables (instead of using optional arguments) to set up the input required for specific sizing calculations. // - // SIZING TYPES (selects the specific sizing calculations): + // SIZING TYPES (selects the specific sizing calculations, optional global arguments are in parentheses): // (other sizing types may be added as needed) // + // Developer will typically provide all Data* variables in parentheses since a coil could be zone or airloop equipment + // Caution: DataFlowUsedForSizing might be either m3/s or kg/s, check the code during model development to be sure of usage + // Comments for ZONE or AIRLOOP coils indicates differences in calculations, OPTIONAL means 1 will otherwise be used) + // // CoolingAirflowSizing( 1 ); // request sizing for cooling air flow rate - // HeatingAirflowSizing( 2 ); // request sizing for heating air flow rate - // SystemAirflowSizing( 3 ); // request sizing for system air flow rate - // CoolingCapacitySizing( 4 ); // request sizing for cooling capacity - // HeatingCapacitySizing( 5 ); // request sizing for heating capacity - // SystemCapacitySizing( 6 ); // request sizing for system capacity - // CoolingSHRSizing( 7 ); // request sizing for cooling SHR - // HeatingDefrostSizing( 8 ); // request sizing for heating defrost capacity - // AutoCalculateSizing ( 9 ); // identifies an autocalulate input (requires DataConstantUsedForSizing > 0 and DataFractionUsedForSizing > 0) + // CoolingWaterflowSizing( 2 ); // request sizing for cooling water flow rate (DataPltSizCoolNum, DataWaterLoopNum, AIRLOOP COILS: DataCapacityUsedForSizing) + // HeatingWaterflowSizing( 3 ); // request sizing for heating coil water flow rate (DataPltSizHeatNum, DataWaterLoopNum, AIRLOOP COILS: DataCapacityUsedForSizing) + // CoolingWaterDesAirInletTempSizing( 4 ); // request sizing for cooling water coil inlet air temp + // CoolingWaterDesAirInletHumRatSizing( 5 ); // request sizing for cooling water coil inlet air humidity ratio + // CoolingWaterDesWaterInletTempSizing( 6 ); // request sizing for cooling water coil inlet water temp (DataPltSizCoolNum) + // CoolingWaterDesAirOutletTempSizing( 7 ); // request sizing for cooling water coil outlet air temp (DataPltSizCoolNum, DataWaterLoopNum, DataDesInletAirTemp, DataDesInletAirHumRat, DataAirFlowUsedForSizing, DataWaterFlowUsedForSizing, AIRLOOP COILS: DataDesInletWaterTemp) + // CoolingWaterDesAirOutletHumRatSizing( 8 ); // request sizing for cooling water coil outlet air humidity ratio (DataDesInletAirHumRat, DataDesInletWaterTemp, DataCapacityUsedForSizing, ZONE COILS: DataDesOutletAirTemp) + // CoolingWaterNumofTubesPerRowSizing( 9 ); // request sizing for cooling water coil number of tubes per row (DataWaterFlowUsedForSizing) + // HeatingWaterDesAirInletTempSizing( 10 ); // request sizing for heating water coil inlet air temp + // HeatingWaterDesAirInletHumRatSizing( 11 ); // request sizing for heating water coil inlet air humidity ratio + // HeatingWaterDesCoilLoadUsedForUASizing( 12 ); // request sizing for heating water coil capacity used for UA sizing (DataWaterLoopNum, DataPltSizHeatNum, AIRLOOP COILS: DataAirFlowUsedForSizing) + // HeatingWaterDesCoilWaterVolFlowUsedForUASizing( 13 ); // request sizing for heating water coil volume flow rate used for UA sizing (DataWaterFlowUsedForSizing) + // HeatingAirflowSizing( 14 ); // request sizing for heating air flow rate + // HeatingAirflowUASizing( 15 ); // request sizing for heating air flow rate + // SystemAirflowSizing( 16 ); // request sizing for system air flow rate + // CoolingCapacitySizing( 17 ); // request sizing for cooling capacity (DataFlowUsedForSizing [m3/s], DataTotCapCurveIndex [DX coils only]) + // HeatingCapacitySizing( 18 ); // request sizing for heating capacity (DataCoolCoilCap, DataFlowUsedForSizing, AIRLOOP COILS: DataCoilIsSuppHeater, OPTIONAL: DataHeatSizeRatio) + // WaterHeatingCapacitySizing( 19 ); // request sizing for water-side heating capacity (ZONE COILS ONLY: DataWaterLoopNum, DataPltSizHeatNum, OPTIONAL: DataHeatSizeRatio) + // WaterHeatingCoilUASizing( 20 ); // request sizing for heating coil UA (DataCapacityUsedForSizing, DataCoilNum, DataFanOpMode, DataCapacityUsedForSizing, DataDesInletAirTemp, DataDesInletAirHumRat, DataFlowUsedForSizing, DataDesignCoilCapacity) + // SystemCapacitySizing( 21 ); // request sizing for system capacity + // CoolingSHRSizing( 22 ); // request sizing for cooling SHR (DataFlowUsedForSizing, DataCapacityUsedForSizing) + // HeatingDefrostSizing( 23 ); // request sizing for heating defrost capacity + // AutoCalculateSizing ( 24 ); // identifies an autocalulate input // // GLOBAL VARIABLES (previously used as optional arguments): // (other global variables may be added as needed) // - // DataCoilIsSuppHeater( false ); // TRUE if heating coil used as supplemental heater - // DataIsDXCoil( false ); // TRUE if direct-expansion coil - // DataAutosizable( true ); // TRUE if component is autosizable - // DataTotCapCurveIndex( 0 ); // index to total capacity as a function of temperature curve - // DataCoolCoilCap( 0.0 ); // cooling coil capacity used for sizing with scalable inputs - // DataFlowUsedForSizing( 0.0 ); // air flow rate used for sizing with scalable inputs [m3/s] - // DataCapacityUsedForSizing( 0.0 ); // capacity used for sizing with scalable inputs [W] - // DataHeatSizeRatio ( 1.0 ); // heating coil size as a ratio of cooling coil capacity - // DataEMSOverride( 0.0 ); // value of EMS variable used to override autosizing - // DataEMSOverrideON( false ); // boolean determines if user relies on EMS to override autosizing - // DataBypassFrac( 0.0 ); // value of bypass fraction for Coil:Cooling:DX:TwoStageWithHumidityControlMode coils - // DataConstantUsedForSizing( 0.0 ); // base value used for sizing inputs that are ratios of other inputs (requires SizingType == AutoCalculateSizing) - // DataFractionUsedForSizing( 0.0 ); // fractional value of base value used for sizing inputs that are ratios of other inputs (requires SizingType == AutoCalculateSizing) + // int DataTotCapCurveIndex( 0 ); // index to total capacity as a function of temperature curve + // int DataPltSizCoolNum( 0 ); // index to cooling plant sizing data + // int DataPltSizHeatNum( 0 ); // index to heating plant sizing data + // int DataWaterLoopNum( 0 ); // index to plant water loop + // int DataCoilNum( 0 ); // index to coil object + // int DataFanOpMode( 0 ); // fan operating mode (ContFanCycCoil or CycFanCycCoil) + // bool DataCoilIsSuppHeater( false ); // TRUE if heating coil used as supplemental heater + // bool DataIsDXCoil( false ); // TRUE if direct-expansion coil + // bool DataAutosizable( true ); // TRUE if component is autosizable + // bool DataEMSOverrideON( false ); // boolean determines if user relies on EMS to override autosizing + // Real64 DataDesInletWaterTemp( 0.0 ); // coil inlet water temperture used for warning messages + // Real64 DataDesInletAirHumRat( 0.0 ); // coil inlet air humidity ratio used for warning messages + // Real64 DataDesInletAirTemp( 0.0 ); // coil inlet air temperature used for warning messages + // Real64 DataDesOutletAirTemp( 0.0 ); // coil outlet air temperature used for sizing + // Real64 DataCoolCoilCap( 0.0 ); // cooling coil capacity used for sizing with scalable inputs [W] + // Real64 DataFlowUsedForSizing( 0.0 ); // air flow rate used for sizing with scalable inputs [m3/s] + // Real64 DataAirFlowUsedForSizing( 0.0 ); // air flow rate used for sizing with scalable inputs [m3/s] + // Real64 DataWaterFlowUsedForSizing( 0.0 ); // water flow rate used for sizing with scalable inputs [m3/s] + // Real64 DataCapacityUsedForSizing( 0.0 ); //capacity used for sizing with scalable inputs [W] + // Real64 DataDesignCoilCapacity( 0.0); // calculated capacity of coil at end of UA calculation + // Real64 DataHeatSizeRatio( 1.0 ); // heating coil size as a ratio of cooling coil capacity + // Real64 DataEMSOverride( 0.0 ); // value of EMS variable used to override autosizing + // Real64 DataBypassFrac( 0.0 ); // value of bypass fraction for Coil:Cooling:DX:TwoStageWithHumidityControlMode coils + // Real64 DataConstantUsedForSizing( 0.0 ); // base value used for sizing inputs that are ratios of other inputs + // Real64 DataFractionUsedForSizing( 0.0 ); // fractional value of base value used for sizing inputs that are ratios of other inputs // // EXAMPLE setup in DXCoils: // if ( DXCoil( DXCoilNum ).DXCoilType_Num == CoilDX_CoolingTwoStageWHumControl ) { @@ -252,20 +286,30 @@ namespace ReportSizingManager { using DataAirLoop::AirLoopControlInfo; using DataAirSystems::PrimaryAirSystem; using DataGlobals::DisplayExtraWarnings; + using DataGlobals::InitConvTemp;; using DataHeatBalance::Zone; - using namespace DataSizing; // Data added in zone eq component sizing routines + using namespace DataSizing; using namespace DataHVACGlobals; using General::RoundSigDigits; using General::TrimSigDigits; + using General::SolveRegulaFalsi; using InputProcessor::SameString; using Psychrometrics::PsyCpAirFnWTdb; using Psychrometrics::PsyHFnTdbW; + using Psychrometrics::PsyWFnTdpPb; + using Psychrometrics::PsyWFnTdbH; + using Psychrometrics::PsyTdpFnWPb; + using Psychrometrics::PsyWFnTdbRhPb; using Psychrometrics::PsyRhoAirFnPbTdbW; using Psychrometrics::PsyTwbFnTdbWPb; - using DataEnvironment::StdRhoAir; + using FluidProperties::GetSpecificHeatGlycol; + using FluidProperties::GetDensityGlycol; + using DataPlant::PlantLoop; + using WaterCoils::SimpleHeatingCoilUAResidual; // SUBROUTINE PARAMETER DEFINITIONS: - // na + Real64 const Acc( 0.0001 ); // Accuracy of result + int const MaxIte( 500 ); // Maximum number of iterations // INTERFACE BLOCK SPECIFICATIONS: // na @@ -274,8 +318,16 @@ namespace ReportSizingManager { // na // SUBROUTINE LOCAL VARIABLE DECLARATIONS: + int DDNum; // design day number corresponding to TimeStepNumAtMax + int SolFla; // Flag of solver + int TimeStepNumAtMax; // time step number at max load bool IsAutoSize; // Indicator to autosize for reporting bool HardSizeNoDesRun; // Indicator to hardsize with no sizing runs for reporting + bool SizingDesRunThisAirSys; // true if a particular air system had a Sizing : System object and system sizing done + bool SizingDesRunThisZone; // true if a particular zone had a Sizing : Zone object and zone sizing was done + bool OASysFlag; // Logical flag determines if parent object set OA Sys coil property + bool AirLoopSysFlag; // Logical flag determines if parent object set air loop coil property + bool bCheckForZero; // logical to flag whether or not to check for very small autosized values Real64 AutosizeDes; // autosized value Real64 AutosizeUser; // user sized value Real64 OutTemp; // outdoor air temperature [C] @@ -290,21 +342,27 @@ namespace ReportSizingManager { Real64 DesCoilLoad; // design coil load based on sizing inputs and entering air conditions [W] Real64 PeakCoilLoad; // adjusted coil size based on TotCapTempModFac [W] Real64 DesVolFlow; // coil design air volume flow rate [m3/s] - Real64 DesMassFlow; // coil design air mass flow rate [kg/s] + Real64 DesMassFlow; // coil design mass flow rate [kg/s] Real64 CpAir; // specific heat of air [J/kg-K] Real64 rhoair; // density of air [kg/m3] Real64 OutAirFrac; // outdoor air fraction Real64 MinPriFlowFrac; // minimum primary air flow fraction for induction units Real64 CpAirStd; // specific heat of air at standard conditions [J/kg-K] Real64 NominalCapacityDes; // Autosized nominal capacity for reporting [W] - bool SizingDesRunThisAirSys; // true if a particular air system had a Sizing : System object and system sizing done - bool SizingDesRunThisZone; // true if a particular zone had a Sizing : Zone object and zone sizing was done - int TimeStepNumAtMax; // time step number at max load - int DDNum; // design day number corresponding to TimeStepNumAtMax - bool OASysFlag; // Logical flag determines if parent object set OA Sys coil property - bool AirLoopSysFlag; // Logical flag determines if parent object set air loop coil property Real64 RatedVolFlowPerRatedTotCap; // ratio of volume flow rate to capacity [m3/W] - Real64 DesCoolOAFlowFrac; // design outdoor air flow volume fraction + Real64 CoilDesWaterDeltaT; // water coil delta T used for sizing [C] + Real64 Cp; // water loop fluid specific heat [J/kgK] + Real64 rho; // water loop fluid density [kg/m3] + Real64 DesSatEnthAtWaterInTemp; // temp variable used for warning messages + Real64 DesHumRatAtWaterInTemp; // temp variable used for warning messages + Real64 T1Out; // water coil air outlet temperature [C] + Real64 T2Out; // water coil water outlet temperature [C] + Real64 UA0; // lower bound of UA for autosizing + Real64 UA1; // upper bound of UA for autosizing + Real64 MinFlowFrac; // minimum flow fraction from terminal unit [] + Real64 TDpIn; // coil inlet air dew point temperature [C] + FArray1D< Real64 > Par( 4 ); // array passed to RegulaFalsi + Real64 DesOAFlowFrac; // design outdoor air flow volume fraction std::string ScalableSM; // scalable sizing methods label for reporting AutosizeDes = 0.0; @@ -312,6 +370,7 @@ namespace ReportSizingManager { IsAutoSize = false; OASysFlag = false; AirLoopSysFlag = false; + bCheckForZero = true; if ( SysSizingRunDone || ZoneSizingRunDone ) { HardSizeNoDesRun = false; @@ -321,8 +380,8 @@ namespace ReportSizingManager { if ( CurSysNum > 0 ) { CheckThisAirSystemForSizing( CurSysNum, SizingDesRunThisAirSys ); - AirLoopSysFlag = UnitarySysEqSizing( CurSysNum ).CoolingCapacity || UnitarySysEqSizing( CurSysNum ).HeatingCapacity; // *** change to CoolingCapacity and HeatingCapacity - if ( CurOASysNum > 0 ) OASysFlag = OASysEqSizing( CurOASysNum ).CoolingCapacity || OASysEqSizing( CurOASysNum ).HeatingCapacity; // logicals used when parent sizes coil *** change to CoolingCapacity and HeatingCapacity + AirLoopSysFlag = UnitarySysEqSizing( CurSysNum ).CoolingCapacity || UnitarySysEqSizing( CurSysNum ).HeatingCapacity; // logicals used when parent sizes coil + if ( CurOASysNum > 0 ) OASysFlag = OASysEqSizing( CurOASysNum ).CoolingCapacity || OASysEqSizing( CurOASysNum ).HeatingCapacity; } else { SizingDesRunThisAirSys = false; } @@ -345,11 +404,11 @@ namespace ReportSizingManager { HardSizeNoDesRun = false; } else { ShowSevereError( CallingRoutine + " " + CompType + " " + CompName ); - ShowContinueError( "... DataConstantUsedForSizing and DataFractionUsedForSizing " + SizingString + " must both be greater than 0." ); + ShowContinueError( "... DataConstantUsedForSizing and DataFractionUsedForSizing used for autocalculating " + SizingString + " must both be greater than 0." ); ShowFatalError( "Preceding conditions cause termination." ); } } else if ( CurZoneEqNum > 0 ) { - if (!IsAutoSize && !SizingDesRunThisZone && ! DataScalableSizingON && ! DataScalableCapSizingON) { + if ( !IsAutoSize && ! SizingDesRunThisZone && ! DataScalableSizingON && ! DataScalableCapSizingON ) { HardSizeNoDesRun = true; AutosizeUser = SizingResult; if ( PrintWarningFlag && SizingResult > 0.0 ) { @@ -377,9 +436,9 @@ namespace ReportSizingManager { } else { AutosizeDes = max(DataCoolFlowPerFloorArea * Zone(DataZoneNumber).FloorArea, DataHeatFlowPerFloorArea * Zone(DataZoneNumber).FloorArea); } - } + } } else { - if ( SizingType == CoolingAirflowSizing || SizingType == HeatingAirflowSizing || SizingType == SystemAirflowSizing ) { + if ( SizingType == SystemAirflowSizing ) { { auto const SELECT_CASE_var( ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingType) ); if ((SELECT_CASE_var == SupplyAirFlowRate) || (SELECT_CASE_var == None)) { @@ -469,8 +528,28 @@ namespace ReportSizingManager { } else { AutosizeDes = max(DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity, DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity); } + } else { + if ( ZoneEqSizing ( CurZoneEqNum ).CoolingAirFlow && !ZoneEqSizing ( CurZoneEqNum ).HeatingAirFlow ) { + AutosizeDes = ZoneEqSizing ( CurZoneEqNum ).CoolingAirVolFlow; + } else if ( ZoneEqSizing ( CurZoneEqNum ).HeatingAirFlow && !ZoneEqSizing ( CurZoneEqNum ).CoolingAirFlow ) { + AutosizeDes = ZoneEqSizing ( CurZoneEqNum ).HeatingAirVolFlow; + } else if ( ZoneEqSizing ( CurZoneEqNum ).HeatingAirFlow && ZoneEqSizing ( CurZoneEqNum ).CoolingAirFlow ) { + AutosizeDes = max ( ZoneEqSizing ( CurZoneEqNum ).CoolingAirVolFlow, ZoneEqSizing ( CurZoneEqNum ).HeatingAirVolFlow ); + } else { + if ( ZoneCoolingOnlyFan ) { + AutosizeDes = FinalZoneSizing ( CurZoneEqNum ).DesCoolVolFlow; + } else if ( ZoneHeatingOnlyFan ) { + AutosizeDes = FinalZoneSizing ( CurZoneEqNum ).DesHeatVolFlow; + } else { + AutosizeDes = max ( FinalZoneSizing ( CurZoneEqNum ).DesCoolVolFlow, FinalZoneSizing ( CurZoneEqNum ).DesHeatVolFlow ); + } + } } - else { + } + } else if ( SizingType == CoolingAirflowSizing || SizingType == HeatingAirflowSizing ) { + + { auto const SELECT_CASE_var(ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingType)); + if ((SELECT_CASE_var == SupplyAirFlowRate) || (SELECT_CASE_var == None)) { if (ZoneCoolingOnlyFan) { AutosizeDes = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; } else if (ZoneHeatingOnlyFan) { @@ -484,10 +563,287 @@ namespace ReportSizingManager { } else { AutosizeDes = max(FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow, FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow); } + + } else if (SELECT_CASE_var == FlowPerFloorArea) { + if (ZoneCoolingOnlyFan) { + AutosizeDes = DataCoolFlowPerFloorArea * Zone(DataZoneNumber).FloorArea; + } else if (ZoneHeatingOnlyFan) { + AutosizeDes = DataHeatFlowPerFloorArea * Zone(DataZoneNumber).FloorArea; + } else if (ZoneEqSizing(CurZoneEqNum).CoolingAirFlow && !ZoneEqSizing(CurZoneEqNum).HeatingAirFlow) { + AutosizeDes = DataCoolFlowPerFloorArea * Zone(DataZoneNumber).FloorArea; + } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && !ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + AutosizeDes = DataHeatFlowPerFloorArea * Zone(DataZoneNumber).FloorArea; + } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + AutosizeDes = max(DataCoolFlowPerFloorArea * Zone(DataZoneNumber).FloorArea, DataHeatFlowPerFloorArea * Zone(DataZoneNumber).FloorArea); + } else { + AutosizeDes = max(DataCoolFlowPerFloorArea * Zone(DataZoneNumber).FloorArea, DataHeatFlowPerFloorArea * Zone(DataZoneNumber).FloorArea); + } + + } else if (SELECT_CASE_var == FractionOfAutosizedCoolingAirflow) { + if (ZoneCoolingOnlyFan) { + AutosizeDes = DataFracOfAutosizedCoolingAirflow * FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + } else if (ZoneHeatingOnlyFan) { + AutosizeDes = DataFracOfAutosizedHeatingAirflow * FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + } else if (ZoneEqSizing(CurZoneEqNum).CoolingAirFlow && !ZoneEqSizing(CurZoneEqNum).HeatingAirFlow) { + AutosizeDes = DataFracOfAutosizedCoolingAirflow * ZoneEqSizing(CurZoneEqNum).CoolingAirVolFlow; + } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && !ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + AutosizeDes = DataFracOfAutosizedHeatingAirflow * ZoneEqSizing(CurZoneEqNum).HeatingAirVolFlow; + } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + AutosizeDes = max(DataFracOfAutosizedCoolingAirflow * ZoneEqSizing(CurZoneEqNum).CoolingAirVolFlow, DataFracOfAutosizedHeatingAirflow * ZoneEqSizing(CurZoneEqNum).HeatingAirVolFlow); + } else { + AutosizeDes = max(DataFracOfAutosizedCoolingAirflow * FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow, DataFracOfAutosizedHeatingAirflow * FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow); + } + + } else if (SELECT_CASE_var == FractionOfAutosizedHeatingAirflow) { + if (ZoneCoolingOnlyFan) { + AutosizeDes = DataFracOfAutosizedCoolingAirflow * FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + } else if (ZoneHeatingOnlyFan) { + AutosizeDes = DataFracOfAutosizedHeatingAirflow * FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + } else if (ZoneEqSizing(CurZoneEqNum).CoolingAirFlow && !ZoneEqSizing(CurZoneEqNum).HeatingAirFlow) { + AutosizeDes = DataFracOfAutosizedCoolingAirflow * ZoneEqSizing(CurZoneEqNum).CoolingAirVolFlow; + } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && !ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + AutosizeDes = DataFracOfAutosizedHeatingAirflow * ZoneEqSizing(CurZoneEqNum).HeatingAirVolFlow; + } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + AutosizeDes = max(DataFracOfAutosizedCoolingAirflow * ZoneEqSizing(CurZoneEqNum).CoolingAirVolFlow, DataFracOfAutosizedHeatingAirflow * ZoneEqSizing(CurZoneEqNum).HeatingAirVolFlow); + } else { + AutosizeDes = max(DataFracOfAutosizedCoolingAirflow * FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow, DataFracOfAutosizedHeatingAirflow * FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow); + } + } else if (SELECT_CASE_var == FlowPerCoolingCapacity) { + if (ZoneCoolingOnlyFan) { + AutosizeDes = DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity; + } else if (ZoneHeatingOnlyFan) { + AutosizeDes = DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity; + } else if (ZoneEqSizing(CurZoneEqNum).CoolingAirFlow && !ZoneEqSizing(CurZoneEqNum).HeatingAirFlow) { + AutosizeDes = DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity; + } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && !ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + AutosizeDes = DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity; + } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + AutosizeDes = max(DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity, DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity); + } else { + AutosizeDes = max(DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity, DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity); + } + } else if (SELECT_CASE_var == FlowPerHeatingCapacity) { + if (ZoneCoolingOnlyFan) { + AutosizeDes = DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity; + } else if (ZoneHeatingOnlyFan) { + AutosizeDes = DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity; + } else if (ZoneEqSizing(CurZoneEqNum).CoolingAirFlow && !ZoneEqSizing(CurZoneEqNum).HeatingAirFlow) { + AutosizeDes = DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity; + } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && !ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + AutosizeDes = DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity; + } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + AutosizeDes = max(DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity, DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity); + } else { + AutosizeDes = max(DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity, DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity); + } + } else { + if (ZoneCoolingOnlyFan) { + AutosizeDes = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + } else if (TermUnitIU) { + AutosizeDes = TermUnitSizing(CurZoneEqNum).AirVolFlow; + } else if (ZoneEqFanCoil) { + AutosizeDes = ZoneEqSizing(CurZoneEqNum).AirVolFlow; + } else if (ZoneHeatingOnlyFan) { + AutosizeDes = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + } else if (ZoneEqSizing(CurZoneEqNum).CoolingAirFlow && !ZoneEqSizing(CurZoneEqNum).HeatingAirFlow) { + AutosizeDes = ZoneEqSizing(CurZoneEqNum).CoolingAirVolFlow; + } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && !ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + AutosizeDes = ZoneEqSizing(CurZoneEqNum).HeatingAirVolFlow; + } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + AutosizeDes = max(ZoneEqSizing(CurZoneEqNum).CoolingAirVolFlow, ZoneEqSizing(CurZoneEqNum).HeatingAirVolFlow); + } else { + AutosizeDes = max(FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow, FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow); + } } - } - } - else if ( SizingType == CoolingSHRSizing ) { + } + } else if ( SizingType == CoolingWaterflowSizing ) { + CoilDesWaterDeltaT = PlantSizData( DataPltSizCoolNum ).DeltaT; + Cp = GetSpecificHeatGlycol( PlantLoop( DataWaterLoopNum ).FluidName, 5.0, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); + rho = GetDensityGlycol( PlantLoop( DataWaterLoopNum ).FluidName, InitConvTemp, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); + if ( TermUnitIU ) { + AutosizeDes = TermUnitSizing( CurZoneEqNum ).MaxCWVolFlow; + } else if ( ZoneEqFanCoil ) { + AutosizeDes = ZoneEqSizing( CurZoneEqNum ).MaxCWVolFlow; + } else { + CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesCoolCoilInTemp; + CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).CoolDesTemp; + CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).CoolDesHumRat; + CoilInHumRat = FinalZoneSizing( CurZoneEqNum ).DesCoolCoilInHumRat; + DesCoilLoad = FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow * ( PsyHFnTdbW( CoilInTemp, CoilInHumRat ) - PsyHFnTdbW( CoilOutTemp, CoilOutHumRat ) ); + if ( DesCoilLoad >= SmallLoad ) { + AutosizeDes = DesCoilLoad / ( CoilDesWaterDeltaT * Cp * rho ); + } else { + AutosizeDes = 0.0; + } + } +// if ( AutosizeDes == 0.0 ) { +// ShowWarningError( "The design coil load is zero for " + CompName + CompName ); +// ShowContinueError( "The autosize value for max water flow rate is zero" ); +// } + bCheckForZero = false; + } else if ( SizingType == HeatingWaterflowSizing ) { + if ( TermUnitSingDuct || TermUnitPIU || TermUnitIU ) { + AutosizeDes = TermUnitSizing( CurZoneEqNum ).MaxHWVolFlow; + Cp = GetSpecificHeatGlycol( PlantLoop( DataWaterLoopNum ).FluidName, 60.0, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); + rho = GetDensityGlycol( PlantLoop( DataWaterLoopNum ).FluidName, InitConvTemp, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); + DesCoilLoad = AutosizeDes * PlantSizData( DataPltSizHeatNum ).DeltaT * Cp * rho; + } else if ( ZoneEqFanCoil ) { + AutosizeDes = ZoneEqSizing( CurZoneEqNum ).MaxHWVolFlow; + Cp = GetSpecificHeatGlycol( PlantLoop( DataWaterLoopNum ).FluidName, 60.0, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); + rho = GetDensityGlycol( PlantLoop( DataWaterLoopNum ).FluidName, InitConvTemp, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); + DesCoilLoad = AutosizeDes * PlantSizData( DataPltSizHeatNum ).DeltaT * Cp * rho; + } else { + CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTemp; + CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).HeatDesTemp; + CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat; + DesMassFlow = FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow; + DesCoilLoad = PsyCpAirFnWTdb( CoilOutHumRat, 0.5 * ( CoilInTemp + CoilOutTemp ) ) * DesMassFlow * ( CoilOutTemp - CoilInTemp ); + if ( DesCoilLoad >= SmallLoad ) { + Cp = GetSpecificHeatGlycol( PlantLoop( DataWaterLoopNum ).FluidName, 60.0, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); + rho = GetDensityGlycol( PlantLoop( DataWaterLoopNum ).FluidName, InitConvTemp, PlantLoop(DataWaterLoopNum ).FluidIndex, CallingRoutine ); + AutosizeDes = DesCoilLoad / ( PlantSizData( DataPltSizHeatNum ).DeltaT * Cp * rho ); + } else { + AutosizeDes = 0.0; + } + } +// if ( AutosizeDes == 0.0 ) { +// ShowWarningError( "The design coil load is zero for " + CompType + CompName ); +// ShowContinueError( "The autosize value for max water flow rate is zero" ); +// } + bCheckForZero = false; + } else if ( SizingType == HeatingWaterDesAirInletTempSizing ) { + if ( TermUnitPIU ) { + MinFlowFrac = TermUnitSizing( CurZoneEqNum ).MinFlowFrac; + AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTempTU * MinFlowFrac + FinalZoneSizing( CurZoneEqNum ).ZoneTempAtHeatPeak * ( 1.0 - MinFlowFrac ); + } else if ( TermUnitIU ) { + AutosizeDes = FinalZoneSizing( CurZoneEqNum ).ZoneTempAtHeatPeak; + } else if ( TermUnitSingDuct ) { + AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTempTU; + } else if ( ZoneEqFanCoil ) { + if ( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow > 0.0 ) { + OutAirFrac = min( StdRhoAir * ZoneEqSizing( CurZoneEqNum ).OAVolFlow / FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow, 1.0 ); + } else { + OutAirFrac = 0.0; + } + AutosizeDes = OutAirFrac * FinalZoneSizing( CurZoneEqNum ).OutTempAtHeatPeak + ( 1.0 - OutAirFrac ) * FinalZoneSizing( CurZoneEqNum ).ZoneTempAtHeatPeak; + } else { + AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTemp; + } + bCheckForZero = false; + } else if ( SizingType == HeatingWaterDesAirInletHumRatSizing ) { + if ( TermUnitPIU ) { + MinFlowFrac = TermUnitSizing( CurZoneEqNum ).MinFlowFrac; + AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInHumRatTU * MinFlowFrac + FinalZoneSizing( CurZoneEqNum ).ZoneHumRatAtHeatPeak * ( 1.0 - MinFlowFrac ); + } else if ( TermUnitIU ) { + AutosizeDes = FinalZoneSizing( CurZoneEqNum ).ZoneHumRatAtHeatPeak; + } else if ( TermUnitSingDuct ) { + AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInHumRatTU; + } else if ( ZoneEqFanCoil ) { + if ( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow > 0.0 ) { + OutAirFrac = min( StdRhoAir * ZoneEqSizing( CurZoneEqNum ).OAVolFlow / FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow, 1.0 ); + } else { + OutAirFrac = 0.0; + } + AutosizeDes = OutAirFrac * FinalZoneSizing( CurZoneEqNum ).OutHumRatAtHeatPeak + ( 1.0 - OutAirFrac ) * FinalZoneSizing( CurZoneEqNum ).ZoneHumRatAtHeatPeak; + } else { + AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInHumRat; + } + bCheckForZero = false; + } else if ( SizingType == CoolingWaterDesAirInletTempSizing ) { + if ( TermUnitIU ) { + AutosizeDes = FinalZoneSizing( CurZoneEqNum ).ZoneTempAtCoolPeak; + } else if ( ZoneEqFanCoil ) { + if ( FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow > 0.0 ) { + OutAirFrac = min( StdRhoAir * ZoneEqSizing( CurZoneEqNum ).OAVolFlow / FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow, 1.0 ); + } else { + OutAirFrac = 0.0; + } + AutosizeDes = OutAirFrac * FinalZoneSizing( CurZoneEqNum ).OutTempAtCoolPeak + ( 1.0 - OutAirFrac ) * FinalZoneSizing( CurZoneEqNum ).ZoneTempAtCoolPeak; + } else { + AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesCoolCoilInTemp; + } + bCheckForZero = false; + } else if ( SizingType == CoolingWaterDesWaterInletTempSizing ) { + AutosizeDes = PlantSizData( DataPltSizCoolNum ).ExitTemp; + bCheckForZero = false; + } else if ( SizingType == CoolingWaterNumofTubesPerRowSizing ) { + // result will be integerized external to this routine , add 0.5 to existing calc to round the result + AutosizeDes = int ( max ( 3.0, 13750.0 * DataWaterFlowUsedForSizing + 1.0 ) ); + bCheckForZero = false; + } else if ( SizingType == CoolingWaterDesAirOutletTempSizing ) { + if ( TermUnitIU ) { + Cp = GetSpecificHeatGlycol( PlantLoop( DataWaterLoopNum ).FluidName, 5.0, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); + rho = GetDensityGlycol( PlantLoop( DataWaterLoopNum ).FluidName, InitConvTemp, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); + DesCoilLoad = DataWaterFlowUsedForSizing * PlantSizData( DataPltSizCoolNum ).DeltaT * Cp * rho; + T1Out = DataDesInletAirTemp - DesCoilLoad / ( StdRhoAir * PsyCpAirFnWTdb( DataDesInletAirHumRat, DataDesInletAirTemp ) * DataAirFlowUsedForSizing ); + T2Out = PlantSizData( DataPltSizCoolNum ).ExitTemp + 2.0; + AutosizeDes = max( T1Out, T2Out ); + } else { + AutosizeDes = FinalZoneSizing( CurZoneEqNum ).CoolDesTemp; + } + + if ( AutosizeDes < DataDesInletWaterTemp && DataWaterFlowUsedForSizing > 0.0 ) { // flow here is water vol flow rate + ShowWarningError( CallingRoutine + ":" + " Coil=\"" + CompName + "\", Cooling Coil has leaving air temperature > entering water temperature." ); + ShowContinueError( " Tair,out = " + RoundSigDigits( AutosizeDes, 3 ) ); + ShowContinueError( " Twater,in = " + RoundSigDigits( DataDesInletWaterTemp, 3 ) ); + AutosizeDes = DataDesInletWaterTemp + 0.5; + ShowContinueError( "....coil leaving air temperature will be reset to:" ); + ShowContinueError( " Tair,out = " + RoundSigDigits( AutosizeDes, 3 ) ); + } + bCheckForZero = false; + } else if ( SizingType == CoolingWaterDesAirInletHumRatSizing ) { + if ( TermUnitIU ) { + AutosizeDes = FinalZoneSizing( CurZoneEqNum ).ZoneHumRatAtCoolPeak; + } else if ( ZoneEqFanCoil ) { + if ( FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow > 0.0 ) { + OutAirFrac = min( StdRhoAir * ZoneEqSizing( CurZoneEqNum ).OAVolFlow / FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow, 1.0 ); + } else { + OutAirFrac = 0.0; + } + AutosizeDes = OutAirFrac * FinalZoneSizing( CurZoneEqNum ).OutHumRatAtCoolPeak + ( 1.0 - OutAirFrac ) * FinalZoneSizing( CurZoneEqNum ).ZoneHumRatAtCoolPeak; + } else { + AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesCoolCoilInHumRat; + } + bCheckForZero = false; + } else if ( SizingType == CoolingWaterDesAirOutletHumRatSizing ) { + if ( TermUnitIU ) { + TDpIn = PsyTdpFnWPb( DataDesInletAirHumRat, StdBaroPress ); + if ( TDpIn <= DataDesInletWaterTemp ) { + AutosizeDes = DataDesInletAirHumRat; + } else { + AutosizeDes = min( PsyWFnTdbRhPb( DataDesOutletAirTemp, 0.9, StdBaroPress ), DataDesInletAirHumRat ); + } + } else { + AutosizeDes = FinalZoneSizing( CurZoneEqNum ).CoolDesHumRat; + } + if ( AutosizeDes > DataDesInletAirHumRat && DataCapacityUsedForSizing > 0.0 && SameString( CompType, "COIL:COOLING:WATER" ) ) { // zone coil uses mDot>0, sys coil uses cap > 0 + ShowWarningError( CallingRoutine + ":" + " Coil=\"" + CompName + "\", Cooling Coil has leaving humidity ratio > entering humidity ratio." ); + ShowContinueError( " Wair,in = " + RoundSigDigits( DataDesInletAirHumRat, 6 ) ); + ShowContinueError( " Wair,out = " + RoundSigDigits( AutosizeDes, 6 ) ); + if ( DataDesInletAirHumRat > 0.016 ) { + AutosizeDes = 0.5 * DataDesInletAirHumRat; + } else { + AutosizeDes = DataDesInletAirHumRat; + } + ShowContinueError( "....coil leaving humidity ratio will be reset to:" ); + ShowContinueError( " Wair,out = " + RoundSigDigits( AutosizeDes, 6 ) ); + } + + // check for dry coil and reset outlet humrat if needed + DesSatEnthAtWaterInTemp = PsyHFnTdbW( DataDesInletWaterTemp, PsyWFnTdpPb( DataDesInletWaterTemp, StdBaroPress ) ); + DesHumRatAtWaterInTemp = PsyWFnTdbH( DataDesInletWaterTemp, DesSatEnthAtWaterInTemp, CallingRoutine ); + if ( AutosizeDes < DataDesInletAirHumRat && DesHumRatAtWaterInTemp > DataDesInletAirHumRat && DataCapacityUsedForSizing > 0.0 ) { + if ( DataDesInletAirHumRat > AutosizeDes && SameString( CompType, "COIL:COOLING:WATER" ) ) { + ShowWarningError( CallingRoutine + ":" + " Coil=\"" + CompName + "\", Cooling Coil is dry and has air leaving humidity ratio < entering humidity ratio." ); + ShowContinueError( " Wair,in = " + RoundSigDigits( DataDesInletAirHumRat, 6 ) ); + ShowContinueError( " Wair,out = " + RoundSigDigits( AutosizeDes, 6 ) ); + AutosizeDes = DataDesInletAirHumRat; + ShowContinueError( "....coil leaving humidity ratio will be reset to:" ); + ShowContinueError( " Wair,out = " + RoundSigDigits( AutosizeDes, 6 ) ); + } + } + bCheckForZero = false; + } else if ( SizingType == CoolingSHRSizing ) { if ( DataFlowUsedForSizing >= SmallAirVolFlow && DataCapacityUsedForSizing > 0.0 ) { // For autosizing the rated SHR, we set a minimum SHR of 0.676 and a maximum of 0.798. The min SHR occurs occurs at the // minimum flow / capacity ratio = MinRatedVolFlowPerRatedTotCap = 0.00004027 [m3/s / W] = 300 [cfm/ton]. @@ -516,152 +872,270 @@ namespace ReportSizingManager { } else { AutosizeDes = 1.0; } - } - else if ( SizingType == CoolingCapacitySizing ) { + } else if ( SizingType == CoolingCapacitySizing ) { if ( ZoneEqSizing( CurZoneEqNum ).CoolingCapacity ) { // Parent object calculated capacity AutosizeDes = ZoneEqSizing ( CurZoneEqNum ).DesCoolingLoad; DesVolFlow = DataFlowUsedForSizing; } else if (!IsAutoSize && DataScalableCapSizingON) { - if ( ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingType ) == CapacityPerFloorArea) { + if (ZoneEqSizing( CurZoneEqNum ).CapSizingMethod( SizingType ) == CapacityPerFloorArea) { AutosizeDes = DataCoolingCapPerFloorArea * Zone(DataZoneNumber).FloorArea; } } else { - DesVolFlow = DataFlowUsedForSizing; - if ( DesVolFlow >= SmallAirVolFlow ) { - if ( ZoneEqDXCoil ) { - if ( ZoneEqSizing( CurZoneEqNum ).OAVolFlow > 0.0) { - CoilInTemp = FinalZoneSizing ( CurZoneEqNum ).DesCoolCoilInTemp; - CoilInHumRat = FinalZoneSizing ( CurZoneEqNum ).DesCoolCoilInHumRat; - } else { - CoilInTemp = FinalZoneSizing ( CurZoneEqNum ).ZoneRetTempAtCoolPeak; - CoilInHumRat = FinalZoneSizing ( CurZoneEqNum ).ZoneHumRatAtCoolPeak; - } + if ( SameString( CompType, "COIL:COOLING:WATER" ) || SameString( CompType, "COIL:COOLING:WATER:DETAILEDGEOMETRY" ) ) { + if ( TermUnitIU ) { + AutosizeDes = TermUnitSizing( CurZoneEqNum ).DesCoolingLoad; } else if ( ZoneEqFanCoil ) { - DesCoolOAFlowFrac = FinalZoneSizing(CurZoneEqNum).DesCoolOAFlowFrac; - CoilInTemp = DesCoolOAFlowFrac * FinalZoneSizing(CurZoneEqNum).OutTempAtCoolPeak + (1.0 - DesCoolOAFlowFrac) * FinalZoneSizing(CurZoneEqNum).ZoneTempAtCoolPeak; - CoilInHumRat = DesCoolOAFlowFrac * FinalZoneSizing(CurZoneEqNum).OutHumRatAtCoolPeak + (1.0 - DesCoolOAFlowFrac) * FinalZoneSizing(CurZoneEqNum).ZoneHumRatAtCoolPeak; + AutosizeDes = ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad; } else { - CoilInTemp = FinalZoneSizing ( CurZoneEqNum ).DesCoolCoilInTemp; - CoilInHumRat = FinalZoneSizing ( CurZoneEqNum ).DesCoolCoilInHumRat; + CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesCoolCoilInTemp; + CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).CoolDesTemp; + CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).CoolDesHumRat; + CoilInHumRat = FinalZoneSizing( CurZoneEqNum ).DesCoolCoilInHumRat; + AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow * ( PsyHFnTdbW( CoilInTemp, CoilInHumRat ) - PsyHFnTdbW( CoilOutTemp, CoilOutHumRat ) ); } - CoilOutTemp = FinalZoneSizing ( CurZoneEqNum ).CoolDesTemp; - CoilOutHumRat = FinalZoneSizing ( CurZoneEqNum ).CoolDesHumRat; - if (ZoneEqFanCoil) { - if (CoilOutHumRat > CoilInHumRat) { - if (CoilInHumRat > 0.016) { - CoilOutHumRat = 0.5 * CoilInHumRat; - } - else { - CoilOutHumRat = CoilInHumRat; + } else { + DesVolFlow = DataFlowUsedForSizing; + if ( DesVolFlow >= SmallAirVolFlow ) { + if ( ZoneEqDXCoil ) { + if ( ZoneEqSizing( CurZoneEqNum ).OAVolFlow > 0.0) { + CoilInTemp = FinalZoneSizing ( CurZoneEqNum ).DesCoolCoilInTemp; + CoilInHumRat = FinalZoneSizing ( CurZoneEqNum ).DesCoolCoilInHumRat; + } else { + CoilInTemp = FinalZoneSizing ( CurZoneEqNum ).ZoneRetTempAtCoolPeak; + CoilInHumRat = FinalZoneSizing ( CurZoneEqNum ).ZoneHumRatAtCoolPeak; } + } else if ( ZoneEqFanCoil ) { + DesOAFlowFrac = FinalZoneSizing(CurZoneEqNum).DesCoolOAFlowFrac; + CoilInTemp = DesOAFlowFrac * FinalZoneSizing(CurZoneEqNum).OutTempAtCoolPeak + (1.0 - DesOAFlowFrac) * FinalZoneSizing(CurZoneEqNum).ZoneTempAtCoolPeak; + CoilInHumRat = DesOAFlowFrac * FinalZoneSizing(CurZoneEqNum).OutHumRatAtCoolPeak + (1.0 - DesOAFlowFrac) * FinalZoneSizing(CurZoneEqNum).ZoneHumRatAtCoolPeak; + } else { + CoilInTemp = FinalZoneSizing ( CurZoneEqNum ).DesCoolCoilInTemp; + CoilInHumRat = FinalZoneSizing ( CurZoneEqNum ).DesCoolCoilInHumRat; + } + CoilOutTemp = FinalZoneSizing ( CurZoneEqNum ).CoolDesTemp; + CoilOutHumRat = FinalZoneSizing ( CurZoneEqNum ).CoolDesHumRat; + TimeStepNumAtMax = FinalZoneSizing ( CurZoneEqNum ).TimeStepNumAtCoolMax; + DDNum = FinalZoneSizing ( CurZoneEqNum ).CoolDDNum; + if ( DDNum > 0 && TimeStepNumAtMax > 0 ) { + OutTemp = DesDayWeath ( DDNum ).Temp ( TimeStepNumAtMax ); + } else { + OutTemp = 0.0; + } + rhoair = PsyRhoAirFnPbTdbW ( StdBaroPress, CoilInTemp, CoilInHumRat, CallingRoutine ); + CoilInEnth = PsyHFnTdbW ( CoilInTemp, CoilInHumRat ); + CoilInWetBulb = PsyTwbFnTdbWPb ( CoilInTemp, CoilInHumRat, StdBaroPress, CallingRoutine ); + CoilOutEnth = PsyHFnTdbW ( CoilOutTemp, CoilOutHumRat ); + if ( DataTotCapCurveIndex > 0 ) { + TotCapTempModFac = CurveValue ( DataTotCapCurveIndex, CoilInWetBulb, OutTemp ); + } else { + TotCapTempModFac = 1.0; + } + if (ZoneEqFanCoil) { + PeakCoilLoad = max( 0.0, ( StdRhoAir * DesVolFlow * ( CoilInEnth - CoilOutEnth ) ) ); + } else if ( ZoneEqUnitVent ) { + PeakCoilLoad = max( 0.0, ( StdRhoAir * DesVolFlow * ( CoilInEnth - CoilOutEnth ) ) ); + } else { + PeakCoilLoad = max( 0.0, ( rhoair * DesVolFlow * ( CoilInEnth - CoilOutEnth ) ) ); + } + if ( TotCapTempModFac > 0.0 ) { + AutosizeDes = PeakCoilLoad / TotCapTempModFac; + } else { + AutosizeDes = PeakCoilLoad; } - } - TimeStepNumAtMax = FinalZoneSizing ( CurZoneEqNum ).TimeStepNumAtCoolMax; - DDNum = FinalZoneSizing ( CurZoneEqNum ).CoolDDNum; - if ( DDNum > 0 && TimeStepNumAtMax > 0 ) { - OutTemp = DesDayWeath ( DDNum ).Temp ( TimeStepNumAtMax ); - } else { - OutTemp = 0.0; - } - rhoair = PsyRhoAirFnPbTdbW ( StdBaroPress, CoilInTemp, CoilInHumRat, CallingRoutine ); - CoilInEnth = PsyHFnTdbW ( CoilInTemp, CoilInHumRat ); - CoilInWetBulb = PsyTwbFnTdbWPb ( CoilInTemp, CoilInHumRat, StdBaroPress, CallingRoutine ); - CoilOutEnth = PsyHFnTdbW ( CoilOutTemp, CoilOutHumRat ); - if ( DataTotCapCurveIndex > 0 ) { - TotCapTempModFac = CurveValue ( DataTotCapCurveIndex, CoilInWetBulb, OutTemp ); - } else { - TotCapTempModFac = 1.0; - } - if (ZoneEqFanCoil) { - PeakCoilLoad = max( 0.0, ( StdRhoAir * DesVolFlow * ( CoilInEnth - CoilOutEnth ) ) ); - //PeakCoilLoad = max(0.0, ( FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow * ( CoilInEnth - CoilOutEnth ) ) ); - } else if ( ZoneEqUnitVent ) { - PeakCoilLoad = max( 0.0, ( StdRhoAir * DesVolFlow * ( CoilInEnth - CoilOutEnth ) ) ); - } else { - PeakCoilLoad = max( 0.0, ( rhoair * DesVolFlow * ( CoilInEnth - CoilOutEnth ) ) ); - } - - if ( TotCapTempModFac > 0.0 ) { - AutosizeDes = PeakCoilLoad / TotCapTempModFac; } else { - AutosizeDes = PeakCoilLoad; + AutosizeDes = 0.0; } - } else { - AutosizeDes = 0.0; } } AutosizeDes = AutosizeDes * DataFracOfAutosizedCoolingCapacity; - } - else if ( SizingType == HeatingCapacitySizing ) { - if (!IsAutoSize && !SizingDesRunThisZone && ! DataScalableCapSizingON) { - NominalCapacityDes = SizingResult; + } else if ( SizingType == HeatingCapacitySizing ) { + if ( ZoneEqSizing(CurZoneEqNum).HeatingCapacity ) { + NominalCapacityDes = ZoneEqSizing(CurZoneEqNum).DesHeatingLoad; + } else if ( DataCoolCoilCap > 0.0 && DataFlowUsedForSizing > 0.0 ) { + NominalCapacityDes = DataCoolCoilCap; + DesVolFlow = DataFlowUsedForSizing; } else if (!IsAutoSize && DataScalableCapSizingON) { - if (ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingType ) == CapacityPerFloorArea) { - NominalCapacityDes = DataHeatingCapPerFloorArea * Zone(DataZoneNumber).FloorArea; + if ( ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingType) == CapacityPerFloorArea) { + NominalCapacityDes = DataHeatingCapPerFloorArea * Zone( DataZoneNumber ).FloorArea; } - } else { //Autosize or hardsize with sizing data - if ( ZoneEqSizing(CurZoneEqNum).HeatingCapacity ) { // *** change to HeatingCapacity - NominalCapacityDes = ZoneEqSizing(CurZoneEqNum).DesHeatingLoad; - } else if ( DataCoolCoilCap > 0.0 && DataFlowUsedForSizing > 0.0 ) { - NominalCapacityDes = DataCoolCoilCap; - DesVolFlow = DataFlowUsedForSizing; - } else if ( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow >= SmallMassFlow ) { - //DesVolFlow = DataFlowUsedForSizing; - if ( TermUnitPIU ) { - MinPriFlowFrac = TermUnitSizing( CurZoneEqNum ).MinFlowFrac; - if ( TermUnitSizing( CurZoneEqNum ).InducesPlenumAir ) { - CoilInTemp = ( FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTempTU * MinPriFlowFrac ) + ( FinalZoneSizing( CurZoneEqNum ).ZoneRetTempAtHeatPeak * ( 1.0 - MinPriFlowFrac ) ); - } else { - CoilInTemp = ( FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTempTU * MinPriFlowFrac ) + ( FinalZoneSizing( CurZoneEqNum ).ZoneTempAtHeatPeak * ( 1.0 - MinPriFlowFrac ) ); - } - } else if ( ZoneEqFanCoil ) { - DesCoolOAFlowFrac = FinalZoneSizing(CurZoneEqNum).DesHeatOAFlowFrac; - CoilInTemp = DesCoolOAFlowFrac * FinalZoneSizing(CurZoneEqNum).OutTempAtHeatPeak + (1.0 - DesCoolOAFlowFrac) * FinalZoneSizing(CurZoneEqNum).ZoneTempAtHeatPeak; - } else if ( TermUnitIU ) { - CoilInTemp = FinalZoneSizing( CurZoneEqNum ).ZoneTempAtHeatPeak; - } else if ( TermUnitSingDuct ) { - CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTempTU; + } else if ( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow >= SmallMassFlow ) { + if ( TermUnitPIU ) { + MinPriFlowFrac = TermUnitSizing( CurZoneEqNum ).MinFlowFrac; + if ( TermUnitSizing( CurZoneEqNum ).InducesPlenumAir ) { + CoilInTemp = ( FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTempTU * MinPriFlowFrac ) + ( FinalZoneSizing( CurZoneEqNum ).ZoneRetTempAtHeatPeak * ( 1.0 - MinPriFlowFrac ) ); } else { - CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTemp; + CoilInTemp = ( FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTempTU * MinPriFlowFrac ) + ( FinalZoneSizing( CurZoneEqNum ).ZoneTempAtHeatPeak * ( 1.0 - MinPriFlowFrac ) ); } - if ( TermUnitSingDuct || TermUnitPIU ) { - CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).HeatDesTemp; - CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat; - CpAir = PsyCpAirFnWTdb( CoilOutHumRat, 0.5 * ( CoilInTemp + CoilOutTemp ) ); - DesCoilLoad = CpAir * StdRhoAir * TermUnitSizing( CurZoneEqNum ).AirVolFlow * ( CoilOutTemp - CoilInTemp ); - } else if ( TermUnitIU ) { - if ( TermUnitSizing( CurZoneEqNum ).InducRat > 0.01 ) { - DesVolFlow = TermUnitSizing( CurZoneEqNum ).AirVolFlow / TermUnitSizing( CurZoneEqNum ).InducRat; - CpAir = PsyCpAirFnWTdb( FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat, FinalZoneSizing( CurZoneEqNum ).HeatDesTemp ); - // the design heating coil load is the zone load minus whatever the central system does.Note that - // DesHeatCoilInTempTU is really the primary air inlet temperature for the unit. - DesCoilLoad = FinalZoneSizing( CurZoneEqNum ).DesHeatLoad - ( CpAir * StdRhoAir * DesVolFlow * ( FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTempTU - FinalZoneSizing( CurZoneEqNum ).ZoneTempAtHeatPeak ) ); - } else { - DesCoilLoad = 0.0; - } + } else if ( ZoneEqFanCoil ) { + DesOAFlowFrac = FinalZoneSizing( CurZoneEqNum ).DesHeatOAFlowFrac; + CoilInTemp = DesOAFlowFrac * FinalZoneSizing(CurZoneEqNum).OutTempAtHeatPeak + (1.0 - DesOAFlowFrac) * FinalZoneSizing(CurZoneEqNum).ZoneTempAtHeatPeak; + } else if ( TermUnitIU ) { + CoilInTemp = FinalZoneSizing( CurZoneEqNum ).ZoneTempAtHeatPeak; + } else if ( TermUnitSingDuct ) { + CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTempTU; + } else { + CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTemp; + } + if ( TermUnitSingDuct || TermUnitPIU ) { + CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).HeatDesTemp; + CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat; + CpAir = PsyCpAirFnWTdb( CoilOutHumRat, 0.5 * ( CoilInTemp + CoilOutTemp ) ); + DesCoilLoad = CpAir * StdRhoAir * TermUnitSizing( CurZoneEqNum ).AirVolFlow * ( CoilOutTemp - CoilInTemp ); + } else if ( TermUnitIU ) { + if ( TermUnitSizing( CurZoneEqNum ).InducRat > 0.01 ) { + DesVolFlow = TermUnitSizing( CurZoneEqNum ).AirVolFlow / TermUnitSizing( CurZoneEqNum ).InducRat; + CpAir = PsyCpAirFnWTdb( FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat, FinalZoneSizing( CurZoneEqNum ).HeatDesTemp ); + // the design heating coil load is the zone load minus whatever the central system does.Note that + // DesHeatCoilInTempTU is really the primary air inlet temperature for the unit. + DesCoilLoad = FinalZoneSizing( CurZoneEqNum ).DesHeatLoad - ( CpAir * StdRhoAir * DesVolFlow * ( FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTempTU - FinalZoneSizing( CurZoneEqNum ).ZoneTempAtHeatPeak ) ); } else { - CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).HeatDesTemp; - CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat; - CpAir = PsyCpAirFnWTdb( CoilOutHumRat, 0.5 * ( CoilInTemp + CoilOutTemp ) ); - DesCoilLoad = CpAir * FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow * ( CoilOutTemp - CoilInTemp ); - //DesCoilLoad = CpAir * StdRhoAir * DesVolFlow * (CoilOutTemp - CoilInTemp); + DesCoilLoad = 0.0; } - NominalCapacityDes = max( 0.0, DesCoilLoad ); } else { - NominalCapacityDes = 0.0; + CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).HeatDesTemp; + CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat; + CpAir = PsyCpAirFnWTdb( CoilOutHumRat, 0.5 * ( CoilInTemp + CoilOutTemp ) ); + DesCoilLoad = CpAir * FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow * ( CoilOutTemp - CoilInTemp ); } + NominalCapacityDes = max( 0.0, DesCoilLoad ); + } else { + NominalCapacityDes = 0.0; } if ( DataCoolCoilCap > 0.0 ) { AutosizeDes = NominalCapacityDes * DataHeatSizeRatio; } else { AutosizeDes = NominalCapacityDes * DataHeatSizeRatio * DataFracOfAutosizedHeatingCapacity; - } - } else { // from else if (SizingType == HeatingCapacitySizing) + } + } else if ( SizingType == WaterHeatingCapacitySizing ) { + if ( TermUnitSingDuct || TermUnitPIU || TermUnitIU ) { + DesMassFlow = TermUnitSizing( CurZoneEqNum ).MaxHWVolFlow; + Cp = GetSpecificHeatGlycol( PlantLoop( DataWaterLoopNum ).FluidName, 60.0, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); + rho = GetDensityGlycol( PlantLoop( DataWaterLoopNum ).FluidName, InitConvTemp, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); + NominalCapacityDes = DesMassFlow * PlantSizData( DataPltSizHeatNum ).DeltaT * Cp * rho; + } else if ( ZoneEqFanCoil ) { + DesMassFlow = ZoneEqSizing( CurZoneEqNum ).MaxHWVolFlow; + Cp = GetSpecificHeatGlycol( PlantLoop( DataWaterLoopNum ).FluidName, 60.0, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); + rho = GetDensityGlycol( PlantLoop( DataWaterLoopNum ).FluidName, InitConvTemp, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); + NominalCapacityDes = DesMassFlow * PlantSizData( DataPltSizHeatNum ).DeltaT * Cp * rho; + // if coil is part of a zonal unit, calc coil load to get hot water flow rate + } else { + CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTemp; + CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).HeatDesTemp; + CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat; + DesMassFlow = FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow; + NominalCapacityDes = PsyCpAirFnWTdb( CoilOutHumRat, 0.5 * ( CoilInTemp + CoilOutTemp ) ) * DesMassFlow * ( CoilOutTemp - CoilInTemp ); + } + AutosizeDes = NominalCapacityDes * DataHeatSizeRatio; + } else if ( SizingType == HeatingWaterDesCoilLoadUsedForUASizing ) { + if ( TermUnitSingDuct || TermUnitPIU || TermUnitIU ) { + DesMassFlow = StdRhoAir * TermUnitSizing( CurZoneEqNum ).AirVolFlow * TermUnitSizing( CurZoneEqNum ).ReheatAirFlowMult; + Cp = GetSpecificHeatGlycol( PlantLoop( DataWaterLoopNum ).FluidName, 60.0, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); + rho = GetDensityGlycol( PlantLoop( DataWaterLoopNum ).FluidName, InitConvTemp, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); + AutosizeDes = DataWaterFlowUsedForSizing * PlantSizData( DataPltSizHeatNum ).DeltaT * Cp * rho * TermUnitSizing( CurZoneEqNum ).ReheatLoadMult; + } else if ( ZoneEqFanCoil ) { + DesMassFlow = StdRhoAir * FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; + Cp = GetSpecificHeatGlycol( PlantLoop( DataWaterLoopNum ).FluidName, 60.0, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); + rho = GetDensityGlycol( PlantLoop( DataWaterLoopNum ).FluidName, InitConvTemp, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); + AutosizeDes = DataWaterFlowUsedForSizing * PlantSizData( DataPltSizHeatNum ).DeltaT * Cp * rho; + } else { + DesMassFlow = FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow; + CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTemp; + CoilInHumRat = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInHumRat; + CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).HeatDesTemp; + CoilOutHumRat = FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat; + AutosizeDes = PsyCpAirFnWTdb( CoilOutHumRat, 0.5 * ( CoilInTemp + CoilOutTemp ) ) * DesMassFlow * ( CoilOutTemp - CoilInTemp ); + } + } else if ( SizingType == HeatingWaterDesCoilWaterVolFlowUsedForUASizing ) { + if ( TermUnitSingDuct || TermUnitPIU || TermUnitIU ) { + AutosizeDes = DataWaterFlowUsedForSizing * TermUnitSizing( CurZoneEqNum ).ReheatLoadMult; + } else if ( ZoneEqFanCoil ) { + AutosizeDes = DataWaterFlowUsedForSizing; + } else { + AutosizeDes = DataWaterFlowUsedForSizing; + } + bCheckForZero = false; + } else if ( SizingType == HeatingAirflowUASizing ) { + if ( TermUnitSingDuct || TermUnitPIU || TermUnitIU ) { + AutosizeDes = StdRhoAir * TermUnitSizing( CurZoneEqNum ).AirVolFlow * TermUnitSizing( CurZoneEqNum ).ReheatAirFlowMult; + } else if ( ZoneEqFanCoil ) { + AutosizeDes = StdRhoAir * FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; + } else { + AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow; + } + } else if (SizingType == WaterHeatingCoilUASizing) { + if ( DataCapacityUsedForSizing > 0.0 ) { + Par( 1 ) = DataCapacityUsedForSizing; + Par( 2 ) = double( DataCoilNum ); + Par( 3 ) = double( DataFanOpMode ); //fan operating mode + Par( 4 ) = 1.0; // part-load ratio + UA0 = 0.001 * DataCapacityUsedForSizing; + UA1 = DataCapacityUsedForSizing; + // Invert the simple heating coil model: given the design inlet conditions and the design load, + // find the design UA. + SolveRegulaFalsi( Acc, MaxIte, SolFla, AutosizeDes, SimpleHeatingCoilUAResidual, UA0, UA1, Par ); + if ( SolFla == -1 ) { + ShowSevereError( "Autosizing of heating coil UA failed for Coil:Heating:Water \"" + CompName + "\"" ); + ShowContinueError( " Iteration limit exceeded in calculating coil UA" ); + ShowContinueError( " Lower UA estimate = " + TrimSigDigits( UA0, 6 ) + " W/m2-K (0.1% of Design Coil Load)" ); + ShowContinueError( " Upper UA estimate = " + TrimSigDigits( UA1, 6 ) + " W/m2-K (100% of Design Coil Load)" ); + ShowContinueError( " Final UA estimate when iterations exceeded limit = " + TrimSigDigits( AutosizeDes, 6 ) + " W/m2-K" ); + ShowContinueError( " Zone \"" + FinalZoneSizing( CurZoneEqNum ).ZoneName + "\" coil sizing conditions (may be different than Sizing inputs):" ); + ShowContinueError( " Coil inlet air temperature = " + TrimSigDigits( DataDesInletAirTemp, 3 ) + " C" ); + ShowContinueError( " Coil inlet air humidity ratio = " + TrimSigDigits( DataDesInletAirHumRat, 3 ) + " kgWater/kgDryAir" ); + ShowContinueError( " Coil inlet air mass flow rate = " + TrimSigDigits( DataFlowUsedForSizing, 6 ) + " kg/s" ); + // TotWaterHeatingCoilRate is set in CALL to CalcSimpleHeatingCoil + ShowContinueError( " Design Coil Capacity = " + TrimSigDigits( DataDesignCoilCapacity, 3 ) + " W" ); + if ( TermUnitSingDuct || TermUnitPIU || TermUnitIU || ZoneEqFanCoil ) { + ShowContinueError( " Design Coil Load = " + TrimSigDigits( DataCapacityUsedForSizing, 3 ) + " W" ); + } else { + ShowContinueError( " Design Coil Load = " + TrimSigDigits( DataCapacityUsedForSizing, 3 ) + " W" ); + ShowContinueError( " Coil outlet air temperature = " + TrimSigDigits( FinalZoneSizing( CurZoneEqNum ).HeatDesTemp, 3 ) + " C" ); + ShowContinueError( " Coil outlet air humidity ratio = " + TrimSigDigits( FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat, 3 ) + " kgWater/kgDryAir" ); + } + DataErrorsFound = true; + } else if ( SolFla == -2 ) { + ShowSevereError( "Autosizing of heating coil UA failed for Coil:Heating:Water \"" + CompName + "\"" ); + ShowContinueError( " Bad starting values for UA" ); + ShowContinueError( " Lower UA estimate = " + TrimSigDigits( UA0, 6 ) + " W/m2-K (0.1% of Design Coil Load)" ); + ShowContinueError( " Upper UA estimate = " + TrimSigDigits( UA1, 6 ) + " W/m2-K (100% of Design Coil Load)" ); + ShowContinueError( " Zone \"" + FinalZoneSizing( CurZoneEqNum ).ZoneName + "\" coil sizing conditions (may be different than Sizing inputs):" ); + ShowContinueError( " Coil inlet air temperature = " + TrimSigDigits( DataDesInletAirTemp, 3 ) + " C" ); + ShowContinueError( " Coil inlet air humidity ratio = " + TrimSigDigits( DataDesInletAirHumRat, 3 ) + " kgWater/kgDryAir" ); + ShowContinueError( " Coil inlet air mass flow rate = " + TrimSigDigits( DataFlowUsedForSizing, 6 ) + " kg/s" ); + ShowContinueError( " Design Coil Capacity = " + TrimSigDigits( DataDesignCoilCapacity, 3 ) + " W" ); + if ( TermUnitSingDuct || TermUnitPIU || TermUnitIU || ZoneEqFanCoil ) { + ShowContinueError( " Design Coil Load = " + TrimSigDigits( DataCapacityUsedForSizing, 3 ) + " W" ); + } else { + ShowContinueError( " Design Coil Load = " + TrimSigDigits( DataCapacityUsedForSizing, 3 ) + " W" ); + ShowContinueError( " Coil outlet air temperature = " + TrimSigDigits( FinalZoneSizing( CurZoneEqNum ).HeatDesTemp, 3 ) + " C" ); + ShowContinueError( " Coil outlet air humidity ratio = " + TrimSigDigits( FinalZoneSizing( CurZoneEqNum ).HeatDesHumRat, 3 ) + " kgWater/kgDryAir" ); + } + // TotWaterHeatingCoilRate is set in CALL to CalcSimpleHeatingCoil + if ( DataDesignCoilCapacity < DataCapacityUsedForSizing ) { + ShowContinueError( " Inadequate water side capacity: in Plant Sizing for this hot water loop" ); + ShowContinueError( " increase design loop exit temperature and/or decrease design loop delta T" ); + ShowContinueError( " Plant Sizing object = " + PlantSizData( DataPltSizHeatNum ).PlantLoopName ); + ShowContinueError( " Plant design loop exit temperature = " + TrimSigDigits( PlantSizData( DataPltSizHeatNum ).ExitTemp, 3 ) + " C" ); + ShowContinueError( " Plant design loop delta T = " + TrimSigDigits( PlantSizData( DataPltSizHeatNum ).DeltaT, 3 ) + " C" ); + } + DataErrorsFound = true; + } + } else { + AutosizeDes = 1.0; + if ( DataWaterFlowUsedForSizing > 0.0 ) { + DataErrorsFound = true; + ShowSevereError( "The design coil load is zero for Coil:Heating:Water " + CompName ); + ShowContinueError( "An autosize value for UA cannot be calculated" ); + ShowContinueError( "Input a value for UA, change the heating design day, or raise" ); + ShowContinueError( " the zone heating design supply air temperature" ); + } + } + } else { // should never happen } } - } else { + } else if ( CurSysNum > 0 ) { if ( !IsAutoSize && !SizingDesRunThisAirSys ) { HardSizeNoDesRun = true; AutosizeUser = SizingResult; @@ -685,37 +1159,44 @@ namespace ReportSizingManager { AutosizeDes = FinalSysSizing ( CurSysNum ).DesOutAirVolFlow; } } else { - { auto const SELECT_CASE_var(FinalSysSizing(CurSysNum).ScaleCoolSAFMethod); - if ((SELECT_CASE_var == FromDDCalc) || (SELECT_CASE_var == InpDesAirFlow)) { - AutosizeDes = FinalSysSizing(CurSysNum).DesCoolVolFlow; - } else if (SELECT_CASE_var == FlowPerFloorArea) { - AutosizeDes = FinalSysSizing(CurSysNum).FlowPerFloorAreaCooled * FinalSysSizing(CurSysNum).FloorAreaOnAirLoopCooled; - } else if (SELECT_CASE_var == FractionOfAutosizedCoolingAirflow) { - AutosizeDes = FinalSysSizing(CurSysNum).FractionOfAutosizedCoolingAirflow * FinalSysSizing(CurSysNum).DesCoolVolFlow; - } else if (SELECT_CASE_var == FlowPerCoolingCapacity) { - AutosizeDes = FinalSysSizing(CurSysNum).FlowPerCoolingCapacity * DataAutosizedCoolingCapacity; - } else { - AutosizeDes = FinalSysSizing(CurSysNum).DesMainVolFlow; - } + if ( CurDuctType == Main ) { + AutosizeDes = FinalSysSizing( CurSysNum ).DesMainVolFlow; + } else if ( CurDuctType == Cooling ) { + AutosizeDes = FinalSysSizing( CurSysNum ).DesCoolVolFlow; + } else if ( CurDuctType == Heating ) { + AutosizeDes = FinalSysSizing( CurSysNum ).DesHeatVolFlow; + } else if ( CurDuctType == Other ) { + AutosizeDes = FinalSysSizing( CurSysNum ).DesMainVolFlow; + } else { + AutosizeDes = FinalSysSizing( CurSysNum ).DesMainVolFlow; } } + } else if ( SizingType == HeatingAirflowSizing ) { if ( UnitarySysEqSizing(CurSysNum).HeatingAirFlow ) { AutosizeDes = UnitarySysEqSizing(CurSysNum).AirVolFlow; } else { - { auto const SELECT_CASE_var(FinalSysSizing(CurSysNum).ScaleHeatSAFMethod); - if ((SELECT_CASE_var == FromDDCalc) || (SELECT_CASE_var == InpDesAirFlow)) { - AutosizeDes = FinalSysSizing(CurSysNum).DesHeatVolFlow; - } else if (SELECT_CASE_var == FlowPerFloorArea) { - AutosizeDes = FinalSysSizing(CurSysNum).FlowPerFloorAreaHeated * FinalSysSizing(CurSysNum).FloorAreaOnAirLoopHeated; - } else if (SELECT_CASE_var == FractionOfAutosizedHeatingAirflow) { - AutosizeDes = FinalSysSizing(CurSysNum).FractionOfAutosizedCoolingAirflow * FinalSysSizing(CurSysNum).DesHeatVolFlow; - } else if (SELECT_CASE_var == FractionOfAutosizedCoolingAirflow) { - AutosizeDes = FinalSysSizing(CurSysNum).FractionOfAutosizedCoolingAirflow * FinalSysSizing(CurSysNum).DesCoolVolFlow; - } else if (SELECT_CASE_var == FlowPerCoolingCapacity) { - AutosizeDes = FinalSysSizing(CurSysNum).FlowPerCoolingCapacity * DataAutosizedHeatingCapacity; - }else { - AutosizeDes = FinalSysSizing(CurSysNum).DesMainVolFlow; + if ( CurOASysNum > 0 ) { + AutosizeDes = FinalSysSizing( CurSysNum ).DesOutAirVolFlow; + } else { + if ( CurDuctType == Main ) { + if ( SameString ( CompType, "COIL:HEATING:WATER" ) ) { + AutosizeDes = FinalSysSizing( CurSysNum ).SysAirMinFlowRat * FinalSysSizing( CurSysNum ).DesMainVolFlow; + } else { + AutosizeDes = FinalSysSizing( CurSysNum ).DesMainVolFlow; + } + } else if ( CurDuctType == Cooling ) { + if ( SameString ( CompType, "COIL:HEATING:WATER" ) ) { + AutosizeDes = FinalSysSizing( CurSysNum ).SysAirMinFlowRat * FinalSysSizing( CurSysNum ).DesCoolVolFlow; + } else { + AutosizeDes = FinalSysSizing( CurSysNum ).DesCoolVolFlow; + } + } else if ( CurDuctType == Heating ) { + AutosizeDes = FinalSysSizing( CurSysNum ).DesHeatVolFlow; + } else if ( CurDuctType == Other ) { + AutosizeDes = FinalSysSizing( CurSysNum ).DesMainVolFlow; + } else { + AutosizeDes = FinalSysSizing( CurSysNum ).DesMainVolFlow; } } } @@ -733,6 +1214,160 @@ namespace ReportSizingManager { } else { AutosizeDes = FinalSysSizing ( CurSysNum ).DesMainVolFlow; } + } else if ( SizingType == CoolingWaterflowSizing ) { + if ( CurOASysNum > 0 ) { + CoilDesWaterDeltaT = 0.5 * PlantSizData( DataPltSizCoolNum ).DeltaT; + } else { + CoilDesWaterDeltaT = PlantSizData( DataPltSizCoolNum ).DeltaT; + } + if ( DataCapacityUsedForSizing >= SmallLoad ) { + Cp = GetSpecificHeatGlycol( PlantLoop( DataWaterLoopNum ).FluidName, 5.0, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); + rho = GetDensityGlycol( PlantLoop( DataWaterLoopNum ).FluidName, InitConvTemp, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); + AutosizeDes = DataCapacityUsedForSizing / ( CoilDesWaterDeltaT * Cp * rho ); + } else { + AutosizeDes = 0.0; + // Warning about zero design coil load is issued elsewhere. + } + bCheckForZero = false; + } else if ( SizingType == HeatingWaterflowSizing ) { + if ( DataCapacityUsedForSizing >= SmallLoad ) { + Cp = GetSpecificHeatGlycol( PlantLoop( DataWaterLoopNum ).FluidName, 60.0, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); + rho = GetDensityGlycol( PlantLoop( DataWaterLoopNum ).FluidName, InitConvTemp, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); + AutosizeDes = DataCapacityUsedForSizing / ( PlantSizData( DataPltSizHeatNum ).DeltaT * Cp * rho ); + } else { + AutosizeDes = 0.0; + // Warning about zero design coil load is issued elsewhere. + } + bCheckForZero = false; + } else if ( SizingType == HeatingWaterDesAirInletTempSizing ) { + if ( CurOASysNum > 0 ) { + OutAirFrac = 1.0; + } else if ( FinalSysSizing( CurSysNum ).HeatOAOption == MinOA ) { + if ( DataFlowUsedForSizing > 0.0 ) { + OutAirFrac = FinalSysSizing( CurSysNum ).DesOutAirVolFlow / DataFlowUsedForSizing; + } else { + OutAirFrac = 1.0; + } + OutAirFrac = min( 1.0, max( 0.0, OutAirFrac ) ); + } else { + OutAirFrac = 1.0; + } + // coil inlet temperature + if ( CurOASysNum == 0 && PrimaryAirSystem( CurSysNum ).NumOAHeatCoils > 0 ) { + AutosizeDes = OutAirFrac * FinalSysSizing( CurSysNum ).PreheatTemp + ( 1.0 - OutAirFrac ) * FinalSysSizing( CurSysNum ).HeatRetTemp; + } else { + AutosizeDes = OutAirFrac * FinalSysSizing( CurSysNum ).HeatOutTemp + ( 1.0 - OutAirFrac ) * FinalSysSizing( CurSysNum ).HeatRetTemp; + } + bCheckForZero = false; + } else if ( SizingType == HeatingWaterDesAirInletHumRatSizing ) { + if ( CurOASysNum > 0 ) { + OutAirFrac = 1.0; + } else if ( FinalSysSizing( CurSysNum ).HeatOAOption == MinOA ) { + if ( DataFlowUsedForSizing > 0.0 ) { + OutAirFrac = FinalSysSizing( CurSysNum ).DesOutAirVolFlow / DataFlowUsedForSizing; + } else { + OutAirFrac = 1.0; + } + OutAirFrac = min( 1.0, max( 0.0, OutAirFrac ) ); + } else { + OutAirFrac = 1.0; + } + // coil inlet temperature + if ( CurOASysNum == 0 && PrimaryAirSystem( CurSysNum ).NumOAHeatCoils > 0 ) { + AutosizeDes = OutAirFrac * FinalSysSizing( CurSysNum ).PreheatHumRat + ( 1.0 - OutAirFrac ) * FinalSysSizing( CurSysNum ).HeatRetHumRat; + } else { + AutosizeDes = OutAirFrac * FinalSysSizing( CurSysNum ).HeatOutHumRat + ( 1.0 - OutAirFrac ) * FinalSysSizing( CurSysNum ).HeatRetHumRat; + } + bCheckForZero = false; + } else if ( SizingType == CoolingWaterDesAirInletTempSizing ) { + if ( CurOASysNum > 0 ) { // coil is in OA stream + AutosizeDes = FinalSysSizing( CurSysNum ).CoolOutTemp; + } else { // coil is in main air loop + if ( PrimaryAirSystem( CurSysNum ).NumOACoolCoils == 0 ) { // there is no precooling of the OA stream + AutosizeDes = FinalSysSizing( CurSysNum ).CoolMixTemp; + } else { // thereis precooling of the OA stream + if ( DataFlowUsedForSizing > 0.0 ) { + OutAirFrac = FinalSysSizing( CurSysNum ).DesOutAirVolFlow / DataFlowUsedForSizing; + } else { + OutAirFrac = 1.0; + } + OutAirFrac = min( 1.0, max( 0.0, OutAirFrac ) ); + AutosizeDes = OutAirFrac * FinalSysSizing( CurSysNum ).PrecoolTemp + ( 1.0 - OutAirFrac ) * FinalSysSizing( CurSysNum ).CoolRetTemp; + } + } + bCheckForZero = false; + } else if ( SizingType == CoolingWaterDesWaterInletTempSizing ) { + AutosizeDes = FinalSysSizing( CurSysNum ).CoolOutTemp; + AutosizeDes = PlantSizData( DataPltSizCoolNum ).ExitTemp; + bCheckForZero = false; + } else if ( SizingType == CoolingWaterNumofTubesPerRowSizing ) { + AutosizeDes = int ( max ( 3.0, 13750.0 * DataWaterFlowUsedForSizing + 1.0 ) ); + bCheckForZero = false; + } else if ( SizingType == CoolingWaterDesAirOutletTempSizing ) { + if ( CurOASysNum > 0 ) { + AutosizeDes = FinalSysSizing( CurSysNum ).PrecoolTemp; + } else { + AutosizeDes = FinalSysSizing( CurSysNum ).CoolSupTemp; + } + if ( AutosizeDes < DataDesInletWaterTemp && DataWaterFlowUsedForSizing > 0.0 ) { + ShowWarningError( CallingRoutine + ":" + " Coil=\"" + CompName + "\", Cooling Coil has leaving air temperature > entering water temperature." ); + ShowContinueError( " Tair,out = " + RoundSigDigits( AutosizeDes, 3 ) ); + ShowContinueError( " Twater,in = " + RoundSigDigits( DataDesInletWaterTemp, 3 ) ); + AutosizeDes = DataDesInletWaterTemp + 0.5; + ShowContinueError( "....coil leaving air temperature will be reset to:" ); + ShowContinueError( " Tair,out = " + RoundSigDigits( AutosizeDes, 3 ) ); + } + bCheckForZero = false; + } else if ( SizingType == CoolingWaterDesAirInletHumRatSizing ) { + if ( CurOASysNum > 0 ) { // coil is in OA stream + AutosizeDes = FinalSysSizing( CurSysNum ).CoolOutHumRat; + } else { // coil is in main air loop + if ( PrimaryAirSystem( CurSysNum ).NumOACoolCoils == 0 ) { // there is no precooling of the OA stream + AutosizeDes = FinalSysSizing( CurSysNum ).CoolMixHumRat; + } else { // there is precooling of the OA stream + if ( DataFlowUsedForSizing > 0.0 ) { + OutAirFrac = FinalSysSizing( CurSysNum ).DesOutAirVolFlow / DataFlowUsedForSizing; + } else { + OutAirFrac = 1.0; + } + OutAirFrac = min( 1.0, max( 0.0, OutAirFrac ) ); + AutosizeDes = OutAirFrac * FinalSysSizing( CurSysNum ).PrecoolHumRat + ( 1.0 - OutAirFrac ) * FinalSysSizing( CurSysNum ).CoolRetHumRat; + } + } + bCheckForZero = false; + } else if ( SizingType == CoolingWaterDesAirOutletHumRatSizing ) { + if ( CurOASysNum > 0 ) { + AutosizeDes = FinalSysSizing( CurSysNum ).PrecoolHumRat; + } else { + AutosizeDes = FinalSysSizing( CurSysNum ).CoolSupHumRat; + } + if ( AutosizeDes > DataDesInletAirHumRat && DataCapacityUsedForSizing > 0.0 && SameString( CompType, "COIL:COOLING:WATER" ) ) { // flow here is water vol flow rate + ShowWarningError( CallingRoutine + ":" + " Coil=\"" + CompName + "\", Cooling Coil has leaving humidity ratio > entering humidity ratio." ); + ShowContinueError( " Wair,in = " + RoundSigDigits( DataDesInletAirHumRat, 6 ) ); + ShowContinueError( " Wair,out = " + RoundSigDigits( AutosizeDes, 6 ) ); + if ( DataDesInletAirHumRat > 0.016 ) { + AutosizeDes = 0.5 * DataDesInletAirHumRat; + } else { + AutosizeDes = DataDesInletAirHumRat; + } + ShowContinueError( "....coil leaving humidity ratio will be reset to:" ); + ShowContinueError( " Wair,out = " + RoundSigDigits( AutosizeDes, 6 ) ); + } + + // check for dry coil and reset outlet humrat if needed + DesSatEnthAtWaterInTemp = PsyHFnTdbW( DataDesInletWaterTemp, PsyWFnTdpPb( DataDesInletWaterTemp, StdBaroPress ) ); + DesHumRatAtWaterInTemp = PsyWFnTdbH( DataDesInletWaterTemp, DesSatEnthAtWaterInTemp, CallingRoutine ); + if ( AutosizeDes < DataDesInletAirHumRat && DesHumRatAtWaterInTemp > DataDesInletAirHumRat && DataCapacityUsedForSizing > 0.0 ) { // flow here is water vol flow rate + if ( DataDesInletAirHumRat > AutosizeDes && SameString( CompType, "COIL:COOLING:WATER" ) ) { + ShowWarningError( CallingRoutine + ":" + " Coil=\"" + CompName + "\", Cooling Coil is dry and has air leaving humidity ratio < entering humidity ratio." ); + ShowContinueError( " Wair,in = " + RoundSigDigits( DataDesInletAirHumRat, 6 ) ); + ShowContinueError( " Wair,out = " + RoundSigDigits( AutosizeDes, 6 ) ); + AutosizeDes = DataDesInletAirHumRat; + ShowContinueError( "....coil leaving humidity ratio will be reset to:" ); + ShowContinueError( " Wair,out = " + RoundSigDigits( AutosizeDes, 6 ) ); + } + } + bCheckForZero = false; } else if ( SizingType == CoolingSHRSizing ) { if ( DataFlowUsedForSizing >= SmallAirVolFlow && DataCapacityUsedForSizing > 0.0 ) { // For autosizing the rated SHR, we set a minimum SHR of 0.676 and a maximum of 0.798. The min SHR occurs occurs at the @@ -760,74 +1395,76 @@ namespace ReportSizingManager { } } } else { - AutosizeDes = 1.0; + ShowSevereError( CallingRoutine + " " + CompType + " " + CompName ); + ShowContinueError( "... DataFlowUsedForSizing and DataCapacityUsedForSizing " + SizingString + " must both be greater than 0." ); + ShowFatalError( "Preceding conditions cause termination." ); } } else if ( SizingType == CoolingCapacitySizing ) { - // If hard-sized, check if system sizing data is available for system coil - if ( !IsAutoSize && !SizingDesRunThisAirSys ) { // looks like this should also be included in all "if (SizingType == Something)'s", better to move to bottom - HardSizeNoDesRun = true; - if ( SizingResult > 0.0 ) ReportSizingOutput ( CompType, CompName, "User-Specified " + SizingString , SizingResult ); - } else { // autosize or hard-sized with system sizing data - if ( OASysFlag ) { - AutosizeDes = OASysEqSizing ( CurOASysNum ).DesCoolingLoad; - } else if ( AirLoopSysFlag ) { - AutosizeDes = UnitarySysEqSizing ( CurSysNum ).DesCoolingLoad; + DataFracOfAutosizedCoolingCapacity = 1.0; + if ( OASysFlag ) { + AutosizeDes = OASysEqSizing ( CurOASysNum ).DesCoolingLoad; + } else if ( AirLoopSysFlag ) { + AutosizeDes = UnitarySysEqSizing ( CurSysNum ).DesCoolingLoad; + } else if (FinalSysSizing(CurSysNum).CoolingCapMethod == CapacityPerFloorArea) { + AutosizeDes = FinalSysSizing( CurSysNum ).CoolingTotalCapacity; + } else { + CheckSysSizing ( CompType, CompName ); + DesVolFlow = DataFlowUsedForSizing; + if (FinalSysSizing(CurSysNum).CoolingCapMethod == FractionOfAutosizedCoolingCapacity) { + DataFracOfAutosizedCoolingCapacity = FinalSysSizing( CurSysNum ).FractionOfAutosizedCoolingCapacity; } else { -// CheckSysSizing ( CompType, CompName ); - if (FinalSysSizing(CurSysNum).CoolingCapMethod == CapacityPerFloorArea) { - AutosizeDes = CalcSysSizing( CurSysNum ).ScaledCoolingCapacity * CalcSysSizing( CurSysNum ).FloorAreaOnAirLoopCooled; - } else { - DataFracOfAutosizedCoolingCapacity = FinalSysSizing( CurSysNum ).FractionOfAutosizedCoolingCapacity; - DesVolFlow = DataFlowUsedForSizing; - if ( DesVolFlow >= SmallAirVolFlow ) { - if ( CurOASysNum > 0 ) { // coil is in the OA stream - CoilInTemp = FinalSysSizing ( CurSysNum ).CoolOutTemp; - CoilInHumRat = FinalSysSizing ( CurSysNum ).CoolOutHumRat; - CoilOutTemp = FinalSysSizing ( CurSysNum ).PrecoolTemp; - CoilOutHumRat = FinalSysSizing ( CurSysNum ).PrecoolHumRat; - } else { // coil is on the main air loop - CoilOutTemp = FinalSysSizing ( CurSysNum ).CoolSupTemp; - CoilOutHumRat = FinalSysSizing ( CurSysNum ).CoolSupHumRat; - if ( PrimaryAirSystem( CurSysNum ).NumOACoolCoils == 0 ) { // there is no precooling of the OA stream - CoilInTemp = FinalSysSizing ( CurSysNum ).CoolMixTemp; - CoilInHumRat = FinalSysSizing ( CurSysNum ).CoolMixHumRat; - } else { // there is precooling of OA stream - if ( DesVolFlow > 0.0 ) { - OutAirFrac = FinalSysSizing ( CurSysNum ).DesOutAirVolFlow / DesVolFlow; - } else { - OutAirFrac = 1.0; - } - OutAirFrac = min ( 1.0, max ( 0.0, OutAirFrac ) ); - CoilInTemp = OutAirFrac * FinalSysSizing ( CurSysNum ).PrecoolTemp + ( 1.0 - OutAirFrac ) * FinalSysSizing ( CurSysNum ).CoolRetTemp; - CoilInHumRat = OutAirFrac*FinalSysSizing ( CurSysNum ).PrecoolHumRat + ( 1.0 - OutAirFrac )*FinalSysSizing ( CurSysNum ).CoolRetHumRat; - } - } - OutTemp = FinalSysSizing ( CurSysNum ).CoolOutTemp; - rhoair = PsyRhoAirFnPbTdbW ( StdBaroPress, CoilInTemp, CoilInHumRat, CallingRoutine ); - CoilInEnth = PsyHFnTdbW ( CoilInTemp, CoilInHumRat ); - CoilInWetBulb = PsyTwbFnTdbWPb ( CoilInTemp, CoilInHumRat, StdBaroPress, CallingRoutine ); - CoilOutEnth = PsyHFnTdbW ( CoilOutTemp, CoilOutHumRat ); - if ( DataTotCapCurveIndex > 0 ) { - TotCapTempModFac = CurveValue ( DataTotCapCurveIndex, CoilInWetBulb, OutTemp ); - } else { - TotCapTempModFac = 1.0; - } - PeakCoilLoad = max ( 0.0, ( rhoair * DesVolFlow * ( CoilInEnth - CoilOutEnth ) ) ); - if ( TotCapTempModFac > 0.0 ) { - NominalCapacityDes = PeakCoilLoad / TotCapTempModFac; + DataFracOfAutosizedCoolingCapacity = 1.0; + } + if ( DesVolFlow >= SmallAirVolFlow ) { + if ( CurOASysNum > 0 ) { // coil is in the OA stream + CoilInTemp = FinalSysSizing ( CurSysNum ).CoolOutTemp; + CoilInHumRat = FinalSysSizing ( CurSysNum ).CoolOutHumRat; + CoilOutTemp = FinalSysSizing ( CurSysNum ).PrecoolTemp; + CoilOutHumRat = FinalSysSizing ( CurSysNum ).PrecoolHumRat; + } else { // coil is on the main air loop + CoilOutTemp = FinalSysSizing ( CurSysNum ).CoolSupTemp; + CoilOutHumRat = FinalSysSizing ( CurSysNum ).CoolSupHumRat; + if ( PrimaryAirSystem( CurSysNum ).NumOACoolCoils == 0 ) { // there is no precooling of the OA stream + CoilInTemp = FinalSysSizing ( CurSysNum ).CoolMixTemp; + CoilInHumRat = FinalSysSizing ( CurSysNum ).CoolMixHumRat; + } else { // there is precooling of OA stream + if ( DesVolFlow > 0.0 ) { + OutAirFrac = FinalSysSizing ( CurSysNum ).DesOutAirVolFlow / DesVolFlow; } else { - NominalCapacityDes = PeakCoilLoad; + OutAirFrac = 1.0; } - } else { - NominalCapacityDes = 0.0; + OutAirFrac = min ( 1.0, max ( 0.0, OutAirFrac ) ); + CoilInTemp = OutAirFrac * FinalSysSizing ( CurSysNum ).PrecoolTemp + ( 1.0 - OutAirFrac ) * FinalSysSizing ( CurSysNum ).CoolRetTemp; + CoilInHumRat = OutAirFrac*FinalSysSizing ( CurSysNum ).PrecoolHumRat + ( 1.0 - OutAirFrac )*FinalSysSizing ( CurSysNum ).CoolRetHumRat; } } - } // IF(OASysFlag) THEN or ELSE IF(AirLoopSysFlag) THEN - AutosizeDes = NominalCapacityDes * DataHeatSizeRatio * DataFracOfAutosizedCoolingCapacity; - } - + OutTemp = FinalSysSizing ( CurSysNum ).CoolOutTemp; + if ( SameString( CompType, "COIL:COOLING:WATER" ) || SameString( CompType, "COIL:COOLING:WATER:DETAILEDGEOMETRY" ) ) { + rhoair = StdRhoAir; + } else { + rhoair = PsyRhoAirFnPbTdbW ( StdBaroPress, CoilInTemp, CoilInHumRat, CallingRoutine ); + } + CoilInEnth = PsyHFnTdbW ( CoilInTemp, CoilInHumRat ); + CoilInWetBulb = PsyTwbFnTdbWPb ( CoilInTemp, CoilInHumRat, StdBaroPress, CallingRoutine ); + CoilOutEnth = PsyHFnTdbW ( CoilOutTemp, CoilOutHumRat ); + if ( DataTotCapCurveIndex > 0 ) { + TotCapTempModFac = CurveValue ( DataTotCapCurveIndex, CoilInWetBulb, OutTemp ); + } else { + TotCapTempModFac = 1.0; + } + PeakCoilLoad = max ( 0.0, ( rhoair * DesVolFlow * ( CoilInEnth - CoilOutEnth ) ) ); + if ( TotCapTempModFac > 0.0 ) { + NominalCapacityDes = PeakCoilLoad / TotCapTempModFac; + } else { + NominalCapacityDes = PeakCoilLoad; + } + } else { + NominalCapacityDes = 0.0; + } + } // IF(OASysFlag) THEN or ELSE IF(AirLoopSysFlag) THEN + AutosizeDes = NominalCapacityDes * DataHeatSizeRatio * DataFracOfAutosizedCoolingCapacity; } else if (SizingType == HeatingCapacitySizing) { - DataFracOfAutosizedHeatingCapacity = FinalSysSizing( CurSysNum ).FractionOfAutosizedHeatingCapacity; + DataFracOfAutosizedHeatingCapacity = 1.0; if (CurOASysNum > 0) { if (OASysEqSizing(CurOASysNum).HeatingAirFlow) { DesVolFlow = OASysEqSizing(CurOASysNum).AirVolFlow; @@ -835,6 +1472,11 @@ namespace ReportSizingManager { DesVolFlow = FinalSysSizing( CurSysNum ).DesOutAirVolFlow; } } else { + if (FinalSysSizing(CurSysNum).HeatingCapMethod == FractionOfAutosizedHeatingCapacity) { + DataFracOfAutosizedHeatingCapacity = FinalSysSizing(CurSysNum).FractionOfAutosizedHeatingCapacity; + } else { + DataFracOfAutosizedHeatingCapacity = 1.0; + } if ( DataFlowUsedForSizing > 0.0 ) { DesVolFlow = DataFlowUsedForSizing; } else if ( UnitarySysEqSizing( CurSysNum ).HeatingAirFlow ) { @@ -897,7 +1539,7 @@ namespace ReportSizingManager { // TRUE for all air loop parent equipment except UnitarySystem where flag is reset to FALSE after simulating // This method allows downstream heating coils to size individually.Probably should do this for all air loop equipment // ChangoverBypass model always sets AirLoopControlInfo%UnitarySys to FALSE so heating coil can individually size - if ( AirLoopControlInfo( CurSysNum ).UnitarySysSimulating ) { + if ( AirLoopControlInfo( CurSysNum ).UnitarySysSimulating && ! SameString( CompType, "COIL:HEATING:WATER" ) ) { NominalCapacityDes = UnitaryHeatCap; } else { if ( DesCoilLoad >= SmallLoad ) { @@ -917,12 +1559,119 @@ namespace ReportSizingManager { } } AutosizeDes = NominalCapacityDes * DataHeatSizeRatio * DataFracOfAutosizedHeatingCapacity; + } else if ( SizingType == HeatingWaterDesCoilLoadUsedForUASizing ) { + if ( CurOASysNum > 0 ) { + OutAirFrac = 1.0; + } else if ( FinalSysSizing( CurSysNum ).HeatOAOption == MinOA ) { + if ( DataAirFlowUsedForSizing > 0.0 ) { + OutAirFrac = FinalSysSizing( CurSysNum ).DesOutAirVolFlow / DataAirFlowUsedForSizing; + } else { + OutAirFrac = 1.0; + } + OutAirFrac = min( 1.0, max( 0.0, OutAirFrac ) ); + } else { + OutAirFrac = 1.0; + } + if ( CurOASysNum == 0 && PrimaryAirSystem( CurSysNum ).NumOAHeatCoils > 0 ) { + CoilInTemp = OutAirFrac * FinalSysSizing( CurSysNum ).PreheatTemp + ( 1.0 - OutAirFrac ) * FinalSysSizing( CurSysNum ).HeatRetTemp; + } else { + CoilInTemp = OutAirFrac * FinalSysSizing( CurSysNum ).HeatOutTemp + ( 1.0 - OutAirFrac ) * FinalSysSizing( CurSysNum ).HeatRetTemp; + } + // coil load + CpAirStd = PsyCpAirFnWTdb( 0.0, 20.0 ); + if ( CurOASysNum > 0 ) { + AutosizeDes = CpAirStd * StdRhoAir * DataAirFlowUsedForSizing * ( FinalSysSizing( CurSysNum ).PreheatTemp - CoilInTemp ); + } else { + AutosizeDes = CpAirStd * StdRhoAir * DataAirFlowUsedForSizing * ( FinalSysSizing( CurSysNum ).HeatSupTemp - CoilInTemp ); + } + } else if ( SizingType == HeatingWaterDesCoilWaterVolFlowUsedForUASizing ) { + AutosizeDes = DataWaterFlowUsedForSizing; + bCheckForZero = false; + } else if ( SizingType == HeatingAirflowUASizing ) { + if ( CurOASysNum > 0 ) { + AutosizeDes = FinalSysSizing( CurSysNum ).DesOutAirVolFlow; + } else { + if ( CurDuctType == Main ) { + AutosizeDes = FinalSysSizing( CurSysNum ).SysAirMinFlowRat * FinalSysSizing( CurSysNum ).DesMainVolFlow; + } else if ( CurDuctType == Cooling ) { + AutosizeDes = FinalSysSizing( CurSysNum ).SysAirMinFlowRat * FinalSysSizing( CurSysNum ).DesCoolVolFlow; + } else if ( CurDuctType == Heating ) { + AutosizeDes = FinalSysSizing( CurSysNum ).DesHeatVolFlow; + } else if ( CurDuctType == Other ) { + AutosizeDes = FinalSysSizing( CurSysNum ).DesMainVolFlow; + } else { + AutosizeDes = FinalSysSizing( CurSysNum ).DesMainVolFlow; + } + } + AutosizeDes *= StdRhoAir; + } else if (SizingType == WaterHeatingCoilUASizing) { + if ( DataCapacityUsedForSizing >= SmallLoad ) { + Par( 1 ) = DataCapacityUsedForSizing; + Par( 2 ) = double( DataCoilNum ); + Par( 3 ) = double( DataFanOpMode ); //fan operating mode + Par( 4 ) = 1.0; // part-load ratio + UA0 = 0.001 * DataCapacityUsedForSizing; + UA1 = DataCapacityUsedForSizing; + // Invert the simple heating coil model: given the design inlet conditions and the design load, + // find the design UA. + SolveRegulaFalsi( Acc, MaxIte, SolFla, AutosizeDes, SimpleHeatingCoilUAResidual, UA0, UA1, Par ); + if ( SolFla == -1 ) { + ShowSevereError( "Autosizing of heating coil UA failed for Coil:Heating:Water \"" + CompName + "\"" ); + ShowContinueError( " Iteration limit exceeded in calculating coil UA" ); + ShowContinueError( " Lower UA estimate = " + TrimSigDigits( UA0, 6 ) + " W/m2-K (1% of Design Coil Load)" ); + ShowContinueError( " Upper UA estimate = " + TrimSigDigits( UA1, 6 ) + " W/m2-K (100% of Design Coil Load)" ); + ShowContinueError( " Final UA estimate when iterations exceeded limit = " + TrimSigDigits( AutosizeDes, 6 ) + " W/m2-K" ); + ShowContinueError( " AirloopHVAC \"" + FinalSysSizing( CurSysNum ).AirPriLoopName + "\" coil sizing conditions (may be different than Sizing inputs):" ); + ShowContinueError( " Coil inlet air temperature = " + TrimSigDigits( DataDesInletAirTemp, 3 ) + " C" ); + ShowContinueError( " Coil inlet air humidity ratio = " + TrimSigDigits( DataDesInletAirHumRat, 3 ) + " kgWater/kgDryAir" ); + ShowContinueError( " Coil inlet air mass flow rate = " + TrimSigDigits( DataFlowUsedForSizing, 6 ) + " kg/s" ); + ShowContinueError( " Design Coil Capacity = " + TrimSigDigits( DataDesignCoilCapacity, 3 ) + " W" ); + ShowContinueError( " Design Coil Load = " + TrimSigDigits( DataCapacityUsedForSizing, 3 ) + " W" ); + DataErrorsFound = true; + } else if ( SolFla == -2 ) { + ShowSevereError( "Autosizing of heating coil UA failed for Coil:Heating:Water \"" + CompName + "\"" ); + ShowContinueError( " Bad starting values for UA" ); + ShowContinueError( " Lower UA estimate = " + TrimSigDigits( UA0, 6 ) + " W/m2-K (1% of Design Coil Load)" ); + ShowContinueError( " Upper UA estimate = " + TrimSigDigits( UA1, 6 ) + " W/m2-K (100% of Design Coil Load)" ); + ShowContinueError( " AirloopHVAC \"" + FinalSysSizing( CurSysNum ).AirPriLoopName + "\" coil sizing conditions (may be different than Sizing inputs):" ); + ShowContinueError( " Coil inlet air temperature = " + TrimSigDigits( DataDesInletAirTemp, 3 ) + " C" ); + ShowContinueError( " Coil inlet air humidity ratio = " + TrimSigDigits( DataDesInletAirHumRat, 3 ) + " kgWater/kgDryAir" ); + ShowContinueError( " Coil inlet air mass flow rate = " + TrimSigDigits( DataFlowUsedForSizing, 6 ) + " kg/s" ); + ShowContinueError( " Design Coil Capacity = " + TrimSigDigits( DataDesignCoilCapacity, 3 ) + " W" ); + ShowContinueError( " Design Coil Load = " + TrimSigDigits( DataCapacityUsedForSizing, 3 ) + " W" ); + if ( DataDesignCoilCapacity < DataCapacityUsedForSizing ) { + ShowContinueError( " Inadequate water side capacity: in Plant Sizing for this hot water loop" ); + ShowContinueError( " increase design loop exit temperature and/or decrease design loop delta T" ); + ShowContinueError( " Plant Sizing object = " + PlantSizData( DataPltSizHeatNum ).PlantLoopName ); + ShowContinueError( " Plant design loop exit temperature = " + TrimSigDigits( PlantSizData( DataPltSizHeatNum ).ExitTemp, 3 ) + " C" ); + ShowContinueError( " Plant design loop delta T = " + TrimSigDigits( PlantSizData( DataPltSizHeatNum ).DeltaT, 3 ) + " C" ); + } + DataErrorsFound = true; + } + } else { + AutosizeDes = 1.0; + if ( DataWaterFlowUsedForSizing > 0.0 ) { + DataErrorsFound = true; + ShowSevereError( "The design coil load is zero for Coil:Heating:Water " + CompName ); + ShowContinueError( "An autosize value for UA cannot be calculated" ); + ShowContinueError( "Input a value for UA, change the heating design day, or raise" ); + ShowContinueError( " the system heating design supply air temperature" ); + } + } } } + } else { + // some components don't set CurZoneEqNum or CurSysNum (e.g., Plant HPWH fans) + HardSizeNoDesRun = true; + AutosizeDes = 0.0; + if ( PrintWarningFlag && SizingResult > 0.0 ) { + ReportSizingOutput( CompType, CompName, "User-Specified " + SizingString, SizingResult ); + } } + if ( IsAutoSize || SizingDesRunThisAirSys || SizingDesRunThisZone ) { - if ( AutosizeDes < SmallAirVolFlow ) { + if ( AutosizeDes < SmallAirVolFlow && bCheckForZero) { AutosizeDes = 0.0; } } @@ -933,8 +1682,8 @@ namespace ReportSizingManager { } else { SizingResult = AutosizeDes; } - } else if (DataScalableSizingON || DataScalableCapSizingON) { - SizingResult = AutosizeDes; + } else if ( DataScalableSizingON || DataScalableCapSizingON ) { + SizingResult = AutosizeDes; } else { AutosizeUser = SizingResult; } @@ -970,10 +1719,8 @@ namespace ReportSizingManager { } } } - - if ( PrintWarningFlag ) { - if (!HardSizeNoDesRun || DataScalableSizingON || DataScalableCapSizingON) { + if ( !HardSizeNoDesRun || DataScalableSizingON || DataScalableCapSizingON ) { if ( IsAutoSize ) { // Design Size values are available for both autosized and hard - sized // check capacity to make sure design volume flow per total capacity is within range if ( DataIsDXCoil && ( SizingType == CoolingCapacitySizing || SizingType == HeatingCapacitySizing ) ) { @@ -1030,8 +1777,7 @@ namespace ReportSizingManager { if (DataAutosizable) ReportSizingOutput(CompType, CompName, ScalableSM + SizingString, SizingResult); SizingResult *= (1 - DataBypassFrac); // now apply bypass fraction for second message and remianing simulation calcs if (DataAutosizable) ReportSizingOutput(CompType, CompName, ScalableSM + SizingString + " ( non-bypassed )", SizingResult); - } - else { + } else { if (DataAutosizable) ReportSizingOutput(CompType, CompName, ScalableSM + SizingString, SizingResult); } } else { @@ -1042,8 +1788,7 @@ namespace ReportSizingManager { } else { if ( DataAutosizable ) ReportSizingOutput( CompType, CompName, "Design Size " + SizingString, SizingResult ); } - } - + } } else { if ( DataAutosizable && AutosizeUser > 0.0 && AutosizeDes > 0.0 ) { ReportSizingOutput( CompType, CompName, "Design Size " + SizingString, AutosizeDes, "User-Specified " + SizingString, AutosizeUser ); @@ -1074,7 +1819,7 @@ namespace ReportSizingManager { else { if (DataAutosizable) ReportSizingOutput(CompType, CompName, ScalableSM + SizingString, SizingResult); } - } else { + } else{ if ( SameString( CompType, "COIL:COOLING:DX:TWOSTAGEWITHHUMIDITYCONTROLMODE" ) && SizingType == CoolingAirflowSizing && DataIsDXCoil ) { if ( DataAutosizable ) ReportSizingOutput( CompType, CompName, "User-Specified " + SizingString, SizingResult ); SizingResult *= ( 1 - DataBypassFrac ); // now apply bypass fraction for second message and remaining simulation calcs @@ -1085,7 +1830,7 @@ namespace ReportSizingManager { } } // } else { -// eventually move hardsize reporting (up in calcs, 2 places) here ? +// eventually move hardsize reporting here? [up in calcs, 3 places at e.g., if ( !IsAutoSize && !SizingDesRunThisAirSys )] } } } diff --git a/src/EnergyPlus/SimAirServingZones.cc b/src/EnergyPlus/SimAirServingZones.cc index b1f710b48ba..961fa845b5e 100644 --- a/src/EnergyPlus/SimAirServingZones.cc +++ b/src/EnergyPlus/SimAirServingZones.cc @@ -5984,7 +5984,10 @@ namespace SimAirServingZones { int NumZonesForHtg; // Number of heating zones for given primary system int CtrlZoneNum; // controlled zone index - if (AirLoopNum > 0) { + DataFracOfAutosizedCoolingCapacity = 1.0; + DataFracOfAutosizedHeatingCapacity = 1.0; + + if ( AirLoopNum > 0 ) { FractionOfAutosize = 1.0; @@ -5995,74 +5998,64 @@ namespace SimAirServingZones { CalcSysSizing( AirLoopNum ).InpDesCoolAirFlow = TempSize; FinalSysSizing( AirLoopNum ).InpDesCoolAirFlow = TempSize; - } else if (SELECT_CASE_var == FractionOfAutosizedCoolingAirflow) { + } else if ( SELECT_CASE_var == FractionOfAutosizedCoolingAirflow) { FractionOfAutosize = FinalSysSizing(AirLoopNum).FractionOfAutosizedCoolingAirflow; - CalcSysSizing(AirLoopNum).InpDesCoolAirFlow = CalcSysSizing(AirLoopNum).DesCoolVolFlow * FractionOfAutosize; - FinalSysSizing(AirLoopNum).InpDesCoolAirFlow = FinalSysSizing(AirLoopNum).DesCoolVolFlow * FractionOfAutosize; + CalcSysSizing( AirLoopNum ).InpDesCoolAirFlow = CalcSysSizing( AirLoopNum ).DesCoolVolFlow * FractionOfAutosize; + FinalSysSizing( AirLoopNum ).InpDesCoolAirFlow = FinalSysSizing( AirLoopNum ).DesCoolVolFlow * FractionOfAutosize; } else if (SELECT_CASE_var == FlowPerCoolingCapacity) { - - if (FinalSysSizing(AirLoopNum).CoolingCapMethod == FractionOfAutosizedCoolingCapacity) { - FractionOfAutosize = FinalSysSizing(AirLoopNum).ScaledCoolingCapacity; + if ( FinalSysSizing( AirLoopNum ).CoolingCapMethod == FractionOfAutosizedCoolingCapacity ) { + FractionOfAutosize = FinalSysSizing( AirLoopNum ).ScaledCoolingCapacity; } - if (PrimaryAirSystem(AirLoopNum).NumOACoolCoils == 0) { // there is no precooling of the OA stream + if (PrimaryAirSystem( AirLoopNum ).NumOACoolCoils == 0) { // there is no precooling of the OA stream CoilInTemp = FinalSysSizing( AirLoopNum ).CoolMixTemp; CoilInHumRat = FinalSysSizing( AirLoopNum ).CoolMixHumRat; } else { // there is precooling of OA stream if (FinalSysSizing(AirLoopNum).DesCoolVolFlow > 0.0) { - OutAirFrac = FinalSysSizing( AirLoopNum ).DesOutAirVolFlow / FinalSysSizing(AirLoopNum).DesCoolVolFlow; + OutAirFrac = FinalSysSizing( AirLoopNum ).DesOutAirVolFlow / FinalSysSizing( AirLoopNum ).DesCoolVolFlow; } else { OutAirFrac = 1.0; } OutAirFrac = min( 1.0, max( 0.0, OutAirFrac ) ); - CoilInTemp = OutAirFrac * FinalSysSizing( AirLoopNum).PrecoolTemp + (1.0 - OutAirFrac) * FinalSysSizing(AirLoopNum).CoolRetTemp; - CoilInHumRat = OutAirFrac * FinalSysSizing( AirLoopNum ).PrecoolHumRat + (1.0 - OutAirFrac)*FinalSysSizing(AirLoopNum).CoolRetHumRat; + CoilInTemp = OutAirFrac * FinalSysSizing( AirLoopNum).PrecoolTemp + (1.0 - OutAirFrac) * FinalSysSizing( AirLoopNum ).CoolRetTemp; + CoilInHumRat = OutAirFrac * FinalSysSizing( AirLoopNum ).PrecoolHumRat + (1.0 - OutAirFrac)*FinalSysSizing( AirLoopNum ).CoolRetHumRat; } CoilOutTemp = FinalSysSizing( AirLoopNum ).CoolSupTemp; CoilOutHumRat = FinalSysSizing( AirLoopNum ).CoolSupHumRat; - CoilInEnth = PsyHFnTdbW(CoilInTemp, CoilInHumRat); - CoilOutEnth = PsyHFnTdbW(CoilOutTemp, CoilOutHumRat); - AutosizedCapacity = StdRhoAir * FinalSysSizing(AirLoopNum).DesCoolVolFlow * (CoilInEnth - CoilOutEnth); - TempSize = FinalSysSizing(AirLoopNum).FlowPerCoolingCapacity * AutosizedCapacity * FractionOfAutosize; - CalcSysSizing(AirLoopNum).InpDesCoolAirFlow = TempSize; - FinalSysSizing(AirLoopNum).InpDesCoolAirFlow = TempSize; + CoilInEnth = PsyHFnTdbW( CoilInTemp, CoilInHumRat ); + CoilOutEnth = PsyHFnTdbW( CoilOutTemp, CoilOutHumRat ); + AutosizedCapacity = StdRhoAir * FinalSysSizing( AirLoopNum ).DesCoolVolFlow * ( CoilInEnth - CoilOutEnth ); + TempSize = FinalSysSizing( AirLoopNum ).FlowPerCoolingCapacity * AutosizedCapacity * FractionOfAutosize; + CalcSysSizing( AirLoopNum ).InpDesCoolAirFlow = TempSize; + FinalSysSizing( AirLoopNum ).InpDesCoolAirFlow = TempSize; } - - - // loop over the controlled zones by this system and setup the scalable sizing input for terminal units sizing - // min system cooling flow rate - //for (ZonesCooledNum = 1; ZonesCooledNum <= NumZonesCooled; ++ZonesCooledNum) { - // CtrlZoneNum = AirToZoneNodeInfo( AirLoopNum) .CoolCtrlZoneNums(ZonesCooledNum); - // ZoneEqSizing(CurZoneEqNum).SizingMethod( CoolingAirflowSizing ) = FinalSysSizing(AirLoopNum).ScaleCoolSAFMethod - //} - } // scalable sizing option for heating supply air flow rate { auto const SELECT_CASE_var(FinalSysSizing(AirLoopNum).ScaleHeatSAFMethod); - if (SELECT_CASE_var == FlowPerFloorArea) { - TempSize = FinalSysSizing(AirLoopNum).FlowPerFloorAreaHeated * FinalSysSizing(AirLoopNum).FloorAreaOnAirLoopHeated; - CalcSysSizing(AirLoopNum).InpDesHeatAirFlow = TempSize; - FinalSysSizing(AirLoopNum).InpDesHeatAirFlow = TempSize; + if ( SELECT_CASE_var == FlowPerFloorArea ) { + TempSize = FinalSysSizing( AirLoopNum ).FlowPerFloorAreaHeated * FinalSysSizing( AirLoopNum ).FloorAreaOnAirLoopHeated; + CalcSysSizing( AirLoopNum ).InpDesHeatAirFlow = TempSize; + FinalSysSizing( AirLoopNum ).InpDesHeatAirFlow = TempSize; - } else if (SELECT_CASE_var == FractionOfAutosizedHeatingAirflow) { - FractionOfAutosize = FinalSysSizing(AirLoopNum).FractionOfAutosizedHeatingAirflow; - CalcSysSizing(AirLoopNum).InpDesHeatAirFlow = CalcSysSizing(AirLoopNum).DesHeatVolFlow * FractionOfAutosize; - FinalSysSizing(AirLoopNum).InpDesHeatAirFlow = FinalSysSizing(AirLoopNum).DesHeatVolFlow * FractionOfAutosize; + } else if ( SELECT_CASE_var == FractionOfAutosizedHeatingAirflow ) { + FractionOfAutosize = FinalSysSizing( AirLoopNum ).FractionOfAutosizedHeatingAirflow; + CalcSysSizing( AirLoopNum ).InpDesHeatAirFlow = CalcSysSizing( AirLoopNum ).DesHeatVolFlow * FractionOfAutosize; + FinalSysSizing( AirLoopNum ).InpDesHeatAirFlow = FinalSysSizing( AirLoopNum ).DesHeatVolFlow * FractionOfAutosize; } else if (SELECT_CASE_var == FractionOfAutosizedCoolingAirflow) { FractionOfAutosize = FinalSysSizing(AirLoopNum).FractionOfAutosizedCoolingAirflow; - CalcSysSizing(AirLoopNum).InpDesHeatAirFlow = CalcSysSizing(AirLoopNum).DesHeatVolFlow * FractionOfAutosize; - FinalSysSizing(AirLoopNum).InpDesHeatAirFlow = FinalSysSizing(AirLoopNum).DesHeatVolFlow * FractionOfAutosize; + CalcSysSizing( AirLoopNum ).InpDesHeatAirFlow = CalcSysSizing( AirLoopNum ).DesHeatVolFlow * FractionOfAutosize; + FinalSysSizing( AirLoopNum ).InpDesHeatAirFlow = FinalSysSizing( AirLoopNum ).DesHeatVolFlow * FractionOfAutosize; } else if (SELECT_CASE_var == FlowPerHeatingCapacity) { if (FinalSysSizing(AirLoopNum).HeatingCapMethod == FractionOfAutosizedHeatingCapacity) { FractionOfAutosize = FinalSysSizing(AirLoopNum).ScaledHeatingCapacity; } - if (FinalSysSizing(AirLoopNum).HeatOAOption == MinOA) { - if (FinalSysSizing(AirLoopNum).DesHeatVolFlow > 0.0) { - OutAirFrac = FinalSysSizing(AirLoopNum).DesOutAirVolFlow / FinalSysSizing(AirLoopNum).DesHeatVolFlow; + if (FinalSysSizing( AirLoopNum ).HeatOAOption == MinOA) { + if (FinalSysSizing( AirLoopNum ).DesHeatVolFlow > 0.0) { + OutAirFrac = FinalSysSizing(AirLoopNum).DesOutAirVolFlow / FinalSysSizing( AirLoopNum ).DesHeatVolFlow; } else { OutAirFrac = 1.0; } @@ -6070,84 +6063,50 @@ namespace SimAirServingZones { } else { OutAirFrac = 1.0; } - if (CurOASysNum == 0 && PrimaryAirSystem(AirLoopNum).NumOAHeatCoils > 0) { - CoilInTemp = OutAirFrac * FinalSysSizing(AirLoopNum).PreheatTemp + (1.0 - OutAirFrac) * FinalSysSizing(AirLoopNum).HeatRetTemp; + if (CurOASysNum == 0 && PrimaryAirSystem( AirLoopNum ).NumOAHeatCoils > 0) { + CoilInTemp = OutAirFrac * FinalSysSizing( AirLoopNum ).PreheatTemp + (1.0 - OutAirFrac) * FinalSysSizing( AirLoopNum ).HeatRetTemp; } else { - CoilInTemp = OutAirFrac * FinalSysSizing(AirLoopNum).HeatOutTemp + (1.0 - OutAirFrac) * FinalSysSizing(AirLoopNum).HeatRetTemp; + CoilInTemp = OutAirFrac * FinalSysSizing( AirLoopNum ).HeatOutTemp + (1.0 - OutAirFrac) * FinalSysSizing( AirLoopNum ).HeatRetTemp; } - CoilOutTemp = FinalSysSizing(AirLoopNum).HeatSupTemp; + CoilOutTemp = FinalSysSizing( AirLoopNum ).HeatSupTemp; CpAirStd = PsyCpAirFnWTdb(constant_zero, constant_twenty); - AutosizedCapacity = StdRhoAir * FinalSysSizing(AirLoopNum).DesHeatVolFlow * CpAirStd * (CoilOutTemp - CoilInTemp); - TempSize = FinalSysSizing(AirLoopNum).FlowPerHeatingCapacity * AutosizedCapacity * FractionOfAutosize; - CalcSysSizing(AirLoopNum).InpDesHeatAirFlow = TempSize; - FinalSysSizing(AirLoopNum).InpDesHeatAirFlow = TempSize; - } - - - NumZonesHeated = AirToZoneNodeInfo( AirLoopNum ).NumZonesHeated; - NumZonesForHtg = NumZonesHeated; - if (NumZonesHeated == 0) NumZonesHeated = AirToZoneNodeInfo( AirLoopNum ).NumZonesCooled;; - for (ZonesHeatedNum = 1; ZonesHeatedNum <= NumZonesForHtg; ++ZonesHeatedNum ) { - if (NumZonesHeated == 0) { - CtrlZoneNum = AirToZoneNodeInfo( AirLoopNum).CoolCtrlZoneNums( ZonesHeatedNum ); - } else { - CtrlZoneNum = AirToZoneNodeInfo( AirLoopNum ).HeatCtrlZoneNums( ZonesHeatedNum ); - } - ZoneEqSizing( CtrlZoneNum ).SizingMethod( FinalSysSizing( AirLoopNum) .ScaleHeatSAFMethod ) = SELECT_CASE_var; + AutosizedCapacity = StdRhoAir * FinalSysSizing( AirLoopNum ).DesHeatVolFlow * CpAirStd * (CoilOutTemp - CoilInTemp); + TempSize = FinalSysSizing( AirLoopNum ).FlowPerHeatingCapacity * AutosizedCapacity * FractionOfAutosize; + CalcSysSizing( AirLoopNum ).InpDesHeatAirFlow = TempSize; + FinalSysSizing( AirLoopNum ).InpDesHeatAirFlow = TempSize; } - } - // save the total cooling capacity sizing data for scalable sizing { auto const SELECT_CASE_var(FinalSysSizing( AirLoopNum ).CoolingCapMethod); if (SELECT_CASE_var == CoolingDesignCapacity){ - if (CalcSysSizing(AirLoopNum).ScaledCoolingCapacity > 0.0) { - CalcSysSizing(AirLoopNum).CoolingTotalCapacity = CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity; - FinalSysSizing(AirLoopNum).CoolingTotalCapacity = CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity; - } else { - // autosized - } + if (CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity > 0.0) { + CalcSysSizing( AirLoopNum ).CoolingTotalCapacity = CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity; + FinalSysSizing( AirLoopNum ).CoolingTotalCapacity = CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity; + } else { + // autosized + } } else if (SELECT_CASE_var == CapacityPerFloorArea) { - FinalSysSizing(AirLoopNum).CoolingTotalCapacity = CalcSysSizing(AirLoopNum).ScaledCoolingCapacity * CalcSysSizing(AirLoopNum).FloorAreaOnAirLoopCooled; + FinalSysSizing( AirLoopNum ).CoolingTotalCapacity = CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity * CalcSysSizing( AirLoopNum ).FloorAreaOnAirLoopCooled; } else if (SELECT_CASE_var == FractionOfAutosizedCoolingCapacity) { CalcSysSizing( AirLoopNum ).FractionOfAutosizedCoolingCapacity = CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity; FinalSysSizing( AirLoopNum ).FractionOfAutosizedCoolingCapacity = CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity; } - - //NumZonesCooled = AirToZoneNodeInfo( AirLoopNum ).NumZonesCooled;; - //for (ZonesCooledNum = 1; ZonesCooledNum <= NumZonesCooled; ++ZonesCooledNum) { - // CtrlZoneNum = AirToZoneNodeInfo( AirLoopNum ).CoolCtrlZoneNums( ZonesCooledNum ); - // ZoneEqSizing( CtrlZoneNum ).SizingMethod( FinalSysSizing( AirLoopNum ).CoolingCapMethod ) = SELECT_CASE_var; - //} - } // save the total heating capacity sizing data for scalable sizing { auto const SELECT_CASE_var(FinalSysSizing(AirLoopNum).HeatingCapMethod); if (SELECT_CASE_var == HeatingDesignCapacity){ - if (CalcSysSizing(AirLoopNum).ScaledHeatingCapacity > 0.0) { - FinalSysSizing(AirLoopNum).HeatingTotalCapacity= CalcSysSizing(AirLoopNum).ScaledHeatingCapacity; + if (CalcSysSizing( AirLoopNum ).ScaledHeatingCapacity > 0.0) { + FinalSysSizing( AirLoopNum ).HeatingTotalCapacity= CalcSysSizing( AirLoopNum ).ScaledHeatingCapacity; }else { // autosized } } else if (SELECT_CASE_var == CapacityPerFloorArea) { - FinalSysSizing(AirLoopNum).HeatingTotalCapacity = CalcSysSizing(AirLoopNum).ScaledHeatingCapacity * CalcSysSizing(AirLoopNum).FloorAreaOnAirLoopHeated; + FinalSysSizing( AirLoopNum ).HeatingTotalCapacity = CalcSysSizing( AirLoopNum ).ScaledHeatingCapacity * CalcSysSizing( AirLoopNum ).FloorAreaOnAirLoopHeated; } else if (SELECT_CASE_var == FractionOfAutosizedHeatingCapacity) { - FinalSysSizing(AirLoopNum).FractionOfAutosizedHeatingCapacity = CalcSysSizing(AirLoopNum).ScaledHeatingCapacity; - } - - NumZonesHeated = AirToZoneNodeInfo(AirLoopNum).NumZonesHeated; - NumZonesForHtg = NumZonesHeated; - if (NumZonesHeated == 0) NumZonesHeated = AirToZoneNodeInfo( AirLoopNum ).NumZonesCooled;; - for (ZonesHeatedNum = 1; ZonesHeatedNum <= NumZonesForHtg; ++ZonesHeatedNum) { - if (NumZonesHeated == 0) { - CtrlZoneNum = AirToZoneNodeInfo( AirLoopNum ).CoolCtrlZoneNums( ZonesHeatedNum ); - }else { - CtrlZoneNum = AirToZoneNodeInfo( AirLoopNum ).HeatCtrlZoneNums( ZonesHeatedNum ); - } - ZoneEqSizing( CtrlZoneNum ).SizingMethod( FinalSysSizing( AirLoopNum ).HeatingCapMethod ) = SELECT_CASE_var; + FinalSysSizing( AirLoopNum ).FractionOfAutosizedHeatingCapacity = CalcSysSizing( AirLoopNum ).ScaledHeatingCapacity; } } } diff --git a/src/EnergyPlus/UnitHeater.cc b/src/EnergyPlus/UnitHeater.cc index b404dd12ad2..27d9c3682e5 100644 --- a/src/EnergyPlus/UnitHeater.cc +++ b/src/EnergyPlus/UnitHeater.cc @@ -1003,7 +1003,7 @@ namespace UnitHeater { RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); DesCoilLoad = TempSize; } else { - SizingString = "Maximum Hot Water Flow [m3/s]"; + SizingString = ""; PrintFlag = false; TempSize = AutoSize; ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; diff --git a/src/EnergyPlus/UnitVentilator.cc b/src/EnergyPlus/UnitVentilator.cc index 2b0f8869291..0e72d239351 100644 --- a/src/EnergyPlus/UnitVentilator.cc +++ b/src/EnergyPlus/UnitVentilator.cc @@ -1396,81 +1396,96 @@ namespace UnitVentilator { DataScalableSizingON = false; } else { - if (ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod > 0) { - SizingMethod = CoolingAirflowSizing; - SAFMethod = ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; - if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow) { - if (SAFMethod == SupplyAirFlowRate){ - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; - } else if (SAFMethod == FlowPerFloorArea){ - DataCoolFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; - DataScalableSizingON = true; - } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ - DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + if ( UnitVent( UnitVentNum ).CoilOption != NoneOption ) { + if (ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod > 0) { + SizingMethod = CoolingAirflowSizing; + SAFMethod = ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; + if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow) { + if (SAFMethod == SupplyAirFlowRate){ + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + } else if (SAFMethod == FlowPerFloorArea){ + DataCoolFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + DataScalableSizingON = true; + } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + } else { + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + CoolingAirVolFlowScalable = TempSize; + + } else if (SAFMethod == FlowPerCoolingCapacity) { + SizingMethod = CoolingCapacitySizing; TempSize = AutoSize; + PrintFlag = false; DataScalableSizingON = true; - } else { - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; - } - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - CoolingAirVolFlowScalable = TempSize; + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DataAutosizedCoolingCapacity = TempSize; + DataFlowPerCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + SizingMethod = CoolingAirflowSizing; + PrintFlag = true; + TempSize = AutoSize; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + CoolingAirVolFlowScalable = TempSize; + } + } else if (ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod > 0) { + SizingMethod = HeatingAirflowSizing; + SAFMethod = ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod; + ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; + if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow) { + SizingMethod = SystemAirflowSizing; + if (SAFMethod == SupplyAirFlowRate){ + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + } else if (SAFMethod == FlowPerFloorArea){ + DataHeatFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + DataScalableSizingON = true; + } else if (SAFMethod == FractionOfAutosizedHeatingAirflow){ + DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + TempSize = AutoSize; + DataScalableSizingON = true; + } else { + TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + HeatingAirVolFlowScalable = TempSize; - } else if (SAFMethod == FlowPerCoolingCapacity) { - SizingMethod = CoolingCapacitySizing; - TempSize = AutoSize; - PrintFlag = false; - DataScalableSizingON = true; - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - DataAutosizedCoolingCapacity = TempSize; - DataFlowPerCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; - SizingMethod = CoolingAirflowSizing; - PrintFlag = true; - TempSize = AutoSize; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - CoolingAirVolFlowScalable = TempSize; - } - } else if (ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod > 0) { - SizingMethod = HeatingAirflowSizing; - SAFMethod = ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; - if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow) { - SizingMethod = SystemAirflowSizing; - if (SAFMethod == SupplyAirFlowRate){ - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; - } else if (SAFMethod == FlowPerFloorArea){ - DataHeatFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; - DataScalableSizingON = true; - } else if (SAFMethod == FractionOfAutosizedHeatingAirflow){ - DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + } else if (SAFMethod == FlowPerHeatingCapacity) { + SizingMethod = HeatingCapacitySizing; TempSize = AutoSize; + PrintFlag = false; DataScalableSizingON = true; - } else { - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DataAutosizedHeatingCapacity = TempSize; + DataFlowPerHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + SizingMethod = HeatingAirflowSizing; + PrintFlag = true; + TempSize = AutoSize; + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + HeatingAirVolFlowScalable = TempSize; } - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - HeatingAirVolFlowScalable = TempSize; + } + DataScalableSizingON = false; + } else { // if ( UnitVent (UnitVentNum ).CoilOption /= NoneOption ) - } else if (SAFMethod == FlowPerHeatingCapacity) { - SizingMethod = HeatingCapacitySizing; - TempSize = AutoSize; - PrintFlag = false; - DataScalableSizingON = true; - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - DataAutosizedHeatingCapacity = TempSize; - DataFlowPerHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; - SizingMethod = HeatingAirflowSizing; - PrintFlag = true; - TempSize = AutoSize; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - HeatingAirVolFlowScalable = TempSize; + PrintFlag = true; + FieldNum = 1; + SizingString = UnitVentNumericFields( UnitVentNum ).FieldNames(FieldNum) + " [m3/s]"; + SizingMethod = SystemAirflowSizing; + if ( UnitVent( UnitVentNum ).MaxAirVolFlow == AutoSize ) { + TempSize = FinalZoneSizing( CurZoneEqNum ).MinOA; + } else { + TempSize = UnitVent( UnitVentNum ).MaxAirVolFlow; } + RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + HeatingAirVolFlowScalable = TempSize; } - DataScalableSizingON = false; } UnitVent( UnitVentNum ).MaxAirVolFlow = max( CoolingAirVolFlowScalable, HeatingAirVolFlowScalable ); @@ -1481,9 +1496,19 @@ namespace UnitVentilator { // N1 , \field Maximum Supply Air Flow Rate PrintFlag = true; FieldNum = 1; - SizingString = UnitVentNumericFields(UnitVentNum).FieldNames(FieldNum) + " [m3/s]"; + SizingString = UnitVentNumericFields( UnitVentNum ).FieldNames(FieldNum) + " [m3/s]"; SizingMethod = SystemAirflowSizing; - TempSize = UnitVent(UnitVentNum).MaxAirVolFlow; + if ( UnitVent( UnitVentNum ).CoilOption == NoneOption ) { + + if (UnitVent( UnitVentNum ).MaxAirVolFlow == AutoSize) { + TempSize = FinalZoneSizing( CurZoneEqNum ).MinOA; + } else { + TempSize = UnitVent( UnitVentNum ).MaxAirVolFlow; + } + + } else { + TempSize = UnitVent( UnitVentNum ).MaxAirVolFlow; + } RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); UnitVent( UnitVentNum ).MaxAirVolFlow = TempSize; } @@ -1589,7 +1614,6 @@ namespace UnitVentilator { ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; } else { DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; - //DataFlowUsedForSizing = UnitVent(UnitVentNum).MaxAirVolFlow; } TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; } else if (CapSizingMethod == CapacityPerFloorArea){ @@ -1598,16 +1622,15 @@ namespace UnitVentilator { } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; - //DataFlowUsedForSizing = UnitVent(UnitVentNum).MaxAirVolFlow; TempSize = AutoSize; } } - SizingString = "Maximum Hot Water Flow [m3/s]"; + SizingString = ""; PrintFlag = false; RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); DesHeatingLoad = TempSize; } else { - SizingString = "Maximum Hot Water Flow [m3/s]"; + SizingString = ""; PrintFlag = false; TempSize = AutoSize; DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; @@ -1682,7 +1705,6 @@ namespace UnitVentilator { ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; } else { DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; - //DataFlowUsedForSizing = UnitVent(UnitVentNum).MaxAirVolFlow; } TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; } else if (CapSizingMethod == CapacityPerFloorArea){ @@ -1691,20 +1713,18 @@ namespace UnitVentilator { } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; - //DataFlowUsedForSizing = UnitVent(UnitVentNum).MaxAirVolFlow; TempSize = AutoSize; } } - SizingString = "Maximum Steam Flow [m3/s]"; + SizingString = ""; PrintFlag = false; RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); DesHeatingLoad = TempSize; } else { - SizingString = "Maximum Steam Flow [m3/s]"; + SizingString = ""; PrintFlag = false; TempSize = AutoSize; DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; - //DataFlowUsedForSizing = UnitVent(UnitVentNum).MaxAirVolFlow; RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); DesHeatingLoad = TempSize; } @@ -1787,7 +1807,6 @@ namespace UnitVentilator { ZoneEqSizing(CurZoneEqNum).DesCoolingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; } else { DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; - //DataFlowUsedForSizing = UnitVent(UnitVentNum).MaxAirVolFlow; } TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; } else if (CapSizingMethod == CapacityPerFloorArea){ @@ -1796,16 +1815,15 @@ namespace UnitVentilator { } else if (CapSizingMethod == FractionOfAutosizedCoolingCapacity){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; - //DataFlowUsedForSizing = UnitVent(UnitVentNum).MaxAirVolFlow; TempSize = AutoSize; } } - SizingString = "Maximum Cold Water Flow [m3/s]"; + SizingString = ""; PrintFlag = false; RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); DesCoolingLoad = TempSize; } else { - SizingString = "Maximum Cold Water Flow [m3/s]"; + SizingString = ""; PrintFlag = false; TempSize = AutoSize; DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; diff --git a/src/EnergyPlus/VentilatedSlab.cc b/src/EnergyPlus/VentilatedSlab.cc index f579fc0a6a9..f1e2cd7fcd1 100644 --- a/src/EnergyPlus/VentilatedSlab.cc +++ b/src/EnergyPlus/VentilatedSlab.cc @@ -1710,15 +1710,14 @@ namespace VentilatedSlab { TempSize = AutoSize; } } - SizingString = "Maximum Hot Water Flow [m3/s]"; + SizingString = ""; PrintFlag = false; RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); DesCoilLoad = TempSize; } else { - SizingString = "Maximum Hot Water Flow [m3/s]"; + SizingString = ""; PrintFlag = false; TempSize = AutoSize; - //DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); DesCoilLoad = TempSize; } @@ -1802,15 +1801,14 @@ namespace VentilatedSlab { TempSize = AutoSize; } } - SizingString = "Maximum Steam Flow [m3/s]"; + SizingString = ""; PrintFlag = false; RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); DesCoilLoad = TempSize; } else { - SizingString = "Maximum Steam Flow [m3/s]"; + SizingString = ""; PrintFlag = false; TempSize = AutoSize; - //DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); DesCoilLoad = TempSize; } @@ -1902,12 +1900,12 @@ namespace VentilatedSlab { TempSize = AutoSize; } } - SizingString = "Maximum Cold Water Flow [m3/s]"; + SizingString = ""; PrintFlag = false; RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); DesCoilLoad = TempSize; } else { - SizingString = "Maximum Cold Water Flow [m3/s]"; + SizingString = ""; PrintFlag = false; TempSize = AutoSize; DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; diff --git a/testfiles/5ZoneAirCooled.idf b/testfiles/5ZoneAirCooled.idf index 3fc98991799..8092d55ce3c 100644 --- a/testfiles/5ZoneAirCooled.idf +++ b/testfiles/5ZoneAirCooled.idf @@ -1903,11 +1903,19 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method + Sizing:Plant, Hot Water Loop, !- Plant or Condenser Loop Name heating, !- Loop Type diff --git a/testfiles/5ZoneAirCooledConvCoef.idf b/testfiles/5ZoneAirCooledConvCoef.idf index 7d44fa09d3b..6f50c7c1dcb 100644 --- a/testfiles/5ZoneAirCooledConvCoef.idf +++ b/testfiles/5ZoneAirCooledConvCoef.idf @@ -1890,9 +1890,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneAirCooledConvCoefPIU.idf b/testfiles/5ZoneAirCooledConvCoefPIU.idf index 4e861f508a5..68315265615 100644 --- a/testfiles/5ZoneAirCooledConvCoefPIU.idf +++ b/testfiles/5ZoneAirCooledConvCoefPIU.idf @@ -1914,9 +1914,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneAirCooledDemandLimiting.idf b/testfiles/5ZoneAirCooledDemandLimiting.idf index b71579bbeba..999b89483ee 100644 --- a/testfiles/5ZoneAirCooledDemandLimiting.idf +++ b/testfiles/5ZoneAirCooledDemandLimiting.idf @@ -1751,9 +1751,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneAirCooledWithSlab.idf b/testfiles/5ZoneAirCooledWithSlab.idf index 44f1d13580b..ac24b27f53d 100644 --- a/testfiles/5ZoneAirCooledWithSlab.idf +++ b/testfiles/5ZoneAirCooledWithSlab.idf @@ -1970,9 +1970,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneAirCooled_UniformLoading.idf b/testfiles/5ZoneAirCooled_UniformLoading.idf index 4f3d8f3fbfa..6ba484e49d4 100644 --- a/testfiles/5ZoneAirCooled_UniformLoading.idf +++ b/testfiles/5ZoneAirCooled_UniformLoading.idf @@ -1904,9 +1904,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneAirCooled_VRPSizing.idf b/testfiles/5ZoneAirCooled_VRPSizing.idf index ebd7cdba2c7..7dd72637575 100644 --- a/testfiles/5ZoneAirCooled_VRPSizing.idf +++ b/testfiles/5ZoneAirCooled_VRPSizing.idf @@ -1933,9 +1933,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} VentilationRateProcedure;!- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneAirCooled_VRPSizing_MaxZd.idf b/testfiles/5ZoneAirCooled_VRPSizing_MaxZd.idf index d457b2feb6f..c6617e858ca 100644 --- a/testfiles/5ZoneAirCooled_VRPSizing_MaxZd.idf +++ b/testfiles/5ZoneAirCooled_VRPSizing_MaxZd.idf @@ -1936,9 +1936,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} VentilationRateProcedure,!- System Outdoor Air Method 0.6; !- Zone Maximum Outdoor Air Fraction {dimensionless} diff --git a/testfiles/5ZoneAirCooled_ZoneAirMassFlowBalance.idf b/testfiles/5ZoneAirCooled_ZoneAirMassFlowBalance.idf index 15fdaebd727..d1e5c0a3e5f 100644 --- a/testfiles/5ZoneAirCooled_ZoneAirMassFlowBalance.idf +++ b/testfiles/5ZoneAirCooled_ZoneAirMassFlowBalance.idf @@ -2010,9 +2010,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneAutoDXVAV.idf b/testfiles/5ZoneAutoDXVAV.idf index 9491311e35e..c47829e683a 100644 --- a/testfiles/5ZoneAutoDXVAV.idf +++ b/testfiles/5ZoneAutoDXVAV.idf @@ -1904,9 +1904,16 @@ 0.009, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.009, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Schedule:Compact, diff --git a/testfiles/5ZoneBoilerOutsideAirReset.idf b/testfiles/5ZoneBoilerOutsideAirReset.idf index 7609b0778b5..85fbd57d554 100644 --- a/testfiles/5ZoneBoilerOutsideAirReset.idf +++ b/testfiles/5ZoneBoilerOutsideAirReset.idf @@ -1923,9 +1923,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneBranchSupplyPumps.idf b/testfiles/5ZoneBranchSupplyPumps.idf index 86d562cc86d..1601c4173cf 100644 --- a/testfiles/5ZoneBranchSupplyPumps.idf +++ b/testfiles/5ZoneBranchSupplyPumps.idf @@ -1895,9 +1895,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneCAV_MaxTemp.idf b/testfiles/5ZoneCAV_MaxTemp.idf index 00e3a97d466..7aa062c800a 100644 --- a/testfiles/5ZoneCAV_MaxTemp.idf +++ b/testfiles/5ZoneCAV_MaxTemp.idf @@ -2103,9 +2103,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneCAVtoVAVWarmestTempFlow.idf b/testfiles/5ZoneCAVtoVAVWarmestTempFlow.idf index 9751f290cca..8baac95c3d7 100644 --- a/testfiles/5ZoneCAVtoVAVWarmestTempFlow.idf +++ b/testfiles/5ZoneCAVtoVAVWarmestTempFlow.idf @@ -2096,9 +2096,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneCoolBeam.idf b/testfiles/5ZoneCoolBeam.idf index c3c9cb5aa9f..6304de95d06 100644 --- a/testfiles/5ZoneCoolBeam.idf +++ b/testfiles/5ZoneCoolBeam.idf @@ -2046,9 +2046,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneCostEst.idf b/testfiles/5ZoneCostEst.idf index b20cde33701..90f380da2a3 100644 --- a/testfiles/5ZoneCostEst.idf +++ b/testfiles/5ZoneCostEst.idf @@ -3206,9 +3206,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AirLoopHVAC, diff --git a/testfiles/5ZoneDDCycOnAny.idf b/testfiles/5ZoneDDCycOnAny.idf index 9980c38e355..bbe4a5af904 100644 --- a/testfiles/5ZoneDDCycOnAny.idf +++ b/testfiles/5ZoneDDCycOnAny.idf @@ -2132,9 +2132,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, diff --git a/testfiles/5ZoneDDCycOnOne.idf b/testfiles/5ZoneDDCycOnOne.idf index bc5b5125568..be38ab37302 100644 --- a/testfiles/5ZoneDDCycOnOne.idf +++ b/testfiles/5ZoneDDCycOnOne.idf @@ -2132,9 +2132,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, diff --git a/testfiles/5ZoneDesignInputCoolingCoil.idf b/testfiles/5ZoneDesignInputCoolingCoil.idf index ed5cbec4c31..aa706e9b983 100644 --- a/testfiles/5ZoneDesignInputCoolingCoil.idf +++ b/testfiles/5ZoneDesignInputCoolingCoil.idf @@ -1883,9 +1883,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneDetailedIceStorage.idf b/testfiles/5ZoneDetailedIceStorage.idf index ec14e664808..7b5ac92cee9 100644 --- a/testfiles/5ZoneDetailedIceStorage.idf +++ b/testfiles/5ZoneDetailedIceStorage.idf @@ -1831,9 +1831,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneDetailedIceStorage2.idf b/testfiles/5ZoneDetailedIceStorage2.idf index acbb99d739c..2e506b919de 100644 --- a/testfiles/5ZoneDetailedIceStorage2.idf +++ b/testfiles/5ZoneDetailedIceStorage2.idf @@ -1831,9 +1831,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneEconomicsTariffAndLifeCycleCosts.idf b/testfiles/5ZoneEconomicsTariffAndLifeCycleCosts.idf index 5de8af46dcf..eceaf099139 100644 --- a/testfiles/5ZoneEconomicsTariffAndLifeCycleCosts.idf +++ b/testfiles/5ZoneEconomicsTariffAndLifeCycleCosts.idf @@ -1883,9 +1883,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneElectricBaseboard.idf b/testfiles/5ZoneElectricBaseboard.idf index a820f24493c..2b64c712f0b 100644 --- a/testfiles/5ZoneElectricBaseboard.idf +++ b/testfiles/5ZoneElectricBaseboard.idf @@ -2116,9 +2116,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method !- =========== ALL OBJECTS IN CLASS: SIZING:PLANT =========== diff --git a/testfiles/5ZoneEndUses.idf b/testfiles/5ZoneEndUses.idf index 2a5296dd6c4..dd1e5a0c439 100644 --- a/testfiles/5ZoneEndUses.idf +++ b/testfiles/5ZoneEndUses.idf @@ -2134,9 +2134,16 @@ 0.009, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.009, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Schedule:Compact, diff --git a/testfiles/5ZoneEngChill.idf b/testfiles/5ZoneEngChill.idf index 5a42c323013..19a2e3095d9 100644 --- a/testfiles/5ZoneEngChill.idf +++ b/testfiles/5ZoneEngChill.idf @@ -2054,9 +2054,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneFPIU.idf b/testfiles/5ZoneFPIU.idf index ac06c3eaec7..02b7decdd82 100644 --- a/testfiles/5ZoneFPIU.idf +++ b/testfiles/5ZoneFPIU.idf @@ -2068,9 +2068,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneGeometryTransform.idf b/testfiles/5ZoneGeometryTransform.idf index 901510923f8..b680b5ae576 100644 --- a/testfiles/5ZoneGeometryTransform.idf +++ b/testfiles/5ZoneGeometryTransform.idf @@ -2132,9 +2132,16 @@ 0.009, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.009, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Schedule:Compact, diff --git a/testfiles/5ZoneIceStorage.idf b/testfiles/5ZoneIceStorage.idf index e0f3a69d5ac..f3db4ff67e3 100644 --- a/testfiles/5ZoneIceStorage.idf +++ b/testfiles/5ZoneIceStorage.idf @@ -1912,9 +1912,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneNightVent1.idf b/testfiles/5ZoneNightVent1.idf index 1fd5da71ec6..5f2d1901108 100644 --- a/testfiles/5ZoneNightVent1.idf +++ b/testfiles/5ZoneNightVent1.idf @@ -2041,9 +2041,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneNightVent2.idf b/testfiles/5ZoneNightVent2.idf index 48a42a1060f..57768ba6fe8 100644 --- a/testfiles/5ZoneNightVent2.idf +++ b/testfiles/5ZoneNightVent2.idf @@ -2421,9 +2421,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneNightVent3.idf b/testfiles/5ZoneNightVent3.idf index f3706ff26c9..627374a4155 100644 --- a/testfiles/5ZoneNightVent3.idf +++ b/testfiles/5ZoneNightVent3.idf @@ -2079,9 +2079,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneReturnFan.idf b/testfiles/5ZoneReturnFan.idf index 28ade4e046c..f704f7c9c42 100644 --- a/testfiles/5ZoneReturnFan.idf +++ b/testfiles/5ZoneReturnFan.idf @@ -2054,9 +2054,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneSteamBaseboard.idf b/testfiles/5ZoneSteamBaseboard.idf index d400d186b7d..ad360d2dd96 100644 --- a/testfiles/5ZoneSteamBaseboard.idf +++ b/testfiles/5ZoneSteamBaseboard.idf @@ -2157,9 +2157,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method ! Single Chiller Supply diff --git a/testfiles/5ZoneSupRetPlenRAB.idf b/testfiles/5ZoneSupRetPlenRAB.idf index 388282bf079..68ba21d58e6 100644 --- a/testfiles/5ZoneSupRetPlenRAB.idf +++ b/testfiles/5ZoneSupRetPlenRAB.idf @@ -2253,9 +2253,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneSupRetPlenVSATU.idf b/testfiles/5ZoneSupRetPlenVSATU.idf index 1953952b3f5..e69496f5db1 100644 --- a/testfiles/5ZoneSupRetPlenVSATU.idf +++ b/testfiles/5ZoneSupRetPlenVSATU.idf @@ -2473,9 +2473,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneTDV.idf b/testfiles/5ZoneTDV.idf index a621f7f7998..fac35e4ff4e 100644 --- a/testfiles/5ZoneTDV.idf +++ b/testfiles/5ZoneTDV.idf @@ -1881,9 +1881,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneVAV-ChilledWaterStorage-Mixed.idf b/testfiles/5ZoneVAV-ChilledWaterStorage-Mixed.idf index 336d5be98c6..307b900d33c 100644 --- a/testfiles/5ZoneVAV-ChilledWaterStorage-Mixed.idf +++ b/testfiles/5ZoneVAV-ChilledWaterStorage-Mixed.idf @@ -3750,9 +3750,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, diff --git a/testfiles/5ZoneVAV-ChilledWaterStorage-Mixed_DCV_MaxZd.idf b/testfiles/5ZoneVAV-ChilledWaterStorage-Mixed_DCV_MaxZd.idf index 9982e42790b..7d42475f2ff 100644 --- a/testfiles/5ZoneVAV-ChilledWaterStorage-Mixed_DCV_MaxZd.idf +++ b/testfiles/5ZoneVAV-ChilledWaterStorage-Mixed_DCV_MaxZd.idf @@ -3766,9 +3766,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} VentilationRateProcedure,!- System Outdoor Air Method 0.3; !- Zone Maximum Outdoor Air Fraction {dimensionless} diff --git a/testfiles/5ZoneVAV-ChilledWaterStorage-Mixed_DCV_MultiPath.idf b/testfiles/5ZoneVAV-ChilledWaterStorage-Mixed_DCV_MultiPath.idf index 328f69596b0..858668edcd5 100644 --- a/testfiles/5ZoneVAV-ChilledWaterStorage-Mixed_DCV_MultiPath.idf +++ b/testfiles/5ZoneVAV-ChilledWaterStorage-Mixed_DCV_MultiPath.idf @@ -3766,9 +3766,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} VentilationRateProcedure,!- System Outdoor Air Method 1.0; !- Zone Maximum Outdoor Air Fraction {dimensionless} diff --git a/testfiles/5ZoneVAV-ChilledWaterStorage-Stratified.idf b/testfiles/5ZoneVAV-ChilledWaterStorage-Stratified.idf index 9d054cd9627..93c2c8e8c04 100644 --- a/testfiles/5ZoneVAV-ChilledWaterStorage-Stratified.idf +++ b/testfiles/5ZoneVAV-ChilledWaterStorage-Stratified.idf @@ -3736,9 +3736,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, diff --git a/testfiles/5ZoneVAV-Pri-SecLoop.idf b/testfiles/5ZoneVAV-Pri-SecLoop.idf index 28a7edd60ba..80ead6efffb 100644 --- a/testfiles/5ZoneVAV-Pri-SecLoop.idf +++ b/testfiles/5ZoneVAV-Pri-SecLoop.idf @@ -2429,9 +2429,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AirLoopHVAC, diff --git a/testfiles/5ZoneWLHPPlantLoopTower.idf b/testfiles/5ZoneWLHPPlantLoopTower.idf index 6560caeabcc..19fb7282a41 100644 --- a/testfiles/5ZoneWLHPPlantLoopTower.idf +++ b/testfiles/5ZoneWLHPPlantLoopTower.idf @@ -2102,9 +2102,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AirLoopHVAC, @@ -2343,9 +2350,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AirLoopHVAC, @@ -2581,9 +2595,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AirLoopHVAC, @@ -2819,9 +2840,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AirLoopHVAC, @@ -3057,9 +3085,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AirLoopHVAC, diff --git a/testfiles/5ZoneWarmest.idf b/testfiles/5ZoneWarmest.idf index 3143a02216b..a4c72bd5699 100644 --- a/testfiles/5ZoneWarmest.idf +++ b/testfiles/5ZoneWarmest.idf @@ -2078,9 +2078,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneWarmestVFD.idf b/testfiles/5ZoneWarmestVFD.idf index 8d7b238bdfe..28f31d0cb12 100644 --- a/testfiles/5ZoneWarmestVFD.idf +++ b/testfiles/5ZoneWarmestVFD.idf @@ -2084,9 +2084,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneWarmestVFD_FCMAuto.idf b/testfiles/5ZoneWarmestVFD_FCMAuto.idf index c4eaeed9580..323fc97f45f 100644 --- a/testfiles/5ZoneWarmestVFD_FCMAuto.idf +++ b/testfiles/5ZoneWarmestVFD_FCMAuto.idf @@ -2065,9 +2065,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneWaterCooled_Baseboard.idf b/testfiles/5ZoneWaterCooled_Baseboard.idf index 3a00e313a3b..c3e047306bd 100644 --- a/testfiles/5ZoneWaterCooled_Baseboard.idf +++ b/testfiles/5ZoneWaterCooled_Baseboard.idf @@ -2109,9 +2109,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method !- =========== ALL OBJECTS IN CLASS: SIZING:PLANT =========== diff --git a/testfiles/5ZoneWaterCooled_HighRHControl.idf b/testfiles/5ZoneWaterCooled_HighRHControl.idf index 7fe8a20d7e7..df3b1d97876 100644 --- a/testfiles/5ZoneWaterCooled_HighRHControl.idf +++ b/testfiles/5ZoneWaterCooled_HighRHControl.idf @@ -1906,9 +1906,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneWaterCooled_MultizoneAverageRHControl.idf b/testfiles/5ZoneWaterCooled_MultizoneAverageRHControl.idf index 984aa0353e5..a1a739e7ff7 100644 --- a/testfiles/5ZoneWaterCooled_MultizoneAverageRHControl.idf +++ b/testfiles/5ZoneWaterCooled_MultizoneAverageRHControl.idf @@ -1922,9 +1922,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneWaterCooled_MultizoneMinMaxRHControl.idf b/testfiles/5ZoneWaterCooled_MultizoneMinMaxRHControl.idf index e207877890a..969656a21e4 100644 --- a/testfiles/5ZoneWaterCooled_MultizoneMinMaxRHControl.idf +++ b/testfiles/5ZoneWaterCooled_MultizoneMinMaxRHControl.idf @@ -1922,9 +1922,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/5ZoneWaterLoopHeatPump.idf b/testfiles/5ZoneWaterLoopHeatPump.idf index 07d2cf69c94..b3607edac8c 100644 --- a/testfiles/5ZoneWaterLoopHeatPump.idf +++ b/testfiles/5ZoneWaterLoopHeatPump.idf @@ -2016,9 +2016,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AirLoopHVAC, @@ -2257,9 +2264,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AirLoopHVAC, @@ -2495,9 +2509,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AirLoopHVAC, @@ -2733,9 +2754,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AirLoopHVAC, @@ -2971,9 +2999,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AirLoopHVAC, diff --git a/testfiles/5Zone_Transformer.idf b/testfiles/5Zone_Transformer.idf index 7f311ede3ef..bee342d7296 100644 --- a/testfiles/5Zone_Transformer.idf +++ b/testfiles/5Zone_Transformer.idf @@ -2144,11 +2144,19 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method + !- =========== ALL OBJECTS IN CLASS: SIZING:PLANT =========== Sizing:Plant, diff --git a/testfiles/5zoneWaterSystems.idf b/testfiles/5zoneWaterSystems.idf index 2183e51c9d0..e220dce74c9 100644 --- a/testfiles/5zoneWaterSystems.idf +++ b/testfiles/5zoneWaterSystems.idf @@ -3937,9 +3937,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/AirEconomizerFaults_RefBldgLargeOfficeNew2004_Chicago.idf b/testfiles/AirEconomizerFaults_RefBldgLargeOfficeNew2004_Chicago.idf index 3f8b9d55655..5105eb143ef 100644 --- a/testfiles/AirEconomizerFaults_RefBldgLargeOfficeNew2004_Chicago.idf +++ b/testfiles/AirEconomizerFaults_RefBldgLargeOfficeNew2004_Chicago.idf @@ -6053,8 +6053,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -6075,8 +6082,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -6097,8 +6111,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -6119,8 +6140,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Controller:OutdoorAir, diff --git a/testfiles/AirEconomizerWithMaxMinOAFractions.idf b/testfiles/AirEconomizerWithMaxMinOAFractions.idf index 5387a8e3a96..3dfa66737d5 100644 --- a/testfiles/AirEconomizerWithMaxMinOAFractions.idf +++ b/testfiles/AirEconomizerWithMaxMinOAFractions.idf @@ -2464,9 +2464,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AirLoopHVAC, diff --git a/testfiles/AirflowNetwork_MultiZone_House_OvercoolDehumid.idf b/testfiles/AirflowNetwork_MultiZone_House_OvercoolDehumid.idf index da041a004f9..89c13c72413 100644 --- a/testfiles/AirflowNetwork_MultiZone_House_OvercoolDehumid.idf +++ b/testfiles/AirflowNetwork_MultiZone_House_OvercoolDehumid.idf @@ -2132,9 +2132,16 @@ 0.009, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.009, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AirLoopHVAC:UnitaryHeatCool, diff --git a/testfiles/AirflowNetwork_MultiZone_SmallOffice_VAV.idf b/testfiles/AirflowNetwork_MultiZone_SmallOffice_VAV.idf index 5f9aeb732b9..2aea1b9ec51 100644 --- a/testfiles/AirflowNetwork_MultiZone_SmallOffice_VAV.idf +++ b/testfiles/AirflowNetwork_MultiZone_SmallOffice_VAV.idf @@ -3138,8 +3138,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method ! Outdoor air specification should be consistent with Sizing:Zone object inputs. diff --git a/testfiles/ChangeoverBypassVAV.idf b/testfiles/ChangeoverBypassVAV.idf index e43e4d5b627..6bd3a70f2de 100644 --- a/testfiles/ChangeoverBypassVAV.idf +++ b/testfiles/ChangeoverBypassVAV.idf @@ -1188,9 +1188,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method !- =========== ALL OBJECTS IN CLASS: ZONECONTROL:THERMOSTAT =========== diff --git a/testfiles/ChangeoverBypassVAV_MaxTemp.idf b/testfiles/ChangeoverBypassVAV_MaxTemp.idf index d83562b80db..840aa078cd7 100644 --- a/testfiles/ChangeoverBypassVAV_MaxTemp.idf +++ b/testfiles/ChangeoverBypassVAV_MaxTemp.idf @@ -1196,9 +1196,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method !- =========== ALL OBJECTS IN CLASS: ZONECONTROL:THERMOSTAT =========== diff --git a/testfiles/CmplxGlz_Daylighting_SouthVB45deg.idf b/testfiles/CmplxGlz_Daylighting_SouthVB45deg.idf index bcb675bfb88..601e49019af 100644 --- a/testfiles/CmplxGlz_Daylighting_SouthVB45deg.idf +++ b/testfiles/CmplxGlz_Daylighting_SouthVB45deg.idf @@ -86214,9 +86214,16 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} - ZoneSum; !- System Outdoor Air Method + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} + ; !- System Outdoor Air Method AirLoopHVAC, SYS-1, !- Name diff --git a/testfiles/CommonPipe_Pri-Sec.idf b/testfiles/CommonPipe_Pri-Sec.idf index e176b5b4f10..eec4e473666 100644 --- a/testfiles/CommonPipe_Pri-Sec.idf +++ b/testfiles/CommonPipe_Pri-Sec.idf @@ -1882,9 +1882,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/ConvectionAdaptiveSmallOffice.idf b/testfiles/ConvectionAdaptiveSmallOffice.idf index 00a7fef8101..9f0a69db9f5 100644 --- a/testfiles/ConvectionAdaptiveSmallOffice.idf +++ b/testfiles/ConvectionAdaptiveSmallOffice.idf @@ -2837,8 +2837,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -2859,8 +2866,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -2881,8 +2895,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -2903,8 +2924,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -2925,8 +2953,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Controller:OutdoorAir, diff --git a/testfiles/CoolingTowerDryBulbRangeOp.idf b/testfiles/CoolingTowerDryBulbRangeOp.idf index 804e05050d0..09b57d015f4 100644 --- a/testfiles/CoolingTowerDryBulbRangeOp.idf +++ b/testfiles/CoolingTowerDryBulbRangeOp.idf @@ -1894,9 +1894,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/CoolingTowerRHRangeOp.idf b/testfiles/CoolingTowerRHRangeOp.idf index 4ad3da569eb..c7496829b13 100644 --- a/testfiles/CoolingTowerRHRangeOp.idf +++ b/testfiles/CoolingTowerRHRangeOp.idf @@ -1894,9 +1894,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/CoolingTowerWetBulbRangeOp.idf b/testfiles/CoolingTowerWetBulbRangeOp.idf index eab5cbc6dfb..00b2f8e6e9e 100644 --- a/testfiles/CoolingTowerWetBulbRangeOp.idf +++ b/testfiles/CoolingTowerWetBulbRangeOp.idf @@ -1894,9 +1894,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/CoolingTowerWithDBDeltaTempOp.idf b/testfiles/CoolingTowerWithDBDeltaTempOp.idf index 0cf884ffa04..e803e2aa8f2 100644 --- a/testfiles/CoolingTowerWithDBDeltaTempOp.idf +++ b/testfiles/CoolingTowerWithDBDeltaTempOp.idf @@ -1894,9 +1894,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/CoolingTower_FluidBypass.idf b/testfiles/CoolingTower_FluidBypass.idf index 02ba7386548..59fe4dac19f 100644 --- a/testfiles/CoolingTower_FluidBypass.idf +++ b/testfiles/CoolingTower_FluidBypass.idf @@ -8087,9 +8087,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -8352,9 +8359,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -8635,9 +8649,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -8918,9 +8939,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, diff --git a/testfiles/CoolingTower_MerkelVariableSpeed.idf b/testfiles/CoolingTower_MerkelVariableSpeed.idf index 8bb90331b83..dbf1e5387f4 100644 --- a/testfiles/CoolingTower_MerkelVariableSpeed.idf +++ b/testfiles/CoolingTower_MerkelVariableSpeed.idf @@ -6012,8 +6012,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -6034,8 +6041,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -6056,8 +6070,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -6078,8 +6099,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Controller:OutdoorAir, diff --git a/testfiles/CoolingTower_SingleSpeed_MultiCell.idf b/testfiles/CoolingTower_SingleSpeed_MultiCell.idf index f621bad8c81..5d9f5034ffd 100644 --- a/testfiles/CoolingTower_SingleSpeed_MultiCell.idf +++ b/testfiles/CoolingTower_SingleSpeed_MultiCell.idf @@ -8087,9 +8087,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -8352,9 +8359,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -8635,9 +8649,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -8918,9 +8939,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, diff --git a/testfiles/CoolingTower_TwoSpeed_MultiCell.idf b/testfiles/CoolingTower_TwoSpeed_MultiCell.idf index 6423ac6e21c..08b5f463fab 100644 --- a/testfiles/CoolingTower_TwoSpeed_MultiCell.idf +++ b/testfiles/CoolingTower_TwoSpeed_MultiCell.idf @@ -8087,9 +8087,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -8352,9 +8359,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -8635,9 +8649,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -8918,9 +8939,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, diff --git a/testfiles/CoolingTower_VariableSpeed.idf b/testfiles/CoolingTower_VariableSpeed.idf index a278eee5146..89d0faf5c41 100644 --- a/testfiles/CoolingTower_VariableSpeed.idf +++ b/testfiles/CoolingTower_VariableSpeed.idf @@ -1929,9 +1929,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/CoolingTower_VariableSpeed_CondEntTempReset.idf b/testfiles/CoolingTower_VariableSpeed_CondEntTempReset.idf index 7737d9ba0de..cddc955d648 100644 --- a/testfiles/CoolingTower_VariableSpeed_CondEntTempReset.idf +++ b/testfiles/CoolingTower_VariableSpeed_CondEntTempReset.idf @@ -1931,9 +1931,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/CoolingTower_VariableSpeed_IdealCondEntTempSetpoint.idf b/testfiles/CoolingTower_VariableSpeed_IdealCondEntTempSetpoint.idf index a6933737db6..1d87b895bc7 100644 --- a/testfiles/CoolingTower_VariableSpeed_IdealCondEntTempSetpoint.idf +++ b/testfiles/CoolingTower_VariableSpeed_IdealCondEntTempSetpoint.idf @@ -1936,9 +1936,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/CoolingTower_VariableSpeed_MultiCell.idf b/testfiles/CoolingTower_VariableSpeed_MultiCell.idf index 3aa62d56535..2eb6db69c2a 100644 --- a/testfiles/CoolingTower_VariableSpeed_MultiCell.idf +++ b/testfiles/CoolingTower_VariableSpeed_MultiCell.idf @@ -8087,9 +8087,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -8352,9 +8359,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -8635,9 +8649,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -8918,9 +8939,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, diff --git a/testfiles/CustomSolarVisibleSpectrum_RefBldgSmallOfficeNew2004_Chicago.idf b/testfiles/CustomSolarVisibleSpectrum_RefBldgSmallOfficeNew2004_Chicago.idf index 562396a0982..fe6795781e9 100644 --- a/testfiles/CustomSolarVisibleSpectrum_RefBldgSmallOfficeNew2004_Chicago.idf +++ b/testfiles/CustomSolarVisibleSpectrum_RefBldgSmallOfficeNew2004_Chicago.idf @@ -2836,8 +2836,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -2858,8 +2865,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -2880,8 +2894,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -2902,8 +2923,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -2924,8 +2952,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Controller:OutdoorAir, diff --git a/testfiles/DDAutoSize.idf b/testfiles/DDAutoSize.idf index 900124d92a3..06263e57a08 100644 --- a/testfiles/DDAutoSize.idf +++ b/testfiles/DDAutoSize.idf @@ -1248,9 +1248,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/DOASDXCOIL_wADPBFMethod.idf b/testfiles/DOASDXCOIL_wADPBFMethod.idf index c29fe1092f7..eebc899e4ef 100644 --- a/testfiles/DOASDXCOIL_wADPBFMethod.idf +++ b/testfiles/DOASDXCOIL_wADPBFMethod.idf @@ -2212,9 +2212,16 @@ 0.00924, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.003, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ZoneSum; !- System Outdoor Air Method AirLoopHVAC, diff --git a/testfiles/DOASDualDuctSchool.idf b/testfiles/DOASDualDuctSchool.idf index 3dac376466a..3cc796953fc 100644 --- a/testfiles/DOASDualDuctSchool.idf +++ b/testfiles/DOASDualDuctSchool.idf @@ -7615,9 +7615,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method BranchList, @@ -7935,9 +7942,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method BranchList, diff --git a/testfiles/DOAToFanCoilInlet.idf b/testfiles/DOAToFanCoilInlet.idf index 6f5b64ab3d4..c73539599cc 100644 --- a/testfiles/DOAToFanCoilInlet.idf +++ b/testfiles/DOAToFanCoilInlet.idf @@ -2031,9 +2031,16 @@ 0.00924, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.003, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ZoneSum; !- System Outdoor Air Method !- =========== ALL OBJECTS IN CLASS: SIZING:PLANT =========== diff --git a/testfiles/DOAToFanCoilSupply.idf b/testfiles/DOAToFanCoilSupply.idf index 7a6fad1a315..b69ef58659d 100644 --- a/testfiles/DOAToFanCoilSupply.idf +++ b/testfiles/DOAToFanCoilSupply.idf @@ -2031,9 +2031,16 @@ 0.00924, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.003, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ZoneSum; !- System Outdoor Air Method !- =========== ALL OBJECTS IN CLASS: SIZING:PLANT =========== diff --git a/testfiles/DXCoilSystemAuto.idf b/testfiles/DXCoilSystemAuto.idf index 0aa2bafd4fa..066fe665bfa 100644 --- a/testfiles/DXCoilSystemAuto.idf +++ b/testfiles/DXCoilSystemAuto.idf @@ -1176,9 +1176,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Curve:Biquadratic, diff --git a/testfiles/DirectIndirectEvapCoolers.idf b/testfiles/DirectIndirectEvapCoolers.idf index 8c15dbf9e10..9724dd555a4 100644 --- a/testfiles/DirectIndirectEvapCoolers.idf +++ b/testfiles/DirectIndirectEvapCoolers.idf @@ -3916,9 +3916,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -4222,9 +4229,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -4506,9 +4520,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -4808,9 +4829,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, diff --git a/testfiles/DirectIndirectEvapCoolersVSAS.idf b/testfiles/DirectIndirectEvapCoolersVSAS.idf index 0bb799ce06a..fa1d8e70aa5 100644 --- a/testfiles/DirectIndirectEvapCoolersVSAS.idf +++ b/testfiles/DirectIndirectEvapCoolersVSAS.idf @@ -4481,9 +4481,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -4751,9 +4758,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -4999,9 +5013,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -5265,9 +5286,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, diff --git a/testfiles/DisplacementVent_1ZoneOffice.idf b/testfiles/DisplacementVent_1ZoneOffice.idf index 63ecdb7ff40..3c8e7b10dab 100644 --- a/testfiles/DisplacementVent_1ZoneOffice.idf +++ b/testfiles/DisplacementVent_1ZoneOffice.idf @@ -1280,9 +1280,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/DisplacementVent_VAV.idf b/testfiles/DisplacementVent_VAV.idf index 0b39232ead8..964a3c77fad 100644 --- a/testfiles/DisplacementVent_VAV.idf +++ b/testfiles/DisplacementVent_VAV.idf @@ -696,8 +696,16 @@ 0.015, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} flow/system, !- Cooling Design Air Flow Method 1.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} + ; !- System Outdoor Air Method ; !- System Outdoor Air Method Curve:Biquadratic, diff --git a/testfiles/EMPD5ZoneWaterCooled_HighRHControl.idf b/testfiles/EMPD5ZoneWaterCooled_HighRHControl.idf index 8dd0489d17f..6eb0a715926 100644 --- a/testfiles/EMPD5ZoneWaterCooled_HighRHControl.idf +++ b/testfiles/EMPD5ZoneWaterCooled_HighRHControl.idf @@ -1947,9 +1947,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/EMSCustomOutputVariable.idf b/testfiles/EMSCustomOutputVariable.idf index 2c80b97644b..e2c5f687528 100644 --- a/testfiles/EMSCustomOutputVariable.idf +++ b/testfiles/EMSCustomOutputVariable.idf @@ -3794,9 +3794,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -4078,9 +4085,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -4362,9 +4376,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -4646,9 +4667,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -4930,9 +4958,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, diff --git a/testfiles/EMSCustomSchedule.idf b/testfiles/EMSCustomSchedule.idf index ca6ea2133ae..a265b01095a 100644 --- a/testfiles/EMSCustomSchedule.idf +++ b/testfiles/EMSCustomSchedule.idf @@ -3878,9 +3878,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -4162,9 +4169,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -4446,9 +4460,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -4730,9 +4751,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -5014,9 +5042,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, diff --git a/testfiles/EMSDemandManager_LargeOffice.idf b/testfiles/EMSDemandManager_LargeOffice.idf index b7e3651d315..3550670e2ca 100644 --- a/testfiles/EMSDemandManager_LargeOffice.idf +++ b/testfiles/EMSDemandManager_LargeOffice.idf @@ -8152,9 +8152,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ZoneSum; !- System Outdoor Air Method !AvailabilityManagerAssignmentList, @@ -8507,9 +8514,17 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} + ; !- System Outdoor Air Method ZoneSum; !- System Outdoor Air Method !AvailabilityManagerAssignmentList, @@ -8885,9 +8900,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ZoneSum; !- System Outdoor Air Method !AvailabilityManagerAssignmentList, @@ -9263,9 +9285,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ZoneSum; !- System Outdoor Air Method !AvailabilityManagerAssignmentList, diff --git a/testfiles/EMSDiscreteAirSystemSizes.idf b/testfiles/EMSDiscreteAirSystemSizes.idf index bbef85e8c8b..fab938647be 100644 --- a/testfiles/EMSDiscreteAirSystemSizes.idf +++ b/testfiles/EMSDiscreteAirSystemSizes.idf @@ -5461,9 +5461,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -5730,9 +5737,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -5999,9 +6013,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -6268,9 +6289,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -6537,9 +6565,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -6806,9 +6841,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -7075,9 +7117,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -7344,9 +7393,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -7613,9 +7669,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -7882,9 +7945,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, diff --git a/testfiles/EMSPlantLoopOverrideControl.idf b/testfiles/EMSPlantLoopOverrideControl.idf index eff2b74510b..e620bdbb894 100644 --- a/testfiles/EMSPlantLoopOverrideControl.idf +++ b/testfiles/EMSPlantLoopOverrideControl.idf @@ -4970,9 +4970,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/EMSPlantOperation_largeOff.idf b/testfiles/EMSPlantOperation_largeOff.idf index e9fb031859e..150325aa7de 100644 --- a/testfiles/EMSPlantOperation_largeOff.idf +++ b/testfiles/EMSPlantOperation_largeOff.idf @@ -6012,8 +6012,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -6034,8 +6041,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -6056,8 +6070,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -6078,8 +6099,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Controller:OutdoorAir, diff --git a/testfiles/EMSReplaceTraditionalManagers_LargeOffice.idf b/testfiles/EMSReplaceTraditionalManagers_LargeOffice.idf index b4c2e824ff9..64468f45443 100644 --- a/testfiles/EMSReplaceTraditionalManagers_LargeOffice.idf +++ b/testfiles/EMSReplaceTraditionalManagers_LargeOffice.idf @@ -8142,9 +8142,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method !AvailabilityManagerAssignmentList, @@ -8497,9 +8504,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method !AvailabilityManagerAssignmentList, @@ -8875,9 +8889,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method !AvailabilityManagerAssignmentList, @@ -9253,9 +9274,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method !AvailabilityManagerAssignmentList, diff --git a/testfiles/EMSTestMathAndKill.idf b/testfiles/EMSTestMathAndKill.idf index 8fa3e8dc43e..333087df93a 100644 --- a/testfiles/EMSTestMathAndKill.idf +++ b/testfiles/EMSTestMathAndKill.idf @@ -3975,9 +3975,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -4259,9 +4266,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -4543,9 +4557,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -4827,9 +4848,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -5111,9 +5139,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, diff --git a/testfiles/EMSThermochromicWindow.idf b/testfiles/EMSThermochromicWindow.idf index 8a4bd43905b..74cf87b088d 100644 --- a/testfiles/EMSThermochromicWindow.idf +++ b/testfiles/EMSThermochromicWindow.idf @@ -3625,9 +3625,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -3907,9 +3914,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -4189,9 +4203,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -4471,9 +4492,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -4753,9 +4781,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, diff --git a/testfiles/EMSUserDefined5ZoneAirCooled.idf b/testfiles/EMSUserDefined5ZoneAirCooled.idf index 3f0adb1c73e..e4af56388d4 100644 --- a/testfiles/EMSUserDefined5ZoneAirCooled.idf +++ b/testfiles/EMSUserDefined5ZoneAirCooled.idf @@ -1894,9 +1894,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/EcoroofOrlando.idf b/testfiles/EcoroofOrlando.idf index 91ba74593af..edf9a255495 100644 --- a/testfiles/EcoroofOrlando.idf +++ b/testfiles/EcoroofOrlando.idf @@ -4968,9 +4968,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/ElectricChiller.idf b/testfiles/ElectricChiller.idf index 435c6078e4e..0d61c27bc51 100644 --- a/testfiles/ElectricChiller.idf +++ b/testfiles/ElectricChiller.idf @@ -2089,9 +2089,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, diff --git a/testfiles/GSHP-GLHE.idf b/testfiles/GSHP-GLHE.idf index 244905839e6..8b23aeff390 100644 --- a/testfiles/GSHP-GLHE.idf +++ b/testfiles/GSHP-GLHE.idf @@ -2088,9 +2088,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, diff --git a/testfiles/HeaderedPumpsConSpeed.idf b/testfiles/HeaderedPumpsConSpeed.idf index a334df49180..60fa86e82bd 100644 --- a/testfiles/HeaderedPumpsConSpeed.idf +++ b/testfiles/HeaderedPumpsConSpeed.idf @@ -2061,9 +2061,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/HeaderedPumpsVarSpeed.idf b/testfiles/HeaderedPumpsVarSpeed.idf index 6c482fc2bc2..b14890b0c6a 100644 --- a/testfiles/HeaderedPumpsVarSpeed.idf +++ b/testfiles/HeaderedPumpsVarSpeed.idf @@ -1873,9 +1873,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/HeatPumpAuto.idf b/testfiles/HeatPumpAuto.idf index 8a61776e8cc..9859f18c180 100644 --- a/testfiles/HeatPumpAuto.idf +++ b/testfiles/HeatPumpAuto.idf @@ -1178,9 +1178,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Curve:Biquadratic, diff --git a/testfiles/HeatPumpWaterHeater.idf b/testfiles/HeatPumpWaterHeater.idf index 110eebf74cb..03abe8ec515 100644 --- a/testfiles/HeatPumpWaterHeater.idf +++ b/testfiles/HeatPumpWaterHeater.idf @@ -1930,9 +1930,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/HospitalBaseline.idf b/testfiles/HospitalBaseline.idf index 7316d415c43..4ce24502c35 100644 --- a/testfiles/HospitalBaseline.idf +++ b/testfiles/HospitalBaseline.idf @@ -57630,9 +57630,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -58187,9 +58194,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -58746,9 +58760,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -59237,9 +59258,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -59760,9 +59788,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -60276,9 +60311,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, diff --git a/testfiles/HospitalBaselineReheatReportEMS.idf b/testfiles/HospitalBaselineReheatReportEMS.idf index c3e95c8caf6..6ec13f4a700 100644 --- a/testfiles/HospitalBaselineReheatReportEMS.idf +++ b/testfiles/HospitalBaselineReheatReportEMS.idf @@ -57630,9 +57630,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -58187,9 +58194,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -58746,9 +58760,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -59237,9 +59258,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -59760,9 +59788,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -60276,9 +60311,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, diff --git a/testfiles/HospitalLowEnergy.idf b/testfiles/HospitalLowEnergy.idf index 8fa64a46cda..1a3e18dd78d 100644 --- a/testfiles/HospitalLowEnergy.idf +++ b/testfiles/HospitalLowEnergy.idf @@ -72369,9 +72369,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -72934,9 +72941,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -73501,9 +73515,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -74000,9 +74021,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -74531,9 +74559,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -75055,9 +75090,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, diff --git a/testfiles/IceStorage-Parallel.idf b/testfiles/IceStorage-Parallel.idf index 7720b0853f6..2102204423b 100644 --- a/testfiles/IceStorage-Parallel.idf +++ b/testfiles/IceStorage-Parallel.idf @@ -2438,9 +2438,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AirLoopHVAC, diff --git a/testfiles/IceStorage-Series-ChillerDownstream.idf b/testfiles/IceStorage-Series-ChillerDownstream.idf index b580c375151..236dff4c16a 100644 --- a/testfiles/IceStorage-Series-ChillerDownstream.idf +++ b/testfiles/IceStorage-Series-ChillerDownstream.idf @@ -2438,9 +2438,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AirLoopHVAC, diff --git a/testfiles/IceStorage-Series-ChillerUpstream.idf b/testfiles/IceStorage-Series-ChillerUpstream.idf index ef53fe8438b..daf52996d6a 100644 --- a/testfiles/IceStorage-Series-ChillerUpstream.idf +++ b/testfiles/IceStorage-Series-ChillerUpstream.idf @@ -2438,9 +2438,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AirLoopHVAC, diff --git a/testfiles/IndEvapCoolerRTUoffice.idf b/testfiles/IndEvapCoolerRTUoffice.idf index 14f162e917f..697e81a36ac 100644 --- a/testfiles/IndEvapCoolerRTUoffice.idf +++ b/testfiles/IndEvapCoolerRTUoffice.idf @@ -3793,9 +3793,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.004, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, @@ -4100,9 +4107,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.004, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, @@ -4407,9 +4421,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.004, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, @@ -4714,9 +4735,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.004, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, @@ -5021,9 +5049,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.004, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, @@ -5328,9 +5363,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.004, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, @@ -5635,9 +5677,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.004, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, @@ -5942,9 +5991,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.004, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, @@ -6249,9 +6305,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.004, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, @@ -6556,9 +6619,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.004, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, diff --git a/testfiles/LgOffVAV.idf b/testfiles/LgOffVAV.idf index d450a2ec49b..7c1d769f66f 100644 --- a/testfiles/LgOffVAV.idf +++ b/testfiles/LgOffVAV.idf @@ -3600,9 +3600,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/LgOffVAVusingBasement.idf b/testfiles/LgOffVAVusingBasement.idf index d02ea990ddb..c16e2d9584e 100644 --- a/testfiles/LgOffVAVusingBasement.idf +++ b/testfiles/LgOffVAVusingBasement.idf @@ -3677,9 +3677,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/Mundt_System_Always_On.idf b/testfiles/Mundt_System_Always_On.idf index 5ca286ea835..593f876cb89 100644 --- a/testfiles/Mundt_System_Always_On.idf +++ b/testfiles/Mundt_System_Always_On.idf @@ -1862,9 +1862,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/Mundt_System_On_During_the_Day.idf b/testfiles/Mundt_System_On_During_the_Day.idf index 89352d6caff..6cc1b8ea074 100644 --- a/testfiles/Mundt_System_On_During_the_Day.idf +++ b/testfiles/Mundt_System_On_During_the_Day.idf @@ -1880,9 +1880,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/OptimalStart_RefBldgLargeOfficeNew2004_Chicago.idf b/testfiles/OptimalStart_RefBldgLargeOfficeNew2004_Chicago.idf index ba124f2d593..e83a0fa37f7 100644 --- a/testfiles/OptimalStart_RefBldgLargeOfficeNew2004_Chicago.idf +++ b/testfiles/OptimalStart_RefBldgLargeOfficeNew2004_Chicago.idf @@ -6073,8 +6073,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -6095,8 +6102,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -6117,8 +6131,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -6139,8 +6160,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Controller:OutdoorAir, diff --git a/testfiles/OutdoorAirUnitwithAirloopHVAC.idf b/testfiles/OutdoorAirUnitwithAirloopHVAC.idf index 9e0049ee2ff..ca53cae4b4f 100644 --- a/testfiles/OutdoorAirUnitwithAirloopHVAC.idf +++ b/testfiles/OutdoorAirUnitwithAirloopHVAC.idf @@ -3657,9 +3657,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AirLoopHVAC, diff --git a/testfiles/PIUAuto.idf b/testfiles/PIUAuto.idf index 14ed4bd6a0e..ff77f8cba1c 100644 --- a/testfiles/PIUAuto.idf +++ b/testfiles/PIUAuto.idf @@ -1216,9 +1216,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/ParametricInsulation-5ZoneAirCooled.idf b/testfiles/ParametricInsulation-5ZoneAirCooled.idf index cfcf0ad92be..646166d36dc 100644 --- a/testfiles/ParametricInsulation-5ZoneAirCooled.idf +++ b/testfiles/ParametricInsulation-5ZoneAirCooled.idf @@ -1905,9 +1905,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/PipeHeatTransfer_Outair.idf b/testfiles/PipeHeatTransfer_Outair.idf index 7efddb8f9ba..1655da0b35b 100644 --- a/testfiles/PipeHeatTransfer_Outair.idf +++ b/testfiles/PipeHeatTransfer_Outair.idf @@ -2129,9 +2129,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, diff --git a/testfiles/PipeHeatTransfer_Schedule.idf b/testfiles/PipeHeatTransfer_Schedule.idf index 6aac353c6ba..e06a8a2ef8f 100644 --- a/testfiles/PipeHeatTransfer_Schedule.idf +++ b/testfiles/PipeHeatTransfer_Schedule.idf @@ -2129,9 +2129,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, diff --git a/testfiles/PipeHeatTransfer_Underground.idf b/testfiles/PipeHeatTransfer_Underground.idf index ba097e90bd1..bbc17dfe5c0 100644 --- a/testfiles/PipeHeatTransfer_Underground.idf +++ b/testfiles/PipeHeatTransfer_Underground.idf @@ -2129,9 +2129,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, diff --git a/testfiles/PipeHeatTransfer_Zone.idf b/testfiles/PipeHeatTransfer_Zone.idf index 0312e5ed70d..b94d56520c1 100644 --- a/testfiles/PipeHeatTransfer_Zone.idf +++ b/testfiles/PipeHeatTransfer_Zone.idf @@ -2129,9 +2129,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, diff --git a/testfiles/PlantApplicationsGuide_Example2.idf b/testfiles/PlantApplicationsGuide_Example2.idf index 48d149b960e..fe9c28afea0 100644 --- a/testfiles/PlantApplicationsGuide_Example2.idf +++ b/testfiles/PlantApplicationsGuide_Example2.idf @@ -4893,9 +4893,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, diff --git a/testfiles/PondGroundHeatExchanger.idf b/testfiles/PondGroundHeatExchanger.idf index 56ff7e17599..4b3e311e228 100644 --- a/testfiles/PondGroundHeatExchanger.idf +++ b/testfiles/PondGroundHeatExchanger.idf @@ -2099,9 +2099,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, diff --git a/testfiles/RefBldgFullServiceRestaurantNew2004_Chicago.idf b/testfiles/RefBldgFullServiceRestaurantNew2004_Chicago.idf index a2445417e0a..d9ee47194f6 100644 --- a/testfiles/RefBldgFullServiceRestaurantNew2004_Chicago.idf +++ b/testfiles/RefBldgFullServiceRestaurantNew2004_Chicago.idf @@ -1624,9 +1624,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -1646,9 +1653,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Controller:OutdoorAir, diff --git a/testfiles/RefBldgHospitalNew2004_Chicago.idf b/testfiles/RefBldgHospitalNew2004_Chicago.idf index 11c8d3de453..1ff49f4f793 100644 --- a/testfiles/RefBldgHospitalNew2004_Chicago.idf +++ b/testfiles/RefBldgHospitalNew2004_Chicago.idf @@ -17985,9 +17985,16 @@ 0.007, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.007, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -18007,9 +18014,16 @@ 0.007, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.007, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -18029,9 +18043,16 @@ 0.007, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.007, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -18051,9 +18072,16 @@ 0.007, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.007, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Controller:OutdoorAir, diff --git a/testfiles/RefBldgLargeOfficeNew2004_Chicago.idf b/testfiles/RefBldgLargeOfficeNew2004_Chicago.idf index 6917af746f9..598457bf44c 100644 --- a/testfiles/RefBldgLargeOfficeNew2004_Chicago.idf +++ b/testfiles/RefBldgLargeOfficeNew2004_Chicago.idf @@ -6051,8 +6051,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -6073,8 +6080,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -6095,8 +6109,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -6117,8 +6138,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Controller:OutdoorAir, diff --git a/testfiles/RefBldgMediumOfficeNew2004_Chicago.idf b/testfiles/RefBldgMediumOfficeNew2004_Chicago.idf index dc7f6da9231..fc0e78b8859 100644 --- a/testfiles/RefBldgMediumOfficeNew2004_Chicago.idf +++ b/testfiles/RefBldgMediumOfficeNew2004_Chicago.idf @@ -5731,9 +5731,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -5753,9 +5760,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -5775,9 +5789,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Controller:OutdoorAir, diff --git a/testfiles/RefBldgMidriseApartmentNew2004_Chicago.idf b/testfiles/RefBldgMidriseApartmentNew2004_Chicago.idf index a5da8074941..7882d7366d2 100644 --- a/testfiles/RefBldgMidriseApartmentNew2004_Chicago.idf +++ b/testfiles/RefBldgMidriseApartmentNew2004_Chicago.idf @@ -9297,9 +9297,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -9319,9 +9326,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -9341,9 +9355,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -9363,9 +9384,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -9385,9 +9413,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -9407,9 +9442,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -9429,9 +9471,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -9451,9 +9500,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -9473,9 +9529,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -9495,9 +9558,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -9517,9 +9587,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -9539,9 +9616,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -9561,9 +9645,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -9583,9 +9674,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -9605,9 +9703,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -9627,9 +9732,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -9649,9 +9761,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -9671,9 +9790,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -9693,9 +9819,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -9715,9 +9848,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -9737,9 +9877,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -9759,9 +9906,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -9781,9 +9935,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -9803,9 +9964,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Controller:OutdoorAir, diff --git a/testfiles/RefBldgOutPatientNew2004_Chicago.idf b/testfiles/RefBldgOutPatientNew2004_Chicago.idf index 58ddf2e863a..a45637b603d 100644 --- a/testfiles/RefBldgOutPatientNew2004_Chicago.idf +++ b/testfiles/RefBldgOutPatientNew2004_Chicago.idf @@ -30015,8 +30015,15 @@ 0.007, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -30037,8 +30044,15 @@ 0.0078, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Controller:OutdoorAir, diff --git a/testfiles/RefBldgPrimarySchoolNew2004_Chicago.idf b/testfiles/RefBldgPrimarySchoolNew2004_Chicago.idf index a1af18b919f..a9a07c2fb92 100644 --- a/testfiles/RefBldgPrimarySchoolNew2004_Chicago.idf +++ b/testfiles/RefBldgPrimarySchoolNew2004_Chicago.idf @@ -9001,8 +9001,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -9023,8 +9030,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -9045,8 +9059,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -9067,8 +9088,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -9089,8 +9117,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -9111,8 +9146,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -9133,8 +9175,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Controller:OutdoorAir, diff --git a/testfiles/RefBldgQuickServiceRestaurantNew2004_Chicago.idf b/testfiles/RefBldgQuickServiceRestaurantNew2004_Chicago.idf index 04fd10f5ba6..f2f49603ce4 100644 --- a/testfiles/RefBldgQuickServiceRestaurantNew2004_Chicago.idf +++ b/testfiles/RefBldgQuickServiceRestaurantNew2004_Chicago.idf @@ -1592,9 +1592,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -1614,9 +1621,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Controller:OutdoorAir, diff --git a/testfiles/RefBldgSecondarySchoolNew2004_Chicago.idf b/testfiles/RefBldgSecondarySchoolNew2004_Chicago.idf index c5df58beb79..a3737e444e3 100644 --- a/testfiles/RefBldgSecondarySchoolNew2004_Chicago.idf +++ b/testfiles/RefBldgSecondarySchoolNew2004_Chicago.idf @@ -16947,8 +16947,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -16969,8 +16976,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -16991,8 +17005,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -17013,8 +17034,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -17035,8 +17063,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -17057,8 +17092,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -17079,8 +17121,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -17101,8 +17150,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -17123,8 +17179,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Controller:OutdoorAir, diff --git a/testfiles/RefBldgSmallHotelNew2004_Chicago.idf b/testfiles/RefBldgSmallHotelNew2004_Chicago.idf index df08b3180fa..24e19fe529a 100644 --- a/testfiles/RefBldgSmallHotelNew2004_Chicago.idf +++ b/testfiles/RefBldgSmallHotelNew2004_Chicago.idf @@ -21963,8 +21963,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -21985,8 +21992,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -22007,8 +22021,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -22029,8 +22050,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -22051,8 +22079,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -22073,8 +22108,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -22095,8 +22137,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -22117,8 +22166,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -22139,8 +22195,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -22161,8 +22224,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -22183,8 +22253,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -22205,8 +22282,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Controller:OutdoorAir, diff --git a/testfiles/RefBldgSmallOfficeNew2004_Chicago.idf b/testfiles/RefBldgSmallOfficeNew2004_Chicago.idf index 734f5f87951..097ac45f372 100644 --- a/testfiles/RefBldgSmallOfficeNew2004_Chicago.idf +++ b/testfiles/RefBldgSmallOfficeNew2004_Chicago.idf @@ -2703,8 +2703,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -2725,8 +2732,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -2747,8 +2761,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -2769,8 +2790,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -2791,8 +2819,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Controller:OutdoorAir, diff --git a/testfiles/RefBldgStand-aloneRetailNew2004_Chicago.idf b/testfiles/RefBldgStand-aloneRetailNew2004_Chicago.idf index 7b15308947b..f54099fe81b 100644 --- a/testfiles/RefBldgStand-aloneRetailNew2004_Chicago.idf +++ b/testfiles/RefBldgStand-aloneRetailNew2004_Chicago.idf @@ -2311,9 +2311,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -2333,9 +2340,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -2355,9 +2369,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -2377,9 +2398,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Controller:OutdoorAir, diff --git a/testfiles/RefBldgStripMallNew2004_Chicago.idf b/testfiles/RefBldgStripMallNew2004_Chicago.idf index 5a249b02611..46949092b22 100644 --- a/testfiles/RefBldgStripMallNew2004_Chicago.idf +++ b/testfiles/RefBldgStripMallNew2004_Chicago.idf @@ -4344,9 +4344,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -4366,9 +4373,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -4388,9 +4402,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -4410,9 +4431,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -4432,9 +4460,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -4454,9 +4489,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -4476,9 +4518,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -4498,9 +4547,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -4520,9 +4576,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -4542,9 +4605,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Controller:OutdoorAir, diff --git a/testfiles/RefBldgSuperMarketNew2004_Chicago.idf b/testfiles/RefBldgSuperMarketNew2004_Chicago.idf index 2dae397dfd5..91fd0296211 100644 --- a/testfiles/RefBldgSuperMarketNew2004_Chicago.idf +++ b/testfiles/RefBldgSuperMarketNew2004_Chicago.idf @@ -2642,8 +2642,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -2664,8 +2671,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -2686,8 +2700,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -2708,8 +2729,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -2730,8 +2758,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -2752,8 +2787,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Controller:OutdoorAir, diff --git a/testfiles/RefBldgWarehouseNew2004_Chicago.idf b/testfiles/RefBldgWarehouseNew2004_Chicago.idf index 938179c1543..aff814f62aa 100644 --- a/testfiles/RefBldgWarehouseNew2004_Chicago.idf +++ b/testfiles/RefBldgWarehouseNew2004_Chicago.idf @@ -1854,9 +1854,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -1876,9 +1883,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Controller:OutdoorAir, diff --git a/testfiles/ReliefIndEvapCoolerRTUoffice.idf b/testfiles/ReliefIndEvapCoolerRTUoffice.idf index 7a261025dca..fdadc7e7a78 100644 --- a/testfiles/ReliefIndEvapCoolerRTUoffice.idf +++ b/testfiles/ReliefIndEvapCoolerRTUoffice.idf @@ -3797,9 +3797,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.004, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, @@ -4104,9 +4111,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.004, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, @@ -4411,9 +4425,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.004, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, @@ -4718,9 +4739,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.004, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, @@ -5025,9 +5053,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.004, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, @@ -5332,9 +5367,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.004, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, @@ -5639,9 +5681,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.004, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, @@ -5946,9 +5995,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.004, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, @@ -6253,9 +6309,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.004, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, @@ -6560,9 +6623,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.004, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, diff --git a/testfiles/ReportDaylightFactors.idf b/testfiles/ReportDaylightFactors.idf index 298883cb1ec..a5a5538676d 100644 --- a/testfiles/ReportDaylightFactors.idf +++ b/testfiles/ReportDaylightFactors.idf @@ -6094,9 +6094,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -6116,9 +6123,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -6138,9 +6152,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Controller:OutdoorAir, diff --git a/testfiles/RetailPackagedTESCoil.idf b/testfiles/RetailPackagedTESCoil.idf index cfa9a72e589..6c2df9eeba8 100644 --- a/testfiles/RetailPackagedTESCoil.idf +++ b/testfiles/RetailPackagedTESCoil.idf @@ -2161,9 +2161,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ZoneSum; !- System Outdoor Air Method Sizing:System, @@ -2183,9 +2190,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ZoneSum; !- System Outdoor Air Method Sizing:System, @@ -2205,9 +2219,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ZoneSum; !- System Outdoor Air Method Sizing:System, @@ -2227,9 +2248,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ZoneSum; !- System Outdoor Air Method Controller:OutdoorAir, diff --git a/testfiles/SeriesActiveBranch.idf b/testfiles/SeriesActiveBranch.idf index a66ffb66d0a..1492d6d89af 100644 --- a/testfiles/SeriesActiveBranch.idf +++ b/testfiles/SeriesActiveBranch.idf @@ -1911,9 +1911,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/ShopWithPVandBattery.idf b/testfiles/ShopWithPVandBattery.idf index f88dda384fb..6236e9e5aa6 100644 --- a/testfiles/ShopWithPVandBattery.idf +++ b/testfiles/ShopWithPVandBattery.idf @@ -3011,9 +3011,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -3276,9 +3283,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -3541,9 +3555,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -3806,9 +3827,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -4071,9 +4099,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, diff --git a/testfiles/ShopWithPVandStorage.idf b/testfiles/ShopWithPVandStorage.idf index 52af6635859..5016b5c1187 100644 --- a/testfiles/ShopWithPVandStorage.idf +++ b/testfiles/ShopWithPVandStorage.idf @@ -3010,9 +3010,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -3275,9 +3282,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -3540,9 +3554,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -3805,9 +3826,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -4070,9 +4098,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, diff --git a/testfiles/ShopWithSimplePVT.idf b/testfiles/ShopWithSimplePVT.idf index afcc46d7f0a..cf9548b5813 100644 --- a/testfiles/ShopWithSimplePVT.idf +++ b/testfiles/ShopWithSimplePVT.idf @@ -2888,9 +2888,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -3140,9 +3147,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -3347,9 +3361,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -3554,9 +3575,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -3761,9 +3789,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, diff --git a/testfiles/SteamSystemAutoSize.idf b/testfiles/SteamSystemAutoSize.idf index ce6084592e4..9e076923d92 100644 --- a/testfiles/SteamSystemAutoSize.idf +++ b/testfiles/SteamSystemAutoSize.idf @@ -2156,9 +2156,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method ! Single Chiller Supply diff --git a/testfiles/SurfaceGroundHeatExchanger.idf b/testfiles/SurfaceGroundHeatExchanger.idf index 97861a29072..b4a674eab09 100644 --- a/testfiles/SurfaceGroundHeatExchanger.idf +++ b/testfiles/SurfaceGroundHeatExchanger.idf @@ -2109,9 +2109,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method NodeList, diff --git a/testfiles/ThermochromicWindow.idf b/testfiles/ThermochromicWindow.idf index 8a2681bcc3f..09ead9848f6 100644 --- a/testfiles/ThermochromicWindow.idf +++ b/testfiles/ThermochromicWindow.idf @@ -3629,9 +3629,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -3911,9 +3918,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -4193,9 +4207,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -4475,9 +4496,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, @@ -4757,9 +4785,16 @@ 0.0085, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0.0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0.0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AvailabilityManagerAssignmentList, diff --git a/testfiles/TranspiredCollectors.idf b/testfiles/TranspiredCollectors.idf index 86c312d1216..329f71b17e6 100644 --- a/testfiles/TranspiredCollectors.idf +++ b/testfiles/TranspiredCollectors.idf @@ -3220,10 +3220,17 @@ NO, !- 100% Outdoor Air in Heating 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.004, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} - , !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} - , !- Heating Design Air Flow Method + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} + , !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method ! @@ -3496,10 +3503,17 @@ NO, !- 100% Outdoor Air in Heating 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.004, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} - , !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} - , !- Heating Design Air Flow Method + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} + , !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method ! @@ -3772,10 +3786,17 @@ NO, !- 100% Outdoor Air in Heating 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.004, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} - , !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} - , !- Heating Design Air Flow Method + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} + , !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method ! @@ -4048,10 +4069,17 @@ NO, !- 100% Outdoor Air in Heating 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.004, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} - , !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} - , !- Heating Design Air Flow Method + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} + , !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method ! @@ -4324,10 +4352,17 @@ NO, !- 100% Outdoor Air in Heating 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.004, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} - , !- Cooling Design Air Flow Method + , !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} - , !- Heating Design Air Flow Method + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} + , !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method ! diff --git a/testfiles/TwoWayCommonPipe_Pri-Sec.idf b/testfiles/TwoWayCommonPipe_Pri-Sec.idf index e0363cc2bd2..d6bd8657dc6 100644 --- a/testfiles/TwoWayCommonPipe_Pri-Sec.idf +++ b/testfiles/TwoWayCommonPipe_Pri-Sec.idf @@ -2421,9 +2421,17 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} + ; !- System Outdoor Air Methodate {m3/s} ; !- System Outdoor Air Method AirLoopHVAC, diff --git a/testfiles/UnitarySystem_5ZoneWaterLoopHeatPump.idf b/testfiles/UnitarySystem_5ZoneWaterLoopHeatPump.idf index 171ae61efac..0a296bb4775 100644 --- a/testfiles/UnitarySystem_5ZoneWaterLoopHeatPump.idf +++ b/testfiles/UnitarySystem_5ZoneWaterLoopHeatPump.idf @@ -1931,9 +1931,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AirLoopHVAC, @@ -2192,9 +2199,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AirLoopHVAC, @@ -2450,9 +2464,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AirLoopHVAC, @@ -2708,9 +2729,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AirLoopHVAC, @@ -2966,9 +2994,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AirLoopHVAC, diff --git a/testfiles/UnitarySystem_DXCoilSystemAuto.idf b/testfiles/UnitarySystem_DXCoilSystemAuto.idf index dd64c6faf51..64df875a894 100644 --- a/testfiles/UnitarySystem_DXCoilSystemAuto.idf +++ b/testfiles/UnitarySystem_DXCoilSystemAuto.idf @@ -1176,9 +1176,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Curve:Biquadratic, diff --git a/testfiles/UnitarySystem_HeatPumpAuto.idf b/testfiles/UnitarySystem_HeatPumpAuto.idf index 9c148f64e73..951f2217003 100644 --- a/testfiles/UnitarySystem_HeatPumpAuto.idf +++ b/testfiles/UnitarySystem_HeatPumpAuto.idf @@ -1178,9 +1178,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Curve:Biquadratic, diff --git a/testfiles/UserDefinedRoomAirPatterns.idf b/testfiles/UserDefinedRoomAirPatterns.idf index ae229fdc2a8..4f047d9fa99 100644 --- a/testfiles/UserDefinedRoomAirPatterns.idf +++ b/testfiles/UserDefinedRoomAirPatterns.idf @@ -9924,9 +9924,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method AirLoopHVAC, diff --git a/testfiles/VSDXCoilSystemAuto.idf b/testfiles/VSDXCoilSystemAuto.idf index 18e03634939..77f6ccf1abb 100644 --- a/testfiles/VSDXCoilSystemAuto.idf +++ b/testfiles/VSDXCoilSystemAuto.idf @@ -1761,9 +1761,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Curve:Biquadratic, diff --git a/testfiles/WaterSideEconomizer_Integrated.idf b/testfiles/WaterSideEconomizer_Integrated.idf index c95343ce8bd..b46de9808a2 100644 --- a/testfiles/WaterSideEconomizer_Integrated.idf +++ b/testfiles/WaterSideEconomizer_Integrated.idf @@ -1887,9 +1887,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/WaterSideEconomizer_NonIntegrated.idf b/testfiles/WaterSideEconomizer_NonIntegrated.idf index 2877800828d..814042e746b 100644 --- a/testfiles/WaterSideEconomizer_NonIntegrated.idf +++ b/testfiles/WaterSideEconomizer_NonIntegrated.idf @@ -2050,9 +2050,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, diff --git a/testfiles/_5ZoneEvapCooled.idf b/testfiles/_5ZoneEvapCooled.idf index 5037350b369..c98ffe6fb29 100644 --- a/testfiles/_5ZoneEvapCooled.idf +++ b/testfiles/_5ZoneEvapCooled.idf @@ -1903,10 +1903,26 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} - ; !- System Outdoor Air Method + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} + , !- System Outdoor Air Method + , !- Zone Maximum Outdoor Air Fraction + CoolingDesignCapacity, !- Cooling Design Capacity Method + autosize, !- Cooling Design Capacity {W} + , !- Cooling Design Capacity Per Floor Area {W/m2} + , !- Fraction of Autosized Cooling Design Capacity {-} + HeatingDesignCapacity, !- Heating Design Capacity Method + autosize, !- Heating Design Capacity {W} + , !- Heating Design Capacity Per Floor Area {W/m2} + ; !- Fraction of Autosized Cooling Design Capacity {-} Sizing:Plant, Hot Water Loop, !- Plant or Condenser Loop Name diff --git a/testfiles/_CoolingTowerDewPointRangeOp.idf b/testfiles/_CoolingTowerDewPointRangeOp.idf index af553be93ae..7a7de32461f 100644 --- a/testfiles/_CoolingTowerDewPointRangeOp.idf +++ b/testfiles/_CoolingTowerDewPointRangeOp.idf @@ -1889,11 +1889,19 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method + Sizing:Plant, Hot Water Loop, !- Plant or Condenser Loop Name heating, !- Loop Type diff --git a/testfiles/_CoolingTowerWithDPDeltaTempOp.idf b/testfiles/_CoolingTowerWithDPDeltaTempOp.idf index 2ee5a4cff5b..8b04ce5d286 100644 --- a/testfiles/_CoolingTowerWithDPDeltaTempOp.idf +++ b/testfiles/_CoolingTowerWithDPDeltaTempOp.idf @@ -1894,11 +1894,19 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method + Sizing:Plant, Hot Water Loop, !- Plant or Condenser Loop Name heating, !- Loop Type diff --git a/testfiles/_DOASDXCOIL_wUserSHRMethod.idf b/testfiles/_DOASDXCOIL_wUserSHRMethod.idf index 3815039f436..2e61ebda1c4 100644 --- a/testfiles/_DOASDXCOIL_wUserSHRMethod.idf +++ b/testfiles/_DOASDXCOIL_wUserSHRMethod.idf @@ -2212,11 +2212,20 @@ 0.00924, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.003, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ZoneSum; !- System Outdoor Air Method + + AirLoopHVAC, DOAS, !- Name , !- Controller List Name diff --git a/testfiles/_SmallOffice_Dulles.idf b/testfiles/_SmallOffice_Dulles.idf index 857c062b613..5a9054b577b 100644 --- a/testfiles/_SmallOffice_Dulles.idf +++ b/testfiles/_SmallOffice_Dulles.idf @@ -2243,11 +2243,19 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method + Sizing:System, AirLoop_NorthZone_1stFloor, !- AirLoop Name total, !- Type of Load to Size On @@ -2265,9 +2273,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -2287,9 +2302,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -2309,9 +2331,16 @@ 0.008, !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir} 0.008, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method - 0, !- Cooling Design Air Flow Rate {m3/s} + , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method - 0, !- Heating Design Air Flow Rate {m3/s} + , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:Plant, From af36fed7144019d8eaca6670bb55d9663b939705 Mon Sep 17 00:00:00 2001 From: Nigusse Date: Wed, 20 Aug 2014 08:38:03 -0400 Subject: [PATCH 12/19] RefBldgLargeHotelNew2004_Chicago.idf example file transitioned. --- .../RefBldgLargeHotelNew2004_Chicago.idf | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/testfiles/RefBldgLargeHotelNew2004_Chicago.idf b/testfiles/RefBldgLargeHotelNew2004_Chicago.idf index 7db5a508c3f..47d69805caa 100644 --- a/testfiles/RefBldgLargeHotelNew2004_Chicago.idf +++ b/testfiles/RefBldgLargeHotelNew2004_Chicago.idf @@ -8880,8 +8880,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} Flow/System, !- Cooling Design Air Flow Method 2.37888, !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} Flow/System, !- Heating Design Air Flow Method 2.37888, !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -8902,8 +8909,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} Flow/System, !- Cooling Design Air Flow Method 0.15576, !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} Flow/System, !- Heating Design Air Flow Method 0.15576, !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Sizing:System, @@ -8924,8 +8938,15 @@ 0.0080, !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir} DesignDay, !- Cooling Design Air Flow Method , !- Cooling Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} DesignDay, !- Heating Design Air Flow Method , !- Heating Design Air Flow Rate {m3/s} + , !- Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} + , !- Fraction of Autosized Design Heating Supply Air Flow Rate {-} + , !- Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + , !- Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} ; !- System Outdoor Air Method Controller:OutdoorAir, @@ -10405,7 +10426,7 @@ CoolSys1 Demand Outlet Node, !- Demand Side Outlet Node Name CoolSys1 Demand Branches,!- Demand Side Branch List Name CoolSys1 Demand Connectors, !- Demand Side Connector List Name - UniformLoad; !- Load Distribution Scheme + Uniform; !- Load Distribution Scheme PlantLoop, HeatSys1, !- Name From 0a1dec52dff11c843494301b263ecf6307583f82 Mon Sep 17 00:00:00 2001 From: Nigusse Date: Thu, 21 Aug 2014 19:43:24 -0400 Subject: [PATCH 13/19] Revised source codes. --- src/EnergyPlus/BaseboardElectric.cc | 8 +- src/EnergyPlus/BaseboardRadiator.cc | 33 ++-- src/EnergyPlus/DataSizing.cc | 6 +- src/EnergyPlus/DataSizing.hh | 7 +- src/EnergyPlus/ElectricBaseboardRadiator.cc | 12 +- src/EnergyPlus/EvaporativeCoolers.cc | 49 ++---- src/EnergyPlus/FanCoilUnits.cc | 38 ++++- src/EnergyPlus/HVACVariableRefrigerantFlow.cc | 54 ++++-- src/EnergyPlus/HWBaseboardRadiator.cc | 7 +- src/EnergyPlus/HighTempRadiantSystem.cc | 14 +- src/EnergyPlus/LowTempRadiantSystem.cc | 25 +-- src/EnergyPlus/PackagedTerminalHeatPump.cc | 54 ++++-- src/EnergyPlus/PurchasedAirManager.cc | 20 ++- src/EnergyPlus/ReportSizingManager.cc | 159 +++++++----------- src/EnergyPlus/SimAirServingZones.cc | 21 ++- src/EnergyPlus/SteamBaseboardRadiator.cc | 7 +- src/EnergyPlus/UnitHeater.cc | 48 ++++-- src/EnergyPlus/UnitVentilator.cc | 86 ++++++---- src/EnergyPlus/VentilatedSlab.cc | 49 ++++-- src/EnergyPlus/WindowAC.cc | 21 ++- 20 files changed, 416 insertions(+), 302 deletions(-) diff --git a/src/EnergyPlus/BaseboardElectric.cc b/src/EnergyPlus/BaseboardElectric.cc index 42cf1d0e2e6..9af4564c508 100644 --- a/src/EnergyPlus/BaseboardElectric.cc +++ b/src/EnergyPlus/BaseboardElectric.cc @@ -481,6 +481,7 @@ namespace BaseboardElectric { using ReportSizingManager::ReportSizingOutput; using General::RoundSigDigits; using DataHVACGlobals::HeatingCapacitySizing; + using DataHeatBalance::Zone; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -534,13 +535,14 @@ namespace BaseboardElectric { } TempSize = Baseboard( BaseboardNum ).ScaledHeatingCapacity; } else if ( CapSizingMethod == CapacityPerFloorArea ){ - DataHeatingCapPerFloorArea = Baseboard( BaseboardNum ).ScaledHeatingCapacity; - TempSize = Baseboard( BaseboardNum ).ScaledHeatingCapacity; + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = Baseboard( BaseboardNum ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad; DataScalableCapSizingON = true; } else if ( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ CheckZoneSizing( CompType, CompName ); ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; - DataFracOfAutosizedHeatingCapacity = Baseboard(BaseboardNum).ScaledHeatingCapacity; + DataFracOfAutosizedHeatingCapacity = Baseboard( BaseboardNum ).ScaledHeatingCapacity; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; TempSize = AutoSize; DataScalableCapSizingON = true; diff --git a/src/EnergyPlus/BaseboardRadiator.cc b/src/EnergyPlus/BaseboardRadiator.cc index d0db0f81754..908a2ff0fb1 100644 --- a/src/EnergyPlus/BaseboardRadiator.cc +++ b/src/EnergyPlus/BaseboardRadiator.cc @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -562,6 +563,7 @@ namespace BaseboardRadiator { // AUTHOR Fred Buhl // DATE WRITTEN February 2002 // MODIFIED August 2013 Daeho Kang, add component sizing table entries + // July 2014, B.Nigusse, added scalable sizing // RE-ENGINEERED na // PURPOSE OF THIS SUBROUTINE: @@ -584,6 +586,8 @@ namespace BaseboardRadiator { using ReportSizingManager::RequestSizing; using DataLoopNode::Node; using DataHVACGlobals::HeatingCapacitySizing; + using DataHeatBalance::Zone; + // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -654,8 +658,6 @@ namespace BaseboardRadiator { } } else { CheckZoneSizing( cCMO_BBRadiator_Water, Baseboard( BaseboardNum ).EquipID ); - - //DesCoilLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; CompType = cCMO_BBRadiator_Water; CompName = Baseboard(BaseboardNum).EquipID; DataFracOfAutosizedHeatingCapacity = 1.0; @@ -671,14 +673,16 @@ namespace BaseboardRadiator { if (CapSizingMethod == HeatingDesignCapacity){ if (Baseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize) { CheckZoneSizing(CompType, CompName); - ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + } else { + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = Baseboard( BaseboardNum ).ScaledHeatingCapacity; } - TempSize = Baseboard( BaseboardNum ).ScaledHeatingCapacity; - + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + TempSize = ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad; } else if (CapSizingMethod == CapacityPerFloorArea){ - DataHeatingCapPerFloorArea = Baseboard( BaseboardNum ).ScaledHeatingCapacity; - TempSize = Baseboard( BaseboardNum ).ScaledHeatingCapacity; + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = Baseboard( BaseboardNum ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad; DataScalableCapSizingON = true; } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ CheckZoneSizing(CompType, CompName); @@ -693,7 +697,7 @@ namespace BaseboardRadiator { RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); DesCoilLoad = TempSize; } else { - DesCoilLoad = 0.0; // CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + DesCoilLoad = 0.0; } if ( DesCoilLoad >= SmallLoad ) { @@ -756,18 +760,19 @@ namespace BaseboardRadiator { CapSizingMethod = Baseboard(BaseboardNum).HeatingCapMethod; ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { - if (CapSizingMethod == HeatingDesignCapacity){ if (Baseboard(BaseboardNum).ScaledHeatingCapacity == AutoSize) { CheckZoneSizing(CompType, CompName); - ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + } else { + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = Baseboard( BaseboardNum ).ScaledHeatingCapacity;; } - TempSize = Baseboard(BaseboardNum).ScaledHeatingCapacity; - + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + TempSize = ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad; } else if (CapSizingMethod == CapacityPerFloorArea){ - DataHeatingCapPerFloorArea = Baseboard(BaseboardNum).ScaledHeatingCapacity; - TempSize = Baseboard(BaseboardNum).ScaledHeatingCapacity; + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = Baseboard( BaseboardNum ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad; DataScalableCapSizingON = true; } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ CheckZoneSizing(CompType, CompName); diff --git a/src/EnergyPlus/DataSizing.cc b/src/EnergyPlus/DataSizing.cc index 504d2d4cb7c..0518feb8802 100644 --- a/src/EnergyPlus/DataSizing.cc +++ b/src/EnergyPlus/DataSizing.cc @@ -168,7 +168,9 @@ namespace DataSizing { bool TermUnitPIU( false ); // TRUE if a powered induction terminal unit bool TermUnitIU( false ); // TRUE if an unpowered induction terminal unit bool ZoneEqFanCoil( false ); // TRUE if a 4 pipe fan coil unit is being simulated + bool ZoneEqUnitHeater( false ); // TRUE if a unit heater is being simulated bool ZoneEqUnitVent( false ); // TRUE if a unit ventilator unit is being simulated + bool ZoneEqVentedSlab( false ); // TRUE if a ventilated slab is being simulated bool ZoneEqDXCoil( false ); // TRUE if a ZoneHVAC DX coil is being simulated bool ZoneCoolingOnlyFan( false ); // TRUE if a ZoneHVAC DX cooling coil is only coil in parent bool ZoneHeatingOnlyFan( false ); // TRUE if zone unit only does heating and contains a fam (such as Unit Heater) @@ -189,14 +191,10 @@ namespace DataSizing { Real64 DataHeatSizeRatio( 1.0 ); // heating coil size as a ratio of cooling coil capacity Real64 DataEMSOverride( 0.0 ); // value of EMS variable used to override autosizing Real64 DataBypassFrac( 0.0 ); // value of bypass fraction for Coil:Cooling:DX:TwoStageWithHumidityControlMode coils - Real64 DataCoolFlowPerFloorArea( 0.0 ); // cooling supply air flow per unit conditioned floor area - Real64 DataHeatFlowPerFloorArea( 0.0 ); // heating supply air flow per unit conditioned floor area Real64 DataFracOfAutosizedCoolingAirflow( 1.0 ); // fraction of design cooling supply air flow rate Real64 DataFracOfAutosizedHeatingAirflow( 1.0 ); // fraction of design heating supply air flow rate Real64 DataFlowPerCoolingCapacity( 0.0 ); // cooling supply air flow per unit cooling capacity Real64 DataFlowPerHeatingCapacity( 0.0 ); // heating supply air flow per unit heating capacity - Real64 DataCoolingCapPerFloorArea( 0.0 ); // cooling capacity per floor area - Real64 DataHeatingCapPerFloorArea( 0.0 ); // heating capacity per floor area Real64 DataFracOfAutosizedCoolingCapacity( 1.0 ); // fraction of autosized cooling capacity Real64 DataFracOfAutosizedHeatingCapacity( 1.0 ); // fraction of autosized heating capacit Real64 DataAutosizedCoolingCapacity( 0.0 ); // Autosized cooling capacity used for multiplying flow per capacity to get flow rate diff --git a/src/EnergyPlus/DataSizing.hh b/src/EnergyPlus/DataSizing.hh index d31d28e62c8..da6ceb07c5b 100644 --- a/src/EnergyPlus/DataSizing.hh +++ b/src/EnergyPlus/DataSizing.hh @@ -151,6 +151,9 @@ namespace DataSizing { extern bool TermUnitPIU; // TRUE if a powered induction terminal unit extern bool TermUnitIU; // TRUE if an unpowered induction terminal unit extern bool ZoneEqFanCoil; // TRUE if a 4 pipe fan coil unit is being simulated + extern bool ZoneEqUnitHeater; // TRUE if a unit heater is being simulated + extern bool ZoneEqUnitVent; // TRUE if a unit ventilator is being simulated + extern bool ZoneEqVentedSlab; // TRUE if a ventilated slab is being simulated extern bool ZoneEqDXCoil; // TRUE if a ZoneHVAC DX coil is being simulated extern bool ZoneCoolingOnlyFan; // TRUE if a ZoneHVAC DX cooling coil is only coil in parent extern bool ZoneHeatingOnlyFan; // TRUE if zone unit only does heating and contains a fam (such as Unit Heater) @@ -176,14 +179,10 @@ namespace DataSizing { extern Real64 DataHeatSizeRatio; // heating coil size as a ratio of cooling coil capacity extern Real64 DataEMSOverride; // value of EMS variable used to override autosizing extern Real64 DataBypassFrac; // value of bypass fraction for Coil:Cooling:DX:TwoStageWithHumidityControlMode coils - extern Real64 DataCoolFlowPerFloorArea; // cooling supply air flow per unit conditioned floor area - extern Real64 DataHeatFlowPerFloorArea; // heating supply air flow per unit conditioned floor area extern Real64 DataFracOfAutosizedCoolingAirflow; // fraction of design cooling supply air flow rate extern Real64 DataFracOfAutosizedHeatingAirflow; // fraction of design heating supply air flow rate extern Real64 DataFlowPerCoolingCapacity; // cooling supply air flow per unit cooling capacity extern Real64 DataFlowPerHeatingCapacity; // heating supply air flow per unit heating capacity - extern Real64 DataCoolingCapPerFloorArea; // cooling capacity per floor area - extern Real64 DataHeatingCapPerFloorArea; // heating capacity per floor area extern Real64 DataFracOfAutosizedCoolingCapacity; // fraction of autosized cooling capacity extern Real64 DataFracOfAutosizedHeatingCapacity; // fraction of autosized heating capacit extern Real64 DataAutosizedCoolingCapacity; // Autosized cooling capacity used for multiplying flow per capacity to get flow rate diff --git a/src/EnergyPlus/ElectricBaseboardRadiator.cc b/src/EnergyPlus/ElectricBaseboardRadiator.cc index 2d34f68c483..9e1aaedc187 100644 --- a/src/EnergyPlus/ElectricBaseboardRadiator.cc +++ b/src/EnergyPlus/ElectricBaseboardRadiator.cc @@ -653,6 +653,7 @@ namespace ElectricBaseboardRadiator { using ReportSizingManager::RequestSizing; using General::RoundSigDigits; using DataHVACGlobals::HeatingCapacitySizing; + using DataHeatBalance::Zone; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -701,13 +702,16 @@ namespace ElectricBaseboardRadiator { if (CapSizingMethod == HeatingDesignCapacity){ if (ElecBaseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize) { CheckZoneSizing(CompType, CompName); - ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + } else { + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ElecBaseboard( BaseboardNum ).ScaledHeatingCapacity; } - TempSize = ElecBaseboard( BaseboardNum ).ScaledHeatingCapacity; + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + TempSize = ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad; } else if ( CapSizingMethod == CapacityPerFloorArea ){ - DataHeatingCapPerFloorArea = ElecBaseboard( BaseboardNum ).ScaledHeatingCapacity; - TempSize = ElecBaseboard( BaseboardNum ).ScaledHeatingCapacity; + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ElecBaseboard( BaseboardNum ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad; DataScalableCapSizingON = true; } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ CheckZoneSizing(CompType, CompName); diff --git a/src/EnergyPlus/EvaporativeCoolers.cc b/src/EnergyPlus/EvaporativeCoolers.cc index dec527ccb1e..3b4fac452dc 100644 --- a/src/EnergyPlus/EvaporativeCoolers.cc +++ b/src/EnergyPlus/EvaporativeCoolers.cc @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -2606,14 +2607,11 @@ namespace EvaporativeCoolers { using ReportSizingManager::ReportSizingOutput; using ReportSizingManager::RequestSizing; using namespace DataSizing; - //using DataSizing::CurZoneEqNum; - //using DataSizing::ZoneEqSizing; - //using DataSizing::FinalZoneSizing; using DataHVACGlobals::SmallAirVolFlow; - //using General::RoundSigDigits; using DataHVACGlobals::SystemAirflowSizing; using DataHVACGlobals::CoolingAirflowSizing; using DataHVACGlobals::CoolingCapacitySizing; + using DataHeatBalance::Zone; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -2661,13 +2659,18 @@ namespace EvaporativeCoolers { ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow) { if (SAFMethod == SupplyAirFlowRate){ - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + if ( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0) { + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + } + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; if ( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0 ) { PrintFlag = false; } } else if (SAFMethod == FlowPerFloorArea){ - DataCoolFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow;; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; @@ -2700,24 +2703,6 @@ namespace EvaporativeCoolers { } DataScalableSizingON = false; ZoneCoolingOnlyFan = false; - - //// initialize capacity sizing variables: cooling - //CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).CoolingCapMethod; - //ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; - //if (CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity) { - // if (CapSizingMethod == HeatingDesignCapacity){ - // if (ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity > 0.0) { - // ZoneEqSizing(CurZoneEqNum).CoolingCapacity = true; - // ZoneEqSizing(CurZoneEqNum).DesCoolingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; - // } - // } - // else if (CapSizingMethod == CapacityPerFloorArea){ - // DataCoolingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; - // } - // else if (CapSizingMethod == FractionOfAutosizedCoolingCapacity){ - // DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; - // } - //} } else { // no scalble sizing method has been specified. Sizing proceeds using the method @@ -2732,22 +2717,8 @@ namespace EvaporativeCoolers { ZoneEvapUnit(UnitNum).DesignAirVolumeFlowRate = TempSize; ZoneCoolingOnlyFan = false; } - } - //if ( ZoneEvapUnit( UnitNum ).DesignAirVolumeFlowRate == AutoSize ) { - - // if ( CurZoneEqNum > 0 ) { - // CheckZoneSizing( "ZoneHVAC:EvaporativeCoolerUnit", ZoneEvapUnit( UnitNum ).Name ); - // ZoneEvapUnit( UnitNum ).DesignAirVolumeFlowRate = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; - // if ( ZoneEvapUnit( UnitNum ).DesignAirVolumeFlowRate < SmallAirVolFlow ) { - // ZoneEvapUnit( UnitNum ).DesignAirVolumeFlowRate = 0.0; - // } - // ReportSizingOutput( "ZoneHVAC:EvaporativeCoolerUnit", ZoneEvapUnit( UnitNum ).Name, "Design Supply Air Flow Rate [m3/s]", ZoneEvapUnit( UnitNum ).DesignAirVolumeFlowRate ); - // } - - //} - } void diff --git a/src/EnergyPlus/FanCoilUnits.cc b/src/EnergyPlus/FanCoilUnits.cc index efe70a7c3e4..68374b2676c 100644 --- a/src/EnergyPlus/FanCoilUnits.cc +++ b/src/EnergyPlus/FanCoilUnits.cc @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -949,6 +950,7 @@ namespace FanCoilUnits { // AUTHOR Fred Buhl // DATE WRITTEN January 2002 // MODIFIED August 2013 Daeho Kang, add component sizing table entries + // July 2014, B. Nigusse, added scalable sizing // RE-ENGINEERED na // PURPOSE OF THIS SUBROUTINE: @@ -986,6 +988,7 @@ namespace FanCoilUnits { using DataHVACGlobals::HeatingAirflowSizing; using DataHVACGlobals::CoolingCapacitySizing; using DataHVACGlobals::HeatingCapacitySizing; + using DataHeatBalance::Zone; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -1056,6 +1059,9 @@ namespace FanCoilUnits { HeatingAirVolFlowDes = 0.0; ZoneHeatingOnlyFan = false; ZoneCoolingOnlyFan = false; + DataScalableSizingON = false; + DataScalableCapSizingON = false; + DataFracOfAutosizedCoolingAirflow = 1.0; DataFracOfAutosizedHeatingAirflow = 1.0; DataFracOfAutosizedCoolingCapacity = 1.0; @@ -1078,10 +1084,15 @@ namespace FanCoilUnits { ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; if (SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow) { if (SAFMethod == SupplyAirFlowRate){ - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + if (ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0) { + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + } + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; } else if (SAFMethod == FlowPerFloorArea){ - DataCoolFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; - TempSize = AutoSize; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; @@ -1117,10 +1128,15 @@ namespace FanCoilUnits { ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; if (SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow) { if (SAFMethod == SupplyAirFlowRate){ - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + if (ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0) { + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + } + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; } else if (SAFMethod == FlowPerFloorArea){ - DataHeatFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; - TempSize = AutoSize; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; } else if (SAFMethod == FractionOfAutosizedHeatingAirflow){ DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; @@ -1158,7 +1174,7 @@ namespace FanCoilUnits { FanCoil(FanCoilNum).MaxAirVolFlow = max(CoolingAirVolFlowDes, HeatingAirVolFlowDes);; MaxAirVolFlowDes = 0.0; } - DataScalableSizingON = false; + } else { //SizingString = "Supply Air Maximum Flow Rate [m3/s]"; SizingMethod = SystemAirflowSizing; @@ -1307,11 +1323,13 @@ namespace FanCoilUnits { } TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; } else if (CapSizingMethod == CapacityPerFloorArea){ - DataHeatingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; TempSize = AutoSize; + DataScalableCapSizingON = true; } } SizingString = ""; @@ -1408,12 +1426,14 @@ namespace FanCoilUnits { } TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; } else if (CapSizingMethod == CapacityPerFloorArea){ - DataCoolingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; } else if (CapSizingMethod == FractionOfAutosizedCoolingCapacity){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; TempSize = AutoSize; + DataScalableCapSizingON = true; } } SizingString = ""; diff --git a/src/EnergyPlus/HVACVariableRefrigerantFlow.cc b/src/EnergyPlus/HVACVariableRefrigerantFlow.cc index f6ce3db05d9..12f5fb7767a 100644 --- a/src/EnergyPlus/HVACVariableRefrigerantFlow.cc +++ b/src/EnergyPlus/HVACVariableRefrigerantFlow.cc @@ -3799,6 +3799,7 @@ namespace HVACVariableRefrigerantFlow { using DataHVACGlobals::HeatingAirflowSizing; using DataHVACGlobals::CoolingCapacitySizing; using DataHVACGlobals::HeatingCapacitySizing; + using DataHeatBalance::Zone; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -3927,10 +3928,15 @@ namespace HVACVariableRefrigerantFlow { ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; if (SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow) { if (SAFMethod == SupplyAirFlowRate){ - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + if (ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0) { + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + } + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; } else if (SAFMethod == FlowPerFloorArea){ - DataCoolFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; - TempSize = AutoSize; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; @@ -3947,7 +3953,6 @@ namespace HVACVariableRefrigerantFlow { TempSize = AutoSize; PrintFlag = false; DataScalableSizingON = true; - //DataFlowUsedForSizing = max( FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow, FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow ); DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; if (ZoneHVACSizing(zoneHVACIndex).CoolingCapMethod == FractionOfAutosizedCoolingCapacity) { DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; @@ -3971,10 +3976,15 @@ namespace HVACVariableRefrigerantFlow { ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; if (SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow) { if (SAFMethod == SupplyAirFlowRate){ - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + if (ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0) { + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + } + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; } else if (SAFMethod == FlowPerFloorArea){ - DataHeatFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; - TempSize = AutoSize; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; } else if (SAFMethod == FractionOfAutosizedHeatingAirflow){ DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; @@ -4014,11 +4024,16 @@ namespace HVACVariableRefrigerantFlow { SAFMethod = ZoneHVACSizing(zoneHVACIndex).NoCoolHeatSAFMethod; ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; if (SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow || SAFMethod == FractionOfAutosizedHeatingAirflow) { - if (SAFMethod == SupplyAirFlowRate){ - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + if (SAFMethod == SupplyAirFlowRate){ + if (ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0) { + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + } + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow; } else if (SAFMethod == FlowPerFloorArea){ - DataCoolFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; - TempSize = AutoSize; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; @@ -4047,10 +4062,15 @@ namespace HVACVariableRefrigerantFlow { ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; if (SAFMethod == SupplyAirFlowRate || SizingMethod == FlowPerFloorArea || SizingMethod == FractionOfAutosizedHeatingAirflow || SizingMethod == FractionOfAutosizedCoolingAirflow) { if (SizingMethod == SupplyAirFlowRate){ - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + if (ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0) { + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + } + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow; } else if (SizingMethod == FlowPerFloorArea){ - DataHeatFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; - TempSize = AutoSize; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; } else if (SizingMethod == FractionOfAutosizedHeatingAirflow){ DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; @@ -4082,7 +4102,8 @@ namespace HVACVariableRefrigerantFlow { ZoneEqSizing(CurZoneEqNum).DesCoolingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; } } else if (CapSizingMethod == CapacityPerFloorArea){ - DataCoolingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity * Zone( DataZoneNumber ).FloorArea; //DataScalableCapSizingON = true; } else if (CapSizingMethod == FractionOfAutosizedCoolingCapacity){ DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; @@ -4101,7 +4122,8 @@ namespace HVACVariableRefrigerantFlow { ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; } } else if (CapSizingMethod == CapacityPerFloorArea){ - DataHeatingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; //DataScalableCapSizingON = true; } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; diff --git a/src/EnergyPlus/HWBaseboardRadiator.cc b/src/EnergyPlus/HWBaseboardRadiator.cc index 5632c0844b2..a4fc00bd84b 100644 --- a/src/EnergyPlus/HWBaseboardRadiator.cc +++ b/src/EnergyPlus/HWBaseboardRadiator.cc @@ -793,6 +793,7 @@ namespace HWBaseboardRadiator { // DATE WRITTEN February 2002 // MODIFIED August 2009 Daeho Kang (Add UA autosizing by LMTD) // Aug 2013 Daeho Kang, add component sizing table entries + // July 2014, B.Nigusse, added scalable sizing // RE-ENGINEERED na // PURPOSE OF THIS SUBROUTINE: @@ -811,6 +812,7 @@ namespace HWBaseboardRadiator { using General::RoundSigDigits; using DataHVACGlobals::HeatingCapacitySizing; using ReportSizingManager::RequestSizing; + using DataHeatBalance::Zone; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -897,8 +899,9 @@ namespace HWBaseboardRadiator { TempSize = HWBaseboard(BaseboardNum).ScaledHeatingCapacity; } else if (CapSizingMethod == CapacityPerFloorArea){ - DataHeatingCapPerFloorArea = HWBaseboard(BaseboardNum).ScaledHeatingCapacity; - TempSize = HWBaseboard(BaseboardNum).ScaledHeatingCapacity; + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = HWBaseboard( BaseboardNum ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad; DataScalableCapSizingON = true; } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ CheckZoneSizing(CompType, CompName); diff --git a/src/EnergyPlus/HighTempRadiantSystem.cc b/src/EnergyPlus/HighTempRadiantSystem.cc index 9930a26c341..9289e68ecfe 100644 --- a/src/EnergyPlus/HighTempRadiantSystem.cc +++ b/src/EnergyPlus/HighTempRadiantSystem.cc @@ -730,6 +730,7 @@ namespace HighTempRadiantSystem { using ReportSizingManager::ReportSizingOutput; using General::RoundSigDigits; using DataHVACGlobals::HeatingCapacitySizing; + using DataHeatBalance::Zone; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -778,14 +779,17 @@ namespace HighTempRadiantSystem { if (CapSizingMethod == HeatingDesignCapacity){ if (HighTempRadSys( RadSysNum ).ScaledHeatingCapacity == AutoSize) { - CheckZoneSizing( CompType, CompName ); - ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + CheckZoneSizing( CompType, CompName ); ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor / (HighTempRadSys(RadSysNum).FracRadiant + HighTempRadSys(RadSysNum).FracConvect); + } else { + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = HighTempRadSys( RadSysNum ).ScaledHeatingCapacity; } - TempSize = HighTempRadSys( RadSysNum ).ScaledHeatingCapacity; + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + TempSize = ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad; } else if (CapSizingMethod == CapacityPerFloorArea){ - DataHeatingCapPerFloorArea = HighTempRadSys( RadSysNum ).ScaledHeatingCapacity; - TempSize = HighTempRadSys( RadSysNum ).ScaledHeatingCapacity; + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = HighTempRadSys( RadSysNum ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad; DataScalableCapSizingON = true; } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ CheckZoneSizing( CompType, CompName ); diff --git a/src/EnergyPlus/LowTempRadiantSystem.cc b/src/EnergyPlus/LowTempRadiantSystem.cc index d72e1a65982..53db6e03d34 100644 --- a/src/EnergyPlus/LowTempRadiantSystem.cc +++ b/src/EnergyPlus/LowTempRadiantSystem.cc @@ -1923,6 +1923,7 @@ namespace LowTempRadiantSystem { using General::RoundSigDigits; using DataHVACGlobals::HeatingCapacitySizing; using DataHVACGlobals::CoolingCapacitySizing; + using DataHeatBalance::Zone; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -1995,18 +1996,19 @@ namespace LowTempRadiantSystem { CapSizingMethod = ElecRadSys(RadSysNum).HeatingCapMethod; ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { - if (CapSizingMethod == HeatingDesignCapacity){ if (ElecRadSys(RadSysNum).ScaledHeatingCapacity == AutoSize) { CheckZoneSizing(CompType, CompName); - ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + }else { + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ElecRadSys( RadSysNum ).ScaledHeatingCapacity; } - TempSize = ElecRadSys(RadSysNum).ScaledHeatingCapacity; - + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + TempSize = ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad; } else if (CapSizingMethod == CapacityPerFloorArea){ - DataHeatingCapPerFloorArea = ElecRadSys(RadSysNum).ScaledHeatingCapacity; - TempSize = ElecRadSys(RadSysNum).ScaledHeatingCapacity; + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ElecRadSys( RadSysNum ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad; DataScalableCapSizingON = true; } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ CheckZoneSizing(CompType, CompName); @@ -2052,7 +2054,6 @@ namespace LowTempRadiantSystem { CapSizingMethod = HydrRadSys( RadSysNum ).HeatingCapMethod; ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { - if (CapSizingMethod == HeatingDesignCapacity){ if (HydrRadSys( RadSysNum ).ScaledHeatingCapacity == AutoSize) { CheckZoneSizing(CompType, CompName); @@ -2062,8 +2063,9 @@ namespace LowTempRadiantSystem { TempSize = HydrRadSys( RadSysNum ).ScaledHeatingCapacity; } else if (CapSizingMethod == CapacityPerFloorArea){ - DataHeatingCapPerFloorArea = HydrRadSys( RadSysNum ).ScaledHeatingCapacity; - TempSize = HydrRadSys( RadSysNum ).ScaledHeatingCapacity; + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = HydrRadSys( RadSysNum ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad; DataScalableCapSizingON = true; } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ CheckZoneSizing(CompType, CompName); @@ -2151,8 +2153,9 @@ namespace LowTempRadiantSystem { TempSize = HydrRadSys( RadSysNum ).ScaledCoolingCapacity; } else if (CapSizingMethod == CapacityPerFloorArea){ - DataCoolingCapPerFloorArea = HydrRadSys(RadSysNum).ScaledCoolingCapacity; - TempSize = HydrRadSys(RadSysNum).ScaledCoolingCapacity; + ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = HydrRadSys( RadSysNum ).ScaledCoolingCapacity * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad; DataScalableCapSizingON = true; } else if (CapSizingMethod == FractionOfAutosizedCoolingCapacity){ CheckZoneSizing(CompType, CompName); diff --git a/src/EnergyPlus/PackagedTerminalHeatPump.cc b/src/EnergyPlus/PackagedTerminalHeatPump.cc index 2382f042a9e..7d737c09cbe 100644 --- a/src/EnergyPlus/PackagedTerminalHeatPump.cc +++ b/src/EnergyPlus/PackagedTerminalHeatPump.cc @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -3493,6 +3494,7 @@ namespace PackagedTerminalHeatPump { // DATE WRITTEN July 2005 // MODIFIED Bo Shen, ORNL, March 2012, added variable-speed water-source heat pump // August 2013 Daeho Kang, add component sizing table entries + // July 2014, B. Nigusse, added scalable sizing // RE-ENGINEERED na // PURPOSE OF THIS SUBROUTINE: @@ -3517,7 +3519,7 @@ namespace PackagedTerminalHeatPump { using DataHVACGlobals::HeatingAirflowSizing; using DataHVACGlobals::CoolingCapacitySizing; using DataHVACGlobals::HeatingCapacitySizing; - + using DataHeatBalance::Zone; // Locals bool IsAutoSize; // Indicator to autosize Real64 MaxCoolAirVolFlowDes; // Autosized cooling air flow for reporting @@ -3588,6 +3590,7 @@ namespace PackagedTerminalHeatPump { //DataFlowPerHeatingCapacity; DataScalableSizingON = false; + DataScalableCapSizingON = false; CompType = PTUnit( PTUnitNum ).UnitType; CompName = PTUnit( PTUnitNum ).Name; DataZoneNumber = PTUnit( PTUnitNum ).ZonePtr; @@ -3604,10 +3607,15 @@ namespace PackagedTerminalHeatPump { ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow) { if (SAFMethod == SupplyAirFlowRate){ - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + if ( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0 ) { + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + } + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; } else if (SAFMethod == FlowPerFloorArea){ - DataCoolFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; @@ -3645,12 +3653,16 @@ namespace PackagedTerminalHeatPump { SAFMethod = ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod; ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow) { - if (SAFMethod == SupplyAirFlowRate){ - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + if (ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0) { + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + } + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; } else if (SAFMethod == FlowPerFloorArea){ - DataHeatFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; } else if (SAFMethod == FractionOfAutosizedHeatingAirflow){ DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; @@ -3688,10 +3700,15 @@ namespace PackagedTerminalHeatPump { ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow || SAFMethod == FractionOfAutosizedHeatingAirflow) { if (SAFMethod == SupplyAirFlowRate){ - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + if (ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow > 0.0) { + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + } + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow; } else if (SAFMethod == FlowPerFloorArea){ - DataCoolFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; @@ -3707,22 +3724,25 @@ namespace PackagedTerminalHeatPump { RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); PTUnit( PTUnitNum ).MaxNoCoolHeatAirVolFlow = TempSize; } - DataScalableSizingON = false; + //DataScalableSizingON = false; // initialize capacity sizing variables: cooling SizingMethod = CoolingCapacitySizing; CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).CoolingCapMethod; ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; if (CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity) { - if (CapSizingMethod == HeatingDesignCapacity){ + if (CapSizingMethod == CoolingDesignCapacity){ if (ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity > 0.0) { ZoneEqSizing(CurZoneEqNum).CoolingCapacity = true; ZoneEqSizing(CurZoneEqNum).DesCoolingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; } } else if (CapSizingMethod == CapacityPerFloorArea){ - DataCoolingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity * Zone( DataZoneNumber ).FloorArea; + DataScalableCapSizingON = true; } else if (CapSizingMethod == FractionOfAutosizedCoolingCapacity){ DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + DataScalableCapSizingON = true; } } @@ -3737,9 +3757,12 @@ namespace PackagedTerminalHeatPump { ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; } } else if (CapSizingMethod == CapacityPerFloorArea){ - DataHeatingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; + //DataScalableCapSizingON = true; } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + //DataScalableCapSizingON = true; } } @@ -3924,6 +3947,7 @@ namespace PackagedTerminalHeatPump { if ( CurZoneEqNum > 0 ) { ZoneEqSizing( CurZoneEqNum ).OAVolFlow = max( PTUnit( PTUnitNum ).CoolOutAirVolFlow, PTUnit( PTUnitNum ).HeatOutAirVolFlow ); ZoneEqSizing( CurZoneEqNum ).AirVolFlow = max( PTUnit( PTUnitNum ).MaxCoolAirVolFlow, PTUnit( PTUnitNum ).MaxHeatAirVolFlow ); + //ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; } if ( ErrorsFound ) { diff --git a/src/EnergyPlus/PurchasedAirManager.cc b/src/EnergyPlus/PurchasedAirManager.cc index 04c7c1e2fc1..aeedb2dffe7 100644 --- a/src/EnergyPlus/PurchasedAirManager.cc +++ b/src/EnergyPlus/PurchasedAirManager.cc @@ -988,6 +988,7 @@ namespace PurchasedAirManager { using DataHVACGlobals::HeatingAirflowSizing; using DataHVACGlobals::CoolingCapacitySizing; using DataHVACGlobals::HeatingCapacitySizing; + using DataHeatBalance::Zone; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -1074,8 +1075,9 @@ namespace PurchasedAirManager { } } } else if (SAFMethod == FlowPerFloorArea){ - DataHeatFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); HeatingAirVolFlowDes = TempSize; @@ -1121,9 +1123,9 @@ namespace PurchasedAirManager { ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; } TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; - } - else if (CapSizingMethod == CapacityPerFloorArea){ - DataHeatingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + } else if (CapSizingMethod == CapacityPerFloorArea){ + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableSizingON = true; } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ @@ -1191,8 +1193,9 @@ namespace PurchasedAirManager { } } } else if (SAFMethod == FlowPerFloorArea){ - DataCoolFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); CoolingAirVolFlowDes = TempSize; @@ -1240,7 +1243,8 @@ namespace PurchasedAirManager { } TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; } else if (CapSizingMethod == CapacityPerFloorArea){ - DataCoolingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableSizingON = true; } else if (CapSizingMethod == FractionOfAutosizedCoolingCapacity){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; diff --git a/src/EnergyPlus/ReportSizingManager.cc b/src/EnergyPlus/ReportSizingManager.cc index ec9358bd150..016985a8e9b 100644 --- a/src/EnergyPlus/ReportSizingManager.cc +++ b/src/EnergyPlus/ReportSizingManager.cc @@ -408,7 +408,8 @@ namespace ReportSizingManager { ShowFatalError( "Preceding conditions cause termination." ); } } else if ( CurZoneEqNum > 0 ) { - if ( !IsAutoSize && ! SizingDesRunThisZone && ! DataScalableSizingON && ! DataScalableCapSizingON ) { + //if ( !IsAutoSize && ! SizingDesRunThisZone && ! DataScalableSizingON && ! DataScalableCapSizingON ) { + if ( ! IsAutoSize && ! SizingDesRunThisZone ) { HardSizeNoDesRun = true; AutosizeUser = SizingResult; if ( PrintWarningFlag && SizingResult > 0.0 ) { @@ -421,54 +422,28 @@ namespace ReportSizingManager { ReportSizingOutput( CompType, CompName, "User-Specified " + SizingString, SizingResult ); } } - } else if (!IsAutoSize && DataScalableSizingON && (SizingType == SystemAirflowSizing || SizingType == HeatingAirflowSizing || SizingType == SystemAirflowSizing) ) { - if ( ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingType ) == FlowPerFloorArea) { - if (ZoneCoolingOnlyFan) { - AutosizeDes = DataCoolFlowPerFloorArea * Zone(DataZoneNumber).FloorArea; - } else if (ZoneHeatingOnlyFan) { - AutosizeDes = DataHeatFlowPerFloorArea * Zone(DataZoneNumber).FloorArea; - } else if (ZoneEqSizing(CurZoneEqNum).CoolingAirFlow && !ZoneEqSizing(CurZoneEqNum).HeatingAirFlow) { - AutosizeDes = DataCoolFlowPerFloorArea * Zone(DataZoneNumber).FloorArea; - } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && !ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { - AutosizeDes = DataHeatFlowPerFloorArea * Zone(DataZoneNumber).FloorArea; - } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { - AutosizeDes = max(DataCoolFlowPerFloorArea * Zone(DataZoneNumber).FloorArea, DataHeatFlowPerFloorArea * Zone(DataZoneNumber).FloorArea); - } else { - AutosizeDes = max(DataCoolFlowPerFloorArea * Zone(DataZoneNumber).FloorArea, DataHeatFlowPerFloorArea * Zone(DataZoneNumber).FloorArea); - } - } } else { if ( SizingType == SystemAirflowSizing ) { { auto const SELECT_CASE_var( ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingType) ); if ((SELECT_CASE_var == SupplyAirFlowRate) || (SELECT_CASE_var == None)) { - if (ZoneCoolingOnlyFan) { - AutosizeDes = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; - } else if (ZoneHeatingOnlyFan) { - AutosizeDes = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; - } else if (ZoneEqSizing(CurZoneEqNum).CoolingAirFlow && !ZoneEqSizing(CurZoneEqNum).HeatingAirFlow) { - AutosizeDes = ZoneEqSizing(CurZoneEqNum).CoolingAirVolFlow; - } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && !ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { - AutosizeDes = ZoneEqSizing(CurZoneEqNum).HeatingAirVolFlow; - } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { - AutosizeDes = max(ZoneEqSizing(CurZoneEqNum).CoolingAirVolFlow, ZoneEqSizing(CurZoneEqNum).HeatingAirVolFlow); - } else { - AutosizeDes = max(FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow, FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow); - } - - } else if (SELECT_CASE_var == FlowPerFloorArea) { - if (ZoneCoolingOnlyFan) { - AutosizeDes = DataCoolFlowPerFloorArea * Zone(DataZoneNumber).FloorArea; - } else if (ZoneHeatingOnlyFan) { - AutosizeDes = DataHeatFlowPerFloorArea * Zone(DataZoneNumber).FloorArea; - } else if (ZoneEqSizing(CurZoneEqNum).CoolingAirFlow && !ZoneEqSizing(CurZoneEqNum).HeatingAirFlow) { - AutosizeDes = DataCoolFlowPerFloorArea * Zone(DataZoneNumber).FloorArea; - } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && !ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { - AutosizeDes = DataHeatFlowPerFloorArea * Zone(DataZoneNumber).FloorArea; - } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { - AutosizeDes = max(DataCoolFlowPerFloorArea * Zone(DataZoneNumber).FloorArea, DataHeatFlowPerFloorArea * Zone(DataZoneNumber).FloorArea); + + if ( ZoneEqSizing( CurZoneEqNum ).SystemAirFlow ) { + AutosizeDes = max( ZoneEqSizing( CurZoneEqNum ).AirVolFlow, ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow, ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow ); } else { - AutosizeDes = max(DataCoolFlowPerFloorArea * Zone(DataZoneNumber).FloorArea, DataHeatFlowPerFloorArea * Zone(DataZoneNumber).FloorArea); + if (ZoneCoolingOnlyFan) { + AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; + } else if (ZoneHeatingOnlyFan) { + AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; + } else if (ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow && !ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow) { + AutosizeDes = ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow; + } else if (ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && !ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow) { + AutosizeDes = ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow; + } else if (ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow) { + AutosizeDes = max( ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow, ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow ); + } else { + AutosizeDes = max( FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow, FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow ); + } } } else if (SELECT_CASE_var == FractionOfAutosizedCoolingAirflow) { @@ -536,7 +511,9 @@ namespace ReportSizingManager { } else if ( ZoneEqSizing ( CurZoneEqNum ).HeatingAirFlow && ZoneEqSizing ( CurZoneEqNum ).CoolingAirFlow ) { AutosizeDes = max ( ZoneEqSizing ( CurZoneEqNum ).CoolingAirVolFlow, ZoneEqSizing ( CurZoneEqNum ).HeatingAirVolFlow ); } else { - if ( ZoneCoolingOnlyFan ) { + if ( ZoneEqSizing( CurZoneEqNum ).SystemAirFlow ) { + AutosizeDes = max( ZoneEqSizing( CurZoneEqNum ).AirVolFlow, ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow, ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow ); + } else if (ZoneCoolingOnlyFan) { AutosizeDes = FinalZoneSizing ( CurZoneEqNum ).DesCoolVolFlow; } else if ( ZoneHeatingOnlyFan ) { AutosizeDes = FinalZoneSizing ( CurZoneEqNum ).DesHeatVolFlow; @@ -548,37 +525,31 @@ namespace ReportSizingManager { } } else if ( SizingType == CoolingAirflowSizing || SizingType == HeatingAirflowSizing ) { - { auto const SELECT_CASE_var(ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingType)); + { auto const SELECT_CASE_var(ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingType ) ); if ((SELECT_CASE_var == SupplyAirFlowRate) || (SELECT_CASE_var == None)) { - if (ZoneCoolingOnlyFan) { - AutosizeDes = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; - } else if (ZoneHeatingOnlyFan) { - AutosizeDes = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; - } else if (ZoneEqSizing(CurZoneEqNum).CoolingAirFlow && !ZoneEqSizing(CurZoneEqNum).HeatingAirFlow) { - AutosizeDes = ZoneEqSizing(CurZoneEqNum).CoolingAirVolFlow; - } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && !ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { - AutosizeDes = ZoneEqSizing(CurZoneEqNum).HeatingAirVolFlow; - } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { - AutosizeDes = max(ZoneEqSizing(CurZoneEqNum).CoolingAirVolFlow, ZoneEqSizing(CurZoneEqNum).HeatingAirVolFlow); - } else { - AutosizeDes = max(FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow, FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow); - } - - } else if (SELECT_CASE_var == FlowPerFloorArea) { - if (ZoneCoolingOnlyFan) { - AutosizeDes = DataCoolFlowPerFloorArea * Zone(DataZoneNumber).FloorArea; - } else if (ZoneHeatingOnlyFan) { - AutosizeDes = DataHeatFlowPerFloorArea * Zone(DataZoneNumber).FloorArea; - } else if (ZoneEqSizing(CurZoneEqNum).CoolingAirFlow && !ZoneEqSizing(CurZoneEqNum).HeatingAirFlow) { - AutosizeDes = DataCoolFlowPerFloorArea * Zone(DataZoneNumber).FloorArea; - } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && !ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { - AutosizeDes = DataHeatFlowPerFloorArea * Zone(DataZoneNumber).FloorArea; - } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { - AutosizeDes = max(DataCoolFlowPerFloorArea * Zone(DataZoneNumber).FloorArea, DataHeatFlowPerFloorArea * Zone(DataZoneNumber).FloorArea); + if ( ZoneEqSizing( CurZoneEqNum ).SystemAirFlow ) { + if ( SizingType == CoolingAirflowSizing ) { + AutosizeDes =ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow; + } else if ( SizingType == HeatingAirflowSizing ) { + AutosizeDes = ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow; + } else { + AutosizeDes = max( ZoneEqSizing( CurZoneEqNum ).AirVolFlow, ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow, ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow ); + } } else { - AutosizeDes = max(DataCoolFlowPerFloorArea * Zone(DataZoneNumber).FloorArea, DataHeatFlowPerFloorArea * Zone(DataZoneNumber).FloorArea); + if (ZoneCoolingOnlyFan) { + AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; + } else if (ZoneHeatingOnlyFan) { + AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; + } else if (ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow && !ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow) { + AutosizeDes = ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow; + } else if (ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && !ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow) { + AutosizeDes = ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow; + } else if (ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow) { + AutosizeDes = max( ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow, ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow ); + } else { + AutosizeDes = max( FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow, FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow ); + } } - } else if (SELECT_CASE_var == FractionOfAutosizedCoolingAirflow) { if (ZoneCoolingOnlyFan) { AutosizeDes = DataFracOfAutosizedCoolingAirflow * FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; @@ -662,7 +633,7 @@ namespace ReportSizingManager { rho = GetDensityGlycol( PlantLoop( DataWaterLoopNum ).FluidName, InitConvTemp, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); if ( TermUnitIU ) { AutosizeDes = TermUnitSizing( CurZoneEqNum ).MaxCWVolFlow; - } else if ( ZoneEqFanCoil ) { + } else if (ZoneEqFanCoil || ZoneEqUnitVent || ZoneEqVentedSlab ) { AutosizeDes = ZoneEqSizing( CurZoneEqNum ).MaxCWVolFlow; } else { CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesCoolCoilInTemp; @@ -676,10 +647,6 @@ namespace ReportSizingManager { AutosizeDes = 0.0; } } -// if ( AutosizeDes == 0.0 ) { -// ShowWarningError( "The design coil load is zero for " + CompName + CompName ); -// ShowContinueError( "The autosize value for max water flow rate is zero" ); -// } bCheckForZero = false; } else if ( SizingType == HeatingWaterflowSizing ) { if ( TermUnitSingDuct || TermUnitPIU || TermUnitIU ) { @@ -692,6 +659,8 @@ namespace ReportSizingManager { Cp = GetSpecificHeatGlycol( PlantLoop( DataWaterLoopNum ).FluidName, 60.0, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); rho = GetDensityGlycol( PlantLoop( DataWaterLoopNum ).FluidName, InitConvTemp, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); DesCoilLoad = AutosizeDes * PlantSizData( DataPltSizHeatNum ).DeltaT * Cp * rho; + } else if (ZoneEqUnitHeater || ZoneEqVentedSlab) { // for unit ventilator the cp value is calculated at 5.05(InitConvTemp) for the child and 60.0C for the unit ventilator //|| ZoneEqUnitVent + AutosizeDes = ZoneEqSizing( CurZoneEqNum ).MaxHWVolFlow; } else { CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTemp; CoilOutTemp = FinalZoneSizing( CurZoneEqNum ).HeatDesTemp; @@ -706,10 +675,6 @@ namespace ReportSizingManager { AutosizeDes = 0.0; } } -// if ( AutosizeDes == 0.0 ) { -// ShowWarningError( "The design coil load is zero for " + CompType + CompName ); -// ShowContinueError( "The autosize value for max water flow rate is zero" ); -// } bCheckForZero = false; } else if ( SizingType == HeatingWaterDesAirInletTempSizing ) { if ( TermUnitPIU ) { @@ -876,10 +841,6 @@ namespace ReportSizingManager { if ( ZoneEqSizing( CurZoneEqNum ).CoolingCapacity ) { // Parent object calculated capacity AutosizeDes = ZoneEqSizing ( CurZoneEqNum ).DesCoolingLoad; DesVolFlow = DataFlowUsedForSizing; - } else if (!IsAutoSize && DataScalableCapSizingON) { - if (ZoneEqSizing( CurZoneEqNum ).CapSizingMethod( SizingType ) == CapacityPerFloorArea) { - AutosizeDes = DataCoolingCapPerFloorArea * Zone(DataZoneNumber).FloorArea; - } } else { if ( SameString( CompType, "COIL:COOLING:WATER" ) || SameString( CompType, "COIL:COOLING:WATER:DETAILEDGEOMETRY" ) ) { if ( TermUnitIU ) { @@ -954,10 +915,6 @@ namespace ReportSizingManager { } else if ( DataCoolCoilCap > 0.0 && DataFlowUsedForSizing > 0.0 ) { NominalCapacityDes = DataCoolCoilCap; DesVolFlow = DataFlowUsedForSizing; - } else if (!IsAutoSize && DataScalableCapSizingON) { - if ( ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingType) == CapacityPerFloorArea) { - NominalCapacityDes = DataHeatingCapPerFloorArea * Zone( DataZoneNumber ).FloorArea; - } } else if ( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow >= SmallMassFlow ) { if ( TermUnitPIU ) { MinPriFlowFrac = TermUnitSizing( CurZoneEqNum ).MinFlowFrac; @@ -1405,17 +1362,17 @@ namespace ReportSizingManager { AutosizeDes = OASysEqSizing ( CurOASysNum ).DesCoolingLoad; } else if ( AirLoopSysFlag ) { AutosizeDes = UnitarySysEqSizing ( CurSysNum ).DesCoolingLoad; - } else if (FinalSysSizing(CurSysNum).CoolingCapMethod == CapacityPerFloorArea) { - AutosizeDes = FinalSysSizing( CurSysNum ).CoolingTotalCapacity; } else { CheckSysSizing ( CompType, CompName ); DesVolFlow = DataFlowUsedForSizing; - if (FinalSysSizing(CurSysNum).CoolingCapMethod == FractionOfAutosizedCoolingCapacity) { + if ( FinalSysSizing( CurSysNum ).CoolingCapMethod == FractionOfAutosizedCoolingCapacity ) { DataFracOfAutosizedCoolingCapacity = FinalSysSizing( CurSysNum ).FractionOfAutosizedCoolingCapacity; - } else { - DataFracOfAutosizedCoolingCapacity = 1.0; - } - if ( DesVolFlow >= SmallAirVolFlow ) { + } + if (FinalSysSizing( CurSysNum ).CoolingCapMethod == CapacityPerFloorArea) { + NominalCapacityDes = FinalSysSizing( CurSysNum ).CoolingTotalCapacity; + } else if (FinalSysSizing( CurSysNum ).CoolingCapMethod == CoolingDesignCapacity && FinalSysSizing( CurSysNum ).CoolingTotalCapacity > 0.0 ) { + NominalCapacityDes = FinalSysSizing( CurSysNum ).CoolingTotalCapacity; + } else if ( DesVolFlow >= SmallAirVolFlow ) { if ( CurOASysNum > 0 ) { // coil is in the OA stream CoilInTemp = FinalSysSizing ( CurSysNum ).CoolOutTemp; CoilInHumRat = FinalSysSizing ( CurSysNum ).CoolOutHumRat; @@ -1472,11 +1429,9 @@ namespace ReportSizingManager { DesVolFlow = FinalSysSizing( CurSysNum ).DesOutAirVolFlow; } } else { - if (FinalSysSizing(CurSysNum).HeatingCapMethod == FractionOfAutosizedHeatingCapacity) { + if (FinalSysSizing( CurSysNum ).HeatingCapMethod == FractionOfAutosizedHeatingCapacity) { DataFracOfAutosizedHeatingCapacity = FinalSysSizing(CurSysNum).FractionOfAutosizedHeatingCapacity; - } else { - DataFracOfAutosizedHeatingCapacity = 1.0; - } + } if ( DataFlowUsedForSizing > 0.0 ) { DesVolFlow = DataFlowUsedForSizing; } else if ( UnitarySysEqSizing( CurSysNum ).HeatingAirFlow ) { @@ -1549,6 +1504,10 @@ namespace ReportSizingManager { } } } + } else if (FinalSysSizing( CurSysNum ).HeatingCapMethod == CapacityPerFloorArea) { + NominalCapacityDes = FinalSysSizing( CurSysNum ).HeatingTotalCapacity; + } else if (FinalSysSizing( CurSysNum ).HeatingCapMethod == HeatingDesignCapacity && FinalSysSizing( CurSysNum ).HeatingTotalCapacity > 0.0) { + NominalCapacityDes = FinalSysSizing( CurSysNum ).HeatingTotalCapacity; } else { if ( DataCoolCoilCap > 0.0 ) { NominalCapacityDes = DataCoolCoilCap; diff --git a/src/EnergyPlus/SimAirServingZones.cc b/src/EnergyPlus/SimAirServingZones.cc index 961fa845b5e..37d602fb520 100644 --- a/src/EnergyPlus/SimAirServingZones.cc +++ b/src/EnergyPlus/SimAirServingZones.cc @@ -3301,6 +3301,7 @@ namespace SimAirServingZones { std::string CompName; // Component name std::string CoilName; std::string CoilType; + std::string ScalableSM; // scalable sizing methods label for reporting int CompType_Num; // Numeric equivalent for CompType int CompNum; bool ErrorsFound; @@ -3334,7 +3335,19 @@ namespace SimAirServingZones { if ( PrimaryAirSystem( AirLoopNum ).DesignVolFlowRate == AutoSize ) { CheckSysSizing( "AirLoopHVAC", PrimaryAirSystem( AirLoopNum ).Name ); PrimaryAirSystem( AirLoopNum ).DesignVolFlowRate = FinalSysSizing( AirLoopNum ).DesMainVolFlow; - ReportSizingOutput( "AirLoopHVAC", PrimaryAirSystem( AirLoopNum ).Name, "Design Supply Air Flow Rate [m3/s]", PrimaryAirSystem( AirLoopNum ).DesignVolFlowRate ); + + { auto const SELECT_CASE_var( FinalSysSizing( AirLoopNum ).ScaleCoolSAFMethod ); + if (SELECT_CASE_var == FlowPerFloorArea) { + ScalableSM = "User-Specified(scaled by flow / area) "; + } else if (SELECT_CASE_var == FractionOfAutosizedCoolingAirflow) { + ScalableSM = "User-Specified(scaled by fractional multiplier) "; + } else if (SELECT_CASE_var == FlowPerCoolingCapacity) { + ScalableSM = "User-Specified(scaled by flow / capacity) "; + } else { + ScalableSM = "Design "; + } + } + ReportSizingOutput("AirLoopHVAC", PrimaryAirSystem(AirLoopNum).Name, ScalableSM + "Supply Air Flow Rate [m3/s]", PrimaryAirSystem(AirLoopNum).DesignVolFlowRate); } if ( PrimaryAirSystem( AirLoopNum ).DesignVolFlowRate < SmallAirVolFlow ) { @@ -5930,7 +5943,7 @@ namespace SimAirServingZones { // RE-ENGINEERED na // PURPOSE OF THIS SUBROUTINE: - // Modifies the design sizing flow rates for scalable sizing method inputs + // Modifies the design sizing flow rates for system scalable sizing method // METHODOLOGY EMPLOYED: // na @@ -6084,7 +6097,7 @@ namespace SimAirServingZones { CalcSysSizing( AirLoopNum ).CoolingTotalCapacity = CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity; FinalSysSizing( AirLoopNum ).CoolingTotalCapacity = CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity; } else { - // autosized + FinalSysSizing( AirLoopNum ).CoolingTotalCapacity = 0.0; // autosized, set to zero initially } } else if (SELECT_CASE_var == CapacityPerFloorArea) { FinalSysSizing( AirLoopNum ).CoolingTotalCapacity = CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity * CalcSysSizing( AirLoopNum ).FloorAreaOnAirLoopCooled; @@ -6101,7 +6114,7 @@ namespace SimAirServingZones { if (CalcSysSizing( AirLoopNum ).ScaledHeatingCapacity > 0.0) { FinalSysSizing( AirLoopNum ).HeatingTotalCapacity= CalcSysSizing( AirLoopNum ).ScaledHeatingCapacity; }else { - // autosized + FinalSysSizing( AirLoopNum ).HeatingTotalCapacity = 0.0; // autosized, set to zero initially } } else if (SELECT_CASE_var == CapacityPerFloorArea) { FinalSysSizing( AirLoopNum ).HeatingTotalCapacity = CalcSysSizing( AirLoopNum ).ScaledHeatingCapacity * CalcSysSizing( AirLoopNum ).FloorAreaOnAirLoopHeated; diff --git a/src/EnergyPlus/SteamBaseboardRadiator.cc b/src/EnergyPlus/SteamBaseboardRadiator.cc index 958ee08d347..01cf29bcbb3 100644 --- a/src/EnergyPlus/SteamBaseboardRadiator.cc +++ b/src/EnergyPlus/SteamBaseboardRadiator.cc @@ -781,6 +781,7 @@ namespace SteamBaseboardRadiator { using ReportSizingManager::RequestSizing; using General::RoundSigDigits; using DataHVACGlobals::HeatingCapacitySizing; + using DataHeatBalance::Zone; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -865,10 +866,10 @@ namespace SteamBaseboardRadiator { ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; } TempSize = SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity; - } else if (CapSizingMethod == CapacityPerFloorArea){ - DataHeatingCapPerFloorArea = SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity; - TempSize = SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity; + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad; DataScalableCapSizingON = true; } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ CheckZoneSizing(CompType, CompName); diff --git a/src/EnergyPlus/UnitHeater.cc b/src/EnergyPlus/UnitHeater.cc index 27d9c3682e5..80aead5e414 100644 --- a/src/EnergyPlus/UnitHeater.cc +++ b/src/EnergyPlus/UnitHeater.cc @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -149,6 +150,7 @@ namespace UnitHeater { using InputProcessor::FindItemInList; using DataSizing::ZoneHeatingOnlyFan; using General::TrimSigDigits; + using DataSizing::ZoneEqUnitHeater; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -192,6 +194,8 @@ namespace UnitHeater { } } + ZoneEqUnitHeater = true; + InitUnitHeater( UnitHeatNum, ZoneNum, FirstHVACIteration ); ZoneHeatingOnlyFan = true; @@ -204,6 +208,7 @@ namespace UnitHeater { ReportUnitHeater( UnitHeatNum ); + ZoneEqUnitHeater = false; } void @@ -805,6 +810,7 @@ namespace UnitHeater { // AUTHOR Fred Buhl // DATE WRITTEN February 2002 // MODIFIED August 2013 Daeho Kang, add component sizing table entries + // July 2014, B. Nigusse, added scalable sizing // RE-ENGINEERED na // PURPOSE OF THIS SUBROUTINE: @@ -833,7 +839,8 @@ namespace UnitHeater { using General::RoundSigDigits; using DataHVACGlobals::HeatingAirflowSizing; using DataHVACGlobals::HeatingCapacitySizing; - + using DataHVACGlobals::HeatingWaterflowSizing; + using DataHeatBalance::Zone; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -892,6 +899,7 @@ namespace UnitHeater { MaxVolHotSteamFlowUser = 0.0; DataScalableSizingON = false; + DataScalableCapSizingON = false; ZoneHeatingOnlyFan = true; CompType = "ZoneHVAC:UnitHeater"; CompName = UnitHeat( UnitHeatNum ).Name; @@ -909,10 +917,15 @@ namespace UnitHeater { ZoneEqSizing(CurZoneEqNum).SizingMethod( SizingMethod ) = SAFMethod; if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow) { if (SAFMethod == SupplyAirFlowRate){ - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + if (ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0) { + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + } + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; } else if (SAFMethod == FlowPerFloorArea){ - DataHeatFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; } else if (SAFMethod == FractionOfAutosizedHeatingAirflow){ DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; @@ -976,26 +989,28 @@ namespace UnitHeater { CoilWaterOutletNode = GetCoilWaterOutletNode( "Coil:Heating:Water", UnitHeat( UnitHeatNum ).HCoilName, ErrorsFound ); if ( IsAutoSize ) { PltSizHeatNum = MyPlantSizingIndex( "Coil:Heating:Water", UnitHeat( UnitHeatNum ).HCoilName, CoilWaterInletNode, CoilWaterOutletNode, ErrorsFound ); - if ( PltSizHeatNum > 0 ) { + if (PltSizHeatNum > 0) { SizingMethod = HeatingCapacitySizing; - if ( UnitHeat( UnitHeatNum ).HVACSizingIndex > 0) { + if (UnitHeat(UnitHeatNum).HVACSizingIndex > 0) { zoneHVACIndex = UnitHeat(UnitHeatNum).HVACSizingIndex; CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod; ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { if (CapSizingMethod == HeatingDesignCapacity){ - if (ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity > 0.0) { - ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + if (ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity == AutoSize) { + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = FinalZoneSizing( CurZoneEqNum ).DesHeatLoad; } else { - ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = FinalZoneSizing(CurZoneEqNum).DesHeatLoad; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; } ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; TempSize = AutoSize; } else if (CapSizingMethod == CapacityPerFloorArea){ - DataHeatingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; - DataScalableSizingON = true; + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; + DataScalableCapSizingON = true; } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + DataScalableCapSizingON = true; TempSize = AutoSize; } } @@ -1011,6 +1026,7 @@ namespace UnitHeater { RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); DesCoilLoad = TempSize; } + if ( DesCoilLoad >= SmallLoad ) { rho = GetDensityGlycol( PlantLoop( UnitHeat( UnitHeatNum ).HWLoopNum ).FluidName, 60.0, PlantLoop( UnitHeat( UnitHeatNum ).HWLoopNum ).FluidIndex, RoutineName ); Cp = GetSpecificHeatGlycol( PlantLoop( UnitHeat( UnitHeatNum ).HWLoopNum ).FluidName, 60.0, PlantLoop( UnitHeat( UnitHeatNum ).HWLoopNum ).FluidIndex, RoutineName ); @@ -1043,6 +1059,7 @@ namespace UnitHeater { } } } + } } } else { @@ -1084,11 +1101,13 @@ namespace UnitHeater { ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; TempSize = AutoSize; } else if (CapSizingMethod == CapacityPerFloorArea){ - DataHeatingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; - DataScalableSizingON = true; + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; + DataScalableCapSizingON = true; } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; TempSize = AutoSize; + DataScalableCapSizingON = true; } } SizingMethod = HeatingCapacitySizing; @@ -1141,6 +1160,9 @@ namespace UnitHeater { // set the design air flow rate for the heating coil SetCoilDesFlow( UnitHeat( UnitHeatNum ).HCoilTypeCh, UnitHeat( UnitHeatNum ).HCoilName, UnitHeat( UnitHeatNum ).MaxAirVolFlow, ErrorsFound ); + if ( CurZoneEqNum > 0 ) { + ZoneEqSizing( CurZoneEqNum ).MaxHWVolFlow = UnitHeat( UnitHeatNum ).MaxVolHotWaterFlow; + } if ( ErrorsFound ) { ShowFatalError( "Preceding sizing errors cause program termination" ); diff --git a/src/EnergyPlus/UnitVentilator.cc b/src/EnergyPlus/UnitVentilator.cc index 0e72d239351..bd7a8172ff1 100644 --- a/src/EnergyPlus/UnitVentilator.cc +++ b/src/EnergyPlus/UnitVentilator.cc @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -1169,6 +1170,7 @@ namespace UnitVentilator { // AUTHOR Fred Buhl // DATE WRITTEN February 2002 // MODIFIED August 2013 Daeho Kang, add component sizing table entries + // July 2014, B. Nigusse, added scalable sizing // RE-ENGINEERED na // PURPOSE OF THIS SUBROUTINE: @@ -1204,6 +1206,7 @@ namespace UnitVentilator { using DataHVACGlobals::HeatingAirflowSizing; using DataHVACGlobals::CoolingCapacitySizing; using DataHVACGlobals::HeatingCapacitySizing; + using DataHeatBalance::Zone; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -1292,6 +1295,7 @@ namespace UnitVentilator { HeatingAirVolFlowScalable = 0.0; DataScalableSizingON = false; + DataScalableCapSizingON = false; CompType = cMO_UnitVentilator; CompName = UnitVent(UnitVentNum).Name; DataZoneNumber = UnitVent(UnitVentNum).ZonePtr; @@ -1323,12 +1327,16 @@ namespace UnitVentilator { SAFMethod = ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod; ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow) { - if (SAFMethod == SupplyAirFlowRate){ - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + if (ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0) { + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + } + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; } else if (SAFMethod == FlowPerFloorArea){ - DataCoolFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; @@ -1355,7 +1363,7 @@ namespace UnitVentilator { RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); CoolingAirVolFlowScalable = TempSize; } - DataScalableSizingON = false; + //DataScalableSizingON = false; } else if (ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod > 0 && ZoneHeatingOnlyFan && ! ZoneCoolingOnlyFan) { SizingMethod = HeatingAirflowSizing; @@ -1363,10 +1371,15 @@ namespace UnitVentilator { ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow) { if (SAFMethod == SupplyAirFlowRate){ - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + if (ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0) { + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + } + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; } else if (SAFMethod == FlowPerFloorArea){ - DataHeatFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; } else if (SAFMethod == FractionOfAutosizedHeatingAirflow){ DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; @@ -1393,7 +1406,7 @@ namespace UnitVentilator { RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); HeatingAirVolFlowScalable = TempSize; } - DataScalableSizingON = false; + //DataScalableSizingON = false; } else { if ( UnitVent( UnitVentNum ).CoilOption != NoneOption ) { @@ -1403,10 +1416,15 @@ namespace UnitVentilator { ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow) { if (SAFMethod == SupplyAirFlowRate){ - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + if (ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0) { + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + } + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; } else if (SAFMethod == FlowPerFloorArea){ - DataCoolFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; @@ -1440,10 +1458,15 @@ namespace UnitVentilator { if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow) { SizingMethod = SystemAirflowSizing; if (SAFMethod == SupplyAirFlowRate){ - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + if (ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0) { + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + } + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; } else if (SAFMethod == FlowPerFloorArea){ - DataHeatFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; } else if (SAFMethod == FractionOfAutosizedHeatingAirflow){ DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; @@ -1471,7 +1494,7 @@ namespace UnitVentilator { HeatingAirVolFlowScalable = TempSize; } } - DataScalableSizingON = false; + //DataScalableSizingON = false; } else { // if ( UnitVent (UnitVentNum ).CoilOption /= NoneOption ) PrintFlag = true; @@ -1617,12 +1640,14 @@ namespace UnitVentilator { } TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; } else if (CapSizingMethod == CapacityPerFloorArea){ - DataHeatingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; TempSize = AutoSize; + DataScalableCapSizingON = true; } } SizingString = ""; @@ -1707,13 +1732,15 @@ namespace UnitVentilator { DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; } TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; - } else if (CapSizingMethod == CapacityPerFloorArea){ - DataHeatingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + } else if (CapSizingMethod == CapacityPerFloorArea){ + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; TempSize = AutoSize; + DataScalableCapSizingON = true; } } SizingString = ""; @@ -1810,12 +1837,14 @@ namespace UnitVentilator { } TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; } else if (CapSizingMethod == CapacityPerFloorArea){ - DataCoolingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; } else if (CapSizingMethod == FractionOfAutosizedCoolingCapacity){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; TempSize = AutoSize; + DataScalableCapSizingON = true; } } SizingString = ""; @@ -1838,18 +1867,6 @@ namespace UnitVentilator { ShowWarningError( "Autosizing of water flow resulted in negative value." ); ShowContinueError( "Occurs in " + cMO_UnitVentilator + " Object=" + UnitVent( UnitVentNum ).Name ); ShowContinueError( "...Sizing information found during sizing simulation:" ); - //ShowContinueError( "...Coil inlet temperature = " + TrimSigDigits( CoilInTemp, 3 ) + " C" ); - //ShowContinueError( "...Coil inlet humidity ratio = " + TrimSigDigits( CoilInHumRat, 6 ) + " kg/kg" ); - //CoilInEnthalpy = PsyHFnTdbW( CoilInTemp, CoilInHumRat ); - //ShowContinueError( "...Coil inlet enthalpy = " + TrimSigDigits( CoilInEnthalpy, 3 ) + " J/kg" ); - //ShowContinueError( "...Sizing information from sizing object:" ); - //ShowContinueError( "...Coil outlet temperature = " + TrimSigDigits( CoilOutTemp, 3 ) + " C" ); - //ShowContinueError( "...Coil outlet humidity ratio = " + TrimSigDigits( CoilOutHumRat, 6 ) + " kg/kg" ); - //CoilOutEnthalpy = PsyHFnTdbW( CoilOutTemp, CoilOutHumRat ); - //ShowContinueError( "...Coil outlet enthalpy = " + TrimSigDigits( CoilOutEnthalpy, 3 ) + " J/kg" ); - //if ( CoilOutEnthalpy > CoilInEnthalpy ) { - // ShowContinueError( "...Coil outlet air enthalpy is greater than coil inlet air enthalpy." ); - //} ShowContinueError("...Calculated coil design load = " + TrimSigDigits(DesCoolingLoad, 3) + " W"); ShowContinueError( "...Calculated water flow rate = " + TrimSigDigits( MaxVolColdWaterFlowDes, 3 ) + " m3/s" ); ShowContinueError( "...Water flow rate will be set to 0. Check sizing inputs for zone and plant," " inputs for water cooling coil object, and design day specifications." ); @@ -1898,6 +1915,11 @@ namespace UnitVentilator { SetCoilDesFlow( CoolingCoilType, CoolingCoilName, UnitVent( UnitVentNum ).MaxAirVolFlow, ErrorsFound ); SetCoilDesFlow( UnitVent( UnitVentNum ).HCoilTypeCh, UnitVent( UnitVentNum ).HCoilName, UnitVent( UnitVentNum ).MaxAirVolFlow, ErrorsFound ); + if (CurZoneEqNum > 0) { + ZoneEqSizing( CurZoneEqNum ).MaxHWVolFlow = UnitVent( UnitVentNum ).MaxVolHotWaterFlow; + ZoneEqSizing( CurZoneEqNum ).MaxCWVolFlow = UnitVent( UnitVentNum ).MaxVolColdWaterFlow; + } + if ( ErrorsFound ) { ShowFatalError( "Preceding sizing errors cause program termination" ); } diff --git a/src/EnergyPlus/VentilatedSlab.cc b/src/EnergyPlus/VentilatedSlab.cc index f1e2cd7fcd1..05328ea5a41 100644 --- a/src/EnergyPlus/VentilatedSlab.cc +++ b/src/EnergyPlus/VentilatedSlab.cc @@ -197,6 +197,7 @@ namespace VentilatedSlab { // Using/Aliasing using InputProcessor::FindItemInList; using General::TrimSigDigits; + using DataSizing::ZoneEqVentedSlab; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -240,6 +241,8 @@ namespace VentilatedSlab { } } + ZoneEqVentedSlab = true; + InitVentilatedSlab( Item, ZoneNum, FirstHVACIteration ); CalcVentilatedSlab( Item, ZoneNum, FirstHVACIteration, PowerMet, LatOutputProvided ); @@ -248,6 +251,7 @@ namespace VentilatedSlab { ReportVentilatedSlab( Item ); + ZoneEqVentedSlab = false; } void @@ -1379,6 +1383,7 @@ namespace VentilatedSlab { // AUTHOR Young Tae Chae, Rick Strand // DATE WRITTEN June 2008 // MODIFIED July 2013 Daeho Kang, add component sizing table entries + // July 2014, B. Nigusse, added scalable sizing // RE-ENGINEERED na // PURPOSE OF THIS SUBROUTINE: @@ -1414,6 +1419,7 @@ namespace VentilatedSlab { using DataHVACGlobals::HeatingAirflowSizing; using DataHVACGlobals::CoolingCapacitySizing; using DataHVACGlobals::HeatingCapacitySizing; + using DataHeatBalance::Zone; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -1498,6 +1504,7 @@ namespace VentilatedSlab { HeatingAirVolFlowScalable = 0.0; DataScalableSizingON = false; + DataScalableCapSizingON = false; CompType = cMO_VentilatedSlab; CompName = VentSlab( Item ).Name; DataZoneNumber = VentSlab( Item ).ZonePtr; @@ -1514,10 +1521,15 @@ namespace VentilatedSlab { ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow) { if (SAFMethod == SupplyAirFlowRate){ - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + if (ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0) { + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + } + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; } else if (SAFMethod == FlowPerFloorArea){ - DataCoolFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; @@ -1546,16 +1558,20 @@ namespace VentilatedSlab { } } if (ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod > 0) { - SizingMethod = HeatingAirflowSizing; SAFMethod = ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod; ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow) { if (SAFMethod == SupplyAirFlowRate){ - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + if (ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0) { + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + } + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; } else if (SAFMethod == FlowPerFloorArea){ - DataHeatFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; } else if (SAFMethod == FractionOfAutosizedHeatingAirflow){ DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; @@ -1582,7 +1598,7 @@ namespace VentilatedSlab { HeatingAirVolFlowScalable = TempSize; } } - DataScalableSizingON = false; + //DataScalableSizingON = false; VentSlab(Item).MaxAirVolFlow = max(CoolingAirVolFlowScalable, HeatingAirVolFlowScalable); } else { // no scalble sizing method has been specified. Sizing proceeds using the method @@ -1702,12 +1718,14 @@ namespace VentilatedSlab { } TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; } else if (CapSizingMethod == CapacityPerFloorArea){ - DataHeatingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; TempSize = AutoSize; + DataScalableCapSizingON = true; } } SizingString = ""; @@ -1793,12 +1811,14 @@ namespace VentilatedSlab { } TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; } else if (CapSizingMethod == CapacityPerFloorArea){ - DataHeatingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; TempSize = AutoSize; + DataScalableCapSizingON = true; } } SizingString = ""; @@ -1892,12 +1912,14 @@ namespace VentilatedSlab { } TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; } else if (CapSizingMethod == CapacityPerFloorArea){ - DataCoolingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; } else if (CapSizingMethod == FractionOfAutosizedCoolingCapacity){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; TempSize = AutoSize; + DataScalableCapSizingON = true; } } SizingString = ""; @@ -1955,6 +1977,11 @@ namespace VentilatedSlab { SetCoilDesFlow( CoolingCoilType, CoolingCoilName, VentSlab( Item ).MaxAirVolFlow, ErrorsFound ); SetCoilDesFlow( VentSlab( Item ).HCoilTypeCh, VentSlab( Item ).HCoilName, VentSlab( Item ).MaxAirVolFlow, ErrorsFound ); + if (CurZoneEqNum > 0) { + ZoneEqSizing( CurZoneEqNum ).MaxHWVolFlow = VentSlab( Item ).MaxVolHotWaterFlow; + ZoneEqSizing( CurZoneEqNum ).MaxCWVolFlow = VentSlab( Item ).MaxVolColdWaterFlow; + } + if ( ErrorsFound ) { ShowFatalError( "Preceding sizing errors cause program termination" ); } diff --git a/src/EnergyPlus/WindowAC.cc b/src/EnergyPlus/WindowAC.cc index fbf71c38d33..d409a7c64bf 100644 --- a/src/EnergyPlus/WindowAC.cc +++ b/src/EnergyPlus/WindowAC.cc @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -818,6 +819,7 @@ namespace WindowAC { // AUTHOR Fred Buhl // DATE WRITTEN January 2002 // MODIFIED August 2013 Daeho Kang, add component sizing table entries + // July 2014, B. Nigusse, added scalable sizing // RE-ENGINEERED na // PURPOSE OF THIS SUBROUTINE: @@ -839,6 +841,7 @@ namespace WindowAC { using DataHVACGlobals::SystemAirflowSizing; using DataHVACGlobals::CoolingAirflowSizing; using DataHVACGlobals::CoolingCapacitySizing; + using DataHeatBalance::Zone; // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -900,10 +903,15 @@ namespace WindowAC { ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow) { if (SAFMethod == SupplyAirFlowRate){ - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + if (ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0) { + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + } + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; } else if (SAFMethod == FlowPerFloorArea){ - DataCoolFlowPerFloorArea = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow;; + ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow * Zone( DataZoneNumber ).FloorArea; + TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; @@ -933,7 +941,7 @@ namespace WindowAC { RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); WindAC( WindACNum ).MaxAirVolFlow = TempSize; } - DataScalableSizingON = false; + //DataScalableSizingON = false; // initialize capacity sizing variables: cooling CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).CoolingCapMethod; @@ -945,9 +953,12 @@ namespace WindowAC { ZoneEqSizing(CurZoneEqNum).DesCoolingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; } } else if (CapSizingMethod == CapacityPerFloorArea){ - DataCoolingCapPerFloorArea = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity * Zone( DataZoneNumber ).FloorArea; + DataScalableCapSizingON = true; } else if (CapSizingMethod == FractionOfAutosizedCoolingCapacity){ DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + DataScalableCapSizingON = true; } } } else { From a9c8ef18a831512d5dfe1d298f4e2816db44b6d8 Mon Sep 17 00:00:00 2001 From: Nigusse Date: Fri, 22 Aug 2014 16:02:29 -0400 Subject: [PATCH 14/19] Revised commit. --- src/EnergyPlus/HVACVariableRefrigerantFlow.cc | 213 +++--------------- src/EnergyPlus/PackagedTerminalHeatPump.cc | 2 - src/EnergyPlus/ReportSizingManager.cc | 25 +- 3 files changed, 49 insertions(+), 191 deletions(-) diff --git a/src/EnergyPlus/HVACVariableRefrigerantFlow.cc b/src/EnergyPlus/HVACVariableRefrigerantFlow.cc index 12f5fb7767a..9481863dc7a 100644 --- a/src/EnergyPlus/HVACVariableRefrigerantFlow.cc +++ b/src/EnergyPlus/HVACVariableRefrigerantFlow.cc @@ -3899,7 +3899,7 @@ namespace HVACVariableRefrigerantFlow { EvapCondPumpPowerUser = 0.0; DataScalableSizingON = false; - DataHeatSizeRatio = 1.0; + DataScalableCapSizingON = false; DataFracOfAutosizedCoolingAirflow = 1.0; DataFracOfAutosizedHeatingAirflow = 1.0; DataFracOfAutosizedCoolingCapacity = 1.0; @@ -3927,18 +3927,18 @@ namespace HVACVariableRefrigerantFlow { SAFMethod = ZoneHVACSizing( zoneHVACIndex ).CoolingSAFMethod; ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; if (SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow) { - if (SAFMethod == SupplyAirFlowRate){ - if (ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0) { + if ( SAFMethod == SupplyAirFlowRate ){ + if ( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; } TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; - } else if (SAFMethod == FlowPerFloorArea){ + } else if ( SAFMethod == FlowPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; - } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ + } else if ( SAFMethod == FractionOfAutosizedCoolingAirflow ){ DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; @@ -3948,7 +3948,7 @@ namespace HVACVariableRefrigerantFlow { RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); VRFTU( VRFTUNum ).MaxCoolAirVolFlow = TempSize; - } else if (SAFMethod == FlowPerCoolingCapacity) { + } else if ( SAFMethod == FlowPerCoolingCapacity ) { SizingMethod = CoolingCapacitySizing; TempSize = AutoSize; PrintFlag = false; @@ -3975,18 +3975,18 @@ namespace HVACVariableRefrigerantFlow { SAFMethod = ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod; ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; if (SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow) { - if (SAFMethod == SupplyAirFlowRate){ + if ( SAFMethod == SupplyAirFlowRate ){ if (ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0) { ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; } TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; - } else if (SAFMethod == FlowPerFloorArea){ + } else if ( SAFMethod == FlowPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; - } else if (SAFMethod == FractionOfAutosizedHeatingAirflow){ + } else if ( SAFMethod == FractionOfAutosizedHeatingAirflow ){ DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; @@ -3996,12 +3996,11 @@ namespace HVACVariableRefrigerantFlow { RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); VRFTU( VRFTUNum ).MaxHeatAirVolFlow = TempSize; - } else if (SAFMethod == FlowPerHeatingCapacity) { + } else if ( SAFMethod == FlowPerHeatingCapacity ) { SizingMethod = HeatingCapacitySizing; TempSize = AutoSize; PrintFlag = false; DataScalableSizingON = true; - //DataFlowUsedForSizing = max( FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow, FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow ); DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; if (ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod == FractionOfAutosizedHeatingCapacity) { DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; @@ -4017,30 +4016,30 @@ namespace HVACVariableRefrigerantFlow { } //N2, \field Supply Air Flow Rate When No Cooling is Needed - SizingMethod = SystemAirflowSizing; + SizingMethod = CoolingAirflowSizing; FieldNum = 2; PrintFlag = true; SizingString = VRFTUNumericFields(VRFTUNum).FieldNames(FieldNum) + " [m3/s]"; SAFMethod = ZoneHVACSizing(zoneHVACIndex).NoCoolHeatSAFMethod; ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; - if (SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow || SAFMethod == FractionOfAutosizedHeatingAirflow) { - if (SAFMethod == SupplyAirFlowRate){ - if (ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0) { + if ( ( SAFMethod == SupplyAirFlowRate ) || ( SAFMethod == FlowPerFloorArea ) || ( SAFMethod == FractionOfAutosizedHeatingAirflow ) || ( SAFMethod == FractionOfAutosizedCoolingAirflow ) ) { + if ( SAFMethod == SupplyAirFlowRate ){ + if (ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow > 0.0) { ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow; ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; } TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow; - } else if (SAFMethod == FlowPerFloorArea){ + } else if ( SAFMethod == FlowPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; - } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ + } else if ( SAFMethod == FractionOfAutosizedCoolingAirflow ){ DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; - } else if (SAFMethod == FractionOfAutosizedHeatingAirflow){ + } else if ( SAFMethod == FractionOfAutosizedHeatingAirflow ){ DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; TempSize = AutoSize; @@ -4054,30 +4053,30 @@ namespace HVACVariableRefrigerantFlow { //N4, \field Supply Air Flow Rate When No Heating is Needed - SizingMethod = SystemAirflowSizing; + SizingMethod = HeatingAirflowSizing; FieldNum = 4; PrintFlag = true; SizingString = VRFTUNumericFields(VRFTUNum).FieldNames(FieldNum) + " [m3/s]"; SAFMethod = ZoneHVACSizing(zoneHVACIndex).NoCoolHeatSAFMethod; ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; - if (SAFMethod == SupplyAirFlowRate || SizingMethod == FlowPerFloorArea || SizingMethod == FractionOfAutosizedHeatingAirflow || SizingMethod == FractionOfAutosizedCoolingAirflow) { - if (SizingMethod == SupplyAirFlowRate){ - if (ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0) { + if ( ( SAFMethod == SupplyAirFlowRate ) || ( SAFMethod == FlowPerFloorArea ) || ( SAFMethod == FractionOfAutosizedHeatingAirflow ) || ( SAFMethod == FractionOfAutosizedCoolingAirflow ) ) { + if ( SAFMethod == SupplyAirFlowRate ){ + if (ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow > 0.0) { ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow; ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; } TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow; - } else if (SizingMethod == FlowPerFloorArea){ + } else if ( SAFMethod == FlowPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; - } else if (SizingMethod == FractionOfAutosizedHeatingAirflow){ + } else if (SAFMethod == FractionOfAutosizedHeatingAirflow ){ DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; - } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ + } else if ( SAFMethod == FractionOfAutosizedCoolingAirflow ){ DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; TempSize = AutoSize; @@ -4087,9 +4086,7 @@ namespace HVACVariableRefrigerantFlow { } RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); VRFTU( VRFTUNum ).MaxNoHeatAirVolFlow = TempSize; - } - DataScalableSizingON = false; // initialize capacity sizing variables: cooling SizingMethod = CoolingCapacitySizing; @@ -4104,10 +4101,10 @@ namespace HVACVariableRefrigerantFlow { } else if (CapSizingMethod == CapacityPerFloorArea){ ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity * Zone( DataZoneNumber ).FloorArea; - //DataScalableCapSizingON = true; + DataScalableCapSizingON = true; } else if (CapSizingMethod == FractionOfAutosizedCoolingCapacity){ DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; - //DataScalableCapSizingON = true; + DataScalableCapSizingON = true; } } @@ -4124,10 +4121,10 @@ namespace HVACVariableRefrigerantFlow { } else if (CapSizingMethod == CapacityPerFloorArea){ ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; - //DataScalableCapSizingON = true; + DataScalableCapSizingON = true; } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; - //DataScalableCapSizingON = true; + DataScalableCapSizingON = true; } } @@ -4170,156 +4167,6 @@ namespace HVACVariableRefrigerantFlow { VRFTU(VRFTUNum).MaxNoHeatAirVolFlow = TempSize; } } - //// existing code - //if ( VRFTU( VRFTUNum ).MaxCoolAirVolFlow == AutoSize ) { - // IsAutoSize = true; - //} - //if ( CurZoneEqNum > 0 ) { - // if ( ! IsAutoSize && ! ZoneSizingRunDone ) { // Simulation continue - // if ( VRFTU( VRFTUNum ).MaxCoolAirVolFlow > 0.0 ) { - // ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "User-Specified Supply Air Flow Rate During Cooling Operation [m3/s]", VRFTU( VRFTUNum ).MaxCoolAirVolFlow ); - // } - // } else { - // CheckZoneSizing( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name ); - // MaxCoolAirVolFlowDes = max( FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow, FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow ); - // if ( MaxCoolAirVolFlowDes < SmallAirVolFlow ) { - // MaxCoolAirVolFlowDes = 0.0; - // } - - // if ( IsAutoSize ) { - // VRFTU( VRFTUNum ).MaxCoolAirVolFlow = MaxCoolAirVolFlowDes; - // ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "Design Size Supply Air Flow Rate During Cooling Operation [m3/s]", MaxCoolAirVolFlowDes ); - // } else { - // if ( VRFTU( VRFTUNum ).MaxCoolAirVolFlow > 0.0 && MaxCoolAirVolFlowDes > 0.0 ) { - // MaxCoolAirVolFlowUser = VRFTU( VRFTUNum ).MaxCoolAirVolFlow; - // ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "Design Size Supply Air Flow Rate During Cooling Operation [m3/s]", MaxCoolAirVolFlowDes, "User-Specified Supply Air Flow Rate During Cooling Operation [m3/s]", MaxCoolAirVolFlowUser ); - // if ( DisplayExtraWarnings ) { - // if ( ( std::abs( MaxCoolAirVolFlowDes - MaxCoolAirVolFlowUser ) / MaxCoolAirVolFlowUser ) > AutoVsHardSizingThreshold ) { - // ShowMessage( "SizeVRF: Potential issue with equipment sizing for " + cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ) + ' ' + VRFTU( VRFTUNum ).Name ); - // ShowContinueError( "User-Specified Supply Air Flow Rate During Cooling Operation of " + RoundSigDigits( MaxCoolAirVolFlowUser, 5 ) + " [m3/s]" ); - // ShowContinueError( "differs from Design Size Supply Air Flow Rate During Cooling Operation of " + RoundSigDigits( MaxCoolAirVolFlowDes, 5 ) + " [m3/s]" ); - // ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); - // ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); - // } - // } - // } - // } - // } - //} - - - //IsAutoSize = false; - //if ( VRFTU( VRFTUNum ).MaxHeatAirVolFlow == AutoSize ) { - // IsAutoSize = true; - //} - //if ( CurZoneEqNum > 0 ) { - // if ( ! IsAutoSize && ! ZoneSizingRunDone ) { // Simulation continue - // if ( VRFTU( VRFTUNum ).MaxHeatAirVolFlow > 0.0 ) { - // ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "User-Specified Supply Air Flow Rate During Heating Operation [m3/s]", VRFTU( VRFTUNum ).MaxHeatAirVolFlow ); - // } - // } else { - // CheckZoneSizing( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name ); - // MaxHeatAirVolFlowDes = max( FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow, FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow ); - // if ( MaxHeatAirVolFlowDes < SmallAirVolFlow ) { - // MaxHeatAirVolFlowDes = 0.0; - // } - - // if ( IsAutoSize ) { - // VRFTU( VRFTUNum ).MaxHeatAirVolFlow = MaxHeatAirVolFlowDes; - // ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "Design Size Supply Air Flow Rate During Heating Operation [m3/s]", MaxHeatAirVolFlowDes ); - // } else { - // if ( VRFTU( VRFTUNum ).MaxHeatAirVolFlow > 0.0 && MaxHeatAirVolFlowDes > 0.0 ) { - // MaxHeatAirVolFlowUser = VRFTU( VRFTUNum ).MaxHeatAirVolFlow; - // ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "Design Size Supply Air Flow Rate During Heating Operation [m3/s]", MaxHeatAirVolFlowDes, "User-Specified Supply Air Flow Rate During Heating Operation [m3/s]", MaxHeatAirVolFlowUser ); - // if ( DisplayExtraWarnings ) { - // if ( ( std::abs( MaxHeatAirVolFlowDes - MaxHeatAirVolFlowUser ) / MaxHeatAirVolFlowUser ) > AutoVsHardSizingThreshold ) { - // ShowMessage( "SizeVRF: Potential issue with equipment sizing for" + cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ) + ' ' + VRFTU( VRFTUNum ).Name ); - // ShowContinueError( "User-Specified Supply Air Flow Rate During Heating Operation of " + RoundSigDigits( MaxHeatAirVolFlowUser, 5 ) + " [m3/s]" ); - // ShowContinueError( "differs from Design Size Supply Air Flow Rate During Heating Operation of " + RoundSigDigits( MaxHeatAirVolFlowDes, 5 ) + " [m3/s]" ); - // ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); - // ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); - // } - // } - // } - // } - // } - //} - - - //IsAutoSize = false; - //if ( VRFTU( VRFTUNum ).MaxNoCoolAirVolFlow == AutoSize ) { - // IsAutoSize = true; - //} - //if ( CurZoneEqNum > 0 ) { - // if ( ! IsAutoSize && ! ZoneSizingRunDone ) { // Simulation continue - // if ( VRFTU( VRFTUNum ).MaxNoCoolAirVolFlow > 0.0 ) { - // ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "User-Specified Supply Air Flow Rate When No Cooling is Needed [m3/s]", VRFTU( VRFTUNum ).MaxNoCoolAirVolFlow ); - // } - // } else { - // CheckZoneSizing( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name ); - // MaxNoCoolAirVolFlowDes = VRFTU( VRFTUNum ).MaxCoolAirVolFlow; - // if ( MaxNoCoolAirVolFlowDes < SmallAirVolFlow ) { - // MaxNoCoolAirVolFlowDes = 0.0; - // } - - // if ( IsAutoSize ) { - // VRFTU( VRFTUNum ).MaxNoCoolAirVolFlow = MaxNoCoolAirVolFlowDes; - // ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "Design Size Supply Air Flow Rate When No Cooling is Needed [m3/s]", MaxNoCoolAirVolFlowDes ); - // } else { - // if ( VRFTU( VRFTUNum ).MaxNoCoolAirVolFlow > 0.0 && MaxNoCoolAirVolFlowDes > 0.0 ) { - // MaxNoCoolAirVolFlowUser = VRFTU( VRFTUNum ).MaxNoCoolAirVolFlow; - // ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "Design Size Supply Air Flow Rate When No Cooling is Needed [m3/s]", MaxNoCoolAirVolFlowDes, "User-Specified Supply Air Flow Rate When No Cooling is Needed [m3/s]", MaxNoCoolAirVolFlowUser ); - // if ( DisplayExtraWarnings ) { - // if ( ( std::abs( MaxNoCoolAirVolFlowDes - MaxNoCoolAirVolFlowUser ) / MaxNoCoolAirVolFlowUser ) > AutoVsHardSizingThreshold ) { - // ShowMessage( "SizeVRF: Potential issue with equipment sizing for " + cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ) + ' ' + VRFTU( VRFTUNum ).Name ); - // ShowContinueError( "User-Specified Supply Air Flow Rate When No Cooling is Needed of " + RoundSigDigits( MaxNoCoolAirVolFlowUser, 5 ) + " [m3/s]" ); - // ShowContinueError( "differs from Design Size Supply Air Flow Rate When No Cooling is Needed of " + RoundSigDigits( MaxNoCoolAirVolFlowDes, 5 ) + " [m3/s]" ); - // ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); - // ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); - // } - // } - // } - // } - // } - //} - - //IsAutoSize = false; - //if ( VRFTU( VRFTUNum ).MaxNoHeatAirVolFlow == AutoSize ) { - // IsAutoSize = true; - //} - //if ( CurZoneEqNum > 0 ) { - // if ( ! IsAutoSize && ! ZoneSizingRunDone ) { // Simulation continue - // if ( VRFTU( VRFTUNum ).MaxNoHeatAirVolFlow > 0.0 ) { - // ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "User-Specified Supply Air Flow Rate When No Heating is Needed [m3/s]", VRFTU( VRFTUNum ).MaxNoHeatAirVolFlow ); - // } - // } else { - // CheckZoneSizing( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name ); - // MaxNoHeatAirVolFlowDes = VRFTU( VRFTUNum ).MaxHeatAirVolFlow; - // if ( MaxNoHeatAirVolFlowDes < SmallAirVolFlow ) { - // MaxNoHeatAirVolFlowDes = 0.0; - // } - - // if ( IsAutoSize ) { - // VRFTU( VRFTUNum ).MaxNoHeatAirVolFlow = MaxNoHeatAirVolFlowDes; - // ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "Design Size Supply Air Flow Rate When No Heating is Needed [m3/s]", MaxNoHeatAirVolFlowDes ); - // } else { - // if ( VRFTU( VRFTUNum ).MaxNoHeatAirVolFlow > 0.0 && MaxNoHeatAirVolFlowDes > 0.0 ) { - // MaxNoHeatAirVolFlowUser = VRFTU( VRFTUNum ).MaxNoHeatAirVolFlow; - // ReportSizingOutput( cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ), VRFTU( VRFTUNum ).Name, "Design Size Supply Air Flow Rate When No Heating is Needed [m3/s]", MaxNoHeatAirVolFlowDes, "User-Specified Supply Air Flow Rate When No Heating is Needed [m3/s]", MaxNoHeatAirVolFlowUser ); - // if ( DisplayExtraWarnings ) { - // if ( ( std::abs( MaxNoHeatAirVolFlowDes - MaxNoHeatAirVolFlowUser ) / MaxNoHeatAirVolFlowUser ) > AutoVsHardSizingThreshold ) { - // ShowMessage( "SizeVRF: Potential issue with equipment sizing for " + cVRFTUTypes( VRFTU( VRFTUNum ).VRFTUType_Num ) + ' ' + VRFTU( VRFTUNum ).Name ); - // ShowContinueError( "User-Specified Supply Air Flow Rate When No Heating is Needed of " + RoundSigDigits( MaxNoHeatAirVolFlowUser, 5 ) + " [m3/s]" ); - // ShowContinueError( "differs from Design Size Supply Air Flow Rate When No Heating is Needed of " + RoundSigDigits( MaxNoHeatAirVolFlowDes, 5 ) + " [m3/s]" ); - // ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); - // ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); - // } - // } - // } - // } - // } - //} - IsAutoSize = false; if ( VRFTU( VRFTUNum ).CoolOutAirVolFlow == AutoSize ) { IsAutoSize = true; @@ -4431,6 +4278,10 @@ namespace HVACVariableRefrigerantFlow { } } + if (CurZoneEqNum > 0) { + ZoneEqSizing( CurZoneEqNum ).AirVolFlow = max( VRFTU( VRFTUNum ).MaxCoolAirVolFlow, VRFTU( VRFTUNum ).MaxHeatAirVolFlow ); + } + if ( CheckVRFCombinationRatio( VRFCond ) ) { OnOffAirFlowRat = 1.0; // set up the outside air data for sizing the DX coils diff --git a/src/EnergyPlus/PackagedTerminalHeatPump.cc b/src/EnergyPlus/PackagedTerminalHeatPump.cc index 7d737c09cbe..c0771b08121 100644 --- a/src/EnergyPlus/PackagedTerminalHeatPump.cc +++ b/src/EnergyPlus/PackagedTerminalHeatPump.cc @@ -3724,7 +3724,6 @@ namespace PackagedTerminalHeatPump { RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); PTUnit( PTUnitNum ).MaxNoCoolHeatAirVolFlow = TempSize; } - //DataScalableSizingON = false; // initialize capacity sizing variables: cooling SizingMethod = CoolingCapacitySizing; @@ -3947,7 +3946,6 @@ namespace PackagedTerminalHeatPump { if ( CurZoneEqNum > 0 ) { ZoneEqSizing( CurZoneEqNum ).OAVolFlow = max( PTUnit( PTUnitNum ).CoolOutAirVolFlow, PTUnit( PTUnitNum ).HeatOutAirVolFlow ); ZoneEqSizing( CurZoneEqNum ).AirVolFlow = max( PTUnit( PTUnitNum ).MaxCoolAirVolFlow, PTUnit( PTUnitNum ).MaxHeatAirVolFlow ); - //ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; } if ( ErrorsFound ) { diff --git a/src/EnergyPlus/ReportSizingManager.cc b/src/EnergyPlus/ReportSizingManager.cc index 016985a8e9b..3b4de5b7aaa 100644 --- a/src/EnergyPlus/ReportSizingManager.cc +++ b/src/EnergyPlus/ReportSizingManager.cc @@ -408,7 +408,6 @@ namespace ReportSizingManager { ShowFatalError( "Preceding conditions cause termination." ); } } else if ( CurZoneEqNum > 0 ) { - //if ( !IsAutoSize && ! SizingDesRunThisZone && ! DataScalableSizingON && ! DataScalableCapSizingON ) { if ( ! IsAutoSize && ! SizingDesRunThisZone ) { HardSizeNoDesRun = true; AutosizeUser = SizingResult; @@ -429,7 +428,7 @@ namespace ReportSizingManager { if ((SELECT_CASE_var == SupplyAirFlowRate) || (SELECT_CASE_var == None)) { if ( ZoneEqSizing( CurZoneEqNum ).SystemAirFlow ) { - AutosizeDes = max( ZoneEqSizing( CurZoneEqNum ).AirVolFlow, ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow, ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow ); + AutosizeDes = max( ZoneEqSizing( CurZoneEqNum ).AirVolFlow, FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow, FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow ); } else { if (ZoneCoolingOnlyFan) { AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; @@ -526,12 +525,12 @@ namespace ReportSizingManager { } else if ( SizingType == CoolingAirflowSizing || SizingType == HeatingAirflowSizing ) { { auto const SELECT_CASE_var(ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingType ) ); - if ((SELECT_CASE_var == SupplyAirFlowRate) || (SELECT_CASE_var == None)) { + if ((SELECT_CASE_var == SupplyAirFlowRate) || (SELECT_CASE_var == None) || (SELECT_CASE_var == FlowPerFloorArea)) { if ( ZoneEqSizing( CurZoneEqNum ).SystemAirFlow ) { if ( SizingType == CoolingAirflowSizing ) { - AutosizeDes =ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow; + AutosizeDes = max( ZoneEqSizing( CurZoneEqNum ).AirVolFlow, ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow); } else if ( SizingType == HeatingAirflowSizing ) { - AutosizeDes = ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow; + AutosizeDes = max( ZoneEqSizing( CurZoneEqNum ).AirVolFlow, ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow ); } else { AutosizeDes = max( ZoneEqSizing( CurZoneEqNum ).AirVolFlow, ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow, ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow ); } @@ -912,10 +911,16 @@ namespace ReportSizingManager { } else if ( SizingType == HeatingCapacitySizing ) { if ( ZoneEqSizing(CurZoneEqNum).HeatingCapacity ) { NominalCapacityDes = ZoneEqSizing(CurZoneEqNum).DesHeatingLoad; + if ( DataFlowUsedForSizing > 0.0 ) { + DesVolFlow = DataFlowUsedForSizing; + } } else if ( DataCoolCoilCap > 0.0 && DataFlowUsedForSizing > 0.0 ) { NominalCapacityDes = DataCoolCoilCap; DesVolFlow = DataFlowUsedForSizing; } else if ( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow >= SmallMassFlow ) { + if ( DataFlowUsedForSizing > 0.0) { + DesVolFlow = DataFlowUsedForSizing; + } if ( TermUnitPIU ) { MinPriFlowFrac = TermUnitSizing( CurZoneEqNum ).MinFlowFrac; if ( TermUnitSizing( CurZoneEqNum ).InducesPlenumAir ) { @@ -1641,12 +1646,16 @@ namespace ReportSizingManager { } else { SizingResult = AutosizeDes; } - } else if ( DataScalableSizingON || DataScalableCapSizingON ) { - SizingResult = AutosizeDes; + } else if ( DataScalableSizingON || DataScalableCapSizingON ) { + if (DataEMSOverrideON) { + SizingResult = DataEMSOverride; + } else { + SizingResult = AutosizeDes; + } } else { AutosizeUser = SizingResult; } - if (DataScalableSizingON) { + if ( DataScalableSizingON ) { if (SizingType == CoolingAirflowSizing || SizingType == HeatingAirflowSizing || SizingType == SystemAirflowSizing) { { auto const SELECT_CASE_var( ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingType ) ); if (SELECT_CASE_var == SupplyAirFlowRate || SELECT_CASE_var == None) { From 37e011758e0fbee3b34dc93abc4d614121ae2ddf Mon Sep 17 00:00:00 2001 From: Nigusse Date: Fri, 22 Aug 2014 17:19:44 -0400 Subject: [PATCH 15/19] Added two example files for scalable sizing. --- testfiles/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/testfiles/CMakeLists.txt b/testfiles/CMakeLists.txt index 6300526c9fa..2e2844c95c7 100644 --- a/testfiles/CMakeLists.txt +++ b/testfiles/CMakeLists.txt @@ -61,6 +61,7 @@ ADD_SIMULATION_TEST(IDF_FILE 5ZoneWarmest.idf EPW_FILE USA_IL_Chicago-OHare.Intl ADD_SIMULATION_TEST(IDF_FILE 5ZoneWarmestVFD.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw) ADD_SIMULATION_TEST(IDF_FILE 5ZoneWarmestVFD_FCMAuto.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw) ADD_SIMULATION_TEST(IDF_FILE 5ZoneWaterCooled_Baseboard.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw) +ADD_SIMULATION_TEST(IDF_FILE 5ZoneWaterCooled_BaseboardScalableSizing.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw) ADD_SIMULATION_TEST(IDF_FILE 5ZoneWaterCooled_HighRHControl.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw) ADD_SIMULATION_TEST(IDF_FILE 5ZoneWaterCooled_MultizoneAverageRHControl.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw) ADD_SIMULATION_TEST(IDF_FILE 5ZoneWaterCooled_MultizoneMinMaxRHControl.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw) @@ -176,6 +177,7 @@ ADD_SIMULATION_TEST(IDF_FILE EvaporativeFluidCooler_TwoSpeed.idf EPW_FILE USA_IL ADD_SIMULATION_TEST(IDF_FILE ExhFiredAbsorptionChiller.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw) ADD_SIMULATION_TEST(IDF_FILE ExteriorLightsAndEq.idf EPW_FILE USA_CO_Golden-NREL.724666_TMY3.epw) ADD_SIMULATION_TEST(IDF_FILE FanCoilAutoSize.idf EPW_FILE USA_CO_Golden-NREL.724666_TMY3.epw) +ADD_SIMULATION_TEST(IDF_FILE FanCoilAutoSizeScalableSizing.idf EPW_FILE USA_CO_Golden-NREL.724666_TMY3.epw) ADD_SIMULATION_TEST(IDF_FILE FanCoil_HybridVent_VentSch.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw) ADD_SIMULATION_TEST(IDF_FILE Flr_Rf_8Sides.idf EPW_FILE USA_CO_Golden-NREL.724666_TMY3.epw) ADD_SIMULATION_TEST(IDF_FILE FluidCooler.idf EPW_FILE USA_IL_Chicago-OHare.Intl.AP.725300_TMY3.epw) From 10c1313d68f78cd1135b1e1134f9e51e04e75a87 Mon Sep 17 00:00:00 2001 From: Richard Raustad Date: Mon, 8 Sep 2014 15:21:31 -0400 Subject: [PATCH 16/19] Fixed padded spacing. --- src/EnergyPlus/BaseboardElectric.cc | 78 +- src/EnergyPlus/BaseboardElectric.hh | 10 +- src/EnergyPlus/BaseboardRadiator.cc | 84 +- src/EnergyPlus/BaseboardRadiator.hh | 10 +- src/EnergyPlus/DataSizing.cc | 24 +- src/EnergyPlus/DataSizing.hh | 198 ++-- src/EnergyPlus/ElectricBaseboardRadiator.cc | 128 ++- src/EnergyPlus/ElectricBaseboardRadiator.hh | 4 +- src/EnergyPlus/EvaporativeCoolers.cc | 55 +- src/EnergyPlus/FanCoilUnits.cc | 364 ++++--- src/EnergyPlus/HVACVariableRefrigerantFlow.cc | 184 ++-- src/EnergyPlus/HWBaseboardRadiator.cc | 160 ++- src/EnergyPlus/HWBaseboardRadiator.hh | 11 +- src/EnergyPlus/HighTempRadiantSystem.cc | 101 +- src/EnergyPlus/HighTempRadiantSystem.hh | 11 +- src/EnergyPlus/LowTempRadiantSystem.cc | 226 +++-- src/EnergyPlus/LowTempRadiantSystem.hh | 22 +- src/EnergyPlus/PackagedTerminalHeatPump.cc | 195 ++-- src/EnergyPlus/PurchasedAirManager.cc | 471 +++++---- src/EnergyPlus/ReportSizingManager.cc | 290 +++--- src/EnergyPlus/SimAirServingZones.cc | 272 +++--- src/EnergyPlus/SizingManager.cc | 910 +++++++++--------- src/EnergyPlus/SteamBaseboardRadiator.cc | 115 ++- src/EnergyPlus/SteamBaseboardRadiator.hh | 10 +- src/EnergyPlus/UnitHeater.cc | 154 +-- src/EnergyPlus/UnitVentilator.cc | 398 ++++---- src/EnergyPlus/VentilatedSlab.cc | 330 ++++--- src/EnergyPlus/WindowAC.cc | 101 +- testfiles/DOASDualDuctSchool.idf | 20 +- .../RefBldgLargeHotelNew2004_Chicago.idf | 2 +- 30 files changed, 2368 insertions(+), 2570 deletions(-) diff --git a/src/EnergyPlus/BaseboardElectric.cc b/src/EnergyPlus/BaseboardElectric.cc index 9af4564c508..013c41bcbc4 100644 --- a/src/EnergyPlus/BaseboardElectric.cc +++ b/src/EnergyPlus/BaseboardElectric.cc @@ -200,7 +200,6 @@ namespace BaseboardElectric { // SUBROUTINE PARAMETER DEFINITIONS: static std::string const RoutineName( "GetBaseboardInput: " ); // include trailing blank space - int const iHeatCAPMAlphaNum( 3 ); // get input index to baseboard heating capacity sizing method int const iHeatDesignCapacityNumericNum( 1 ); // get input index to baseboard heating capacity int const iHeatCapacityPerFloorAreaNumericNum( 2 ); // get input index to baseboard heating capacity per floor area sizing @@ -227,7 +226,6 @@ namespace BaseboardElectric { int CtrlZone; // index to constrolled zone number int ZoneEquipTypeNum; // index to zone equipment in a zone equipment list - cCurrentModuleObject = cCMO_BBRadiator_Electric; NumConvElecBaseboards = GetNumObjectsFound( cCurrentModuleObject ); @@ -278,55 +276,55 @@ namespace BaseboardElectric { Baseboard( BaseboardNum ).BaseboardEfficiency = rNumericArgs( 4 ); // Determine baseboard electric heating design capacity sizing method - if (SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "HeatingDesignCapacity")) { - Baseboard(BaseboardNum).HeatingCapMethod = HeatingDesignCapacity; - if ( ! lNumericFieldBlanks( iHeatDesignCapacityNumericNum ) ) { - Baseboard(BaseboardNum).ScaledHeatingCapacity = rNumericArgs( iHeatDesignCapacityNumericNum ); - if (Baseboard(BaseboardNum).ScaledHeatingCapacity < 0.0 && Baseboard(BaseboardNum).ScaledHeatingCapacity != AutoSize) { - ShowSevereError( cCurrentModuleObject + " = " + Baseboard(BaseboardNum).EquipName ); - ShowContinueError("Illegal " + cNumericFieldNames( iHeatDesignCapacityNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iHeatDesignCapacityNumericNum), 7 ) ); + if( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "HeatingDesignCapacity" ) ) { + Baseboard( BaseboardNum ).HeatingCapMethod = HeatingDesignCapacity; + if( !lNumericFieldBlanks( iHeatDesignCapacityNumericNum ) ) { + Baseboard( BaseboardNum ).ScaledHeatingCapacity = rNumericArgs( iHeatDesignCapacityNumericNum ); + if( Baseboard( BaseboardNum ).ScaledHeatingCapacity < 0.0 && Baseboard( BaseboardNum ).ScaledHeatingCapacity != AutoSize ) { + ShowSevereError( cCurrentModuleObject + " = " + Baseboard( BaseboardNum ).EquipName ); + ShowContinueError( "Illegal " + cNumericFieldNames( iHeatDesignCapacityNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iHeatDesignCapacityNumericNum ), 7 ) ); ErrorsFound = true; } } else { ShowSevereError( cCurrentModuleObject + " = " + Baseboard( BaseboardNum ).EquipName ); - ShowContinueError( "Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); - ShowContinueError( "Blank field not allowed for " + cNumericFieldNames( iHeatDesignCapacityNumericNum )); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFieldNames( iHeatDesignCapacityNumericNum ) ); ErrorsFound = true; } - } else if (SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "CapacityPerFloorArea" ) ) { + } else if( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "CapacityPerFloorArea" ) ) { Baseboard( BaseboardNum ).HeatingCapMethod = CapacityPerFloorArea; - if ( ! lNumericFieldBlanks( iHeatCapacityPerFloorAreaNumericNum ) ) { + if( !lNumericFieldBlanks( iHeatCapacityPerFloorAreaNumericNum ) ) { Baseboard( BaseboardNum ).ScaledHeatingCapacity = rNumericArgs( iHeatCapacityPerFloorAreaNumericNum ); - if (Baseboard( BaseboardNum ).ScaledHeatingCapacity <= 0.0) { + if( Baseboard( BaseboardNum ).ScaledHeatingCapacity <= 0.0 ) { ShowSevereError( cCurrentModuleObject + " = " + Baseboard( BaseboardNum ).EquipName ); ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); - ShowContinueError( "Illegal " + cNumericFieldNames( iHeatCapacityPerFloorAreaNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iHeatCapacityPerFloorAreaNumericNum ), 7)); + ShowContinueError( "Illegal " + cNumericFieldNames( iHeatCapacityPerFloorAreaNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iHeatCapacityPerFloorAreaNumericNum ), 7 ) ); ErrorsFound = true; - } else if (Baseboard(BaseboardNum).ScaledHeatingCapacity == AutoSize) { - ShowSevereError(cCurrentModuleObject + " = " + Baseboard(BaseboardNum).EquipName); - ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = Autosize"); + } else if( Baseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize ) { + ShowSevereError( cCurrentModuleObject + " = " + Baseboard( BaseboardNum ).EquipName ); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFieldNames( iHeatCapacityPerFloorAreaNumericNum ) + " = Autosize" ); ErrorsFound = true; } } else { - ShowSevereError(cCurrentModuleObject + " = " + Baseboard(BaseboardNum).EquipName); - ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum)); + ShowSevereError( cCurrentModuleObject + " = " + Baseboard( BaseboardNum ).EquipName ); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFieldNames( iHeatCapacityPerFloorAreaNumericNum ) ); ErrorsFound = true; } - } else if (SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "FractionOfAutosizedHeatingCapacity" )){ + } else if( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "FractionOfAutosizedHeatingCapacity" ) ){ Baseboard( BaseboardNum ).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; - if ( !lNumericFieldBlanks( iHeatFracOfAutosizedCapacityNumericNum ) ) { + if( !lNumericFieldBlanks( iHeatFracOfAutosizedCapacityNumericNum ) ) { Baseboard( BaseboardNum ).ScaledHeatingCapacity = rNumericArgs( iHeatFracOfAutosizedCapacityNumericNum ); - if (Baseboard( BaseboardNum ).ScaledHeatingCapacity < 0.0 ) { + if( Baseboard( BaseboardNum ).ScaledHeatingCapacity < 0.0 ) { ShowSevereError( cCurrentModuleObject + " = " + Baseboard( BaseboardNum ).EquipName ); ShowContinueError( "Illegal " + cNumericFieldNames( iHeatFracOfAutosizedCapacityNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iHeatFracOfAutosizedCapacityNumericNum ), 7 ) ); ErrorsFound = true; } } else { ShowSevereError( cCurrentModuleObject + " = " + Baseboard( BaseboardNum ).EquipName ); - ShowContinueError("Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); - ShowContinueError("Blank field not allowed for " + cNumericFieldNames( iHeatFracOfAutosizedCapacityNumericNum ) ); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFieldNames( iHeatFracOfAutosizedCapacityNumericNum ) ); ErrorsFound = true; } } else { @@ -334,11 +332,11 @@ namespace BaseboardElectric { ShowContinueError( "Illegal " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); ErrorsFound = true; } - - for (CtrlZone = 1; CtrlZone <= NumOfZones; ++CtrlZone) { - for (ZoneEquipTypeNum = 1; ZoneEquipTypeNum <= ZoneEquipList(CtrlZone).NumOfEquipTypes; ++ZoneEquipTypeNum) { - if (ZoneEquipList(CtrlZone).EquipType_Num(ZoneEquipTypeNum) == BBElectricConvective_Num && ZoneEquipList(CtrlZone).EquipName(ZoneEquipTypeNum) == Baseboard(BaseboardNum).EquipName) { - Baseboard(BaseboardNum).ZonePtr = CtrlZone; + + for( CtrlZone = 1; CtrlZone <= NumOfZones; ++CtrlZone ) { + for( ZoneEquipTypeNum = 1; ZoneEquipTypeNum <= ZoneEquipList( CtrlZone ).NumOfEquipTypes; ++ZoneEquipTypeNum ) { + if( ZoneEquipList( CtrlZone ).EquipType_Num( ZoneEquipTypeNum ) == BBElectricConvective_Num && ZoneEquipList( CtrlZone ).EquipName( ZoneEquipTypeNum ) == Baseboard( BaseboardNum ).EquipName ) { + Baseboard( BaseboardNum ).ZonePtr = CtrlZone; } } } @@ -500,13 +498,13 @@ namespace BaseboardElectric { Real64 NominalCapacityDes; // Design nominal capacity for reporting Real64 NominalCapacityUser; // User hard-sized nominal capacity for reporting - std::string CompName; // component name - std::string CompType; // component type + std::string CompName; // component name + std::string CompType; // component type std::string SizingString; // input field sizing description (e.g., Nominal Capacity) - Real64 TempSize; // autosized value of coil input field - int FieldNum = 1; // IDD numeric field number where input field description is found - int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) - bool PrintFlag; // TRUE when sizing information is reported in the eio file + Real64 TempSize; // autosized value of coil input field + int FieldNum = 1; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) + bool PrintFlag; // TRUE when sizing information is reported in the eio file int CapSizingMethod( 0 ); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) IsAutoSize = false; @@ -526,9 +524,9 @@ namespace BaseboardElectric { SizingString = BaseboardNumericFields(BaseboardNum).FieldNames(FieldNum) + " [W]"; CapSizingMethod = Baseboard( BaseboardNum ).HeatingCapMethod; ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; - if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { + if ( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { if ( CapSizingMethod == HeatingDesignCapacity ){ - if (Baseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize ) { + if ( Baseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize ) { CheckZoneSizing(CompType, CompName); ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; diff --git a/src/EnergyPlus/BaseboardElectric.hh b/src/EnergyPlus/BaseboardElectric.hh index 37a180e8a8c..6b93bb99d12 100644 --- a/src/EnergyPlus/BaseboardElectric.hh +++ b/src/EnergyPlus/BaseboardElectric.hh @@ -46,9 +46,9 @@ namespace BaseboardElectric { Real64 Energy; Real64 ElecUseLoad; Real64 ElecUseRate; - int ZonePtr; // point to teh zone where the basebaord is located - int HeatingCapMethod; // - Method for heating capacity scaledsizing calculation- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) - Real64 ScaledHeatingCapacity; // - scaled maximum heating capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} + int ZonePtr; // point to teh zone where the basebaord is located + int HeatingCapMethod; // - Method for heating capacity scaledsizing calculation- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 ScaledHeatingCapacity; // - scaled maximum heating capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} // Default Constructor BaseboardParams() : @@ -83,8 +83,8 @@ namespace BaseboardElectric { Real64 const ElecUseLoad, Real64 const ElecUseRate, int const ZonePtr, // point to teh zone where the electric baseboard is located - int const HeatingCapMethod, // - Method for electric baseboard heating capacity scalable sizing calculation - Real64 const ScaledHeatingCapacity // - electric baseboard scaled maximum heating capacity {W} or scalable variable for sizing in {-}, or {W/m2} + int const HeatingCapMethod, // - Method for electric baseboard heating capacity scalable sizing calculation + Real64 const ScaledHeatingCapacity // - electric baseboard scaled maximum heating capacity {W} or scalable variable for sizing in {-}, or {W/m2} ) : EquipName( EquipName ), EquipType( EquipType ), diff --git a/src/EnergyPlus/BaseboardRadiator.cc b/src/EnergyPlus/BaseboardRadiator.cc index 908a2ff0fb1..dff6568d53e 100644 --- a/src/EnergyPlus/BaseboardRadiator.cc +++ b/src/EnergyPlus/BaseboardRadiator.cc @@ -254,13 +254,11 @@ namespace BaseboardRadiator { // SUBROUTINE PARAMETER DEFINITIONS: static std::string const RoutineName( "GetBaseboardInput: " ); // include trailing blank space - int const iHeatCAPMAlphaNum( 5 ); // get input index to water baseboard Radiator system heating capacity sizing method int const iHeatDesignCapacityNumericNum( 1 ); // get input index to water baseboard Radiator system electric heating capacity int const iHeatCapacityPerFloorAreaNumericNum( 2 ); // get input index to water baseboard Radiator system electric heating capacity per floor area sizing int const iHeatFracOfAutosizedCapacityNumericNum( 3 ); // get input index to water baseboard Radiator system electric heating capacity sizing as fraction of autozized heating capacity - // INTERFACE BLOCK SPECIFICATIONS // na @@ -333,11 +331,11 @@ namespace BaseboardRadiator { TestCompSet( cCMO_BBRadiator_Water, cAlphaArgs( 1 ), cAlphaArgs( 3 ), cAlphaArgs( 4 ), "Hot Water Nodes" ); // Determine steam baseboard radiator system heating design capacity sizing method - if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "HeatingDesignCapacity")) { + if ( SameString( cAlphaArgs(iHeatCAPMAlphaNum), "HeatingDesignCapacity" ) ) { Baseboard(BaseboardNum).HeatingCapMethod = HeatingDesignCapacity; - if (!lNumericFieldBlanks(iHeatDesignCapacityNumericNum)) { + if ( !lNumericFieldBlanks(iHeatDesignCapacityNumericNum) ) { Baseboard(BaseboardNum).ScaledHeatingCapacity = rNumericArgs(iHeatDesignCapacityNumericNum); - if (Baseboard( BaseboardNum ).ScaledHeatingCapacity < 0.0 && Baseboard( BaseboardNum ).ScaledHeatingCapacity != AutoSize) { + if ( Baseboard( BaseboardNum ).ScaledHeatingCapacity < 0.0 && Baseboard( BaseboardNum ).ScaledHeatingCapacity != AutoSize ) { ShowSevereError( cCMO_BBRadiator_Water + " = " + Baseboard( BaseboardNum ).EquipID); ShowContinueError("Illegal " + cNumericFieldNames(iHeatDesignCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatDesignCapacityNumericNum), 7)); ErrorsFound = true; @@ -348,16 +346,16 @@ namespace BaseboardRadiator { ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatDesignCapacityNumericNum)); ErrorsFound = true; } - } else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "CapacityPerFloorArea")) { + } else if ( SameString( cAlphaArgs(iHeatCAPMAlphaNum), "CapacityPerFloorArea" ) ) { Baseboard( BaseboardNum ).HeatingCapMethod = CapacityPerFloorArea; - if (!lNumericFieldBlanks(iHeatCapacityPerFloorAreaNumericNum)) { + if ( !lNumericFieldBlanks(iHeatCapacityPerFloorAreaNumericNum) ) { Baseboard( BaseboardNum ).ScaledHeatingCapacity = rNumericArgs(iHeatCapacityPerFloorAreaNumericNum); - if (Baseboard( BaseboardNum ).ScaledHeatingCapacity <= 0.0) { + if ( Baseboard( BaseboardNum ).ScaledHeatingCapacity <= 0.0 ) { ShowSevereError( cCMO_BBRadiator_Water + " = " + Baseboard( BaseboardNum ).EquipID); ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatCapacityPerFloorAreaNumericNum), 7)); ErrorsFound = true; - } else if (Baseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize) { + } else if ( Baseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize ) { ShowSevereError( cCMO_BBRadiator_Water + " = " + Baseboard( BaseboardNum ).EquipID); ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = Autosize"); @@ -369,11 +367,11 @@ namespace BaseboardRadiator { ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum)); ErrorsFound = true; } - } else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "FractionOfAutosizedHeatingCapacity")){ + } else if ( SameString( cAlphaArgs(iHeatCAPMAlphaNum), "FractionOfAutosizedHeatingCapacity" ) ){ Baseboard( BaseboardNum ).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; - if (!lNumericFieldBlanks(iHeatFracOfAutosizedCapacityNumericNum)) { + if ( !lNumericFieldBlanks(iHeatFracOfAutosizedCapacityNumericNum) ) { Baseboard( BaseboardNum ).ScaledHeatingCapacity = rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum); - if (Baseboard( BaseboardNum ).ScaledHeatingCapacity < 0.0) { + if ( Baseboard( BaseboardNum ).ScaledHeatingCapacity < 0.0 ) { ShowSevereError( cCMO_BBRadiator_Water + " = " + Baseboard( BaseboardNum ).EquipID); ShowContinueError("Illegal " + cNumericFieldNames(iHeatFracOfAutosizedCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum), 7)); ErrorsFound = true; @@ -390,12 +388,12 @@ namespace BaseboardRadiator { ErrorsFound = true; } - Baseboard( BaseboardNum ).UA = rNumericArgs( 4 ); - Baseboard( BaseboardNum ).WaterVolFlowRateMax = rNumericArgs( 5 ); - Baseboard( BaseboardNum ).Offset = rNumericArgs( 6 ); + Baseboard( BaseboardNum ).UA = rNumericArgs( 4 ); + Baseboard( BaseboardNum ).WaterVolFlowRateMax = rNumericArgs( 5 ); + Baseboard( BaseboardNum ).Offset = rNumericArgs( 6 ); // Set default convergence tolerance - if ( Baseboard( BaseboardNum ).Offset <= 0.0 ) { - Baseboard( BaseboardNum ).Offset = 0.001; + if ( Baseboard( BaseboardNum ).Offset <= 0.0 ) { + Baseboard( BaseboardNum ).Offset = 0.001; } } @@ -622,13 +620,13 @@ namespace BaseboardRadiator { Real64 WaterVolFlowRateMaxUser; // User hard-sized volume flow for reporting Real64 UADes; // Design UA value for reproting Real64 UAUser; // User hard-sized value for reporting - std::string CompName; // component name - std::string CompType; // component type + std::string CompName; // component name + std::string CompType; // component type std::string SizingString; // input field sizing description (e.g., Nominal Capacity) - Real64 TempSize; // autosized value of coil input field - int FieldNum = 1; // IDD numeric field number where input field description is found - int SizingMethod; // Integer representation of sizing method name (HeatingCapacitySizing) - bool PrintFlag; // TRUE when sizing information is reported in the eio file + Real64 TempSize; // autosized value of coil input field + int FieldNum = 1; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (HeatingCapacitySizing) + bool PrintFlag; // TRUE when sizing information is reported in the eio file int CapSizingMethod( 0 ); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, and FractionOfAutosizedHeatingCapacity ) PltSizHeatNum = 0; @@ -668,27 +666,27 @@ namespace BaseboardRadiator { SizingString = BaseboardParamsNumericFields( BaseboardNum ).FieldNames(FieldNum) + " [W]"; CapSizingMethod = Baseboard( BaseboardNum ).HeatingCapMethod; ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; - if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { + if ( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { - if (CapSizingMethod == HeatingDesignCapacity){ - if (Baseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize) { + if ( CapSizingMethod == HeatingDesignCapacity ){ + if ( Baseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize ) { CheckZoneSizing(CompType, CompName); - ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; } else { ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = Baseboard( BaseboardNum ).ScaledHeatingCapacity; } ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; TempSize = ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad; - } else if (CapSizingMethod == CapacityPerFloorArea){ + } else if ( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = Baseboard( BaseboardNum ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad; DataScalableCapSizingON = true; - } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ + } else if ( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ CheckZoneSizing(CompType, CompName); - ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; DataFracOfAutosizedHeatingCapacity = Baseboard( BaseboardNum ).ScaledHeatingCapacity; - ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; TempSize = AutoSize; DataScalableCapSizingON = true; } else { @@ -750,39 +748,39 @@ namespace BaseboardRadiator { Node( WaterInletNode ).MassFlowRate = rho * Baseboard( BaseboardNum ).WaterVolFlowRateMax; CompType = cCMO_BBRadiator_Water; - CompName = Baseboard(BaseboardNum).EquipID; + CompName = Baseboard( BaseboardNum ).EquipID; DataFracOfAutosizedHeatingCapacity = 1.0; - DataZoneNumber = Baseboard(BaseboardNum).ZonePtr; + DataZoneNumber = Baseboard( BaseboardNum ).ZonePtr; SizingMethod = HeatingCapacitySizing; FieldNum = 1; PrintFlag = false; - SizingString = BaseboardParamsNumericFields(BaseboardNum).FieldNames(FieldNum) + " [W]"; - CapSizingMethod = Baseboard(BaseboardNum).HeatingCapMethod; + SizingString = BaseboardParamsNumericFields( BaseboardNum ).FieldNames(FieldNum) + " [W]"; + CapSizingMethod = Baseboard( BaseboardNum ).HeatingCapMethod; ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; - if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { - if (CapSizingMethod == HeatingDesignCapacity){ - if (Baseboard(BaseboardNum).ScaledHeatingCapacity == AutoSize) { + if ( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { + if ( CapSizingMethod == HeatingDesignCapacity ){ + if ( Baseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize ) { CheckZoneSizing(CompType, CompName); - ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; } else { ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = Baseboard( BaseboardNum ).ScaledHeatingCapacity;; } ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; TempSize = ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad; - } else if (CapSizingMethod == CapacityPerFloorArea){ + } else if ( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = Baseboard( BaseboardNum ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad; DataScalableCapSizingON = true; } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ CheckZoneSizing(CompType, CompName); - ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; DataFracOfAutosizedHeatingCapacity = Baseboard(BaseboardNum).ScaledHeatingCapacity; - ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; TempSize = AutoSize; DataScalableCapSizingON = true; } else { - TempSize = Baseboard(BaseboardNum).ScaledHeatingCapacity; + TempSize = Baseboard( BaseboardNum ).ScaledHeatingCapacity; } RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); DesCoilLoad = TempSize; diff --git a/src/EnergyPlus/BaseboardRadiator.hh b/src/EnergyPlus/BaseboardRadiator.hh index 3e9fa0c82d3..e5f7fc8b4fa 100644 --- a/src/EnergyPlus/BaseboardRadiator.hh +++ b/src/EnergyPlus/BaseboardRadiator.hh @@ -71,9 +71,8 @@ namespace BaseboardRadiator { int BBLoadReSimIndex; int BBMassFlowReSimIndex; int BBInletTempFlowReSimIndex; - int HeatingCapMethod; // - Method for water baseboard Radiator system heating capacity scaledsizing calculation - //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) - Real64 ScaledHeatingCapacity; // - water baseboard Radiator system scaled maximum heating capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} + int HeatingCapMethod; // - Method for water baseboard Radiator system heating capacity scaledsizing calculation (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 ScaledHeatingCapacity; // - water baseboard Radiator system scaled maximum heating capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} // Default Constructor BaseboardParams() : @@ -145,9 +144,8 @@ namespace BaseboardRadiator { int const BBLoadReSimIndex, int const BBMassFlowReSimIndex, int const BBInletTempFlowReSimIndex, - int const HeatingCapMethod, // - Method for steam baseboard Radiator system heating capacity scaledsizing calculation - //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) - Real64 const ScaledHeatingCapacity // - steam baseboard Radiator system scaled maximum heating capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} + int const HeatingCapMethod, // - Method for steam baseboard Radiator system heating capacity scaledsizing calculation (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 const ScaledHeatingCapacity // - steam baseboard Radiator system scaled maximum heating capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} ) : EquipID( EquipID ), diff --git a/src/EnergyPlus/DataSizing.cc b/src/EnergyPlus/DataSizing.cc index 0518feb8802..9a851f2bb3e 100644 --- a/src/EnergyPlus/DataSizing.cc +++ b/src/EnergyPlus/DataSizing.cc @@ -77,7 +77,6 @@ namespace DataSizing { // parameter for autosize Real64 const AutoSize( -99999.0 ); - Real64 const ScaleSize( 99999.0 ); // parameter for (time-of-peak) sizing format gio::Fmt const PeakHrMinFmt( "(I2.2,':',I2.2,':00')" ); @@ -88,8 +87,7 @@ namespace DataSizing { int const ZOAM_FlowPerArea( 3 ); // sum the outdoor air flow rate based on zone area int const ZOAM_FlowPerACH( 4 ); // sum the outdoor air flow rate based on number of air changes for the zone int const ZOAM_Sum( 5 ); // sum the outdoor air flow rate of the people component and the space floor area component - int const ZOAM_Max( 6 ); // use the maximum of the outdoor air flow rate of the people component and - // the space floor area component + int const ZOAM_Max( 6 ); // use the maximum of the outdoor air flow rate of the people component and the space floor area component //System Outdoor Air Method int const SOAM_ZoneSum( 1 ); // Sum the outdoor air flow rates of all zones @@ -170,7 +168,7 @@ namespace DataSizing { bool ZoneEqFanCoil( false ); // TRUE if a 4 pipe fan coil unit is being simulated bool ZoneEqUnitHeater( false ); // TRUE if a unit heater is being simulated bool ZoneEqUnitVent( false ); // TRUE if a unit ventilator unit is being simulated - bool ZoneEqVentedSlab( false ); // TRUE if a ventilated slab is being simulated + bool ZoneEqVentedSlab( false ); // TRUE if a ventilated slab is being simulated bool ZoneEqDXCoil( false ); // TRUE if a ZoneHVAC DX coil is being simulated bool ZoneCoolingOnlyFan( false ); // TRUE if a ZoneHVAC DX cooling coil is only coil in parent bool ZoneHeatingOnlyFan( false ); // TRUE if zone unit only does heating and contains a fam (such as Unit Heater) @@ -191,17 +189,17 @@ namespace DataSizing { Real64 DataHeatSizeRatio( 1.0 ); // heating coil size as a ratio of cooling coil capacity Real64 DataEMSOverride( 0.0 ); // value of EMS variable used to override autosizing Real64 DataBypassFrac( 0.0 ); // value of bypass fraction for Coil:Cooling:DX:TwoStageWithHumidityControlMode coils - Real64 DataFracOfAutosizedCoolingAirflow( 1.0 ); // fraction of design cooling supply air flow rate - Real64 DataFracOfAutosizedHeatingAirflow( 1.0 ); // fraction of design heating supply air flow rate - Real64 DataFlowPerCoolingCapacity( 0.0 ); // cooling supply air flow per unit cooling capacity - Real64 DataFlowPerHeatingCapacity( 0.0 ); // heating supply air flow per unit heating capacity - Real64 DataFracOfAutosizedCoolingCapacity( 1.0 ); // fraction of autosized cooling capacity - Real64 DataFracOfAutosizedHeatingCapacity( 1.0 ); // fraction of autosized heating capacit - Real64 DataAutosizedCoolingCapacity( 0.0 ); // Autosized cooling capacity used for multiplying flow per capacity to get flow rate - Real64 DataAutosizedHeatingCapacity( 0.0 ); // Autosized heating capacit used for multiplying flow per capacity to get flow rate + Real64 DataFracOfAutosizedCoolingAirflow( 1.0 ); // fraction of design cooling supply air flow rate + Real64 DataFracOfAutosizedHeatingAirflow( 1.0 ); // fraction of design heating supply air flow rate + Real64 DataFlowPerCoolingCapacity( 0.0 ); // cooling supply air flow per unit cooling capacity + Real64 DataFlowPerHeatingCapacity( 0.0 ); // heating supply air flow per unit heating capacity + Real64 DataFracOfAutosizedCoolingCapacity( 1.0 ); // fraction of autosized cooling capacity + Real64 DataFracOfAutosizedHeatingCapacity( 1.0 ); // fraction of autosized heating capacit + Real64 DataAutosizedCoolingCapacity( 0.0 ); // Autosized cooling capacity used for multiplying flow per capacity to get flow rate + Real64 DataAutosizedHeatingCapacity( 0.0 ); // Autosized heating capacit used for multiplying flow per capacity to get flow rate Real64 DataConstantUsedForSizing( 0.0 ); // base value used for sizing inputs that are ratios of other inputs Real64 DataFractionUsedForSizing( 0.0 ); // fractional value of base value used for sizing inputs that are ratios of other inputs - int DataZoneNumber( 0 ); // a pointer to a served by zoneHVAC equipment + int DataZoneNumber( 0 ); // a pointer to a served by zoneHVAC equipment int NumZoneHVACSizing( 0 ); // Number of zone HVAC sizing objects Real64 DXCoolCap( 0.0 ); // The ARI cooling capacity of a DX unit. Real64 GlobalHeatSizingFactor( 0.0 ); // the global heating sizing ratio diff --git a/src/EnergyPlus/DataSizing.hh b/src/EnergyPlus/DataSizing.hh index da6ceb07c5b..1d749524c50 100644 --- a/src/EnergyPlus/DataSizing.hh +++ b/src/EnergyPlus/DataSizing.hh @@ -100,7 +100,6 @@ namespace DataSizing { extern int const FractionOfAutosizedHeatingAirflow; extern int const FlowPerCoolingCapacity; extern int const FlowPerHeatingCapacity; - extern int const CoolingDesignCapacity; extern int const HeatingDesignCapacity; extern int const CapacityPerFloorArea; @@ -152,8 +151,8 @@ namespace DataSizing { extern bool TermUnitIU; // TRUE if an unpowered induction terminal unit extern bool ZoneEqFanCoil; // TRUE if a 4 pipe fan coil unit is being simulated extern bool ZoneEqUnitHeater; // TRUE if a unit heater is being simulated - extern bool ZoneEqUnitVent; // TRUE if a unit ventilator is being simulated - extern bool ZoneEqVentedSlab; // TRUE if a ventilated slab is being simulated + extern bool ZoneEqUnitVent; // TRUE if a unit ventilator is being simulated + extern bool ZoneEqVentedSlab; // TRUE if a ventilated slab is being simulated extern bool ZoneEqDXCoil; // TRUE if a ZoneHVAC DX coil is being simulated extern bool ZoneCoolingOnlyFan; // TRUE if a ZoneHVAC DX cooling coil is only coil in parent extern bool ZoneHeatingOnlyFan; // TRUE if zone unit only does heating and contains a fam (such as Unit Heater) @@ -179,17 +178,17 @@ namespace DataSizing { extern Real64 DataHeatSizeRatio; // heating coil size as a ratio of cooling coil capacity extern Real64 DataEMSOverride; // value of EMS variable used to override autosizing extern Real64 DataBypassFrac; // value of bypass fraction for Coil:Cooling:DX:TwoStageWithHumidityControlMode coils - extern Real64 DataFracOfAutosizedCoolingAirflow; // fraction of design cooling supply air flow rate - extern Real64 DataFracOfAutosizedHeatingAirflow; // fraction of design heating supply air flow rate - extern Real64 DataFlowPerCoolingCapacity; // cooling supply air flow per unit cooling capacity - extern Real64 DataFlowPerHeatingCapacity; // heating supply air flow per unit heating capacity - extern Real64 DataFracOfAutosizedCoolingCapacity; // fraction of autosized cooling capacity - extern Real64 DataFracOfAutosizedHeatingCapacity; // fraction of autosized heating capacit - extern Real64 DataAutosizedCoolingCapacity; // Autosized cooling capacity used for multiplying flow per capacity to get flow rate - extern Real64 DataAutosizedHeatingCapacity; // Autosized heating capacit used for multiplying flow per capacity to get flow rate + extern Real64 DataFracOfAutosizedCoolingAirflow; // fraction of design cooling supply air flow rate + extern Real64 DataFracOfAutosizedHeatingAirflow; // fraction of design heating supply air flow rate + extern Real64 DataFlowPerCoolingCapacity; // cooling supply air flow per unit cooling capacity + extern Real64 DataFlowPerHeatingCapacity; // heating supply air flow per unit heating capacity + extern Real64 DataFracOfAutosizedCoolingCapacity; // fraction of autosized cooling capacity + extern Real64 DataFracOfAutosizedHeatingCapacity; // fraction of autosized heating capacit + extern Real64 DataAutosizedCoolingCapacity; // Autosized cooling capacity used for multiplying flow per capacity to get flow rate + extern Real64 DataAutosizedHeatingCapacity; // Autosized heating capacit used for multiplying flow per capacity to get flow rate extern Real64 DataConstantUsedForSizing; // base value used for sizing inputs that are ratios of other inputs extern Real64 DataFractionUsedForSizing; // fractional value of base value used for sizing inputs that are ratios of other inputs - extern int DataZoneNumber; // a pointer to a served by zoneHVAC equipment + extern int DataZoneNumber; // a pointer to a served by zoneHVAC equipment extern int NumZoneHVACSizing; // Number of zone HVAC sizing objects extern bool TermUnitSingDuct; // TRUE if a non-induction single duct terminal unit extern bool TermUnitPIU; // TRUE if a powered induction terminal unit @@ -210,8 +209,8 @@ namespace DataSizing { extern Real64 GlobalCoolSizingFactor; // the global cooling sizing ratio extern FArray1D< Real64 > ZoneSizThermSetPtHi; // highest zone thermostat setpoint during zone sizing calcs extern FArray1D< Real64 > ZoneSizThermSetPtLo; // lowest zone thermostat setpoint during zone sizing calcs - extern FArray1D_string CoolPeakDateHrMin; - extern FArray1D_string HeatPeakDateHrMin; + extern FArray1D_string CoolPeakDateHrMin; // date:hr:min of cooling peak + extern FArray1D_string HeatPeakDateHrMin; // date:hr:min of heating peak extern char SizingFileColSep; // Character to separate columns in sizing outputs @@ -994,8 +993,8 @@ namespace DataSizing { bool CoolingCapacity; // TRUE if AirloopHVAC system cooling capacity is calculated bool HeatingCapacity; // TRUE if AirloopHVAC system heating capacity is calculated bool SystemCapacity; // TRUE if AirloopHVAC system heating capacity is calculated - FArray1D_int SizingMethod; // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow and FractionOfAutosizedHeatingAirflow) - FArray1D_int CapSizingMethod; // capacity sizing methods (HeatingDesignCapacity, CoolingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity and FractionOfAutosizedHeatingCapacity ) + FArray1D_int SizingMethod; // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow and FractionOfAutosizedHeatingAirflow) + FArray1D_int CapSizingMethod; // capacity sizing methods (HeatingDesignCapacity, CoolingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity and FractionOfAutosizedHeatingCapacity ) // Default Constructor ZoneEqSizingData() : @@ -1067,24 +1066,17 @@ namespace DataSizing { { // Members std::string Name; - int CoolingSAFMethod; // - Method for cooling supply air flow rate sizing calculation - //- (SupplyAirFlowRate,FlowPerFloorArea, FractionOfAutoSizedCoolingValue, - // FlowPerCoolingCapacity) - int HeatingSAFMethod; // - Method for heating supply air flow rate sizing calculation - //- (SupplyAirFlowRate,FlowPerFloorArea, FractionOfAutoSizedHeatingValue, - // FlowPerHeatingCapacity, - int NoCoolHeatSAFMethod; // - Method for supply air flow sizing during no cooling and heating calculation - //- (SupplyAirFlowRate, FractionOfAutoSizedCoolingValue, FractionOfAutoSizedHeatingValue) - int CoolingCapMethod; // - Method for cooling capacity scaledsizing calculation - //- (CoolingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedHeatingCapacity) - int HeatingCapMethod; // - Method for heatiing capacity scaledsizing calculation - //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + int CoolingSAFMethod; // - Method for cooling supply air flow rate sizing calculation (SupplyAirFlowRate,FlowPerFloorArea, FractionOfAutoSizedCoolingValue, FlowPerCoolingCapacity) + int HeatingSAFMethod; // - Method for heating supply air flow rate sizing calculation (SupplyAirFlowRate,FlowPerFloorArea, FractionOfAutoSizedHeatingValue, FlowPerHeatingCapacity, + int NoCoolHeatSAFMethod; // - Method for supply air flow sizing during no cooling and heating calculation (SupplyAirFlowRate, FractionOfAutoSizedCoolingValue, FractionOfAutoSizedHeatingValue) + int CoolingCapMethod; // - Method for cooling capacity scaledsizing calculation (CoolingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedHeatingCapacity) + int HeatingCapMethod; // - Method for heatiing capacity scaledsizing calculation (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) Real64 MaxCoolAirVolFlow;// - maximum cooling supply air flow rate, m3/s Real64 MaxHeatAirVolFlow;// - maximum heating supply air flow rate, m3/s Real64 MaxNoCoolHeatAirVolFlow; // - maximum supply air flow rate when no cooling or heating, m3/s - Real64 ScaledCoolingCapacity; // - scaled maximum cooling capacity of zone HVAC equipment, W - Real64 ScaledHeatingCapacity; // - scaled maximum heating capacity of zone HVAC equipment, W - bool RequestAutoSize; // - true if autosizing is requested + Real64 ScaledCoolingCapacity; // - scaled maximum cooling capacity of zone HVAC equipment, W + Real64 ScaledHeatingCapacity; // - scaled maximum heating capacity of zone HVAC equipment, W + bool RequestAutoSize; // - true if autosizing is requested // Default Constructor @@ -1093,7 +1085,7 @@ namespace DataSizing { HeatingSAFMethod(0), NoCoolHeatSAFMethod(0), CoolingCapMethod(0), - HeatingCapMethod(0), + HeatingCapMethod(0), MaxCoolAirVolFlow(0.0), MaxHeatAirVolFlow(0.0), MaxNoCoolHeatAirVolFlow(0.0), @@ -1105,17 +1097,17 @@ namespace DataSizing { // Member Constructor ZoneHVACSizingData( std::string const & Name, - int const CoolingSAFMethod, // - Method for cooling supply air flow rate sizing calculation - int const HeatingSAFMethod, // - Method for heating supply air flow rate sizing calculation + int const CoolingSAFMethod, // - Method for cooling supply air flow rate sizing calculation + int const HeatingSAFMethod, // - Method for heating supply air flow rate sizing calculation int const NoCoolHeatSAFMethod, // - Method for supply air flow rate sizing during no cooling and heating calculation - int const CoolingCapMethod, // - Method for cooling capacity scaledsizing calculation - int const HeatingCapMethod, // - Method for heatiing capacity scaledsizing calculation - Real64 const MaxCoolAirVolFlow,// - maximum cooling supply air flow rate, m3/s - Real64 const MaxHeatAirVolFlow,// - maximum heating supply air flow rate, m3/s + int const CoolingCapMethod, // - Method for cooling capacity scaledsizing calculation + int const HeatingCapMethod, // - Method for heatiing capacity scaledsizing calculation + Real64 const MaxCoolAirVolFlow, // - maximum cooling supply air flow rate, m3/s + Real64 const MaxHeatAirVolFlow, // - maximum heating supply air flow rate, m3/s Real64 const MaxNoCoolHeatAirVolFlow, // - maximum supply air flow rate when no cooling or heating, m3/s - Real64 const ScaledCoolingCapacity, // - scaled maximum cooling capacity of zone HVAC equipment, W - Real64 const ScaledHeatingCapacity, // - scaled maximum heating capacity of zone HVAC equipment, W - bool const RequestAutoSize, // - true if autosizing is requested + Real64 const ScaledCoolingCapacity, // - scaled maximum cooling capacity of zone HVAC equipment, W + Real64 const ScaledHeatingCapacity, // - scaled maximum heating capacity of zone HVAC equipment, W + bool const RequestAutoSize, // - true if autosizing is requested bool const CoolCoilExists, // True if a cooling coil is specified in the ZoneHVAC equip bool const HeatCoilExists // True if a heating coil is specified in the ZoneHVAC equipm ) : @@ -1161,29 +1153,23 @@ namespace DataSizing { int HeatAirDesMethod; // choice of how to get system heating design air flow rates; // 1 = calc from des day simulation; 2=m3/s per zone, user input Real64 DesHeatAirFlow; // design system heating supply air flow rate [m3/s] - int ScaleCoolSAFMethod; // choice of how to get system cooling scalable air flow rates; - // (FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FlowPerCoolingCapacity) - int ScaleHeatSAFMethod; // choice of how to get system heating scalable air flow rates; - // (FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow, FlowPerHeatingCapacity) + int ScaleCoolSAFMethod; // choice of how to get system cooling scalable air flow rates; // (FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FlowPerCoolingCapacity) + int ScaleHeatSAFMethod; // choice of how to get system heating scalable air flow rates; // (FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow, FlowPerHeatingCapacity) int SystemOAMethod; // System Outdoor Air Method; 1 = SOAM_ZoneSum, 2 = SOAM_VRP Real64 MaxZoneOAFraction; // maximum value of min OA for zones served by system bool OAAutoSized; // Set to true if design OA vol flow is set to 'autosize' - - int CoolingCapMethod; // - Method for cooling capacity scaledsizing calculation - //- (CoolingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity) - int HeatingCapMethod; // - Method for heatiing capacity scaledsizing calculation - //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) - Real64 ScaledCoolingCapacity; // - scaled maximum cooling capacity of cooling coil in an air loop - Real64 ScaledHeatingCapacity; // - scaled maximum heating capacity of cooling coil in an air loop - Real64 FloorAreaOnAirLoopCooled; // total floor of cooled zones served by an airloop - Real64 FloorAreaOnAirLoopHeated; // total floor of heated zones served by an airloop - Real64 FlowPerFloorAreaCooled; // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop - Real64 FlowPerFloorAreaHeated; // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop + int CoolingCapMethod; // - Method for cooling capacity scaledsizing calculation (CoolingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity) + int HeatingCapMethod; // - Method for heatiing capacity scaledsizing calculation (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 ScaledCoolingCapacity; // - scaled maximum cooling capacity of cooling coil in an air loop + Real64 ScaledHeatingCapacity; // - scaled maximum heating capacity of cooling coil in an air loop + Real64 FloorAreaOnAirLoopCooled; // total floor of cooled zones served by an airloop + Real64 FloorAreaOnAirLoopHeated; // total floor of heated zones served by an airloop + Real64 FlowPerFloorAreaCooled; // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop + Real64 FlowPerFloorAreaHeated; // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop Real64 FractionOfAutosizedCoolingAirflow; // fraction of of cooling supply air flow rate an airloop Real64 FractionOfAutosizedHeatingAirflow; // fraction of of heating supply air flow rate an airloop - Real64 FlowPerCoolingCapacity; // ratio of cooling supply air flow rate to cooling capacity of an airloop - Real64 FlowPerHeatingCapacity; // ratio of heating supply air flow rate to heating capacity of an airloop - + Real64 FlowPerCoolingCapacity; // ratio of cooling supply air flow rate to cooling capacity of an airloop + Real64 FlowPerHeatingCapacity; // ratio of heating supply air flow rate to heating capacity of an airloop // in Sizing:System @@ -1213,7 +1199,6 @@ namespace DataSizing { SystemOAMethod( 0 ), MaxZoneOAFraction( 0.0 ), OAAutoSized( false ), - CoolingCapMethod( 0 ), HeatingCapMethod( 0 ), ScaledCoolingCapacity( 0.0 ), @@ -1226,7 +1211,6 @@ namespace DataSizing { FractionOfAutosizedHeatingAirflow( 1.0 ), FlowPerCoolingCapacity( 0.0 ), FlowPerHeatingCapacity( 0.0 ) - {} // Member Constructor @@ -1251,30 +1235,23 @@ namespace DataSizing { Real64 const DesCoolAirFlow, // design system supply air flow rate for cooling[m3/s] int const HeatAirDesMethod, // choice of how to get system heating design air flow rates; Real64 const DesHeatAirFlow, // design system heating supply air flow rate [m3/s] - int const ScaleCoolSAFMethod, // choice of how to get system cooling scalable air flow rates; - // (FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FlowPerCoolingCapacity) - int const ScaleHeatSAFMethod, // choice of how to get system heating scalable air flow rates; - // (FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow, FlowPerHeatingCapacity) + int const ScaleCoolSAFMethod, // choice of how to get system cooling scalable air flow rates; // (FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FlowPerCoolingCapacity) + int const ScaleHeatSAFMethod, // choice of how to get system heating scalable air flow rates; // (FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow, FlowPerHeatingCapacity) int const SystemOAMethod, // System Outdoor Air Method; 1 = SOAM_ZoneSum, 2 = SOAM_VRP Real64 const MaxZoneOAFraction, // maximum value of min OA for zones served by system bool const OAAutoSized, // Set to true if design OA vol flow is set to 'autosize' - int const CoolingCapMethod, // - Method for cooling capacity scaledsizing calculation - //- (CoolingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity) - int const HeatingCapMethod, // - Method for heatiing capacity scaledsizing calculation - //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) - Real64 const ScaledCoolingCapacity, // - scaled maximum cooling capacity of cooling coil in an air loop - Real64 const ScaledHeatingCapacity, // - scaled maximum heating capacity of cooling coil in an air loop + int const CoolingCapMethod, // - Method for cooling capacity scaledsizing calculation (CoolingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity) + int const HeatingCapMethod, // - Method for heatiing capacity scaledsizing calculation (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 const ScaledCoolingCapacity, // - scaled maximum cooling capacity of cooling coil in an air loop + Real64 const ScaledHeatingCapacity, // - scaled maximum heating capacity of cooling coil in an air loop Real64 const FloorAreaOnAirLoopCooled, // total floor of cooled zones served by an airloop Real64 const FloorAreaOnAirLoopHeated, // total floor of heated zones served by an airloop - Real64 const FlowPerFloorAreaCooled, // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop - Real64 const FlowPerFloorAreaHeated, // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop + Real64 const FlowPerFloorAreaCooled, // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop + Real64 const FlowPerFloorAreaHeated, // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop Real64 const FractionOfAutosizedCoolingAirflow, // fraction of of cooling supply air flow rate an airloop Real64 const FractionOfAutosizedHeatingAirflow, // fraction of of heating supply air flow rate an airloop - Real64 const FlowPerCoolingCapacity, // ratio of cooling supply air flow rate to cooling capacity of an airloop - Real64 const FlowPerHeatingCapacity // ratio of heating supply air flow rate to heating capacity of an airloop - - - + Real64 const FlowPerCoolingCapacity, // ratio of cooling supply air flow rate to cooling capacity of an airloop + Real64 const FlowPerHeatingCapacity // ratio of heating supply air flow rate to heating capacity of an airloop ) : AirPriLoopName( AirPriLoopName ), AirLoopNum( AirLoopNum ), @@ -1313,9 +1290,7 @@ namespace DataSizing { FractionOfAutosizedHeatingAirflow( FractionOfAutosizedHeatingAirflow ), FlowPerCoolingCapacity( FlowPerCoolingCapacity ), FlowPerHeatingCapacity( FlowPerHeatingCapacity ) - {} - }; struct SystemSizingData // Contains data for system sizing @@ -1408,27 +1383,22 @@ namespace DataSizing { // [kg water/kg dry air] [zone time step] int SystemOAMethod; // System Outdoor Air Method; 1 = SOAM_ZoneSum, 2 = SOAM_VRP Real64 MaxZoneOAFraction; // maximum value of min OA for zones served by system - Real64 SysUncOA; // uncorrected system outdoor air flow based on zone people and - // zone area + Real64 SysUncOA; // uncorrected system outdoor air flow based on zone people and zone area bool OAAutoSized; // Set to true if design OA vol flow is set to 'autosize' - int ScaleCoolSAFMethod; // choice of how to get system cooling scalable air flow rates; - // (FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FlowPerCoolingCapacity) - int ScaleHeatSAFMethod; // choice of how to get system heating scalable air flow rates; - // (FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow, FlowPerHeatingCapacity) - int CoolingCapMethod; // - Method for cooling capacity scaledsizing calculation - //- (CoolingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity) - int HeatingCapMethod; // - Method for heatiing capacity scaledsizing calculation - //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) - Real64 ScaledCoolingCapacity; // - scaled maximum cooling capacity of cooling coil in an air loop - Real64 ScaledHeatingCapacity; // - scaled maximum heating capacity of cooling coil in an air loop - Real64 FloorAreaOnAirLoopCooled; // total floor of cooled zones served by an airloop - Real64 FloorAreaOnAirLoopHeated; // total floor of heated zones served by an airloop - Real64 FlowPerFloorAreaCooled; // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop - Real64 FlowPerFloorAreaHeated; // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop + int ScaleCoolSAFMethod; // choice of how to get system cooling scalable air flow rates; (FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FlowPerCoolingCapacity) + int ScaleHeatSAFMethod; // choice of how to get system heating scalable air flow rates; (FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow, FlowPerHeatingCapacity) + int CoolingCapMethod; // - Method for cooling capacity scaledsizing calculation (CoolingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity) + int HeatingCapMethod; // - Method for heatiing capacity scaledsizing calculation (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 ScaledCoolingCapacity; // - scaled maximum cooling capacity of cooling coil in an air loop + Real64 ScaledHeatingCapacity; // - scaled maximum heating capacity of cooling coil in an air loop + Real64 FloorAreaOnAirLoopCooled; // total floor of cooled zones served by an airloop + Real64 FloorAreaOnAirLoopHeated; // total floor of heated zones served by an airloop + Real64 FlowPerFloorAreaCooled; // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop + Real64 FlowPerFloorAreaHeated; // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop Real64 FractionOfAutosizedCoolingAirflow; // fraction of of cooling supply air flow rate an airloop Real64 FractionOfAutosizedHeatingAirflow; // fraction of of heating supply air flow rate an airloop - Real64 FlowPerCoolingCapacity; // ratio of cooling supply air flow rate to cooling capacity of an airloop - Real64 FlowPerHeatingCapacity; // ratio of heating supply air flow rate to heating capacity of an airloop + Real64 FlowPerCoolingCapacity; // ratio of cooling supply air flow rate to cooling capacity of an airloop + Real64 FlowPerHeatingCapacity; // ratio of heating supply air flow rate to heating capacity of an airloop Real64 FractionOfAutosizedCoolingCapacity; // fraction of of cooling total capacity Real64 FractionOfAutosizedHeatingCapacity; // fraction of of heating total capacity Real64 CoolingTotalCapacity; // system total cooling capacity @@ -1504,7 +1474,7 @@ namespace DataSizing { ScaledCoolingCapacity( 0.0 ), ScaledHeatingCapacity( 0.0 ), FloorAreaOnAirLoopCooled( 0.0 ), - FloorAreaOnAirLoopHeated( 0.0 ), + FloorAreaOnAirLoopHeated( 0.0 ), FlowPerFloorAreaCooled( 0.0 ), FlowPerFloorAreaHeated( 0.0 ), FractionOfAutosizedCoolingAirflow( 1.0 ), @@ -1595,28 +1565,24 @@ namespace DataSizing { Real64 const MaxZoneOAFraction, // maximum value of min OA for zones served by system Real64 const SysUncOA, // uncorrected system outdoor air flow based on zone people and bool const OAAutoSized, // Set to true if design OA vol flow is set to 'autosize' - int const ScaleCoolSAFMethod, // choice of how to get system cooling scalable air flow rates; - // (FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FlowPerCoolingCapacity) - int const ScaleHeatSAFMethod, // choice of how to get system heating scalable air flow rates; - // (FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow, FlowPerHeatingCapacity) - int const CoolingCapMethod, // - Method for cooling capacity scaledsizing calculation - //- (CoolingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity) - int const HeatingCapMethod, // - Method for heatiing capacity scaledsizing calculation - //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) - Real64 const ScaledCoolingCapacity, // - scaled maximum cooling capacity of cooling coil in an air loop - Real64 const ScaledHeatingCapacity, // - scaled maximum heating capacity of cooling coil in an air loop + int const ScaleCoolSAFMethod, // choice of how to get system cooling scalable air flow rates; // (FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FlowPerCoolingCapacity) + int const ScaleHeatSAFMethod, // choice of how to get system heating scalable air flow rates; // (FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow, FlowPerHeatingCapacity) + int const CoolingCapMethod, // - Method for cooling capacity scaledsizing calculation //- (CoolingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity) + int const HeatingCapMethod, // - Method for heatiing capacity scaledsizing calculation //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 const ScaledCoolingCapacity, // - scaled maximum cooling capacity of cooling coil in an air loop + Real64 const ScaledHeatingCapacity, // - scaled maximum heating capacity of cooling coil in an air loop Real64 const FloorAreaOnAirLoopCooled, // total floor of cooled zones served by an airloop Real64 const FloorAreaOnAirLoopHeated, // total floor of heated zones served by an airloop - Real64 const FlowPerFloorAreaCooled, // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop - Real64 const FlowPerFloorAreaHeated, // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop + Real64 const FlowPerFloorAreaCooled, // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop + Real64 const FlowPerFloorAreaHeated, // ratio of cooling supply air flow rate to total floor area of cooled zones served by an airloop Real64 const FractionOfAutosizedCoolingAirflow, // fraction of of cooling supply air flow rate an airloop Real64 const FractionOfAutosizedHeatingAirflow, // fraction of of heating supply air flow rate an airloop - Real64 const FlowPerCoolingCapacity, // ratio of cooling supply air flow rate to cooling capacity of an airloop - Real64 const FlowPerHeatingCapacity, // ratio of heating supply air flow rate to heating capacity of an airloop + Real64 const FlowPerCoolingCapacity, // ratio of cooling supply air flow rate to cooling capacity of an airloop + Real64 const FlowPerHeatingCapacity, // ratio of heating supply air flow rate to heating capacity of an airloop Real64 const FractionOfAutosizedCoolingCapacity, // fraction of of cooling total capacity - Real64 const FractionOfAutosizedHeatingCapacity, // fraction of of heating total capacity + Real64 const FractionOfAutosizedHeatingCapacity, // fraction of of heating total capacity Real64 const CoolingTotalCapacity, // system total cooling capacity - Real64 const HeatingTotalCapacity // system total heating capacity + Real64 const HeatingTotalCapacity // system total heating capacity ) : AirPriLoopName( AirPriLoopName ), CoolDesDay( CoolDesDay ), @@ -1711,9 +1677,7 @@ namespace DataSizing { FractionOfAutosizedHeatingCapacity( FractionOfAutosizedHeatingCapacity ), CoolingTotalCapacity( CoolingTotalCapacity ), HeatingTotalCapacity( HeatingTotalCapacity ) - {} - }; struct PlantSizingData diff --git a/src/EnergyPlus/ElectricBaseboardRadiator.cc b/src/EnergyPlus/ElectricBaseboardRadiator.cc index 9e1aaedc187..1e4d5f29a25 100644 --- a/src/EnergyPlus/ElectricBaseboardRadiator.cc +++ b/src/EnergyPlus/ElectricBaseboardRadiator.cc @@ -215,7 +215,6 @@ namespace ElectricBaseboardRadiator { using General::RoundSigDigits; using ScheduleManager::GetScheduleIndex; using namespace DataIPShortCuts; - using General::TrimSigDigits; using DataSizing::AutoSize; using DataSizing::FinalZoneSizing; @@ -223,7 +222,6 @@ namespace ElectricBaseboardRadiator { using DataSizing::CapacityPerFloorArea; using DataSizing::FractionOfAutosizedHeatingCapacity; - // Locals // SUBROUTINE ARGUMENT DEFINITIONS: // na @@ -234,11 +232,10 @@ namespace ElectricBaseboardRadiator { Real64 const MinFraction( 0.0 ); // Minimum limit of fractional values // INTEGER,PARAMETER :: MaxDistribSurfaces = 20 ! Maximum number of surfaces that a baseboard heater can radiate to int const MinDistribSurfaces( 1 ); // Minimum number of surfaces that a baseboard heater can radiate to - int const iHeatCAPMAlphaNum( 3 ); // get input index to HW baseboard heating capacity sizing method int const iHeatDesignCapacityNumericNum( 1 ); // get input index to HW baseboard heating capacity int const iHeatCapacityPerFloorAreaNumericNum( 2 ); // get input index to HW baseboard heating capacity per floor area sizing - int const iHeatFracOfAutosizedCapacityNumericNum( 3 ); // get input index to HW baseboard heating capacity sizing as fraction of autozized heating capacity + int const iHeatFracOfAutosizedCapacityNumericNum( 3 ); // get input index to HW baseboard heating capacity sizing as fraction of autozized heating capacity // INTERFACE BLOCK SPECIFICATIONS // na @@ -304,68 +301,63 @@ namespace ElectricBaseboardRadiator { } // Determine HW radiant baseboard heating design capacity sizing method - if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "HeatingDesignCapacity")) { - ElecBaseboard(BaseboardNum).HeatingCapMethod = HeatingDesignCapacity; - - if (!lNumericFieldBlanks(iHeatDesignCapacityNumericNum)) { - ElecBaseboard(BaseboardNum).ScaledHeatingCapacity = rNumericArgs(iHeatDesignCapacityNumericNum); - if (ElecBaseboard(BaseboardNum).ScaledHeatingCapacity < 0.0 && ElecBaseboard(BaseboardNum).ScaledHeatingCapacity != AutoSize) { - ShowSevereError(cCurrentModuleObject + " = " + ElecBaseboard(BaseboardNum).EquipName); - ShowContinueError("Illegal " + cNumericFieldNames(iHeatDesignCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatDesignCapacityNumericNum), 7)); + if ( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "HeatingDesignCapacity" ) ) { + ElecBaseboard( BaseboardNum ).HeatingCapMethod = HeatingDesignCapacity; + + if ( !lNumericFieldBlanks( iHeatDesignCapacityNumericNum ) ) { + ElecBaseboard( BaseboardNum ).ScaledHeatingCapacity = rNumericArgs( iHeatDesignCapacityNumericNum ); + if ( ElecBaseboard( BaseboardNum ).ScaledHeatingCapacity < 0.0 && ElecBaseboard( BaseboardNum ).ScaledHeatingCapacity != AutoSize ) { + ShowSevereError( cCurrentModuleObject + " = " + ElecBaseboard( BaseboardNum ).EquipName ); + ShowContinueError( "Illegal " + cNumericFieldNames( iHeatDesignCapacityNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iHeatDesignCapacityNumericNum ), 7 ) ); ErrorsFound = true; } - } - else { - ShowSevereError(cCurrentModuleObject + " = " + ElecBaseboard(BaseboardNum).EquipName); - ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatDesignCapacityNumericNum)); + } else { + ShowSevereError( cCurrentModuleObject + " = " + ElecBaseboard( BaseboardNum ).EquipName ); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFieldNames( iHeatDesignCapacityNumericNum ) ); ErrorsFound = true; } - } - else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "CapacityPerFloorArea")) { - ElecBaseboard(BaseboardNum).HeatingCapMethod = CapacityPerFloorArea; - if (!lNumericFieldBlanks(iHeatCapacityPerFloorAreaNumericNum)) { - ElecBaseboard(BaseboardNum).ScaledHeatingCapacity = rNumericArgs(iHeatCapacityPerFloorAreaNumericNum); - if (ElecBaseboard(BaseboardNum).ScaledHeatingCapacity <= 0.0) { - ShowSevereError(cCurrentModuleObject + " = " + ElecBaseboard(BaseboardNum).EquipName); - ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatCapacityPerFloorAreaNumericNum), 7)); + } else if ( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "CapacityPerFloorArea" ) ) { + ElecBaseboard( BaseboardNum ).HeatingCapMethod = CapacityPerFloorArea; + if ( !lNumericFieldBlanks( iHeatCapacityPerFloorAreaNumericNum ) ) { + ElecBaseboard( BaseboardNum ).ScaledHeatingCapacity = rNumericArgs( iHeatCapacityPerFloorAreaNumericNum ); + if ( ElecBaseboard( BaseboardNum ).ScaledHeatingCapacity <= 0.0 ) { + ShowSevereError( cCurrentModuleObject + " = " + ElecBaseboard( BaseboardNum ).EquipName); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFieldNames (iHeatCapacityPerFloorAreaNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iHeatCapacityPerFloorAreaNumericNum ), 7 ) ); ErrorsFound = true; } - else if (ElecBaseboard(BaseboardNum).ScaledHeatingCapacity == AutoSize) { - ShowSevereError(cCurrentModuleObject + " = " + ElecBaseboard(BaseboardNum).EquipName); - ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = Autosize"); + else if ( ElecBaseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize ) { + ShowSevereError( cCurrentModuleObject + " = " + ElecBaseboard( BaseboardNum ).EquipName ); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFieldNames( iHeatCapacityPerFloorAreaNumericNum ) + " = Autosize" ); ErrorsFound = true; } - } - else { - ShowSevereError(cCurrentModuleObject + " = " + ElecBaseboard(BaseboardNum).EquipName); - ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum)); + } else { + ShowSevereError( cCurrentModuleObject + " = " + ElecBaseboard( BaseboardNum ).EquipName); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFieldNames( iHeatCapacityPerFloorAreaNumericNum ) ); ErrorsFound = true; } } - else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "FractionOfAutosizedHeatingCapacity")){ - ElecBaseboard(BaseboardNum).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; - if (!lNumericFieldBlanks(iHeatFracOfAutosizedCapacityNumericNum)) { - ElecBaseboard(BaseboardNum).ScaledHeatingCapacity = rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum); - if (ElecBaseboard(BaseboardNum).ScaledHeatingCapacity < 0.0) { - ShowSevereError(cCurrentModuleObject + " = " + ElecBaseboard(BaseboardNum).EquipName); - ShowContinueError("Illegal " + cNumericFieldNames(iHeatFracOfAutosizedCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum), 7)); + else if ( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "FractionOfAutosizedHeatingCapacity" ) ){ + ElecBaseboard( BaseboardNum ).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; + if ( !lNumericFieldBlanks( iHeatFracOfAutosizedCapacityNumericNum ) ) { + ElecBaseboard( BaseboardNum ).ScaledHeatingCapacity = rNumericArgs( iHeatFracOfAutosizedCapacityNumericNum ); + if (ElecBaseboard( BaseboardNum ).ScaledHeatingCapacity < 0.0) { + ShowSevereError(cCurrentModuleObject + " = " + ElecBaseboard( BaseboardNum ).EquipName); + ShowContinueError("Illegal " + cNumericFieldNames( iHeatFracOfAutosizedCapacityNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iHeatFracOfAutosizedCapacityNumericNum ), 7) ); ErrorsFound = true; } - } - else { - ShowSevereError(cCurrentModuleObject + " = " + ElecBaseboard(BaseboardNum).EquipName); - ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatFracOfAutosizedCapacityNumericNum)); + } else { + ShowSevereError(cCurrentModuleObject + " = " + ElecBaseboard( BaseboardNum ).EquipName); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFieldNames( iHeatFracOfAutosizedCapacityNumericNum ) ); ErrorsFound = true; } - } - else { - ShowSevereError(cCurrentModuleObject + " = " + ElecBaseboard(BaseboardNum).EquipName); - ShowContinueError("Illegal " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + } else { + ShowSevereError( cCurrentModuleObject + " = " + ElecBaseboard( BaseboardNum ).EquipName ); + ShowContinueError( "Illegal " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); ErrorsFound = true; } @@ -672,13 +664,13 @@ namespace ElectricBaseboardRadiator { Real64 NominalCapacityUser; // User hard-sized UA value for reproting bool IsAutoSize; // Indicator to autosizing nominal capacity - std::string CompName; // component name - std::string CompType; // component type + std::string CompName; // component name + std::string CompType; // component type std::string SizingString; // input field sizing description (e.g., Nominal Capacity) - Real64 TempSize; // autosized value of coil input field - int FieldNum = 1; // IDD numeric field number where input field description is found - int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) - bool PrintFlag; // TRUE when sizing information is reported in the eio file + Real64 TempSize; // autosized value of coil input field + int FieldNum = 1; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) + bool PrintFlag; // TRUE when sizing information is reported in the eio file int CapSizingMethod( 0 ); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) IsAutoSize = false; @@ -695,14 +687,14 @@ namespace ElectricBaseboardRadiator { SizingMethod = HeatingCapacitySizing; FieldNum = 1; PrintFlag = true; - SizingString = ElecBaseboardNumericFields(BaseboardNum).FieldNames(FieldNum) + " [W]"; + SizingString = ElecBaseboardNumericFields( BaseboardNum ).FieldNames( FieldNum ) + " [W]"; CapSizingMethod = ElecBaseboard( BaseboardNum ).HeatingCapMethod; ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; - if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { - if (CapSizingMethod == HeatingDesignCapacity){ - if (ElecBaseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize) { + if ( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { + if ( CapSizingMethod == HeatingDesignCapacity ){ + if ( ElecBaseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize ) { CheckZoneSizing(CompType, CompName); - ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; } else { ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ElecBaseboard( BaseboardNum ).ScaledHeatingCapacity; } @@ -713,18 +705,18 @@ namespace ElectricBaseboardRadiator { ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ElecBaseboard( BaseboardNum ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad; DataScalableCapSizingON = true; - } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ + } else if ( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ CheckZoneSizing(CompType, CompName); - ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; - DataFracOfAutosizedHeatingCapacity = ElecBaseboard(BaseboardNum).ScaledHeatingCapacity; - ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + DataFracOfAutosizedHeatingCapacity = ElecBaseboard( BaseboardNum ).ScaledHeatingCapacity; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; TempSize = AutoSize; DataScalableCapSizingON = true; } else { - TempSize = ElecBaseboard(BaseboardNum).ScaledHeatingCapacity; + TempSize = ElecBaseboard( BaseboardNum ).ScaledHeatingCapacity; } RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - ElecBaseboard(BaseboardNum).NominalCapacity = TempSize; + ElecBaseboard( BaseboardNum ).NominalCapacity = TempSize; DataScalableCapSizingON = false; } diff --git a/src/EnergyPlus/ElectricBaseboardRadiator.hh b/src/EnergyPlus/ElectricBaseboardRadiator.hh index cda39a9f704..9e0f0616628 100644 --- a/src/EnergyPlus/ElectricBaseboardRadiator.hh +++ b/src/EnergyPlus/ElectricBaseboardRadiator.hh @@ -66,8 +66,8 @@ namespace ElectricBaseboardRadiator { Real64 ConvEnergy; Real64 RadEnergy; FArray1D< Real64 > FracDistribToSurf; - int HeatingCapMethod; // - Method for electric baseboard heating capacity scalable sizing calculation - Real64 ScaledHeatingCapacity; // - electric baseboard scaled maximum heating capacity {W} or scalable variable for sizing in {-}, or {W/m2} + int HeatingCapMethod; // - Method for electric baseboard heating capacity scalable sizing calculation + Real64 ScaledHeatingCapacity; // - electric baseboard scaled maximum heating capacity {W} or scalable variable for sizing in {-}, or {W/m2} // Default Constructor ElecBaseboardParams() : diff --git a/src/EnergyPlus/EvaporativeCoolers.cc b/src/EnergyPlus/EvaporativeCoolers.cc index 3b4fac452dc..6a5e6b9935f 100644 --- a/src/EnergyPlus/EvaporativeCoolers.cc +++ b/src/EnergyPlus/EvaporativeCoolers.cc @@ -2118,7 +2118,7 @@ namespace EvaporativeCoolers { Real64 FanVolFlow; int UnitLoop; int CtrlZone; // index to loop counter - int NodeNum; // index to loop counter + int NodeNum; // index to loop counter if ( GetInputEvapComponentsFlag ) { GetEvapInput(); @@ -2323,7 +2323,7 @@ namespace EvaporativeCoolers { } ZoneEvapUnit( UnitLoop ).HVACSizingIndex = 0; - if (!lAlphaBlanks( 15 )) { + if ( !lAlphaBlanks( 15 ) ) { ZoneEvapUnit( UnitLoop ).HVACSizingIndex = FindItemInList(Alphas( 15 ), ZoneHVACSizing.Name(), NumZoneHVACSizing ); if ( ZoneEvapUnit( UnitLoop ).HVACSizingIndex == 0 ) { ShowSevereError( cAlphaFields( 15 ) + " = " + Alphas( 15 ) + " not found." ); @@ -2626,16 +2626,16 @@ namespace EvaporativeCoolers { // na // SUBROUTINE LOCAL VARIABLE DECLARATIONS: - std::string CompName; // component name - std::string CompType; // component type + std::string CompName; // component name + std::string CompType; // component type std::string SizingString; // input field sizing description (e.g., Nominal Capacity) - Real64 TempSize; // autosized value of coil input field - int FieldNum = 1; // IDD numeric field number where input field description is found - int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) - bool PrintFlag; // TRUE when sizing information is reported in the eio file - int zoneHVACIndex; // index of zoneHVAC equipment sizing specification - int SAFMethod(0); // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow ...) - int CapSizingMethod(0); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) + Real64 TempSize; // autosized value of coil input field + int FieldNum = 1; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) + bool PrintFlag; // TRUE when sizing information is reported in the eio file + int zoneHVACIndex; // index of zoneHVAC equipment sizing specification + int SAFMethod(0); // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow ...) + int CapSizingMethod(0); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) DataScalableSizingON = false; ZoneHeatingOnlyFan = false; @@ -2645,21 +2645,20 @@ namespace EvaporativeCoolers { CompName = ZoneEvapUnit( UnitNum ).Name; DataZoneNumber = ZoneEvapUnit( UnitNum ).ZonePtr; SizingMethod = CoolingAirflowSizing; - FieldNum = 1; + FieldNum = 1; // N1 , \field Maximum Supply Air Flow Rate PrintFlag = true; SizingString = ZoneEvapCoolerUnitFields(UnitNum).FieldNames(FieldNum) + " [m3/s]"; - // N1 , \field Maximum Supply Air Flow Rate if (CurZoneEqNum > 0) { if ( ZoneEvapUnit( UnitNum ).HVACSizingIndex > 0) { ZoneCoolingOnlyFan = true; zoneHVACIndex = ZoneEvapUnit( UnitNum ).HVACSizingIndex; - SAFMethod = ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; - if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow) { - if (SAFMethod == SupplyAirFlowRate){ - if ( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0) { + SAFMethod = ZoneHVACSizing( zoneHVACIndex ).CoolingSAFMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; + if ( SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow ) { + if ( SAFMethod == SupplyAirFlowRate ){ + if ( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; } @@ -2667,34 +2666,33 @@ namespace EvaporativeCoolers { if ( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0 ) { PrintFlag = false; } - } else if (SAFMethod == FlowPerFloorArea){ + } else if ( SAFMethod == FlowPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; - } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ - DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + } else if ( SAFMethod == FractionOfAutosizedCoolingAirflow ){ + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; } else { - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; } RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); ZoneEvapUnit( UnitNum ).DesignAirVolumeFlowRate = TempSize; - - } else if (SAFMethod == FlowPerCoolingCapacity) { + } else if ( SAFMethod == FlowPerCoolingCapacity ) { SizingMethod = CoolingCapacitySizing; TempSize = AutoSize; PrintFlag = false; DataScalableSizingON = true; - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; - if (ZoneHVACSizing( zoneHVACIndex ).CoolingCapMethod == FractionOfAutosizedCoolingCapacity) { + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; + if ( ZoneHVACSizing( zoneHVACIndex ).CoolingCapMethod == FractionOfAutosizedCoolingCapacity ) { DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; } RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); DataCapacityUsedForSizing = TempSize; - DataFlowPerCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + DataFlowPerCoolingCapacity = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; SizingMethod = CoolingAirflowSizing; PrintFlag = true; TempSize = AutoSize; @@ -2703,7 +2701,6 @@ namespace EvaporativeCoolers { } DataScalableSizingON = false; ZoneCoolingOnlyFan = false; - } else { // no scalble sizing method has been specified. Sizing proceeds using the method // specified in the zoneHVAC object @@ -2712,7 +2709,7 @@ namespace EvaporativeCoolers { if ( ZoneEvapUnit( UnitNum ).DesignAirVolumeFlowRate > 0.0) { PrintFlag = false; } - TempSize = ZoneEvapUnit(UnitNum).DesignAirVolumeFlowRate; + TempSize = ZoneEvapUnit( UnitNum ).DesignAirVolumeFlowRate; RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); ZoneEvapUnit(UnitNum).DesignAirVolumeFlowRate = TempSize; ZoneCoolingOnlyFan = false; diff --git a/src/EnergyPlus/FanCoilUnits.cc b/src/EnergyPlus/FanCoilUnits.cc index 68374b2676c..31497fedeec 100644 --- a/src/EnergyPlus/FanCoilUnits.cc +++ b/src/EnergyPlus/FanCoilUnits.cc @@ -293,6 +293,7 @@ namespace FanCoilUnits { using InputProcessor::FindItemInList; using DataSizing::NumZoneHVACSizing; using DataSizing::ZoneHVACSizing; + // Locals // SUBROUTINE ARGUMENT DEFINITIONS: static std::string const RoutineName( "GetFanCoilUnits: " ); // include trailing blank space @@ -551,11 +552,11 @@ namespace FanCoilUnits { } FanCoil( FanCoilNum ).HVACSizingIndex = 0; - if (!lAlphaBlanks( 16 ) ) { + if ( !lAlphaBlanks( 16 ) ) { FanCoil( FanCoilNum ).HVACSizingIndex = FindItemInList( Alphas( 16 ), ZoneHVACSizing.Name(), NumZoneHVACSizing ); - if (FanCoil( FanCoilNum ).HVACSizingIndex == 0) { - ShowSevereError( cAlphaFields(16) + " = " + Alphas(16) + " not found." ); - ShowContinueError( "Occurs in " + cMO_FanCoil + " = " + FanCoil(FanCoilNum).Name ); + if ( FanCoil( FanCoilNum ).HVACSizingIndex == 0 ) { + ShowSevereError( cAlphaFields( 16 ) + " = " + Alphas( 16 ) + " not found." ); + ShowContinueError( "Occurs in " + cMO_FanCoil + " = " + FanCoil( FanCoilNum ).Name ); ErrorsFound = true; } } @@ -673,7 +674,7 @@ namespace FanCoilUnits { if ( ! ZoneEquipConfig( CtrlZone ).IsControlled ) continue; for ( NodeNum = 1; NodeNum <= ZoneEquipConfig( CtrlZone ).NumInletNodes; ++NodeNum ) { if ( FanCoil( FanCoilNum ).AirOutNode == ZoneEquipConfig( CtrlZone ).InletNode( NodeNum ) ) { - FanCoil(FanCoilNum).ZonePtr = CtrlZone; + FanCoil( FanCoilNum ).ZonePtr = CtrlZone; ZoneInNodeNotFound = false; } } @@ -1019,7 +1020,7 @@ namespace FanCoilUnits { std::string CoolingCoilType; Real64 rho; Real64 Cp; - int zoneHVACIndex; // index of zoneHVAC equipment sizing specification + int zoneHVACIndex; // index of zoneHVAC equipment sizing specification bool IsAutoSize; // Indicator to autosize for reporting Real64 MaxAirVolFlowDes; // Autosized max air flow for reporting Real64 MaxAirVolFlowUser; // Hardsized max air flow for reporting @@ -1029,18 +1030,17 @@ namespace FanCoilUnits { Real64 MaxHotWaterVolFlowUser; // Hardsized hot water flow for reporting Real64 MaxColdWaterVolFlowDes; // Autosized cold water flow for reporting Real64 MaxColdWaterVolFlowUser; // Hardsized cold water flow for reporting - Real64 CoolingAirVolFlowDes; // cooling supply air flow rate - Real64 HeatingAirVolFlowDes; // heating supply air flow rate - - std::string CompName; // component name - std::string CompType; // component type + Real64 CoolingAirVolFlowDes; // cooling supply air flow rate + Real64 HeatingAirVolFlowDes; // heating supply air flow rate + std::string CompName; // component name + std::string CompType; // component type std::string SizingString; // input field sizing description (e.g., Nominal Capacity) - Real64 TempSize; // autosized value of coil input field - int FieldNum = 1; // IDD numeric field number where input field description is found - int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) - bool PrintFlag; // TRUE when sizing information is reported in the eio file - int SAFMethod( 0 ); // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow ...) - int CapSizingMethod( 0 ); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) + Real64 TempSize; // autosized value of coil input field + int FieldNum = 1; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) + bool PrintFlag; // TRUE when sizing information is reported in the eio file + int SAFMethod( 0 ); // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow ...) + int CapSizingMethod( 0 ); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) PltSizCoolNum = 0; PltSizHeatNum = 0; @@ -1071,49 +1071,49 @@ namespace FanCoilUnits { CompName = FanCoil(FanCoilNum).Name; DataZoneNumber = FanCoil(FanCoilNum).ZonePtr; - if (CurZoneEqNum > 0) { - if (FanCoil(FanCoilNum).HVACSizingIndex > 0) { + if ( CurZoneEqNum > 0 ) { + if (FanCoil( FanCoilNum ).HVACSizingIndex > 0) { - zoneHVACIndex = FanCoil(FanCoilNum).HVACSizingIndex; + zoneHVACIndex = FanCoil( FanCoilNum ).HVACSizingIndex; FieldNum = 1; PrintFlag = true; - SizingString = FanCoilNumericFields(FanCoilNum).FieldNames(FieldNum) + " [m3/s]"; - if (ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod > 0) { + SizingString = FanCoilNumericFields( FanCoilNum ).FieldNames( FieldNum ) + " [m3/s]"; + if ( ZoneHVACSizing( zoneHVACIndex ).CoolingSAFMethod > 0 ) { SizingMethod = CoolingAirflowSizing; - SAFMethod = ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; - if (SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow) { - if (SAFMethod == SupplyAirFlowRate){ - if (ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0) { + SAFMethod = ZoneHVACSizing( zoneHVACIndex ).CoolingSAFMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; + if ( SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow ) { + if ( SAFMethod == SupplyAirFlowRate ){ + if ( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; } TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; - } else if (SAFMethod == FlowPerFloorArea){ + } else if ( SAFMethod == FlowPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; - } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ - DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + } else if ( SAFMethod == FractionOfAutosizedCoolingAirflow ){ + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; } else { - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; } RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); CoolingAirVolFlowDes = TempSize; - } else if (SAFMethod == FlowPerCoolingCapacity) { + } else if ( SAFMethod == FlowPerCoolingCapacity ) { SizingMethod = CoolingCapacitySizing; TempSize = AutoSize; PrintFlag = false; RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - if (ZoneHVACSizing(zoneHVACIndex).CoolingCapMethod == FractionOfAutosizedCoolingCapacity) { - DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + if ( ZoneHVACSizing( zoneHVACIndex ).CoolingCapMethod == FractionOfAutosizedCoolingCapacity ) { + DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; } DataAutosizedCoolingCapacity = TempSize; - DataFlowPerCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + DataFlowPerCoolingCapacity = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; SizingMethod = CoolingAirflowSizing; PrintFlag = true; TempSize = AutoSize; @@ -1121,43 +1121,43 @@ namespace FanCoilUnits { RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); CoolingAirVolFlowDes = TempSize; } - } else if (ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod > 0) { + } else if ( ZoneHVACSizing( zoneHVACIndex ).HeatingSAFMethod > 0 ) { // now do heating supply air flow rate sizing SizingMethod = HeatingAirflowSizing; - SAFMethod = ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; - if (SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow) { - if (SAFMethod == SupplyAirFlowRate){ - if (ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0) { + SAFMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingSAFMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; + if ( SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow ) { + if ( SAFMethod == SupplyAirFlowRate ){ + if ( ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; } TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; - } else if (SAFMethod == FlowPerFloorArea){ + } else if ( SAFMethod == FlowPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; - } else if (SAFMethod == FractionOfAutosizedHeatingAirflow){ - DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + } else if ( SAFMethod == FractionOfAutosizedHeatingAirflow ){ + DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; } else { - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; } RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); HeatingAirVolFlowDes = TempSize; - } else if (SAFMethod == FlowPerHeatingCapacity) { + } else if ( SAFMethod == FlowPerHeatingCapacity ) { SizingMethod = HeatingCapacitySizing; TempSize = AutoSize; PrintFlag = false; DataScalableSizingON = true; RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - if (ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod == FractionOfAutosizedHeatingCapacity) { - DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + if ( ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod == FractionOfAutosizedHeatingCapacity ) { + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; } DataAutosizedHeatingCapacity = TempSize; - DataFlowPerHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + DataFlowPerHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; SizingMethod = HeatingAirflowSizing; PrintFlag = true; TempSize = AutoSize; @@ -1166,24 +1166,23 @@ namespace FanCoilUnits { } } - if (ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow == AutoSize || ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow == AutoSize) { + if ( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow == AutoSize || ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow == AutoSize ) { IsAutoSize = true; - FanCoil(FanCoilNum).MaxAirVolFlow = AutoSize; + FanCoil( FanCoilNum ).MaxAirVolFlow = AutoSize; MaxAirVolFlowDes = max(CoolingAirVolFlowDes, HeatingAirVolFlowDes); } else { - FanCoil(FanCoilNum).MaxAirVolFlow = max(CoolingAirVolFlowDes, HeatingAirVolFlowDes);; + FanCoil( FanCoilNum ).MaxAirVolFlow = max(CoolingAirVolFlowDes, HeatingAirVolFlowDes);; MaxAirVolFlowDes = 0.0; } - } else { //SizingString = "Supply Air Maximum Flow Rate [m3/s]"; SizingMethod = SystemAirflowSizing; FieldNum = 1; - SizingString = FanCoilNumericFields(FanCoilNum).FieldNames(FieldNum) + " [m3/s]"; - TempSize = FanCoil(FanCoilNum).MaxAirVolFlow; + SizingString = FanCoilNumericFields( FanCoilNum ).FieldNames( FieldNum ) + " [m3/s]"; + TempSize = FanCoil( FanCoilNum ).MaxAirVolFlow; PrintFlag = true; RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - if (FanCoil(FanCoilNum).MaxAirVolFlow == AutoSize) { + if ( FanCoil( FanCoilNum ).MaxAirVolFlow == AutoSize ) { IsAutoSize = true; MaxAirVolFlowDes = TempSize; } else { @@ -1193,61 +1192,60 @@ namespace FanCoilUnits { } } - if (CurZoneEqNum > 0) { + if ( CurZoneEqNum > 0 ) { - if (!IsAutoSize && !ZoneSizingRunDone) { + if ( !IsAutoSize && !ZoneSizingRunDone ) { } else { - if (MaxAirVolFlowDes < SmallAirVolFlow) { + if ( MaxAirVolFlowDes < SmallAirVolFlow ) { MaxAirVolFlowDes = 0.0; } // If fan is autosized, get fan volumetric flow rate - if (FanCoil(FanCoilNum).FanAirVolFlow == AutoSize) { - SimulateFanComponents(FanCoil(FanCoilNum).FanName, true, FanCoil(FanCoilNum).FanIndex); - FanCoil(FanCoilNum).FanAirVolFlow = GetFanDesignVolumeFlowRate(cFanTypes(FanCoil(FanCoilNum).FanType_Num), FanCoil(FanCoilNum).FanName, ErrorsFound); + if ( FanCoil( FanCoilNum ).FanAirVolFlow == AutoSize ) { + SimulateFanComponents( FanCoil( FanCoilNum ).FanName, true, FanCoil( FanCoilNum ).FanIndex ); + FanCoil( FanCoilNum ).FanAirVolFlow = GetFanDesignVolumeFlowRate( cFanTypes( FanCoil( FanCoilNum ).FanType_Num ), FanCoil( FanCoilNum ).FanName, ErrorsFound ); } // Check that the fan volumetric flow rate is greater than or equal to the FCU volumetric flow rate - if (MaxAirVolFlowDes > FanCoil(FanCoilNum).FanAirVolFlow) { - ShowWarningError(RoutineName + FanCoil(FanCoilNum).UnitType + ": " + FanCoil(FanCoilNum).Name); - ShowContinueError("... Maximum supply air flow rate is greater than the maximum fan flow rate."); - ShowContinueError("... Fan Coil Unit flow = " + TrimSigDigits(MaxAirVolFlowDes, 5) + " [m3/s]."); - ShowContinueError("... Fan = " + cFanTypes(FanCoil(FanCoilNum).FanType_Num) + ": " + FanCoil(FanCoilNum).FanName); - ShowContinueError("... Fan flow = " + TrimSigDigits(FanCoil(FanCoilNum).FanAirVolFlow, 5) + " [m3/s]."); - ShowContinueError("... Fan Coil Unit flow rate reduced to match the fan flow rate and the simulation continues."); - MaxAirVolFlowDes = FanCoil(FanCoilNum).FanAirVolFlow; + if ( MaxAirVolFlowDes > FanCoil( FanCoilNum ).FanAirVolFlow ) { + ShowWarningError( RoutineName + FanCoil( FanCoilNum ).UnitType + ": " + FanCoil( FanCoilNum ).Name ); + ShowContinueError( "... Maximum supply air flow rate is greater than the maximum fan flow rate." ); + ShowContinueError( "... Fan Coil Unit flow = " + TrimSigDigits( MaxAirVolFlowDes, 5 ) + " [m3/s]." ); + ShowContinueError( "... Fan = " + cFanTypes( FanCoil( FanCoilNum ).FanType_Num ) + ": " + FanCoil( FanCoilNum ).FanName ); + ShowContinueError( "... Fan flow = " + TrimSigDigits( FanCoil( FanCoilNum ).FanAirVolFlow, 5 ) + " [m3/s]." ); + ShowContinueError( "... Fan Coil Unit flow rate reduced to match the fan flow rate and the simulation continues." ); + MaxAirVolFlowDes = FanCoil( FanCoilNum ).FanAirVolFlow; } - if (IsAutoSize) { - FanCoil(FanCoilNum).MaxAirVolFlow = MaxAirVolFlowDes; + if ( IsAutoSize ) { + FanCoil( FanCoilNum ).MaxAirVolFlow = MaxAirVolFlowDes; } else { // Hard size with sizing data - if (FanCoil(FanCoilNum).MaxAirVolFlow > 0.0 && MaxAirVolFlowDes > 0.0) { - MaxAirVolFlowUser = FanCoil(FanCoilNum).MaxAirVolFlow; - if (DisplayExtraWarnings) { - if ((std::abs(MaxAirVolFlowDes - MaxAirVolFlowUser) / MaxAirVolFlowUser) > AutoVsHardSizingThreshold) { - ShowMessage("SizeFanCoilUnit: Potential issue with equipment sizing for " + FanCoil(FanCoilNum).UnitType + ' ' + FanCoil(FanCoilNum).Name); - ShowContinueError("User-Specified Supply Air Maximum Flow Rate of " + RoundSigDigits(MaxAirVolFlowUser, 5) + " [m3/s]"); - ShowContinueError("differs from Design Size Supply Air Maximum Flow Rate of " + RoundSigDigits(MaxAirVolFlowDes, 5) + " [m3/s]"); - ShowContinueError("This may, or may not, indicate mismatched component sizes."); - ShowContinueError("Verify that the value entered is intended and is consistent with other components."); + if (FanCoil( FanCoilNum ).MaxAirVolFlow > 0.0 && MaxAirVolFlowDes > 0.0 ) { + MaxAirVolFlowUser = FanCoil( FanCoilNum ).MaxAirVolFlow; + if ( DisplayExtraWarnings ) { + if ( ( std::abs( MaxAirVolFlowDes - MaxAirVolFlowUser ) / MaxAirVolFlowUser ) > AutoVsHardSizingThreshold ) { + ShowMessage( "SizeFanCoilUnit: Potential issue with equipment sizing for " + FanCoil( FanCoilNum ).UnitType + ' ' + FanCoil( FanCoilNum ).Name ); + ShowContinueError( "User-Specified Supply Air Maximum Flow Rate of " + RoundSigDigits( MaxAirVolFlowUser, 5 ) + " [m3/s]" ); + ShowContinueError( "differs from Design Size Supply Air Maximum Flow Rate of " + RoundSigDigits( MaxAirVolFlowDes, 5 ) + " [m3/s]" ); + ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); + ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); } } } } } - - } else if (FanCoil(FanCoilNum).FanAirVolFlow == AutoSize) { - SimulateFanComponents(FanCoil(FanCoilNum).FanName, true, FanCoil(FanCoilNum).FanIndex); - FanCoil(FanCoilNum).FanAirVolFlow = GetFanDesignVolumeFlowRate(cFanTypes(FanCoil(FanCoilNum).FanType_Num), FanCoil(FanCoilNum).FanName, ErrorsFound); + } else if ( FanCoil( FanCoilNum ).FanAirVolFlow == AutoSize ) { + SimulateFanComponents( FanCoil( FanCoilNum ).FanName, true, FanCoil( FanCoilNum ).FanIndex ); + FanCoil( FanCoilNum ).FanAirVolFlow = GetFanDesignVolumeFlowRate( cFanTypes( FanCoil( FanCoilNum ).FanType_Num ), FanCoil( FanCoilNum ).FanName, ErrorsFound ); // Check that the fan volumetric flow rate is greater than or equal to the FCU volumetric flow rate - if (FanCoil(FanCoilNum).MaxAirVolFlow > FanCoil(FanCoilNum).FanAirVolFlow) { - ShowWarningError(RoutineName + FanCoil(FanCoilNum).UnitType + ": " + FanCoil(FanCoilNum).Name); - ShowContinueError("... Maximum supply air flow rate is greater than the maximum fan flow rate."); - ShowContinueError("... Fan Coil Unit flow = " + TrimSigDigits(FanCoil(FanCoilNum).MaxAirVolFlow, 5) + " m3/s."); - ShowContinueError("... Fan = " + cFanTypes(FanCoil(FanCoilNum).FanType_Num) + ": " + FanCoil(FanCoilNum).FanName); - ShowContinueError("... Fan flow = " + TrimSigDigits(FanCoil(FanCoilNum).FanAirVolFlow, 5) + " m3/s."); - ShowContinueError("... Fan Coil Unit flow rate reduced to match the fan flow rate and the simulation continues."); - FanCoil(FanCoilNum).MaxAirVolFlow = FanCoil(FanCoilNum).FanAirVolFlow; + if (FanCoil( FanCoilNum ).MaxAirVolFlow > FanCoil( FanCoilNum ).FanAirVolFlow ) { + ShowWarningError( RoutineName + FanCoil (FanCoilNum ).UnitType + ": " + FanCoil( FanCoilNum ).Name ); + ShowContinueError( "... Maximum supply air flow rate is greater than the maximum fan flow rate." ); + ShowContinueError( "... Fan Coil Unit flow = " + TrimSigDigits( FanCoil( FanCoilNum ).MaxAirVolFlow, 5 ) + " m3/s." ); + ShowContinueError( "... Fan = " + cFanTypes( FanCoil( FanCoilNum ).FanType_Num ) + ": " + FanCoil( FanCoilNum ).FanName ); + ShowContinueError( "... Fan flow = " + TrimSigDigits( FanCoil( FanCoilNum ).FanAirVolFlow, 5 ) + " m3/s." ); + ShowContinueError( "... Fan Coil Unit flow rate reduced to match the fan flow rate and the simulation continues." ); + FanCoil( FanCoilNum ).MaxAirVolFlow = FanCoil( FanCoilNum ).FanAirVolFlow; } } @@ -1294,40 +1292,40 @@ namespace FanCoilUnits { IsAutoSize = true; } - if (CurZoneEqNum > 0) { - if (!IsAutoSize && !ZoneSizingRunDone) { - if (FanCoil(FanCoilNum).MaxHotWaterVolFlow > 0.0) { - ReportSizingOutput(FanCoil(FanCoilNum).UnitType, FanCoil(FanCoilNum).Name, "User-Specified Maximum Hot Water Flow [m3/s]", FanCoil(FanCoilNum).MaxHotWaterVolFlow); + if ( CurZoneEqNum > 0 ) { + if ( !IsAutoSize && !ZoneSizingRunDone ) { + if ( FanCoil( FanCoilNum ).MaxHotWaterVolFlow > 0.0 ) { + ReportSizingOutput( FanCoil( FanCoilNum ).UnitType, FanCoil( FanCoilNum ).Name, "User-Specified Maximum Hot Water Flow [m3/s]", FanCoil( FanCoilNum ).MaxHotWaterVolFlow ); } } else { - CoilWaterInletNode = GetCoilWaterInletNode("Coil:Heating:Water", FanCoil(FanCoilNum).HCoilName, ErrorsFound); - CoilWaterOutletNode = GetCoilWaterOutletNode("Coil:Heating:Water", FanCoil(FanCoilNum).HCoilName, ErrorsFound); + CoilWaterInletNode = GetCoilWaterInletNode( "Coil:Heating:Water", FanCoil( FanCoilNum ).HCoilName, ErrorsFound ); + CoilWaterOutletNode = GetCoilWaterOutletNode( "Coil:Heating:Water", FanCoil( FanCoilNum ).HCoilName, ErrorsFound ); if ( IsAutoSize ) { - PltSizHeatNum = MyPlantSizingIndex("Coil:Heating:Water", FanCoil(FanCoilNum).HCoilName, CoilWaterInletNode, CoilWaterOutletNode, ErrorsFound); - if (PltSizHeatNum > 0) { + PltSizHeatNum = MyPlantSizingIndex( "Coil:Heating:Water", FanCoil( FanCoilNum ).HCoilName, CoilWaterInletNode, CoilWaterOutletNode, ErrorsFound ); + if ( PltSizHeatNum > 0 ) { SizingMethod = HeatingCapacitySizing; - if (FinalZoneSizing(CurZoneEqNum).DesHeatMassFlow > 0.0) { - FinalZoneSizing(CurZoneEqNum).DesHeatOAFlowFrac = min(FanCoil(FanCoilNum).OutAirVolFlow / FinalZoneSizing(CurZoneEqNum).DesHeatMassFlow, 1.0); + if ( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow > 0.0 ) { + FinalZoneSizing( CurZoneEqNum ).DesHeatOAFlowFrac = min( FanCoil( FanCoilNum ).OutAirVolFlow / FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow, 1.0 ); } else { - FinalZoneSizing(CurZoneEqNum).DesHeatOAFlowFrac = 0.0; + FinalZoneSizing( CurZoneEqNum ).DesHeatOAFlowFrac = 0.0; } - if (FanCoil(FanCoilNum).HVACSizingIndex > 0) { - zoneHVACIndex = FanCoil(FanCoilNum).HVACSizingIndex; - CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; - if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { - if (CapSizingMethod == HeatingDesignCapacity){ - if (ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity > 0.0) { - ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; - ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + if ( FanCoil( FanCoilNum ).HVACSizingIndex > 0 ) { + zoneHVACIndex = FanCoil( FanCoilNum ).HVACSizingIndex; + CapSizingMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingCapMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; + if ( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { + if ( CapSizingMethod == HeatingDesignCapacity ){ + if ( ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity > 0.0 ) { + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; } - TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; - } else if (CapSizingMethod == CapacityPerFloorArea){ + TempSize = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; + } else if ( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; - } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ - DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + } else if ( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; TempSize = AutoSize; DataScalableCapSizingON = true; } @@ -1343,7 +1341,7 @@ namespace FanCoilUnits { RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); DesCoilLoad = TempSize; } - FanCoil(FanCoilNum).DesHeatingLoad = DesCoilLoad; + FanCoil( FanCoilNum ).DesHeatingLoad = DesCoilLoad; if ( DesCoilLoad >= SmallLoad ) { rho = GetDensityGlycol( PlantLoop( FanCoil( FanCoilNum ).HWLoopNum ).FluidName, 60.0, PlantLoop( FanCoil( FanCoilNum ).HWLoopNum ).FluidIndex, RoutineNameNoSpace ); @@ -1361,21 +1359,21 @@ namespace FanCoilUnits { } } - if (IsAutoSize) { - FanCoil(FanCoilNum).MaxHotWaterVolFlow = MaxHotWaterVolFlowDes; - ReportSizingOutput(FanCoil(FanCoilNum).UnitType, FanCoil(FanCoilNum).Name, "Design Size Maximum Hot Water Flow [m3/s]", MaxHotWaterVolFlowDes); + if ( IsAutoSize ) { + FanCoil( FanCoilNum ).MaxHotWaterVolFlow = MaxHotWaterVolFlowDes; + ReportSizingOutput( FanCoil( FanCoilNum ).UnitType, FanCoil( FanCoilNum ).Name, "Design Size Maximum Hot Water Flow [m3/s]", MaxHotWaterVolFlowDes ); } else { // Hard size with sizing data - if (FanCoil(FanCoilNum).MaxHotWaterVolFlow > 0.0 && MaxHotWaterVolFlowDes > 0.0) { - MaxHotWaterVolFlowDes = FanCoil(FanCoilNum).MaxHotWaterVolFlow; - ReportSizingOutput(FanCoil(FanCoilNum).UnitType, FanCoil(FanCoilNum).Name, "Design Size Maximum Hot Water Flow [m3/s]", MaxHotWaterVolFlowDes, "User-Specified Maximum Hot Water Flow [m3/s]", MaxHotWaterVolFlowUser); - if (DisplayExtraWarnings) { - if ((std::abs(MaxHotWaterVolFlowDes - MaxHotWaterVolFlowUser) / MaxHotWaterVolFlowUser) > AutoVsHardSizingThreshold) { - ShowMessage("SizeFanCoilUnit: Potential issue with equipment sizing for " + FanCoil(FanCoilNum).UnitType + ' ' + FanCoil(FanCoilNum).Name); - ShowContinueError("User-Specified Maximum Hot Water Flow of " + RoundSigDigits(MaxHotWaterVolFlowUser, 5) + " [m3/s]"); - ShowContinueError("differs from Design Size Maximum Hot Water Flow of " + RoundSigDigits(MaxHotWaterVolFlowDes, 5) + " [m3/s]"); - ShowContinueError("This may, or may not, indicate mismatched component sizes."); - ShowContinueError("Verify that the value entered is intended and is consistent with other components."); + if ( FanCoil( FanCoilNum ).MaxHotWaterVolFlow > 0.0 && MaxHotWaterVolFlowDes > 0.0 ) { + MaxHotWaterVolFlowDes = FanCoil( FanCoilNum ).MaxHotWaterVolFlow; + ReportSizingOutput( FanCoil( FanCoilNum ).UnitType, FanCoil( FanCoilNum ).Name, "Design Size Maximum Hot Water Flow [m3/s]", MaxHotWaterVolFlowDes, "User-Specified Maximum Hot Water Flow [m3/s]", MaxHotWaterVolFlowUser ); + if ( DisplayExtraWarnings ) { + if ( (std::abs (MaxHotWaterVolFlowDes - MaxHotWaterVolFlowUser ) / MaxHotWaterVolFlowUser ) > AutoVsHardSizingThreshold ) { + ShowMessage( "SizeFanCoilUnit: Potential issue with equipment sizing for " + FanCoil( FanCoilNum ).UnitType + ' ' + FanCoil( FanCoilNum ).Name ); + ShowContinueError( "User-Specified Maximum Hot Water Flow of " + RoundSigDigits( MaxHotWaterVolFlowUser, 5 ) + " [m3/s]" ); + ShowContinueError( "differs from Design Size Maximum Hot Water Flow of " + RoundSigDigits( MaxHotWaterVolFlowDes, 5 ) + " [m3/s]" ); + ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); + ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); } } } @@ -1383,55 +1381,55 @@ namespace FanCoilUnits { } IsAutoSize = false; - if (FanCoil(FanCoilNum).MaxColdWaterVolFlow == AutoSize) { + if ( FanCoil( FanCoilNum ).MaxColdWaterVolFlow == AutoSize ) { IsAutoSize = true; } - if (CurZoneEqNum > 0) { - if (!IsAutoSize && !ZoneSizingRunDone) { - if (FanCoil(FanCoilNum).MaxColdWaterVolFlow > 0.0) { - ReportSizingOutput(FanCoil(FanCoilNum).UnitType, FanCoil(FanCoilNum).Name, "User-Specified Maximum Cold Water Flow [m3/s]", FanCoil(FanCoilNum).MaxColdWaterVolFlow); + if ( CurZoneEqNum > 0 ) { + if ( !IsAutoSize && !ZoneSizingRunDone ) { + if ( FanCoil( FanCoilNum ).MaxColdWaterVolFlow > 0.0 ) { + ReportSizingOutput( FanCoil( FanCoilNum ).UnitType, FanCoil( FanCoilNum ).Name, "User-Specified Maximum Cold Water Flow [m3/s]", FanCoil( FanCoilNum ).MaxColdWaterVolFlow ); } } else { - if (SameString(FanCoil(FanCoilNum).CCoilType, "CoilSystem:Cooling:Water:HeatExchangerAssisted")) { - CoolingCoilName = GetHXDXCoilName(FanCoil(FanCoilNum).CCoilType, FanCoil(FanCoilNum).CCoilName, ErrorsFound); - CoolingCoilType = GetHXCoilType(FanCoil(FanCoilNum).CCoilType, FanCoil(FanCoilNum).CCoilName, ErrorsFound); + if ( SameString( FanCoil( FanCoilNum ).CCoilType, "CoilSystem:Cooling:Water:HeatExchangerAssisted" ) ) { + CoolingCoilName = GetHXDXCoilName( FanCoil( FanCoilNum ).CCoilType, FanCoil( FanCoilNum ).CCoilName, ErrorsFound ); + CoolingCoilType = GetHXCoilType( FanCoil( FanCoilNum ).CCoilType, FanCoil( FanCoilNum ).CCoilName, ErrorsFound ); } else { - CoolingCoilName = FanCoil(FanCoilNum).CCoilName; - CoolingCoilType = FanCoil(FanCoilNum).CCoilType; + CoolingCoilName = FanCoil( FanCoilNum ).CCoilName; + CoolingCoilType = FanCoil( FanCoilNum ).CCoilType; } - CoilWaterInletNode = GetCoilWaterInletNode(CoolingCoilType, CoolingCoilName, ErrorsFound); - CoilWaterOutletNode = GetCoilWaterOutletNode(CoolingCoilType, CoolingCoilName, ErrorsFound); - if (IsAutoSize) { - PltSizCoolNum = MyPlantSizingIndex(CoolingCoilType, CoolingCoilName, CoilWaterInletNode, CoilWaterOutletNode, ErrorsFound); - if (PltSizCoolNum > 0) { + CoilWaterInletNode = GetCoilWaterInletNode( CoolingCoilType, CoolingCoilName, ErrorsFound ); + CoilWaterOutletNode = GetCoilWaterOutletNode( CoolingCoilType, CoolingCoilName, ErrorsFound ); + if ( IsAutoSize ) { + PltSizCoolNum = MyPlantSizingIndex( CoolingCoilType, CoolingCoilName, CoilWaterInletNode, CoilWaterOutletNode, ErrorsFound ); + if ( PltSizCoolNum > 0 ) { SizingMethod = CoolingCapacitySizing; - if (FinalZoneSizing(CurZoneEqNum).DesCoolMassFlow > 0.0) { - FinalZoneSizing(CurZoneEqNum).DesCoolOAFlowFrac = min(FanCoil(FanCoilNum).OutAirVolFlow / FinalZoneSizing(CurZoneEqNum).DesCoolMassFlow, 1.0); + if ( FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow > 0.0 ) { + FinalZoneSizing( CurZoneEqNum ).DesCoolOAFlowFrac = min( FanCoil( FanCoilNum ).OutAirVolFlow / FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow, 1.0 ); } else { - FinalZoneSizing(CurZoneEqNum).DesCoolOAFlowFrac = 0.0; + FinalZoneSizing( CurZoneEqNum ).DesCoolOAFlowFrac = 0.0; } - if (FanCoil(FanCoilNum).HVACSizingIndex > 0) { - zoneHVACIndex = FanCoil(FanCoilNum).HVACSizingIndex; - CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).CoolingCapMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; - if (CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity) { - if (CapSizingMethod == CoolingDesignCapacity){ - if (ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity > 0.0) { - ZoneEqSizing(CurZoneEqNum).CoolingCapacity = true; - ZoneEqSizing(CurZoneEqNum).DesCoolingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + if (FanCoil( FanCoilNum ).HVACSizingIndex > 0) { + zoneHVACIndex = FanCoil( FanCoilNum ).HVACSizingIndex; + CapSizingMethod = ZoneHVACSizing( zoneHVACIndex ).CoolingCapMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; + if ( CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity ) { + if ( CapSizingMethod == CoolingDesignCapacity ){ + if ( ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity > 0.0 ) { + ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; } else { - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; } - TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; - } else if (CapSizingMethod == CapacityPerFloorArea){ + TempSize = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; + } else if ( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; - } else if (CapSizingMethod == FractionOfAutosizedCoolingCapacity){ - DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + } else if ( CapSizingMethod == FractionOfAutosizedCoolingCapacity ){ + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; TempSize = AutoSize; DataScalableCapSizingON = true; } @@ -1444,40 +1442,40 @@ namespace FanCoilUnits { SizingString = ""; PrintFlag = false; TempSize = AutoSize; - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); DesCoilLoad = TempSize; } FanCoil(FanCoilNum).DesCoolingLoad = DesCoilLoad; - if (DesCoilLoad >= SmallLoad) { - rho = GetDensityGlycol(PlantLoop(FanCoil(FanCoilNum).CWLoopNum).FluidName, 5., PlantLoop(FanCoil(FanCoilNum).CWLoopNum).FluidIndex, RoutineNameNoSpace); - Cp = GetSpecificHeatGlycol(PlantLoop(FanCoil(FanCoilNum).CWLoopNum).FluidName, 5., PlantLoop(FanCoil(FanCoilNum).CWLoopNum).FluidIndex, RoutineNameNoSpace); - MaxColdWaterVolFlowDes = DesCoilLoad / (PlantSizData(PltSizCoolNum).DeltaT * Cp * rho); + if ( DesCoilLoad >= SmallLoad ) { + rho = GetDensityGlycol( PlantLoop( FanCoil( FanCoilNum ).CWLoopNum ).FluidName, 5., PlantLoop( FanCoil( FanCoilNum ).CWLoopNum ).FluidIndex, RoutineNameNoSpace ); + Cp = GetSpecificHeatGlycol(PlantLoop(FanCoil(FanCoilNum).CWLoopNum).FluidName, 5., PlantLoop(FanCoil(FanCoilNum).CWLoopNum).FluidIndex, RoutineNameNoSpace ); + MaxColdWaterVolFlowDes = DesCoilLoad / ( PlantSizData( PltSizCoolNum ).DeltaT * Cp * rho ); } else { MaxColdWaterVolFlowDes = 0.0; } } else { - ShowSevereError("Autosizing of water flow requires a cooling loop Sizing:Plant object"); - ShowContinueError("Occurs in " + FanCoil(FanCoilNum).UnitType + " Object=" + FanCoil(FanCoilNum).Name); + ShowSevereError( "Autosizing of water flow requires a cooling loop Sizing:Plant object" ); + ShowContinueError( "Occurs in " + FanCoil( FanCoilNum ).UnitType + " Object=" + FanCoil( FanCoilNum ).Name ); ErrorsFound = true; } } - if (IsAutoSize) { - FanCoil(FanCoilNum).MaxColdWaterVolFlow = MaxColdWaterVolFlowDes; - ReportSizingOutput(FanCoil(FanCoilNum).UnitType, FanCoil(FanCoilNum).Name, "Design Size Maximum Cold Water Flow [m3/s]", MaxColdWaterVolFlowDes); + if ( IsAutoSize ) { + FanCoil( FanCoilNum ).MaxColdWaterVolFlow = MaxColdWaterVolFlowDes; + ReportSizingOutput (FanCoil( FanCoilNum ).UnitType, FanCoil( FanCoilNum ).Name, "Design Size Maximum Cold Water Flow [m3/s]", MaxColdWaterVolFlowDes ); } else { // Hard size with sizing data - if (FanCoil(FanCoilNum).MaxColdWaterVolFlow > 0.0 && MaxColdWaterVolFlowDes > 0.0) { - MaxColdWaterVolFlowUser = FanCoil(FanCoilNum).MaxColdWaterVolFlow; - ReportSizingOutput(FanCoil(FanCoilNum).UnitType, FanCoil(FanCoilNum).Name, "Design Size Maximum Cold Water Flow [m3/s]", MaxColdWaterVolFlowDes, "User-Specified Maximum Cold Water Flow [m3/s]", MaxColdWaterVolFlowUser); + if ( FanCoil( FanCoilNum ).MaxColdWaterVolFlow > 0.0 && MaxColdWaterVolFlowDes > 0.0 ) { + MaxColdWaterVolFlowUser = FanCoil( FanCoilNum ).MaxColdWaterVolFlow; + ReportSizingOutput( FanCoil( FanCoilNum ).UnitType, FanCoil( FanCoilNum ).Name, "Design Size Maximum Cold Water Flow [m3/s]", MaxColdWaterVolFlowDes, "User-Specified Maximum Cold Water Flow [m3/s]", MaxColdWaterVolFlowUser ); if (DisplayExtraWarnings) { - if ((std::abs(MaxColdWaterVolFlowDes - MaxColdWaterVolFlowUser) / MaxColdWaterVolFlowUser) > AutoVsHardSizingThreshold) { - ShowMessage("SizeFanCoilUnit: Potential issue with equipment sizing for " + FanCoil(FanCoilNum).UnitType + ' ' + FanCoil(FanCoilNum).Name); - ShowContinueError("User-Specified Maximum Cold Water Flow of " + RoundSigDigits(MaxColdWaterVolFlowUser, 5) + "[m3/s]"); - ShowContinueError("differs from Design Size Maximum Cold Water Flow of " + RoundSigDigits(MaxColdWaterVolFlowDes, 5) + "[m3/s]"); - ShowContinueError("This may, or may not, indicate mismatched component sizes."); - ShowContinueError("Verify that the value entered is intended and is consistent with other components."); + if ( ( std::abs( MaxColdWaterVolFlowDes - MaxColdWaterVolFlowUser ) / MaxColdWaterVolFlowUser ) > AutoVsHardSizingThreshold ) { + ShowMessage( "SizeFanCoilUnit: Potential issue with equipment sizing for " + FanCoil( FanCoilNum ).UnitType + ' ' + FanCoil ( FanCoilNum ).Name ); + ShowContinueError( "User-Specified Maximum Cold Water Flow of " + RoundSigDigits( MaxColdWaterVolFlowUser, 5 ) + "[m3/s]" ); + ShowContinueError( "differs from Design Size Maximum Cold Water Flow of " + RoundSigDigits( MaxColdWaterVolFlowDes, 5 ) + "[m3/s]" ); + ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); + ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); } } } diff --git a/src/EnergyPlus/HVACVariableRefrigerantFlow.cc b/src/EnergyPlus/HVACVariableRefrigerantFlow.cc index 9481863dc7a..b4a94c1e51a 100644 --- a/src/EnergyPlus/HVACVariableRefrigerantFlow.cc +++ b/src/EnergyPlus/HVACVariableRefrigerantFlow.cc @@ -3854,18 +3854,16 @@ namespace HVACVariableRefrigerantFlow { Real64 EvapCondPumpPowerDes; // Autosized evaporative condenser pump power for reporting Real64 EvapCondPumpPowerUser; // Hardsized evaporative condenser pump power for reporting - std::string CompName; // component name - std::string CompType; // component type + std::string CompName; // component name + std::string CompType; // component type std::string SizingString; // input field sizing description (e.g., Nominal Capacity) - Real64 TempSize; // autosized value of coil input field - int FieldNum = 2; // IDD numeric field number where input field description is found - int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) - bool PrintFlag = true; // TRUE when sizing information is reported in the eio file - int zoneHVACIndex; // index of zoneHVAC equipment sizing specification - int SAFMethod( 0 ); // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow ...) - int CapSizingMethod( 0 ); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) - //Real64 CoolingAirVolFlowScalable; // cooling airvolume for rate determined using scalable sizing method - //Real64 HeatingAirVolFlowScalable; // heating airvolume for rate determined using scalable sizing method + Real64 TempSize; // autosized value of coil input field + int FieldNum = 2; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) + bool PrintFlag = true; // TRUE when sizing information is reported in the eio file + int zoneHVACIndex; // index of zoneHVAC equipment sizing specification + int SAFMethod( 0 ); // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow ...) + int CapSizingMethod( 0 ); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) // Formats static gio::Fmt const Format_990( "('! , VRF System Type, VRF System Name, ','VRF System Cooling Combination Ratio, VRF System Heating Combination Ratio, ','VRF System Cooling Piping Correction Factor, VRF System Heating Piping Correction Factor')" ); @@ -3913,20 +3911,19 @@ namespace HVACVariableRefrigerantFlow { } CompType = "ZoneHVAC:TerminalUnit:VariableRefrigerantFlow"; - CompName = VRFTU(VRFTUNum).Name; - if (CurZoneEqNum > 0) { - if (VRFTU(VRFTUNum).HVACSizingIndex > 0) { - zoneHVACIndex = VRFTU(VRFTUNum).HVACSizingIndex; - DataZoneNumber = VRFTU(VRFTUNum).ZoneNum; + CompName = VRFTU( VRFTUNum ).Name; + if ( CurZoneEqNum > 0 ) { + if ( VRFTU( VRFTUNum ).HVACSizingIndex > 0 ) { + zoneHVACIndex = VRFTU( VRFTUNum ).HVACSizingIndex; + DataZoneNumber = VRFTU( VRFTUNum ).ZoneNum; - // N1, \field Supply Air Flow Rate During Cooling Operation SizingMethod = CoolingAirflowSizing; - FieldNum = 1; + FieldNum = 1; // N1, \field Supply Air Flow Rate During Cooling Operation PrintFlag = true; - SizingString = VRFTUNumericFields( VRFTUNum ).FieldNames(FieldNum) + " [m3/s]"; + SizingString = VRFTUNumericFields( VRFTUNum ).FieldNames( FieldNum ) + " [m3/s]"; SAFMethod = ZoneHVACSizing( zoneHVACIndex ).CoolingSAFMethod; ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; - if (SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow) { + if ( SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow ) { if ( SAFMethod == SupplyAirFlowRate ){ if ( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; @@ -3943,23 +3940,22 @@ namespace HVACVariableRefrigerantFlow { TempSize = AutoSize; DataScalableSizingON = true; } else { - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; } RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); VRFTU( VRFTUNum ).MaxCoolAirVolFlow = TempSize; - } else if ( SAFMethod == FlowPerCoolingCapacity ) { SizingMethod = CoolingCapacitySizing; TempSize = AutoSize; PrintFlag = false; DataScalableSizingON = true; DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; - if (ZoneHVACSizing(zoneHVACIndex).CoolingCapMethod == FractionOfAutosizedCoolingCapacity) { - DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + if ( ZoneHVACSizing( zoneHVACIndex ).CoolingCapMethod == FractionOfAutosizedCoolingCapacity ) { + DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; } RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); DataAutosizedCoolingCapacity = TempSize; - DataFlowPerCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + DataFlowPerCoolingCapacity = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; SizingMethod = CoolingAirflowSizing; PrintFlag = true; TempSize = AutoSize; @@ -3967,14 +3963,13 @@ namespace HVACVariableRefrigerantFlow { VRFTU( VRFTUNum ).MaxCoolAirVolFlow = TempSize; } - //N3, \field Supply Air Flow Rate During Heating Operation SizingMethod = HeatingAirflowSizing; - FieldNum = 3; + FieldNum = 3; //N3, \field Supply Air Flow Rate During Heating Operation PrintFlag = true; - SizingString = VRFTUNumericFields(VRFTUNum).FieldNames(FieldNum) + " [m3/s]"; - SAFMethod = ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; - if (SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow) { + SizingString = VRFTUNumericFields( VRFTUNum ).FieldNames( FieldNum ) + " [m3/s]"; + SAFMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingSAFMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; + if ( SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow ) { if ( SAFMethod == SupplyAirFlowRate ){ if (ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0) { ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; @@ -3987,27 +3982,26 @@ namespace HVACVariableRefrigerantFlow { TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; } else if ( SAFMethod == FractionOfAutosizedHeatingAirflow ){ - DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; } else { - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; } RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); VRFTU( VRFTUNum ).MaxHeatAirVolFlow = TempSize; - } else if ( SAFMethod == FlowPerHeatingCapacity ) { SizingMethod = HeatingCapacitySizing; TempSize = AutoSize; PrintFlag = false; DataScalableSizingON = true; - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; - if (ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod == FractionOfAutosizedHeatingCapacity) { - DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; + if ( ZoneHVACSizing( zoneHVACIndex ).HeatingCapMethod == FractionOfAutosizedHeatingCapacity ) { + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; } RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); DataAutosizedHeatingCapacity = TempSize; - DataFlowPerHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + DataFlowPerHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; SizingMethod = HeatingAirflowSizing; PrintFlag = true; TempSize = AutoSize; @@ -4015,13 +4009,12 @@ namespace HVACVariableRefrigerantFlow { VRFTU( VRFTUNum ).MaxHeatAirVolFlow = TempSize; } - //N2, \field Supply Air Flow Rate When No Cooling is Needed SizingMethod = CoolingAirflowSizing; - FieldNum = 2; + FieldNum = 2; //N2, \field Supply Air Flow Rate When No Cooling is Needed PrintFlag = true; - SizingString = VRFTUNumericFields(VRFTUNum).FieldNames(FieldNum) + " [m3/s]"; - SAFMethod = ZoneHVACSizing(zoneHVACIndex).NoCoolHeatSAFMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; + SizingString = VRFTUNumericFields( VRFTUNum ).FieldNames( FieldNum ) + " [m3/s]"; + SAFMethod = ZoneHVACSizing( zoneHVACIndex ).NoCoolHeatSAFMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; if ( ( SAFMethod == SupplyAirFlowRate ) || ( SAFMethod == FlowPerFloorArea ) || ( SAFMethod == FractionOfAutosizedHeatingAirflow ) || ( SAFMethod == FractionOfAutosizedCoolingAirflow ) ) { if ( SAFMethod == SupplyAirFlowRate ){ if (ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow > 0.0) { @@ -4035,30 +4028,28 @@ namespace HVACVariableRefrigerantFlow { TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; } else if ( SAFMethod == FractionOfAutosizedCoolingAirflow ){ - DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; - DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow; + DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; } else if ( SAFMethod == FractionOfAutosizedHeatingAirflow ){ - DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; - DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow; + DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; } else { - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow; } RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - VRFTU(VRFTUNum).MaxNoCoolAirVolFlow = TempSize; + VRFTU( VRFTUNum ).MaxNoCoolAirVolFlow = TempSize; } - - //N4, \field Supply Air Flow Rate When No Heating is Needed SizingMethod = HeatingAirflowSizing; - FieldNum = 4; + FieldNum = 4; //N4, \field Supply Air Flow Rate When No Heating is Needed PrintFlag = true; - SizingString = VRFTUNumericFields(VRFTUNum).FieldNames(FieldNum) + " [m3/s]"; - SAFMethod = ZoneHVACSizing(zoneHVACIndex).NoCoolHeatSAFMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; + SizingString = VRFTUNumericFields( VRFTUNum ).FieldNames(FieldNum) + " [m3/s]"; + SAFMethod = ZoneHVACSizing( zoneHVACIndex ).NoCoolHeatSAFMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod(SizingMethod) = SAFMethod; if ( ( SAFMethod == SupplyAirFlowRate ) || ( SAFMethod == FlowPerFloorArea ) || ( SAFMethod == FractionOfAutosizedHeatingAirflow ) || ( SAFMethod == FractionOfAutosizedCoolingAirflow ) ) { if ( SAFMethod == SupplyAirFlowRate ){ if (ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow > 0.0) { @@ -4072,17 +4063,17 @@ namespace HVACVariableRefrigerantFlow { TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; } else if (SAFMethod == FractionOfAutosizedHeatingAirflow ){ - DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; - DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow; + DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; } else if ( SAFMethod == FractionOfAutosizedCoolingAirflow ){ - DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; - DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow; + DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; } else { - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow; } RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); VRFTU( VRFTUNum ).MaxNoHeatAirVolFlow = TempSize; @@ -4090,81 +4081,76 @@ namespace HVACVariableRefrigerantFlow { // initialize capacity sizing variables: cooling SizingMethod = CoolingCapacitySizing; - CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).CoolingCapMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; - if (CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity) { - if (CapSizingMethod == HeatingDesignCapacity){ - if (ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity > 0.0) { - ZoneEqSizing(CurZoneEqNum).CoolingCapacity = true; - ZoneEqSizing(CurZoneEqNum).DesCoolingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + CapSizingMethod = ZoneHVACSizing( zoneHVACIndex ).CoolingCapMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; + if ( CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity ) { + if ( CapSizingMethod == HeatingDesignCapacity ){ + if ( ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity > 0.0 ) { + ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; } } else if (CapSizingMethod == CapacityPerFloorArea){ ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; - } else if (CapSizingMethod == FractionOfAutosizedCoolingCapacity){ - DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + } else if ( CapSizingMethod == FractionOfAutosizedCoolingCapacity ){ + DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; DataScalableCapSizingON = true; } } // initialize capacity sizing variables: heating SizingMethod = HeatingCapacitySizing; - CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; - if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { - if (CapSizingMethod == HeatingDesignCapacity){ - if (ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity > 0.0) { - ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; - ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + CapSizingMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingCapMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; + if ( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { + if ( CapSizingMethod == HeatingDesignCapacity ){ + if (ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity > 0.0) { + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; } - } else if (CapSizingMethod == CapacityPerFloorArea){ + } else if ( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; - } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ - DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + } else if ( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; DataScalableCapSizingON = true; } } - } else { // no scalble sizing method has been specified. Sizing proceeds using the method // specified in the zoneHVAC object PrintFlag = true; - // N1, \field Supply Air Flow Rate During Cooling Operation SizingMethod = CoolingAirflowSizing; - FieldNum = 1; - SizingString = VRFTUNumericFields(VRFTUNum).FieldNames(FieldNum) + " [m3/s]"; - TempSize = VRFTU(VRFTUNum).MaxCoolAirVolFlow; + FieldNum = 1; // N1, \field Supply Air Flow Rate During Cooling Operation + SizingString = VRFTUNumericFields( VRFTUNum ).FieldNames(FieldNum) + " [m3/s]"; + TempSize = VRFTU( VRFTUNum ).MaxCoolAirVolFlow; RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); VRFTU( VRFTUNum ).MaxCoolAirVolFlow = TempSize; - //N3, \field Supply Air Flow Rate During Heating Operation - FieldNum = 3; - SizingString = VRFTUNumericFields(VRFTUNum).FieldNames(FieldNum) + " [m3/s]"; + FieldNum = 3; //N3, \field Supply Air Flow Rate During Heating Operation + SizingString = VRFTUNumericFields( VRFTUNum ).FieldNames( FieldNum ) + " [m3/s]"; SizingMethod = HeatingAirflowSizing; - TempSize = VRFTU(VRFTUNum).MaxHeatAirVolFlow; + TempSize = VRFTU( VRFTUNum ).MaxHeatAirVolFlow; RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); VRFTU( VRFTUNum ).MaxHeatAirVolFlow = TempSize; - //N2, \field Supply Air Flow Rate When No Cooling is Needed - FieldNum = 2; - SizingString = VRFTUNumericFields(VRFTUNum).FieldNames(FieldNum) + " [m3/s]"; + FieldNum = 2; //N2, \field Supply Air Flow Rate When No Cooling is Needed + SizingString = VRFTUNumericFields( VRFTUNum ).FieldNames( FieldNum ) + " [m3/s]"; SizingMethod = SystemAirflowSizing; - TempSize = VRFTU(VRFTUNum).MaxNoCoolAirVolFlow; + TempSize = VRFTU( VRFTUNum ).MaxNoCoolAirVolFlow; RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - VRFTU(VRFTUNum).MaxNoCoolAirVolFlow = TempSize; + VRFTU( VRFTUNum ).MaxNoCoolAirVolFlow = TempSize; - //N4, \field Supply Air Flow Rate When No Heating is Needed - FieldNum = 4; - SizingString = VRFTUNumericFields(VRFTUNum).FieldNames(FieldNum) + " [m3/s]"; + FieldNum = 4; //N4, \field Supply Air Flow Rate When No Heating is Needed + SizingString = VRFTUNumericFields( VRFTUNum ).FieldNames( FieldNum ) + " [m3/s]"; SizingMethod = SystemAirflowSizing; - TempSize = VRFTU(VRFTUNum).MaxNoHeatAirVolFlow; + TempSize = VRFTU( VRFTUNum ).MaxNoHeatAirVolFlow; RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - VRFTU(VRFTUNum).MaxNoHeatAirVolFlow = TempSize; + VRFTU( VRFTUNum ).MaxNoHeatAirVolFlow = TempSize; } } IsAutoSize = false; @@ -4278,7 +4264,7 @@ namespace HVACVariableRefrigerantFlow { } } - if (CurZoneEqNum > 0) { + if ( CurZoneEqNum > 0 ) { ZoneEqSizing( CurZoneEqNum ).AirVolFlow = max( VRFTU( VRFTUNum ).MaxCoolAirVolFlow, VRFTU( VRFTUNum ).MaxHeatAirVolFlow ); } diff --git a/src/EnergyPlus/HWBaseboardRadiator.cc b/src/EnergyPlus/HWBaseboardRadiator.cc index a4fc00bd84b..41a53762a5f 100644 --- a/src/EnergyPlus/HWBaseboardRadiator.cc +++ b/src/EnergyPlus/HWBaseboardRadiator.cc @@ -294,7 +294,6 @@ namespace HWBaseboardRadiator { Real64 const CPAirStd( 1005.0 ); // Average specific heat of air at between 25C and 40C in J/kg-k // INTEGER, PARAMETER :: MaxDistribSurfaces = 20 ! Maximum number of surfaces that a baseboard heater can radiate to int const MinDistribSurfaces( 1 ); // Minimum number of surfaces that a baseboard heater can radiate to - int const iHeatCAPMAlphaNum( 5 ) ; // get input index to HW baseboard heating capacity sizing method int const iHeatDesignCapacityNumericNum( 3 ); // get input index to HW baseboard heating capacity int const iHeatCapacityPerFloorAreaNumericNum( 4 ); // get input index to HW baseboard heating capacity per floor area sizing @@ -389,71 +388,62 @@ namespace HWBaseboardRadiator { HWBaseboard( BaseboardNum ).WaterMassFlowRateStd = WaterMassFlowDefault; } - //HWBaseboard( BaseboardNum ).RatedCapacity = rNumericArgs( 3 ); - // Determine HW radiant baseboard heating design capacity sizing method - if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "HeatingDesignCapacity")) { - HWBaseboard(BaseboardNum).HeatingCapMethod = HeatingDesignCapacity; - - if (!lNumericFieldBlanks(iHeatDesignCapacityNumericNum)) { - HWBaseboard(BaseboardNum).ScaledHeatingCapacity = rNumericArgs(iHeatDesignCapacityNumericNum); - if (HWBaseboard(BaseboardNum).ScaledHeatingCapacity < 0.0 && HWBaseboard(BaseboardNum).ScaledHeatingCapacity != AutoSize) { - ShowSevereError(cCurrentModuleObject + " = " + HWBaseboard(BaseboardNum).EquipID); - ShowContinueError("Illegal " + cNumericFieldNames(iHeatDesignCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatDesignCapacityNumericNum), 7)); + if ( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "HeatingDesignCapacity" ) ) { + HWBaseboard( BaseboardNum ).HeatingCapMethod = HeatingDesignCapacity; + + if ( !lNumericFieldBlanks( iHeatDesignCapacityNumericNum ) ) { + HWBaseboard( BaseboardNum ).ScaledHeatingCapacity = rNumericArgs( iHeatDesignCapacityNumericNum ); + if ( HWBaseboard( BaseboardNum ).ScaledHeatingCapacity < 0.0 && HWBaseboard( BaseboardNum ).ScaledHeatingCapacity != AutoSize ) { + ShowSevereError( cCurrentModuleObject + " = " + HWBaseboard( BaseboardNum ).EquipID ); + ShowContinueError( "Illegal " + cNumericFieldNames( iHeatDesignCapacityNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iHeatDesignCapacityNumericNum ), 7 ) ); ErrorsFound = true; } - } - else { - ShowSevereError(cCurrentModuleObject + " = " + HWBaseboard(BaseboardNum).EquipID); - ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatDesignCapacityNumericNum)); + } else { + ShowSevereError( cCurrentModuleObject + " = " + HWBaseboard( BaseboardNum ).EquipID ); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFieldNames( iHeatDesignCapacityNumericNum ) ); ErrorsFound = true; } - } - else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "CapacityPerFloorArea")) { - HWBaseboard(BaseboardNum).HeatingCapMethod = CapacityPerFloorArea; - if (!lNumericFieldBlanks(iHeatCapacityPerFloorAreaNumericNum)) { - HWBaseboard(BaseboardNum).ScaledHeatingCapacity = rNumericArgs(iHeatCapacityPerFloorAreaNumericNum); - if (HWBaseboard(BaseboardNum).ScaledHeatingCapacity <= 0.0) { - ShowSevereError(cCurrentModuleObject + " = " + HWBaseboard(BaseboardNum).EquipID); - ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatCapacityPerFloorAreaNumericNum), 7)); + } else if ( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "CapacityPerFloorArea" ) ) { + HWBaseboard( BaseboardNum ).HeatingCapMethod = CapacityPerFloorArea; + if ( !lNumericFieldBlanks( iHeatCapacityPerFloorAreaNumericNum ) ) { + HWBaseboard( BaseboardNum ).ScaledHeatingCapacity = rNumericArgs( iHeatCapacityPerFloorAreaNumericNum ); + if ( HWBaseboard( BaseboardNum ).ScaledHeatingCapacity <= 0.0 ) { + ShowSevereError( cCurrentModuleObject + " = " + HWBaseboard( BaseboardNum ).EquipID ); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFieldNames( iHeatCapacityPerFloorAreaNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iHeatCapacityPerFloorAreaNumericNum ), 7 ) ); ErrorsFound = true; - } - else if (HWBaseboard(BaseboardNum).ScaledHeatingCapacity == AutoSize) { - ShowSevereError(cCurrentModuleObject + " = " + HWBaseboard(BaseboardNum).EquipID); - ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = Autosize"); + } else if ( HWBaseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize ) { + ShowSevereError( cCurrentModuleObject + " = " + HWBaseboard( BaseboardNum ).EquipID ); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFieldNames( iHeatCapacityPerFloorAreaNumericNum ) + " = Autosize" ); ErrorsFound = true; } - } - else { - ShowSevereError(cCurrentModuleObject + " = " + HWBaseboard(BaseboardNum).EquipID); - ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum)); + } else { + ShowSevereError( cCurrentModuleObject + " = " + HWBaseboard( BaseboardNum ).EquipID ); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFieldNames( iHeatCapacityPerFloorAreaNumericNum ) ); ErrorsFound = true; } - } - else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "FractionOfAutosizedHeatingCapacity")){ - HWBaseboard(BaseboardNum).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; - if (!lNumericFieldBlanks(iHeatFracOfAutosizedCapacityNumericNum)) { - HWBaseboard(BaseboardNum).ScaledHeatingCapacity = rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum); - if (HWBaseboard(BaseboardNum).ScaledHeatingCapacity < 0.0) { - ShowSevereError(cCurrentModuleObject + " = " + HWBaseboard(BaseboardNum).EquipID); - ShowContinueError("Illegal " + cNumericFieldNames(iHeatFracOfAutosizedCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum), 7)); + } else if ( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "FractionOfAutosizedHeatingCapacity" ) ){ + HWBaseboard( BaseboardNum ).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; + if ( !lNumericFieldBlanks( iHeatFracOfAutosizedCapacityNumericNum ) ) { + HWBaseboard( BaseboardNum ).ScaledHeatingCapacity = rNumericArgs( iHeatFracOfAutosizedCapacityNumericNum ); + if ( HWBaseboard( BaseboardNum ).ScaledHeatingCapacity < 0.0 ) { + ShowSevereError( cCurrentModuleObject + " = " + HWBaseboard( BaseboardNum ).EquipID ); + ShowContinueError( "Illegal " + cNumericFieldNames( iHeatFracOfAutosizedCapacityNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iHeatFracOfAutosizedCapacityNumericNum ), 7 ) ); ErrorsFound = true; } - } - else { - ShowSevereError(cCurrentModuleObject + " = " + HWBaseboard(BaseboardNum).EquipID); - ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatFracOfAutosizedCapacityNumericNum)); + } else { + ShowSevereError( cCurrentModuleObject + " = " + HWBaseboard( BaseboardNum ).EquipID ); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFieldNames( iHeatFracOfAutosizedCapacityNumericNum ) ); ErrorsFound = true; } - } - else { - ShowSevereError(cCurrentModuleObject + " = " + HWBaseboard(BaseboardNum).EquipID); - ShowContinueError("Illegal " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + } else { + ShowSevereError( cCurrentModuleObject + " = " + HWBaseboard( BaseboardNum ).EquipID ); + ShowContinueError( "Illegal " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); ErrorsFound = true; } @@ -850,16 +840,15 @@ namespace HWBaseboardRadiator { bool CapAutoSize; // Indicator to autosize for capacity Real64 WaterVolFlowRateMaxDes; // Design maximum water volume flow for reproting Real64 WaterVolFlowRateMaxUser; // User hard-sized maximum water volume flow for reproting - Real64 RatedCapacityDes; // Design rated capacity for reproting - //REAL(r64) :: RatedCapacityUser ! User hard-sized rated capacity for reproting + Real64 RatedCapacityDes; // Design rated capacity for reproting - std::string CompName; // component name - std::string CompType; // component type + std::string CompName; // component name + std::string CompType; // component type std::string SizingString; // input field sizing description (e.g., Nominal Capacity) - Real64 TempSize; // autosized value of coil input field - int FieldNum = 1; // IDD numeric field number where input field description is found - int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) - bool PrintFlag; // TRUE when sizing information is reported in the eio file + Real64 TempSize; // autosized value of coil input field + int FieldNum = 1; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) + bool PrintFlag; // TRUE when sizing information is reported in the eio file int CapSizingMethod( 0 ); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) PltSizHeatNum = 0; @@ -873,51 +862,48 @@ namespace HWBaseboardRadiator { RatedCapacityDes = 0.0; DataScalableCapSizingON = false; - //RatedCapacityUser = 0.0d0 - - if (CurZoneEqNum > 0) { CompType = cCMO_BBRadiator_Water; - CompName = HWBaseboard(BaseboardNum).EquipID; + CompName = HWBaseboard( BaseboardNum ).EquipID; DataHeatSizeRatio = 1.0; DataFracOfAutosizedHeatingCapacity = 1.0; - DataZoneNumber = HWBaseboard(BaseboardNum).ZonePtr; + DataZoneNumber = HWBaseboard( BaseboardNum ).ZonePtr; SizingMethod = HeatingCapacitySizing; FieldNum = 3; PrintFlag = false; - SizingString = HWBaseboardNumericFields(BaseboardNum).FieldNames(FieldNum) + " [W]"; - CapSizingMethod = HWBaseboard(BaseboardNum).HeatingCapMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; - if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { - if (CapSizingMethod == HeatingDesignCapacity){ - if (HWBaseboard(BaseboardNum).ScaledHeatingCapacity == AutoSize) { - CheckZoneSizing(CompType, CompName); - ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; - ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + SizingString = HWBaseboardNumericFields( BaseboardNum ).FieldNames( FieldNum ) + " [W]"; + CapSizingMethod = HWBaseboard( BaseboardNum ).HeatingCapMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; + if ( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { + if ( CapSizingMethod == HeatingDesignCapacity ){ + if ( HWBaseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize ) { + CheckZoneSizing( CompType, CompName ); + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; } - TempSize = HWBaseboard(BaseboardNum).ScaledHeatingCapacity; + TempSize = HWBaseboard( BaseboardNum ).ScaledHeatingCapacity; - } else if (CapSizingMethod == CapacityPerFloorArea){ + } else if ( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = HWBaseboard( BaseboardNum ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad; DataScalableCapSizingON = true; - } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ - CheckZoneSizing(CompType, CompName); - ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; - DataFracOfAutosizedHeatingCapacity = HWBaseboard(BaseboardNum).ScaledHeatingCapacity; - ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + } else if ( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ + CheckZoneSizing( CompType, CompName ); + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + DataFracOfAutosizedHeatingCapacity = HWBaseboard( BaseboardNum ).ScaledHeatingCapacity; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; TempSize = AutoSize; DataScalableCapSizingON = true; } else { - TempSize = HWBaseboard(BaseboardNum).ScaledHeatingCapacity; + TempSize = HWBaseboard( BaseboardNum ).ScaledHeatingCapacity; } RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - if (HWBaseboard(BaseboardNum).ScaledHeatingCapacity == AutoSize) { - HWBaseboard(BaseboardNum).RatedCapacity = AutoSize; + if ( HWBaseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize ) { + HWBaseboard( BaseboardNum ).RatedCapacity = AutoSize; } else { - HWBaseboard(BaseboardNum).RatedCapacity = TempSize; + HWBaseboard( BaseboardNum ).RatedCapacity = TempSize; } RatedCapacityDes = TempSize; } @@ -938,7 +924,6 @@ namespace HWBaseboardRadiator { } } else { CheckZoneSizing( cCMO_BBRadiator_Water, HWBaseboard( BaseboardNum ).EquipID ); - //DesCoilLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; DesCoilLoad = RatedCapacityDes; if ( DesCoilLoad >= SmallLoad ) { Cp = GetSpecificHeatGlycol( PlantLoop( HWBaseboard( BaseboardNum ).LoopNum ).FluidName, 60.0, PlantLoop( HWBaseboard( BaseboardNum ).LoopNum ).FluidIndex, RoutineName ); @@ -971,7 +956,6 @@ namespace HWBaseboardRadiator { DesCoilLoad = HWBaseboard( BaseboardNum ).RatedCapacity; WaterMassFlowRateStd = HWBaseboard( BaseboardNum ).WaterMassFlowRateStd; } else if ( HWBaseboard( BaseboardNum ).RatedCapacity == AutoSize || HWBaseboard( BaseboardNum ).RatedCapacity == 0.0 ) { - //DesCoilLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; DesCoilLoad = RatedCapacityDes; rho = GetDensityGlycol( PlantLoop( HWBaseboard( BaseboardNum ).LoopNum ).FluidName, InitConvTemp, PlantLoop( HWBaseboard( BaseboardNum ).LoopNum ).FluidIndex, RoutineNameFull ); WaterMassFlowRateStd = HWBaseboard( BaseboardNum ).WaterVolFlowRateMax * rho; @@ -1021,7 +1005,7 @@ namespace HWBaseboardRadiator { ErrorsFound = true; } // calculate UA from rated capacities - HWBaseboard(BaseboardNum).RatedCapacity = RatedCapacityDes; + HWBaseboard( BaseboardNum ).RatedCapacity = RatedCapacityDes; DesCoilLoad = RatedCapacityDes; if ( DesCoilLoad >= SmallLoad ) { diff --git a/src/EnergyPlus/HWBaseboardRadiator.hh b/src/EnergyPlus/HWBaseboardRadiator.hh index e174c6dd853..91c5ff6f890 100644 --- a/src/EnergyPlus/HWBaseboardRadiator.hh +++ b/src/EnergyPlus/HWBaseboardRadiator.hh @@ -94,9 +94,8 @@ namespace HWBaseboardRadiator { int BBLoadReSimIndex; int BBMassFlowReSimIndex; int BBInletTempFlowReSimIndex; - int HeatingCapMethod; // - Method for heating capacity scaledsizing calculation - //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) - Real64 ScaledHeatingCapacity; // - scaled maximum heating capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} + int HeatingCapMethod; // - Method for heating capacity scaledsizing calculation (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 ScaledHeatingCapacity; // - scaled maximum heating capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} // Default Constructor HWBaseboardParams() : @@ -205,9 +204,8 @@ namespace HWBaseboardRadiator { int const BBLoadReSimIndex, int const BBMassFlowReSimIndex, int const BBInletTempFlowReSimIndex, - int const HeatingCapMethod, // - Method for HW baseboard heating capacity scalable sizing calculation - //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) - Real64 const ScaledHeatingCapacity // - HW baseboard scaled maximum heating capacity {W} or scalable variable for sizing in {-}, or {W/m2} + int const HeatingCapMethod, // - Method for HW baseboard heating capacity scalable sizing calculation (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 const ScaledHeatingCapacity // - HW baseboard scaled maximum heating capacity {W} or scalable variable for sizing in {-}, or {W/m2} ) : EquipID( EquipID ), EquipType( EquipType ), @@ -264,7 +262,6 @@ namespace HWBaseboardRadiator { HeatingCapMethod( HeatingCapMethod ), ScaledHeatingCapacity( ScaledHeatingCapacity ) {} - }; struct HWBaseboardNumericFieldData diff --git a/src/EnergyPlus/HighTempRadiantSystem.cc b/src/EnergyPlus/HighTempRadiantSystem.cc index 9289e68ecfe..8afa81f3557 100644 --- a/src/EnergyPlus/HighTempRadiantSystem.cc +++ b/src/EnergyPlus/HighTempRadiantSystem.cc @@ -256,7 +256,6 @@ namespace HighTempRadiantSystem { Real64 const MinThrottlingRange( 0.5 ); // Smallest throttling range allowed in degrees Celsius // INTEGER, PARAMETER :: MaxDistribSurfaces = 20 ! Maximum number of surfaces that a radiant heater can radiate to static std::string const RoutineName( "GetHighTempRadiantSystem: " ); // include trailing blank space - int const iHeatCAPMAlphaNum( 4 ); // get input index to High Temperature Radiant system heating capacity sizing method int const iHeatDesignCapacityNumericNum( 1 ); // get input index to High Temperature Radiant system heating capacity int const iHeatCapacityPerFloorAreaNumericNum( 2 ); // get input index to High Temperature Radiant system heating capacity per floor area sizing @@ -333,61 +332,61 @@ namespace HighTempRadiantSystem { // Determine High Temp Radiant heating design capacity sizing method - if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "HeatingDesignCapacity")) { + if ( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "HeatingDesignCapacity" ) ) { HighTempRadSys( Item ).HeatingCapMethod = HeatingDesignCapacity; - if (!lNumericFieldBlanks(iHeatDesignCapacityNumericNum)) { - HighTempRadSys( Item ).ScaledHeatingCapacity = rNumericArgs(iHeatDesignCapacityNumericNum); - if (HighTempRadSys( Item ).ScaledHeatingCapacity < 0.0 && HighTempRadSys( Item ).ScaledHeatingCapacity != AutoSize) { - ShowSevereError(cCurrentModuleObject + " = " + HighTempRadSys(Item).Name); - ShowContinueError("Illegal " + cNumericFieldNames(iHeatDesignCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatDesignCapacityNumericNum), 7)); + if ( !lNumericFieldBlanks( iHeatDesignCapacityNumericNum ) ) { + HighTempRadSys( Item ).ScaledHeatingCapacity = rNumericArgs( iHeatDesignCapacityNumericNum ); + if ( HighTempRadSys( Item ).ScaledHeatingCapacity < 0.0 && HighTempRadSys( Item ).ScaledHeatingCapacity != AutoSize ) { + ShowSevereError( cCurrentModuleObject + " = " + HighTempRadSys( Item ).Name ); + ShowContinueError( "Illegal " + cNumericFieldNames( iHeatDesignCapacityNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iHeatDesignCapacityNumericNum ), 7 ) ); ErrorsFound = true; } } else { - ShowSevereError(cCurrentModuleObject + " = " + HighTempRadSys(Item).Name); - ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatDesignCapacityNumericNum)); + ShowSevereError( cCurrentModuleObject + " = " + HighTempRadSys( Item ).Name ); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFieldNames( iHeatDesignCapacityNumericNum ) ); ErrorsFound = true; } - } else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "CapacityPerFloorArea")) { + } else if ( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "CapacityPerFloorArea" ) ) { HighTempRadSys( Item ).HeatingCapMethod = CapacityPerFloorArea; - if (!lNumericFieldBlanks(iHeatCapacityPerFloorAreaNumericNum)) { - HighTempRadSys( Item ).ScaledHeatingCapacity = rNumericArgs(iHeatCapacityPerFloorAreaNumericNum); - if (HighTempRadSys( Item ).ScaledHeatingCapacity <= 0.0) { - ShowSevereError(cCurrentModuleObject + " = " + HighTempRadSys(Item).Name); - ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatCapacityPerFloorAreaNumericNum), 7)); + if ( !lNumericFieldBlanks( iHeatCapacityPerFloorAreaNumericNum ) ) { + HighTempRadSys( Item ).ScaledHeatingCapacity = rNumericArgs( iHeatCapacityPerFloorAreaNumericNum ); + if ( HighTempRadSys( Item ).ScaledHeatingCapacity <= 0.0 ) { + ShowSevereError( cCurrentModuleObject + " = " + HighTempRadSys( Item ).Name ); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFieldNames( iHeatCapacityPerFloorAreaNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iHeatCapacityPerFloorAreaNumericNum ), 7 ) ); ErrorsFound = true; - } else if (HighTempRadSys( Item ).ScaledHeatingCapacity == AutoSize) { - ShowSevereError(cCurrentModuleObject + " = " + HighTempRadSys(Item).Name); - ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = Autosize"); + } else if ( HighTempRadSys( Item ).ScaledHeatingCapacity == AutoSize ) { + ShowSevereError( cCurrentModuleObject + " = " + HighTempRadSys(Item).Name); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFieldNames( iHeatCapacityPerFloorAreaNumericNum ) + " = Autosize" ); ErrorsFound = true; } } else { - ShowSevereError(cCurrentModuleObject + " = " + HighTempRadSys(Item).Name); - ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum)); + ShowSevereError( cCurrentModuleObject + " = " + HighTempRadSys( Item ).Name ); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFieldNames( iHeatCapacityPerFloorAreaNumericNum ) ); ErrorsFound = true; } - } else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "FractionOfAutosizedHeatingCapacity")){ + } else if ( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "FractionOfAutosizedHeatingCapacity" ) ) { HighTempRadSys( Item ).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; - if (!lNumericFieldBlanks(iHeatFracOfAutosizedCapacityNumericNum)) { - HighTempRadSys( Item ).ScaledHeatingCapacity = rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum); - if (HighTempRadSys( Item ).ScaledHeatingCapacity < 0.0) { - ShowSevereError(cCurrentModuleObject + " = " + HighTempRadSys(Item).Name); - ShowContinueError("Illegal " + cNumericFieldNames(iHeatFracOfAutosizedCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum), 7)); + if ( !lNumericFieldBlanks( iHeatFracOfAutosizedCapacityNumericNum ) ) { + HighTempRadSys( Item ).ScaledHeatingCapacity = rNumericArgs( iHeatFracOfAutosizedCapacityNumericNum ); + if ( HighTempRadSys( Item ).ScaledHeatingCapacity < 0.0 ) { + ShowSevereError( cCurrentModuleObject + " = " + HighTempRadSys( Item ).Name ); + ShowContinueError( "Illegal " + cNumericFieldNames( iHeatFracOfAutosizedCapacityNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iHeatFracOfAutosizedCapacityNumericNum ), 7 ) ); ErrorsFound = true; } } else { - ShowSevereError(cCurrentModuleObject + " = " + HighTempRadSys(Item).Name); - ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatFracOfAutosizedCapacityNumericNum)); + ShowSevereError( cCurrentModuleObject + " = " + HighTempRadSys( Item ).Name ); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFieldNames( iHeatFracOfAutosizedCapacityNumericNum ) ); ErrorsFound = true; } } else { - ShowSevereError(cCurrentModuleObject + " = " + HighTempRadSys(Item).Name); - ShowContinueError("Illegal " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowSevereError( cCurrentModuleObject + " = " + HighTempRadSys( Item ).Name ); + ShowContinueError( "Illegal " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); ErrorsFound = true; } @@ -749,13 +748,13 @@ namespace HighTempRadiantSystem { Real64 MaxPowerCapacUser; // User hard-sized maximum capacity for reproting bool IsAutoSize; // Indicator to autosizing nominal capacity - std::string CompName; // component name - std::string CompType; // component type + std::string CompName; // component name + std::string CompType; // component type std::string SizingString; // input field sizing description (e.g., Nominal Capacity) - Real64 TempSize; // autosized value of coil input field - int FieldNum = 1; // IDD numeric field number where input field description is found - int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) - bool PrintFlag; // TRUE when sizing information is reported in the eio file + Real64 TempSize; // autosized value of coil input field + int FieldNum = 1; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) + bool PrintFlag; // TRUE when sizing information is reported in the eio file int CapSizingMethod( 0 ); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) IsAutoSize = false; @@ -772,30 +771,30 @@ namespace HighTempRadiantSystem { SizingMethod = HeatingCapacitySizing; FieldNum = 1; PrintFlag = true; - SizingString = HighTempRadSysNumericFields(RadSysNum).FieldNames(FieldNum) + " [W]"; + SizingString = HighTempRadSysNumericFields( RadSysNum ).FieldNames( FieldNum ) + " [W]"; CapSizingMethod = HighTempRadSys( RadSysNum ).HeatingCapMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; - if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; + if ( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { - if (CapSizingMethod == HeatingDesignCapacity){ - if (HighTempRadSys( RadSysNum ).ScaledHeatingCapacity == AutoSize) { + if ( CapSizingMethod == HeatingDesignCapacity ) { + if ( HighTempRadSys( RadSysNum ).ScaledHeatingCapacity == AutoSize ) { CheckZoneSizing( CompType, CompName ); - ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor / (HighTempRadSys(RadSysNum).FracRadiant + HighTempRadSys(RadSysNum).FracConvect); + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor / (HighTempRadSys( RadSysNum ).FracRadiant + HighTempRadSys( RadSysNum ).FracConvect ); } else { ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = HighTempRadSys( RadSysNum ).ScaledHeatingCapacity; } ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; TempSize = ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad; - } else if (CapSizingMethod == CapacityPerFloorArea){ + } else if ( CapSizingMethod == CapacityPerFloorArea ) { ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = HighTempRadSys( RadSysNum ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad; DataScalableCapSizingON = true; - } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ + } else if ( CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { CheckZoneSizing( CompType, CompName ); ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; - DataFracOfAutosizedHeatingCapacity = HighTempRadSys(RadSysNum).ScaledHeatingCapacity; - ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor / (HighTempRadSys(RadSysNum).FracRadiant + HighTempRadSys(RadSysNum).FracConvect); + DataFracOfAutosizedHeatingCapacity = HighTempRadSys( RadSysNum ).ScaledHeatingCapacity; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor / (HighTempRadSys( RadSysNum ).FracRadiant + HighTempRadSys( RadSysNum ).FracConvect ); TempSize = AutoSize; DataScalableCapSizingON = true; } else { diff --git a/src/EnergyPlus/HighTempRadiantSystem.hh b/src/EnergyPlus/HighTempRadiantSystem.hh index 3926ab70b05..bcd812fda0f 100644 --- a/src/EnergyPlus/HighTempRadiantSystem.hh +++ b/src/EnergyPlus/HighTempRadiantSystem.hh @@ -88,9 +88,8 @@ namespace HighTempRadiantSystem { Real64 GasEnergy; // system gas consumption in Joules Real64 HeatPower; // actual heating sent to zone (convective and radiative) in Watts Real64 HeatEnergy; // actual heating sent to zone (convective and radiative) in Joules - int HeatingCapMethod; // - Method for High Temperature Radiant heating capacity scalable sizing calculation - //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) - Real64 ScaledHeatingCapacity; // - High Temperature Radiant scaled maximum heating capacity {W} or scalable variable for sizing in {-}, or {W/m2} + int HeatingCapMethod; // - Method for High Temperature Radiant heating capacity scalable sizing calculation (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 ScaledHeatingCapacity; // - High Temperature Radiant scaled maximum heating capacity {W} or scalable variable for sizing in {-}, or {W/m2} // Default Constructor HighTempRadiantSystemData() : @@ -147,9 +146,8 @@ namespace HighTempRadiantSystem { Real64 const GasEnergy, // system gas consumption in Joules Real64 const HeatPower, // actual heating sent to zone (convective and radiative) in Watts Real64 const HeatEnergy, // actual heating sent to zone (convective and radiative) in Joules - int const HeatingCapMethod, // - Method for High Temperature Radiant heating capacity scalable sizing calculation - //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) - Real64 const ScaledHeatingCapacity // - High Temperature Radiant scaled maximum heating capacity {W} or scalable variable for sizing in {-}, or {W/m2} + int const HeatingCapMethod, // - Method for High Temperature Radiant heating capacity scalable sizing calculation (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 const ScaledHeatingCapacity // - High Temperature Radiant scaled maximum heating capacity {W} or scalable variable for sizing in {-}, or {W/m2} ) : Name( Name ), SchedName( SchedName ), @@ -181,7 +179,6 @@ namespace HighTempRadiantSystem { HeatingCapMethod( HeatingCapMethod ), ScaledHeatingCapacity( ScaledHeatingCapacity ) {} - }; struct HighTempRadSysNumericFieldData diff --git a/src/EnergyPlus/LowTempRadiantSystem.cc b/src/EnergyPlus/LowTempRadiantSystem.cc index 53db6e03d34..3ca05c2f281 100644 --- a/src/EnergyPlus/LowTempRadiantSystem.cc +++ b/src/EnergyPlus/LowTempRadiantSystem.cc @@ -369,7 +369,6 @@ namespace LowTempRadiantSystem { static std::string const Off( "Off" ); static std::string const SimpleOff( "SimpleOff" ); static std::string const VariableOff( "VariableOff" ); - int const iHeatCAPMAlphaNum( 5 ); // get input index to Low Temperature Radiant system heating capacity sizing method int const iHeatDesignCapacityNumericNum( 1 ); // get input index to Low Temperature Radiant system electric heating capacity int const iHeatCapacityPerFloorAreaNumericNum( 2 ); // get input index to Low Temperature Radiant system electric heating capacity per floor area sizing @@ -623,14 +622,14 @@ namespace LowTempRadiantSystem { ErrorsFound = true; } } else { - ShowSevereError(CurrentModuleObject + " = " + HydrRadSys(Item).Name); - ShowContinueError("Input for " + cAlphaFields( 6 ) + " = " + Alphas( 6 )); - ShowContinueError("Blank field not allowed for " + cNumericFields( 3 )); + ShowSevereError( CurrentModuleObject + " = " + HydrRadSys( Item ).Name ); + ShowContinueError( "Input for " + cAlphaFields( 6 ) + " = " + Alphas( 6 ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFields( 3 ) ); ErrorsFound = true; } } else if ( SameString( Alphas( 6 ), "CapacityPerFloorArea" ) ) { - HydrRadSys(Item).HeatingCapMethod = CapacityPerFloorArea; - if ( ! lNumericBlanks( 4 )) { + HydrRadSys( Item ).HeatingCapMethod = CapacityPerFloorArea; + if ( ! lNumericBlanks( 4 ) ) { HydrRadSys( Item ).ScaledHeatingCapacity = Numbers( 4 ); if ( HydrRadSys( Item ).ScaledHeatingCapacity <= 0.0 ) { ShowSevereError( CurrentModuleObject + " = " + HydrRadSys( Item ).Name ); @@ -639,34 +638,34 @@ namespace LowTempRadiantSystem { ErrorsFound = true; } else if ( HydrRadSys( Item ).ScaledHeatingCapacity == AutoSize) { ShowSevereError( CurrentModuleObject + " = " + HydrRadSys( Item ).Name ); - ShowContinueError("Input for " + cAlphaFields( 6 ) + " = " + Alphas( 6 )); - ShowContinueError("Illegal " + cNumericFields( 4 ) + " = Autosize"); + ShowContinueError( "Input for " + cAlphaFields( 6 ) + " = " + Alphas( 6 ) ); + ShowContinueError( "Illegal " + cNumericFields( 4 ) + " = Autosize" ); ErrorsFound = true; } } else { - ShowSevereError(CurrentModuleObject + " = " + HydrRadSys(Item).Name); - ShowContinueError("Input for " + cAlphaFields( 6 ) + " = " + Alphas( 6 )); - ShowContinueError("Blank field not allowed for " + cNumericFields( 4 )); + ShowSevereError( CurrentModuleObject + " = " + HydrRadSys( Item ).Name ); + ShowContinueError( "Input for " + cAlphaFields( 6 ) + " = " + Alphas( 6 ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFields( 4 ) ); ErrorsFound = true; } - } else if ( SameString( Alphas( 6 ), "FractionOfAutosizedHeatingCapacity" ) ){ + } else if ( SameString( Alphas( 6 ), "FractionOfAutosizedHeatingCapacity" ) ) { HydrRadSys( Item ).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; if ( ! lNumericBlanks( 5 ) ) { HydrRadSys( Item ).ScaledHeatingCapacity = Numbers( 5 ); if (HydrRadSys( Item ).ScaledHeatingCapacity < 0.0) { ShowSevereError( CurrentModuleObject + " = " + HydrRadSys( Item ).Name ); - ShowContinueError( "Illegal " + cNumericFields( 5 ) + " = " + TrimSigDigits( Numbers( 5 ), 7)); + ShowContinueError( "Illegal " + cNumericFields( 5 ) + " = " + TrimSigDigits( Numbers( 5 ), 7) ); ErrorsFound = true; } } else { - ShowSevereError(CurrentModuleObject + " = " + HydrRadSys( Item ).Name); - ShowContinueError("Input for " + cAlphaFields( 6 ) + " = " + Alphas( 6 )); - ShowContinueError("Blank field not allowed for " + cNumericFields( 5 )); + ShowSevereError( CurrentModuleObject + " = " + HydrRadSys( Item ).Name ); + ShowContinueError( "Input for " + cAlphaFields( 6 ) + " = " + Alphas( 6 ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFields( 5 ) ); ErrorsFound = true; } } else { - ShowSevereError(CurrentModuleObject + " = " + HydrRadSys(Item).Name); - ShowContinueError("Illegal " + cAlphaFields( 6 ) + " = " + Alphas( 6 )); + ShowSevereError( CurrentModuleObject + " = " + HydrRadSys( Item ).Name ); + ShowContinueError( "Illegal " + cAlphaFields( 6 ) + " = " + Alphas( 6 ) ); ErrorsFound = true; } @@ -703,22 +702,22 @@ namespace LowTempRadiantSystem { } // Determine Low Temp Radiant cooling design capacity sizing method - if (SameString( Alphas( 10 ), "CoolingDesignCapacity" ) ) { + if ( SameString( Alphas( 10 ), "CoolingDesignCapacity" ) ) { HydrRadSys( Item ).CoolingCapMethod = CoolingDesignCapacity; if ( ! lNumericBlanks( 8 ) ) { HydrRadSys( Item ).ScaledCoolingCapacity = Numbers( 8 ); - if (HydrRadSys( Item ).ScaledCoolingCapacity < 0.0 && HydrRadSys( Item ).ScaledCoolingCapacity != AutoSize ) { + if ( HydrRadSys( Item ).ScaledCoolingCapacity < 0.0 && HydrRadSys( Item ).ScaledCoolingCapacity != AutoSize ) { ShowSevereError( CurrentModuleObject + " = " + HydrRadSys( Item ).Name ); ShowContinueError( "Illegal " + cNumericFields( 8 ) + " = " + TrimSigDigits( Numbers( 8 ), 7 ) ); ErrorsFound = true; } } else { - ShowSevereError( CurrentModuleObject + " = " + HydrRadSys( Item ).Name); - ShowContinueError("Input for " + cAlphaFields( 10 ) + " = " + Alphas( 10 ) ); - ShowContinueError("Blank field not allowed for " + cNumericFields( 8 ) ); + ShowSevereError( CurrentModuleObject + " = " + HydrRadSys( Item ).Name ); + ShowContinueError( "Input for " + cAlphaFields( 10 ) + " = " + Alphas( 10 ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFields( 8 ) ); ErrorsFound = true; } - } else if (SameString( Alphas( 10 ), "CapacityPerFloorArea")) { + } else if ( SameString( Alphas( 10 ), "CapacityPerFloorArea" ) ) { HydrRadSys( Item ).CoolingCapMethod = CapacityPerFloorArea; if ( ! lNumericBlanks( 9 ) ) { HydrRadSys( Item ).ScaledCoolingCapacity = Numbers( 9 ); @@ -729,17 +728,17 @@ namespace LowTempRadiantSystem { ErrorsFound = true; } else if ( HydrRadSys( Item ).ScaledCoolingCapacity == AutoSize ) { ShowSevereError( CurrentModuleObject + " = " + HydrRadSys( Item ).Name ); - ShowContinueError( "Input for " + cAlphaFields( 10 ) + " = " + Alphas( 10 )); + ShowContinueError( "Input for " + cAlphaFields( 10 ) + " = " + Alphas( 10 ) ); ShowContinueError( "Illegal " + cNumericFields( 9 ) + " = Autosize" ); ErrorsFound = true; } } else { ShowSevereError( CurrentModuleObject + " = " + HydrRadSys(Item).Name ); - ShowContinueError( "Input for " + cAlphaFields( 10 ) + " = " + Alphas( 10 )); + ShowContinueError( "Input for " + cAlphaFields( 10 ) + " = " + Alphas( 10 ) ); ShowContinueError( "Blank field not allowed for " + cNumericFields( 9 ) ); ErrorsFound = true; } - } else if (SameString( Alphas( 10 ), "FractionOfAutosizedCoolingCapacity" ) ){ + } else if (SameString( Alphas( 10 ), "FractionOfAutosizedCoolingCapacity" ) ) { HydrRadSys( Item ).CoolingCapMethod = FractionOfAutosizedCoolingCapacity; if ( ! lNumericBlanks( 10 ) ) { HydrRadSys( Item ).ScaledCoolingCapacity = Numbers( 10 ); @@ -1175,60 +1174,60 @@ namespace LowTempRadiantSystem { // Heating user input data // Determine Low Temp Radiant heating design capacity sizing method - if (SameString( Alphas( iHeatCAPMAlphaNum ), "HeatingDesignCapacity")) { + if ( SameString( Alphas( iHeatCAPMAlphaNum ), "HeatingDesignCapacity" ) ) { ElecRadSys( Item ).HeatingCapMethod = HeatingDesignCapacity; - if (!lNumericBlanks(iHeatDesignCapacityNumericNum)) { - ElecRadSys( Item ).ScaledHeatingCapacity = Numbers(iHeatDesignCapacityNumericNum); + if ( !lNumericBlanks( iHeatDesignCapacityNumericNum ) ) { + ElecRadSys( Item ).ScaledHeatingCapacity = Numbers( iHeatDesignCapacityNumericNum ); if (ElecRadSys( Item ).ScaledHeatingCapacity < 0.0 && ElecRadSys( Item ).ScaledHeatingCapacity != AutoSize) { - ShowSevereError(CurrentModuleObject + " = " + ElecRadSys( Item ).Name); - ShowContinueError("Illegal " + cNumericFields(iHeatDesignCapacityNumericNum) + " = " + TrimSigDigits(Numbers(iHeatDesignCapacityNumericNum), 7)); + ShowSevereError( CurrentModuleObject + " = " + ElecRadSys( Item ).Name ); + ShowContinueError( "Illegal " + cNumericFields( iHeatDesignCapacityNumericNum ) + " = " + TrimSigDigits( Numbers( iHeatDesignCapacityNumericNum ), 7 ) ); ErrorsFound = true; } } else { - ShowSevereError(CurrentModuleObject + " = " + ElecRadSys(Item).Name); - ShowContinueError("Input for " + cAlphaFields(iHeatCAPMAlphaNum) + " = " + Alphas(iHeatCAPMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFields(iHeatDesignCapacityNumericNum)); + ShowSevereError( CurrentModuleObject + " = " + ElecRadSys( Item ).Name ); + ShowContinueError( "Input for " + cAlphaFields(iHeatCAPMAlphaNum) + " = " + Alphas( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFields( iHeatDesignCapacityNumericNum ) ); ErrorsFound = true; } - } else if (SameString(Alphas(iHeatCAPMAlphaNum), "CapacityPerFloorArea")) { - ElecRadSys(Item).HeatingCapMethod = CapacityPerFloorArea; - if (!lNumericBlanks(iHeatCapacityPerFloorAreaNumericNum)) { - ElecRadSys(Item).ScaledHeatingCapacity = Numbers(iHeatCapacityPerFloorAreaNumericNum); - if (ElecRadSys(Item).ScaledHeatingCapacity <= 0.0) { - ShowSevereError(CurrentModuleObject + " = " + ElecRadSys(Item).Name); - ShowContinueError("Input for " + cAlphaFields(iHeatCAPMAlphaNum) + " = " + Alphas(iHeatCAPMAlphaNum)); - ShowContinueError("Illegal " + cNumericFields(iHeatCapacityPerFloorAreaNumericNum) + " = " + TrimSigDigits(Numbers(iHeatCapacityPerFloorAreaNumericNum), 7)); + } else if ( SameString( Alphas( iHeatCAPMAlphaNum ), "CapacityPerFloorArea" ) ) { + ElecRadSys( Item ).HeatingCapMethod = CapacityPerFloorArea; + if ( !lNumericBlanks( iHeatCapacityPerFloorAreaNumericNum ) ) { + ElecRadSys( Item ).ScaledHeatingCapacity = Numbers( iHeatCapacityPerFloorAreaNumericNum ); + if ( ElecRadSys( Item ).ScaledHeatingCapacity <= 0.0 ) { + ShowSevereError( CurrentModuleObject + " = " + ElecRadSys( Item ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iHeatCAPMAlphaNum ) + " = " + Alphas( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFields( iHeatCapacityPerFloorAreaNumericNum ) + " = " + TrimSigDigits( Numbers( iHeatCapacityPerFloorAreaNumericNum ), 7 ) ); ErrorsFound = true; - } else if (ElecRadSys(Item).ScaledHeatingCapacity == AutoSize) { - ShowSevereError(CurrentModuleObject + " = " + ElecRadSys(Item).Name); - ShowContinueError("Input for " + cAlphaFields(iHeatCAPMAlphaNum) + " = " + Alphas(iHeatCAPMAlphaNum)); - ShowContinueError("Illegal " + cNumericFields(iHeatCapacityPerFloorAreaNumericNum) + " = Autosize"); + } else if ( ElecRadSys( Item ).ScaledHeatingCapacity == AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + ElecRadSys( Item ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iHeatCAPMAlphaNum ) + " = " + Alphas( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFields( iHeatCapacityPerFloorAreaNumericNum ) + " = Autosize" ); ErrorsFound = true; } } else { - ShowSevereError(CurrentModuleObject + " = " + ElecRadSys(Item).Name); - ShowContinueError("Input for " + cAlphaFields(iHeatCAPMAlphaNum) + " = " + Alphas(iHeatCAPMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFields(iHeatCapacityPerFloorAreaNumericNum)); + ShowSevereError( CurrentModuleObject + " = " + ElecRadSys( Item ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iHeatCAPMAlphaNum ) + " = " + Alphas( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFields( iHeatCapacityPerFloorAreaNumericNum ) ); ErrorsFound = true; } - } else if (SameString(Alphas(iHeatCAPMAlphaNum), "FractionOfAutosizedHeatingCapacity")){ - ElecRadSys(Item).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; - if (!lNumericBlanks(iHeatFracOfAutosizedCapacityNumericNum)) { - ElecRadSys(Item).ScaledHeatingCapacity = Numbers(iHeatFracOfAutosizedCapacityNumericNum); - if (ElecRadSys(Item).ScaledHeatingCapacity < 0.0) { - ShowSevereError(CurrentModuleObject + " = " + ElecRadSys(Item).Name); - ShowContinueError("Illegal " + cNumericFields(iHeatFracOfAutosizedCapacityNumericNum) + " = " + TrimSigDigits(Numbers(iHeatFracOfAutosizedCapacityNumericNum), 7)); + } else if ( SameString( Alphas( iHeatCAPMAlphaNum ), "FractionOfAutosizedHeatingCapacity" ) ) { + ElecRadSys( Item ).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; + if ( !lNumericBlanks(iHeatFracOfAutosizedCapacityNumericNum ) ) { + ElecRadSys( Item ).ScaledHeatingCapacity = Numbers( iHeatFracOfAutosizedCapacityNumericNum ); + if ( ElecRadSys( Item ).ScaledHeatingCapacity < 0.0 ) { + ShowSevereError( CurrentModuleObject + " = " + ElecRadSys( Item ).Name ); + ShowContinueError( "Illegal " + cNumericFields( iHeatFracOfAutosizedCapacityNumericNum ) + " = " + TrimSigDigits( Numbers( iHeatFracOfAutosizedCapacityNumericNum ), 7 ) ); ErrorsFound = true; } } else { - ShowSevereError(CurrentModuleObject + " = " + ElecRadSys(Item).Name); - ShowContinueError("Input for " + cAlphaFields(iHeatCAPMAlphaNum) + " = " + Alphas(iHeatCAPMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFields(iHeatFracOfAutosizedCapacityNumericNum)); + ShowSevereError( CurrentModuleObject + " = " + ElecRadSys( Item ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iHeatCAPMAlphaNum ) + " = " + Alphas( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFields( iHeatFracOfAutosizedCapacityNumericNum ) ); ErrorsFound = true; } } else { - ShowSevereError(CurrentModuleObject + " = " + ElecRadSys(Item).Name); - ShowContinueError("Illegal " + cAlphaFields(iHeatCAPMAlphaNum) + " = " + Alphas(iHeatCAPMAlphaNum)); + ShowSevereError( CurrentModuleObject + " = " + ElecRadSys( Item ).Name ); + ShowContinueError( "Illegal " + cAlphaFields( iHeatCAPMAlphaNum ) + " = " + Alphas( iHeatCAPMAlphaNum ) ); ErrorsFound = true; } @@ -1954,16 +1953,15 @@ namespace LowTempRadiantSystem { Real64 WaterVolFlowMaxCoolUser; // User hard-sized chilled water flow for reproting Real64 TubeLengthDes; // Design tube length for reproting Real64 TubeLengthUser; // User hard-sized tube length for reproting - - std::string CompName; // component name - std::string CompType; // component type + std::string CompName; // component name + std::string CompType; // component type std::string SizingString; // input field sizing description (e.g., Nominal Capacity) - Real64 TempSize; // autosized value of coil input field - int FieldNum = 1; // IDD numeric field number where input field description is found - int SizingMethod; // Integer representation of sizing method name (e.g. CoolingCapacitySizing, HeatingCapacitySizing) - bool PrintFlag; // TRUE when sizing information is reported in the eio file + Real64 TempSize; // autosized value of coil input field + int FieldNum = 1; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (e.g. CoolingCapacitySizing, HeatingCapacitySizing) + bool PrintFlag; // TRUE when sizing information is reported in the eio file int CapSizingMethod( 0 ); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) - Real64 DesCoilLoad; // design autosized or user specified capacity + Real64 DesCoilLoad; // design autosized or user specified capacity ErrorsFound = false; IsAutoSize = false; @@ -1986,39 +1984,39 @@ namespace LowTempRadiantSystem { if ( CurZoneEqNum > 0 ) { CompType = "ZoneHVAC:LowTemperatureRadiant:Electric"; - CompName = ElecRadSys(RadSysNum).Name; + CompName = ElecRadSys( RadSysNum ).Name; DataFracOfAutosizedHeatingCapacity = 1.0; - DataZoneNumber = ElecRadSys(RadSysNum).ZonePtr; + DataZoneNumber = ElecRadSys( RadSysNum ).ZonePtr; SizingMethod = HeatingCapacitySizing; FieldNum = 1; PrintFlag = true; - SizingString = ElecRadSysNumericFields(RadSysNum).FieldNames(FieldNum) + " [W]"; - CapSizingMethod = ElecRadSys(RadSysNum).HeatingCapMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; - if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { - if (CapSizingMethod == HeatingDesignCapacity){ - if (ElecRadSys(RadSysNum).ScaledHeatingCapacity == AutoSize) { - CheckZoneSizing(CompType, CompName); - ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + SizingString = ElecRadSysNumericFields( RadSysNum ).FieldNames( FieldNum ) + " [W]"; + CapSizingMethod = ElecRadSys( RadSysNum ).HeatingCapMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; + if ( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { + if ( CapSizingMethod == HeatingDesignCapacity ) { + if ( ElecRadSys( RadSysNum ).ScaledHeatingCapacity == AutoSize ) { + CheckZoneSizing( CompType, CompName ); + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; }else { ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ElecRadSys( RadSysNum ).ScaledHeatingCapacity; } ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; TempSize = ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad; - } else if (CapSizingMethod == CapacityPerFloorArea){ + } else if ( CapSizingMethod == CapacityPerFloorArea ) { ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ElecRadSys( RadSysNum ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad; DataScalableCapSizingON = true; - } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ - CheckZoneSizing(CompType, CompName); - ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; - DataFracOfAutosizedHeatingCapacity = ElecRadSys(RadSysNum).ScaledHeatingCapacity; - ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + } else if ( CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { + CheckZoneSizing( CompType, CompName ); + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + DataFracOfAutosizedHeatingCapacity = ElecRadSys( RadSysNum ).ScaledHeatingCapacity; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; TempSize = AutoSize; DataScalableCapSizingON = true; } else { - TempSize = ElecRadSys(RadSysNum).ScaledHeatingCapacity; + TempSize = ElecRadSys( RadSysNum ).ScaledHeatingCapacity; } RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); ElecRadSys(RadSysNum).MaxElecPower = TempSize; @@ -2052,32 +2050,32 @@ namespace LowTempRadiantSystem { PrintFlag = false; SizingString = HydronicRadiantSysNumericFields( RadSysNum ).FieldNames( FieldNum ) + " [W]"; CapSizingMethod = HydrRadSys( RadSysNum ).HeatingCapMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; - if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { - if (CapSizingMethod == HeatingDesignCapacity){ - if (HydrRadSys( RadSysNum ).ScaledHeatingCapacity == AutoSize) { - CheckZoneSizing(CompType, CompName); - ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; - ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; + if ( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { + if ( CapSizingMethod == HeatingDesignCapacity ) { + if ( HydrRadSys( RadSysNum ).ScaledHeatingCapacity == AutoSize ) { + CheckZoneSizing( CompType, CompName ); + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; } TempSize = HydrRadSys( RadSysNum ).ScaledHeatingCapacity; - } else if (CapSizingMethod == CapacityPerFloorArea){ + } else if ( CapSizingMethod == CapacityPerFloorArea ) { ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = HydrRadSys( RadSysNum ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad; DataScalableCapSizingON = true; - } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ - CheckZoneSizing(CompType, CompName); - ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + } else if ( CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { + CheckZoneSizing( CompType, CompName ); + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; DataFracOfAutosizedHeatingCapacity = HydrRadSys( RadSysNum ).ScaledHeatingCapacity; - ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; TempSize = AutoSize; DataScalableCapSizingON = true; } else { TempSize = HydrRadSys( RadSysNum ).ScaledHeatingCapacity; } - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); DesCoilLoad = TempSize; } else { DesCoilLoad = 0.0; // CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; @@ -2134,32 +2132,32 @@ namespace LowTempRadiantSystem { PltSizCoolNum = MyPlantSizingIndex( "ZoneHVAC:LowTemperatureRadiant:VariableFlow", HydrRadSys( RadSysNum ).Name, HydrRadSys( RadSysNum ).ColdWaterInNode, HydrRadSys( RadSysNum ).ColdWaterOutNode, ErrorsFound ); if ( PltSizCoolNum > 0 ) { CompType = "ZoneHVAC:LowTemperatureRadiant:VariableFlow"; - CompName = HydrRadSys(RadSysNum).Name; + CompName = HydrRadSys( RadSysNum ).Name; DataFracOfAutosizedCoolingCapacity = 1.0; - DataZoneNumber = HydrRadSys(RadSysNum).ZonePtr; + DataZoneNumber = HydrRadSys( RadSysNum ).ZonePtr; SizingMethod = CoolingCapacitySizing; FieldNum = 3; PrintFlag = false; - SizingString = HydronicRadiantSysNumericFields(RadSysNum).FieldNames(FieldNum) + " [W]"; - CapSizingMethod = HydrRadSys(RadSysNum).CoolingCapMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; - if (CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity) { - if (CapSizingMethod == CoolingDesignCapacity){ - if (HydrRadSys(RadSysNum).ScaledCoolingCapacity == AutoSize) { - CheckZoneSizing(CompType, CompName); + SizingString = HydronicRadiantSysNumericFields( RadSysNum ).FieldNames( FieldNum ) + " [W]"; + CapSizingMethod = HydrRadSys( RadSysNum ).CoolingCapMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; + if ( CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity ) { + if ( CapSizingMethod == CoolingDesignCapacity ) { + if ( HydrRadSys( RadSysNum ).ScaledCoolingCapacity == AutoSize ) { + CheckZoneSizing( CompType, CompName ); ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesCoolLoad * CalcFinalZoneSizing(CurZoneEqNum).CoolSizingFactor; } TempSize = HydrRadSys( RadSysNum ).ScaledCoolingCapacity; - } else if (CapSizingMethod == CapacityPerFloorArea){ + } else if ( CapSizingMethod == CapacityPerFloorArea ) { ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = HydrRadSys( RadSysNum ).ScaledCoolingCapacity * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad; DataScalableCapSizingON = true; - } else if (CapSizingMethod == FractionOfAutosizedCoolingCapacity){ - CheckZoneSizing(CompType, CompName); - ZoneEqSizing(CurZoneEqNum).CoolingCapacity = true; + } else if ( CapSizingMethod == FractionOfAutosizedCoolingCapacity ) { + CheckZoneSizing( CompType, CompName ); + ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; DataFracOfAutosizedCoolingCapacity = HydrRadSys( RadSysNum ).ScaledCoolingCapacity; ZoneEqSizing(CurZoneEqNum).DesCoolingLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesCoolLoad * CalcFinalZoneSizing( CurZoneEqNum ).CoolSizingFactor; TempSize = AutoSize; @@ -2167,7 +2165,7 @@ namespace LowTempRadiantSystem { } else { TempSize = HydrRadSys(RadSysNum).ScaledCoolingCapacity; } - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); DesCoilLoad = TempSize; } else { DesCoilLoad = 0.0; // CalcFinalZoneSizing(CurZoneEqNum).DesCoolLoad * CalcFinalZoneSizing(CurZoneEqNum).CoolSizingFactor; diff --git a/src/EnergyPlus/LowTempRadiantSystem.hh b/src/EnergyPlus/LowTempRadiantSystem.hh index c767f93cf3a..0143d353f34 100644 --- a/src/EnergyPlus/LowTempRadiantSystem.hh +++ b/src/EnergyPlus/LowTempRadiantSystem.hh @@ -139,12 +139,10 @@ namespace LowTempRadiantSystem { Real64 CoolEnergy; // cooling sent to panel in Joules int OutRangeHiErrorCount; // recurring errors for crazy results too high fluid temperature int OutRangeLoErrorCount; // recurring errors for crazy results too low fluid temperature - int HeatingCapMethod; // - Method for Low Temp Radiant system heating capacity scaledsizing calculation - //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) - Real64 ScaledHeatingCapacity; // - Low Temp Radiant system scaled maximum heating capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} - int CoolingCapMethod; // - Method for Low Temp Radiant system cooling capacity scaledsizing calculation - //- (CoolingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedCoolingCapacity) - Real64 ScaledCoolingCapacity; // - Low Temp Radiant system scaled maximum cooling capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} + int HeatingCapMethod; // - Method for Low Temp Radiant system heating capacity scaledsizing calculation (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 ScaledHeatingCapacity; // - Low Temp Radiant system scaled maximum heating capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} + int CoolingCapMethod; // - Method for Low Temp Radiant system cooling capacity scaledsizing calculation (CoolingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedCoolingCapacity) + Real64 ScaledCoolingCapacity; // - Low Temp Radiant system scaled maximum cooling capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} // Default Constructor HydronicRadiantSystemData() : @@ -262,13 +260,10 @@ namespace LowTempRadiantSystem { Real64 const CoolEnergy, // cooling sent to panel in Joules int const OutRangeHiErrorCount, // recurring errors for crazy results too high fluid temperature int const OutRangeLoErrorCount, // recurring errors for crazy results too low fluid temperature - int const HeatingCapMethod, // - Method for Low Temp Radiant system heating capacity scaledsizing calculation - //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) - Real64 const ScaledHeatingCapacity, // - Low Temp Radiant system scaled maximum heating capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} - int const CoolingCapMethod, // - Method for Low Temp Radiant system cooling capacity scaledsizing calculation - //- (CoolingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedCoolingCapacity) - Real64 const ScaledCoolingCapacity // - Low Temp Radiant system scaled maximum cooling capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} - + int const HeatingCapMethod, // - Method for Low Temp Radiant system heating capacity scaledsizing calculation (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 const ScaledHeatingCapacity, // - Low Temp Radiant system scaled maximum heating capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} + int const CoolingCapMethod, // - Method for Low Temp Radiant system cooling capacity scaledsizing calculation (CoolingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedCoolingCapacity) + Real64 const ScaledCoolingCapacity // - Low Temp Radiant system scaled maximum cooling capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} ) : Name( Name ), SchedName( SchedName ), @@ -333,7 +328,6 @@ namespace LowTempRadiantSystem { CoolingCapMethod( CoolingCapMethod ), ScaledCoolingCapacity( ScaledCoolingCapacity ) {} - }; struct ConstantFlowRadiantSystemData diff --git a/src/EnergyPlus/PackagedTerminalHeatPump.cc b/src/EnergyPlus/PackagedTerminalHeatPump.cc index c0771b08121..5a30481e55d 100644 --- a/src/EnergyPlus/PackagedTerminalHeatPump.cc +++ b/src/EnergyPlus/PackagedTerminalHeatPump.cc @@ -3520,6 +3520,7 @@ namespace PackagedTerminalHeatPump { using DataHVACGlobals::CoolingCapacitySizing; using DataHVACGlobals::HeatingCapacitySizing; using DataHeatBalance::Zone; + // Locals bool IsAutoSize; // Indicator to autosize Real64 MaxCoolAirVolFlowDes; // Autosized cooling air flow for reporting @@ -3554,15 +3555,15 @@ namespace PackagedTerminalHeatPump { bool SizingDesRunThisZone; // true if a particular zone had a Sizing:Zone object and zone sizing was done - std::string CompName; // component name - std::string CompType; // component type + std::string CompName; // component name + std::string CompType; // component type std::string SizingString; // input field sizing description (e.g., Nominal Capacity) - Real64 TempSize; // autosized value of coil input field - int FieldNum = 2; // IDD numeric field number where input field description is found - int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) - bool PrintFlag; // TRUE when sizing information is reported in the eio file - int zoneHVACIndex; // index of zoneHVAC equipment sizing specification - int SAFMethod( 0 ); // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow ...) + Real64 TempSize; // autosized value of coil input field + int FieldNum = 2; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) + bool PrintFlag; // TRUE when sizing information is reported in the eio file + int zoneHVACIndex; // index of zoneHVAC equipment sizing specification + int SAFMethod( 0 ); // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow ...) int CapSizingMethod( 0 ); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) ErrorsFound = false; @@ -3586,8 +3587,6 @@ namespace PackagedTerminalHeatPump { DataFracOfAutosizedHeatingAirflow = 1.0; DataFracOfAutosizedCoolingCapacity = 1.0; DataFracOfAutosizedHeatingCapacity = 1.0; - //DataFlowPerCoolingCapacity; - //DataFlowPerHeatingCapacity; DataScalableSizingON = false; DataScalableCapSizingON = false; @@ -3596,202 +3595,194 @@ namespace PackagedTerminalHeatPump { DataZoneNumber = PTUnit( PTUnitNum ).ZonePtr; if ( CurZoneEqNum > 0 ) { - if (PTUnit(PTUnitNum).HVACSizingIndex > 0) { - zoneHVACIndex = PTUnit(PTUnitNum).HVACSizingIndex; - // N1, \field Supply Air Flow Rate During Cooling Operation + if ( PTUnit( PTUnitNum ).HVACSizingIndex > 0 ) { + zoneHVACIndex = PTUnit( PTUnitNum ).HVACSizingIndex; SizingMethod = CoolingAirflowSizing; - FieldNum = 1; - SizingString = PTUnitUNumericFields(PTUnitNum).FieldNames(FieldNum) + " [m3/s]"; + FieldNum = 1; // N1, \field Supply Air Flow Rate During Cooling Operation + SizingString = PTUnitUNumericFields( PTUnitNum ).FieldNames( FieldNum ) + " [m3/s]"; PrintFlag = true; - SAFMethod = ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; - if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow) { - if (SAFMethod == SupplyAirFlowRate){ + SAFMethod = ZoneHVACSizing( zoneHVACIndex ).CoolingSAFMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; + if ( SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow ) { + if ( SAFMethod == SupplyAirFlowRate ) { if ( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; } TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; - } else if (SAFMethod == FlowPerFloorArea){ + } else if ( SAFMethod == FlowPerFloorArea ) { ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; - } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ - DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + } else if ( SAFMethod == FractionOfAutosizedCoolingAirflow ) { + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; } else { TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; } - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); PTUnit( PTUnitNum ).MaxCoolAirVolFlow = TempSize; - } else if (SAFMethod == FlowPerCoolingCapacity) { + } else if ( SAFMethod == FlowPerCoolingCapacity ) { SizingMethod = CoolingCapacitySizing; TempSize = AutoSize; PrintFlag = false; DataScalableSizingON = true; - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; - if (ZoneHVACSizing(zoneHVACIndex).CoolingCapMethod == FractionOfAutosizedCoolingCapacity) { - DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; + if ( ZoneHVACSizing( zoneHVACIndex ).CoolingCapMethod == FractionOfAutosizedCoolingCapacity ) { + DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; } - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); DataAutosizedCoolingCapacity = TempSize; - DataFlowPerCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + DataFlowPerCoolingCapacity = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; SizingMethod = CoolingAirflowSizing; PrintFlag = true; TempSize = AutoSize; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); PTUnit( PTUnitNum ).MaxCoolAirVolFlow = TempSize; } - //N2, \field Supply Air Flow Rate During Heating Operation SizingMethod = HeatingAirflowSizing; - FieldNum = 2; + FieldNum = 2; //N2, \field Supply Air Flow Rate During Heating Operation PrintFlag = true; - SizingString = PTUnitUNumericFields(PTUnitNum).FieldNames(FieldNum) + " [m3/s]"; - SAFMethod = ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; - if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow) { - if (SAFMethod == SupplyAirFlowRate){ - if (ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0) { + SizingString = PTUnitUNumericFields( PTUnitNum ).FieldNames( FieldNum ) + " [m3/s]"; + SAFMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingSAFMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; + if ( SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow ) { + if ( SAFMethod == SupplyAirFlowRate ) { + if ( ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; } TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; - } else if (SAFMethod == FlowPerFloorArea){ + } else if ( SAFMethod == FlowPerFloorArea ) { ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; - } else if (SAFMethod == FractionOfAutosizedHeatingAirflow){ - DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + } else if ( SAFMethod == FractionOfAutosizedHeatingAirflow ) { + DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; } else { - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; } - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); PTUnit( PTUnitNum ).MaxHeatAirVolFlow = TempSize; - } else if (SAFMethod == FlowPerHeatingCapacity) { + } else if ( SAFMethod == FlowPerHeatingCapacity ) { SizingMethod = HeatingCapacitySizing; TempSize = AutoSize; PrintFlag = false; DataScalableSizingON = true; - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - if (ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod == FractionOfAutosizedHeatingCapacity) { - DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); + if ( ZoneHVACSizing( zoneHVACIndex ).HeatingCapMethod == FractionOfAutosizedHeatingCapacity ) { + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; } DataAutosizedHeatingCapacity = TempSize; - DataFlowPerHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + DataFlowPerHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; SizingMethod = HeatingAirflowSizing; PrintFlag = true; TempSize = AutoSize; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); PTUnit( PTUnitNum ).MaxHeatAirVolFlow = TempSize; } - //N3, \field Supply Air Flow Rate When No Cooling or Heating is Needed + SizingMethod = SystemAirflowSizing; - FieldNum = 3; + FieldNum = 3; //N3, \field Supply Air Flow Rate When No Cooling or Heating is Needed PrintFlag = true; - SizingString = PTUnitUNumericFields(PTUnitNum).FieldNames(FieldNum) + " [m3/s]"; - SAFMethod = ZoneHVACSizing(zoneHVACIndex).NoCoolHeatSAFMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; - if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow || SAFMethod == FractionOfAutosizedHeatingAirflow) { - if (SAFMethod == SupplyAirFlowRate){ - if (ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow > 0.0) { + SizingString = PTUnitUNumericFields( PTUnitNum ).FieldNames( FieldNum ) + " [m3/s]"; + SAFMethod = ZoneHVACSizing( zoneHVACIndex ).NoCoolHeatSAFMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; + if ( SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow || SAFMethod == FractionOfAutosizedHeatingAirflow ) { + if ( SAFMethod == SupplyAirFlowRate ) { + if ( ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow; ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; } TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow; - } else if (SAFMethod == FlowPerFloorArea){ + } else if ( SAFMethod == FlowPerFloorArea ) { ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; - } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ - DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + } else if ( SAFMethod == FractionOfAutosizedCoolingAirflow ) { + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; - } else if (SAFMethod == FractionOfAutosizedHeatingAirflow){ - DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + } else if ( SAFMethod == FractionOfAutosizedHeatingAirflow ) { + DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; } else { - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxNoCoolHeatAirVolFlow; + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxNoCoolHeatAirVolFlow; } - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); PTUnit( PTUnitNum ).MaxNoCoolHeatAirVolFlow = TempSize; } // initialize capacity sizing variables: cooling SizingMethod = CoolingCapacitySizing; - CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).CoolingCapMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; - if (CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity) { - if (CapSizingMethod == CoolingDesignCapacity){ - if (ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity > 0.0) { - ZoneEqSizing(CurZoneEqNum).CoolingCapacity = true; - ZoneEqSizing(CurZoneEqNum).DesCoolingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + CapSizingMethod = ZoneHVACSizing( zoneHVACIndex ).CoolingCapMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; + if ( CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity ) { + if ( CapSizingMethod == CoolingDesignCapacity ) { + if ( ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity > 0.0 ) { + ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; } - } else if (CapSizingMethod == CapacityPerFloorArea){ + } else if ( CapSizingMethod == CapacityPerFloorArea ) { ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; - } else if (CapSizingMethod == FractionOfAutosizedCoolingCapacity){ - DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + } else if ( CapSizingMethod == FractionOfAutosizedCoolingCapacity ) { + DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; DataScalableCapSizingON = true; } } // initialize capacity sizing variables: heating SizingMethod = HeatingCapacitySizing; - CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; - if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { - if (CapSizingMethod == HeatingDesignCapacity){ - if (ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity > 0.0) { - ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; - ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + CapSizingMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingCapMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; + if ( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { + if ( CapSizingMethod == HeatingDesignCapacity ) { + if ( ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity > 0.0 ) { + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; } - } else if (CapSizingMethod == CapacityPerFloorArea){ + } else if ( CapSizingMethod == CapacityPerFloorArea ) { ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; - //DataScalableCapSizingON = true; - } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ - DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; - //DataScalableCapSizingON = true; + } else if ( CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; } } - } else { // no scalble sizing method has been specified. Sizing proceeds using the method // specified in the zoneHVAC object - // N1, \field Supply Air Flow Rate During Cooling Operation PrintFlag = true; SizingMethod = CoolingAirflowSizing; - FieldNum = 1; - SizingString = PTUnitUNumericFields(PTUnitNum).FieldNames(FieldNum) + " [m3/s]"; - TempSize = PTUnit(PTUnitNum).MaxCoolAirVolFlow; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + FieldNum = 1; // N1, \field Supply Air Flow Rate During Cooling Operation + SizingString = PTUnitUNumericFields( PTUnitNum ).FieldNames( FieldNum ) + " [m3/s]"; + TempSize = PTUnit( PTUnitNum ).MaxCoolAirVolFlow; + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); PTUnit( PTUnitNum ).MaxCoolAirVolFlow = TempSize; - //N2, \field Supply Air Flow Rate During Heating Operation SizingMethod = HeatingAirflowSizing; - FieldNum = 2; - SizingString = PTUnitUNumericFields(PTUnitNum).FieldNames(FieldNum) + " [m3/s]"; - TempSize = PTUnit(PTUnitNum).MaxHeatAirVolFlow; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + FieldNum = 2; //N2, \field Supply Air Flow Rate During Heating Operation + SizingString = PTUnitUNumericFields( PTUnitNum ).FieldNames( FieldNum ) + " [m3/s]"; + TempSize = PTUnit( PTUnitNum ).MaxHeatAirVolFlow; + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); PTUnit( PTUnitNum ).MaxHeatAirVolFlow = TempSize; - //N3, \field Supply Air Flow Rate When No Cooling or Heating is Needed SizingMethod = SystemAirflowSizing; - FieldNum = 3; - SizingString = PTUnitUNumericFields(PTUnitNum).FieldNames(FieldNum) + " [m3/s]"; + FieldNum = 3; //N3, \field Supply Air Flow Rate When No Cooling or Heating is Needed + SizingString = PTUnitUNumericFields( PTUnitNum ).FieldNames( FieldNum ) + " [m3/s]"; TempSize = PTUnit( PTUnitNum ).MaxNoCoolHeatAirVolFlow; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); PTUnit( PTUnitNum ).MaxNoCoolHeatAirVolFlow = TempSize; } } diff --git a/src/EnergyPlus/PurchasedAirManager.cc b/src/EnergyPlus/PurchasedAirManager.cc index aeedb2dffe7..753ef82493e 100644 --- a/src/EnergyPlus/PurchasedAirManager.cc +++ b/src/EnergyPlus/PurchasedAirManager.cc @@ -285,8 +285,8 @@ namespace PurchasedAirManager { int NumAlphas; int NumNums; int IOStat; - int CtrlZone; // zone index - int NodeNum; // node index + int CtrlZone; // zone index + int NodeNum; // node index static std::string const RoutineName( "GetPurchasedAir: " ); // include trailing blank space static bool ErrorsFound( false ); // If errors detected in input bool IsNotOK; // Flag to verify name @@ -1017,21 +1017,19 @@ namespace PurchasedAirManager { Real64 MaxHeatSensCapUser; // Hardsized maximum sensible heating capacity for reporting Real64 MaxCoolTotCapDes; // Autosized maximum sensible cooling capacity for reporting Real64 MaxCoolTotCapUser; // Hardsized maximum sensible cooling capacity for reporting - std::string CompName; // component name - std::string CompType; // component type + std::string CompType; // component type std::string SizingString; // input field sizing description (e.g., Nominal Capacity) bool bPRINT = true; // TRUE if sizing is reported to output (eio) Real64 TempSize; // autosized value of coil input field int FieldNum = 2; // IDD numeric field number where input field description is found - int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) + int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) bool PrintFlag; // TRUE when sizing information is reported in the eio file - int zoneHVACIndex; // index of zoneHVAC equipment sizing specification - int SAFMethod( 0 ); // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow ...) - int CapSizingMethod(0); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) - - Real64 CoolingAirVolFlowDes; // cooling supply air flow rate - Real64 HeatingAirVolFlowDes; // heating supply air flow rate + int zoneHVACIndex; // index of zoneHVAC equipment sizing specification + int SAFMethod( 0 ); // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow ...) + int CapSizingMethod(0); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) + Real64 CoolingAirVolFlowDes; // cooling supply air flow rate + Real64 HeatingAirVolFlowDes; // heating supply air flow rate IsAutoSize = false; MaxHeatVolFlowRateDes = 0.0; @@ -1048,88 +1046,86 @@ namespace PurchasedAirManager { CompType = PurchAir(PurchAirNum).cObjectName; CompName = PurchAir(PurchAirNum).Name; - if (CurZoneEqNum > 0) { - if (PurchAir( PurchAirNum ).HVACSizingIndex > 0) { - DataZoneNumber = PurchAir(PurchAirNum).ZonePtr; - zoneHVACIndex = PurchAir(PurchAirNum).HVACSizingIndex; + if( CurZoneEqNum > 0 ) { + if( PurchAir( PurchAirNum ).HVACSizingIndex > 0 ) { + DataZoneNumber = PurchAir( PurchAirNum ).ZonePtr; + zoneHVACIndex = PurchAir( PurchAirNum ).HVACSizingIndex; - // N5 , \field Maximum Heating Air Flow Rate - FieldNum = 5; + FieldNum = 5; // N5 , \field Maximum Heating Air Flow Rate PrintFlag = true; - SizingString = PurchAirNumericFields(PurchAirNum).FieldNames(FieldNum) + " [m3/s]"; - if (ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod > 0) { + SizingString = PurchAirNumericFields( PurchAirNum ).FieldNames( FieldNum ) + " [m3/s]"; + if( ZoneHVACSizing( zoneHVACIndex ).HeatingSAFMethod > 0 ) { SizingMethod = HeatingAirflowSizing; ZoneHeatingOnlyFan = true; - SAFMethod = ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; - if (SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow) { - if (SAFMethod == SupplyAirFlowRate){ - if ((ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow == AutoSize) && ((PurchAir(PurchAirNum).HeatingLimit == LimitFlowRate) || (PurchAir(PurchAirNum).HeatingLimit == LimitFlowRateAndCapacity))) { - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + SAFMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingSAFMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; + if( SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow ) { + if( SAFMethod == SupplyAirFlowRate ){ + if( ( ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow == AutoSize ) && ( ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRate ) || ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRateAndCapacity ) ) ) { + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); HeatingAirVolFlowDes = TempSize; } else { - if (ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow > 0.0) { - RequestSizing(CompType, CompName, SizingMethod, SizingString, ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow, PrintFlag, RoutineName); - HeatingAirVolFlowDes = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + if( ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0 ) { + RequestSizing( CompType, CompName, SizingMethod, SizingString, ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow, PrintFlag, RoutineName ); + HeatingAirVolFlowDes = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; } } - } else if (SAFMethod == FlowPerFloorArea){ + } else if( SAFMethod == FlowPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); HeatingAirVolFlowDes = TempSize; - } else if (SAFMethod == FractionOfAutosizedHeatingAirflow){ - DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; - if ((ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow == AutoSize) && ((PurchAir(PurchAirNum).HeatingLimit == LimitFlowRate) || (PurchAir(PurchAirNum).HeatingLimit == LimitFlowRateAndCapacity))) { + } else if( SAFMethod == FractionOfAutosizedHeatingAirflow ){ + DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; + if( ( ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow == AutoSize ) && ( ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRate ) || ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRateAndCapacity ) ) ) { TempSize = AutoSize; DataScalableSizingON = true; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); HeatingAirVolFlowDes = TempSize; } } else { - // Invalid sizing method - } - } else if (SAFMethod == FlowPerHeatingCapacity) { + // Invalid sizing method + } + } else if( SAFMethod == FlowPerHeatingCapacity ) { SizingMethod = HeatingCapacitySizing; TempSize = AutoSize; PrintFlag = false; - if ((ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow == AutoSize) && ((PurchAir(PurchAirNum).HeatingLimit == LimitFlowRate) || (PurchAir(PurchAirNum).HeatingLimit == LimitFlowRateAndCapacity))) { - TempSize = AutoSize; + if( ( ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow == AutoSize ) && ( ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRate ) || ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRateAndCapacity ) ) ) { + TempSize = AutoSize; DataScalableSizingON = true; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); DataAutosizedHeatingCapacity = TempSize; - DataFlowPerHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + DataFlowPerHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; SizingMethod = HeatingAirflowSizing; PrintFlag = true; TempSize = AutoSize; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); HeatingAirVolFlowDes = TempSize; } } - MaxHeatVolFlowRateDes = max(0.0, HeatingAirVolFlowDes); - PurchAir(PurchAirNum).MaxHeatVolFlowRate = MaxHeatVolFlowRateDes; + MaxHeatVolFlowRateDes = max( 0.0, HeatingAirVolFlowDes ); + PurchAir( PurchAirNum ).MaxHeatVolFlowRate = MaxHeatVolFlowRateDes; ZoneHeatingOnlyFan = false; - - CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod; - ZoneEqSizing(CurZoneEqNum).CapSizingMethod = CapSizingMethod; - if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { - if (CapSizingMethod == HeatingDesignCapacity){ - if (ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity > 0.0) { - ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; - ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + + CapSizingMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingCapMethod; + ZoneEqSizing( CurZoneEqNum ).CapSizingMethod = CapSizingMethod; + if( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { + if( CapSizingMethod == HeatingDesignCapacity ){ + if( ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity > 0.0 ) { + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; } - TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; - } else if (CapSizingMethod == CapacityPerFloorArea){ + TempSize = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; + } else if( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableSizingON = true; - } - else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ - DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + } else if( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; TempSize = AutoSize; } } @@ -1137,118 +1133,116 @@ namespace PurchasedAirManager { SizingString = ""; ZoneHeatingOnlyFan = true; PrintFlag = false; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); MaxHeatSensCapDes = TempSize; ZoneHeatingOnlyFan = false; - if (MaxHeatSensCapDes < SmallLoad) { + if( MaxHeatSensCapDes < SmallLoad ) { MaxHeatSensCapDes = 0.0; } - if (IsAutoSize) { - PurchAir(PurchAirNum).MaxHeatSensCap = MaxHeatSensCapDes; - ReportSizingOutput(PurchAir(PurchAirNum).cObjectName, PurchAir(PurchAirNum).Name, "Design Size Maximum Sensible Heating Capacity [W]", MaxHeatSensCapDes); + if( IsAutoSize ) { + PurchAir( PurchAirNum ).MaxHeatSensCap = MaxHeatSensCapDes; + ReportSizingOutput( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name, "Design Size Maximum Sensible Heating Capacity [W]", MaxHeatSensCapDes ); // If there is OA, check if sizing calcs have OA>0, throw warning if not - if ((PurchAir(PurchAirNum).OutdoorAir) && (FinalZoneSizing(CurZoneEqNum).MinOA == 0.0)) { - ShowWarningError("InitPurchasedAir: In " + PurchAir(PurchAirNum).cObjectName + " = " + PurchAir(PurchAirNum).Name); - ShowContinueError("There is outdoor air specified in this object, " "but the design outdoor air flow rate for this "); - ShowContinueError("zone is zero. The Maximum Sensible Heating Capacity will be " "autosized for zero outdoor air flow. "); - ShowContinueError("Check the outdoor air specifications in the Sizing:Zone object for zone " + FinalZoneSizing(CurZoneEqNum).ZoneName + '.'); + if( ( PurchAir( PurchAirNum ).OutdoorAir ) && ( FinalZoneSizing( CurZoneEqNum ).MinOA == 0.0 ) ) { + ShowWarningError( "InitPurchasedAir: In " + PurchAir( PurchAirNum ).cObjectName + " = " + PurchAir( PurchAirNum ).Name ); + ShowContinueError( "There is outdoor air specified in this object, " "but the design outdoor air flow rate for this " ); + ShowContinueError( "zone is zero. The Maximum Sensible Heating Capacity will be " "autosized for zero outdoor air flow. " ); + ShowContinueError( "Check the outdoor air specifications in the Sizing:Zone object for zone " + FinalZoneSizing( CurZoneEqNum ).ZoneName + '.' ); } - } - else { - if (PurchAir(PurchAirNum).MaxHeatSensCap > 0.0 && MaxHeatSensCapDes > 0.0) { - MaxHeatSensCapUser = PurchAir(PurchAirNum).MaxHeatSensCap; - ReportSizingOutput(PurchAir(PurchAirNum).cObjectName, PurchAir(PurchAirNum).Name, "Design Size Maximum Sensible Heating Capacity [W]", MaxHeatSensCapDes, "User-Specified Maximum Sensible Heating Capacity [W]", MaxHeatSensCapUser); - if (DisplayExtraWarnings) { - if ((std::abs(MaxHeatSensCapDes - MaxHeatSensCapUser) / MaxHeatSensCapUser) > AutoVsHardSizingThreshold) { - ShowMessage("SizePurchasedAir: Potential issue with equipment sizing for " + PurchAir(PurchAirNum).cObjectName + ' ' + PurchAir(PurchAirNum).Name); - ShowContinueError("...User-Specified Maximum Sensible Heating Capacity of " + RoundSigDigits(MaxHeatSensCapUser, 2) + " [W]"); - ShowContinueError("...differs from Design Size Maximum Sensible Heating Capacity of " + RoundSigDigits(MaxHeatSensCapDes, 2) + " [W]"); - ShowContinueError("This may, or may not, indicate mismatched component sizes."); - ShowContinueError("Verify that the value entered is intended and is consistent with other components."); + } else { + if( PurchAir( PurchAirNum ).MaxHeatSensCap > 0.0 && MaxHeatSensCapDes > 0.0 ) { + MaxHeatSensCapUser = PurchAir( PurchAirNum ).MaxHeatSensCap; + ReportSizingOutput( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name, "Design Size Maximum Sensible Heating Capacity [W]", MaxHeatSensCapDes, "User-Specified Maximum Sensible Heating Capacity [W]", MaxHeatSensCapUser ); + if( DisplayExtraWarnings ) { + if( ( std::abs( MaxHeatSensCapDes - MaxHeatSensCapUser ) / MaxHeatSensCapUser ) > AutoVsHardSizingThreshold ) { + ShowMessage( "SizePurchasedAir: Potential issue with equipment sizing for " + PurchAir( PurchAirNum ).cObjectName + ' ' + PurchAir( PurchAirNum ).Name ); + ShowContinueError( "...User-Specified Maximum Sensible Heating Capacity of " + RoundSigDigits( MaxHeatSensCapUser, 2 ) + " [W]" ); + ShowContinueError( "...differs from Design Size Maximum Sensible Heating Capacity of " + RoundSigDigits( MaxHeatSensCapDes, 2 ) + " [W]" ); + ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); + ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); } } } } } - //N7 , \field Maximum Cooling Air Flow Rate - FieldNum = 7; + FieldNum = 7; //N7 , \field Maximum Cooling Air Flow Rate PrintFlag = true; - SizingString = PurchAirNumericFields(PurchAirNum).FieldNames(FieldNum) + " [m3/s]"; - if (ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod > 0) { + SizingString = PurchAirNumericFields( PurchAirNum ).FieldNames( FieldNum ) + " [m3/s]"; + if( ZoneHVACSizing( zoneHVACIndex ).CoolingSAFMethod > 0 ) { SizingMethod = CoolingAirflowSizing; ZoneCoolingOnlyFan = true; - SAFMethod = ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; - if (SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow) { - if (SAFMethod == SupplyAirFlowRate){ - if ((ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow == AutoSize) && ((PurchAir(PurchAirNum).CoolingLimit == LimitFlowRate) || (PurchAir(PurchAirNum).CoolingLimit == LimitFlowRateAndCapacity) || (PurchAir(PurchAirNum).OutdoorAir && PurchAir(PurchAirNum).EconomizerType != NoEconomizer))) { - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + SAFMethod = ZoneHVACSizing( zoneHVACIndex ).CoolingSAFMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; + if( SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow ) { + if( SAFMethod == SupplyAirFlowRate ){ + if( ( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow == AutoSize ) && ( ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRate ) || ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRateAndCapacity ) || ( PurchAir( PurchAirNum ).OutdoorAir && PurchAir( PurchAirNum ).EconomizerType != NoEconomizer ) ) ) { + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); CoolingAirVolFlowDes = TempSize; } else { - if (ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow > 0.0) { - RequestSizing(CompType, CompName, SizingMethod, SizingString, ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow, PrintFlag, RoutineName); - CoolingAirVolFlowDes = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + if( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0 ) { + RequestSizing( CompType, CompName, SizingMethod, SizingString, ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow, PrintFlag, RoutineName ); + CoolingAirVolFlowDes = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; } - } - } else if (SAFMethod == FlowPerFloorArea){ + } + } else if( SAFMethod == FlowPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); CoolingAirVolFlowDes = TempSize; - } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ - if ((ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow == AutoSize) && ((PurchAir(PurchAirNum).CoolingLimit == LimitFlowRate) || (PurchAir(PurchAirNum).CoolingLimit == LimitFlowRateAndCapacity) || (PurchAir(PurchAirNum).OutdoorAir && PurchAir(PurchAirNum).EconomizerType != NoEconomizer))) { - DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + } else if( SAFMethod == FractionOfAutosizedCoolingAirflow ){ + if( ( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow == AutoSize ) && ( ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRate ) || ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRateAndCapacity ) || ( PurchAir( PurchAirNum ).OutdoorAir && PurchAir( PurchAirNum ).EconomizerType != NoEconomizer ) ) ) { + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); CoolingAirVolFlowDes = TempSize; } } else { - // Invlid scalable sizing method + // Invlid scalable sizing method + } + } else if( SAFMethod == FlowPerCoolingCapacity ) { + if( ( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow == AutoSize ) && ( ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRate ) || ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRateAndCapacity ) || ( PurchAir( PurchAirNum ).OutdoorAir && PurchAir( PurchAirNum ).EconomizerType != NoEconomizer ) ) ) { + SizingMethod = CoolingCapacitySizing; + TempSize = AutoSize; + PrintFlag = false; + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); + DataAutosizedCoolingCapacity = TempSize; + DataFlowPerCoolingCapacity = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; + SizingMethod = CoolingAirflowSizing; + PrintFlag = true; + TempSize = AutoSize; + DataScalableSizingON = true; + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); + CoolingAirVolFlowDes = TempSize; } - } else if (SAFMethod == FlowPerCoolingCapacity) { - if ((ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow == AutoSize) && ((PurchAir(PurchAirNum).CoolingLimit == LimitFlowRate) || (PurchAir(PurchAirNum).CoolingLimit == LimitFlowRateAndCapacity) || (PurchAir(PurchAirNum).OutdoorAir && PurchAir(PurchAirNum).EconomizerType != NoEconomizer))) { - SizingMethod = CoolingCapacitySizing; - TempSize = AutoSize; - PrintFlag = false; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - DataAutosizedCoolingCapacity = TempSize; - DataFlowPerCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; - SizingMethod = CoolingAirflowSizing; - PrintFlag = true; - TempSize = AutoSize; - DataScalableSizingON = true; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - CoolingAirVolFlowDes = TempSize; - } } - MaxCoolVolFlowRateDes = max(0.0, CoolingAirVolFlowDes); + MaxCoolVolFlowRateDes = max( 0.0, CoolingAirVolFlowDes ); PurchAir( PurchAirNum ).MaxCoolVolFlowRate = MaxCoolVolFlowRateDes; ZoneCoolingOnlyFan = false; DataScalableSizingON = false; - - CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).CoolingCapMethod; - ZoneEqSizing(CurZoneEqNum).CapSizingMethod = CapSizingMethod; - if (CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity) { - if (CapSizingMethod == CoolingDesignCapacity){ - if (ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity > 0.0) { - ZoneEqSizing(CurZoneEqNum).CoolingCapacity = true; - ZoneEqSizing(CurZoneEqNum).DesCoolingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + + CapSizingMethod = ZoneHVACSizing( zoneHVACIndex ).CoolingCapMethod; + ZoneEqSizing( CurZoneEqNum ).CapSizingMethod = CapSizingMethod; + if( CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity ) { + if( CapSizingMethod == CoolingDesignCapacity ){ + if( ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity > 0.0 ) { + ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; } else { - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolMassFlow; + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow; } - TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; - } else if (CapSizingMethod == CapacityPerFloorArea){ + TempSize = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; + } else if( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableSizingON = true; - } else if (CapSizingMethod == FractionOfAutosizedCoolingCapacity){ - DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolMassFlow; + } else if( CapSizingMethod == FractionOfAutosizedCoolingCapacity ){ + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow; TempSize = AutoSize; } } @@ -1256,186 +1250,177 @@ namespace PurchasedAirManager { SizingString = ""; ZoneCoolingOnlyFan = true; PrintFlag = false; - TempSize = PurchAir(PurchAirNum).MaxCoolTotCap; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + TempSize = PurchAir( PurchAirNum ).MaxCoolTotCap; + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); MaxCoolTotCapDes = TempSize; ZoneCoolingOnlyFan = false; - if (MaxCoolTotCapDes < SmallLoad) { + if( MaxCoolTotCapDes < SmallLoad ) { MaxCoolTotCapDes = 0.0; } - if (IsAutoSize) { - PurchAir(PurchAirNum).MaxCoolTotCap = MaxCoolTotCapDes; - ReportSizingOutput(PurchAir(PurchAirNum).cObjectName, PurchAir(PurchAirNum).Name, "Design Size Maximum Total Cooling Capacity [W]", MaxCoolTotCapDes); + if( IsAutoSize ) { + PurchAir( PurchAirNum ).MaxCoolTotCap = MaxCoolTotCapDes; + ReportSizingOutput( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name, "Design Size Maximum Total Cooling Capacity [W]", MaxCoolTotCapDes ); // If there is OA, check if sizing calcs have OA>0, throw warning if not - if ((PurchAir(PurchAirNum).OutdoorAir) && (FinalZoneSizing(CurZoneEqNum).MinOA == 0.0)) { - ShowWarningError("SizePurchasedAir: In " + PurchAir(PurchAirNum).cObjectName + " = " + PurchAir(PurchAirNum).Name); - ShowContinueError("There is outdoor air specified in this object, " "but the design outdoor air flow rate for this "); - ShowContinueError("zone is zero. The Maximum Total Cooling Capacity will be autosized " "for zero outdoor air flow. "); - ShowContinueError("Check the outdoor air specifications in the Sizing:Zone object for zone " + FinalZoneSizing(CurZoneEqNum).ZoneName + '.'); + if( ( PurchAir( PurchAirNum ).OutdoorAir ) && ( FinalZoneSizing( CurZoneEqNum ).MinOA == 0.0 ) ) { + ShowWarningError( "SizePurchasedAir: In " + PurchAir( PurchAirNum ).cObjectName + " = " + PurchAir( PurchAirNum ).Name ); + ShowContinueError( "There is outdoor air specified in this object, " "but the design outdoor air flow rate for this " ); + ShowContinueError( "zone is zero. The Maximum Total Cooling Capacity will be autosized " "for zero outdoor air flow. " ); + ShowContinueError( "Check the outdoor air specifications in the Sizing:Zone object for zone " + FinalZoneSizing( CurZoneEqNum ).ZoneName + '.' ); } - } - else { - if (PurchAir(PurchAirNum).MaxCoolTotCap > 0.0 && MaxCoolTotCapDes > 0.0) { - MaxCoolTotCapUser = PurchAir(PurchAirNum).MaxCoolTotCap; - ReportSizingOutput(PurchAir(PurchAirNum).cObjectName, PurchAir(PurchAirNum).Name, "Design Size Maximum Total Cooling Capacity [W]", MaxCoolTotCapDes, "User-Specified Maximum Total Cooling Capacity [W]", MaxCoolTotCapUser); - if (DisplayExtraWarnings) { - if ((std::abs(MaxCoolTotCapDes - MaxCoolTotCapUser) / MaxCoolTotCapUser) > AutoVsHardSizingThreshold) { - ShowMessage("SizePurchasedAir: Potential issue with equipment sizing for " + PurchAir(PurchAirNum).cObjectName + ' ' + PurchAir(PurchAirNum).Name); - ShowContinueError("User-Specified Maximum Total Cooling Capacity of " + RoundSigDigits(MaxCoolTotCapUser, 2) + " [W]"); - ShowContinueError("differs from Design Size Maximum Total Cooling Capacity of " + RoundSigDigits(MaxCoolTotCapDes, 2) + " [W]"); - ShowContinueError("This may, or may not, indicate mismatched component sizes."); - ShowContinueError("Verify that the value entered is intended and is consistent with other components."); + } else { + if( PurchAir( PurchAirNum ).MaxCoolTotCap > 0.0 && MaxCoolTotCapDes > 0.0 ) { + MaxCoolTotCapUser = PurchAir( PurchAirNum ).MaxCoolTotCap; + ReportSizingOutput( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name, "Design Size Maximum Total Cooling Capacity [W]", MaxCoolTotCapDes, "User-Specified Maximum Total Cooling Capacity [W]", MaxCoolTotCapUser ); + if( DisplayExtraWarnings ) { + if( ( std::abs( MaxCoolTotCapDes - MaxCoolTotCapUser ) / MaxCoolTotCapUser ) > AutoVsHardSizingThreshold ) { + ShowMessage( "SizePurchasedAir: Potential issue with equipment sizing for " + PurchAir( PurchAirNum ).cObjectName + ' ' + PurchAir( PurchAirNum ).Name ); + ShowContinueError( "User-Specified Maximum Total Cooling Capacity of " + RoundSigDigits( MaxCoolTotCapUser, 2 ) + " [W]" ); + ShowContinueError( "differs from Design Size Maximum Total Cooling Capacity of " + RoundSigDigits( MaxCoolTotCapDes, 2 ) + " [W]" ); + ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); + ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); } } } } - + } - + } else { //SizingString = "Maximum Heating Air Flow Rate [m3/s]"; SizingMethod = HeatingAirflowSizing; FieldNum = 5; - SizingString = PurchAirNumericFields(PurchAirNum).FieldNames(FieldNum) + " [m3/s]"; + SizingString = PurchAirNumericFields( PurchAirNum ).FieldNames( FieldNum ) + " [m3/s]"; IsAutoSize = false; PrintFlag = true; - if ((PurchAir(PurchAirNum).MaxHeatVolFlowRate == AutoSize) && ((PurchAir(PurchAirNum).HeatingLimit == LimitFlowRate) || (PurchAir(PurchAirNum).HeatingLimit == LimitFlowRateAndCapacity))) { + if( ( PurchAir( PurchAirNum ).MaxHeatVolFlowRate == AutoSize ) && ( ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRate ) || ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRateAndCapacity ) ) ) { IsAutoSize = true; } - if ( ! IsAutoSize && ! ZoneSizingRunDone ) { // Simulation continue - if (PurchAir(PurchAirNum).MaxHeatVolFlowRate > 0.0) { - RequestSizing(CompType, CompName, SizingMethod, SizingString, PurchAir(PurchAirNum).MaxHeatVolFlowRate, PrintFlag, RoutineName); + if( !IsAutoSize && !ZoneSizingRunDone ) { // Simulation continue + if( PurchAir( PurchAirNum ).MaxHeatVolFlowRate > 0.0 ) { + RequestSizing( CompType, CompName, SizingMethod, SizingString, PurchAir( PurchAirNum ).MaxHeatVolFlowRate, PrintFlag, RoutineName ); } MaxHeatVolFlowRateDes = 0.0; } else { ZoneHeatingOnlyFan = true; - TempSize = PurchAir(PurchAirNum).MaxHeatVolFlowRate; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + TempSize = PurchAir( PurchAirNum ).MaxHeatVolFlowRate; + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); MaxHeatVolFlowRateDes = TempSize; - PurchAir(PurchAirNum).MaxHeatVolFlowRate = MaxHeatVolFlowRateDes; + PurchAir( PurchAirNum ).MaxHeatVolFlowRate = MaxHeatVolFlowRateDes; ZoneHeatingOnlyFan = false; } - + IsAutoSize = false; SizingMethod = HeatingCapacitySizing; - FieldNum = 6; - SizingString = PurchAirNumericFields(PurchAirNum).FieldNames(FieldNum) + " [m3/s]"; - // N6, \field Maximum Sensible Heating Capacity - if ((PurchAir(PurchAirNum).MaxHeatSensCap == AutoSize) && ((PurchAir(PurchAirNum).HeatingLimit == LimitCapacity) || (PurchAir(PurchAirNum).HeatingLimit == LimitFlowRateAndCapacity))) { + FieldNum = 6; // N6, \field Maximum Sensible Heating Capacity + SizingString = PurchAirNumericFields( PurchAirNum ).FieldNames( FieldNum ) + " [m3/s]"; + if( ( PurchAir( PurchAirNum ).MaxHeatSensCap == AutoSize ) && ( ( PurchAir( PurchAirNum ).HeatingLimit == LimitCapacity ) || ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRateAndCapacity ) ) ) { IsAutoSize = true; - } - if (!IsAutoSize && !ZoneSizingRunDone) { // Simulation continue - if (PurchAir(PurchAirNum).MaxHeatSensCap > 0.0) { - RequestSizing(CompType, CompName, SizingMethod, SizingString, PurchAir(PurchAirNum).MaxHeatSensCap, PrintFlag, RoutineName); - } } - else { - - TempSize = PurchAir(PurchAirNum).MaxHeatSensCap; + if( !IsAutoSize && !ZoneSizingRunDone ) { // Simulation continue + if( PurchAir( PurchAirNum ).MaxHeatSensCap > 0.0 ) { + RequestSizing( CompType, CompName, SizingMethod, SizingString, PurchAir( PurchAirNum ).MaxHeatSensCap, PrintFlag, RoutineName ); + } + } else { + TempSize = PurchAir( PurchAirNum ).MaxHeatSensCap; ZoneHeatingOnlyFan = true; PrintFlag = false; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); MaxHeatSensCapDes = TempSize; ZoneHeatingOnlyFan = false; } - if (MaxHeatSensCapDes < SmallLoad) { + if( MaxHeatSensCapDes < SmallLoad ) { MaxHeatSensCapDes = 0.0; } - if (IsAutoSize) { - PurchAir(PurchAirNum).MaxHeatSensCap = MaxHeatSensCapDes; - ReportSizingOutput(PurchAir(PurchAirNum).cObjectName, PurchAir(PurchAirNum).Name, "Design Size Maximum Sensible Heating Capacity [W]", MaxHeatSensCapDes); + if( IsAutoSize ) { + PurchAir( PurchAirNum ).MaxHeatSensCap = MaxHeatSensCapDes; + ReportSizingOutput( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name, "Design Size Maximum Sensible Heating Capacity [W]", MaxHeatSensCapDes ); // If there is OA, check if sizing calcs have OA>0, throw warning if not - if ((PurchAir(PurchAirNum).OutdoorAir) && (FinalZoneSizing(CurZoneEqNum).MinOA == 0.0)) { - ShowWarningError("InitPurchasedAir: In " + PurchAir(PurchAirNum).cObjectName + " = " + PurchAir(PurchAirNum).Name); - ShowContinueError("There is outdoor air specified in this object, " "but the design outdoor air flow rate for this "); - ShowContinueError("zone is zero. The Maximum Sensible Heating Capacity will be " "autosized for zero outdoor air flow. "); - ShowContinueError("Check the outdoor air specifications in the Sizing:Zone object for zone " + FinalZoneSizing(CurZoneEqNum).ZoneName + '.'); + if( ( PurchAir( PurchAirNum ).OutdoorAir ) && ( FinalZoneSizing( CurZoneEqNum ).MinOA == 0.0 ) ) { + ShowWarningError( "InitPurchasedAir: In " + PurchAir( PurchAirNum ).cObjectName + " = " + PurchAir( PurchAirNum ).Name ); + ShowContinueError( "There is outdoor air specified in this object, " "but the design outdoor air flow rate for this " ); + ShowContinueError( "zone is zero. The Maximum Sensible Heating Capacity will be " "autosized for zero outdoor air flow. " ); + ShowContinueError( "Check the outdoor air specifications in the Sizing:Zone object for zone " + FinalZoneSizing( CurZoneEqNum ).ZoneName + '.' ); } - } - else { - if (PurchAir(PurchAirNum).MaxHeatSensCap > 0.0 && MaxHeatSensCapDes > 0.0) { - MaxHeatSensCapUser = PurchAir(PurchAirNum).MaxHeatSensCap; - ReportSizingOutput(PurchAir(PurchAirNum).cObjectName, PurchAir(PurchAirNum).Name, "Design Size Maximum Sensible Heating Capacity [W]", MaxHeatSensCapDes, "User-Specified Maximum Sensible Heating Capacity [W]", MaxHeatSensCapUser); - if (DisplayExtraWarnings) { - if ((std::abs(MaxHeatSensCapDes - MaxHeatSensCapUser) / MaxHeatSensCapUser) > AutoVsHardSizingThreshold) { - ShowMessage("SizePurchasedAir: Potential issue with equipment sizing for " + PurchAir(PurchAirNum).cObjectName + ' ' + PurchAir(PurchAirNum).Name); - ShowContinueError("...User-Specified Maximum Sensible Heating Capacity of " + RoundSigDigits(MaxHeatSensCapUser, 2) + " [W]"); - ShowContinueError("...differs from Design Size Maximum Sensible Heating Capacity of " + RoundSigDigits(MaxHeatSensCapDes, 2) + " [W]"); - ShowContinueError("This may, or may not, indicate mismatched component sizes."); - ShowContinueError("Verify that the value entered is intended and is consistent with other components."); + } else { + if( PurchAir( PurchAirNum ).MaxHeatSensCap > 0.0 && MaxHeatSensCapDes > 0.0 ) { + MaxHeatSensCapUser = PurchAir( PurchAirNum ).MaxHeatSensCap; + ReportSizingOutput( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name, "Design Size Maximum Sensible Heating Capacity [W]", MaxHeatSensCapDes, "User-Specified Maximum Sensible Heating Capacity [W]", MaxHeatSensCapUser ); + if( DisplayExtraWarnings ) { + if( ( std::abs( MaxHeatSensCapDes - MaxHeatSensCapUser ) / MaxHeatSensCapUser ) > AutoVsHardSizingThreshold ) { + ShowMessage( "SizePurchasedAir: Potential issue with equipment sizing for " + PurchAir( PurchAirNum ).cObjectName + ' ' + PurchAir( PurchAirNum ).Name ); + ShowContinueError( "...User-Specified Maximum Sensible Heating Capacity of " + RoundSigDigits( MaxHeatSensCapUser, 2 ) + " [W]" ); + ShowContinueError( "...differs from Design Size Maximum Sensible Heating Capacity of " + RoundSigDigits( MaxHeatSensCapDes, 2 ) + " [W]" ); + ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); + ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); } } } } - //N7 , \field Maximum Cooling Air Flow Rate SizingMethod = CoolingAirflowSizing; - FieldNum = 7; + FieldNum = 7; //N7 , \field Maximum Cooling Air Flow Rate PrintFlag = true; - SizingString = PurchAirNumericFields(PurchAirNum).FieldNames(FieldNum) + " [m3/s]"; + SizingString = PurchAirNumericFields( PurchAirNum ).FieldNames( FieldNum ) + " [m3/s]"; IsAutoSize = false; - if ((PurchAir(PurchAirNum).MaxCoolVolFlowRate == AutoSize) && ((PurchAir(PurchAirNum).CoolingLimit == LimitFlowRate) || (PurchAir(PurchAirNum).CoolingLimit == LimitFlowRateAndCapacity) || (PurchAir(PurchAirNum).OutdoorAir && PurchAir(PurchAirNum).EconomizerType != NoEconomizer))) { + if( ( PurchAir( PurchAirNum ).MaxCoolVolFlowRate == AutoSize ) && ( ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRate ) || ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRateAndCapacity ) || ( PurchAir( PurchAirNum ).OutdoorAir && PurchAir( PurchAirNum ).EconomizerType != NoEconomizer ) ) ) { IsAutoSize = true; } - if (!IsAutoSize && !ZoneSizingRunDone) { // Simulation continue - if (PurchAir(PurchAirNum).MaxCoolVolFlowRate > 0.0) { - RequestSizing(CompType, CompName, SizingMethod, SizingString, PurchAir(PurchAirNum).MaxCoolVolFlowRate, PrintFlag, RoutineName); + if( !IsAutoSize && !ZoneSizingRunDone ) { // Simulation continue + if( PurchAir( PurchAirNum ).MaxCoolVolFlowRate > 0.0 ) { + RequestSizing( CompType, CompName, SizingMethod, SizingString, PurchAir( PurchAirNum ).MaxCoolVolFlowRate, PrintFlag, RoutineName ); } } else { ZoneCoolingOnlyFan = true; - TempSize = PurchAir(PurchAirNum).MaxCoolVolFlowRate; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + TempSize = PurchAir( PurchAirNum ).MaxCoolVolFlowRate; + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); MaxCoolVolFlowRateDes = TempSize; - PurchAir(PurchAirNum).MaxCoolVolFlowRate = MaxCoolVolFlowRateDes; + PurchAir( PurchAirNum ).MaxCoolVolFlowRate = MaxCoolVolFlowRateDes; ZoneCoolingOnlyFan = false; } - + IsAutoSize = false; SizingMethod = CoolingCapacitySizing; - FieldNum = 8; - SizingString = PurchAirNumericFields(PurchAirNum).FieldNames(FieldNum) + " [m3/s]"; - // N8, \field Maximum Total Cooling Capacity - if ((PurchAir(PurchAirNum).MaxCoolTotCap == AutoSize) && ((PurchAir(PurchAirNum).CoolingLimit == LimitCapacity) || (PurchAir(PurchAirNum).CoolingLimit == LimitFlowRateAndCapacity))) { + FieldNum = 8; // N8, \field Maximum Total Cooling Capacity + SizingString = PurchAirNumericFields( PurchAirNum ).FieldNames( FieldNum ) + " [m3/s]"; + if( ( PurchAir( PurchAirNum ).MaxCoolTotCap == AutoSize ) && ( ( PurchAir( PurchAirNum ).CoolingLimit == LimitCapacity ) || ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRateAndCapacity ) ) ) { IsAutoSize = true; } - if (!IsAutoSize && !ZoneSizingRunDone) { // Simulation continue - if (PurchAir(PurchAirNum).MaxCoolTotCap > 0.0) { - RequestSizing(CompType, CompName, SizingMethod, SizingString, PurchAir(PurchAirNum).MaxCoolTotCap, PrintFlag, RoutineName); + if( !IsAutoSize && !ZoneSizingRunDone ) { // Simulation continue + if( PurchAir( PurchAirNum ).MaxCoolTotCap > 0.0 ) { + RequestSizing( CompType, CompName, SizingMethod, SizingString, PurchAir( PurchAirNum ).MaxCoolTotCap, PrintFlag, RoutineName ); } - } - else { + } else { ZoneCoolingOnlyFan = true; PrintFlag = false; - TempSize = PurchAir(PurchAirNum).MaxCoolTotCap; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + TempSize = PurchAir( PurchAirNum ).MaxCoolTotCap; + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); MaxCoolTotCapDes = TempSize; ZoneCoolingOnlyFan = false; } - if (MaxCoolTotCapDes < SmallLoad) { + if( MaxCoolTotCapDes < SmallLoad ) { MaxCoolTotCapDes = 0.0; } - if (IsAutoSize) { - PurchAir(PurchAirNum).MaxCoolTotCap = MaxCoolTotCapDes; - ReportSizingOutput(PurchAir(PurchAirNum).cObjectName, PurchAir(PurchAirNum).Name, "Design Size Maximum Total Cooling Capacity [W]", MaxCoolTotCapDes); + if( IsAutoSize ) { + PurchAir( PurchAirNum ).MaxCoolTotCap = MaxCoolTotCapDes; + ReportSizingOutput( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name, "Design Size Maximum Total Cooling Capacity [W]", MaxCoolTotCapDes ); // If there is OA, check if sizing calcs have OA>0, throw warning if not - if ((PurchAir(PurchAirNum).OutdoorAir) && (FinalZoneSizing(CurZoneEqNum).MinOA == 0.0)) { - ShowWarningError("SizePurchasedAir: In " + PurchAir(PurchAirNum).cObjectName + " = " + PurchAir(PurchAirNum).Name); - ShowContinueError("There is outdoor air specified in this object, " "but the design outdoor air flow rate for this "); - ShowContinueError("zone is zero. The Maximum Total Cooling Capacity will be autosized " "for zero outdoor air flow. "); - ShowContinueError("Check the outdoor air specifications in the Sizing:Zone object for zone " + FinalZoneSizing(CurZoneEqNum).ZoneName + '.'); + if( ( PurchAir( PurchAirNum ).OutdoorAir ) && ( FinalZoneSizing( CurZoneEqNum ).MinOA == 0.0 ) ) { + ShowWarningError( "SizePurchasedAir: In " + PurchAir( PurchAirNum ).cObjectName + " = " + PurchAir( PurchAirNum ).Name ); + ShowContinueError( "There is outdoor air specified in this object, " "but the design outdoor air flow rate for this " ); + ShowContinueError( "zone is zero. The Maximum Total Cooling Capacity will be autosized " "for zero outdoor air flow. " ); + ShowContinueError( "Check the outdoor air specifications in the Sizing:Zone object for zone " + FinalZoneSizing( CurZoneEqNum ).ZoneName + '.' ); } - } - else { - if (PurchAir(PurchAirNum).MaxCoolTotCap > 0.0 && MaxCoolTotCapDes > 0.0) { - MaxCoolTotCapUser = PurchAir(PurchAirNum).MaxCoolTotCap; - ReportSizingOutput(PurchAir(PurchAirNum).cObjectName, PurchAir(PurchAirNum).Name, "Design Size Maximum Total Cooling Capacity [W]", MaxCoolTotCapDes, "User-Specified Maximum Total Cooling Capacity [W]", MaxCoolTotCapUser); - if (DisplayExtraWarnings) { - if ((std::abs(MaxCoolTotCapDes - MaxCoolTotCapUser) / MaxCoolTotCapUser) > AutoVsHardSizingThreshold) { - ShowMessage("SizePurchasedAir: Potential issue with equipment sizing for " + PurchAir(PurchAirNum).cObjectName + ' ' + PurchAir(PurchAirNum).Name); - ShowContinueError("User-Specified Maximum Total Cooling Capacity of " + RoundSigDigits(MaxCoolTotCapUser, 2) + " [W]"); - ShowContinueError("differs from Design Size Maximum Total Cooling Capacity of " + RoundSigDigits(MaxCoolTotCapDes, 2) + " [W]"); - ShowContinueError("This may, or may not, indicate mismatched component sizes."); - ShowContinueError("Verify that the value entered is intended and is consistent with other components."); + } else { + if( PurchAir( PurchAirNum ).MaxCoolTotCap > 0.0 && MaxCoolTotCapDes > 0.0 ) { + MaxCoolTotCapUser = PurchAir( PurchAirNum ).MaxCoolTotCap; + ReportSizingOutput( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name, "Design Size Maximum Total Cooling Capacity [W]", MaxCoolTotCapDes, "User-Specified Maximum Total Cooling Capacity [W]", MaxCoolTotCapUser ); + if( DisplayExtraWarnings ) { + if( ( std::abs( MaxCoolTotCapDes - MaxCoolTotCapUser ) / MaxCoolTotCapUser ) > AutoVsHardSizingThreshold ) { + ShowMessage( "SizePurchasedAir: Potential issue with equipment sizing for " + PurchAir( PurchAirNum ).cObjectName + ' ' + PurchAir( PurchAirNum ).Name ); + ShowContinueError( "User-Specified Maximum Total Cooling Capacity of " + RoundSigDigits( MaxCoolTotCapUser, 2 ) + " [W]" ); + ShowContinueError( "differs from Design Size Maximum Total Cooling Capacity of " + RoundSigDigits( MaxCoolTotCapDes, 2 ) + " [W]" ); + ShowContinueError( "This may, or may not, indicate mismatched component sizes." ); + ShowContinueError( "Verify that the value entered is intended and is consistent with other components." ); } } } diff --git a/src/EnergyPlus/ReportSizingManager.cc b/src/EnergyPlus/ReportSizingManager.cc index 3b4de5b7aaa..7a6c53d089c 100644 --- a/src/EnergyPlus/ReportSizingManager.cc +++ b/src/EnergyPlus/ReportSizingManager.cc @@ -408,7 +408,7 @@ namespace ReportSizingManager { ShowFatalError( "Preceding conditions cause termination." ); } } else if ( CurZoneEqNum > 0 ) { - if ( ! IsAutoSize && ! SizingDesRunThisZone ) { + if ( !IsAutoSize && !SizingDesRunThisZone ) { HardSizeNoDesRun = true; AutosizeUser = SizingResult; if ( PrintWarningFlag && SizingResult > 0.0 ) { @@ -425,208 +425,203 @@ namespace ReportSizingManager { if ( SizingType == SystemAirflowSizing ) { { auto const SELECT_CASE_var( ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingType) ); - if ((SELECT_CASE_var == SupplyAirFlowRate) || (SELECT_CASE_var == None)) { + if( ( SELECT_CASE_var == SupplyAirFlowRate ) || ( SELECT_CASE_var == None ) ) { if ( ZoneEqSizing( CurZoneEqNum ).SystemAirFlow ) { AutosizeDes = max( ZoneEqSizing( CurZoneEqNum ).AirVolFlow, FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow, FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow ); } else { - if (ZoneCoolingOnlyFan) { + if( ZoneCoolingOnlyFan ) { AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; - } else if (ZoneHeatingOnlyFan) { + } else if( ZoneHeatingOnlyFan ) { AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; - } else if (ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow && !ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow) { + } else if( ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow && !ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow ) { AutosizeDes = ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow; - } else if (ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && !ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow) { + } else if( ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && !ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow ) { AutosizeDes = ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow; - } else if (ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow) { + } else if( ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow ) { AutosizeDes = max( ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow, ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow ); } else { AutosizeDes = max( FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow, FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow ); } } - - } else if (SELECT_CASE_var == FractionOfAutosizedCoolingAirflow) { - if (ZoneCoolingOnlyFan) { - AutosizeDes = DataFracOfAutosizedCoolingAirflow * FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; - } else if (ZoneHeatingOnlyFan) { - AutosizeDes = DataFracOfAutosizedHeatingAirflow * FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; - } else if (ZoneEqSizing(CurZoneEqNum).CoolingAirFlow && !ZoneEqSizing(CurZoneEqNum).HeatingAirFlow) { - AutosizeDes = DataFracOfAutosizedCoolingAirflow * ZoneEqSizing(CurZoneEqNum).CoolingAirVolFlow; - } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && !ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { - AutosizeDes = DataFracOfAutosizedHeatingAirflow * ZoneEqSizing(CurZoneEqNum).HeatingAirVolFlow; - } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { - AutosizeDes = max(DataFracOfAutosizedCoolingAirflow * ZoneEqSizing(CurZoneEqNum).CoolingAirVolFlow, DataFracOfAutosizedHeatingAirflow * ZoneEqSizing(CurZoneEqNum).HeatingAirVolFlow); + } else if( SELECT_CASE_var == FractionOfAutosizedCoolingAirflow ) { + if( ZoneCoolingOnlyFan ) { + AutosizeDes = DataFracOfAutosizedCoolingAirflow * FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; + } else if( ZoneHeatingOnlyFan ) { + AutosizeDes = DataFracOfAutosizedHeatingAirflow * FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; + } else if( ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow && !ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow ) { + AutosizeDes = DataFracOfAutosizedCoolingAirflow * ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow; + } else if( ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && !ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow ) { + AutosizeDes = DataFracOfAutosizedHeatingAirflow * ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow; + } else if( ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow ) { + AutosizeDes = max( DataFracOfAutosizedCoolingAirflow * ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow, DataFracOfAutosizedHeatingAirflow * ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow ); } else { - AutosizeDes = max(DataFracOfAutosizedCoolingAirflow * FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow, DataFracOfAutosizedHeatingAirflow * FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow); + AutosizeDes = max( DataFracOfAutosizedCoolingAirflow * FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow, DataFracOfAutosizedHeatingAirflow * FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow ); } - - } else if (SELECT_CASE_var == FractionOfAutosizedHeatingAirflow) { - if (ZoneCoolingOnlyFan) { - AutosizeDes = DataFracOfAutosizedCoolingAirflow * FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; - } else if (ZoneHeatingOnlyFan) { - AutosizeDes = DataFracOfAutosizedHeatingAirflow * FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; - } else if (ZoneEqSizing(CurZoneEqNum).CoolingAirFlow && !ZoneEqSizing(CurZoneEqNum).HeatingAirFlow) { - AutosizeDes = DataFracOfAutosizedCoolingAirflow * ZoneEqSizing(CurZoneEqNum).CoolingAirVolFlow; - } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && !ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { - AutosizeDes = DataFracOfAutosizedHeatingAirflow * ZoneEqSizing(CurZoneEqNum).HeatingAirVolFlow; - } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { - AutosizeDes = max(DataFracOfAutosizedCoolingAirflow * ZoneEqSizing(CurZoneEqNum).CoolingAirVolFlow, DataFracOfAutosizedHeatingAirflow * ZoneEqSizing(CurZoneEqNum).HeatingAirVolFlow); + } else if( SELECT_CASE_var == FractionOfAutosizedHeatingAirflow ) { + if( ZoneCoolingOnlyFan ) { + AutosizeDes = DataFracOfAutosizedCoolingAirflow * FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; + } else if( ZoneHeatingOnlyFan ) { + AutosizeDes = DataFracOfAutosizedHeatingAirflow * FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; + } else if( ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow && !ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow ) { + AutosizeDes = DataFracOfAutosizedCoolingAirflow * ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow; + } else if( ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && !ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow ) { + AutosizeDes = DataFracOfAutosizedHeatingAirflow * ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow; + } else if( ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow ) { + AutosizeDes = max( DataFracOfAutosizedCoolingAirflow * ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow, DataFracOfAutosizedHeatingAirflow * ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow ); } else { - AutosizeDes = max(DataFracOfAutosizedCoolingAirflow * FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow, DataFracOfAutosizedHeatingAirflow * FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow); + AutosizeDes = max( DataFracOfAutosizedCoolingAirflow * FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow, DataFracOfAutosizedHeatingAirflow * FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow ); } - } else if (SELECT_CASE_var == FlowPerCoolingCapacity) { - if (ZoneCoolingOnlyFan) { + } else if( SELECT_CASE_var == FlowPerCoolingCapacity ) { + if( ZoneCoolingOnlyFan ) { AutosizeDes = DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity; - } else if (ZoneHeatingOnlyFan) { + } else if( ZoneHeatingOnlyFan ) { AutosizeDes = DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity; - } else if (ZoneEqSizing(CurZoneEqNum).CoolingAirFlow && !ZoneEqSizing(CurZoneEqNum).HeatingAirFlow) { + } else if( ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow && !ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow ) { AutosizeDes = DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity; - } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && !ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + } else if( ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && !ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow ) { AutosizeDes = DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity; - } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { - AutosizeDes = max(DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity, DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity); + } else if( ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow ) { + AutosizeDes = max( DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity, DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity ); } else { - AutosizeDes = max(DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity, DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity); + AutosizeDes = max( DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity, DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity ); } - } else if (SELECT_CASE_var == FlowPerHeatingCapacity) { - if (ZoneCoolingOnlyFan) { + } else if( SELECT_CASE_var == FlowPerHeatingCapacity ) { + if( ZoneCoolingOnlyFan ) { AutosizeDes = DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity; - } else if (ZoneHeatingOnlyFan) { + } else if( ZoneHeatingOnlyFan ) { AutosizeDes = DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity; - } else if (ZoneEqSizing(CurZoneEqNum).CoolingAirFlow && !ZoneEqSizing(CurZoneEqNum).HeatingAirFlow) { + } else if( ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow && !ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow ) { AutosizeDes = DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity; - } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && !ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + } else if( ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && !ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow ) { AutosizeDes = DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity; - } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { - AutosizeDes = max(DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity, DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity); + } else if( ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow ) { + AutosizeDes = max( DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity, DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity ); } else { - AutosizeDes = max(DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity, DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity); + AutosizeDes = max( DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity, DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity ); } } else { - if ( ZoneEqSizing ( CurZoneEqNum ).CoolingAirFlow && !ZoneEqSizing ( CurZoneEqNum ).HeatingAirFlow ) { - AutosizeDes = ZoneEqSizing ( CurZoneEqNum ).CoolingAirVolFlow; - } else if ( ZoneEqSizing ( CurZoneEqNum ).HeatingAirFlow && !ZoneEqSizing ( CurZoneEqNum ).CoolingAirFlow ) { - AutosizeDes = ZoneEqSizing ( CurZoneEqNum ).HeatingAirVolFlow; - } else if ( ZoneEqSizing ( CurZoneEqNum ).HeatingAirFlow && ZoneEqSizing ( CurZoneEqNum ).CoolingAirFlow ) { - AutosizeDes = max ( ZoneEqSizing ( CurZoneEqNum ).CoolingAirVolFlow, ZoneEqSizing ( CurZoneEqNum ).HeatingAirVolFlow ); + if( ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow && !ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow ) { + AutosizeDes = ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow; + } else if( ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && !ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow ) { + AutosizeDes = ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow; + } else if( ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow ) { + AutosizeDes = max( ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow, ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow ); } else { - if ( ZoneEqSizing( CurZoneEqNum ).SystemAirFlow ) { + if( ZoneEqSizing( CurZoneEqNum ).SystemAirFlow ) { AutosizeDes = max( ZoneEqSizing( CurZoneEqNum ).AirVolFlow, ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow, ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow ); - } else if (ZoneCoolingOnlyFan) { - AutosizeDes = FinalZoneSizing ( CurZoneEqNum ).DesCoolVolFlow; - } else if ( ZoneHeatingOnlyFan ) { - AutosizeDes = FinalZoneSizing ( CurZoneEqNum ).DesHeatVolFlow; + } else if( ZoneCoolingOnlyFan ) { + AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; + } else if( ZoneHeatingOnlyFan ) { + AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; } else { - AutosizeDes = max ( FinalZoneSizing ( CurZoneEqNum ).DesCoolVolFlow, FinalZoneSizing ( CurZoneEqNum ).DesHeatVolFlow ); + AutosizeDes = max( FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow, FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow ); } } } } - } else if ( SizingType == CoolingAirflowSizing || SizingType == HeatingAirflowSizing ) { - - { auto const SELECT_CASE_var(ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingType ) ); - if ((SELECT_CASE_var == SupplyAirFlowRate) || (SELECT_CASE_var == None) || (SELECT_CASE_var == FlowPerFloorArea)) { - if ( ZoneEqSizing( CurZoneEqNum ).SystemAirFlow ) { - if ( SizingType == CoolingAirflowSizing ) { - AutosizeDes = max( ZoneEqSizing( CurZoneEqNum ).AirVolFlow, ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow); - } else if ( SizingType == HeatingAirflowSizing ) { + } else if( SizingType == CoolingAirflowSizing || SizingType == HeatingAirflowSizing ) { + { auto const SELECT_CASE_var( ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingType ) ); + if( ( SELECT_CASE_var == SupplyAirFlowRate ) || ( SELECT_CASE_var == None ) || ( SELECT_CASE_var == FlowPerFloorArea ) ) { + if( ZoneEqSizing( CurZoneEqNum ).SystemAirFlow ) { + if( SizingType == CoolingAirflowSizing ) { + AutosizeDes = max( ZoneEqSizing( CurZoneEqNum ).AirVolFlow, ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow ); + } else if( SizingType == HeatingAirflowSizing ) { AutosizeDes = max( ZoneEqSizing( CurZoneEqNum ).AirVolFlow, ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow ); } else { AutosizeDes = max( ZoneEqSizing( CurZoneEqNum ).AirVolFlow, ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow, ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow ); } } else { - if (ZoneCoolingOnlyFan) { + if( ZoneCoolingOnlyFan ) { AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; - } else if (ZoneHeatingOnlyFan) { + } else if( ZoneHeatingOnlyFan ) { AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; - } else if (ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow && !ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow) { + } else if( ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow && !ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow ) { AutosizeDes = ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow; - } else if (ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && !ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow) { + } else if( ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && !ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow ) { AutosizeDes = ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow; - } else if (ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow) { + } else if( ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow ) { AutosizeDes = max( ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow, ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow ); } else { AutosizeDes = max( FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow, FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow ); } } - } else if (SELECT_CASE_var == FractionOfAutosizedCoolingAirflow) { - if (ZoneCoolingOnlyFan) { - AutosizeDes = DataFracOfAutosizedCoolingAirflow * FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; - } else if (ZoneHeatingOnlyFan) { - AutosizeDes = DataFracOfAutosizedHeatingAirflow * FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; - } else if (ZoneEqSizing(CurZoneEqNum).CoolingAirFlow && !ZoneEqSizing(CurZoneEqNum).HeatingAirFlow) { - AutosizeDes = DataFracOfAutosizedCoolingAirflow * ZoneEqSizing(CurZoneEqNum).CoolingAirVolFlow; - } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && !ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { - AutosizeDes = DataFracOfAutosizedHeatingAirflow * ZoneEqSizing(CurZoneEqNum).HeatingAirVolFlow; - } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { - AutosizeDes = max(DataFracOfAutosizedCoolingAirflow * ZoneEqSizing(CurZoneEqNum).CoolingAirVolFlow, DataFracOfAutosizedHeatingAirflow * ZoneEqSizing(CurZoneEqNum).HeatingAirVolFlow); + } else if( SELECT_CASE_var == FractionOfAutosizedCoolingAirflow ) { + if( ZoneCoolingOnlyFan ) { + AutosizeDes = DataFracOfAutosizedCoolingAirflow * FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; + } else if( ZoneHeatingOnlyFan ) { + AutosizeDes = DataFracOfAutosizedHeatingAirflow * FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; + } else if( ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow && !ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow ) { + AutosizeDes = DataFracOfAutosizedCoolingAirflow * ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow; + } else if( ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && !ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow ) { + AutosizeDes = DataFracOfAutosizedHeatingAirflow * ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow; + } else if( ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow ) { + AutosizeDes = max( DataFracOfAutosizedCoolingAirflow * ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow, DataFracOfAutosizedHeatingAirflow * ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow ); } else { - AutosizeDes = max(DataFracOfAutosizedCoolingAirflow * FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow, DataFracOfAutosizedHeatingAirflow * FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow); + AutosizeDes = max( DataFracOfAutosizedCoolingAirflow * FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow, DataFracOfAutosizedHeatingAirflow * FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow ); } - - } else if (SELECT_CASE_var == FractionOfAutosizedHeatingAirflow) { - if (ZoneCoolingOnlyFan) { - AutosizeDes = DataFracOfAutosizedCoolingAirflow * FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; - } else if (ZoneHeatingOnlyFan) { - AutosizeDes = DataFracOfAutosizedHeatingAirflow * FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; - } else if (ZoneEqSizing(CurZoneEqNum).CoolingAirFlow && !ZoneEqSizing(CurZoneEqNum).HeatingAirFlow) { - AutosizeDes = DataFracOfAutosizedCoolingAirflow * ZoneEqSizing(CurZoneEqNum).CoolingAirVolFlow; - } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && !ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { - AutosizeDes = DataFracOfAutosizedHeatingAirflow * ZoneEqSizing(CurZoneEqNum).HeatingAirVolFlow; - } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { - AutosizeDes = max(DataFracOfAutosizedCoolingAirflow * ZoneEqSizing(CurZoneEqNum).CoolingAirVolFlow, DataFracOfAutosizedHeatingAirflow * ZoneEqSizing(CurZoneEqNum).HeatingAirVolFlow); + } else if( SELECT_CASE_var == FractionOfAutosizedHeatingAirflow ) { + if( ZoneCoolingOnlyFan ) { + AutosizeDes = DataFracOfAutosizedCoolingAirflow * FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; + } else if( ZoneHeatingOnlyFan ) { + AutosizeDes = DataFracOfAutosizedHeatingAirflow * FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; + } else if( ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow && !ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow ) { + AutosizeDes = DataFracOfAutosizedCoolingAirflow * ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow; + } else if( ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && !ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow ) { + AutosizeDes = DataFracOfAutosizedHeatingAirflow * ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow; + } else if( ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow ) { + AutosizeDes = max( DataFracOfAutosizedCoolingAirflow * ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow, DataFracOfAutosizedHeatingAirflow * ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow ); } else { - AutosizeDes = max(DataFracOfAutosizedCoolingAirflow * FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow, DataFracOfAutosizedHeatingAirflow * FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow); + AutosizeDes = max( DataFracOfAutosizedCoolingAirflow * FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow, DataFracOfAutosizedHeatingAirflow * FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow ); } - } else if (SELECT_CASE_var == FlowPerCoolingCapacity) { - if (ZoneCoolingOnlyFan) { + } else if( SELECT_CASE_var == FlowPerCoolingCapacity ) { + if( ZoneCoolingOnlyFan ) { AutosizeDes = DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity; - } else if (ZoneHeatingOnlyFan) { + } else if( ZoneHeatingOnlyFan ) { AutosizeDes = DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity; - } else if (ZoneEqSizing(CurZoneEqNum).CoolingAirFlow && !ZoneEqSizing(CurZoneEqNum).HeatingAirFlow) { + } else if( ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow && !ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow ) { AutosizeDes = DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity; - } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && !ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + } else if( ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && !ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow ) { AutosizeDes = DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity; - } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { - AutosizeDes = max(DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity, DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity); + } else if( ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow ) { + AutosizeDes = max( DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity, DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity ); } else { - AutosizeDes = max(DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity, DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity); + AutosizeDes = max( DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity, DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity ); } - } else if (SELECT_CASE_var == FlowPerHeatingCapacity) { - if (ZoneCoolingOnlyFan) { + } else if( SELECT_CASE_var == FlowPerHeatingCapacity ) { + if( ZoneCoolingOnlyFan ) { AutosizeDes = DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity; - } else if (ZoneHeatingOnlyFan) { + } else if( ZoneHeatingOnlyFan ) { AutosizeDes = DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity; - } else if (ZoneEqSizing(CurZoneEqNum).CoolingAirFlow && !ZoneEqSizing(CurZoneEqNum).HeatingAirFlow) { + } else if( ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow && !ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow ) { AutosizeDes = DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity; - } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && !ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { + } else if( ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && !ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow ) { AutosizeDes = DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity; - } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { - AutosizeDes = max(DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity, DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity); + } else if( ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow ) { + AutosizeDes = max( DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity, DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity ); } else { - AutosizeDes = max(DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity, DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity); + AutosizeDes = max( DataFlowPerCoolingCapacity * DataAutosizedCoolingCapacity, DataFlowPerHeatingCapacity * DataAutosizedHeatingCapacity ); } } else { - if (ZoneCoolingOnlyFan) { - AutosizeDes = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; - } else if (TermUnitIU) { - AutosizeDes = TermUnitSizing(CurZoneEqNum).AirVolFlow; - } else if (ZoneEqFanCoil) { - AutosizeDes = ZoneEqSizing(CurZoneEqNum).AirVolFlow; - } else if (ZoneHeatingOnlyFan) { - AutosizeDes = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; - } else if (ZoneEqSizing(CurZoneEqNum).CoolingAirFlow && !ZoneEqSizing(CurZoneEqNum).HeatingAirFlow) { - AutosizeDes = ZoneEqSizing(CurZoneEqNum).CoolingAirVolFlow; - } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && !ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { - AutosizeDes = ZoneEqSizing(CurZoneEqNum).HeatingAirVolFlow; - } else if (ZoneEqSizing(CurZoneEqNum).HeatingAirFlow && ZoneEqSizing(CurZoneEqNum).CoolingAirFlow) { - AutosizeDes = max(ZoneEqSizing(CurZoneEqNum).CoolingAirVolFlow, ZoneEqSizing(CurZoneEqNum).HeatingAirVolFlow); + if( ZoneCoolingOnlyFan ) { + AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; + } else if( TermUnitIU ) { + AutosizeDes = TermUnitSizing( CurZoneEqNum ).AirVolFlow; + } else if( ZoneEqFanCoil ) { + AutosizeDes = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; + } else if( ZoneHeatingOnlyFan ) { + AutosizeDes = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; + } else if( ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow && !ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow ) { + AutosizeDes = ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow; + } else if( ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && !ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow ) { + AutosizeDes = ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow; + } else if( ZoneEqSizing( CurZoneEqNum ).HeatingAirFlow && ZoneEqSizing( CurZoneEqNum ).CoolingAirFlow ) { + AutosizeDes = max( ZoneEqSizing( CurZoneEqNum ).CoolingAirVolFlow, ZoneEqSizing( CurZoneEqNum ).HeatingAirVolFlow ); } else { - AutosizeDes = max(FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow, FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow); + AutosizeDes = max( FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow, FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow ); } - } - } - } else if ( SizingType == CoolingWaterflowSizing ) { + }} + } else if( SizingType == CoolingWaterflowSizing ) { CoilDesWaterDeltaT = PlantSizData( DataPltSizCoolNum ).DeltaT; Cp = GetSpecificHeatGlycol( PlantLoop( DataWaterLoopNum ).FluidName, 5.0, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); rho = GetDensityGlycol( PlantLoop( DataWaterLoopNum ).FluidName, InitConvTemp, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); @@ -658,7 +653,7 @@ namespace ReportSizingManager { Cp = GetSpecificHeatGlycol( PlantLoop( DataWaterLoopNum ).FluidName, 60.0, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); rho = GetDensityGlycol( PlantLoop( DataWaterLoopNum ).FluidName, InitConvTemp, PlantLoop( DataWaterLoopNum ).FluidIndex, CallingRoutine ); DesCoilLoad = AutosizeDes * PlantSizData( DataPltSizHeatNum ).DeltaT * Cp * rho; - } else if (ZoneEqUnitHeater || ZoneEqVentedSlab) { // for unit ventilator the cp value is calculated at 5.05(InitConvTemp) for the child and 60.0C for the unit ventilator //|| ZoneEqUnitVent + } else if( ZoneEqUnitHeater || ZoneEqVentedSlab ) { // for unit ventilator the cp value is calculated at 5.05(InitConvTemp) for the child and 60.0C for the unit ventilator //|| ZoneEqUnitVent AutosizeDes = ZoneEqSizing( CurZoneEqNum ).MaxHWVolFlow; } else { CoilInTemp = FinalZoneSizing( CurZoneEqNum ).DesHeatCoilInTemp; @@ -1362,7 +1357,7 @@ namespace ReportSizingManager { ShowFatalError( "Preceding conditions cause termination." ); } } else if ( SizingType == CoolingCapacitySizing ) { - DataFracOfAutosizedCoolingCapacity = 1.0; + DataFracOfAutosizedCoolingCapacity = 1.0; if ( OASysFlag ) { AutosizeDes = OASysEqSizing ( CurOASysNum ).DesCoolingLoad; } else if ( AirLoopSysFlag ) { @@ -1371,7 +1366,7 @@ namespace ReportSizingManager { CheckSysSizing ( CompType, CompName ); DesVolFlow = DataFlowUsedForSizing; if ( FinalSysSizing( CurSysNum ).CoolingCapMethod == FractionOfAutosizedCoolingCapacity ) { - DataFracOfAutosizedCoolingCapacity = FinalSysSizing( CurSysNum ).FractionOfAutosizedCoolingCapacity; + DataFracOfAutosizedCoolingCapacity = FinalSysSizing( CurSysNum ).FractionOfAutosizedCoolingCapacity; } if (FinalSysSizing( CurSysNum ).CoolingCapMethod == CapacityPerFloorArea) { NominalCapacityDes = FinalSysSizing( CurSysNum ).CoolingTotalCapacity; @@ -1647,7 +1642,7 @@ namespace ReportSizingManager { SizingResult = AutosizeDes; } } else if ( DataScalableSizingON || DataScalableCapSizingON ) { - if (DataEMSOverrideON) { + if( DataEMSOverrideON ) { SizingResult = DataEMSOverride; } else { SizingResult = AutosizeDes; @@ -1656,31 +1651,30 @@ namespace ReportSizingManager { AutosizeUser = SizingResult; } if ( DataScalableSizingON ) { - if (SizingType == CoolingAirflowSizing || SizingType == HeatingAirflowSizing || SizingType == SystemAirflowSizing) { + if( SizingType == CoolingAirflowSizing || SizingType == HeatingAirflowSizing || SizingType == SystemAirflowSizing ) { { auto const SELECT_CASE_var( ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingType ) ); - if (SELECT_CASE_var == SupplyAirFlowRate || SELECT_CASE_var == None) { + if( SELECT_CASE_var == SupplyAirFlowRate || SELECT_CASE_var == None ) { ScalableSM = "User-Specified (scaled by flow / zone) "; - } else if (SELECT_CASE_var == FlowPerFloorArea) { + } else if( SELECT_CASE_var == FlowPerFloorArea ) { ScalableSM = "User-Specified(scaled by flow / area) "; - } else if (SELECT_CASE_var == FractionOfAutosizedCoolingAirflow || SELECT_CASE_var == FractionOfAutosizedHeatingAirflow) { + } else if( SELECT_CASE_var == FractionOfAutosizedCoolingAirflow || SELECT_CASE_var == FractionOfAutosizedHeatingAirflow ) { ScalableSM = "User-Specified(scaled by fractional multiplier) "; - } else if (SELECT_CASE_var == FlowPerCoolingCapacity || SELECT_CASE_var == FlowPerHeatingCapacity) { + } else if( SELECT_CASE_var == FlowPerCoolingCapacity || SELECT_CASE_var == FlowPerHeatingCapacity ) { ScalableSM = "User-Specified(scaled by flow / capacity) "; } else { ScalableSM = "Design Size "; - } - } + }} } } if ( DataScalableCapSizingON ) { { auto const SELECT_CASE_var( ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingType ) ); - if (SELECT_CASE_var == HeatingDesignCapacity || SELECT_CASE_var == CoolingDesignCapacity) { + if( SELECT_CASE_var == HeatingDesignCapacity || SELECT_CASE_var == CoolingDesignCapacity ) { ScalableSM = "User-Specified "; - if (SizingResult == AutoSize) ScalableSM = "Design Size "; - } else if (SELECT_CASE_var == CapacityPerFloorArea) { + if( SizingResult == AutoSize ) ScalableSM = "Design Size "; + } else if( SELECT_CASE_var == CapacityPerFloorArea ) { ScalableSM = "User-Specified(scaled by capacity / area) "; - } else if (SELECT_CASE_var == FractionOfAutosizedHeatingCapacity || SELECT_CASE_var == FractionOfAutosizedCoolingCapacity) { + } else if( SELECT_CASE_var == FractionOfAutosizedHeatingCapacity || SELECT_CASE_var == FractionOfAutosizedCoolingCapacity ) { ScalableSM = "User-Specified(scaled by fractional multiplier) "; } else { ScalableSM = "Design Size "; diff --git a/src/EnergyPlus/SimAirServingZones.cc b/src/EnergyPlus/SimAirServingZones.cc index 37d602fb520..847a1916b76 100644 --- a/src/EnergyPlus/SimAirServingZones.cc +++ b/src/EnergyPlus/SimAirServingZones.cc @@ -1803,8 +1803,6 @@ namespace SimAirServingZones { for ( AirLoopNum = 1; AirLoopNum <= NumPrimaryAirSys; ++AirLoopNum ) { - //UpdateScalableSysSizing( AirLoopNum ); - for ( BranchNum = 1; BranchNum <= PrimaryAirSystem( AirLoopNum ).NumBranches; ++BranchNum ) { SizeAirLoopBranches( AirLoopNum, BranchNum ); } @@ -3337,16 +3335,15 @@ namespace SimAirServingZones { PrimaryAirSystem( AirLoopNum ).DesignVolFlowRate = FinalSysSizing( AirLoopNum ).DesMainVolFlow; { auto const SELECT_CASE_var( FinalSysSizing( AirLoopNum ).ScaleCoolSAFMethod ); - if (SELECT_CASE_var == FlowPerFloorArea) { - ScalableSM = "User-Specified(scaled by flow / area) "; - } else if (SELECT_CASE_var == FractionOfAutosizedCoolingAirflow) { - ScalableSM = "User-Specified(scaled by fractional multiplier) "; - } else if (SELECT_CASE_var == FlowPerCoolingCapacity) { - ScalableSM = "User-Specified(scaled by flow / capacity) "; - } else { + if( SELECT_CASE_var == FlowPerFloorArea ) { + ScalableSM = "User-Specified(scaled by flow / area) "; + } else if( SELECT_CASE_var == FractionOfAutosizedCoolingAirflow ) { + ScalableSM = "User-Specified(scaled by fractional multiplier) "; + } else if( SELECT_CASE_var == FlowPerCoolingCapacity ) { + ScalableSM = "User-Specified(scaled by flow / capacity) "; + } else { ScalableSM = "Design "; - } - } + }} ReportSizingOutput("AirLoopHVAC", PrimaryAirSystem(AirLoopNum).Name, ScalableSM + "Supply Air Flow Rate [m3/s]", PrimaryAirSystem(AirLoopNum).DesignVolFlowRate); } @@ -3955,7 +3952,7 @@ namespace SimAirServingZones { // Calc maximum zone OA fraction and supply air adjustment factor based on // user entered max allowed OA fraction - a TRACE feature if ( FinalSysSizing( AirLoopNum ).MaxZoneOAFraction > 0 && ZoneOAFracCooling > FinalSysSizing( AirLoopNum ).MaxZoneOAFraction ) { - if (FinalSysSizing(AirLoopNum).CoolAirDesMethod == FromDDCalc ) { // DesignDay Method + if ( FinalSysSizing( AirLoopNum ).CoolAirDesMethod == FromDDCalc ) { // DesignDay Method ClgSupplyAirAdjustFactor = ZoneOAFracCooling / FinalSysSizing( AirLoopNum ).MaxZoneOAFraction; if ( FinalZoneSizing( CtrlZoneNum ).ZoneSecondaryRecirculation > 0.0 || FinalZoneSizing( CtrlZoneNum ).DesCoolVolFlowMin <= 0 ) { //multi-path system or VAV Minimum not defined @@ -4137,7 +4134,7 @@ namespace SimAirServingZones { FinalZoneSizing( CtrlZoneNum ).ZoneOAFracHeating = ZoneOAFracHeating; // determined heated zone floor area in an airloop - if (ZoneEquipConfig( CtrlZoneNum ).AirLoopNum == AirLoopNum) { + if ( ZoneEquipConfig( CtrlZoneNum ).AirLoopNum == AirLoopNum ) { FinalSysSizing( AirLoopNum ).FloorAreaOnAirLoopHeated += Zone( ZoneEquipConfig( CtrlZoneNum ).ActualZoneNum ).FloorArea; } @@ -4212,7 +4209,6 @@ namespace SimAirServingZones { } FinalZoneSizing( CtrlZoneNum ).SupplyAirAdjustFactor = max( ClgSupplyAirAdjustFactor, HtgSupplyAirAdjustFactor ); CalcZoneSizing( CtrlZoneNum, CurOverallSimDay ).SupplyAirAdjustFactor = FinalZoneSizing( CtrlZoneNum ).SupplyAirAdjustFactor; - FinalSysSizing( AirLoopNum ).FloorAreaOnAirLoopHeated = FinalSysSizing( AirLoopNum ).FloorAreaOnAirLoopCooled; } @@ -4420,7 +4416,7 @@ namespace SimAirServingZones { // SUBROUTINE ARGUMENT DEFINITIONS: // SUBROUTINE PARAMETER DEFINITIONS: - static gio::Fmt const fmta( "(A)" ); + static gio::Fmt const fmtA( "(A)" ); static gio::Fmt const SSizeFmt10( "('Time')" ); static gio::Fmt const SSizeFmt11( "(A1,A,A,A1,A,A,A1,A,A,A1,A,A)" ); static gio::Fmt const SSizeFmt20( "(I2.2,':',I2.2,':00')" ); @@ -4646,7 +4642,7 @@ namespace SimAirServingZones { } RetTempRise = ZoneSizing( CtrlZoneNum, CurOverallSimDay ).HeatZoneRetTempSeq( TimeStepInDay ) - ZoneSizing( CtrlZoneNum, CurOverallSimDay ).HeatZoneTempSeq( TimeStepInDay ); if ( RetTempRise > 0.01 ) { - ZoneSizing( CtrlZoneNum, CurOverallSimDay ).HeatZoneRetTempSeq( TimeStepInDay ) = ZoneSizing( CtrlZoneNum, CurOverallSimDay ).HeatZoneTempSeq( TimeStepInDay ) + RetTempRise * ( 1. / ( 1. + TermUnitSizing( CtrlZoneNum ).InducRat ) ); + ZoneSizing( CtrlZoneNum, CurOverallSimDay ).HeatZoneRetTempSeq( TimeStepInDay ) = ZoneSizing( CtrlZoneNum, CurOverallSimDay ).HeatZoneTempSeq( TimeStepInDay ) + RetTempRise * ( 1.0 / ( 1.0 + TermUnitSizing( CtrlZoneNum ).InducRat ) ); } } @@ -5548,7 +5544,6 @@ namespace SimAirServingZones { } CalcSysSizing( AirLoopNum ).DesCoolVolFlow = CalcSysSizing( AirLoopNum ).NonCoinCoolMassFlow / StdRhoAir; CalcSysSizing( AirLoopNum ).DesHeatVolFlow = CalcSysSizing( AirLoopNum ).NonCoinHeatMassFlow / StdRhoAir; - CalcSysSizing( AirLoopNum ).DesMainVolFlow = max( CalcSysSizing( AirLoopNum ).DesCoolVolFlow, CalcSysSizing( AirLoopNum ).DesHeatVolFlow ); } @@ -5641,7 +5636,7 @@ namespace SimAirServingZones { } // Calculate the new user modified system design quantities - if ( std::abs( SysCoolSizingRat - 1.0 ) > .00001 ) { + if ( std::abs( SysCoolSizingRat - 1.0 ) > 0.00001 ) { FinalSysSizing( AirLoopNum ).CoinCoolMassFlow = SysCoolSizingRat * CalcSysSizing( AirLoopNum ).CoinCoolMassFlow; FinalSysSizing( AirLoopNum ).NonCoinCoolMassFlow = SysCoolSizingRat * CalcSysSizing( AirLoopNum ).NonCoinCoolMassFlow; @@ -5706,7 +5701,7 @@ namespace SimAirServingZones { } - if ( std::abs( SysHeatSizingRat - 1.0 ) > .00001 ) { + if ( std::abs( SysHeatSizingRat - 1.0 ) > 0.00001 ) { FinalSysSizing( AirLoopNum ).CoinHeatMassFlow = SysHeatSizingRat * CalcSysSizing( AirLoopNum ).CoinHeatMassFlow; FinalSysSizing( AirLoopNum ).NonCoinHeatMassFlow = SysHeatSizingRat * CalcSysSizing( AirLoopNum ).NonCoinHeatMassFlow; @@ -5953,7 +5948,6 @@ namespace SimAirServingZones { // Using/Aliasing using namespace DataPrecisionGlobals; - //using namespace DataSizing; using ReportSizingManager::RequestSizing; using InputProcessor::FindItemInList; using Psychrometrics::PsyHFnTdbW; @@ -5975,27 +5969,26 @@ namespace SimAirServingZones { // na // SUBROUTINE LOCAL VARIABLE DECLARATIONS: - std::string CompName; // component name - std::string CompType; // component type - std::string SizingString; // input field sizing description (e.g., Nominal Capacity) - Real64 TempSize; // autosized value - Real64 CoilInTemp; // entering coil air temperature [C] - Real64 CoilInHumRat; // entering coil air humidity ratio [kg/kg] - Real64 CoilInEnth; // entering coil air enthalpy [J/kg] - Real64 CoilOutTemp; // coil outlet air temperature [C] - Real64 CoilOutHumRat; // coil outlet air humidity ratio [kg/kg] - Real64 CoilOutEnth; // coil outlet air enthalpy [J/kg] - Real64 OutAirFrac; // outdoor air fraction [-] - Real64 CpAirStd; // specific heat of air at standard condition + std::string CompName; // component name + std::string CompType; // component type + std::string SizingString; // input field sizing description (e.g., Nominal Capacity) + Real64 TempSize; // autosized value + Real64 CoilInTemp; // entering coil air temperature [C] + Real64 CoilInHumRat; // entering coil air humidity ratio [kg/kg] + Real64 CoilInEnth; // entering coil air enthalpy [J/kg] + Real64 CoilOutTemp; // coil outlet air temperature [C] + Real64 CoilOutHumRat; // coil outlet air humidity ratio [kg/kg] + Real64 CoilOutEnth; // coil outlet air enthalpy [J/kg] + Real64 OutAirFrac; // outdoor air fraction [-] + Real64 CpAirStd; // specific heat of air at standard condition Real64 FractionOfAutosize; // user specified autosized fraction for capacity and supply air flow - Real64 AutosizedCapacity; // autosized heating and cooling capacity - - int NumZonesHeated; // number of zones heated by a system - int NumZonesCooled; // numberof zones cooled by a system - int ZonesHeatedNum; // loop index of zones heated in a system - int ZonesCooledNum; // loop index of zones cooled in a system - int NumZonesForHtg; // Number of heating zones for given primary system - int CtrlZoneNum; // controlled zone index + Real64 AutosizedCapacity; // autosized heating and cooling capacity + int NumZonesHeated; // number of zones heated by a system + int NumZonesCooled; // numberof zones cooled by a system + int ZonesHeatedNum; // loop index of zones heated in a system + int ZonesCooledNum; // loop index of zones cooled in a system + int NumZonesForHtg; // Number of heating zones for given primary system + int CtrlZoneNum; // controlled zone index DataFracOfAutosizedCoolingCapacity = 1.0; DataFracOfAutosizedHeatingCapacity = 1.0; @@ -6005,123 +5998,112 @@ namespace SimAirServingZones { FractionOfAutosize = 1.0; // scalable sizing option for cooling supply air flow rate - { auto const SELECT_CASE_var( FinalSysSizing( AirLoopNum ).ScaleCoolSAFMethod); - if (SELECT_CASE_var == FlowPerFloorArea) { - TempSize = FinalSysSizing( AirLoopNum ).FlowPerFloorAreaCooled * FinalSysSizing( AirLoopNum ).FloorAreaOnAirLoopCooled; - CalcSysSizing( AirLoopNum ).InpDesCoolAirFlow = TempSize; - FinalSysSizing( AirLoopNum ).InpDesCoolAirFlow = TempSize; - - } else if ( SELECT_CASE_var == FractionOfAutosizedCoolingAirflow) { - FractionOfAutosize = FinalSysSizing(AirLoopNum).FractionOfAutosizedCoolingAirflow; - CalcSysSizing( AirLoopNum ).InpDesCoolAirFlow = CalcSysSizing( AirLoopNum ).DesCoolVolFlow * FractionOfAutosize; - FinalSysSizing( AirLoopNum ).InpDesCoolAirFlow = FinalSysSizing( AirLoopNum ).DesCoolVolFlow * FractionOfAutosize; - - } else if (SELECT_CASE_var == FlowPerCoolingCapacity) { - if ( FinalSysSizing( AirLoopNum ).CoolingCapMethod == FractionOfAutosizedCoolingCapacity ) { - FractionOfAutosize = FinalSysSizing( AirLoopNum ).ScaledCoolingCapacity; - } - if (PrimaryAirSystem( AirLoopNum ).NumOACoolCoils == 0) { // there is no precooling of the OA stream - CoilInTemp = FinalSysSizing( AirLoopNum ).CoolMixTemp; - CoilInHumRat = FinalSysSizing( AirLoopNum ).CoolMixHumRat; - } else { // there is precooling of OA stream - if (FinalSysSizing(AirLoopNum).DesCoolVolFlow > 0.0) { - OutAirFrac = FinalSysSizing( AirLoopNum ).DesOutAirVolFlow / FinalSysSizing( AirLoopNum ).DesCoolVolFlow; - } - else { - OutAirFrac = 1.0; - } - OutAirFrac = min( 1.0, max( 0.0, OutAirFrac ) ); - CoilInTemp = OutAirFrac * FinalSysSizing( AirLoopNum).PrecoolTemp + (1.0 - OutAirFrac) * FinalSysSizing( AirLoopNum ).CoolRetTemp; - CoilInHumRat = OutAirFrac * FinalSysSizing( AirLoopNum ).PrecoolHumRat + (1.0 - OutAirFrac)*FinalSysSizing( AirLoopNum ).CoolRetHumRat; + { auto const SELECT_CASE_var( FinalSysSizing( AirLoopNum ).ScaleCoolSAFMethod ); + if( SELECT_CASE_var == FlowPerFloorArea ) { + TempSize = FinalSysSizing( AirLoopNum ).FlowPerFloorAreaCooled * FinalSysSizing( AirLoopNum ).FloorAreaOnAirLoopCooled; + CalcSysSizing( AirLoopNum ).InpDesCoolAirFlow = TempSize; + FinalSysSizing( AirLoopNum ).InpDesCoolAirFlow = TempSize; + } else if( SELECT_CASE_var == FractionOfAutosizedCoolingAirflow ) { + FractionOfAutosize = FinalSysSizing( AirLoopNum ).FractionOfAutosizedCoolingAirflow; + CalcSysSizing( AirLoopNum ).InpDesCoolAirFlow = CalcSysSizing( AirLoopNum ).DesCoolVolFlow * FractionOfAutosize; + FinalSysSizing( AirLoopNum ).InpDesCoolAirFlow = FinalSysSizing( AirLoopNum ).DesCoolVolFlow * FractionOfAutosize; + } else if( SELECT_CASE_var == FlowPerCoolingCapacity ) { + if( FinalSysSizing( AirLoopNum ).CoolingCapMethod == FractionOfAutosizedCoolingCapacity ) { + FractionOfAutosize = FinalSysSizing( AirLoopNum ).ScaledCoolingCapacity; + } + if( PrimaryAirSystem( AirLoopNum ).NumOACoolCoils == 0 ) { // there is no precooling of the OA stream + CoilInTemp = FinalSysSizing( AirLoopNum ).CoolMixTemp; + CoilInHumRat = FinalSysSizing( AirLoopNum ).CoolMixHumRat; + } else { // there is precooling of OA stream + if( FinalSysSizing( AirLoopNum ).DesCoolVolFlow > 0.0 ) { + OutAirFrac = FinalSysSizing( AirLoopNum ).DesOutAirVolFlow / FinalSysSizing( AirLoopNum ).DesCoolVolFlow; + } else { + OutAirFrac = 1.0; } - CoilOutTemp = FinalSysSizing( AirLoopNum ).CoolSupTemp; - CoilOutHumRat = FinalSysSizing( AirLoopNum ).CoolSupHumRat; - CoilInEnth = PsyHFnTdbW( CoilInTemp, CoilInHumRat ); - CoilOutEnth = PsyHFnTdbW( CoilOutTemp, CoilOutHumRat ); - AutosizedCapacity = StdRhoAir * FinalSysSizing( AirLoopNum ).DesCoolVolFlow * ( CoilInEnth - CoilOutEnth ); - TempSize = FinalSysSizing( AirLoopNum ).FlowPerCoolingCapacity * AutosizedCapacity * FractionOfAutosize; - CalcSysSizing( AirLoopNum ).InpDesCoolAirFlow = TempSize; - FinalSysSizing( AirLoopNum ).InpDesCoolAirFlow = TempSize; - } - } + OutAirFrac = min( 1.0, max( 0.0, OutAirFrac ) ); + CoilInTemp = OutAirFrac * FinalSysSizing( AirLoopNum ).PrecoolTemp + ( 1.0 - OutAirFrac ) * FinalSysSizing( AirLoopNum ).CoolRetTemp; + CoilInHumRat = OutAirFrac * FinalSysSizing( AirLoopNum ).PrecoolHumRat + ( 1.0 - OutAirFrac )*FinalSysSizing( AirLoopNum ).CoolRetHumRat; + } + CoilOutTemp = FinalSysSizing( AirLoopNum ).CoolSupTemp; + CoilOutHumRat = FinalSysSizing( AirLoopNum ).CoolSupHumRat; + CoilInEnth = PsyHFnTdbW( CoilInTemp, CoilInHumRat ); + CoilOutEnth = PsyHFnTdbW( CoilOutTemp, CoilOutHumRat ); + AutosizedCapacity = StdRhoAir * FinalSysSizing( AirLoopNum ).DesCoolVolFlow * ( CoilInEnth - CoilOutEnth ); + TempSize = FinalSysSizing( AirLoopNum ).FlowPerCoolingCapacity * AutosizedCapacity * FractionOfAutosize; + CalcSysSizing( AirLoopNum ).InpDesCoolAirFlow = TempSize; + FinalSysSizing( AirLoopNum ).InpDesCoolAirFlow = TempSize; + }} // scalable sizing option for heating supply air flow rate - { auto const SELECT_CASE_var(FinalSysSizing(AirLoopNum).ScaleHeatSAFMethod); - if ( SELECT_CASE_var == FlowPerFloorArea ) { - TempSize = FinalSysSizing( AirLoopNum ).FlowPerFloorAreaHeated * FinalSysSizing( AirLoopNum ).FloorAreaOnAirLoopHeated; - CalcSysSizing( AirLoopNum ).InpDesHeatAirFlow = TempSize; - FinalSysSizing( AirLoopNum ).InpDesHeatAirFlow = TempSize; - - } else if ( SELECT_CASE_var == FractionOfAutosizedHeatingAirflow ) { - FractionOfAutosize = FinalSysSizing( AirLoopNum ).FractionOfAutosizedHeatingAirflow; - CalcSysSizing( AirLoopNum ).InpDesHeatAirFlow = CalcSysSizing( AirLoopNum ).DesHeatVolFlow * FractionOfAutosize; - FinalSysSizing( AirLoopNum ).InpDesHeatAirFlow = FinalSysSizing( AirLoopNum ).DesHeatVolFlow * FractionOfAutosize; - - } else if (SELECT_CASE_var == FractionOfAutosizedCoolingAirflow) { - FractionOfAutosize = FinalSysSizing(AirLoopNum).FractionOfAutosizedCoolingAirflow; - CalcSysSizing( AirLoopNum ).InpDesHeatAirFlow = CalcSysSizing( AirLoopNum ).DesHeatVolFlow * FractionOfAutosize; - FinalSysSizing( AirLoopNum ).InpDesHeatAirFlow = FinalSysSizing( AirLoopNum ).DesHeatVolFlow * FractionOfAutosize; - - } else if (SELECT_CASE_var == FlowPerHeatingCapacity) { - if (FinalSysSizing(AirLoopNum).HeatingCapMethod == FractionOfAutosizedHeatingCapacity) { - FractionOfAutosize = FinalSysSizing(AirLoopNum).ScaledHeatingCapacity; - } - if (FinalSysSizing( AirLoopNum ).HeatOAOption == MinOA) { - if (FinalSysSizing( AirLoopNum ).DesHeatVolFlow > 0.0) { - OutAirFrac = FinalSysSizing(AirLoopNum).DesOutAirVolFlow / FinalSysSizing( AirLoopNum ).DesHeatVolFlow; - } else { - OutAirFrac = 1.0; - } - OutAirFrac = std::min(1.0, std::max(0.0, OutAirFrac)); + { auto const SELECT_CASE_var( FinalSysSizing( AirLoopNum ).ScaleHeatSAFMethod ); + if( SELECT_CASE_var == FlowPerFloorArea ) { + TempSize = FinalSysSizing( AirLoopNum ).FlowPerFloorAreaHeated * FinalSysSizing( AirLoopNum ).FloorAreaOnAirLoopHeated; + CalcSysSizing( AirLoopNum ).InpDesHeatAirFlow = TempSize; + FinalSysSizing( AirLoopNum ).InpDesHeatAirFlow = TempSize; + } else if( SELECT_CASE_var == FractionOfAutosizedHeatingAirflow ) { + FractionOfAutosize = FinalSysSizing( AirLoopNum ).FractionOfAutosizedHeatingAirflow; + CalcSysSizing( AirLoopNum ).InpDesHeatAirFlow = CalcSysSizing( AirLoopNum ).DesHeatVolFlow * FractionOfAutosize; + FinalSysSizing( AirLoopNum ).InpDesHeatAirFlow = FinalSysSizing( AirLoopNum ).DesHeatVolFlow * FractionOfAutosize; + } else if( SELECT_CASE_var == FractionOfAutosizedCoolingAirflow ) { + FractionOfAutosize = FinalSysSizing( AirLoopNum ).FractionOfAutosizedCoolingAirflow; + CalcSysSizing( AirLoopNum ).InpDesHeatAirFlow = CalcSysSizing( AirLoopNum ).DesHeatVolFlow * FractionOfAutosize; + FinalSysSizing( AirLoopNum ).InpDesHeatAirFlow = FinalSysSizing( AirLoopNum ).DesHeatVolFlow * FractionOfAutosize; + } else if( SELECT_CASE_var == FlowPerHeatingCapacity ) { + if( FinalSysSizing( AirLoopNum ).HeatingCapMethod == FractionOfAutosizedHeatingCapacity ) { + FractionOfAutosize = FinalSysSizing( AirLoopNum ).ScaledHeatingCapacity; + } + if( FinalSysSizing( AirLoopNum ).HeatOAOption == MinOA ) { + if( FinalSysSizing( AirLoopNum ).DesHeatVolFlow > 0.0 ) { + OutAirFrac = FinalSysSizing( AirLoopNum ).DesOutAirVolFlow / FinalSysSizing( AirLoopNum ).DesHeatVolFlow; } else { OutAirFrac = 1.0; } - if (CurOASysNum == 0 && PrimaryAirSystem( AirLoopNum ).NumOAHeatCoils > 0) { - CoilInTemp = OutAirFrac * FinalSysSizing( AirLoopNum ).PreheatTemp + (1.0 - OutAirFrac) * FinalSysSizing( AirLoopNum ).HeatRetTemp; - } else { - CoilInTemp = OutAirFrac * FinalSysSizing( AirLoopNum ).HeatOutTemp + (1.0 - OutAirFrac) * FinalSysSizing( AirLoopNum ).HeatRetTemp; - } - CoilOutTemp = FinalSysSizing( AirLoopNum ).HeatSupTemp; - CpAirStd = PsyCpAirFnWTdb(constant_zero, constant_twenty); - AutosizedCapacity = StdRhoAir * FinalSysSizing( AirLoopNum ).DesHeatVolFlow * CpAirStd * (CoilOutTemp - CoilInTemp); - TempSize = FinalSysSizing( AirLoopNum ).FlowPerHeatingCapacity * AutosizedCapacity * FractionOfAutosize; - CalcSysSizing( AirLoopNum ).InpDesHeatAirFlow = TempSize; - FinalSysSizing( AirLoopNum ).InpDesHeatAirFlow = TempSize; + OutAirFrac = std::min( 1.0, std::max( 0.0, OutAirFrac ) ); + } else { + OutAirFrac = 1.0; } - } - + if( CurOASysNum == 0 && PrimaryAirSystem( AirLoopNum ).NumOAHeatCoils > 0 ) { + CoilInTemp = OutAirFrac * FinalSysSizing( AirLoopNum ).PreheatTemp + ( 1.0 - OutAirFrac ) * FinalSysSizing( AirLoopNum ).HeatRetTemp; + } else { + CoilInTemp = OutAirFrac * FinalSysSizing( AirLoopNum ).HeatOutTemp + ( 1.0 - OutAirFrac ) * FinalSysSizing( AirLoopNum ).HeatRetTemp; + } + CoilOutTemp = FinalSysSizing( AirLoopNum ).HeatSupTemp; + CpAirStd = PsyCpAirFnWTdb( constant_zero, constant_twenty ); + AutosizedCapacity = StdRhoAir * FinalSysSizing( AirLoopNum ).DesHeatVolFlow * CpAirStd * ( CoilOutTemp - CoilInTemp ); + TempSize = FinalSysSizing( AirLoopNum ).FlowPerHeatingCapacity * AutosizedCapacity * FractionOfAutosize; + CalcSysSizing( AirLoopNum ).InpDesHeatAirFlow = TempSize; + FinalSysSizing( AirLoopNum ).InpDesHeatAirFlow = TempSize; + }} + // save the total cooling capacity sizing data for scalable sizing - { auto const SELECT_CASE_var(FinalSysSizing( AirLoopNum ).CoolingCapMethod); - if (SELECT_CASE_var == CoolingDesignCapacity){ - if (CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity > 0.0) { - CalcSysSizing( AirLoopNum ).CoolingTotalCapacity = CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity; - FinalSysSizing( AirLoopNum ).CoolingTotalCapacity = CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity; - } else { - FinalSysSizing( AirLoopNum ).CoolingTotalCapacity = 0.0; // autosized, set to zero initially - } - } else if (SELECT_CASE_var == CapacityPerFloorArea) { - FinalSysSizing( AirLoopNum ).CoolingTotalCapacity = CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity * CalcSysSizing( AirLoopNum ).FloorAreaOnAirLoopCooled; - } else if (SELECT_CASE_var == FractionOfAutosizedCoolingCapacity) { - CalcSysSizing( AirLoopNum ).FractionOfAutosizedCoolingCapacity = CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity; - FinalSysSizing( AirLoopNum ).FractionOfAutosizedCoolingCapacity = CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity; + { auto const SELECT_CASE_var( FinalSysSizing( AirLoopNum ).CoolingCapMethod ); + if( SELECT_CASE_var == CoolingDesignCapacity ){ + if( CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity > 0.0 ) { + CalcSysSizing( AirLoopNum ).CoolingTotalCapacity = CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity; + FinalSysSizing( AirLoopNum ).CoolingTotalCapacity = CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity; + } else { + FinalSysSizing( AirLoopNum ).CoolingTotalCapacity = 0.0; // autosized, set to zero initially } - - } + } else if( SELECT_CASE_var == CapacityPerFloorArea ) { + FinalSysSizing( AirLoopNum ).CoolingTotalCapacity = CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity * CalcSysSizing( AirLoopNum ).FloorAreaOnAirLoopCooled; + } else if( SELECT_CASE_var == FractionOfAutosizedCoolingCapacity ) { + CalcSysSizing( AirLoopNum ).FractionOfAutosizedCoolingCapacity = CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity; + FinalSysSizing( AirLoopNum ).FractionOfAutosizedCoolingCapacity = CalcSysSizing( AirLoopNum ).ScaledCoolingCapacity; + }} // save the total heating capacity sizing data for scalable sizing - { auto const SELECT_CASE_var(FinalSysSizing(AirLoopNum).HeatingCapMethod); - if (SELECT_CASE_var == HeatingDesignCapacity){ - if (CalcSysSizing( AirLoopNum ).ScaledHeatingCapacity > 0.0) { - FinalSysSizing( AirLoopNum ).HeatingTotalCapacity= CalcSysSizing( AirLoopNum ).ScaledHeatingCapacity; - }else { - FinalSysSizing( AirLoopNum ).HeatingTotalCapacity = 0.0; // autosized, set to zero initially - } - } else if (SELECT_CASE_var == CapacityPerFloorArea) { - FinalSysSizing( AirLoopNum ).HeatingTotalCapacity = CalcSysSizing( AirLoopNum ).ScaledHeatingCapacity * CalcSysSizing( AirLoopNum ).FloorAreaOnAirLoopHeated; - } else if (SELECT_CASE_var == FractionOfAutosizedHeatingCapacity) { - FinalSysSizing( AirLoopNum ).FractionOfAutosizedHeatingCapacity = CalcSysSizing( AirLoopNum ).ScaledHeatingCapacity; + { auto const SELECT_CASE_var( FinalSysSizing( AirLoopNum ).HeatingCapMethod ); + if( SELECT_CASE_var == HeatingDesignCapacity ){ + if( CalcSysSizing( AirLoopNum ).ScaledHeatingCapacity > 0.0 ) { + FinalSysSizing( AirLoopNum ).HeatingTotalCapacity = CalcSysSizing( AirLoopNum ).ScaledHeatingCapacity; + } else { + FinalSysSizing( AirLoopNum ).HeatingTotalCapacity = 0.0; // autosized, set to zero initially } - } + } else if( SELECT_CASE_var == CapacityPerFloorArea ) { + FinalSysSizing( AirLoopNum ).HeatingTotalCapacity = CalcSysSizing( AirLoopNum ).ScaledHeatingCapacity * CalcSysSizing( AirLoopNum ).FloorAreaOnAirLoopHeated; + } else if( SELECT_CASE_var == FractionOfAutosizedHeatingCapacity ) { + FinalSysSizing( AirLoopNum ).FractionOfAutosizedHeatingCapacity = CalcSysSizing( AirLoopNum ).ScaledHeatingCapacity; + }} } } diff --git a/src/EnergyPlus/SizingManager.cc b/src/EnergyPlus/SizingManager.cc index 69bd832e2a9..028df3f3532 100644 --- a/src/EnergyPlus/SizingManager.cc +++ b/src/EnergyPlus/SizingManager.cc @@ -1494,7 +1494,7 @@ namespace SizingManager { // \note This input is used if Cooling Design Air Flow Method is design day with limit if ( lNumericFieldBlanks( 10 ) ) { if ( rNumericArgs( 10 ) <= 0.0 ) { // in case someone changes the default in the IDD - ZoneSizingInput( ZoneSizIndex ).DesCoolMinAirFlowPerArea = .000762; + ZoneSizingInput( ZoneSizIndex ).DesCoolMinAirFlowPerArea = 0.000762; } else { ZoneSizingInput( ZoneSizIndex ).DesCoolMinAirFlowPerArea = rNumericArgs( 10 ); } @@ -1801,45 +1801,41 @@ namespace SizingManager { //Sizing:System; - int const iNameAlphaNum = 1; // A1, \field AirLoop Name - int const iLoadTypeSizeAlphaNum = 2; // A2, \field Type of Load to Size On - int const iDesignOAVolFlowNumericNum = 1; // N1, \field Design Outdoor Air Flow Rate - int const iMinSysAirFlowRatioNumericNum = 2; // N2, \field Minimum System Air Flow Ratio - int const iPreheatDesignTempNumericNum = 3; // N3, \field Preheat Design Temperature + int const iNameAlphaNum = 1; // A1, \field AirLoop Name + int const iLoadTypeSizeAlphaNum = 2; // A2, \field Type of Load to Size On + int const iDesignOAVolFlowNumericNum = 1; // N1, \field Design Outdoor Air Flow Rate + int const iMinSysAirFlowRatioNumericNum = 2; // N2, \field Minimum System Air Flow Ratio + int const iPreheatDesignTempNumericNum = 3; // N3, \field Preheat Design Temperature int const iPreheatDesignHumRatNumericNum = 4; // N4, \field Preheat Design Humidity Ratio - int const iPrecoolDesignTempNumericNum = 5; // N5, \field Precool Design Temperature + int const iPrecoolDesignTempNumericNum = 5; // N5, \field Precool Design Temperature int const iPrecoolDesignHumRatNumericNum = 6; // N6, \field Precool Design Humidity Ratio int const iCentralCoolDesignSATempNumericNum = 7; // N7, \field Central Cooling Design Supply Air Temperature int const iCentralHeatDesignSATempNumericNum = 8; // N8, \field Central Heating Design Supply Air Temperature - - int const iSizingOptionAlphaNum = 3; // A3, \field Sizing Option - int const i100PercentOACoolingAlphaNum = 4; // A4, \field 100% Outdoor Air in Cooling - int const i100PercentOAHeatingAlphaNum = 5; // A5, \field 100% Outdoor Air in Heating - int const iCentralCoolDesignSAHumRatNumericNum = 9; // N9, \field Central Cooling Design Supply Air Humidity Ratio + int const iSizingOptionAlphaNum = 3; // A3, \field Sizing Option + int const i100PercentOACoolingAlphaNum = 4; // A4, \field 100% Outdoor Air in Cooling + int const i100PercentOAHeatingAlphaNum = 5; // A5, \field 100% Outdoor Air in Heating + int const iCentralCoolDesignSAHumRatNumericNum = 9; // N9, \field Central Cooling Design Supply Air Humidity Ratio int const iCentralHeatDesignSAHumRatNumericNum = 10; // N10, \field Central Heating Design Supply Air Humidity Ratio - - int const iCoolSAFMAlphaNum = 6; // A6, \field Cooling Design Air Flow Method - int const iMaxCoolAirVolFlowNumericNum = 11; // N11, \field Cooling Design Air Flow Rate {m3/s} + int const iCoolSAFMAlphaNum = 6; // A6, \field Cooling Design Air Flow Method + int const iMaxCoolAirVolFlowNumericNum = 11; // N11, \field Cooling Design Air Flow Rate {m3/s} int const iCoolFlowPerFloorAreaNumericNum = 12; // N12, \field Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} - int const iCoolFlowPerFracCoolNumericNum = 13; // N13, \field Fraction of Autosized Design Cooling Supply Air Flow Rate {-} - int const iCoolFlowPerCoolCapNumericNum = 14; // N14, \field Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} - - int const iHeatSAFMAlphaNum = 7; // A7, \field Heating Design Air Flow Method - int const iMaxHeatAirVolFlowNumericNum = 15; // N15, \field Heating Design Air Flow Rate {m3/s} + int const iCoolFlowPerFracCoolNumericNum = 13; // N13, \field Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + int const iCoolFlowPerCoolCapNumericNum = 14; // N14, \field Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} + int const iHeatSAFMAlphaNum = 7; // A7, \field Heating Design Air Flow Method + int const iMaxHeatAirVolFlowNumericNum = 15; // N15, \field Heating Design Air Flow Rate {m3/s} int const iHeatFlowPerFloorAreaNumericNum = 16; // N16, \field Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} - int const iHeatFlowPerFracHeatNumericNum = 17; // N17, \field Fraction of Autosized Design Heating Supply Air Flow Rate {-} - int const iHeatFlowPerFracCoolNumericNum = 18; // N18, \field Fraction of Autosized Design Cooling Supply Air Flow Rate {-} - int const iHeatFlowPerHeatCapNumericNum = 19; // N19, \field Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} - int const iSystemOASMethodAlphaNum = 8; // A8, \field System Outdoor Air Method - int const iZoneMaxOAFractionNumericNum = 20; // N20, \field Zone Maximum Outdoor Air Fraction - - int const iCoolCAPMAlphaNum( 9 ); // A9, \field Cooling Design Capacity Method - int const iCoolDesignCapacityNumericNum( 21 ); // N21, \field Cooling Design Capacity {W} - int const iCoolCapacityPerFloorAreaNumericNum( 22 ); // N22, \field Cooling Design Capacity Per Floor Area {W/m2} + int const iHeatFlowPerFracHeatNumericNum = 17; // N17, \field Fraction of Autosized Design Heating Supply Air Flow Rate {-} + int const iHeatFlowPerFracCoolNumericNum = 18; // N18, \field Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + int const iHeatFlowPerHeatCapNumericNum = 19; // N19, \field Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} + int const iSystemOASMethodAlphaNum = 8; // A8, \field System Outdoor Air Method + int const iZoneMaxOAFractionNumericNum = 20; // N20, \field Zone Maximum Outdoor Air Fraction + int const iCoolCAPMAlphaNum( 9 ); // A9, \field Cooling Design Capacity Method + int const iCoolDesignCapacityNumericNum( 21 ); // N21, \field Cooling Design Capacity {W} + int const iCoolCapacityPerFloorAreaNumericNum( 22 ); // N22, \field Cooling Design Capacity Per Floor Area {W/m2} int const iCoolFracOfAutosizedCapacityNumericNum( 23 ); // N23, \field Fraction of Autosized Cooling Design Capacity {-} - int const iHeatCAPMAlphaNum( 10 ); // A10, \field Heating Design Capacity Method - int const iHeatDesignCapacityNumericNum( 24 ); // N24, \field Heating Design Capacity {W} - int const iHeatCapacityPerFloorAreaNumericNum( 25 ); // N25, \field Heating Design Capacity Per Floor Area {W/m2} + int const iHeatCAPMAlphaNum( 10 ); // A10, \field Heating Design Capacity Method + int const iHeatDesignCapacityNumericNum( 24 ); // N24, \field Heating Design Capacity {W} + int const iHeatCapacityPerFloorAreaNumericNum( 25 ); // N25, \field Heating Design Capacity Per Floor Area {W/m2} int const iHeatFracOfAutosizedCapacityNumericNum( 26 ); // N26, \field Fraction of Autosized Cooling Design Capacity {-} @@ -1969,13 +1965,13 @@ namespace SizingManager { } else { SysSizInput( SysSizIndex ).SysAirMinFlowRat = rNumericArgs( iMinSysAirFlowRatioNumericNum ); } - //int const iPreheatDesignTempNumericNum = 3; // N3, \field Preheat Design Temperature + //int const iPreheatDesignTempNumericNum = 3; // N3, \field Preheat Design Temperature //int const iPreheatDesignHumRatNumericNum = 4; // N4, \field Preheat Design Humidity Ratio - //int const iPrecoolDesignTempNumericNum = 5; // N5, \field Precool Design Temperature + //int const iPrecoolDesignTempNumericNum = 5; // N5, \field Precool Design Temperature //int const iPrecoolDesignHumRatNumericNum = 6; // N6, \field Precool Design Humidity Ratio //int const iCentralCoolDesignSATempNumericNum = 7; // N7, \field Central Cooling Design Supply Air Temperature //int const iCentralHeatDesignSATempNumericNum = 8; // N8, \field Central Heating Design Supply Air Temperature - //int const iCentralCoolDesignSAHumRatNumericNum = 9; // N9, \field Central Cooling Design Supply Air Humidity Ratio + //int const iCentralCoolDesignSAHumRatNumericNum = 9; // N9, \field Central Cooling Design Supply Air Humidity Ratio //int const iCentralHeatDesignSAHumRatNumericNum = 10; // N10, \field Central Heating Design Supply Air Humidity Ratio SysSizInput( SysSizIndex ).PreheatTemp = rNumericArgs( iPreheatDesignTempNumericNum ); SysSizInput( SysSizIndex ).PreheatHumRat = rNumericArgs( iPreheatDesignHumRatNumericNum ); @@ -1993,11 +1989,11 @@ namespace SizingManager { // \units m3/s // \minimum 0 // \default 0 - //int const iCoolSAFMAlphaNum = 6; // A6, \field Cooling Design Air Flow Method - //int const iMaxCoolAirVolFlowNumericNum = 11; // N11, \field Cooling Design Air Flow Rate {m3/s} + //int const iCoolSAFMAlphaNum = 6; // A6, \field Cooling Design Air Flow Method + //int const iMaxCoolAirVolFlowNumericNum = 11; // N11, \field Cooling Design Air Flow Rate {m3/s} //int const iCoolFlowPerFloorAreaNumericNum = 12; // N12, \field Supply Air Flow Rate Per Floor Area During Cooling Operation {m3/s-m2} - //int const iCoolFlowPerFracCoolNumericNum = 13; // N13, \field Fraction of Autosized Design Cooling Supply Air Flow Rate {-} - //int const iCoolFlowPerCoolCapNumericNum = 14; // N14, \field Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} + //int const iCoolFlowPerFracCoolNumericNum = 13; // N13, \field Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + //int const iCoolFlowPerCoolCapNumericNum = 14; // N14, \field Design Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W} if ( lNumericFieldBlanks( iMaxCoolAirVolFlowNumericNum ) ) { @@ -2018,12 +2014,12 @@ namespace SizingManager { // \units m3/s // \minimum 0 // \default 0 - //int const iHeatSAFMAlphaNum = 7; // A7, \field Heating Design Air Flow Method - //int const iMaxHeatAirVolFlowNumericNum = 12; // N15, \field Heating Design Air Flow Rate {m3/s} + //int const iHeatSAFMAlphaNum = 7; // A7, \field Heating Design Air Flow Method + //int const iMaxHeatAirVolFlowNumericNum = 12; // N15, \field Heating Design Air Flow Rate {m3/s} //int const iHeatFlowPerFloorAreaNumericNum = 16; // N16, \field Supply Air Flow Rate Per Floor Area During Heating Operation {m3/s-m2} - //int const iHeatFlowPerFracHeatNumericNum = 17; // N17, \field Fraction of Autosized Design Heating Supply Air Flow Rate {-} - //int const iHeatFlowPerFracCoolNumericNum = 18; // N18, \field Fraction of Autosized Design Cooling Supply Air Flow Rate {-} - //int const iHeatFlowPerHeatCapNumericNum = 19; // N19, \field Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} + //int const iHeatFlowPerFracHeatNumericNum = 17; // N17, \field Fraction of Autosized Design Heating Supply Air Flow Rate {-} + //int const iHeatFlowPerFracCoolNumericNum = 18; // N18, \field Fraction of Autosized Design Cooling Supply Air Flow Rate {-} + //int const iHeatFlowPerHeatCapNumericNum = 19; // N19, \field Design Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W} // add input fields for other cooling sizing methods if ( lNumericFieldBlanks( iMaxHeatAirVolFlowNumericNum ) ) { SysSizInput( SysSizIndex ).DesHeatAirFlow = 0.0; @@ -2039,8 +2035,8 @@ namespace SizingManager { // \default 1.0 // \minimum> 0.0 // \units dimensionless - //int const iSystemOASMethodAlphaNum = 8; // A8, \field System Outdoor Air Method - //int const iZoneMaxOAFractionNumericNum = 13; // N20, \field Zone Maximum Outdoor Air Fraction + //int const iSystemOASMethodAlphaNum = 8; // A8, \field System Outdoor Air Method + //int const iZoneMaxOAFractionNumericNum = 13; // N20, \field Zone Maximum Outdoor Air Fraction // add input fields for other heating sizing methods if ( lNumericFieldBlanks ( iZoneMaxOAFractionNumericNum ) ) { @@ -2119,56 +2115,56 @@ namespace SizingManager { }} // Determine SysSizInput electric Cooling design capacity sizing method - if (SameString(cAlphaArgs(iCoolCAPMAlphaNum), "COOLINGDESIGNCAPACITY")) { - SysSizInput(SysSizIndex).CoolingCapMethod = CoolingDesignCapacity; - - if (!lNumericFieldBlanks(iCoolDesignCapacityNumericNum)) { - SysSizInput(SysSizIndex).ScaledCoolingCapacity = rNumericArgs(iCoolDesignCapacityNumericNum); - if (SysSizInput(SysSizIndex).ScaledCoolingCapacity < 0.0 && SysSizInput(SysSizIndex).ScaledCoolingCapacity != AutoSize) { - ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - ShowContinueError("Illegal " + cNumericFieldNames(iCoolDesignCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iCoolDesignCapacityNumericNum), 7)); + if( SameString( cAlphaArgs( iCoolCAPMAlphaNum ), "COOLINGDESIGNCAPACITY" ) ) { + SysSizInput( SysSizIndex ).CoolingCapMethod = CoolingDesignCapacity; + + if( !lNumericFieldBlanks( iCoolDesignCapacityNumericNum ) ) { + SysSizInput( SysSizIndex ).ScaledCoolingCapacity = rNumericArgs( iCoolDesignCapacityNumericNum ); + if( SysSizInput( SysSizIndex ).ScaledCoolingCapacity < 0.0 && SysSizInput( SysSizIndex ).ScaledCoolingCapacity != AutoSize ) { + ShowSevereError( cCurrentModuleObject + " = " + SysSizInput( SysSizIndex ).AirPriLoopName ); + ShowContinueError( "Illegal " + cNumericFieldNames( iCoolDesignCapacityNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iCoolDesignCapacityNumericNum ), 7 ) ); ErrorsFound = true; } } else { - ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - ShowContinueError("Input for " + cAlphaFieldNames(iCoolCAPMAlphaNum) + " = " + cAlphaArgs(iCoolCAPMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iCoolDesignCapacityNumericNum)); + ShowSevereError( cCurrentModuleObject + " = " + SysSizInput( SysSizIndex ).AirPriLoopName ); + ShowContinueError( "Input for " + cAlphaFieldNames( iCoolCAPMAlphaNum ) + " = " + cAlphaArgs( iCoolCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFieldNames( iCoolDesignCapacityNumericNum ) ); ErrorsFound = true; } - } else if (SameString(cAlphaArgs(iCoolCAPMAlphaNum), "CAPACITYPERFLOORAREA")) { - SysSizInput(SysSizIndex).CoolingCapMethod = CapacityPerFloorArea; - if (!lNumericFieldBlanks(iCoolCapacityPerFloorAreaNumericNum)) { - SysSizInput(SysSizIndex).ScaledCoolingCapacity = rNumericArgs(iCoolCapacityPerFloorAreaNumericNum); - if (SysSizInput(SysSizIndex).ScaledCoolingCapacity <= 0.0) { - ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - ShowContinueError("Input for " + cAlphaFieldNames(iCoolCAPMAlphaNum) + " = " + cAlphaArgs(iCoolCAPMAlphaNum)); - ShowContinueError("Illegal " + cNumericFieldNames(iCoolCapacityPerFloorAreaNumericNum) + " = " + TrimSigDigits(rNumericArgs(iCoolCapacityPerFloorAreaNumericNum), 7)); + } else if( SameString( cAlphaArgs( iCoolCAPMAlphaNum ), "CAPACITYPERFLOORAREA" ) ) { + SysSizInput( SysSizIndex ).CoolingCapMethod = CapacityPerFloorArea; + if( !lNumericFieldBlanks( iCoolCapacityPerFloorAreaNumericNum ) ) { + SysSizInput( SysSizIndex ).ScaledCoolingCapacity = rNumericArgs( iCoolCapacityPerFloorAreaNumericNum ); + if( SysSizInput( SysSizIndex ).ScaledCoolingCapacity <= 0.0 ) { + ShowSevereError( cCurrentModuleObject + " = " + SysSizInput( SysSizIndex ).AirPriLoopName ); + ShowContinueError( "Input for " + cAlphaFieldNames( iCoolCAPMAlphaNum ) + " = " + cAlphaArgs( iCoolCAPMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFieldNames( iCoolCapacityPerFloorAreaNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iCoolCapacityPerFloorAreaNumericNum ), 7 ) ); ErrorsFound = true; - } else if (SysSizInput(SysSizIndex).ScaledCoolingCapacity == AutoSize) { - ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - ShowContinueError("Input for " + cAlphaFieldNames(iCoolCAPMAlphaNum) + " = " + cAlphaArgs(iCoolCAPMAlphaNum)); - ShowContinueError("Illegal " + cNumericFieldNames(iCoolCapacityPerFloorAreaNumericNum) + " = Autosize"); + } else if( SysSizInput( SysSizIndex ).ScaledCoolingCapacity == AutoSize ) { + ShowSevereError( cCurrentModuleObject + " = " + SysSizInput( SysSizIndex ).AirPriLoopName ); + ShowContinueError( "Input for " + cAlphaFieldNames( iCoolCAPMAlphaNum ) + " = " + cAlphaArgs( iCoolCAPMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFieldNames( iCoolCapacityPerFloorAreaNumericNum ) + " = Autosize" ); ErrorsFound = true; } } else { - ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - ShowContinueError("Input for " + cAlphaFieldNames(iCoolCAPMAlphaNum) + " = " + cAlphaArgs(iCoolCAPMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iCoolCapacityPerFloorAreaNumericNum)); + ShowSevereError( cCurrentModuleObject + " = " + SysSizInput( SysSizIndex ).AirPriLoopName ); + ShowContinueError( "Input for " + cAlphaFieldNames( iCoolCAPMAlphaNum ) + " = " + cAlphaArgs( iCoolCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFieldNames( iCoolCapacityPerFloorAreaNumericNum ) ); ErrorsFound = true; } - } else if (SameString(cAlphaArgs(iCoolCAPMAlphaNum), "FRACTIONOFAUTOSIZEDCOOLINGCAPACITY")){ - SysSizInput(SysSizIndex).CoolingCapMethod = FractionOfAutosizedCoolingCapacity; - if (!lNumericFieldBlanks(iCoolFracOfAutosizedCapacityNumericNum)) { - SysSizInput(SysSizIndex).ScaledCoolingCapacity = rNumericArgs(iCoolFracOfAutosizedCapacityNumericNum); - if (SysSizInput(SysSizIndex).ScaledCoolingCapacity < 0.0) { - ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - ShowContinueError("Illegal " + cNumericFieldNames(iCoolFracOfAutosizedCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iCoolFracOfAutosizedCapacityNumericNum), 7)); + } else if( SameString( cAlphaArgs( iCoolCAPMAlphaNum ), "FRACTIONOFAUTOSIZEDCOOLINGCAPACITY" ) ){ + SysSizInput( SysSizIndex ).CoolingCapMethod = FractionOfAutosizedCoolingCapacity; + if( !lNumericFieldBlanks( iCoolFracOfAutosizedCapacityNumericNum ) ) { + SysSizInput( SysSizIndex ).ScaledCoolingCapacity = rNumericArgs( iCoolFracOfAutosizedCapacityNumericNum ); + if( SysSizInput( SysSizIndex ).ScaledCoolingCapacity < 0.0 ) { + ShowSevereError( cCurrentModuleObject + " = " + SysSizInput( SysSizIndex ).AirPriLoopName ); + ShowContinueError( "Illegal " + cNumericFieldNames( iCoolFracOfAutosizedCapacityNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iCoolFracOfAutosizedCapacityNumericNum ), 7 ) ); ErrorsFound = true; } } else { - ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - ShowContinueError("Input for " + cAlphaFieldNames(iCoolCAPMAlphaNum) + " = " + cAlphaArgs(iCoolCAPMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iCoolFracOfAutosizedCapacityNumericNum)); + ShowSevereError( cCurrentModuleObject + " = " + SysSizInput( SysSizIndex ).AirPriLoopName ); + ShowContinueError( "Input for " + cAlphaFieldNames( iCoolCAPMAlphaNum ) + " = " + cAlphaArgs( iCoolCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFieldNames( iCoolFracOfAutosizedCapacityNumericNum ) ); ErrorsFound = true; } } else { @@ -2179,56 +2175,56 @@ namespace SizingManager { // Determine SysSizInput electric heating design capacity sizing method - if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "HEATINGDESIGNCAPACITY")) { - SysSizInput(SysSizIndex).HeatingCapMethod = HeatingDesignCapacity; - - if (!lNumericFieldBlanks(iHeatDesignCapacityNumericNum)) { - SysSizInput(SysSizIndex).ScaledHeatingCapacity = rNumericArgs(iHeatDesignCapacityNumericNum); - if (SysSizInput(SysSizIndex).ScaledHeatingCapacity < 0.0 && SysSizInput(SysSizIndex).ScaledHeatingCapacity != AutoSize) { - ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - ShowContinueError("Illegal " + cNumericFieldNames(iHeatDesignCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatDesignCapacityNumericNum), 7)); + if( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "HEATINGDESIGNCAPACITY" ) ) { + SysSizInput( SysSizIndex ).HeatingCapMethod = HeatingDesignCapacity; + + if( !lNumericFieldBlanks( iHeatDesignCapacityNumericNum ) ) { + SysSizInput( SysSizIndex ).ScaledHeatingCapacity = rNumericArgs( iHeatDesignCapacityNumericNum ); + if( SysSizInput( SysSizIndex ).ScaledHeatingCapacity < 0.0 && SysSizInput( SysSizIndex ).ScaledHeatingCapacity != AutoSize ) { + ShowSevereError( cCurrentModuleObject + " = " + SysSizInput( SysSizIndex ).AirPriLoopName ); + ShowContinueError( "Illegal " + cNumericFieldNames( iHeatDesignCapacityNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iHeatDesignCapacityNumericNum ), 7 ) ); ErrorsFound = true; } } else { - ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatDesignCapacityNumericNum)); + ShowSevereError( cCurrentModuleObject + " = " + SysSizInput( SysSizIndex ).AirPriLoopName ); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFieldNames( iHeatDesignCapacityNumericNum ) ); ErrorsFound = true; } - } else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "CAPACITYPERFLOORAREA")) { - SysSizInput(SysSizIndex).HeatingCapMethod = CapacityPerFloorArea; - if (!lNumericFieldBlanks(iHeatCapacityPerFloorAreaNumericNum)) { - SysSizInput(SysSizIndex).ScaledHeatingCapacity = rNumericArgs(iHeatCapacityPerFloorAreaNumericNum); - if (SysSizInput(SysSizIndex).ScaledHeatingCapacity <= 0.0) { - ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatCapacityPerFloorAreaNumericNum), 7)); + } else if( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "CAPACITYPERFLOORAREA" ) ) { + SysSizInput( SysSizIndex ).HeatingCapMethod = CapacityPerFloorArea; + if( !lNumericFieldBlanks( iHeatCapacityPerFloorAreaNumericNum ) ) { + SysSizInput( SysSizIndex ).ScaledHeatingCapacity = rNumericArgs( iHeatCapacityPerFloorAreaNumericNum ); + if( SysSizInput( SysSizIndex ).ScaledHeatingCapacity <= 0.0 ) { + ShowSevereError( cCurrentModuleObject + " = " + SysSizInput( SysSizIndex ).AirPriLoopName ); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFieldNames( iHeatCapacityPerFloorAreaNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iHeatCapacityPerFloorAreaNumericNum ), 7 ) ); ErrorsFound = true; - } else if (SysSizInput(SysSizIndex).ScaledHeatingCapacity == AutoSize) { - ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = Autosize"); + } else if( SysSizInput( SysSizIndex ).ScaledHeatingCapacity == AutoSize ) { + ShowSevereError( cCurrentModuleObject + " = " + SysSizInput( SysSizIndex ).AirPriLoopName ); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFieldNames( iHeatCapacityPerFloorAreaNumericNum ) + " = Autosize" ); ErrorsFound = true; } } else { - ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum)); + ShowSevereError( cCurrentModuleObject + " = " + SysSizInput( SysSizIndex ).AirPriLoopName ); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFieldNames( iHeatCapacityPerFloorAreaNumericNum ) ); ErrorsFound = true; } - } else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "FRACTIONOFAUTOSIZEDHEATINGCAPACITY")){ - SysSizInput(SysSizIndex).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; - if (!lNumericFieldBlanks(iHeatFracOfAutosizedCapacityNumericNum)) { - SysSizInput(SysSizIndex).ScaledHeatingCapacity = rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum); - if (SysSizInput(SysSizIndex).ScaledHeatingCapacity < 0.0) { - ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - ShowContinueError("Illegal " + cNumericFieldNames(iHeatFracOfAutosizedCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum), 7)); + } else if( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "FRACTIONOFAUTOSIZEDHEATINGCAPACITY" ) ){ + SysSizInput( SysSizIndex ).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; + if( !lNumericFieldBlanks( iHeatFracOfAutosizedCapacityNumericNum ) ) { + SysSizInput( SysSizIndex ).ScaledHeatingCapacity = rNumericArgs( iHeatFracOfAutosizedCapacityNumericNum ); + if( SysSizInput( SysSizIndex ).ScaledHeatingCapacity < 0.0 ) { + ShowSevereError( cCurrentModuleObject + " = " + SysSizInput( SysSizIndex ).AirPriLoopName ); + ShowContinueError( "Illegal " + cNumericFieldNames( iHeatFracOfAutosizedCapacityNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iHeatFracOfAutosizedCapacityNumericNum ), 7 ) ); ErrorsFound = true; } } else { - ShowSevereError(cCurrentModuleObject + " = " + SysSizInput(SysSizIndex).AirPriLoopName); - ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatFracOfAutosizedCapacityNumericNum)); + ShowSevereError( cCurrentModuleObject + " = " + SysSizInput( SysSizIndex ).AirPriLoopName ); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFieldNames( iHeatFracOfAutosizedCapacityNumericNum ) ); ErrorsFound = true; } } else { @@ -2239,7 +2235,6 @@ namespace SizingManager { } - if ( ErrorsFound ) { ShowFatalError( cCurrentModuleObject + ": Errors found in getting input. Program terminates." ); } @@ -2594,8 +2589,7 @@ namespace SizingManager { void - GetZoneHVACSizing() - { + GetZoneHVACSizing( ) { // SUBROUTINE INFORMATION: // AUTHOR B. Nigusse - FSEC @@ -2632,7 +2626,7 @@ namespace SizingManager { // na // SUBROUTINE PARAMETER DEFINITIONS: - static std::string const RoutineName("GetZoneHVACSizing: "); // include trailing blank space + static std::string const RoutineName( "GetZoneHVACSizing: " ); // include trailing blank space // INTERFACE BLOCK SPECIFICATIONS // na @@ -2706,7 +2700,7 @@ namespace SizingManager { int TotalArgs; // Total number of alpha and numeric arguments (max) for a int IOStatus; // Used in GetObjectItem int zSIndex; // index of "DesignSpecification:ZoneHVAC:Sizing" objects - static bool ErrorsFound(false); // If errors detected in input + static bool ErrorsFound( false ); // If errors detected in input bool IsNotOK; // Flag to verify name bool IsBlank; // Flag for blank name // REAL(r64) :: CalcAmt @@ -2720,27 +2714,27 @@ namespace SizingManager { FArray1D_bool lNumericBlanks; // Logical array, numeric field input BLANK = .TRUE. CurrentModuleObject = "DesignSpecification:ZoneHVAC:Sizing"; - NumZoneHVACSizing = GetNumObjectsFound(CurrentModuleObject); - GetObjectDefMaxArgs(CurrentModuleObject, TotalArgs, NumAlphas, NumNumbers); + NumZoneHVACSizing = GetNumObjectsFound( CurrentModuleObject ); + GetObjectDefMaxArgs( CurrentModuleObject, TotalArgs, NumAlphas, NumNumbers ); - Alphas.allocate(NumAlphas); + Alphas.allocate( NumAlphas ); Alphas = ""; - cAlphaFields.allocate(NumAlphas); + cAlphaFields.allocate( NumAlphas ); cAlphaFields = ""; - cNumericFields.allocate(NumNumbers); + cNumericFields.allocate( NumNumbers ); cNumericFields = ""; - Numbers.allocate(NumNumbers); + Numbers.allocate( NumNumbers ); Numbers = 0.0; - lAlphaBlanks.allocate(NumAlphas); + lAlphaBlanks.allocate( NumAlphas ); lAlphaBlanks = true; - lNumericBlanks.allocate(NumNumbers); + lNumericBlanks.allocate( NumNumbers ); lNumericBlanks = true; - if (NumZoneHVACSizing > 0) { - ZoneHVACSizing.allocate(NumZoneHVACSizing); + if( NumZoneHVACSizing > 0 ) { + ZoneHVACSizing.allocate( NumZoneHVACSizing ); //Start Loading the System Input - for (zSIndex = 1; zSIndex <= NumZoneHVACSizing; ++zSIndex) { + for( zSIndex = 1; zSIndex <= NumZoneHVACSizing; ++zSIndex ) { Alphas = ""; cAlphaFields = ""; @@ -2749,494 +2743,460 @@ namespace SizingManager { lAlphaBlanks = true; lNumericBlanks = true; - GetObjectItem(CurrentModuleObject, zSIndex, Alphas, NumAlphas, Numbers, NumNumbers, IOStatus, lNumericBlanks, lAlphaBlanks, cAlphaFields, cNumericFields); + GetObjectItem( CurrentModuleObject, zSIndex, Alphas, NumAlphas, Numbers, NumNumbers, IOStatus, lNumericBlanks, lAlphaBlanks, cAlphaFields, cNumericFields ); - VerifyName(Alphas(1), ZoneHVACSizing.Name(), zSIndex - 1, IsNotOK, IsBlank, CurrentModuleObject + " Name"); - if (IsNotOK) { + VerifyName( Alphas( 1 ), ZoneHVACSizing.Name( ), zSIndex - 1, IsNotOK, IsBlank, CurrentModuleObject + " Name" ); + if( IsNotOK ) { ErrorsFound = true; - if (IsBlank) Alphas(1) = "xxxxx"; + if( IsBlank ) Alphas( 1 ) = "xxxxx"; } - ZoneHVACSizing(zSIndex).Name = Alphas(1); + ZoneHVACSizing( zSIndex ).Name = Alphas( 1 ); // Determine supply air flow rate sizing method for cooling mode - if (SameString(Alphas(iCoolSAFMAlphaNum), "SupplyAirFlowRate")) { - ZoneHVACSizing(zSIndex).CoolingSAFMethod = SupplyAirFlowRate;; - - if (!lNumericBlanks(iMaxCoolAirVolFlowNumericNum)) { - ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow = Numbers(iMaxCoolAirVolFlowNumericNum); - if (ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow == AutoSize) ZoneHVACSizing(zSIndex).RequestAutoSize = true; - if (ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow <= 0.0 && ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow != AutoSize) { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Illegal " + cNumericFields(iMaxCoolAirVolFlowNumericNum) + " = " + TrimSigDigits(Numbers(iMaxCoolAirVolFlowNumericNum), 7)); + if( SameString( Alphas( iCoolSAFMAlphaNum ), "SupplyAirFlowRate" ) ) { + ZoneHVACSizing( zSIndex ).CoolingSAFMethod = SupplyAirFlowRate;; + + if( !lNumericBlanks( iMaxCoolAirVolFlowNumericNum ) ) { + ZoneHVACSizing( zSIndex ).MaxCoolAirVolFlow = Numbers( iMaxCoolAirVolFlowNumericNum ); + if( ZoneHVACSizing( zSIndex ).MaxCoolAirVolFlow == AutoSize ) ZoneHVACSizing( zSIndex ).RequestAutoSize = true; + if( ZoneHVACSizing( zSIndex ).MaxCoolAirVolFlow <= 0.0 && ZoneHVACSizing( zSIndex ).MaxCoolAirVolFlow != AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Illegal " + cNumericFields( iMaxCoolAirVolFlowNumericNum ) + " = " + TrimSigDigits( Numbers( iMaxCoolAirVolFlowNumericNum ), 7 ) ); ErrorsFound = true; } - } - else { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iCoolSAFMAlphaNum) + " = " + Alphas(iCoolSAFMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFields(iMaxCoolAirVolFlowNumericNum)); + } else { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iCoolSAFMAlphaNum ) + " = " + Alphas( iCoolSAFMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFields( iMaxCoolAirVolFlowNumericNum ) ); ErrorsFound = true; } - } - else if (SameString(Alphas(iCoolSAFMAlphaNum), "FlowPerFloorArea")) { - ZoneHVACSizing(zSIndex).CoolingSAFMethod = FlowPerFloorArea; - if (!lNumericBlanks(iCoolFlowPerFloorAreaNumericNum)) { - ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow = Numbers(iCoolFlowPerFloorAreaNumericNum); - if (ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow <= 0.0 && ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow != AutoSize) { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iCoolSAFMAlphaNum) + " = " + Alphas(iCoolSAFMAlphaNum)); - ShowContinueError("Illegal " + cNumericFields(iCoolFlowPerFloorAreaNumericNum) + " = " + TrimSigDigits(Numbers(iCoolFlowPerFloorAreaNumericNum), 7)); + } else if( SameString( Alphas( iCoolSAFMAlphaNum ), "FlowPerFloorArea" ) ) { + ZoneHVACSizing( zSIndex ).CoolingSAFMethod = FlowPerFloorArea; + if( !lNumericBlanks( iCoolFlowPerFloorAreaNumericNum ) ) { + ZoneHVACSizing( zSIndex ).MaxCoolAirVolFlow = Numbers( iCoolFlowPerFloorAreaNumericNum ); + if( ZoneHVACSizing( zSIndex ).MaxCoolAirVolFlow <= 0.0 && ZoneHVACSizing( zSIndex ).MaxCoolAirVolFlow != AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iCoolSAFMAlphaNum ) + " = " + Alphas( iCoolSAFMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFields( iCoolFlowPerFloorAreaNumericNum ) + " = " + TrimSigDigits( Numbers( iCoolFlowPerFloorAreaNumericNum ), 7 ) ); ErrorsFound = true; // Autosized input is not allowed - } - else if (ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow == AutoSize) { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iCoolSAFMAlphaNum) + " = " + Alphas(iCoolSAFMAlphaNum)); - ShowContinueError("Illegal " + cNumericFields(iCoolFlowPerFloorAreaNumericNum) + " = Autosize"); + } else if( ZoneHVACSizing( zSIndex ).MaxCoolAirVolFlow == AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iCoolSAFMAlphaNum ) + " = " + Alphas( iCoolSAFMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFields( iCoolFlowPerFloorAreaNumericNum ) + " = Autosize" ); ErrorsFound = true; - } - else { + } else { // user input cooling supply air flow per unit conditioned area is saved in ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow - ZoneHVACSizing(zSIndex).RequestAutoSize = true; + ZoneHVACSizing( zSIndex ).RequestAutoSize = true; } - } - else { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iCoolSAFMAlphaNum) + " = " + Alphas(iCoolSAFMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFields(iCoolFlowPerFloorAreaNumericNum)); + } else { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iCoolSAFMAlphaNum ) + " = " + Alphas( iCoolSAFMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFields( iCoolFlowPerFloorAreaNumericNum ) ); ErrorsFound = true; } - } - else if (SameString(Alphas(iCoolSAFMAlphaNum), "FractionOfAutosizedCoolingAirflow")) { - ZoneHVACSizing(zSIndex).CoolingSAFMethod = FractionOfAutosizedCoolingAirflow; - if (!lNumericBlanks(iCoolFlowPerFracCoolNumericNum)) { - ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow = Numbers(iCoolFlowPerFracCoolNumericNum); - if (ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow <= 0.0 && ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow != AutoSize) { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iCoolSAFMAlphaNum) + " = " + Alphas(iCoolSAFMAlphaNum)); - ShowContinueError("Illegal " + cNumericFields(iCoolFlowPerFracCoolNumericNum) + " = " + TrimSigDigits(Numbers(iCoolFlowPerFracCoolNumericNum), 7)); + } else if( SameString( Alphas( iCoolSAFMAlphaNum ), "FractionOfAutosizedCoolingAirflow" ) ) { + ZoneHVACSizing( zSIndex ).CoolingSAFMethod = FractionOfAutosizedCoolingAirflow; + if( !lNumericBlanks( iCoolFlowPerFracCoolNumericNum ) ) { + ZoneHVACSizing( zSIndex ).MaxCoolAirVolFlow = Numbers( iCoolFlowPerFracCoolNumericNum ); + if( ZoneHVACSizing( zSIndex ).MaxCoolAirVolFlow <= 0.0 && ZoneHVACSizing( zSIndex ).MaxCoolAirVolFlow != AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iCoolSAFMAlphaNum ) + " = " + Alphas( iCoolSAFMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFields( iCoolFlowPerFracCoolNumericNum ) + " = " + TrimSigDigits( Numbers( iCoolFlowPerFracCoolNumericNum ), 7 ) ); ErrorsFound = true; // Autosized input is not allowed - } - else if (ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow == AutoSize) { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iCoolSAFMAlphaNum) + " = " + Alphas(iCoolSAFMAlphaNum)); - ShowContinueError("Illegal " + cNumericFields(iCoolFlowPerFracCoolNumericNum) + " = Autosize"); + } else if( ZoneHVACSizing( zSIndex ).MaxCoolAirVolFlow == AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iCoolSAFMAlphaNum ) + " = " + Alphas( iCoolSAFMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFields( iCoolFlowPerFracCoolNumericNum ) + " = Autosize" ); ErrorsFound = true; - } - else { + } else { // user input fraction of cooling supply air flow rate is saved in ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow - ZoneHVACSizing(zSIndex).RequestAutoSize = true; + ZoneHVACSizing( zSIndex ).RequestAutoSize = true; } - } - else { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iCoolSAFMAlphaNum) + " = " + Alphas(iCoolSAFMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFields(iCoolFlowPerFracCoolNumericNum)); + } else { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iCoolSAFMAlphaNum ) + " = " + Alphas( iCoolSAFMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFields( iCoolFlowPerFracCoolNumericNum ) ); ErrorsFound = true; } - } - else if (SameString(Alphas(iCoolSAFMAlphaNum), "FlowPerCoolingCapacity")) { - - ZoneHVACSizing(zSIndex).CoolingSAFMethod = FlowPerCoolingCapacity; - if (!lNumericBlanks(iCoolFlowPerCoolCapNumericNum)) { - ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow = Numbers(iCoolFlowPerCoolCapNumericNum); - if (ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow <= 0.0 && ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow != AutoSize) { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iCoolSAFMAlphaNum) + " = " + Alphas(iCoolSAFMAlphaNum)); - ShowContinueError("Illegal " + cNumericFields(iCoolFlowPerCoolCapNumericNum) + " = " + TrimSigDigits(Numbers(iCoolFlowPerCoolCapNumericNum), 7)); + } else if( SameString( Alphas( iCoolSAFMAlphaNum ), "FlowPerCoolingCapacity" ) ) { + + ZoneHVACSizing( zSIndex ).CoolingSAFMethod = FlowPerCoolingCapacity; + if( !lNumericBlanks( iCoolFlowPerCoolCapNumericNum ) ) { + ZoneHVACSizing( zSIndex ).MaxCoolAirVolFlow = Numbers( iCoolFlowPerCoolCapNumericNum ); + if( ZoneHVACSizing( zSIndex ).MaxCoolAirVolFlow <= 0.0 && ZoneHVACSizing( zSIndex ).MaxCoolAirVolFlow != AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iCoolSAFMAlphaNum ) + " = " + Alphas( iCoolSAFMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFields( iCoolFlowPerCoolCapNumericNum ) + " = " + TrimSigDigits( Numbers( iCoolFlowPerCoolCapNumericNum ), 7 ) ); ErrorsFound = true; // Autosized input is not allowed - } - else if (ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow == AutoSize) { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iCoolSAFMAlphaNum) + " = " + Alphas(iCoolSAFMAlphaNum)); - ShowContinueError("Illegal " + cNumericFields(iCoolFlowPerCoolCapNumericNum) + " = Autosize"); + } else if( ZoneHVACSizing( zSIndex ).MaxCoolAirVolFlow == AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iCoolSAFMAlphaNum ) + " = " + Alphas( iCoolSAFMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFields( iCoolFlowPerCoolCapNumericNum ) + " = Autosize" ); ErrorsFound = true; - } - else { + } else { // user input cooling supply air flow per unit cooling capacity is saved in ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow - ZoneHVACSizing(zSIndex).RequestAutoSize = true; + ZoneHVACSizing( zSIndex ).RequestAutoSize = true; } - } - else { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iCoolSAFMAlphaNum) + " = " + Alphas(iCoolSAFMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFields(iCoolFlowPerCoolCapNumericNum)); + } else { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iCoolSAFMAlphaNum ) + " = " + Alphas( iCoolSAFMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFields( iCoolFlowPerCoolCapNumericNum ) ); ErrorsFound = true; } - } - else if (SameString(Alphas(iCoolSAFMAlphaNum), "None") || lAlphaBlanks(iCoolSAFMAlphaNum)) { - ZoneHVACSizing(zSIndex).CoolingSAFMethod = None; - ZoneHVACSizing(zSIndex).MaxCoolAirVolFlow = 0.0; + } else if( SameString( Alphas( iCoolSAFMAlphaNum ), "None" ) || lAlphaBlanks( iCoolSAFMAlphaNum ) ) { + ZoneHVACSizing( zSIndex ).CoolingSAFMethod = None; + ZoneHVACSizing( zSIndex ).MaxCoolAirVolFlow = 0.0; // cooling supply air flow rate will not be sized, may be cooling coil does not exist - } - else { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Illegal " + cAlphaFields(iCoolSAFMAlphaNum) + " = " + Alphas(iCoolSAFMAlphaNum)); + } else { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Illegal " + cAlphaFields( iCoolSAFMAlphaNum ) + " = " + Alphas( iCoolSAFMAlphaNum ) ); ErrorsFound = true; } // Determine supply air flow rate sizing method for heating mode - if (SameString(Alphas(iHeatSAFMAlphaNum), "SupplyAirFlowRate")) { - ZoneHVACSizing(zSIndex).HeatingSAFMethod = SupplyAirFlowRate; - if (!lNumericBlanks(iMaxHeatAirVolFlowNumericNum)) { - ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow = Numbers(iMaxHeatAirVolFlowNumericNum); - if (ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow == AutoSize) ZoneHVACSizing(zSIndex).RequestAutoSize = true; - - if (ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow <= 0.0 && ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow != AutoSize) { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Illegal " + cNumericFields(iMaxHeatAirVolFlowNumericNum) + " = " + TrimSigDigits(Numbers(iMaxHeatAirVolFlowNumericNum), 7)); + if( SameString( Alphas( iHeatSAFMAlphaNum ), "SupplyAirFlowRate" ) ) { + ZoneHVACSizing( zSIndex ).HeatingSAFMethod = SupplyAirFlowRate; + if( !lNumericBlanks( iMaxHeatAirVolFlowNumericNum ) ) { + ZoneHVACSizing( zSIndex ).MaxHeatAirVolFlow = Numbers( iMaxHeatAirVolFlowNumericNum ); + if( ZoneHVACSizing( zSIndex ).MaxHeatAirVolFlow == AutoSize ) ZoneHVACSizing( zSIndex ).RequestAutoSize = true; + + if( ZoneHVACSizing( zSIndex ).MaxHeatAirVolFlow <= 0.0 && ZoneHVACSizing( zSIndex ).MaxHeatAirVolFlow != AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Illegal " + cNumericFields( iMaxHeatAirVolFlowNumericNum ) + " = " + TrimSigDigits( Numbers( iMaxHeatAirVolFlowNumericNum ), 7 ) ); ErrorsFound = true; } - } - else { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iHeatSAFMAlphaNum) + " = " + Alphas(iHeatSAFMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFields(iMaxHeatAirVolFlowNumericNum)); + } else { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iHeatSAFMAlphaNum ) + " = " + Alphas( iHeatSAFMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFields( iMaxHeatAirVolFlowNumericNum ) ); ErrorsFound = true; } - } - else if (SameString(Alphas(iHeatSAFMAlphaNum), "FlowPerFloorArea")) { - ZoneHVACSizing(zSIndex).HeatingSAFMethod = FlowPerFloorArea; - if (!lNumericBlanks(iHeatFlowPerFloorAreaNumericNum)) { - ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow = Numbers(iHeatFlowPerFloorAreaNumericNum); - if (ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow <= 0.0 && ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow != AutoSize) { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iHeatSAFMAlphaNum) + " = " + Alphas(iHeatSAFMAlphaNum)); - ShowContinueError("Illegal " + cNumericFields(iHeatFlowPerFloorAreaNumericNum) + " = " + TrimSigDigits(Numbers(iHeatFlowPerFloorAreaNumericNum), 7)); + } else if( SameString( Alphas( iHeatSAFMAlphaNum ), "FlowPerFloorArea" ) ) { + ZoneHVACSizing( zSIndex ).HeatingSAFMethod = FlowPerFloorArea; + if( !lNumericBlanks( iHeatFlowPerFloorAreaNumericNum ) ) { + ZoneHVACSizing( zSIndex ).MaxHeatAirVolFlow = Numbers( iHeatFlowPerFloorAreaNumericNum ); + if( ZoneHVACSizing( zSIndex ).MaxHeatAirVolFlow <= 0.0 && ZoneHVACSizing( zSIndex ).MaxHeatAirVolFlow != AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iHeatSAFMAlphaNum ) + " = " + Alphas( iHeatSAFMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFields( iHeatFlowPerFloorAreaNumericNum ) + " = " + TrimSigDigits( Numbers( iHeatFlowPerFloorAreaNumericNum ), 7 ) ); ErrorsFound = true; // Autosized input is not allowed - } - else if (ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow == AutoSize) { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iHeatSAFMAlphaNum) + " = " + Alphas(iHeatSAFMAlphaNum)); - ShowContinueError("Illegal " + cNumericFields(iHeatFlowPerFloorAreaNumericNum) + " = Autosize"); + } else if( ZoneHVACSizing( zSIndex ).MaxHeatAirVolFlow == AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iHeatSAFMAlphaNum ) + " = " + Alphas( iHeatSAFMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFields( iHeatFlowPerFloorAreaNumericNum ) + " = Autosize" ); ErrorsFound = true; - } - else { + } else { // user input heating supply air flow per unit conditioned area is saved in ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow - ZoneHVACSizing(zSIndex).RequestAutoSize = true; + ZoneHVACSizing( zSIndex ).RequestAutoSize = true; } - } - else { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iHeatSAFMAlphaNum) + " = " + Alphas(iHeatSAFMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFields(iHeatFlowPerFloorAreaNumericNum)); + } else { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iHeatSAFMAlphaNum ) + " = " + Alphas( iHeatSAFMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFields( iHeatFlowPerFloorAreaNumericNum ) ); ErrorsFound = true; } - } - else if (SameString(Alphas(iHeatSAFMAlphaNum), "FractionOfAutosizedHeatingAirflow")) { - ZoneHVACSizing(zSIndex).HeatingSAFMethod = FractionOfAutosizedHeatingAirflow; - if (!lNumericBlanks(iHeatFlowPerFracCoolNumericNum)) { - ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow = Numbers(iHeatFlowPerFracCoolNumericNum); - if (ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow <= 0.0 && ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow != AutoSize) { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iHeatSAFMAlphaNum) + " = " + Alphas(iHeatSAFMAlphaNum)); - ShowContinueError("Illegal " + cNumericFields(iHeatFlowPerFracCoolNumericNum) + " = " + TrimSigDigits(Numbers(iHeatFlowPerFracCoolNumericNum), 7)); + } else if( SameString( Alphas( iHeatSAFMAlphaNum ), "FractionOfAutosizedHeatingAirflow" ) ) { + ZoneHVACSizing( zSIndex ).HeatingSAFMethod = FractionOfAutosizedHeatingAirflow; + if( !lNumericBlanks( iHeatFlowPerFracCoolNumericNum ) ) { + ZoneHVACSizing( zSIndex ).MaxHeatAirVolFlow = Numbers( iHeatFlowPerFracCoolNumericNum ); + if( ZoneHVACSizing( zSIndex ).MaxHeatAirVolFlow <= 0.0 && ZoneHVACSizing( zSIndex ).MaxHeatAirVolFlow != AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iHeatSAFMAlphaNum ) + " = " + Alphas( iHeatSAFMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFields( iHeatFlowPerFracCoolNumericNum ) + " = " + TrimSigDigits( Numbers( iHeatFlowPerFracCoolNumericNum ), 7 ) ); ErrorsFound = true; // Autosized input is not allowed - } - else if (ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow == AutoSize) { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iHeatSAFMAlphaNum) + " = " + Alphas(iHeatSAFMAlphaNum)); - ShowContinueError("Illegal " + cNumericFields(iHeatFlowPerFracCoolNumericNum) + " = Autosize"); + } else if( ZoneHVACSizing( zSIndex ).MaxHeatAirVolFlow == AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iHeatSAFMAlphaNum ) + " = " + Alphas( iHeatSAFMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFields( iHeatFlowPerFracCoolNumericNum ) + " = Autosize" ); ErrorsFound = true; - } - else { + } else { // user input fraction of heating supply air flow rate is saved in ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow - ZoneHVACSizing(zSIndex).RequestAutoSize = true; + ZoneHVACSizing( zSIndex ).RequestAutoSize = true; } - } - else { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iHeatSAFMAlphaNum) + " = " + Alphas(iHeatSAFMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFields(iHeatFlowPerFracCoolNumericNum)); + } else { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iHeatSAFMAlphaNum ) + " = " + Alphas( iHeatSAFMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFields( iHeatFlowPerFracCoolNumericNum ) ); ErrorsFound = true; } - } - else if (SameString(Alphas(iHeatSAFMAlphaNum), "FlowPerHeatingCapacity")) { - ZoneHVACSizing(zSIndex).HeatingSAFMethod = FlowPerHeatingCapacity; - if (!lNumericBlanks(iHeatFlowPerHeatCapNumericNum)) { - ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow = Numbers(iHeatFlowPerHeatCapNumericNum); - if (ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow <= 0.0 && ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow != AutoSize) { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iHeatSAFMAlphaNum) + " = " + Alphas(iHeatSAFMAlphaNum)); - ShowContinueError("Illegal " + cNumericFields(iHeatFlowPerHeatCapNumericNum) + " = " + TrimSigDigits(Numbers(iHeatFlowPerHeatCapNumericNum), 7)); + } else if( SameString( Alphas( iHeatSAFMAlphaNum ), "FlowPerHeatingCapacity" ) ) { + ZoneHVACSizing( zSIndex ).HeatingSAFMethod = FlowPerHeatingCapacity; + if( !lNumericBlanks( iHeatFlowPerHeatCapNumericNum ) ) { + ZoneHVACSizing( zSIndex ).MaxHeatAirVolFlow = Numbers( iHeatFlowPerHeatCapNumericNum ); + if( ZoneHVACSizing( zSIndex ).MaxHeatAirVolFlow <= 0.0 && ZoneHVACSizing( zSIndex ).MaxHeatAirVolFlow != AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iHeatSAFMAlphaNum ) + " = " + Alphas( iHeatSAFMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFields( iHeatFlowPerHeatCapNumericNum ) + " = " + TrimSigDigits( Numbers( iHeatFlowPerHeatCapNumericNum ), 7 ) ); ErrorsFound = true; // Autosized input is not allowed - } - else if (ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow == AutoSize) { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iHeatSAFMAlphaNum) + " = " + Alphas(iHeatSAFMAlphaNum)); - ShowContinueError("Illegal " + cNumericFields(iHeatFlowPerHeatCapNumericNum) + " = Autosize"); + } else if( ZoneHVACSizing( zSIndex ).MaxHeatAirVolFlow == AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iHeatSAFMAlphaNum ) + " = " + Alphas( iHeatSAFMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFields( iHeatFlowPerHeatCapNumericNum ) + " = Autosize" ); ErrorsFound = true; - } - else { + } else { // user input heating supply air flow per unit heating capacity is saved in ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow - ZoneHVACSizing(zSIndex).RequestAutoSize = true; + ZoneHVACSizing( zSIndex ).RequestAutoSize = true; } - } - else { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iHeatSAFMAlphaNum) + " = " + Alphas(iHeatSAFMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFields(iHeatFlowPerHeatCapNumericNum)); + } else { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iHeatSAFMAlphaNum ) + " = " + Alphas( iHeatSAFMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFields( iHeatFlowPerHeatCapNumericNum ) ); ErrorsFound = true; } - } - else if (SameString(Alphas(iHeatSAFMAlphaNum), "None") || lAlphaBlanks(iHeatSAFMAlphaNum)) { - ZoneHVACSizing(zSIndex).HeatingSAFMethod = None; - ZoneHVACSizing(zSIndex).MaxHeatAirVolFlow = 0.0; - } - else { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Illegal " + cAlphaFields(iHeatSAFMAlphaNum) + " = " + Alphas(iHeatSAFMAlphaNum)); + } else if( SameString( Alphas( iHeatSAFMAlphaNum ), "None" ) || lAlphaBlanks( iHeatSAFMAlphaNum ) ) { + ZoneHVACSizing( zSIndex ).HeatingSAFMethod = None; + ZoneHVACSizing( zSIndex ).MaxHeatAirVolFlow = 0.0; + } else { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Illegal " + cAlphaFields( iHeatSAFMAlphaNum ) + " = " + Alphas( iHeatSAFMAlphaNum ) ); ErrorsFound = true; } // Determine supply air flow rate sizing method when cooling or heating is not needed - if (SameString(Alphas(iNoCoolHeatSAFMAlphaNum), "SupplyAirFlowRate")) { - ZoneHVACSizing(zSIndex).NoCoolHeatSAFMethod = SupplyAirFlowRate; - if (!lNumericBlanks(iMaxNoCoolHeatAirVolFlowNumericNum)) { - ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow = Numbers(iMaxNoCoolHeatAirVolFlowNumericNum); - if (ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow == AutoSize) ZoneHVACSizing(zSIndex).RequestAutoSize = true; - if (ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow < 0.0 && ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow != AutoSize) { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Illegal " + cNumericFields(iMaxNoCoolHeatAirVolFlowNumericNum) + " = " + TrimSigDigits(Numbers(iMaxNoCoolHeatAirVolFlowNumericNum), 7)); + if( SameString( Alphas( iNoCoolHeatSAFMAlphaNum ), "SupplyAirFlowRate" ) ) { + ZoneHVACSizing( zSIndex ).NoCoolHeatSAFMethod = SupplyAirFlowRate; + if( !lNumericBlanks( iMaxNoCoolHeatAirVolFlowNumericNum ) ) { + ZoneHVACSizing( zSIndex ).MaxNoCoolHeatAirVolFlow = Numbers( iMaxNoCoolHeatAirVolFlowNumericNum ); + if( ZoneHVACSizing( zSIndex ).MaxNoCoolHeatAirVolFlow == AutoSize ) ZoneHVACSizing( zSIndex ).RequestAutoSize = true; + if( ZoneHVACSizing( zSIndex ).MaxNoCoolHeatAirVolFlow < 0.0 && ZoneHVACSizing( zSIndex ).MaxNoCoolHeatAirVolFlow != AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Illegal " + cNumericFields( iMaxNoCoolHeatAirVolFlowNumericNum ) + " = " + TrimSigDigits( Numbers( iMaxNoCoolHeatAirVolFlowNumericNum ), 7 ) ); ErrorsFound = true; } } else { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iNoCoolHeatSAFMAlphaNum) + " = " + Alphas(iNoCoolHeatSAFMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFields(iMaxNoCoolHeatAirVolFlowNumericNum)); + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iNoCoolHeatSAFMAlphaNum ) + " = " + Alphas( iNoCoolHeatSAFMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFields( iMaxNoCoolHeatAirVolFlowNumericNum ) ); ErrorsFound = true; } - } - else if (SameString(Alphas(iNoCoolHeatSAFMAlphaNum), "FlowPerFloorArea")) { - ZoneHVACSizing(zSIndex).NoCoolHeatSAFMethod = FlowPerFloorArea; - if (!lNumericBlanks(iNoCoolHeatFlowPerFloorAreaNumericNum)) { - ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow = Numbers(iNoCoolHeatFlowPerFloorAreaNumericNum); - if (ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow < 0.0 && ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow != AutoSize) { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iNoCoolHeatSAFMAlphaNum) + " = " + Alphas(iNoCoolHeatSAFMAlphaNum)); - ShowContinueError("Illegal " + cNumericFields(iNoCoolHeatFlowPerFloorAreaNumericNum) + " = " + TrimSigDigits(Numbers(iNoCoolHeatFlowPerFloorAreaNumericNum), 7)); + } else if( SameString( Alphas( iNoCoolHeatSAFMAlphaNum ), "FlowPerFloorArea" ) ) { + ZoneHVACSizing( zSIndex ).NoCoolHeatSAFMethod = FlowPerFloorArea; + if( !lNumericBlanks( iNoCoolHeatFlowPerFloorAreaNumericNum ) ) { + ZoneHVACSizing( zSIndex ).MaxNoCoolHeatAirVolFlow = Numbers( iNoCoolHeatFlowPerFloorAreaNumericNum ); + if( ZoneHVACSizing( zSIndex ).MaxNoCoolHeatAirVolFlow < 0.0 && ZoneHVACSizing( zSIndex ).MaxNoCoolHeatAirVolFlow != AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iNoCoolHeatSAFMAlphaNum ) + " = " + Alphas( iNoCoolHeatSAFMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFields( iNoCoolHeatFlowPerFloorAreaNumericNum ) + " = " + TrimSigDigits( Numbers( iNoCoolHeatFlowPerFloorAreaNumericNum ), 7 ) ); ErrorsFound = true; // Autosized input is not allowed - } else if (ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow == AutoSize) { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iNoCoolHeatSAFMAlphaNum) + " = " + Alphas(iNoCoolHeatSAFMAlphaNum)); - ShowContinueError("Illegal " + cNumericFields(iNoCoolHeatFlowPerFloorAreaNumericNum) + " = Autosize"); + } else if( ZoneHVACSizing( zSIndex ).MaxNoCoolHeatAirVolFlow == AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iNoCoolHeatSAFMAlphaNum ) + " = " + Alphas( iNoCoolHeatSAFMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFields( iNoCoolHeatFlowPerFloorAreaNumericNum ) + " = Autosize" ); ErrorsFound = true; } else { // user input supply air flow per unit floor area during no cooling or heating area is saved in ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow - ZoneHVACSizing(zSIndex).RequestAutoSize = true; + ZoneHVACSizing( zSIndex ).RequestAutoSize = true; } } else { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iNoCoolHeatSAFMAlphaNum) + " = " + Alphas(iNoCoolHeatSAFMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFields(iNoCoolHeatFlowPerFloorAreaNumericNum)); + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iNoCoolHeatSAFMAlphaNum ) + " = " + Alphas( iNoCoolHeatSAFMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFields( iNoCoolHeatFlowPerFloorAreaNumericNum ) ); ErrorsFound = true; } - } - else if (SameString(Alphas(iNoCoolHeatSAFMAlphaNum), "FractionOfAutosizedCoolingAirflow")) { - ZoneHVACSizing(zSIndex).NoCoolHeatSAFMethod = FractionOfAutosizedCoolingAirflow; - if (!lNumericBlanks(iNoCoolHeatFlowPerFracCoolNumericNum)) { - ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow = Numbers(iNoCoolHeatFlowPerFracCoolNumericNum); - if (ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow < 0.0 && ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow != AutoSize) { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iNoCoolHeatSAFMAlphaNum) + " = " + Alphas(iNoCoolHeatSAFMAlphaNum)); - ShowContinueError("Illegal " + cNumericFields(iNoCoolHeatFlowPerFracCoolNumericNum) + " = " + TrimSigDigits(Numbers(iNoCoolHeatFlowPerFracCoolNumericNum), 7)); + } else if( SameString( Alphas( iNoCoolHeatSAFMAlphaNum ), "FractionOfAutosizedCoolingAirflow" ) ) { + ZoneHVACSizing( zSIndex ).NoCoolHeatSAFMethod = FractionOfAutosizedCoolingAirflow; + if( !lNumericBlanks( iNoCoolHeatFlowPerFracCoolNumericNum ) ) { + ZoneHVACSizing( zSIndex ).MaxNoCoolHeatAirVolFlow = Numbers( iNoCoolHeatFlowPerFracCoolNumericNum ); + if( ZoneHVACSizing( zSIndex ).MaxNoCoolHeatAirVolFlow < 0.0 && ZoneHVACSizing( zSIndex ).MaxNoCoolHeatAirVolFlow != AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iNoCoolHeatSAFMAlphaNum ) + " = " + Alphas( iNoCoolHeatSAFMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFields( iNoCoolHeatFlowPerFracCoolNumericNum ) + " = " + TrimSigDigits( Numbers( iNoCoolHeatFlowPerFracCoolNumericNum ), 7 ) ); ErrorsFound = true; // Autosized input is not allowed - } else if (ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow == AutoSize) { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iNoCoolHeatSAFMAlphaNum) + " = " + Alphas(iNoCoolHeatSAFMAlphaNum)); - ShowContinueError("Illegal " + cNumericFields(iNoCoolHeatFlowPerFracCoolNumericNum) + " = Autosize"); + } else if( ZoneHVACSizing( zSIndex ).MaxNoCoolHeatAirVolFlow == AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iNoCoolHeatSAFMAlphaNum ) + " = " + Alphas( iNoCoolHeatSAFMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFields( iNoCoolHeatFlowPerFracCoolNumericNum ) + " = Autosize" ); ErrorsFound = true; } else { // user input frcation of cooling supply air flow rate during no cooling or heating area is saved in ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow - ZoneHVACSizing(zSIndex).RequestAutoSize = true; + ZoneHVACSizing( zSIndex ).RequestAutoSize = true; } } else { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iNoCoolHeatSAFMAlphaNum) + " = " + Alphas(iNoCoolHeatSAFMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFields(iNoCoolHeatFlowPerFracCoolNumericNum)); + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iNoCoolHeatSAFMAlphaNum ) + " = " + Alphas( iNoCoolHeatSAFMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFields( iNoCoolHeatFlowPerFracCoolNumericNum ) ); ErrorsFound = true; } - } else if (SameString(Alphas(iNoCoolHeatSAFMAlphaNum), "FractionOfAutosizedHeatingAirflow")) { - ZoneHVACSizing(zSIndex).NoCoolHeatSAFMethod = FractionOfAutosizedHeatingAirflow; - if (!lNumericBlanks(iNoCoolHeatFlowPerFracHeatNumericNum)) { - ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow = Numbers(iNoCoolHeatFlowPerFracHeatNumericNum); - if (ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow < 0.0 && ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow != AutoSize) { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iNoCoolHeatSAFMAlphaNum) + " = " + Alphas(iNoCoolHeatSAFMAlphaNum)); - ShowContinueError("Illegal " + cNumericFields(iNoCoolHeatFlowPerFracHeatNumericNum) + " = " + TrimSigDigits(Numbers(iNoCoolHeatFlowPerFracHeatNumericNum), 7)); + } else if( SameString( Alphas( iNoCoolHeatSAFMAlphaNum ), "FractionOfAutosizedHeatingAirflow" ) ) { + ZoneHVACSizing( zSIndex ).NoCoolHeatSAFMethod = FractionOfAutosizedHeatingAirflow; + if( !lNumericBlanks( iNoCoolHeatFlowPerFracHeatNumericNum ) ) { + ZoneHVACSizing( zSIndex ).MaxNoCoolHeatAirVolFlow = Numbers( iNoCoolHeatFlowPerFracHeatNumericNum ); + if( ZoneHVACSizing( zSIndex ).MaxNoCoolHeatAirVolFlow < 0.0 && ZoneHVACSizing( zSIndex ).MaxNoCoolHeatAirVolFlow != AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iNoCoolHeatSAFMAlphaNum ) + " = " + Alphas( iNoCoolHeatSAFMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFields( iNoCoolHeatFlowPerFracHeatNumericNum ) + " = " + TrimSigDigits( Numbers( iNoCoolHeatFlowPerFracHeatNumericNum ), 7 ) ); ErrorsFound = true; // Autosized input is not allowed - } else if (ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow == AutoSize) { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iNoCoolHeatSAFMAlphaNum) + " = " + Alphas(iNoCoolHeatSAFMAlphaNum)); - ShowContinueError("Illegal " + cNumericFields(iNoCoolHeatFlowPerFracHeatNumericNum) + " = Autosize"); + } else if( ZoneHVACSizing( zSIndex ).MaxNoCoolHeatAirVolFlow == AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iNoCoolHeatSAFMAlphaNum ) + " = " + Alphas( iNoCoolHeatSAFMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFields( iNoCoolHeatFlowPerFracHeatNumericNum ) + " = Autosize" ); ErrorsFound = true; } else { // user input frcation of heating supply air flow rate during no cooling or heating area is saved in ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow - ZoneHVACSizing(zSIndex).RequestAutoSize = true; + ZoneHVACSizing( zSIndex ).RequestAutoSize = true; } } else { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iNoCoolHeatSAFMAlphaNum) + " = " + Alphas(iNoCoolHeatSAFMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFields(iNoCoolHeatFlowPerFracHeatNumericNum)); + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iNoCoolHeatSAFMAlphaNum ) + " = " + Alphas( iNoCoolHeatSAFMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFields( iNoCoolHeatFlowPerFracHeatNumericNum ) ); ErrorsFound = true; } - } else if (SameString(Alphas(iNoCoolHeatSAFMAlphaNum), "None") || lAlphaBlanks(iNoCoolHeatSAFMAlphaNum)) { - ZoneHVACSizing(zSIndex).NoCoolHeatSAFMethod = None; - ZoneHVACSizing(zSIndex).MaxNoCoolHeatAirVolFlow = 0.0; + } else if( SameString( Alphas( iNoCoolHeatSAFMAlphaNum ), "None" ) || lAlphaBlanks( iNoCoolHeatSAFMAlphaNum ) ) { + ZoneHVACSizing( zSIndex ).NoCoolHeatSAFMethod = None; + ZoneHVACSizing( zSIndex ).MaxNoCoolHeatAirVolFlow = 0.0; } else { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Illegal " + cAlphaFields(iNoCoolHeatSAFMAlphaNum) + " = " + Alphas(iNoCoolHeatSAFMAlphaNum)); + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Illegal " + cAlphaFields( iNoCoolHeatSAFMAlphaNum ) + " = " + Alphas( iNoCoolHeatSAFMAlphaNum ) ); ErrorsFound = true; } // Determine cooling design capacity of zoneHVAC equipment - if (SameString(Alphas(iCoolCAPMAlphaNum), "CoolingDesignCapacity")) { - ZoneHVACSizing(zSIndex).CoolingCapMethod = CoolingDesignCapacity; - if (!lNumericBlanks(iCoolDesignCapacityNumericNum)) { - ZoneHVACSizing(zSIndex).ScaledCoolingCapacity = Numbers(iCoolDesignCapacityNumericNum); - if (ZoneHVACSizing(zSIndex).ScaledCoolingCapacity == AutoSize) ZoneHVACSizing(zSIndex).RequestAutoSize = true; - if (ZoneHVACSizing(zSIndex).ScaledCoolingCapacity < 0.0 && ZoneHVACSizing(zSIndex).ScaledCoolingCapacity != AutoSize) { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Illegal " + cNumericFields(iCoolDesignCapacityNumericNum) + " = " + TrimSigDigits(Numbers(iCoolDesignCapacityNumericNum), 7)); + if( SameString( Alphas( iCoolCAPMAlphaNum ), "CoolingDesignCapacity" ) ) { + ZoneHVACSizing( zSIndex ).CoolingCapMethod = CoolingDesignCapacity; + if( !lNumericBlanks( iCoolDesignCapacityNumericNum ) ) { + ZoneHVACSizing( zSIndex ).ScaledCoolingCapacity = Numbers( iCoolDesignCapacityNumericNum ); + if( ZoneHVACSizing( zSIndex ).ScaledCoolingCapacity == AutoSize ) ZoneHVACSizing( zSIndex ).RequestAutoSize = true; + if( ZoneHVACSizing( zSIndex ).ScaledCoolingCapacity < 0.0 && ZoneHVACSizing( zSIndex ).ScaledCoolingCapacity != AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Illegal " + cNumericFields( iCoolDesignCapacityNumericNum ) + " = " + TrimSigDigits( Numbers( iCoolDesignCapacityNumericNum ), 7 ) ); ErrorsFound = true; } } else { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iCoolCAPMAlphaNum) + " = " + Alphas(iCoolCAPMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFields(iCoolDesignCapacityNumericNum)); + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iCoolCAPMAlphaNum ) + " = " + Alphas( iCoolCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFields( iCoolDesignCapacityNumericNum ) ); ErrorsFound = true; } - } else if (SameString(Alphas(iCoolCAPMAlphaNum), "CapacityPerFloorArea")) { - ZoneHVACSizing(zSIndex).CoolingCapMethod = CapacityPerFloorArea; - if (!lNumericBlanks(iCoolCapacityPerFloorAreaNumericNum)) { - ZoneHVACSizing(zSIndex).ScaledCoolingCapacity = Numbers(iCoolCapacityPerFloorAreaNumericNum); - if (ZoneHVACSizing(zSIndex).ScaledCoolingCapacity <= 0.0) { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iCoolCAPMAlphaNum) + " = " + Alphas(iCoolCAPMAlphaNum)); - ShowContinueError("Illegal " + cNumericFields(iCoolCapacityPerFloorAreaNumericNum) + " = " + TrimSigDigits(Numbers(iCoolCapacityPerFloorAreaNumericNum), 7)); + } else if( SameString( Alphas( iCoolCAPMAlphaNum ), "CapacityPerFloorArea" ) ) { + ZoneHVACSizing( zSIndex ).CoolingCapMethod = CapacityPerFloorArea; + if( !lNumericBlanks( iCoolCapacityPerFloorAreaNumericNum ) ) { + ZoneHVACSizing( zSIndex ).ScaledCoolingCapacity = Numbers( iCoolCapacityPerFloorAreaNumericNum ); + if( ZoneHVACSizing( zSIndex ).ScaledCoolingCapacity <= 0.0 ) { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iCoolCAPMAlphaNum ) + " = " + Alphas( iCoolCAPMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFields( iCoolCapacityPerFloorAreaNumericNum ) + " = " + TrimSigDigits( Numbers( iCoolCapacityPerFloorAreaNumericNum ), 7 ) ); ErrorsFound = true; // Autosized input is not allowed - } else if (ZoneHVACSizing(zSIndex).ScaledCoolingCapacity == AutoSize) { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iCoolCAPMAlphaNum) + " = " + Alphas(iCoolCAPMAlphaNum)); - ShowContinueError("Illegal " + cNumericFields(iCoolCapacityPerFloorAreaNumericNum) + " = Autosize"); + } else if( ZoneHVACSizing( zSIndex ).ScaledCoolingCapacity == AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iCoolCAPMAlphaNum ) + " = " + Alphas( iCoolCAPMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFields( iCoolCapacityPerFloorAreaNumericNum ) + " = Autosize" ); ErrorsFound = true; } } else { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iCoolCAPMAlphaNum) + " = " + Alphas(iCoolCAPMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFields(iCoolCapacityPerFloorAreaNumericNum)); + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iCoolCAPMAlphaNum ) + " = " + Alphas( iCoolCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFields( iCoolCapacityPerFloorAreaNumericNum ) ); ErrorsFound = true; } - } else if (SameString(Alphas(iCoolCAPMAlphaNum), "FractionOfAutosizedCoolingCapacity") ) { - ZoneHVACSizing(zSIndex).CoolingCapMethod = FractionOfAutosizedCoolingCapacity; - if (!lNumericBlanks(iCoolFracOfAutosizedCapacityNumericNum)) { - ZoneHVACSizing(zSIndex).ScaledCoolingCapacity = Numbers(iCoolFracOfAutosizedCapacityNumericNum); - if (ZoneHVACSizing(zSIndex).ScaledCoolingCapacity == AutoSize) ZoneHVACSizing(zSIndex).RequestAutoSize = true; - if (ZoneHVACSizing(zSIndex).ScaledCoolingCapacity < 0.0 && ZoneHVACSizing(zSIndex).ScaledCoolingCapacity != AutoSize) { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Illegal " + cNumericFields(iCoolFracOfAutosizedCapacityNumericNum) + " = " + TrimSigDigits(Numbers(iCoolFracOfAutosizedCapacityNumericNum), 7)); + } else if( SameString( Alphas( iCoolCAPMAlphaNum ), "FractionOfAutosizedCoolingCapacity" ) ) { + ZoneHVACSizing( zSIndex ).CoolingCapMethod = FractionOfAutosizedCoolingCapacity; + if( !lNumericBlanks( iCoolFracOfAutosizedCapacityNumericNum ) ) { + ZoneHVACSizing( zSIndex ).ScaledCoolingCapacity = Numbers( iCoolFracOfAutosizedCapacityNumericNum ); + if( ZoneHVACSizing( zSIndex ).ScaledCoolingCapacity == AutoSize ) ZoneHVACSizing( zSIndex ).RequestAutoSize = true; + if( ZoneHVACSizing( zSIndex ).ScaledCoolingCapacity < 0.0 && ZoneHVACSizing( zSIndex ).ScaledCoolingCapacity != AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Illegal " + cNumericFields( iCoolFracOfAutosizedCapacityNumericNum ) + " = " + TrimSigDigits( Numbers( iCoolFracOfAutosizedCapacityNumericNum ), 7 ) ); ErrorsFound = true; } } else { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iCoolCAPMAlphaNum) + " = " + Alphas(iCoolCAPMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFields(iCoolFracOfAutosizedCapacityNumericNum)); + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iCoolCAPMAlphaNum ) + " = " + Alphas( iCoolCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFields( iCoolFracOfAutosizedCapacityNumericNum ) ); ErrorsFound = true; } - } else if (SameString(Alphas(iCoolCAPMAlphaNum), "None") || lAlphaBlanks(iCoolCAPMAlphaNum)) { - ZoneHVACSizing(zSIndex).CoolingCapMethod = None; + } else if( SameString( Alphas( iCoolCAPMAlphaNum ), "None" ) || lAlphaBlanks( iCoolCAPMAlphaNum ) ) { + ZoneHVACSizing( zSIndex ).CoolingCapMethod = None; } else { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Illegal " + cAlphaFields(iCoolCAPMAlphaNum) + " = " + Alphas(iCoolCAPMAlphaNum)); + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Illegal " + cAlphaFields( iCoolCAPMAlphaNum ) + " = " + Alphas( iCoolCAPMAlphaNum ) ); ErrorsFound = true; } // Determine heating design capacity of zone HVAC equipment - if (SameString(Alphas(iHeatCAPMAlphaNum), "HeatingDesignCapacity")) { - ZoneHVACSizing(zSIndex).HeatingCapMethod = HeatingDesignCapacity; - if (!lNumericBlanks(iHeatDesignCapacityNumericNum)) { - ZoneHVACSizing(zSIndex).ScaledHeatingCapacity = Numbers(iHeatDesignCapacityNumericNum); - if (ZoneHVACSizing(zSIndex).ScaledHeatingCapacity == AutoSize) ZoneHVACSizing(zSIndex).RequestAutoSize = true; - if (ZoneHVACSizing(zSIndex).ScaledHeatingCapacity < 0.0 && ZoneHVACSizing(zSIndex).ScaledHeatingCapacity != AutoSize) { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Illegal " + cNumericFields(iHeatDesignCapacityNumericNum) + " = " + TrimSigDigits(Numbers(iHeatDesignCapacityNumericNum), 7)); + if( SameString( Alphas( iHeatCAPMAlphaNum ), "HeatingDesignCapacity" ) ) { + ZoneHVACSizing( zSIndex ).HeatingCapMethod = HeatingDesignCapacity; + if( !lNumericBlanks( iHeatDesignCapacityNumericNum ) ) { + ZoneHVACSizing( zSIndex ).ScaledHeatingCapacity = Numbers( iHeatDesignCapacityNumericNum ); + if( ZoneHVACSizing( zSIndex ).ScaledHeatingCapacity == AutoSize ) ZoneHVACSizing( zSIndex ).RequestAutoSize = true; + if( ZoneHVACSizing( zSIndex ).ScaledHeatingCapacity < 0.0 && ZoneHVACSizing( zSIndex ).ScaledHeatingCapacity != AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Illegal " + cNumericFields( iHeatDesignCapacityNumericNum ) + " = " + TrimSigDigits( Numbers( iHeatDesignCapacityNumericNum ), 7 ) ); ErrorsFound = true; } } else { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iHeatCAPMAlphaNum) + " = " + Alphas(iHeatCAPMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFields(iHeatDesignCapacityNumericNum)); + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iHeatCAPMAlphaNum ) + " = " + Alphas( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFields( iHeatDesignCapacityNumericNum ) ); ErrorsFound = true; } - } - else if (SameString(Alphas(iHeatCAPMAlphaNum), "CapacityPerFloorArea")) { - ZoneHVACSizing(zSIndex).HeatingCapMethod = CapacityPerFloorArea; - if (!lNumericBlanks(iHeatCapacityPerFloorAreaNumericNum)) { - ZoneHVACSizing(zSIndex).ScaledHeatingCapacity = Numbers(iHeatCapacityPerFloorAreaNumericNum); - if (ZoneHVACSizing(zSIndex).ScaledHeatingCapacity <= 0.0) { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iHeatCAPMAlphaNum) + " = " + Alphas(iHeatCAPMAlphaNum)); - ShowContinueError("Illegal " + cNumericFields(iHeatCapacityPerFloorAreaNumericNum) + " = " + TrimSigDigits(Numbers(iHeatCapacityPerFloorAreaNumericNum), 7)); + } else if( SameString( Alphas( iHeatCAPMAlphaNum ), "CapacityPerFloorArea" ) ) { + ZoneHVACSizing( zSIndex ).HeatingCapMethod = CapacityPerFloorArea; + if( !lNumericBlanks( iHeatCapacityPerFloorAreaNumericNum ) ) { + ZoneHVACSizing( zSIndex ).ScaledHeatingCapacity = Numbers( iHeatCapacityPerFloorAreaNumericNum ); + if( ZoneHVACSizing( zSIndex ).ScaledHeatingCapacity <= 0.0 ) { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iHeatCAPMAlphaNum ) + " = " + Alphas( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFields( iHeatCapacityPerFloorAreaNumericNum ) + " = " + TrimSigDigits( Numbers( iHeatCapacityPerFloorAreaNumericNum ), 7 ) ); ErrorsFound = true; // Autosized input is not allowed - } else if (ZoneHVACSizing(zSIndex).ScaledHeatingCapacity == AutoSize) { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iHeatCAPMAlphaNum) + " = " + Alphas(iHeatCAPMAlphaNum)); - ShowContinueError("Illegal " + cNumericFields(iHeatCapacityPerFloorAreaNumericNum) + " = Autosize"); + } else if( ZoneHVACSizing( zSIndex ).ScaledHeatingCapacity == AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iHeatCAPMAlphaNum ) + " = " + Alphas( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFields( iHeatCapacityPerFloorAreaNumericNum ) + " = Autosize" ); ErrorsFound = true; } } else { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iHeatCAPMAlphaNum) + " = " + Alphas(iHeatCAPMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFields(iHeatCapacityPerFloorAreaNumericNum)); + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iHeatCAPMAlphaNum ) + " = " + Alphas( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFields( iHeatCapacityPerFloorAreaNumericNum ) ); ErrorsFound = true; } - } else if (SameString(Alphas(iHeatCAPMAlphaNum), "FractionOfAutosizedHeatingCapacity")){ - ZoneHVACSizing(zSIndex).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; - if (!lNumericBlanks(iHeatFracOfAutosizedCapacityNumericNum)) { - ZoneHVACSizing(zSIndex).ScaledHeatingCapacity = Numbers(iHeatFracOfAutosizedCapacityNumericNum); - if (ZoneHVACSizing(zSIndex).ScaledHeatingCapacity == AutoSize) ZoneHVACSizing(zSIndex).RequestAutoSize = true; - if (ZoneHVACSizing(zSIndex).ScaledHeatingCapacity < 0.0 && ZoneHVACSizing(zSIndex).ScaledCoolingCapacity != AutoSize) { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Illegal " + cNumericFields(iHeatFracOfAutosizedCapacityNumericNum) + " = " + TrimSigDigits(Numbers(iHeatFracOfAutosizedCapacityNumericNum), 7)); + } else if( SameString( Alphas( iHeatCAPMAlphaNum ), "FractionOfAutosizedHeatingCapacity" ) ){ + ZoneHVACSizing( zSIndex ).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; + if( !lNumericBlanks( iHeatFracOfAutosizedCapacityNumericNum ) ) { + ZoneHVACSizing( zSIndex ).ScaledHeatingCapacity = Numbers( iHeatFracOfAutosizedCapacityNumericNum ); + if( ZoneHVACSizing( zSIndex ).ScaledHeatingCapacity == AutoSize ) ZoneHVACSizing( zSIndex ).RequestAutoSize = true; + if( ZoneHVACSizing( zSIndex ).ScaledHeatingCapacity < 0.0 && ZoneHVACSizing( zSIndex ).ScaledCoolingCapacity != AutoSize ) { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Illegal " + cNumericFields( iHeatFracOfAutosizedCapacityNumericNum ) + " = " + TrimSigDigits( Numbers( iHeatFracOfAutosizedCapacityNumericNum ), 7 ) ); ErrorsFound = true; } - } - else { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Input for " + cAlphaFields(iHeatCAPMAlphaNum) + " = " + Alphas(iHeatCAPMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFields(iHeatFracOfAutosizedCapacityNumericNum)); + } else { + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Input for " + cAlphaFields( iHeatCAPMAlphaNum ) + " = " + Alphas( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFields( iHeatFracOfAutosizedCapacityNumericNum ) ); ErrorsFound = true; } - } else if (SameString(Alphas(iHeatCAPMAlphaNum), "None") || lAlphaBlanks(iHeatCAPMAlphaNum)) { - ZoneHVACSizing(zSIndex).HeatingCapMethod = None; + } else if( SameString( Alphas( iHeatCAPMAlphaNum ), "None" ) || lAlphaBlanks( iHeatCAPMAlphaNum ) ) { + ZoneHVACSizing( zSIndex ).HeatingCapMethod = None; } else { - ShowSevereError(CurrentModuleObject + " = " + ZoneHVACSizing(zSIndex).Name); - ShowContinueError("Illegal " + cAlphaFields(iHeatCAPMAlphaNum) + " = " + Alphas(iHeatCAPMAlphaNum)); + ShowSevereError( CurrentModuleObject + " = " + ZoneHVACSizing( zSIndex ).Name ); + ShowContinueError( "Illegal " + cAlphaFields( iHeatCAPMAlphaNum ) + " = " + Alphas( iHeatCAPMAlphaNum ) ); ErrorsFound = true; } } } - Alphas.deallocate(); - cAlphaFields.deallocate(); - cNumericFields.deallocate(); - Numbers.deallocate(); - lAlphaBlanks.deallocate(); - lNumericBlanks.deallocate(); + Alphas.deallocate( ); + cAlphaFields.deallocate( ); + cNumericFields.deallocate( ); + Numbers.deallocate( ); + lAlphaBlanks.deallocate( ); + lNumericBlanks.deallocate( ); - if (ErrorsFound) { - ShowFatalError(RoutineName + "Errors found in input. Preceding condition(s) cause termination."); + if( ErrorsFound ) { + ShowFatalError( RoutineName + "Errors found in input. Preceding condition(s) cause termination." ); } } diff --git a/src/EnergyPlus/SteamBaseboardRadiator.cc b/src/EnergyPlus/SteamBaseboardRadiator.cc index 01cf29bcbb3..2a3f8e936a4 100644 --- a/src/EnergyPlus/SteamBaseboardRadiator.cc +++ b/src/EnergyPlus/SteamBaseboardRadiator.cc @@ -293,12 +293,10 @@ namespace SteamBaseboardRadiator { Real64 const MinSteamFlowRate( 0.0 ); // Minimum limit of steam volume flow rate in m3/s // INTEGER,PARAMETER :: MaxDistribSurfaces = 20 ! Maximum number of surfaces that a baseboard heater can radiate to int const MinDistribSurfaces( 1 ); // Minimum number of surfaces that a baseboard heater can radiate to - int const iHeatCAPMAlphaNum( 5 ); // get input index to steam baseboard Radiator system heating capacity sizing method int const iHeatDesignCapacityNumericNum( 1 ); // get input index to steam baseboard Radiator system electric heating capacity int const iHeatCapacityPerFloorAreaNumericNum( 2 ); // get input index to steam baseboard Radiator system electric heating capacity per floor area sizing int const iHeatFracOfAutosizedCapacityNumericNum( 3 ); // get input index to steam baseboard Radiator system electric heating capacity sizing as fraction of autozized heating capacity - // INTERFACE BLOCK SPECIFICATIONS // na @@ -373,61 +371,61 @@ namespace SteamBaseboardRadiator { TestCompSet( cCMO_BBRadiator_Steam, cAlphaArgs( 1 ), cAlphaArgs( 3 ), cAlphaArgs( 4 ), "Hot Steam Nodes" ); // Determine steam baseboard radiator system heating design capacity sizing method - if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "HeatingDesignCapacity")) { - SteamBaseboard(BaseboardNum).HeatingCapMethod = HeatingDesignCapacity; - - if (!lNumericFieldBlanks(iHeatDesignCapacityNumericNum)) { - SteamBaseboard(BaseboardNum).ScaledHeatingCapacity = rNumericArgs(iHeatDesignCapacityNumericNum); - if (SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity < 0.0 && SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity != AutoSize) { - ShowSevereError(cCMO_BBRadiator_Steam + " = " + SteamBaseboard( BaseboardNum ).EquipID); - ShowContinueError("Illegal " + cNumericFieldNames(iHeatDesignCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatDesignCapacityNumericNum), 7)); + if( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "HeatingDesignCapacity" ) ) { + SteamBaseboard( BaseboardNum ).HeatingCapMethod = HeatingDesignCapacity; + + if( !lNumericFieldBlanks( iHeatDesignCapacityNumericNum ) ) { + SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity = rNumericArgs( iHeatDesignCapacityNumericNum ); + if( SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity < 0.0 && SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity != AutoSize ) { + ShowSevereError( cCMO_BBRadiator_Steam + " = " + SteamBaseboard( BaseboardNum ).EquipID ); + ShowContinueError( "Illegal " + cNumericFieldNames( iHeatDesignCapacityNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iHeatDesignCapacityNumericNum ), 7 ) ); ErrorsFound = true; } } else { - ShowSevereError(cCMO_BBRadiator_Steam + " = " + SteamBaseboard(BaseboardNum).EquipID); - ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatDesignCapacityNumericNum)); + ShowSevereError( cCMO_BBRadiator_Steam + " = " + SteamBaseboard( BaseboardNum ).EquipID ); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFieldNames( iHeatDesignCapacityNumericNum ) ); ErrorsFound = true; } - } else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "CapacityPerFloorArea")) { + } else if( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "CapacityPerFloorArea" ) ) { SteamBaseboard( BaseboardNum ).HeatingCapMethod = CapacityPerFloorArea; - if (!lNumericFieldBlanks(iHeatCapacityPerFloorAreaNumericNum)) { - SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity = rNumericArgs(iHeatCapacityPerFloorAreaNumericNum); - if (SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity <= 0.0) { - ShowSevereError(cCMO_BBRadiator_Steam + " = " + SteamBaseboard( BaseboardNum ).EquipID); - ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatCapacityPerFloorAreaNumericNum), 7)); + if( !lNumericFieldBlanks( iHeatCapacityPerFloorAreaNumericNum ) ) { + SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity = rNumericArgs( iHeatCapacityPerFloorAreaNumericNum ); + if( SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity <= 0.0 ) { + ShowSevereError( cCMO_BBRadiator_Steam + " = " + SteamBaseboard( BaseboardNum ).EquipID ); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFieldNames( iHeatCapacityPerFloorAreaNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iHeatCapacityPerFloorAreaNumericNum ), 7 ) ); ErrorsFound = true; - } else if (SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize) { - ShowSevereError(cCMO_BBRadiator_Steam + " = " + SteamBaseboard( BaseboardNum ).EquipID); - ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - ShowContinueError("Illegal " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum) + " = Autosize"); + } else if( SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize ) { + ShowSevereError( cCMO_BBRadiator_Steam + " = " + SteamBaseboard( BaseboardNum ).EquipID ); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Illegal " + cNumericFieldNames( iHeatCapacityPerFloorAreaNumericNum ) + " = Autosize" ); ErrorsFound = true; } } else { - ShowSevereError(cCMO_BBRadiator_Steam + " = " + SteamBaseboard( BaseboardNum ).EquipID); - ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatCapacityPerFloorAreaNumericNum)); + ShowSevereError( cCMO_BBRadiator_Steam + " = " + SteamBaseboard( BaseboardNum ).EquipID ); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFieldNames( iHeatCapacityPerFloorAreaNumericNum ) ); ErrorsFound = true; } - } else if (SameString(cAlphaArgs(iHeatCAPMAlphaNum), "FractionOfAutosizedHeatingCapacity")){ + } else if( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "FractionOfAutosizedHeatingCapacity" ) ){ SteamBaseboard( BaseboardNum ).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; - if (!lNumericFieldBlanks(iHeatFracOfAutosizedCapacityNumericNum)) { - SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity = rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum); - if (SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity < 0.0) { - ShowSevereError(cCMO_BBRadiator_Steam + " = " + SteamBaseboard( BaseboardNum ).EquipID); - ShowContinueError("Illegal " + cNumericFieldNames(iHeatFracOfAutosizedCapacityNumericNum) + " = " + TrimSigDigits(rNumericArgs(iHeatFracOfAutosizedCapacityNumericNum), 7)); + if( !lNumericFieldBlanks( iHeatFracOfAutosizedCapacityNumericNum ) ) { + SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity = rNumericArgs( iHeatFracOfAutosizedCapacityNumericNum ); + if( SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity < 0.0 ) { + ShowSevereError( cCMO_BBRadiator_Steam + " = " + SteamBaseboard( BaseboardNum ).EquipID ); + ShowContinueError( "Illegal " + cNumericFieldNames( iHeatFracOfAutosizedCapacityNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iHeatFracOfAutosizedCapacityNumericNum ), 7 ) ); ErrorsFound = true; } } else { - ShowSevereError(cCMO_BBRadiator_Steam + " = " + SteamBaseboard( BaseboardNum ).EquipID); - ShowContinueError("Input for " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); - ShowContinueError("Blank field not allowed for " + cNumericFieldNames(iHeatFracOfAutosizedCapacityNumericNum)); + ShowSevereError( cCMO_BBRadiator_Steam + " = " + SteamBaseboard( BaseboardNum ).EquipID ); + ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); + ShowContinueError( "Blank field not allowed for " + cNumericFieldNames( iHeatFracOfAutosizedCapacityNumericNum ) ); ErrorsFound = true; } } else { - ShowSevereError(cCMO_BBRadiator_Steam + " = " + SteamBaseboard( BaseboardNum ).EquipID); - ShowContinueError("Illegal " + cAlphaFieldNames(iHeatCAPMAlphaNum) + " = " + cAlphaArgs(iHeatCAPMAlphaNum)); + ShowSevereError( cCMO_BBRadiator_Steam + " = " + SteamBaseboard( BaseboardNum ).EquipID ); + ShowContinueError( "Illegal " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); ErrorsFound = true; } @@ -809,14 +807,13 @@ namespace SteamBaseboardRadiator { bool IsAutoSize; // Indicator to autosizing steam flow Real64 SteamVolFlowRateMaxDes; // Design maximum steam volume flow for reporting Real64 SteamVolFlowRateMaxUser; // User hard-sized maximum steam volume flow for reporting - - std::string CompName; // component name - std::string CompType; // component type + std::string CompName; // component name + std::string CompType; // component type std::string SizingString; // input field sizing description (e.g., Nominal Capacity) - Real64 TempSize; // autosized value of coil input field - int FieldNum = 1; // IDD numeric field number where input field description is found - int SizingMethod; // Integer representation of sizing method name (HeatingCapacitySizing) - bool PrintFlag; // TRUE when sizing information is reported in the eio file + Real64 TempSize; // autosized value of coil input field + int FieldNum = 1; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (HeatingCapacitySizing) + bool PrintFlag; // TRUE when sizing information is reported in the eio file int CapSizingMethod( 0 ); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, and FractionOfAutosizedHeatingCapacity ) @@ -856,32 +853,32 @@ namespace SteamBaseboardRadiator { PrintFlag = false; SizingString = SteamBaseboardNumericFields( BaseboardNum ).FieldNames(FieldNum) + " [W]"; CapSizingMethod = SteamBaseboard( BaseboardNum ).HeatingCapMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; - if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { - - if (CapSizingMethod == HeatingDesignCapacity){ - if (SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize) { - CheckZoneSizing(CompType, CompName); - ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; - ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; + if( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { + + if( CapSizingMethod == HeatingDesignCapacity ){ + if( SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize ) { + CheckZoneSizing( CompType, CompName ); + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; } TempSize = SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity; - } else if (CapSizingMethod == CapacityPerFloorArea){ + } else if( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad; DataScalableCapSizingON = true; - } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ - CheckZoneSizing(CompType, CompName); - ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + } else if( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ + CheckZoneSizing( CompType, CompName ); + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; DataFracOfAutosizedHeatingCapacity = SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity; - ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; TempSize = AutoSize; DataScalableCapSizingON = true; } else { TempSize = SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity; } - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); DesCoilLoad = TempSize; } else { DesCoilLoad = 0.0; // CalcFinalZoneSizing(CurZoneEqNum).DesHeatLoad * CalcFinalZoneSizing(CurZoneEqNum).HeatSizingFactor; diff --git a/src/EnergyPlus/SteamBaseboardRadiator.hh b/src/EnergyPlus/SteamBaseboardRadiator.hh index 961c4200d15..547170a0792 100644 --- a/src/EnergyPlus/SteamBaseboardRadiator.hh +++ b/src/EnergyPlus/SteamBaseboardRadiator.hh @@ -89,9 +89,8 @@ namespace SteamBaseboardRadiator { int BBLoadReSimIndex; int BBMassFlowReSimIndex; int BBInletTempFlowReSimIndex; - int HeatingCapMethod; // - Method for steam baseboard Radiator system heating capacity scaledsizing calculation - //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) - Real64 ScaledHeatingCapacity; // - steam baseboard Radiator system scaled maximum heating capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} + int HeatingCapMethod; // - Method for steam baseboard Radiator system heating capacity scaledsizing calculation (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 ScaledHeatingCapacity; // - steam baseboard Radiator system scaled maximum heating capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} // Default Constructor SteamBaseboardParams() : @@ -186,9 +185,8 @@ namespace SteamBaseboardRadiator { int const BBLoadReSimIndex, int const BBMassFlowReSimIndex, int const BBInletTempFlowReSimIndex, - int const HeatingCapMethod, // - Method for steam baseboard Radiator system heating capacity scaledsizing calculation - //- (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) - Real64 const ScaledHeatingCapacity // - steam baseboard Radiator system scaled maximum heating capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} + int const HeatingCapMethod, // - Method for steam baseboard Radiator system heating capacity scaledsizing calculation (HeatingDesignCapacity, CapacityPerFloorArea, FracOfAutosizedHeatingCapacity) + Real64 const ScaledHeatingCapacity // - steam baseboard Radiator system scaled maximum heating capacity {W} or scalable variable of zone HVAC equipment, {-}, or {W/m2} ) : EquipID( EquipID ), diff --git a/src/EnergyPlus/UnitHeater.cc b/src/EnergyPlus/UnitHeater.cc index 80aead5e414..4cda46cff17 100644 --- a/src/EnergyPlus/UnitHeater.cc +++ b/src/EnergyPlus/UnitHeater.cc @@ -841,6 +841,7 @@ namespace UnitHeater { using DataHVACGlobals::HeatingCapacitySizing; using DataHVACGlobals::HeatingWaterflowSizing; using DataHeatBalance::Zone; + // Locals // SUBROUTINE ARGUMENT DEFINITIONS: @@ -876,17 +877,16 @@ namespace UnitHeater { Real64 MaxVolHotWaterFlowUser; // Hardsized maximum hot water flow for reporting Real64 MaxVolHotSteamFlowDes; // Autosized maximum hot steam flow for reporting Real64 MaxVolHotSteamFlowUser; // Hardsized maximum hot steam flow for reporting - - std::string CompName; // component name - std::string CompType; // component type + std::string CompName; // component name + std::string CompType; // component type std::string SizingString; // input field sizing description (e.g., Nominal Capacity) - Real64 TempSize; // autosized value of coil input field - int FieldNum = 1; // IDD numeric field number where input field description is found - int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) - bool PrintFlag; // TRUE when sizing information is reported in the eio file - int zoneHVACIndex; // index of zoneHVAC equipment sizing specification - int SAFMethod( 0 ); // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow ...) - int CapSizingMethod(0); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) + Real64 TempSize; // autosized value of coil input field + int FieldNum = 1; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) + bool PrintFlag; // TRUE when sizing information is reported in the eio file + int zoneHVACIndex; // index of zoneHVAC equipment sizing specification + int SAFMethod( 0 ); // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow ...) + int CapSizingMethod(0); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) PltSizHeatNum = 0; ErrorsFound = false; @@ -905,55 +905,55 @@ namespace UnitHeater { CompName = UnitHeat( UnitHeatNum ).Name; DataZoneNumber = UnitHeat( UnitHeatNum ).ZonePtr; - if ( CurZoneEqNum > 0 ) { - if (UnitHeat(UnitHeatNum).HVACSizingIndex > 0) { - zoneHVACIndex = UnitHeat(UnitHeatNum).HVACSizingIndex; + if( CurZoneEqNum > 0 ) { + if( UnitHeat( UnitHeatNum ).HVACSizingIndex > 0 ) { + zoneHVACIndex = UnitHeat( UnitHeatNum ).HVACSizingIndex; // N1 , \field Maximum Supply Air Flow Rate SizingMethod = HeatingAirflowSizing; FieldNum = 1; PrintFlag = true; - SizingString = UnitHeatNumericFields(UnitHeatNum).FieldNames(FieldNum) + " [m3/s]"; - SAFMethod = ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod( SizingMethod ) = SAFMethod; - if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow) { - if (SAFMethod == SupplyAirFlowRate){ - if (ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0) { + SizingString = UnitHeatNumericFields( UnitHeatNum ).FieldNames( FieldNum ) + " [m3/s]"; + SAFMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingSAFMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; + if( SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow ) { + if( SAFMethod == SupplyAirFlowRate ){ + if( ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; } TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; - } else if (SAFMethod == FlowPerFloorArea){ + } else if( SAFMethod == FlowPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; - } else if (SAFMethod == FractionOfAutosizedHeatingAirflow){ - DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + } else if( SAFMethod == FractionOfAutosizedHeatingAirflow ){ + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; } else { - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; } - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - UnitHeat(UnitHeatNum).MaxAirVolFlow = TempSize; + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); + UnitHeat( UnitHeatNum ).MaxAirVolFlow = TempSize; - } else if (SAFMethod == FlowPerHeatingCapacity) { + } else if( SAFMethod == FlowPerHeatingCapacity ) { SizingMethod = HeatingCapacitySizing; TempSize = AutoSize; PrintFlag = false; DataScalableSizingON = true; - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - if (ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod == FractionOfAutosizedHeatingCapacity) { - DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); + if( ZoneHVACSizing( zoneHVACIndex ).HeatingCapMethod == FractionOfAutosizedHeatingCapacity ) { + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; } DataAutosizedHeatingCapacity = TempSize; - DataFlowPerHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + DataFlowPerHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; SizingMethod = HeatingAirflowSizing; PrintFlag = true; TempSize = AutoSize; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - UnitHeat(UnitHeatNum).MaxAirVolFlow = TempSize; + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); + UnitHeat( UnitHeatNum ).MaxAirVolFlow = TempSize; } DataScalableSizingON = false; } else { @@ -963,10 +963,10 @@ namespace UnitHeater { SizingMethod = HeatingAirflowSizing; FieldNum = 1; PrintFlag = true; - SizingString = UnitHeatNumericFields( UnitHeatNum ).FieldNames( FieldNum ) + " [m3/s]"; - TempSize = UnitHeat(UnitHeatNum).MaxAirVolFlow; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - UnitHeat(UnitHeatNum).MaxAirVolFlow = TempSize; + SizingString = UnitHeatNumericFields( UnitHeatNum ).FieldNames( FieldNum ) + " [m3/s]"; + TempSize = UnitHeat( UnitHeatNum ).MaxAirVolFlow; + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); + UnitHeat( UnitHeatNum ).MaxAirVolFlow = TempSize; } } @@ -987,47 +987,47 @@ namespace UnitHeater { CoilWaterInletNode = GetCoilWaterInletNode( "Coil:Heating:Water", UnitHeat( UnitHeatNum ).HCoilName, ErrorsFound ); CoilWaterOutletNode = GetCoilWaterOutletNode( "Coil:Heating:Water", UnitHeat( UnitHeatNum ).HCoilName, ErrorsFound ); - if ( IsAutoSize ) { + if( IsAutoSize ) { PltSizHeatNum = MyPlantSizingIndex( "Coil:Heating:Water", UnitHeat( UnitHeatNum ).HCoilName, CoilWaterInletNode, CoilWaterOutletNode, ErrorsFound ); - if (PltSizHeatNum > 0) { + if( PltSizHeatNum > 0 ) { SizingMethod = HeatingCapacitySizing; - if (UnitHeat(UnitHeatNum).HVACSizingIndex > 0) { - zoneHVACIndex = UnitHeat(UnitHeatNum).HVACSizingIndex; - CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; - if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { - if (CapSizingMethod == HeatingDesignCapacity){ - if (ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity == AutoSize) { + if( UnitHeat( UnitHeatNum ).HVACSizingIndex > 0 ) { + zoneHVACIndex = UnitHeat( UnitHeatNum ).HVACSizingIndex; + CapSizingMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingCapMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; + if( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { + if( CapSizingMethod == HeatingDesignCapacity ){ + if( ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity == AutoSize ) { ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = FinalZoneSizing( CurZoneEqNum ).DesHeatLoad; } else { ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; } - ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; TempSize = AutoSize; - } else if (CapSizingMethod == CapacityPerFloorArea){ + } else if( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; - } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ - DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + } else if( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; DataScalableCapSizingON = true; TempSize = AutoSize; } } PrintFlag = false; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); DesCoilLoad = TempSize; } else { SizingString = ""; PrintFlag = false; TempSize = AutoSize; - ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; - ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = FinalZoneSizing(CurZoneEqNum).DesHeatLoad; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = FinalZoneSizing( CurZoneEqNum ).DesHeatLoad; + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); DesCoilLoad = TempSize; } - if ( DesCoilLoad >= SmallLoad ) { + if( DesCoilLoad >= SmallLoad ) { rho = GetDensityGlycol( PlantLoop( UnitHeat( UnitHeatNum ).HWLoopNum ).FluidName, 60.0, PlantLoop( UnitHeat( UnitHeatNum ).HWLoopNum ).FluidIndex, RoutineName ); Cp = GetSpecificHeatGlycol( PlantLoop( UnitHeat( UnitHeatNum ).HWLoopNum ).FluidName, 60.0, PlantLoop( UnitHeat( UnitHeatNum ).HWLoopNum ).FluidIndex, RoutineName ); MaxVolHotWaterFlowDes = DesCoilLoad / ( PlantSizData( PltSizHeatNum ).DeltaT * Cp * rho ); @@ -1083,41 +1083,41 @@ namespace UnitHeater { CoilSteamInletNode = GetCoilSteamInletNode( "Coil:Heating:Steam", UnitHeat( UnitHeatNum ).HCoilName, ErrorsFound ); CoilSteamOutletNode = GetCoilSteamInletNode( "Coil:Heating:Steam", UnitHeat( UnitHeatNum ).HCoilName, ErrorsFound ); - if ( IsAutoSize ) { + if( IsAutoSize ) { PltSizHeatNum = MyPlantSizingIndex( "Coil:Heating:Steam", UnitHeat( UnitHeatNum ).HCoilName, CoilSteamInletNode, CoilSteamOutletNode, ErrorsFound ); - if ( PltSizHeatNum > 0 ) { - if (UnitHeat(UnitHeatNum).HVACSizingIndex > 0) { - zoneHVACIndex = UnitHeat(UnitHeatNum).HVACSizingIndex; + if( PltSizHeatNum > 0 ) { + if( UnitHeat( UnitHeatNum ).HVACSizingIndex > 0 ) { + zoneHVACIndex = UnitHeat( UnitHeatNum ).HVACSizingIndex; SizingMethod = HeatingCapacitySizing; - CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; - if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { - if (CapSizingMethod == HeatingDesignCapacity){ - if (ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity == AutoSize) { - ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = FinalZoneSizing(CurZoneEqNum).DesHeatLoad; + CapSizingMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingCapMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; + if( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { + if( CapSizingMethod == HeatingDesignCapacity ){ + if( ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity == AutoSize ) { + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = FinalZoneSizing( CurZoneEqNum ).DesHeatLoad; } else { - ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; } - ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; TempSize = AutoSize; - } else if (CapSizingMethod == CapacityPerFloorArea){ + } else if( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; - } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ - DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + } else if( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; TempSize = AutoSize; DataScalableCapSizingON = true; } } SizingMethod = HeatingCapacitySizing; PrintFlag = false; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); DesCoilLoad = TempSize; } else { - DesCoilLoad = FinalZoneSizing(CurZoneEqNum).DesHeatLoad; + DesCoilLoad = FinalZoneSizing( CurZoneEqNum ).DesHeatLoad; } - if ( DesCoilLoad >= SmallLoad ) { + if( DesCoilLoad >= SmallLoad ) { TempSteamIn = 100.00; EnthSteamInDry = GetSatEnthalpyRefrig( fluidNameSteam, TempSteamIn, 1.0, RefrigIndex, RoutineName ); EnthSteamOutWet = GetSatEnthalpyRefrig( fluidNameSteam, TempSteamIn, 0.0, RefrigIndex, RoutineName ); @@ -1133,15 +1133,15 @@ namespace UnitHeater { ErrorsFound = true; } } - if ( IsAutoSize ) { + if( IsAutoSize ) { UnitHeat( UnitHeatNum ).MaxVolHotSteamFlow = MaxVolHotSteamFlowDes; ReportSizingOutput( "ZoneHVAC:UnitHeater", UnitHeat( UnitHeatNum ).Name, "Design Size Maximum Steam Flow [m3/s]", MaxVolHotSteamFlowDes ); } else { - if ( UnitHeat( UnitHeatNum ).MaxVolHotSteamFlow > 0.0 && MaxVolHotSteamFlowDes > 0.0 ) { + if( UnitHeat( UnitHeatNum ).MaxVolHotSteamFlow > 0.0 && MaxVolHotSteamFlowDes > 0.0 ) { MaxVolHotSteamFlowUser = UnitHeat( UnitHeatNum ).MaxVolHotSteamFlow; ReportSizingOutput( "ZoneHVAC:UnitHeater", UnitHeat( UnitHeatNum ).Name, "Design Size Maximum Steam Flow [m3/s]", MaxVolHotSteamFlowDes, "User-Specified Maximum Steam Flow [m3/s]", MaxVolHotSteamFlowUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( MaxVolHotSteamFlowDes - MaxVolHotSteamFlowUser ) / MaxVolHotSteamFlowUser ) > AutoVsHardSizingThreshold ) { + if( DisplayExtraWarnings ) { + if( ( std::abs( MaxVolHotSteamFlowDes - MaxVolHotSteamFlowUser ) / MaxVolHotSteamFlowUser ) > AutoVsHardSizingThreshold ) { ShowMessage( "SizeUnitHeater: Potential issue with equipment sizing for ZoneHVAC:UnitHeater " + UnitHeat( UnitHeatNum ).Name ); ShowContinueError( "User-Specified Maximum Steam Flow of " + RoundSigDigits( MaxVolHotSteamFlowUser, 5 ) + " [m3/s]" ); ShowContinueError( "differs from Design Size Maximum Steam Flow of " + RoundSigDigits( MaxVolHotSteamFlowDes, 5 ) + " [m3/s]" ); diff --git a/src/EnergyPlus/UnitVentilator.cc b/src/EnergyPlus/UnitVentilator.cc index bd7a8172ff1..9dd50fcb5d2 100644 --- a/src/EnergyPlus/UnitVentilator.cc +++ b/src/EnergyPlus/UnitVentilator.cc @@ -1261,17 +1261,17 @@ namespace UnitVentilator { Real64 MaxVolColdWaterFlowDes; // Autosized maximum chilled water flow for reporting Real64 MaxVolColdWaterFlowUser; // Hardsized maximum chilled water flow for reporting - std::string CompName; // component name - std::string CompType; // component type + std::string CompName; // component name + std::string CompType; // component type std::string SizingString; // input field sizing description (e.g., Nominal Capacity) - bool bPRINT = true; // TRUE if sizing is reported to output (eio) - Real64 TempSize; // autosized value of coil input field - int FieldNum = 2; // IDD numeric field number where input field description is found - int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) - bool PrintFlag; // TRUE when sizing information is reported in the eio file - int zoneHVACIndex; // index of zoneHVAC equipment sizing specification - int SAFMethod( 0 ); // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow ...) - int CapSizingMethod( 0 ); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) + bool bPRINT = true; // TRUE if sizing is reported to output (eio) + Real64 TempSize; // autosized value of coil input field + int FieldNum = 2; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) + bool PrintFlag; // TRUE when sizing information is reported in the eio file + int zoneHVACIndex; // index of zoneHVAC equipment sizing specification + int SAFMethod( 0 ); // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow ...) + int CapSizingMethod( 0 ); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) Real64 CoolingAirVolFlowScalable; // cooling airvolume for rate determined using scalable sizing method Real64 HeatingAirVolFlowScalable; // heating airvolume for rate determined using scalable sizing method @@ -1290,10 +1290,8 @@ namespace UnitVentilator { MaxVolHotSteamFlowUser = 0.0; MaxVolColdWaterFlowDes = 0.0; MaxVolColdWaterFlowUser = 0.0; - CoolingAirVolFlowScalable = 0.0; HeatingAirVolFlowScalable = 0.0; - DataScalableSizingON = false; DataScalableCapSizingON = false; CompType = cMO_UnitVentilator; @@ -1302,195 +1300,195 @@ namespace UnitVentilator { ZoneCoolingOnlyFan = false; ZoneHeatingOnlyFan = false; - if (UnitVent(UnitVentNum).CoilOption == BothOption) { + if( UnitVent( UnitVentNum ).CoilOption == BothOption ) { ZoneCoolingOnlyFan = true; ZoneHeatingOnlyFan = true; - } else if (UnitVent(UnitVentNum).CoilOption == HeatingOption) { + } else if( UnitVent( UnitVentNum ).CoilOption == HeatingOption ) { ZoneHeatingOnlyFan = true; - } else if (UnitVent(UnitVentNum).CoilOption == CoolingOption) { + } else if( UnitVent( UnitVentNum ).CoilOption == CoolingOption ) { ZoneCoolingOnlyFan = true; - } else if (UnitVent(UnitVentNum).CoilOption == NoneOption) { + } else if( UnitVent( UnitVentNum ).CoilOption == NoneOption ) { } - if (CurZoneEqNum > 0) { + if( CurZoneEqNum > 0 ) { - if (UnitVent(UnitVentNum).HVACSizingIndex > 0) { - zoneHVACIndex = UnitVent(UnitVentNum).HVACSizingIndex; + if( UnitVent( UnitVentNum ).HVACSizingIndex > 0 ) { + zoneHVACIndex = UnitVent( UnitVentNum ).HVACSizingIndex; // N1 , \field Maximum Supply Air Flow Rate FieldNum = 1; PrintFlag = true; - SizingString = UnitVentNumericFields(UnitVentNum).FieldNames(FieldNum) + " [m3/s]"; + SizingString = UnitVentNumericFields( UnitVentNum ).FieldNames( FieldNum ) + " [m3/s]"; + + if( ZoneHVACSizing( zoneHVACIndex ).CoolingSAFMethod > 0 && ZoneCoolingOnlyFan && !ZoneHeatingOnlyFan ) { - if (ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod > 0 && ZoneCoolingOnlyFan && !ZoneHeatingOnlyFan) { - SizingMethod = CoolingAirflowSizing; - SAFMethod = ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; - if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow) { - if (SAFMethod == SupplyAirFlowRate){ - if (ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0) { + SAFMethod = ZoneHVACSizing( zoneHVACIndex ).CoolingSAFMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; + if( SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow ) { + if( SAFMethod == SupplyAirFlowRate ){ + if( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; } TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; - } else if (SAFMethod == FlowPerFloorArea){ + } else if( SAFMethod == FlowPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; - } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ - DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + } else if( SAFMethod == FractionOfAutosizedCoolingAirflow ){ + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; } else { - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; } - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); CoolingAirVolFlowScalable = TempSize; - } else if (SAFMethod == FlowPerCoolingCapacity) { + } else if( SAFMethod == FlowPerCoolingCapacity ) { SizingMethod = CoolingCapacitySizing; TempSize = AutoSize; PrintFlag = false; DataScalableSizingON = true; - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); DataAutosizedCoolingCapacity = TempSize; - DataFlowPerCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + DataFlowPerCoolingCapacity = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; SizingMethod = CoolingAirflowSizing; PrintFlag = true; TempSize = AutoSize; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); CoolingAirVolFlowScalable = TempSize; } //DataScalableSizingON = false; - - } else if (ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod > 0 && ZoneHeatingOnlyFan && ! ZoneCoolingOnlyFan) { + + } else if( ZoneHVACSizing( zoneHVACIndex ).HeatingSAFMethod > 0 && ZoneHeatingOnlyFan && !ZoneCoolingOnlyFan ) { SizingMethod = HeatingAirflowSizing; - SAFMethod = ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; - if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow) { - if (SAFMethod == SupplyAirFlowRate){ - if (ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0) { + SAFMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingSAFMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; + if( SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow ) { + if( SAFMethod == SupplyAirFlowRate ){ + if( ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; } TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; - } else if (SAFMethod == FlowPerFloorArea){ + } else if( SAFMethod == FlowPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; - } else if (SAFMethod == FractionOfAutosizedHeatingAirflow){ - DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + } else if( SAFMethod == FractionOfAutosizedHeatingAirflow ){ + DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; } else { - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; } - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); HeatingAirVolFlowScalable = TempSize; - - } else if (SAFMethod == FlowPerHeatingCapacity) { + + } else if( SAFMethod == FlowPerHeatingCapacity ) { SizingMethod = HeatingCapacitySizing; TempSize = AutoSize; PrintFlag = false; DataScalableSizingON = true; - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); DataAutosizedHeatingCapacity = TempSize; - DataFlowPerHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + DataFlowPerHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; SizingMethod = HeatingAirflowSizing; PrintFlag = true; TempSize = AutoSize; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); HeatingAirVolFlowScalable = TempSize; } //DataScalableSizingON = false; } else { - if ( UnitVent( UnitVentNum ).CoilOption != NoneOption ) { - if (ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod > 0) { + if( UnitVent( UnitVentNum ).CoilOption != NoneOption ) { + if( ZoneHVACSizing( zoneHVACIndex ).CoolingSAFMethod > 0 ) { SizingMethod = CoolingAirflowSizing; - SAFMethod = ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; - if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow) { - if (SAFMethod == SupplyAirFlowRate){ - if (ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0) { + SAFMethod = ZoneHVACSizing( zoneHVACIndex ).CoolingSAFMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; + if( SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow ) { + if( SAFMethod == SupplyAirFlowRate ){ + if( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; } TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; - } else if (SAFMethod == FlowPerFloorArea){ + } else if( SAFMethod == FlowPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; - } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ - DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + } else if( SAFMethod == FractionOfAutosizedCoolingAirflow ){ + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; } else { - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; - } - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; + } + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); CoolingAirVolFlowScalable = TempSize; - } else if (SAFMethod == FlowPerCoolingCapacity) { + } else if( SAFMethod == FlowPerCoolingCapacity ) { SizingMethod = CoolingCapacitySizing; TempSize = AutoSize; PrintFlag = false; DataScalableSizingON = true; - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); DataAutosizedCoolingCapacity = TempSize; - DataFlowPerCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + DataFlowPerCoolingCapacity = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; SizingMethod = CoolingAirflowSizing; PrintFlag = true; TempSize = AutoSize; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); CoolingAirVolFlowScalable = TempSize; } - } else if (ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod > 0) { + } else if( ZoneHVACSizing( zoneHVACIndex ).HeatingSAFMethod > 0 ) { SizingMethod = HeatingAirflowSizing; - SAFMethod = ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; - if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow) { + SAFMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingSAFMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; + if( SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow ) { SizingMethod = SystemAirflowSizing; - if (SAFMethod == SupplyAirFlowRate){ - if (ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0) { + if( SAFMethod == SupplyAirFlowRate ){ + if( ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; } TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; - } else if (SAFMethod == FlowPerFloorArea){ + } else if( SAFMethod == FlowPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; - } else if (SAFMethod == FractionOfAutosizedHeatingAirflow){ - DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + } else if( SAFMethod == FractionOfAutosizedHeatingAirflow ){ + DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; } else { - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; } - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); HeatingAirVolFlowScalable = TempSize; - } else if (SAFMethod == FlowPerHeatingCapacity) { + } else if( SAFMethod == FlowPerHeatingCapacity ) { SizingMethod = HeatingCapacitySizing; TempSize = AutoSize; PrintFlag = false; DataScalableSizingON = true; - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); DataAutosizedHeatingCapacity = TempSize; - DataFlowPerHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + DataFlowPerHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; SizingMethod = HeatingAirflowSizing; PrintFlag = true; TempSize = AutoSize; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); HeatingAirVolFlowScalable = TempSize; } } @@ -1499,14 +1497,14 @@ namespace UnitVentilator { PrintFlag = true; FieldNum = 1; - SizingString = UnitVentNumericFields( UnitVentNum ).FieldNames(FieldNum) + " [m3/s]"; + SizingString = UnitVentNumericFields( UnitVentNum ).FieldNames( FieldNum ) + " [m3/s]"; SizingMethod = SystemAirflowSizing; - if ( UnitVent( UnitVentNum ).MaxAirVolFlow == AutoSize ) { - TempSize = FinalZoneSizing( CurZoneEqNum ).MinOA; + if( UnitVent( UnitVentNum ).MaxAirVolFlow == AutoSize ) { + TempSize = FinalZoneSizing( CurZoneEqNum ).MinOA; } else { - TempSize = UnitVent( UnitVentNum ).MaxAirVolFlow; + TempSize = UnitVent( UnitVentNum ).MaxAirVolFlow; } - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); HeatingAirVolFlowScalable = TempSize; } } @@ -1519,20 +1517,20 @@ namespace UnitVentilator { // N1 , \field Maximum Supply Air Flow Rate PrintFlag = true; FieldNum = 1; - SizingString = UnitVentNumericFields( UnitVentNum ).FieldNames(FieldNum) + " [m3/s]"; + SizingString = UnitVentNumericFields( UnitVentNum ).FieldNames( FieldNum ) + " [m3/s]"; SizingMethod = SystemAirflowSizing; - if ( UnitVent( UnitVentNum ).CoilOption == NoneOption ) { + if( UnitVent( UnitVentNum ).CoilOption == NoneOption ) { - if (UnitVent( UnitVentNum ).MaxAirVolFlow == AutoSize) { + if( UnitVent( UnitVentNum ).MaxAirVolFlow == AutoSize ) { TempSize = FinalZoneSizing( CurZoneEqNum ).MinOA; } else { TempSize = UnitVent( UnitVentNum ).MaxAirVolFlow; } - + } else { TempSize = UnitVent( UnitVentNum ).MaxAirVolFlow; - } - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + } + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); UnitVent( UnitVentNum ).MaxAirVolFlow = TempSize; } } @@ -1607,13 +1605,13 @@ namespace UnitVentilator { } IsAutoSize = false; - if ( UnitVent( UnitVentNum ).MaxVolHotWaterFlow == AutoSize ) { + if( UnitVent( UnitVentNum ).MaxVolHotWaterFlow == AutoSize ) { IsAutoSize = true; } - if ( UnitVent( UnitVentNum ).HCoilType == Heating_WaterCoilType ) { - if ( CurZoneEqNum > 0 ) { - if ( ! IsAutoSize && ! ZoneSizingRunDone ) { // Simulation continue - if ( UnitVent( UnitVentNum ).MaxVolHotWaterFlow > 0.0 ) { + if( UnitVent( UnitVentNum ).HCoilType == Heating_WaterCoilType ) { + if( CurZoneEqNum > 0 ) { + if( !IsAutoSize && !ZoneSizingRunDone ) { // Simulation continue + if( UnitVent( UnitVentNum ).MaxVolHotWaterFlow > 0.0 ) { ReportSizingOutput( cMO_UnitVentilator, UnitVent( UnitVentNum ).Name, "User-Specified Maximum Hot Water Flow [m3/s]", UnitVent( UnitVentNum ).MaxVolHotWaterFlow ); } } else { @@ -1621,50 +1619,50 @@ namespace UnitVentilator { CoilWaterInletNode = GetCoilWaterInletNode( "Coil:Heating:Water", UnitVent( UnitVentNum ).HCoilName, ErrorsFound ); CoilWaterOutletNode = GetCoilWaterOutletNode( "Coil:Heating:Water", UnitVent( UnitVentNum ).HCoilName, ErrorsFound ); - if ( IsAutoSize ) { + if( IsAutoSize ) { PltSizHeatNum = MyPlantSizingIndex( "Coil:Heating:Water", UnitVent( UnitVentNum ).HCoilName, CoilWaterInletNode, CoilWaterOutletNode, ErrorsFound ); - if ( PltSizHeatNum > 0 ) { - if ( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow >= SmallAirVolFlow ) { + if( PltSizHeatNum > 0 ) { + if( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow >= SmallAirVolFlow ) { SizingMethod = HeatingCapacitySizing; - if (UnitVent(UnitVentNum).HVACSizingIndex > 0) { - zoneHVACIndex = UnitVent(UnitVentNum).HVACSizingIndex; - CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; - if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { - if (CapSizingMethod == HeatingDesignCapacity){ - if (ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity > 0.0) { - ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; - ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + if( UnitVent( UnitVentNum ).HVACSizingIndex > 0 ) { + zoneHVACIndex = UnitVent( UnitVentNum ).HVACSizingIndex; + CapSizingMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingCapMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; + if( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { + if( CapSizingMethod == HeatingDesignCapacity ){ + if( ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity > 0.0 ) { + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; } else { - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; } - TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; - } else if (CapSizingMethod == CapacityPerFloorArea){ + TempSize = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; + } else if( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; - } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ - DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + } else if( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; TempSize = AutoSize; DataScalableCapSizingON = true; } } SizingString = ""; PrintFlag = false; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); DesHeatingLoad = TempSize; } else { SizingString = ""; PrintFlag = false; TempSize = AutoSize; - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); DesHeatingLoad = TempSize; } rho = GetDensityGlycol( PlantLoop( UnitVent( UnitVentNum ).HWLoopNum ).FluidName, 60., PlantLoop( UnitVent( UnitVentNum ).HWLoopNum ).FluidIndex, RoutineName ); Cp = GetSpecificHeatGlycol( PlantLoop( UnitVent( UnitVentNum ).HWLoopNum ).FluidName, 60., PlantLoop( UnitVent( UnitVentNum ).HWLoopNum ).FluidIndex, RoutineName ); - MaxVolHotWaterFlowDes = DesHeatingLoad / (PlantSizData(PltSizHeatNum).DeltaT * Cp * rho); + MaxVolHotWaterFlowDes = DesHeatingLoad / ( PlantSizData( PltSizHeatNum ).DeltaT * Cp * rho ); } else { MaxVolHotWaterFlowDes = 0.0; @@ -1675,15 +1673,15 @@ namespace UnitVentilator { ErrorsFound = true; } } - if ( IsAutoSize ) { + if( IsAutoSize ) { UnitVent( UnitVentNum ).MaxVolHotWaterFlow = MaxVolHotWaterFlowDes; ReportSizingOutput( cMO_UnitVentilator, UnitVent( UnitVentNum ).Name, "Design Size Maximum Hot Water Flow [m3/s]", MaxVolHotWaterFlowDes ); } else { - if ( UnitVent( UnitVentNum ).MaxVolHotWaterFlow > 0.0 && MaxVolHotWaterFlowDes > 0.0 ) { + if( UnitVent( UnitVentNum ).MaxVolHotWaterFlow > 0.0 && MaxVolHotWaterFlowDes > 0.0 ) { MaxVolHotWaterFlowUser = UnitVent( UnitVentNum ).MaxVolHotWaterFlow; ReportSizingOutput( cMO_UnitVentilator, UnitVent( UnitVentNum ).Name, "Design Size Maximum Hot Water Flow [m3/s]", MaxVolHotWaterFlowDes, "User-Specified Maximum Hot Water Flow [m3/s]", MaxVolHotWaterFlowUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( MaxVolHotWaterFlowDes - MaxVolHotWaterFlowUser ) / MaxVolHotWaterFlowUser ) > AutoVsHardSizingThreshold ) { + if( DisplayExtraWarnings ) { + if( ( std::abs( MaxVolHotWaterFlowDes - MaxVolHotWaterFlowUser ) / MaxVolHotWaterFlowUser ) > AutoVsHardSizingThreshold ) { ShowMessage( "SizeUnitVentilator: Potential issue with equipment sizing for " + cMO_UnitVentilator + ' ' + UnitVent( UnitVentNum ).Name ); ShowContinueError( "User-Specified Maximum Hot Water Flow of " + RoundSigDigits( MaxVolHotWaterFlowUser, 5 ) + " [m3/s]" ); ShowContinueError( "differs from Design Size Maximum Hot Water Flow of " + RoundSigDigits( MaxVolHotWaterFlowDes, 5 ) + " [m3/s]" ); @@ -1700,13 +1698,13 @@ namespace UnitVentilator { } IsAutoSize = false; - if ( UnitVent( UnitVentNum ).MaxVolHotSteamFlow == AutoSize ) { + if( UnitVent( UnitVentNum ).MaxVolHotSteamFlow == AutoSize ) { IsAutoSize = true; } - if ( UnitVent( UnitVentNum ).HCoilType == Heating_SteamCoilType ) { - if ( CurZoneEqNum > 0 ) { - if ( ! IsAutoSize && ! ZoneSizingRunDone ) { // Simulation continue - if ( UnitVent( UnitVentNum ).MaxVolHotSteamFlow > 0.0 ) { + if( UnitVent( UnitVentNum ).HCoilType == Heating_SteamCoilType ) { + if( CurZoneEqNum > 0 ) { + if( !IsAutoSize && !ZoneSizingRunDone ) { // Simulation continue + if( UnitVent( UnitVentNum ).MaxVolHotSteamFlow > 0.0 ) { ReportSizingOutput( cMO_UnitVentilator, UnitVent( UnitVentNum ).Name, "User-Specified Maximum Steam Flow [m3/s]", UnitVent( UnitVentNum ).MaxVolHotSteamFlow ); } } else { @@ -1714,45 +1712,45 @@ namespace UnitVentilator { CoilSteamInletNode = GetCoilSteamInletNode( "Coil:Heating:Steam", UnitVent( UnitVentNum ).HCoilName, ErrorsFound ); CoilSteamOutletNode = GetCoilSteamInletNode( "Coil:Heating:Steam", UnitVent( UnitVentNum ).HCoilName, ErrorsFound ); - if ( IsAutoSize ) { + if( IsAutoSize ) { PltSizHeatNum = MyPlantSizingIndex( "Coil:Heating:Steam", UnitVent( UnitVentNum ).HCoilName, CoilSteamInletNode, CoilSteamOutletNode, ErrorsFound ); - if ( PltSizHeatNum > 0 ) { - if ( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow >= SmallAirVolFlow ) { + if( PltSizHeatNum > 0 ) { + if( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow >= SmallAirVolFlow ) { SizingMethod = HeatingCapacitySizing; - if (UnitVent(UnitVentNum).HVACSizingIndex > 0) { - zoneHVACIndex = UnitVent(UnitVentNum).HVACSizingIndex; - CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; - if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { - if (CapSizingMethod == HeatingDesignCapacity){ - if (ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity > 0.0) { - ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; - ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + if( UnitVent( UnitVentNum ).HVACSizingIndex > 0 ) { + zoneHVACIndex = UnitVent( UnitVentNum ).HVACSizingIndex; + CapSizingMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingCapMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; + if( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { + if( CapSizingMethod == HeatingDesignCapacity ){ + if( ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity > 0.0 ) { + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; } else { - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; } - TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; - } else if (CapSizingMethod == CapacityPerFloorArea){ + TempSize = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; + } else if( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; - } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ - DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + } else if( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; TempSize = AutoSize; DataScalableCapSizingON = true; } } SizingString = ""; PrintFlag = false; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); DesHeatingLoad = TempSize; } else { SizingString = ""; PrintFlag = false; TempSize = AutoSize; - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); DesHeatingLoad = TempSize; } TempSteamIn = 100.00; @@ -1761,7 +1759,7 @@ namespace UnitVentilator { LatentHeatSteam = EnthSteamInDry - EnthSteamOutWet; SteamDensity = GetSatDensityRefrig( fluidNameSteam, TempSteamIn, 1.0, RefrigIndex, RoutineName ); Cp = GetSpecificHeatGlycol( fluidNameWater, PlantSizData( PltSizHeatNum ).ExitTemp, DummyWaterIndex, RoutineName ); - MaxVolHotSteamFlowDes = DesHeatingLoad / (SteamDensity * (LatentHeatSteam + PlantSizData(PltSizHeatNum).DeltaT * Cp)); + MaxVolHotSteamFlowDes = DesHeatingLoad / ( SteamDensity * ( LatentHeatSteam + PlantSizData( PltSizHeatNum ).DeltaT * Cp ) ); } else { MaxVolHotSteamFlowDes = 0.0; } @@ -1771,15 +1769,15 @@ namespace UnitVentilator { ErrorsFound = true; } } - if ( IsAutoSize ) { + if( IsAutoSize ) { UnitVent( UnitVentNum ).MaxVolHotSteamFlow = MaxVolHotSteamFlowDes; ReportSizingOutput( cMO_UnitVentilator, UnitVent( UnitVentNum ).Name, "Design Size Maximum Steam Flow [m3/s]", MaxVolHotSteamFlowDes ); } else { - if ( UnitVent( UnitVentNum ).MaxVolHotSteamFlow > 0.0 && MaxVolHotSteamFlowDes > 0.0 ) { + if( UnitVent( UnitVentNum ).MaxVolHotSteamFlow > 0.0 && MaxVolHotSteamFlowDes > 0.0 ) { MaxVolHotSteamFlowUser = UnitVent( UnitVentNum ).MaxVolHotSteamFlow; ReportSizingOutput( cMO_UnitVentilator, UnitVent( UnitVentNum ).Name, "Design Size Maximum Steam Flow [m3/s]", MaxVolHotSteamFlowDes, "User-Specified Maximum Steam Flow [m3/s]", MaxVolHotSteamFlowUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( MaxVolHotSteamFlowDes - MaxVolHotSteamFlowUser ) / MaxVolHotSteamFlowUser ) > AutoVsHardSizingThreshold ) { + if( DisplayExtraWarnings ) { + if( ( std::abs( MaxVolHotSteamFlowDes - MaxVolHotSteamFlowUser ) / MaxVolHotSteamFlowUser ) > AutoVsHardSizingThreshold ) { ShowMessage( "SizeUnitVentilator: Potential issue with equipment sizing for " + cMO_UnitVentilator + ' ' + UnitVent( UnitVentNum ).Name ); ShowContinueError( "User-Specified Maximum Steam Flow of " + RoundSigDigits( MaxVolHotSteamFlowUser, 5 ) + " [m3/s]" ); ShowContinueError( "differs from Design Size Maximum Steam Flow of " + RoundSigDigits( MaxVolHotSteamFlowDes, 5 ) + " [m3/s]" ); @@ -1796,20 +1794,20 @@ namespace UnitVentilator { } IsAutoSize = false; - if ( UnitVent( UnitVentNum ).MaxVolColdWaterFlow == AutoSize ) { + if( UnitVent( UnitVentNum ).MaxVolColdWaterFlow == AutoSize ) { IsAutoSize = true; } - if ( UnitVent( UnitVentNum ).CCoilType == Cooling_CoilWaterCooling || UnitVent( UnitVentNum ).CCoilType == Cooling_CoilDetailedCooling || UnitVent( UnitVentNum ).CCoilType == Cooling_CoilHXAssisted ) { + if( UnitVent( UnitVentNum ).CCoilType == Cooling_CoilWaterCooling || UnitVent( UnitVentNum ).CCoilType == Cooling_CoilDetailedCooling || UnitVent( UnitVentNum ).CCoilType == Cooling_CoilHXAssisted ) { - if ( CurZoneEqNum > 0 ) { - if ( ! IsAutoSize && ! ZoneSizingRunDone ) { // Simulation continue - if ( UnitVent( UnitVentNum ).MaxVolColdWaterFlow > 0.0 ) { + if( CurZoneEqNum > 0 ) { + if( !IsAutoSize && !ZoneSizingRunDone ) { // Simulation continue + if( UnitVent( UnitVentNum ).MaxVolColdWaterFlow > 0.0 ) { ReportSizingOutput( cMO_UnitVentilator, UnitVent( UnitVentNum ).Name, "User-Specified Maximum Cold Water Flow [m3/s]", UnitVent( UnitVentNum ).MaxVolColdWaterFlow ); } } else { CheckZoneSizing( cMO_UnitVentilator, UnitVent( UnitVentNum ).Name ); - if ( UnitVent( UnitVentNum ).CCoilType == Cooling_CoilHXAssisted ) { + if( UnitVent( UnitVentNum ).CCoilType == Cooling_CoilHXAssisted ) { CoolingCoilName = GetHXDXCoilName( UnitVent( UnitVentNum ).CCoilTypeCh, UnitVent( UnitVentNum ).CCoilName, ErrorsFound ); CoolingCoilType = GetHXCoilType( UnitVent( UnitVentNum ).CCoilTypeCh, UnitVent( UnitVentNum ).CCoilName, ErrorsFound ); } else { @@ -1818,56 +1816,56 @@ namespace UnitVentilator { } CoilWaterInletNode = GetCoilWaterInletNode( CoolingCoilType, CoolingCoilName, ErrorsFound ); CoilWaterOutletNode = GetCoilWaterOutletNode( CoolingCoilType, CoolingCoilName, ErrorsFound ); - if ( IsAutoSize ) { + if( IsAutoSize ) { PltSizCoolNum = MyPlantSizingIndex( CoolingCoilType, CoolingCoilName, CoilWaterInletNode, CoilWaterOutletNode, ErrorsFound ); - if ( PltSizCoolNum > 0 ) { - if ( FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow >= SmallAirVolFlow ) { + if( PltSizCoolNum > 0 ) { + if( FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow >= SmallAirVolFlow ) { SizingMethod = CoolingCapacitySizing; - if (UnitVent(UnitVentNum).HVACSizingIndex > 0) { - zoneHVACIndex = UnitVent(UnitVentNum).HVACSizingIndex; - CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).CoolingCapMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; - if (CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity) { - if (CapSizingMethod == CoolingDesignCapacity){ - if (ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity > 0.0) { - ZoneEqSizing(CurZoneEqNum).CoolingCapacity = true; - ZoneEqSizing(CurZoneEqNum).DesCoolingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + if( UnitVent( UnitVentNum ).HVACSizingIndex > 0 ) { + zoneHVACIndex = UnitVent( UnitVentNum ).HVACSizingIndex; + CapSizingMethod = ZoneHVACSizing( zoneHVACIndex ).CoolingCapMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; + if( CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity ) { + if( CapSizingMethod == CoolingDesignCapacity ){ + if( ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity > 0.0 ) { + ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; } else { - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; } - TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; - } else if (CapSizingMethod == CapacityPerFloorArea){ + TempSize = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; + } else if( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; - } else if (CapSizingMethod == FractionOfAutosizedCoolingCapacity){ - DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + } else if( CapSizingMethod == FractionOfAutosizedCoolingCapacity ){ + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; TempSize = AutoSize; DataScalableCapSizingON = true; } } SizingString = ""; PrintFlag = false; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); DesCoolingLoad = TempSize; } else { SizingString = ""; PrintFlag = false; TempSize = AutoSize; - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); DesCoolingLoad = TempSize; } rho = GetDensityGlycol( PlantLoop( UnitVent( UnitVentNum ).CWLoopNum ).FluidName, 5., PlantLoop( UnitVent( UnitVentNum ).CWLoopNum ).FluidIndex, RoutineName ); Cp = GetSpecificHeatGlycol( PlantLoop( UnitVent( UnitVentNum ).CWLoopNum ).FluidName, 5., PlantLoop( UnitVent( UnitVentNum ).CWLoopNum ).FluidIndex, RoutineName ); - MaxVolColdWaterFlowDes = DesCoolingLoad / (PlantSizData(PltSizCoolNum).DeltaT * Cp * rho); - - if ( MaxVolColdWaterFlowDes < 0.0 ) { + MaxVolColdWaterFlowDes = DesCoolingLoad / ( PlantSizData( PltSizCoolNum ).DeltaT * Cp * rho ); + + if( MaxVolColdWaterFlowDes < 0.0 ) { ShowWarningError( "Autosizing of water flow resulted in negative value." ); ShowContinueError( "Occurs in " + cMO_UnitVentilator + " Object=" + UnitVent( UnitVentNum ).Name ); ShowContinueError( "...Sizing information found during sizing simulation:" ); - ShowContinueError("...Calculated coil design load = " + TrimSigDigits(DesCoolingLoad, 3) + " W"); + ShowContinueError( "...Calculated coil design load = " + TrimSigDigits( DesCoolingLoad, 3 ) + " W" ); ShowContinueError( "...Calculated water flow rate = " + TrimSigDigits( MaxVolColdWaterFlowDes, 3 ) + " m3/s" ); ShowContinueError( "...Water flow rate will be set to 0. Check sizing inputs for zone and plant," " inputs for water cooling coil object, and design day specifications." ); ShowContinueError( "...Consider autosizing all inputs if not already doing so." ); @@ -1882,15 +1880,15 @@ namespace UnitVentilator { ErrorsFound = true; } } - if ( IsAutoSize ) { + if( IsAutoSize ) { UnitVent( UnitVentNum ).MaxVolColdWaterFlow = MaxVolColdWaterFlowDes; ReportSizingOutput( cMO_UnitVentilator, UnitVent( UnitVentNum ).Name, "Design Size Maximum Cold Water Flow [m3/s]", MaxVolColdWaterFlowDes ); } else { - if ( UnitVent( UnitVentNum ).MaxVolColdWaterFlow > 0.0 && MaxVolColdWaterFlowDes > 0.0 ) { + if( UnitVent( UnitVentNum ).MaxVolColdWaterFlow > 0.0 && MaxVolColdWaterFlowDes > 0.0 ) { MaxVolColdWaterFlowUser = UnitVent( UnitVentNum ).MaxVolColdWaterFlow; ReportSizingOutput( cMO_UnitVentilator, UnitVent( UnitVentNum ).Name, "Design Size Maximum Cold Water Flow [m3/s]", MaxVolColdWaterFlowDes, "User-Specified Maximum Cold Water Flow [m3/s]", MaxVolColdWaterFlowUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( MaxVolColdWaterFlowDes - MaxVolColdWaterFlowUser ) / MaxVolColdWaterFlowUser ) > AutoVsHardSizingThreshold ) { + if( DisplayExtraWarnings ) { + if( ( std::abs( MaxVolColdWaterFlowDes - MaxVolColdWaterFlowUser ) / MaxVolColdWaterFlowUser ) > AutoVsHardSizingThreshold ) { ShowMessage( "SizeUnitVentilator: Potential issue with equipment sizing for " + cMO_UnitVentilator + ' ' + UnitVent( UnitVentNum ).Name ); ShowContinueError( "User-Specified Maximum Cold Water Flow of " + RoundSigDigits( MaxVolColdWaterFlowUser, 5 ) + " [m3/s]" ); ShowContinueError( "differs from Design Size Maximum Cold Water Flow of " + RoundSigDigits( MaxVolColdWaterFlowDes, 5 ) + " [m3/s]" ); @@ -1905,7 +1903,7 @@ namespace UnitVentilator { } // set the design air flow rates for the heating and cooling coils - if ( UnitVent( UnitVentNum ).CCoilType == Cooling_CoilHXAssisted ) { + if( UnitVent( UnitVentNum ).CCoilType == Cooling_CoilHXAssisted ) { CoolingCoilName = GetHXDXCoilName( UnitVent( UnitVentNum ).CCoilTypeCh, UnitVent( UnitVentNum ).CCoilName, ErrorsFound ); CoolingCoilType = GetHXCoilType( UnitVent( UnitVentNum ).CCoilTypeCh, UnitVent( UnitVentNum ).CCoilName, ErrorsFound ); } else { @@ -1915,12 +1913,12 @@ namespace UnitVentilator { SetCoilDesFlow( CoolingCoilType, CoolingCoilName, UnitVent( UnitVentNum ).MaxAirVolFlow, ErrorsFound ); SetCoilDesFlow( UnitVent( UnitVentNum ).HCoilTypeCh, UnitVent( UnitVentNum ).HCoilName, UnitVent( UnitVentNum ).MaxAirVolFlow, ErrorsFound ); - if (CurZoneEqNum > 0) { + if( CurZoneEqNum > 0 ) { ZoneEqSizing( CurZoneEqNum ).MaxHWVolFlow = UnitVent( UnitVentNum ).MaxVolHotWaterFlow; ZoneEqSizing( CurZoneEqNum ).MaxCWVolFlow = UnitVent( UnitVentNum ).MaxVolColdWaterFlow; } - if ( ErrorsFound ) { + if( ErrorsFound ) { ShowFatalError( "Preceding sizing errors cause program termination" ); } diff --git a/src/EnergyPlus/VentilatedSlab.cc b/src/EnergyPlus/VentilatedSlab.cc index 05328ea5a41..f272b9e81a5 100644 --- a/src/EnergyPlus/VentilatedSlab.cc +++ b/src/EnergyPlus/VentilatedSlab.cc @@ -1469,18 +1469,17 @@ namespace VentilatedSlab { Real64 MaxVolHotSteamFlowUser; // Hardsized maximum hot steam flow for reporting Real64 MaxVolColdWaterFlowDes; // Autosized maximum cold water flow for reporting Real64 MaxVolColdWaterFlowUser; // Hardsized maximum cold water flow for reporting - - std::string CompName; // component name - std::string CompType; // component type + std::string CompName; // component name + std::string CompType; // component type std::string SizingString; // input field sizing description (e.g., Nominal Capacity) - bool bPRINT = true; // TRUE if sizing is reported to output (eio) - Real64 TempSize; // autosized value of coil input field - int FieldNum = 2; // IDD numeric field number where input field description is found - int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) - bool PrintFlag; // TRUE when sizing information is reported in the eio file - int zoneHVACIndex; // index of zoneHVAC equipment sizing specification - int SAFMethod( 0 ); // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow ...) - int CapSizingMethod(0); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) + bool bPRINT = true; // TRUE if sizing is reported to output (eio) + Real64 TempSize; // autosized value of coil input field + int FieldNum = 2; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) + bool PrintFlag; // TRUE when sizing information is reported in the eio file + int zoneHVACIndex; // index of zoneHVAC equipment sizing specification + int SAFMethod( 0 ); // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow ...) + int CapSizingMethod(0); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) Real64 CoolingAirVolFlowScalable; // cooling airvolume for rate determined using scalable sizing method Real64 HeatingAirVolFlowScalable; // heating airvolume for rate determined using scalable sizing method @@ -1502,104 +1501,103 @@ namespace VentilatedSlab { MaxVolColdWaterFlowUser = 0.0; CoolingAirVolFlowScalable = 0.0; HeatingAirVolFlowScalable = 0.0; - DataScalableSizingON = false; DataScalableCapSizingON = false; CompType = cMO_VentilatedSlab; CompName = VentSlab( Item ).Name; DataZoneNumber = VentSlab( Item ).ZonePtr; - if (VentSlab(Item).HVACSizingIndex > 0) { - zoneHVACIndex = VentSlab(Item).HVACSizingIndex; + if( VentSlab( Item ).HVACSizingIndex > 0 ) { + zoneHVACIndex = VentSlab( Item ).HVACSizingIndex; // N1 , \field Maximum Supply Air Flow Rate FieldNum = 1; PrintFlag = true; - SizingString = VentSlabNumericFields( Item ).FieldNames(FieldNum) + " [m3/s]"; - if (ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod > 0) { + SizingString = VentSlabNumericFields( Item ).FieldNames( FieldNum ) + " [m3/s]"; + if( ZoneHVACSizing( zoneHVACIndex ).CoolingSAFMethod > 0 ) { SizingMethod = CoolingAirflowSizing; - SAFMethod = ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; - if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow) { - if (SAFMethod == SupplyAirFlowRate){ - if (ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0) { + SAFMethod = ZoneHVACSizing( zoneHVACIndex ).CoolingSAFMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; + if( SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow ) { + if( SAFMethod == SupplyAirFlowRate ){ + if( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; } TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; - } else if (SAFMethod == FlowPerFloorArea){ + } else if( SAFMethod == FlowPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; - } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ - DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + } else if( SAFMethod == FractionOfAutosizedCoolingAirflow ){ + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; } else { - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; - } - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; + } + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); CoolingAirVolFlowScalable = TempSize; - } else if (SAFMethod == FlowPerCoolingCapacity) { + } else if( SAFMethod == FlowPerCoolingCapacity ) { SizingMethod = CoolingCapacitySizing; TempSize = AutoSize; PrintFlag = false; DataScalableSizingON = true; - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); DataAutosizedCoolingCapacity = TempSize; - DataFlowPerCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + DataFlowPerCoolingCapacity = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; SizingMethod = CoolingAirflowSizing; PrintFlag = true; TempSize = AutoSize; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); CoolingAirVolFlowScalable = TempSize; } - } - if (ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod > 0) { + } + if( ZoneHVACSizing( zoneHVACIndex ).HeatingSAFMethod > 0 ) { SizingMethod = HeatingAirflowSizing; - SAFMethod = ZoneHVACSizing(zoneHVACIndex).HeatingSAFMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; - if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow) { - if (SAFMethod == SupplyAirFlowRate){ - if (ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0) { + SAFMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingSAFMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; + if( SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow ) { + if( SAFMethod == SupplyAirFlowRate ){ + if( ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; } TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; - } else if (SAFMethod == FlowPerFloorArea){ + } else if( SAFMethod == FlowPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; - } else if (SAFMethod == FractionOfAutosizedHeatingAirflow){ - DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + } else if( SAFMethod == FractionOfAutosizedHeatingAirflow ){ + DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; } else { - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; } - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); HeatingAirVolFlowScalable = TempSize; - } else if (SAFMethod == FlowPerHeatingCapacity) { + } else if( SAFMethod == FlowPerHeatingCapacity ) { SizingMethod = HeatingCapacitySizing; TempSize = AutoSize; PrintFlag = false; DataScalableSizingON = true; - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); DataAutosizedHeatingCapacity = TempSize; - DataFlowPerHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxHeatAirVolFlow; + DataFlowPerHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; SizingMethod = HeatingAirflowSizing; PrintFlag = true; TempSize = AutoSize; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); HeatingAirVolFlowScalable = TempSize; } } //DataScalableSizingON = false; - VentSlab(Item).MaxAirVolFlow = max(CoolingAirVolFlowScalable, HeatingAirVolFlowScalable); + VentSlab( Item ).MaxAirVolFlow = max( CoolingAirVolFlowScalable, HeatingAirVolFlowScalable ); } else { // no scalble sizing method has been specified. Sizing proceeds using the method // specified in the zoneHVAC object @@ -1607,33 +1605,33 @@ namespace VentilatedSlab { SizingMethod = SystemAirflowSizing; FieldNum = 1; PrintFlag = true; - SizingString = VentSlabNumericFields(Item).FieldNames(FieldNum) + " [m3/s]"; - TempSize = VentSlab(Item).MaxAirVolFlow; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); - VentSlab(Item).MaxAirVolFlow = TempSize; + SizingString = VentSlabNumericFields( Item ).FieldNames( FieldNum ) + " [m3/s]"; + TempSize = VentSlab( Item ).MaxAirVolFlow; + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); + VentSlab( Item ).MaxAirVolFlow = TempSize; } IsAutoSize = false; - if ( VentSlab( Item ).OutAirVolFlow == AutoSize ) { + if( VentSlab( Item ).OutAirVolFlow == AutoSize ) { IsAutoSize = true; } - if ( CurZoneEqNum > 0 ) { - if ( ! IsAutoSize && ! ZoneSizingRunDone ) { - if ( VentSlab( Item ).OutAirVolFlow > 0.0 ) { + if( CurZoneEqNum > 0 ) { + if( !IsAutoSize && !ZoneSizingRunDone ) { + if( VentSlab( Item ).OutAirVolFlow > 0.0 ) { ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "User-Specified Maximum Outdoor Air Flow Rate [m3/s]", VentSlab( Item ).OutAirVolFlow ); } } else { // Autosize or hard-size with sizing run CheckZoneSizing( cMO_VentilatedSlab, VentSlab( Item ).Name ); OutAirVolFlowDes = VentSlab( Item ).MaxAirVolFlow; - if ( IsAutoSize ) { + if( IsAutoSize ) { VentSlab( Item ).OutAirVolFlow = OutAirVolFlowDes; ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "Design Size Maximum Outdoor Air Flow Rate [m3/s]", OutAirVolFlowDes ); } else { - if ( VentSlab( Item ).OutAirVolFlow > 0.0 && OutAirVolFlowDes > 0.0 ) { + if( VentSlab( Item ).OutAirVolFlow > 0.0 && OutAirVolFlowDes > 0.0 ) { OutAirVolFlowUser = VentSlab( Item ).OutAirVolFlow; ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "Design Size Maximum Outdoor Air Flow Rate [m3/s]", OutAirVolFlowDes, "User-Specified Maximum Outdoor Air Flow Rate [m3/s]", OutAirVolFlowUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( OutAirVolFlowDes - OutAirVolFlowUser ) / OutAirVolFlowUser ) > AutoVsHardSizingThreshold ) { + if( DisplayExtraWarnings ) { + if( ( std::abs( OutAirVolFlowDes - OutAirVolFlowUser ) / OutAirVolFlowUser ) > AutoVsHardSizingThreshold ) { ShowMessage( "SizeVentilatedSlab: Potential issue with equipment sizing for ZoneHVAC:VentilatedSlab = \" " + VentSlab( Item ).Name + "\"." ); ShowContinueError( "User-Specified Maximum Outdoor Air Flow Rate of " + RoundSigDigits( OutAirVolFlowUser, 5 ) + " [m3/s]" ); ShowContinueError( "differs from Design Size Maximum Outdoor Air Flow Rate of " + RoundSigDigits( OutAirVolFlowDes, 5 ) + " [m3/s]" ); @@ -1647,29 +1645,29 @@ namespace VentilatedSlab { } IsAutoSize = false; - if ( VentSlab( Item ).MinOutAirVolFlow == AutoSize ) { + if( VentSlab( Item ).MinOutAirVolFlow == AutoSize ) { IsAutoSize = true; } - if ( CurZoneEqNum > 0 ) { - if ( ! IsAutoSize && ! ZoneSizingRunDone ) { - if ( VentSlab( Item ).MinOutAirVolFlow > 0.0 ) { + if( CurZoneEqNum > 0 ) { + if( !IsAutoSize && !ZoneSizingRunDone ) { + if( VentSlab( Item ).MinOutAirVolFlow > 0.0 ) { ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "User-Specified Minimum Outdoor Air Flow Rate [m3/s]", VentSlab( Item ).MinOutAirVolFlow ); } } else { CheckZoneSizing( cMO_VentilatedSlab, VentSlab( Item ).Name ); MinOutAirVolFlowDes = min( FinalZoneSizing( CurZoneEqNum ).MinOA, VentSlab( Item ).MaxAirVolFlow ); - if ( MinOutAirVolFlowDes < SmallAirVolFlow ) { + if( MinOutAirVolFlowDes < SmallAirVolFlow ) { MinOutAirVolFlowDes = 0.0; } - if ( IsAutoSize ) { + if( IsAutoSize ) { VentSlab( Item ).MinOutAirVolFlow = MinOutAirVolFlowDes; ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "Design Size Minimum Outdoor Air Flow Rate [m3/s]", MinOutAirVolFlowDes ); } else { // Hard-size with sizing data - if ( VentSlab( Item ).MinOutAirVolFlow > 0.0 && MinOutAirVolFlowDes > 0.0 ) { + if( VentSlab( Item ).MinOutAirVolFlow > 0.0 && MinOutAirVolFlowDes > 0.0 ) { MinOutAirVolFlowUser = VentSlab( Item ).MinOutAirVolFlow; ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "Design Size Minimum Outdoor Air Flow Rate [m3/s]", MinOutAirVolFlowDes, "User-Specified Minimum Outdoor Air Flow Rate [m3/s]", MinOutAirVolFlowUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( MinOutAirVolFlowDes - MinOutAirVolFlowUser ) / MinOutAirVolFlowUser ) > AutoVsHardSizingThreshold ) { + if( DisplayExtraWarnings ) { + if( ( std::abs( MinOutAirVolFlowDes - MinOutAirVolFlowUser ) / MinOutAirVolFlowUser ) > AutoVsHardSizingThreshold ) { ShowMessage( "SizeVentilatedSlab: Potential issue with equipment sizing for ZoneHVAC:VentilatedSlab = \" " + VentSlab( Item ).Name + "\"." ); ShowContinueError( "User-Specified Minimum Outdoor Air Flow Rate of " + RoundSigDigits( MinOutAirVolFlowUser, 5 ) + " [m3/s]" ); ShowContinueError( "differs from Design Size Minimum Outdoor Air Flow Rate of " + RoundSigDigits( MinOutAirVolFlowDes, 5 ) + " [m3/s]" ); @@ -1683,14 +1681,14 @@ namespace VentilatedSlab { } IsAutoSize = false; - if ( VentSlab( Item ).MaxVolHotWaterFlow == AutoSize ) { + if( VentSlab( Item ).MaxVolHotWaterFlow == AutoSize ) { IsAutoSize = true; } - if ( VentSlab( Item ).HCoilType == Heating_WaterCoilType ) { + if( VentSlab( Item ).HCoilType == Heating_WaterCoilType ) { - if ( CurZoneEqNum > 0 ) { - if ( ! IsAutoSize && ! ZoneSizingRunDone ) { - if ( VentSlab( Item ).MaxVolHotWaterFlow > 0.0 ) { + if( CurZoneEqNum > 0 ) { + if( !IsAutoSize && !ZoneSizingRunDone ) { + if( VentSlab( Item ).MaxVolHotWaterFlow > 0.0 ) { ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "User-Specified Maximum Hot Water Flow [m3/s]", VentSlab( Item ).MaxVolHotWaterFlow ); } } else { // Autosize or hard-size with sizing run @@ -1698,47 +1696,47 @@ namespace VentilatedSlab { CoilWaterInletNode = GetCoilWaterInletNode( "Coil:Heating:Water", VentSlab( Item ).HCoilName, ErrorsFound ); CoilWaterOutletNode = GetCoilWaterOutletNode( "Coil:Heating:Water", VentSlab( Item ).HCoilName, ErrorsFound ); - if ( IsAutoSize ) { + if( IsAutoSize ) { PltSizHeatNum = MyPlantSizingIndex( "Coil:Heating:Water", VentSlab( Item ).HCoilName, CoilWaterInletNode, CoilWaterOutletNode, ErrorsFound ); //END IF - if ( PltSizHeatNum > 0 ) { - if ( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow >= SmallAirVolFlow ) { + if( PltSizHeatNum > 0 ) { + if( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow >= SmallAirVolFlow ) { SizingMethod = HeatingCapacitySizing; - if (VentSlab(Item).HVACSizingIndex > 0) { - zoneHVACIndex = VentSlab(Item).HVACSizingIndex; - CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; - if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { - if (CapSizingMethod == HeatingDesignCapacity){ - if (ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity > 0.0) { - ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; - ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + if( VentSlab( Item ).HVACSizingIndex > 0 ) { + zoneHVACIndex = VentSlab( Item ).HVACSizingIndex; + CapSizingMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingCapMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; + if( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { + if( CapSizingMethod == HeatingDesignCapacity ){ + if( ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity > 0.0 ) { + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; } else { - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; } - TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; - } else if (CapSizingMethod == CapacityPerFloorArea){ + TempSize = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; + } else if( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; - } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ - DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + } else if( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; TempSize = AutoSize; DataScalableCapSizingON = true; } } SizingString = ""; - PrintFlag = false; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + PrintFlag = false; + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); DesCoilLoad = TempSize; } else { SizingString = ""; PrintFlag = false; TempSize = AutoSize; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); DesCoilLoad = TempSize; - } + } rho = GetDensityGlycol( PlantLoop( VentSlab( Item ).HWLoopNum ).FluidName, 60., PlantLoop( VentSlab( Item ).HWLoopNum ).FluidIndex, RoutineName ); Cp = GetSpecificHeatGlycol( PlantLoop( VentSlab( Item ).HWLoopNum ).FluidName, 60., PlantLoop( VentSlab( Item ).HWLoopNum ).FluidIndex, RoutineName ); MaxVolHotWaterFlowDes = DesCoilLoad / ( PlantSizData( PltSizHeatNum ).DeltaT * Cp * rho ); @@ -1751,16 +1749,16 @@ namespace VentilatedSlab { ErrorsFound = true; } } - - if ( IsAutoSize ) { + + if( IsAutoSize ) { VentSlab( Item ).MaxVolHotWaterFlow = MaxVolHotWaterFlowDes; ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "Design Size Maximum Hot Water Flow [m3/s]", MaxVolHotWaterFlowDes ); } else { // Hard-size with sizing data - if ( VentSlab( Item ).MaxVolHotWaterFlow > 0.0 && MaxVolHotWaterFlowDes > 0.0 ) { + if( VentSlab( Item ).MaxVolHotWaterFlow > 0.0 && MaxVolHotWaterFlowDes > 0.0 ) { MaxVolHotWaterFlowUser = VentSlab( Item ).MaxVolHotWaterFlow; ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "Design Size Maximum Hot Water Flow [m3/s]", MaxVolHotWaterFlowDes, "User-Specified Maximum Hot Water Flow [m3/s]", MaxVolHotWaterFlowUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( MaxVolHotWaterFlowDes - MaxVolHotWaterFlowUser ) / MaxVolHotWaterFlowUser ) > AutoVsHardSizingThreshold ) { + if( DisplayExtraWarnings ) { + if( ( std::abs( MaxVolHotWaterFlowDes - MaxVolHotWaterFlowUser ) / MaxVolHotWaterFlowUser ) > AutoVsHardSizingThreshold ) { ShowMessage( "SizeVentilatedSlab: Potential issue with equipment sizing for ZoneHVAC:VentilatedSlab = \" " + VentSlab( Item ).Name + "\"." ); ShowContinueError( "User-Specified Maximum Hot Water Flow of " + RoundSigDigits( MaxVolHotWaterFlowUser, 5 ) + " [m3/s]" ); ShowContinueError( "differs from Design Size Maximum Hot Water Flow of " + RoundSigDigits( MaxVolHotWaterFlowDes, 5 ) + " [m3/s]" ); @@ -1777,14 +1775,14 @@ namespace VentilatedSlab { } IsAutoSize = false; - if ( VentSlab( Item ).MaxVolHotSteamFlow == AutoSize ) { + if( VentSlab( Item ).MaxVolHotSteamFlow == AutoSize ) { IsAutoSize = true; } - if ( VentSlab( Item ).HCoilType == Heating_SteamCoilType ) { + if( VentSlab( Item ).HCoilType == Heating_SteamCoilType ) { - if ( CurZoneEqNum > 0 ) { - if ( ! IsAutoSize && ! ZoneSizingRunDone ) { - if ( VentSlab( Item ).MaxVolHotSteamFlow > 0.0 ) { + if( CurZoneEqNum > 0 ) { + if( !IsAutoSize && !ZoneSizingRunDone ) { + if( VentSlab( Item ).MaxVolHotSteamFlow > 0.0 ) { ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "User-Specified Maximum Steam Flow [m3/s]", VentSlab( Item ).MaxVolHotSteamFlow ); } } else { // Autosize or hard-size with sizing run @@ -1792,46 +1790,46 @@ namespace VentilatedSlab { CoilSteamInletNode = GetCoilSteamInletNode( "Coil:Heating:Steam", VentSlab( Item ).HCoilName, ErrorsFound ); CoilSteamOutletNode = GetCoilSteamOutletNode( "Coil:Heating:Steam", VentSlab( Item ).HCoilName, ErrorsFound ); - if ( IsAutoSize ) { + if( IsAutoSize ) { PltSizHeatNum = MyPlantSizingIndex( "Coil:Heating:Steam", VentSlab( Item ).HCoilName, CoilSteamInletNode, CoilSteamOutletNode, ErrorsFound ); - if ( PltSizHeatNum > 0 ) { - if (FinalZoneSizing(CurZoneEqNum).DesHeatMassFlow >= SmallAirVolFlow) { + if( PltSizHeatNum > 0 ) { + if( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow >= SmallAirVolFlow ) { SizingMethod = HeatingCapacitySizing; - if (VentSlab(Item).HVACSizingIndex > 0) { - zoneHVACIndex = VentSlab(Item).HVACSizingIndex; - CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).HeatingCapMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; - if (CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity) { - if (CapSizingMethod == HeatingDesignCapacity){ - if (ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity > 0.0) { - ZoneEqSizing(CurZoneEqNum).HeatingCapacity = true; - ZoneEqSizing(CurZoneEqNum).DesHeatingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; + if( VentSlab( Item ).HVACSizingIndex > 0 ) { + zoneHVACIndex = VentSlab( Item ).HVACSizingIndex; + CapSizingMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingCapMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; + if( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { + if( CapSizingMethod == HeatingDesignCapacity ){ + if( ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity > 0.0 ) { + ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; } else { - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; } - TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; - } else if (CapSizingMethod == CapacityPerFloorArea){ + TempSize = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; + } else if( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; - } else if (CapSizingMethod == FractionOfAutosizedHeatingCapacity){ - DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledHeatingCapacity; - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesHeatVolFlow; + } else if( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; TempSize = AutoSize; DataScalableCapSizingON = true; } } SizingString = ""; PrintFlag = false; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); DesCoilLoad = TempSize; } else { SizingString = ""; PrintFlag = false; TempSize = AutoSize; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); DesCoilLoad = TempSize; - } + } TempSteamIn = 100.00; EnthSteamInDry = GetSatEnthalpyRefrig( fluidNameSteam, TempSteamIn, 1.0, VentSlab( Item ).HCoil_FluidIndex, RoutineName ); EnthSteamOutWet = GetSatEnthalpyRefrig( fluidNameSteam, TempSteamIn, 0.0, VentSlab( Item ).HCoil_FluidIndex, RoutineName ); @@ -1849,15 +1847,15 @@ namespace VentilatedSlab { ErrorsFound = true; } } - if ( IsAutoSize ) { + if( IsAutoSize ) { VentSlab( Item ).MaxVolHotSteamFlow = MaxVolHotSteamFlowDes; ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "Design Size Maximum Steam Flow [m3/s]", MaxVolHotSteamFlowDes ); } else { - if ( VentSlab( Item ).MaxVolHotSteamFlow > 0.0 && MaxVolHotSteamFlowDes > 0.0 ) { + if( VentSlab( Item ).MaxVolHotSteamFlow > 0.0 && MaxVolHotSteamFlowDes > 0.0 ) { MaxVolHotSteamFlowUser = VentSlab( Item ).MaxVolHotSteamFlow; ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "Design Size Maximum Steam Flow [m3/s]", MaxVolHotSteamFlowDes, "User-Specified Maximum Steam Flow [m3/s]", MaxVolHotSteamFlowUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( MaxVolHotSteamFlowDes - MaxVolHotSteamFlowUser ) / MaxVolHotSteamFlowUser ) > AutoVsHardSizingThreshold ) { + if( DisplayExtraWarnings ) { + if( ( std::abs( MaxVolHotSteamFlowDes - MaxVolHotSteamFlowUser ) / MaxVolHotSteamFlowUser ) > AutoVsHardSizingThreshold ) { ShowMessage( "SizeVentilatedSlab: Potential issue with equipment sizing for ZoneHVAC:VentilatedSlab = \" " + VentSlab( Item ).Name + "\"." ); ShowContinueError( "User-Specified Maximum Steam Flow of " + RoundSigDigits( MaxVolHotSteamFlowUser, 5 ) + " [m3/s]" ); ShowContinueError( "differs from Design Size Maximum Steam Flow of " + RoundSigDigits( MaxVolHotSteamFlowDes, 5 ) + " [m3/s]" ); @@ -1874,17 +1872,17 @@ namespace VentilatedSlab { } IsAutoSize = false; - if ( VentSlab( Item ).MaxVolColdWaterFlow == AutoSize ) { + if( VentSlab( Item ).MaxVolColdWaterFlow == AutoSize ) { IsAutoSize = true; } - if ( CurZoneEqNum > 0 ) { - if ( ! IsAutoSize && ! ZoneSizingRunDone ) { - if ( VentSlab( Item ).MaxVolColdWaterFlow > 0.0 ) { + if( CurZoneEqNum > 0 ) { + if( !IsAutoSize && !ZoneSizingRunDone ) { + if( VentSlab( Item ).MaxVolColdWaterFlow > 0.0 ) { ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "User-Specified Maximum Cold Water Flow [m3/s]", VentSlab( Item ).MaxVolColdWaterFlow ); } } else { CheckZoneSizing( cMO_VentilatedSlab, VentSlab( Item ).Name ); - if ( VentSlab( Item ).CCoilType == Cooling_CoilHXAssisted ) { + if( VentSlab( Item ).CCoilType == Cooling_CoilHXAssisted ) { CoolingCoilName = GetHXDXCoilName( VentSlab( Item ).CCoilTypeCh, VentSlab( Item ).CCoilName, ErrorsFound ); CoolingCoilType = GetHXCoilType( VentSlab( Item ).CCoilTypeCh, VentSlab( Item ).CCoilName, ErrorsFound ); } else { @@ -1893,45 +1891,45 @@ namespace VentilatedSlab { } CoilWaterInletNode = GetCoilWaterInletNode( CoolingCoilType, CoolingCoilName, ErrorsFound ); CoilWaterOutletNode = GetCoilWaterOutletNode( CoolingCoilType, CoolingCoilName, ErrorsFound ); - if ( IsAutoSize ) { + if( IsAutoSize ) { PltSizCoolNum = MyPlantSizingIndex( CoolingCoilType, CoolingCoilName, CoilWaterInletNode, CoilWaterOutletNode, ErrorsFound ); - if ( PltSizCoolNum > 0 ) { - if ( FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow >= SmallAirVolFlow ) { + if( PltSizCoolNum > 0 ) { + if( FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow >= SmallAirVolFlow ) { SizingMethod = CoolingCapacitySizing; - if (VentSlab(Item).HVACSizingIndex > 0) { - zoneHVACIndex = VentSlab(Item).HVACSizingIndex; - CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).CoolingCapMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; - if (CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity) { - if (CapSizingMethod == CoolingDesignCapacity){ - if (ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity > 0.0) { - ZoneEqSizing(CurZoneEqNum).CoolingCapacity = true; - ZoneEqSizing(CurZoneEqNum).DesCoolingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + if( VentSlab( Item ).HVACSizingIndex > 0 ) { + zoneHVACIndex = VentSlab( Item ).HVACSizingIndex; + CapSizingMethod = ZoneHVACSizing( zoneHVACIndex ).CoolingCapMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; + if( CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity ) { + if( CapSizingMethod == CoolingDesignCapacity ){ + if( ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity > 0.0 ) { + ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; } else { - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; } - TempSize = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; - } else if (CapSizingMethod == CapacityPerFloorArea){ + TempSize = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; + } else if( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; - } else if (CapSizingMethod == FractionOfAutosizedCoolingCapacity){ - DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; + } else if( CapSizingMethod == FractionOfAutosizedCoolingCapacity ){ + DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; TempSize = AutoSize; DataScalableCapSizingON = true; } } SizingString = ""; PrintFlag = false; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); DesCoilLoad = TempSize; } else { SizingString = ""; PrintFlag = false; TempSize = AutoSize; - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); DesCoilLoad = TempSize; } rho = GetDensityGlycol( PlantLoop( VentSlab( Item ).CWLoopNum ).FluidName, 5., PlantLoop( VentSlab( Item ).CWLoopNum ).FluidIndex, RoutineName ); @@ -1946,15 +1944,15 @@ namespace VentilatedSlab { ErrorsFound = true; } } - if ( IsAutoSize ) { + if( IsAutoSize ) { VentSlab( Item ).MaxVolColdWaterFlow = MaxVolColdWaterFlowDes; ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "Design Size Maximum Cold Water Flow [m3/s]", MaxVolColdWaterFlowDes ); } else { - if ( VentSlab( Item ).MaxVolColdWaterFlow > 0.0 && MaxVolColdWaterFlowDes > 0.0 ) { + if( VentSlab( Item ).MaxVolColdWaterFlow > 0.0 && MaxVolColdWaterFlowDes > 0.0 ) { MaxVolColdWaterFlowUser = VentSlab( Item ).MaxVolColdWaterFlow; ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "Design Size Maximum Cold Water Flow [m3/s]", MaxVolColdWaterFlowDes, "User-Specified Maximum Cold Water Flow [m3/s]", MaxVolColdWaterFlowUser ); - if ( DisplayExtraWarnings ) { - if ( ( std::abs( MaxVolColdWaterFlowDes - MaxVolColdWaterFlowUser ) / MaxVolColdWaterFlowUser ) > AutoVsHardSizingThreshold ) { + if( DisplayExtraWarnings ) { + if( ( std::abs( MaxVolColdWaterFlowDes - MaxVolColdWaterFlowUser ) / MaxVolColdWaterFlowUser ) > AutoVsHardSizingThreshold ) { ShowMessage( "SizeVentilatedSlab: Potential issue with equipment sizing for ZoneHVAC:VentilatedSlab = \" " + VentSlab( Item ).Name + "\"." ); ShowContinueError( "User-Specified Maximum Cold Water Flow of " + RoundSigDigits( MaxVolColdWaterFlowUser, 5 ) + " [m3/s]" ); ShowContinueError( "differs from Design Size Maximum Cold Water Flow of " + RoundSigDigits( MaxVolColdWaterFlowDes, 5 ) + " [m3/s]" ); @@ -1967,7 +1965,7 @@ namespace VentilatedSlab { } } - if ( VentSlab( Item ).CCoilType == Cooling_CoilHXAssisted ) { + if( VentSlab( Item ).CCoilType == Cooling_CoilHXAssisted ) { CoolingCoilName = GetHXDXCoilName( VentSlab( Item ).CCoilTypeCh, VentSlab( Item ).CCoilName, ErrorsFound ); CoolingCoilType = GetHXCoilType( VentSlab( Item ).CCoilTypeCh, VentSlab( Item ).CCoilName, ErrorsFound ); } else { @@ -1977,12 +1975,12 @@ namespace VentilatedSlab { SetCoilDesFlow( CoolingCoilType, CoolingCoilName, VentSlab( Item ).MaxAirVolFlow, ErrorsFound ); SetCoilDesFlow( VentSlab( Item ).HCoilTypeCh, VentSlab( Item ).HCoilName, VentSlab( Item ).MaxAirVolFlow, ErrorsFound ); - if (CurZoneEqNum > 0) { + if( CurZoneEqNum > 0 ) { ZoneEqSizing( CurZoneEqNum ).MaxHWVolFlow = VentSlab( Item ).MaxVolHotWaterFlow; ZoneEqSizing( CurZoneEqNum ).MaxCWVolFlow = VentSlab( Item ).MaxVolColdWaterFlow; } - if ( ErrorsFound ) { + if( ErrorsFound ) { ShowFatalError( "Preceding sizing errors cause program termination" ); } diff --git a/src/EnergyPlus/WindowAC.cc b/src/EnergyPlus/WindowAC.cc index d409a7c64bf..2bd95a5f5ea 100644 --- a/src/EnergyPlus/WindowAC.cc +++ b/src/EnergyPlus/WindowAC.cc @@ -861,16 +861,15 @@ namespace WindowAC { Real64 OutAirVolFlowDes; // Autosized outdoor air flow for reporting Real64 OutAirVolFlowUser; // Hardsized outdoor ari flow for reporting bool IsAutoSize; // Indicator to autosize - - std::string CompName; // component name - std::string CompType; // component type + std::string CompName; // component name + std::string CompType; // component type std::string SizingString; // input field sizing description (e.g., Nominal Capacity) - Real64 TempSize; // autosized value of coil input field - int FieldNum = 2; // IDD numeric field number where input field description is found - int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) - bool PrintFlag; // TRUE when sizing information is reported in the eio file - int zoneHVACIndex; // index of zoneHVAC equipment sizing specification - int SAFMethod( 0 ); // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow ...) + Real64 TempSize; // autosized value of coil input field + int FieldNum = 2; // IDD numeric field number where input field description is found + int SizingMethod; // Integer representation of sizing method name (e.g., CoolingAirflowSizing, HeatingAirflowSizing, CoolingCapacitySizing, HeatingCapacitySizing, etc.) + bool PrintFlag; // TRUE when sizing information is reported in the eio file + int zoneHVACIndex; // index of zoneHVAC equipment sizing specification + int SAFMethod( 0 ); // supply air flow rate sizing method (SupplyAirFlowRate, FlowPerFloorArea, FractionOfAutosizedCoolingAirflow, FractionOfAutosizedHeatingAirflow ...) int CapSizingMethod(0); // capacity sizing methods (HeatingDesignCapacity, CapacityPerFloorArea, FractionOfAutosizedCoolingCapacity, and FractionOfAutosizedHeatingCapacity ) IsAutoSize = false; @@ -878,89 +877,87 @@ namespace WindowAC { MaxAirVolFlowUser = 0.0; OutAirVolFlowDes = 0.0; OutAirVolFlowUser = 0.0; - DataFracOfAutosizedCoolingAirflow = 1.0; DataFracOfAutosizedHeatingAirflow = 1.0; DataFracOfAutosizedCoolingCapacity = 1.0; DataFracOfAutosizedHeatingCapacity = 1.0; - DataScalableSizingON = false; ZoneHeatingOnlyFan = false; ZoneCoolingOnlyFan = true; CompType = "ZoneHVAC:WindowAirConditioner"; - CompName = WindAC(WindACNum).Name; - DataZoneNumber = WindAC(WindACNum).ZonePtr; + CompName = WindAC( WindACNum ).Name; + DataZoneNumber = WindAC( WindACNum ).ZonePtr; - if (CurZoneEqNum > 0) { - if (WindAC(WindACNum).HVACSizingIndex > 0) { - zoneHVACIndex = WindAC(WindACNum).HVACSizingIndex; + if( CurZoneEqNum > 0 ) { + if( WindAC( WindACNum ).HVACSizingIndex > 0 ) { + zoneHVACIndex = WindAC( WindACNum ).HVACSizingIndex; // N1 , \field Maximum Supply Air Flow Rate SizingMethod = CoolingAirflowSizing; FieldNum = 1; - SizingString = WindACNumericFields(WindACNum).FieldNames(FieldNum) + " [m3/s]"; + SizingString = WindACNumericFields( WindACNum ).FieldNames( FieldNum ) + " [m3/s]"; PrintFlag = true; - SAFMethod = ZoneHVACSizing(zoneHVACIndex).CoolingSAFMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = SAFMethod; - if (SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow) { - if (SAFMethod == SupplyAirFlowRate){ - if (ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0) { + SAFMethod = ZoneHVACSizing( zoneHVACIndex ).CoolingSAFMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; + if( SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow ) { + if( SAFMethod == SupplyAirFlowRate ){ + if( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; } TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; - } else if (SAFMethod == FlowPerFloorArea){ + } else if( SAFMethod == FlowPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; - } else if (SAFMethod == FractionOfAutosizedCoolingAirflow){ - DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + } else if( SAFMethod == FractionOfAutosizedCoolingAirflow ){ + DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; } else { - TempSize = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; } - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); WindAC( WindACNum ).MaxAirVolFlow = TempSize; - } else if (SAFMethod == FlowPerCoolingCapacity) { + } else if( SAFMethod == FlowPerCoolingCapacity ) { SizingMethod = CoolingCapacitySizing; TempSize = AutoSize; PrintFlag = false; DataScalableSizingON = true; - DataFlowUsedForSizing = FinalZoneSizing(CurZoneEqNum).DesCoolVolFlow; - if (ZoneHVACSizing(zoneHVACIndex).CoolingCapMethod == FractionOfAutosizedCoolingCapacity) { - DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; + if( ZoneHVACSizing( zoneHVACIndex ).CoolingCapMethod == FractionOfAutosizedCoolingCapacity ) { + DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; } - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); DataCapacityUsedForSizing = TempSize; - DataFlowPerCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).MaxCoolAirVolFlow; + DataFlowPerCoolingCapacity = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; SizingMethod = CoolingAirflowSizing; PrintFlag = true; TempSize = AutoSize; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); WindAC( WindACNum ).MaxAirVolFlow = TempSize; } //DataScalableSizingON = false; - + // initialize capacity sizing variables: cooling - CapSizingMethod = ZoneHVACSizing(zoneHVACIndex).CoolingCapMethod; - ZoneEqSizing(CurZoneEqNum).SizingMethod(SizingMethod) = CapSizingMethod; - if (CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity) { - if (CapSizingMethod == HeatingDesignCapacity){ - if (ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity > 0.0) { - ZoneEqSizing(CurZoneEqNum).CoolingCapacity = true; - ZoneEqSizing(CurZoneEqNum).DesCoolingLoad = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + CapSizingMethod = ZoneHVACSizing( zoneHVACIndex ).CoolingCapMethod; + ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; + if( CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity ) { + if( CapSizingMethod == HeatingDesignCapacity ){ + if( ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity > 0.0 ) { + ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; + ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; } - } else if (CapSizingMethod == CapacityPerFloorArea){ + } else if( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; - } else if (CapSizingMethod == FractionOfAutosizedCoolingCapacity){ - DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing(zoneHVACIndex).ScaledCoolingCapacity; + } else if( CapSizingMethod == FractionOfAutosizedCoolingCapacity ){ + DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; DataScalableCapSizingON = true; } - } + } } else { // no scalble sizing method has been specified. Sizing proceeds using the method // specified in the zoneHVAC object @@ -968,20 +965,20 @@ namespace WindowAC { SizingMethod = SystemAirflowSizing; FieldNum = 1; PrintFlag = true; - SizingString = WindACNumericFields(WindACNum).FieldNames(FieldNum) + " [m3/s]"; + SizingString = WindACNumericFields( WindACNum ).FieldNames( FieldNum ) + " [m3/s]"; TempSize = WindAC( WindACNum ).MaxAirVolFlow; - RequestSizing(CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName); + RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); WindAC( WindACNum ).MaxAirVolFlow = TempSize; } } - if ( WindAC( WindACNum ).OutAirVolFlow == AutoSize ) { + if( WindAC( WindACNum ).OutAirVolFlow == AutoSize ) { - if ( CurZoneEqNum > 0 ) { + if( CurZoneEqNum > 0 ) { CheckZoneSizing( cWindowAC_UnitTypes( WindAC( WindACNum ).UnitType ), WindAC( WindACNum ).Name ); WindAC( WindACNum ).OutAirVolFlow = min( FinalZoneSizing( CurZoneEqNum ).MinOA, WindAC( WindACNum ).MaxAirVolFlow ); - if ( WindAC( WindACNum ).OutAirVolFlow < SmallAirVolFlow ) { + if( WindAC( WindACNum ).OutAirVolFlow < SmallAirVolFlow ) { WindAC( WindACNum ).OutAirVolFlow = 0.0; } ReportSizingOutput( cWindowAC_UnitTypes( WindAC( WindACNum ).UnitType ), WindAC( WindACNum ).Name, "Maximum Outdoor Air Flow Rate [m3/s]", WindAC( WindACNum ).OutAirVolFlow ); @@ -990,7 +987,7 @@ namespace WindowAC { } - if ( CurZoneEqNum > 0 ) { + if( CurZoneEqNum > 0 ) { ZoneEqSizing( CurZoneEqNum ).OAVolFlow = WindAC( WindACNum ).OutAirVolFlow; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = WindAC( WindACNum ).MaxAirVolFlow; } diff --git a/testfiles/DOASDualDuctSchool.idf b/testfiles/DOASDualDuctSchool.idf index 3cc796953fc..5cdd1730133 100644 --- a/testfiles/DOASDualDuctSchool.idf +++ b/testfiles/DOASDualDuctSchool.idf @@ -75,7 +75,7 @@ ! End SimMetaData ! Number of Zones: 11 - Version,8.1; + Version,8.2; Timestep,6; @@ -1721,7 +1721,7 @@ Fan:OnOff, Corner_Class_1_Pod_1 Fan Coil Fan, !- Name ALWAYS_ON, !- Availability Schedule Name - 0.5, !- Fan Efficiency + 0.5, !- Fan Total Efficiency 75, !- Pressure Rise {Pa} AUTOSIZE, !- Maximum Flow Rate {m3/s} 0.9, !- Motor Efficiency @@ -2601,7 +2601,7 @@ Fan:OnOff, Mult_Class_1_Pod_1 Fan Coil Fan, !- Name ALWAYS_ON, !- Availability Schedule Name - 0.5, !- Fan Efficiency + 0.5, !- Fan Total Efficiency 75, !- Pressure Rise {Pa} AUTOSIZE, !- Maximum Flow Rate {m3/s} 0.9, !- Motor Efficiency @@ -2974,7 +2974,7 @@ Fan:OnOff, Corridor_Pod_1 Fan Coil Fan, !- Name ALWAYS_ON, !- Availability Schedule Name - 0.5, !- Fan Efficiency + 0.5, !- Fan Total Efficiency 75, !- Pressure Rise {Pa} AUTOSIZE, !- Maximum Flow Rate {m3/s} 0.9, !- Motor Efficiency @@ -3462,7 +3462,7 @@ Fan:OnOff, Corner_Class_2_Pod_1 Fan Coil Fan, !- Name ALWAYS_ON, !- Availability Schedule Name - 0.5, !- Fan Efficiency + 0.5, !- Fan Total Efficiency 75, !- Pressure Rise {Pa} AUTOSIZE, !- Maximum Flow Rate {m3/s} 0.9, !- Motor Efficiency @@ -4142,7 +4142,7 @@ Fan:OnOff, Mult_Class_2_Pod_1 Fan Coil Fan, !- Name ALWAYS_ON, !- Availability Schedule Name - 0.5, !- Fan Efficiency + 0.5, !- Fan Total Efficiency 75, !- Pressure Rise {Pa} AUTOSIZE, !- Maximum Flow Rate {m3/s} 0.9, !- Motor Efficiency @@ -5983,7 +5983,7 @@ Fan:ZoneExhaust, Bathrooms Exhaust Fan 1, !- Name MinOA_Sched, !- Availability Schedule Name - 0.4500, !- Fan Efficiency + 0.4500, !- Fan Total Efficiency 125.0000, !- Pressure Rise {Pa} 0.3861, !- Maximum Flow Rate {m3/s} Bathrooms Exhaust Fan 1 Inlet Node, !- Air Inlet Node Name @@ -7773,7 +7773,7 @@ Fan:VariableVolume, DOAS_POD_1_OA_Fan, !- Name MinOA_Sched, !- Availability Schedule Name - 0.69, !- Fan Efficiency + 0.69, !- Fan Total Efficiency 1000, !- Pressure Rise {Pa} AUTOSIZE, !- Maximum Flow Rate {m3/s} FixedFlowRate, !- Fan Power Minimum Flow Rate Input Method @@ -8132,7 +8132,7 @@ Fan:VariableVolume, DUALDUCT_OTHER_OA_Fan, !- Name HVACOperationSchd, !- Availability Schedule Name - 0.69, !- Fan Efficiency + 0.69, !- Fan Total Efficiency 1000, !- Pressure Rise {Pa} AUTOSIZE, !- Maximum Flow Rate {m3/s} FixedFlowRate, !- Fan Power Minimum Flow Rate Input Method @@ -8176,7 +8176,7 @@ Fan:VariableVolume, DUALDUCT_OTHER_RC_Fan, !- Name HVACOperationSchd, !- Availability Schedule Name - 0.69, !- Fan Efficiency + 0.69, !- Fan Total Efficiency 1000, !- Pressure Rise {Pa} AUTOSIZE, !- Maximum Flow Rate {m3/s} FixedFlowRate, !- Fan Power Minimum Flow Rate Input Method diff --git a/testfiles/RefBldgLargeHotelNew2004_Chicago.idf b/testfiles/RefBldgLargeHotelNew2004_Chicago.idf index 47d69805caa..c4aeb30c5c6 100644 --- a/testfiles/RefBldgLargeHotelNew2004_Chicago.idf +++ b/testfiles/RefBldgLargeHotelNew2004_Chicago.idf @@ -10426,7 +10426,7 @@ CoolSys1 Demand Outlet Node, !- Demand Side Outlet Node Name CoolSys1 Demand Branches,!- Demand Side Branch List Name CoolSys1 Demand Connectors, !- Demand Side Connector List Name - Uniform; !- Load Distribution Scheme + UniformLoad; !- Load Distribution Scheme PlantLoop, HeatSys1, !- Name From 82ad46ef04bc1554e4ce2eb72486346e7a52405f Mon Sep 17 00:00:00 2001 From: Richard Raustad Date: Mon, 8 Sep 2014 15:57:13 -0400 Subject: [PATCH 17/19] Removed space in header --- testfiles/5ZoneWaterCooled_Baseboard.idf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testfiles/5ZoneWaterCooled_Baseboard.idf b/testfiles/5ZoneWaterCooled_Baseboard.idf index c3e047306bd..5fd06fa74ef 100644 --- a/testfiles/5ZoneWaterCooled_Baseboard.idf +++ b/testfiles/5ZoneWaterCooled_Baseboard.idf @@ -20,7 +20,7 @@ ! Run Period (Weather File): Winter 1/14, Summer 7/7, CHICAGO_IL_USA TMY2-94846 ! ! Run Control: Zone and System sizing with weather file run control (no design days ran) -! +! ! Building: Single floor rectangular building 100 ft x 50 ft. 5 zones - 4 exterior, 1 interior, zone height 8 feet. ! Exterior zone depth is 12 feet. There is a 2 foot high return plenum: the overall building height is ! 10 feet. There are windows on all 4 facades; the south and north facades have glass doors. From ae689a56389514e23972df2265e1f714628b78ce Mon Sep 17 00:00:00 2001 From: Richard Raustad Date: Mon, 8 Sep 2014 15:58:11 -0400 Subject: [PATCH 18/19] Merged recent code and paddified if blocks --- src/EnergyPlus/ElectricBaseboardRadiator.cc | 2 +- src/EnergyPlus/FanCoilUnits.cc | 18 +- src/EnergyPlus/PurchasedAirManager.cc | 136 +++++++------- src/EnergyPlus/SimAirServingZones.cc | 3 +- src/EnergyPlus/SizingManager.cc | 9 +- src/EnergyPlus/SteamBaseboardRadiator.cc | 32 ++-- src/EnergyPlus/UnitHeater.cc | 68 ++++--- src/EnergyPlus/UnitVentilator.cc | 194 ++++++++++---------- src/EnergyPlus/VentilatedSlab.cc | 178 +++++++++--------- src/EnergyPlus/WindowAC.cc | 36 ++-- 10 files changed, 336 insertions(+), 340 deletions(-) diff --git a/src/EnergyPlus/ElectricBaseboardRadiator.cc b/src/EnergyPlus/ElectricBaseboardRadiator.cc index 1e4d5f29a25..0a0f4b4043c 100644 --- a/src/EnergyPlus/ElectricBaseboardRadiator.cc +++ b/src/EnergyPlus/ElectricBaseboardRadiator.cc @@ -665,7 +665,7 @@ namespace ElectricBaseboardRadiator { bool IsAutoSize; // Indicator to autosizing nominal capacity std::string CompName; // component name - std::string CompType; // component type + std::string CompType; // component type std::string SizingString; // input field sizing description (e.g., Nominal Capacity) Real64 TempSize; // autosized value of coil input field int FieldNum = 1; // IDD numeric field number where input field description is found diff --git a/src/EnergyPlus/FanCoilUnits.cc b/src/EnergyPlus/FanCoilUnits.cc index 31497fedeec..b289675728f 100644 --- a/src/EnergyPlus/FanCoilUnits.cc +++ b/src/EnergyPlus/FanCoilUnits.cc @@ -1220,7 +1220,7 @@ namespace FanCoilUnits { if ( IsAutoSize ) { FanCoil( FanCoilNum ).MaxAirVolFlow = MaxAirVolFlowDes; } else { // Hard size with sizing data - if (FanCoil( FanCoilNum ).MaxAirVolFlow > 0.0 && MaxAirVolFlowDes > 0.0 ) { + if ( FanCoil( FanCoilNum ).MaxAirVolFlow > 0.0 && MaxAirVolFlowDes > 0.0 ) { MaxAirVolFlowUser = FanCoil( FanCoilNum ).MaxAirVolFlow; if ( DisplayExtraWarnings ) { if ( ( std::abs( MaxAirVolFlowDes - MaxAirVolFlowUser ) / MaxAirVolFlowUser ) > AutoVsHardSizingThreshold ) { @@ -1238,7 +1238,7 @@ namespace FanCoilUnits { SimulateFanComponents( FanCoil( FanCoilNum ).FanName, true, FanCoil( FanCoilNum ).FanIndex ); FanCoil( FanCoilNum ).FanAirVolFlow = GetFanDesignVolumeFlowRate( cFanTypes( FanCoil( FanCoilNum ).FanType_Num ), FanCoil( FanCoilNum ).FanName, ErrorsFound ); // Check that the fan volumetric flow rate is greater than or equal to the FCU volumetric flow rate - if (FanCoil( FanCoilNum ).MaxAirVolFlow > FanCoil( FanCoilNum ).FanAirVolFlow ) { + if ( FanCoil( FanCoilNum ).MaxAirVolFlow > FanCoil( FanCoilNum ).FanAirVolFlow ) { ShowWarningError( RoutineName + FanCoil (FanCoilNum ).UnitType + ": " + FanCoil( FanCoilNum ).Name ); ShowContinueError( "... Maximum supply air flow rate is greater than the maximum fan flow rate." ); ShowContinueError( "... Fan Coil Unit flow = " + TrimSigDigits( FanCoil( FanCoilNum ).MaxAirVolFlow, 5 ) + " m3/s." ); @@ -1352,8 +1352,8 @@ namespace FanCoilUnits { MaxHotWaterVolFlowDes = 0.0; } } else { - ShowSevereError("Autosizing of water flow requires a heating loop Sizing:Plant object"); - ShowContinueError("Occurs in " + FanCoil(FanCoilNum).UnitType + " Object=" + FanCoil(FanCoilNum).Name); + ShowSevereError( "Autosizing of water flow requires a heating loop Sizing:Plant object" ); + ShowContinueError( "Occurs in " + FanCoil( FanCoilNum ).UnitType + " Object=" + FanCoil( FanCoilNum ).Name ); ErrorsFound = true; } } @@ -1389,13 +1389,11 @@ namespace FanCoilUnits { if ( FanCoil( FanCoilNum ).MaxColdWaterVolFlow > 0.0 ) { ReportSizingOutput( FanCoil( FanCoilNum ).UnitType, FanCoil( FanCoilNum ).Name, "User-Specified Maximum Cold Water Flow [m3/s]", FanCoil( FanCoilNum ).MaxColdWaterVolFlow ); } - } - else { + } else { if ( SameString( FanCoil( FanCoilNum ).CCoilType, "CoilSystem:Cooling:Water:HeatExchangerAssisted" ) ) { CoolingCoilName = GetHXDXCoilName( FanCoil( FanCoilNum ).CCoilType, FanCoil( FanCoilNum ).CCoilName, ErrorsFound ); CoolingCoilType = GetHXCoilType( FanCoil( FanCoilNum ).CCoilType, FanCoil( FanCoilNum ).CCoilName, ErrorsFound ); - } - else { + } else { CoolingCoilName = FanCoil( FanCoilNum ).CCoilName; CoolingCoilType = FanCoil( FanCoilNum ).CCoilType; } @@ -1454,7 +1452,6 @@ namespace FanCoilUnits { } else { MaxColdWaterVolFlowDes = 0.0; } - } else { ShowSevereError( "Autosizing of water flow requires a cooling loop Sizing:Plant object" ); ShowContinueError( "Occurs in " + FanCoil( FanCoilNum ).UnitType + " Object=" + FanCoil( FanCoilNum ).Name ); @@ -1464,8 +1461,7 @@ namespace FanCoilUnits { if ( IsAutoSize ) { FanCoil( FanCoilNum ).MaxColdWaterVolFlow = MaxColdWaterVolFlowDes; ReportSizingOutput (FanCoil( FanCoilNum ).UnitType, FanCoil( FanCoilNum ).Name, "Design Size Maximum Cold Water Flow [m3/s]", MaxColdWaterVolFlowDes ); - } - else { // Hard size with sizing data + } else { // Hard size with sizing data if ( FanCoil( FanCoilNum ).MaxColdWaterVolFlow > 0.0 && MaxColdWaterVolFlowDes > 0.0 ) { MaxColdWaterVolFlowUser = FanCoil( FanCoilNum ).MaxColdWaterVolFlow; ReportSizingOutput( FanCoil( FanCoilNum ).UnitType, FanCoil( FanCoilNum ).Name, "Design Size Maximum Cold Water Flow [m3/s]", MaxColdWaterVolFlowDes, "User-Specified Maximum Cold Water Flow [m3/s]", MaxColdWaterVolFlowUser ); diff --git a/src/EnergyPlus/PurchasedAirManager.cc b/src/EnergyPlus/PurchasedAirManager.cc index 753ef82493e..c236c7344d5 100644 --- a/src/EnergyPlus/PurchasedAirManager.cc +++ b/src/EnergyPlus/PurchasedAirManager.cc @@ -1046,41 +1046,41 @@ namespace PurchasedAirManager { CompType = PurchAir(PurchAirNum).cObjectName; CompName = PurchAir(PurchAirNum).Name; - if( CurZoneEqNum > 0 ) { - if( PurchAir( PurchAirNum ).HVACSizingIndex > 0 ) { + if ( CurZoneEqNum > 0 ) { + if ( PurchAir( PurchAirNum ).HVACSizingIndex > 0 ) { DataZoneNumber = PurchAir( PurchAirNum ).ZonePtr; zoneHVACIndex = PurchAir( PurchAirNum ).HVACSizingIndex; FieldNum = 5; // N5 , \field Maximum Heating Air Flow Rate PrintFlag = true; SizingString = PurchAirNumericFields( PurchAirNum ).FieldNames( FieldNum ) + " [m3/s]"; - if( ZoneHVACSizing( zoneHVACIndex ).HeatingSAFMethod > 0 ) { + if ( ZoneHVACSizing( zoneHVACIndex ).HeatingSAFMethod > 0 ) { SizingMethod = HeatingAirflowSizing; ZoneHeatingOnlyFan = true; SAFMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingSAFMethod; ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; - if( SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow ) { - if( SAFMethod == SupplyAirFlowRate ){ - if( ( ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow == AutoSize ) && ( ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRate ) || ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRateAndCapacity ) ) ) { + if ( SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow ) { + if ( SAFMethod == SupplyAirFlowRate ){ + if ( ( ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow == AutoSize ) && ( ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRate ) || ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRateAndCapacity ) ) ) { TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); HeatingAirVolFlowDes = TempSize; } else { - if( ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0 ) { + if ( ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0 ) { RequestSizing( CompType, CompName, SizingMethod, SizingString, ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow, PrintFlag, RoutineName ); HeatingAirVolFlowDes = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; } } - } else if( SAFMethod == FlowPerFloorArea ){ + } else if ( SAFMethod == FlowPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); HeatingAirVolFlowDes = TempSize; - } else if( SAFMethod == FractionOfAutosizedHeatingAirflow ){ + } else if ( SAFMethod == FractionOfAutosizedHeatingAirflow ){ DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; - if( ( ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow == AutoSize ) && ( ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRate ) || ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRateAndCapacity ) ) ) { + if ( ( ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow == AutoSize ) && ( ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRate ) || ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRateAndCapacity ) ) ) { TempSize = AutoSize; DataScalableSizingON = true; RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); @@ -1090,11 +1090,11 @@ namespace PurchasedAirManager { } else { // Invalid sizing method } - } else if( SAFMethod == FlowPerHeatingCapacity ) { + } else if ( SAFMethod == FlowPerHeatingCapacity ) { SizingMethod = HeatingCapacitySizing; TempSize = AutoSize; PrintFlag = false; - if( ( ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow == AutoSize ) && ( ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRate ) || ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRateAndCapacity ) ) ) { + if ( ( ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow == AutoSize ) && ( ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRate ) || ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRateAndCapacity ) ) ) { TempSize = AutoSize; DataScalableSizingON = true; RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); @@ -1113,18 +1113,18 @@ namespace PurchasedAirManager { CapSizingMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingCapMethod; ZoneEqSizing( CurZoneEqNum ).CapSizingMethod = CapSizingMethod; - if( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { - if( CapSizingMethod == HeatingDesignCapacity ){ - if( ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity > 0.0 ) { + if ( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { + if ( CapSizingMethod == HeatingDesignCapacity ){ + if ( ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; } TempSize = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; - } else if( CapSizingMethod == CapacityPerFloorArea ){ + } else if ( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableSizingON = true; - } else if( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ + } else if ( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; TempSize = AutoSize; } @@ -1136,25 +1136,25 @@ namespace PurchasedAirManager { RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); MaxHeatSensCapDes = TempSize; ZoneHeatingOnlyFan = false; - if( MaxHeatSensCapDes < SmallLoad ) { + if ( MaxHeatSensCapDes < SmallLoad ) { MaxHeatSensCapDes = 0.0; } - if( IsAutoSize ) { + if ( IsAutoSize ) { PurchAir( PurchAirNum ).MaxHeatSensCap = MaxHeatSensCapDes; ReportSizingOutput( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name, "Design Size Maximum Sensible Heating Capacity [W]", MaxHeatSensCapDes ); // If there is OA, check if sizing calcs have OA>0, throw warning if not - if( ( PurchAir( PurchAirNum ).OutdoorAir ) && ( FinalZoneSizing( CurZoneEqNum ).MinOA == 0.0 ) ) { + if ( ( PurchAir( PurchAirNum ).OutdoorAir ) && ( FinalZoneSizing( CurZoneEqNum ).MinOA == 0.0 ) ) { ShowWarningError( "InitPurchasedAir: In " + PurchAir( PurchAirNum ).cObjectName + " = " + PurchAir( PurchAirNum ).Name ); ShowContinueError( "There is outdoor air specified in this object, " "but the design outdoor air flow rate for this " ); ShowContinueError( "zone is zero. The Maximum Sensible Heating Capacity will be " "autosized for zero outdoor air flow. " ); ShowContinueError( "Check the outdoor air specifications in the Sizing:Zone object for zone " + FinalZoneSizing( CurZoneEqNum ).ZoneName + '.' ); } } else { - if( PurchAir( PurchAirNum ).MaxHeatSensCap > 0.0 && MaxHeatSensCapDes > 0.0 ) { + if ( PurchAir( PurchAirNum ).MaxHeatSensCap > 0.0 && MaxHeatSensCapDes > 0.0 ) { MaxHeatSensCapUser = PurchAir( PurchAirNum ).MaxHeatSensCap; ReportSizingOutput( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name, "Design Size Maximum Sensible Heating Capacity [W]", MaxHeatSensCapDes, "User-Specified Maximum Sensible Heating Capacity [W]", MaxHeatSensCapUser ); - if( DisplayExtraWarnings ) { - if( ( std::abs( MaxHeatSensCapDes - MaxHeatSensCapUser ) / MaxHeatSensCapUser ) > AutoVsHardSizingThreshold ) { + if ( DisplayExtraWarnings ) { + if ( ( std::abs( MaxHeatSensCapDes - MaxHeatSensCapUser ) / MaxHeatSensCapUser ) > AutoVsHardSizingThreshold ) { ShowMessage( "SizePurchasedAir: Potential issue with equipment sizing for " + PurchAir( PurchAirNum ).cObjectName + ' ' + PurchAir( PurchAirNum ).Name ); ShowContinueError( "...User-Specified Maximum Sensible Heating Capacity of " + RoundSigDigits( MaxHeatSensCapUser, 2 ) + " [W]" ); ShowContinueError( "...differs from Design Size Maximum Sensible Heating Capacity of " + RoundSigDigits( MaxHeatSensCapDes, 2 ) + " [W]" ); @@ -1169,32 +1169,32 @@ namespace PurchasedAirManager { FieldNum = 7; //N7 , \field Maximum Cooling Air Flow Rate PrintFlag = true; SizingString = PurchAirNumericFields( PurchAirNum ).FieldNames( FieldNum ) + " [m3/s]"; - if( ZoneHVACSizing( zoneHVACIndex ).CoolingSAFMethod > 0 ) { + if ( ZoneHVACSizing( zoneHVACIndex ).CoolingSAFMethod > 0 ) { SizingMethod = CoolingAirflowSizing; ZoneCoolingOnlyFan = true; SAFMethod = ZoneHVACSizing( zoneHVACIndex ).CoolingSAFMethod; ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; - if( SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow ) { - if( SAFMethod == SupplyAirFlowRate ){ - if( ( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow == AutoSize ) && ( ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRate ) || ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRateAndCapacity ) || ( PurchAir( PurchAirNum ).OutdoorAir && PurchAir( PurchAirNum ).EconomizerType != NoEconomizer ) ) ) { + if ( SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow ) { + if ( SAFMethod == SupplyAirFlowRate ){ + if ( ( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow == AutoSize ) && ( ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRate ) || ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRateAndCapacity ) || ( PurchAir( PurchAirNum ).OutdoorAir && PurchAir( PurchAirNum ).EconomizerType != NoEconomizer ) ) ) { TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); CoolingAirVolFlowDes = TempSize; } else { - if( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0 ) { + if ( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0 ) { RequestSizing( CompType, CompName, SizingMethod, SizingString, ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow, PrintFlag, RoutineName ); CoolingAirVolFlowDes = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; } } - } else if( SAFMethod == FlowPerFloorArea ){ + } else if ( SAFMethod == FlowPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); CoolingAirVolFlowDes = TempSize; - } else if( SAFMethod == FractionOfAutosizedCoolingAirflow ){ - if( ( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow == AutoSize ) && ( ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRate ) || ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRateAndCapacity ) || ( PurchAir( PurchAirNum ).OutdoorAir && PurchAir( PurchAirNum ).EconomizerType != NoEconomizer ) ) ) { + } else if ( SAFMethod == FractionOfAutosizedCoolingAirflow ){ + if ( ( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow == AutoSize ) && ( ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRate ) || ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRateAndCapacity ) || ( PurchAir( PurchAirNum ).OutdoorAir && PurchAir( PurchAirNum ).EconomizerType != NoEconomizer ) ) ) { DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; @@ -1204,8 +1204,8 @@ namespace PurchasedAirManager { } else { // Invlid scalable sizing method } - } else if( SAFMethod == FlowPerCoolingCapacity ) { - if( ( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow == AutoSize ) && ( ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRate ) || ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRateAndCapacity ) || ( PurchAir( PurchAirNum ).OutdoorAir && PurchAir( PurchAirNum ).EconomizerType != NoEconomizer ) ) ) { + } else if ( SAFMethod == FlowPerCoolingCapacity ) { + if ( ( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow == AutoSize ) && ( ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRate ) || ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRateAndCapacity ) || ( PurchAir( PurchAirNum ).OutdoorAir && PurchAir( PurchAirNum ).EconomizerType != NoEconomizer ) ) ) { SizingMethod = CoolingCapacitySizing; TempSize = AutoSize; PrintFlag = false; @@ -1227,20 +1227,20 @@ namespace PurchasedAirManager { CapSizingMethod = ZoneHVACSizing( zoneHVACIndex ).CoolingCapMethod; ZoneEqSizing( CurZoneEqNum ).CapSizingMethod = CapSizingMethod; - if( CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity ) { - if( CapSizingMethod == CoolingDesignCapacity ){ - if( ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity > 0.0 ) { + if ( CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity ) { + if ( CapSizingMethod == CoolingDesignCapacity ){ + if ( ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; } else { DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow; } TempSize = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; - } else if( CapSizingMethod == CapacityPerFloorArea ){ + } else if ( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableSizingON = true; - } else if( CapSizingMethod == FractionOfAutosizedCoolingCapacity ){ + } else if ( CapSizingMethod == FractionOfAutosizedCoolingCapacity ){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow; TempSize = AutoSize; @@ -1254,25 +1254,25 @@ namespace PurchasedAirManager { RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); MaxCoolTotCapDes = TempSize; ZoneCoolingOnlyFan = false; - if( MaxCoolTotCapDes < SmallLoad ) { + if ( MaxCoolTotCapDes < SmallLoad ) { MaxCoolTotCapDes = 0.0; } - if( IsAutoSize ) { + if ( IsAutoSize ) { PurchAir( PurchAirNum ).MaxCoolTotCap = MaxCoolTotCapDes; ReportSizingOutput( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name, "Design Size Maximum Total Cooling Capacity [W]", MaxCoolTotCapDes ); // If there is OA, check if sizing calcs have OA>0, throw warning if not - if( ( PurchAir( PurchAirNum ).OutdoorAir ) && ( FinalZoneSizing( CurZoneEqNum ).MinOA == 0.0 ) ) { + if ( ( PurchAir( PurchAirNum ).OutdoorAir ) && ( FinalZoneSizing( CurZoneEqNum ).MinOA == 0.0 ) ) { ShowWarningError( "SizePurchasedAir: In " + PurchAir( PurchAirNum ).cObjectName + " = " + PurchAir( PurchAirNum ).Name ); ShowContinueError( "There is outdoor air specified in this object, " "but the design outdoor air flow rate for this " ); ShowContinueError( "zone is zero. The Maximum Total Cooling Capacity will be autosized " "for zero outdoor air flow. " ); ShowContinueError( "Check the outdoor air specifications in the Sizing:Zone object for zone " + FinalZoneSizing( CurZoneEqNum ).ZoneName + '.' ); } } else { - if( PurchAir( PurchAirNum ).MaxCoolTotCap > 0.0 && MaxCoolTotCapDes > 0.0 ) { + if ( PurchAir( PurchAirNum ).MaxCoolTotCap > 0.0 && MaxCoolTotCapDes > 0.0 ) { MaxCoolTotCapUser = PurchAir( PurchAirNum ).MaxCoolTotCap; ReportSizingOutput( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name, "Design Size Maximum Total Cooling Capacity [W]", MaxCoolTotCapDes, "User-Specified Maximum Total Cooling Capacity [W]", MaxCoolTotCapUser ); - if( DisplayExtraWarnings ) { - if( ( std::abs( MaxCoolTotCapDes - MaxCoolTotCapUser ) / MaxCoolTotCapUser ) > AutoVsHardSizingThreshold ) { + if ( DisplayExtraWarnings ) { + if ( ( std::abs( MaxCoolTotCapDes - MaxCoolTotCapUser ) / MaxCoolTotCapUser ) > AutoVsHardSizingThreshold ) { ShowMessage( "SizePurchasedAir: Potential issue with equipment sizing for " + PurchAir( PurchAirNum ).cObjectName + ' ' + PurchAir( PurchAirNum ).Name ); ShowContinueError( "User-Specified Maximum Total Cooling Capacity of " + RoundSigDigits( MaxCoolTotCapUser, 2 ) + " [W]" ); ShowContinueError( "differs from Design Size Maximum Total Cooling Capacity of " + RoundSigDigits( MaxCoolTotCapDes, 2 ) + " [W]" ); @@ -1292,11 +1292,11 @@ namespace PurchasedAirManager { SizingString = PurchAirNumericFields( PurchAirNum ).FieldNames( FieldNum ) + " [m3/s]"; IsAutoSize = false; PrintFlag = true; - if( ( PurchAir( PurchAirNum ).MaxHeatVolFlowRate == AutoSize ) && ( ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRate ) || ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRateAndCapacity ) ) ) { + if ( ( PurchAir( PurchAirNum ).MaxHeatVolFlowRate == AutoSize ) && ( ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRate ) || ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRateAndCapacity ) ) ) { IsAutoSize = true; } - if( !IsAutoSize && !ZoneSizingRunDone ) { // Simulation continue - if( PurchAir( PurchAirNum ).MaxHeatVolFlowRate > 0.0 ) { + if ( !IsAutoSize && !ZoneSizingRunDone ) { // Simulation continue + if ( PurchAir( PurchAirNum ).MaxHeatVolFlowRate > 0.0 ) { RequestSizing( CompType, CompName, SizingMethod, SizingString, PurchAir( PurchAirNum ).MaxHeatVolFlowRate, PrintFlag, RoutineName ); } MaxHeatVolFlowRateDes = 0.0; @@ -1313,11 +1313,11 @@ namespace PurchasedAirManager { SizingMethod = HeatingCapacitySizing; FieldNum = 6; // N6, \field Maximum Sensible Heating Capacity SizingString = PurchAirNumericFields( PurchAirNum ).FieldNames( FieldNum ) + " [m3/s]"; - if( ( PurchAir( PurchAirNum ).MaxHeatSensCap == AutoSize ) && ( ( PurchAir( PurchAirNum ).HeatingLimit == LimitCapacity ) || ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRateAndCapacity ) ) ) { + if ( ( PurchAir( PurchAirNum ).MaxHeatSensCap == AutoSize ) && ( ( PurchAir( PurchAirNum ).HeatingLimit == LimitCapacity ) || ( PurchAir( PurchAirNum ).HeatingLimit == LimitFlowRateAndCapacity ) ) ) { IsAutoSize = true; } - if( !IsAutoSize && !ZoneSizingRunDone ) { // Simulation continue - if( PurchAir( PurchAirNum ).MaxHeatSensCap > 0.0 ) { + if ( !IsAutoSize && !ZoneSizingRunDone ) { // Simulation continue + if ( PurchAir( PurchAirNum ).MaxHeatSensCap > 0.0 ) { RequestSizing( CompType, CompName, SizingMethod, SizingString, PurchAir( PurchAirNum ).MaxHeatSensCap, PrintFlag, RoutineName ); } } else { @@ -1328,25 +1328,25 @@ namespace PurchasedAirManager { MaxHeatSensCapDes = TempSize; ZoneHeatingOnlyFan = false; } - if( MaxHeatSensCapDes < SmallLoad ) { + if ( MaxHeatSensCapDes < SmallLoad ) { MaxHeatSensCapDes = 0.0; } - if( IsAutoSize ) { + if ( IsAutoSize ) { PurchAir( PurchAirNum ).MaxHeatSensCap = MaxHeatSensCapDes; ReportSizingOutput( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name, "Design Size Maximum Sensible Heating Capacity [W]", MaxHeatSensCapDes ); // If there is OA, check if sizing calcs have OA>0, throw warning if not - if( ( PurchAir( PurchAirNum ).OutdoorAir ) && ( FinalZoneSizing( CurZoneEqNum ).MinOA == 0.0 ) ) { + if ( ( PurchAir( PurchAirNum ).OutdoorAir ) && ( FinalZoneSizing( CurZoneEqNum ).MinOA == 0.0 ) ) { ShowWarningError( "InitPurchasedAir: In " + PurchAir( PurchAirNum ).cObjectName + " = " + PurchAir( PurchAirNum ).Name ); ShowContinueError( "There is outdoor air specified in this object, " "but the design outdoor air flow rate for this " ); ShowContinueError( "zone is zero. The Maximum Sensible Heating Capacity will be " "autosized for zero outdoor air flow. " ); ShowContinueError( "Check the outdoor air specifications in the Sizing:Zone object for zone " + FinalZoneSizing( CurZoneEqNum ).ZoneName + '.' ); } } else { - if( PurchAir( PurchAirNum ).MaxHeatSensCap > 0.0 && MaxHeatSensCapDes > 0.0 ) { + if ( PurchAir( PurchAirNum ).MaxHeatSensCap > 0.0 && MaxHeatSensCapDes > 0.0 ) { MaxHeatSensCapUser = PurchAir( PurchAirNum ).MaxHeatSensCap; ReportSizingOutput( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name, "Design Size Maximum Sensible Heating Capacity [W]", MaxHeatSensCapDes, "User-Specified Maximum Sensible Heating Capacity [W]", MaxHeatSensCapUser ); - if( DisplayExtraWarnings ) { - if( ( std::abs( MaxHeatSensCapDes - MaxHeatSensCapUser ) / MaxHeatSensCapUser ) > AutoVsHardSizingThreshold ) { + if ( DisplayExtraWarnings ) { + if ( ( std::abs( MaxHeatSensCapDes - MaxHeatSensCapUser ) / MaxHeatSensCapUser ) > AutoVsHardSizingThreshold ) { ShowMessage( "SizePurchasedAir: Potential issue with equipment sizing for " + PurchAir( PurchAirNum ).cObjectName + ' ' + PurchAir( PurchAirNum ).Name ); ShowContinueError( "...User-Specified Maximum Sensible Heating Capacity of " + RoundSigDigits( MaxHeatSensCapUser, 2 ) + " [W]" ); ShowContinueError( "...differs from Design Size Maximum Sensible Heating Capacity of " + RoundSigDigits( MaxHeatSensCapDes, 2 ) + " [W]" ); @@ -1362,11 +1362,11 @@ namespace PurchasedAirManager { PrintFlag = true; SizingString = PurchAirNumericFields( PurchAirNum ).FieldNames( FieldNum ) + " [m3/s]"; IsAutoSize = false; - if( ( PurchAir( PurchAirNum ).MaxCoolVolFlowRate == AutoSize ) && ( ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRate ) || ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRateAndCapacity ) || ( PurchAir( PurchAirNum ).OutdoorAir && PurchAir( PurchAirNum ).EconomizerType != NoEconomizer ) ) ) { + if ( ( PurchAir( PurchAirNum ).MaxCoolVolFlowRate == AutoSize ) && ( ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRate ) || ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRateAndCapacity ) || ( PurchAir( PurchAirNum ).OutdoorAir && PurchAir( PurchAirNum ).EconomizerType != NoEconomizer ) ) ) { IsAutoSize = true; } - if( !IsAutoSize && !ZoneSizingRunDone ) { // Simulation continue - if( PurchAir( PurchAirNum ).MaxCoolVolFlowRate > 0.0 ) { + if ( !IsAutoSize && !ZoneSizingRunDone ) { // Simulation continue + if ( PurchAir( PurchAirNum ).MaxCoolVolFlowRate > 0.0 ) { RequestSizing( CompType, CompName, SizingMethod, SizingString, PurchAir( PurchAirNum ).MaxCoolVolFlowRate, PrintFlag, RoutineName ); } } else { @@ -1382,11 +1382,11 @@ namespace PurchasedAirManager { SizingMethod = CoolingCapacitySizing; FieldNum = 8; // N8, \field Maximum Total Cooling Capacity SizingString = PurchAirNumericFields( PurchAirNum ).FieldNames( FieldNum ) + " [m3/s]"; - if( ( PurchAir( PurchAirNum ).MaxCoolTotCap == AutoSize ) && ( ( PurchAir( PurchAirNum ).CoolingLimit == LimitCapacity ) || ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRateAndCapacity ) ) ) { + if ( ( PurchAir( PurchAirNum ).MaxCoolTotCap == AutoSize ) && ( ( PurchAir( PurchAirNum ).CoolingLimit == LimitCapacity ) || ( PurchAir( PurchAirNum ).CoolingLimit == LimitFlowRateAndCapacity ) ) ) { IsAutoSize = true; } - if( !IsAutoSize && !ZoneSizingRunDone ) { // Simulation continue - if( PurchAir( PurchAirNum ).MaxCoolTotCap > 0.0 ) { + if ( !IsAutoSize && !ZoneSizingRunDone ) { // Simulation continue + if ( PurchAir( PurchAirNum ).MaxCoolTotCap > 0.0 ) { RequestSizing( CompType, CompName, SizingMethod, SizingString, PurchAir( PurchAirNum ).MaxCoolTotCap, PrintFlag, RoutineName ); } } else { @@ -1397,25 +1397,25 @@ namespace PurchasedAirManager { MaxCoolTotCapDes = TempSize; ZoneCoolingOnlyFan = false; } - if( MaxCoolTotCapDes < SmallLoad ) { + if ( MaxCoolTotCapDes < SmallLoad ) { MaxCoolTotCapDes = 0.0; } - if( IsAutoSize ) { + if ( IsAutoSize ) { PurchAir( PurchAirNum ).MaxCoolTotCap = MaxCoolTotCapDes; ReportSizingOutput( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name, "Design Size Maximum Total Cooling Capacity [W]", MaxCoolTotCapDes ); // If there is OA, check if sizing calcs have OA>0, throw warning if not - if( ( PurchAir( PurchAirNum ).OutdoorAir ) && ( FinalZoneSizing( CurZoneEqNum ).MinOA == 0.0 ) ) { + if ( ( PurchAir( PurchAirNum ).OutdoorAir ) && ( FinalZoneSizing( CurZoneEqNum ).MinOA == 0.0 ) ) { ShowWarningError( "SizePurchasedAir: In " + PurchAir( PurchAirNum ).cObjectName + " = " + PurchAir( PurchAirNum ).Name ); ShowContinueError( "There is outdoor air specified in this object, " "but the design outdoor air flow rate for this " ); ShowContinueError( "zone is zero. The Maximum Total Cooling Capacity will be autosized " "for zero outdoor air flow. " ); ShowContinueError( "Check the outdoor air specifications in the Sizing:Zone object for zone " + FinalZoneSizing( CurZoneEqNum ).ZoneName + '.' ); } } else { - if( PurchAir( PurchAirNum ).MaxCoolTotCap > 0.0 && MaxCoolTotCapDes > 0.0 ) { + if ( PurchAir( PurchAirNum ).MaxCoolTotCap > 0.0 && MaxCoolTotCapDes > 0.0 ) { MaxCoolTotCapUser = PurchAir( PurchAirNum ).MaxCoolTotCap; ReportSizingOutput( PurchAir( PurchAirNum ).cObjectName, PurchAir( PurchAirNum ).Name, "Design Size Maximum Total Cooling Capacity [W]", MaxCoolTotCapDes, "User-Specified Maximum Total Cooling Capacity [W]", MaxCoolTotCapUser ); - if( DisplayExtraWarnings ) { - if( ( std::abs( MaxCoolTotCapDes - MaxCoolTotCapUser ) / MaxCoolTotCapUser ) > AutoVsHardSizingThreshold ) { + if ( DisplayExtraWarnings ) { + if ( ( std::abs( MaxCoolTotCapDes - MaxCoolTotCapUser ) / MaxCoolTotCapUser ) > AutoVsHardSizingThreshold ) { ShowMessage( "SizePurchasedAir: Potential issue with equipment sizing for " + PurchAir( PurchAirNum ).cObjectName + ' ' + PurchAir( PurchAirNum ).Name ); ShowContinueError( "User-Specified Maximum Total Cooling Capacity of " + RoundSigDigits( MaxCoolTotCapUser, 2 ) + " [W]" ); ShowContinueError( "differs from Design Size Maximum Total Cooling Capacity of " + RoundSigDigits( MaxCoolTotCapDes, 2 ) + " [W]" ); diff --git a/src/EnergyPlus/SimAirServingZones.cc b/src/EnergyPlus/SimAirServingZones.cc index 847a1916b76..a8903c8e687 100644 --- a/src/EnergyPlus/SimAirServingZones.cc +++ b/src/EnergyPlus/SimAirServingZones.cc @@ -2380,6 +2380,7 @@ namespace SimAirServingZones { // SUBROUTINE PARAMETER DEFINITIONS: // Maximum iterations of an air system/controllers simulation sequence int const MaxIter( 50 ); + static gio::Fmt const fmtLD( "*" ); // INTERFACE BLOCK DEFINITIONS: None @@ -2475,7 +2476,7 @@ namespace SimAirServingZones { ++ErrCount; if ( ErrCount < 15 ) { ErrEnvironmentName = EnvironmentName; - gio::write( CharErrOut, "*" ) << MaxIter; + gio::write( CharErrOut, fmtLD ) << MaxIter; strip( CharErrOut ); ShowWarningError( "SolveAirLoopControllers: Maximum iterations (" + CharErrOut + ") exceeded for " + PrimaryAirSystem( AirLoopNum ).Name + ", at " + EnvironmentName + ", " + CurMnDy + ' ' + CreateSysTimeIntervalString() ); } else { diff --git a/src/EnergyPlus/SizingManager.cc b/src/EnergyPlus/SizingManager.cc index 028df3f3532..4c1abe69122 100644 --- a/src/EnergyPlus/SizingManager.cc +++ b/src/EnergyPlus/SizingManager.cc @@ -135,6 +135,7 @@ namespace SizingManager { // SUBROUTINE PARAMETER DEFINITIONS: static std::string const RoutineName( "ManageSizing: " ); + static gio::Fmt const fmtLD( "*" ); // INTERFACE BLOCK SPECIFICATIONS: none @@ -287,7 +288,7 @@ namespace SizingManager { ++CurEnvirNumSimDay; } - gio::write( DayOfSimChr, "*" ) << DayOfSim; + gio::write( DayOfSimChr, fmtLD ) << DayOfSim; strip( DayOfSimChr ); BeginDayFlag = true; EndDayFlag = false; @@ -488,7 +489,7 @@ namespace SizingManager { if ( ! WarmupFlag && DayOfSim > 1 ) { ++CurEnvirNumSimDay; } - gio::write( DayOfSimChr, "*" ) << DayOfSim; + gio::write( DayOfSimChr, fmtLD ) << DayOfSim; strip( DayOfSimChr ); BeginDayFlag = true; EndDayFlag = false; @@ -1029,7 +1030,7 @@ namespace SizingManager { // na // SUBROUTINE PARAMETER DEFINITIONS: - // na + static gio::Fmt const fmtA( "(A)" ); // INTERFACE BLOCK SPECIFICATIONS // na @@ -1098,7 +1099,7 @@ namespace SizingManager { ShowWarningError( cCurrentModuleObject + ": invalid " + cAlphaFieldNames( 1 ) + " entered value=\"" + cAlphaArgs( 1 ) + "\", Commas will be used to separate fields." ); cAlphaArgs( 1 ) = "Comma"; } - gio::write( OutputFileInits, "(A)" ) << "! ,Style"; + gio::write( OutputFileInits, fmtA ) << "! ,Style"; gio::write( OutputFileInits, "('Sizing Output Files,',A)" ) << cAlphaArgs( 1 ); } diff --git a/src/EnergyPlus/SteamBaseboardRadiator.cc b/src/EnergyPlus/SteamBaseboardRadiator.cc index 2a3f8e936a4..9ae1a141a84 100644 --- a/src/EnergyPlus/SteamBaseboardRadiator.cc +++ b/src/EnergyPlus/SteamBaseboardRadiator.cc @@ -371,12 +371,12 @@ namespace SteamBaseboardRadiator { TestCompSet( cCMO_BBRadiator_Steam, cAlphaArgs( 1 ), cAlphaArgs( 3 ), cAlphaArgs( 4 ), "Hot Steam Nodes" ); // Determine steam baseboard radiator system heating design capacity sizing method - if( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "HeatingDesignCapacity" ) ) { + if ( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "HeatingDesignCapacity" ) ) { SteamBaseboard( BaseboardNum ).HeatingCapMethod = HeatingDesignCapacity; - if( !lNumericFieldBlanks( iHeatDesignCapacityNumericNum ) ) { + if ( !lNumericFieldBlanks( iHeatDesignCapacityNumericNum ) ) { SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity = rNumericArgs( iHeatDesignCapacityNumericNum ); - if( SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity < 0.0 && SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity != AutoSize ) { + if ( SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity < 0.0 && SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity != AutoSize ) { ShowSevereError( cCMO_BBRadiator_Steam + " = " + SteamBaseboard( BaseboardNum ).EquipID ); ShowContinueError( "Illegal " + cNumericFieldNames( iHeatDesignCapacityNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iHeatDesignCapacityNumericNum ), 7 ) ); ErrorsFound = true; @@ -387,16 +387,16 @@ namespace SteamBaseboardRadiator { ShowContinueError( "Blank field not allowed for " + cNumericFieldNames( iHeatDesignCapacityNumericNum ) ); ErrorsFound = true; } - } else if( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "CapacityPerFloorArea" ) ) { + } else if ( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "CapacityPerFloorArea" ) ) { SteamBaseboard( BaseboardNum ).HeatingCapMethod = CapacityPerFloorArea; - if( !lNumericFieldBlanks( iHeatCapacityPerFloorAreaNumericNum ) ) { + if ( !lNumericFieldBlanks( iHeatCapacityPerFloorAreaNumericNum ) ) { SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity = rNumericArgs( iHeatCapacityPerFloorAreaNumericNum ); - if( SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity <= 0.0 ) { + if ( SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity <= 0.0 ) { ShowSevereError( cCMO_BBRadiator_Steam + " = " + SteamBaseboard( BaseboardNum ).EquipID ); ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); ShowContinueError( "Illegal " + cNumericFieldNames( iHeatCapacityPerFloorAreaNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iHeatCapacityPerFloorAreaNumericNum ), 7 ) ); ErrorsFound = true; - } else if( SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize ) { + } else if ( SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize ) { ShowSevereError( cCMO_BBRadiator_Steam + " = " + SteamBaseboard( BaseboardNum ).EquipID ); ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); ShowContinueError( "Illegal " + cNumericFieldNames( iHeatCapacityPerFloorAreaNumericNum ) + " = Autosize" ); @@ -408,11 +408,11 @@ namespace SteamBaseboardRadiator { ShowContinueError( "Blank field not allowed for " + cNumericFieldNames( iHeatCapacityPerFloorAreaNumericNum ) ); ErrorsFound = true; } - } else if( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "FractionOfAutosizedHeatingCapacity" ) ){ + } else if ( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "FractionOfAutosizedHeatingCapacity" ) ){ SteamBaseboard( BaseboardNum ).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; - if( !lNumericFieldBlanks( iHeatFracOfAutosizedCapacityNumericNum ) ) { + if ( !lNumericFieldBlanks( iHeatFracOfAutosizedCapacityNumericNum ) ) { SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity = rNumericArgs( iHeatFracOfAutosizedCapacityNumericNum ); - if( SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity < 0.0 ) { + if ( SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity < 0.0 ) { ShowSevereError( cCMO_BBRadiator_Steam + " = " + SteamBaseboard( BaseboardNum ).EquipID ); ShowContinueError( "Illegal " + cNumericFieldNames( iHeatFracOfAutosizedCapacityNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iHeatFracOfAutosizedCapacityNumericNum ), 7 ) ); ErrorsFound = true; @@ -808,7 +808,7 @@ namespace SteamBaseboardRadiator { Real64 SteamVolFlowRateMaxDes; // Design maximum steam volume flow for reporting Real64 SteamVolFlowRateMaxUser; // User hard-sized maximum steam volume flow for reporting std::string CompName; // component name - std::string CompType; // component type + std::string CompType; // component type std::string SizingString; // input field sizing description (e.g., Nominal Capacity) Real64 TempSize; // autosized value of coil input field int FieldNum = 1; // IDD numeric field number where input field description is found @@ -854,21 +854,21 @@ namespace SteamBaseboardRadiator { SizingString = SteamBaseboardNumericFields( BaseboardNum ).FieldNames(FieldNum) + " [W]"; CapSizingMethod = SteamBaseboard( BaseboardNum ).HeatingCapMethod; ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; - if( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { + if ( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { - if( CapSizingMethod == HeatingDesignCapacity ){ - if( SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize ) { + if ( CapSizingMethod == HeatingDesignCapacity ){ + if ( SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize ) { CheckZoneSizing( CompType, CompName ); ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = CalcFinalZoneSizing( CurZoneEqNum ).DesHeatLoad * CalcFinalZoneSizing( CurZoneEqNum ).HeatSizingFactor; } TempSize = SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity; - } else if( CapSizingMethod == CapacityPerFloorArea ){ + } else if ( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad; DataScalableCapSizingON = true; - } else if( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ + } else if ( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ CheckZoneSizing( CompType, CompName ); ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; DataFracOfAutosizedHeatingCapacity = SteamBaseboard( BaseboardNum ).ScaledHeatingCapacity; diff --git a/src/EnergyPlus/UnitHeater.cc b/src/EnergyPlus/UnitHeater.cc index 4cda46cff17..38a5a43445c 100644 --- a/src/EnergyPlus/UnitHeater.cc +++ b/src/EnergyPlus/UnitHeater.cc @@ -905,29 +905,28 @@ namespace UnitHeater { CompName = UnitHeat( UnitHeatNum ).Name; DataZoneNumber = UnitHeat( UnitHeatNum ).ZonePtr; - if( CurZoneEqNum > 0 ) { - if( UnitHeat( UnitHeatNum ).HVACSizingIndex > 0 ) { + if ( CurZoneEqNum > 0 ) { + if ( UnitHeat( UnitHeatNum ).HVACSizingIndex > 0 ) { zoneHVACIndex = UnitHeat( UnitHeatNum ).HVACSizingIndex; - // N1 , \field Maximum Supply Air Flow Rate SizingMethod = HeatingAirflowSizing; - FieldNum = 1; + FieldNum = 1; // N1 , \field Maximum Supply Air Flow Rate PrintFlag = true; SizingString = UnitHeatNumericFields( UnitHeatNum ).FieldNames( FieldNum ) + " [m3/s]"; SAFMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingSAFMethod; ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; - if( SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow ) { - if( SAFMethod == SupplyAirFlowRate ){ - if( ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0 ) { + if ( SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow ) { + if ( SAFMethod == SupplyAirFlowRate ){ + if ( ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; } TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; - } else if( SAFMethod == FlowPerFloorArea ){ + } else if ( SAFMethod == FlowPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; - } else if( SAFMethod == FractionOfAutosizedHeatingAirflow ){ + } else if ( SAFMethod == FractionOfAutosizedHeatingAirflow ){ DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; @@ -937,14 +936,14 @@ namespace UnitHeater { RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); UnitHeat( UnitHeatNum ).MaxAirVolFlow = TempSize; - } else if( SAFMethod == FlowPerHeatingCapacity ) { + } else if ( SAFMethod == FlowPerHeatingCapacity ) { SizingMethod = HeatingCapacitySizing; TempSize = AutoSize; PrintFlag = false; DataScalableSizingON = true; DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); - if( ZoneHVACSizing( zoneHVACIndex ).HeatingCapMethod == FractionOfAutosizedHeatingCapacity ) { + if ( ZoneHVACSizing( zoneHVACIndex ).HeatingCapMethod == FractionOfAutosizedHeatingCapacity ) { DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; } DataAutosizedHeatingCapacity = TempSize; @@ -959,9 +958,8 @@ namespace UnitHeater { } else { // no scalble sizing method has been specified. Sizing proceeds using the method // specified in the zoneHVAC object - // N1 , \field Maximum Supply Air Flow Rate SizingMethod = HeatingAirflowSizing; - FieldNum = 1; + FieldNum = 1; // N1 , \field Maximum Supply Air Flow Rate PrintFlag = true; SizingString = UnitHeatNumericFields( UnitHeatNum ).FieldNames( FieldNum ) + " [m3/s]"; TempSize = UnitHeat( UnitHeatNum ).MaxAirVolFlow; @@ -987,28 +985,28 @@ namespace UnitHeater { CoilWaterInletNode = GetCoilWaterInletNode( "Coil:Heating:Water", UnitHeat( UnitHeatNum ).HCoilName, ErrorsFound ); CoilWaterOutletNode = GetCoilWaterOutletNode( "Coil:Heating:Water", UnitHeat( UnitHeatNum ).HCoilName, ErrorsFound ); - if( IsAutoSize ) { + if ( IsAutoSize ) { PltSizHeatNum = MyPlantSizingIndex( "Coil:Heating:Water", UnitHeat( UnitHeatNum ).HCoilName, CoilWaterInletNode, CoilWaterOutletNode, ErrorsFound ); - if( PltSizHeatNum > 0 ) { + if ( PltSizHeatNum > 0 ) { SizingMethod = HeatingCapacitySizing; - if( UnitHeat( UnitHeatNum ).HVACSizingIndex > 0 ) { + if ( UnitHeat( UnitHeatNum ).HVACSizingIndex > 0 ) { zoneHVACIndex = UnitHeat( UnitHeatNum ).HVACSizingIndex; CapSizingMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingCapMethod; ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; - if( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { - if( CapSizingMethod == HeatingDesignCapacity ){ - if( ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity == AutoSize ) { + if ( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { + if ( CapSizingMethod == HeatingDesignCapacity ){ + if ( ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity == AutoSize ) { ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = FinalZoneSizing( CurZoneEqNum ).DesHeatLoad; } else { ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; } ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; TempSize = AutoSize; - } else if( CapSizingMethod == CapacityPerFloorArea ){ + } else if ( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; - } else if( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ + } else if ( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; DataScalableCapSizingON = true; TempSize = AutoSize; @@ -1027,7 +1025,7 @@ namespace UnitHeater { DesCoilLoad = TempSize; } - if( DesCoilLoad >= SmallLoad ) { + if ( DesCoilLoad >= SmallLoad ) { rho = GetDensityGlycol( PlantLoop( UnitHeat( UnitHeatNum ).HWLoopNum ).FluidName, 60.0, PlantLoop( UnitHeat( UnitHeatNum ).HWLoopNum ).FluidIndex, RoutineName ); Cp = GetSpecificHeatGlycol( PlantLoop( UnitHeat( UnitHeatNum ).HWLoopNum ).FluidName, 60.0, PlantLoop( UnitHeat( UnitHeatNum ).HWLoopNum ).FluidIndex, RoutineName ); MaxVolHotWaterFlowDes = DesCoilLoad / ( PlantSizData( PltSizHeatNum ).DeltaT * Cp * rho ); @@ -1083,28 +1081,28 @@ namespace UnitHeater { CoilSteamInletNode = GetCoilSteamInletNode( "Coil:Heating:Steam", UnitHeat( UnitHeatNum ).HCoilName, ErrorsFound ); CoilSteamOutletNode = GetCoilSteamInletNode( "Coil:Heating:Steam", UnitHeat( UnitHeatNum ).HCoilName, ErrorsFound ); - if( IsAutoSize ) { + if ( IsAutoSize ) { PltSizHeatNum = MyPlantSizingIndex( "Coil:Heating:Steam", UnitHeat( UnitHeatNum ).HCoilName, CoilSteamInletNode, CoilSteamOutletNode, ErrorsFound ); - if( PltSizHeatNum > 0 ) { - if( UnitHeat( UnitHeatNum ).HVACSizingIndex > 0 ) { + if ( PltSizHeatNum > 0 ) { + if ( UnitHeat( UnitHeatNum ).HVACSizingIndex > 0 ) { zoneHVACIndex = UnitHeat( UnitHeatNum ).HVACSizingIndex; SizingMethod = HeatingCapacitySizing; CapSizingMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingCapMethod; ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; - if( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { - if( CapSizingMethod == HeatingDesignCapacity ){ - if( ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity == AutoSize ) { + if ( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { + if ( CapSizingMethod == HeatingDesignCapacity ){ + if ( ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity == AutoSize ) { ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = FinalZoneSizing( CurZoneEqNum ).DesHeatLoad; } else { ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; } ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; TempSize = AutoSize; - } else if( CapSizingMethod == CapacityPerFloorArea ){ + } else if ( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; - } else if( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ + } else if ( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; TempSize = AutoSize; DataScalableCapSizingON = true; @@ -1117,7 +1115,7 @@ namespace UnitHeater { } else { DesCoilLoad = FinalZoneSizing( CurZoneEqNum ).DesHeatLoad; } - if( DesCoilLoad >= SmallLoad ) { + if ( DesCoilLoad >= SmallLoad ) { TempSteamIn = 100.00; EnthSteamInDry = GetSatEnthalpyRefrig( fluidNameSteam, TempSteamIn, 1.0, RefrigIndex, RoutineName ); EnthSteamOutWet = GetSatEnthalpyRefrig( fluidNameSteam, TempSteamIn, 0.0, RefrigIndex, RoutineName ); @@ -1133,15 +1131,15 @@ namespace UnitHeater { ErrorsFound = true; } } - if( IsAutoSize ) { + if ( IsAutoSize ) { UnitHeat( UnitHeatNum ).MaxVolHotSteamFlow = MaxVolHotSteamFlowDes; ReportSizingOutput( "ZoneHVAC:UnitHeater", UnitHeat( UnitHeatNum ).Name, "Design Size Maximum Steam Flow [m3/s]", MaxVolHotSteamFlowDes ); } else { - if( UnitHeat( UnitHeatNum ).MaxVolHotSteamFlow > 0.0 && MaxVolHotSteamFlowDes > 0.0 ) { + if ( UnitHeat( UnitHeatNum ).MaxVolHotSteamFlow > 0.0 && MaxVolHotSteamFlowDes > 0.0 ) { MaxVolHotSteamFlowUser = UnitHeat( UnitHeatNum ).MaxVolHotSteamFlow; ReportSizingOutput( "ZoneHVAC:UnitHeater", UnitHeat( UnitHeatNum ).Name, "Design Size Maximum Steam Flow [m3/s]", MaxVolHotSteamFlowDes, "User-Specified Maximum Steam Flow [m3/s]", MaxVolHotSteamFlowUser ); - if( DisplayExtraWarnings ) { - if( ( std::abs( MaxVolHotSteamFlowDes - MaxVolHotSteamFlowUser ) / MaxVolHotSteamFlowUser ) > AutoVsHardSizingThreshold ) { + if ( DisplayExtraWarnings ) { + if ( ( std::abs( MaxVolHotSteamFlowDes - MaxVolHotSteamFlowUser ) / MaxVolHotSteamFlowUser ) > AutoVsHardSizingThreshold ) { ShowMessage( "SizeUnitHeater: Potential issue with equipment sizing for ZoneHVAC:UnitHeater " + UnitHeat( UnitHeatNum ).Name ); ShowContinueError( "User-Specified Maximum Steam Flow of " + RoundSigDigits( MaxVolHotSteamFlowUser, 5 ) + " [m3/s]" ); ShowContinueError( "differs from Design Size Maximum Steam Flow of " + RoundSigDigits( MaxVolHotSteamFlowDes, 5 ) + " [m3/s]" ); diff --git a/src/EnergyPlus/UnitVentilator.cc b/src/EnergyPlus/UnitVentilator.cc index 9dd50fcb5d2..b86960799d3 100644 --- a/src/EnergyPlus/UnitVentilator.cc +++ b/src/EnergyPlus/UnitVentilator.cc @@ -1300,43 +1300,43 @@ namespace UnitVentilator { ZoneCoolingOnlyFan = false; ZoneHeatingOnlyFan = false; - if( UnitVent( UnitVentNum ).CoilOption == BothOption ) { + if ( UnitVent( UnitVentNum ).CoilOption == BothOption ) { ZoneCoolingOnlyFan = true; ZoneHeatingOnlyFan = true; - } else if( UnitVent( UnitVentNum ).CoilOption == HeatingOption ) { + } else if ( UnitVent( UnitVentNum ).CoilOption == HeatingOption ) { ZoneHeatingOnlyFan = true; - } else if( UnitVent( UnitVentNum ).CoilOption == CoolingOption ) { + } else if ( UnitVent( UnitVentNum ).CoilOption == CoolingOption ) { ZoneCoolingOnlyFan = true; - } else if( UnitVent( UnitVentNum ).CoilOption == NoneOption ) { + } else if ( UnitVent( UnitVentNum ).CoilOption == NoneOption ) { } - if( CurZoneEqNum > 0 ) { + if ( CurZoneEqNum > 0 ) { - if( UnitVent( UnitVentNum ).HVACSizingIndex > 0 ) { + if ( UnitVent( UnitVentNum ).HVACSizingIndex > 0 ) { zoneHVACIndex = UnitVent( UnitVentNum ).HVACSizingIndex; // N1 , \field Maximum Supply Air Flow Rate FieldNum = 1; PrintFlag = true; SizingString = UnitVentNumericFields( UnitVentNum ).FieldNames( FieldNum ) + " [m3/s]"; - if( ZoneHVACSizing( zoneHVACIndex ).CoolingSAFMethod > 0 && ZoneCoolingOnlyFan && !ZoneHeatingOnlyFan ) { + if ( ZoneHVACSizing( zoneHVACIndex ).CoolingSAFMethod > 0 && ZoneCoolingOnlyFan && !ZoneHeatingOnlyFan ) { SizingMethod = CoolingAirflowSizing; SAFMethod = ZoneHVACSizing( zoneHVACIndex ).CoolingSAFMethod; ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; - if( SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow ) { - if( SAFMethod == SupplyAirFlowRate ){ - if( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0 ) { + if ( SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow ) { + if ( SAFMethod == SupplyAirFlowRate ){ + if ( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; } TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; - } else if( SAFMethod == FlowPerFloorArea ){ + } else if ( SAFMethod == FlowPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; - } else if( SAFMethod == FractionOfAutosizedCoolingAirflow ){ + } else if ( SAFMethod == FractionOfAutosizedCoolingAirflow ){ DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; @@ -1346,7 +1346,7 @@ namespace UnitVentilator { RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); CoolingAirVolFlowScalable = TempSize; - } else if( SAFMethod == FlowPerCoolingCapacity ) { + } else if ( SAFMethod == FlowPerCoolingCapacity ) { SizingMethod = CoolingCapacitySizing; TempSize = AutoSize; PrintFlag = false; @@ -1363,23 +1363,23 @@ namespace UnitVentilator { } //DataScalableSizingON = false; - } else if( ZoneHVACSizing( zoneHVACIndex ).HeatingSAFMethod > 0 && ZoneHeatingOnlyFan && !ZoneCoolingOnlyFan ) { + } else if ( ZoneHVACSizing( zoneHVACIndex ).HeatingSAFMethod > 0 && ZoneHeatingOnlyFan && !ZoneCoolingOnlyFan ) { SizingMethod = HeatingAirflowSizing; SAFMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingSAFMethod; ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; - if( SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow ) { - if( SAFMethod == SupplyAirFlowRate ){ - if( ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0 ) { + if ( SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow ) { + if ( SAFMethod == SupplyAirFlowRate ){ + if ( ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; } TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; - } else if( SAFMethod == FlowPerFloorArea ){ + } else if ( SAFMethod == FlowPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; - } else if( SAFMethod == FractionOfAutosizedHeatingAirflow ){ + } else if ( SAFMethod == FractionOfAutosizedHeatingAirflow ){ DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; @@ -1389,7 +1389,7 @@ namespace UnitVentilator { RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); HeatingAirVolFlowScalable = TempSize; - } else if( SAFMethod == FlowPerHeatingCapacity ) { + } else if ( SAFMethod == FlowPerHeatingCapacity ) { SizingMethod = HeatingCapacitySizing; TempSize = AutoSize; PrintFlag = false; @@ -1407,24 +1407,24 @@ namespace UnitVentilator { //DataScalableSizingON = false; } else { - if( UnitVent( UnitVentNum ).CoilOption != NoneOption ) { - if( ZoneHVACSizing( zoneHVACIndex ).CoolingSAFMethod > 0 ) { + if ( UnitVent( UnitVentNum ).CoilOption != NoneOption ) { + if ( ZoneHVACSizing( zoneHVACIndex ).CoolingSAFMethod > 0 ) { SizingMethod = CoolingAirflowSizing; SAFMethod = ZoneHVACSizing( zoneHVACIndex ).CoolingSAFMethod; ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; - if( SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow ) { - if( SAFMethod == SupplyAirFlowRate ){ - if( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0 ) { + if ( SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow ) { + if ( SAFMethod == SupplyAirFlowRate ){ + if ( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; } TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; - } else if( SAFMethod == FlowPerFloorArea ){ + } else if ( SAFMethod == FlowPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; - } else if( SAFMethod == FractionOfAutosizedCoolingAirflow ){ + } else if ( SAFMethod == FractionOfAutosizedCoolingAirflow ){ DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; @@ -1434,7 +1434,7 @@ namespace UnitVentilator { RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); CoolingAirVolFlowScalable = TempSize; - } else if( SAFMethod == FlowPerCoolingCapacity ) { + } else if ( SAFMethod == FlowPerCoolingCapacity ) { SizingMethod = CoolingCapacitySizing; TempSize = AutoSize; PrintFlag = false; @@ -1449,24 +1449,24 @@ namespace UnitVentilator { RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); CoolingAirVolFlowScalable = TempSize; } - } else if( ZoneHVACSizing( zoneHVACIndex ).HeatingSAFMethod > 0 ) { + } else if ( ZoneHVACSizing( zoneHVACIndex ).HeatingSAFMethod > 0 ) { SizingMethod = HeatingAirflowSizing; SAFMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingSAFMethod; ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; - if( SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow ) { + if ( SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow ) { SizingMethod = SystemAirflowSizing; - if( SAFMethod == SupplyAirFlowRate ){ - if( ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0 ) { + if ( SAFMethod == SupplyAirFlowRate ){ + if ( ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; } TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; - } else if( SAFMethod == FlowPerFloorArea ){ + } else if ( SAFMethod == FlowPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; - } else if( SAFMethod == FractionOfAutosizedHeatingAirflow ){ + } else if ( SAFMethod == FractionOfAutosizedHeatingAirflow ){ DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; @@ -1476,7 +1476,7 @@ namespace UnitVentilator { RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); HeatingAirVolFlowScalable = TempSize; - } else if( SAFMethod == FlowPerHeatingCapacity ) { + } else if ( SAFMethod == FlowPerHeatingCapacity ) { SizingMethod = HeatingCapacitySizing; TempSize = AutoSize; PrintFlag = false; @@ -1499,7 +1499,7 @@ namespace UnitVentilator { FieldNum = 1; SizingString = UnitVentNumericFields( UnitVentNum ).FieldNames( FieldNum ) + " [m3/s]"; SizingMethod = SystemAirflowSizing; - if( UnitVent( UnitVentNum ).MaxAirVolFlow == AutoSize ) { + if ( UnitVent( UnitVentNum ).MaxAirVolFlow == AutoSize ) { TempSize = FinalZoneSizing( CurZoneEqNum ).MinOA; } else { TempSize = UnitVent( UnitVentNum ).MaxAirVolFlow; @@ -1519,9 +1519,9 @@ namespace UnitVentilator { FieldNum = 1; SizingString = UnitVentNumericFields( UnitVentNum ).FieldNames( FieldNum ) + " [m3/s]"; SizingMethod = SystemAirflowSizing; - if( UnitVent( UnitVentNum ).CoilOption == NoneOption ) { + if ( UnitVent( UnitVentNum ).CoilOption == NoneOption ) { - if( UnitVent( UnitVentNum ).MaxAirVolFlow == AutoSize ) { + if ( UnitVent( UnitVentNum ).MaxAirVolFlow == AutoSize ) { TempSize = FinalZoneSizing( CurZoneEqNum ).MinOA; } else { TempSize = UnitVent( UnitVentNum ).MaxAirVolFlow; @@ -1605,13 +1605,13 @@ namespace UnitVentilator { } IsAutoSize = false; - if( UnitVent( UnitVentNum ).MaxVolHotWaterFlow == AutoSize ) { + if ( UnitVent( UnitVentNum ).MaxVolHotWaterFlow == AutoSize ) { IsAutoSize = true; } - if( UnitVent( UnitVentNum ).HCoilType == Heating_WaterCoilType ) { - if( CurZoneEqNum > 0 ) { - if( !IsAutoSize && !ZoneSizingRunDone ) { // Simulation continue - if( UnitVent( UnitVentNum ).MaxVolHotWaterFlow > 0.0 ) { + if ( UnitVent( UnitVentNum ).HCoilType == Heating_WaterCoilType ) { + if ( CurZoneEqNum > 0 ) { + if ( !IsAutoSize && !ZoneSizingRunDone ) { // Simulation continue + if ( UnitVent( UnitVentNum ).MaxVolHotWaterFlow > 0.0 ) { ReportSizingOutput( cMO_UnitVentilator, UnitVent( UnitVentNum ).Name, "User-Specified Maximum Hot Water Flow [m3/s]", UnitVent( UnitVentNum ).MaxVolHotWaterFlow ); } } else { @@ -1619,29 +1619,29 @@ namespace UnitVentilator { CoilWaterInletNode = GetCoilWaterInletNode( "Coil:Heating:Water", UnitVent( UnitVentNum ).HCoilName, ErrorsFound ); CoilWaterOutletNode = GetCoilWaterOutletNode( "Coil:Heating:Water", UnitVent( UnitVentNum ).HCoilName, ErrorsFound ); - if( IsAutoSize ) { + if ( IsAutoSize ) { PltSizHeatNum = MyPlantSizingIndex( "Coil:Heating:Water", UnitVent( UnitVentNum ).HCoilName, CoilWaterInletNode, CoilWaterOutletNode, ErrorsFound ); - if( PltSizHeatNum > 0 ) { - if( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow >= SmallAirVolFlow ) { + if ( PltSizHeatNum > 0 ) { + if ( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow >= SmallAirVolFlow ) { SizingMethod = HeatingCapacitySizing; - if( UnitVent( UnitVentNum ).HVACSizingIndex > 0 ) { + if ( UnitVent( UnitVentNum ).HVACSizingIndex > 0 ) { zoneHVACIndex = UnitVent( UnitVentNum ).HVACSizingIndex; CapSizingMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingCapMethod; ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; - if( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { - if( CapSizingMethod == HeatingDesignCapacity ){ - if( ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity > 0.0 ) { + if ( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { + if ( CapSizingMethod == HeatingDesignCapacity ){ + if ( ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; } else { DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; } TempSize = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; - } else if( CapSizingMethod == CapacityPerFloorArea ){ + } else if ( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; - } else if( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ + } else if ( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; TempSize = AutoSize; @@ -1673,15 +1673,15 @@ namespace UnitVentilator { ErrorsFound = true; } } - if( IsAutoSize ) { + if ( IsAutoSize ) { UnitVent( UnitVentNum ).MaxVolHotWaterFlow = MaxVolHotWaterFlowDes; ReportSizingOutput( cMO_UnitVentilator, UnitVent( UnitVentNum ).Name, "Design Size Maximum Hot Water Flow [m3/s]", MaxVolHotWaterFlowDes ); } else { - if( UnitVent( UnitVentNum ).MaxVolHotWaterFlow > 0.0 && MaxVolHotWaterFlowDes > 0.0 ) { + if ( UnitVent( UnitVentNum ).MaxVolHotWaterFlow > 0.0 && MaxVolHotWaterFlowDes > 0.0 ) { MaxVolHotWaterFlowUser = UnitVent( UnitVentNum ).MaxVolHotWaterFlow; ReportSizingOutput( cMO_UnitVentilator, UnitVent( UnitVentNum ).Name, "Design Size Maximum Hot Water Flow [m3/s]", MaxVolHotWaterFlowDes, "User-Specified Maximum Hot Water Flow [m3/s]", MaxVolHotWaterFlowUser ); - if( DisplayExtraWarnings ) { - if( ( std::abs( MaxVolHotWaterFlowDes - MaxVolHotWaterFlowUser ) / MaxVolHotWaterFlowUser ) > AutoVsHardSizingThreshold ) { + if ( DisplayExtraWarnings ) { + if ( ( std::abs( MaxVolHotWaterFlowDes - MaxVolHotWaterFlowUser ) / MaxVolHotWaterFlowUser ) > AutoVsHardSizingThreshold ) { ShowMessage( "SizeUnitVentilator: Potential issue with equipment sizing for " + cMO_UnitVentilator + ' ' + UnitVent( UnitVentNum ).Name ); ShowContinueError( "User-Specified Maximum Hot Water Flow of " + RoundSigDigits( MaxVolHotWaterFlowUser, 5 ) + " [m3/s]" ); ShowContinueError( "differs from Design Size Maximum Hot Water Flow of " + RoundSigDigits( MaxVolHotWaterFlowDes, 5 ) + " [m3/s]" ); @@ -1698,13 +1698,13 @@ namespace UnitVentilator { } IsAutoSize = false; - if( UnitVent( UnitVentNum ).MaxVolHotSteamFlow == AutoSize ) { + if ( UnitVent( UnitVentNum ).MaxVolHotSteamFlow == AutoSize ) { IsAutoSize = true; } - if( UnitVent( UnitVentNum ).HCoilType == Heating_SteamCoilType ) { - if( CurZoneEqNum > 0 ) { - if( !IsAutoSize && !ZoneSizingRunDone ) { // Simulation continue - if( UnitVent( UnitVentNum ).MaxVolHotSteamFlow > 0.0 ) { + if ( UnitVent( UnitVentNum ).HCoilType == Heating_SteamCoilType ) { + if ( CurZoneEqNum > 0 ) { + if ( !IsAutoSize && !ZoneSizingRunDone ) { // Simulation continue + if ( UnitVent( UnitVentNum ).MaxVolHotSteamFlow > 0.0 ) { ReportSizingOutput( cMO_UnitVentilator, UnitVent( UnitVentNum ).Name, "User-Specified Maximum Steam Flow [m3/s]", UnitVent( UnitVentNum ).MaxVolHotSteamFlow ); } } else { @@ -1712,29 +1712,29 @@ namespace UnitVentilator { CoilSteamInletNode = GetCoilSteamInletNode( "Coil:Heating:Steam", UnitVent( UnitVentNum ).HCoilName, ErrorsFound ); CoilSteamOutletNode = GetCoilSteamInletNode( "Coil:Heating:Steam", UnitVent( UnitVentNum ).HCoilName, ErrorsFound ); - if( IsAutoSize ) { + if ( IsAutoSize ) { PltSizHeatNum = MyPlantSizingIndex( "Coil:Heating:Steam", UnitVent( UnitVentNum ).HCoilName, CoilSteamInletNode, CoilSteamOutletNode, ErrorsFound ); - if( PltSizHeatNum > 0 ) { - if( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow >= SmallAirVolFlow ) { + if ( PltSizHeatNum > 0 ) { + if ( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow >= SmallAirVolFlow ) { SizingMethod = HeatingCapacitySizing; - if( UnitVent( UnitVentNum ).HVACSizingIndex > 0 ) { + if ( UnitVent( UnitVentNum ).HVACSizingIndex > 0 ) { zoneHVACIndex = UnitVent( UnitVentNum ).HVACSizingIndex; CapSizingMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingCapMethod; ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; - if( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { - if( CapSizingMethod == HeatingDesignCapacity ){ - if( ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity > 0.0 ) { + if ( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { + if ( CapSizingMethod == HeatingDesignCapacity ){ + if ( ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; } else { DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; } TempSize = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; - } else if( CapSizingMethod == CapacityPerFloorArea ){ + } else if ( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; - } else if( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ + } else if ( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; TempSize = AutoSize; @@ -1769,15 +1769,15 @@ namespace UnitVentilator { ErrorsFound = true; } } - if( IsAutoSize ) { + if ( IsAutoSize ) { UnitVent( UnitVentNum ).MaxVolHotSteamFlow = MaxVolHotSteamFlowDes; ReportSizingOutput( cMO_UnitVentilator, UnitVent( UnitVentNum ).Name, "Design Size Maximum Steam Flow [m3/s]", MaxVolHotSteamFlowDes ); } else { - if( UnitVent( UnitVentNum ).MaxVolHotSteamFlow > 0.0 && MaxVolHotSteamFlowDes > 0.0 ) { + if ( UnitVent( UnitVentNum ).MaxVolHotSteamFlow > 0.0 && MaxVolHotSteamFlowDes > 0.0 ) { MaxVolHotSteamFlowUser = UnitVent( UnitVentNum ).MaxVolHotSteamFlow; ReportSizingOutput( cMO_UnitVentilator, UnitVent( UnitVentNum ).Name, "Design Size Maximum Steam Flow [m3/s]", MaxVolHotSteamFlowDes, "User-Specified Maximum Steam Flow [m3/s]", MaxVolHotSteamFlowUser ); - if( DisplayExtraWarnings ) { - if( ( std::abs( MaxVolHotSteamFlowDes - MaxVolHotSteamFlowUser ) / MaxVolHotSteamFlowUser ) > AutoVsHardSizingThreshold ) { + if ( DisplayExtraWarnings ) { + if ( ( std::abs( MaxVolHotSteamFlowDes - MaxVolHotSteamFlowUser ) / MaxVolHotSteamFlowUser ) > AutoVsHardSizingThreshold ) { ShowMessage( "SizeUnitVentilator: Potential issue with equipment sizing for " + cMO_UnitVentilator + ' ' + UnitVent( UnitVentNum ).Name ); ShowContinueError( "User-Specified Maximum Steam Flow of " + RoundSigDigits( MaxVolHotSteamFlowUser, 5 ) + " [m3/s]" ); ShowContinueError( "differs from Design Size Maximum Steam Flow of " + RoundSigDigits( MaxVolHotSteamFlowDes, 5 ) + " [m3/s]" ); @@ -1794,20 +1794,20 @@ namespace UnitVentilator { } IsAutoSize = false; - if( UnitVent( UnitVentNum ).MaxVolColdWaterFlow == AutoSize ) { + if ( UnitVent( UnitVentNum ).MaxVolColdWaterFlow == AutoSize ) { IsAutoSize = true; } - if( UnitVent( UnitVentNum ).CCoilType == Cooling_CoilWaterCooling || UnitVent( UnitVentNum ).CCoilType == Cooling_CoilDetailedCooling || UnitVent( UnitVentNum ).CCoilType == Cooling_CoilHXAssisted ) { + if ( UnitVent( UnitVentNum ).CCoilType == Cooling_CoilWaterCooling || UnitVent( UnitVentNum ).CCoilType == Cooling_CoilDetailedCooling || UnitVent( UnitVentNum ).CCoilType == Cooling_CoilHXAssisted ) { - if( CurZoneEqNum > 0 ) { - if( !IsAutoSize && !ZoneSizingRunDone ) { // Simulation continue - if( UnitVent( UnitVentNum ).MaxVolColdWaterFlow > 0.0 ) { + if ( CurZoneEqNum > 0 ) { + if ( !IsAutoSize && !ZoneSizingRunDone ) { // Simulation continue + if ( UnitVent( UnitVentNum ).MaxVolColdWaterFlow > 0.0 ) { ReportSizingOutput( cMO_UnitVentilator, UnitVent( UnitVentNum ).Name, "User-Specified Maximum Cold Water Flow [m3/s]", UnitVent( UnitVentNum ).MaxVolColdWaterFlow ); } } else { CheckZoneSizing( cMO_UnitVentilator, UnitVent( UnitVentNum ).Name ); - if( UnitVent( UnitVentNum ).CCoilType == Cooling_CoilHXAssisted ) { + if ( UnitVent( UnitVentNum ).CCoilType == Cooling_CoilHXAssisted ) { CoolingCoilName = GetHXDXCoilName( UnitVent( UnitVentNum ).CCoilTypeCh, UnitVent( UnitVentNum ).CCoilName, ErrorsFound ); CoolingCoilType = GetHXCoilType( UnitVent( UnitVentNum ).CCoilTypeCh, UnitVent( UnitVentNum ).CCoilName, ErrorsFound ); } else { @@ -1816,29 +1816,29 @@ namespace UnitVentilator { } CoilWaterInletNode = GetCoilWaterInletNode( CoolingCoilType, CoolingCoilName, ErrorsFound ); CoilWaterOutletNode = GetCoilWaterOutletNode( CoolingCoilType, CoolingCoilName, ErrorsFound ); - if( IsAutoSize ) { + if ( IsAutoSize ) { PltSizCoolNum = MyPlantSizingIndex( CoolingCoilType, CoolingCoilName, CoilWaterInletNode, CoilWaterOutletNode, ErrorsFound ); - if( PltSizCoolNum > 0 ) { - if( FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow >= SmallAirVolFlow ) { + if ( PltSizCoolNum > 0 ) { + if ( FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow >= SmallAirVolFlow ) { SizingMethod = CoolingCapacitySizing; - if( UnitVent( UnitVentNum ).HVACSizingIndex > 0 ) { + if ( UnitVent( UnitVentNum ).HVACSizingIndex > 0 ) { zoneHVACIndex = UnitVent( UnitVentNum ).HVACSizingIndex; CapSizingMethod = ZoneHVACSizing( zoneHVACIndex ).CoolingCapMethod; ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; - if( CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity ) { - if( CapSizingMethod == CoolingDesignCapacity ){ - if( ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity > 0.0 ) { + if ( CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity ) { + if ( CapSizingMethod == CoolingDesignCapacity ){ + if ( ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; } else { DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; } TempSize = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; - } else if( CapSizingMethod == CapacityPerFloorArea ){ + } else if ( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; - } else if( CapSizingMethod == FractionOfAutosizedCoolingCapacity ){ + } else if ( CapSizingMethod == FractionOfAutosizedCoolingCapacity ){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; TempSize = AutoSize; @@ -1861,7 +1861,7 @@ namespace UnitVentilator { Cp = GetSpecificHeatGlycol( PlantLoop( UnitVent( UnitVentNum ).CWLoopNum ).FluidName, 5., PlantLoop( UnitVent( UnitVentNum ).CWLoopNum ).FluidIndex, RoutineName ); MaxVolColdWaterFlowDes = DesCoolingLoad / ( PlantSizData( PltSizCoolNum ).DeltaT * Cp * rho ); - if( MaxVolColdWaterFlowDes < 0.0 ) { + if ( MaxVolColdWaterFlowDes < 0.0 ) { ShowWarningError( "Autosizing of water flow resulted in negative value." ); ShowContinueError( "Occurs in " + cMO_UnitVentilator + " Object=" + UnitVent( UnitVentNum ).Name ); ShowContinueError( "...Sizing information found during sizing simulation:" ); @@ -1880,15 +1880,15 @@ namespace UnitVentilator { ErrorsFound = true; } } - if( IsAutoSize ) { + if ( IsAutoSize ) { UnitVent( UnitVentNum ).MaxVolColdWaterFlow = MaxVolColdWaterFlowDes; ReportSizingOutput( cMO_UnitVentilator, UnitVent( UnitVentNum ).Name, "Design Size Maximum Cold Water Flow [m3/s]", MaxVolColdWaterFlowDes ); } else { - if( UnitVent( UnitVentNum ).MaxVolColdWaterFlow > 0.0 && MaxVolColdWaterFlowDes > 0.0 ) { + if ( UnitVent( UnitVentNum ).MaxVolColdWaterFlow > 0.0 && MaxVolColdWaterFlowDes > 0.0 ) { MaxVolColdWaterFlowUser = UnitVent( UnitVentNum ).MaxVolColdWaterFlow; ReportSizingOutput( cMO_UnitVentilator, UnitVent( UnitVentNum ).Name, "Design Size Maximum Cold Water Flow [m3/s]", MaxVolColdWaterFlowDes, "User-Specified Maximum Cold Water Flow [m3/s]", MaxVolColdWaterFlowUser ); - if( DisplayExtraWarnings ) { - if( ( std::abs( MaxVolColdWaterFlowDes - MaxVolColdWaterFlowUser ) / MaxVolColdWaterFlowUser ) > AutoVsHardSizingThreshold ) { + if ( DisplayExtraWarnings ) { + if ( ( std::abs( MaxVolColdWaterFlowDes - MaxVolColdWaterFlowUser ) / MaxVolColdWaterFlowUser ) > AutoVsHardSizingThreshold ) { ShowMessage( "SizeUnitVentilator: Potential issue with equipment sizing for " + cMO_UnitVentilator + ' ' + UnitVent( UnitVentNum ).Name ); ShowContinueError( "User-Specified Maximum Cold Water Flow of " + RoundSigDigits( MaxVolColdWaterFlowUser, 5 ) + " [m3/s]" ); ShowContinueError( "differs from Design Size Maximum Cold Water Flow of " + RoundSigDigits( MaxVolColdWaterFlowDes, 5 ) + " [m3/s]" ); @@ -1903,7 +1903,7 @@ namespace UnitVentilator { } // set the design air flow rates for the heating and cooling coils - if( UnitVent( UnitVentNum ).CCoilType == Cooling_CoilHXAssisted ) { + if ( UnitVent( UnitVentNum ).CCoilType == Cooling_CoilHXAssisted ) { CoolingCoilName = GetHXDXCoilName( UnitVent( UnitVentNum ).CCoilTypeCh, UnitVent( UnitVentNum ).CCoilName, ErrorsFound ); CoolingCoilType = GetHXCoilType( UnitVent( UnitVentNum ).CCoilTypeCh, UnitVent( UnitVentNum ).CCoilName, ErrorsFound ); } else { @@ -1913,12 +1913,12 @@ namespace UnitVentilator { SetCoilDesFlow( CoolingCoilType, CoolingCoilName, UnitVent( UnitVentNum ).MaxAirVolFlow, ErrorsFound ); SetCoilDesFlow( UnitVent( UnitVentNum ).HCoilTypeCh, UnitVent( UnitVentNum ).HCoilName, UnitVent( UnitVentNum ).MaxAirVolFlow, ErrorsFound ); - if( CurZoneEqNum > 0 ) { + if ( CurZoneEqNum > 0 ) { ZoneEqSizing( CurZoneEqNum ).MaxHWVolFlow = UnitVent( UnitVentNum ).MaxVolHotWaterFlow; ZoneEqSizing( CurZoneEqNum ).MaxCWVolFlow = UnitVent( UnitVentNum ).MaxVolColdWaterFlow; } - if( ErrorsFound ) { + if ( ErrorsFound ) { ShowFatalError( "Preceding sizing errors cause program termination" ); } diff --git a/src/EnergyPlus/VentilatedSlab.cc b/src/EnergyPlus/VentilatedSlab.cc index f272b9e81a5..8165f344012 100644 --- a/src/EnergyPlus/VentilatedSlab.cc +++ b/src/EnergyPlus/VentilatedSlab.cc @@ -1507,29 +1507,29 @@ namespace VentilatedSlab { CompName = VentSlab( Item ).Name; DataZoneNumber = VentSlab( Item ).ZonePtr; - if( VentSlab( Item ).HVACSizingIndex > 0 ) { + if ( VentSlab( Item ).HVACSizingIndex > 0 ) { zoneHVACIndex = VentSlab( Item ).HVACSizingIndex; // N1 , \field Maximum Supply Air Flow Rate FieldNum = 1; PrintFlag = true; SizingString = VentSlabNumericFields( Item ).FieldNames( FieldNum ) + " [m3/s]"; - if( ZoneHVACSizing( zoneHVACIndex ).CoolingSAFMethod > 0 ) { + if ( ZoneHVACSizing( zoneHVACIndex ).CoolingSAFMethod > 0 ) { SizingMethod = CoolingAirflowSizing; SAFMethod = ZoneHVACSizing( zoneHVACIndex ).CoolingSAFMethod; ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; - if( SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow ) { - if( SAFMethod == SupplyAirFlowRate ){ - if( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0 ) { + if ( SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow ) { + if ( SAFMethod == SupplyAirFlowRate ){ + if ( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; } TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; - } else if( SAFMethod == FlowPerFloorArea ){ + } else if ( SAFMethod == FlowPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; - } else if( SAFMethod == FractionOfAutosizedCoolingAirflow ){ + } else if ( SAFMethod == FractionOfAutosizedCoolingAirflow ){ DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; @@ -1539,7 +1539,7 @@ namespace VentilatedSlab { RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); CoolingAirVolFlowScalable = TempSize; - } else if( SAFMethod == FlowPerCoolingCapacity ) { + } else if ( SAFMethod == FlowPerCoolingCapacity ) { SizingMethod = CoolingCapacitySizing; TempSize = AutoSize; PrintFlag = false; @@ -1555,23 +1555,23 @@ namespace VentilatedSlab { CoolingAirVolFlowScalable = TempSize; } } - if( ZoneHVACSizing( zoneHVACIndex ).HeatingSAFMethod > 0 ) { + if ( ZoneHVACSizing( zoneHVACIndex ).HeatingSAFMethod > 0 ) { SizingMethod = HeatingAirflowSizing; SAFMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingSAFMethod; ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; - if( SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow ) { - if( SAFMethod == SupplyAirFlowRate ){ - if( ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0 ) { + if ( SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedHeatingAirflow ) { + if ( SAFMethod == SupplyAirFlowRate ){ + if ( ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; } TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; - } else if( SAFMethod == FlowPerFloorArea ){ + } else if ( SAFMethod == FlowPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; - } else if( SAFMethod == FractionOfAutosizedHeatingAirflow ){ + } else if ( SAFMethod == FractionOfAutosizedHeatingAirflow ){ DataFracOfAutosizedHeatingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxHeatAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; @@ -1580,7 +1580,7 @@ namespace VentilatedSlab { } RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); HeatingAirVolFlowScalable = TempSize; - } else if( SAFMethod == FlowPerHeatingCapacity ) { + } else if ( SAFMethod == FlowPerHeatingCapacity ) { SizingMethod = HeatingCapacitySizing; TempSize = AutoSize; PrintFlag = false; @@ -1612,26 +1612,26 @@ namespace VentilatedSlab { } IsAutoSize = false; - if( VentSlab( Item ).OutAirVolFlow == AutoSize ) { + if ( VentSlab( Item ).OutAirVolFlow == AutoSize ) { IsAutoSize = true; } - if( CurZoneEqNum > 0 ) { - if( !IsAutoSize && !ZoneSizingRunDone ) { - if( VentSlab( Item ).OutAirVolFlow > 0.0 ) { + if ( CurZoneEqNum > 0 ) { + if ( !IsAutoSize && !ZoneSizingRunDone ) { + if ( VentSlab( Item ).OutAirVolFlow > 0.0 ) { ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "User-Specified Maximum Outdoor Air Flow Rate [m3/s]", VentSlab( Item ).OutAirVolFlow ); } } else { // Autosize or hard-size with sizing run CheckZoneSizing( cMO_VentilatedSlab, VentSlab( Item ).Name ); OutAirVolFlowDes = VentSlab( Item ).MaxAirVolFlow; - if( IsAutoSize ) { + if ( IsAutoSize ) { VentSlab( Item ).OutAirVolFlow = OutAirVolFlowDes; ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "Design Size Maximum Outdoor Air Flow Rate [m3/s]", OutAirVolFlowDes ); } else { - if( VentSlab( Item ).OutAirVolFlow > 0.0 && OutAirVolFlowDes > 0.0 ) { + if ( VentSlab( Item ).OutAirVolFlow > 0.0 && OutAirVolFlowDes > 0.0 ) { OutAirVolFlowUser = VentSlab( Item ).OutAirVolFlow; ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "Design Size Maximum Outdoor Air Flow Rate [m3/s]", OutAirVolFlowDes, "User-Specified Maximum Outdoor Air Flow Rate [m3/s]", OutAirVolFlowUser ); - if( DisplayExtraWarnings ) { - if( ( std::abs( OutAirVolFlowDes - OutAirVolFlowUser ) / OutAirVolFlowUser ) > AutoVsHardSizingThreshold ) { + if ( DisplayExtraWarnings ) { + if ( ( std::abs( OutAirVolFlowDes - OutAirVolFlowUser ) / OutAirVolFlowUser ) > AutoVsHardSizingThreshold ) { ShowMessage( "SizeVentilatedSlab: Potential issue with equipment sizing for ZoneHVAC:VentilatedSlab = \" " + VentSlab( Item ).Name + "\"." ); ShowContinueError( "User-Specified Maximum Outdoor Air Flow Rate of " + RoundSigDigits( OutAirVolFlowUser, 5 ) + " [m3/s]" ); ShowContinueError( "differs from Design Size Maximum Outdoor Air Flow Rate of " + RoundSigDigits( OutAirVolFlowDes, 5 ) + " [m3/s]" ); @@ -1645,29 +1645,29 @@ namespace VentilatedSlab { } IsAutoSize = false; - if( VentSlab( Item ).MinOutAirVolFlow == AutoSize ) { + if ( VentSlab( Item ).MinOutAirVolFlow == AutoSize ) { IsAutoSize = true; } - if( CurZoneEqNum > 0 ) { - if( !IsAutoSize && !ZoneSizingRunDone ) { - if( VentSlab( Item ).MinOutAirVolFlow > 0.0 ) { + if ( CurZoneEqNum > 0 ) { + if ( !IsAutoSize && !ZoneSizingRunDone ) { + if ( VentSlab( Item ).MinOutAirVolFlow > 0.0 ) { ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "User-Specified Minimum Outdoor Air Flow Rate [m3/s]", VentSlab( Item ).MinOutAirVolFlow ); } } else { CheckZoneSizing( cMO_VentilatedSlab, VentSlab( Item ).Name ); MinOutAirVolFlowDes = min( FinalZoneSizing( CurZoneEqNum ).MinOA, VentSlab( Item ).MaxAirVolFlow ); - if( MinOutAirVolFlowDes < SmallAirVolFlow ) { + if ( MinOutAirVolFlowDes < SmallAirVolFlow ) { MinOutAirVolFlowDes = 0.0; } - if( IsAutoSize ) { + if ( IsAutoSize ) { VentSlab( Item ).MinOutAirVolFlow = MinOutAirVolFlowDes; ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "Design Size Minimum Outdoor Air Flow Rate [m3/s]", MinOutAirVolFlowDes ); } else { // Hard-size with sizing data - if( VentSlab( Item ).MinOutAirVolFlow > 0.0 && MinOutAirVolFlowDes > 0.0 ) { + if ( VentSlab( Item ).MinOutAirVolFlow > 0.0 && MinOutAirVolFlowDes > 0.0 ) { MinOutAirVolFlowUser = VentSlab( Item ).MinOutAirVolFlow; ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "Design Size Minimum Outdoor Air Flow Rate [m3/s]", MinOutAirVolFlowDes, "User-Specified Minimum Outdoor Air Flow Rate [m3/s]", MinOutAirVolFlowUser ); - if( DisplayExtraWarnings ) { - if( ( std::abs( MinOutAirVolFlowDes - MinOutAirVolFlowUser ) / MinOutAirVolFlowUser ) > AutoVsHardSizingThreshold ) { + if ( DisplayExtraWarnings ) { + if ( ( std::abs( MinOutAirVolFlowDes - MinOutAirVolFlowUser ) / MinOutAirVolFlowUser ) > AutoVsHardSizingThreshold ) { ShowMessage( "SizeVentilatedSlab: Potential issue with equipment sizing for ZoneHVAC:VentilatedSlab = \" " + VentSlab( Item ).Name + "\"." ); ShowContinueError( "User-Specified Minimum Outdoor Air Flow Rate of " + RoundSigDigits( MinOutAirVolFlowUser, 5 ) + " [m3/s]" ); ShowContinueError( "differs from Design Size Minimum Outdoor Air Flow Rate of " + RoundSigDigits( MinOutAirVolFlowDes, 5 ) + " [m3/s]" ); @@ -1681,14 +1681,14 @@ namespace VentilatedSlab { } IsAutoSize = false; - if( VentSlab( Item ).MaxVolHotWaterFlow == AutoSize ) { + if ( VentSlab( Item ).MaxVolHotWaterFlow == AutoSize ) { IsAutoSize = true; } - if( VentSlab( Item ).HCoilType == Heating_WaterCoilType ) { + if ( VentSlab( Item ).HCoilType == Heating_WaterCoilType ) { - if( CurZoneEqNum > 0 ) { - if( !IsAutoSize && !ZoneSizingRunDone ) { - if( VentSlab( Item ).MaxVolHotWaterFlow > 0.0 ) { + if ( CurZoneEqNum > 0 ) { + if ( !IsAutoSize && !ZoneSizingRunDone ) { + if ( VentSlab( Item ).MaxVolHotWaterFlow > 0.0 ) { ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "User-Specified Maximum Hot Water Flow [m3/s]", VentSlab( Item ).MaxVolHotWaterFlow ); } } else { // Autosize or hard-size with sizing run @@ -1696,30 +1696,30 @@ namespace VentilatedSlab { CoilWaterInletNode = GetCoilWaterInletNode( "Coil:Heating:Water", VentSlab( Item ).HCoilName, ErrorsFound ); CoilWaterOutletNode = GetCoilWaterOutletNode( "Coil:Heating:Water", VentSlab( Item ).HCoilName, ErrorsFound ); - if( IsAutoSize ) { + if ( IsAutoSize ) { PltSizHeatNum = MyPlantSizingIndex( "Coil:Heating:Water", VentSlab( Item ).HCoilName, CoilWaterInletNode, CoilWaterOutletNode, ErrorsFound ); //END IF - if( PltSizHeatNum > 0 ) { - if( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow >= SmallAirVolFlow ) { + if ( PltSizHeatNum > 0 ) { + if ( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow >= SmallAirVolFlow ) { SizingMethod = HeatingCapacitySizing; - if( VentSlab( Item ).HVACSizingIndex > 0 ) { + if ( VentSlab( Item ).HVACSizingIndex > 0 ) { zoneHVACIndex = VentSlab( Item ).HVACSizingIndex; CapSizingMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingCapMethod; ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; - if( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { - if( CapSizingMethod == HeatingDesignCapacity ){ - if( ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity > 0.0 ) { + if ( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { + if ( CapSizingMethod == HeatingDesignCapacity ){ + if ( ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; } else { DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; } TempSize = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; - } else if( CapSizingMethod == CapacityPerFloorArea ){ + } else if ( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; - } else if( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ + } else if ( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; TempSize = AutoSize; @@ -1750,15 +1750,15 @@ namespace VentilatedSlab { } } - if( IsAutoSize ) { + if ( IsAutoSize ) { VentSlab( Item ).MaxVolHotWaterFlow = MaxVolHotWaterFlowDes; ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "Design Size Maximum Hot Water Flow [m3/s]", MaxVolHotWaterFlowDes ); } else { // Hard-size with sizing data - if( VentSlab( Item ).MaxVolHotWaterFlow > 0.0 && MaxVolHotWaterFlowDes > 0.0 ) { + if ( VentSlab( Item ).MaxVolHotWaterFlow > 0.0 && MaxVolHotWaterFlowDes > 0.0 ) { MaxVolHotWaterFlowUser = VentSlab( Item ).MaxVolHotWaterFlow; ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "Design Size Maximum Hot Water Flow [m3/s]", MaxVolHotWaterFlowDes, "User-Specified Maximum Hot Water Flow [m3/s]", MaxVolHotWaterFlowUser ); - if( DisplayExtraWarnings ) { - if( ( std::abs( MaxVolHotWaterFlowDes - MaxVolHotWaterFlowUser ) / MaxVolHotWaterFlowUser ) > AutoVsHardSizingThreshold ) { + if ( DisplayExtraWarnings ) { + if ( ( std::abs( MaxVolHotWaterFlowDes - MaxVolHotWaterFlowUser ) / MaxVolHotWaterFlowUser ) > AutoVsHardSizingThreshold ) { ShowMessage( "SizeVentilatedSlab: Potential issue with equipment sizing for ZoneHVAC:VentilatedSlab = \" " + VentSlab( Item ).Name + "\"." ); ShowContinueError( "User-Specified Maximum Hot Water Flow of " + RoundSigDigits( MaxVolHotWaterFlowUser, 5 ) + " [m3/s]" ); ShowContinueError( "differs from Design Size Maximum Hot Water Flow of " + RoundSigDigits( MaxVolHotWaterFlowDes, 5 ) + " [m3/s]" ); @@ -1775,14 +1775,14 @@ namespace VentilatedSlab { } IsAutoSize = false; - if( VentSlab( Item ).MaxVolHotSteamFlow == AutoSize ) { + if ( VentSlab( Item ).MaxVolHotSteamFlow == AutoSize ) { IsAutoSize = true; } - if( VentSlab( Item ).HCoilType == Heating_SteamCoilType ) { + if ( VentSlab( Item ).HCoilType == Heating_SteamCoilType ) { - if( CurZoneEqNum > 0 ) { - if( !IsAutoSize && !ZoneSizingRunDone ) { - if( VentSlab( Item ).MaxVolHotSteamFlow > 0.0 ) { + if ( CurZoneEqNum > 0 ) { + if ( !IsAutoSize && !ZoneSizingRunDone ) { + if ( VentSlab( Item ).MaxVolHotSteamFlow > 0.0 ) { ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "User-Specified Maximum Steam Flow [m3/s]", VentSlab( Item ).MaxVolHotSteamFlow ); } } else { // Autosize or hard-size with sizing run @@ -1790,29 +1790,29 @@ namespace VentilatedSlab { CoilSteamInletNode = GetCoilSteamInletNode( "Coil:Heating:Steam", VentSlab( Item ).HCoilName, ErrorsFound ); CoilSteamOutletNode = GetCoilSteamOutletNode( "Coil:Heating:Steam", VentSlab( Item ).HCoilName, ErrorsFound ); - if( IsAutoSize ) { + if ( IsAutoSize ) { PltSizHeatNum = MyPlantSizingIndex( "Coil:Heating:Steam", VentSlab( Item ).HCoilName, CoilSteamInletNode, CoilSteamOutletNode, ErrorsFound ); - if( PltSizHeatNum > 0 ) { - if( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow >= SmallAirVolFlow ) { + if ( PltSizHeatNum > 0 ) { + if ( FinalZoneSizing( CurZoneEqNum ).DesHeatMassFlow >= SmallAirVolFlow ) { SizingMethod = HeatingCapacitySizing; - if( VentSlab( Item ).HVACSizingIndex > 0 ) { + if ( VentSlab( Item ).HVACSizingIndex > 0 ) { zoneHVACIndex = VentSlab( Item ).HVACSizingIndex; CapSizingMethod = ZoneHVACSizing( zoneHVACIndex ).HeatingCapMethod; ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; - if( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { - if( CapSizingMethod == HeatingDesignCapacity ){ - if( ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity > 0.0 ) { + if ( CapSizingMethod == HeatingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedHeatingCapacity ) { + if ( CapSizingMethod == HeatingDesignCapacity ){ + if ( ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; } else { DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; } TempSize = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; - } else if( CapSizingMethod == CapacityPerFloorArea ){ + } else if ( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).HeatingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesHeatingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; - } else if( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ + } else if ( CapSizingMethod == FractionOfAutosizedHeatingCapacity ){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledHeatingCapacity; DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesHeatVolFlow; TempSize = AutoSize; @@ -1847,15 +1847,15 @@ namespace VentilatedSlab { ErrorsFound = true; } } - if( IsAutoSize ) { + if ( IsAutoSize ) { VentSlab( Item ).MaxVolHotSteamFlow = MaxVolHotSteamFlowDes; ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "Design Size Maximum Steam Flow [m3/s]", MaxVolHotSteamFlowDes ); } else { - if( VentSlab( Item ).MaxVolHotSteamFlow > 0.0 && MaxVolHotSteamFlowDes > 0.0 ) { + if ( VentSlab( Item ).MaxVolHotSteamFlow > 0.0 && MaxVolHotSteamFlowDes > 0.0 ) { MaxVolHotSteamFlowUser = VentSlab( Item ).MaxVolHotSteamFlow; ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "Design Size Maximum Steam Flow [m3/s]", MaxVolHotSteamFlowDes, "User-Specified Maximum Steam Flow [m3/s]", MaxVolHotSteamFlowUser ); - if( DisplayExtraWarnings ) { - if( ( std::abs( MaxVolHotSteamFlowDes - MaxVolHotSteamFlowUser ) / MaxVolHotSteamFlowUser ) > AutoVsHardSizingThreshold ) { + if ( DisplayExtraWarnings ) { + if ( ( std::abs( MaxVolHotSteamFlowDes - MaxVolHotSteamFlowUser ) / MaxVolHotSteamFlowUser ) > AutoVsHardSizingThreshold ) { ShowMessage( "SizeVentilatedSlab: Potential issue with equipment sizing for ZoneHVAC:VentilatedSlab = \" " + VentSlab( Item ).Name + "\"." ); ShowContinueError( "User-Specified Maximum Steam Flow of " + RoundSigDigits( MaxVolHotSteamFlowUser, 5 ) + " [m3/s]" ); ShowContinueError( "differs from Design Size Maximum Steam Flow of " + RoundSigDigits( MaxVolHotSteamFlowDes, 5 ) + " [m3/s]" ); @@ -1872,17 +1872,17 @@ namespace VentilatedSlab { } IsAutoSize = false; - if( VentSlab( Item ).MaxVolColdWaterFlow == AutoSize ) { + if ( VentSlab( Item ).MaxVolColdWaterFlow == AutoSize ) { IsAutoSize = true; } - if( CurZoneEqNum > 0 ) { - if( !IsAutoSize && !ZoneSizingRunDone ) { - if( VentSlab( Item ).MaxVolColdWaterFlow > 0.0 ) { + if ( CurZoneEqNum > 0 ) { + if ( !IsAutoSize && !ZoneSizingRunDone ) { + if ( VentSlab( Item ).MaxVolColdWaterFlow > 0.0 ) { ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "User-Specified Maximum Cold Water Flow [m3/s]", VentSlab( Item ).MaxVolColdWaterFlow ); } } else { CheckZoneSizing( cMO_VentilatedSlab, VentSlab( Item ).Name ); - if( VentSlab( Item ).CCoilType == Cooling_CoilHXAssisted ) { + if ( VentSlab( Item ).CCoilType == Cooling_CoilHXAssisted ) { CoolingCoilName = GetHXDXCoilName( VentSlab( Item ).CCoilTypeCh, VentSlab( Item ).CCoilName, ErrorsFound ); CoolingCoilType = GetHXCoilType( VentSlab( Item ).CCoilTypeCh, VentSlab( Item ).CCoilName, ErrorsFound ); } else { @@ -1891,29 +1891,29 @@ namespace VentilatedSlab { } CoilWaterInletNode = GetCoilWaterInletNode( CoolingCoilType, CoolingCoilName, ErrorsFound ); CoilWaterOutletNode = GetCoilWaterOutletNode( CoolingCoilType, CoolingCoilName, ErrorsFound ); - if( IsAutoSize ) { + if ( IsAutoSize ) { PltSizCoolNum = MyPlantSizingIndex( CoolingCoilType, CoolingCoilName, CoilWaterInletNode, CoilWaterOutletNode, ErrorsFound ); - if( PltSizCoolNum > 0 ) { - if( FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow >= SmallAirVolFlow ) { + if ( PltSizCoolNum > 0 ) { + if ( FinalZoneSizing( CurZoneEqNum ).DesCoolMassFlow >= SmallAirVolFlow ) { SizingMethod = CoolingCapacitySizing; - if( VentSlab( Item ).HVACSizingIndex > 0 ) { + if ( VentSlab( Item ).HVACSizingIndex > 0 ) { zoneHVACIndex = VentSlab( Item ).HVACSizingIndex; CapSizingMethod = ZoneHVACSizing( zoneHVACIndex ).CoolingCapMethod; ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; - if( CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity ) { - if( CapSizingMethod == CoolingDesignCapacity ){ - if( ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity > 0.0 ) { + if ( CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity ) { + if ( CapSizingMethod == CoolingDesignCapacity ){ + if ( ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; } else { DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; } TempSize = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; - } else if( CapSizingMethod == CapacityPerFloorArea ){ + } else if ( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; - } else if( CapSizingMethod == FractionOfAutosizedCoolingCapacity ){ + } else if ( CapSizingMethod == FractionOfAutosizedCoolingCapacity ){ DataFracOfAutosizedHeatingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; TempSize = AutoSize; @@ -1944,15 +1944,15 @@ namespace VentilatedSlab { ErrorsFound = true; } } - if( IsAutoSize ) { + if ( IsAutoSize ) { VentSlab( Item ).MaxVolColdWaterFlow = MaxVolColdWaterFlowDes; ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "Design Size Maximum Cold Water Flow [m3/s]", MaxVolColdWaterFlowDes ); } else { - if( VentSlab( Item ).MaxVolColdWaterFlow > 0.0 && MaxVolColdWaterFlowDes > 0.0 ) { + if ( VentSlab( Item ).MaxVolColdWaterFlow > 0.0 && MaxVolColdWaterFlowDes > 0.0 ) { MaxVolColdWaterFlowUser = VentSlab( Item ).MaxVolColdWaterFlow; ReportSizingOutput( cMO_VentilatedSlab, VentSlab( Item ).Name, "Design Size Maximum Cold Water Flow [m3/s]", MaxVolColdWaterFlowDes, "User-Specified Maximum Cold Water Flow [m3/s]", MaxVolColdWaterFlowUser ); - if( DisplayExtraWarnings ) { - if( ( std::abs( MaxVolColdWaterFlowDes - MaxVolColdWaterFlowUser ) / MaxVolColdWaterFlowUser ) > AutoVsHardSizingThreshold ) { + if ( DisplayExtraWarnings ) { + if ( ( std::abs( MaxVolColdWaterFlowDes - MaxVolColdWaterFlowUser ) / MaxVolColdWaterFlowUser ) > AutoVsHardSizingThreshold ) { ShowMessage( "SizeVentilatedSlab: Potential issue with equipment sizing for ZoneHVAC:VentilatedSlab = \" " + VentSlab( Item ).Name + "\"." ); ShowContinueError( "User-Specified Maximum Cold Water Flow of " + RoundSigDigits( MaxVolColdWaterFlowUser, 5 ) + " [m3/s]" ); ShowContinueError( "differs from Design Size Maximum Cold Water Flow of " + RoundSigDigits( MaxVolColdWaterFlowDes, 5 ) + " [m3/s]" ); @@ -1965,7 +1965,7 @@ namespace VentilatedSlab { } } - if( VentSlab( Item ).CCoilType == Cooling_CoilHXAssisted ) { + if ( VentSlab( Item ).CCoilType == Cooling_CoilHXAssisted ) { CoolingCoilName = GetHXDXCoilName( VentSlab( Item ).CCoilTypeCh, VentSlab( Item ).CCoilName, ErrorsFound ); CoolingCoilType = GetHXCoilType( VentSlab( Item ).CCoilTypeCh, VentSlab( Item ).CCoilName, ErrorsFound ); } else { @@ -1975,12 +1975,12 @@ namespace VentilatedSlab { SetCoilDesFlow( CoolingCoilType, CoolingCoilName, VentSlab( Item ).MaxAirVolFlow, ErrorsFound ); SetCoilDesFlow( VentSlab( Item ).HCoilTypeCh, VentSlab( Item ).HCoilName, VentSlab( Item ).MaxAirVolFlow, ErrorsFound ); - if( CurZoneEqNum > 0 ) { + if ( CurZoneEqNum > 0 ) { ZoneEqSizing( CurZoneEqNum ).MaxHWVolFlow = VentSlab( Item ).MaxVolHotWaterFlow; ZoneEqSizing( CurZoneEqNum ).MaxCWVolFlow = VentSlab( Item ).MaxVolColdWaterFlow; } - if( ErrorsFound ) { + if ( ErrorsFound ) { ShowFatalError( "Preceding sizing errors cause program termination" ); } diff --git a/src/EnergyPlus/WindowAC.cc b/src/EnergyPlus/WindowAC.cc index 2bd95a5f5ea..0d03fb3c4a1 100644 --- a/src/EnergyPlus/WindowAC.cc +++ b/src/EnergyPlus/WindowAC.cc @@ -888,8 +888,8 @@ namespace WindowAC { CompName = WindAC( WindACNum ).Name; DataZoneNumber = WindAC( WindACNum ).ZonePtr; - if( CurZoneEqNum > 0 ) { - if( WindAC( WindACNum ).HVACSizingIndex > 0 ) { + if ( CurZoneEqNum > 0 ) { + if ( WindAC( WindACNum ).HVACSizingIndex > 0 ) { zoneHVACIndex = WindAC( WindACNum ).HVACSizingIndex; // N1 , \field Maximum Supply Air Flow Rate SizingMethod = CoolingAirflowSizing; @@ -898,19 +898,19 @@ namespace WindowAC { PrintFlag = true; SAFMethod = ZoneHVACSizing( zoneHVACIndex ).CoolingSAFMethod; ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = SAFMethod; - if( SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow ) { - if( SAFMethod == SupplyAirFlowRate ){ - if( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0 ) { + if ( SAFMethod == None || SAFMethod == SupplyAirFlowRate || SAFMethod == FlowPerFloorArea || SAFMethod == FractionOfAutosizedCoolingAirflow ) { + if ( SAFMethod == SupplyAirFlowRate ){ + if ( ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; } TempSize = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; - } else if( SAFMethod == FlowPerFloorArea ){ + } else if ( SAFMethod == FlowPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).SystemAirFlow = true; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow * Zone( DataZoneNumber ).FloorArea; TempSize = ZoneEqSizing( CurZoneEqNum ).AirVolFlow; DataScalableSizingON = true; - } else if( SAFMethod == FractionOfAutosizedCoolingAirflow ){ + } else if ( SAFMethod == FractionOfAutosizedCoolingAirflow ){ DataFracOfAutosizedCoolingAirflow = ZoneHVACSizing( zoneHVACIndex ).MaxCoolAirVolFlow; TempSize = AutoSize; DataScalableSizingON = true; @@ -920,13 +920,13 @@ namespace WindowAC { RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); WindAC( WindACNum ).MaxAirVolFlow = TempSize; - } else if( SAFMethod == FlowPerCoolingCapacity ) { + } else if ( SAFMethod == FlowPerCoolingCapacity ) { SizingMethod = CoolingCapacitySizing; TempSize = AutoSize; PrintFlag = false; DataScalableSizingON = true; DataFlowUsedForSizing = FinalZoneSizing( CurZoneEqNum ).DesCoolVolFlow; - if( ZoneHVACSizing( zoneHVACIndex ).CoolingCapMethod == FractionOfAutosizedCoolingCapacity ) { + if ( ZoneHVACSizing( zoneHVACIndex ).CoolingCapMethod == FractionOfAutosizedCoolingCapacity ) { DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; } RequestSizing( CompType, CompName, SizingMethod, SizingString, TempSize, PrintFlag, RoutineName ); @@ -943,17 +943,17 @@ namespace WindowAC { // initialize capacity sizing variables: cooling CapSizingMethod = ZoneHVACSizing( zoneHVACIndex ).CoolingCapMethod; ZoneEqSizing( CurZoneEqNum ).SizingMethod( SizingMethod ) = CapSizingMethod; - if( CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity ) { - if( CapSizingMethod == HeatingDesignCapacity ){ - if( ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity > 0.0 ) { + if ( CapSizingMethod == CoolingDesignCapacity || CapSizingMethod == CapacityPerFloorArea || CapSizingMethod == FractionOfAutosizedCoolingCapacity ) { + if ( CapSizingMethod == HeatingDesignCapacity ){ + if ( ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity > 0.0 ) { ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; } - } else if( CapSizingMethod == CapacityPerFloorArea ){ + } else if ( CapSizingMethod == CapacityPerFloorArea ){ ZoneEqSizing( CurZoneEqNum ).CoolingCapacity = true; ZoneEqSizing( CurZoneEqNum ).DesCoolingLoad = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity * Zone( DataZoneNumber ).FloorArea; DataScalableCapSizingON = true; - } else if( CapSizingMethod == FractionOfAutosizedCoolingCapacity ){ + } else if ( CapSizingMethod == FractionOfAutosizedCoolingCapacity ){ DataFracOfAutosizedCoolingCapacity = ZoneHVACSizing( zoneHVACIndex ).ScaledCoolingCapacity; DataScalableCapSizingON = true; } @@ -972,13 +972,13 @@ namespace WindowAC { } } - if( WindAC( WindACNum ).OutAirVolFlow == AutoSize ) { + if ( WindAC( WindACNum ).OutAirVolFlow == AutoSize ) { - if( CurZoneEqNum > 0 ) { + if ( CurZoneEqNum > 0 ) { CheckZoneSizing( cWindowAC_UnitTypes( WindAC( WindACNum ).UnitType ), WindAC( WindACNum ).Name ); WindAC( WindACNum ).OutAirVolFlow = min( FinalZoneSizing( CurZoneEqNum ).MinOA, WindAC( WindACNum ).MaxAirVolFlow ); - if( WindAC( WindACNum ).OutAirVolFlow < SmallAirVolFlow ) { + if ( WindAC( WindACNum ).OutAirVolFlow < SmallAirVolFlow ) { WindAC( WindACNum ).OutAirVolFlow = 0.0; } ReportSizingOutput( cWindowAC_UnitTypes( WindAC( WindACNum ).UnitType ), WindAC( WindACNum ).Name, "Maximum Outdoor Air Flow Rate [m3/s]", WindAC( WindACNum ).OutAirVolFlow ); @@ -987,7 +987,7 @@ namespace WindowAC { } - if( CurZoneEqNum > 0 ) { + if ( CurZoneEqNum > 0 ) { ZoneEqSizing( CurZoneEqNum ).OAVolFlow = WindAC( WindACNum ).OutAirVolFlow; ZoneEqSizing( CurZoneEqNum ).AirVolFlow = WindAC( WindACNum ).MaxAirVolFlow; } From c4cc3563ed0648eb7372c5506edfcb57501e8af1 Mon Sep 17 00:00:00 2001 From: Richard Raustad Date: Mon, 8 Sep 2014 16:06:01 -0400 Subject: [PATCH 19/19] More padding of if blocks --- src/EnergyPlus/BaseboardElectric.cc | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/EnergyPlus/BaseboardElectric.cc b/src/EnergyPlus/BaseboardElectric.cc index 013c41bcbc4..2ea7ec53b98 100644 --- a/src/EnergyPlus/BaseboardElectric.cc +++ b/src/EnergyPlus/BaseboardElectric.cc @@ -276,11 +276,11 @@ namespace BaseboardElectric { Baseboard( BaseboardNum ).BaseboardEfficiency = rNumericArgs( 4 ); // Determine baseboard electric heating design capacity sizing method - if( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "HeatingDesignCapacity" ) ) { + if ( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "HeatingDesignCapacity" ) ) { Baseboard( BaseboardNum ).HeatingCapMethod = HeatingDesignCapacity; - if( !lNumericFieldBlanks( iHeatDesignCapacityNumericNum ) ) { + if ( !lNumericFieldBlanks( iHeatDesignCapacityNumericNum ) ) { Baseboard( BaseboardNum ).ScaledHeatingCapacity = rNumericArgs( iHeatDesignCapacityNumericNum ); - if( Baseboard( BaseboardNum ).ScaledHeatingCapacity < 0.0 && Baseboard( BaseboardNum ).ScaledHeatingCapacity != AutoSize ) { + if ( Baseboard( BaseboardNum ).ScaledHeatingCapacity < 0.0 && Baseboard( BaseboardNum ).ScaledHeatingCapacity != AutoSize ) { ShowSevereError( cCurrentModuleObject + " = " + Baseboard( BaseboardNum ).EquipName ); ShowContinueError( "Illegal " + cNumericFieldNames( iHeatDesignCapacityNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iHeatDesignCapacityNumericNum ), 7 ) ); ErrorsFound = true; @@ -291,16 +291,16 @@ namespace BaseboardElectric { ShowContinueError( "Blank field not allowed for " + cNumericFieldNames( iHeatDesignCapacityNumericNum ) ); ErrorsFound = true; } - } else if( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "CapacityPerFloorArea" ) ) { + } else if ( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "CapacityPerFloorArea" ) ) { Baseboard( BaseboardNum ).HeatingCapMethod = CapacityPerFloorArea; - if( !lNumericFieldBlanks( iHeatCapacityPerFloorAreaNumericNum ) ) { + if ( !lNumericFieldBlanks( iHeatCapacityPerFloorAreaNumericNum ) ) { Baseboard( BaseboardNum ).ScaledHeatingCapacity = rNumericArgs( iHeatCapacityPerFloorAreaNumericNum ); - if( Baseboard( BaseboardNum ).ScaledHeatingCapacity <= 0.0 ) { + if ( Baseboard( BaseboardNum ).ScaledHeatingCapacity <= 0.0 ) { ShowSevereError( cCurrentModuleObject + " = " + Baseboard( BaseboardNum ).EquipName ); ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); ShowContinueError( "Illegal " + cNumericFieldNames( iHeatCapacityPerFloorAreaNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iHeatCapacityPerFloorAreaNumericNum ), 7 ) ); ErrorsFound = true; - } else if( Baseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize ) { + } else if ( Baseboard( BaseboardNum ).ScaledHeatingCapacity == AutoSize ) { ShowSevereError( cCurrentModuleObject + " = " + Baseboard( BaseboardNum ).EquipName ); ShowContinueError( "Input for " + cAlphaFieldNames( iHeatCAPMAlphaNum ) + " = " + cAlphaArgs( iHeatCAPMAlphaNum ) ); ShowContinueError( "Illegal " + cNumericFieldNames( iHeatCapacityPerFloorAreaNumericNum ) + " = Autosize" ); @@ -312,11 +312,11 @@ namespace BaseboardElectric { ShowContinueError( "Blank field not allowed for " + cNumericFieldNames( iHeatCapacityPerFloorAreaNumericNum ) ); ErrorsFound = true; } - } else if( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "FractionOfAutosizedHeatingCapacity" ) ){ + } else if ( SameString( cAlphaArgs( iHeatCAPMAlphaNum ), "FractionOfAutosizedHeatingCapacity" ) ){ Baseboard( BaseboardNum ).HeatingCapMethod = FractionOfAutosizedHeatingCapacity; - if( !lNumericFieldBlanks( iHeatFracOfAutosizedCapacityNumericNum ) ) { + if ( !lNumericFieldBlanks( iHeatFracOfAutosizedCapacityNumericNum ) ) { Baseboard( BaseboardNum ).ScaledHeatingCapacity = rNumericArgs( iHeatFracOfAutosizedCapacityNumericNum ); - if( Baseboard( BaseboardNum ).ScaledHeatingCapacity < 0.0 ) { + if ( Baseboard( BaseboardNum ).ScaledHeatingCapacity < 0.0 ) { ShowSevereError( cCurrentModuleObject + " = " + Baseboard( BaseboardNum ).EquipName ); ShowContinueError( "Illegal " + cNumericFieldNames( iHeatFracOfAutosizedCapacityNumericNum ) + " = " + TrimSigDigits( rNumericArgs( iHeatFracOfAutosizedCapacityNumericNum ), 7 ) ); ErrorsFound = true; @@ -333,9 +333,9 @@ namespace BaseboardElectric { ErrorsFound = true; } - for( CtrlZone = 1; CtrlZone <= NumOfZones; ++CtrlZone ) { - for( ZoneEquipTypeNum = 1; ZoneEquipTypeNum <= ZoneEquipList( CtrlZone ).NumOfEquipTypes; ++ZoneEquipTypeNum ) { - if( ZoneEquipList( CtrlZone ).EquipType_Num( ZoneEquipTypeNum ) == BBElectricConvective_Num && ZoneEquipList( CtrlZone ).EquipName( ZoneEquipTypeNum ) == Baseboard( BaseboardNum ).EquipName ) { + for ( CtrlZone = 1; CtrlZone <= NumOfZones; ++CtrlZone ) { + for ( ZoneEquipTypeNum = 1; ZoneEquipTypeNum <= ZoneEquipList( CtrlZone ).NumOfEquipTypes; ++ZoneEquipTypeNum ) { + if ( ZoneEquipList( CtrlZone ).EquipType_Num( ZoneEquipTypeNum ) == BBElectricConvective_Num && ZoneEquipList( CtrlZone ).EquipName( ZoneEquipTypeNum ) == Baseboard( BaseboardNum ).EquipName ) { Baseboard( BaseboardNum ).ZonePtr = CtrlZone; } }