Open rraustad opened 3 years ago
Investigation shows it's not the reporting, since these equations do look exactly alike, but the calculation of the rate variables. PTUnits use the old method of calculating delivered capacity.
SpecHumOut = state.dataLoopNodes->Node(OutletNode).HumRat;
SpecHumIn = state.dataLoopNodes->Node(InletNode).HumRat;
QLatUnitOut = AirMassFlow * (SpecHumOut - SpecHumIn); // Latent rate, kg/s (dehumid = negative)
QSensUnitOutNoATM = AirMassFlow * (PsyHFnTdbW(state.dataLoopNodes->Node(OutletNode).Temp, state.dataLoopNodes->Node(InletNode).HumRat) -
PsyHFnTdbW(state.dataLoopNodes->Node(InletNode).Temp, state.dataLoopNodes->Node(InletNode).HumRat));
QTotUnitOut = AirMassFlow * (state.dataLoopNodes->Node(OutletNode).Enthalpy - state.dataLoopNodes->Node(InletNode).Enthalpy);
while UnitarySystem uses the new method.
CalcZoneSensibleLatentOutput(AirMassFlow,
state.dataLoopNodes->Node(OutletNode).Temp,
state.dataLoopNodes->Node(OutletNode).HumRat,
state.dataLoopNodes->Node(this->NodeNumOfControlledZone).Temp,
state.dataLoopNodes->Node(this->NodeNumOfControlledZone).HumRat,
SensibleOutput,
LatentOutput,
TotalOutput);
When this difference is accounted for there are no differences in results.
Issue overview
Follow up to #9052.
Testing shows the report variables for parent energy are different. It appears that the packaged terminal model reports correctly since there can be a latent cooling rate during heating mode when outdoor air is considered. Suggest adopting the method used by PTHP.
PTHP:
UnitarySystem:
The major difference is in the latent cooling or heating energy since total and sensible cooling or heating occur when the unit is in cooling or heating mode, respectively. Figure compares example file PackagedTerminalHeatPump from V9.5 to V9.6.
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.