honeybee_energy.construction.opaque module

Opaque Construction.

class honeybee_energy.construction.opaque.OpaqueConstruction(identifier, materials)[source]

Bases: _ConstructionBase

Opaque energy construction.

Parameters:
  • identifier – Text string for a unique Construction ID. Must be < 100 characters and not contain any EnergyPlus special characters. This will be used to identify the object across a model and in the exported IDF.

  • materials – List of materials in the construction (from outside to inside). All materials must be opaque and a maximum of 10 materials are allowed.

Properties:
  • identifier

  • display_name

  • materials

  • layers

  • unique_materials

  • r_value

  • u_value

  • u_factor

  • r_factor

  • is_symmetric

  • has_frame

  • has_shade

  • is_dynamic

  • inside_emissivity

  • inside_solar_reflectance

  • inside_visible_reflectance

  • outside_emissivity

  • outside_solar_reflectance

  • outside_visible_reflectance

  • mass_area_density

  • area_heat_capacity

  • thickness

  • inside_material

  • outside_material

  • user_data

  • properties

ToString()

Overwrite .NET ToString.

duplicate()

Get a copy of this construction.

static extract_all_from_idf_file(idf_file)[source]

Extract all OpaqueConstruction objects from an EnergyPlus IDF file.

Parameters:

idf_file – A path to an IDF file containing objects for opaque constructions and corresponding materials.

Returns:

A tuple with two elements

  • constructions: A list of all OpaqueConstruction objects in the IDF file as honeybee_energy OpaqueConstruction objects.

  • materials: A list of all opaque materials in the IDF file as honeybee_energy EnergyMaterial objects.

classmethod from_dict(data)[source]

Create a OpaqueConstruction from a dictionary.

Note that the dictionary must be a non-abridged version for this classmethod to work.

Parameters:

data – A python dictionary in the following format

{
"type": 'OpaqueConstruction',
"identifier": 'Generic Brick Wall R-10',
"display_name": 'Brick Wall',
"materials": []  # list of unique material objects (from outside to inside)
}
classmethod from_dict_abridged(data, materials)[source]

Create a OpaqueConstruction from an abridged dictionary.

Parameters:
  • data – An OpaqueConstructionAbridged dictionary.

  • materials – A dictionary with identifiers of materials as keys and Python material objects as values.

{
"type": 'OpaqueConstructionAbridged',
"identifier": 'Generic Brick Wall R-10',
"display_name": 'Brick Wall',
"materials": [],  # list of material identifiers (from outside to inside)
}
classmethod from_idf(idf_string, ep_mat_strings)[source]

Create an OpaqueConstruction from an EnergyPlus IDF text string.

Parameters:
  • idf_string – A text string fully describing an EnergyPlus construction.

  • ep_mat_strings – A list of text strings for each of the materials in the construction.

classmethod from_simple_parameters(identifier, r_value, roughness='MediumRough', thermal_absorptance=0.9, solar_absorptance=0.7, visible_absorptance=None)[source]

Create a no-mass OpaqueConstruction from a specification of simple parameters.

The result will have a single EnergyMaterialNoMass layer that is derived from the input parameters.

Parameters:
  • identifier – Text string for a unique construction ID. Must be <90 characters and not contain any EnergyPlus special characters. This will be used to identify the object across a model and in the exported IDF.

  • r_value – Number for the R-value of the construction [m2-K/W].

  • roughness – Text describing the relative roughness of the construction. Must be one of the following: ‘VeryRough’, ‘Rough’, ‘MediumRough’, ‘MediumSmooth’, ‘Smooth’, ‘VerySmooth’. Default: ‘MediumRough’.

  • thermal_absorptance – A number between 0 and 1 for the fraction of incident long wavelength radiation that is absorbed by the construction. Default: 0.9.

  • solar_absorptance – A number between 0 and 1 for the fraction of incident solar radiation absorbed by the construction. Default: 0.7.

  • visible_absorptance – A number between 0 and 1 for the fraction of incident visible wavelength radiation absorbed by the construction. Default value is None, which will use the same value as the solar_absorptance.

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 – The average between the indoor temperature and the interior surface temperature. Default is 293.15K (20C).

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

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

  • angle – 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 – 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.

lock()

The lock() method will also lock the materials.

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 – The average outdoor wind speed [m/s]. This affects the convective heat transfer coefficient. Default is 6.7 m/s.

  • t_kelvin – 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.

temperature_profile(outside_temperature=-18, inside_temperature=21, outside_wind_speed=6.7, solar_irradiance=0, 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: -18, consistent with NFRC 100-2010).

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

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

  • solar_irradiance – An optional value for solar irradiance that is incident on the front (exterior) of the construction [W/m2]. (Default: 0 W/m2).

  • height – An optional height for the surface in meters. (Default: 1.0 m).

  • angle

    An angle in degrees between 0 and 180.

    • 0 = A horizontal surface with the outside boundary on the top.

    • 90 = A vertical surface

    • 180 = A horizontal surface with the outside boundary on the bottom.

  • pressure – The average pressure of in Pa. (Default: 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.

to_dict(abridged=False)[source]

Opaque construction dictionary representation.

Parameters:

abridged – Boolean to note whether the full dictionary describing the object should be returned (False) or just an abridged version (True), which only specifies the identifiers of material layers. Default: False.

to_idf()[source]

IDF string representation of construction object.

Note that this method only outputs a single string for the construction and, to write the full construction into an IDF, the construction’s unique_materials must also be written.

Returns:

construction_idf – Text string representation of the construction.

Construction, FLOOR38,  ! Material layer names follow:
    E5 - ACOUSTIC TILE,
    E4 - CEILING AIRSPACE,
    C12 - 2 IN HW CONCRETE;
to_radiance_solar_exterior(specularity=0.0)[source]

Honeybee Radiance modifier with the exterior solar reflectance.

to_radiance_solar_interior(specularity=0.0)[source]

Honeybee Radiance modifier with the interior solar reflectance.

to_radiance_visible_exterior(specularity=0.0)[source]

Honeybee Radiance modifier with the exterior visible reflectance.

to_radiance_visible_interior(specularity=0.0)[source]

Honeybee Radiance modifier with the interior visible reflectance.

unlock()

The unlock() method will also unlock the materials.

property area_heat_capacity

The heat capacity per unit area of the construction [J/K-m2].

property display_name

Get or set a string for the object name without any character restrictions.

If not set, this will be equal to the identifier.

property has_frame

Get a boolean noting whether the construction has a frame assigned to it.

property has_shade

Get a boolean noting whether dynamic shade materials are in the construction.

property identifier

Get or set the text string for unique construction identifier.

property inside_emissivity

“The emissivity of the inside face of the construction.

property inside_material

The the inside material layer of the construction.

Useful for checking that an asymmetric construction is correctly assigned.

property inside_solar_reflectance

The solar reflectance of the inside face of the construction.

property inside_visible_reflectance

The visible reflectance of the inside face of the construction.

property is_dynamic

Get a boolean noting whether the construction is dynamic.

This will always be False for this class.

property is_symmetric

Get a boolean to note whether the construction layers are symmetric.

Symmetric means that the materials in reversed order are equal to those in the current order (eg. ‘Gypsum’, ‘Air Gap’, ‘Gypsum’). This is particularly helpful for interior constructions, which need to have matching materials in reversed order between adjacent Faces.

property layers

A list of material identifiers in the construction (outside to inside).

property mass_area_density

The area density of the construction [kg/m2].

property materials

Get or set the list of materials in the construction (outside to inside).

All materials must be opaque and a maximum of 10 materials are allowed.

property outside_emissivity

“The emissivity of the outside face of the construction.

property outside_material

The the outside material layer of the construction.

Useful for checking that an asymmetric construction is correctly assigned.

property outside_solar_reflectance

The solar reflectance of the outside face of the construction.

property outside_visible_reflectance

The visible reflectance of the outside face of the construction.

property properties

Get properties for extensions.

property r_factor

Construction R-factor [m2-K/W] (including standard resistances for air films).

Formulas for film coefficients come from EN673 / ISO10292.

property r_value

R-value of the construction [m2-K/W] (excluding air films).

property thickness

Thickness of the construction [m].

property u_factor

Construction U-factor [W/m2-K] (including standard resistances for air films).

Formulas for film coefficients come from EN673 / ISO10292.

property u_value

U-value of the construction [W/m2-K] (excluding air films).

property unique_materials

A set of only unique material objects in the construction.

This is useful when constructions reuse material layers.

property user_data

Get or set an optional dictionary for additional meta data for this object.

This will be None until it has been set. All keys and values of this dictionary should be of a standard Python type to ensure correct serialization of the object to/from JSON (eg. str, float, int, list, dict)