Skip to content

Commit bba813a

Browse files
committed
Found additional locations that the OA was calculated using the flow per person even if not using an appropriate OA flow method.
1 parent 5ae8008 commit bba813a

4 files changed

Lines changed: 18 additions & 10 deletions

File tree

src/EnergyPlus/DualDuct.cc

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -778,7 +778,10 @@ namespace DualDuct {
778778
PeopleFlow = 0.0;
779779
for ( Loop = 1; Loop <= TotPeople; ++Loop ) {
780780
if ( People( Loop ).ZonePtr != Damper( DamperNum ).ActualZoneNum ) continue;
781-
PeopleFlow += People( Loop ).NumberOfPeople * OARequirements( Damper( DamperNum ).OARequirementsPtr ).OAFlowPerPerson;
781+
int damperOAFlowMethod = OARequirements( Damper( DamperNum ).OARequirementsPtr ).OAFlowMethod;
782+
if ( damperOAFlowMethod == OAFlowPPer || damperOAFlowMethod == OAFlowSum || damperOAFlowMethod == OAFlowMax ){
783+
PeopleFlow += People( Loop ).NumberOfPeople * OARequirements( Damper( DamperNum ).OARequirementsPtr ).OAFlowPerPerson;
784+
}
782785
}
783786
Damper( DamperNum ).OAPerPersonByDesignLevel = PeopleFlow;
784787

src/EnergyPlus/MixedAir.cc

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2010,12 +2010,8 @@ namespace MixedAir {
20102010
VentilationMechanical( VentMechNum ).ZoneOAACH = OARequirements( ObjIndex ).OAFlowACH;
20112011
} else { // use defaults
20122012
VentilationMechanical( VentMechNum ).ZoneOAAreaRate( MechVentZoneCount ) = 0.0;
2013-
2014-
if ( OARequirements( ObjIndex ).OAFlowMethod != OAFlowPPer && OARequirements( ObjIndex ).OAFlowMethod != OAFlowSum && OARequirements( ObjIndex ).OAFlowMethod != OAFlowMax ){
2015-
VentilationMechanical( VentMechNum ).ZoneOAPeopleRate( MechVentZoneCount ) = 0.0;
2016-
} else {
2017-
VentilationMechanical( VentMechNum ).ZoneOAPeopleRate( MechVentZoneCount ) = 0.00944;
2018-
}
2013+
// since this is case with no DesSpcOA object, cannot determine the method and default would be Flow/Person which should default to this flow rate
2014+
VentilationMechanical( VentMechNum ).ZoneOAPeopleRate( MechVentZoneCount ) = 0.00944;
20192015
VentilationMechanical( VentMechNum ).ZoneOAFlow( MechVentZoneCount ) = 0.0;
20202016
VentilationMechanical( VentMechNum ).ZoneOAACH = 0.0;
20212017
}
@@ -3027,7 +3023,10 @@ namespace MixedAir {
30273023
ZoneNum = vent_mech.Zone( ZoneIndex );
30283024

30293025
// ZoneIntGain(ZoneNum)%NOFOCC is the number of occupants of a zone at each time step, already counting the occupant schedule
3030-
TotalPeopleOAFlow += ZoneIntGain( ZoneNum ).NOFOCC * Zone( ZoneNum ).Multiplier * Zone( ZoneNum ).ListMultiplier * vent_mech.ZoneOAPeopleRate( ZoneIndex );
3026+
int OAFlowMethod = OARequirements( vent_mech.ZoneDesignSpecOAObjIndex( ZoneIndex ) ).OAFlowMethod;
3027+
if ( OAFlowMethod == OAFlowPPer || OAFlowMethod == OAFlowSum || OAFlowMethod == OAFlowMax ){
3028+
TotalPeopleOAFlow += ZoneIntGain( ZoneNum ).NOFOCC * Zone( ZoneNum ).Multiplier * Zone( ZoneNum ).ListMultiplier * vent_mech.ZoneOAPeopleRate( ZoneIndex );
3029+
}
30313030
}
30323031
vent_mech.TotPeopleOAFlow = TotalPeopleOAFlow;
30333032
}

src/EnergyPlus/SimAirServingZones.cc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4292,7 +4292,9 @@ namespace SimAirServingZones {
42924292
VozClgSum += VbzByZone( CtrlZoneNum ) / FinalZoneSizing( CtrlZoneNum ).ZoneADEffCooling;
42934293
}
42944294
// accumulate values for system ventilation parameters report
4295-
RpPzSum += FinalZoneSizing( CtrlZoneNum ).DesOAFlowPPer * FinalZoneSizing( CtrlZoneNum ).TotPeopleInZone;
4295+
if ( FinalZoneSizing( CtrlZoneNum ).OADesMethod == OAFlowPPer || FinalZoneSizing( CtrlZoneNum ).OADesMethod == OAFlowSum || FinalZoneSizing( CtrlZoneNum ).OADesMethod == OAFlowMax ){
4296+
RpPzSum += FinalZoneSizing( CtrlZoneNum ).DesOAFlowPPer * FinalZoneSizing( CtrlZoneNum ).TotPeopleInZone;
4297+
}
42964298
RaAzSum += FinalZoneSizing( CtrlZoneNum ).DesOAFlowPerArea * FinalZoneSizing( CtrlZoneNum ).TotalZoneFloorArea;
42974299
AzSum += FinalZoneSizing( CtrlZoneNum ).TotalZoneFloorArea;
42984300
VbzSum += VbzByZone( CtrlZoneNum );

src/EnergyPlus/ZoneEquipmentManager.cc

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1268,7 +1268,11 @@ namespace ZoneEquipmentManager {
12681268
}
12691269
}
12701270
FinalZoneSizing( CtrlZoneNum ).TotalZoneFloorArea = ( Zone( ZoneIndex ).FloorArea * Zone( FinalZoneSizing( CtrlZoneNum ).ActualZoneNum ).Multiplier * Zone( FinalZoneSizing( CtrlZoneNum ).ActualZoneNum ).ListMultiplier );
1271-
OAFromPeople = FinalZoneSizing( CtrlZoneNum ).DesOAFlowPPer * TotPeopleInZone;
1271+
if ( FinalZoneSizing( CtrlZoneNum ).OADesMethod == OAFlowPPer || FinalZoneSizing( CtrlZoneNum ).OADesMethod == OAFlowSum || FinalZoneSizing( CtrlZoneNum ).OADesMethod == OAFlowMax ){
1272+
OAFromPeople = FinalZoneSizing( CtrlZoneNum ).DesOAFlowPPer * TotPeopleInZone;
1273+
} else {
1274+
OAFromPeople = 0.0;
1275+
}
12721276
OAFromArea = FinalZoneSizing( CtrlZoneNum ).DesOAFlowPerArea * FinalZoneSizing( CtrlZoneNum ).TotalZoneFloorArea;
12731277
FinalZoneSizing( CtrlZoneNum ).TotPeopleInZone = TotPeopleInZone;
12741278
FinalZoneSizing( CtrlZoneNum ).TotalOAFromPeople = OAFromPeople;

0 commit comments

Comments
 (0)