Пример #1
0
        internal double LKVKierto(Constants.KK kuukausi)
        {
            var ala = _attrs.NetArea;

            // Kiertojohdon pituus taulukosta 6.7
            // TODO: to talo attributes
            var Llkv_omin = 0.2; // Kiertojohdon ominaispituus: Llkv, omin, m / m2
            // kiertojohdon eristys (taulukko 6.6)
            var Llkv_havio = 15; // kv, kiertohäviö, omin, W / m
            // TODO: varaajahäviöt pitäs laskee tähän
            // KOULU case, öljykattilan kanssa ei erillistä varaajaa, häviöt lasketaan erikseen.

            // kiertojohdon häviön teho
            var havioTeho = ala * Llkv_omin * Llkv_havio;
            //Debug.WriteLine($"[ERITE] LKV kierto häviö: {havioTeho} W.");

            //var tot_kwhs = 0d;
            //foreach (Constants.KK kuukausi in Enum.GetValues(typeof(Constants.KK)))
            //{
            // kiertojohdon häviö tammikuussa
            var kwht = havioTeho * HoursInMonth(kuukausi) / 1000;

            //    tot_kwhs += kwht;
            //}
            Debug.WriteLine($"[ERITE] {kuukausi.ToString()} LKV kierto häviö: {havioTeho} W, {kwht} kWh.");
            return(kwht);
        }
Пример #2
0
 private int HoursInMonth(Constants.KK month)
 {
     return(24 * DaysInMonth((int)month));
 }
Пример #3
0
        public double Kohta7LampokuormienHyodyntaminen(int kk)
        {
            Constants.KK kuukausi = (Constants.KK)kk;

            // johtumishäviöt, tammikuu (kts. Excel)
            var Qjoht = /*Qylapohja + Qikk + Qovet + Qulkoseina + Qalapohja*/ 1948.0;

            // Olemassa olevan rakennuksen yhteydessä voidaan laskea 10% johtumishäviöstä
            // kylmäsilloille. Uudiskohteelle lasketaan reunaviivat tms.
            var kylmasilta = 0.10 * Qjoht;

            //var tot_bs_response = 0d;
            //// TODO: tehdaanko kuukausittain, vai kokonaisvahennys
            //foreach (Constants.KK kuukausi in Enum.GetValues(typeof(Constants.KK)))
            //{

            // Lasketaan (kaava 3.2) Qtila = Qjoht + Qvuotoilma + Qiv,tuloilma + Qiv,korvausilma
            var Qvuoto     = _Qvuotoilmat[kuukausi]; // 271d; // tODO: tallenna välitulos per kuukausi
            var QivTulo    = 157d;                   // TODO: ^^sama
            var QivKorvaus = 0d;                     //< todo: onko se tulo tai korvaus
            var Qtila      = Qjoht + kylmasilta + Qvuoto + QivTulo + QivKorvaus;

            // Note. tuloilma tulee iv koneesta
            //       korvausilma tulee ikkunan raosta tai tuloilmaventtiilista

            // Rakennuksen tilojen ominaislampohavio
            double Htila  = 0d;
            var    deltaT = (_attrs.InTemp - _OutdoorTemp[kuukausi]);

            if (0 == deltaT)
            {
                deltaT = 0.01;              // valitse pieni
            }
            Htila = Qtila / (deltaT * HoursInMonth(kuukausi)) * 1000;


            // valitaan Crak = 70 Wh/m2K (taulukko 5.6)
            var Crak = 70d;     // TODO: katso taulukosta
                                // Rakennuksen aikavakio
            var Tau = (Crak * _attrs.NetArea) / (Htila);

            Debug.WriteLine($"[ERITE] Aikavakio: {Tau} h");
            // suhdeluku gamma (kaava 5.4)

            // Lämpökuormat tammikuussa:
            // - henkilöt, 131,2 kWh
            // - valaistus+sähkö, 263 kWh
            // - lämp.veden kierto 328 kWh (kts. 1010/2017, 18§) kerroin!
            // - aurinko ikkunoista
            var henkilot  = LampokuormaHenkiloista((int)kuukausi);
            var valaistus = ValaistusJaKulutussahko((int)kuukausi);
            var kierto    = 1.5 * LKVKierto(kuukausi);
            var aurinko   = Kohta6IkkunoidenKauttaTulevaSateilyEnergia((int)kuukausi);

            var lampoKuorma = henkilot + valaistus + kierto + aurinko;

            // Lampokuorman suhde lampohavioon
            var gamma = lampoKuorma / 2571d; // (5.14)
                                             // Numeerinen parametri a
            var a = 1 + Tau / 15;            // (5.13)
                                             // lämpökuorman hyödyntämisaste tassa kuussa
            var nlampo = (1 + Math.Pow(gamma, a)) / (1 + Math.Pow(gamma, a + 1));

            Debug.WriteLine($"[ERITE] Lampokuorman hyodyntamisaste kk: {kuukausi.ToString()}, arvo: {nlampo}");

            var Qlamm_tilat_netto = 2571d - nlampo * 616.2;     //< todo mitanaaoli?

            //tot_bs_response += Qlamm_tilat_netto;
            //}
            //return tot_bs_response;
            return(Qlamm_tilat_netto);
        }