solid brick wall external wall insulation

This commit is contained in:
Khalim Conn-Kowlessar 2023-06-20 18:52:00 +01:00
parent 4e8735cf76
commit 2f333ad38c

View file

@ -11,7 +11,7 @@ external_wall_insulation_parts = [
# -slab-ewi-render-fire/
"type": "external_wall_insulation",
"description": "Mineral Wool External Wall Insulation",
"depths": [30, 50, 70, 80, 90, 100],
"depths": [30, 50, 70, 80, 90, 100, 150, 200],
"depth_unit": "mm",
"cost": None,
"cost_unit": None,
@ -89,22 +89,24 @@ external_wall_insulation_parts = [
}
]
wall_parts = [
internal_wall_insulation_parts = [
{
"id": 1,
"type": "internal_wall_insulation",
"description": "Internal wall insulation",
"depth": None,
"depths": [30, 50, 70, 80, 90, 100, 150],
"depth_unit": "mm",
"cost": None,
"cost_unit": None,
# The u-value here is just a placehoder for now and we probably want to have multiple
# options for internal wall insulation (e.g. 50mm, 100mm, 150mm), with different material types
# and costs
"u_value": 0.3
},
"r_value_per_mm": 0.0278,
"r_value_unit": "m2K/W"
}
]
wall_parts = external_wall_insulation_parts + internal_wall_insulation_parts
class WallRecommendations:
YEAR_WALLS_BUILT_WITH_INSULATION = 1990
@ -174,6 +176,32 @@ class WallRecommendations:
}
)
if is_solid_brick:
# This is an estimated figure based on industry standards
u_value = self.DEFAULT_U_VALUES["solid_brick"]
# Recommend external and internal wall insulation
parts = [
part for part in wall_parts if part["type"] in ["external_wall_insulation", "internal_wall_insulation"]
]
for part in parts:
for depth in part["depths"]:
part_u_value = self.r_value_per_mm_to_u_value(depth, part["r_value_per_mm"])
_, new_u_value = self.calculate_u_value_uplift(u_value, part_u_value)
new_u_value = round(new_u_value, 2)
# We allow a small tolerance for error so we don't discount the recommendation entirely
# if it's close, since this is an estimated new u-value
if new_u_value - self.U_VALUE_ERROR <= self.BUILDING_REGULATIONS_PART_L_MAX_U_VALUE:
self.recommendations.append(
{
**part, "new_u_value": new_u_value,
}
)
raise NotImplementedError("Not implemented yet")
@staticmethod