hub/city_model_structure/energy_systems/heat_pump.py

148 lines
3.3 KiB
Python
Raw Normal View History

"""
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
2021-09-14 13:46:48 -04:00
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