NREL / EnergyPlus

EnergyPlus™ is a whole building energy simulation program that engineers, architects, and researchers use to model both energy consumption and water use in buildings.
https://energyplus.net
Other
1.07k stars 381 forks source link

Possible issue with resistive defrost in `CalcDXHeatingCoil` #10374

Open dmey opened 7 months ago

dmey commented 7 months ago

@rraustad, @nmerket, @ejhw, and @lymereJ I noticed that there was an issue several years ago for CalcMultiSpeedDXCoilHeating (https://github.com/NREL/EnergyPlus/issues/4973) describing what appears to be the same issue (fixed in https://github.com/NREL/EnergyPlus/pull/5025). However, #5025 fixes CalcMultiSpeedDXCoilHeating but not CalcDXHeatingCoil. Compare CalcMultiSpeedDXCoilHeating by https://github.com/NREL/EnergyPlus/commit/265573c7e60724d988ea80b98b7525b7d09c00f0

https://github.com/NREL/EnergyPlus/blob/265573c7e60724d988ea80b98b7525b7d09c00f0/src/EnergyPlus/DXCoils.cc#L10902

vs CalcDXHeatingCoil

https://github.com/NREL/EnergyPlus/blob/265573c7e60724d988ea80b98b7525b7d09c00f0/src/EnergyPlus/DXCoils.cc#L8492)

The HeatingCapacityMultiplier for CalcMultiSpeedDXCoilHeating is applied and backed out but in CalcDXHeatingCoil it is just applied.

I think that ElecHeatingPower should be computed as DXCoil( DXCoilNum ).ElecHeatingPower = TotCap / HeatingCapacityMultiplier * EIR * DXCoil( DXCoilNum ).HeatingCoilRuntimeFraction * InputPowerMultiplier; in both cases as the compressor is still working at full power but the system's efficiency goes down due to defrost/colder temperatures.

Assuming a capacity of 3 kW and defrost of 1 kW, the following plots show the results before and after this proposed change for CalcDXHeatingCoil

image image image

image image image

lymereJ commented 3 months ago

@dmey - I don't see a defect file. Could you please upload one? Thanks!

lymereJ commented 3 months ago

The HeatingCapacityMultiplier for CalcMultiSpeedDXCoilHeating is applied and backed out but in CalcDXHeatingCoil it is just applied.

I think that you may be looking at older code (at least 3 years old). The latest code shows that the multiplier is not applied to TotCap but to TotCapAdj. The latter is used to calculated the coil's PLR but the former is used for the power calculation. I think that this is consistent with what is expected and what you recommend. If you can upload your defect file I'd be happy to update it and run it with the latest code to make sure that this indeed is not an issue anymore.

https://github.com/NREL/EnergyPlus/blob/4ad5c3517910b30e963ae399042b2f46cdefc699/src/EnergyPlus/DXCoils.cc#L11112-L11119