# filamentkeuze.py - hoe warm wordt een 3D-print in de kas, en welk filament houdt dat uit?
T_LUCHT = 32.0        # hoogste luchttemperatuur in de kas (graden Celsius), zonnige aprildag
G = 600.0             # zonlicht op het onderdeel, achter de kaswand (W/m2)
H = 15.0              # warmteoverdracht naar de lucht bij stilstaande lucht (W/(m2 K))
MARGE = 15.0          # vuistregel: Tg minstens 15 graden boven de temperatuur van het onderdeel

KLEUREN = {"zwart": 0.95, "grijs": 0.60, "wit": 0.25}      # welk deel van het zonlicht de kleur opneemt
TG = {"PLA": 57, "PETG": 80, "ASA": 100, "ABS": 105}       # glasovergangstemperatuur (graden Celsius)


def temperatuur(absorptie, t_lucht=T_LUCHT, g=G, h=H):
    """Evenwicht: opgenomen zonlicht = afgegeven warmte, dus absorptie * g = h * (T - t_lucht)."""
    return t_lucht + absorptie * g / h


if __name__ == "__main__":
    for kleur, a in KLEUREN.items():
        t = temperatuur(a)
        goed = [naam for naam, tg in TG.items() if tg >= t + MARGE]
        print(f"{kleur:5s}: {t:5.1f} graden -> geschikt: {', '.join(goed) or 'geen'}")
