Corrects Coil:Heating:Gas:MultiStage to call the gas coil model instead of electric coil model#9525
Conversation
|
@yzhou601 I believe these are the 2 issues. I think to make sure this works as expected a test file is needed that can test both load control and Setpoint control (or 2 test files). This branch just tests for diffs and is not ready to merge without more testing. I already ran the unit tests and all pass. |
| FanOpMode = int(Par[6]); | ||
|
|
||
| HeatingCoils::CalcMultiStageElectricHeatingCoil(state, CoilIndex, SpeedRatio, CycRatio, SpeedNum, FanOpMode, QActual, SuppHeat); | ||
| HeatingCoils::CalcMultiStageGasHeatingCoil(state, CoilIndex, SpeedRatio, CycRatio, SpeedNum, FanOpMode); |
There was a problem hiding this comment.
I was wondering why the CalcMultiStageElectricHeatingCoil passed a SuppHeat argument and see this. Why doesn't this happen regardless if the coil is a heating coil or supplemental heating coil? I think these staged coils (all staged coils) should always use MSHPMassFlowRateLow and MSHPMassFlowRateHigh for the calculations. So if cycling fan the air flow used by the model is the top end flow, and if constant fan the bottom end flow. Something feels off here.
// for cycling fan, reset mass flow to full on rate
if (FanOpMode == CycFanCycCoil) AirMassFlow /= PartLoadRat;
if (FanOpMode == ContFanCycCoil) {
if (!SuppHeat) {
AirMassFlow = state.dataHVACGlobal->MSHPMassFlowRateLow;
}
}
There was a problem hiding this comment.
In the PR #9414 I removed MSHPMassFlowRateHigh and MSHPMassFlowRateLow in other calculations. You will see they're equivalent if you write down all the previous equations and offset against variables. And for supplemental coil, isn't it good enough to pass the inlet airflow rate for constant fan?
There was a problem hiding this comment.
I did it in this way because MSHPMassFlowRateLow and MSHPMassFlowRateHigh are basically only set for main coils, I don't think it's worth creating two additional variables and setting proper values specifically for supplemental coils if there's no obvious reason to do so. I will give it a second thought tomorrow.
There was a problem hiding this comment.
Current approach is consistent with single speed electric coil (the same function is called for both supplemental coils and main heating coils):
https://github.com/NREL/EnergyPlus/blob/develop/src/EnergyPlus/HeatingCoils.cc#L1978-L1987.
When it's constant fan, simply pass the InletAirMassFlowRate otherwise divide it by part load ratio. (when cycling at lowest speed)
Even though they're consistent, I still got questions: The part load ratio being divided here is the supplemental coil part load ratio instead of the main coil part load ratio. Is it correct? It means if the main heating coil runs 100%, while the PLR of supp coil <1, then the enthalpy/temperature at outlet is calculated with airflow rate (inlet airflow/suppcoilPLR), is inlet airflow the full airflow rate?(is it determined by main coil?). Another case is that the main coil is not enabled (eg. outdoor temperature too low), then the backup coil will be the only heating source, will the airflow be determined by its PLR? I think the only doubt from me is to make sure the part load ratio being divided makes sense for both situations.
I assume this still captures the status of this PR. It's clean for CI, but this indicates additional testing/results/plots are needed to verify the changes. |
|
@rraustad could you clarify the intent/status of this PR? |
|
This issue/PR was intended to fix a couple things found during the multistage heating coil add-on as supp heater to UnitarySystem. I wanted to get back to this to look for more. This initial commit corrects 2 things found during review of the MS heating coil work by @yzhou601. I think @yzhou601 and I are both in agreement that these 2 changes are needed. We could get this part of the review into develop, I am OK with that, and would just open a new issue to remind me to go after what else we think is wrong. |
|
@Myoldmopar there are no diffs or merge conflicts here therefore I did not pull develop and run CI tests again. |
|
Quick paste-o fix and use of the proper calc function, this is fine, let's merge and move on. |
Pull request overview
NOTE: ENHANCEMENTS MUST FOLLOW A SUBMISSION PROCESS INCLUDING A FEATURE PROPOSAL AND DESIGN DOCUMENT PRIOR TO SUBMITTING CODE
Pull Request Author
Add to this list or remove from it as applicable. This is a simple templated set of guidelines.
Reviewer
This will not be exhaustively relevant to every PR.