Source code for honeybee_energy.lib.materials

"""Establish the default materials within the honeybee_energy library."""
from honeybee_energy.material.dictutil import dict_to_material

from ._loadconstructions import _opaque_materials, _window_materials
from ._loadmaterials import _opaque_mat_standards_dict, _window_mat_standards_dict


# establish variables for the default materials used across the library
brick = _opaque_materials['Generic Brick']
concrete_lw = _opaque_materials['Generic LW Concrete']
concrete_hw = _opaque_materials['Generic HW Concrete']
insulation = _opaque_materials['Generic 50mm Insulation']
insulation_thin = _opaque_materials['Generic 25mm Insulation']
gypsum = _opaque_materials['Generic Gypsum Board']
acoustic_tile = _opaque_materials['Generic Acoustic Tile']
painted_metal = _opaque_materials['Generic Painted Metal']
roof_membrane = _opaque_materials['Generic Roof Membrane']
wood = _opaque_materials['Generic 25mm Wood']
wall_gap = _opaque_materials['Generic Wall Air Gap']
ceiling_gap = _opaque_materials['Generic Ceiling Air Gap']
clear_glass = _window_materials['Generic Clear Glass']
lowe_glass = _window_materials['Generic Low-e Glass']
air_gap = _window_materials['Generic Window Air Gap']
argon_gap = _window_materials['Generic Window Argon Gap']


# make lists of material identifiers to look up items in the library
OPAQUE_MATERIALS = tuple(_opaque_materials.keys()) + \
    tuple(_opaque_mat_standards_dict.keys())
WINDOW_MATERIALS = tuple(_window_materials.keys()) + \
    tuple(_window_mat_standards_dict.keys())


[docs]def opaque_material_by_identifier(material_identifier): """Get an opaque material from the library given the material identifier. Args: material_identifier: A text string for the identifier of the material. """ try: # first check the default data return _opaque_materials[material_identifier] except KeyError: try: # search the extension data _mat_dict = _opaque_mat_standards_dict[material_identifier] return dict_to_material(_mat_dict) except KeyError: # material is nowhere to be found; raise an error raise ValueError( '"{}" was not found in the opaque energy material library.'.format( material_identifier))
[docs]def window_material_by_identifier(material_identifier): """Get an window material from the library given the material identifier. Args: material_identifier: A text string for the identifier of the material. """ try: # first check the default data return _window_materials[material_identifier] except KeyError: try: # search the extension data _mat_dict = _window_mat_standards_dict[material_identifier] return dict_to_material(_mat_dict) except KeyError: # material is nowhere to be found; raise an error raise ValueError( '"{}" was not found in the window energy material library.'.format( material_identifier))