archetypal.template.WindowConstruction

class archetypal.template.WindowConstruction(Name, Layers, Category='Double', **kwargs)[source]

Window Construction.

../_images/constructions-window.png

Initialize a WindowConstruction.

Parameters
  • Name (str) – Name of the WindowConstruction.

  • Layers (list of (MaterialLayer or GasLayer)) – List of MaterialLayer and GasLayer.

  • Category (str) – “Single”, “Double” or “Triple”.

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

property Category

Get or set the Category. Choices are (“single”, “double”, “triple”).

property gap_count

Get the number of gas gaps contained within the window construction.

property glazing_count

Get the nb of glazing materials contained within the window construction.

property r_factor

Get the construction R-factor [m2-K/W].

Note: including standard resistances for air films. Formulas for film coefficients come from EN673 / ISO10292.

property r_value

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

property outside_emissivity

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

property inside_emissivity

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

property solar_transmittance

Get the solar transmittance of the window at normal incidence.

property visible_transmittance

Get the visible transmittance of the window at normal incidence.

property thickness

Thickness of the construction [m].

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

Create an WindowConstruction from a dictionary.

Parameters
  • data (dict) – The python dictionary.

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

  • **kwargs – keywords passed to the constructor.

data = {
    "$id": "57",
    "Layers": [
        {"Material": {"$ref": "7"}, "Thickness": 0.003},
        {"Material": {"$ref": "1"}, "Thickness": 0.006},
        {"Material": {"$ref": "7"}, "Thickness": 0.003},
    ],
    "AssemblyCarbon": 0.0,
    "AssemblyCost": 0.0,
    "AssemblyEnergy": 0.0,
    "DisassemblyCarbon": 0.0,
    "DisassemblyEnergy": 0.0,
    "Category": "Double",
    "Comments": "default",
    "DataSource": "default",
    "Name": "B_Dbl_Air_Cl",
}
classmethod from_epbunch(Construction, **kwargs)[source]

Create WindowConstruction object from idf Construction object.

Example

>>> from archetypal import IDF
>>> from archetypal.template.window_setting import WindowSetting
>>> idf = IDF("myidf.idf")
>>> construction_name = "Some construction name"
>>> WindowConstruction.from_epbunch(Name=construction_name, idf=idf)
Parameters
  • Construction (EpBunch) – The Construction epbunch object.

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

classmethod from_shgc(Name, solar_heat_gain_coefficient, u_factor, visible_transmittance=None, **kwargs)[source]

Create a WindowConstruction from shgc, u_factor and visible_transmittance.

Parameters
  • Name (str) – The name of the window construction.

  • shgc (double) – The window’s Solar Heat Gain Coefficient.

  • u_factor (double) – The window’s U-value.

  • visible_transmittance (double, optional) – The window’s visible transmittance. If none, the visible transmittance defaults to the solar transmittance t_sol.

  • kwargs – keywrods passed to the parent constructor.

Returns:

to_dict()[source]

Return WindowConstruction dictionary representation.

to_epbunch(idf)[source]

Convert self to a Construction epbunch given an idf model.

Parameters

idf (IDF) – The idf model in which the EpBunch is created.

Construction,
    B_Dbl_Air_Cl,                           !- Name
    B_Glass_Clear_3_0.003_B_Dbl_Air_Cl,     !- Outside Layer
    AIR_0.006_B_Dbl_Air_Cl,                 !- Layer 2
    B_Glass_Clear_3_0.003_B_Dbl_Air_Cl;     !- Layer 3
Returns

The EpBunch object added to the idf model.

Return type

EpBunch

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.

combine(other, weights=None)[source]

Append other to self. Return self + other as a new object.

For now, simply returns self.

Todo

  • Implement equivalent window layers for constant u-factor.

validate()[source]

Validate object and fill in missing values.

Todo

  • Implement validation

duplicate()[source]

Get copy of self.

temperature_profile(outside_temperature=- 18, inside_temperature=21, wind_speed=6.7, height=1.0, angle=90.0, pressure=101325)[source]

Get a list of temperatures at each material boundary across the construction.

Parameters
  • outside_temperature – The temperature on the outside of the construction [C]. Default is -18, which is consistent with NFRC 100-2010.

  • inside_temperature – The temperature on the inside of the construction [C]. Default is 21, which is consistent with NFRC 100-2010.

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

  • height – An optional height for the surface in meters. Default is 1.0 m.

  • angle – An angle in degrees between 0 and 180. 0 = A horizontal surface with the outside boundary on the bottom. 90 = A vertical surface 180 = A horizontal surface with the outside boundary on the top.

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

Returns

A tuple with two elements - temperatures: A list of temperature values [C].

The first value will always be the outside temperature and the second will be the exterior surface temperature. The last value will always be the inside temperature and the second to last will be the interior surface temperature.

  • r_values: A list of R-values for each of the material layers [m2-K/W]. The first value will always be the resistance of the exterior air and the last value is the resistance of the interior air. The sum of this list is the R-factor for this construction given the input parameters.

shgc(environmental_conditions='summer', global_radiation=783)[source]

Calculate the shgc given environmental conditions.

Notes

This method implements a heat balance at each interface of the glazing unit including outside and inside air film resistances, solar radiation absorption in the glass. See heat_balance() for more details.

Parameters
  • environmental_conditions (str) – “summer” or “winter”. A window shgc is usually calculated with summer conditions. Default is “summer”.

  • global_radiation (float) – Incident solar radiation [W / m ^ 2]. Overwrite the solar radiation used in the calculation of the shgc.

Returns

The shgc of the window construction for the given environmental conditions.

Return type

float

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 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].

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.

heat_balance(environmental_conditions='summer', G_t=783)[source]

Return heat flux and temperatures at each surface of the window.

Note: Only implemented for glazing with two layers.

Parameters
  • environmental_conditions (str) – The environmental conditions from the NRFC standard used to calculate the heat balance. Default is “summer”.

  • G_t (float) – The incident radiation.

Returns

heat_flux, temperature_profile

Return type

tuple

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.

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 predecessors

Get or set the predecessors of self.

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

rename(name)

renames self as well as the cached object

Parameters

name (str) – the name.

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).