Programm Dokumentation/Berechnung/Simulationsablauf: Unterschied zwischen den Versionen
Weitere Optionen
Epos (Diskussion | Beiträge) H13: Hilferubrik Berechnung aus EPOS-Plan (Stand 06.09.2026) |
Epos (Diskussion | Beiträge) H13: Hilferubrik Berechnung aus EPOS-Plan (Stand 06.09.2026) |
||
| Zeile 1: | Zeile 1: | ||
<!-- EPOS-Plan Hilferubrik Berechnung | Seite: Simulationsablauf | Stand: 2026-09-06 | Rechenkern: | <!-- EPOS-Plan Hilferubrik Berechnung | Seite: Simulationsablauf | Stand: 2026-09-06 (Fassung 2: Formelzeichen und Notation) | Rechenkern: | ||
EPOS.Kern/Allgemein/Simulation/SimulationRunner.cs, EPOS.Kern/Allgemein/Simulation/SimulationControl.cs, | EPOS.Kern/Allgemein/Simulation/SimulationRunner.cs, EPOS.Kern/Allgemein/Simulation/SimulationControl.cs, | ||
EPOS.Kern/Allgemein/Simulation/Kaskade.cs, EPOS.Kern/Allgemein/Simulation/Kaskadenschleife.cs, | EPOS.Kern/Allgemein/Simulation/Kaskade.cs, EPOS.Kern/Allgemein/Simulation/Kaskadenschleife.cs, | ||
| Zeile 24: | Zeile 24: | ||
| Klimaregion des Projekts || — || Projektverwaltung, Feld „Klimaregion"; fehlt sie, bricht der Lauf ab | | Klimaregion des Projekts || — || Projektverwaltung, Feld „Klimaregion"; fehlt sie, bricht der Lauf ab | ||
|- | |- | ||
| Waermebedarf, stuendlich || kWh | | Waermebedarf, stuendlich || kWh || wird zu Beginn des Laufs gerechnet, siehe [[Programm Dokumentation/Berechnung/Wärmebedarf|Berechnung: Wärmebedarf]] | ||
|- | |- | ||
| Strombedarf, viertelstuendlich || | | Strombedarf, viertelstuendlich || kW || wird zu Beginn des Laufs gerechnet, siehe [[Programm Dokumentation/Berechnung/Strombedarf|Berechnung: Strombedarf]] | ||
|- | |- | ||
| Netzverluste und ihre Einheit || % oder kWh/a || Simulationskonfiguration, Feld „Netzverluste" | | Netzverluste und ihre Einheit || % oder kWh/a || Simulationskonfiguration, Feld „Netzverluste" | ||
| Zeile 43: | Zeile 43: | ||
|- | |- | ||
| Extrapolation der Waermepumpen-Kennlinie || ja/nein || Simulationskonfiguration; ohne Konfigurationssatz gilt „erlaubt" | | Extrapolation der Waermepumpen-Kennlinie || ja/nein || Simulationskonfiguration; ohne Konfigurationssatz gilt „erlaubt" | ||
|} | |||
== Formelzeichen und Parameter == | |||
=== Parameter === | |||
Was in den Lauf hereinkommt: | |||
{| class="wikitable" | |||
! Symbol !! Bedeutung !! Einheit !! Herkunft | |||
|- | |||
| t || Stunde des Jahres, t = 1 … 8 760 || — || Zeitraster der Waermerechnung (Konstante: 8 760 Stunden je Jahr) | |||
|- | |||
| k || Viertelstunde des Jahres, k = 1 … 35 040 || — || Zeitraster der Stromrechnung (Konstante: 35 040 = 8 760 · 4) | |||
|- | |||
| i || Tagesindex des ersten Wochenend-Samstags, i = 0 … 13 || — || Wochenendkennzeichen der Klimadaten der Projektregion | |||
|- | |||
| Δt(L) || Versatz Ortszeit − UTC in der Stunde L || h || Konstante: 1 h in der Normalzeit (MEZ), 2 h in der Sommerzeit (MESZ) | |||
|- | |||
| r<sub>Lade</sub>(A) || Ladepriorität der Anlage A, r<sub>Lade</sub> = 1 … 99 || — || Erzeugerkarte, Feld „Ladepriorität"; Vorgabe nach Grenzkosten: 10 Solarthermie, 20 Waermepumpe, 30 BHKW, 40 Heizkessel, 50 sonstige; nicht gepflegt = 99 | |||
|- | |||
| s<sub>ein</sub> || Einschaltschwelle eines Pufferspeichers || % || Speicherregelung; Vorgabe: 10 | |||
|- | |||
| s<sub>aus</sub> || Abschaltschwelle eines Pufferspeichers || % || Speicherregelung; Vorgabe: 95 | |||
|- | |||
| Q<sub>Sp,max</sub> || nutzbare Kapazitaet eines Pufferspeichers || kWh || Pufferspeicherkatalog, siehe [[Programm Dokumentation/Berechnung/Pufferspeicher|Berechnung: Pufferspeicher]] | |||
|} | |||
=== Variablen === | |||
Was der Lauf selbst bildet: | |||
{| class="wikitable" | |||
! Symbol !! Bedeutung !! Einheit !! berechnet in | |||
|- | |||
| w || Wochentag des 1. Januar, w = 0 (Montag) … 6 (Sonntag) || — || (3) | |||
|- | |||
| L || Ortszeit-Index einer Klimadatenstunde, L = 0 … 8 759 || — || (4) | |||
|- | |||
| U || UTC-Index derselben Stunde in der gelieferten Reihe || — || (4) | |||
|- | |||
| P(k) || Wert einer Viertelstundenreihe (Leistung) || kW || je nach Reihe: Strombedarf, Erzeugung, Netzbezug | |||
|- | |||
| Q(t) || Wert einer Stundenreihe (Waermemenge) || kWh || je nach Reihe: Bedarf, Erzeugung, Speicherinhalt | |||
|- | |||
| E<sub>a</sub> || Jahresmenge einer Viertelstundenreihe || MWh || (1) | |||
|- | |||
| Q<sub>a</sub> || Jahresmenge einer Stundenreihe || MWh || (2) | |||
|- | |||
| Q<sub>Sp</sub>(t) || Inhalt eines Pufferspeichers in der Stunde t || kWh || (6), (7) | |||
|- | |||
| Q<sub>offen</sub>(t) || nach der Kaskade ungedeckter Waermebedarf der Stunde t || kWh || Ergebnis der Kaskade | |||
|- | |||
| P<sub>Netz</sub>(k) || nach Photovoltaik und Speicher verbleibender Netzbezug || kW || Ergebnis der Phasen 3 und 4 | |||
|- | |||
| Q<sub>Rest</sub> || Restwaermebedarf des Laufs || MWh || (8) | |||
|- | |||
| E<sub>Rest</sub> || Reststrombedarf des Laufs (Netzbezug) || MWh || (9) | |||
|} | |} | ||
| Zeile 50: | Zeile 108: | ||
Waerme wird in '''8 760 Stunden''' je Jahr gefuehrt, Strom in '''35 040 Viertelstunden''' | Waerme wird in '''8 760 Stunden''' je Jahr gefuehrt, Strom in '''35 040 Viertelstunden''' | ||
(8 760 × 4). Das Jahr hat immer 365 Tage; einen 29. Februar kennt der Rechenkern nicht. | (8 760 × 4). Das Jahr hat immer 365 Tage; einen 29. Februar kennt der Rechenkern nicht. | ||
Die Werte einer Viertelstundenreihe sind '''Leistungen''' [kW] — ein Stundenwert, der ins | |||
Viertelstundenraster gespreizt wird, steht in allen vier Vierteln gleich hoch und wird | |||
nicht geviertelt. Deshalb steht in der Jahressumme der Teiler 4 000 (= 4 Viertel je Stunde · | |||
1 000 kWh je MWh) und in der Stundenreihe der Teiler 1 000: | |||
: <big>E<sub>a</sub> = ( Σ<sub>k=1…35 040</sub> P(k) ) / 4 000</big> (1) | |||
: <big>Q<sub>a</sub> = ( Σ<sub>t=1…8 760</sub> Q(t) ) / 1 000</big> (2) | |||
=== 2. Vorpruefungen — der Lauf bricht ab, wenn === | === 2. Vorpruefungen — der Lauf bricht ab, wenn === | ||
| Zeile 73: | Zeile 132: | ||
Vor jedem Erzeuger werden Waerme- und Strombedarf gerechnet. Beide benutzen '''denselben | Vor jedem Erzeuger werden Waerme- und Strombedarf gerechnet. Beide benutzen '''denselben | ||
Kalender''': Der Wochentag des 1. Januar wird aus den Wochenendkennzeichen der Klimadaten | Kalender''': Der Wochentag des 1. Januar wird aus den Wochenendkennzeichen der Klimadaten | ||
abgeleitet und von der Waermerechnung an die Stromrechnung weitergegeben. Damit kacheln | abgeleitet und von der Waermerechnung an die Stromrechnung weitergegeben. Steht der Samstag | ||
Gebaeudeprofile, Brauchwasser, Prozesswaerme und Stromprofile auf denselben Wochentagen. | des ersten Wochenendpaares am Tagesindex ''i'', so gilt | ||
: <big>w = (5 − i) mod 7</big> (3) | |||
Damit kacheln Gebaeudeprofile, Brauchwasser, Prozesswaerme und Stromprofile auf denselben | |||
Wochentagen. Die Einzelheiten der Suche nach ''i'' — und der Rueckfallwert, wenn es kein | |||
Wochenendpaar gibt — stehen unter | |||
[[Programm Dokumentation/Berechnung/Wärmebedarf|Berechnung: Wärmebedarf]], Schritt 1. | |||
Der Waermebedarf entsteht in '''drei Kanaelen''' und wird auch so weitergereicht: | Der Waermebedarf entsteht in '''drei Kanaelen''' und wird auch so weitergereicht: | ||
{| class="wikitable" | |||
! Kanal !! Inhalt | |||
|- | |||
| 0 || Heizung | |||
|- | |||
| 1 || Brauchwasser | |||
|- | |||
| 2 || Prozesswaerme | |||
|} | |||
=== 4. Zeitbasis der Klimadaten: Ortszeit === | === 4. Zeitbasis der Klimadaten: Ortszeit === | ||
| Zeile 86: | Zeile 157: | ||
Die Klimadatenreihe einer Region wird von PVGIS in '''UTC''' geliefert, Lastgaenge und | Die Klimadatenreihe einer Region wird von PVGIS in '''UTC''' geliefert, Lastgaenge und | ||
Profile laufen dagegen in '''Ortszeit'''. Der Rechenkern verschiebt die Reihe deshalb beim | Profile laufen dagegen in '''Ortszeit'''. Der Rechenkern verschiebt die Reihe deshalb beim | ||
Lesen: | Lesen: Zum Ortszeit-Index ''L'' gehoert der gelieferte Index | ||
: <big>U = L − Δt(L), und U = U + 8 760 fuer U < 0</big> (4) | |||
Fuer den Versatz gilt Δt(L) = 1 h in der Normalzeit (MEZ) und Δt(L) = 2 h in der Sommerzeit | |||
(MESZ); der Jahresumlauf im zweiten Teil von (4) fasst den Fall „1. Januar 00:00 MEZ = | |||
31. Dezember 23:00 UTC". | |||
Die Sommerzeit laeuft nach der EU-Regel vom letzten Maerzsonntag 02:00 Ortszeit bis zum | Die Sommerzeit laeuft nach der EU-Regel vom letzten Maerzsonntag 02:00 Ortszeit bis zum | ||
| Zeile 140: | Zeile 213: | ||
Die Reihenfolge der Bedarfsdeckung (Schritt 2 oben) ist die '''Kaskade'''. Die Reihenfolge | Die Reihenfolge der Bedarfsdeckung (Schritt 2 oben) ist die '''Kaskade'''. Die Reihenfolge | ||
des Ladens ist eine andere: Sie folgt der Ladepriorität, und | des Ladens ist eine andere: Sie folgt der Ladepriorität, und die '''kleinere''' Zahl laedt | ||
zuerst: | |||
: <big>r<sub>Lade</sub>(A) < r<sub>Lade</sub>(B) → Anlage A laedt vor Anlage B</big> (5) | |||
Die Vorgabewerte stehen nach Grenzkosten: | |||
Von Hand ist jeder Wert von '''1 bis 99''' einstellbar | {| class="wikitable" | ||
Anlage ohne gepflegte Priorität wird wie '''99''' behandelt, steht also hinter jeder | ! Anlagenart !! r<sub>Lade</sub> !! warum dieser Platz | ||
konfigurierten Anlage. | |- | ||
| Solarthermie || 10 || Grenzkosten nahe null — nicht genutzte Einstrahlung ist verloren | |||
|- | |||
| Waermepumpe || 20 || Strompreis / Jahresarbeitszahl; profitiert vom leeren Speicher | |||
|- | |||
| BHKW || 30 || Waerme ist Koppelprodukt, Bewertung haengt an der Stromgutschrift | |||
|- | |||
| Heizkessel || 40 || hoechste Grenzkosten — soll nur nachheizen | |||
|- | |||
| Sonstige || 50 || | |||
|} | |||
Von Hand ist jeder Wert von '''1 bis 99''' einstellbar. Eine Anlage ohne gepflegte Priorität | |||
wird wie '''99''' behandelt, steht also hinter jeder konfigurierten Anlage. | |||
=== 8. Speicherregelung === | === 8. Speicherregelung === | ||
Ein Puffer wird mit '''Hysterese''' gefahren: Unterschreitet der Fuellstand die | Ein Puffer wird mit '''Hysterese''' gefahren: Unterschreitet der Fuellstand die | ||
Einschaltschwelle, wird geladen, bis die Abschaltschwelle erreicht ist. | Einschaltschwelle, wird geladen, bis die Abschaltschwelle erreicht ist. | ||
Die Abschaltschwelle liegt bewusst unter 100 %, weil die Bereitschaftsverluste den | : <big>Ladebeginn, wenn Q<sub>Sp</sub>(t) < (s<sub>ein</sub> / 100) · Q<sub>Sp,max</sub></big> (6) | ||
Fuellstand laufend absenken. | : <big>Ladeende, wenn Q<sub>Sp</sub>(t) ≥ (s<sub>aus</sub> / 100) · Q<sub>Sp,max</sub></big> (7) | ||
Ohne eigene Vorgabe gelten s<sub>ein</sub> = 10 % und s<sub>aus</sub> = 95 % der nutzbaren | |||
Kapazitaet. Die Abschaltschwelle liegt bewusst unter 100 %, weil die Bereitschaftsverluste | |||
den Fuellstand laufend absenken. | |||
=== 9. Warnkriterien am Laufstart === | === 9. Warnkriterien am Laufstart === | ||
| Zeile 180: | Zeile 262: | ||
=== 10. Abschluss === | === 10. Abschluss === | ||
Was die Kaskade offen gelassen hat und was nach Photovoltaik und Speicher noch aus dem Netz | |||
kommt, sind die zwei Restmengen des Laufs — gebildet nach denselben Regeln (1) und (2): | |||
: <big>Q<sub>Rest</sub> = ( Σ<sub>t=1…8 760</sub> Q<sub>offen</sub>(t) ) / 1 000</big> (8) | |||
: <big>E<sub>Rest</sub> = ( Σ<sub>k=1…35 040</sub> P<sub>Netz</sub>(k) ) / 4 000</big> (9) | |||
Danach bildet der Lauf die Speicherkennzahlen (mittlerer und maximaler Fuellstand, | Danach bildet der Lauf die Speicherkennzahlen (mittlerer und maximaler Fuellstand, | ||
Vollzyklen) und die Eingangsgroessen der Auslegungspruefung fuer Erdreichquellen. | Vollzyklen) und die Eingangsgroessen der Auslegungspruefung fuer Erdreichquellen. | ||
| Zeile 192: | Zeile 276: | ||
* '''Stundenaufloesung in der Waerme.''' Vorgaenge innerhalb einer Stunde (Takten, Anfahrverluste, Regelschwingungen) bildet der Lauf nicht ab. | * '''Stundenaufloesung in der Waerme.''' Vorgaenge innerhalb einer Stunde (Takten, Anfahrverluste, Regelschwingungen) bildet der Lauf nicht ab. | ||
* '''Keine Hydraulik im engeren Sinn.''' Rohrnetze, Druckverluste, Pumpen und Mischer werden nicht gerechnet; die Netzverluste sind ein pauschaler Aufschlag. | * '''Keine Hydraulik im engeren Sinn.''' Rohrnetze, Druckverluste, Pumpen und Mischer werden nicht gerechnet; die Netzverluste sind ein pauschaler Aufschlag. | ||
* '''Zwei Umstellstunden je Jahr''' liegen wegen des starren Rasters doppelt bzw. gar nicht vor (siehe Schritt 4). Sie liegen nachts und veraendern die Jahressumme der Einstrahlung nicht. | * '''Zwei Umstellstunden je Jahr''' liegen wegen des starren Rasters doppelt bzw. gar nicht vor (siehe Schritt 4 und Gleichung (4)). Sie liegen nachts und veraendern die Jahressumme der Einstrahlung nicht. | ||
* '''Ein Lauf zur Zeit.''' Der Rechenkern ist nicht darauf ausgelegt, zwei Simulationen gleichzeitig zu fahren. | * '''Ein Lauf zur Zeit.''' Der Rechenkern ist nicht darauf ausgelegt, zwei Simulationen gleichzeitig zu fahren. | ||
* '''Kein Ergebnis bei Abbruch.''' Bricht eine Stufe ab, wird nichts gespeichert — statt eines halben Ergebnisses gibt es eine Meldung im Laufprotokoll. | * '''Kein Ergebnis bei Abbruch.''' Bricht eine Stufe ab, wird nichts gespeichert — statt eines halben Ergebnisses gibt es eine Meldung im Laufprotokoll. | ||
| Zeile 199: | Zeile 283: | ||
* '''Simulationsergebnis''', Reiter „Parameter" — die Einstellungen, mit denen gerechnet wurde. | * '''Simulationsergebnis''', Reiter „Parameter" — die Einstellungen, mit denen gerechnet wurde. | ||
* '''Simulationsergebnis''', Reiter „Übersicht" — Jahresmengen und Deckungsgrade je Erzeuger, | * '''Simulationsergebnis''', Reiter „Übersicht" — Jahresmengen und Deckungsgrade je Erzeuger, Q<sub>Rest</sub> nach (8) und E<sub>Rest</sub> nach (9). | ||
* '''Simulationsergebnis''', Reiter „Wärme-/Strombedarf" — die Jahresganglinien und die Jahresdauerlinien des Bedarfs. | * '''Simulationsergebnis''', Reiter „Wärme-/Strombedarf" — die Jahresganglinien und die Jahresdauerlinien des Bedarfs. | ||
* '''Simulationsergebnis''', je ein Reiter pro beteiligtem Erzeuger. | * '''Simulationsergebnis''', je ein Reiter pro beteiligtem Erzeuger. | ||
Version vom 6. September 2026, 20:29 Uhr
Was berechnet wird
Ein Simulationslauf rechnet ein volles Jahr durch und beantwortet damit die Frage, welcher Erzeuger wann wie viel deckt. Ergebnis sind die Stundenganglinien von Bedarf, Produktion und Speicherfuellstand, die Jahresmengen je Erzeuger, der Restwaermebedarf und der Reststrombedarf (das, was aus dem Netz kommt) — die Grundlage aller Kennzahlen, des Berichts und der Wirtschaftlichkeitsrechnung.
Der Lauf rechnet nicht die Waerme- und Strommengen selbst, sondern setzt sie voraus: Zuerst wird der Bedarf gebildet, dann arbeiten die Erzeuger ihn ab.
Eingangsgrößen
| Groesse | Einheit | Herkunft im Programm |
|---|---|---|
| Klimaregion des Projekts | — | Projektverwaltung, Feld „Klimaregion"; fehlt sie, bricht der Lauf ab |
| Waermebedarf, stuendlich | kWh | wird zu Beginn des Laufs gerechnet, siehe Berechnung: Wärmebedarf |
| Strombedarf, viertelstuendlich | kW | wird zu Beginn des Laufs gerechnet, siehe Berechnung: Strombedarf |
| Netzverluste und ihre Einheit | % oder kWh/a | Simulationskonfiguration, Feld „Netzverluste" |
| Kaskadenbelegung Platz 1 bis 4 | — | Simulationskonfiguration, Bereich „Waermeerzeuger" (Platz 1 = hoechste Prioritaet) |
| Stromerzeuger | — | Simulationskonfiguration, Bereich „Stromerzeuger" (Photovoltaik) |
| Energiespeicher | — | Simulationskonfiguration, Bereich „Energiespeicher" (Stromspeicher) |
| Ladepriorität je Anlage | 1…99 | Erzeugerkarte der Simulationskonfiguration; nicht gepflegt = 99 |
| Ein- und Abschaltschwelle je Puffer | % der Kapazitaet | Speicherregelung in der Simulationskonfiguration |
| Knappheitsreihenfolge der Kanaele | — | Einstellungen; Vorbelegung Brauchwasser, Prozess, Heizung |
| Extrapolation der Waermepumpen-Kennlinie | ja/nein | Simulationskonfiguration; ohne Konfigurationssatz gilt „erlaubt" |
Formelzeichen und Parameter
Parameter
Was in den Lauf hereinkommt:
| Symbol | Bedeutung | Einheit | Herkunft |
|---|---|---|---|
| t | Stunde des Jahres, t = 1 … 8 760 | — | Zeitraster der Waermerechnung (Konstante: 8 760 Stunden je Jahr) |
| k | Viertelstunde des Jahres, k = 1 … 35 040 | — | Zeitraster der Stromrechnung (Konstante: 35 040 = 8 760 · 4) |
| i | Tagesindex des ersten Wochenend-Samstags, i = 0 … 13 | — | Wochenendkennzeichen der Klimadaten der Projektregion |
| Δt(L) | Versatz Ortszeit − UTC in der Stunde L | h | Konstante: 1 h in der Normalzeit (MEZ), 2 h in der Sommerzeit (MESZ) |
| rLade(A) | Ladepriorität der Anlage A, rLade = 1 … 99 | — | Erzeugerkarte, Feld „Ladepriorität"; Vorgabe nach Grenzkosten: 10 Solarthermie, 20 Waermepumpe, 30 BHKW, 40 Heizkessel, 50 sonstige; nicht gepflegt = 99 |
| sein | Einschaltschwelle eines Pufferspeichers | % | Speicherregelung; Vorgabe: 10 |
| saus | Abschaltschwelle eines Pufferspeichers | % | Speicherregelung; Vorgabe: 95 |
| QSp,max | nutzbare Kapazitaet eines Pufferspeichers | kWh | Pufferspeicherkatalog, siehe Berechnung: Pufferspeicher |
Variablen
Was der Lauf selbst bildet:
| Symbol | Bedeutung | Einheit | berechnet in |
|---|---|---|---|
| w | Wochentag des 1. Januar, w = 0 (Montag) … 6 (Sonntag) | — | (3) |
| L | Ortszeit-Index einer Klimadatenstunde, L = 0 … 8 759 | — | (4) |
| U | UTC-Index derselben Stunde in der gelieferten Reihe | — | (4) |
| P(k) | Wert einer Viertelstundenreihe (Leistung) | kW | je nach Reihe: Strombedarf, Erzeugung, Netzbezug |
| Q(t) | Wert einer Stundenreihe (Waermemenge) | kWh | je nach Reihe: Bedarf, Erzeugung, Speicherinhalt |
| Ea | Jahresmenge einer Viertelstundenreihe | MWh | (1) |
| Qa | Jahresmenge einer Stundenreihe | MWh | (2) |
| QSp(t) | Inhalt eines Pufferspeichers in der Stunde t | kWh | (6), (7) |
| Qoffen(t) | nach der Kaskade ungedeckter Waermebedarf der Stunde t | kWh | Ergebnis der Kaskade |
| PNetz(k) | nach Photovoltaik und Speicher verbleibender Netzbezug | kW | Ergebnis der Phasen 3 und 4 |
| QRest | Restwaermebedarf des Laufs | MWh | (8) |
| ERest | Reststrombedarf des Laufs (Netzbezug) | MWh | (9) |
Rechenweg
1. Zeitraster
Waerme wird in 8 760 Stunden je Jahr gefuehrt, Strom in 35 040 Viertelstunden (8 760 × 4). Das Jahr hat immer 365 Tage; einen 29. Februar kennt der Rechenkern nicht.
Die Werte einer Viertelstundenreihe sind Leistungen [kW] — ein Stundenwert, der ins Viertelstundenraster gespreizt wird, steht in allen vier Vierteln gleich hoch und wird nicht geviertelt. Deshalb steht in der Jahressumme der Teiler 4 000 (= 4 Viertel je Stunde · 1 000 kWh je MWh) und in der Stundenreihe der Teiler 1 000:
- Ea = ( Σk=1…35 040 P(k) ) / 4 000 (1)
- Qa = ( Σt=1…8 760 Q(t) ) / 1 000 (2)
2. Vorpruefungen — der Lauf bricht ab, wenn
- die Datenbankmigration nicht abgeschlossen ist,
- das Projekt keinen Konfigurationssatz hat,
- die Netzverluste in Prozent angegeben sind und ueber 100 % liegen,
- das Projekt keine Klimaregion traegt,
- die Strombedarfsrechnung selbst abbricht.
Der Abbruch ist bewusst hart: Ein Lauf, der mit leerem Stromprofil weiterrechnet, liefert ein Ergebnis, das vollstaendig aussieht und keines ist.
3. Bedarf zuerst
Vor jedem Erzeuger werden Waerme- und Strombedarf gerechnet. Beide benutzen denselben Kalender: Der Wochentag des 1. Januar wird aus den Wochenendkennzeichen der Klimadaten abgeleitet und von der Waermerechnung an die Stromrechnung weitergegeben. Steht der Samstag des ersten Wochenendpaares am Tagesindex i, so gilt
- w = (5 − i) mod 7 (3)
Damit kacheln Gebaeudeprofile, Brauchwasser, Prozesswaerme und Stromprofile auf denselben Wochentagen. Die Einzelheiten der Suche nach i — und der Rueckfallwert, wenn es kein Wochenendpaar gibt — stehen unter Berechnung: Wärmebedarf, Schritt 1.
Der Waermebedarf entsteht in drei Kanaelen und wird auch so weitergereicht:
| Kanal | Inhalt |
|---|---|
| 0 | Heizung |
| 1 | Brauchwasser |
| 2 | Prozesswaerme |
4. Zeitbasis der Klimadaten: Ortszeit
Die Klimadatenreihe einer Region wird von PVGIS in UTC geliefert, Lastgaenge und Profile laufen dagegen in Ortszeit. Der Rechenkern verschiebt die Reihe deshalb beim Lesen: Zum Ortszeit-Index L gehoert der gelieferte Index
- U = L − Δt(L), und U = U + 8 760 fuer U < 0 (4)
Fuer den Versatz gilt Δt(L) = 1 h in der Normalzeit (MEZ) und Δt(L) = 2 h in der Sommerzeit (MESZ); der Jahresumlauf im zweiten Teil von (4) fasst den Fall „1. Januar 00:00 MEZ = 31. Dezember 23:00 UTC".
Die Sommerzeit laeuft nach der EU-Regel vom letzten Maerzsonntag 02:00 Ortszeit bis zum letzten Oktobersonntag 03:00 Ortszeit; die Regel ist im Rechenkern fest hinterlegt, damit das Ergebnis eines Laufs nicht von der Zeitzonentabelle des Rechners abhaengt. Weil das Raster starre 8 760 Faecher hat, wird an der Fruehjahrsumstellung eine UTC-Stunde doppelt gelesen und an der Herbstumstellung eine ausgelassen. Beide liegen nachts; Einstrahlung und Sonnenwinkel sind dort null.
Verschoben werden immer ganze Zeilen — Einstrahlung, Sonnenwinkel und Aussentemperatur einer Stunde bleiben zusammen.
5. Der Lauf in fuenf Phasen
| Phase | Was geschieht | Fortschritt |
|---|---|---|
| Start | Vorpruefungen, Speicherregister aufbauen, Warnkriterien melden | 0 % |
| Kaskade | die Waermeerzeuger decken den Waermebedarf | ab 10 % |
| Photovoltaik | PV-Erzeugung wird vom Reststrombedarf abgezogen | ab 60 % |
| Stromspeicher | die Entladung des Speichers senkt den Netzbezug weiter | ab 75 % |
| Abschluss | Restmengen, Speicherkennzahlen, Erdreichauswertung | ab 90 % |
Ein Abbruch durch den Anwender wirkt nur zwischen den Phasen. Mitten in der Kaskade abzubrechen hiesse, mit halb gefuellten Kanaelen zurueckzubleiben.
6. Die Kaskade — was in EINER Stunde geschieht
Die vier Waermeerzeuger-Plaetze werden in ihrer Reihenfolge abgearbeitet: Platz 1 deckt so viel wie moeglich, Platz 2 uebernimmt den Rest derselben Stunde, und so fort. Innerhalb der Stunde laeuft immer dieselbe Folge:
- Vorabentladung — die Pufferspeicher decken Bedarf aus ihrem Inhalt, Kanal fuer Kanal in der Knappheitsreihenfolge, je Kanal in der Entladereihenfolge der Speicher.
- Bedarfsdeckung — die Erzeugerstufen in Kaskadenreihenfolge; jede Anlage deckt ueber ihre Direktsenken in deren Rangfolge.
- Ladephasen — Rang fuer Rang aufsteigend: alle Puffersenken des Rangs 1 aller Anlagen, dann Rang 2, dann Rang 3 — dabei kaskadenuebergreifend nach Ladepriorität dieser Stunde.
- Nachentladung — die Speicher decken den dann noch offenen Bedarf.
- Heizstab — auf den verbleibenden Kanalrest.
- Stundenabschluss je Speicher — genau einmal je Stunde.
Der Grund fuer diese Ordnung: Zwei Erzeuger, die denselben Speicher bedienen, muessen in derselben Stundenschleife laufen. Ein Modul, das sein ganzes Jahr fuer sich durchrechnet, gaebe der naechsten Stufe einen Fuellstand vom Silvesterabend in ihre Stunde 0.
7. Ladepriorität — wer den Speicher zuerst fuellen darf
Die Reihenfolge der Bedarfsdeckung (Schritt 2 oben) ist die Kaskade. Die Reihenfolge des Ladens ist eine andere: Sie folgt der Ladepriorität, und die kleinere Zahl laedt zuerst:
- rLade(A) < rLade(B) → Anlage A laedt vor Anlage B (5)
Die Vorgabewerte stehen nach Grenzkosten:
| Anlagenart | rLade | warum dieser Platz |
|---|---|---|
| Solarthermie | 10 | Grenzkosten nahe null — nicht genutzte Einstrahlung ist verloren |
| Waermepumpe | 20 | Strompreis / Jahresarbeitszahl; profitiert vom leeren Speicher |
| BHKW | 30 | Waerme ist Koppelprodukt, Bewertung haengt an der Stromgutschrift |
| Heizkessel | 40 | hoechste Grenzkosten — soll nur nachheizen |
| Sonstige | 50 |
Von Hand ist jeder Wert von 1 bis 99 einstellbar. Eine Anlage ohne gepflegte Priorität wird wie 99 behandelt, steht also hinter jeder konfigurierten Anlage.
8. Speicherregelung
Ein Puffer wird mit Hysterese gefahren: Unterschreitet der Fuellstand die Einschaltschwelle, wird geladen, bis die Abschaltschwelle erreicht ist.
- Ladebeginn, wenn QSp(t) < (sein / 100) · QSp,max (6)
- Ladeende, wenn QSp(t) ≥ (saus / 100) · QSp,max (7)
Ohne eigene Vorgabe gelten sein = 10 % und saus = 95 % der nutzbaren Kapazitaet. Die Abschaltschwelle liegt bewusst unter 100 %, weil die Bereitschaftsverluste den Fuellstand laufend absenken.
9. Warnkriterien am Laufstart
Vor der ersten Stunde prueft der Lauf die Zuordnung von Erzeugern und Speichern und meldet ins Laufprotokoll. Zuordnungen sind frei — aber nur sinnvolle bleiben unkommentiert:
- W1 Ladeziel liegt ausserhalb des Klassen-Sets des Speichers (geladen wuerde mit einem Zweck, den der Speicher nie entlaedt).
- W2 Bauform des Speichers widerspricht dem Klassen-Set.
- W3 Erzeuger-Vorlauf liegt unter dem wirksamen Vorlauf oder unter der Nutztemperatur des Zielspeichers.
- W4 Nutztemperatur liegt ueber dem wirksamen Vorlauf — der Lauf klemmt sie.
- W5 ein als Waermequelle konfigurierter Puffer hat keinen einzigen Lader.
- W6 Schichtung am Leitspeicher eines Parallelverbunds — wird abgewiesen, nicht nur gemeldet.
- hart Kurzschluss (Quelle ist zugleich eigenes Ladeziel), Ring in der Kaskadenkette, leeres Klassen-Set.
10. Abschluss
Was die Kaskade offen gelassen hat und was nach Photovoltaik und Speicher noch aus dem Netz kommt, sind die zwei Restmengen des Laufs — gebildet nach denselben Regeln (1) und (2):
- QRest = ( Σt=1…8 760 Qoffen(t) ) / 1 000 (8)
- ERest = ( Σk=1…35 040 PNetz(k) ) / 4 000 (9)
Danach bildet der Lauf die Speicherkennzahlen (mittlerer und maximaler Fuellstand, Vollzyklen) und die Eingangsgroessen der Auslegungspruefung fuer Erdreichquellen.
Grenzen und Annahmen
- Ein Jahr, keine Alterung. Gerechnet wird ein einziges Jahr mit dem Klimadatensatz der gewaehlten Region. Degradation, Verschleiss und Betriebsjahre kommen erst in der Wirtschaftlichkeitsrechnung vor.
- Kein Schaltjahr. 365 Tage, 8 760 Stunden — fest.
- Stundenaufloesung in der Waerme. Vorgaenge innerhalb einer Stunde (Takten, Anfahrverluste, Regelschwingungen) bildet der Lauf nicht ab.
- Keine Hydraulik im engeren Sinn. Rohrnetze, Druckverluste, Pumpen und Mischer werden nicht gerechnet; die Netzverluste sind ein pauschaler Aufschlag.
- Zwei Umstellstunden je Jahr liegen wegen des starren Rasters doppelt bzw. gar nicht vor (siehe Schritt 4 und Gleichung (4)). Sie liegen nachts und veraendern die Jahressumme der Einstrahlung nicht.
- Ein Lauf zur Zeit. Der Rechenkern ist nicht darauf ausgelegt, zwei Simulationen gleichzeitig zu fahren.
- Kein Ergebnis bei Abbruch. Bricht eine Stufe ab, wird nichts gespeichert — statt eines halben Ergebnisses gibt es eine Meldung im Laufprotokoll.
Ergebnisse und wo sie stehen
- Simulationsergebnis, Reiter „Parameter" — die Einstellungen, mit denen gerechnet wurde.
- Simulationsergebnis, Reiter „Übersicht" — Jahresmengen und Deckungsgrade je Erzeuger, QRest nach (8) und ERest nach (9).
- Simulationsergebnis, Reiter „Wärme-/Strombedarf" — die Jahresganglinien und die Jahresdauerlinien des Bedarfs.
- Simulationsergebnis, je ein Reiter pro beteiligtem Erzeuger.
- Laufprotokoll — Hinweise, Warnungen und der Abbruchgrund; hier stehen auch die Warnkriterien aus Schritt 9.
- Bericht und Wirtschaftlichkeit rechnen auf denselben Jahresmengen weiter.
Bezüge
- Simulation — Bedienung des Simulationsdialogs
- Simulationsergebnisse — die Reiter des Ergebnisfensters
- Berechnung: Wärmebedarf
- Berechnung: Strombedarf
- Berechnung: Pufferspeicher
- Berechnung — alle Rechenwege im Überblick