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

#include <Building.hpp>

+ Inheritance diagram for openstudio::model::Building:

Public Member Functions

Constructors and Destructors
virtual ~Building ()=default
 
 Building (const Building &other)=default
 
 Building (Building &&other)=default
 
Buildingoperator= (const Building &)=default
 
Buildingoperator= (Building &&)=default
 
Getters
double northAxis () const
 
bool isNorthAxisDefaulted () const
 
boost::optional< double > nominalFloortoFloorHeight () const
 
boost::optional< int > standardsNumberOfStories () const
 
boost::optional< int > standardsNumberOfAboveGroundStories () const
 
boost::optional< int > standardsNumberOfLivingUnits () const
 
boost::optional< double > nominalFloortoCeilingHeight () const
 
boost::optional< std::string > standardsTemplate () const
 Returns the standards Template. More...
 
std::vector< std::string > suggestedStandardsTemplates () const
 Returns a list of suggestions from the openstudio-standards JSON data. More...
 
boost::optional< std::string > standardsBuildingType () const
 Returns the standards building type. More...
 
std::vector< std::string > suggestedStandardsBuildingTypes () const
 Returns a list of suggestions from the openstudio-standards JSON data. More...
 
bool relocatable () const
 
bool isRelocatableDefaulted () const
 
boost::optional< SchedulegetDefaultSchedule (const DefaultScheduleType &defaultScheduleType) const
 Returns the default schedule set for the specified type if available by searching (in order): The building's default schedule set The building's space type's default schedule set. More...
 
Setters
bool setNorthAxis (double northAxis)
 
void resetNorthAxis ()
 
bool setNominalFloortoFloorHeight (double nominalFloortoFloorHeight)
 
void resetNominalFloortoFloorHeight ()
 
bool setStandardsNumberOfStories (int value)
 
void resetStandardsNumberOfStories ()
 
bool setStandardsNumberOfAboveGroundStories (int value)
 
void resetStandardsNumberOfAboveGroundStories ()
 
bool setStandardsNumberOfLivingUnits (int value)
 
void resetStandardsNumberOfLivingUnits ()
 
bool setNominalFloortoCeilingHeight (double nominalFloortoCeilingHeight)
 
void resetNominalFloortoCeilingHeight ()
 
bool setStandardsTemplate (const std::string &standardsTemplate)
 Sets the standards Template. More...
 
void resetStandardsTemplate ()
 
bool setStandardsBuildingType (const std::string &standardsBuildingType)
 Sets the standards building type. More...
 
void resetStandardsBuildingType ()
 
bool setRelocatable (bool isRelocatable)
 
void setRelocatableNoFail (bool isRelocatable)
 
void resetRelocatable ()
 
Other
boost::optional< SpaceTypespaceType () const
 Returns the building's space type. More...
 
bool setSpaceType (const SpaceType &spaceType)
 Sets the building's space type. More...
 
void resetSpaceType ()
 Resets the building's space type. More...
 
boost::optional
< DefaultConstructionSet
defaultConstructionSet () const
 Returns the default construction set that this space references directly. More...
 
bool setDefaultConstructionSet (const DefaultConstructionSet &defaultConstructionSet)
 Sets the default construction set for this space directly. More...
 
void resetDefaultConstructionSet ()
 Resets the default construction set for this space. More...
 
boost::optional
< DefaultScheduleSet
defaultScheduleSet () const
 Returns the default schedule set that this space references directly. More...
 
bool setDefaultScheduleSet (const DefaultScheduleSet &defaultScheduleSet)
 Sets the default schedule set for this space directly. More...
 
void resetDefaultScheduleSet ()
 Resets the default schedule set for this space. More...
 
std::vector< OutputMetermeters () const
 Returns all OutputMeter objects at the Building level. More...
 
std::vector< BuildingStorybuildingStories () const
 Returns all BuildingStories objects in the Building. More...
 
boost::optional< Facilityfacility () const
 Returns the parent Facility object if it exists. More...
 
std::vector< Spacespaces () const
 Returns all of the Spaces in the Building. More...
 
std::vector< ShadingSurfaceGroupshadingSurfaceGroups () const
 Returns all ShadingSurfaceGroups at the Building level. More...
 
std::vector< ThermalZonethermalZones () const
 Returns all of the ThermalZones in the Building. More...
 
std::vector< SurfaceexteriorWalls () const
 Returns all Surfaces which are exterior walls. More...
 
std::vector< Surfaceroofs () const
 Returns all Surfaces which are roofs. More...
 
double floorArea () const
 Returns the total floor area in square meters. More...
 
boost::optional< double > conditionedFloorArea () const
 Returns the conditioned floor area in square meters. More...
 
double exteriorSurfaceArea () const
 Returns the total exterior surface area (m^2). More...
 
double exteriorWallArea () const
 Returns the total exterior wall area (m^2). More...
 
double airVolume () const
 Returns the total air volume (m^3) in the building. More...
 
double numberOfPeople () const
 Returns the number of people in the building. 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 building (m^2/person). More...
 
double lightingPower () const
 Returns the lighting power (W) in this building. More...
 
double lightingPowerPerFloorArea () const
 Returns the lighting power density (W/m^2) of this building. More...
 
double lightingPowerPerPerson () const
 Returns the lighting power per person (W/person) of this building. More...
 
double electricEquipmentPower () const
 Returns the electric equipment power (W) of this building. More...
 
double electricEquipmentPowerPerFloorArea () const
 Returns the electric equipment power density (W/m^2) of this building. More...
 
double electricEquipmentPowerPerPerson () const
 Returns the electric equipment power per person (W/person) of this building. More...
 
double gasEquipmentPower () const
 Returns the gas equipment power (W) of this building. More...
 
double gasEquipmentPowerPerFloorArea () const
 Returns the gas equipment power density (W/m^2) of this building. More...
 
double gasEquipmentPowerPerPerson () const
 Returns the gas equipment power per person (W/person) of this building. More...
 
double infiltrationDesignFlowRate () const
 Returns the infiltration design flow rate (m^3/s) of this building. More...
 
double infiltrationDesignFlowPerSpaceFloorArea () const
 Returns the infiltration design flow per space floor area (m^3/m^2*s) of this building. More...
 
double infiltrationDesignFlowPerExteriorSurfaceArea () const
 Returns the infiltration design flow per exterior surface area (m^3/m^2*s) of this building. More...
 
double infiltrationDesignFlowPerExteriorWallArea () const
 Returns the infiltration design flow per exterior wall area (m^3/m^2*s) of this building. More...
 
double infiltrationDesignAirChangesPerHour () const
 Returns the infiltration design air changes per hour (1/h) of this building. More...
 
Transformation transformation () const
 Returns the Transformation from the Building coordinate system to world coordinates. More...
 
std::vector< std::vector
< Point3d > > 
generateSkylightPattern (double skylightToProjectedFloorRatio, double desiredWidth, double desiredHeight) const
 Returns a suggested pattern for skylights targeting a skylight to floor ratio with desired sizes. More...
 
double exteriorPerimeter () const
 
- 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 ()
 

Protected Member Functions

 Building (Model &model)
 
- 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)
 

Related Functions

(Note that these are not member functions.)

using BuildingVector = std::vector< Building >
 
using OptionalBuilding = boost::optional< Building >
 

Additional Inherited Members

- Protected Types inherited from openstudio::model::ModelObject
using ImplType = detail::ModelObject_Impl
 

Detailed Description

Building derives from ParentObject and is an interface to the OpenStudio IDD object named "Building".

Building is a unique object which parents all Spaces in the model. Conceptually, the Building object represents the envelope shell and everything inside (lighting, equipment, etc). The Building is a child of the Facility object which includes the Building as well as exterior equipment, parking lot lighting, water systems for grounds, etc.

Constructor & Destructor Documentation

virtual openstudio::model::Building::~Building ( )
virtualdefault
openstudio::model::Building::Building ( const Building other)
default
openstudio::model::Building::Building ( Building &&  other)
default
openstudio::model::Building::Building ( Model model)
explicitprotected

Member Function Documentation

double openstudio::model::Building::airVolume ( ) const

Returns the total air volume (m^3) in the building.

Includes space multipliers in the calculation.

std::vector<BuildingStory> openstudio::model::Building::buildingStories ( ) const

Returns all BuildingStories objects in the Building.

boost::optional<double> openstudio::model::Building::conditionedFloorArea ( ) const

Returns the conditioned floor area in square meters.

Currently requires EnergyPlus simulation output to calculate.

boost::optional<DefaultConstructionSet> openstudio::model::Building::defaultConstructionSet ( ) const

Returns the default construction set that this space references directly.

boost::optional<DefaultScheduleSet> openstudio::model::Building::defaultScheduleSet ( ) const

Returns the default schedule set that this space references directly.

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

Returns the electric equipment power (W) of this building.

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

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

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

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

double openstudio::model::Building::exteriorPerimeter ( ) const
double openstudio::model::Building::exteriorSurfaceArea ( ) const

Returns the total exterior surface area (m^2).

Includes space multipliers in calculation.

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

Returns the total exterior wall area (m^2).

Includes space multipliers in the calculation.

std::vector<Surface> openstudio::model::Building::exteriorWalls ( ) const

Returns all Surfaces which are exterior walls.

boost::optional<Facility> openstudio::model::Building::facility ( ) const

Returns the parent Facility object if it exists.

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

Returns the total floor area in square meters.

Includes only spaces marked as included in floor area. Includes space multipliers in calculation.

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

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

double openstudio::model::Building::gasEquipmentPower ( ) const

Returns the gas equipment power (W) of this building.

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

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

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

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

std::vector<std::vector<Point3d> > openstudio::model::Building::generateSkylightPattern ( double  skylightToProjectedFloorRatio,
double  desiredWidth,
double  desiredHeight 
) const

Returns a suggested pattern for skylights targeting a skylight to floor ratio with desired sizes.

Pattern will be in Building coordinates, on the z = 0 plane, with normal in positive z direction.

boost::optional<Schedule> openstudio::model::Building::getDefaultSchedule ( const DefaultScheduleType defaultScheduleType) const

Returns the default schedule set for the specified type if available by searching (in order): The building's default schedule set The building's space type's default schedule set.

static IddObjectType openstudio::model::Building::iddObjectType ( )
static
double openstudio::model::Building::infiltrationDesignAirChangesPerHour ( ) const

Returns the infiltration design air changes per hour (1/h) of this building.

Ignores SpaceInfiltrationEffectiveLeakageArea and SpaceInfiltrationFlowCoefficient objects.

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

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

Ignores SpaceInfiltrationEffectiveLeakageArea and SpaceInfiltrationFlowCoefficient objects.

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

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

Ignores SpaceInfiltrationEffectiveLeakageArea and SpaceInfiltrationFlowCoefficient objects.

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

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

Ignores SpaceInfiltrationEffectiveLeakageArea and SpaceInfiltrationFlowCoefficient objects.

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

Returns the infiltration design flow rate (m^3/s) of this building.

Ignores SpaceInfiltrationEffectiveLeakageArea and SpaceInfiltrationFlowCoefficient objects.

bool openstudio::model::Building::isNorthAxisDefaulted ( ) const
bool openstudio::model::Building::isRelocatableDefaulted ( ) const
double openstudio::model::Building::lightingPower ( ) const

Returns the lighting power (W) in this building.

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

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

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

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

std::vector<OutputMeter> openstudio::model::Building::meters ( ) const

Returns all OutputMeter objects at the Building level.

boost::optional<double> openstudio::model::Building::nominalFloortoCeilingHeight ( ) const
boost::optional<double> openstudio::model::Building::nominalFloortoFloorHeight ( ) const
double openstudio::model::Building::northAxis ( ) const
double openstudio::model::Building::numberOfPeople ( ) const

Returns the number of people in the building.

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

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

bool openstudio::model::Building::relocatable ( ) const
void openstudio::model::Building::resetDefaultConstructionSet ( )

Resets the default construction set for this space.

void openstudio::model::Building::resetDefaultScheduleSet ( )

Resets the default schedule set for this space.

void openstudio::model::Building::resetNominalFloortoCeilingHeight ( )
void openstudio::model::Building::resetNominalFloortoFloorHeight ( )
void openstudio::model::Building::resetNorthAxis ( )
void openstudio::model::Building::resetRelocatable ( )
void openstudio::model::Building::resetSpaceType ( )

Resets the building's space type.

void openstudio::model::Building::resetStandardsBuildingType ( )
void openstudio::model::Building::resetStandardsNumberOfAboveGroundStories ( )
void openstudio::model::Building::resetStandardsNumberOfLivingUnits ( )
void openstudio::model::Building::resetStandardsNumberOfStories ( )
void openstudio::model::Building::resetStandardsTemplate ( )
std::vector<Surface> openstudio::model::Building::roofs ( ) const

Returns all Surfaces which are roofs.

bool openstudio::model::Building::setDefaultConstructionSet ( const DefaultConstructionSet defaultConstructionSet)

Sets the default construction set for this space directly.

bool openstudio::model::Building::setDefaultScheduleSet ( const DefaultScheduleSet defaultScheduleSet)

Sets the default schedule set for this space directly.

bool openstudio::model::Building::setNominalFloortoCeilingHeight ( double  nominalFloortoCeilingHeight)
bool openstudio::model::Building::setNominalFloortoFloorHeight ( double  nominalFloortoFloorHeight)
bool openstudio::model::Building::setNorthAxis ( double  northAxis)
bool openstudio::model::Building::setRelocatable ( bool  isRelocatable)
void openstudio::model::Building::setRelocatableNoFail ( bool  isRelocatable)
bool openstudio::model::Building::setSpaceType ( const SpaceType spaceType)

Sets the building's space type.

bool openstudio::model::Building::setStandardsBuildingType ( const std::string &  standardsBuildingType)

Sets the standards building type.

This is a freeform field used to identify the building type for standards. Standards applied to this model will use this field to determine correct levels for lighting, occupancy, etc. More information can be found at https://github.com/NREL/openstudio-standards.

bool openstudio::model::Building::setStandardsNumberOfAboveGroundStories ( int  value)
bool openstudio::model::Building::setStandardsNumberOfLivingUnits ( int  value)
bool openstudio::model::Building::setStandardsNumberOfStories ( int  value)
bool openstudio::model::Building::setStandardsTemplate ( const std::string &  standardsTemplate)

Sets the standards Template.

This is a freeform field used to identify the energy standard template for standards. Standards applied to this model will use this field to determine correct levels for lighting, occupancy, etc. More information can be found at https://github.com/NREL/openstudio-standards.

std::vector<ShadingSurfaceGroup> openstudio::model::Building::shadingSurfaceGroups ( ) const

Returns all ShadingSurfaceGroups at the Building level.

std::vector<Space> openstudio::model::Building::spaces ( ) const

Returns all of the Spaces in the Building.

boost::optional<SpaceType> openstudio::model::Building::spaceType ( ) const

Returns the building's space type.

boost::optional<std::string> openstudio::model::Building::standardsBuildingType ( ) const

Returns the standards building type.

This is a freeform field used to identify the building type for standards. Standards applied to this model will use this field to determine correct levels for lighting, occupancy, etc. More information can be found at https://github.com/NREL/openstudio-standards.

boost::optional<int> openstudio::model::Building::standardsNumberOfAboveGroundStories ( ) const
boost::optional<int> openstudio::model::Building::standardsNumberOfLivingUnits ( ) const
boost::optional<int> openstudio::model::Building::standardsNumberOfStories ( ) const
boost::optional<std::string> openstudio::model::Building::standardsTemplate ( ) const

Returns the standards Template.

This is a freeform field used to identify the energy standard template for standards. Standards applied to this model will use this field to determine correct levels for lighting, occupancy, etc. More information can be found at https://github.com/NREL/openstudio-standards.

std::vector<std::string> openstudio::model::Building::suggestedStandardsBuildingTypes ( ) const

Returns a list of suggestions from the openstudio-standards JSON data.

If standardsBuildingType is not empty, and not already present in the suggestions, it is added to the list of suggestion

std::vector<std::string> openstudio::model::Building::suggestedStandardsTemplates ( ) const

Returns a list of suggestions from the openstudio-standards JSON data.

If standardsTemplate is not empty, and not already present in the suggestions, it is added to the list of suggestion

std::vector<ThermalZone> openstudio::model::Building::thermalZones ( ) const

Returns all of the ThermalZones in the Building.

Transformation openstudio::model::Building::transformation ( ) const

Returns the Transformation from the Building coordinate system to world coordinates.

Friends And Related Function Documentation

using BuildingVector = std::vector<Building>
related
using OptionalBuilding = boost::optional<Building>
related