|
std::vector< AppGFuelType > | appGHeatingFuelTypes () const |
|
void | applySizingValues () |
|
void | autosize () |
|
virtual std::vector< ModelObject > | children () const |
|
virtual ModelObject | clone (Model model) const |
|
virtual boost::optional
< ModelObject > | component (openstudio::Handle handle) const |
| Returns an optional ModelObject with the given handle. More...
|
|
virtual std::vector< ModelObject > | components (openstudio::IddObjectType type=openstudio::IddObjectType("Catchall")) const |
| 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 (const HVACComponent &inletComp, const 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...
|
|
ComponentType | componentType () const |
|
std::vector< FuelType > | coolingFuelTypes () const |
|
virtual boost::optional
< ModelObject > | demandComponent (openstudio::Handle handle) const |
| Returns an optional ModelObject with the given handle. More...
|
|
virtual std::vector< ModelObject > | demandComponents (const HVACComponent &inletComp, const HVACComponent &outletComp, 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 (openstudio::IddObjectType type=openstudio::IddObjectType("Catchall")) const |
| Returns all of the demand side HVAC equipment within the air loop. More...
|
|
virtual Node | demandInletNode () const |
|
virtual std::vector< Node > | demandInletNodes () const |
|
Mixer | demandMixer () const |
|
virtual Node | demandOutletNode () const |
|
Splitter | demandSplitter () const |
|
std::vector< FuelType > | heatingFuelTypes () const |
|
| Loop (const Loop &other)=default |
|
| Loop (Loop &&other)=default |
|
Loop & | operator= (const Loop &)=default |
|
Loop & | operator= (Loop &&)=default |
|
virtual std::vector
< openstudio::IdfObject > | remove () |
|
virtual boost::optional
< ModelObject > | supplyComponent (openstudio::Handle handle) const |
| Returns an optional ModelObject with the given handle. More...
|
|
virtual std::vector< ModelObject > | supplyComponents (const HVACComponent &inletComp, const HVACComponent &outletComp, 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 (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 std::vector< Node > | supplyOutletNodes () const |
|
virtual | ~Loop ()=default |
|
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...
|
|
ParentObject & | operator= (const ParentObject &)=default |
|
ParentObject & | operator= (ParentObject &&)=default |
|
| ParentObject (const ParentObject &other)=default |
|
| ParentObject (ParentObject &&other)=default |
|
virtual | ~ParentObject ()=default |
|
virtual | ~ModelObject ()=default |
|
| ModelObject (const ModelObject &other)=default |
|
| ModelObject (ModelObject &&other)=default |
|
ModelObject & | operator= (const ModelObject &)=default |
|
ModelObject & | operator= (ModelObject &&)=default |
|
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...
|
|
boost::optional< std::string > | cadObjectId () const |
|
bool | setCADObjectId (const std::string &cadObjectId) |
|
boost::optional< std::string > | gbXMLId () const |
|
bool | setGBXMLId (const std::string &gbXMLId) |
|
boost::optional< std::string > | displayName () const |
|
bool | setDisplayName (const std::string &displayName) |
|
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 (const std::string &valueName, const std::string &units) 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 |
|
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() );