-
Notifications
You must be signed in to change notification settings - Fork 389
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
Fix VRF_FluidTCtrl cooling supply fan power calculation when cycling #10341
Merged
Merged
Changes from 17 commits
Commits
Show all changes
59 commits
Select commit
Hold shift + click to select a range
89671cc
consider cycling in VRF fan power calculation
5a00a65
multiply by coil runtime fraction not VRF RTF
9a0cc0b
add fan heat gain adjustment
a033890
Merge remote-tracking branch 'origin/develop' into vrfCoolingFan
8901906
Consider run time fraction in OU fan power
7c1a008
clang-format
aef23cb
Merge remote-tracking branch 'origin/develop' into vrfCoolingFan
5fcc817
Add check of fan index before accessing dataFans->Fan(.)
026be04
fix unit test uninitialized cycling ratio
b9c6bff
clang-format
7d79eac
Move cycling ratio to inside compressor spd calc for heating
aee8c4a
Revert "Move cycling ratio to inside compressor spd calc for heating"
ce65545
Merge remote-tracking branch 'origin/develop' into vrfCoolingFan
9734922
move fan mult RTF to after OU update, as other branch updates RTF
e00e86a
Merge remote-tracking branch 'origin/develop' into vrfCoolingFan
740bd92
add test for OU fan power change
902baea
clang-format
c4c3067
Use OnOffFanPartLoadFraction to control fan power
49b10f0
Merge remote-tracking branch 'origin/develop' into vrfCoolingFan
154343d
resolve merge conflict
21afabe
Merge remote-tracking branch 'origin/develop' into vrfCoolingFan
cf886aa
move fan power mod out of SimulateVAV
aef9b67
resolve unit test by init compressor cycling ratio
d2183c3
Merge remote-tracking branch 'origin/develop' into vrfCoolingFan
26414a6
resolve build error from merge
9de83a1
use optional arg in SimulateVAV to control for cycling
5bb21f0
fix unit and integration tests from optional arg addition
50e57b7
Merge remote-tracking branch 'origin/develop' into vrfCoolingFan
d21a85c
Merge remote-tracking branch 'origin/develop' into vrfCoolingFan
1a07c51
change varname to fanRunTimeFraction, add comments to this arg
f7942a0
Merge remote-tracking branch 'origin/develop' into vrfCoolingFan
733ec7e
use SystemModel for fan object in VRFFluidTCtrl TU
6319656
relax curve output range and fix min x Fan:SystemModel
8ec965f
Merge remote-tracking branch 'origin/develop' into vrfCoolingFan
79a0810
transition code Fan:VariableVolume to Fan:SystemModel
289d5cc
update idd and doc to remove vav fan
6e79143
add transition to delete old VAV fan objects
f0a18f4
Revert "change varname to fanRunTimeFraction, add comments to this arg"
b5fa9ea
Revert "fix unit and integration tests from optional arg addition"
4c834c7
Revert "use optional arg in SimulateVAV to control for cycling"
49e82a0
use old fan name in transition after VAV fans are deleted
6e5166a
remove unused inititialization
cf3b3c5
transition testfiles to use Fan:SystemModel
7dd6720
change all-upper case to pascal-case
19c4aae
fix unit test Fan:VariableVolume to Fan:SystemModel transition
ba1f3cf
Merge remote-tracking branch 'origin/develop' into vrfCoolingFan
a19c990
change ElecPowerMinFlowRateFrac calc, autosize DesignElecPower
dc5c342
change READ to ProcessNumber
d1c3cd7
update err message and call ShowWarningError
3c6c581
use 0.0 as min x value of fan performance curve
698ddbf
min value of system fan curve in idf change to 0
4417664
Merge remote-tracking branch 'origin/develop' into vrfCoolingFan
261699a
remove OU fan adjustment and put it in a different PR
de9baf3
change OnOffFanPartLoadFraction back to use PLF
e03dea0
fix unit test related to OU fan, as it's not fixed here
37471e1
pass in OnOffFanPartLoadFraction of constant 1
bcf4118
fix err message blow->draw through
fabbc97
Merge remote-tracking branch 'origin/develop' into vrfCoolingFan
49fd825
clang-format
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains 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
This file contains 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
Oops, something went wrong.
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.
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.
I'm not sure I like this since here again one model is changing the result of another. The only fan models that change the "fans" result based on cycling is Fan:OnOff and Fan:SystemModel. Should this apply to a fan that operates the entire time step? The fan does not necessarily cycle with the compressor. The way this is done in other models is to set the state.dataHVACGlobal->OnOffFanPartLoadFraction variable and let the fan model decide what to do with power/energy.
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.
The VRF Fluid control model terminal unit only accepts a Fan:VariableVolume object (otherwise there will be an error message
The
Fan:VariableVolume
object is simulated in theSimVariableVolumeFan
function. But in this function, thestate.dataHVACGlobal->OnOffFanPartLoadFraction
was not used anywhere. So I modified the function to access this global variable which holds the coil runtime fraction.Although this affects other non-VRF-FluidCtrl models as well, as the
SimVariableVolumeFan
is not specific to the VRF model.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.
I agree with the idea of not applying a fan that operates for the entire time step and instead letting the fan model decide how to manage the power. Even though
state.dataHVACGlobal->OnOffFanPartLoadFraction
isn't used anywhere for now, it could be used elsewhere in the future . Any insights regarding this issue would be appreciated. @rraustad @mjwitte @EnergyArchmage @MyoldmoparThere 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.
I would agree. The cooling coil should set
state.dataHVACGlobal->OnOffFanPartLoadFraction
. And this should probably be done in a separate branch?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.
@rraustad Do you mean adding
state.dataHVACGlobal->OnOffFanPartLoadFraction
access inSimVariableVolumeFan
function should be done in another separate branch and using cooling coil RTF to setstate.dataHVACGlobal->OnOffFanPartLoadFraction
should be on this branch?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.
The coil object Coil:Cooling:DX:VariableRefrigerantFlow:FluidTemperatureControl doesn't have the Part Load Fraction Correlation Curve Name field, the PLF value is always 1. This is the Fluid cooling model indeed. I'll look at the airflow as well
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.
For the OnOff fan, the fan RTF and air mass flow both resemble the fan power shape.
The following is the fan air mass flow plotted against the cooling coil runtime fraction.
The following is the fan runtime fraction plotted against cooling coil runtime fraction
eplusout_onOffFan_fanAirFlow_vs_coilRTF.xlsx
US+SF+CZ4A+hp+crawlspace+IECC_2006_VRF_onOffFan.idf.zip
@rraustad
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.
Since this PR is more about the variable volume fan (the only non-system-model one accepted by the FluidTCtrl model, maybe we can first try to figure this part out in the current PR and discuss whether to allow for OnOff fans in another separate PR? (or do you feel using OnOff fan instead of variable volume fan should be part of the fix?) Do you feel the current fix in this commit is okay or still not general enough? @rraustad
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.
This branch is fine for the fans allowed for this model. Fan:SystemModel or Fan:VariableVolume. I was just trying to figure out what the fan power and air flow should look like.
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.
I see