buildingphysics

BuildingElement

BuildingElement

This module contains the Base class for all building elements.

class teaser.logic.buildingobjects.buildingphysics.buildingelement.BuildingElement(parent=None)

Bases: object

Building element class.

This is the base class for all building elements.

Parameters:

parent : ThermalZone()

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

Raises:

None

Attributes

internal_id (float) Random id for the destinction between different elements
name (str) Individual name
construction_type (str) Type of construction (“heavy” or “light”)
year_of_refurbishment (int) Year of refurbishment
year_of_construction (int) Year of first construction
area (float) Area of building element
tilt (float) Tilt against horizontal
orientation (float) Compass direction of building element (0 : north, 90: est, 180: south, 270: west)
inner_convection (float) Constant heat transfer coefficient of convection inner side
inner_radiation (float) Constant heat transfer coefficient of radiation inner side
outer_convection (float) Constant heat transfer coefficient of convection outer side for inner walls and ground floor zero
outer_radiation (float) Constant heat transfer coefficient of radiation outer side for inner walls and ground floor zero
layer (list) List of all layers of a building element (to be filled with Layer objects). Use element.layer = None to delete all layers of the building element

Methods

add_layer(layer, position=None)

Adds a layer at a certain position

This function adds a Layer instance to the layer list at a given position

Parameters:

position : int

position in the wall starting from 0 (inner side)

add_layer_list(layer_list)

Appends a layer set to the layer list

Parameters:

layer_list : [Layer instance]

list of sorted layer instances

calc_ua_value()

U*A value for building element.

Calculates the U*A value and thermal resistances of a building element.

delete_type_element(data_class=None)

Deletes typical element.

Deletes typical building elements according to their construction year and their construction type in the the XML file for type buidling elements. If the Project parent is set, it automatically saves it to the file given in Project.data. Alternatively you can specify a path to a file of TypeBuildingElements. If this file does not exist, a new file is created.

Parameters:

data_class : DataClass()

DataClass containing the bindings for TypeBuildingElement and Material (typically this is the data class stored in prj.data, but the user can individually change that. Default is self.parent.parent.parent.data (which is data_class in current project)

gather_element_properties()

Helper function for matrix calculation.

Gathers all material properties of the building element and returns them as a np.array. Needed for the calculation of the matrix in equivalent_res(t_bt) especially for walls.

Returns:

np.number_of_layer

np.density

np.thermal_conduc

np.heat_capac

np.thickness

load_type_element(year, construction, data_class=None)

Typical element loader.

Loads typical building elements according to their construction year and their construction type from a XML.

This function will only work if the parents to Building are set.

Parameters:

year : int

Year of construction

construction : str

Construction type, code list (‘heavy’, ‘light’)

data_class : DataClass()

DataClass containing the bindings for TypeBuildingElement and Material (typically this is the data class stored in prj.data, but the user can individually change that. Default is self.parent.parent.parent.data (which is data_class in current project)

Raises:

Assert if parents to Building are not set

save_type_element(data_class=None)

Typical element saver.

Saves typical building elements according to their construction year and their construction type in the the XML file for type buidling elements. If the Project parent is set, it automatically saves it to the file given in Project.data. Alternatively you can specify a path to a file of TypeBuildingElements. If this file does not exist, a new file is created.

Parameters:

data_class : DataClass()

DataClass containing the bindings for TypeBuildingElement and Material (typically this is the data class stored in prj.data, but the user can individually change that. Default is self.parent.parent.parent.data (which is data_class in current project)

set_calc_default()

Sets all calculated values of the Building Element to zero

Ceiling

class teaser.logic.buildingobjects.buildingphysics.ceiling.Ceiling(InnerWall)

Bases: teaser.logic.buildingobjects.buildingphysics.innerwall.InnerWall

This class represents a ceiling and is a child of InnerWall()

Attributes

Methods

Floor

class teaser.logic.buildingobjects.buildingphysics.floor.Floor(parent=None)

Bases: teaser.logic.buildingobjects.buildingphysics.innerwall.InnerWall

This class represents a floor and is a child of InnerWall()

Attributes

Methods

GroundFloor

class teaser.logic.buildingobjects.buildingphysics.groundfloor.GroundFloor(parent=None)

Bases: teaser.logic.buildingobjects.buildingphysics.outerwall.OuterWall

This class represents a GroundFloor and is a child of OuterWall()

Attributes

Methods

InnerWall

class teaser.logic.buildingobjects.buildingphysics.innerwall.InnerWall(parent=None)

Bases: teaser.logic.buildingobjects.buildingphysics.wall.Wall

This class represents an inner wall and is a child of Wall()

Attributes

Methods

Layer

class teaser.logic.buildingobjects.buildingphysics.layer.Layer(parent=None, id=0)

Bases: object

This class represents a layer of a wall.

Parameters:

parent : BuildingElement

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

Attributes

id (int) Position (starting from 1 and the inner side)
material (Material()) Material class of TEASER
thickness (float) Thickness of the layer

Material

class teaser.logic.buildingobjects.buildingphysics.material.Material(parent=None)

Bases: object

This class represents a Material.

Parameters:

parent : Layer

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

Attributes

name (str) Individual name
density (float) Density of material in kg/m^3
thermal_conduc (float) Thermal conductivity of material in W/(m*K)
heat_capac (float) Specific heat capacity of material in kJ/(kg*K)
solar_absorp (float) Coefficient of absorption of solar short wave
ir_emissivity (float) Coefficient of longwave emissivity of material
transmittance (float) Coefficient of transmittanve of material
material_id (str(uuid)) UUID of material, this is used to have similar behaviour like foreign key in SQL data bases for use in TypeBuildingElements and Material xml

Methods

load_material_template(mat_name, data_class=None)

Material loader.

Loads Material specified in the XML.

Parameters:

mat_name : str

Code list for Material

data_class : DataClass()

DataClass containing the bindings for TypeBuildingElement and Material (typically this is the data class stored in prj.data, but the user can individually change that. Default is self.parent.parent.parent.parent.data which is data in project

save_material_template(data_class)

Material saver.

Saves Material specified in the XML.

Parameters:

data_class : DataClass()

DataClass containing the bindings for TypeBuildingElement and Material (typically this is the data class stored in prj.data, but the user can individually change that. Default is self.parent.parent.parent.parent.data which is data in project

OuterWall

class teaser.logic.buildingobjects.buildingphysics.outerwall.OuterWall(parent=None)

Bases: teaser.logic.buildingobjects.buildingphysics.wall.Wall

This class represents an outer wall and is a child of Wall()

Attributes

Methods

Rooftop

class teaser.logic.buildingobjects.buildingphysics.rooftop.Rooftop(parent=None)

Bases: teaser.logic.buildingobjects.buildingphysics.outerwall.OuterWall

This class represents a roof top and is a child of OuterWall()

Attributes

Methods

Wall

class teaser.logic.buildingobjects.buildingphysics.wall.Wall(parent=None)

Bases: teaser.logic.buildingobjects.buildingphysics.buildingelement.BuildingElement

This class represents a wall and is a child of BuildingElement().

Attributes

Methods

calc_equivalent_res(t_bt=7)

Equivalent resistance VDI 6007.

Calculates the equivalent resistance of a wall according to VDI 6007 guideline.

Parameters:

t_bt : int

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

insulate_wall(material=None, thickness=None)

Retrofit the walls with an additional insulation layer

Adds an additional layer on the wall, outer sight

Parameters:

material : string

Type of material, that is used for insulation, default = EPS035

thickness : float

thickness of the insulation layer, default = None

retrofit_wall(year_of_retrofit, material=None)

This function adds an additional layer of insulation and sets the thickness of the layer according to the retrofit standard in the year of refurbishment. Refurbishment year must be newer then 1995

Note: To Calculate thickness and U-Value, the standard TEASER coefficients for outer and inner heat transfer are used.

Parameters:

material : string

Type of material, that is used for insulation

year_of_refurbishment : int

Year of the retrofit of the wall/building

Window

class teaser.logic.buildingobjects.buildingphysics.window.Window(parent=None)

Bases: teaser.logic.buildingobjects.buildingphysics.buildingelement.BuildingElement

This class represents a window and is a child of BuildingElement().

Attributes

g_value (float) g Value of the window
a_conv (float) convective coefficient of inner side of wall according to VDI 6007
shading_g_total (float) shaded g value of the window
shading_max_irr (float) threshold for automatic shading

Methods

calc_equivalent_res()

Equivalent resistance VDI 6007

Calculates the equivalent resistance of a wall according to VDI 6007 guideline.

Parameters:

t_bt : int

time constant according to VDI 6007 (default t_bt = 7)

replace_window(year_of_refurbishment, window_type=None)

Replace a window, with a newer one.

Replaces all attributes from the window and replaces it with a high insultaed one.

Parameters:

year_of_refurbishment: int

The year, the building was refurbished

construction: str

Default: EnEv 2014