mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
Slice 23: 000516 detailed RR + exposed_floor + door_count fixture lodgement
Mirrors S16a for 000516 — the second Simplified-Type-1 fallback fixture in the cohort. PDF lodges detailed §3.10 RR + exposed Main floor + 2 doors; fixture previously lodged only `SapRoomInRoof( floor_area=19.02)` Simplified fallback + `is_exposed_floor=False` + `door_count=1`. Lodgement changes: - `detailed_surfaces` on the Main RR: 7 surfaces per PDF §3 lines (30)/(32) — 1 flat ceiling 3.56 m² uninsulated, 2 stud walls 3.88 m² @ 100mm mineral_wool (Table 17 col 3a → U=0.36), 2 slopes 6.41 m² uninsulated (U=2.30), 2 gable walls 13.11 m² treated as party at U=0.25. - `is_exposed_floor=True` on Main floor=0 (28b "Exposed floor Main 35.76 × U=1.20"). Floor sits over an unheated space, not earth. - `roof_insulation_thickness=0` on Main — PDF (30) "External roof Main 15.56 × U=2.30" UNINSULATED Table 16 "none" row. - `door_count` 1 → 2 to match PDF (26) total area 3.70 m² = 2 × 1.85. Impact on §3 cascade pins: pin | before slice 23 | after slice 23 ----------|-----------------|--------------- LINE_31 | +20.37 m² Δ | +0.0025 m² Δ (sub-display) LINE_33 | -6.75 W/K Δ | -0.82 W/K Δ (rooflight gap, slice 25) LINE_36 | +3.06 W/K Δ | +0.0004 W/K Δ (sub-display) LINE_37 | -6.75 W/K Δ | -0.82 W/K Δ Remaining 0.82 W/K LINE_33 gap is the rooflight: PDF lodges a 1.18 m² roof window on line (27a) at U_eff=2.9930 (Table 24 metal-frame pre-2002 raw 3.4 + curtain). Our §3 cascade doesn't yet incorporate roof windows — they're defined in SECTION_6_ROOF_WINDOWS for solar gains but not in the heat-transmission path. Slice 25 will add (27a) line-ref handling. §3 cascade pin count unchanged at 23 FAIL / 1 PASS — the 000516 residuals dropped 10× but still > abs=1e-4. The downstream §4-§12 cascade for 000516 likely tightens once §3 closes. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
6be8fdb7b6
commit
ac68cf88a0
1 changed files with 42 additions and 1 deletions
|
|
@ -29,6 +29,7 @@ from datatypes.epc.domain.epc_property_data import (
|
|||
SapBuildingPart,
|
||||
SapFloorDimension,
|
||||
SapRoomInRoof,
|
||||
SapRoomInRoofSurface,
|
||||
SapVentilation,
|
||||
SapWindow,
|
||||
)
|
||||
|
|
@ -67,6 +68,11 @@ def build_epc() -> EpcPropertyData:
|
|||
total_floor_area_m2=35.76,
|
||||
party_wall_length_m=18.14, heat_loss_perimeter_m=7.89,
|
||||
floor=0,
|
||||
# 000516 line: "Exposed floor Main 35.76 × U=1.20" (28b)
|
||||
# — the Main ground floor sits over an unheated space
|
||||
# (passageway / over-garage), not earth. Routes via
|
||||
# Table 20 (`u_exposed_floor`) to U=1.20.
|
||||
is_exposed_floor=True,
|
||||
),
|
||||
SapFloorDimension(
|
||||
room_height_m=3.00, # = 2.75 internal + 0.25 floor structure
|
||||
|
|
@ -77,7 +83,39 @@ def build_epc() -> EpcPropertyData:
|
|||
],
|
||||
sap_room_in_roof=SapRoomInRoof(
|
||||
floor_area=19.02, construction_age_band="A",
|
||||
# 000516 §3.10 RR detailed surfaces: 2 stud walls @ 100mm
|
||||
# (Table 17 col 3a → 0.36), 2 slopes uninsulated (col 1a
|
||||
# "none" → 2.30), 1 flat ceiling uninsulated (col 2a "none"
|
||||
# → 2.30), 2 gable walls treated as party at U=0.25.
|
||||
detailed_surfaces=[
|
||||
SapRoomInRoofSurface(
|
||||
kind="flat_ceiling", area_m2=3.56,
|
||||
insulation_thickness_mm=0,
|
||||
),
|
||||
SapRoomInRoofSurface(
|
||||
kind="stud_wall", area_m2=3.88,
|
||||
insulation_thickness_mm=100, insulation_type="mineral_wool",
|
||||
),
|
||||
SapRoomInRoofSurface(
|
||||
kind="stud_wall", area_m2=3.88,
|
||||
insulation_thickness_mm=100, insulation_type="mineral_wool",
|
||||
),
|
||||
SapRoomInRoofSurface(
|
||||
kind="slope", area_m2=6.41,
|
||||
insulation_thickness_mm=0,
|
||||
),
|
||||
SapRoomInRoofSurface(
|
||||
kind="slope", area_m2=6.41,
|
||||
insulation_thickness_mm=0,
|
||||
),
|
||||
SapRoomInRoofSurface(kind="gable_wall", area_m2=13.11),
|
||||
SapRoomInRoofSurface(kind="gable_wall", area_m2=13.11),
|
||||
],
|
||||
),
|
||||
# 000516 line: "External roof Main 16.74 - 1.18 = 15.56 × U=2.30"
|
||||
# (30) — uninsulated storey-below roof. Lodge thickness=0 so the
|
||||
# u_roof cascade picks the Table 16 "none" row.
|
||||
roof_insulation_thickness=0,
|
||||
wall_thickness_mm=400,
|
||||
)
|
||||
return make_minimal_sap10_epc(
|
||||
|
|
@ -86,7 +124,10 @@ def build_epc() -> EpcPropertyData:
|
|||
sap_building_parts=[main],
|
||||
habitable_rooms_count=3,
|
||||
heated_rooms_count=3,
|
||||
door_count=1,
|
||||
# 000516 PDF (26) lodges total door area 3.70 m² = 2 × _DEFAULT_DOOR_
|
||||
# AREA_M2 (1.85). Same as 000477/000480 — single worksheet entry
|
||||
# but the area resolves to 2 physical doors.
|
||||
door_count=2,
|
||||
percent_draughtproofed=75,
|
||||
low_energy_fixed_lighting_bulbs_count=SECTION_5_BULB_COUNT_LEL,
|
||||
sap_windows=list(SECTION_6_VERTICAL_WINDOWS),
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue