Coverage for teaser/logic/archetypebuildings/bmvbs/custom/institute8.py: 100%

13 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.archetypebuildings.bmvbs.office import Office 

6 

7 

8class Institute8(Office): 

9 """Type Institute Building (type 8) 

10 

11 The institute type 8 module contains a multi zone building which is based 

12 on an 

13 office building with an additional laboratory zone. The zonal 

14 distribution is based on investigations of the Forschungszentrum Juelich 

15 :cite:`Lauster.2018`. According to the dataset from Juelich, 

16 the typebuilding institute type 8 is based on the buildingsclass of BWZK 

17 with 

18 the number 2280 

19 :cite:`Bauministerkonferenz.Dezember2010`. The estimation of exterior 

20 wall surfaces follows the approach for office buildings, but with adapted 

21 parameters :cite:`Lauster.2018`. This building type is by default 

22 equipped with an air handling unit. 

23 

24 In detail the net leased area is divided into the following thermal zone 

25 areas: 

26 

27 #. Office (4% of net leased area) 

28 #. Floor (6% of net leased area) 

29 #. Storage (30% of net leased area) 

30 #. Meeting (4% of net leased area) 

31 #. Restroom (4% of net leased area) 

32 #. ICT (2% of net leased area) 

33 #. Laboratory (50% of the net leased area) 

34 

35 Parameters 

36 ---------- 

37 

38 parent: Project() 

39 The parent class of this object, the Project the Building belongs to. 

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

41 adds this Building instance to Project.buildings. 

42 (default: None) 

43 name : str 

44 Individual name 

45 year_of_construction : int 

46 Year of first construction 

47 height_of_floors : float [m] 

48 Average height of the buildings' floors 

49 number_of_floors : int 

50 Number of building's floors above ground 

51 net_leased_area : float [m2] 

52 Total net leased area of building. This is area is NOT the footprint 

53 of a building 

54 with_ahu : Boolean 

55 If set to True, an empty instance of BuildingAHU is instantiated and 

56 assigned to attribute central_ahu. This instance holds information for 

57 central Air Handling units. Default is False. 

58 internal_gains_mode: int [1, 2, 3] 

59 mode for the internal gains calculation done in AixLib: 

60 

61 1. Temperature and activity degree dependent heat flux calculation. The 

62 calculation is based on SIA 2024 (default) 

63 2. Temperature and activity degree independent heat flux calculation, the max. 

64 heatflowrate is prescribed by the parameter 

65 fixed_heat_flow_rate_persons. 

66 3. Temperature and activity degree dependent calculation with 

67 consideration of moisture and co2. The moisture calculation is 

68 based on SIA 2024 (2015), the co2 calculation is based on 

69 Engineering ToolBox (2004) 

70 

71 office_layout : int 

72 Structure of the floor plan of office buildings, default is 1, 

73 which is representative for one elongated floor. 

74 

75 1. elongated 1 floor 

76 2. elongated 2 floors 

77 3. compact (e.g. for a square base building) 

78 

79 inner_wall_approximation_approach : str 

80 'teaser_default' (default) sets length of inner walls = typical 

81 length * height of floors + 2 * typical width * height of floors 

82 'typical_minus_outer' sets length of inner walls = 2 * typical 

83 length * height of floors + 2 * typical width * height of floors 

84 - length of outer or interzonal walls 

85 'typical_minus_outer_extended' like 'typical_minus_outer', but also 

86 considers that 

87 a) a non-complete "average room" reduces its circumference 

88 proportional to the square root of the area 

89 b) rooftops, windows and ground floors (= walls with border to 

90 soil) may have a vertical share 

91 

92 window_layout : int 

93 Structure of the window facade type, default is 1, which is 

94 representative for a punctuated facade. 

95 

96 1. punctuated facade (individual windows) 

97 2. banner facade (continuous windows) 

98 3. full glazing 

99 

100 construction_data : str 

101 Construction type of used wall constructions default is "heavy") 

102 

103 - heavy: heavy construction 

104 - light: light construction 

105 

106 Notes 

107 ----- 

108 The listed attributes are just the ones that are set by the user 

109 calculated values are not included in this list. Changing these values is 

110 expert mode. 

111 

112 Attributes 

113 ---------- 

114 

115 zone_area_factors : dict 

116 This dictionary contains the name of the zone (str), the 

117 zone area factor (float), the zone usage from BoundaryConditions json 

118 (str) (Default see doc string above), and may contain a dictionary with 

119 keyword-attribute-like changes to zone parameters that are usually 

120 inherited from parent: 'number_of_floors', 'height_of_floors' 

121 outer_wall_names : dict 

122 This dictionary contains a random name for the outer walls, 

123 their orientation and tilt. Default is a building in north-south 

124 orientation) 

125 roof_names : dict 

126 This dictionary contains the name of the roofs, their orientation 

127 and tilt. Default is one flat roof. 

128 ground_floor_names : dict 

129 This dictionary contains the name of the ground floors, their 

130 orientation and tilt. Default is one ground floor. 

131 window_names : dict 

132 This dictionary contains the name of the window, their 

133 orientation and tilt. Default is a building in north-south 

134 orientation) 

135 inner_wall_names : dict 

136 This dictionary contains the name of the inner walls, their 

137 orientation and tilt. Default is one cumulated inner wall. 

138 ceiling_names : dict 

139 This dictionary contains the name of the ceilings, their 

140 orientation and tilt. Default is one cumulated ceiling. 

141 floor_names : dict 

142 This dictionary contains the name of the floors, their 

143 orientation and tilt. Default is one cumulated floor. 

144 gross_factor : float 

145 gross factor used to correct the rooftop and floor area (default is 

146 1.15) 

147 est_factor_wall_area : float 

148 estimation factor to calculate outer wall area 

149 est_exponent_wall : float 

150 estimation factor exponent to calculate outer wall area 

151 est_factor_win_area : float 

152 estimation factor to calculate window area 

153 est_exponent_win : float 

154 estimation factor exponent to calculate window area 

155 

156 """ 

157 

158 def __init__(self, 

159 parent, 

160 name=None, 

161 year_of_construction=None, 

162 number_of_floors=None, 

163 height_of_floors=None, 

164 net_leased_area=None, 

165 with_ahu=True, 

166 internal_gains_mode=1, 

167 office_layout=None, 

168 inner_wall_approximation_approach='teaser_default', 

169 window_layout=None, 

170 construction_data=None): 

171 """Constructor of Institute8 

172 

173 Adds an additional zone "Laboratory" 

174 

175 """ 

176 

177 super(Institute8, self).__init__(parent, 

178 name, 

179 year_of_construction, 

180 number_of_floors, 

181 height_of_floors, 

182 net_leased_area, 

183 with_ahu, 

184 internal_gains_mode, 

185 office_layout, 

186 inner_wall_approximation_approach, 

187 window_layout, 

188 construction_data) 

189 

190 self.zone_area_factors["Office"] = \ 

191 [0.04, "Group Office (between 2 and 6 employees)"] 

192 self.zone_area_factors["Floor"] = \ 

193 [0.06, "Traffic area"] 

194 self.zone_area_factors["Laboratory"] = \ 

195 [0.5, "Laboratory"] 

196 self.zone_area_factors["Storage"] = \ 

197 [0.3, "Stock, technical equipment, archives"] 

198 self.zone_area_factors["Meeting"] = \ 

199 [0.04, "Meeting, Conference, seminar"] 

200 self.zone_area_factors["Restroom"] = \ 

201 [0.04, "WC and sanitary rooms in non-residential buildings"] 

202 self.zone_area_factors["ICT"] = \ 

203 [0.02, "Data center"] 

204 self.est_exponent_wall = 0.6177 

205 self.est_factor_wall_area = 13.895