distribution_system.py is modified

This commit is contained in:
Saeed Ranjbar 2023-08-13 22:53:43 -04:00
parent 6ce82c52de
commit acd7ad2266
2 changed files with 37 additions and 14 deletions

View File

@ -5,42 +5,46 @@ Copyright © 2023 Concordia CERC group
Project Coder Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca Project Coder Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca
""" """
from hub.catalog_factories.data_models.construction.material import Material
class DistributionSystem: class DistributionSystem:
""" """
Distribution system class Distribution system class
""" """
def __init__(self, system_id, name, system_type, supply_temperature, distribution_consumption_fix_flow, def __init__(self, model, manufacturer, system_type, supply_temperature, distribution_consumption_fix_flow,
distribution_consumption_variable_flow, heat_losses): distribution_consumption_variable_flow, heat_losses, nominal_heat_output, medium):
self._system_id = system_id self._model = model
self._name = name self._manufacturer = manufacturer
self._type = system_type self._type = system_type
self._supply_temperature = supply_temperature self._supply_temperature = supply_temperature
self._distribution_consumption_fix_flow = distribution_consumption_fix_flow self._distribution_consumption_fix_flow = distribution_consumption_fix_flow
self._distribution_consumption_variable_flow = distribution_consumption_variable_flow self._distribution_consumption_variable_flow = distribution_consumption_variable_flow
self._heat_losses = heat_losses self._heat_losses = heat_losses
self._nominal_heat_output = nominal_heat_output
self._medium = medium
@property @property
def id(self): def model(self):
""" """
Get system id Get system model
:return: float :return: string
""" """
return self._system_id return self._model
@property @property
def name(self): def manufacturer(self):
""" """
Get name Get name
:return: string :return: string
""" """
return self._name return self._manufacturer
@property @property
def type(self): def type(self):
""" """
Get type from [air, water, refrigerant] Get type from ['radiator', 'forced air convection', 'radiant floor heating']
:return: string :return: string
""" """
return self._type return self._type
@ -78,17 +82,35 @@ class DistributionSystem:
""" """
return self._heat_losses return self._heat_losses
@property
def nominal_heat_output(self):
"""
Get the nominal heat output of the heat distribution system in kW
:return: float
"""
return self._nominal_heat_output
@property
def medium(self) -> Material:
"""
Get the heat transfer medium characteristics
:return: Material
"""
return self._medium
def to_dictionary(self): def to_dictionary(self):
"""Class content to dictionary""" """Class content to dictionary"""
content = { content = {
'Layer': { 'Layer': {
'id': self.id, 'model': self.model,
'name': self.name, 'manufacturer': self.manufacturer,
'type': self.type, 'type': self.type,
'supply temperature [Celsius]': self.supply_temperature, 'supply temperature [Celsius]': self.supply_temperature,
'distribution consumption if fix flow over peak power [W/W]': self.distribution_consumption_fix_flow, 'distribution consumption if fix flow over peak power [W/W]': self.distribution_consumption_fix_flow,
'distribution consumption if variable flow over peak power [J/J]': self.distribution_consumption_variable_flow, 'distribution consumption if variable flow over peak power [J/J]': self.distribution_consumption_variable_flow,
'heat losses per energy produced [J/J]': self.heat_losses 'heat losses per energy produced [J/J]': self.heat_losses,
'nominal_heat_output': self.nominal_heat_output,
'heat transfer medium': self.medium
} }
} }
return content return content

View File

@ -9,6 +9,7 @@ from typing import Union
from hub.catalog_factories.data_models.energy_systems.generation_system import GenerationSystem from hub.catalog_factories.data_models.energy_systems.generation_system import GenerationSystem
from hub.catalog_factories.data_models.energy_systems.pv_generation_system import PvGenerationSystem from hub.catalog_factories.data_models.energy_systems.pv_generation_system import PvGenerationSystem
from hub.catalog_factories.data_models.energy_systems.energy_storage_system import EnergyStorageSystem
from hub.catalog_factories.data_models.energy_systems.distribution_system import DistributionSystem from hub.catalog_factories.data_models.energy_systems.distribution_system import DistributionSystem
from hub.catalog_factories.data_models.energy_systems.emission_system import EmissionSystem from hub.catalog_factories.data_models.energy_systems.emission_system import EmissionSystem