diff --git a/hub/catalog_factories/data_models/energy_systems/distribution_system.py b/hub/catalog_factories/data_models/energy_systems/distribution_system.py index e24ba64c..8c1146fd 100644 --- a/hub/catalog_factories/data_models/energy_systems/distribution_system.py +++ b/hub/catalog_factories/data_models/energy_systems/distribution_system.py @@ -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 diff --git a/hub/catalog_factories/data_models/energy_systems/system.py b/hub/catalog_factories/data_models/energy_systems/system.py index f8b47905..5dc59ddb 100644 --- a/hub/catalog_factories/data_models/energy_systems/system.py +++ b/hub/catalog_factories/data_models/energy_systems/system.py @@ -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