""" heat_pump module defines a heat pump SPDX - License - Identifier: LGPL - 3.0 - or -later Copyright © 2020 Project Author Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca Contributor Peter Yefi peteryefi@gmail.com """ from typing import List class HeatPump: """ HeatPump class """ def __init__(self): self._model = None self._cooling_pf = None self._cooling_pa = None self._cooling_qw = None self._heating_pf = None self._heating_pa = None self._heating_qw = None @property def model(self) -> str: """ Get model name :return: str """ return self._model @model.setter def model(self, value): """ Set model (name, indicated in capacity) :param value: str """ if self._model is None: self._model = value @property def cooling_pf(self) -> List[float]: """ Get cooling capacity in kW :return: [[float]] """ return self._cooling_pf @cooling_pf.setter def cooling_pf(self, value): """ Set cooling capacity in kW :param value: [[float]] """ if self._cooling_pf is None: self._cooling_pf = value @property def cooling_pa(self) -> List[float]: """ Get cooling compressor power input in kW :return: [[float]] """ return self._cooling_pa @cooling_pa.setter def cooling_pa(self, value): """ Set the cooling compressor in kW :param value: [[float]] :return: """ if self._cooling_pa is None: self._cooling_pa = value @property def cooling_qw(self) -> List[float]: """ Get Water flow in m3/h :return: [[float]] """ return self._cooling_qw @cooling_qw.setter def cooling_qw(self, value): """ Set water flow in m3/h :param value: [[float]] :return: """ if self._cooling_qw is None: self._cooling_qw = value @property def heating_pf(self) -> List[float]: """ Get heating capacity kW :return: [[float]] """ return self._heating_pf @heating_pf.setter def heating_pf(self, value): """ Set the heating capacity in kW :param value: [[float]] :return: """ if self._heating_pf is None: self._heating_pf = value @property def heating_pa(self) -> List[float]: """ Get heating compressor power kW :return: [[float]] """ return self._heating_pa @heating_pa.setter def heating_pa(self, value): """ Set the heating compressor power in kW :param value: [[float]] :return: """ if self._heating_pa is None: self._heating_pa = value @property def heating_qw(self) -> List[float]: """ Get heating water flow in m3/h :return: [[float]] """ return self._heating_qw @heating_qw.setter def heating_qw(self, value): """ Set the heating water flow in m3/h :param value: [[float]] :return: """ if self._heating_qw is None: self._heating_qw = value