""" 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_capacity = None self._cooling_comp_power = None self._cooling_water_flow = None self._heating_capacity = None self._heating_comp_power = None self._heating_water_flow = 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_capacity(self) -> List[float]: """ Get cooling capacity in kW :return: [[float]] """ return self._cooling_capacity @cooling_capacity.setter def cooling_capacity(self, value): """ Set cooling capacity in kW :param value: [[float]] """ if self._cooling_capacity is None: self._cooling_capacity = value @property def cooling_comp_power(self) -> List[float]: """ Get cooling compressor power input in kW :return: [[float]] """ return self._cooling_comp_power @cooling_comp_power.setter def cooling_comp_power(self, value): """ Set the cooling compressor in kW :param value: [[float]] :return: """ if self._cooling_comp_power is None: self._cooling_comp_power = value @property def cooling_water_flow(self) -> List[float]: """ Get Water flow in m3/h :return: [[float]] """ return self._cooling_water_flow @cooling_water_flow.setter def cooling_water_flow(self, value): """ Set water flow in m3/h :param value: [[float]] :return: """ if self._cooling_water_flow is None: self._cooling_water_flow = value @property def heating_capacity(self) -> List[float]: """ Get heating capacity kW :return: [[float]] """ return self._heating_capacity @heating_capacity.setter def heating_capacity(self, value): """ Set the heating capacity in kW :param value: [[float]] :return: """ if self._heating_capacity is None: self._heating_capacity = value @property def heating_comp_power(self) -> List[float]: """ Get heating compressor power kW :return: [[float]] """ return self._heating_comp_power @heating_comp_power.setter def heating_comp_power(self, value): """ Set the heating compressor power in kW :param value: [[float]] :return: """ if self._heating_comp_power is None: self._heating_comp_power = value @property def heating_water_flow(self) -> List[float]: """ Get heating water flow in m3/h :return: [[float]] """ return self._heating_water_flow @heating_water_flow.setter def heating_water_flow(self, value): """ Set the heating water flow in m3/h :param value: [[float]] :return: """ if self._heating_water_flow is None: self._heating_water_flow = value