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

Revision history [back]

The fan object is passed as an argument to the ZoneHVACTerminalUnitVariableRefrigerantFlow constructor: https://s3.amazonaws.com/openstudio-sdk-documentation/cpp/OpenStudio-3.5.0-doc/model/html/classopenstudio_1_1model_1_1_zone_h_v_a_c_terminal_unit_variable_refrigerant_flow.html#ae26b0d780aa9cf933cb6d7063bde6943

So if you wanted to create a terminal unit with a Fan:SystemModel, you would first create your fan (and coils) and pass them into the constructor for the terminal unit, like:

fan = OpenStudio::Model::FanSystemModel.new(model)
ccoil = OpenStudio::Model::CoilCoolingDXVariableRefrigerantFlow.new(model)
hcoil  = OpenStudio::Model::CoilHeatingDXVariableRefrigerantFlow.new(model)
tu = ZoneHVACTerminalUnitVariableRefrigerantFlow(model, ccoil, hcoil, fan)

Also note how the EneryPlus input data dictionary limits the fan types for this terminal (which OpenStudio should enforce):

  A7 ,  \field Supply Air Fan Object Type
        \type choice
        \key Fan:SystemModel
        \key Fan:OnOff
        \key Fan:ConstantVolume
        \key Fan:VariableVolume
        \default Fan:ConstantVolume
        \note Supply Air Fan Object Type must be Fan:SystemModel, Fan:OnOff, or Fan:ConstantVolume
        \note if AirConditioner:VariableRefrigerantFlow is used to model VRF outdoor unit
        \note Supply Air Fan Object Type must be Fan:SystemModel or Fan:VariableVolume if
        \note AirConditioner:VariableRefrigerantFlow:FluidTemperatureControl or
        \note AirConditioner:VariableRefrigerantFlow:FluidTemperatureControl:HR
        \note is used to model VRF outdoor unit
        \note Required for zone equipment. Leave blank if terminal unit is used in AirLoopHVAC:OutdoorAirSystem:EquipmentList.
        \note Also leave blank if terminal unit is used on main AirloopHVAC branch and terminal unit has no fan.