{"action":"created","issue":{"url":"https://api.github.com/repos/NREL/EnergyPlus/issues/4568","labels_url":"https://api.github.com/repos/NREL/EnergyPlus/issues/4568/labels{/name}","comments_url":"https://api.github.com/repos/NREL/EnergyPlus/issues/4568/comments","events_url":"https://api.github.com/repos/NREL/EnergyPlus/issues/4568/events","html_url":"https://github.com/NREL/EnergyPlus/issues/4568","id":47313118,"number":4568,"title":"Controller:OutdoorAir \"Heat Recovery Bypass Control Type\" causing erratic oa rates","user":{"login":"kbenne","id":707488,"avatar_url":"https://avatars.githubusercontent.com/u/707488?v=3","gravatar_id":"","url":"https://api.github.com/users/kbenne","html_url":"https://github.com/kbenne","followers_url":"https://api.github.com/users/kbenne/followers","following_url":"https://api.github.com/users/kbenne/following{/other_user}","gists_url":"https://api.github.com/users/kbenne/gists{/gist_id}","starred_url":"https://api.github.com/users/kbenne/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kbenne/subscriptions","organizations_url":"https://api.github.com/users/kbenne/orgs","repos_url":"https://api.github.com/users/kbenne/repos","events_url":"https://api.github.com/users/kbenne/events{/privacy}","received_events_url":"https://api.github.com/users/kbenne/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/NREL/EnergyPlus/labels/EnergyPlus","name":"EnergyPlus","color":"c7def8"},{"url":"https://api.github.com/repos/NREL/EnergyPlus/labels/Priority","name":"Priority","color":"e11d21"},{"url":"https://api.github.com/repos/NREL/EnergyPlus/labels/S1%20-%20High","name":"S1 - High","color":"e11d21"}],"state":"open","locked":false,"assignee":{"login":"mjwitte","id":4991075,"avatar_url":"https://avatars.githubusercontent.com/u/4991075?v=3","gravatar_id":"","url":"https://api.github.com/users/mjwitte","html_url":"https://github.com/mjwitte","followers_url":"https://api.github.com/users/mjwitte/followers","following_url":"https://api.github.com/users/mjwitte/following{/other_user}","gists_url":"https://api.github.com/users/mjwitte/gists{/gist_id}","starred_url":"https://api.github.com/users/mjwitte/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mjwitte/subscriptions","organizations_url":"https://api.github.com/users/mjwitte/orgs","repos_url":"https://api.github.com/users/mjwitte/repos","events_url":"https://api.github.com/users/mjwitte/events{/privacy}","received_events_url":"https://api.github.com/users/mjwitte/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/NREL/EnergyPlus/milestones/1","html_url":"https://github.com/NREL/EnergyPlus/milestones/EnergyPlus%208.4.0","labels_url":"https://api.github.com/repos/NREL/EnergyPlus/milestones/1/labels","id":1229491,"number":1,"title":"EnergyPlus 8.4.0","description":"Public release of EnergyPlus 8.4.0","creator":{"login":"Myoldmopar","id":849824,"avatar_url":"https://avatars.githubusercontent.com/u/849824?v=3","gravatar_id":"","url":"https://api.github.com/users/Myoldmopar","html_url":"https://github.com/Myoldmopar","followers_url":"https://api.github.com/users/Myoldmopar/followers","following_url":"https://api.github.com/users/Myoldmopar/following{/other_user}","gists_url":"https://api.github.com/users/Myoldmopar/gists{/gist_id}","starred_url":"https://api.github.com/users/Myoldmopar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Myoldmopar/subscriptions","organizations_url":"https://api.github.com/users/Myoldmopar/orgs","repos_url":"https://api.github.com/users/Myoldmopar/repos","events_url":"https://api.github.com/users/Myoldmopar/events{/privacy}","received_events_url":"https://api.github.com/users/Myoldmopar/received_events","type":"User","site_admin":false},"open_issues":129,"closed_issues":50,"state":"open","created_at":"2015-07-28T14:11:03Z","updated_at":"2015-09-09T14:05:49Z","due_on":"2015-09-30T06:00:00Z","closed_at":null},"comments":10,"created_at":"2014-10-30T19:01:45Z","updated_at":"2015-09-09T14:05:58Z","closed_at":null,"body":"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."},"comment":{"url":"https://api.github.com/repos/NREL/EnergyPlus/issues/comments/138919533","html_url":"https://github.com/NREL/EnergyPlus/issues/4568#issuecomment-138919533","issue_url":"https://api.github.com/repos/NREL/EnergyPlus/issues/4568","id":138919533,"user":{"login":"mjwitte","id":4991075,"avatar_url":"https://avatars.githubusercontent.com/u/4991075?v=3","gravatar_id":"","url":"https://api.github.com/users/mjwitte","html_url":"https://github.com/mjwitte","followers_url":"https://api.github.com/users/mjwitte/followers","following_url":"https://api.github.com/users/mjwitte/following{/other_user}","gists_url":"https://api.github.com/users/mjwitte/gists{/gist_id}","starred_url":"https://api.github.com/users/mjwitte/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mjwitte/subscriptions","organizations_url":"https://api.github.com/users/mjwitte/orgs","repos_url":"https://api.github.com/users/mjwitte/repos","events_url":"https://api.github.com/users/mjwitte/events{/privacy}","received_events_url":"https://api.github.com/users/mjwitte/received_events","type":"User","site_admin":false},"created_at":"2015-09-09T14:05:58Z","updated_at":"2015-09-09T14:05:58Z","body":"@kbenne @Myoldmopar @rraustad @wfbuhl \r\nRunning 5ZoneAirCooled-BypassWhenOAFlowGreaterThanMinimum-PerKB defect which has no heat exchanger, no economizer, NoLockout, and ProportionalMinimum. *Note that both Max and Min Outdoor Air Flow Rates are both set to 1.04982 (this is a contributing factor)*.\r\n\r\nRight out of the gate, it's landing in [this block of code](https://github.com/NREL/EnergyPlus/blob/develop/src/EnergyPlus/MixedAir.cc#L4354-L4362):\r\n```\r\n\t\t\tif ( AirLoopControlInfo( AirLoopNum ).HeatingActiveFlag && OAController( OAControllerNum ).HeatRecoveryBypassControlType == BypassWhenOAFlowGreaterThanMinimum ) {\r\n\t\t\t\tAirLoopControlInfo( AirLoopNum ).HeatRecoveryBypass = false;\r\n\t\t\t\tOAController( OAControllerNum ).HeatRecoveryBypassStatus = 0;\r\n\t\t\t\tOAController( OAControllerNum ).HRHeatingCoilActive = 1;\r\n\t\t\t\t// reset the OA flow to minimum\r\n\t\t\t\tOAController( OAControllerNum ).OAMassFlow = AirLoopFlow( AirLoopNum ).MinOutAir;\r\n\t\t\t\tAirLoopFlow( AirLoopNum ).OAFrac = OAController( OAControllerNum ).OAMassFlow / OAController( OAControllerNum ).MixMassFlow;\r\n\t\t\t\tAirLoopFlow( AirLoopNum ).OAMinFrac = AirLoopFlow( AirLoopNum ).OAFrac;\r\n```\r\n1.  This looks like the heating economizer lockout - should be checking for LockOutWithHeating rather than BypassWhenOAFlowGreaterThanMinimum.\r\n2.  At this point, AirLoopFlow(1) looks like this. *Note the supply and return flows are 0.37, but MinOutAir is 1.23.* So OAMassFlow gets set to 1.23 - which somehow later is trying for force the supply flow back up to 1.23 resulting in max iteration problems.  \r\n![image](https://cloud.githubusercontent.com/assets/4991075/9762823/7db1624c-56cb-11e5-9387-bceebe4c9541.png)\r\n3. *MinOutAir should never be > the current supply flow, should it?\r\nI guess that depends on how MinOutAir will be used, especially in this case where the Min OA flow rate is fixed at the design supply flow rate in a VAV system (which isn't really valid) but the same condition could occur if, say, a DCV controller asked for more OA than the current supply flow - in that case who should rule?\r\n4.  There are times where users would like the OA requirement to override the supply air flow rate, but it's not supposed to be happening at this point. I/O Ref description for the OA controller is not clear about this, and the Engineering Ref just tosses this in at the end in a list of constraints.\r\n![image](https://cloud.githubusercontent.com/assets/4991075/9763632/41ad4cb6-56d0-11e5-97ed-906b6183fe7d.png)\r\nWill need to track down where the OA controller is messing with the mixed air flow rate.\r\n\r\nStay tuned . . ."}}