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

#include <LayeredConstruction.hpp>

+ Inheritance diagram for openstudio::model::LayeredConstruction:

Public Member Functions

Constructors and Destructors
virtual ~LayeredConstruction () override=default
 
 LayeredConstruction (const LayeredConstruction &other)=default
 
 LayeredConstruction (LayeredConstruction &&other)=default
 
LayeredConstructionoperator= (const LayeredConstruction &)=default
 
LayeredConstructionoperator= (LayeredConstruction &&)=default
 
Getters
std::vector< Materiallayers () const
 Returns the material layers that make up this construction. More...
 
Material getLayer (unsigned layerIndex) const
 Get the Material at layerIndex, where layerIndex is between 0 and numLayers() - 1. More...
 
Setters
bool eraseLayer (unsigned layerIndex)
 Erases the Material at layerIndex, if possible. More...
 
bool insertLayer (unsigned layerIndex, const Material &material)
 Insert opaqueMaterial at layerIndex, if possible. More...
 
bool setLayer (unsigned layerIndex, const Material &material)
 Set the layer at layerIndex to opaqueMaterial, if possible. More...
 
bool setLayers (const std::vector< Material > &materials)
 Set the construction to use opaqueMaterials as its layers, if layersAreValid(opaqueMaterials). More...
 
bool setLayer (const ModelPartitionMaterial &modelPartitionMaterial)
 Sets the construction to use modelPartitionMaterial. More...
 
Queries
bool isSymmetric () const
 Returns true if this is a symmetric layered construction. More...
 
bool equalLayers (const LayeredConstruction &other) const
 Returns true if this construction has the same layers as other one. More...
 
bool reverseEqualLayers (const LayeredConstruction &other) const
 Returns true if this construction has the same layers but in reverse order as other one. More...
 
std::vector< unsigned > nullLayers () const
 Returns layer indices that do not actually point to a Material. More...
 
unsigned numLayers () const
 Returns the number of non-null layers in this construction. More...
 
std::vector< unsigned > getLayerIndices (const Material &material) const
 Returns the indices from which this construction points to material. More...
 
Standards Methods
boost::optional< OpaqueMaterialinsulation () const
 Returns the layer designated as insulation, if such a designation has been made. More...
 
bool setInsulation (const OpaqueMaterial &insulationLayer)
 Notes that insulationLayer is the perturbable insulation layer. More...
 
void resetInsulation ()
 Removes any existing insulation layer designations. More...
 
void ensureUniqueLayers ()
 Ensures that all materials in this construction are used by this construction only. More...
 
- Public Member Functions inherited from openstudio::model::ConstructionBase
boost::optional< double > exteriorVisibleAbsorptance () const
 Get the visible absorptance of the exterior side of this construction (dimensionless). More...
 
double getNetArea () const
 Returns the sum of the surface area of all planar surfaces that use this construction (m^2). More...
 
boost::optional< double > heatCapacity () const
 Get the heat capacity of this construction (J/m^2*K). More...
 
boost::optional< double > interiorVisibleAbsorptance () const
 Get the visible absorptance of the interior side of this construction (dimensionless). More...
 
bool isFenestration () const
 
bool isGreenRoof () const
 Returns true if the construction has RoofVegetation as the outer layer. More...
 
bool isModelPartition () const
 
bool isOpaque () const
 
bool isSolarDiffusing () const
 Returns true if isFenestration and any material layers are solar diffusing. More...
 
boost::optional< RenderingColorrenderingColor () const
 Returns the rendering color. More...
 
void resetRenderingColor ()
 Resets the rendering color. More...
 
bool setConductance (double value)
 Set the conductance of this surface in W/m^2*K, if possible. More...
 
bool setConductance (double value, double filmResistance)
 Set the conductance of this surface in W/m^2*K, if possible. More...
 
bool setRenderingColor (const RenderingColor &renderingColor)
 Sets the rendering color. More...
 
bool setUFactor (double value)
 Set the u-factor of this surface in W/m^2*K, if possible. More...
 
bool setUFactor (double value, double filmResistance)
 Set the u-factor of this surface in W/m^2*K, if possible. More...
 
boost::optional< double > thermalConductance () const
 Get the thermal conductance of this construction (W/m^2*K). More...
 
boost::optional< double > thermalConductance (double filmResistance) const
 Get the thermal conductance of this construction (W/m^2*K). More...
 
boost::optional< double > uFactor () const
 Get the u-factor of this construction (W/m^2*K). More...
 
boost::optional< double > uFactor (double filmResistance) const
 Get the u-factor of this construction (W/m^2*K). More...
 
boost::optional< double > visibleTransmittance () const
 Get the visible transmittance of this construction (dimensionless). More...
 
virtual ~ConstructionBase () override=default
 
 ConstructionBase (const ConstructionBase &other)=default
 
 ConstructionBase (ConstructionBase &&other)=default
 
ConstructionBaseoperator= (const ConstructionBase &)=default
 
ConstructionBaseoperator= (ConstructionBase &&)=default
 
StandardsInformationConstruction standardsInformation () const
 Returns this construction's standards information, constructing a new object if necessary. More...
 
- Public Member Functions inherited from openstudio::model::ResourceObject
unsigned directUseCount (bool excludeChildren=false) const
 Returns the number of objects that use this resource directly. More...
 
unsigned nonResourceObjectUseCount (bool excludeChildren=false) const
 Returns the number of non-ResourceObjects that use this resource either directly or indirectly. More...
 
ResourceObjectoperator= (const ResourceObject &)=default
 
ResourceObjectoperator= (ResourceObject &&)=default
 
 ResourceObject (const ResourceObject &other)=default
 
 ResourceObject (ResourceObject &&other)=default
 
virtual ~ResourceObject () override=default
 
- Public Member Functions inherited from openstudio::model::ParentObject
std::vector< IddObjectTypeallowableChildTypes () 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 () override=default
 
- Public Member Functions inherited from openstudio::model::ModelObject
virtual ~ModelObject () override=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< 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...
 
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
 
- 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)
 
WorkspaceObjectoperator= (WorkspaceObject &&)=default
 
WorkspaceObjectoperator= (const WorkspaceObject &)=default
 
std::vector
< openstudio::IdfObject
remove ()
 
bool setPointer (unsigned index, const Handle &targetHandle)
 
std::vector< WorkspaceObjectsources () const
 
std::vector< WorkspaceObjecttargets () const
 
Workspace workspace () const
 
 WorkspaceObject (const WorkspaceObject &other)=default
 
 WorkspaceObject (WorkspaceObject &&other)=default
 
virtual ~WorkspaceObject () override=default
 
- 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
 
boost::optional< std::string > getField (unsigned index, bool returnDefault=false) 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
 
Handle handle () const
 
IddObject iddObject () const
 
 IdfObject (IddObjectType type, bool fastName=false)
 
 IdfObject (const IdfObject &other)
 
 IdfObject (const IddObject &, bool fastName=false)
 
 IdfObject (IdfObject &&other) noexcept
 
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)
 
IdfObjectoperator= (IdfObject &&other) noexcept
 
IdfObjectoperator= (const IdfObject &other)
 
bool operator== (const IdfObject &other) const
 
boost::optional< T > optionalCast () const
 
std::vector< std::string > popExtensibleGroup ()
 
std::ostream & print (std::ostream &os) const
 
std::ostream & printField (std::ostream &os, unsigned index, bool isLastField=false) const
 
std::ostream & printName (std::ostream &os, bool hasFields=true) const
 
IdfExtensibleGroup pushExtensibleGroup (const std::vector< std::string > &values)
 
IdfExtensibleGroup pushExtensibleGroup ()
 
std::vector< unsigned > requiredFields () const
 
void setComment (const std::string &msg)
 
bool setDouble (unsigned index, double value)
 
bool setFieldComment (unsigned index, const std::string &cmnt)
 
bool setInt (unsigned index, int value)
 
boost::optional< std::string > setName (const std::string &newName)
 
bool setQuantity (unsigned index, const Quantity &q)
 
bool setString (unsigned index, const std::string &value)
 
bool setUnsigned (unsigned index, unsigned value)
 
std::vector< T > subsetCastVector (const std::vector< U > &original)
 
ValidityReport validityReport (StrictnessLevel level, bool checkNames=false) const
 
virtual ~IdfObject ()=default
 

Static Public Member Functions

Static Methods
static bool layersAreValid (const std::vector< Material > &materials)
 Returns true if materials defines a valid EnergyPlus construction. More...
 
static bool layersAreValid (const std::vector< OpaqueMaterial > &opaqueMaterials)
 
static bool layersAreValid (const std::vector< FenestrationMaterial > &fenestrationMaterials)
 
- 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 ()
 

Related Functions

(Note that these are not member functions.)

using LayeredConstructionVector = std::vector< LayeredConstruction >
 
using OptionalLayeredConstruction = boost::optional< LayeredConstruction >
 

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
 
- Protected Types inherited from openstudio::model::ModelObject
using ImplType = detail::ModelObject_Impl
 
- 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::ResourceObject
 ResourceObject (IddObjectType type, const Model &model)
 Constructs a new PlanarSurface object in the model. More...
 
- Protected Member Functions inherited from openstudio::model::ParentObject
 ParentObject (IddObjectType type, const Model &model)
 Constructs a new ParentObject object in the model. More...
 
- Protected Member Functions inherited from openstudio::model::ModelObject
 ModelObject (IddObjectType type, const Model &model, bool fastName=false)
 
 ModelObject (std::shared_ptr< detail::ModelObject_Impl > impl)
 
- Protected Member Functions inherited from openstudio::WorkspaceObject
 WorkspaceObject (std::shared_ptr< detail::WorkspaceObject_Impl > impl)
 
- Protected Member Functions inherited from openstudio::IdfObject
 IdfObject (std::shared_ptr< detail::IdfObject_Impl > impl)
 

Detailed Description

LayeredConstruction is a ConstructionBase that serves as a base class to concrete construction classes that are composed of Material layers.

Constructor & Destructor Documentation

virtual openstudio::model::LayeredConstruction::~LayeredConstruction ( )
overridevirtualdefault
openstudio::model::LayeredConstruction::LayeredConstruction ( const LayeredConstruction other)
default
openstudio::model::LayeredConstruction::LayeredConstruction ( LayeredConstruction &&  other)
default

Member Function Documentation

void openstudio::model::LayeredConstruction::ensureUniqueLayers ( )

Ensures that all materials in this construction are used by this construction only.

Allows standards to then appply standards specified material properties to each layer (e.g. SRI).

bool openstudio::model::LayeredConstruction::equalLayers ( const LayeredConstruction other) const

Returns true if this construction has the same layers as other one.

bool openstudio::model::LayeredConstruction::eraseLayer ( unsigned  layerIndex)

Erases the Material at layerIndex, if possible.

Must have 0 <= layerIndex < numLayers, and resulting construction must satisfy layersAreValid.

Material openstudio::model::LayeredConstruction::getLayer ( unsigned  layerIndex) const

Get the Material at layerIndex, where layerIndex is between 0 and numLayers() - 1.

Throws a openstudio::Exception if layerIndex >= numLayers.

std::vector<unsigned> openstudio::model::LayeredConstruction::getLayerIndices ( const Material material) const

Returns the indices from which this construction points to material.

bool openstudio::model::LayeredConstruction::insertLayer ( unsigned  layerIndex,
const Material material 
)

Insert opaqueMaterial at layerIndex, if possible.

Must have 0 <= layerIndex <= numLayers, and this construction must have no layers or satisfy isOpaque == true. Furthermore, the resulting construction must satisfy layersAreValid.

boost::optional<OpaqueMaterial> openstudio::model::LayeredConstruction::insulation ( ) const

Returns the layer designated as insulation, if such a designation has been made.

bool openstudio::model::LayeredConstruction::isSymmetric ( ) const

Returns true if this is a symmetric layered construction.

std::vector<Material> openstudio::model::LayeredConstruction::layers ( ) const

Returns the material layers that make up this construction.

Listed in order from outside in, that is, the Material at index 0 faces out from the point of view of the Zone, should this LayeredConstruction be associated with a PlanarSurface.

static bool openstudio::model::LayeredConstruction::layersAreValid ( const std::vector< Material > &  materials)
static

Returns true if materials defines a valid EnergyPlus construction.

Returns false if layers are empty. Checks the following rules if first layer is an OpaqueMaterial:

Checks the following rules if first layer is a FenestrationMaterial:

Checks the following rules if first layer is a ModelPartitionMaterial:

  • Layer size is 1
Todo:
Verify that this is a comprehensive and accurate list.
static bool openstudio::model::LayeredConstruction::layersAreValid ( const std::vector< OpaqueMaterial > &  opaqueMaterials)
static
static bool openstudio::model::LayeredConstruction::layersAreValid ( const std::vector< FenestrationMaterial > &  fenestrationMaterials)
static
std::vector<unsigned> openstudio::model::LayeredConstruction::nullLayers ( ) const

Returns layer indices that do not actually point to a Material.

Before simulation, the returned vector should be empty.

unsigned openstudio::model::LayeredConstruction::numLayers ( ) const

Returns the number of non-null layers in this construction.

LayeredConstruction& openstudio::model::LayeredConstruction::operator= ( const LayeredConstruction )
default
LayeredConstruction& openstudio::model::LayeredConstruction::operator= ( LayeredConstruction &&  )
default
void openstudio::model::LayeredConstruction::resetInsulation ( )

Removes any existing insulation layer designations.

Does not touch the actual composition of the construction.

bool openstudio::model::LayeredConstruction::reverseEqualLayers ( const LayeredConstruction other) const

Returns true if this construction has the same layers but in reverse order as other one.

bool openstudio::model::LayeredConstruction::setInsulation ( const OpaqueMaterial insulationLayer)

Notes that insulationLayer is the perturbable insulation layer.

Only works if insulationLayer is already in this construction.

bool openstudio::model::LayeredConstruction::setLayer ( unsigned  layerIndex,
const Material material 
)

Set the layer at layerIndex to opaqueMaterial, if possible.

Must have 0 <= layerIndex < numLayers, and this construction must satisfy isOpaque == true. Furthermore, the resulting construction must satisfy layersAreValid.

bool openstudio::model::LayeredConstruction::setLayer ( const ModelPartitionMaterial modelPartitionMaterial)

Sets the construction to use modelPartitionMaterial.

Clears out all previous Material layers.

bool openstudio::model::LayeredConstruction::setLayers ( const std::vector< Material > &  materials)

Set the construction to use opaqueMaterials as its layers, if layersAreValid(opaqueMaterials).

Clears out all previous Material layers.

Friends And Related Function Documentation

using LayeredConstructionVector = std::vector<LayeredConstruction>
related
using OptionalLayeredConstruction = boost::optional<LayeredConstruction>
related