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

#include <PlantEquipmentOperationRangeBasedScheme.hpp>

+ Inheritance diagram for openstudio::model::PlantEquipmentOperationRangeBasedScheme:

Public Member Functions

bool addEquipment (double upperLimit, const HVACComponent &equipment)
 Add an HVACComponent instance to an existing load range. More...
 
bool addEquipment (const HVACComponent &equipment)
 Add an HVACComponent instance to the highest load range. More...
 
bool addLoadRange (double upperLimit, const std::vector< HVACComponent > &equipment)
 Add a new load range, using the adjacent range as the lower limit, and "upperLimit" as the upper limit of the new range. More...
 
void clearLoadRanges ()
 Remove all load ranges except the default range. More...
 
std::vector< HVACComponentequipment (double upperLimit) const
 Return a vector of the equipment at a given load range, where the load range is identified by the upper limit. More...
 
std::vector< double > loadRangeUpperLimits () const
 Return a vector of all of the load range upper limits. More...
 
double maximumUpperLimit () const
 The maximum limit of the range based operation scheme. More...
 
double minimumLowerLimit () const
 The minimum limit of the range based operation scheme. More...
 
 PlantEquipmentOperationRangeBasedScheme (IddObjectType type, const Model &model)
 
bool removeEquipment (double upperLimit, const HVACComponent &equipment)
 Remove an HVACComponent instance from an existing load range. More...
 
bool removeEquipment (const HVACComponent &equipment)
 Remove an HVACComponent instance from all load ranges for which it is a member. More...
 
std::vector< HVACComponentremoveLoadRange (double upperLimit)
 Remove an existing load range identified by its upper limit. More...
 
bool replaceEquipment (double upperLimit, const std::vector< HVACComponent > &equipment)
 Replace HVACComponent instances assigned to an existing load range. More...
 
bool replaceEquipment (const std::vector< HVACComponent > &equipment)
 Replace HVACComponent instances assigned to the highest load range. More...
 
virtual ~PlantEquipmentOperationRangeBasedScheme ()
 
- Public Member Functions inherited from openstudio::model::PlantEquipmentOperationScheme
 PlantEquipmentOperationScheme (IddObjectType type, const Model &model)
 
boost::optional< PlantLoopplantLoop () const
 
virtual ~PlantEquipmentOperationScheme ()
 
- 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< 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...
 
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< IdfObjectremoveAdditionalProperties ()
 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
 
- 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, bool checkNames=false) 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
 
std::string nameString (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 ()
 
IdfExtensibleGroup pushExtensibleGroup (const std::vector< std::string > &values)
 
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=false) 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< IdfObjectIdfObjectVector
 
typedef boost::optional
< IdfObject
OptionalIdfObject
 
- 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 ()
 
- 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::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

PlantEquipmentOperationRangeBasedScheme instances will be created with a single continuous load range between a minimum and maximum bound.

This continuum can be subdivided to create multiple discrete ranges with different equipment assignments. Ranges are identified by the value of their upper limit. A load range is allowed to be empty. This interface is similar to ScheduleDay in OpenStudio, where an entire continuum must be filled in. Here some ranges in the continuum maybe be empty (no equipment), signaling that the no equipment operates during the specified range. Subclasses will determine appropriate minimum and maximum bounds of the operation scheme.

Constructor & Destructor Documentation

openstudio::model::PlantEquipmentOperationRangeBasedScheme::PlantEquipmentOperationRangeBasedScheme ( IddObjectType  type,
const Model model 
)
virtual openstudio::model::PlantEquipmentOperationRangeBasedScheme::~PlantEquipmentOperationRangeBasedScheme ( )
inlinevirtual

Member Function Documentation

bool openstudio::model::PlantEquipmentOperationRangeBasedScheme::addEquipment ( double  upperLimit,
const HVACComponent equipment 
)

Add an HVACComponent instance to an existing load range.

bool openstudio::model::PlantEquipmentOperationRangeBasedScheme::addEquipment ( const HVACComponent equipment)

Add an HVACComponent instance to the highest load range.

This method is useful to add equipment to the single default load range after a load operation scheme is default constructed.

bool openstudio::model::PlantEquipmentOperationRangeBasedScheme::addLoadRange ( double  upperLimit,
const std::vector< HVACComponent > &  equipment 
)

Add a new load range, using the adjacent range as the lower limit, and "upperLimit" as the upper limit of the new range.

Returns true if the load range was succesfully added. Duplicates wil be removed from the equipment vector

void openstudio::model::PlantEquipmentOperationRangeBasedScheme::clearLoadRanges ( )

Remove all load ranges except the default range.

All equipment will be removed.

std::vector<HVACComponent> openstudio::model::PlantEquipmentOperationRangeBasedScheme::equipment ( double  upperLimit) const

Return a vector of the equipment at a given load range, where the load range is identified by the upper limit.

std::vector<double> openstudio::model::PlantEquipmentOperationRangeBasedScheme::loadRangeUpperLimits ( ) const

Return a vector of all of the load range upper limits.

A default constructed load range scheme, will return a vector with one element.

double openstudio::model::PlantEquipmentOperationRangeBasedScheme::maximumUpperLimit ( ) const

The maximum limit of the range based operation scheme.

No load range can operate above this value.

double openstudio::model::PlantEquipmentOperationRangeBasedScheme::minimumLowerLimit ( ) const

The minimum limit of the range based operation scheme.

No load range can operate below this value. This is where the first load range will begin from. A default constructed PlantEquipmentOperationRangeBasedScheme will have a single range defined between the minimumLowerLimit and the maximumUpperLimit.

bool openstudio::model::PlantEquipmentOperationRangeBasedScheme::removeEquipment ( double  upperLimit,
const HVACComponent equipment 
)

Remove an HVACComponent instance from an existing load range.

bool openstudio::model::PlantEquipmentOperationRangeBasedScheme::removeEquipment ( const HVACComponent equipment)

Remove an HVACComponent instance from all load ranges for which it is a member.

std::vector<HVACComponent> openstudio::model::PlantEquipmentOperationRangeBasedScheme::removeLoadRange ( double  upperLimit)

Remove an existing load range identified by its upper limit.

Every operation scheme in OpenStudio must span the entire continuum between 0 and a predefined upper limit, therefore it is not possible to remove the largest upper limit. Return the hvac equipment that was on the range. The next "higher" load range fills in the place in the load continum that the removed range occupied.

bool openstudio::model::PlantEquipmentOperationRangeBasedScheme::replaceEquipment ( double  upperLimit,
const std::vector< HVACComponent > &  equipment 
)

Replace HVACComponent instances assigned to an existing load range.

This is useful for reording equipment.

bool openstudio::model::PlantEquipmentOperationRangeBasedScheme::replaceEquipment ( const std::vector< HVACComponent > &  equipment)

Replace HVACComponent instances assigned to the highest load range.

This is useful for reording equipment.