Coverage for teaser/logic/archetypebuildings/urbanrenet/est1b.py: 100%

6 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 

4from teaser.logic.archetypebuildings.urbanrenet.est1a \ 

5 import EST1a 

6 

7 

8class EST1b(EST1a): 

9 """Urban Fabric Type EST1b. 

10 

11 Subclass from EST1a for urban fabric type EST1b, with the addition of 

12 variable number of apartments as input parameter. 

13 

14 

15 Parameters 

16 ---------- 

17 parent: Project() 

18 The parent class of this object, the Project the Building belongs 

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

20 adds this Building instance to Project.buildings. 

21 Default is None 

22 name : str 

23 Individual name 

24 height_of_floors : float [m] 

25 Average height of the buildings' floors 

26 number_of_floors : int 

27 Number of building's floors above ground 

28 year_of_construction : int 

29 Year of first construction 

30 net_leased_area : float [m2] 

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

32 of a building 

33 with_ahu : Boolean 

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

35 assigned to attribute central_ahu. This instance holds information for 

36 central Air Handling units. Default is False. 

37 internal_gains_mode: int [1, 2, 3] 

38 mode for the internal gains calculation done in AixLib: 

39 

40 1. Temperature and activity degree dependent heat flux calculation for persons. The 

41 calculation is based on SIA 2024 (default) 

42 2. Temperature and activity degree independent heat flux calculation for persons, the max. 

43 heatflowrate is prescribed by the parameter 

44 fixed_heat_flow_rate_persons. 

45 3. Temperature and activity degree dependent calculation with 

46 consideration of moisture and co2. The moisture calculation is 

47 based on SIA 2024 (2015) and regards persons and non-persons, the co2 calculation is based on 

48 Engineering ToolBox (2004) and regards only persons. 

49 

50 neighbour_buildings : int 

51 Number of neighbour buildings. CAUTION: this will not change 

52 the orientation of the buildings wall, but just the overall 

53 exterior wall and window area(!) (default = 0) 

54 

55 0. no neighbour 

56 1. one neighbour 

57 2. two neighbours 

58 

59 construction_data : str 

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

61 heavy: heavy construction 

62 light: light construction 

63 number_of_apartments : int 

64 number of apartments inside Building (default = 1) 

65 inner_wall_approximation_approach : str 

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

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

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

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

70 - length of outer or interzonal walls 

71 'typical_minus_outer_extended' like 'typical_minus_outer', but also 

72 considers that 

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

74 proportional to the square root of the area 

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

76 soil) may have a vertical share 

77 """ 

78 

79 def __init__( 

80 self, 

81 parent, 

82 name=None, 

83 year_of_construction=None, 

84 number_of_floors=None, 

85 height_of_floors=None, 

86 net_leased_area=None, 

87 with_ahu=False, 

88 internal_gains_mode=1, 

89 neighbour_buildings=None, 

90 construction_data=None, 

91 number_of_apartments=None, 

92 inner_wall_approximation_approach='teaser_default' 

93 ): 

94 """Constructor of EST1b 

95 """ 

96 

97 super(EST1b, self).__init__( 

98 parent, 

99 name, 

100 year_of_construction, 

101 number_of_floors, 

102 height_of_floors, 

103 net_leased_area, 

104 with_ahu, 

105 internal_gains_mode, 

106 neighbour_buildings, 

107 construction_data, 

108 inner_wall_approximation_approach) 

109 

110 self.number_of_apartments = number_of_apartments 

111 self.est_factor_facade_to_volume = 0.87