Skip to content
Draft
16 changes: 14 additions & 2 deletions src/EnergyPlus/UnitarySystem.cc
Original file line number Diff line number Diff line change
Expand Up @@ -8195,8 +8195,20 @@ namespace UnitarySystems {

if (this->m_SuppCoilExists &&
(state.dataUnitarySystems->HeatingLoad || state.dataUnitarySystems->CoolingLoad || state.dataUnitarySystems->MoistureLoad < 0.0)) {
if ((FullSensibleOutput < (state.dataUnitarySystems->QToHeatSetPt - HVAC::SmallLoad)) && !FirstHVACIteration) {
SupHeaterLoad = max(0.0, state.dataUnitarySystems->QToHeatSetPt - FullSensibleOutput);
Real64 suppLoadTarget = state.dataUnitarySystems->QToHeatSetPt;
if (state.dataUnitarySystems->HeatingLoad) {
if (ZoneLoad > suppLoadTarget) {
suppLoadTarget = ZoneLoad;
}
// QToHeatSetPt can be negative when the predictor overestimates
// zone temp. Floor at 0 so supp fires when primary can't
// achieve neutral output. (#11039)
if (suppLoadTarget < 0.0) {
suppLoadTarget = 0.0;
}
}
if ((FullSensibleOutput < (suppLoadTarget - HVAC::SmallLoad)) && !FirstHVACIteration) {
SupHeaterLoad = max(0.0, suppLoadTarget - FullSensibleOutput);
this->m_SupHeaterLoad = 0.0;
// what does this line even do? I know we want the supplemental heater on only if there is a dehum load,
// but for HP's the supp heater should also run if the heating coil can't turn on
Expand Down
Loading
Loading