hub/city_model_structure/energy_systems/heat_pump.py

148 lines
3.2 KiB
Python

"""
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