#include <Loop.hpp>
Public Member Functions | |
virtual std::vector< ModelObject > | children () const |
virtual ModelObject | clone (Model model) const |
virtual boost::optional < ModelObject > | component (openstudio::Handle handle) |
Returns an optional ModelObject with the given handle. More... | |
virtual std::vector< ModelObject > | components (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< ModelObject > | components (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< ModelObject > | demandComponents (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< ModelObject > | demandComponents (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< ModelObject > | demandComponents (openstudio::IddObjectType type=openstudio::IddObjectType("Catchall")) const |
Returns all of the demand side HVAC equipment within the air loop. More... | |
virtual Node | demandInletNode () const |
Mixer | demandMixer () const |
virtual Node | demandOutletNode () const |
Splitter | demandSplitter () const |
virtual std::vector < openstudio::IdfObject > | remove () |
virtual boost::optional < ModelObject > | supplyComponent (openstudio::Handle handle) |
Returns an optional ModelObject with the given handle. More... | |
virtual std::vector< ModelObject > | supplyComponents (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< ModelObject > | supplyComponents (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< ModelObject > | supplyComponents (openstudio::IddObjectType type=openstudio::IddObjectType("Catchall")) const |
Returns all of the supply side HVAC equipment within the air loop. More... | |
virtual Node | supplyInletNode () const |
virtual Node | supplyOutletNode () const |
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< 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... | |
std::vector< std::string > | relationshipNames () const |
Return all valid relationship names. More... | |
std::vector< Relationship > | relationships () const |
Return all relationships for this ModelObject. More... | |
boost::optional< Relationship > | getRelationship (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< 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... | |
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< ModelObject > | connectedObject (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< WorkspaceObject > | getSources (IddObjectType type) const |
boost::optional< WorkspaceObject > | getTarget (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< WorkspaceObject > | sources () const |
std::vector< WorkspaceObject > | targets () const |
Workspace | workspace () const |
virtual | ~WorkspaceObject () |
Public Member Functions inherited from openstudio::IdfObject | |
std::string | briefDescription () const |
T | 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< IdfExtensibleGroup > | extensibleGroups () 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< int > | getInt (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 () |
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< IdfObject > | IdfObjectVector |
typedef boost::optional < IdfObject > | OptionalIdfObject |
Static Public Member Functions inherited from openstudio::IdfObject | |
static boost::optional< IdfObject > | load (const std::string &text) |
static boost::optional< IdfObject > | load (const std::string &text, const IddObject &iddObject) |
static int | printedFieldSpace () |
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) | |
Related Functions inherited from openstudio::model::ParentObject | |
std::vector< ModelObject > | getRecursiveChildren (const ParentObject &object, bool includeLifeCycleCosts=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... | |
Loop is the base class for HVAC air and water loops.
This class provides basic functionality to traverse a loop and locate components. Currently there are two types of loops AirLoopHVAC and PlantLoop. This interface reflects the commonality between the two. Loops in combination with HVACComponents offer a very simple interface to create new systems in EnergyPlus.
The following is an example of building a new HVAC system composed of an AirLoopHVAC with this c++ interface.
Model model = Model(); AirLoopHVAC airLoop = AirLoopHVAC(model); AirLoopHVACOutdoorAirSystem oaSystem = AirLoopHVACOutdoorAirSystem(model); FanConstantVolume fan = FanConstantVolume(model); CoilCoolingDXSingleSpeed coolCoil = CoilCoolingDXSingleSpeed(model); CoilHeatingGas heatingCoil = CoilHeatingGas(model); oaSystem.addToNode( airLoop.supplyOutletNode() ); fan.addToNode( airLoop.supplyOutletNode() ); coolCoil.addToNode( airLoop.supplyOutletNode() ); heatingCoil.addToNode( airLoop.supplyOutletNode() ); airLoop.addBranchForZone("Zone1");
The interface also allows you to retrieve a ModelObject and clone it into a new model thereby making a new copy. The clone algorithm is intellegent enough to bring along all of the connected pieces as it is appropriate.
Model newModel(); AirLoopHVAC newAirLoop = model.getModelObject(airLoop.handle())->clone(newModel);
The HVACComponent::addToNode function is intellegent. The add routine is context sensitive so for example adding a WaterToAirComponent to an air node will connect the air side ports, adding it to a plant loop node will connect the water side ports.
Model model = Model(); AirLoopHVAC airLoop = AirLoopHVAC(model); PlantLoop plantLoop = PlantLoop(model); CoilCoolingWater waterCoolingCoil = CoilCoolingWater(model); waterCoolingCoil.addToNode( airLoop.supplyOutletNode() ); waterCoolingCoil.addToSplitter( plantLoop.demandSplitter() );
|
inlinevirtual |
|
virtual |
|
virtual |
Reimplemented in openstudio::model::AirLoopHVAC, and openstudio::model::PlantLoop.
|
virtual |
Returns an optional ModelObject with the given handle.
If the handle is not within the Loop then the optional will be false
Reimplemented in openstudio::model::PlantLoop.
|
virtual |
Returns all of the HVAC equipment within the air loop including both the supply and demand sides of the loop.
If type is given then the results will be limited to the given IddObjectType.
std::vector<ModelObject> openstudio::model::Loop::components | ( | 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.
If they are from opposite sides of the loop then an empty vector will be returned.
|
virtual |
Returns an optional ModelObject with the given handle.
If the handle is not within demand side of the Loop then the optional will be false
|
virtual |
Returns all of the demand side hvac equipment between inletComps and outletComps.
If type is given then the results will be limited to the given IddObjectType. Multiple inlet and outlet nodes can be provided.
|
virtual |
Returns all of the demand side hvac equipment between inletComp and outletComp.
If type is given then the results will be limited to the given IddObjectType. Only one inlet and outlet node can be given.
|
virtual |
Returns all of the demand side HVAC equipment within the air loop.
If type is given then the results will be limited to the given IddObjectType.
|
virtual |
Reimplemented in openstudio::model::PlantLoop, and openstudio::model::AirLoopHVAC.
Mixer openstudio::model::Loop::demandMixer | ( | ) | const |
|
virtual |
Reimplemented in openstudio::model::PlantLoop, and openstudio::model::AirLoopHVAC.
Splitter openstudio::model::Loop::demandSplitter | ( | ) | const |
|
virtual |
Reimplemented in openstudio::model::AirLoopHVAC, and openstudio::model::PlantLoop.
|
virtual |
Returns an optional ModelObject with the given handle.
If the handle is not within supply side of the Loop then the optional will be false
|
virtual |
Returns all of the supply side hvac equipment between inletComps and outletComps.
If type is given then the results will be limited to the given IddObjectType. Multiple inlet and outlet nodes can be provided.
|
virtual |
Returns all of the supply side hvac equipment between inletComp and outletComp.
If type is given then the results will be limited to the given IddObjectType. Only one inlet and outlet node can be given.
|
virtual |
Returns all of the supply side HVAC equipment within the air loop.
If type is given then the results will be limited to the given IddObjectType.
|
virtual |
Reimplemented in openstudio::model::PlantLoop, and openstudio::model::AirLoopHVAC.
|
virtual |
Reimplemented in openstudio::model::PlantLoop, and openstudio::model::AirLoopHVAC.