buildingobjects

The most important objects are building and thermalzone

building

This module includes the Buidling class

class teaser.logic.buildingobjects.building.Building(parent=None, name=None, year_of_construction=None, net_leased_area=None, with_ahu=False)

Bases: object

Building Class

This class represents a general building

Parameters:

parent: Project()

The parent class of this object, the Project the Building belongs to. Allows for better control of hierarchical structures. (default: None)

name : str

individual name (default: None)

year_of_construction : int

year of first construction (default: None)

number_of_floors : int

number of floors above ground (default: None)

height_of_floors : float

average height of the floors (default: None)

net_leased_area = float

total net leased area of building (default: None)

with_ahu : Boolean

If set to True, an empty instance of BuildingAHU is instantiated, to be filled with AHU information

Note: the listed attributes are just the ones that are set by the user

calculated values are not included in this list

Attributes

internal_id (float) random id for the destinction between different buildings
year_of_retrofit (int) year of last retrofit
type_of_building (string) Type of a Building (e.g. Building (unspecified), Office etc.)
building_id (None) ID of building, can be set by the user to keep track of a building even outside of TEASER, e.g. in a simulation or in post-processing
street_name (string) name of the street the building is located at
city (string) name of the city the building is located at
thermal_zones (list) list of all containing thermal zones (ThermalZone())
gml_surfaces (list) list of all containing surfaces described by CityGML, the list should be filled with SurfaceGML class from Data.Input.citygml_input
outer_area (dict) dict with outer wall area and orientation
window_area (dict) dict with window area and orientation
file_ahu (string) path of AHU Matlab file for boundary condition
file_internal_gains (string) path of internal gains Matlab file for boundary condition
file_set_t (string) path of temperature Matlab file for boundary condition

Methods

add_zone(thermal_zone)

Adds a thermal zone to the corresponding list

This function adds a ThermalZone instance to the the thermal_zones list

Parameters:

thermal_zone : ThermalZone()

ThermalZone() instance of TEASER

calc_building_parameter(number_of_elements=2, merge_windows=False, used_library='AixLib')

calc all building parameters

This functions calculates the parameters of all zones in a building sums norm heat load of all zones sums volume of all zones

Parameters:

number_of_elements : int

defines the number of elements, that area aggregated, between 1 and 4, default is 2

merge_windows : bool

True for merging the windows into the outer walls, False for separate resistance for window, default is False

used_library : str

used library (AixLib and Annex60 are supported)

fill_outer_area_dict()

fill the outer area dict

fills self.outer_area with the sum of outer wall area corresponding to the orientations of the building

fill_window_area_dict()

fill the window area dict

fills self.window_area with all the sum of window area corresponding to the orientations of the building

get_footprint_gml()

gets the footprint surface of a building from CityGML data

with given gml surfaces, this function computes and returns the footprint area of a building from LoD 0 to LoD2 from CityGML data. This is done by either analysing the ground floor or the flat roof.

Returns:

surface area : float

footprint area of a gml building

get_inner_wall_area()

get all inner wall area

returns the area of all inner walls

Returns:

sum_area : float

area of all inner walls

get_outer_wall_area(orientation)

Get aggregated outer wall area of one orientation

returns the area of all outer walls of one direction

Parameters:

orientation : float

orientation of the obtained wall

Returns:

sum_area : float

area of all walls of one direction

get_window_area(orientation)

Get aggregated window area of one orientation

returns the area of all windows of one direction

Parameters:

orientation : float

orientation of the obtained windows

Returns:

sum_area : float

area of all windows of one direction

retrofit_building(year_of_retrofit=None, window_type=None, material=None)

Retrofits all zones in the building

Function call for each zone.

After retrofit, all parameters are calculated directly.

Parameters:

window_type : str

Default: EnEv 2014

material : str

Default: EPS035

rotate_building(angle)

rotates the building to a given angle

Parameters:

angle: float

rotation of the building clockwise, between 0 and 360 degrees

set_gml_attributes(height_of_floor=3.5)

sets building attributes from CityGML data

computes the net_leased_area depending on the footprint area, the number and the height of floors. If the number of floors is specified before it will use this value, if not it will compute the number of floors based on the gml building height and the average height of the floors. If the number of floors is zero it’ll be set to one. If the net leased area is below 50.0 sqm it’ll be set to 50.0.

Parameters:

height_of_floor : float

average height of each floor of the building, the default value is 3.5 and is absolutely random.

set_height_gml()

calculates the height of a building from CityGML data

with given gml surfaces, this function computes the height of a building of LoD 1 and LoD 2 buildings from CityGML data. All z-coordinates are evaluated and the minimum z-value is subtracted by the maximal value.

set_outer_wall_area(new_area, orientation)

Outer area wall setter

sets the outer wall area of all walls of one direction and weights them according to zone size

Parameters:

new_area : float

new_area of all outer walls of one orientation

orientation : float

orientation of the obtained walls

set_specific_wall_area(spec_zone, spec_wall, new_area)

set one specific wall area

sets the area of a specific wall in a specific zone and weights the rest of the walls according to their zone size

Parameters:

spec_zone : ThermalZone()

pointer to the corresponding zone

spec_wall : OuterWall()

pointer to the corresponding wall

new_area : float

new area of specific wall

set_window_area(new_area, orientation)

Window area setter

sets the window area of all windows of one direction and weights them according to zone size

Parameters:

new_area : float

new_area of all window of one orientation

orientation : float

orientation of the obtained windows

thermalzone

class teaser.logic.buildingobjects.thermalzone.ThermalZone(parent=None)

Bases: object

This class represents a Thermal Zone in a building

Parameters:

parent: Building()

The parent class of this object, the Building the zone belongs to. Allows for better control of hierarchical structures. Default is None

Attributes

internal_id (float) Random id for the destinction between different zones
name (str) Individual name
area (float) Area of zone im m^2
volume (float) Volume of zone in m^3
infiltration_rate (float) Infiltration rate of zone in 1/h
outer_walls (list) List with all outer walls including ground floor and rooftop
rooftops (list) List with rooftops if number of elements is 4
grounfdloors (list) List with grounfdloors if number of elements is >2
outerwalls_help (list) List with outer walls and rooftops if number of elements is >2 List with outer walls only if number of elements is 4
windows (list) List with windows
use_conditions (instance of UseConditions()) Class of UseConditions with all relevant information for the usage of the thermal zone
inner_walls (list) List with all inner walls including floor and ceiling
typical_length (list) normative typical length of the thermal zone
typical_width (list) normative typical width of the thermal zone
t_inside (float) normative indoor temperature for static heat load calculation. The input of t_inside is ALWAYS in Kelvin
t_outside (float) normative outdoor temperature for static heat load calculation. The input of t_inside is ALWAYS in Kelvin
t_ground (float) slab temperature directly at the outer side of ground floors. The input of t_ground is ALWAYS in Kelvin
consider_heat_capacity (bool) decides whether air capacity is considered or not within the simulation
density_air (float) average density of the air in the thermal zone
heat_capac_air (float) average heat capacity of the air in the thermal zone

Methods

add_element(building_element)

Adds a building element to the corresponding list

This function adds a BuildingElement instance to the the list depending on the type of the Building Element

Parameters:

building_element : BuildingElement()

inherited objects of BuildingElement() instance of TEASER

calc_chain_matrix(element_list, omega)

Matrix calculation.

This is a helper function for def parallel_connection() to keep the code clean.

Parameters:

wall_count : list

List of inner or outer walls

omega : float

VDI 6007 frequency

Returns:

r1 : float

VDI 6007 resistance for inner or outer walls

c1 : float

VDI 6007 capacity for inner or outer walls

calc_four_element(merge_windows, t_bt)

calcs lumped parameter for two element model

calc_heat_load(number_of_elements=2)

Norm heat load calculation.

Calculates the norm heat load of the thermal zone.

calc_three_element(merge_windows, t_bt)

calcs lumped parameter for three element model

calc_two_element(merge_windows, t_bt)

calcs lumped parameter for two element model

Parameters:

merge_windows : bool

True for merging the windows into the outer walls, False for separate resistance for window, default is False

calc_wf_four_element(merge_windows)

Calculation of weightfactors.

Calculates the weightfactors of the outer walls, rooftops and ground with possibility to merge windows into outer walls

Parameters:

merge_windows : bool

True for merging the windows into the outer walls, False for separate resistance for window, default is False

calc_wf_three_element(merge_windows)

Calculation of weightfactors.

Calculates the weightfactors of the outer walls (with rooftops) and ground with possibility to merge windows into outer walls

Parameters:

merge_windows : bool

True for merging the windows into the outer walls, False for separate resistance for window, default is False

calc_wf_two_element(merge_windows)

Calculation of weightfactors.

Calculates the weightfactors of the outer walls, including ground and windows.

Parameters:

merge_windows : bool

True for merging the windows into the outer walls, False for separate resistance for window, default is False

calc_zone_parameters(number_of_elements=2, merge_windows=False, t_bt=5)

RC-Calculation for the thermal zone

This functions calculates and sets all necessary parameters for the zone. The method distinguishes between the number of elements, we distinguish between:

  • one element: all walls are aggregated into one element
  • two elements: exterior and interior walls are aggregated
  • three elements: like 2, but floor are aggregated separately
  • four elements: like 3 bit roofs are aggregated separately

For all four options we can chose if the thermal conduction through the window is considered in a separate resistance or not.

Parameters:

number_of_elements : int

defines the number of elements, that area aggregated, between 1 and 4, default is 2

merge_windows : bool

True for merging the windows into the outer walls, False for separate resistance for window, default is False

t_bt : int

Time constant according to VDI 6007 (default t_bt = 5)

delete()

Deletes the actual thermal zone and refreshs the thermal zones of the building

find_rts(orientation, tilt)

this function returns a list of all wall elemnts with the same orientation and tilt to sum them in the building

find_walls(orientation, tilt)

this function returns a list of all wall elemnts with the same orientation and tilt to sum them in the building

find_wins(orientation, tilt)

this function returns a list of all window elemnts with the same orientation and tilt to sum them in the building

retrofit_zone(window_type=None, material=None)

Retrofits all walls and windows in the zone.

set_calc_default()

sets default calculation parameters

set_inner_wall_area()

Sets the inner wall area.

Sets the inner wall area according to zone area size if type building approach is used.

set_volume_zone()

Sets the zone volume.

Sets the volume of a zone according area and height of floors (building attribute).

sum_building_elements()

sums values of several building elements to zone based parameters

Sums UA-Values, R-Values and area. Calculates the weighted coefficient of heat transfer for outer walls, inner walls, groundfloors, roofs and windows

useconditions

Created June 2015

@author: TEASER 4 Development Team

class teaser.logic.buildingobjects.useconditions.UseConditions(parent=None)

Bases: object

Base class for all Use Conditions inside a thermal zone.

All Use Conditions (boundary conditions assigned to user behavior and schedules should be inherited from this class)

Parameters:

parent: ThermalZone()

The parent class of this object, the zone the use conditions belong to. Allows for better control of hierarchical structures. Default is None

Attributes

internal_id (float) random id for the distinction between different use conditions