forked from s_ranjbar/city_retrofit
117 lines
2.7 KiB
Python
117 lines
2.7 KiB
Python
"""
|
|
Building module
|
|
SPDX - License - Identifier: LGPL - 3.0 - or -later
|
|
Copyright © 2020 Project Author Sanam Dabirian sanam.dabirian@mail.concordia.ca
|
|
"""
|
|
|
|
|
|
class Occupancy:
|
|
"""
|
|
Occupancy class
|
|
"""
|
|
|
|
def __init__(self, internal_heat_gain, heat_dissipation, occupant_rate, occupant_type, occupant_zone,
|
|
number_of_occupants, arrival_time, departure_time, break_time, day_of_week, pd_of_meetings_duration):
|
|
"""
|
|
Constructor
|
|
"""
|
|
|
|
self._internal_heat_gain = internal_heat_gain
|
|
self._heat_dissipation = heat_dissipation
|
|
self._occupant_rate = occupant_rate
|
|
self._occupant_type = occupant_type
|
|
self._occupant_zone = occupant_zone
|
|
self._number_of_occupants = number_of_occupants
|
|
self._arrival_time = arrival_time
|
|
self._departure_time = departure_time
|
|
self._break_time = break_time
|
|
self._day_of_week = day_of_week
|
|
self._pd_of_meetings_duration = pd_of_meetings_duration
|
|
|
|
@property
|
|
def internal_heat_gain(self):
|
|
"""
|
|
Get internal heat gain of occupants
|
|
:return: occupant heat gain
|
|
"""
|
|
return self._internal_heat_gain
|
|
|
|
@property
|
|
def heat_dissipation(self):
|
|
"""
|
|
Get heat dissipation of occupants
|
|
:return: heat dissipation
|
|
"""
|
|
return self._heat_dissipation
|
|
|
|
@property
|
|
def occupant_rate(self):
|
|
"""
|
|
Get rate of occupancy
|
|
:return: rate of occupancy
|
|
"""
|
|
return self._occupant_rate
|
|
|
|
@property
|
|
def occupant_type(self):
|
|
"""
|
|
Get type of occupancy
|
|
:return: type of occupancy
|
|
"""
|
|
return self._occupant_type
|
|
|
|
@property
|
|
def occupant_zone(self):
|
|
"""
|
|
Get the zone that occupant is in it
|
|
:return: occupant zone
|
|
"""
|
|
return self._occupant_zone
|
|
|
|
@property
|
|
def number_of_occupants(self):
|
|
"""
|
|
Get the number of occupants
|
|
:return: number of occupants
|
|
"""
|
|
return self._number_of_occupants
|
|
|
|
@property
|
|
def arrival_time(self):
|
|
"""
|
|
Get the arrival time of the occupant (for office building)
|
|
:return: arrival time
|
|
"""
|
|
return self._arrival_time
|
|
|
|
@property
|
|
def departure_time(self):
|
|
"""
|
|
Get the departure time of the occupant (for office building)
|
|
:return: departure time
|
|
"""
|
|
return self._departure_time
|
|
|
|
@property
|
|
def break_time(self):
|
|
"""
|
|
Get the lunch or break time of the occupant (for office building)
|
|
:return: break time
|
|
"""
|
|
return self._break_time
|
|
|
|
@property
|
|
def day_of_week (self):
|
|
"""
|
|
Get the day of the week
|
|
:return: day of the week
|
|
"""
|
|
return self._day_of_week
|
|
|
|
@property
|
|
def pd_of_meetings_duration(self):
|
|
"""
|
|
Get the probability distribution of the meeting duration
|
|
:return: probability distribution of the meeting duration
|
|
"""
|
|
return self._pd_of_meetings_duration |