-
Notifications
You must be signed in to change notification settings - Fork 460
Fix zone multipliers for OA proportional control and design load per area reporting #11259
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
|
|
|
@mjwitte I don't see anything in these changes to comment on. Looks good so far. |
|
|
mjwitte
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.
Code walkthru
| ZoneOAPeople = 0.0; | ||
| if (this->OAFlowMethod != DataSizing::OAFlowCalcMethod::PCDesOcc) { | ||
| ZoneOAPeople = curNumOccupants * thisZone.Multiplier * thisZone.ListMultiplier * this->OAFlowPerPerson; | ||
| ZoneOAPeople = curNumOccupants * this->OAFlowPerPerson; |
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.
Remove multipliers in this case block, because multipliers are applied at the end for all cases.
|
|
||
| // Apply zone multipliers and zone list multipliers | ||
| // TODO MJW: this looks like it's double-counting the multipliers - it *is* double counting for methods PCOccSch and PCDesOcc | ||
| OAVolumeFlowRate *= thisZone.Multiplier * thisZone.ListMultiplier; |
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.
Multipliers are applied here for all OA control types.
| addFootNoteSubTable(state, | ||
| s->pdstZoneClSize, | ||
| "The Design Load is the zone sensible load only. It does not include any system effects or ventilation loads. Values " | ||
| "shown include multipliers."); |
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.
Extend the footnote for HVAC Sizing Summary tables "Value shown include multipliers."
| s->pdchOaMvZoneArea = newPreDefColumn(state, s->pdstOAmechVentParByZone, "Zone Area [m2]"); | ||
| s->pdchOaMvDesZnOa = newPreDefColumn(state, s->pdstOAmechVentParByZone, "Design Zone Outdoor Airflow - Voz [m3/s]"); | ||
| s->pdchOaMvMinDynTrgVent = newPreDefColumn(state, s->pdstOAmechVentParByZone, "Minimum Dynamic Target Ventilation - Voz-dyn-min [m3/s]"); | ||
| s->pdchOaMvZoneMult = newPreDefColumn(state, s->pdstOAmechVentParByZone, "Zone Multiplier"); |
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.
New multiplier column for Outdoor Air Details "by Zone" subtables.
| PreDefTableEntry(state, state.dataOutRptPredefined->pdchOaMvAvgNumOcc, thisZone.Name, avgOcc); | ||
| totalAverageOccupants += avgOcc * zoneMult; | ||
| } else { | ||
| PreDefTableEntry(state, state.dataOutRptPredefined->pdchOaoAvgNumOcc1, thisZone.Name, 0.0); |
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.
Fille some table values with zeros for unoccupied zones (previously the cells were left blank).
| reportZoneSizing(state, | ||
| state.dataHeatBal->space(spaceNum), | ||
| state.dataSize->FinalSpaceSizing(spaceNum), | ||
| state.dataSize->CalcFinalSpaceSizing(spaceNum), | ||
| state.dataSize->CalcSpaceSizing, | ||
| state.dataSize->SpaceSizing, | ||
| mult, | ||
| isSpace); |
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.
Pass new parameter for multiplier to reportZoneSizing.
| zoneOrSpace.FloorArea, | ||
| zoneOrSpace.TotOccupants, | ||
| zoneOrSpace.FloorArea * zoneMult, | ||
| zoneOrSpace.TotOccupants * zoneMult, |
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.
Apply the multiplier to FloorArea and TotOccupants.
| OutputReportPredefined::PreDefTableEntry(state, | ||
| shift + state.dataOutRptPredefined->pdchZnClUserDesLdPerArea, | ||
| curName, | ||
| zsFinalSizing.DesCoolLoad / (zoneOrSpace.FloorArea * zoneMult)); |
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.
Also need to apply the multiplier here for "User Design Load per Area".
|
|
||
| See Pull Request [#11153](https://github.com/NREL/EnergyPlus/pull/11153). | ||
|
|
||
| ### EIO and HTML Table Output: Initialization Summary |
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.
OutputChanges was a bit messed up, so it's cleaned up here, along with a new section at the end for this PR.
|
|
||
| * HVAC Sizing Summary table output values for "User Design Load per Area" have been corrected to properly account for zone multipliers. | ||
|
|
||
| See pull request [#11259](https://github.com/NREL/EnergyPlus/pull/10259) |
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 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.
Whoops, yes.
|
|









Pull request overview
Pull Request Author
Reviewer