"""
@author: Vaclav Miklas

Nazev: OSTATNI ZARIZENI
===============================================================================
UVOD

Tento skript  predstavuje zpusob, jak zahrnout spotreby (ci produkce) tepelne 
a elektricke energie dalsich zarizeni. Obsahuje energetickou bilanci. Do budoucna
lze pridat funkci materialove bilance. Pokud je cely tento skript naimportovan,
obsazena funkce je volana zpusobem: ostatni.EnerBilance(argumenty).
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
POKYNY K FUNKCI EnerBilance

Argumenty:
vysledkyMB ... 14-clenne pole vysledku funkce fermentace.MatBilance
vysledkyKGJ ... 5-clenne pole vysledku funkce KGJ.EnerBilance
E_abs ... suma elektricke spotreby ostatnich zarizeni [kWe]
Q_abs ... suma tepelnych spotreb ostatnich zarizeni [kWt]
E_kWe ... suma mernych spotreb elektricke energie, na 1 kW elektrickeho
          vykonu BPS [kWe/kWe]
Q_kWe ... suma mernych spotreb tepelne energie, na 1 kW elektrickeho
          vykonu BPS [kWt/kWe]
E_t ... suma mernych spotreb elektricke energie, vztazenych na denni mnozstvi 
        zpracovaneho vstupniho substratu [kWe/t]
Q_t ... suma mernych spotreb tepelne energie, vztazenych na denni mnozstvi 
        zpracovaneho vstupniho substratu [kWt/t]
        
        Pozn. V ramci jednotlivych sum v argumentech teto funkce jsou spotreby
              vzaty kladne. Produkce lze zahrnout se zapornym znamenkem. Plati 
              tedy konvence spotreba (+), produkce (-).

Priklad volani:
    ostatni.EnerBilance(vysledkyMBF, vysledkyKGJ, E, Q, E_kWe, Q_kWe, E_t, Q_t)

Pozn. Vysledky EnerBilance jsou ve forme dvou clenu - prvni vyjadruje 
      elektrickou spotrebu v kW, druhy tepelnou spotrebu v tychz jednotkach.
===============================================================================
"""

def EnerBilance (vysledkyMBF, vysledkyKGJ, E_abs, Q_abs, E_kWe, Q_kWe, E_t, Q_t):
    # Spotreba elektricke energie:
    E = E_abs + E_kWe * vysledkyKGJ[0] + E_t * vysledkyMBF[0] * 24 / 1000
    # Spotreba tepelne energie:
    Q = Q_abs + Q_kWe * vysledkyKGJ[0] + Q_t * vysledkyMBF[0] * 24 / 1000
    # Vystup funkce.
    return -E, -Q