final_energy_system_model #60

Merged
g_gutierrez merged 113 commits from final_energy_system_model into main 2024-03-14 09:13:21 -04:00
2 changed files with 37 additions and 14 deletions
Showing only changes of commit acd7ad2266 - Show all commits

View File

@ -5,42 +5,46 @@ Copyright © 2023 Concordia CERC group
Project Coder Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca
"""
from hub.catalog_factories.data_models.construction.material import Material
class DistributionSystem:
"""
Distribution system class
"""
def __init__(self, system_id, name, system_type, supply_temperature, distribution_consumption_fix_flow,
distribution_consumption_variable_flow, heat_losses):
self._system_id = system_id
self._name = name
def __init__(self, model, manufacturer, system_type, supply_temperature, distribution_consumption_fix_flow,
distribution_consumption_variable_flow, heat_losses, nominal_heat_output, medium):
self._model = model
self._manufacturer = manufacturer
self._type = system_type
self._supply_temperature = supply_temperature
self._distribution_consumption_fix_flow = distribution_consumption_fix_flow
self._distribution_consumption_variable_flow = distribution_consumption_variable_flow
self._heat_losses = heat_losses
self._nominal_heat_output = nominal_heat_output
self._medium = medium
@property
def id(self):
def model(self):
"""
Get system id
:return: float
Get system model
:return: string
"""
return self._system_id
return self._model
@property
def name(self):
def manufacturer(self):
"""
Get name
:return: string
"""
return self._name
return self._manufacturer
@property
def type(self):
"""
Get type from [air, water, refrigerant]
Get type from ['radiator', 'forced air convection', 'radiant floor heating']
:return: string
"""
return self._type
@ -78,17 +82,35 @@ class DistributionSystem:
"""
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):
"""Class content to dictionary"""
content = {
'Layer': {
'id': self.id,
'name': self.name,
'model': self.model,
'manufacturer': self.manufacturer,
'type': self.type,
'supply temperature [Celsius]': self.supply_temperature,
'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,
'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

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.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.emission_system import EmissionSystem