upgraded catalogs with to_dictionary method and __str__
This commit is contained in:
parent
c69f071958
commit
639e5a952d
|
@ -132,3 +132,24 @@ class Archetype:
|
|||
:return: float
|
||||
"""
|
||||
return self._infiltration_rate_for_ventilation_system_on
|
||||
|
||||
def to_dictionary(self):
|
||||
"""Class content to dictionary"""
|
||||
_constructions = []
|
||||
for _construction in self.constructions:
|
||||
_constructions.append(_construction.to_dictionary())
|
||||
content = {'Archetype': {'id': self.id,
|
||||
'name': self.name,
|
||||
'function': self.function,
|
||||
'climate zone': self.climate_zone,
|
||||
'period of construction': self.construction_period,
|
||||
'average storey height [m]': self.average_storey_height,
|
||||
'thermal capacity [J/m3K]': self.thermal_capacity,
|
||||
'extra loses due to thermal bridges [W/m2K]': self.extra_loses_due_to_thermal_bridges,
|
||||
'indirect heated ratio': self.indirect_heated_ratio,
|
||||
'infiltration rate for ventilation off [ACH]': self.infiltration_rate_for_ventilation_system_off,
|
||||
'infiltration rate for ventilation on [ACH]': self.infiltration_rate_for_ventilation_system_on,
|
||||
'constructions': _constructions
|
||||
}
|
||||
}
|
||||
return content
|
||||
|
|
|
@ -4,6 +4,7 @@ SPDX - License - Identifier: LGPL - 3.0 - or -later
|
|||
Copyright © 2022 Concordia CERC group
|
||||
Project Coder Guille Gutierrez guillermo.gutierrezmorote@concordia.ca
|
||||
"""
|
||||
|
||||
from hub.catalog_factories.data_models.construction.layer import Layer
|
||||
from hub.catalog_factories.data_models.construction.window import Window
|
||||
|
||||
|
@ -67,3 +68,21 @@ class Construction:
|
|||
:return: Window
|
||||
"""
|
||||
return self._window
|
||||
|
||||
def to_dictionary(self):
|
||||
"""Class content to dictionary"""
|
||||
_layers = []
|
||||
for _layer in self.layers:
|
||||
_layers.append(_layer.to_dictionary())
|
||||
_window = None
|
||||
if self.window is not None:
|
||||
_window = self.window.to_dictionary()
|
||||
content = {'Construction': {'id': self.id,
|
||||
'name': self.name,
|
||||
'type': self.type,
|
||||
'window ratio': self.window_ratio,
|
||||
'window': _window,
|
||||
'layers': _layers
|
||||
}
|
||||
}
|
||||
return content
|
||||
|
|
|
@ -43,3 +43,21 @@ class Content:
|
|||
All windows in the catalog
|
||||
"""
|
||||
return self._windows
|
||||
|
||||
def to_dictionary(self):
|
||||
"""Class content to dictionary"""
|
||||
_archetypes = []
|
||||
for _archetype in self.archetypes:
|
||||
_archetypes.append(_archetype.to_dictionary())
|
||||
content = {'Archetypes': _archetypes}
|
||||
|
||||
return content
|
||||
|
||||
def __str__(self):
|
||||
"""Print content"""
|
||||
_archetypes = []
|
||||
for _archetype in self.archetypes:
|
||||
_archetypes.append(_archetype.to_dictionary())
|
||||
content = {'Archetypes': _archetypes}
|
||||
|
||||
return str(content)
|
||||
|
|
|
@ -5,6 +5,8 @@ Copyright © 2022 Concordia CERC group
|
|||
Project Coder Guille Gutierrez guillermo.gutierrezmorote@concordia.ca
|
||||
"""
|
||||
|
||||
from hub.catalog_factories.data_models.construction.material import Material
|
||||
|
||||
|
||||
class Layer:
|
||||
"""
|
||||
|
@ -33,7 +35,7 @@ class Layer:
|
|||
return self._name
|
||||
|
||||
@property
|
||||
def material(self):
|
||||
def material(self) -> Material:
|
||||
"""
|
||||
Get layer material
|
||||
:return: Material
|
||||
|
@ -47,3 +49,13 @@ class Layer:
|
|||
:return: None or float
|
||||
"""
|
||||
return self._thickness
|
||||
|
||||
def to_dictionary(self):
|
||||
"""Class content to dictionary"""
|
||||
content = {'Layer': {'id': self.id,
|
||||
'name': self.name,
|
||||
'thickness [m]': self.thickness,
|
||||
'material': self.material.to_dictionary()
|
||||
}
|
||||
}
|
||||
return content
|
||||
|
|
|
@ -110,3 +110,19 @@ class Material:
|
|||
:return: None or float
|
||||
"""
|
||||
return self._thermal_resistance
|
||||
|
||||
def to_dictionary(self):
|
||||
"""Class content to dictionary"""
|
||||
content = {'Material': {'id': self.id,
|
||||
'name': self.name,
|
||||
'is no-mass': self.no_mass,
|
||||
'density [kg/m3]': self.density,
|
||||
'specific heat [J/kgK]': self.specific_heat,
|
||||
'conductivity [W/mK]': self.conductivity,
|
||||
'thermal resistance [m2K/W]': self.thermal_resistance,
|
||||
'solar absorptance': self.solar_absorptance,
|
||||
'thermal absorptance': self.thermal_absorptance,
|
||||
'visible absorptance': self.visible_absorptance
|
||||
}
|
||||
}
|
||||
return content
|
||||
|
|
|
@ -64,4 +64,16 @@ class Window:
|
|||
Get transparent surface type, 'window' or 'skylight'
|
||||
:return: str
|
||||
"""
|
||||
return self.type
|
||||
return self._type
|
||||
|
||||
def to_dictionary(self):
|
||||
"""Class content to dictionary"""
|
||||
content = {'Window': {'id': self.id,
|
||||
'name': self.name,
|
||||
'type': self.type,
|
||||
'frame ratio': self.frame_ratio,
|
||||
'g-value': self.g_value,
|
||||
'overall U value [W/m2K]': self.overall_u_value
|
||||
}
|
||||
}
|
||||
return content
|
||||
|
|
|
@ -114,3 +114,19 @@ class Archetype:
|
|||
:return: Income
|
||||
"""
|
||||
return self._income
|
||||
|
||||
def to_dictionary(self):
|
||||
"""Class content to dictionary"""
|
||||
content = {'Archetype': {'name': self.name,
|
||||
'level of detail': self.lod,
|
||||
'municipality': self.municipality,
|
||||
'country': self.country,
|
||||
'currency': self.currency,
|
||||
'function': self.function,
|
||||
'capital cost': self.capital_cost.to_dictionary(),
|
||||
'operational cost': self.operational_cost.to_dictionary(),
|
||||
f'end of life cost [currency]': self.end_of_life_cost,
|
||||
'income': self.income.to_dictionary()
|
||||
}
|
||||
}
|
||||
return content
|
||||
|
|
|
@ -51,3 +51,16 @@ class CapitalCost:
|
|||
if chapter.chapter_type == name:
|
||||
return chapter
|
||||
raise KeyError(f'Chapter name {name} not found')
|
||||
|
||||
def to_dictionary(self):
|
||||
"""Class content to dictionary"""
|
||||
_chapters = []
|
||||
for _chapter in self.general_chapters:
|
||||
_chapters.append(_chapter.to_dictionary())
|
||||
content = {'Capital cost': {'design allowance': self.design_allowance,
|
||||
'overhead and profit': self.overhead_and_profit,
|
||||
'chapters': _chapters
|
||||
}
|
||||
}
|
||||
|
||||
return content
|
||||
|
|
|
@ -43,3 +43,15 @@ class Chapter:
|
|||
if item.type == name:
|
||||
return item
|
||||
raise KeyError(f'Item name {name} not found')
|
||||
|
||||
def to_dictionary(self):
|
||||
"""Class content to dictionary"""
|
||||
_items = []
|
||||
for _item in self.items:
|
||||
_items.append(_item.to_dictionary())
|
||||
content = {'Chapter': {'chapter type': self.chapter_type,
|
||||
'items': _items
|
||||
}
|
||||
}
|
||||
|
||||
return content
|
||||
|
|
|
@ -20,3 +20,21 @@ class Content:
|
|||
All archetypes in the catalog
|
||||
"""
|
||||
return self._archetypes
|
||||
|
||||
def to_dictionary(self):
|
||||
"""Class content to dictionary"""
|
||||
_archetypes = []
|
||||
for _archetype in self.archetypes:
|
||||
_archetypes.append(_archetype.to_dictionary())
|
||||
content = {'Archetypes': _archetypes}
|
||||
|
||||
return content
|
||||
|
||||
def __str__(self):
|
||||
"""Print content"""
|
||||
_archetypes = []
|
||||
for _archetype in self.archetypes:
|
||||
_archetypes.append(_archetype.to_dictionary())
|
||||
content = {'Archetypes': _archetypes}
|
||||
|
||||
return str(content)
|
||||
|
|
|
@ -55,3 +55,14 @@ class Fuel:
|
|||
:return: None, None or float, str
|
||||
"""
|
||||
return self._variable, self._variable_units
|
||||
|
||||
def to_dictionary(self):
|
||||
"""Class content to dictionary"""
|
||||
content = {'Fuel': {'fuel type': self.type,
|
||||
'fixed operational costs [currency/month]': self.fixed_monthly,
|
||||
'fixed operational costs depending on the peak power consumed [currency/month kW]': self.fixed_power,
|
||||
f'variable costs [{self.variable[1]}]': self.variable[0]
|
||||
}
|
||||
}
|
||||
|
||||
return content
|
||||
|
|
|
@ -63,3 +63,15 @@ class Income:
|
|||
:return: None or float
|
||||
"""
|
||||
return self._reductions_tax
|
||||
|
||||
def to_dictionary(self):
|
||||
"""Class content to dictionary"""
|
||||
content = {'Income': {'construction subsidy': self.construction_subsidy,
|
||||
'hvac subsidy': self.hvac_subsidy,
|
||||
'photovoltaic subsidy': self.photovoltaic_subsidy,
|
||||
'electricity export': self.electricity_export,
|
||||
'reductions tax': self.reductions_tax
|
||||
}
|
||||
}
|
||||
|
||||
return content
|
||||
|
|
|
@ -69,3 +69,15 @@ class ItemDescription:
|
|||
:return: None or float
|
||||
"""
|
||||
return self._lifetime
|
||||
|
||||
def to_dictionary(self):
|
||||
"""Class content to dictionary"""
|
||||
content = {'Item': {'type': self.type,
|
||||
f'initial investment [{self.initial_investment[1]}]': self.initial_investment[0],
|
||||
f'refurbishment [{self.refurbishment[1]}]': self.refurbishment[0],
|
||||
f'reposition [{self.reposition[1]}]': self.reposition[0],
|
||||
'life time [years]': self.lifetime
|
||||
}
|
||||
}
|
||||
|
||||
return content
|
||||
|
|
|
@ -59,3 +59,18 @@ class OperationalCost:
|
|||
:return: float
|
||||
"""
|
||||
return self._co2
|
||||
|
||||
def to_dictionary(self):
|
||||
"""Class content to dictionary"""
|
||||
_fuels = []
|
||||
for _fuel in self.fuels:
|
||||
_fuels.append(_fuel.to_dictionary())
|
||||
content = {'Maintenance': {'fuels': _fuels,
|
||||
'cost of maintaining the heating system [currency/W]': self.maintenance_heating,
|
||||
'cost of maintaining the cooling system [currency/W]': self.maintenance_cooling,
|
||||
'cost of maintaining the PV system [currency/W]': self.maintenance_pv,
|
||||
'cost of CO2 emissions [currency/kgCO2]': self.co2
|
||||
}
|
||||
}
|
||||
|
||||
return content
|
||||
|
|
|
@ -43,3 +43,15 @@ class Archetype:
|
|||
:return: [Equipment]
|
||||
"""
|
||||
return self._systems
|
||||
|
||||
def to_dictionary(self):
|
||||
"""Class content to dictionary"""
|
||||
_systems = []
|
||||
for _system in self.systems:
|
||||
_systems.append(_system.to_dictionary())
|
||||
content = {'Archetype': {'name': self.name,
|
||||
'level of detail': self.lod,
|
||||
'systems': _systems
|
||||
}
|
||||
}
|
||||
return content
|
||||
|
|
|
@ -51,3 +51,21 @@ class Content:
|
|||
All emission equipments in the catalog
|
||||
"""
|
||||
return self._emissions
|
||||
|
||||
def to_dictionary(self):
|
||||
"""Class content to dictionary"""
|
||||
_archetypes = []
|
||||
for _archetype in self.archetypes:
|
||||
_archetypes.append(_archetype.to_dictionary())
|
||||
content = {'Archetypes': _archetypes}
|
||||
|
||||
return content
|
||||
|
||||
def __str__(self):
|
||||
"""Print content"""
|
||||
_archetypes = []
|
||||
for _archetype in self.archetypes:
|
||||
_archetypes.append(_archetype.to_dictionary())
|
||||
content = {'Archetypes': _archetypes}
|
||||
|
||||
return str(content)
|
||||
|
|
|
@ -29,14 +29,6 @@ class DistributionSystem:
|
|||
"""
|
||||
return self._system_id
|
||||
|
||||
@id.setter
|
||||
def id(self, value):
|
||||
"""
|
||||
Set system id
|
||||
:param value: float
|
||||
"""
|
||||
self._system_id = value
|
||||
|
||||
@property
|
||||
def name(self):
|
||||
"""
|
||||
|
@ -45,14 +37,6 @@ class DistributionSystem:
|
|||
"""
|
||||
return self._name
|
||||
|
||||
@name.setter
|
||||
def name(self, value):
|
||||
"""
|
||||
Set name
|
||||
:param value: string
|
||||
"""
|
||||
self._name = value
|
||||
|
||||
@property
|
||||
def type(self):
|
||||
"""
|
||||
|
@ -81,7 +65,7 @@ class DistributionSystem:
|
|||
def distribution_consumption_variable_flow(self):
|
||||
"""
|
||||
Get distribution_consumption if the pump or fan work at variable mass or volume flow in ratio
|
||||
over energy produced (Wh/Wh)
|
||||
over energy produced (J/J)
|
||||
:return: float
|
||||
"""
|
||||
return self._distribution_consumption_variable_flow
|
||||
|
@ -89,7 +73,20 @@ class DistributionSystem:
|
|||
@property
|
||||
def heat_losses(self):
|
||||
"""
|
||||
Get heat_losses in ratio over energy produced
|
||||
Get heat_losses in ratio over energy produced in J/J
|
||||
:return: float
|
||||
"""
|
||||
return self._heat_losses
|
||||
|
||||
def to_dictionary(self):
|
||||
"""Class content to dictionary"""
|
||||
content = {'Layer': {'id': self.id,
|
||||
'name': self.name,
|
||||
'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
|
||||
}
|
||||
}
|
||||
return content
|
||||
|
|
|
@ -25,14 +25,6 @@ class EmissionSystem:
|
|||
"""
|
||||
return self._system_id
|
||||
|
||||
@id.setter
|
||||
def id(self, value):
|
||||
"""
|
||||
Set system id
|
||||
:param value: float
|
||||
"""
|
||||
self._system_id = value
|
||||
|
||||
@property
|
||||
def name(self):
|
||||
"""
|
||||
|
@ -41,14 +33,6 @@ class EmissionSystem:
|
|||
"""
|
||||
return self._name
|
||||
|
||||
@name.setter
|
||||
def name(self, value):
|
||||
"""
|
||||
Set name
|
||||
:param value: string
|
||||
"""
|
||||
self._name = value
|
||||
|
||||
@property
|
||||
def type(self):
|
||||
"""
|
||||
|
@ -60,7 +44,17 @@ class EmissionSystem:
|
|||
@property
|
||||
def parasitic_energy_consumption(self):
|
||||
"""
|
||||
Get parasitic_energy_consumption in ratio (Wh/Wh)
|
||||
Get parasitic_energy_consumption in ratio (J/J)
|
||||
:return: float
|
||||
"""
|
||||
return self._parasitic_energy_consumption
|
||||
|
||||
def to_dictionary(self):
|
||||
"""Class content to dictionary"""
|
||||
content = {'Layer': {'id': self.id,
|
||||
'name': self.name,
|
||||
'type': self.type,
|
||||
'parasitic energy consumption per energy produced [J/J]': self.parasitic_energy_consumption
|
||||
}
|
||||
}
|
||||
return content
|
||||
|
|
|
@ -37,14 +37,6 @@ class GenerationSystem:
|
|||
"""
|
||||
return self._system_id
|
||||
|
||||
@id.setter
|
||||
def id(self, value):
|
||||
"""
|
||||
Set system id
|
||||
:param value: float
|
||||
"""
|
||||
self._system_id = value
|
||||
|
||||
@property
|
||||
def name(self):
|
||||
"""
|
||||
|
@ -53,14 +45,6 @@ class GenerationSystem:
|
|||
"""
|
||||
return self._name
|
||||
|
||||
@name.setter
|
||||
def name(self, value):
|
||||
"""
|
||||
Set name
|
||||
:param value: string
|
||||
"""
|
||||
self._name = value
|
||||
|
||||
@property
|
||||
def type(self):
|
||||
"""
|
||||
|
@ -140,3 +124,24 @@ class GenerationSystem:
|
|||
:return: GenerationSystem
|
||||
"""
|
||||
return self._auxiliary_equipment
|
||||
|
||||
def to_dictionary(self):
|
||||
"""Class content to dictionary"""
|
||||
_auxiliary_equipment = []
|
||||
if self.auxiliary_equipment is not None:
|
||||
_auxiliary_equipment = self.auxiliary_equipment.to_dictionary()
|
||||
content = {'Layer': {'id': self.id,
|
||||
'name': self.name,
|
||||
'type': self.type,
|
||||
'fuel type': self.fuel_type,
|
||||
'source types': self.source_types,
|
||||
'source temperature [Celsius]': self.source_temperature,
|
||||
'source mass flow [kg/s]': self.source_mass_flow,
|
||||
'heat efficiency': self.heat_efficiency,
|
||||
'cooling efficiency': self.cooling_efficiency,
|
||||
'electricity efficiency': self.electricity_efficiency,
|
||||
'it has storage': self.storage,
|
||||
'auxiliary equipment': _auxiliary_equipment
|
||||
}
|
||||
}
|
||||
return content
|
||||
|
|
|
@ -88,3 +88,22 @@ class System:
|
|||
:return: EmissionSystem
|
||||
"""
|
||||
return self._emission_system
|
||||
|
||||
def to_dictionary(self):
|
||||
"""Class content to dictionary"""
|
||||
_distribution_system = None
|
||||
if self.distribution_system is not None:
|
||||
_distribution_system = self.distribution_system.to_dictionary()
|
||||
_emission_system = None
|
||||
if self.emission_system is not None:
|
||||
_emission_system = self.emission_system.to_dictionary()
|
||||
content = {'Layer': {'id': self.id,
|
||||
'name': self.name,
|
||||
'level of detail': self.lod,
|
||||
'demand types': self.demand_types,
|
||||
'generation system': self.generation_system.to_dictionary(),
|
||||
'distribution system': _distribution_system,
|
||||
'emission system': _emission_system
|
||||
}
|
||||
}
|
||||
return content
|
||||
|
|
|
@ -61,3 +61,16 @@ class Appliances:
|
|||
:return: None or [Schedule]
|
||||
"""
|
||||
return self._schedules
|
||||
|
||||
def to_dictionary(self):
|
||||
"""Class content to dictionary"""
|
||||
_schedules = []
|
||||
for _schedule in self.schedules:
|
||||
_schedules.append(_schedule.to_dictionary())
|
||||
content = {'Appliances': {'density [W/m2]': self.density,
|
||||
'convective fraction': self.convective_fraction,
|
||||
'radiative fraction': self.radiative_fraction,
|
||||
'latent fraction': self.latent_fraction,
|
||||
'schedules': _schedules}
|
||||
}
|
||||
return content
|
||||
|
|
|
@ -20,3 +20,21 @@ class Content:
|
|||
Get catalog usages
|
||||
"""
|
||||
return self._usages
|
||||
|
||||
def to_dictionary(self):
|
||||
"""Class content to dictionary"""
|
||||
_usages = []
|
||||
for _usage in self.usages:
|
||||
_usages.append(_usage.to_dictionary())
|
||||
content = {'Usages': _usages}
|
||||
|
||||
return content
|
||||
|
||||
def __str__(self):
|
||||
"""Print content"""
|
||||
_usages = []
|
||||
for _usage in self.usages:
|
||||
_usages.append(_usage.to_dictionary())
|
||||
content = {'Usages': _usages}
|
||||
|
||||
return str(content)
|
||||
|
|
|
@ -52,3 +52,15 @@ class DomesticHotWater:
|
|||
:return: None or [Schedule]
|
||||
"""
|
||||
return self._schedules
|
||||
|
||||
def to_dictionary(self):
|
||||
"""Class content to dictionary"""
|
||||
_schedules = []
|
||||
for _schedule in self.schedules:
|
||||
_schedules.append(_schedule.to_dictionary())
|
||||
content = {'Domestic hot water': {'density [W/m2]': self.density,
|
||||
'peak flow [m3/sm2]': self.peak_flow,
|
||||
'service temperature [Celsius]': self.service_temperature,
|
||||
'schedules': _schedules}
|
||||
}
|
||||
return content
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
"""
|
||||
Usage catalog internal gain
|
||||
SPDX - License - Identifier: LGPL - 3.0 - or -later
|
||||
Copyright © 2022 Concordia CERC group
|
||||
Project Coder Guille Gutierrez guillermo.gutierrezmorote@concordia.ca
|
||||
"""
|
||||
|
||||
|
||||
class InternalGain:
|
||||
"""
|
||||
InternalGain class
|
||||
"""
|
||||
|
||||
def __init__(self, internal_gain_type, average_internal_gain, convective_fraction, radiative_fraction, latent_fraction, schedules):
|
||||
self._type = internal_gain_type
|
||||
self._average_internal_gain = average_internal_gain
|
||||
self._convective_fraction = convective_fraction
|
||||
self._radiative_fraction = radiative_fraction
|
||||
self._latent_fraction = latent_fraction
|
||||
self._schedules = schedules
|
|
@ -61,3 +61,16 @@ class Lighting:
|
|||
:return: None or [Schedule]
|
||||
"""
|
||||
return self._schedules
|
||||
|
||||
def to_dictionary(self):
|
||||
"""Class content to dictionary"""
|
||||
_schedules = []
|
||||
for _schedule in self.schedules:
|
||||
_schedules.append(_schedule.to_dictionary())
|
||||
content = {'Lighting': {'density [W/m2]': self.density,
|
||||
'convective fraction': self.convective_fraction,
|
||||
'radiative fraction': self.radiative_fraction,
|
||||
'latent fraction': self.latent_fraction,
|
||||
'schedules': _schedules}
|
||||
}
|
||||
return content
|
||||
|
|
|
@ -65,3 +65,16 @@ class Occupancy:
|
|||
:return: None or [Schedule]
|
||||
"""
|
||||
return self._schedules
|
||||
|
||||
def to_dictionary(self):
|
||||
"""Class content to dictionary"""
|
||||
_schedules = []
|
||||
for _schedule in self.schedules:
|
||||
_schedules.append(_schedule.to_dictionary())
|
||||
content = {'Occupancy': {'occupancy density [persons/m2]': self.occupancy_density,
|
||||
'sensible convective internal gain [W/m2]': self.sensible_convective_internal_gain,
|
||||
'sensible radiative internal gain [W/m2]': self.sensible_radiative_internal_gain,
|
||||
'latent internal gain [W/m2]': self.latent_internal_gain,
|
||||
'schedules': _schedules}
|
||||
}
|
||||
return content
|
||||
|
|
|
@ -73,3 +73,14 @@ class Schedule:
|
|||
:return: None or [str]
|
||||
"""
|
||||
return self._day_types
|
||||
|
||||
def to_dictionary(self):
|
||||
"""Class content to dictionary"""
|
||||
content = {'Schedule': {'type': self.type,
|
||||
'time range': self.time_range,
|
||||
'time step': self.time_step,
|
||||
'data type': self.data_type,
|
||||
'day types': self.day_types,
|
||||
'values': self.values}
|
||||
}
|
||||
return content
|
||||
|
|
|
@ -76,3 +76,23 @@ class ThermalControl:
|
|||
:return: None or [Schedule]
|
||||
"""
|
||||
return self._cooling_set_point_schedules
|
||||
|
||||
def to_dictionary(self):
|
||||
"""Class content to dictionary"""
|
||||
_hvac_schedules = []
|
||||
for _schedule in self.hvac_availability_schedules:
|
||||
_hvac_schedules.append(_schedule.to_dictionary())
|
||||
_heating_set_point_schedules = []
|
||||
for _schedule in self.heating_set_point_schedules:
|
||||
_heating_set_point_schedules.append(_schedule.to_dictionary())
|
||||
_cooling_set_point_schedules = []
|
||||
for _schedule in self.cooling_set_point_schedules:
|
||||
_cooling_set_point_schedules.append(_schedule.to_dictionary())
|
||||
content = {'Thermal control': {'mean heating set point [Celsius]': self.mean_heating_set_point,
|
||||
'heating set back [Celsius]': self.heating_set_back,
|
||||
'mean cooling set point [Celsius]': self.mean_cooling_set_point,
|
||||
'hvac availability schedules': _hvac_schedules,
|
||||
'heating set point schedules': _heating_set_point_schedules,
|
||||
'cooling set point schedules': _cooling_set_point_schedules}
|
||||
}
|
||||
return content
|
||||
|
|
|
@ -125,3 +125,19 @@ class Usage:
|
|||
:return: None or DomesticHotWater
|
||||
"""
|
||||
return self._domestic_hot_water
|
||||
|
||||
def to_dictionary(self):
|
||||
"""Class content to dictionary"""
|
||||
content = {'Usage': {'name': self.name,
|
||||
'hours a day': self.hours_day,
|
||||
'days a year': self.days_year,
|
||||
'mechanical air change [ACH]': self.mechanical_air_change,
|
||||
'ventilation rate [m3/sm2]': self.ventilation_rate,
|
||||
'occupancy': self.occupancy.to_dictionary(),
|
||||
'lighting': self.lighting.to_dictionary(),
|
||||
'appliances': self.appliances.to_dictionary(),
|
||||
'thermal control': self.thermal_control.to_dictionary(),
|
||||
'domestic hot water': self.domestic_hot_water.to_dictionary()
|
||||
}
|
||||
}
|
||||
return content
|
||||
|
|
Loading…
Reference in New Issue
Block a user