Source code for honeybee_energy_standards.extension.constructionset

"""Classmethod for honeybee-energy construction set."""
from __future__ import division

import honeybee_energy.lib.constructions as con_lib


[docs]def from_standards_dict(cls, data): """Create a ConstructionSet from an OpenStudio standards gem dictionary. Args: data: An OpenStudio standards dictionary of a construction type in the format below. .. code-block:: python { "name": "2013::ClimateZone5::SteelFramed", "wall_set": { "exterior_construction": "Typical Insulated Steel Framed Exterior Wall-R19", "ground_construction": "Typical Insulated Basement Mass Wall-R8" }, "floor_set": { "exterior_construction": "Typical Insulated Steel Framed Exterior Floor-R27", "ground_construction": "Typical Insulated Carpeted 8in Slab Floor-R5" }, "roof_ceiling_set": { "exterior_construction": "Typical IEAD Roof-R32" }, "aperture_set": { "window_construction": "U 0.48 SHGC 0.40 Dbl Ref-D Clr 6mm/13mm", "operable_construction": "U 0.48 SHGC 0.40 Dbl Ref-D Clr 6mm/13mm", "skylight_construction": "Window_U_0.50_SHGC_0.40_Skylight_Frame_Width_0.430_in" }, "door_set": { "exterior_construction": "Typical Insulated Metal Door-R2", "overhead_construction": "Typical Overhead Door-R2", "exterior_glass_construction": "U 0.44 SHGC 0.26 Dbl Ref-B-H Clr 6mm/13mm Air" } """ # initialize a blank construction set construction_set = cls(data['name']) # assign all of the opaque constructions construction_set.wall_set.exterior_construction = \ con_lib.opaque_construction_by_identifier(data['wall_set']['exterior_construction']) construction_set.wall_set.ground_construction = \ con_lib.opaque_construction_by_identifier(data['wall_set']['ground_construction']) construction_set.floor_set.exterior_construction = \ con_lib.opaque_construction_by_identifier(data['floor_set']['exterior_construction']) construction_set.floor_set.ground_construction = \ con_lib.opaque_construction_by_identifier(data['floor_set']['ground_construction']) construction_set.roof_ceiling_set.exterior_construction = \ con_lib.opaque_construction_by_identifier(data['roof_ceiling_set']['exterior_construction']) construction_set.door_set.exterior_construction = \ con_lib.opaque_construction_by_identifier(data['door_set']['exterior_construction']) construction_set.door_set.overhead_construction = \ con_lib.opaque_construction_by_identifier(data['door_set']['overhead_construction']) # assign all of the window constructions construction_set.aperture_set.window_construction = \ con_lib.window_construction_by_identifier(data['aperture_set']['window_construction']) construction_set.aperture_set.operable_construction = \ con_lib.window_construction_by_identifier(data['aperture_set']['operable_construction']) construction_set.aperture_set.skylight_construction = \ con_lib.window_construction_by_identifier(data['aperture_set']['skylight_construction']) construction_set.door_set.exterior_glass_construction = \ con_lib.window_construction_by_identifier(data['door_set']['exterior_glass_construction']) return construction_set