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

#include <ZoneHVACComponent.hpp>

+ Inheritance diagram for openstudio::model::ZoneHVACComponent:

Public Member Functions

bool addToNode (Node &node)
 Adds this ZoneHVACComponent to a node on an AirLoopHVAC object. More...
 
bool addToThermalZone (ThermalZone &thermalZone)
 Adds this ZoneHVACComponent to the thermal zone while managing all node connections automatically. More...
 
boost::optional< ModelObjectairInletModelObject () const
 Provided for backwards compatibility, use inletNode instead. More...
 
boost::optional< AirLoopHVACairLoopHVAC () const
 Returns the AirLoopHVAC attached to this ZoneHVACComponent. More...
 
boost::optional< ModelObjectairOutletModelObject () const
 Provided for backwards compatibility, use outletNode instead. More...
 
boost::optional< NodeinletNode () const
 Returns the optional node connected to the inletPort(). More...
 
unsigned inletPort () const
 Returns the inlet port. More...
 
boost::optional< NodeoutletNode () const
 Returns the optional node connected to the outletPort(). More...
 
unsigned outletPort () const
 Returns the outlet port. More...
 
bool removeFromAirLoopHVAC ()
 If this ZoneHVACComponent is used as a supply component on an AirLoopHVAC system, then this method will detach this ZoneHVACComponent from the AirLoopHVAC system, otherwise this method does nothing. More...
 
void removeFromThermalZone ()
 Detaches this ZoneHVACComponent from the associated ThermalZone. More...
 
void removeReturnPlenum ()
 Remove any return plenum attached to this ZoneHVACComponent. More...
 
boost::optional
< AirLoopHVACReturnPlenum
returnPlenum () const
 
bool setReturnPlenum (const ThermalZone &plenumZone)
 Establish plenumZone as the return plenum for this ZoneHVACComponent. More...
 
virtual boost::optional
< ThermalZone
thermalZone () const
 Returns the optional ThermalZone that this ZoneHVACComponent is attached to. More...
 
virtual ~ZoneHVACComponent ()
 
- Public Member Functions inherited from openstudio::model::HVACComponent
bool addToNode (Node &node)
 Adds this object to a new system node and returns a boolean indicating if the addition was successful. More...
 
bool addToSplitter (Splitter &splitter)
 Adds this object to a splitter by creating a new branch. More...
 
boost::optional< AirLoopHVACairLoopHVAC () const
 Returns the optional AirLoopHVAC object that the HVAC component is attached to. More...
 
boost::optional
< AirLoopHVACOutdoorAirSystem
airLoopHVACOutdoorAirSystem () const
 Returns the optional AirLoopHVACOutdoorAirSystem that the HVAC component is attached to. More...
 
void applySizingValues ()
 
void autosize ()
 Returns the optional ModelObject connected to this object's port. More...
 
boost::optional< HVACComponentcontainingHVACComponent () const
 EnergyPlus unitary equipment and air terminals are typically composed of other HVAC components. More...
 
boost::optional
< StraightComponent
containingStraightComponent () const
 
boost::optional
< ZoneHVACComponent
containingZoneHVACComponent () const
 Returns any ZoneHVACComponent that contains this HVACComponent. More...
 
void disconnect ()
 Removes all connections to other HVACComponent objects. More...
 
bool isRemovable () const
 Indicates if the HVACComponent can be removed from the model. More...
 
boost::optional< Looploop () const
 Returns the optional Loop object that the HVAC component is attached to. More...
 
boost::optional< PlantLoopplantLoop () const
 Returns the optional PlantLoop object that the HVAC component is attached to. More...
 
std::vector< IdfObject > remove ()
 Removes the HVACComponent from the model only if isRemovable() return true. More...
 
virtual ~HVACComponent ()
 
- 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
 

Protected Types

typedef
detail::ZoneHVACComponent_Impl 
ImplType
 
- Protected Types inherited from openstudio::model::HVACComponent
typedef detail::HVACComponent_Impl ImplType
 
- Protected Types inherited from openstudio::model::ModelObject
typedef detail::ModelObject_Impl ImplType
 

Protected Member Functions

virtual std::vector< ModelObjectchildren () const override
 
 ZoneHVACComponent (IddObjectType type, const Model &model)
 
 ZoneHVACComponent (std::shared_ptr< ImplType > impl)
 
- Protected Member Functions inherited from openstudio::model::HVACComponent
 HVACComponent (IddObjectType type, const Model &model)
 
 HVACComponent (std::shared_ptr< ImplType > impl)
 
- 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)
 

Additional Inherited Members

Detailed Description

ZoneHVACComponent is the base class for HVAC related objects that exclusively condition a single zone.

Member Typedef Documentation

typedef detail::ZoneHVACComponent_Impl openstudio::model::ZoneHVACComponent::ImplType
protected

Constructor & Destructor Documentation

virtual openstudio::model::ZoneHVACComponent::~ZoneHVACComponent ( )
inlinevirtual
openstudio::model::ZoneHVACComponent::ZoneHVACComponent ( IddObjectType  type,
const Model model 
)
protected
openstudio::model::ZoneHVACComponent::ZoneHVACComponent ( std::shared_ptr< ImplType impl)
explicitprotected

Member Function Documentation

bool openstudio::model::ZoneHVACComponent::addToNode ( Node node)

Adds this ZoneHVACComponent to a node on an AirLoopHVAC object.

The node must be located between a ThermalZone and a AirTerminalSingleDuctInletSideMixer object. This is used to feed an AirLoopHVAC structure (such as a DOAS, or any built up system) into a ZoneHVACComponent. If the ZoneHVACComponent object is already attached to a thermalZone() then it will first be detached using removeFromThermalZone().

Certain OpenStudio objects derived from the ZoneHVACComponent type, can be used as AirLoopHVAC supply components. One example is the AirLoopHVACUnitarySystem, which can be used as both a ZoneHVACComponent and a AirLoopHVAC component. In these cases addToNode can be used to add those components to the supply side of an AirLoopHVAC system.

bool openstudio::model::ZoneHVACComponent::addToThermalZone ( ThermalZone thermalZone)

Adds this ZoneHVACComponent to the thermal zone while managing all node connections automatically.

Returns true if the operation was successful.

boost::optional<ModelObject> openstudio::model::ZoneHVACComponent::airInletModelObject ( ) const

Provided for backwards compatibility, use inletNode instead.

boost::optional<AirLoopHVAC> openstudio::model::ZoneHVACComponent::airLoopHVAC ( ) const

Returns the AirLoopHVAC attached to this ZoneHVACComponent.

The AirLoopHVAC object would have been attached via addToNode

boost::optional<ModelObject> openstudio::model::ZoneHVACComponent::airOutletModelObject ( ) const

Provided for backwards compatibility, use outletNode instead.

virtual std::vector<ModelObject> openstudio::model::ZoneHVACComponent::children ( ) const
overrideprotectedvirtual

Reimplemented from openstudio::model::HVACComponent.

boost::optional<Node> openstudio::model::ZoneHVACComponent::inletNode ( ) const

Returns the optional node connected to the inletPort().

unsigned openstudio::model::ZoneHVACComponent::inletPort ( ) const

Returns the inlet port.

For a ZoneHVACComponent this port is typically connected to a zone exhaust node.

boost::optional<Node> openstudio::model::ZoneHVACComponent::outletNode ( ) const

Returns the optional node connected to the outletPort().

unsigned openstudio::model::ZoneHVACComponent::outletPort ( ) const

Returns the outlet port.

For a ZoneHVACComponent this port is typically connected to a zone air inlet node

bool openstudio::model::ZoneHVACComponent::removeFromAirLoopHVAC ( )

If this ZoneHVACComponent is used as a supply component on an AirLoopHVAC system, then this method will detach this ZoneHVACComponent from the AirLoopHVAC system, otherwise this method does nothing.

Certain OpenStudio objects derived from the ZoneHVACComponent type, can be used as AirLoopHVAC supply components. One example is the AirLoopHVACUnitarySystem, which can be used as both a ZoneHVACComponent and a AirLoopHVAC component.

If this ZoneHVACComponent is on the demand side of AirLoopHVAC, between a ThermalZone and a AirTerminalSingleDuctInletSideMixer, then use the method removeFromThermalZone, instead of removeFromAirLoopHVAC to detach this ZoneHVACComponent from the zone and air system.

void openstudio::model::ZoneHVACComponent::removeFromThermalZone ( )

Detaches this ZoneHVACComponent from the associated ThermalZone.

If there is no attached ThermalZone there is no effect. If the ThermalZone is attached via an AirLoopHVAC object (as a result of addToNode()), then this method will reverse the effects of addToNode, and also detach the ZoneHVACComponent from the AirLoopHVAC object.

void openstudio::model::ZoneHVACComponent::removeReturnPlenum ( )

Remove any return plenum attached to this ZoneHVACComponent.

boost::optional<AirLoopHVACReturnPlenum> openstudio::model::ZoneHVACComponent::returnPlenum ( ) const
bool openstudio::model::ZoneHVACComponent::setReturnPlenum ( const ThermalZone plenumZone)

Establish plenumZone as the return plenum for this ZoneHVACComponent.

ZoneHVACComponent must already be attached to a ThermalZone The method canBePlenum called on plenumZone must return true.

virtual boost::optional<ThermalZone> openstudio::model::ZoneHVACComponent::thermalZone ( ) const
virtual