How to configure a return air bypass system with economizing and heating after bypass
I asked a previous question about this but never got a good answer. I am trying to configure a return air bypass system in EnergyPlus that has economizing and heating AFTER the bypass. There is an EnergyPlus example file for return air bypass but it doesn't match well with the system I'm trying to model and doesn't seem to be very flexible.
The example file has all of the conditioning equipment (outdoor air system, cooling coil, hetaing coil) on the main branch and just the fan on the outlet branch (after bypass mixing). SetpointManager:ReturnAirBypass is applied to the airloop and the heating and cooling coil outlet nodes each have SetpointManager:Scheduled objects applied. There are no SetpointManager:MixedAir objects. Here are the issues that I found with the example file:
- If I try to move the heating coil to the outlet branch, the bypass control breaks down. Bypass flow is decreased compared to the base example file case, resulting in many hours in which the heating coil needs to run to hit the desired loop outlet temperature.
- If I enable economizing, bypass flow gets completely disabled during economizing hours. In reality, I would want to be able to economize on the outdoor air side to hit the dehumidification temperature at the cooling coil outlet node, and then mix with bypass flow to avoid having to heat at the heating coil to hit the desired supply air temperature.
To try to fix these issues, I wrote an EMS program to control the system. In its simplest form (without economizing), I sense the requested flow (using the mass flow rate at the supply side outlet node, with the program running inside the HVAC system iteration loop), and determine how much bypass flow is needed based on the return air mass flow and temperature, and the dehumification temperature (the temperature of the air leaving the main branch). I then actuate the mass flow rate of the inlet node of the bypass branch. To enable economizing, I am also actuating the outdoor air flow rate when conditions are appropriate. Lastly, I applied a outdoor air reset setpoint manager to the fan outlet node (supply side outlet) and a mixed air setpoint manager to the heating coil so that fan heat is accounted for at the heating coil.
I ran some tests on the EMS code and initially found it to be working as expected. However, when running an annual simulation with multiple airloops with this configuration and EMS code applied, I started to see some odd behavior. Airloops would run as expected for extended periods of time (Jan 1 through March 13, for example) and then completely stop (no flow at all) for the rest of the year. This happened at different times for different airloops. I thought that this could be related to having a return air bypass configuration but not a SetpointManager:ReturnAirBypass (I removed it when I added the EMS code because it was getting completely bypassed ...