OpenStudioCore:model
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends 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 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...
 
void autosizeDesignSupplyAirFlowRate ()
 
boost::optional
< AvailabilityManager
availabilityManager () 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...
 
boost::optional< double > designSupplyAirFlowRate () const
 
OSOptionalQuantity getDesignSupplyAirFlowRate (bool returnIP=false) const
 
bool isDesignSupplyAirFlowRateAutosized () const
 
bool isDualDuct () const
 Returns true if the system is "dual duct" ie. More...
 
boost::optional< NodemixedAirNode ()
 Returns the mixed air node. 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 ()
 Returns the outdoor air node. More...
 
boost::optional< NodereliefAirNode ()
 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 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...
 
void resetAvailabilityManager ()
 
void resetDesignSupplyAirFlowRate ()
 
boost::optional< NodereturnAirNode ()
 Returns the return air node. More...
 
boost::optional< HVACComponentreturnFan () const
 Returns the fan in the return air stream (before the outdoor air system. More...
 
bool setAvailabilityManager (const AvailabilityManager &availabilityManager)
 
void setAvailabilitySchedule (Schedule &schedule)
 Set the availability schedule for when this system is allowed to run. More...
 
void setDesignSupplyAirFlowRate (double designSupplyAirFlowRate)
 
bool setDesignSupplyAirFlowRate (const Quantity &designSupplyAirFlowRate)
 
bool setNightCycleControlType (std::string 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 ()
 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
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< IddObjectTypeallowableChildTypes () 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...
 
std::vector< std::string > relationshipNames () const
 Return all valid relationship names. More...
 
std::vector< Relationshiprelationships () const
 Return all relationships for this ModelObject. More...
 
boost::optional< RelationshipgetRelationship (const std::string &name) const
 Get the relationship named name, if it exists. More...
 
bool setRelationship (const std::string &name, boost::optional< ModelObject > relatedModelObject)
 Set this ModelObject's relationship name to point to relatedModelObject (or clear the relationship if relatedModelObject == boost::none). More...
 
bool setRelationship (const std::string &name, const Component &component)
 Inserts component into this model and sets this ModelObject's relationship name to point to component.primaryObject(). More...
 
std::vector< std::string > attributeNames () const
 Return all valid attribute names. More...
 
std::vector
< openstudio::Attribute
attributes () const
 Return all Attributes for this ModelObject. More...
 
boost::optional
< openstudio::Attribute
getAttribute (const std::string &name) const
 Get the attribute named name, if it exists. More...
 
bool isSettableAttribute (const std::string &name) const
 Is the named attribute settable. More...
 
bool isOptionalAttribute (const std::string &name) const
 Is the named attribute optional. More...
 
bool setAttribute (const std::string &name, bool value)
 Set the attribute named name, if it exists. More...
 
bool setAttribute (const std::string &name, int value)
 
bool setAttribute (const std::string &name, unsigned value)
 
bool setAttribute (const std::string &name, double value)
 
bool setAttribute (const std::string &name, const Quantity &value)
 
bool setAttribute (const std::string &name, const std::string &value)
 
bool setAttribute (const std::string &name, const char *value)
 
bool resetAttribute (const std::string &name)
 Reset the attribute named name. 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< IdfObjectremoveLifeCycleCosts ()
 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...
 
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< ModelObjectconnectedObject (unsigned port) const
 
boost::optional< unsigned > connectedObjectPort (unsigned port) const
 
- Public Member Functions inherited from openstudio::WorkspaceObject
bool canBeSource () const
 
bool canBeSource (unsigned index, const std::vector< std::string > &refLists=std::vector< std::string >()) const
 
std::vector< std::string > canBeTarget () const
 
std::vector< unsigned > getSourceIndices (const Handle &targetHandle) const
 
std::vector< WorkspaceObjectgetSources (IddObjectType type) const
 
boost::optional< WorkspaceObjectgetTarget (unsigned index) const
 
IdfObject idfObject ()
 
IdfObject idfObject () const
 
bool initialized () const
 
bool isSource () const
 
bool isTarget () const
 
unsigned numSources () const
 
bool objectListFieldsEqual (const WorkspaceObject &other) const
 
bool objectListFieldsNonConflicting (const WorkspaceObject &other) const
 
bool operator< (const WorkspaceObject &right) const
 
std::ostream & operator<< (std::ostream &os, const WorkspaceObject &workspaceObject)
 
std::vector
< openstudio::IdfObject
remove ()
 
bool setPointer (unsigned index, const Handle &targetHandle)
 
std::vector< WorkspaceObjectsources () const
 
std::vector< WorkspaceObjecttargets () const
 
Workspace workspace () const
 
virtual ~WorkspaceObject ()
 
- Public Member Functions inherited from openstudio::IdfObject
std::string briefDescription () const
 
cast () const
 
std::vector< T > castVector (const std::vector< U > &objects)
 
std::vector< std::vector
< std::string > > 
clearExtensibleGroups ()
 
IdfObject clone (bool keepHandle=false) const
 
std::string comment () const
 
boost::optional< std::string > createName (bool overwrite=true)
 
std::vector< unsigned > dataFields () const
 
bool dataFieldsEqual (const IdfObject &other) const
 
std::vector< std::string > eraseExtensibleGroup (unsigned groupIndex)
 
std::vector< IdfExtensibleGroupextensibleGroups () const
 
boost::optional< std::string > fieldComment (unsigned index, bool returnDefault=false) const
 
boost::optional< double > getDouble (unsigned index, bool returnDefault=false) const
 
IdfExtensibleGroup getExtensibleGroup (unsigned groupIndex) const
 
std::vector< Handle > getHandles (const std::vector< T > &objects)
 
boost::optional< intgetInt (unsigned index, bool returnDefault=false) const
 
OSOptionalQuantity getQuantity (unsigned index, bool returnDefault=false, bool returnIP=false) const
 
boost::optional< std::string > getString (unsigned index, bool returnDefault=false, bool returnUninitializedEmpty=false) const
 
boost::optional< unsigned > getUnsigned (unsigned index, bool returnDefault=false) const
 
boost::optional< QUrl > getURL (unsigned index, bool returnDefault=false) const
 
Handle handle () const
 
IddObject iddObject () const
 
 IdfObject (IddObjectType type, bool fastName=false)
 
 IdfObject (const IddObject &, bool fastName=false)
 
 IdfObject (const IdfObject &other)
 
IdfExtensibleGroup insertExtensibleGroup (unsigned groupIndex)
 
IdfExtensibleGroup insertExtensibleGroup (unsigned groupIndex, const std::vector< std::string > &values)
 
bool isDataField (unsigned index) const
 
bool isEmpty (unsigned index) const
 
bool isObjectListField (unsigned index) const
 
bool isValid (StrictnessLevel level) const
 
boost::optional< unsigned > maxExtensibleGroups () const
 
boost::optional< unsigned > maxFields () const
 
unsigned minExtensibleGroups () const
 
unsigned minFields () const
 
boost::optional< std::string > name (bool returnDefault=false) const
 
unsigned numExtensibleGroups () const
 
unsigned numFields () const
 
unsigned numNonextensibleFields () const
 
std::vector< unsigned > objectListFields () const
 
bool objectListFieldsEqual (const IdfObject &other) const
 
bool objectListFieldsNonConflicting (const IdfObject &other) const
 
bool operator!= (const IdfObject &other) const
 
std::ostream & operator<< (std::ostream &os, const IdfObject &IdfObject)
 
bool operator== (const IdfObject &other) const
 
boost::optional< T > optionalCast () const
 
std::vector< std::string > popExtensibleGroup ()
 
std::ostream & print (std::ostream &os) const
 
std::ostream & printField (std::ostream &os, unsigned index, bool isLastField=false) const
 
std::ostream & printName (std::ostream &os, bool hasFields=true) const
 
IdfExtensibleGroup pushExtensibleGroup (const std::vector< std::string > &values)
 
IdfExtensibleGroup pushExtensibleGroup ()
 
std::vector< unsigned > requiredFields () const
 
void setComment (const std::string &msg)
 
bool setDouble (unsigned index, double value)
 
bool setFieldComment (unsigned index, const std::string &cmnt)
 
bool setInt (unsigned index, int value)
 
boost::optional< std::string > setName (const std::string &newName)
 
bool setQuantity (unsigned index, const Quantity &q)
 
bool setString (unsigned index, const std::string &value)
 
bool setUnsigned (unsigned index, unsigned value)
 
std::vector< T > subsetCastVector (const std::vector< U > &original)
 
ValidityReport validityReport (StrictnessLevel level, bool checkNames=true) const
 
virtual ~IdfObject ()
 

Static Public Member Functions

static IddObjectType iddObjectType ()
 
- Static Public Member Functions inherited from openstudio::IdfObject
static boost::optional< IdfObjectload (const std::string &text)
 
static boost::optional< IdfObjectload (const std::string &text, const IddObject &iddObject)
 
static int printedFieldSpace ()
 

Additional Inherited Members

- Public Types inherited from openstudio::WorkspaceObject
typedef boost::optional
< WorkspaceObject
OptionalWorkspaceObject
 
typedef std::vector
< WorkspaceObject
WorkspaceObjectVector
 
- Public Types inherited from openstudio::IdfObject
typedef std::pair< IdfObject,
IdfObject
IdfObjectPair
 
typedef std::vector< IdfObjectIdfObjectVector
 
typedef boost::optional
< IdfObject
OptionalIdfObject
 
- Protected Types inherited from openstudio::model::ModelObject
typedef detail::ModelObject_Impl ImplType
 
- Protected Types inherited from openstudio::WorkspaceObject
typedef
detail::WorkspaceObject_Impl 
ImplType
 
- Protected Types inherited from openstudio::IdfObject
typedef detail::IdfObject_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)
 
- Protected Member Functions inherited from openstudio::WorkspaceObject
 WorkspaceObject (std::shared_ptr< detail::WorkspaceObject_Impl > impl)
 
- Protected Member Functions inherited from openstudio::IdfObject
 IdfObject (std::shared_ptr< detail::IdfObject_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::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.

void openstudio::model::AirLoopHVAC::autosizeDesignSupplyAirFlowRate ( )
boost::optional<AvailabilityManager> openstudio::model::AirLoopHVAC::availabilityManager ( ) 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. AvailabilityManager is used to override the system availabilitySchedule() with one of OpenStudio's supported AvailabilityManager types. Unlike EnergyPlus which supports layering multiple availability managers on an AvailabilityManagerAssignmentList, OpenStudio allows only one AvailabilityManager at a time.

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.

boost::optional<double> openstudio::model::AirLoopHVAC::designSupplyAirFlowRate ( ) const
OSOptionalQuantity openstudio::model::AirLoopHVAC::getDesignSupplyAirFlowRate ( bool  returnIP = false) 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 ( )

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.

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 ( )

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 ( )

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::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.

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

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.

bool openstudio::model::AirLoopHVAC::setAvailabilityManager ( const AvailabilityManager availabilityManager)
void openstudio::model::AirLoopHVAC::setAvailabilitySchedule ( Schedule schedule)

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

void openstudio::model::AirLoopHVAC::setDesignSupplyAirFlowRate ( double  designSupplyAirFlowRate)
bool openstudio::model::AirLoopHVAC::setDesignSupplyAirFlowRate ( const Quantity designSupplyAirFlowRate)
bool openstudio::model::AirLoopHVAC::setNightCycleControlType ( std::string  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 ( )

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.