""" 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 = None self._departure_time = departure_time = None self._break_time = break_time = None self._day_of_week = day_of_week = None self._pd_of_meetings_duration = pd_of_meetings_duration = None @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