AirloopHVAC:UnitarySystem shows iteration control failure for water coils at very low load #9991
Open
1 of 3 tasks
Labels
Defect
Includes code to repair a defect in EnergyPlus
Issue overview
A new example file for #9979 shows iteration failures for water coils (Coil:Cooling:Water in this example file) used in UnitarySystem. Since these zone UnitarySystems are used as backup cooling equipment in zones served by air loop PIU units, the air loop meets mostly the entire zone load leaving only small loads to be met by the UnitarySystem. The UnitarySystem has an internal cutoff of a minimum of 5 watts for load control.
** Warning ** Coil control failed for AirLoopHVAC:UnitarySystem:PERIMETER_BOT_ZN_1_ZONECOOLING
** ~~~ ** sensible part-load ratio determined to be outside the range of 0-1.
** ~~~ ** Sensible load to be met = -5.51 (watts), and the simulation continues.
** ~~~ ** Environment=ANNUAL, at Simulation time=01/03 11:53 - 12:00
A defect file was created and shows the same warning:
** Warning ** Coil control failed for AirLoopHVAC:UnitarySystem:SPACE1-1_ZONECOOLING
** ~~~ ** sensible part-load ratio determined to be outside the range of 0-1.
** ~~~ ** Sensible load to be met = -12.07 (watts), and the simulation continues.
** ~~~ ** During Warmup, Environment=RUN PERIOD 1, at Simulation time=01/01 20:09 - 20:12
This is a result of an initialization executing too early. In these files, the fan air flow rate was hard-sized while the water cooling coil was autosized.
Since the fan had a valid air flow rate, this section of code executed before the water coil sized and the FanSpeedRatio variables were calculated as negative values (because autosize is represented as -99999 in code) where in this cooling only UnitarySystem m_CoolingFanSpeedRatio = - 99999 / 0.22. This then led to incorrect code execution affecting the fan flow variables. This is the only place where these FanSpeedRatio variables get set so must be executed at the correct time.
This creates a discontinuity in the iteration algorithm where a solution cannot be found. The correct solution would use a part-load ratio small enough to cause the air mass flow rate to be below 0.001 (i.e., coil air mass flow rate = coil max air mass flow rate * PartLoadRatio) where the water coil would be turned off. Since this is a constant fan operating mode issue, the problem was corrected by ensuring the FanSpeedRatio variables were set correctly.
This issue can be corrected by waiting until sizing has completed by changing this in initUnitarySystems:
to this:
And then the fan will use the correct air mass flow rate. It is unclear at this time if this change will affect any existing example files or unit tests. This change also corrects the issue for the new example file in #9979.
Details
Some additional details for this issue (if relevant):
Checklist
Add to this list or remove from it as applicable. This is a simple templated set of guidelines.
The text was updated successfully, but these errors were encountered: