Skip to content

Commit 6c843c7

Browse files
committed
TSS za referenčno stavbo
1 parent e4c921d commit 6c843c7

40 files changed

+1270
-254
lines changed

config/app_default.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
'format' => "%message%\n",
1919
],
2020
'file' => 'php://stderr', /*LOGS . 'debug.log',*/
21-
'level' => \Monolog\Logger::WARNING,
21+
'level' => \Monolog\Logger::NOTICE,
2222
'cli' => true,
2323
],
2424
'error' => [

config/lookups.php

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,3 @@
145145
'zRegulacijo' => ['Cp1' => 0.75, 'Cp2' => 0.25],
146146
'spremenljivPretok' => ['Cp1' => 0.9, 'Cp2' => 0.1],
147147
];
148-
$lookups['faktorjiZaVrstoOgrevala'] = [
149-
'n_exp_ogr' => [1 => 1.33, 2 => 1.1, 3 => 1],
150-
'dP_FBH' => [1 => 0, 2 => 25, 3 => 0],
151-
];

src/Calc/GF/Cone/Cona.php

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,10 @@ protected function parseConfig($config)
190190
$vrsteLege = VrstaLegeStavbe::cases();
191191
$this->infiltracija->lega = $vrsteLege[$this->infiltracija->lega - 1];
192192
} else {
193-
$this->infiltracija->lega =
194-
VrstaLegeStavbe::from($config->infiltracija->lega ?? 'izpostavljena');
193+
$this->infiltracija->lega = gettype($config->infiltracija->lega) == 'object' &&
194+
get_class($config->infiltracija->lega) == VrstaLegeStavbe::class ?
195+
$config->infiltracija->lega :
196+
VrstaLegeStavbe::from($config->infiltracija->lega ?? 'izpostavljena');
195197
}
196198

197199
if (isset($this->infiltracija->zavetrovanost) && is_int($this->infiltracija->zavetrovanost)) {
@@ -201,6 +203,9 @@ protected function parseConfig($config)
201203
$vrsteZavetrovanosti[$this->infiltracija->zavetrovanost - 1];
202204
} else {
203205
$this->infiltracija->zavetrovanost =
206+
gettype($config->infiltracija->zavetrovanost) == 'object' &&
207+
get_class($config->infiltracija->zavetrovanost) == VrstaIzpostavljenostiFasad::class ?
208+
$config->infiltracija->zavetrovanost :
204209
VrstaIzpostavljenostiFasad::from(
205210
$config->infiltracija->zavetrovanost ?? 'izpostavljena'
206211
);
@@ -817,4 +822,29 @@ public function export()
817822

818823
return $cona;
819824
}
825+
826+
/**
827+
* Vrnje referenčni tss za predmetno cono, glede na vrsto $TSS
828+
*
829+
* @param string $TSS Za kateri sistem gre ('oht', 'prezracevanje', 'razsvetljava', 'fotovoltaika')
830+
* @return array
831+
*/
832+
public function referencniTSS(string $TSS): array
833+
{
834+
switch ($TSS) {
835+
case 'prezracevanje':
836+
$ret = $this->klasifikacija->referencniTSSPrezracevanja($this);
837+
break;
838+
case 'razsvetljava':
839+
$ret = $this->klasifikacija->referencniTSSRazsvetljava($this);
840+
break;
841+
case 'OHT':
842+
$ret = $this->klasifikacija->referencniTSSOHT($this);
843+
break;
844+
default:
845+
throw new \Exception(sprintf('Neznan TSS "%s"', $TSS));
846+
}
847+
848+
return $ret;
849+
}
820850
}

src/Calc/GF/Cone/KlasifikacijeCone/EnostanovanjskaKlasifikacijaCone.php

Lines changed: 229 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,235 @@ public function izracunTSVZaMesec(int $mesec, Cona $cona): float
4747
return $energijaTSV;
4848
}
4949

50+
/**
51+
* @inheritDoc
52+
*/
53+
public function letnoSteviloUrDelovanjaRazsvetljave(Cona $cona): array
54+
{
55+
return ['podnevi' => 1820, 'ponoci' => 1680];
56+
}
57+
58+
/**
59+
* @inheritDoc
60+
*/
61+
public function referencniTSSRazsvetljava(Cona $cona): array
62+
{
63+
/*
64+
- upošteva se število ur uporabe električne razsvetljave skladno s tabelo 8.17,
65+
- projektirana osvetljenost delovne površine 300 lx,
66+
- vgrajene so LEDsijalke s svetlobnim učinkom hL = 80 lm/W, po letu 2025 pa 95 lm/W,
67+
- faktor uporabe razsvetljave Fo = 1 (occupancy dependency factor),
68+
- faktor trajnosti svetilnosti svetilke Fc = 1 (constant illuminance dependency factor);
69+
- faktor vzdrževanja svetilk FMF = 1,
70+
- faktor oblike prostora k = 1,
71+
- faktor dnevne svetlobe FDS = 0,0 %,
72+
- faktor zmanjšanja projektne osvetlitve FCA kot pri obravnavani stavbi, upoštevajo se vrednosti iz tabele 8.23,
73+
- varnostne svetilke se ne upoštevajo v izračunu rabe energije za delovanje sistema razsvetljave.
74+
*/
75+
76+
$ret = new \stdClass();
77+
$ret->id = $cona->id;
78+
$ret->idCone = $cona->id;
79+
$ret->faktorOblike = 1;
80+
$ret->faktorDnevneSvetlobe = 0.0;
81+
82+
$ret->letnoUrPodnevi = 1820;
83+
$ret->letnoUrPonoci = 1820;
84+
85+
$ret->osvetlitevDelovnePovrsine = 300;
86+
$ret->ucinkovitostViraSvetlobe = 95;
87+
$ret->faktorPrisotnosti = 1;
88+
$ret->faktorVzdrzevanja = 1;
89+
$ret->faktorZmanjsanjaSvetlobnegaToka = 1; // temu v tabeli TSG rečejo tudi faktor trajnosti Fc
90+
$ret->faktorDnevneSvetlobe = 0;
91+
$ret->faktorZmanjsaneOsvetlitveDelovnePovrsine =
92+
$cona->razsvetljava->faktorZmanjsaneOsvetlitveDelovnePovrsine ?? 1;
93+
94+
return [$ret];
95+
}
96+
97+
/**
98+
* @inheritDoc
99+
*/
100+
public function referencniTSSPrezracevanja(Cona $cona): array
101+
{
102+
/*
103+
- mehansko prezračevanje z dovodom in odvodom zraka in vračanjem toplote, konstanten pretok zraka,
104+
- tesnost stavbe n50 = 1,5 h1; za rekonstruirane stavbe 2,0 h1,
105+
- temperaturni izkoristek prenosnika za vračanje senzibilne toplote je 65 %
106+
- tesno razvodno omrežje,
107+
- tesno ohišje AHU,
108+
- ne upošteva se segrevanje zraka v ventilatorjih;
109+
- prezračevanje je uravnoteženo, skladno z razredom AB 3, tabela 13 v standardu SIST EN 167983,
110+
- pogoni SFP 3 dovod (0,211 W/(m3/h)), SFP 2 dovod (0,142 W/(m3/s)), (tabela 14 v standardu SIST EN 167983,
111+
- z upoštevanjem sestavnih komponent, ki so navedene v tabeli 15 v standardu SIST EN 167983),
112+
- hibridno prezračevanje se ne upošteva,
113+
- brez predogrevanja in predhlajenja zraka za prezračevanje.
114+
*/
115+
$ret = new \stdClass();
116+
$ret->id = $cona->id;
117+
$ret->idCone = $cona->id;
118+
$ret->vrsta = 'centralni';
119+
$ret->razredH1H2 = true;
120+
$ret->mocSenzorjev = 0;
121+
$ret->razredH1H2 = true;
122+
123+
$ret->odvod = new \stdClass();
124+
$ret->odvod->filter = 'hepa';
125+
$ret->dovod = new \stdClass();
126+
$ret->dovod->filter = 'hepa';
127+
128+
$ret->volumenProjekt = $cona->netoProstornina / 2;
129+
130+
return [$ret];
131+
}
132+
133+
/**
134+
* @inheritDoc
135+
*/
136+
public function referencniTSSOHT(Cona $cona): array
137+
{
138+
/*
139+
- kombiniran sistem toplovodnega ogrevanja in TSV s hranilnikom TSV, ki je ogrevan s solarnim toplotnim
140+
sistemom in dogrevan z generatorjem toplote ogrevalnega sistema;
141+
- generator toplote: plinski kondenzacijski kotel, moč, določena pri referenčnih robnih pogojih za referenčno
142+
stavbo, namestitev znotraj toplotnega ovoja, izkoristek pri polni moči 105 % (spodnja kurilnost);
143+
učinkovitost pri delni obremenitvi in dodatna raba energije za delovanje generatorja se določita po
144+
generičnem modelu;
145+
- hranilnik TSV, ogrevan z generatorjem toplote ogrevalnega sistema, velikost po projektu obravnavane
146+
stavbe oziroma 0,8 l x Ause (Ause ≤ 1000 m2) ali 0,6 l > Ause (Ause > 1000 m2), če v obravnavani stavbi hranilnik
147+
solarnega toplotnega sistema ni vgrajen; toplotne izgube hranilnika se določijo z razredom učinkovitosti
148+
A (EU uredba 811/2013 in 812/2013);
149+
- dvocevni razvod 55/45 °C, hidravlično uravnotežen, nameščen v stavbi; dolžina cevovodov sistema
150+
ogrevanja in TSV po projektu obravnavane stavbe; če podatkov za obravnavo stavbo ni mogoče pridobiti
151+
ali je v obravnavani stavbi vgrajen drugačen ogrevalni sistem (npr. podno ogrevanje), se uporabi
152+
poenostavljena metoda dolžine cevovodov, navedena v dodatku B v standardu SIST EN 153163, če so
153+
izpolnjeni pogoji iz točke B 2.2.4 tega standarda;
154+
- razvod TSV brez recirkulacije; temperatura TSV 45°C/10°C; v večstanovanjskih stavbah TSV 55°C/10°C;
155+
- toplotni šok se izvaja 1 uro dnevno med 3. in 4. uro, temperatura TSV 70 °C;
156+
- debelina toplotne izolacije cevovodov 40 mm (d < 22 mm), premer cevi (25 < d < 100 mm) 60 mm, 100 mm
157+
za večje premere cevi; obtočne črpalke z vzdrževanjem konstantne tlačne razlike (s frekvenčno regulacijo);
158+
toplotne izgube cevovodov se določijo skladno s točko 6.4.1 v standardu SIST EN 153163;
159+
- ploščata ogrevala, s PI 1 K termostatskimi ventili.
160+
*/
161+
$ogrtsv = new \stdClass();
162+
$ogrtsv->id = $cona->id;
163+
$ogrtsv->idCone = $cona->id;
164+
$ogrtsv->vrsta = 'toplovodni';
165+
$ogrtsv->energent = 'zemeljskiPlin';
166+
$ogrtsv->generatorji = [];
167+
$ogrtsv->hranilniki = [];
168+
$ogrtsv->razvodi = [];
169+
$ogrtsv->prenosniki = [];
170+
171+
$ogrtsv->ogrevanje = new \stdClass();
172+
$ogrtsv->ogrevanje->rezim = '55/45';
173+
$ogrtsv->ogrevanje->generatorji = ['KOTEL'];
174+
$ogrtsv->ogrevanje->razvodi = ['OGREVANJE'];
175+
$ogrtsv->ogrevanje->prenosniki = ['TALNO'];
176+
177+
$generator = new \stdClass();
178+
$generator->id = 'KOTEL';
179+
$generator->vrsta = 'plinskiKotel';
180+
$generator->tip = 'kondenzacijski';
181+
$generator->regulacija = 'konstantnaTemperatura';
182+
$generator->izkoristekPolneObremenitve = 1.05;
183+
$ogrtsv->generatorji[] = $generator;
184+
185+
$razvod = new \stdClass();
186+
$razvod->id = 'OGREVANJE';
187+
$razvod->vrsta = 'dvocevni';
188+
$razvod->idPrenosnika = 'TALNO';
189+
$razvod->ceviHorizontaliVodi = new \stdClass();
190+
$razvod->ceviDvizniVodi = new \stdClass();
191+
$razvod->ceviPrikljucniVodi = new \stdClass();
192+
$razvod->crpalka = new \stdClass();
193+
$razvod->crpalka->regulacija = 'zRegulacijo';
194+
$ogrtsv->razvodi[] = $razvod;
195+
196+
$prenosnik = new \stdClass();
197+
$prenosnik->id = 'TALNO';
198+
$prenosnik->vrsta = 'ploskovnaOgrevala';
199+
$prenosnik->sistem = 'talno_mokri';
200+
$prenosnik->izolacija = '100%';
201+
$prenosnik->hidravlicnoUravnotezenje = 'staticnoDviznihVodov';
202+
$prenosnik->regulacijaTemperature = 'PI-krmilnik';
203+
$ogrtsv->prenosniki[] = $prenosnik;
204+
205+
$ogrtsv->tsv = new \stdClass();
206+
$ogrtsv->tsv->rezim = '40/30';
207+
$ogrtsv->tsv->generatorji = ['SSE', 'KOTEL'];
208+
$ogrtsv->tsv->razvodi = ['TSV'];
209+
$ogrtsv->tsv->hranilniki = ['TSVH'];
210+
211+
$razvodTSV = new \stdClass();
212+
$razvodTSV->id = 'TSV';
213+
$razvodTSV->vrsta = 'toplavoda';
214+
$razvodTSV->ceviHorizontaliVodi = new \stdClass();
215+
$razvodTSV->ceviDvizniVodi = new \stdClass();
216+
$razvodTSV->ceviPrikljucniVodi = new \stdClass();
217+
$ogrtsv->razvodi[] = $razvodTSV;
218+
219+
$razvodSolar = new \stdClass();
220+
$razvodSolar->id = 'TSV';
221+
$razvodSolar->vrsta = 'solar';
222+
$razvodSolar->idGeneratorja = 'SSE';
223+
$ogrtsv->razvodi[] = $razvodSolar;
224+
225+
$hranilnikTSV = new \stdClass();
226+
$hranilnikTSV->id = 'TSVH';
227+
$hranilnikTSV->vrsta = 'solarniPosrednoOgrevan';
228+
$hranilnikTSV->volumen = ($cona->ogrevanaPovrsina < 1000 ? 0.8 : 0.6) * $cona->ogrevanaPovrsina;
229+
$hranilnikTSV->istiProstorKotGrelnik = true;
230+
$hranilnikTSV->znotrajOvoja = true;
231+
$ogrtsv->hranilniki[] = $hranilnikTSV;
232+
233+
/*
234+
- TSV se pripravlja v kombinaciji sistema ogrevanja in solarnega toplotnega sistema; ravni selektivni SSE,
235+
površina SSE je 0,04 x Ause (m2) (St1) oziroma 0,03 x Ause (m2) (St2) in 0,05 x Ause (m2) (St3);
236+
- prostornina hranilnika TSV je 50 x ASSE (l); to velja tudi, če je na obravnavani stavbi predvidena
237+
drugačna površina SSE ali hranilnik;
238+
- konstrukcijske veličine naprav solarnega ogrevalnega sistema se privzamejo iz priloge B v standardu
239+
SIST EN 15316-4-3, in sicer iz točke B.2 (tipične vrednosti koeficientov učinkovitosti sprejemnikov sončne
240+
energije; ho, a1, Khem,50°), pri čemer se privzamejo vrednosti h0 = 0,8, a1 = 3,5, Khem,50° = 0,94, hloop,hx 0,9,
241+
B.3 (moč obtočne črpalke 25 + 2 x ASSE,tot (W), kjer je ASSE,tot skupna površina sprejemnikov sončne energije
242+
v m2), B.6 (koeficient toplotnih izgub solarnega hranilnika toplote H_sto,ls 20 x ASSE,tot (W/K)),
243+
B.11 (toplotne izgube cevovodov solarnega sistema H_loop,ls 5 + 0,5 v A_SSE,tot (W/K)) in
244+
B.12 v standardu SIST EN 1531643 kot tipične vrednosti;
245+
projektna temperatura za določitev toplotnih izgub je 55 °C, elementi solarnega ogrevalnega sistema
246+
(razen SSE) so v prostoru s temperaturo 20 °C; vračljive toplotne izgube so 0;
247+
- SSE so usmerjeni proti jugu z naklonom 30°, niso senčeni.
248+
*/
249+
250+
$generatorSSE = new \stdClass();
251+
$generatorSSE->id = 'SSE';
252+
$generatorSSE->vrsta = 'solarniPaneli';
253+
$generatorSSE->tip = 'zastekljen';
254+
$generatorSSE->povrsina = 0.04 * $cona->ogrevanaPovrsina;
255+
$generatorSSE->orientacija = 'J';
256+
$generatorSSE->naklon = 30;
257+
$generatorSSE->crpaka = new \stdClass();
258+
$generatorSSE->crpaka->moc = 25 + 2 * 0.04 * $cona->ogrevanaPovrsina;
259+
$ogrtsv->generatorji[] = $generatorSSE;
260+
261+
/*
262+
- multisplit sistem z direktnim uparjanjem, COPref = 3,0, toplotna moč, določena pri projektnih pogojih
263+
in referenčnih pogojih za referenčno stavbo;
264+
- upoštevajo se senčila, gsh = 0,15; algoritem Gglob,b > 300 W/m2;
265+
- nočno hlajenje s prezračevanjem ali drugi načini naravnega ali aktivnega naravnega hlajenja se ne upoštevajo;
266+
- TSS je vgrajen v referenčni stavbi, kadar je sistem izveden v obravnavani stavbi.
267+
*/
268+
$hlajenje = new \stdClass();
269+
$hlajenje->id = 'HLA';
270+
$hlajenje->idCone = $cona->id;
271+
$hlajenje->vrsta = 'splitHlajenje';
272+
$hlajenje->regulacija = 'prilagodljivoDelovanje';
273+
$hlajenje->multiSplit = true;
274+
$hlajenje->EER = 3;
275+
276+
return [$ogrtsv, $hlajenje];
277+
}
278+
50279
/**
51280
* @inheritDoc
52281
*/

0 commit comments

Comments
 (0)