#include <HVACComponent.hpp>
Public Member Functions | |
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< AirLoopHVAC > | airLoopHVAC () 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< HVACComponent > | containingHVACComponent () 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< Loop > | loop () const |
Returns the optional Loop object that the HVAC component is attached to. More... | |
boost::optional< PlantLoop > | plantLoop () 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< ModelObject > | children () 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< ParentObject > | parent () const |
Return this object's parent in the hierarchy, if it has one. More... | |
std::vector< ResourceObject > | resources () 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< OutputVariable > | outputVariables () 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< LifeCycleCost > | lifeCycleCosts () 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< ScheduleTypeKey > | getScheduleTypeKeys (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< ModelObject > | connectedObject (unsigned port) const |
boost::optional< unsigned > | connectedObjectPort (unsigned port) const |
Protected Types | |
typedef detail::HVACComponent_Impl | ImplType |
Protected Types inherited from openstudio::model::ModelObject | |
typedef detail::ModelObject_Impl | ImplType |
Protected Member Functions | |
virtual std::vector< ModelObject > | children () const |
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 | |
Related Functions inherited from openstudio::model::ParentObject | |
std::vector< ModelObject > | getRecursiveChildren (const ParentObject &object, bool includeLifeCycleCostsAndAdditionalProperties=false) |
Returns object and all other objects accessible by calling children() on encountered ParentObjects . More... | |
std::vector< ModelObject > | getRecursiveChildrenAndResources (const ModelObject &object) |
Returns object and all other objects accessible by calling children() and resources() on encountered ModelObjects . More... | |
Related Functions inherited from openstudio::model::ModelObject | |
std::vector< ResourceObject > | getRecursiveResources (const ModelObject &object) |
Returns all ResourceObjects accessible by recursively calling .resources() starting from object. More... | |
typedef std::pair< std::string, std::string > | ScheduleTypeKey |
Typedef for ScheduleTypeRegistry key. More... | |
typedef std::pair< std::string, std::string > | ScheduleTypeKey |
Typedef for ScheduleTypeRegistry key. More... | |
HVACComponent is the base class for objects related to HVAC systems.
HVACComponent provides the ability to connect multiple HVACComponents together through ports. Connections are directional and they are created by identifying a source HVACComponent and port as well as a target HVACComponent object and port. Once a connection is made, it is easy to access the HVACComponent connected to a particular port using the member functions of HVACComponent.
New Connections are made using the openstudio::model::Model::connect function.
Connections and ports together form similar functionality as EnergyPlus nodes, however a connection between ports is more general then a node connection in Energyplus. Indeed, in the OpenStudio model connections are used to describe what is a node connection in EnergyPlus, but connections can be applied to other contexts then just EnergyPlus nodes. OpenStudio's connections and ports can be used anytime one "component" can be arbitrarily connected to another "component". For example EnergyPlus EMS sensors and actuaters could be thought of as source and target ports, where a connection can be made between the two.
|
protected |
|
inlinevirtual |
|
protected |
|
explicitprotected |
bool openstudio::model::HVACComponent::addToNode | ( | Node & | node | ) |
Adds this object to a new system node and returns a boolean indicating if the addition was successful.
This method is reimplemented in many of the derived classes to do the right thing based on the context of the node a particular object is added to. For example if a specific HVACComoponent is not allowed on an air loop and this interface is used to attempt to add the HVAC component to a node on an air loop the method will return false and the object will not be added.
Normally, this method will add this HVAC component immediatly after the node specified. There are exceptions, such as when a component is dropped on an outlet node such as the supply outlet node of an air loop. In this case the method will do the only thing possible and add this component before the outlet node.
bool openstudio::model::HVACComponent::addToSplitter | ( | Splitter & | splitter | ) |
Adds this object to a splitter by creating a new branch.
Returns true if the operation was succesfull.
This method is reimplemented in many of the derived class to do the right thing based on the context of the splitter a particular object is added to.
boost::optional<AirLoopHVAC> openstudio::model::HVACComponent::airLoopHVAC | ( | ) | const |
Returns the optional AirLoopHVAC object that the HVAC component is attached to.
If the component is part of an outdoor air system, the containing AirLoopHVAC will be returned. If the HVAC component is not associated with an air loop then the optional will be false.
boost::optional<AirLoopHVACOutdoorAirSystem> openstudio::model::HVACComponent::airLoopHVACOutdoorAirSystem | ( | ) | const |
Returns the optional AirLoopHVACOutdoorAirSystem that the HVAC component is attached to.
If the HVAC component is not associated with an outdoor air system then the optional will be false.
void openstudio::model::HVACComponent::applySizingValues | ( | ) |
void openstudio::model::HVACComponent::autosize | ( | ) |
Returns the optional ModelObject connected to this object's port.
Returns the optional Port on the connected object through which the connection to this object's port is made.
|
protectedvirtual |
Reimplemented in openstudio::model::ZoneHVACComponent.
boost::optional<HVACComponent> openstudio::model::HVACComponent::containingHVACComponent | ( | ) | const |
EnergyPlus unitary equipment and air terminals are typically composed of other HVAC components.
This method returns any such component containing this component. In OpenStudio, AirLoopHVAC, PlantLoop, and AirLoopHVACOutdoorAirSystem are treated as systems, not unitary equipment, thus they are not returned by this method. See plantLoop(), airLoop(), and airLoopHVACOutdoorAirSystem() to access those systems.
boost::optional<StraightComponent> openstudio::model::HVACComponent::containingStraightComponent | ( | ) | const |
boost::optional<ZoneHVACComponent> openstudio::model::HVACComponent::containingZoneHVACComponent | ( | ) | const |
Returns any ZoneHVACComponent that contains this HVACComponent.
void openstudio::model::HVACComponent::disconnect | ( | ) |
Removes all connections to other HVACComponent objects.
bool openstudio::model::HVACComponent::isRemovable | ( | ) | const |
Indicates if the HVACComponent can be removed from the model.
One reason a component could not be removed is because it is attached to a loop and removing it would destroy the integrity of the loop. Zone splitters and mixers are examples of this, since they are required components of an air loop. In such a case, the HVACComponent must be disconnected before it can be removed.
boost::optional<Loop> openstudio::model::HVACComponent::loop | ( | ) | const |
Returns the optional Loop object that the HVAC component is attached to.
If the component is part of an outdoor air system, the containing AirLoopHVAC will be returned. If the component is attached to multiple loops, the optional will be false.
boost::optional<PlantLoop> openstudio::model::HVACComponent::plantLoop | ( | ) | const |
Returns the optional PlantLoop object that the HVAC component is attached to.
If the HVAC component is not associated with a plant loop then the optional will be false.
std::vector<IdfObject> openstudio::model::HVACComponent::remove | ( | ) |
Removes the HVACComponent from the model only if isRemovable() return true.