TEASER
TEASER copied to clipboard
Assignment of outer areas working correctly?
First of all sorry for raising a few doubts here and in #561 ! Unfortunately, my knowledge of TEASER is not enough to clarify this myself, so I wanted to ask for verification on the assignment of outer areas.
To understand the assignment of outer areas, I created two buildings:
bldg = prj.add_non_residential(
method="bmvbs",
usage="office",
name=f"ReferenceOL1",
year_of_construction=year,
number_of_floors=2,
height_of_floors=3.5,
net_leased_area=1000.0,
window_layout=2,
office_layout=1,
)
bldg = prj.add_non_residential(
method="bmvbs",
usage="office",
name=f"ReferenceOL3",
year_of_construction=year,
number_of_floors=2,
height_of_floors=3.5,
net_leased_area=1000.0,
window_layout=2,
office_layout=3,
)
The building ReferenceOL1
sets office_layout = 1
, which is documented as an elongated floor. In contrast, the building ReferenceOL3
has office_layout = 3
, which should represent a square building footprint.
From the following code in the office archetype, I would conclude that the length
of a building defines the lengths of its southern and northern walls, while the width
represents the lengths of its eastern and western walls.
for key, value in self.outer_wall_names.items():
# North and South
if value[1] == 0 or value[1] == 180:
self.outer_area[value[1]] = self._est_outer_wall_area * \
(self._est_length / (
2 * self._est_width + 2 *
self._est_length))
# East and West
elif value[1] == 90 or value[1] == 270:
self.outer_area[value[1]] = self._est_outer_wall_area * \
(self._est_width / (
2 * self._est_width + 2 *
self._est_length))
When I look into the values, I think these assumptions are confirmed:
-
ReferenceOL1
:- width: 13 m
- lengths: 44 m
-
ReferenceOL3
:- width: 24 m
- lengths: 24 m
Also, for the elongated building ReferenceOL1
, in the values that get assigned to self.outer_area[value[1]]
, I see larger area values for the if-clauses' "north-south" part (112) than in the else-branch documented as "east-west" (33).
From this I would conclude, that the building ReferenceOL1
with larger length
compared to width
has more windows exposed to the south side than the square building ReferenceOL3
. Therefore, I would expect larger cooling loads in ReferenceOL1
. Yet, when simulating both buildings, I get the following values:
Heat demand of ReferenceOL1.mat: 26.723889711387972 MWh
Cooling demand of ReferenceOL1.mat: 28.262188 MWh
Heat demand of ReferenceOL3.mat: 30.329624587889192 MWh
Cooling demand of ReferenceOL3.mat: 29.831456 MWh
Thanks in advance for any help in figuring out whether the problem is in my understanding of the code or the code itself!
have you checke the parameter
window_area : dict [degree: m2]
Dictionary with orientation as key and sum of window areas of
that direction as value.
For the ReferenceOL1.mat
, I get:
window_area = {0: 111.91894037944184, 90: 32.89443638978377, 180: 111.91894037944184, 270: 32.89443638978377}
For the ReferenceOL3.mat
, it is:
window_area = {0: 72.4066883846128, 90: 72.4066883846128, 180: 72.4066883846128, 270: 72.4066883846128}
This parameter indicates, that the calculation of TEASER seems to be correct.
Really hard to say if this is a model error or if e.g. the smaller window size on east and west and larger size on north level the expected effects.
From what I see now I would think this is no error in TEASER, but if I have some time I'll look into it.
I agree, so far I have the same impression that the TEASER output looks OK. I think it should be possible to verify the solar gains from each orientation in the simulation results to understand the effects better. When I find the time, I'll also have a look at that.