diff --git a/hub/city_model_structure/life_cycle_assessment/building_component.py b/hub/city_model_structure/life_cycle_assessment/building_component.py new file mode 100644 index 00000000..63a0d85f --- /dev/null +++ b/hub/city_model_structure/life_cycle_assessment/building_component.py @@ -0,0 +1,51 @@ +""" +building_component module +Returns the summarize of envelope and energy systems +SPDX - License - Identifier: LGPL - 3.0 - or -later +Copyright © 2024 Concordia CERC group +Code contributors: Alireza Adli alireza.adli@concordia.ca +Mohammad Reza Seyedabadi mohammad.seyedabadi@mail.concordia.ca +""" + + +class BuildingComponent: + def __init__( + self, opening_material_emission, opening_surface, + envelope_material_emission, envelope_thickness, envelope_surface): + self._opening_material_emission = opening_material_emission + self._opening_surface = opening_surface + self._envelope_material_emission = envelope_material_emission + self._envelope_thickness = envelope_thickness + self._envelope_surface = envelope_surface + + @property + def opening_material_emission(self): + return self._opening_material_emission + + @property + def opening_surface(self): + return self._opening_surface + + @property + def envelope_material_emission(self): + return self._envelope_material_emission + + @property + def envelope_thickness(self): + return self._envelope_thickness + + @property + def envelope_surface(self): + return self._envelope_surface + + def opening_emission(self): + return self._opening_material_emission * self._opening_surface + + def envelope_emission(self): + return self._envelope_material_emission * \ + self.envelope_thickness * \ + self._envelope_surface + + def component_emission(self): + return self.opening_emission() + self.envelope_emission() +