def test_type_bldg_institute_with_calc(self): ''' Verification of the type building generation of an office building. Values are compared with TEASER3 values. ''' from teaser.logic.archetypebuildings.bmvbs.custom.institute import \ Institute prj.set_default() test_institute = Institute(parent=prj, name="TestBuilding", year_of_construction=1988, number_of_floors=3, height_of_floors=3, net_leased_area=2500, office_layout=0, window_layout=0, construction_type="heavy") test_institute.generate_archetype() #general parameters assert len(test_institute.thermal_zones) == 7 #zone specific parameters for zone in test_institute.thermal_zones: if zone.name == "Meeting": assert zone.area == 100 if zone.name == "Storage": assert zone.area == 250 if zone.name == "Office": assert zone.area == 1000 if zone.name == "Restroom": assert zone.area == 100 if zone.name == "ICT": assert zone.area == 50 if zone.name == "Floor": assert zone.area == 625 if zone.name == "Laboratory": assert zone.area == 375 #facade specific parameters assert round(test_institute.get_outer_wall_area(-2), 0) == 958 assert round(test_institute.get_outer_wall_area(-1), 0) == 958 assert round(test_institute.get_outer_wall_area(0), 0) == 437 assert round(test_institute.get_outer_wall_area(180), 0) == 437 assert round(test_institute.get_outer_wall_area(90), 0) == 77 assert round(test_institute.get_outer_wall_area(270), 0) == 77 assert round(test_institute.get_window_area(0), 0) == 158 assert round(test_institute.get_window_area(180), 0) == 158 assert round(test_institute.get_window_area(90), 0) == 28 assert round(test_institute.get_window_area(270), 0) == 28
def type_bldg_institute( self, name, year_of_construction, number_of_floors, height_of_floors, net_leased_area, with_ahu=True, office_layout=None, window_layout=None, construction_type=None): """Old function, consider rewriting your code This is an old function for archetype generation, consider rewriting your code to use Project.add_non_residential(). This function will be eliminated within the next versions """ warnings.warn("You are using an old function for archetype " "generation, consider rewriting you code to use " "Project.add_non_residential(). This function will be " "eliminated within the next versions") type_bldg = Institute( self, name, year_of_construction, number_of_floors, height_of_floors, net_leased_area, with_ahu, office_layout, window_layout, construction_type) type_bldg.generate_archetype() type_bldg.calc_building_parameter( number_of_elements=self._number_of_elements_calc, merge_windows=self._merge_windows_calc, used_library=self._used_library_calc) return type_bldg
def type_bldg_institute(self, name, year_of_construction, number_of_floors, height_of_floors, net_leased_area, with_ahu=True, office_layout=None, window_layout=None, construction_type=None): '''Create and calculate an institute building Parameters ---------- name : str individual name year_of_construction : int year of first construction number_of_floors : int number of floors above ground height_of_floors : float average height of the floors net_leased_area : float total net leased area of building with_ahu : boolean if building has a central AHU or not office_layout : int type of floor plan (default = 0) 0: use default values 1: elongated 1 floor 2: elongated 2 floors 3: compact window_layout : int type of window layout (default = 0) 0: use default values 1: punctuated facade 2: banner facade 3: full glazing construction_type : str (default = "heavy") construction type heavy: heavy construction light: light construction Returns ---------- type_bldg : Instance of Institute() ''' type_bldg = Institute(self, name, year_of_construction, number_of_floors, height_of_floors, net_leased_area, with_ahu, office_layout, window_layout, construction_type) type_bldg.generate_archetype() type_bldg.calc_building_parameter( number_of_elements=self._number_of_elements_calc, merge_windows=self._merge_windows_calc, used_library=self._used_library_calc) return type_bldg