Fix zone multipliers for OA proportional control and design load per area reporting#11259
Fix zone multipliers for OA proportional control and design load per area reporting#11259
Conversation
|
|
|
@mjwitte I don't see anything in these changes to comment on. Looks good so far. |
|
|
| 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.
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.
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.
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.
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.
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.
Pass new parameter for multiplier to reportZoneSizing.
| zoneOrSpace.FloorArea, | ||
| zoneOrSpace.TotOccupants, | ||
| zoneOrSpace.FloorArea * zoneMult, | ||
| zoneOrSpace.TotOccupants * zoneMult, |
There was a problem hiding this comment.
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.
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.
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) |
|
|









Pull request overview
Pull Request Author
Reviewer