The calculator exposes the dwelling design heat loss for heat-pump sizing 🟩

design_heat_loss_kw = annual-average HLC x 24.2 K (SAP design temperature
difference) / 1000, the quantity Appendix N's PSR divides a heat pump's
rated output by — surfaced so the ASHP recommendation can size the pump.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Khalim Conn-Kowlessar 2026-07-03 10:17:42 +00:00
parent cd4ed81185
commit 039df7ae87

View file

@ -65,6 +65,11 @@ from domain.sap10_calculator.worksheet.rating import (
_AIR_HEAT_CAPACITY_WH_PER_M3_K: Final[float] = 0.33
_TIME_CONSTANT_DIVISOR_KJ_TO_WH: Final[float] = 3.6
# SAP design temperature difference (21 C internal - -3.2 C external): the delta
# the design heat loss and Appendix N's PSR are evaluated at (matches
# `_SAP_DESIGN_HEAT_LOSS_DELTA_T_K` in rdsap.cert_to_inputs).
_DESIGN_HEAT_LOSS_DELTA_T_K: Final[float] = 24.2
_WATTS_PER_KW: Final[float] = 1000.0
# §9a default — used as `CalculatorInputs.energy_requirements` default for
# synthetic constructions that bypass cert_to_inputs. All-zero fuel; the
@ -877,7 +882,9 @@ def calculate_sap_from_inputs(inputs: CalculatorInputs) -> SapResult:
space_heating_kwh_per_yr=space_heating_kwh,
space_cooling_kwh_per_yr=space_cooling_kwh,
fabric_energy_efficiency_kwh_per_m2_yr=inputs.fabric_energy_efficiency_kwh_per_m2_yr,
design_heat_loss_kw=0.0, # stub — computed in GREEN
design_heat_loss_kw=(sum(monthly_hlc) / 12.0)
* _DESIGN_HEAT_LOSS_DELTA_T_K
/ _WATTS_PER_KW,
main_heating_fuel_kwh_per_yr=main_fuel_kwh,
main_2_heating_fuel_kwh_per_yr=inputs.energy_requirements.main_2_fuel_kwh_per_yr,
secondary_heating_fuel_kwh_per_yr=secondary_fuel_kwh,