-
Notifications
You must be signed in to change notification settings - Fork 460
Fix Convective Baseboard with Hard Sizes #10772
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
Conversation
| } | ||
| } else { | ||
| auto &zoneEqSizing = state.dataSize->ZoneEqSizing(state.dataSize->CurZoneEqNum); | ||
| auto const &finalZoneSizing = state.dataSize->FinalZoneSizing(state.dataSize->CurZoneEqNum); |
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.
I wonder why I keep missing these allocation issues. Even here this doesn't look right. At this else, the flow could be autosized and a zone sizing run might not be requested. I think there needs to be a CheckZoneSizing call here to fatal out before the sizing arrays are accessed.
if (!FlowAutoSize && !state.dataSize->ZoneSizingRunDone) {
} else {
std::string_view const CompType = cCMO_BBRadiator_Water;
std::string_view const CompName = this->EquipID;
CheckZoneSizing(state, CompType, CompName);
// now OK to access sizing arrays
auto &zoneEqSizing = state.dataSize->ZoneEqSizing(state.dataSize->CurZoneEqNum);
auto const &finalZoneSizing = state.dataSize->FinalZoneSizing(state.dataSize->CurZoneEqNum);
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.
Several CheckZoneSizing calls were removed in #10721 and consolidated in the precheck function which is now called checkForZoneSizing.
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.
Right. And these references still need to be located where sizing is requested so this is good.
|
I tried to break this without success. The closest I got was reporting baseboard sizing when a Sizing:Plant object exists and otherwise not reporting that data. Since the UA and water flow rate are hard sized this is probably not a big deal. I don't think there is anything to do here so just documenting the fact that several variations of inputs were tested and passed. |
rraustad
left a comment
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.
These changes look sound. Unit test shows expected severe/fatal.
|
Documentation issue is obviously unrelated. I'm doing a quick build locally to verify things. |
|
This one is also happy locally, let's get this in as well. Thanks for this one @mjwitte |
Pull request overview
PlantUtilities::RegisterPlantCompDesignFlowwhich is needed if the baseboard is autosized or hard-sized.BaseboardParams::SizeBaseboardand moves some reference assignments to avoid the crash. Also, theresetSizingFlagBasedOnInputfunction is changed tocheckForZoneSizingwhich callsCheckZoneSizingis anything is autosized.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.