diff --git a/interfaces.py b/interfaces.py index 94d44e9..f504561 100644 --- a/interfaces.py +++ b/interfaces.py @@ -12,7 +12,13 @@ class Layer: return self.thickness / self.thermal_coefficient -class Surface(ABC): +class Interface(ABC): + @property + @abstractmethod + def HT(self) -> float: ... + + +class Surface(Interface): def __init__(self, name: str, area: float): self.name = name self.area = area @@ -26,6 +32,27 @@ class Surface(ABC): return self.U * self.area +class LinearThermalBridge(Interface): + def __init__(self, name: str, length: float, psi: float): + self.name = name + self.length = length + self.psi = psi + + @property + def HT(self) -> float: + return self.psi * self.length + + +class PointThermalBridge(Interface): + def __init__(self, name: str, chi: float): + self.name = name + self.chi = chi + + @property + def HT(self) -> float: + return self.chi + + class LayeredSurface(Surface): def __init__( self,