Skip to content

Commit

Permalink
Small fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
malamalca committed Dec 13, 2023
1 parent ba510e2 commit 07fb96a
Show file tree
Hide file tree
Showing 3 changed files with 64 additions and 63 deletions.
65 changes: 32 additions & 33 deletions src/Calc/GF/TSS/OgrevalniSistemi/Podsistemi/Generatorji/Kotel.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@ class Kotel extends Generator
private array $beta_h_g;
private string $tipKotlaClass;

private array $porociloNizi = [];

/**
* Class Constructor
*
Expand Down Expand Up @@ -99,50 +97,52 @@ private function toplotneIzgubeTSV($vneseneIzgube, $sistem, $cona, $okolje, $par
// kombinirane kotle, obtočne grelnike in sisteme brez oziroma izklopljeno cirkulacijo 40°C.
$temperaturaVode = 40;

// specifične toplotne izgube kotla pri srednji temperaturi vode v kotlu 70°C [-]
// tabela 24
$q_w_g_70 = $this->tip->izgube70($this->nazivnaMoc);

// toplotne izgube grelnika (kotla) pri temperaturi kotla θ [°C] [-]
// enačba 134
$q_w_g_T = $q_w_g_70 * ($temperaturaVode - $temperaturaOkolice) / (70 - 20);

foreach (array_keys(Calc::MESECI) as $mesec) {
$stDni = cal_days_in_month(CAL_GREGORIAN, $mesec + 1, 2023);
$stUr = $stDni * 24;
$stDniTSV = $stDni;
$stUrNaDanTSV = 24;

// izračunam čas, ki je potreben za pripravo TSV
// todo: excel ne upošteva
// enačba 152
$stUrTSV = $vneseneIzgube[$mesec] / ($this->nazivnaMoc * 24);
$stUrTSV = 0;

// Mesečni računski obratovalni dnevi
// enačba 46
$d_h_rod = 0;

// enačba 116
// čas delovanja kotla pri nazivni moči za zagotavljanje toplote za toplo vodo [h]
// enačba 158
$t_w_100 = $vneseneIzgube[$mesec] / ($this->nazivnaMoc * $stDniTSV);

// Potrebna toplota grelnika (kotla) za toplo vodo [kWh] (enačba 114)
// enačba 114
$Q_w_out_g = $vneseneIzgube[$mesec] * $stDni / $stDniTSV;

// dnevne toplotne izgube grelnika (kotla) pri obratovanju z nazivno močjo [kWh]
// enačba 132
$Q_w_g_l_100 = ($sistem->energent->maksimalniIzkoristek() - $izk100) / $izk100 * $Q_w_out_g / $stDniTSV;

// dnevne toplotne izgube grelnika (kotla) v stanju obratovalne pripravljenosti [kWh]
// todo: to se v excelu ne upošteva, bi pa morali prišteti v enačbi 131
// enačba 133
$Q_w_g_l_P0 = $q_w_g_T * $this->nazivnaMoc / $izk100 * ($stUrNaDanTSV - $t_w_100) *
$sistem->energent->maksimalniIzkoristek();

// Toplotne izgube grelnika
// enačba 131
$Q_w_g_l = $Q_w_g_l_100 * $stDniTSV;

////////////////////////////////////////////////////////////////////////////////////////////////////////////
$this->toplotneIzgube['tsv'][$mesec] = $Q_w_g_l;

// Potrebna električna energija za delovanje kotla Ww,g,aux
// enačba 158
$t_w_100 = $vneseneIzgube[$mesec] / ($this->nazivnaMoc * $stDniTSV);

// specifične toplotne izgube kotla pri srednji temperaturi vode v kotlu 70°C [-]
// tabela 24
$q_w_g_70 = $this->tip->izgube70($this->nazivnaMoc);

// enačba 134
$q_w_g_T = $q_w_g_70 * ($temperaturaVode - $temperaturaOkolice) / (70 - 20);

$q_s = $this->tip->faktorIzgubSkoziOvoj() * $q_w_g_T;

// iz excela
// todo: nepoznana enačba
$Q_w_g_rwg_env = $q_s * $this->nazivnaMoc / $izk100 *
$Q_w_g_rwg_env = $this->tip->faktorIzgubSkoziOvoj() * $q_w_g_T * $this->nazivnaMoc / $izk100 *
($t_w_100 * $stDniTSV + ($stUrNaDanTSV - $t_w_100) * ($stDniTSV - $d_h_rod));

$this->vracljiveIzgube[$mesec] = ($this->vracljiveIzgube[$mesec] ?? 0) + $Q_w_g_rwg_env;
Expand Down Expand Up @@ -175,11 +175,12 @@ private function toplotneIzgubeOgrevanje($vneseneIzgube, $sistem, $cona, $okolje
foreach (array_keys(Calc::MESECI) as $mesec) {
$stDni = cal_days_in_month(CAL_GREGORIAN, $mesec + 1, 2023);
$stUr = $stDni * 24;
$stUrNaDanTSV = 24;

// izračunam čas, ki je potreben za pripravo TSV
// časovni interval potreben za pripravo tople vode [h]
// todo: Excel ne upošteva
// enačba 152
$stUrTSV = $cona->energijaTSV[$mesec] / ($this->nazivnaMoc * 24);
// enačba 158
$stUrTSV = $cona->energijaTSV[$mesec] / ($this->nazivnaMoc * $stUrNaDanTSV);
$stUrTSV = 0;

// th – mesečne obratovalne ure – čas [h/M]
Expand Down Expand Up @@ -425,13 +426,7 @@ public function obnovljivaEnergija($vneseneIzgube, $sistem, $cona, $okolje, $par
*/
public function export()
{
$sistem = parent::export();
$sistem->lokacija = $this->lokacija->value;
$sistem->nazivnaMoc = $this->nazivnaMoc;

$sistem->porociloNizi = $this->porociloNizi;

$sistem->porociloPodatki = [
$this->porociloPodatki = [
new TSSPorociloPodatek(
'η<sub>H,gen,Pn</sub>',
'Izkoristek polne obremenitve',
Expand All @@ -448,6 +443,10 @@ public function export()
),
];

$sistem = parent::export();
$sistem->lokacija = $this->lokacija->value;
$sistem->nazivnaMoc = $this->nazivnaMoc;

return $sistem;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -255,12 +255,6 @@ public function potrebnaElektricnaEnergija($vneseneIzgube, $sistem, $cona, $okol
*/
public function export()
{
$sistem = parent::export();
$sistem->podnebje = $this->podnebje;
$sistem->nazivnaMoc = $this->nazivnaMoc;
$sistem->elektricnaMocNaPrimarnemKrogu = $this->elektricnaMocNaPrimarnemKrogu;
$sistem->elektricnaMocNaSekundarnemKrogu = $this->elektricnaMocNaSekundarnemKrogu;

$E_tc = [0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00];
if (isset($this->E_tc['ogrevanje']) || isset($this->E_tc['tsv']) || isset($this->E_tc['hlajenje'])) {
if (isset($this->E_tc['ogrevanje'])) {
Expand All @@ -276,30 +270,32 @@ public function export()
$E_tc = $this->E_tc;
}

$sistem->porociloNizi = [
new TSSPorociloNiz(
'E<sub>TČ</sub>',
'Energija za delovanje TČ',
$E_tc,
1
),
];

$sistem->porociloPodatki = [
new TSSPorociloPodatek('', 'Podnebje', $this->podnebje, '-'),
new TSSPorociloPodatek(
'P<sub>prim,aux</sub>',
'El. moč na primarnem krogu',
$this->elektricnaMocNaPrimarnemKrogu,
'W'
),
new TSSPorociloPodatek(
'P<sub>sek,aux</sub>',
'El. moč na sekundarnem krogu',
$this->elektricnaMocNaSekundarnemKrogu,
'W'
),
];
$this->porociloNizi[] = new TSSPorociloNiz(
'E<sub>TČ</sub>',
'Energija za delovanje TČ',
$E_tc,
1
);

$this->porociloPodatki[] = new TSSPorociloPodatek('', 'Podnebje', $this->podnebje, '-');
$this->porociloPodatki[] = new TSSPorociloPodatek(
'P<sub>prim,aux</sub>',
'El. moč na primarnem krogu',
$this->elektricnaMocNaPrimarnemKrogu,
'W'
);
$this->porociloPodatki[] = new TSSPorociloPodatek(
'P<sub>sek,aux</sub>',
'El. moč na sekundarnem krogu',
$this->elektricnaMocNaSekundarnemKrogu,
'W'
);

$sistem = parent::export();
$sistem->podnebje = $this->podnebje;
$sistem->nazivnaMoc = $this->nazivnaMoc;
$sistem->elektricnaMocNaPrimarnemKrogu = $this->elektricnaMocNaPrimarnemKrogu;
$sistem->elektricnaMocNaSekundarnemKrogu = $this->elektricnaMocNaSekundarnemKrogu;

return $sistem;
}
Expand Down
6 changes: 6 additions & 0 deletions src/Calc/GF/TSS/TSSInterface.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ abstract class TSSInterface
public array $vracljiveIzgubeTSV = [];
public array $vracljiveIzgubeAux = [];

protected array $porociloNizi = [];
protected array $porociloPodatki = [];

/**
* Analiza podsistema
*
Expand Down Expand Up @@ -49,6 +52,9 @@ public function export()
$sistem->vracljiveIzgubeTSV = $this->vracljiveIzgubeTSV;
$sistem->vracljiveIzgubeAux = $this->vracljiveIzgubeAux;

$sistem->porociloNizi = $this->porociloNizi;
$sistem->porociloPodatki = $this->porociloPodatki;

return $sistem;
}
}

0 comments on commit 07fb96a

Please sign in to comment.