Question-and-Answer Resource for the Building Energy Modeling Community
Get s tarted with the Help page
Ask Your Question

How to trim down air flow at night for a make up air unit in OpenStudio?

asked 2014-10-14 10:58:48 -0600

xfang gravatar image

updated 2014-10-22 11:24:04 -0600

Hi there, I'll need to model a makeup air unit in OpenStudio that has its fan running at high speed during the daytime and low speed (50% flow rate) at night. I put in a VFD fan on the MUA, adjusted its availability schedule and minimum flow fraction, but no changes happen. Do I have to add a customized EMS EnergyPlus script to make this work?

Thanks Xia

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2014-10-15 09:22:36 -0600

updated 2014-10-15 11:43:36 -0600

The OA controller will not alter the supply flow rate. The minimum flow fraction on a VAV fan only affects the fan power input calculation. EnergyPlus fans determine their flow rate based on the request from the terminal unit(s), or the fan can also be controlled using AvailabilityManager:NightVentilation (but that is intended for night cooling, not continuous ventilation). For this application, the best approach is to change the terminal unit(s) to AirTerminal:DualDuct:VAV:OutdoorAir. This terminal unit can be used in a single-duct mode (see EnergyPlus example file DOASDualDuctSchool, terminal unit "Corner_Class_1_Pod_1 Dual Duct Box Component"). It will set the supply flow rate for the terminal unit based on the inputs in a DesignSpecification:OutdoorAir object. Use the "Outdoor Air Flow Rate Fraction Schedule Name" field to control the day/night fractions. I don't know whether these objects can be accessed directly in the current version of OpenStudio. @aparker?

edit flag offensive delete link more


The dual duct terminals are not yet an option in OS. I think clarification from @xfang about what exactly she is trying to do might help. When I first read the question I thought we were talking about a makeup unit for a zone exhaust fan or similar. I have modeled those with careful coordination of the OA controller and the AirTerminal:SingleDuct:VAV:Reheat's "Minimum Air Flow Fraction Schedule Name" field. I believe that is a legitimate path through OpenStudio if that is in fact what she is trying to do. @asparker's seemed to assume the question is just how to reduce off hour ventilation

Kyle Benne gravatar image Kyle Benne  ( 2014-10-15 12:21:08 -0600 )edit

@kbenne I think you are right. I interpreted this as a question about how to reduce OA flow rate in an AirloopHVAC on a given schedule.

aparker gravatar image aparker  ( 2014-10-15 12:40:05 -0600 )edit

I am trying to model a 100% OA make up air unit for a multifamily corridor with relief damper. There is no terminal reheat VAV box. I am only using AirTerminal:SingleDuct:Uncontrolled option with one terminal serving one corridor zone. Zone temperatures were met fine because the corridors are having relaxed thermostatic controls. Setting the system to be DOAS with maximum OA fraction 50% at night did not change the fan energy consumption. Uncontrolled air terminal also doesnot have a field for minimum air flow fraction schedule.....

xfang gravatar image xfang  ( 2014-10-15 16:25:23 -0600 )edit

Then in OS I think you could use AirTerminalSingleDuctVAVNoReheat and schedule the minimum fraction schedule Then clamp down the min and max oa fraction to one using the method discussed in @aparker's first answer.

Kyle Benne gravatar image Kyle Benne  ( 2014-10-15 16:35:50 -0600 )edit

Oh, sounds good. I was thinking that I'll need to add an EnergyPlus script AirTerminal:DualDuct:VAV:OutdoorAir based on Michael's comment....

xfang gravatar image xfang  ( 2014-10-15 16:50:54 -0600 )edit

answered 2014-10-14 11:33:49 -0600

You can limit the maximum OA fraction using the "Maximum Fraction of Outdoor Air Schedule" in the Controller:OutdoorAir object attached to the AirLoopHVAC:OutdoorAirSystem on the Airloop.

Here is what this looks like in an OpenStudio Measure:

# Find the AirLoopHVAC:OutdoorAirSystem on the Airloop
# Find the Controller:OutdoorAir object on the OA system
# Set the Maximum Fraction of Outdoor Air Schedule to one
# that has night-time maximums set to the desired fraction.
air_loop.supplyComponents.each do |supply_component|

  # Skip any supply component that isn't an AirLoopHVAC:OutdoorAirSystem
  next if supply_component.to_AirLoopHVACOutdoorAirSystem.empty?

  # Convert the supply component to a Controller:OutdoorAir
  oa_system = supply_component.to_AirLoopHVACOutdoorAirSystem.get

  # Get the OA controller that belongs to this OA system
  controller_oa = oa_system.getControllerOutdoorAir

  # Set the Maximum Fraction of Outdoor Air Schedule

  # Tell the user what happened
  runner.registerInfo("Set the max OA fraction schedule for #{} to #{}.")

edit flag offensive delete link more


If you end up needing to grab the AirLoopHVACOutdoorAirSystem you should consider using the air_loop.airLoopHVACOutdoorAirSystem() method. It is more convenient and will execute faster than looping over all components in the measure.

documentation link

Kyle Benne gravatar image Kyle Benne  ( 2014-10-15 12:54:41 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer


Question Tools


Asked: 2014-10-14 10:58:48 -0600

Seen: 642 times

Last updated: Oct 15 '14