Open mjwitte opened 1 year ago
This is a known issue. The VS coil takes design zone air flow and calculates capacity, then uses that capacity to back calculate "coil" air flow rate. That air flow rate could be higher or lower than the design zone flow rate. The parent then uses the coil flow rate as the operating flow rate. The other components in the system do not know of this change in design zone air flow rate. Fans and TUs (and anything else that happens to be in the same air stream) will still operate at the zone design air flow rate.
if (state.dataFurnaces->Furnace(FurnaceNum).CoolingCoilType_Num == Coil_CoolingAirToAirVariableSpeed) {
errFlag = false;
if (state.dataFurnaces->Furnace(FurnaceNum).bIsIHP) {
state.dataFurnaces->Furnace(FurnaceNum).CoolingCoilIndex = GetCoilIndexIHP(state, CoolingCoilType, CoolingCoilName, errFlag);
IHPCoilName = state.dataIntegratedHP->IntegratedHeatPumps(state.dataFurnaces->Furnace(FurnaceNum).CoolingCoilIndex).SCCoilName;
state.dataFurnaces->Furnace(FurnaceNum).MaxCoolAirVolFlow =
GetCoilAirFlowRateVariableSpeed(state, "COIL:COOLING:DX:VARIABLESPEED", IHPCoilName, errFlag);
} else {
state.dataFurnaces->Furnace(FurnaceNum).MaxCoolAirVolFlow =
GetCoilAirFlowRateVariableSpeed(state, CoolingCoilType, CoolingCoilName, errFlag);
}
So, who should win this argument? If the fan and TUs are sized to X and the coil is sized to Y, then the coil shouldn't ever operate at a flow >X. Either that, or the coil should adjust it's capacity to match the flow at X. It could throw a warning in that case.
It would be nice if the coil model could somehow adjust to the zone design flow rate. I just don't see how that could happen without deviating from the flow to capacity inputs in this coil model. Not allowing the coil to operate at Y flow when greater than X means the coil does not have the capacity to meet the zone load. Well, sort of, the coil can operate at an off-design air flow, it's just that these flow to capacity inputs are now not adhered to. We allow that with the other DX coils but that typically happens for non-autosized inputs. When the air flow turns out to be less than zone design air flow (Y < X) the coil does have the capacity to meet the zone load but is operating at a flow rate lower than zone design, which doesn't seem like a bad thing except that all other components are oversized.
These scaling inputs of capacity and air flow should mean something and this flow to capacity ratio is fixed, so scaling air flow would adjust capacity in the same proportion. Coil capacity is already sized to meet the zone load at an adjusted flow rate. Lowering air flow (Y > X so we lower to Y = X) would undersize capacity and raising air flow would oversize capacity (but should never need to happen?).
Coil:Cooling:DX:VariableSpeed,
36991.44197, !- Speed 1 Reference Unit Gross Rated Total Cooling Capacity {W}
3.776, !- Speed 1 Reference Unit Rated Air Flow Rate {m3/s}
How would a designer choose this coil type for a given application? Oversize capacity so that the design air flow matches the application (Y = X)? or choose a coil with sufficient capacity and then operate at off-design air flow (Y > X and will operate at X)? or choose capacity and then down-size design air flow (Y < X and will operate at Y)? Manufacturers must have a method for sizing this type of coil for a given application.
It seems that this coil model does not adhere to the zone design cooling supply air temperature input because you get the design zone capacity at a different air flow rate. When air flow is lower than design it's not a problem, the parent operates at a flow rate lower than design and can still meet the load. When air flow is greater than design, this issue gets posted. This just made me think, I could adjust the zone design cooling SAT and match this coil's flow to capacity ratio.
Maybe the simple answer is to allow the parent to operate at the design zone air flow rate and you get what you get from the coil (this assumes the off-design mass flow performance adjustment in the DX coil model is applied). Let the coil size however it wants and then still operate at the zone design air flow. Then figure out if anything else needs to be done to meet the load in all sizing scenarios (i.e., flow to capacity ratios).
What I have tried to do in the past is upsize the fan for this case (Y > X) but that is 1) hard to do, and 2) currently leaves the TU undersized.
If we're going to honor this coil's cfm/ton inputs, then perhaps in Sizing:System, the Cooling Supply Air Flow Rate Method should be FlowPerCoolingCapacity. If the system sizing wants more airflow than the zone sizing called for it will adjust the zone airflows to match.
If we're going to honor this coil's cfm/ton inputs, then perhaps in Sizing:System, the Cooling Supply Air Flow Rate Method should be FlowPerCoolingCapacity. If the system sizing wants more airflow than the zone sizing called for it will adjust the zone airflows to match.
That doesn't work as expected. The system air flow is larger, but then the coil sizes even larger, apparently due to the higher airflow. I would have expected the system cooling design load to remain the same after the airflow adjustment.
The idea that the system will operate at the child flow rate may have been flawed from the start. It seems it should be the other way around. I will talk to Trane about how this type of coil is sized for a given application. I wonder if these flow per capacity inputs are even a concern in real world applications.
OK, here's what Trane said. When choosing a coil for a given application, the reference air flow rate and capacity are provided along with the supply air condition. The manufacturer then uses that information to pick a coil. That coil will still operate at the reference air flow rate but needs to meet the supply air condition specified. If a specific coil cannot meet the supply air condition at the reference flow rate a larger coil is chosen such that at the reference air flow rate the target supply air condition is met.
So there is upsizing involved for certain coil characteristics since the flow per capacity ratio is different for different coil lines. Maybe this can be done entirely within the coil model. Not sure yet how to do that but it seems the burden is on the coil model not the sizing results.
Issue overview
DirectIndirectEvapCoolersVSAS has several AirLoopHVAC:UnitaryHeatCool systems with COIL:COOLING:DX:VARIABLESPEED. This file has max iteration warnings on the summer design day. Looking at the system node flow rates shows that the furnace inlet node flow rate is often higher than the rest of the nodes in the system.
FURNACE_PACU_CAV:1_OA-FURNACE_PACU_CAV:1_Unitary_PackageNode is the:
The furnace is setting the airflow rate at it's inlet node here in
Furnaces::SetVSHPAirFlow
.Because this node is the fan inlet node, the changes tested in https://github.com/NREL/EnergyPlus/commit/837d1e5edb4738d98c8797660f7c8e9820ddd9c2 caused big diffs and got rid of the max iteration warnings. But that's just covering up a deeper sizing issue.
The eio sizing results show the discrepancy in airflow rates for the DX coil 0.649 and the parent system 0.540.
Details
Some additional details for this issue (if relevant):
Version of EnergyPlus v23.1 https://github.com/NREL/EnergyPlus/commit/80ee949bcdbd9a8e6d807e5db1bd8d123a36a0c7
Reference #8802 and #9897
Checklist
Add to this list or remove from it as applicable. This is a simple templated set of guidelines.
[x] Defect file attached: DirectIndirectEvapCoolersVSAS-Develop-ExtraWarns.idf.txt
[ ] Ticket added to Pivotal for defect (development team task)
[ ] Pull request created (the pull request will have additional tasks related to reviewing changes that fix this defect)