-
Notifications
You must be signed in to change notification settings - Fork 425
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Fix water coil user-specified sizing and Component Sizing Summary table for fan coils #7988
Changes from 22 commits
d4f949e
ab9bad4
db898ff
d74f7f6
5d6324e
3cff38c
2af1e0a
76ac382
252c67e
8de1653
13e4f63
3597966
16e7a81
f87c527
ab85069
274d8e3
275f8e1
4b73dbf
6bf93f3
731cbfb
aa64b7e
16ae3db
98f765f
66886ff
d870996
a974a60
a3e45a8
a707072
df4518b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2209,9 +2209,20 @@ namespace WaterCoils { | |
CompName = WaterCoil(CoilNum).Name; | ||
RequestSizing(state, CompType, CompName, CoolingAirflowSizing, SizingString, TempSize, bPRINT, RoutineName); | ||
WaterCoil(CoilNum).InletAirMassFlowRate = StdRhoAir * TempSize; // inlet air mass flow rate is the autosized value | ||
DataAirFlowUsedForSizing = TempSize; // many autosized inputs use the design (autosized) air volume flow rate, save this value | ||
DataFlowUsedForSizing = TempSize; | ||
|
||
// Check if the air volume flow rate is defined in parent HVAC equipment and set water coil design air volume flow rate accordingly | ||
if (CurZoneEqNum > 0) { | ||
if (ZoneEqSizing(CurZoneEqNum).DesignSizeFromParent) { | ||
DataAirFlowUsedForSizing = ZoneEqSizing(CurZoneEqNum).AirVolFlow; | ||
DataFlowUsedForSizing = ZoneEqSizing(CurZoneEqNum).AirVolFlow; | ||
WaterCoil(CoilNum).DesAirVolFlowRate = ZoneEqSizing(CurZoneEqNum).AirVolFlow; | ||
} else { | ||
DataAirFlowUsedForSizing = TempSize; // many autosized inputs use the design (autosized) air volume flow rate, save this value | ||
DataFlowUsedForSizing = TempSize; | ||
} | ||
} else { | ||
DataAirFlowUsedForSizing = TempSize; // many autosized inputs use the design (autosized) air volume flow rate, save this value | ||
DataFlowUsedForSizing = TempSize; | ||
} | ||
if (CurSysNum > 0 && CurOASysNum == 0) { | ||
Real64 DesCoilExitHumRat(0.0); // fix coil sizing inconsistency | ||
GetCoilDesFlowT(CurSysNum, CpAirStd, DesCoilAirFlow, DesCoilExitTemp, DesCoilExitHumRat); | ||
|
@@ -2233,9 +2244,19 @@ namespace WaterCoils { | |
TempSize = AutoSize; | ||
RequestSizing(state, CompType, CompName, CoolingCapacitySizing, SizingString, TempSize, bPRINT, RoutineName); | ||
DataCapacityUsedForSizing = TempSize; | ||
TempSize = WaterCoil(CoilNum).MaxWaterVolFlowRate; | ||
TempSize = AutoSize; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This second change always autosizes the HW coil water flow rate. What if the coil input is hard-sized? And the coil is on the main branch. I am on the fence whether this is OK for zone equipment, but if the fan coil HW flow rate is hard-sized or autosized then that flow rate will be used in the HW coil, even if the HW coil hard-sized the HW flow rate. This is an input over-specification problem and this does correct that. Do all other zone equipment also pass the ZoneEqSizing data, I assume they do, so again this is probably OK. |
||
RequestSizing(state, CompType, CompName, CoolingWaterflowSizing, SizingString, TempSize, bPRINT, RoutineName); | ||
DataWaterFlowUsedForSizing = TempSize; | ||
// Check if the water flow rate is defined in parent HVAC equipment and set water coil design water flow rate accordingly | ||
if (CurZoneEqNum > 0) { | ||
if (ZoneEqSizing(CurZoneEqNum).DesignSizeFromParent) { | ||
DataWaterFlowUsedForSizing = ZoneEqSizing(CurZoneEqNum).MaxCWVolFlow; | ||
WaterCoil(CoilNum).MaxWaterVolFlowRate = ZoneEqSizing(CurZoneEqNum).MaxCWVolFlow; | ||
} else { | ||
DataWaterFlowUsedForSizing = TempSize; | ||
} | ||
} else { | ||
DataWaterFlowUsedForSizing = TempSize; | ||
} | ||
// end pre-sizing data calculations | ||
|
||
if (WaterCoil(CoilNum).WaterCoilModel == CoilModel_Detailed) { // 'DETAILED FLAT FIN' | ||
|
@@ -2579,7 +2600,7 @@ namespace WaterCoils { | |
|
||
FieldNum = 2; // N2 , \field Maximum Water Flow Rate | ||
SizingString = WaterCoilNumericFields(CoilNum).FieldNames(FieldNum) + " [m3/s]"; | ||
TempSize = WaterCoil(CoilNum).MaxWaterVolFlowRate; | ||
TempSize = AutoSize; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same comment as above for always autosizing the HW flow rate whether or not the HW coil input is hard-sized. |
||
SizingMethod = HeatingWaterflowSizing; | ||
|
||
if (WaterCoil(CoilNum).CoilPerfInpMeth == NomCap && NomCapUserInp) { | ||
|
@@ -2594,8 +2615,19 @@ namespace WaterCoils { | |
DataFractionUsedForSizing = 1.0; | ||
} | ||
RequestSizing(state, CompType, CompName, SizingMethod, SizingString, TempSize, bPRINT, RoutineName); | ||
WaterCoil(CoilNum).MaxWaterVolFlowRate = TempSize; | ||
DataWaterFlowUsedForSizing = WaterCoil(CoilNum).MaxWaterVolFlowRate; | ||
// Check if the water flow rate is defined in parent HVAC equipment and set water coil design water flow rate accordingly | ||
if (CurZoneEqNum > 0) { | ||
if (ZoneEqSizing(CurZoneEqNum).DesignSizeFromParent) { | ||
DataWaterFlowUsedForSizing = ZoneEqSizing(CurZoneEqNum).MaxHWVolFlow; | ||
WaterCoil(CoilNum).MaxWaterVolFlowRate = ZoneEqSizing(CurZoneEqNum).MaxHWVolFlow; | ||
} else { | ||
DataWaterFlowUsedForSizing = TempSize; | ||
WaterCoil(CoilNum).MaxWaterVolFlowRate = TempSize; | ||
} | ||
} else { | ||
DataWaterFlowUsedForSizing = TempSize; | ||
WaterCoil(CoilNum).MaxWaterVolFlowRate = TempSize; | ||
} | ||
DataConstantUsedForSizing = 0.0; // reset these in case NomCapUserInp was true | ||
DataFractionUsedForSizing = 0.0; | ||
if (WaterCoil(CoilNum).MaxWaterVolFlowRate <= 0.0) { | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This first change looks OK to me.