forked from s_ranjbar/city_retrofit
Types of properties are added
This commit is contained in:
parent
9d2d115549
commit
dbab2d2501
@ -12,28 +12,28 @@ class Fuel:
|
|||||||
self._unit = unit
|
self._unit = unit
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def id(self):
|
def id(self) -> int:
|
||||||
"""
|
"""
|
||||||
Get fuel id
|
Get fuel id
|
||||||
"""
|
"""
|
||||||
return self._fuel_id
|
return self._fuel_id
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def name(self):
|
def name(self) -> str:
|
||||||
"""
|
"""
|
||||||
Get fuel name
|
Get fuel name
|
||||||
"""
|
"""
|
||||||
return self._name
|
return self._name
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def carbon_emission_factor(self):
|
def carbon_emission_factor(self) -> float:
|
||||||
"""
|
"""
|
||||||
Get fuel carbon emission factor
|
Get fuel carbon emission factor
|
||||||
"""
|
"""
|
||||||
return self._carbon_emission_factor
|
return self._carbon_emission_factor
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def unit(self):
|
def unit(self) -> str:
|
||||||
"""
|
"""
|
||||||
Get fuel units
|
Get fuel units
|
||||||
"""
|
"""
|
||||||
|
@ -21,56 +21,56 @@ class Machine:
|
|||||||
self._carbon_emission_unit = carbon_emission_unit
|
self._carbon_emission_unit = carbon_emission_unit
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def id(self):
|
def id(self) -> int:
|
||||||
"""
|
"""
|
||||||
Get machine id
|
Get machine id
|
||||||
"""
|
"""
|
||||||
return self._machine_id
|
return self._machine_id
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def name(self):
|
def name(self) -> str:
|
||||||
"""
|
"""
|
||||||
Get machine name
|
Get machine name
|
||||||
"""
|
"""
|
||||||
return self._name
|
return self._name
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def work_efficiency(self):
|
def work_efficiency(self) -> float:
|
||||||
"""
|
"""
|
||||||
Get machine work efficiency
|
Get machine work efficiency
|
||||||
"""
|
"""
|
||||||
return self._work_efficiency
|
return self._work_efficiency
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def work_efficiency_unit(self):
|
def work_efficiency_unit(self) -> str:
|
||||||
"""
|
"""
|
||||||
Get machine work efficiency unit
|
Get machine work efficiency unit
|
||||||
"""
|
"""
|
||||||
return self._work_efficiency_unit
|
return self._work_efficiency_unit
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def energy_consumption_rate(self):
|
def energy_consumption_rate(self) -> float:
|
||||||
"""
|
"""
|
||||||
Get energy consumption rate
|
Get energy consumption rate
|
||||||
"""
|
"""
|
||||||
return self._energy_consumption_rate
|
return self._energy_consumption_rate
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def energy_consumption_unit(self):
|
def energy_consumption_unit(self) -> str:
|
||||||
"""
|
"""
|
||||||
Get energy consumption unit
|
Get energy consumption unit
|
||||||
"""
|
"""
|
||||||
return self._energy_consumption_unit
|
return self._energy_consumption_unit
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def carbon_emission_factor(self):
|
def carbon_emission_factor(self) -> float:
|
||||||
"""
|
"""
|
||||||
Get carbon emission factor
|
Get carbon emission factor
|
||||||
"""
|
"""
|
||||||
return self._carbon_emission_factor
|
return self._carbon_emission_factor
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def carbon_emission_unit(self):
|
def carbon_emission_unit(self) -> str:
|
||||||
"""
|
"""
|
||||||
Get carbon emission unit
|
Get carbon emission unit
|
||||||
"""
|
"""
|
||||||
|
@ -26,91 +26,91 @@ class Material:
|
|||||||
self._cost_unit = cost_unit
|
self._cost_unit = cost_unit
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def material_name(self):
|
def material_name(self) -> str:
|
||||||
"""
|
"""
|
||||||
Get material name
|
Get material name
|
||||||
"""
|
"""
|
||||||
return self._material_name
|
return self._material_name
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def id(self):
|
def id(self) -> int:
|
||||||
"""
|
"""
|
||||||
Get material id
|
Get material id
|
||||||
"""
|
"""
|
||||||
return self._material_id
|
return self._material_id
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def type(self):
|
def type(self) -> str:
|
||||||
"""
|
"""
|
||||||
Get material type
|
Get material type
|
||||||
"""
|
"""
|
||||||
return self._type
|
return self._type
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def density(self):
|
def density(self) -> float:
|
||||||
"""
|
"""
|
||||||
Get material density
|
Get material density
|
||||||
"""
|
"""
|
||||||
return self._density
|
return self._density
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def density_unit(self):
|
def density_unit(self) -> str:
|
||||||
"""
|
"""
|
||||||
Get material density unit
|
Get material density unit
|
||||||
"""
|
"""
|
||||||
return self._density_unit
|
return self._density_unit
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def embodied_carbon(self):
|
def embodied_carbon(self) -> float:
|
||||||
"""
|
"""
|
||||||
Get material embodied carbon
|
Get material embodied carbon
|
||||||
"""
|
"""
|
||||||
return self._embodied_carbon
|
return self._embodied_carbon
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def embodied_carbon_unit(self):
|
def embodied_carbon_unit(self) -> str:
|
||||||
"""
|
"""
|
||||||
Get material embodied carbon unit
|
Get material embodied carbon unit
|
||||||
"""
|
"""
|
||||||
return self._embodied_carbon_unit
|
return self._embodied_carbon_unit
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def recycling_ratio(self):
|
def recycling_ratio(self) -> float:
|
||||||
"""
|
"""
|
||||||
Get material recycling ratio
|
Get material recycling ratio
|
||||||
"""
|
"""
|
||||||
return self._recycling_ratio
|
return self._recycling_ratio
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def onsite_recycling_ratio(self):
|
def onsite_recycling_ratio(self) -> float:
|
||||||
"""
|
"""
|
||||||
Get material onsite recycling ratio
|
Get material onsite recycling ratio
|
||||||
"""
|
"""
|
||||||
return self._onsite_recycling_ratio
|
return self._onsite_recycling_ratio
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def company_recycling_ratio(self):
|
def company_recycling_ratio(self) -> float:
|
||||||
"""
|
"""
|
||||||
Get material company recycling ratio
|
Get material company recycling ratio
|
||||||
"""
|
"""
|
||||||
return self._company_recycling_ratio
|
return self._company_recycling_ratio
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def landfilling_ratio(self):
|
def landfilling_ratio(self) -> float:
|
||||||
"""
|
"""
|
||||||
Get material landfilling ratio
|
Get material landfilling ratio
|
||||||
"""
|
"""
|
||||||
return self._landfilling_ratio
|
return self._landfilling_ratio
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def cost(self):
|
def cost(self) -> float:
|
||||||
"""
|
"""
|
||||||
Get material cost
|
Get material cost
|
||||||
"""
|
"""
|
||||||
return self._cost
|
return self._cost
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def cost_unit(self):
|
def cost_unit(self) -> str:
|
||||||
"""
|
"""
|
||||||
Get material cost unit
|
Get material cost unit
|
||||||
"""
|
"""
|
||||||
|
@ -18,42 +18,42 @@ class Vehicle:
|
|||||||
self._carbon_emission_factor_unit = carbon_emission_factor_unit
|
self._carbon_emission_factor_unit = carbon_emission_factor_unit
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def id(self):
|
def id(self) -> int:
|
||||||
"""
|
"""
|
||||||
Get vehicle id
|
Get vehicle id
|
||||||
"""
|
"""
|
||||||
return self._vehicle_id
|
return self._vehicle_id
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def name(self):
|
def name(self) -> str:
|
||||||
"""
|
"""
|
||||||
Get vehicle name
|
Get vehicle name
|
||||||
"""
|
"""
|
||||||
return self._name
|
return self._name
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def fuel_consumption_rate(self):
|
def fuel_consumption_rate(self) -> float:
|
||||||
"""
|
"""
|
||||||
Get vehicle fuel consumption rate
|
Get vehicle fuel consumption rate
|
||||||
"""
|
"""
|
||||||
return self._fuel_consumption_rate
|
return self._fuel_consumption_rate
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def fuel_consumption_unit(self):
|
def fuel_consumption_unit(self) -> str:
|
||||||
"""
|
"""
|
||||||
Get fuel consumption unit
|
Get fuel consumption unit
|
||||||
"""
|
"""
|
||||||
return self._fuel_consumption_unit
|
return self._fuel_consumption_unit
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def carbon_emission_factor(self):
|
def carbon_emission_factor(self) -> float:
|
||||||
"""
|
"""
|
||||||
Get vehicle carbon emission factor
|
Get vehicle carbon emission factor
|
||||||
"""
|
"""
|
||||||
return self._carbon_emission_factor
|
return self._carbon_emission_factor
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def carbon_emission_unit(self):
|
def carbon_emission_unit(self) -> str:
|
||||||
"""
|
"""
|
||||||
Get carbon emission units
|
Get carbon emission units
|
||||||
"""
|
"""
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<library name="LCA">
|
<library name="LCA">
|
||||||
<Fuels>
|
<fuels>
|
||||||
<fuel id="1" name= "Black_coal">
|
<fuel id="1" name= "Black_coal">
|
||||||
<carbon_emission_factor unit= "kgCO2/ kWh" > 0.32 </carbon_emission_factor>
|
<carbon_emission_factor unit= "kgCO2/ kWh" > 0.32 </carbon_emission_factor>
|
||||||
</fuel>
|
</fuel>
|
||||||
@ -76,99 +76,99 @@
|
|||||||
<fuel id="25" name= "Steam">
|
<fuel id="25" name= "Steam">
|
||||||
<carbon_emission_factor unit= "kgCO2/ kg"> 0.61 </carbon_emission_factor>
|
<carbon_emission_factor unit= "kgCO2/ kg"> 0.61 </carbon_emission_factor>
|
||||||
</fuel>
|
</fuel>
|
||||||
</Fuels>
|
</fuels>
|
||||||
<Machines>
|
<machines>
|
||||||
<machine name= "Rock_drill">
|
<machine id="1" name= "Rock_drill">
|
||||||
<work_efficiency unit= "h/m3"> 0.347 </work_efficiency>
|
<work_efficiency unit= "h/m3"> 0.347 </work_efficiency>
|
||||||
<energy_consumption_rate unit= "kWh/h"> 16.5 </energy_consumption_rate>
|
<energy_consumption_rate unit= "kWh/h"> 16.5 </energy_consumption_rate>
|
||||||
<carbon_emission_factor unit= "kgCO2/kWh"> 0.918 </carbon_emission_factor>
|
<carbon_emission_factor unit= "kgCO2/kWh"> 0.918 </carbon_emission_factor>
|
||||||
</machine>
|
</machine>
|
||||||
<machine name= "Hydraulic_hammer">
|
<machine id="2" name= "Hydraulic_hammer">
|
||||||
<work_efficiency unit= "h/m3"> 0.033 </work_efficiency>
|
<work_efficiency unit= "h/m3"> 0.033 </work_efficiency>
|
||||||
<energy_consumption_rate unit= "kg_fuel/h"> 25.2 </energy_consumption_rate>
|
<energy_consumption_rate unit= "kg_fuel/h"> 25.2 </energy_consumption_rate>
|
||||||
<carbon_emission_factor unit= "kgCO2/kg_fuel"> 4.16 </carbon_emission_factor>
|
<carbon_emission_factor unit= "kgCO2/kg_fuel"> 4.16 </carbon_emission_factor>
|
||||||
</machine>
|
</machine>
|
||||||
<machine name= "Crawler_bulldozer">
|
<machine id="3" name= "Crawler_bulldozer">
|
||||||
<work_efficiency unit= "h/m3"> 0.027 </work_efficiency>
|
<work_efficiency unit= "h/m3"> 0.027 </work_efficiency>
|
||||||
<energy_consumption_rate unit= "kg_fuel/h3"> 16.8 </energy_consumption_rate>
|
<energy_consumption_rate unit= "kg_fuel/h3"> 16.8 </energy_consumption_rate>
|
||||||
<carbon_emission_factor unit= "kgCO2/kg_fuel"> 2.239 </carbon_emission_factor>
|
<carbon_emission_factor unit= "kgCO2/kg_fuel"> 2.239 </carbon_emission_factor>
|
||||||
</machine>
|
</machine>
|
||||||
<machine name= "Crawler_excavator">
|
<machine id="4" name= "Crawler_excavator">
|
||||||
<work_efficiency unit= "h/m3"> 0.023 </work_efficiency>
|
<work_efficiency unit= "h/m3"> 0.023 </work_efficiency>
|
||||||
<energy_consumption_rate unit= "kg_fuel/h"> 16.8 </energy_consumption_rate>
|
<energy_consumption_rate unit= "kg_fuel/h"> 16.8 </energy_consumption_rate>
|
||||||
<carbon_emission_factor unit= "kgCO2/kg_fuel"> 2.239 </carbon_emission_factor>
|
<carbon_emission_factor unit= "kgCO2/kg_fuel"> 2.239 </carbon_emission_factor>
|
||||||
</machine>
|
</machine>
|
||||||
<machine name= "Crawler_hydraulic_rock_crusher">
|
<machine id="5" name= "Crawler_hydraulic_rock_crusher">
|
||||||
<work_efficiency unit= "h/m3"> 0.109 </work_efficiency>
|
<work_efficiency unit= "h/m3"> 0.109 </work_efficiency>
|
||||||
<energy_consumption_rate unit= "kg_fuel/h"> 25.2 </energy_consumption_rate>
|
<energy_consumption_rate unit= "kg_fuel/h"> 25.2 </energy_consumption_rate>
|
||||||
<carbon_emission_factor unit= "kgCO2/kg_fuel"> 2.239 </carbon_emission_factor>
|
<carbon_emission_factor unit= "kgCO2/kg_fuel"> 2.239 </carbon_emission_factor>
|
||||||
</machine>
|
</machine>
|
||||||
<machine name= "Mobile_recycling_equipment">
|
<machine id="6" name= "Mobile_recycling_equipment">
|
||||||
<work_efficiency unit= "h/ton"> 0.003 </work_efficiency>
|
<work_efficiency unit= "h/ton"> 0.003 </work_efficiency>
|
||||||
<energy_consumption_rate unit= "kg_fuel/h"> 16.4 </energy_consumption_rate>
|
<energy_consumption_rate unit= "kg_fuel/h"> 16.4 </energy_consumption_rate>
|
||||||
<carbon_emission_factor unit= "kgCO2/kg_fuel"> 4.16 </carbon_emission_factor>
|
<carbon_emission_factor unit= "kgCO2/kg_fuel"> 4.16 </carbon_emission_factor>
|
||||||
</machine>
|
</machine>
|
||||||
<machine name= "Vibration_feeder">
|
<machine id="7" name= "Vibration_feeder">
|
||||||
<work_efficiency unit= "h/ton"> 0.002 </work_efficiency>
|
<work_efficiency unit= "h/ton"> 0.002 </work_efficiency>
|
||||||
<energy_consumption_rate unit= "kWh/h"> 11 </energy_consumption_rate>
|
<energy_consumption_rate unit= "kWh/h"> 11 </energy_consumption_rate>
|
||||||
<carbon_emission_factor unit= "kgCO2/kWh"> 0.918 </carbon_emission_factor>
|
<carbon_emission_factor unit= "kgCO2/kWh"> 0.918 </carbon_emission_factor>
|
||||||
</machine>
|
</machine>
|
||||||
<machine name= "Jaw_crusher">
|
<machine id="8" name= "Jaw_crusher">
|
||||||
<work_efficiency unit= "h/ton"> 0.002 </work_efficiency>
|
<work_efficiency unit= "h/ton"> 0.002 </work_efficiency>
|
||||||
<energy_consumption_rate unit= "kWh/h"> 90 </energy_consumption_rate>
|
<energy_consumption_rate unit= "kWh/h"> 90 </energy_consumption_rate>
|
||||||
<carbon_emission_factor unit= "kgCO2/kWh"> 0.918 </carbon_emission_factor>
|
<carbon_emission_factor unit= "kgCO2/kWh"> 0.918 </carbon_emission_factor>
|
||||||
</machine>
|
</machine>
|
||||||
<machine name= "Electromagnetic_separator">
|
<machine id="9" name= "Electromagnetic_separator">
|
||||||
<work_efficiency unit= "h/ton"> 0.002 </work_efficiency>
|
<work_efficiency unit= "h/ton"> 0.002 </work_efficiency>
|
||||||
<energy_consumption_rate unit= "kWh/h"> 10 </energy_consumption_rate>
|
<energy_consumption_rate unit= "kWh/h"> 10 </energy_consumption_rate>
|
||||||
<carbon_emission_factor unit= "kgCO2/kWh"> 0.918 </carbon_emission_factor>
|
<carbon_emission_factor unit= "kgCO2/kWh"> 0.918 </carbon_emission_factor>
|
||||||
</machine>
|
</machine>
|
||||||
<machine name= "Wind_sorting_machine">
|
<machine id="10" name= "Wind_sorting_machine">
|
||||||
<work_efficiency unit= "h/ton"> 0.002 </work_efficiency>
|
<work_efficiency unit= "h/ton"> 0.002 </work_efficiency>
|
||||||
<energy_consumption_rate unit= "kWh/h"> 11 </energy_consumption_rate>
|
<energy_consumption_rate unit= "kWh/h"> 11 </energy_consumption_rate>
|
||||||
<carbon_emission_factor unit= "kgCO2/kWh"> 0.918 </carbon_emission_factor>
|
<carbon_emission_factor unit= "kgCO2/kWh"> 0.918 </carbon_emission_factor>
|
||||||
</machine>
|
</machine>
|
||||||
<machine name= "Impact_crusher">
|
<machine id="11" name= "Impact_crusher">
|
||||||
<work_efficiency unit= "h/ton"> 0.002 </work_efficiency>
|
<work_efficiency unit= "h/ton"> 0.002 </work_efficiency>
|
||||||
<energy_consumption_rate unit= "kWh/h"> 132 </energy_consumption_rate>
|
<energy_consumption_rate unit= "kWh/h"> 132 </energy_consumption_rate>
|
||||||
<carbon_emission_factor unit= "kgCO2/kWh"> 0.918 </carbon_emission_factor>
|
<carbon_emission_factor unit= "kgCO2/kWh"> 0.918 </carbon_emission_factor>
|
||||||
</machine>
|
</machine>
|
||||||
<machine name= "Double_circular_vibrating_plug">
|
<machine id="12" name= "Double_circular_vibrating_plug">
|
||||||
<work_efficiency unit= " h/ton "> 0.002 </work_efficiency>
|
<work_efficiency unit= " h/ton "> 0.002 </work_efficiency>
|
||||||
<energy_consumption_rate unit= "kWh/h"> 15 </energy_consumption_rate>
|
<energy_consumption_rate unit= "kWh/h"> 15 </energy_consumption_rate>
|
||||||
<carbon_emission_factor unit= "kgCO2/kW"> 0.918 </carbon_emission_factor>
|
<carbon_emission_factor unit= "kgCO2/kW"> 0.918 </carbon_emission_factor>
|
||||||
</machine>
|
</machine>
|
||||||
<machine name= "Spiral_sand_washing_machine">
|
<machine id="13" name= "Spiral_sand_washing_machine">
|
||||||
<work_efficiency unit= "h/ton"> 0.002 </work_efficiency>
|
<work_efficiency unit= "h/ton"> 0.002 </work_efficiency>
|
||||||
<energy_consumption_rate unit= "kWh/h"> 5.5 </energy_consumption_rate>
|
<energy_consumption_rate unit= "kWh/h"> 5.5 </energy_consumption_rate>
|
||||||
<carbon_emission_factor unit= "kgCO2/kWh"> 0.918 </carbon_emission_factor>
|
<carbon_emission_factor unit= "kgCO2/kWh"> 0.918 </carbon_emission_factor>
|
||||||
</machine>
|
</machine>
|
||||||
<machine name= "Conveyor_belts">
|
<machine id="14" name= "Conveyor_belts">
|
||||||
<work_efficiency unit= "h/ton"> 0.002 </work_efficiency>
|
<work_efficiency unit= "h/ton"> 0.002 </work_efficiency>
|
||||||
<energy_consumption_rate unit= "kWh/h"> 22.5 </energy_consumption_rate>
|
<energy_consumption_rate unit= "kWh/h"> 22.5 </energy_consumption_rate>
|
||||||
<carbon_emission_factor unit= "kgCO2/kWh"> 0.918 </carbon_emission_factor>
|
<carbon_emission_factor unit= "kgCO2/kWh"> 0.918 </carbon_emission_factor>
|
||||||
</machine>
|
</machine>
|
||||||
</Machines>
|
</machines>
|
||||||
<Vehicles>
|
<vehicles>
|
||||||
<vehicle name= "Freight_lorry_18_ton">
|
<vehicle id="1" name= "Freight_lorry_18_ton">
|
||||||
<fuel_consumption_rate unit= "kg_fuel/ton.km"> 0.0123 </fuel_consumption_rate>
|
<fuel_consumption_rate unit= "kg_fuel/ton.km"> 0.0123 </fuel_consumption_rate>
|
||||||
<carbon_emission_factor unit= "kgCO2/kg_fuel"> 2.239 </carbon_emission_factor>
|
<carbon_emission_factor unit= "kgCO2/kg_fuel"> 2.239 </carbon_emission_factor>
|
||||||
</vehicle>
|
</vehicle>
|
||||||
<vehicle name= "Freight_train">
|
<vehicle id="2" name= "Freight_train">
|
||||||
<fuel_consumption_rate unit= "kWh/ton.km"> 0.042 </fuel_consumption_rate>
|
<fuel_consumption_rate unit= "kWh/ton.km"> 0.042 </fuel_consumption_rate>
|
||||||
<carbon_emission_factor unit= "kgCO2/kWh"> 0.918 </carbon_emission_factor>
|
<carbon_emission_factor unit= "kgCO2/kWh"> 0.918 </carbon_emission_factor>
|
||||||
</vehicle>
|
</vehicle>
|
||||||
<vehicle name= "Freight_ship">
|
<vehicle id="3" name= "Freight_ship">
|
||||||
<fuel_consumption_rate unit= "kWh/ton.km"> 0.01 </fuel_consumption_rate>
|
<fuel_consumption_rate unit= "kWh/ton.km"> 0.01 </fuel_consumption_rate>
|
||||||
<carbon_emission_factor unit= "kgCO2/kWh"> 1.00000 </carbon_emission_factor>
|
<carbon_emission_factor unit= "kgCO2/kWh"> 1.00000 </carbon_emission_factor>
|
||||||
</vehicle>
|
</vehicle>
|
||||||
<vehicle name= "Freight_Air">
|
<vehicle id="4" name= "Freight_Air">
|
||||||
<fuel_consumption_rate unit= "kWh/ton.km"> 1.3 </fuel_consumption_rate>
|
<fuel_consumption_rate unit= "kWh/ton.km"> 1.3 </fuel_consumption_rate>
|
||||||
<carbon_emission_factor unit= "kgCO2/kWh"> 1.00000 </carbon_emission_factor>
|
<carbon_emission_factor unit= "kgCO2/kWh"> 1.00000 </carbon_emission_factor>
|
||||||
</vehicle>
|
</vehicle>
|
||||||
</Vehicles>
|
</vehicles>
|
||||||
<Building_materials>
|
<building_materials>
|
||||||
<Bricks>
|
<bricks>
|
||||||
<brick id="1" type= "clay brick">
|
<brick id="1" type= "clay brick">
|
||||||
<density unit= "ton/m3"> 1.8 </density>
|
<density unit= "ton/m3"> 1.8 </density>
|
||||||
<embodied_carbon unit= "kgCO2/ton"> 560 </embodied_carbon>
|
<embodied_carbon unit= "kgCO2/ton"> 560 </embodied_carbon>
|
||||||
@ -205,8 +205,8 @@
|
|||||||
<landfilling_ratio> 0.2 </landfilling_ratio>
|
<landfilling_ratio> 0.2 </landfilling_ratio>
|
||||||
<cost unit= "...."> .... </cost>
|
<cost unit= "...."> .... </cost>
|
||||||
</brick>
|
</brick>
|
||||||
</Bricks>
|
</bricks>
|
||||||
<Concretes>
|
<concretes>
|
||||||
<concrete id="1" type= "light weight expanded clay">
|
<concrete id="1" type= "light weight expanded clay">
|
||||||
<density unit= "ton/m3"> 1.6 </density>
|
<density unit= "ton/m3"> 1.6 </density>
|
||||||
<embodied_carbon unit= "kgCO2/ton"> 900 </embodied_carbon>
|
<embodied_carbon unit= "kgCO2/ton"> 900 </embodied_carbon>
|
||||||
@ -315,7 +315,7 @@
|
|||||||
<landfilling_ratio> 0.2 </landfilling_ratio>
|
<landfilling_ratio> 0.2 </landfilling_ratio>
|
||||||
<cost unit= "...."> .... </cost>
|
<cost unit= "...."> .... </cost>
|
||||||
</concrete>
|
</concrete>
|
||||||
</Concretes>
|
</concretes>
|
||||||
<glasses>
|
<glasses>
|
||||||
<glass id="1" type= "flat glass, coated">
|
<glass id="1" type= "flat glass, coated">
|
||||||
<density unit= "ton/m3"> 2.58 </density>
|
<density unit= "ton/m3"> 2.58 </density>
|
||||||
@ -336,8 +336,8 @@
|
|||||||
<cost unit= "...."> .... </cost>
|
<cost unit= "...."> .... </cost>
|
||||||
</glass>
|
</glass>
|
||||||
</glasses>
|
</glasses>
|
||||||
<Insulations>
|
<insulations>
|
||||||
<Insulation id="1" type= "cellulose fibre">
|
<insulation id="1" type= "cellulose fibre">
|
||||||
<density unit= "ton/m3"> 0.06 </density>
|
<density unit= "ton/m3"> 0.06 </density>
|
||||||
<embodied_carbon unit= "kgCO2/ton"> 1760 </embodied_carbon>
|
<embodied_carbon unit= "kgCO2/ton"> 1760 </embodied_carbon>
|
||||||
<recycling_ratio> 0.9 </recycling_ratio>
|
<recycling_ratio> 0.9 </recycling_ratio>
|
||||||
@ -345,8 +345,8 @@
|
|||||||
<company_recycling_ratio> 1 </company_recycling_ratio>
|
<company_recycling_ratio> 1 </company_recycling_ratio>
|
||||||
<landfilling_ratio> 0.1 </landfilling_ratio>
|
<landfilling_ratio> 0.1 </landfilling_ratio>
|
||||||
<cost unit= "...."> .... </cost>
|
<cost unit= "...."> .... </cost>
|
||||||
</Insulation>
|
</insulation>
|
||||||
<Insulation id="2" type= "cork slab">
|
<insulation id="2" type= "cork slab">
|
||||||
<density unit= "ton/m3"> 0.122 </density>
|
<density unit= "ton/m3"> 0.122 </density>
|
||||||
<embodied_carbon unit= "kgCO2/ton"> 3080 </embodied_carbon>
|
<embodied_carbon unit= "kgCO2/ton"> 3080 </embodied_carbon>
|
||||||
<recycling_ratio> 0.9 </recycling_ratio>
|
<recycling_ratio> 0.9 </recycling_ratio>
|
||||||
@ -354,8 +354,8 @@
|
|||||||
<company_recycling_ratio> 1 </company_recycling_ratio>
|
<company_recycling_ratio> 1 </company_recycling_ratio>
|
||||||
<landfilling_ratio> 0.1 </landfilling_ratio>
|
<landfilling_ratio> 0.1 </landfilling_ratio>
|
||||||
<cost unit= "...."> .... </cost>
|
<cost unit= "...."> .... </cost>
|
||||||
</Insulation>
|
</insulation>
|
||||||
<Insulation id="3" type= "polystyren foam">
|
<insulation id="3" type= "polystyren foam">
|
||||||
<density unit= "ton/m3"> 0.028 </density>
|
<density unit= "ton/m3"> 0.028 </density>
|
||||||
<embodied_carbon unit= "kgCO2/ton"> 3180 </embodied_carbon>
|
<embodied_carbon unit= "kgCO2/ton"> 3180 </embodied_carbon>
|
||||||
<recycling_ratio> 0.9 </recycling_ratio>
|
<recycling_ratio> 0.9 </recycling_ratio>
|
||||||
@ -363,8 +363,8 @@
|
|||||||
<company_recycling_ratio> 1 </company_recycling_ratio>
|
<company_recycling_ratio> 1 </company_recycling_ratio>
|
||||||
<landfilling_ratio> 0.1 </landfilling_ratio>
|
<landfilling_ratio> 0.1 </landfilling_ratio>
|
||||||
<cost unit= "...."> .... </cost>
|
<cost unit= "...."> .... </cost>
|
||||||
</Insulation>
|
</insulation>
|
||||||
<Insulation id="4" type= "polystyrene 10% recycled">
|
<insulation id="4" type= "polystyrene 10% recycled">
|
||||||
<density unit= "ton/m3"> 0.024 </density>
|
<density unit= "ton/m3"> 0.024 </density>
|
||||||
<embodied_carbon unit= "kgCO2/ton"> 5140 </embodied_carbon>
|
<embodied_carbon unit= "kgCO2/ton"> 5140 </embodied_carbon>
|
||||||
<recycling_ratio> 0.9 </recycling_ratio>
|
<recycling_ratio> 0.9 </recycling_ratio>
|
||||||
@ -372,8 +372,8 @@
|
|||||||
<company_recycling_ratio> 1 </company_recycling_ratio>
|
<company_recycling_ratio> 1 </company_recycling_ratio>
|
||||||
<landfilling_ratio> 0.1 </landfilling_ratio>
|
<landfilling_ratio> 0.1 </landfilling_ratio>
|
||||||
<cost unit= "...."> .... </cost>
|
<cost unit= "...."> .... </cost>
|
||||||
</Insulation>
|
</insulation>
|
||||||
<Insulation id="5" type= "stone wool">
|
<insulation id="5" type= "stone wool">
|
||||||
<density unit= "ton/m3"> 0.1 </density>
|
<density unit= "ton/m3"> 0.1 </density>
|
||||||
<embodied_carbon unit= "kgCO2/ton"> 6040 </embodied_carbon>
|
<embodied_carbon unit= "kgCO2/ton"> 6040 </embodied_carbon>
|
||||||
<recycling_ratio> 0.9 </recycling_ratio>
|
<recycling_ratio> 0.9 </recycling_ratio>
|
||||||
@ -381,8 +381,8 @@
|
|||||||
<company_recycling_ratio> 1 </company_recycling_ratio>
|
<company_recycling_ratio> 1 </company_recycling_ratio>
|
||||||
<landfilling_ratio> 0.1 </landfilling_ratio>
|
<landfilling_ratio> 0.1 </landfilling_ratio>
|
||||||
<cost unit= "...."> .... </cost>
|
<cost unit= "...."> .... </cost>
|
||||||
</Insulation>
|
</insulation>
|
||||||
<Insulation id="6" type= "foam glass">
|
<insulation id="6" type= "foam glass">
|
||||||
<density unit= "ton/m3"> 0.3 </density>
|
<density unit= "ton/m3"> 0.3 </density>
|
||||||
<embodied_carbon unit= "kgCO2/ton"> 5380 </embodied_carbon>
|
<embodied_carbon unit= "kgCO2/ton"> 5380 </embodied_carbon>
|
||||||
<recycling_ratio> 0.9 </recycling_ratio>
|
<recycling_ratio> 0.9 </recycling_ratio>
|
||||||
@ -390,8 +390,8 @@
|
|||||||
<company_recycling_ratio> 1 </company_recycling_ratio>
|
<company_recycling_ratio> 1 </company_recycling_ratio>
|
||||||
<landfilling_ratio> 0.1 </landfilling_ratio>
|
<landfilling_ratio> 0.1 </landfilling_ratio>
|
||||||
<cost unit= "...."> .... </cost>
|
<cost unit= "...."> .... </cost>
|
||||||
</Insulation>
|
</insulation>
|
||||||
<Insulation id="7" type= "glass wool mat">
|
<insulation id="7" type= "glass wool mat">
|
||||||
<density unit= "ton/m3"> 0.032 </density>
|
<density unit= "ton/m3"> 0.032 </density>
|
||||||
<embodied_carbon unit= "kgCO2/ton"> 2150 </embodied_carbon>
|
<embodied_carbon unit= "kgCO2/ton"> 2150 </embodied_carbon>
|
||||||
<recycling_ratio> 0.9 </recycling_ratio>
|
<recycling_ratio> 0.9 </recycling_ratio>
|
||||||
@ -399,8 +399,8 @@
|
|||||||
<company_recycling_ratio> 1 </company_recycling_ratio>
|
<company_recycling_ratio> 1 </company_recycling_ratio>
|
||||||
<landfilling_ratio> 0.1 </landfilling_ratio>
|
<landfilling_ratio> 0.1 </landfilling_ratio>
|
||||||
<cost unit= "...."> .... </cost>
|
<cost unit= "...."> .... </cost>
|
||||||
</Insulation>
|
</insulation>
|
||||||
</Insulations>
|
</insulations>
|
||||||
<woods>
|
<woods>
|
||||||
<wood id="1" type= "fiberboard, hard">
|
<wood id="1" type= "fiberboard, hard">
|
||||||
<density unit= "ton/m3"> 0.9 </density>
|
<density unit= "ton/m3"> 0.9 </density>
|
||||||
@ -569,5 +569,5 @@
|
|||||||
<cost unit= "...."> .... </cost>
|
<cost unit= "...."> .... </cost>
|
||||||
</metal>
|
</metal>
|
||||||
</metals>
|
</metals>
|
||||||
</Building_materials>
|
</building_materials>
|
||||||
</library>
|
</library>
|
72
imports/life_cycle_assessment/lca_material.py
Normal file
72
imports/life_cycle_assessment/lca_material.py
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
"""
|
||||||
|
CityGml module parses citygml_classes files and import the geometry into the city model structure
|
||||||
|
SPDX - License - Identifier: LGPL - 3.0 - or -later
|
||||||
|
Copyright © 2020 Project Author Atiya
|
||||||
|
"""
|
||||||
|
import xmltodict
|
||||||
|
from pathlib import Path
|
||||||
|
from city_model_structure.material import Material
|
||||||
|
|
||||||
|
class LcaMaterial:
|
||||||
|
def __init__(self, city, base_path):
|
||||||
|
self._city = city
|
||||||
|
self._base_path = base_path
|
||||||
|
self._lca = None
|
||||||
|
|
||||||
|
def enrich(self):
|
||||||
|
self._city.materials = []
|
||||||
|
path = Path(self._base_path / 'lca_data.xml').resolve()
|
||||||
|
|
||||||
|
with open(path) as xml:
|
||||||
|
self._lca = xmltodict.parse(xml.read())
|
||||||
|
|
||||||
|
# for vehicle in self._lca["library"]["vehicles"]['vehicle']:
|
||||||
|
# self._city.vehicles.append(Vehicle(vehicle['@id'], vehicle['@name'], vehicle['fuel_consumption_rate']['#text'],
|
||||||
|
# vehicle['fuel_consumption_rate']['@unit'], vehicle['carbon_emission_factor']['#text'],
|
||||||
|
# vehicle['carbon_emission_factor']['@unit']))
|
||||||
|
for brick in self._lca["library"]["building_materials"]['bricks']['brick']:
|
||||||
|
material_name = "brick"
|
||||||
|
self._city.materials.append(Material(material_name, brick['@id'], brick['@type'], brick['density']['#text'], brick['density']['@unit'],
|
||||||
|
brick['embodied_carbon']['#text'], brick['embodied_carbon']['@unit'], brick['recycling_ratio'],
|
||||||
|
brick['onsite_recycling_ratio'], brick['company_recycling_ratio'], brick['landfilling_ratio'],
|
||||||
|
brick['cost']['#text'], brick['cost']['@unit']))
|
||||||
|
for concrete in self._lca["library"]["building_materials"]['concretes']['concrete']:
|
||||||
|
material_name = "concrete"
|
||||||
|
self._city.materials.append(Material(material_name, concrete['@id'], brick['@type'], concrete['density']['#text'], concrete['density']['@unit'],
|
||||||
|
concrete['embodied_carbon']['#text'], concrete['embodied_carbon']['@unit'], concrete['recycling_ratio'],
|
||||||
|
concrete['onsite_recycling_ratio'], concrete['company_recycling_ratio'], concrete['landfilling_ratio'],
|
||||||
|
concrete['cost']['#text'], concrete['cost']['@unit']))
|
||||||
|
for glass in self._lca["library"]["building_materials"]['glasses']['glass']:
|
||||||
|
material_name = "glass"
|
||||||
|
self._city.materials.append(Material(material_name, glass['@id'], brick['@type'], glass['density']['#text'], glass['density']['@unit'],
|
||||||
|
glass['embodied_carbon']['#text'], glass['embodied_carbon']['@unit'], glass['recycling_ratio'],
|
||||||
|
glass['onsite_recycling_ratio'], glass['company_recycling_ratio'], glass['landfilling_ratio'],
|
||||||
|
glass['cost']['#text'], glass['cost']['@unit']))
|
||||||
|
|
||||||
|
for insulation in self._lca["library"]["building_materials"]['insulations']['insulation']:
|
||||||
|
material_name = "insulation"
|
||||||
|
self._city.materials.append(Material(material_name, insulation['@id'], brick['@type'], insulation['density']['#text'], insulation['density']['@unit'],
|
||||||
|
insulation['embodied_carbon']['#text'], insulation['embodied_carbon']['@unit'], insulation['recycling_ratio'],
|
||||||
|
insulation['onsite_recycling_ratio'], insulation['company_recycling_ratio'], insulation['landfilling_ratio'],
|
||||||
|
insulation['cost']['#text'], insulation['cost']['@unit']))
|
||||||
|
|
||||||
|
for wood in self._lca["library"]["building_materials"]['woods']['wood']:
|
||||||
|
material_name = "wood"
|
||||||
|
self._city.materials.append(Material(material_name, wood['@id'], brick['@type'], wood['density']['#text'], wood['density']['@unit'],
|
||||||
|
wood['embodied_carbon']['#text'], wood['embodied_carbon']['@unit'], wood['recycling_ratio'],
|
||||||
|
wood['onsite_recycling_ratio'], wood['company_recycling_ratio'], wood['landfilling_ratio'],
|
||||||
|
wood['cost']['#text'], wood['cost']['@unit']))
|
||||||
|
|
||||||
|
for covering in self._lca["library"]["building_materials"]['coverings']['covering']:
|
||||||
|
material_name = "covering"
|
||||||
|
self._city.materials.append(Material(material_name, covering['@id'], brick['@type'], covering['density']['#text'], covering['density']['@unit'],
|
||||||
|
covering['embodied_carbon']['#text'], covering['embodied_carbon']['@unit'], covering['recycling_ratio'],
|
||||||
|
covering['onsite_recycling_ratio'], covering['company_recycling_ratio'], covering['landfilling_ratio'],
|
||||||
|
covering['cost']['#text'], covering['cost']['@unit']))
|
||||||
|
|
||||||
|
for metal in self._lca["library"]["building_materials"]['metals']['metal']:
|
||||||
|
material_name = "metal"
|
||||||
|
self._city.materials.append(Material(material_name, metal['@id'], brick['@type'], metal['density']['#text'], metal['density']['@unit'],
|
||||||
|
metal['embodied_carbon']['#text'], metal['embodied_carbon']['@unit'], metal['recycling_ratio'],
|
||||||
|
metal['onsite_recycling_ratio'], metal['company_recycling_ratio'], metal['landfilling_ratio'],
|
||||||
|
metal['cost']['#text'], metal['cost']['@unit']))
|
@ -26,7 +26,6 @@ class TestLifeCycleAssessment(TestCase):
|
|||||||
city = GeometryFactory('citygml', city_file).city
|
city = GeometryFactory('citygml', city_file).city
|
||||||
LifeCycleAssessment('fuel', city).enrich()
|
LifeCycleAssessment('fuel', city).enrich()
|
||||||
for fuel in city.fuels:
|
for fuel in city.fuels:
|
||||||
# print(fuel.name)
|
|
||||||
self.assertTrue(len(city.fuels) > 0)
|
self.assertTrue(len(city.fuels) > 0)
|
||||||
|
|
||||||
def test_vehicle(self):
|
def test_vehicle(self):
|
||||||
@ -34,7 +33,6 @@ class TestLifeCycleAssessment(TestCase):
|
|||||||
city = GeometryFactory('citygml', city_file).city
|
city = GeometryFactory('citygml', city_file).city
|
||||||
LifeCycleAssessment('vehicle', city).enrich()
|
LifeCycleAssessment('vehicle', city).enrich()
|
||||||
for vehicle in city.vehicles:
|
for vehicle in city.vehicles:
|
||||||
# print(vehicle.name)
|
|
||||||
self.assertTrue(len(city.vehicles) > 0)
|
self.assertTrue(len(city.vehicles) > 0)
|
||||||
|
|
||||||
def test_machine(self):
|
def test_machine(self):
|
||||||
@ -42,7 +40,6 @@ class TestLifeCycleAssessment(TestCase):
|
|||||||
city = GeometryFactory('citygml', city_file).city
|
city = GeometryFactory('citygml', city_file).city
|
||||||
LifeCycleAssessment('machine', city).enrich()
|
LifeCycleAssessment('machine', city).enrich()
|
||||||
for machine in city.machines:
|
for machine in city.machines:
|
||||||
# print(machine.name)
|
|
||||||
self.assertTrue(len(city.machines) > 0)
|
self.assertTrue(len(city.machines) > 0)
|
||||||
|
|
||||||
def test_material(self):
|
def test_material(self):
|
||||||
@ -50,7 +47,6 @@ class TestLifeCycleAssessment(TestCase):
|
|||||||
city = GeometryFactory('citygml', city_file).city
|
city = GeometryFactory('citygml', city_file).city
|
||||||
LifeCycleAssessment('material', city).enrich()
|
LifeCycleAssessment('material', city).enrich()
|
||||||
for material in city.materials:
|
for material in city.materials:
|
||||||
print(material.material_name)
|
|
||||||
self.assertTrue(len(city.materials) > 0)
|
self.assertTrue(len(city.materials) > 0)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user