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

#include <ThermalZone.hpp>

+ Inheritance diagram for openstudio::model::ThermalZone:

Public Member Functions

Constructors and Destructors
 ThermalZone (const Model &model)
 
virtual ~ThermalZone ()=default
 
 ThermalZone (const ThermalZone &other)=default
 
 ThermalZone (ThermalZone &&other)=default
 
ThermalZoneoperator= (const ThermalZone &)=default
 
ThermalZoneoperator= (ThermalZone &&)=default
 
Getters
int multiplier () const
 
bool isMultiplierDefaulted () const
 
boost::optional< double > ceilingHeight () const
 
bool isCeilingHeightDefaulted () const
 
bool isCeilingHeightAutocalculated () const
 
boost::optional< double > volume () const
 
bool isVolumeDefaulted () const
 
bool isVolumeAutocalculated () const
 
boost::optional< std::string > zoneInsideConvectionAlgorithm () const
 
boost::optional< std::string > zoneOutsideConvectionAlgorithm () const
 
std::string zoneConditioningEquipmentListName () const
 
boost::optional< Thermostatthermostat () const
 
boost::optional
< ThermostatSetpointDualSetpoint
thermostatSetpointDualSetpoint () const
 
boost::optional
< ZoneControlHumidistat
zoneControlHumidistat () const
 
boost::optional
< ZoneControlContaminantController
zoneControlContaminantController () const
 
double fractionofZoneControlledbyPrimaryDaylightingControl () const
 
bool isFractionofZoneControlledbyPrimaryDaylightingControlDefaulted () const
 
double fractionofZoneControlledbySecondaryDaylightingControl () const
 
bool isFractionofZoneControlledbySecondaryDaylightingControlDefaulted () const
 
SizingZone sizingZone () const
 
ZonePropertyUserViewFactorsBySurfaceName getZonePropertyUserViewFactorsBySurfaceName () const
 
Setters
bool setMultiplier (int multiplier)
 
void resetMultiplier ()
 
bool setCeilingHeight (boost::optional< double > ceilingHeight)
 
bool setCeilingHeight (double ceilingHeight)
 
void resetCeilingHeight ()
 
void autocalculateCeilingHeight ()
 
bool setVolume (boost::optional< double > volume)
 
bool setVolume (double volume)
 
void resetVolume ()
 
void autocalculateVolume ()
 
bool setZoneInsideConvectionAlgorithm (boost::optional< std::string > zoneInsideConvectionAlgorithm)
 
bool setZoneInsideConvectionAlgorithm (const std::string &zoneInsideConvectionAlgorithm)
 
void resetZoneInsideConvectionAlgorithm ()
 
bool setZoneOutsideConvectionAlgorithm (boost::optional< std::string > zoneOutsideConvectionAlgorithm)
 
bool setZoneOutsideConvectionAlgorithm (const std::string &zoneOutsideConvectionAlgorithm)
 
void resetZoneOutsideConvectionAlgorithm ()
 
bool setZoneConditioningEquipmentListName (const std::string &zoneConditioningEquipmentListName)
 
bool setThermostatSetpointDualSetpoint (const ThermostatSetpointDualSetpoint &thermostat)
 
void resetThermostatSetpointDualSetpoint ()
 
bool setThermostat (const Thermostat &thermostat)
 
void resetThermostat ()
 
bool setZoneControlHumidistat (const ZoneControlHumidistat &humidistat)
 
void resetZoneControlHumidistat ()
 
bool setZoneControlContaminantController (const ZoneControlContaminantController &contaminantController)
 
void resetZoneControlContaminantController ()
 
bool setFractionofZoneControlledbyPrimaryDaylightingControl (double fractionofZoneControlledbyPrimaryDaylightingControl)
 
void resetFractionofZoneControlledbyPrimaryDaylightingControl ()
 
bool setFractionofZoneControlledbySecondaryDaylightingControl (double fractionofZoneControlledbySecondaryDaylightingControl)
 
void resetFractionofZoneControlledbySecondaryDaylightingControl ()
 
Other
unsigned returnAirPort () const
 
unsigned zoneAirPort () const
 
OptionalModelObject returnAirModelObject () const
 
std::vector< ModelObjectreturnAirModelObjects () const
 
Node zoneAirNode () const
 
boost::optional
< DaylightingControl
primaryDaylightingControl () const
 
bool setPrimaryDaylightingControl (const DaylightingControl &daylightingControl)
 
void resetPrimaryDaylightingControl ()
 
boost::optional
< DaylightingControl
secondaryDaylightingControl () const
 
bool setSecondaryDaylightingControl (const DaylightingControl &daylightingControl)
 
void resetSecondaryDaylightingControl ()
 
boost::optional< IlluminanceMapilluminanceMap () const
 
bool setIlluminanceMap (const IlluminanceMap &illuminanceMap)
 
void resetIlluminanceMap ()
 
void checkDaylightingControlsAndIlluminanceMaps ()
 
boost::optional< ScheduledaylightingControlsAvailabilitySchedule () const
 
bool setDaylightingControlsAvailabilitySchedule (Schedule &schedule)
 
void resetDaylightingControlsAvailabilitySchedule ()
 
boost::optional< RenderingColorrenderingColor () const
 Returns the rendering color. More...
 
bool setRenderingColor (const RenderingColor &renderingColor)
 Sets the rendering color. More...
 
void resetRenderingColor ()
 Resets the rendering color. More...
 
std::vector< ModelObjectequipment () const
 
boost::optional< HVACComponentairLoopHVACTerminal () const
 
std::vector< HVACComponentairLoopHVACTerminals () const
 
std::vector< Spacespaces () const
 returns all spaces in this thermal zone More...
 
double floorArea () const
 Accumulates the floorArea (m^2) of spaces. More...
 
double exteriorSurfaceArea () const
 Accumulates the exterior surface area (m^2) of spaces. More...
 
double exteriorWallArea () const
 Accumulates the exterior wall area (m^2) of spaces. More...
 
double airVolume () const
 Accumulates the air volume (m^3) of spaces. More...
 
double numberOfPeople () const
 Returns the number of people in the thermal zone. More...
 
double peoplePerFloorArea () const
 Returns the number of people per floor area (people/m^2). More...
 
double floorAreaPerPerson () const
 Returns the total floor area per person in this thermal zone (m^2/person). More...
 
double lightingPower () const
 Returns the lighting power (W) in this thermal zone. More...
 
double lightingPowerPerFloorArea () const
 Returns the lighting power density (W/m^2) of this thermal zone. More...
 
double lightingPowerPerPerson () const
 Returns the lighting power per person (W/person) of this thermal zone. More...
 
double electricEquipmentPower () const
 Returns the electric equipment power (W) of this thermal zone. More...
 
double electricEquipmentPowerPerFloorArea () const
 Returns the electric equipment power density (W/m^2) of this thermal zone. More...
 
double electricEquipmentPowerPerPerson () const
 Returns the electric equipment power per person (W/person) of this thermal zone. More...
 
double gasEquipmentPower () const
 Returns the gas equipment power (W) of this thermal zone. More...
 
double gasEquipmentPowerPerFloorArea () const
 Returns the gas equipment power density (W/m^2) of this thermal zone. More...
 
double gasEquipmentPowerPerPerson () const
 Returns the gas equipment power per person (W/person) of this thermal zone. More...
 
double infiltrationDesignFlowRate () const
 Returns the infiltration design flow rate (m^3/s) in this thermal zone. More...
 
double infiltrationDesignFlowPerSpaceFloorArea () const
 Returns the infiltration design flow per space floor area (m^3/m^2*s) in this thermal zone. More...
 
double infiltrationDesignFlowPerExteriorSurfaceArea () const
 Returns the infiltration design flow per exterior surface area (m^3/m^2*s) in this thermal zone. More...
 
double infiltrationDesignFlowPerExteriorWallArea () const
 Returns the infiltration design flow per exterior wall area (m^3/m^2*s) in this thermal zone. More...
 
double infiltrationDesignAirChangesPerHour () const
 Returns the infiltration design air changes per hour (1/h) in this thermal zone. More...
 
boost::optional< std::string > isConditioned () const
 Determines if this zone is conditioned, based on the SqlFile output. More...
 
boost::optional< SpacecombineSpaces ()
 Combines all spaces referencing this zone into a single space referencing this zone. More...
 
void disconnect ()
 Removes connections to all other HVACComponent objects. More...
 
bool isRemovable () const
 ThermalZone must be disconnected from all loops to be removable. More...
 
bool useIdealAirLoads () const
 Indicates if the zone will use EnergyPlus ideal air loads. More...
 
bool setUseIdealAirLoads (bool useIdealAirLoads)
 Adds or removes ideal air loads for the zone. More...
 
bool addToNode (Node &node)
 
bool multiAddToNode (Node &node)
 This method is the same as addToNode, except existing air loop connections will not be removed. More...
 
PortList returnPortList () const
 
PortList inletPortList () const
 
PortList exhaustPortList () const
 
bool addEquipment (const ModelObject &equipment)
 Add new equipment setting the heating and cooling priorities to the next available priority level. More...
 
bool removeEquipment (const ModelObject &equipment)
 Remove equipment from the EquipmentList. More...
 
std::string loadDistributionScheme () const
 
bool setLoadDistributionScheme (const std::string &scheme)
 
bool setCoolingPriority (const ModelObject &equipment, unsigned priority)
 Set cooling priority of equipment. More...
 
bool setHeatingPriority (const ModelObject &equipment, unsigned priority)
 Set heating priority of equipment. More...
 
std::vector< ModelObjectequipmentInHeatingOrder () const
 Return all equipment. More...
 
std::vector< ModelObjectequipmentInCoolingOrder () const
 Return all equipment. More...
 
boost::optional< double > sequentialCoolingFraction (const ModelObject &equipment) const
 Return the Sequential Cooling Fraction of equipment, if it's a ScheduleConstant. More...
 
boost::optional< SchedulesequentialCoolingFractionSchedule (const ModelObject &equipment) const
 Return the Sequential Cooling Fraction Schedule of equipment. More...
 
boost::optional< double > sequentialHeatingFraction (const ModelObject &equipment) const
 Return the Sequential Heating Fraction of equipment, if it's a ScheduleConstant Returns nothing if when equipment is not in the ZoneHVACEquipmentList, its cooling priority is zero, or the loadDistributionScheme isn't 'Sequential'. More...
 
boost::optional< SchedulesequentialHeatingFractionSchedule (const ModelObject &equipment) const
 Return the Sequential Heating Fraction Schedule of equipment. More...
 
bool setSequentialCoolingFraction (const ModelObject &equipment, double fraction)
 Set the Sequential Cooling Fraction of equipment, creates a ScheduleConstant for your convenience. More...
 
bool setSequentialCoolingFractionSchedule (const ModelObject &equipment, Schedule &schedule)
 Set the Sequential Cooling Fraction Schedule of equipment. More...
 
bool setSequentialHeatingFraction (const ModelObject &equipment, double fraction)
 Set the Sequential Heating Fraction of equipment, creates a ScheduleConstant for your convenience. More...
 
bool setSequentialHeatingFractionSchedule (const ModelObject &equipment, Schedule &schedule)
 Set the Sequential Heating Fraction Schedule of equipment. More...
 
bool isPlenum () const
 Return true if the ThermalZone is attached to an AirLoopHVACSupplyPlenum or AirLoopHVACReturnPlenum. More...
 
bool canBePlenum () const
 Return true if the ThermalZone is unconditioned and available to be used as a plenum This means the zone is not attached to an AirLoopHVAC structure as a conditioned zone and there is no zone equipment. More...
 
bool setSupplyPlenum (const ThermalZone &plenumZone)
 Establish plenumZone as the supply plenum for this ThermalZone. More...
 
bool setSupplyPlenum (const ThermalZone &plenumZone, unsigned branchIndex)
 Overload of setSupplyPlenum() This variation can account for dual duct systems, branchIndex can be 0 or 1 indicating which branch of a dual duct system to attach to. More...
 
void removeSupplyPlenum ()
 Remove any supply plenum serving this zone, associated with the AirLoopHVAC returned by ThermalZone::airLoopHVAC(). More...
 
void removeSupplyPlenum (const AirLoopHVAC &airloop)
 Remove any supply plenum associated with the given AirLoopHVAC instance. More...
 
void removeSupplyPlenum (unsigned branchIndex)
 Overload of removeSupplyPlenum() This variation can account for dual duct systems, branchIndex can be 0 or 1 indicating which branch of a dual duct system to attach to. More...
 
void removeSupplyPlenum (const AirLoopHVAC &airloop, unsigned branchIndex)
 Remove any supply plenum associated with the given AirLoopHVAC instance, and branchIndex in a dual duct system. More...
 
bool setReturnPlenum (const ThermalZone &plenumZone)
 Establish plenumZone as the return plenum for this ThermalZone. More...
 
bool setReturnPlenum (const ThermalZone &plenumZone, AirLoopHVAC &airLoop)
 setReturnPlenum for the specified air loop. More...
 
void removeReturnPlenum ()
 Remove any return plenum serving this zone. More...
 
void removeReturnPlenum (AirLoopHVAC &airLoop)
 Remove any return plenum serving this zone. More...
 
std::vector< ZoneMixingzoneMixing () const
 Returns all ZoneMixing objects associated with this zone, includes supply and exhaust mixing objects. More...
 
std::vector< ZoneMixingsupplyZoneMixing () const
 Returns all ZoneMixing objects which supply air to this zone. More...
 
std::vector< ZoneMixingexhaustZoneMixing () const
 Returns all ZoneMixing objects which exhaust air from this zone. More...
 
AirflowNetworkZone getAirflowNetworkZone ()
 Creates an AirflowNetworkZone object if an object is not already attached. More...
 
boost::optional
< AirflowNetworkZone
airflowNetworkZone () const
 Returns the attached AirflowNetworkZone if there is one. More...
 
std::vector< AirLoopHVACairLoopHVACs () const
 
boost::optional< double > getAutosizedValueFromZoneSizes (const std::string &columnName, const std::string &loadType) const
 
boost::optional< double > autosizedMinimumOutdoorAirFlowRate () const
 
boost::optional< double > autosizedCoolingDesignAirFlowRate () const
 
boost::optional< double > autosizedHeatingDesignAirFlowRate () const
 
boost::optional< double > autosizedCoolingDesignLoad () const
 
boost::optional< double > autosizedDesignAirFlowRate () const
 
boost::optional< double > autosizedHeatingDesignLoad () const
 
- 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...
 
std::vector< AppGFuelType > appGHeatingFuelTypes () const
 
void applySizingValues ()
 
void autosize ()
 Returns the optional ModelObject connected to this object's port. More...
 
ComponentType componentType () const
 
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...
 
std::vector< FuelType > coolingFuelTypes () const
 
void disconnect ()
 Removes all connections to other HVACComponent objects. More...
 
std::vector< FuelType > heatingFuelTypes () const
 
 HVACComponent (const HVACComponent &other)=default
 
 HVACComponent (HVACComponent &&other)=default
 
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...
 
HVACComponentoperator= (const HVACComponent &)=default
 
HVACComponentoperator= (HVACComponent &&)=default
 
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 ()=default
 
- 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...
 
ParentObjectoperator= (const ParentObject &)=default
 
ParentObjectoperator= (ParentObject &&)=default
 
 ParentObject (const ParentObject &other)=default
 
 ParentObject (ParentObject &&other)=default
 
virtual ~ParentObject ()=default
 
- Public Member Functions inherited from openstudio::model::ModelObject
virtual ~ModelObject ()=default
 
 ModelObject (const ModelObject &other)=default
 
 ModelObject (ModelObject &&other)=default
 
ModelObjectoperator= (const ModelObject &)=default
 
ModelObjectoperator= (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< 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...
 
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< ScheduleTypeKeygetScheduleTypeKeys (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< ModelObjectconnectedObject (unsigned port) const
 
boost::optional< unsigned > connectedObjectPort (unsigned port) const
 

Static Public Member Functions

static IddObjectType iddObjectType ()
 
static std::vector< std::string > validZoneInsideConvectionAlgorithmValues ()
 
static std::vector< std::string > validZoneOutsideConvectionAlgorithmValues ()
 

Related Functions

(Note that these are not member functions.)

using OptionalThermalZone = boost::optional< ThermalZone >
 
using ThermalZoneVector = std::vector< ThermalZone >
 

Additional Inherited Members

- Protected Types inherited from openstudio::model::HVACComponent
using ImplType = detail::HVACComponent_Impl
 
- Protected Types inherited from openstudio::model::ModelObject
using ImplType = detail::ModelObject_Impl
 
- Protected Member Functions inherited from openstudio::model::HVACComponent
virtual std::vector< ModelObjectchildren () 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)
 

Detailed Description

ThermalZone is a HVACComponent that wraps the OpenStudio IDD object 'OS_ThermalZone'.

Constructor & Destructor Documentation

openstudio::model::ThermalZone::ThermalZone ( const Model model)
explicit
virtual openstudio::model::ThermalZone::~ThermalZone ( )
virtualdefault
openstudio::model::ThermalZone::ThermalZone ( const ThermalZone other)
default
openstudio::model::ThermalZone::ThermalZone ( ThermalZone &&  other)
default

Member Function Documentation

bool openstudio::model::ThermalZone::addEquipment ( const ModelObject equipment)

Add new equipment setting the heating and cooling priorities to the next available priority level.

Air terminals associated with AirLoopHVAC will be moved to first priority. This method is relatively dumb. It will add any model object to the list even if it is not hvac equipment. That might change in the future.

bool openstudio::model::ThermalZone::addToNode ( Node node)
boost::optional<AirflowNetworkZone> openstudio::model::ThermalZone::airflowNetworkZone ( ) const

Returns the attached AirflowNetworkZone if there is one.

std::vector<AirLoopHVAC> openstudio::model::ThermalZone::airLoopHVACs ( ) const
boost::optional<HVACComponent> openstudio::model::ThermalZone::airLoopHVACTerminal ( ) const
std::vector<HVACComponent> openstudio::model::ThermalZone::airLoopHVACTerminals ( ) const
double openstudio::model::ThermalZone::airVolume ( ) const

Accumulates the air volume (m^3) of spaces.

Does not include space multiplier.

void openstudio::model::ThermalZone::autocalculateCeilingHeight ( )
void openstudio::model::ThermalZone::autocalculateVolume ( )
boost::optional<double> openstudio::model::ThermalZone::autosizedCoolingDesignAirFlowRate ( ) const
boost::optional<double> openstudio::model::ThermalZone::autosizedCoolingDesignLoad ( ) const
boost::optional<double> openstudio::model::ThermalZone::autosizedDesignAirFlowRate ( ) const
boost::optional<double> openstudio::model::ThermalZone::autosizedHeatingDesignAirFlowRate ( ) const
boost::optional<double> openstudio::model::ThermalZone::autosizedHeatingDesignLoad ( ) const
boost::optional<double> openstudio::model::ThermalZone::autosizedMinimumOutdoorAirFlowRate ( ) const
bool openstudio::model::ThermalZone::canBePlenum ( ) const

Return true if the ThermalZone is unconditioned and available to be used as a plenum This means the zone is not attached to an AirLoopHVAC structure as a conditioned zone and there is no zone equipment.

boost::optional<double> openstudio::model::ThermalZone::ceilingHeight ( ) const
void openstudio::model::ThermalZone::checkDaylightingControlsAndIlluminanceMaps ( )
boost::optional<Space> openstudio::model::ThermalZone::combineSpaces ( )

Combines all spaces referencing this zone into a single space referencing this zone.

If this zone has no spaces referencing it, then an uninitialized optional space is returned. If this zone has one space referencing it, then that space is returned. If this zone is referenced by more than one space, then geometry from all spaces is added to a single zone. The space origin is at the minimum x, y, z coordinate of all space origins, direction of relative north is preserved if same for all spaces. If all spaces reference the same building story then that is preserved, otherwise it is cleared. If all spaces reference the same space type then that is preserved, otherwise space loads from the space type are applied to the new space directly. Direct child space loads are converted to absolute levels. Constructions and schedules are hard applied to all child surfaces and loads. Surfaces referencing other surfaces within the space are converted to interior partitions.

boost::optional<Schedule> openstudio::model::ThermalZone::daylightingControlsAvailabilitySchedule ( ) const
void openstudio::model::ThermalZone::disconnect ( )

Removes connections to all other HVACComponent objects.

double openstudio::model::ThermalZone::electricEquipmentPower ( ) const

Returns the electric equipment power (W) of this thermal zone.

Does not include space multiplier. Does include equipment multiplier.

double openstudio::model::ThermalZone::electricEquipmentPowerPerFloorArea ( ) const

Returns the electric equipment power density (W/m^2) of this thermal zone.

Does not include space multiplier. Does include equipment multiplier.

double openstudio::model::ThermalZone::electricEquipmentPowerPerPerson ( ) const

Returns the electric equipment power per person (W/person) of this thermal zone.

Does not include space multiplier. Does include equipment multiplier.

std::vector<ModelObject> openstudio::model::ThermalZone::equipment ( ) const
std::vector<ModelObject> openstudio::model::ThermalZone::equipmentInCoolingOrder ( ) const

Return all equipment.

Order is determined by cooling priority

std::vector<ModelObject> openstudio::model::ThermalZone::equipmentInHeatingOrder ( ) const

Return all equipment.

Order is determined by heating priority

PortList openstudio::model::ThermalZone::exhaustPortList ( ) const
std::vector<ZoneMixing> openstudio::model::ThermalZone::exhaustZoneMixing ( ) const

Returns all ZoneMixing objects which exhaust air from this zone.

double openstudio::model::ThermalZone::exteriorSurfaceArea ( ) const

Accumulates the exterior surface area (m^2) of spaces.

Does not include space multiplier.

double openstudio::model::ThermalZone::exteriorWallArea ( ) const

Accumulates the exterior wall area (m^2) of spaces.

Does not include space multiplier.

double openstudio::model::ThermalZone::floorArea ( ) const

Accumulates the floorArea (m^2) of spaces.

Does not include space multiplier.

double openstudio::model::ThermalZone::floorAreaPerPerson ( ) const

Returns the total floor area per person in this thermal zone (m^2/person).

Does not include space multiplier. Does include people multiplier.

double openstudio::model::ThermalZone::fractionofZoneControlledbyPrimaryDaylightingControl ( ) const
double openstudio::model::ThermalZone::fractionofZoneControlledbySecondaryDaylightingControl ( ) const
double openstudio::model::ThermalZone::gasEquipmentPower ( ) const

Returns the gas equipment power (W) of this thermal zone.

Does not include space multiplier. Does include equipment multiplier.

double openstudio::model::ThermalZone::gasEquipmentPowerPerFloorArea ( ) const

Returns the gas equipment power density (W/m^2) of this thermal zone.

Does not include space multiplier. Does include equipment multiplier.

double openstudio::model::ThermalZone::gasEquipmentPowerPerPerson ( ) const

Returns the gas equipment power per person (W/person) of this thermal zone.

Does not include space multiplier. Does include equipment multiplier.

AirflowNetworkZone openstudio::model::ThermalZone::getAirflowNetworkZone ( )

Creates an AirflowNetworkZone object if an object is not already attached.

boost::optional<double> openstudio::model::ThermalZone::getAutosizedValueFromZoneSizes ( const std::string &  columnName,
const std::string &  loadType 
) const
ZonePropertyUserViewFactorsBySurfaceName openstudio::model::ThermalZone::getZonePropertyUserViewFactorsBySurfaceName ( ) const
static IddObjectType openstudio::model::ThermalZone::iddObjectType ( )
static
boost::optional<IlluminanceMap> openstudio::model::ThermalZone::illuminanceMap ( ) const
double openstudio::model::ThermalZone::infiltrationDesignAirChangesPerHour ( ) const

Returns the infiltration design air changes per hour (1/h) in this thermal zone.

Ignores SpaceInfiltrationEffectiveLeakageArea and SpaceInfiltrationFlowCoefficient objects. Does not include space multiplier.

double openstudio::model::ThermalZone::infiltrationDesignFlowPerExteriorSurfaceArea ( ) const

Returns the infiltration design flow per exterior surface area (m^3/m^2*s) in this thermal zone.

Ignores SpaceInfiltrationEffectiveLeakageArea and SpaceInfiltrationFlowCoefficient objects. Does not include space multiplier.

double openstudio::model::ThermalZone::infiltrationDesignFlowPerExteriorWallArea ( ) const

Returns the infiltration design flow per exterior wall area (m^3/m^2*s) in this thermal zone.

Ignores SpaceInfiltrationEffectiveLeakageArea and SpaceInfiltrationFlowCoefficient objects. Does not include space multiplier.

double openstudio::model::ThermalZone::infiltrationDesignFlowPerSpaceFloorArea ( ) const

Returns the infiltration design flow per space floor area (m^3/m^2*s) in this thermal zone.

Ignores SpaceInfiltrationEffectiveLeakageArea and SpaceInfiltrationFlowCoefficient objects. Does not include space multiplier.

double openstudio::model::ThermalZone::infiltrationDesignFlowRate ( ) const

Returns the infiltration design flow rate (m^3/s) in this thermal zone.

Ignores SpaceInfiltrationEffectiveLeakageArea and SpaceInfiltrationFlowCoefficient objects. Does not include space multiplier.

PortList openstudio::model::ThermalZone::inletPortList ( ) const
bool openstudio::model::ThermalZone::isCeilingHeightAutocalculated ( ) const
bool openstudio::model::ThermalZone::isCeilingHeightDefaulted ( ) const
boost::optional<std::string> openstudio::model::ThermalZone::isConditioned ( ) const

Determines if this zone is conditioned, based on the SqlFile output.

Returns 'Yes' if zone is conditioned.

bool openstudio::model::ThermalZone::isFractionofZoneControlledbyPrimaryDaylightingControlDefaulted ( ) const
bool openstudio::model::ThermalZone::isFractionofZoneControlledbySecondaryDaylightingControlDefaulted ( ) const
bool openstudio::model::ThermalZone::isMultiplierDefaulted ( ) const
bool openstudio::model::ThermalZone::isPlenum ( ) const

Return true if the ThermalZone is attached to an AirLoopHVACSupplyPlenum or AirLoopHVACReturnPlenum.

bool openstudio::model::ThermalZone::isRemovable ( ) const

ThermalZone must be disconnected from all loops to be removable.

bool openstudio::model::ThermalZone::isVolumeAutocalculated ( ) const
bool openstudio::model::ThermalZone::isVolumeDefaulted ( ) const
double openstudio::model::ThermalZone::lightingPower ( ) const

Returns the lighting power (W) in this thermal zone.

Does not include space multiplier. Does include lighting multiplier.

double openstudio::model::ThermalZone::lightingPowerPerFloorArea ( ) const

Returns the lighting power density (W/m^2) of this thermal zone.

Does not include space multiplier. Does include lighting multiplier.

double openstudio::model::ThermalZone::lightingPowerPerPerson ( ) const

Returns the lighting power per person (W/person) of this thermal zone.

Does not include space multiplier. Does include lighting multiplier.

std::string openstudio::model::ThermalZone::loadDistributionScheme ( ) const
bool openstudio::model::ThermalZone::multiAddToNode ( Node node)

This method is the same as addToNode, except existing air loop connections will not be removed.

This is because EnergyPlus gained the ability to attach multiple air loops.

int openstudio::model::ThermalZone::multiplier ( ) const
double openstudio::model::ThermalZone::numberOfPeople ( ) const

Returns the number of people in the thermal zone.

Does not include space multiplier. Does include people multiplier.

ThermalZone& openstudio::model::ThermalZone::operator= ( const ThermalZone )
default
ThermalZone& openstudio::model::ThermalZone::operator= ( ThermalZone &&  )
default
double openstudio::model::ThermalZone::peoplePerFloorArea ( ) const

Returns the number of people per floor area (people/m^2).

Does not include space multiplier. Does include people multiplier.

boost::optional<DaylightingControl> openstudio::model::ThermalZone::primaryDaylightingControl ( ) const
bool openstudio::model::ThermalZone::removeEquipment ( const ModelObject equipment)

Remove equipment from the EquipmentList.

This will not remove the equipment from the model or disconnect any node connections. Use only if you know what you are doing.

void openstudio::model::ThermalZone::removeReturnPlenum ( )

Remove any return plenum serving this zone.

void openstudio::model::ThermalZone::removeReturnPlenum ( AirLoopHVAC airLoop)

Remove any return plenum serving this zone.

void openstudio::model::ThermalZone::removeSupplyPlenum ( )

Remove any supply plenum serving this zone, associated with the AirLoopHVAC returned by ThermalZone::airLoopHVAC().

void openstudio::model::ThermalZone::removeSupplyPlenum ( const AirLoopHVAC airloop)

Remove any supply plenum associated with the given AirLoopHVAC instance.

This method is important when a zone is connected to multiple AirLoopHVAC instances.

void openstudio::model::ThermalZone::removeSupplyPlenum ( unsigned  branchIndex)

Overload of removeSupplyPlenum() This variation can account for dual duct systems, branchIndex can be 0 or 1 indicating which branch of a dual duct system to attach to.

branchIndex 0 corresponds to the branch of demandInletNode(0).

void openstudio::model::ThermalZone::removeSupplyPlenum ( const AirLoopHVAC airloop,
unsigned  branchIndex 
)

Remove any supply plenum associated with the given AirLoopHVAC instance, and branchIndex in a dual duct system.

This method is important when a zone is connected to multiple AirLoopHVAC instances. This variation can account for dual duct systems, branchIndex can be 0 or 1 indicating which branch of a dual duct system to attach to. branchIndex 0 corresponds to the branch of demandInletNode(0).

boost::optional<RenderingColor> openstudio::model::ThermalZone::renderingColor ( ) const

Returns the rendering color.

void openstudio::model::ThermalZone::resetCeilingHeight ( )
void openstudio::model::ThermalZone::resetDaylightingControlsAvailabilitySchedule ( )
void openstudio::model::ThermalZone::resetFractionofZoneControlledbyPrimaryDaylightingControl ( )
void openstudio::model::ThermalZone::resetFractionofZoneControlledbySecondaryDaylightingControl ( )
void openstudio::model::ThermalZone::resetIlluminanceMap ( )
void openstudio::model::ThermalZone::resetMultiplier ( )
void openstudio::model::ThermalZone::resetPrimaryDaylightingControl ( )
void openstudio::model::ThermalZone::resetRenderingColor ( )

Resets the rendering color.

void openstudio::model::ThermalZone::resetSecondaryDaylightingControl ( )
void openstudio::model::ThermalZone::resetThermostat ( )
void openstudio::model::ThermalZone::resetThermostatSetpointDualSetpoint ( )
void openstudio::model::ThermalZone::resetVolume ( )
void openstudio::model::ThermalZone::resetZoneControlContaminantController ( )
void openstudio::model::ThermalZone::resetZoneControlHumidistat ( )
void openstudio::model::ThermalZone::resetZoneInsideConvectionAlgorithm ( )
void openstudio::model::ThermalZone::resetZoneOutsideConvectionAlgorithm ( )
OptionalModelObject openstudio::model::ThermalZone::returnAirModelObject ( ) const
std::vector<ModelObject> openstudio::model::ThermalZone::returnAirModelObjects ( ) const
unsigned openstudio::model::ThermalZone::returnAirPort ( ) const
PortList openstudio::model::ThermalZone::returnPortList ( ) const
boost::optional<DaylightingControl> openstudio::model::ThermalZone::secondaryDaylightingControl ( ) const
boost::optional<double> openstudio::model::ThermalZone::sequentialCoolingFraction ( const ModelObject equipment) const

Return the Sequential Cooling Fraction of equipment, if it's a ScheduleConstant.

Returns nothing if when equipment is not in the ZoneHVACEquipmentList, its heating priority is zero, or the loadDistributionScheme isn't 'Sequential'

boost::optional<Schedule> openstudio::model::ThermalZone::sequentialCoolingFractionSchedule ( const ModelObject equipment) const

Return the Sequential Cooling Fraction Schedule of equipment.

Returns nothing if when equipment is not in the ZoneHVACEquipmentList, its heating priority is zero, or the loadDistributionScheme isn't 'Sequential'

boost::optional<double> openstudio::model::ThermalZone::sequentialHeatingFraction ( const ModelObject equipment) const

Return the Sequential Heating Fraction of equipment, if it's a ScheduleConstant Returns nothing if when equipment is not in the ZoneHVACEquipmentList, its cooling priority is zero, or the loadDistributionScheme isn't 'Sequential'.

boost::optional<Schedule> openstudio::model::ThermalZone::sequentialHeatingFractionSchedule ( const ModelObject equipment) const

Return the Sequential Heating Fraction Schedule of equipment.

Returns nothing if when equipment is not in the ZoneHVACEquipmentList, its cooling priority is zero, or the loadDistributionScheme isn't 'Sequential'

bool openstudio::model::ThermalZone::setCeilingHeight ( boost::optional< double >  ceilingHeight)
bool openstudio::model::ThermalZone::setCeilingHeight ( double  ceilingHeight)
bool openstudio::model::ThermalZone::setCoolingPriority ( const ModelObject equipment,
unsigned  priority 
)

Set cooling priority of equipment.

Returns false when equipment is not in the ZoneHVACEquipmentList

bool openstudio::model::ThermalZone::setDaylightingControlsAvailabilitySchedule ( Schedule schedule)
bool openstudio::model::ThermalZone::setFractionofZoneControlledbyPrimaryDaylightingControl ( double  fractionofZoneControlledbyPrimaryDaylightingControl)
bool openstudio::model::ThermalZone::setFractionofZoneControlledbySecondaryDaylightingControl ( double  fractionofZoneControlledbySecondaryDaylightingControl)
bool openstudio::model::ThermalZone::setHeatingPriority ( const ModelObject equipment,
unsigned  priority 
)

Set heating priority of equipment.

Returns false when equipment is not in the ZoneHVACEquipmentList

bool openstudio::model::ThermalZone::setIlluminanceMap ( const IlluminanceMap illuminanceMap)
bool openstudio::model::ThermalZone::setLoadDistributionScheme ( const std::string &  scheme)
bool openstudio::model::ThermalZone::setMultiplier ( int  multiplier)
bool openstudio::model::ThermalZone::setPrimaryDaylightingControl ( const DaylightingControl daylightingControl)
bool openstudio::model::ThermalZone::setRenderingColor ( const RenderingColor renderingColor)

Sets the rendering color.

bool openstudio::model::ThermalZone::setReturnPlenum ( const ThermalZone plenumZone)

Establish plenumZone as the return plenum for this ThermalZone.

This ThermalZone must already be attached to AirLoopHVAC. The plenumZone must not be used as a plenum on another AirLoopHVAC structure. The method canBePlenum called on plenumZone must return true.

bool openstudio::model::ThermalZone::setReturnPlenum ( const ThermalZone plenumZone,
AirLoopHVAC airLoop 
)

setReturnPlenum for the specified air loop.

This method is used when there are multiple air loops attached to the zone

bool openstudio::model::ThermalZone::setSecondaryDaylightingControl ( const DaylightingControl daylightingControl)
bool openstudio::model::ThermalZone::setSequentialCoolingFraction ( const ModelObject equipment,
double  fraction 
)

Set the Sequential Cooling Fraction of equipment, creates a ScheduleConstant for your convenience.

Returns false when equipment is not in the ZoneHVACEquipmentList, its cooling priority is zero, or the loadDistributionScheme isn't 'Sequential'

bool openstudio::model::ThermalZone::setSequentialCoolingFractionSchedule ( const ModelObject equipment,
Schedule schedule 
)

Set the Sequential Cooling Fraction Schedule of equipment.

Returns false when equipement is not in the ZoneHVACEquipmentList, its cooling priority is zero, or the loadDistributionScheme isn't 'Sequential'

bool openstudio::model::ThermalZone::setSequentialHeatingFraction ( const ModelObject equipment,
double  fraction 
)

Set the Sequential Heating Fraction of equipment, creates a ScheduleConstant for your convenience.

Returns false when equipment is not in the ZoneHVACEquipmentList, its heating priority is zero, or the loadDistributionScheme isn't 'Sequential'

bool openstudio::model::ThermalZone::setSequentialHeatingFractionSchedule ( const ModelObject equipment,
Schedule schedule 
)

Set the Sequential Heating Fraction Schedule of equipment.

Returns false when equipment is not in the ZoneHVACEquipmentList, its heating priority is zero, or the loadDistributionScheme isn't 'Sequential'

bool openstudio::model::ThermalZone::setSupplyPlenum ( const ThermalZone plenumZone)

Establish plenumZone as the supply plenum for this ThermalZone.

This ThermalZone must already be attached to AirLoopHVAC. The plenumZone must not be used as a plenum on another AirLoopHVAC structure. The method canBePlenum called on plenumZone must return true.

bool openstudio::model::ThermalZone::setSupplyPlenum ( const ThermalZone plenumZone,
unsigned  branchIndex 
)

Overload of setSupplyPlenum() This variation can account for dual duct systems, branchIndex can be 0 or 1 indicating which branch of a dual duct system to attach to.

branchIndex 0 corresponds to the branch of demandInletNode(0).

bool openstudio::model::ThermalZone::setThermostat ( const Thermostat thermostat)
bool openstudio::model::ThermalZone::setThermostatSetpointDualSetpoint ( const ThermostatSetpointDualSetpoint thermostat)
bool openstudio::model::ThermalZone::setUseIdealAirLoads ( bool  useIdealAirLoads)

Adds or removes ideal air loads for the zone.

ThermalZones that are attached to air loops will be removed. If the ThermalZone is later added to a loop useIdealAirLoads will be reset to false.

bool openstudio::model::ThermalZone::setVolume ( boost::optional< double >  volume)
bool openstudio::model::ThermalZone::setVolume ( double  volume)
bool openstudio::model::ThermalZone::setZoneConditioningEquipmentListName ( const std::string &  zoneConditioningEquipmentListName)
bool openstudio::model::ThermalZone::setZoneControlContaminantController ( const ZoneControlContaminantController contaminantController)
bool openstudio::model::ThermalZone::setZoneControlHumidistat ( const ZoneControlHumidistat humidistat)
bool openstudio::model::ThermalZone::setZoneInsideConvectionAlgorithm ( boost::optional< std::string >  zoneInsideConvectionAlgorithm)
bool openstudio::model::ThermalZone::setZoneInsideConvectionAlgorithm ( const std::string &  zoneInsideConvectionAlgorithm)
bool openstudio::model::ThermalZone::setZoneOutsideConvectionAlgorithm ( boost::optional< std::string >  zoneOutsideConvectionAlgorithm)
bool openstudio::model::ThermalZone::setZoneOutsideConvectionAlgorithm ( const std::string &  zoneOutsideConvectionAlgorithm)
SizingZone openstudio::model::ThermalZone::sizingZone ( ) const
std::vector<Space> openstudio::model::ThermalZone::spaces ( ) const

returns all spaces in this thermal zone

std::vector<ZoneMixing> openstudio::model::ThermalZone::supplyZoneMixing ( ) const

Returns all ZoneMixing objects which supply air to this zone.

boost::optional<Thermostat> openstudio::model::ThermalZone::thermostat ( ) const
boost::optional<ThermostatSetpointDualSetpoint> openstudio::model::ThermalZone::thermostatSetpointDualSetpoint ( ) const
bool openstudio::model::ThermalZone::useIdealAirLoads ( ) const

Indicates if the zone will use EnergyPlus ideal air loads.

static std::vector<std::string> openstudio::model::ThermalZone::validZoneInsideConvectionAlgorithmValues ( )
static
static std::vector<std::string> openstudio::model::ThermalZone::validZoneOutsideConvectionAlgorithmValues ( )
static
boost::optional<double> openstudio::model::ThermalZone::volume ( ) const
Node openstudio::model::ThermalZone::zoneAirNode ( ) const
unsigned openstudio::model::ThermalZone::zoneAirPort ( ) const
std::string openstudio::model::ThermalZone::zoneConditioningEquipmentListName ( ) const
boost::optional<ZoneControlContaminantController> openstudio::model::ThermalZone::zoneControlContaminantController ( ) const
boost::optional<ZoneControlHumidistat> openstudio::model::ThermalZone::zoneControlHumidistat ( ) const
boost::optional<std::string> openstudio::model::ThermalZone::zoneInsideConvectionAlgorithm ( ) const
std::vector<ZoneMixing> openstudio::model::ThermalZone::zoneMixing ( ) const

Returns all ZoneMixing objects associated with this zone, includes supply and exhaust mixing objects.

boost::optional<std::string> openstudio::model::ThermalZone::zoneOutsideConvectionAlgorithm ( ) const

Friends And Related Function Documentation

using OptionalThermalZone = boost::optional<ThermalZone>
related
using ThermalZoneVector = std::vector<ThermalZone>
related