-
Notifications
You must be signed in to change notification settings - Fork 378
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
Controller:OutdoorAir "Heat Recovery Bypass Control Type" causing erratic oa rates #4568
Comments
In ControllerOutdoorAir change the default value for field "Heat Recovery Bypass Control Type" from "BypassWhenOAFlowGreaterThanMinimum" to "BypassWhenWithinEconomizerLimits". The old value was majorly messing up oa rates even when there is no heat recovery device. This corrects unmet hours in CBECC lab model, which is approximatly system 7, but with exahaust fans and 100% oa. Many other models could be inflicted with this problem, which ultimately is an EnergyPlus bug documented here: NREL/EnergyPlus#4568. The scope of this issue in OpenStudio models is unclear but is being investigated with the EnergyPlus issue 4568. It may or may not be isolated to 100% OA and/or exhaust fans. [#81583558]
In ControllerOutdoorAir change the default value for field "Heat Recovery Bypass Control Type" from "BypassWhenOAFlowGreaterThanMinimum" to "BypassWhenWithinEconomizerLimits". The old value was majorly messing up oa rates even when there is no heat recovery device. This corrects unmet hours in CBECC lab model, which is approximatly system 7, but with exahaust fans and 100% oa. Many other models could be inflicted with this problem, which ultimately is an EnergyPlus bug documented here: NREL/EnergyPlus#4568. The scope of this issue in OpenStudio models is unclear but is being investigated with the EnergyPlus issue 4568. It may or may not be isolated to 100% OA and/or exhaust fans. [#81583558]
Helpdesk ticket 10673 These files have been added as defect files. Upping the priority on this. |
At around line 4190 in MixedAir.cc there is a test. I suspect this test occurs whether or not a HX exists. // set the air loop economizer and high humidity control flags. // Optional heat recovery bypass control flag uses additional logic to allow ERV optimization I can think of 2 ways to fix this. 1) check for HX and if not present flip the HeatRecoveryBypassControl type back to default, or 2) include a HXPresent flag in this IF test. |
@rraustad If there is no HX present, then it shouldn't matter what the bypass status is set to. Why does this test change anything? It should simply set a flag that gets ignored because there is no HX to look at it. |
I agree with you it should be ignored, but it appears it's not ignored (so I would look here first). At line 4213: AirLoopControlInfo( AirLoopNum ).EconomizerFlowLocked = true; then at line 4236: I still think my suggestion above would fix this, but it's still a guess until it's tested. |
There is already a way to check for a OAHX, still TBD whether that flag can be used for this fix.
|
@rraustad I still contend this should not be necessary. Something else somewhere is misusing the bypass flag. |
Defect files have been added. There is more going on than just the Heat Recovery Bypass Control Type Field. For 5ZoneAirCooled, I could not reproduce the problem without using the exact Controller:OutdoorAir object shown above (from @kbenne ). For the user files (check the flow at "Node 47") I did make a variant which removes Controller:MechanicalVentilation for the first system, and the problem still shows. I suspect some of the other economizer limit fields may be impacting this (which would be why I couldn't reproduce it with plain vanilla 5ZoneAirCooled). For the user files, BypassWhenOAFlowGreaterThanMinimum gives the correct OA flow at Node 47 (0.54899 is the autosized min OA flow rate) while BypassWhenWithinEconomizerLimits give the wrong OA flow rate (0.3271). Note that both files always report zero for Economizer Status and Heat Recovery Bypass Status. |
+1 |
@kbenne @Myoldmopar @rraustad @wfbuhl Right out of the gate, it's landing in this block of code:
Stay tuned . . . |
This BypassWhenOAFlowGreaterThanMinimum section of code was introduced initially for CR9030 / #3803 with this commit And then modified for CR9054 / #3826 with this commit |
The point here was to use the minimum OA flow rate if the heating coil IDD: Maybe that line should also check for SA flow rate to see which is I wouldn't think it would hurt to use|(the point was just to go to a OAController( OAControllerNum ).OAMassFlow = min( SAFlow, AirLoopFlow( I would check where the OA flow is capped by the minimum to see where This falls into the issue of locking down the OA controller when some On 9/9/2015 10:06 AM, Michael J. Witte wrote:
Richard Raustad Program Director |
@rraustad But this isn't testing if OAflow is > minimum anymore. And BypassWhenOAFlowGreaterThanMinimum should only touch the HX bypass flag, and it should only take action when OAflow is > minimum. So resetting OA flow to minimum based on this flag seems wrong. My simple mind says the economizer should make it's decision about OA flow rate regardless of the HX bypass option (which I think it is already doing). Then Heat Recovery Bypass Control Type option should set the bypass flag true if within economizer limits (BypassWhenWithinEconomizerLimits) or OA flow > min (BypassWhenOAFlowGreaterThanMinimum). Nothing more. It shouldn't touch any flow rates. So, I need to look back at the original problem that prompted this code and see where the disconnect is. |
On 9/9/2015 11:04 AM, Michael J. Witte wrote:
There is also another OAMassFlow = MinOutAir line of code in there.
Also note the forced iteration flags at line 4363 that were added to get Richard Raustad Program Director |
Need to think through all the possibilities here. I don't disagree that the heating coil operation vs hx operation check is useful, but it should be separate - either linked LockoutWithHeating, or as you suggest, another HX bypass choice. Will chew on this a bit and propose a change. |
An example file and graphs will be uploaded to demonstrate this issue. A value of "BypassWhenOAFlowGreaterThanMinimum" in Controller:OutdoorAir "Heat Recovery Bypass Control Type" will produce very unusual results. Generally, OA rates are found running way above spec, forcing fan to run at full capacity. In some cases very large discrepancies between supply outlet node flow rate and demand inlet node flow rate. Using a value of "BypassWhenWithinEconomizerLimits" corrects the issue. This can be demonstrated in models that don't even have heat recovery devices on the oa system.
The text was updated successfully, but these errors were encountered: