# wandrekenaar.py - U-waarden met lagen en houtstijlen, en het warmteverlies van de klimaatmodule
RSI, RSI_OMLAAG, RSE = 0.13, 0.17, 0.04       # overgangsweerstanden (m2 K/W)


def R_totaal(lagen, rsi=RSI, rse=RSE):
    """lagen: lijst van (dikte in m, lambda in W/(m K))."""
    return rsi + sum(d / lam for d, lam in lagen) + rse


def U_met_hout(lagen_iso, lagen_hout, f_hout, rsi=RSI):
    """Twee parallelle wegen: door de isolatie en door het hout (aandeel f_hout)."""
    return (1 - f_hout) / R_totaal(lagen_iso, rsi) + f_hout / R_totaal(lagen_hout, rsi)


OSB, WOL, VUREN, VEZEL = 0.13, 0.035, 0.13, 0.045
U_wand = U_met_hout([(0.015, OSB), (0.145, WOL), (0.040, VEZEL)],
                    [(0.015, OSB), (0.145, VUREN), (0.040, VEZEL)], 0.12)
U_vloer = U_met_hout([(0.018, OSB), (0.145, WOL), (0.040, VEZEL)],
                     [(0.018, OSB), (0.145, VUREN), (0.040, VEZEL)], 45 / 400, RSI_OMLAAG)
U_dak = 2.0                                    # meerwandig polycarbonaat 16 mm (fabrikant)

delen = [("kasdak", 5.30, U_dak), ("wanden", 16.32, U_wand), ("vloer", 4.80, U_vloer)]
H = 0.0
for naam, A, U in delen:
    print(f"{naam:7s} A = {A:5.2f} m2   U = {U:.3f}   U*A = {U * A:5.2f} W/K")
    H += U * A
H_kb = 0.15 * 9.21                             # aluminium kader rond het kasdak: psi maal lengte
H_vent = 1.20 * 1005 * 11 / 3600               # 11 m3 lucht per uur verversen
H += H_kb + H_vent
print(f"koudebruggen {H_kb:.2f} W/K, ventilatie {H_vent:.2f} W/K")
print(f"totaal H = {H:.1f} W/K")
for T_buiten in (-8, 0, 4):
    print(f"buiten {T_buiten:3d} C: {H * (20 - T_buiten):4.0f} W")
