Add abstract Interface class as well as Point and Linear subclasses

This commit is contained in:
2026-06-08 14:34:55 +02:00
parent 2bda913270
commit 766b70ab79
+28 -1
View File
@@ -12,7 +12,13 @@ class Layer:
return self.thickness / self.thermal_coefficient 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): def __init__(self, name: str, area: float):
self.name = name self.name = name
self.area = area self.area = area
@@ -26,6 +32,27 @@ class Surface(ABC):
return self.U * self.area 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): class LayeredSurface(Surface):
def __init__( def __init__(
self, self,