Coverage for teaser/logic/buildingobjects/buildingphysics/innerwall.py: 90%

29 statements  

« prev     ^ index     » next       coverage.py v7.4.4, created at 2025-04-29 16:01 +0000

1# created June 2015 

2# by TEASER4 Development Team 

3 

4 

5from teaser.logic.buildingobjects.buildingphysics.wall\ 

6 import Wall 

7 

8 

9class InnerWall(Wall): 

10 """InnerWall class 

11 

12 This class holds information for an inner wall and is a child of Wall() 

13 

14 Parameters 

15 ---------- 

16 

17 parent : ThermalZone() 

18 The parent class of this object, the ThermalZone the BE belongs to. 

19 Allows for better control of hierarchical structures. If not None it 

20 adds this InnerWall to ThermalZone.inner_walls. 

21 Default is None. 

22 

23 Attributes 

24 ---------- 

25 

26 internal_id : float 

27 Random id for the distinction between different elements. 

28 name : str 

29 Individual name 

30 construction_data : str 

31 Type of construction (e.g. "heavy" or "light"). Needed for 

32 distinction between different constructions types in the same 

33 building age period. 

34 year_of_retrofit : int 

35 Year of last retrofit 

36 year_of_construction : int 

37 Year of first construction 

38 building_age_group : list 

39 Determines the building age period that this building 

40 element belongs to [begin, end], e.g. [1984, 1994] 

41 area : float [m2] 

42 Area of building element 

43 tilt : float [degree] 

44 Tilt against horizontal, default is 90.0 

45 orientation : float [degree] 

46 Azimuth direction of building element (0 : north, 90: east, 180: south, 

47 270: west) 

48 inner_convection : float [W/(m2*K)] 

49 Constant heat transfer coefficient of convection inner side (facing 

50 the zone), default 1.7 

51 inner_radiation : float [W/(m2*K)] 

52 Constant heat transfer coefficient of radiation inner side (facing 

53 the zone), default 5.0 

54 outer_convection : float [W/(m2*K)] 

55 Constant heat transfer coefficient of convection outer side (facing 

56 the ambient or adjacent zone). Currently for all InnerWalls and 

57 GroundFloors this value is set to 0.0 

58 outer_radiation : float [W/(m2*K)] 

59 Constant heat transfer coefficient of radiation outer side (facing 

60 the ambient or adjacent zone). Currently for all InnerWalls and 

61 GroundFloors this value is set to 0.0 

62 layer : list 

63 List of all layers of a building element (to be filled with Layer 

64 objects). Use element.layer = None to delete all layers of the building 

65 element 

66 other_side : ThermalZone() 

67 the thermal zone on the other side of the building element (only for 

68 interzonal elements) 

69 interzonal_type_material : str 

70 one of (None (default), 'inner', 'outer_ordered', 'outer_reversed') 

71 describes as which kind of element the element is treated when loading 

72 type elements. Caution: Make sure that the complimentary element of 

73 the other zone is also changed accordingly if this is adapted manually 

74 None: treatment based on project.method_interzonal_export_enrichment 

75 'inner': InterzonalWall treated as InnerWall, 

76 InterzonalFloor treated as Floor, 

77 InterzonalCeiling treated as Ceiling 

78 'outer_ordered': InterzonalWall treated as Wall, 

79 InterzonalFloor treated as GroundFloor, 

80 InterzonalCeiling treated as Rooftop 

81 'outer_reversed': InterzonalWall treated as Wall, 

82 InterzonalFloor treated as Rooftop, 

83 InterzonalCeiling treated as GroundFloor, but with 

84 reversed layers, resulting in the reversed 

85 sequence of layers as for the complimentary 

86 element declared as 'outer_ordered' 

87 interzonal_type_export : str 

88 one of (None (default), 'inner', 'outer_ordered', 'outer_reversed') 

89 describes as which kind of element the element is treated when exporting 

90 to Modelica. Caution: Make sure that the complimentary element of 

91 the other zone is also changed accordingly if this is adapted manually 

92 'inner': element will be lumped with InnerWall. No heat flow to the 

93 zone on the other side will be modelled. 

94 'outer_ordered': element will be lumped with OuterWall (OneElement 

95 to FourElement export) or treated as border to an 

96 adjacent zone (FiveElement export). Borders to the 

97 same adjacent zone will be lumped. 

98 'outer_reversed': like 'outer_ordered', but the lumping follows 

99 VDI 6007-1 in reversed order, resulting in the 

100 reversed order of resistances and capacitors as 

101 for the complimentary element declared as 

102 'outer_ordered' 

103 

104 Calculated Attributes 

105 

106 r1 : float [K/W] 

107 equivalent resistance R1 of the analogous model given in VDI 6007 

108 r2 : float [K/W] 

109 equivalent resistance R2 of the analogous model given in VDI 6007 

110 r3 : float [K/W] 

111 equivalent resistance R3 of the analogous model given in VDI 6007 

112 c1 : float [J/K] 

113 equivalent capacity C1 of the analogous model given in VDI 6007 

114 c2 : float [J/K] 

115 equivalent capacity C2 of the analogous model given in VDI 6007 

116 c1_korr : float [J/K] 

117 corrected capacity C1,korr for building elements in the case of 

118 asymmetrical thermal load given in VDI 6007 

119 ua_value : float [W/K] 

120 UA-Value of building element (Area times U-Value) 

121 r_inner_conv : float [K/W] 

122 Convective resistance of building element on inner side (facing the 

123 zone) 

124 r_inner_rad : float [K/W] 

125 Radiative resistance of building element on inner side (facing the 

126 zone) 

127 r_inner_conv : float [K/W] 

128 Combined convective and radiative resistance of building element on 

129 inner side (facing the zone) 

130 r_outer_conv : float [K/W] 

131 Convective resistance of building element on outer side (facing 

132 the ambient or adjacent zone). Currently for all InnerWalls and 

133 GroundFloors this value is set to 0.0 

134 r_outer_rad : float [K/W] 

135 Radiative resistance of building element on outer side (facing 

136 the ambient or adjacent zone). Currently for all InnerWalls and 

137 GroundFloors this value is set to 0.0 

138 r_outer_comb : float [K/W] 

139 Combined convective and radiative resistance of building element on 

140 outer side (facing the ambient or adjacent zone). Currently for all 

141 InnerWalls and GroundFloors this value is set to 0.0 

142 wf_out : float 

143 Weightfactor of building element ua_value/ua_value_zone 

144 """ 

145 

146 def __init__(self, parent=None): 

147 """ 

148 """ 

149 super(InnerWall, self).__init__(parent) 

150 

151 self._tilt = 90.0 

152 self._inner_convection = 1.7 

153 self._inner_radiation = 5.0 

154 self._outer_convection = None 

155 self._outer_radiation = None 

156 

157 @property 

158 def parent(self): 

159 return self.__parent 

160 

161 @parent.setter 

162 def parent(self, value): 

163 if value is not None: 

164 

165 ass_error_1 = "Parent has to be an instance of ThermalZone()" 

166 

167 assert type(value).__name__ == "ThermalZone", ass_error_1 

168 

169 self.__parent = value 

170 

171 if type(self).__name__ == "InnerWall": 

172 self.__parent.inner_walls.append(self) 

173 elif type(self).__name__ == "Ceiling": 

174 self.__parent.ceilings.append(self) 

175 elif type(self).__name__ == "Floor": 

176 self.__parent.floors.append(self) 

177 else: 

178 raise ValueError('Instance of InnerWall not known') 

179 

180 if self.parent.parent is not None: 

181 self.year_of_construction = \ 

182 self.parent.parent.year_of_construction 

183 else: 

184 pass 

185 else: 

186 

187 self.__parent = None