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
« 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
5from teaser.logic.archetypebuildings.bmvbs.office import Office
8class Institute8(Office):
9 """Type Institute Building (type 8)
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.
24 In detail the net leased area is divided into the following thermal zone
25 areas:
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)
35 Parameters
36 ----------
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:
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)
71 office_layout : int
72 Structure of the floor plan of office buildings, default is 1,
73 which is representative for one elongated floor.
75 1. elongated 1 floor
76 2. elongated 2 floors
77 3. compact (e.g. for a square base building)
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
92 window_layout : int
93 Structure of the window facade type, default is 1, which is
94 representative for a punctuated facade.
96 1. punctuated facade (individual windows)
97 2. banner facade (continuous windows)
98 3. full glazing
100 construction_data : str
101 Construction type of used wall constructions default is "heavy")
103 - heavy: heavy construction
104 - light: light construction
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.
112 Attributes
113 ----------
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
156 """
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
173 Adds an additional zone "Laboratory"
175 """
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)
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