controlling two cooling coils separately within air handler

I'm modeling a low-temperature operating room being served by a constant volume air handler (it's really only constant volume due to hospital ACH requirements). The model is entirely within DesignBuilder v5.0.1

The air handler's SAT setpoint is 43F and in the design there are two chilled water coils in the mixed air stream that are controlled separately and in series to meet this temperature. The first coil is served by a campus chilled water loop and brings the air down to 54F. The second is served by a low-temperature air-cooled chiller which brings the SAT down to the required 43F (after accounting for draw-thru fan heat). The energy purpose for this arrangement is to use the high-efficiency campus plant for as much as possible, and to then only load the relatively poor-performing air-cooled chiller with the remainder but to also avoid excessive unloading on the air-cooled chiller.

I've tried a number of setpoint manager configurations for this arrangement and the closest I've gotten is to place a 54F setpoint manager after the first cooling coil, a 43F setpoint manager after the second cooling coil, and a 43F setpoint manager after the supply fan. This correctly forces the low-temperature chilled water coil to supply 43F air but the campus CHW coil seems to disregard the 54F setpoint manager and just get the air as close to 43F as it possibly can, which results in temperatures substantially lower than 54F when the mixed air temperature is below the coil's design entering air temperature. In turn, this leads to poor part-load performance and excessive unloading at the air-cooled chiller.

I've also considered using a pre-cooling coil but it looks like this only pre-cools the outdoor air and not the mixed air stream. This is an option but it would be difficult to control the amount of cooling of the outdoor air that would be required in order to bring the mixed air temperature to the 54F setpoint due to variations in the return air temperature at different points in the day. One idea for this approach might be to write an EMS script changing the pre-cooling setpoint to some function of the delta T between mixed air temperature and outdoor air temperature.

Does anyone have any experience with a similar issue? Curious to know if this can be solved with a different setpoint manager/coil configuration, or if I'll need to leave the Designbuilder interface and/or utilize EMS code.

2 Answers

From an E+ perspective, the setpoint manager (SPM) configuration you tried sounds correct. For an AirLoop with a single setpoint, the typical approach is to define a single setpoint after the fan, and then use SetpointManager:MixedAir SPMs on the nodes upstream of the fan to propagate the setpoint (adjusted for fan heat) to these nodes.

My best guess is that DesignBuilder is automatically putting SetpointManager:MixedAir SPMs on the nodes of upstream of the fan, and that these auto-generated SPMs are overriding the 54F SPM you put on the campus CHW coil outlet node.

Here's what I'd do:

Request and plot the System Node Setpoint Temperature output for the campus CHW coil outlet node. If you see that the setpoint is slightly less than 43F (to account for fan heat), you'll know that your 54F SPM is being ignored, and that it is likely due to a SetpointManager:MixedAir.

In the IDF, check if there is a SetpointManager:MixedAir assigned to the outlet node of the campus CHW coil.

If my guess is correct, the solution would be to remove the SetpointManager:MixedAir from the outlet node of the campus CHW coil. No idea how this is done with DesignBuilder, but they have a Help Desk on the DB website under the Support options.

Comments

Your guess is correct, and thanks for the response. It does seem like the setpoint being overridden by a SetpointManager:MixedAir and unfortunately you're correct that it seems to mainly be a function of the way that DB translates its gui inputs into idf objects. I've noticed this for a few other esoteric hvac inputs as well.

In any event, I'm also providing an answer to the original question which shows some very simple EMS code that seems to work.

I seem to have circumvented the problem with an EMS script which uses a Temperature Setpoint actuator at the node immediately following the pre-cooling coil and simply hard-sets it to a constant 12.7C.

I'm pretty new to EMS so please feel free to comment if you think there is a better or more elegant way to accomplish this within DB.