Skip to content

Commit 75fdccb

Browse files
coil Summary report corrections
change zone weighting to supply-air-flow-rate from zone volume, traps to not overwrite values set directly
1 parent 43728ca commit 75fdccb

File tree

4 files changed

+117
-54
lines changed

4 files changed

+117
-54
lines changed

doc/output-details-and-examples/src/output-files/eplustbl-lt-ext-gt.tex

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1332,11 +1332,11 @@ \subsection{HVAC Sizing Summary}\label{hvac-sizing-summary}
13321332

13331333
\emph{System Return Air Humidity Ratio at Ideal Loads Peak [kg-H2O/kg-DryAir]} This field is the humidity ratio, in kg of water per kg of dry air, of air returning into the HVAC system that occurred during the ideal loads sizing calculations. Real number.
13341334

1335-
\emph{Zone Air Drybulb at Ideal Loads Peak [C]} This field is the drybulb temperature, in degrees C, of the zone air that occurred during the ideal loads sizing calculations. For multizone system this is the volume-weighted average. Real number.
1335+
\emph{Zone Air Drybulb at Ideal Loads Peak [C]} This field is the drybulb temperature, in degrees C, of the zone air that occurred during the ideal loads sizing calculations. For multizone system this is the supply-air-volume-flow-weighted average. Real number.
13361336

1337-
\emph{Zone Air Humidity Ratio at Ideal Loads Peak [kg-H2O/kg-DryAir]} This field is the humidity ratio, in kg of water per kg of dry air, of the zone air that occurred during the ideal loads sizing calculations. For multizone system this is the volume-weighted average. Real number.
1337+
\emph{Zone Air Humidity Ratio at Ideal Loads Peak [kg-H2O/kg-DryAir]} This field is the humidity ratio, in kg of water per kg of dry air, of the zone air that occurred during the ideal loads sizing calculations. For multizone system this is the supply-air-volume-flow-weighted-weighted average. Real number.
13381338

1339-
\emph{Zone Air Relative Humidity at Ideal Loads Peak [\%]} This field is the percent relative humidity of the zone air that occurred during the ideal loads sizing calculations. For multizone system this is the volume-weighted average. Real number.
1339+
\emph{Zone Air Relative Humidity at Ideal Loads Peak [\%]} This field is the percent relative humidity of the zone air that occurred during the ideal loads sizing calculations. For multizone system this is the supply-air-volume-flow-weighted-weighted average. Real number.
13401340

13411341
\emph{Zone Sensible Heat Gain at Ideal Loads Peak [W]} This field is the zone sensible load, in Watts, found during ideal loads sizing. For multizone system it is the sum of all the zones on the air system. Real number.
13421342

src/EnergyPlus/ReportCoilSelection.cc

Lines changed: 104 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1250,23 +1250,23 @@ ReportCoilSelection::setCoilCoolingCapacity(
12501250
//DesOutAirVolFlow
12511251

12521252
//loop over cooled zones attached to this airloop to find average Room condition
1253-
// weighted average by zone air volume for all the zones on this coil's air system
1254-
Real64 sumT_V( 0.0 ); // numerator for average zone temperature, zone temperature values times zone air volume
1255-
Real64 sumW_V( 0.0 ); // numerator average zone humidity ratio, zone hum rat value times zone air volume
1253+
// change weighting to use supply air flow rate rather than zone air volume for all the zones on this coil's air system
1254+
Real64 sumT_Vdot( 0.0 ); // numerator for average zone temperature, zone temperature values times zone supply air volume flow rate
1255+
Real64 sumW_Vdot( 0.0 ); // numerator average zone humidity ratio, zone hum rat value times zone supply air volume flow rate
12561256
Real64 sumSensLoad( 0.0 ); // straight total for zone design loads
1257-
Real64 sumV( 0.0 ); // denominator for zone-volume weighted averages
1257+
Real64 sumVdot( 0.0 ); // denominator for supply air flow rate weighted averages
12581258

12591259
for ( auto & z : c->zoneNum ) {
12601260
Real64 mult = DataHeatBalance::Zone( z ).Multiplier * DataHeatBalance::Zone( z ).ListMultiplier;
1261-
sumT_V += DataSizing::FinalZoneSizing( z ).ZoneTempAtCoolPeak * DataHeatBalance::Zone( z ).Volume * mult;
1262-
sumW_V += DataSizing::FinalZoneSizing( z ).ZoneHumRatAtCoolPeak * DataHeatBalance::Zone( z ).Volume * mult;
1261+
sumT_Vdot += DataSizing::FinalZoneSizing( z ).ZoneTempAtCoolPeak * DataSizing::FinalZoneSizing( z ).DesCoolVolFlow * mult;
1262+
sumW_Vdot += DataSizing::FinalZoneSizing( z ).ZoneHumRatAtCoolPeak * DataSizing::FinalZoneSizing( z ).DesCoolVolFlow * mult;
12631263
sumSensLoad += DataSizing::FinalZoneSizing( z ).DesCoolLoad * mult;
1264-
sumV += DataHeatBalance::Zone( z ).Volume * mult;
1264+
sumVdot += DataSizing::FinalZoneSizing( z ).DesCoolVolFlow * mult;
12651265
}
12661266

1267-
if ( c->zoneNum.size() > 0 && sumV > 0.0 ) {
1268-
c->rmPeakTemp = ( sumT_V / sumV );
1269-
c->rmPeakHumRat = ( sumW_V / sumV );
1267+
if ( c->zoneNum.size() > 0 && sumVdot > 0.0 ) {
1268+
c->rmPeakTemp = ( sumT_Vdot / sumVdot );
1269+
c->rmPeakHumRat = ( sumW_Vdot / sumVdot );
12701270
c->rmPeakRelHum = Psychrometrics::PsyRhFnTdbWPb( c->rmPeakTemp,c->rmPeakHumRat, DataEnvironment::StdBaroPress ) * 100.0; // convert to percentage
12711271
} else {
12721272
c->rmPeakTemp = -999.0;
@@ -1282,22 +1282,38 @@ ReportCoilSelection::setCoilCoolingCapacity(
12821282

12831283
// now set Coil Ent And Lvg Conditions
12841284
if ( curOASysNum > 0 ) { // then this system coil is part of OA system
1285-
c->coilDesEntTemp = DataSizing::FinalSysSizing( curSysNum ).OutTempAtCoolPeak;
1286-
c->coilDesEntHumRat = DataSizing::FinalSysSizing( curSysNum ).OutHumRatAtCoolPeak;
1285+
if ( c->coilDesEntTemp == -999.0 ) { // don't overwrite if already set directly
1286+
c->coilDesEntTemp = DataSizing::FinalSysSizing( curSysNum ).OutTempAtCoolPeak;
1287+
}
1288+
if ( c->coilDesEntHumRat == -999.0 ) { // don't overwrite if already set directly
1289+
c->coilDesEntHumRat = DataSizing::FinalSysSizing( curSysNum ).OutHumRatAtCoolPeak;
1290+
}
12871291
c->coilDesEntWetBulb = Psychrometrics::PsyTwbFnTdbWPb( c->coilDesEntTemp, c->coilDesEntHumRat, DataEnvironment::StdBaroPress, "ReportCoilSelection::setCoilCoolingCapacity" );
12881292
c->coilDesEntEnth = Psychrometrics::PsyHFnTdbW ( c->coilDesEntTemp, c->coilDesEntHumRat );
1289-
c->coilDesLvgTemp = DataSizing::FinalSysSizing( curSysNum ).PrecoolTemp;
1290-
c->coilDesLvgHumRat = DataSizing::FinalSysSizing( curSysNum ).PrecoolHumRat;
1293+
if ( c->coilDesLvgTemp == -999.0 ) { // don't overwrite if already set directly
1294+
c->coilDesLvgTemp = DataSizing::FinalSysSizing( curSysNum ).PrecoolTemp;
1295+
}
1296+
if ( c->coilDesLvgHumRat == -999.0 ) { // don't overwrite if already set directly
1297+
c->coilDesLvgHumRat = DataSizing::FinalSysSizing( curSysNum ).PrecoolHumRat;
1298+
}
12911299
c->coilDesLvgWetBulb = Psychrometrics::PsyTwbFnTdbWPb( c->coilDesLvgTemp, c->coilDesLvgHumRat, DataEnvironment::StdBaroPress, "ReportCoilSelection::setCoilCoolingCapacity" );
12921300
c->coilDesLvgEnth = Psychrometrics::PsyHFnTdbW ( c->coilDesLvgTemp, c->coilDesLvgHumRat );
12931301

12941302
} else { // part of main air loop
1295-
c->coilDesEntTemp = DataSizing::FinalSysSizing( curSysNum ).MixTempAtCoolPeak;
1296-
c->coilDesEntHumRat = DataSizing::FinalSysSizing( curSysNum ).MixHumRatAtCoolPeak;
1303+
if ( c->coilDesEntTemp == -999.0 ) { // don't overwrite if already set directly
1304+
c->coilDesEntTemp = DataSizing::FinalSysSizing( curSysNum ).MixTempAtCoolPeak;
1305+
}
1306+
if ( c->coilDesEntHumRat == -999.0 ) { // don't overwrite if already set directly
1307+
c->coilDesEntHumRat = DataSizing::FinalSysSizing( curSysNum ).MixHumRatAtCoolPeak;
1308+
}
12971309
c->coilDesEntWetBulb = Psychrometrics::PsyTwbFnTdbWPb( c->coilDesEntTemp, c->coilDesEntHumRat, DataEnvironment::StdBaroPress, "ReportCoilSelection::setCoilCoolingCapacity" );
12981310
c->coilDesEntEnth = Psychrometrics::PsyHFnTdbW ( c->coilDesEntTemp, c->coilDesEntHumRat );
1299-
c->coilDesLvgTemp = DataSizing::FinalSysSizing( curSysNum ).CoolSupTemp;
1300-
c->coilDesLvgHumRat = DataSizing::FinalSysSizing( curSysNum ).CoolSupHumRat;
1311+
if ( c->coilDesLvgTemp == -999.0 ) {
1312+
c->coilDesLvgTemp = DataSizing::FinalSysSizing( curSysNum ).CoolSupTemp;
1313+
}
1314+
if ( c->coilDesLvgHumRat == -999.0 ) { // don't overwrite if already set directly
1315+
c->coilDesLvgHumRat = DataSizing::FinalSysSizing( curSysNum ).CoolSupHumRat;
1316+
}
13011317
c->coilDesLvgWetBulb = Psychrometrics::PsyTwbFnTdbWPb( c->coilDesLvgTemp, c->coilDesLvgHumRat, DataEnvironment::StdBaroPress, "ReportCoilSelection::setCoilCoolingCapacity" );
13021318
c->coilDesLvgEnth = Psychrometrics::PsyHFnTdbW ( c->coilDesLvgTemp, c->coilDesLvgHumRat );
13031319
if ( DataAirSystems::PrimaryAirSystem( curSysNum ).NumOACoolCoils > 0) { // there is precooling of the OA stream
@@ -1322,7 +1338,11 @@ ReportCoilSelection::setCoilCoolingCapacity(
13221338

13231339
c->rmSensibleAtPeak = DataSizing::FinalZoneSizing( curZoneEqNum ).DesCoolLoad;
13241340

1325-
c->oaPeakVolFlow = DataSizing::ZoneEqSizing( curZoneEqNum ).OAVolFlow;
1341+
if ( DataSizing::ZoneEqSizing( curZoneEqNum ).OAVolFlow > 0.0 ) {
1342+
c->oaPeakVolFlow = DataSizing::ZoneEqSizing( curZoneEqNum ).OAVolFlow;
1343+
} else {
1344+
c->oaPeakVolFlow = 0.0;
1345+
}
13261346
//coil entering conditions depend on the type of zone equipment involved
13271347
// set typeof_Coil integer
13281348
if ( DataSizing::TermUnitIU ) { //an unpowered induction terminal unit
@@ -1339,20 +1359,36 @@ ReportCoilSelection::setCoilCoolingCapacity(
13391359
//c->coilDesEntTemp = c->oaPeakVolFrac * DataSizing::FinalZoneSizing( curZoneEqNum ).OutTempAtCoolPeak + ( 1.0 - c->oaPeakVolFrac ) * DataSizing::FinalZoneSizing( curZoneEqNum ).ZoneTempAtCoolPeak;
13401360
//c->coilDesEntHumRat = c->oaPeakVolFrac * DataSizing::FinalZoneSizing( curZoneEqNum ).OutHumRatAtCoolPeak + ( 1.0 - c->oaPeakVolFrac ) * DataSizing::FinalZoneSizing( curZoneEqNum ).ZoneHumRatAtCoolPeak;
13411361
} else if ( DataSizing::ZoneEqDXCoil ) {
1342-
if ( DataSizing::ZoneEqSizing( curZoneEqNum ).OAVolFlow > 0.0) {
1343-
c->coilDesEntTemp = DataSizing::FinalZoneSizing( curZoneEqNum ).DesCoolCoilInTemp;
1344-
c->coilDesEntHumRat = DataSizing::FinalZoneSizing( curZoneEqNum ).DesCoolCoilInHumRat;
1362+
if ( DataSizing::ZoneEqSizing( curZoneEqNum ).OAVolFlow > 0.0 ) {
1363+
if ( c->coilDesEntTemp == -999.0 ) { // don't overwrite if already set directly by setCoilEntAirTemp
1364+
c->coilDesEntTemp = DataSizing::FinalZoneSizing( curZoneEqNum ).DesCoolCoilInTemp;
1365+
}
1366+
if ( c->coilDesEntHumRat == -999.0 ) { // don't overwrite if already set directly by setCoilEntAirHumRat
1367+
c->coilDesEntHumRat = DataSizing::FinalZoneSizing( curZoneEqNum ).DesCoolCoilInHumRat;
1368+
}
13451369
} else {
1346-
c->coilDesEntTemp = DataSizing::FinalZoneSizing( curZoneEqNum ).ZoneRetTempAtCoolPeak;
1347-
c->coilDesEntHumRat = DataSizing::FinalZoneSizing( curZoneEqNum ).ZoneHumRatAtCoolPeak;
1370+
if ( c->coilDesEntTemp == -999.0 ) { // don't overwrite if already set directly by setCoilEntAirTemp
1371+
c->coilDesEntTemp = DataSizing::FinalZoneSizing( curZoneEqNum ).ZoneRetTempAtCoolPeak;
1372+
}
1373+
if ( c->coilDesEntHumRat == -999.0 ) { // don't overwrite if already set directly by setCoilEntAirHumRat
1374+
c->coilDesEntHumRat = DataSizing::FinalZoneSizing( curZoneEqNum ).ZoneHumRatAtCoolPeak;
1375+
}
13481376
}
13491377
} else {
1350-
c->coilDesEntTemp = DataSizing::FinalZoneSizing( curZoneEqNum ).DesCoolCoilInTemp;
1351-
c->coilDesEntHumRat = DataSizing::FinalZoneSizing( curZoneEqNum ).DesCoolCoilInHumRat;
1378+
if ( c->coilDesEntTemp == -999.0 ) { // don't overwrite if already set directly by setCoilEntAirTemp
1379+
c->coilDesEntTemp = DataSizing::FinalZoneSizing( curZoneEqNum ).DesCoolCoilInTemp;
1380+
}
1381+
if ( c->coilDesEntHumRat == -999.0 ) { // don't overwrite if already set directly by setCoilEntAirHumRat
1382+
c->coilDesEntHumRat = DataSizing::FinalZoneSizing( curZoneEqNum ).DesCoolCoilInHumRat;
1383+
}
13521384
}
13531385

1354-
c->coilDesLvgTemp = DataSizing::FinalZoneSizing( curZoneEqNum ).CoolDesTemp;
1355-
c->coilDesLvgHumRat = DataSizing::FinalZoneSizing( curZoneEqNum ).CoolDesHumRat;
1386+
if ( c->coilDesLvgTemp == -999.0 ) { // don't overwrite if already set directly by setCoilLvgAirTemp
1387+
c->coilDesLvgTemp = DataSizing::FinalZoneSizing( curZoneEqNum ).CoolDesTemp;
1388+
}
1389+
if ( c->coilDesLvgHumRat == -999.0 ) { // don't overwrite if already set directly by setCoilLvgAirHumRat
1390+
c->coilDesLvgHumRat = DataSizing::FinalZoneSizing( curZoneEqNum ).CoolDesHumRat;
1391+
}
13561392
c->coilDesLvgWetBulb = Psychrometrics::PsyTwbFnTdbWPb( c->coilDesLvgTemp, c->coilDesLvgHumRat, DataEnvironment::StdBaroPress, "ReportCoilSelection::setCoilCoolingCapacity" );
13571393
c->coilDesLvgEnth = Psychrometrics::PsyHFnTdbW ( c->coilDesLvgTemp, c->coilDesLvgHumRat );
13581394
} else {
@@ -1409,23 +1445,23 @@ ReportCoilSelection::setCoilHeatingCapacity(
14091445
//DesOutAirVolFlow
14101446

14111447
//loop over heated zones attached to this airloop to find average Room condition, if none heated use cooled zones
1412-
// weighted average by zone air volume for all the zones on this coil's air system
1413-
Real64 sumT_V( 0.0 ); // numerator for average zone temperature, zone temperature values times zone air volume
1414-
Real64 sumW_V( 0.0 ); // numerator average zone humidity ratio, zone hum rat value times zone air volume
1448+
// weighted average by zone supply air volume flow rate for all the zones on this coil's air system
1449+
Real64 sumT_Vdot( 0.0 ); // numerator for average zone temperature, zone temperature values times zone air volume
1450+
Real64 sumW_Vdot( 0.0 ); // numerator average zone humidity ratio, zone hum rat value times zone air volume
14151451
Real64 sumLoad( 0.0 ); // straight total for zone design loads
1416-
Real64 sumV( 0.0 ); // denominator for zone-volume weighted averages
1452+
Real64 sumVdot( 0.0 ); // denominator for zone-volume weighted averages
14171453

14181454
for ( auto & z : c->zoneNum ) {
14191455
Real64 mult = DataHeatBalance::Zone( z ).Multiplier * DataHeatBalance::Zone( z ).ListMultiplier;
1420-
sumT_V += DataSizing::FinalZoneSizing( z ).ZoneTempAtHeatPeak * DataHeatBalance::Zone( z ).Volume * mult;
1421-
sumW_V += DataSizing::FinalZoneSizing( z ).ZoneHumRatAtHeatPeak * DataHeatBalance::Zone( z ).Volume * mult;
1456+
sumT_Vdot += DataSizing::FinalZoneSizing( z ).ZoneTempAtHeatPeak * DataSizing::FinalZoneSizing( z ).DesHeatVolFlow * mult;
1457+
sumW_Vdot += DataSizing::FinalZoneSizing( z ).ZoneHumRatAtHeatPeak * DataSizing::FinalZoneSizing( z ).DesHeatVolFlow * mult;
14221458
sumLoad += DataSizing::FinalZoneSizing( z ).DesHeatLoad * mult;
1423-
sumV += DataHeatBalance::Zone( z ).Volume * mult;
1459+
sumVdot += DataSizing::FinalZoneSizing( z ).DesHeatVolFlow * mult;
14241460
}
14251461

1426-
if ( c->zoneNum.size() > 0 && sumV > 0.0 ) {
1427-
c->rmPeakTemp = ( sumT_V / sumV );
1428-
c->rmPeakHumRat = ( sumW_V / sumV );
1462+
if ( c->zoneNum.size() > 0 && sumVdot > 0.0 ) {
1463+
c->rmPeakTemp = ( sumT_Vdot / sumVdot );
1464+
c->rmPeakHumRat = ( sumW_Vdot / sumVdot );
14291465
c->rmPeakRelHum = Psychrometrics::PsyRhFnTdbWPb( c->rmPeakTemp,c->rmPeakHumRat, DataEnvironment::StdBaroPress ) * 100.0; // convert to percentage
14301466
} else {
14311467
c->rmPeakTemp = -999.0;
@@ -1488,7 +1524,11 @@ ReportCoilSelection::setCoilHeatingCapacity(
14881524

14891525
c->rmSensibleAtPeak = DataSizing::FinalZoneSizing( curZoneEqNum ).DesHeatLoad;
14901526

1491-
c->oaPeakVolFlow = DataSizing::ZoneEqSizing( curZoneEqNum ).OAVolFlow;
1527+
if ( DataSizing::ZoneEqSizing( curZoneEqNum ).OAVolFlow > 0.0 ) {
1528+
c->oaPeakVolFlow = DataSizing::ZoneEqSizing( curZoneEqNum ).OAVolFlow;
1529+
} else {
1530+
c->oaPeakVolFlow = 0.0;
1531+
}
14921532
//coil entering conditions depend on the type of zone equipment involved
14931533
// set typeof_Coil integer
14941534
if ( DataSizing::TermUnitIU ) { //an unpowered induction terminal unit
@@ -1500,25 +1540,40 @@ ReportCoilSelection::setCoilHeatingCapacity(
15001540
//should be picked up by CoolingWaterDesAirInletHumRatSizing and CoolingWaterDesWaterInletTempSizing
15011541

15021542
} else if ( DataSizing::ZoneEqDXCoil ) {
1503-
if ( DataSizing::ZoneEqSizing( curZoneEqNum ).OAVolFlow > 0.0) {
1504-
c->coilDesEntTemp = DataSizing::FinalZoneSizing( curZoneEqNum ).DesHeatCoilInTemp;
1505-
c->coilDesEntHumRat = DataSizing::FinalZoneSizing( curZoneEqNum ).DesHeatCoilInHumRat;
1543+
if ( DataSizing::ZoneEqSizing( curZoneEqNum ).OAVolFlow > 0.0 ) {
1544+
if ( c->coilDesEntTemp == -999.0 ) { // don't overwrite if already set directly by setCoilEntAirTemp
1545+
c->coilDesEntTemp = DataSizing::FinalZoneSizing( curZoneEqNum ).DesHeatCoilInTemp;
1546+
}
1547+
if ( c->coilDesEntHumRat == -999.0 ) { // don't overwrite if already set directly by setCoilEntAirHumRat
1548+
c->coilDesEntHumRat = DataSizing::FinalZoneSizing( curZoneEqNum ).DesHeatCoilInHumRat;
1549+
}
15061550
} else {
1507-
c->coilDesEntTemp = DataSizing::FinalZoneSizing( curZoneEqNum ).ZoneRetTempAtHeatPeak;
1508-
c->coilDesEntHumRat = DataSizing::FinalZoneSizing( curZoneEqNum ).ZoneHumRatAtHeatPeak;
1551+
if ( c->coilDesEntTemp == -999.0 ) { // don't overwrite if already set directly by setCoilEntAirTemp
1552+
c->coilDesEntTemp = DataSizing::FinalZoneSizing( curZoneEqNum ).ZoneRetTempAtHeatPeak;
1553+
}
1554+
if ( c->coilDesEntHumRat == -999.0 ) { // don't overwrite if already set directly by setCoilEntAirHumRat
1555+
c->coilDesEntHumRat = DataSizing::FinalZoneSizing( curZoneEqNum ).ZoneHumRatAtHeatPeak;
1556+
}
15091557
}
15101558
} else {
1511-
c->coilDesEntTemp = DataSizing::FinalZoneSizing( curZoneEqNum ).DesHeatCoilInTemp;
1512-
c->coilDesEntHumRat = DataSizing::FinalZoneSizing( curZoneEqNum ).DesHeatCoilInHumRat;
1559+
if ( c->coilDesEntTemp == -999.0 ) { // don't overwrite if already set directly by setCoilEntAirTemp
1560+
c->coilDesEntTemp = DataSizing::FinalZoneSizing( curZoneEqNum ).DesHeatCoilInTemp;
1561+
}
1562+
if ( c->coilDesEntHumRat == -999.0 ) { // don't overwrite if already set directly by setCoilEntAirHumRat
1563+
c->coilDesEntHumRat = DataSizing::FinalZoneSizing( curZoneEqNum ).DesHeatCoilInHumRat;
1564+
}
15131565
}
15141566

15151567

15161568
c->coilDesEntWetBulb = Psychrometrics::PsyTwbFnTdbWPb( c->coilDesEntTemp, c->coilDesEntHumRat, DataEnvironment::StdBaroPress, "ReportCoilSelection::setCoilCoolingCapacity" );
15171569
c->coilDesEntEnth = Psychrometrics::PsyHFnTdbW ( c->coilDesEntTemp, c->coilDesEntHumRat );
15181570

1519-
1520-
c->coilDesLvgTemp = DataSizing::FinalZoneSizing( curZoneEqNum ).HeatDesTemp;
1521-
c->coilDesLvgHumRat = DataSizing::FinalZoneSizing( curZoneEqNum ).HeatDesHumRat;
1571+
if ( c->coilDesLvgTemp == -999.0 ) { // don't overwrite if already set directly by setCoilLvgAirTemp
1572+
c->coilDesLvgTemp = DataSizing::FinalZoneSizing( curZoneEqNum ).HeatDesTemp;
1573+
}
1574+
if ( c->coilDesLvgHumRat == -999.0 ) { // don't overwrite if already set directly by setCoilLvgAirHumRat
1575+
c->coilDesLvgHumRat = DataSizing::FinalZoneSizing( curZoneEqNum ).HeatDesHumRat;
1576+
}
15221577
c->coilDesLvgWetBulb = Psychrometrics::PsyTwbFnTdbWPb( c->coilDesLvgTemp, c->coilDesLvgHumRat, DataEnvironment::StdBaroPress, "ReportCoilSelection::setCoilCoolingCapacity" );
15231578
c->coilDesLvgEnth = Psychrometrics::PsyHFnTdbW ( c->coilDesLvgTemp, c->coilDesLvgHumRat );
15241579

src/EnergyPlus/ReportSizingManager.cc

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2935,8 +2935,14 @@ namespace ReportSizingManager {
29352935
//SizingResult is water flow in m3/s
29362936
coilSelectionReportObj->setCoilWaterFlowPltSizNum( CompName, CompType, SizingResult, IsAutoSize, DataPltSizCoolNum, DataWaterLoopNum );
29372937
coilSelectionReportObj->setCoilWaterDeltaT( CompName, CompType , CoilDesWaterDeltaT );
2938-
coilSelectionReportObj->setCoilEntWaterTemp( CompName, CompType , DataGlobals::CWInitConvTemp );
2939-
coilSelectionReportObj->setCoilLvgWaterTemp( CompName, CompType , DataGlobals::CWInitConvTemp + CoilDesWaterDeltaT );
2938+
if ( DataDesInletWaterTemp > 0.0 ) {
2939+
coilSelectionReportObj->setCoilEntWaterTemp( CompName, CompType , DataDesInletWaterTemp );
2940+
coilSelectionReportObj->setCoilLvgWaterTemp( CompName, CompType , DataDesInletWaterTemp + CoilDesWaterDeltaT );
2941+
} else {
2942+
coilSelectionReportObj->setCoilEntWaterTemp( CompName, CompType , DataGlobals::CWInitConvTemp );
2943+
coilSelectionReportObj->setCoilLvgWaterTemp( CompName, CompType , DataGlobals::CWInitConvTemp + CoilDesWaterDeltaT );
2944+
}
2945+
29402946
} else if ( SizingType == HeatingWaterflowSizing ) {
29412947
//SizingResult is water flow in m3/s
29422948
coilSelectionReportObj->setCoilWaterFlowPltSizNum( CompName, CompType, SizingResult, IsAutoSize, DataPltSizHeatNum, DataWaterLoopNum );

0 commit comments

Comments
 (0)