-
Notifications
You must be signed in to change notification settings - Fork 448
Allow zone terminal unit HW coil UA sizing failure to proceed when using ReverseWithLimit in heating dominated climates #11079
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
this->dataErrorsFound = true; | ||
} else if (SolFla == -2) { | ||
this->errorType = AutoSizingResultType::ErrorType1; | ||
errorsFound = 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.
Failed SolveRoot with a -1 for iterations exceeded or -2 for bad limits are now not an error but instead a diagnostic, with messages and sizing data to aid the user in a resolution,
EXPECT_ENUM_EQ(AutoSizingResultType::NoError, sizer.errorType); | ||
EXPECT_TRUE(sizer.wasAutoSized); | ||
EXPECT_NEAR(3.0, sizedValue, 0.01); // 0.1% of 3000 W capacity | ||
EXPECT_NEAR(3000.0, sizedValue, 0.01); // 100% of 3000 W capacity |
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.
If HW coil UA sizing fails with -2, the maximum UA limit is now used to size the coil. Previously the lower limit was used (because that's what gets returned from SolveRoot when that function fails with -2) and the coil was severely undersized (with associated error and a fatal).
The same warning regarding water coil UA sizing is still reported except that the simulation does not fatal out. There is also a new warning to attempt to provide the user more information to help diagnose the problem. The defect file shows the new warning for the 1st TU without an issue with UA sizing, and also for the 2nd TU that does have an issue with UA sizing.
|
|
Lots of new warnings. I don't know that when the coil UA does size if this warning is helpful. I think I'll add a check for
|
|
|
@rraustad @Myoldmopar it has been 33 days since this pull request was last updated. |
@rraustad @Myoldmopar it has been 44 days since this pull request was last updated. |
@rraustad Looking at this warning, I'm not sure I would understand what to do. My first guess is that the izing:Zone Heating Maximum Air Flow Fraction = 0.30000 [m3/s] is too small. But 0.3 * the zone design cooling air flow rate of 0.21750 [m3/s] would be 0.06525 m3/s which is smaller than the reheat air flow rate o 0.0883486 m3/s, hows that? |
@mjwitte we did discuss what to do if the TU reheat flow was less than the zone design heating flow rate. If I recall the discussion, that would mean the TU could not meet the heating load so we decided to post a warning. I agree the math doesn't work on this file with this new warning so something else is missing when checking this scenario. I wonder if this TU can meet the peak heating load and this warning isn't really needed? or a follow up to 10763 to see why this is happening? With my new features finished I have more time to investigate. |
…78-VAV-ReheatCoil-UASizing-failure
|
|
|
|
Pull request overview
Description of the purpose of this PR
User file failed to size HW coil UA because the Sizing:Zone minimum heating air flow fraction was 0.3 and the zones were heating dominated.
The user file is now failing because of PR 10763, the branch that tried to correct TU air flow rate for all the damper heating options (e.g., ReverseWithLimits). This file uses ReverseWithLimits.
This check is getting hit and the max heating coil air flow rate is less than the zone design air flow rate (the zone is heating dominated).
if (this->DamperHeatingAction == Action::ReverseWithLimits &&
state.dataSize->TermUnitFinalZoneSizing(state.dataSize->CurTermUnitSizingNum).DesHeatVolFlow >
state.dataSize->TermUnitFinalZoneSizing(state.dataSize->CurTermUnitSizingNum).DesHeatVolFlowMax) {
heatingMaxFlow = state.dataSize->TermUnitFinalZoneSizing(state.dataSize->CurTermUnitSizingNum).DesHeatVolFlowMax;
because the inputs show a max heating flow fraction of 0.3:
Sizing:Zone,
0.3, !- Heating Maximum Air Flow Fraction
So at this lower air flow rate the heating coil can't meet the zone heating load during sizing and fails to find a valid UA. Before this code change (PR 10763) the TU heating coil would size for the zone design heating load using the zone design heating air flow rate and would find a valid UA.
So the question is what to do here to fix this? Use the greater of the zone design heating air flow AND the TU max heating air flow rate? just to size the heating coil? I assume this zone was not meeting the zone heating load before (or operating outside design conditions since it's a HW coil) but at least it was able to size, albeit incorrectly (i.e., the heating coil should size using the "TU" design heating air flow rate).
The result of this change is to allow the UA to size with a high UA (i.e., large coil surface area) and proceed with the simulation. An additional warning was added to provide more information for the user to aid in resolution.
Pull Request Author
Reviewer