Source code for dragonfly_doe2.doe.glass_types
from dataclasses import dataclass
from enum import Enum
from typing import Union
from honeybee_energy.construction.window import WindowConstruction
from honeybee_energy.material.glazing import EnergyWindowMaterialGlazing, \
EnergyWindowMaterialSimpleGlazSys
from honeybee_energy.construction.window import WindowConstruction
from .utils import short_name, unit_convertor
[docs]@dataclass
class GlassType:
""" Doe2 glass type, (window construction) """
name: str
shading_coef: float
glass_cond: float
[docs] @classmethod
def from_hb_window_constr(cls, window_constr: WindowConstruction):
simple_window_con = window_constr.to_simple_construction()
simple_window_mat = simple_window_con.materials[0]
shading_coef = simple_window_mat.shgc / 0.87
glass_cond = unit_convertor(
[simple_window_mat.u_factor], 'Btu/h-ft2-F', 'W/m2-K')
name = simple_window_con.identifier
name = short_name(name, 32)
return cls(name=name, shading_coef=shading_coef, glass_cond=glass_cond)
[docs] def to_inp(self) -> str:
return f'"{self.name}" = GLASS-TYPE\n' \
f' TYPE = SHADING-COEF\n' \
f' SHADING-COEF = {self.shading_coef}\n' \
f' GLASS-CONDUCT = {self.glass_cond}\n' \
f' ..'
def __repr__(self):
return self.to_inp()