OpenStudio:model
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
Public Member Functions | Static Public Member Functions | List of all members
openstudio::model::AirLoopHVAC Class Reference

#include <AirLoopHVAC.hpp>

+ Inheritance diagram for openstudio::model::AirLoopHVAC:

Public Member Functions

bool addAvailabilityManager (const AvailabilityManager &availabilityManager)
 
bool addAvailabilityManager (const AvailabilityManager &availabilityManager, unsigned priority)
 
bool addBranchForHVACComponent (HVACComponent hvacComponent)
 Adds a new branch on the demand side of the air loop with the specified airTerminal. More...
 
bool addBranchForZone (openstudio::model::ThermalZone &thermalZone, boost::optional< StraightComponent > optAirTerminal)
 Adds a new branch on the demand side of the air loop for a zone labeled zoneLabel and returns true if the operation was successful. More...
 
bool addBranchForZone (openstudio::model::ThermalZone &thermalZone)
 Overloaded version of addBranchForZone() More...
 
bool addBranchForZone (ThermalZone &thermalZone, HVACComponent &airTerminal)
 Overloaded version of addBranchForZone() More...
 
 AirLoopHVAC (Model &model, bool dualDuct=false)
 Constructs a new AirLoopHVAC object and places it inside the model. More...
 
boost::optional
< AirLoopHVACOutdoorAirSystem
airLoopHVACOutdoorAirSystem () const
 Returns the AirLoopHVACOutdoorAirSystem object associated with the air loop. More...
 
boost::optional< double > autosizedDesignSupplyAirFlowRate () const
 
void autosizeDesignSupplyAirFlowRate ()
 
OS_DEPRECATED boost::optional
< AvailabilityManager
availabilityManager () const
 
unsigned availabilityManagerPriority (const AvailabilityManager &availabilityManager) const
 
std::vector< AvailabilityManageravailabilityManagers () const
 Returns the temperature setpoint schedule when this system tries to determine the required mass flow rate through a return air bypass duct. More...
 
Schedule availabilitySchedule () const
 Returns the availability schedule when this system is allowed to run. More...
 
ModelObject clone (Model model) const override
 
Node demandInletNode () const override
 Returns the first demand inlet Node. More...
 
std::vector< NodedemandInletNodes () const override
 Returns the demand inlet nodes. More...
 
Node demandOutletNode () const override
 Returns the demand outlet node. More...
 
double designReturnAirFlowFractionofSupplyAirFlow () const
 
boost::optional< double > designSupplyAirFlowRate () const
 
bool isDesignSupplyAirFlowRateAutosized () const
 
bool isDualDuct () const
 Returns true if the system is "dual duct" ie. More...
 
boost::optional< NodemixedAirNode () const
 Returns the mixed air node. More...
 
bool multiAddBranchForZone (ThermalZone &thermalZone)
 This method has the same function as addBranchForZone, except it will not disconnect any air loops that are already attached to the zone. More...
 
bool multiAddBranchForZone (ThermalZone &thermalZone, HVACComponent &airTerminal)
 Overloaded version of addBranchForZone() More...
 
std::string nightCycleControlType () const
 Returns a string indicating if the system is configured to night cycle If there is no AvailabilityManagerNightCycle this method will return StayOff. More...
 
std::vector< ModelObjectoaComponents (openstudio::IddObjectType type=openstudio::IddObjectType("Catchall"))
 Returns all of the components on the outdoor air system including the mixer itself. More...
 
boost::optional< NodeoutdoorAirNode () const
 Returns the outdoor air node. More...
 
boost::optional< NodereliefAirNode () const
 Returns the relief air node. More...
 
boost::optional< HVACComponentreliefFan () const
 Returns the most outboard fan on the relief air stream of the outdoor air system. More...
 
std::vector
< openstudio::IdfObject > 
remove () override
 
bool removeAvailabilityManager (const AvailabilityManager &avm)
 
bool removeAvailabilityManager (unsigned priority)
 
bool removeBranchForZone (openstudio::model::ThermalZone &thermalZone)
 Removes the Zone identified by zoneLabel from the air loop and returns true upon successful removal. More...
 
bool removeSupplySplitter ()
 If this is a dual duct system, remove the supply side splitter. More...
 
bool removeSupplySplitter (HVACComponent &hvacComponent)
 If this is a dual duct system, remove the supply side splitter. More...
 
OS_DEPRECATED void resetAvailabilityManager ()
 
void resetAvailabilityManagers ()
 
void resetDesignSupplyAirFlowRate ()
 
boost::optional< NodereturnAirNode () const
 Returns the return air node. More...
 
boost::optional< HVACComponentreturnFan () const
 Returns the fan in the return air stream (before the outdoor air system. More...
 
OS_DEPRECATED bool setAvailabilityManager (const AvailabilityManager &availabilityManager)
 
bool setAvailabilityManagerPriority (const AvailabilityManager &availabilityManager, unsigned priority)
 
bool setAvailabilityManagers (const std::vector< AvailabilityManager > &avms)
 
bool setAvailabilitySchedule (Schedule &schedule)
 Set the availability schedule for when this system is allowed to run. More...
 
bool setDesignReturnAirFlowFractionofSupplyAirFlow (double designReturnAirFlowFractionofSupplyAirFlow)
 
bool setDesignSupplyAirFlowRate (double designSupplyAirFlowRate)
 
bool setNightCycleControlType (std::string const &controlType)
 Configure the system to night cycle This is a convenience for creating and attaching a new AvailabilityManagerNightCycle. More...
 
SizingSystem sizingSystem () const
 Returns the Sizing:System object associated with this air loop. More...
 
boost::optional< HVACComponentsupplyFan () const
 Returns the fan in the mixed air stream (after outdoor air system) of the air system. More...
 
Node supplyInletNode () const override
 Returns the supply inlet node. More...
 
Node supplyOutletNode () const override
 Returns the first supply outlet Node. More...
 
std::vector< NodesupplyOutletNodes () const override
 Returns the supply outlet nodes. More...
 
boost::optional< SplittersupplySplitter () const
 Returns the supply side splitter. More...
 
boost::optional< NodesupplySplitterInletNode () const
 Returns the supply side splitter inlet node. More...
 
std::vector< NodesupplySplitterOutletNodes () const
 Returns the supply side splitter outlet nodes. More...
 
std::vector< ThermalZonethermalZones () const
 Returns the ThermalZone objects attached to this air loop. More...
 
AirLoopHVACZoneMixer zoneMixer () const
 Returns the zone mixer, if it doesn't exist then it makes one. More...
 
AirLoopHVACZoneSplitter zoneSplitter () const
 Returns the first zone splitter. More...
 
std::vector
< AirLoopHVACZoneSplitter
zoneSplitters () const
 Returns the zone splitters. More...
 
virtual ~AirLoopHVAC ()
 
- Public Member Functions inherited from openstudio::model::Loop
void applySizingValues ()
 
void autosize ()
 
virtual std::vector< ModelObjectchildren () const
 
virtual boost::optional
< ModelObject
component (openstudio::Handle handle)
 Returns an optional ModelObject with the given handle. More...
 
virtual std::vector< ModelObjectcomponents (openstudio::IddObjectType type=openstudio::IddObjectType("Catchall"))
 Returns all of the HVAC equipment within the air loop including both the supply and demand sides of the loop. More...
 
std::vector< ModelObjectcomponents (HVACComponent inletComp, HVACComponent outletComp, openstudio::IddObjectType type=openstudio::IddObjectType("Catchall"))
 Returns supplyComponents() or demandComponents(), depending on if the inlet and outlet component arugments are on the supply or demand side. More...
 
virtual boost::optional
< ModelObject
demandComponent (openstudio::Handle handle) const
 Returns an optional ModelObject with the given handle. More...
 
virtual std::vector< ModelObjectdemandComponents (std::vector< HVACComponent > inletComps, std::vector< HVACComponent > outletComps, openstudio::IddObjectType type=openstudio::IddObjectType("Catchall")) const
 Returns all of the demand side hvac equipment between inletComps and outletComps. More...
 
virtual std::vector< ModelObjectdemandComponents (HVACComponent inletComp, HVACComponent outletComp, openstudio::IddObjectType type=openstudio::IddObjectType("Catchall")) const
 Returns all of the demand side hvac equipment between inletComp and outletComp. More...
 
virtual std::vector< ModelObjectdemandComponents (openstudio::IddObjectType type=openstudio::IddObjectType("Catchall")) const
 Returns all of the demand side HVAC equipment within the air loop. More...
 
Mixer demandMixer () const
 
Splitter demandSplitter () const
 
virtual boost::optional
< ModelObject
supplyComponent (openstudio::Handle handle)
 Returns an optional ModelObject with the given handle. More...
 
virtual std::vector< ModelObjectsupplyComponents (std::vector< HVACComponent > inletComps, std::vector< HVACComponent > outletComps, openstudio::IddObjectType type=openstudio::IddObjectType("Catchall")) const
 Returns all of the supply side hvac equipment between inletComps and outletComps. More...
 
virtual std::vector< ModelObjectsupplyComponents (HVACComponent inletComp, HVACComponent outletComp, openstudio::IddObjectType type=openstudio::IddObjectType("Catchall")) const
 Returns all of the supply side hvac equipment between inletComp and outletComp. More...
 
virtual std::vector< ModelObjectsupplyComponents (openstudio::IddObjectType type=openstudio::IddObjectType("Catchall")) const
 Returns all of the supply side HVAC equipment within the air loop. More...
 
virtual ~Loop ()
 
- Public Member Functions inherited from openstudio::model::ParentObject
std::vector< IddObjectType > allowableChildTypes () const
 Returns a vector of allowable children types. More...
 
std::vector< ModelObjectchildren () const
 Return direct child objects in the Model. More...
 
virtual ~ParentObject ()
 
- Public Member Functions inherited from openstudio::model::ModelObject
virtual ~ModelObject ()
 
ModelObject clone () const
 Creates a deep copy of this object, placing it in this object's model(). More...
 
ModelObject clone (Model model) const
 Creates a deep copy of this object, placing it in model. More...
 
Component createComponent () const
 Method for creating sharable Model snippets. More...
 
Model model () const
 Returns the Model that contains this object. More...
 
boost::optional< ParentObjectparent () const
 Return this object's parent in the hierarchy, if it has one. More...
 
std::vector< ResourceObjectresources () const
 Get the resources directly used by this ModelObject. More...
 
template<typename T >
std::vector< T > getModelObjectSources () const
 Get all objects of type T that point to this object. More...
 
template<typename T >
std::vector< T > getModelObjectSources (IddObjectType iddObjectType) const
 Get all objects of type T that point to this object. More...
 
template<typename T >
boost::optional< T > getModelObjectTarget (unsigned index) const
 Get the object of type T pointed to by this object from field index. More...
 
template<typename T >
std::vector< T > getModelObjectTargets () const
 Get all objects of type T to which this object points. More...
 
const std::vector< std::string > & outputVariableNames () const
 Get all output variables names that could be associated with this object. More...
 
std::vector< OutputVariableoutputVariables () const
 Get all output variables associated with this object, must run simulation to generate data. More...
 
boost::optional
< openstudio::TimeSeries > 
getData (const OutputVariable &variable, const std::string &envPeriod) const
 Get data associated with this output variable and this object. More...
 
std::vector< LifeCycleCostlifeCycleCosts () const
 Returns the list of all LifeCycleCosts that refer to this object. More...
 
std::vector< IdfObject > removeLifeCycleCosts ()
 Removes all LifeCycleCosts that refer to this object. More...
 
IddObjectType iddObjectType () const
 This is a virtual function that will tell you the type of iddObject you are dealing with. More...
 
AdditionalProperties additionalProperties () const
 Returns this object's additional properties, constructing a new object if necessary. More...
 
bool hasAdditionalProperties () const
 Returns true if this object has additional properties. More...
 
std::vector< IdfObject > removeAdditionalProperties ()
 Removes all additional properties that refer to this object. More...
 
bool setParent (ParentObject &newParent)
 set the parent, child may have to call non-const methods on the parent More...
 
bool operator< (const ModelObject &right) const
 
bool operator== (const ModelObject &other) const
 equality test More...
 
bool operator!= (const ModelObject &other) const
 inequality test More...
 
std::vector< ScheduleTypeKeygetScheduleTypeKeys (const Schedule &schedule) const
 Return the ScheduleTypeKeys indicating how schedule is used in this object. More...
 
boost::optional< double > getAutosizedValue (std::string valueName, std::string unitString) const
 Gets the autosized component value from the sql file. More...
 
virtual std::vector
< EMSActuatorNames
emsActuatorNames () const
 Return the names of the available ems actuators. More...
 
virtual std::vector< std::string > emsInternalVariableNames () const
 Return the names of the available ems internal variables. More...
 
boost::optional< ModelObjectconnectedObject (unsigned port) const
 
boost::optional< unsigned > connectedObjectPort (unsigned port) const
 

Static Public Member Functions

static IddObjectType iddObjectType ()
 

Additional Inherited Members

- Protected Types inherited from openstudio::model::ModelObject
typedef detail::ModelObject_Impl ImplType
 
- Protected Member Functions inherited from openstudio::model::ParentObject
 ParentObject (IddObjectType type, const Model &model)
 Constructs a new ParentObject object in the model. More...
 
- Protected Member Functions inherited from openstudio::model::ModelObject
 ModelObject (IddObjectType type, const Model &model, bool fastName=false)
 
 ModelObject (std::shared_ptr< detail::ModelObject_Impl > impl)
 

Detailed Description

AirLoopHVAC is an interface to the EnergyPlus IDD object named "AirLoopHVAC".

The purpose of this class is to simplify the construction and manipulation air loops in energyplus. Presently, only single zone air loops with one supply branch are supported, however more complicated air loop topologies are planned, including all of those supported by EnergyPlus.

Constructor & Destructor Documentation

openstudio::model::AirLoopHVAC::AirLoopHVAC ( Model model,
bool  dualDuct = false 
)
explicit

Constructs a new AirLoopHVAC object and places it inside the model.

The air loop is fully initialized with the companion objects that are needed for a basic air loop in EnergyPlus. These objects include: supply inlet node, supply outlet node, demand inlet node, demand outlet node, zone splitter, zone mixer, and zone hvac equipment connections.

If dualDuct is true, then there will be a supply spiltter and two supply outlet nodes connected into the system topology.

The two paths / ducts / decks of a dual duct style system are identified by indexes 0 and 1. If dual duct, key methods including supplyOutletNodes(), demandInletNodes(), and zoneSplitters(), will return a vector with exactly two items. Item 0 in the supplyOutletNodes vector matches to item 0 in the demandInletNodes vector, and the zoneSplitters vector. In this way the interface avoids declaring the paths as heating, cooling, ventilation, etc. It is the client's responsibilty to choose what types of equipment to apply to the two branches. Note that these indexes carry through to the terminals. Dual duct terminals are Mixer objects which have the method inletModelObjects(branchIndex). The branchIndex 0 will be connected to demandInletNodes()[0] path.

virtual openstudio::model::AirLoopHVAC::~AirLoopHVAC ( )
inlinevirtual

Member Function Documentation

bool openstudio::model::AirLoopHVAC::addAvailabilityManager ( const AvailabilityManager availabilityManager)
bool openstudio::model::AirLoopHVAC::addAvailabilityManager ( const AvailabilityManager availabilityManager,
unsigned  priority 
)
bool openstudio::model::AirLoopHVAC::addBranchForHVACComponent ( HVACComponent  hvacComponent)

Adds a new branch on the demand side of the air loop with the specified airTerminal.

Returns true if the airTerminal was accepted, otherwise false. The argument, hvacComponent, can be an air terminal, AirLoopHVACSupplyPlenum, or airLoopHVACReturnPlenum.

bool openstudio::model::AirLoopHVAC::addBranchForZone ( openstudio::model::ThermalZone thermalZone,
boost::optional< StraightComponent optAirTerminal 
)

Adds a new branch on the demand side of the air loop for a zone labeled zoneLabel and returns true if the operation was successful.

The method will return false if the Zone is already connected to an air loop. New code should favor addBranchForZone(ThermalZone &) or addBranchForZone(ThermalZone &, HVACComponent&).

bool openstudio::model::AirLoopHVAC::addBranchForZone ( openstudio::model::ThermalZone thermalZone)

Overloaded version of addBranchForZone()

bool openstudio::model::AirLoopHVAC::addBranchForZone ( ThermalZone thermalZone,
HVACComponent airTerminal 
)

Overloaded version of addBranchForZone()

boost::optional<AirLoopHVACOutdoorAirSystem> openstudio::model::AirLoopHVAC::airLoopHVACOutdoorAirSystem ( ) const

Returns the AirLoopHVACOutdoorAirSystem object associated with the air loop.

A freshly constructed AirLoopHVAC object will not have an outdoor air system and this method will return a false optional.

boost::optional<double> openstudio::model::AirLoopHVAC::autosizedDesignSupplyAirFlowRate ( ) const
void openstudio::model::AirLoopHVAC::autosizeDesignSupplyAirFlowRate ( )
OS_DEPRECATED boost::optional<AvailabilityManager> openstudio::model::AirLoopHVAC::availabilityManager ( ) const
unsigned openstudio::model::AirLoopHVAC::availabilityManagerPriority ( const AvailabilityManager availabilityManager) const
std::vector<AvailabilityManager> openstudio::model::AirLoopHVAC::availabilityManagers ( ) const

Returns the temperature setpoint schedule when this system tries to determine the required mass flow rate through a return air bypass duct.

If there is a temperature setpoint schedule, the forward translator will create a SetpointManager:ReturnAirBypassFlow object. Set the temperature setpoint schedule for when this system tries to determine the required mass flow rate through a return air bypass duct. Reset the temperature setpoint schedule for when this system tries to determine the required mass flow rate through a return air bypass duct.

Schedule openstudio::model::AirLoopHVAC::availabilitySchedule ( ) const

Returns the availability schedule when this system is allowed to run.

ModelObject openstudio::model::AirLoopHVAC::clone ( Model  model) const
overridevirtual

Reimplemented from openstudio::model::Loop.

Node openstudio::model::AirLoopHVAC::demandInletNode ( ) const
overridevirtual

Returns the first demand inlet Node.

Reimplemented from openstudio::model::Loop.

std::vector<Node> openstudio::model::AirLoopHVAC::demandInletNodes ( ) const
overridevirtual

Returns the demand inlet nodes.

Single duct systems have one demand inlet node. Dual duct systems have two demand inlet nodes.

Reimplemented from openstudio::model::Loop.

Node openstudio::model::AirLoopHVAC::demandOutletNode ( ) const
overridevirtual

Returns the demand outlet node.

Reimplemented from openstudio::model::Loop.

double openstudio::model::AirLoopHVAC::designReturnAirFlowFractionofSupplyAirFlow ( ) const
boost::optional<double> openstudio::model::AirLoopHVAC::designSupplyAirFlowRate ( ) const
static IddObjectType openstudio::model::AirLoopHVAC::iddObjectType ( )
static
bool openstudio::model::AirLoopHVAC::isDesignSupplyAirFlowRateAutosized ( ) const
bool openstudio::model::AirLoopHVAC::isDualDuct ( ) const

Returns true if the system is "dual duct" ie.

there is a supply splitter

boost::optional<Node> openstudio::model::AirLoopHVAC::mixedAirNode ( ) const

Returns the mixed air node.

This is the mixed air node of the outdoor air mixer of the air loop. This node only exists if there is an outdoor air system within the air loop. A freshly constructed AirLoopHVAC object will not have an outdoor air system.

bool openstudio::model::AirLoopHVAC::multiAddBranchForZone ( ThermalZone thermalZone)

This method has the same function as addBranchForZone, except it will not disconnect any air loops that are already attached to the zone.

bool openstudio::model::AirLoopHVAC::multiAddBranchForZone ( ThermalZone thermalZone,
HVACComponent airTerminal 
)

Overloaded version of addBranchForZone()

std::string openstudio::model::AirLoopHVAC::nightCycleControlType ( ) const

Returns a string indicating if the system is configured to night cycle If there is no AvailabilityManagerNightCycle this method will return StayOff.

std::vector<ModelObject> openstudio::model::AirLoopHVAC::oaComponents ( openstudio::IddObjectType  type = openstudio::IddObjectType("Catchall"))

Returns all of the components on the outdoor air system including the mixer itself.

If type is given then the results will be limited to the given IddObjectType.

boost::optional<Node> openstudio::model::AirLoopHVAC::outdoorAirNode ( ) const

Returns the outdoor air node.

This is the outermost node from which outdoor air is introduced into the air loop. This node only exists if there is an outdoor air system within the air loop. A freshly constructed AirLoopHVAC object will not have an outdoor air system.

boost::optional<Node> openstudio::model::AirLoopHVAC::reliefAirNode ( ) const

Returns the relief air node.

This is the outermost node from which air is relieved from the air loop to the outdoor air. This node only exists if there is an outdoor air system within the air loop. A freshly constructed AirLoopHVAC object will not have an outdoor air system.

boost::optional<HVACComponent> openstudio::model::AirLoopHVAC::reliefFan ( ) const

Returns the most outboard fan on the relief air stream of the outdoor air system.

std::vector<openstudio::IdfObject> openstudio::model::AirLoopHVAC::remove ( )
overridevirtual

Reimplemented from openstudio::model::Loop.

bool openstudio::model::AirLoopHVAC::removeAvailabilityManager ( const AvailabilityManager avm)
bool openstudio::model::AirLoopHVAC::removeAvailabilityManager ( unsigned  priority)
bool openstudio::model::AirLoopHVAC::removeBranchForZone ( openstudio::model::ThermalZone thermalZone)

Removes the Zone identified by zoneLabel from the air loop and returns true upon successful removal.

bool openstudio::model::AirLoopHVAC::removeSupplySplitter ( )

If this is a dual duct system, remove the supply side splitter.

If this is not a dual duct system, there is no supply side splitter and the method will return false.

The system will become a single duct. Dual duct terminals may remain on the demand side, and those must be resolved separately by removing the zones served by dual ducts or changing to single duct terminals.

The components downstream of the splitter will also be removed.

bool openstudio::model::AirLoopHVAC::removeSupplySplitter ( HVACComponent hvacComponent)

If this is a dual duct system, remove the supply side splitter.

If this is not a dual duct system, there is no supply side splitter and the method will return false.

The system will become a single duct. Dual duct terminals may remain on the demand side, and those must be resolved separately by removing the zones served by dual ducts or changing to single duct terminals.

The dual duct branch containing hvacComponent will be removed. The remaining branch will be integrated into the loop. If hvacComponent is not found on either dual duct branch the method will return false. This will be the case if hvacComponent is not found on the system's supplyComponents(), or upstream of the splitter.

OS_DEPRECATED void openstudio::model::AirLoopHVAC::resetAvailabilityManager ( )
void openstudio::model::AirLoopHVAC::resetAvailabilityManagers ( )
void openstudio::model::AirLoopHVAC::resetDesignSupplyAirFlowRate ( )
boost::optional<Node> openstudio::model::AirLoopHVAC::returnAirNode ( ) const

Returns the return air node.

This is the return air node of the outdoor air mixer of the air loop. This node only exists if there is an outdoor air system within the air loop. A freshly constructed AirLoopHVAC object will not have an outdoor air system. In many cases this node will be the same as the supply inlet node, because there is often no hvac equipment before the outdoor air mixer.

boost::optional<HVACComponent> openstudio::model::AirLoopHVAC::returnFan ( ) const

Returns the fan in the return air stream (before the outdoor air system.

If there is no outdoor air system then this method will return false. If there are multiple fans, then return the fan nearest the oa system.

OS_DEPRECATED bool openstudio::model::AirLoopHVAC::setAvailabilityManager ( const AvailabilityManager availabilityManager)
bool openstudio::model::AirLoopHVAC::setAvailabilityManagerPriority ( const AvailabilityManager availabilityManager,
unsigned  priority 
)
bool openstudio::model::AirLoopHVAC::setAvailabilityManagers ( const std::vector< AvailabilityManager > &  avms)
bool openstudio::model::AirLoopHVAC::setAvailabilitySchedule ( Schedule schedule)

Set the availability schedule for when this system is allowed to run.

bool openstudio::model::AirLoopHVAC::setDesignReturnAirFlowFractionofSupplyAirFlow ( double  designReturnAirFlowFractionofSupplyAirFlow)
bool openstudio::model::AirLoopHVAC::setDesignSupplyAirFlowRate ( double  designSupplyAirFlowRate)
bool openstudio::model::AirLoopHVAC::setNightCycleControlType ( std::string const &  controlType)

Configure the system to night cycle This is a convenience for creating and attaching a new AvailabilityManagerNightCycle.

Valid options are StayOff, CycleOnAny, and CycleOnAnyZoneFansOnly

SizingSystem openstudio::model::AirLoopHVAC::sizingSystem ( ) const

Returns the Sizing:System object associated with this air loop.

boost::optional<HVACComponent> openstudio::model::AirLoopHVAC::supplyFan ( ) const

Returns the fan in the mixed air stream (after outdoor air system) of the air system.

If there is no outdoor air system or there are multiple fans in the mixed air stream, then the fan closest to the supply outlet node will be returned.

Node openstudio::model::AirLoopHVAC::supplyInletNode ( ) const
overridevirtual

Returns the supply inlet node.

Reimplemented from openstudio::model::Loop.

Node openstudio::model::AirLoopHVAC::supplyOutletNode ( ) const
overridevirtual

Returns the first supply outlet Node.

Reimplemented from openstudio::model::Loop.

std::vector<Node> openstudio::model::AirLoopHVAC::supplyOutletNodes ( ) const
overridevirtual

Returns the supply outlet nodes.

Single duct systems have one supply outlet node. Dual duct systems have two supply outlet nodes.

Reimplemented from openstudio::model::Loop.

boost::optional<Splitter> openstudio::model::AirLoopHVAC::supplySplitter ( ) const

Returns the supply side splitter.

If the system is a dual duct then it will have a supply side splitter.

boost::optional<Node> openstudio::model::AirLoopHVAC::supplySplitterInletNode ( ) const

Returns the supply side splitter inlet node.

If the system is a dual duct or has a return air bypass then it will have a supply side splitter.

std::vector<Node> openstudio::model::AirLoopHVAC::supplySplitterOutletNodes ( ) const

Returns the supply side splitter outlet nodes.

If the system is a dual duct or has a return air bypass then it will have a supply side splitter.

std::vector<ThermalZone> openstudio::model::AirLoopHVAC::thermalZones ( ) const

Returns the ThermalZone objects attached to this air loop.

AirLoopHVACZoneMixer openstudio::model::AirLoopHVAC::zoneMixer ( ) const

Returns the zone mixer, if it doesn't exist then it makes one.

AirLoopHVACZoneSplitter openstudio::model::AirLoopHVAC::zoneSplitter ( ) const

Returns the first zone splitter.

std::vector<AirLoopHVACZoneSplitter> openstudio::model::AirLoopHVAC::zoneSplitters ( ) const

Returns the zone splitters.

Single duct systems have one zone splitter, dual duct systems have two.