archetypal.template.OpaqueConstruction

class archetypal.template.OpaqueConstruction(Name, Layers, **kwargs)[source]

Opaque Constructions.

../_images/constructions-opaque.png
Properties:
  • r_value

  • u_value

  • r_factor

  • u_factor

  • equivalent_heat_capacity_per_unit_volume

  • specific_heat

  • heat_capacity_per_unit_wall_area

  • total_thickness

  • mass_per_unit_area

  • timeconstant_per_unit_area

  • solar_reflectance_index

Initialize an OpaqueConstruction.

Parameters
  • Layers (list of archetypal.MaterialLayer) – List of MaterialLayers making up the construction.

  • **kwargs – Other attributes passed to parent constructors such as ConstructionBase.

property r_value

Get or set the thermal resistance [K⋅m2/W] (excluding air films).

Note that, when setting the R-value, the thickness of the inferred insulation layer will be adjusted.

property equivalent_heat_capacity_per_unit_volume

Get the equivalent per unit wall volume heat capacity [J/(kg⋅K)].

Hint

“The physical quantity which represents the heat storage capability is the wall heat capacity, defined as HC=M·c. While the per unit wall area of this quantity is (HC/A)=ρ·c·δ, where δ the wall thickness, the per unit volume wall heat capacity, being a characteristic wall quantity independent from the wall thickness, is equal to ρ·c. This quantity for a composite wall of an overall thickness L, is usually defined as the equivalent per unit wall volume heat capacity and it is expressed as \({{(ρ·c)}}_{eq}{{=(1/L)·∑}}_{i=1}^n{{(ρ}}_i{{·c}}_i{{·δ}}_i{)}\) where \({ρ}_i\), \({c}_i\) and \({δ}_i\) are the densities, the specific heat capacities and the layer thicknesses of the n parallel layers of the composite wall.” [ref]

ref

Tsilingiris, P. T. (2004). On the thermal time constant of structural walls. Applied Thermal Engineering, 24(5–6), 743–757. https://doi.org/10.1016/j.applthermaleng.2003.10.015

property specific_heat

Get the construction specific heat weighted by wall area mass [J/(kg⋅K)].

property heat_capacity_per_unit_wall_area

Get the construction heat capacity per unit wall area [J/(m2⋅K)].

Hint

\((HC/A)=ρ·c·δ\), where \(δ\) is the wall thickness.

property total_thickness

Get the construction total thickness [m].

property mass_per_unit_area

Get the construction mass per unit area [kg/m2].

property time_constant_per_unit_area

Get the construction time constant per unit area [seconds/m2].

property solar_reflectance_index

Get the Solar Reflectance Index of the exposed surface.

Hint

calculation from K-12 AEDG, derived from ASTM E1980 assuming medium wind speed.

infer_insulation_layer()[source]

Return the material layer index that corresponds to the insulation layer.

combine(other, method='dominant_wall', allow_duplicates=False)[source]

Combine two OpaqueConstruction together.

Parameters
  • other (OpaqueConstruction) – The other OpaqueConstruction object to combine with.

  • method (str) – Equivalent wall assembly method. Only ‘dominant_wall’ is safe to use. ‘constant_ufactor’ is still weird in terms of respecting the thermal response of the walls and may cause conversion issues with Conduction Transfer Functions (CTFs) in EnergyPlus.

Returns

the combined ZoneLoad object.

Return type

(OpaqueConstruction)

dominant_wall(other, weights)[source]

Return dominant wall construction between self and other.

Parameters
  • other

  • weights

classmethod from_dict(data, materials, **kwargs)[source]

Create an OpaqueConstruction from a dictionary.

Parameters
  • data (dict) – The python dictionary.

  • materials (dict) – A dictionary of materials with their id as keys.

materials = {}  # dict of materials.
data = {
     "$id": "140300770659680",
     "Layers": [
      {
       "Material": {
        "$ref": "140300653743792"
       },
       "Thickness": 0.013
      },
      {
       "Material": {
        "$ref": "140300653743792"
       },
       "Thickness": 0.013
      }
     ],
     "AssemblyCarbon": 0.0,
     "AssemblyCost": 0.0,
     "AssemblyEnergy": 0.0,
     "DisassemblyCarbon": 0.0,
     "DisassemblyEnergy": 0.0,
     "Category": "Partition",
     "Comments": "",
     "DataSource": "ASHRAE 90.1-2007",
     "Name": "90.1-2007 Nonres 6A Int Wall"
}
classmethod generic_internalmass(**kwargs)[source]

Create a generic internal mass object.

Parameters

**kwargs – keywords passed to the class constructor.

classmethod from_epbunch(epbunch, **kwargs)[source]

Create an OpaqueConstruction object from an epbunch.

Possible keys are “BuildingSurface:Detailed” or “InternalMass”

Parameters
  • epbunch (EpBunch) – The epbunch object.

  • **kwargs – keywords passed to the LayeredConstruction constructor.

to_dict()[source]

Return OpaqueConstruction dictionary representation.

mapping(validate=True)[source]

Get a dict based on the object properties, useful for dict repr.

Parameters

validate (bool) – If True, try to validate object before returning the mapping.

classmethod generic(**kwargs)[source]

Return OpaqueConstruction based on 90.1-2007 Nonres 4B Int Wall.

property AssemblyCarbon

Get or set the assembly carbon [kgCO2/m2].

property AssemblyCost

Get or set the assembly cost [$/m2].

property AssemblyEnergy

Get or set the assembly energy [MJ/m2].

property Category

Get or set the Category attribute.

property Comments

Get or set the object comments.

property DataSource

Get or set the datasource of the object.

property DisassemblyCarbon

Get or set the disassembly carbon [kgCO2/m2].

property DisassemblyEnergy

Get or set the disassembly energy [MJ/m2].

property Layers: List[Union[archetypal.template.materials.material_layer.MaterialLayer, archetypal.template.materials.gas_layer.GasLayer]]

Get or set the material layers.

property Name

Get or set the name of the object.

property allow_duplicates

Get or set the use of duplicates [bool].

duplicate()

Get copy of self.

extend(other, allow_duplicates)

Append other to self. Modify and return self.

Parameters

other (UmiBase) –

Returns

self

Return type

UmiBase

float_mean(other, attr, weights=None)

Calculates the average attribute value of two floats. Can provide weights.

Parameters
  • other (UmiBase) – The other UmiBase object to calculate average value with.

  • attr (str) – The attribute of the UmiBase object.

  • weights (iterable, optional) – Weights of [self, other] to calculate weighted average.

get_unique()

Return first object matching equality in the list of instantiated objects.

property id

Get or set the id.

in_h(t_kelvin=293.15, delta_t=15, height=1.0, angle=90, pressure=101325)

Get the detailed indoor heat transfer coefficient according to ISO 15099.

This is used for window U-factor calculations and all of the temperature_profile calculations.

Parameters
  • t_kelvin (float) – The average between the indoor temperature and the interior surface temperature. Default is 293.15K (20C).

  • delta_t (float) – The temperature difference between the indoor temperature and the interior surface temperature [C]. Default is 15C.

  • height (float) – An optional height for the surface in meters. Default is 1.0 m, which is consistent with NFRC standards.

  • angle (float) – An angle in degrees between 0 and 180. 0 = A horizontal surface with downward heat flow through the layer. 90 = A vertical surface 180 = A horizontal surface with upward heat flow through the layer.

  • pressure (float) – The average pressure in Pa. Default is 101325 Pa for standard pressure at sea level.

in_h_c(t_kelvin=293.15, delta_t=15, height=1.0, angle=90, pressure=101325)

Get detailed indoor convective heat transfer coef. according to ISO 15099.

This is used for window U-factor calculations and all of the temperature_profile calculations.

Parameters
  • t_kelvin (float) – The average between the indoor temperature and the interior surface temperature. Default is 293.15K (20C).

  • delta_t (float) – The temperature difference between the indoor temperature and the interior surface temperature [C]. Default is 15C.

  • height (float) – An optional height for the surface in meters. Default is 1.0 m, which is consistent with NFRC standards.

  • angle (float) – An angle in degrees between 0 and 180. 0 = A horizontal surface with downward heat flow through the layer. 90 = A vertical surface 180 = A horizontal surface with upward heat flow through the layer.

  • pressure (float) – The average pressure in Pa. Default is 101325 Pa for standard pressure at sea level.

in_h_simple()

Get the simple indoor heat transfer coefficient according to ISO 10292.

This is used for all opaque R-factor calculations.

property inside_emissivity

Get the emissivity of the inside face of the construction [-].

out_h(wind_speed=6.7, t_kelvin=273.15)

Get the detailed outdoor heat transfer coefficient according to ISO 15099.

This is used for window U-factor calculations and all of the temperature_profile calculations.

Parameters
  • wind_speed (float) – The average outdoor wind speed [m/s]. This affects the convective heat transfer coefficient. Default is 6.7 m/s.

  • t_kelvin (float) – The average between the outdoor temperature and the exterior surface temperature. This can affect the radiative heat transfer. Default is 273.15K (0C).

out_h_simple()

Get the simple outdoor heat transfer coefficient according to ISO 10292.

This is used for all opaque R-factor calculations.

property outside_emissivity

Get the hemispherical emissivity of the outside face of the construction.

property predecessors

Get or set the predecessors of self.

Of which objects is self made of. If from nothing else then self, return self.

property r_factor

Get the R-factor [m2-K/W] (including air films).

rename(name)

renames self as well as the cached object

Parameters

name (str) – the name.

to_epbunch(idf)[source]

Get a Construction EpBunch given an idf model.

Notes

Will create layered materials as well.

Parameters

idf (IDF) – An idf model to add the EpBunch in.

Returns

The EpBunch object added to the idf model.

Return type

EpBunch

to_ref()

Return a ref pointer to self.

property u_factor

Get the overall heat transfer coefficient (including air films) W/(m2⋅K).

property u_value

Get the heat transfer coefficient [W/m2⋅K] (excluding air films).

validate()

Validate object and fill in missing values.