Fix HPWH coil removing heat from tank#4670
Conversation
…king out of the loop if the tank setpoint was overshot #4558
… the right coil heat transfer rate. Also fixing some tab vs spaces issues. #4558
…ave duplicate code blocks hanging around. #4558
… the CalcWaterThermalTankMixed, still need to do stratified tank.
…WaterThermalTank easier to read.
…rThermalTankStratified #4558
…ature for reporting #4558
…loop connected hpwhs
There was a problem hiding this comment.
@nmerket Why an assert here instead of a warn and correct? Should it truly be impossible for a broken user file to result in a negative deltaT?
There was a problem hiding this comment.
Hmmm, I suppose if the heat pump was attached to the tank backwards it could possibly be negative. Does the IDF construction allow that? Maybe I'll see if I can create an IDF that hits this error. If it is possible I'll change it to be a warning or error instead of assert.
There was a problem hiding this comment.
I cannot seem to create an input file that hits this error without hitting other errors first. I'm leaning towards the assertion because:
- It will not negatively affect the code coverage test.
- Hitting this error means that someone has been messing around in the source code anyway.
|
@Myoldmopar are these coverage tests failing going to be a problem? |
|
No, we just need to set the baseline properly. It's fine for now. Unless I'm missing something, @kbenne? |
There was a problem hiding this comment.
These must be added back in to turn on the DX Cooling coil on the air side of the HPWH
There was a problem hiding this comment.
Lines 6849, 6852, and 6853. Not sure if all are needed of if other code below is needed as well. I will add these back in to my code to see if this turns on the air-side DX coil.
There was a problem hiding this comment.
OK, I see these are included below at line 7028. However, I don't think applying PLR there is correct.
There was a problem hiding this comment.
@rraustad The vast majority of this section of the diff was to clean up the code so we don't have duplicate blocks of code doing the same thing in two places. It's functionally equivalent to what was there before. I went to great lengths to verify that when I moved all this around it didn't change the calculations or results. So, yes 7028 does the exact same thing 6849 and 7002 did, but now in one line. The PLR of 1.0 is applied there if it started out in heating mode. Then it is corrected later using that false position solver and the residual calculations.
I guess what I'm saying is that if the DXCoil isn't turning on when it should, it's not because of this change.
|
I agree. The HPWH air-side fan is autosizing to 0 in defect file 4455 (and possibly some example files) which is unrelated to this issue. Interestingly, this does not stop the HPWH from operating even though the air flow through the DX evap coil is 0. Only the DX coil outputs are meaningless. The tank and HPWH heating coil outputs seem to be working correctly. |
|
That's odd. Makes me think that the DX coil is working but there's a problem getting that info to the outputs. |
|
It looks like it's just a fan autosizing issue. If I move the fan to after the coil (drawthru), the coil outputs are correct and air flows through the DX coil on the air-side. However, the fan outputs for RTF and outlet node Vdot both show 0. So this is a separate issue. |
…tank 4558 hpwh coil removing heat from tank
|
HPWH example file is working correctly although there is a mismatch in source and use side heat transfer rates as described in this conversation. The COP's in the original defect file look much better now than before. There are still things that need fixing (e.g., issue 4693 fan not autosizing, and source/use heat transfer rate) but those will get addressed as different issues. |



This is finally happening. This addresses issue #4558 and by extension #4455.
CalcHeatPumpWaterHeaterCalcWaterThermalTankMixedandCalcWaterThermalTankStratifiedthat was causing the source side heat transfer rate to go negative by changing logic to treat heat pump water heater source side inlet heat transfer as a constant heat rate during a timestep instead of a constant temperature.CalcHeatPumpWaterHeater,CalcWaterThermalTankMixed, andCalcWaterThermalTankStratifiedremoving unnecessary duplicate code blocks for heating mode and converting to use references for the tank and heat pump water heater structs, which helps with readability.Reviewer:
@rraustad