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
Include lighting return air fraction input during sizing when ZoneAirMassFlowConservation is used #10469
Include lighting return air fraction input during sizing when ZoneAirMassFlowConservation is used #10469
Conversation
Defect file results when RA fraction = 0.2:
Defect file results when RA fraction = 0.0:
20% of Zone 1 lighting is 1584 * 0.2 = 316.8, plus 2638.67 = 2955.47 for summer design day where lighting schedule = 1, and a fraction of 0.05 for winter design day yields 316.8 * 0.05 + 3847.49 = 3863.33.
|
AdjustedTotalReturnMassFlow = min(AdjustedTotalReturnMassFlow, zoneEquipConfig.AirLoopDesSupply); | ||
if (!state.dataGlobal->DoingSizing) { | ||
AdjustedTotalReturnMassFlow = min(AdjustedTotalReturnMassFlow, zoneEquipConfig.AirLoopDesSupply); | ||
} |
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.
There are actually 3 places that need this change (line 4564). However, I would rather find a place during zone sizing where zoneEquipConfig.AirLoopDesSupply could be set = to zone air mass flow rate for this time step. This would eliminate these conditionals during the simulation. I have not found that place yet.
Also not sure what the purpose of this test is other than for single zone air loops. And if there are 2 air loops connected to the zone then the AirLoopDesSupply from the second will be used. For multi-zone air loops this seems like it could be improved but given the zone RA flow is based on zone supply, exhaust and mixing then not sure how to do that. This variable is set one time in SimAirServingZones::InitAirLoops to the design system flow rate.
for (int ZoneNum = 1; ZoneNum <= state.dataGlobal->NumOfZones; ++ZoneNum) {
if (!state.dataZoneEquip->ZoneEquipConfig(ZoneNum).IsControlled) continue;
// sets design supply air flow rate in the ZoneEquipConfig struct for use with zone air mass balance
for (int returnNum = 1; returnNum <= state.dataZoneEquip->ZoneEquipConfig(ZoneNum).NumReturnNodes; ++returnNum) {
int airLoop = state.dataZoneEquip->ZoneEquipConfig(ZoneNum).ReturnNodeAirLoopNum(returnNum);
if (airLoop > 0) {
state.dataZoneEquip->ZoneEquipConfig(ZoneNum).AirLoopDesSupply = state.dataAirLoop->AirLoopFlow(airLoop).DesSupply;
}
}
}
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 agree that this needs improvement to allow for multiple air loops serving the same zone.
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.
Added issue #10493.
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.
Code changes seem reasonable here.
max(0.0, TotInletAirMassFlowRate - TotExhaustAirMassFlowRate + ZoneMixingNetAirMassFlowRate); | ||
if (!state.dataGlobal->DoingSizing) { | ||
AdjustedTotalReturnMassFlow = min(AdjustedTotalReturnMassFlow, zoneEquipConfig.AirLoopDesSupply); | ||
} |
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'm all for shrinking the scope of these variables. Definitely helps make sure we know what the intent of the variable is when reviewing the code. Otherwise I have no comment on it.
@mjwitte do you have any additional comments/review on this one? If not then I'm inclined to merge it soon. |
FWIW, it builds and tests happily with updated develop pulled in. |
@Myoldmopar I'll take a quick look see. |
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.
@rraustad This looks good as a part 1. Please post a new issue for the comment below.
AdjustedTotalReturnMassFlow = min(AdjustedTotalReturnMassFlow, zoneEquipConfig.AirLoopDesSupply); | ||
if (!state.dataGlobal->DoingSizing) { | ||
AdjustedTotalReturnMassFlow = min(AdjustedTotalReturnMassFlow, zoneEquipConfig.AirLoopDesSupply); | ||
} |
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 agree that this needs improvement to allow for multiple air loops serving the same zone.
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.