TEASER icon indicating copy to clipboard operation
TEASER copied to clipboard

Assignment of outer areas working correctly?

Open marcusfuchs opened this issue 6 years ago • 4 comments

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!

marcusfuchs avatar Feb 06 '19 15:02 marcusfuchs

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.

PRemmen avatar Feb 06 '19 15:02 PRemmen

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}

marcusfuchs avatar Feb 06 '19 16:02 marcusfuchs

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.

PRemmen avatar Feb 07 '19 11:02 PRemmen

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.

marcusfuchs avatar Feb 07 '19 11:02 marcusfuchs