-
Notifications
You must be signed in to change notification settings - Fork 448
Issue Warning Error on negative coil capacity sizing #11197
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
…ative-coil-capacity-sizing
…ative-coil-capacity-sizing
int constexpr SpeedCal{1}; | ||
VariableSpeedCoils::InitVarSpeedCoil(*state, DXCoilNum, SensLoad, LatentLoad, fanOp, OnOffAirFlowRatio, SpeedRatio, SpeedCal); | ||
EXPECT_TRUE(compare_err_stream_substring("entering air temperature is less than design outlet air temperature", true)); | ||
EXPECT_TRUE(compare_err_stream_substring("This will yield negative coil capacity sizing", true)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This unit test should fail. The old message used "will" and the new warning message above uses:
This would yield negative coil capacity sizing
format("On design day {}, cooling coil entering air temperature {:.2R} is less than design supply air temperature {:.2R}. This would " | ||
"yield negative coil capacity sizing for {}.", state.dataSize->FinalSysSizing(state.dataSize->CurSysNum).CoolDesDay, MixTemp, SupTemp, varSpeedCoil.Name)); | ||
ShowContinueError(state, "Cooling capacity is set to zero during sizing; simulation continues."); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Coil sizing is based on enthalpy. Given the sneaky use of a standard capacity if enthalpies are not correct CoilCapAtPeak should never be negative here. I would like to see the 48000 removed (i.e., delete the else) since it just forces a non-zero coil capacity. There is nothing wrong with the coil sizing to 0 if FinalSysSizing conditions warrant that result.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes! Not knowing where it came from, I was reticent to touch a "magic number."
Our main energy modeler, Aaron, suggested that the client might like an even fuller description of the air state that causes a negative capacity, in the vein of this code, even though the eventual coil size = 0 will be valid. |
@tanaya-mankad that would be a good fix for this issue. |
Pull request overview
Description of the purpose of this PR
A client using a proprietary model in E+23.1 noticed that when the design day temperature was cooler than the cooling coil supply temperature, the simulation crashed. This behavior was inadvertently circumvented by a pre-condition check in the DXCoils CBF calculation, that exits early if airflow or total capacity are zero. However, the user is never warned that an input condition caused a negative total capacity to be calculated, which was then zeroed out for safety.
This PR creates a Severe Error to indicate the inverted temperature condition.
Pull Request Author
Reviewer