final_energy_system_model #60
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user