Use fan RTF only for cycling fan impact on AFN distribution losses#11571
Open
Use fan RTF only for cycling fan impact on AFN distribution losses#11571
Conversation
Collaborator
|
This seems like AFN should work the same as before. |
|
|
lymereJ
commented
May 4, 2026
Collaborator
Author
lymereJ
left a comment
There was a problem hiding this comment.
Code walkthrough:
Comment on lines
+9795
to
+9797
| OnOffFanRunTimeFraction = m_state.dataAirLoop->AirLoopAFNInfo(AirLoopNum).AFNLoopOnOffFanRTF; | ||
| LoopOnOffFanRunTimeFraction(AirLoopNum) = m_state.dataAirLoop->AirLoopAFNInfo(AirLoopNum).AFNLoopOnOffFanRTF; | ||
| } |
Collaborator
Author
There was a problem hiding this comment.
Only use fan RTF instead of the maximum of the coils and the fan RTF. All functioning air loops should have fans and when fans are cycling their RTF is the same as the coils.
|
|
||
| // Check that the runtime fraction is less than one so the impact of cycling fan is correctly accounted for in the AFN | ||
| EXPECT_TRUE(state->dataAirLoop->AirLoopAFNInfo(1).AFNLoopHeatingCoilMaxRTF < 1); | ||
| EXPECT_TRUE(state->dataAirLoop->AirLoopAFNInfo(1).AFNLoopOnOffFanRTF < 1); |
Collaborator
Author
There was a problem hiding this comment.
Check for fan RTF instead of coil RTF.
|
|
mitchute
approved these changes
May 5, 2026
Comment on lines
+9795
to
+9797
| OnOffFanRunTimeFraction = m_state.dataAirLoop->AirLoopAFNInfo(AirLoopNum).AFNLoopOnOffFanRTF; | ||
| LoopOnOffFanRunTimeFraction(AirLoopNum) = m_state.dataAirLoop->AirLoopAFNInfo(AirLoopNum).AFNLoopOnOffFanRTF; | ||
| } |
Comment on lines
-1897
to
-1908
| if (std::abs(heatingCoil.NominalCapacity) < 1.e-8) { | ||
| if (heatingCoil.AirLoopNum > 0) { | ||
| state.dataAirLoop->AirLoopAFNInfo(heatingCoil.AirLoopNum).AFNLoopHeatingCoilMaxRTF = | ||
| max(state.dataAirLoop->AirLoopAFNInfo(heatingCoil.AirLoopNum).AFNLoopHeatingCoilMaxRTF, 0.0); | ||
| } | ||
| } else { | ||
| if (heatingCoil.AirLoopNum > 0) { | ||
| state.dataAirLoop->AirLoopAFNInfo(heatingCoil.AirLoopNum).AFNLoopHeatingCoilMaxRTF = | ||
| max(state.dataAirLoop->AirLoopAFNInfo(heatingCoil.AirLoopNum).AFNLoopHeatingCoilMaxRTF, | ||
| HeatingCoilLoad / heatingCoil.NominalCapacity); | ||
| } | ||
| } |
Collaborator
There was a problem hiding this comment.
It's great that you were able to strip away so much and keep the same behavior.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull request overview
Alternate approach to #11491 to fix #11490.
Description of the purpose of this PR
This branch produces the same results as #11491 for the defect file from #11490. Instead of using the maximum of the coils RTF and the fan RTF, it just uses the fan since the fan operation should be the factor impacting the AFN distribution losses.
The fan runtime is set here for cycling
Fan:OnOfffans:EnergyPlus/src/EnergyPlus/Fans.cc
Lines 2422 to 2426 in c743985
And here for
Fan:SystemModelobjects:EnergyPlus/src/EnergyPlus/Fans.cc
Lines 3143 to 3155 in c743985
ifis for fan set up with the continuous speed controloutletAirMassFlowRate <= massFlowAtSpeed[0]Pull Request Author
Reviewer