Example 1: Generate archetype buildings using TEASER API

This module contains an example how to generate archetype buildings using TEASER API functions. You can run this example using the jupyter-notebook

First step: Import the TEASER API (called Project) into your Python module

from teaser.project import Project

To use the API, instantiate the Project class and rename the project. Be careful: Dymola does not like whitespaces in names and filenames, thus we will delete them anyway in TEASER.

prj = Project()
prj.name = "ArchetypeExample"

There are two different types of archetype groups: residential and non-residential buildings. Two API functions offer the opportunity to generate specific archetypes.

To generate residential archetype buildings the function Project.add_residential() is used. Seven parameters are compulsory, additional parameters can be set according to the used method. construction_data and geometry_data are used to distinguish between different construction and archetype methods. The name, year_of_construction, number and height of floors and net_leased_area need to be set to provide enough information for archetype generation. For specific information on the parameters please read the docs.

prj.add_residential(
    construction_data='iwu_heavy',
    geometry_data='iwu_single_family_dwelling',
    name="ResidentialBuilding",
    year_of_construction=1988,
    number_of_floors=2,
    height_of_floors=3.2,
    net_leased_area=200.0)

To generate non-residential archetype buildings (in this case an office and a laboratory (a.k.a. institute)) the function Project.add_residential() is used. The meaning of compulsory parameters does not differ from the residential archetype building.

prj.add_non_residential(
    construction_data='iwu_heavy',
    geometry_data='bmvbs_office',
    name="OfficeBuilding",
    year_of_construction=1988,
    number_of_floors=4,
    height_of_floors=3.5,
    net_leased_area=4500.0)

prj.add_non_residential(
    construction_data='iwu_heavy',
    geometry_data='bmvbs_institute',
    name="InstituteBuilding",
    year_of_construction=1952,
    number_of_floors=5,
    height_of_floors=4.0,
    net_leased_area=3400.0)

prj.add_non_residential(
    construction_data='iwu_heavy',
    geometry_data='bmvbs_institute',
    name="InstituteBuildingMoisture",
    year_of_construction=1980,
    number_of_floors=3,
    height_of_floors=4.2,
    net_leased_area=3600.0,
    internal_gains_mode=3)

Besides iwu and bmvbs there is a third option for archetype generation. We integrated the typology of TABULA Germany (http://webtool.building-typology.eu/#bm) and other countries are about to follow. To use TABULA archetype simple choose the default tabula_de_standard as the construction_data and tabula_de_single_family_house, tabula_de_multi_family_house, tabula_de_terraced_house or tabula_de_apartment_block as the geometry_data. In addition you can specify the construction type of TABULA, chose between tabula_de_standard (default), tabula_de_retrofit or tabula_de_adv_retrofit. In this case we generate one single and one multi family house with TABULA typology.

Please not: as we need to load the construction information which are rather big for TABULA, switching from one typology to another in the same Project takes some seconds. If you know from beginning you will only use TABULA typology you should instantiate you Project class without loading data. Project(load_data=False).

prj.add_residential(
    construction_data='tabula_de_standard',
    geometry_data='tabula_de_single_family_house',
    name="ResidentialBuildingTabula",
    year_of_construction=1988,
    number_of_floors=3,
    height_of_floors=3.2,
    net_leased_area=280.0)

prj.add_residential(
    construction_data='tabula_de_retrofit',
    geometry_data='tabula_de_multi_family_house',
    name="ResidentialBuildingTabulaMulti",
    year_of_construction=1960,
    number_of_floors=4,
    height_of_floors=3.2,
    net_leased_area=600.0)