calculate embodied carbon for metals
This commit is contained in:
@@ -1,11 +1,14 @@
|
||||
from src.core.base import CarbonProcessor
|
||||
from src.core.types import ( MetalClass, WoodClass )
|
||||
from src.carbon.types import CarbonData
|
||||
from src.carbon.data import ( wood_factors, metal_factors )
|
||||
from src.applications.revit.utils.material_type_handler import (
|
||||
MaterialType,
|
||||
)
|
||||
from src.applications.revit.utils.constants import (
|
||||
PROPERTIES,
|
||||
)
|
||||
import json
|
||||
|
||||
class RevitCarbonProcessor(CarbonProcessor):
|
||||
"""Implementation of CarbonProcessor for Revit context."""
|
||||
@@ -23,12 +26,23 @@ class RevitCarbonProcessor(CarbonProcessor):
|
||||
print(material_type)
|
||||
|
||||
match material_type:
|
||||
case MaterialType.CONCRETE:
|
||||
case MaterialType.CONCRETE.value:
|
||||
# TODO
|
||||
pass
|
||||
case MaterialType.WOOD:
|
||||
case MaterialType.WOOD.value:
|
||||
# TODO
|
||||
pass
|
||||
case MaterialType.METAL:
|
||||
# TODO
|
||||
case MaterialType.METAL.value:
|
||||
material_quantities = model_object[PROPERTIES]["Material Quantities"]["FE_Steel"]
|
||||
volume, density = material_quantities.volume.value, material_quantities.density.value
|
||||
mass = volume * density
|
||||
|
||||
# Default to hot rolled
|
||||
factor = metal_factors[MetalClass.HOT_ROLLED]
|
||||
|
||||
embodied_carbon = mass * factor
|
||||
|
||||
model_object[PROPERTIES]["Embodied Carbon Data"]["category"] = MetalClass.HOT_ROLLED
|
||||
model_object[PROPERTIES]["Embodied Carbon Data"]["factor"] = factor
|
||||
model_object[PROPERTIES]["Embodied Carbon Data"]["embodied_carbon"] = embodied_carbon
|
||||
pass
|
||||
|
||||
Reference in New Issue
Block a user