Skip to content

Commit

Permalink
Revise OA system fan sizing methodology
Browse files Browse the repository at this point in the history
  • Loading branch information
rraustad committed Nov 8, 2024
1 parent 0d248a0 commit b249e6f
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 10 deletions.
2 changes: 0 additions & 2 deletions src/EnergyPlus/AirLoopHVACDOAS.cc
Original file line number Diff line number Diff line change
Expand Up @@ -994,13 +994,11 @@ namespace AirLoopHVACDOAS {
this->GetDesignDayConditions(state);

if (this->m_FanIndex > 0 && this->m_FanTypeNum == SimAirServingZones::CompType::Fan_System_Object) {
state.dataFans->fans(this->m_FanIndex)->maxAirFlowRate = sizingMassFlow / state.dataEnvrn->StdRhoAir;
state.dataLoopNodes->Node(this->m_FanInletNodeNum).MassFlowRateMaxAvail = sizingMassFlow;
state.dataLoopNodes->Node(this->m_FanOutletNodeNum).MassFlowRateMaxAvail = sizingMassFlow;
state.dataLoopNodes->Node(this->m_FanOutletNodeNum).MassFlowRateMax = sizingMassFlow;
}
if (this->m_FanIndex > 0 && this->m_FanTypeNum == SimAirServingZones::CompType::Fan_ComponentModel) {
state.dataFans->fans(this->m_FanIndex)->maxAirFlowRate = sizingMassFlow / state.dataEnvrn->StdRhoAir;
state.dataFans->fans(this->m_FanIndex)->minAirFlowRate = 0.0;
state.dataFans->fans(this->m_FanIndex)->maxAirMassFlowRate = sizingMassFlow;
state.dataLoopNodes->Node(this->m_FanInletNodeNum).MassFlowRateMaxAvail = sizingMassFlow;
Expand Down
10 changes: 2 additions & 8 deletions src/EnergyPlus/Autosizing/SystemAirFlowSizing.cc
Original file line number Diff line number Diff line change
Expand Up @@ -778,14 +778,8 @@ Real64 SystemAirFlowSizer::size(EnergyPlusData &state, Real64 _originalValue, bo

} else {
if (this->curOASysNum > 0) {
if (this->oaSysEqSizing(this->curOASysNum).AirFlow) {
// Parent object sets system flow rate
this->autoSizedValue = this->oaSysEqSizing(this->curOASysNum).AirVolFlow;
} else if (this->oaSysEqSizing(this->curOASysNum).CoolingAirFlow || this->oaSysEqSizing(this->curOASysNum).HeatingAirFlow) {
// Parent object sets heating flow rate
this->autoSizedValue = std::max(this->oaSysEqSizing(this->curOASysNum).CoolingAirVolFlow,
this->oaSysEqSizing(this->curOASysNum).HeatingAirVolFlow);
} else if (outsideAirSys(this->curOASysNum).AirLoopDOASNum > -1) {
// should a parent object ever override DOAS or OASystem flow rate (e.g., using oaSysEqSizing().AirVolFlow)?
if (outsideAirSys(this->curOASysNum).AirLoopDOASNum > -1) {
this->autoSizedValue =
this->airloopDOAS[outsideAirSys(this->curOASysNum).AirLoopDOASNum].SizingMassFlow / state.dataEnvrn->StdRhoAir;
} else {
Expand Down

4 comments on commit b249e6f

@nrel-bot-2c
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

10814-DOAS-vector-issue (rraustad) - x86_64-Linux-Ubuntu-22.04-gcc-11.4-IntegrationCoverage-RelWithDebInfo: Tests Failed (0 of 0 tests passed, 0 test warnings)

Build Badge Test Badge Coverage Badge

@nrel-bot-2
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

10814-DOAS-vector-issue (rraustad) - x86_64-Linux-Ubuntu-22.04-gcc-11.4: OK (2916 of 2916 tests passed, 0 test warnings)

Build Badge Test Badge

@nrel-bot
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

10814-DOAS-vector-issue (rraustad) - Win64-Windows-10-VisualStudio-16: OK (2894 of 2894 tests passed, 0 test warnings)

Build Badge Test Badge

@nrel-bot-2b
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

10814-DOAS-vector-issue (rraustad) - x86_64-Linux-Ubuntu-22.04-gcc-11.4-UnitTestsCoverage-RelWithDebInfo: OK (2098 of 2098 tests passed, 0 test warnings)

Build Badge Test Badge Coverage Badge

Please sign in to comment.