# -*- coding: utf-8 -*-
"""
@author: Vaclav Miklas

Nazev: CHLAZENI
===============================================================================
UVOD

Tento skript  obsahuje tzv. nouzove chladice, ktere se na BPS pouzivaji k
mareni nadbytecneho tepla. Materialova bilance je v tomto pripade bezpredmetna,
proto obsahuje pouze funkci EnerBilance. Pokud je cely tento skript importovan,
obsazena funkce je volana zpusobem: chlazeni.EnerBilance(argumenty).
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
POKYNY K FUNKCI EnerBilance

Argumenty:

vysledkyEBF ... 2-clenne pole vysledku funkce fermentace.EnerBilance
vysledkyKGJ ... 5-clenne pole vysledku funkce KGJ.EnerBilance
vysledkyEBO ... 2-clenne pole vysledku funkce ostatni.EnerBilance
vysledkyMSF ... 13-clenne pole vysledku funkce MSF.MSF
R ... pomer chladici vykon/spotreba el. energie; predstavuje ucinnost
      cirkulacniho chladice, pricemz plati nasledujici tridy ucinnosti:
          A+ ... R >= 226
          A ... 169 <= R < 226
          B ... 109 <= R < 169
          C ... 69 <= R < 109
          D ... 37 <= R < 69
          E ... R < 37
      
Priklad volani:
    chlazeni.EnerBilance(vysledkyEBF, vysledkyKGJ, vysledkyEBO, vysledkyEBO, R)

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

def EnerBilance(vysledkyEBF, vysledkyKGJ, vysledkyEBO, vysledkyMSF, R):
    # Prebytkove teplo v BPS:
    Q = vysledkyEBF[1] + vysledkyKGJ[1] + vysledkyEBO[1] + vysledkyMSF[-5]
    # Potreba elektricke energie:
    E = Q/R
    # Vystup funkce. Tim, ze je zaporne vzato prebytkove teplo, bude nyni 
    # celkova tepelna bilance BPS rovna nule.
    return -E, -Q