import { A5BerechnungWaermeTransferMaxStroemeBauteile } from "#lib/Berechnungen/BedarfsausweisWohnen/A5BerechnungWaermeTransferMaxStroemeBauteile.js";


export function A6BerechnungWaermeTransferMaxStroemeLueftungGesamt() {

    const result = A5BerechnungWaermeTransferMaxStroemeBauteile(); 
    const ObjektNettoVolumenAlternativ = result.ObjektNettoVolumenAlternativ;
    const WaermeTransferKoeffizientBauteile = result.WaermeTransferKoeffizientBauteile;
    const maximaleTemperaturDifferenz = result.maximaleTemperaturDifferenz;
    const NettoGrundflaeche = result.NettoGrundflaeche;

    let GesamtLuftwechselN0 = 0;
    let GesamtLuftwechselN = 0;
    let WaermeKapazitaet = 0;
    let WaermeTransferKoeffizientLueftungN0 = 0;
    let maximalerWaermestromLueftungN0 = 0;
    let WaermeTransferKoeffizientGesamtN0 = 0;
    let maximalerWaermestromGesamtN0 = 0;
    let FaktorGebaeude = 0;
    let FaktorWin2 = 0;
    let FaktorWin1 = 0;
    let WaermeTransferKoeffizientLueftungN = 0;
    let maximalerWaermestromLueftungN = 0;
    let WaermeTransferKoeffizientGesamt = 0;
    let maximalerWaermestromGesamt = 0;
    let mechanischeLueftung = "";
    let maximaleHeizlast = 0;
    let LuftwechselAnlage = 0;
    let FlaechgenbezogeneHeizlast = 0;
    let GebaeudeSchwere = 0;
    let ZeitKonstante = 0;


    // Aus Tabelle 12 (I Einhaltung Dichtheit nach DIN 4108-7, Abluftanlage, LuftwechselAnlage=0,40)
    GesamtLuftwechselN0 = 0.52;
    LuftwechselAnlage = 0.40;

    // Konstante
    WaermeKapazitaet = 0.34;


    // Ermittlung FaktorWin2
    
    WaermeTransferKoeffizientLueftungN0 = GesamtLuftwechselN0 * WaermeKapazitaet * ObjektNettoVolumenAlternativ;
    maximalerWaermestromLueftungN0 = WaermeTransferKoeffizientLueftungN0 * maximaleTemperaturDifferenz;
    WaermeTransferKoeffizientGesamtN0 = WaermeTransferKoeffizientBauteile + WaermeTransferKoeffizientLueftungN0;
    maximalerWaermestromGesamtN0 = WaermeTransferKoeffizientGesamtN0 * maximaleTemperaturDifferenz;
    FaktorGebaeude = WaermeTransferKoeffizientGesamtN0 / NettoGrundflaeche;

    if (FaktorGebaeude < 1.2) {
        FaktorWin2 = 0.901
    } 
    else if (FaktorGebaeude >= 1.2 && FaktorGebaeude <= 1.7)
        {
            FaktorWin2 = 0.979
        }
    else if (FaktorGebaeude > 1.7)
        {
            FaktorWin2 = 1.066
        }

    // Aus Tabelle 13 ObjektNettoVolumenAlternativ <= 1500 (I Einhaltung Dichtheit nach DIN 4108-7, Abluftanlage, LuftwechselAnlage=0,40)
    FaktorWin1 = 0.193;

    // Berechnung WaermeTransferKoeffizientGesamt und maximalerWaermestromGesamt
    GesamtLuftwechselN = GesamtLuftwechselN0 * (1 - FaktorWin1 + FaktorWin1 * FaktorWin2);
    WaermeTransferKoeffizientLueftungN = GesamtLuftwechselN * WaermeKapazitaet * ObjektNettoVolumenAlternativ;
    maximalerWaermestromLueftungN = WaermeTransferKoeffizientLueftungN * maximaleTemperaturDifferenz;
    WaermeTransferKoeffizientGesamt = WaermeTransferKoeffizientBauteile + WaermeTransferKoeffizientLueftungN;
    maximalerWaermestromGesamt = WaermeTransferKoeffizientGesamt * maximaleTemperaturDifferenz;

    // Berechnung der maximalen Heizlast

    mechanischeLueftung = "ja"; // Aus Planung

    if (mechanischeLueftung = "ja") 
        {
        maximaleHeizlast = (WaermeTransferKoeffizientBauteile + WaermeTransferKoeffizientLueftungN - 0.5 * ObjektNettoVolumenAlternativ * WaermeKapazitaet * 
            (GesamtLuftwechselN0 - LuftwechselAnlage)) * maximaleTemperaturDifferenz;
        }
        else
        {
        maximaleHeizlast = (WaermeTransferKoeffizientBauteile + 0.5 * WaermeTransferKoeffizientLueftungN) * maximaleTemperaturDifferenz;
        }

    // Berechnung der flächenbezogenen Heizlast
        FlaechgenbezogeneHeizlast = maximaleHeizlast / NettoGrundflaeche;

    // Berechnung der Zeitkonstante (Gebäudeschwere 130 aus Planung)
        GebaeudeSchwere = 130;
        ZeitKonstante = GebaeudeSchwere * NettoGrundflaeche / WaermeTransferKoeffizientGesamt;

     return {

        GesamtLuftwechselN,
        ObjektNettoVolumenAlternativ,
        WaermeTransferKoeffizientLueftungN,
        maximalerWaermestromLueftungN,
        WaermeTransferKoeffizientGesamt,
        maximalerWaermestromGesamt,
        maximaleHeizlast,
        FlaechgenbezogeneHeizlast,
        ZeitKonstante,
		
	}
}