""" pv_system defines a pv system including all components: PV panels, transformer... SPDX - License - Identifier: LGPL - 3.0 - or -later Copyright © 2020 Project Author Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca """ class PvSystem: """ PvSystem class """ def __init__(self): self._modules_mean_seasonal_efficiency = None self._total_area = None self._module_area = None self._number_of_modules = None self._overall_system_performance_ratio = None self._electricity_generation = None @property def modules_mean_seasonal_efficiency(self): """ Get mean modules efficiency (-) :return: float """ return self._modules_mean_seasonal_efficiency @modules_mean_seasonal_efficiency.setter def modules_mean_seasonal_efficiency(self, value): """ Set mean modules efficiency (-) :param value: float """ self._modules_mean_seasonal_efficiency = value @property def total_area(self): """ Get total modules area (m2) :return: float """ return self._total_area @total_area.setter def total_area(self, value): """ Set total modules area (m2) :param value: float """ self._total_area = value @property def module_area(self): """ Get module area (m2) :return: float """ return self._module_area @module_area.setter def module_area(self, value): """ Set module area (m2) :param value: float """ self._module_area = value @property def number_of_modules(self): """ Get number of modules :return: int """ return self._number_of_modules @number_of_modules.setter def number_of_modules(self, value): """ Set number of modules :param value: int """ self._number_of_modules = value @property def overall_system_performance_ratio(self): """ Get overall system performance ratio (-) :return: float """ return self._overall_system_performance_ratio @overall_system_performance_ratio.setter def overall_system_performance_ratio(self, value): """ Set overall system performance ratio (-) :param value: float """ self._overall_system_performance_ratio = value @property def electricity_generation(self): """ Get electricity generation (J) :return: float """ return self._electricity_generation @electricity_generation.setter def electricity_generation(self, value): """ Set electricity generation (J) :param value: float """ self._electricity_generation = value