Berechnungsschema/ Implementierung der Betriebsregeln: Unterschied zwischen den Versionen

Aus TALSIM Docs
Keine Bearbeitungszusammenfassung
K (Bilder gif durch png ausgetauscht)
 
(6 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
<languages/>
<translate>
<!--T:1-->
{{Navigation|vorher=Abstraktion der Betriebsregeln|hoch=Betriebsregelkonzept|nachher=Anwendungsbeispiel: Umsetzung eines Betriebsplans}}
<!--T:2-->
Um die gefundenen Grundsätze für die Simulation zugänglich zu machen, bedarf es einer geeigneten mathematischen Formulierung.
Um die gefundenen Grundsätze für die Simulation zugänglich zu machen, bedarf es einer geeigneten mathematischen Formulierung.


<!--T:3-->
Die zuvor gegebene Reihenfolge der Gesetzmäßigkeiten gibt bereits eine Struktur vor, die auch für die Mathematik verwertbar ist. Die zentrale Abhängigkeit ist dabei durch den Speicherinhalt gegeben. In der Systemhydrologie ist eine solche Form der Abhängigkeit durch den linearen Einzelspeicher bekannt und geschlossen lösbar. Sein Prinzip basiert auf der Annahme, dass der Ausfluss stets proportional der in ihm vorhandenen Wassermenge (Speicherinhalt) ist. Der Proportionalitätsfaktor k wird als Speicherkonstante bezeichnet. Gemeinsam mit der Kontinuitätsgleichung ergibt sich die Differentialgleichung des Einzellinearspeichers. Diese Form der Speichergleichung ist für die konkrete Anwendung bei regelbeeinflussten Speichersystemen ungeeignet. Zum einen sind normalerweise die Abgaben nicht zum Speicherinhalt proportional, zum anderen muss die Gleichung auf beliebig viele Abgaben erweitert werden.
Die zuvor gegebene Reihenfolge der Gesetzmäßigkeiten gibt bereits eine Struktur vor, die auch für die Mathematik verwertbar ist. Die zentrale Abhängigkeit ist dabei durch den Speicherinhalt gegeben. In der Systemhydrologie ist eine solche Form der Abhängigkeit durch den linearen Einzelspeicher bekannt und geschlossen lösbar. Sein Prinzip basiert auf der Annahme, dass der Ausfluss stets proportional der in ihm vorhandenen Wassermenge (Speicherinhalt) ist. Der Proportionalitätsfaktor k wird als Speicherkonstante bezeichnet. Gemeinsam mit der Kontinuitätsgleichung ergibt sich die Differentialgleichung des Einzellinearspeichers. Diese Form der Speichergleichung ist für die konkrete Anwendung bei regelbeeinflussten Speichersystemen ungeeignet. Zum einen sind normalerweise die Abgaben nicht zum Speicherinhalt proportional, zum anderen muss die Gleichung auf beliebig viele Abgaben erweitert werden.


[[Bild:Theorie_Abb24.gif|thumb|Abbildung 24: Bereichsweise Linearisierung einer Funktion]]
<!--T:4-->
[[Bild:Theorie_Abb24.png|thumb|Abbildung 24: Bereichsweise Linearisierung einer Funktion]]


Wie aus den Beispielen in diesem Kapitel zu erkennen ist, liegen die in den Betriebsregeln benutzten funktionalen Beziehungen zwischen Speicherinhalt und Abgabe normalerweise nur in Form von Stützstellen vor. Die Verbindung der Stützstellen liefert den Kurvenverlauf einer Abgabenfunktion. Eine Abgabenfunktion, die in Form von mehreren Knotenpunkten gegeben ist, z.B. die Kennlinie einer Hochwasserentlastung, kann zwischen ihren Knoten (oder Stützstellen) linear verbunden werden. Die allgemeine Darstellung von Funktionen mit bereichsweiser Linearisierung ist in [[:Bild:Theorie_Abb24.gif|Abbildung 24]] gegeben.
<!--T:5-->
Wie aus den Beispielen in diesem Kapitel zu erkennen ist, liegen die in den Betriebsregeln benutzten funktionalen Beziehungen zwischen Speicherinhalt und Abgabe normalerweise nur in Form von Stützstellen vor. Die Verbindung der Stützstellen liefert den Kurvenverlauf einer Abgabenfunktion. Eine Abgabenfunktion, die in Form von mehreren Knotenpunkten gegeben ist, z.B. die Kennlinie einer Hochwasserentlastung, kann zwischen ihren Knoten (oder Stützstellen) linear verbunden werden. Die allgemeine Darstellung von Funktionen mit bereichsweiser Linearisierung ist in [[:Bild:Theorie_Abb24.png|Abbildung 24]] gegeben.


<!--T:6-->
Für einen Abschnitt der Funktion gilt:
Für einen Abschnitt der Funktion gilt:


<!--T:7-->
<div style="float:right">(2-1)</div>
<div style="float:right">(2-1)</div>
:<math>y_{(t)}=y_{i-1}+k_i \cdot (S_{(t)} - S_{i-1})</math>  
:<math>y_{(t)}=y_{i-1}+k_i \cdot (S_{(t)} - S_{i-1})</math>  


<!--T:8-->
:mit  
:mit  
:<math>S_i < S_{(t)} \le S_{i+1}</math>
:<math>S_i < S_{(t)} \le S_{i+1}</math>


<!--T:9-->
Für eine beliebige Anzahl von Abgabenfunktionen wird die Gleichung des linearen Einzelspeichers für einen Abschnitt zu:
Für eine beliebige Anzahl von Abgabenfunktionen wird die Gleichung des linearen Einzelspeichers für einen Abschnitt zu:


<!--T:10-->
<div style="float:right">(2-2)</div>
<div style="float:right">(2-2)</div>
:<math>\frac{dS}{dt} = \sum_{z=1}^n Q_z - \sum_{p=1}^m (y_{p,i-1} + k_{p,i} \cdot (S_{(t)} - S_{p,i-1}))</math>  
:<math>\frac{dS}{dt} = \sum_{z=1}^n Q_z - \sum_{p=1}^m (y_{p,i-1} + k_{p,i} \cdot (S_{(t)} - S_{p,i-1}))</math>  
Zeile 28: Zeile 43:
:t : Zeit
:t : Zeit


<!--T:11-->
Nach Aufteilung in einen konstanten und einen vom Speicherinhalt S abhängigen Anteil erhält man die bekannte und geschlossen lösbare Gleichung des linearen Einzelspeichers.
Nach Aufteilung in einen konstanten und einen vom Speicherinhalt S abhängigen Anteil erhält man die bekannte und geschlossen lösbare Gleichung des linearen Einzelspeichers.


<!--T:12-->
<div style="float:right">(2-3)</div>
<div style="float:right">(2-3)</div>
:<math>\frac{dS}{dt} = \begin{matrix} \underbrace {\sum_{z=1}^n Q_z - \sum_{p-1}^m ( y_{p,i-1} - k_{p,i} \cdot S_{p,i-1} )} \\ C_1=\mbox{konstanter Anteil} \end{matrix} - \begin{matrix} \underbrace {\sum_{p=1}^m (k_{p,i})} \\ C_2=\mbox{von S abhaengig} \end{matrix} \cdot S_{(t)}</math>
:<math>\frac{dS}{dt} = \begin{matrix} \underbrace {\sum_{z=1}^n Q_z - \sum_{p-1}^m ( y_{p,i-1} - k_{p,i} \cdot S_{p,i-1} )} \\ C_1=\mbox{konstanter Anteil} \end{matrix} - \begin{matrix} \underbrace {\sum_{p=1}^m (k_{p,i})} \\ C_2=\mbox{von S abhaengig} \end{matrix} \cdot S_{(t)}</math>


<!--T:13-->
:<math>\frac{dS}{dt} = C_1 - C_2 \cdot S_{(t)} </math>
:<math>\frac{dS}{dt} = C_1 - C_2 \cdot S_{(t)} </math>


<!--T:14-->
Solange sich der Speicherinhalt innerhalb eines Abschnittes <code>S<sub>i-1</sub></code> bis <code>S<sub>i</sub></code> befindet, lautet die Lösung für die Differentialgleichung:
Solange sich der Speicherinhalt innerhalb eines Abschnittes <code>S<sub>i-1</sub></code> bis <code>S<sub>i</sub></code> befindet, lautet die Lösung für die Differentialgleichung:


<!--T:15-->
<div style="float:right">(2-4)</div>
<div style="float:right">(2-4)</div>
:<math>S(t) = \frac{C_1}{C_2} \cdot \left [ 1 - e^{-C_2} \cdot (t-t_0) \right ]</math>
:<math>S(t) = \frac{C_1}{C_2} \cdot \left [ 1 - e^{-C_2} \cdot (t-t_0) \right ]</math>


<!--T:16-->
Wird bei mindestens einer Abgabenfunktion der Abschnitt überschritten, müssen die bis dahin stattgefundenen Änderungen sowohl des Speicherinhaltes als auch der Abgaben registriert und <code>C<sub>1</sub></code> und <code>C<sub>2</sub></code> neu berechnet werden. Mit dieser Methode wird das benutzte Zeitintervall - der äußere Zeitschritt - durch eine beliebige, von der Dichte der Stützstellen abhängige Anzahl innerer Zeitschritte abgearbeitet. Die Zeit bis zu einem Bereichswechsel lässt sich durch Umformung nach <code>t</code> aus folgender Gleichung ermitteln:
Wird bei mindestens einer Abgabenfunktion der Abschnitt überschritten, müssen die bis dahin stattgefundenen Änderungen sowohl des Speicherinhaltes als auch der Abgaben registriert und <code>C<sub>1</sub></code> und <code>C<sub>2</sub></code> neu berechnet werden. Mit dieser Methode wird das benutzte Zeitintervall - der äußere Zeitschritt - durch eine beliebige, von der Dichte der Stützstellen abhängige Anzahl innerer Zeitschritte abgearbeitet. Die Zeit bis zu einem Bereichswechsel lässt sich durch Umformung nach <code>t</code> aus folgender Gleichung ermitteln:


<!--T:17-->
<div style="float:right">(2-5)</div>
<div style="float:right">(2-5)</div>
:<math>t_1 = -\frac{1}{C_2} \cdot \ln \left ( \frac{S(t)-\frac{C_1}{C_2}}{S_0-\frac{C_1}{C_2}} \right ) + t_0</math>
:<math>t_1 = -\frac{1}{C_2} \cdot \ln \left ( \frac{S(t)-\frac{C_1}{C_2}}{S_0-\frac{C_1}{C_2}} \right ) + t_0</math>


<!--T:18-->
Ob im betrachteten Intervall eine Speicherinhaltszu- oder –abnahme stattfindet, ist dadurch zu ermitteln, indem für <code>S(t)</code> der Wert der oberen Abschnittsgrenze eingesetzt wird, wobei die nächstliegende Stützstelle aller Funktionen für die Bestimmung der Abschnittsgrenze maßgebend ist. Der resultierende Wert <code>t<sub>1</sub></code> bestimmt die folgenden drei Fälle:
Ob im betrachteten Intervall eine Speicherinhaltszu- oder –abnahme stattfindet, ist dadurch zu ermitteln, indem für <code>S(t)</code> der Wert der oberen Abschnittsgrenze eingesetzt wird, wobei die nächstliegende Stützstelle aller Funktionen für die Bestimmung der Abschnittsgrenze maßgebend ist. Der resultierende Wert <code>t<sub>1</sub></code> bestimmt die folgenden drei Fälle:


<!--T:19-->
# <math>t_1 > \Delta t \,</math> (äußerer Zeitschritt)  
# <math>t_1 > \Delta t \,</math> (äußerer Zeitschritt)  
#: Im betrachteten Zeitintervall findet kein Bereichswechsel statt.  
#: Im betrachteten Zeitintervall findet kein Bereichswechsel statt.  
Zeile 54: Zeile 78:
#: Es findet keine Speicherinhaltszunahme sondern eine –abnahme statt. Anstatt der oberen muss die untere Abschnittsgrenze eingesetzt und die Berechnung wiederholt werden.
#: Es findet keine Speicherinhaltszunahme sondern eine –abnahme statt. Anstatt der oberen muss die untere Abschnittsgrenze eingesetzt und die Berechnung wiederholt werden.


<!--T:20-->
Bei Beachtung der Bereichsüberschreitungen ist zu jedem Zeitpunkt <code>t</code> der Speicherinhalt bekannt. Folglich sind auch die vom Speicherinhalt abhängigen Prozesse in ihrem Verlauf über die Zeit bekannt. In der Regel ist aber nicht ein zeitlicher Verlauf gefragt, sondern der Mittelwert innerhalb eines Zeitintervalls. Wenn Gleichung 2-4 in Gleichung 2-1 eingesetzt und über die innere Zeitschrittlänge integriert wird, erhält man die mittlere Prozessrate im betreffenden Zeitintervall.
Bei Beachtung der Bereichsüberschreitungen ist zu jedem Zeitpunkt <code>t</code> der Speicherinhalt bekannt. Folglich sind auch die vom Speicherinhalt abhängigen Prozesse in ihrem Verlauf über die Zeit bekannt. In der Regel ist aber nicht ein zeitlicher Verlauf gefragt, sondern der Mittelwert innerhalb eines Zeitintervalls. Wenn Gleichung 2-4 in Gleichung 2-1 eingesetzt und über die innere Zeitschrittlänge integriert wird, erhält man die mittlere Prozessrate im betreffenden Zeitintervall.


<!--T:21-->
<div style="float:right">(2-6)</div>
<div style="float:right">(2-6)</div>
:<math>\bar{y} = y_{p,i-1} - k_{p,i} \cdot S_{p,i-1} + k_{p,i} \cdot \left [ \frac{C_1}{C_2} + \left ( 1-e^{-C_2} \cdot (t_1-t_0) \right ) \cdot \left ( \frac{S_0}{(t_1-t_0) \cdot C_2} - \frac{C_1}{(t_1-t_0) \cdot C_2^2} \right ) \right ] </math>
:<math>\bar{y} = y_{p,i-1} - k_{p,i} \cdot S_{p,i-1} + k_{p,i} \cdot \left [ \frac{C_1}{C_2} + \left ( 1-e^{-C_2} \cdot (t_1-t_0) \right ) \cdot \left ( \frac{S_0}{(t_1-t_0) \cdot C_2} - \frac{C_1}{(t_1-t_0) \cdot C_2^2} \right ) \right ] </math>


<!--T:22-->
Nach Aufsummierung der Werte aller durchlaufenen inneren Zeitschritte ergibt sich die mittlere Prozessrate über das gesamte äußere Zeitintervall.
Nach Aufsummierung der Werte aller durchlaufenen inneren Zeitschritte ergibt sich die mittlere Prozessrate über das gesamte äußere Zeitintervall.


[[Bild:Theorie_Abb25.gif|thumb|Abbildung 25: Bereichsweise Linearisierung einer skalierten Abgabenfunktion]]
<!--T:23-->
[[Bild:Theorie_Abb25.png|thumb|Abbildung 25: Bereichsweise Linearisierung einer skalierten Abgabenfunktion]]


<!--T:24-->
Aus den Grundsätzen zur Beschreibung von Betriebsregeln ist ersichtlich, dass eine Abgabe sowohl vom Speicherinhalt als auch von anderen Systemzuständen abhängig sein kann. Dadurch ist eine eindimensionale Abhängigkeit – nur vom Speicherinhalt - nicht mehr gegeben. In solch einem Fall existiert eine zwei- oder mehrdimensionale Beziehung zur eindeutigen Bestimmung einer Abgabe. Kommt zusätzlich eine Zeitabhängigkeit hinzu; ist das Problem noch um eine Dimension erweitert. Eine graphisch einfache Darstellung ist nicht mehr realisierbar. Ebenso reicht die oben beschriebene Lösung nicht aus, da zur Abhängigkeit vom Speicherinhalt weitere hinzukommen. Sowohl aus Gründen der Übersichtlichkeit als auch einer geeigneten mathematischen Formulierung ist es erstrebenswert, sämtliche Abhängigkeiten wieder in eine eindimensionale Beziehung ohne Informationsverlust zu überführen. Dies gelingt durch die Skalierung der ''Abgabenfunktionen'' Beziehung. Eine Skalierung ist sowohl für die Abgabe (y-Achse) als auch für den Speicherinhalt (x-Achse) möglich.
Aus den Grundsätzen zur Beschreibung von Betriebsregeln ist ersichtlich, dass eine Abgabe sowohl vom Speicherinhalt als auch von anderen Systemzuständen abhängig sein kann. Dadurch ist eine eindimensionale Abhängigkeit – nur vom Speicherinhalt - nicht mehr gegeben. In solch einem Fall existiert eine zwei- oder mehrdimensionale Beziehung zur eindeutigen Bestimmung einer Abgabe. Kommt zusätzlich eine Zeitabhängigkeit hinzu; ist das Problem noch um eine Dimension erweitert. Eine graphisch einfache Darstellung ist nicht mehr realisierbar. Ebenso reicht die oben beschriebene Lösung nicht aus, da zur Abhängigkeit vom Speicherinhalt weitere hinzukommen. Sowohl aus Gründen der Übersichtlichkeit als auch einer geeigneten mathematischen Formulierung ist es erstrebenswert, sämtliche Abhängigkeiten wieder in eine eindimensionale Beziehung ohne Informationsverlust zu überführen. Dies gelingt durch die Skalierung der ''Abgabenfunktionen'' Beziehung. Eine Skalierung ist sowohl für die Abgabe (y-Achse) als auch für den Speicherinhalt (x-Achse) möglich.


<!--T:25-->
Nach Einführung der Skalierungsfaktoren ergibt sich für einen skalierten Abschnitt einer Funktion:
Nach Einführung der Skalierungsfaktoren ergibt sich für einen skalierten Abschnitt einer Funktion:


<!--T:26-->
<div style="float:right">(2-7)</div>
<div style="float:right">(2-7)</div>
:<math>y_{(t)}^s = y_{i-1} \cdot y_{\mbox{faktor}} + k_i \cdot \frac{y_{\mbox{faktor}}}{x_{\mbox{faktor}}} \cdot \left ( S_{(t)} \cdot x_{\mbox{faktor}} -S_{i-1} \cdot x_{\mbox{faktor}} \right )</math>
:<math>y_{(t)}^s = y_{i-1} \cdot y_{\mbox{faktor}} + k_i \cdot \frac{y_{\mbox{faktor}}}{x_{\mbox{faktor}}} \cdot \left ( S_{(t)} \cdot x_{\mbox{faktor}} -S_{i-1} \cdot x_{\mbox{faktor}} \right )</math>


<!--T:27-->
:<math>y_{(t)}^s = y_{i-1}^s + k_i^s \cdot \left ( S_{(t)}^s - S_{i-1}^s \right )</math>
:<math>y_{(t)}^s = y_{i-1}^s + k_i^s \cdot \left ( S_{(t)}^s - S_{i-1}^s \right )</math>


<!--T:28-->
Zur Berechnung der mit externen Systemzuständen skalierten Abgabenfunktion wird analog der obigen Methode verfahren. Dabei entspricht <code>x<sub>faktor</sub></code> dem maximalen Speicherinhalt und <code>y<sub>faktor</sub></code> dem Skalierungsfaktor aus dem externen Systemzustand oder der Zustandsgruppe. Vorausgesetzt wird, dass die Faktoren während des äußeren Zeitintervalls konstant bleiben. Die Summe der Integrationen über die interne Zeitschleife dividiert durch den äußeren Zeitschritt liefert den endgültigen Abgabewert.
Zur Berechnung der mit externen Systemzuständen skalierten Abgabenfunktion wird analog der obigen Methode verfahren. Dabei entspricht <code>x<sub>faktor</sub></code> dem maximalen Speicherinhalt und <code>y<sub>faktor</sub></code> dem Skalierungsfaktor aus dem externen Systemzustand oder der Zustandsgruppe. Vorausgesetzt wird, dass die Faktoren während des äußeren Zeitintervalls konstant bleiben. Die Summe der Integrationen über die interne Zeitschleife dividiert durch den äußeren Zeitschritt liefert den endgültigen Abgabewert.


<!--T:29-->
<div style="float:right">(2-8)</div>
<div style="float:right">(2-8)</div>
:<math>\bar{y} = y_{\mbox{faktor}} \cdot \left [ y_{p,i-1} - k_{p,i} \cdot S_{p,i-1} + \frac{1}{x_{\mbox{faktor}}} k_{p,i} \cdot \left [ \frac{\mbox{C1}^s}{\mbox{C2}^s} + \left ( 1 - \mbox{e}^{-\mbox{C2}^s \cdot \left ( t_1 - t_0 \right )} \right ) \cdot \left ( \frac{S_0 \cdot x_{\mbox{faktor}}}{(t_1 - t_0) \cdot \mbox{C2}^s} - \frac{\mbox{C1}^s}{(t_1 - t_0) \cdot {\mbox{C2}^s}^2} \right ) \right ] \right ]</math>
:<math>\bar{y} = y_{\mbox{faktor}} \cdot \left [ y_{p,i-1} - k_{p,i} \cdot S_{p,i-1} + \frac{1}{x_{\mbox{faktor}}} k_{p,i} \cdot \left [ \frac{\mbox{C1}^s}{\mbox{C2}^s} + \left ( 1 - \mbox{e}^{-\mbox{C2}^s \cdot \left ( t_1 - t_0 \right )} \right ) \cdot \left ( \frac{S_0 \cdot x_{\mbox{faktor}}}{(t_1 - t_0) \cdot \mbox{C2}^s} - \frac{\mbox{C1}^s}{(t_1 - t_0) \cdot {\mbox{C2}^s}^2} \right ) \right ] \right ]</math>


<!--T:30-->
Die Berechnung eines bereichsweise linearen Speichers mit beliebig vielen Ein- und Ausgängen hat Ostrowski (1992)<ref name="Ostrowski_1992">'''Ostrowski, M.''' (1992): Ein universeller Baustein zur Simulation hydrologischer Prozesse, Wasser und Boden, Heft 11</ref>  beschrieben. Diese Lösung wurde um die Skalierung sowohl der X- als auch der Y-Achse erweitert<ref name="Ostrowski_1999">'''Ostrowski, M. et al.''' (1999): Ein universeller, nicht linearer Speicherbaustein zur Simulation hydrologischer Systeme. Institutseigene Modell- und Anwendungsbeschreibung, Institut für Wasserbau und Wasserwirtschaft, TU Darmstadt, unveröffentlicht</ref> .
Die Berechnung eines bereichsweise linearen Speichers mit beliebig vielen Ein- und Ausgängen hat Ostrowski (1992)<ref name="Ostrowski_1992">'''Ostrowski, M.''' (1992): Ein universeller Baustein zur Simulation hydrologischer Prozesse, Wasser und Boden, Heft 11</ref>  beschrieben. Diese Lösung wurde um die Skalierung sowohl der X- als auch der Y-Achse erweitert<ref name="Ostrowski_1999">'''Ostrowski, M. et al.''' (1999): Ein universeller, nicht linearer Speicherbaustein zur Simulation hydrologischer Systeme. Institutseigene Modell- und Anwendungsbeschreibung, Institut für Wasserbau und Wasserwirtschaft, TU Darmstadt, unveröffentlicht</ref> .


<!--T:31-->
Zusammenfassend gilt, dass ein Speicher eine beliebige Anzahl von Nutzungen besitzen kann. Für jede Nutzung existiert eine vom Speicherinhalt abhängige Funktion, die innerhalb eines äußeren Zeitschrittes konstant bleiben muss, von Zeitschritt zu Zeitschritt aber verändert werden kann (Zeitabhängigkeit). Zusätzlich können diese Funktionen durch externe Abhängigkeiten über Faktoren je Zeitschritt verschieden skaliert werden. Voraussetzung für die Skalierung sind während des Zeitschrittes konstante Faktoren. Der Berechnungsgang ist vom Zeitschritt unabhängig, da er entsprechend den Abschnittsüberschreitungen in beliebig viele innere Zeitschritte zerlegt wird. Das bedeutet, dass die Methode für unterschiedlichste Zeitintervalle geeignet ist und volumentreue Ergebnisse erzeugt. Dadurch kann sowohl ein Hochwasserereignis mit einem Zeitschritt von wenigen Minuten als auch eine Langzeitsimulation mit Tageswerten oder noch größeren Zeitintervallen zum Einsatz kommen. Entscheidend ist nur, dass alle ''Abgabenfunktionen'' über eine ausreichende Anzahl von Stützstellen definiert sind.
Zusammenfassend gilt, dass ein Speicher eine beliebige Anzahl von Nutzungen besitzen kann. Für jede Nutzung existiert eine vom Speicherinhalt abhängige Funktion, die innerhalb eines äußeren Zeitschrittes konstant bleiben muss, von Zeitschritt zu Zeitschritt aber verändert werden kann (Zeitabhängigkeit). Zusätzlich können diese Funktionen durch externe Abhängigkeiten über Faktoren je Zeitschritt verschieden skaliert werden. Voraussetzung für die Skalierung sind während des Zeitschrittes konstante Faktoren. Der Berechnungsgang ist vom Zeitschritt unabhängig, da er entsprechend den Abschnittsüberschreitungen in beliebig viele innere Zeitschritte zerlegt wird. Das bedeutet, dass die Methode für unterschiedlichste Zeitintervalle geeignet ist und volumentreue Ergebnisse erzeugt. Dadurch kann sowohl ein Hochwasserereignis mit einem Zeitschritt von wenigen Minuten als auch eine Langzeitsimulation mit Tageswerten oder noch größeren Zeitintervallen zum Einsatz kommen. Entscheidend ist nur, dass alle ''Abgabenfunktionen'' über eine ausreichende Anzahl von Stützstellen definiert sind.


==Literaturangaben==
 
 
==Literaturangaben== <!--T:32-->
 
<!--T:33-->
<references/>
<references/>
</translate>

Aktuelle Version vom 17. November 2020, 11:50 Uhr

Sprachen:

Um die gefundenen Grundsätze für die Simulation zugänglich zu machen, bedarf es einer geeigneten mathematischen Formulierung.

Die zuvor gegebene Reihenfolge der Gesetzmäßigkeiten gibt bereits eine Struktur vor, die auch für die Mathematik verwertbar ist. Die zentrale Abhängigkeit ist dabei durch den Speicherinhalt gegeben. In der Systemhydrologie ist eine solche Form der Abhängigkeit durch den linearen Einzelspeicher bekannt und geschlossen lösbar. Sein Prinzip basiert auf der Annahme, dass der Ausfluss stets proportional der in ihm vorhandenen Wassermenge (Speicherinhalt) ist. Der Proportionalitätsfaktor k wird als Speicherkonstante bezeichnet. Gemeinsam mit der Kontinuitätsgleichung ergibt sich die Differentialgleichung des Einzellinearspeichers. Diese Form der Speichergleichung ist für die konkrete Anwendung bei regelbeeinflussten Speichersystemen ungeeignet. Zum einen sind normalerweise die Abgaben nicht zum Speicherinhalt proportional, zum anderen muss die Gleichung auf beliebig viele Abgaben erweitert werden.

Abbildung 24: Bereichsweise Linearisierung einer Funktion

Wie aus den Beispielen in diesem Kapitel zu erkennen ist, liegen die in den Betriebsregeln benutzten funktionalen Beziehungen zwischen Speicherinhalt und Abgabe normalerweise nur in Form von Stützstellen vor. Die Verbindung der Stützstellen liefert den Kurvenverlauf einer Abgabenfunktion. Eine Abgabenfunktion, die in Form von mehreren Knotenpunkten gegeben ist, z.B. die Kennlinie einer Hochwasserentlastung, kann zwischen ihren Knoten (oder Stützstellen) linear verbunden werden. Die allgemeine Darstellung von Funktionen mit bereichsweiser Linearisierung ist in Abbildung 24 gegeben.

Für einen Abschnitt der Funktion gilt:

(2-1)
[math]\displaystyle{ y_{(t)}=y_{i-1}+k_i \cdot (S_{(t)} - S_{i-1}) }[/math]
mit
[math]\displaystyle{ S_i \lt S_{(t)} \le S_{i+1} }[/math]

Für eine beliebige Anzahl von Abgabenfunktionen wird die Gleichung des linearen Einzelspeichers für einen Abschnitt zu:

(2-2)
[math]\displaystyle{ \frac{dS}{dt} = \sum_{z=1}^n Q_z - \sum_{p=1}^m (y_{p,i-1} + k_{p,i} \cdot (S_{(t)} - S_{p,i-1})) }[/math]
mit
S : Speicherinhalt
Qz : Zufluss (vom Speicherinhalt unabhängig)
yi-1 : Abgabenwert an der Stützstelle i-1
k : Steigung zwischen den Stützstellen i-1 und i
n : Anzahl der Zuflüsse
m : Anzahl der vom Speicherinhalt abhängigen Abgaben
t : Zeit

Nach Aufteilung in einen konstanten und einen vom Speicherinhalt S abhängigen Anteil erhält man die bekannte und geschlossen lösbare Gleichung des linearen Einzelspeichers.

(2-3)
[math]\displaystyle{ \frac{dS}{dt} = \begin{matrix} \underbrace {\sum_{z=1}^n Q_z - \sum_{p-1}^m ( y_{p,i-1} - k_{p,i} \cdot S_{p,i-1} )} \\ C_1=\mbox{konstanter Anteil} \end{matrix} - \begin{matrix} \underbrace {\sum_{p=1}^m (k_{p,i})} \\ C_2=\mbox{von S abhaengig} \end{matrix} \cdot S_{(t)} }[/math]
[math]\displaystyle{ \frac{dS}{dt} = C_1 - C_2 \cdot S_{(t)} }[/math]

Solange sich der Speicherinhalt innerhalb eines Abschnittes Si-1 bis Si befindet, lautet die Lösung für die Differentialgleichung:

(2-4)
[math]\displaystyle{ S(t) = \frac{C_1}{C_2} \cdot \left [ 1 - e^{-C_2} \cdot (t-t_0) \right ] }[/math]

Wird bei mindestens einer Abgabenfunktion der Abschnitt überschritten, müssen die bis dahin stattgefundenen Änderungen sowohl des Speicherinhaltes als auch der Abgaben registriert und C1 und C2 neu berechnet werden. Mit dieser Methode wird das benutzte Zeitintervall - der äußere Zeitschritt - durch eine beliebige, von der Dichte der Stützstellen abhängige Anzahl innerer Zeitschritte abgearbeitet. Die Zeit bis zu einem Bereichswechsel lässt sich durch Umformung nach t aus folgender Gleichung ermitteln:

(2-5)
[math]\displaystyle{ t_1 = -\frac{1}{C_2} \cdot \ln \left ( \frac{S(t)-\frac{C_1}{C_2}}{S_0-\frac{C_1}{C_2}} \right ) + t_0 }[/math]

Ob im betrachteten Intervall eine Speicherinhaltszu- oder –abnahme stattfindet, ist dadurch zu ermitteln, indem für S(t) der Wert der oberen Abschnittsgrenze eingesetzt wird, wobei die nächstliegende Stützstelle aller Funktionen für die Bestimmung der Abschnittsgrenze maßgebend ist. Der resultierende Wert t1 bestimmt die folgenden drei Fälle:

  1. [math]\displaystyle{ t_1 \gt \Delta t \, }[/math] (äußerer Zeitschritt)
    Im betrachteten Zeitintervall findet kein Bereichswechsel statt.
  2. [math]\displaystyle{ 0 \lt t_1 \lt \Delta t \, }[/math]
    Es findet ein Bereichswechsel nach der Zeit t1 statt. Die Spanne zwischen t0 und t1 stellt die innere Zeitschrittlänge dar.
  3. [math]\displaystyle{ t_1 \lt 0 \, }[/math]
    Es findet keine Speicherinhaltszunahme sondern eine –abnahme statt. Anstatt der oberen muss die untere Abschnittsgrenze eingesetzt und die Berechnung wiederholt werden.

Bei Beachtung der Bereichsüberschreitungen ist zu jedem Zeitpunkt t der Speicherinhalt bekannt. Folglich sind auch die vom Speicherinhalt abhängigen Prozesse in ihrem Verlauf über die Zeit bekannt. In der Regel ist aber nicht ein zeitlicher Verlauf gefragt, sondern der Mittelwert innerhalb eines Zeitintervalls. Wenn Gleichung 2-4 in Gleichung 2-1 eingesetzt und über die innere Zeitschrittlänge integriert wird, erhält man die mittlere Prozessrate im betreffenden Zeitintervall.

(2-6)
[math]\displaystyle{ \bar{y} = y_{p,i-1} - k_{p,i} \cdot S_{p,i-1} + k_{p,i} \cdot \left [ \frac{C_1}{C_2} + \left ( 1-e^{-C_2} \cdot (t_1-t_0) \right ) \cdot \left ( \frac{S_0}{(t_1-t_0) \cdot C_2} - \frac{C_1}{(t_1-t_0) \cdot C_2^2} \right ) \right ] }[/math]

Nach Aufsummierung der Werte aller durchlaufenen inneren Zeitschritte ergibt sich die mittlere Prozessrate über das gesamte äußere Zeitintervall.

Abbildung 25: Bereichsweise Linearisierung einer skalierten Abgabenfunktion

Aus den Grundsätzen zur Beschreibung von Betriebsregeln ist ersichtlich, dass eine Abgabe sowohl vom Speicherinhalt als auch von anderen Systemzuständen abhängig sein kann. Dadurch ist eine eindimensionale Abhängigkeit – nur vom Speicherinhalt - nicht mehr gegeben. In solch einem Fall existiert eine zwei- oder mehrdimensionale Beziehung zur eindeutigen Bestimmung einer Abgabe. Kommt zusätzlich eine Zeitabhängigkeit hinzu; ist das Problem noch um eine Dimension erweitert. Eine graphisch einfache Darstellung ist nicht mehr realisierbar. Ebenso reicht die oben beschriebene Lösung nicht aus, da zur Abhängigkeit vom Speicherinhalt weitere hinzukommen. Sowohl aus Gründen der Übersichtlichkeit als auch einer geeigneten mathematischen Formulierung ist es erstrebenswert, sämtliche Abhängigkeiten wieder in eine eindimensionale Beziehung ohne Informationsverlust zu überführen. Dies gelingt durch die Skalierung der Abgabenfunktionen Beziehung. Eine Skalierung ist sowohl für die Abgabe (y-Achse) als auch für den Speicherinhalt (x-Achse) möglich.

Nach Einführung der Skalierungsfaktoren ergibt sich für einen skalierten Abschnitt einer Funktion:

(2-7)
[math]\displaystyle{ y_{(t)}^s = y_{i-1} \cdot y_{\mbox{faktor}} + k_i \cdot \frac{y_{\mbox{faktor}}}{x_{\mbox{faktor}}} \cdot \left ( S_{(t)} \cdot x_{\mbox{faktor}} -S_{i-1} \cdot x_{\mbox{faktor}} \right ) }[/math]
[math]\displaystyle{ y_{(t)}^s = y_{i-1}^s + k_i^s \cdot \left ( S_{(t)}^s - S_{i-1}^s \right ) }[/math]

Zur Berechnung der mit externen Systemzuständen skalierten Abgabenfunktion wird analog der obigen Methode verfahren. Dabei entspricht xfaktor dem maximalen Speicherinhalt und yfaktor dem Skalierungsfaktor aus dem externen Systemzustand oder der Zustandsgruppe. Vorausgesetzt wird, dass die Faktoren während des äußeren Zeitintervalls konstant bleiben. Die Summe der Integrationen über die interne Zeitschleife dividiert durch den äußeren Zeitschritt liefert den endgültigen Abgabewert.

(2-8)
[math]\displaystyle{ \bar{y} = y_{\mbox{faktor}} \cdot \left [ y_{p,i-1} - k_{p,i} \cdot S_{p,i-1} + \frac{1}{x_{\mbox{faktor}}} k_{p,i} \cdot \left [ \frac{\mbox{C1}^s}{\mbox{C2}^s} + \left ( 1 - \mbox{e}^{-\mbox{C2}^s \cdot \left ( t_1 - t_0 \right )} \right ) \cdot \left ( \frac{S_0 \cdot x_{\mbox{faktor}}}{(t_1 - t_0) \cdot \mbox{C2}^s} - \frac{\mbox{C1}^s}{(t_1 - t_0) \cdot {\mbox{C2}^s}^2} \right ) \right ] \right ] }[/math]

Die Berechnung eines bereichsweise linearen Speichers mit beliebig vielen Ein- und Ausgängen hat Ostrowski (1992)[1] beschrieben. Diese Lösung wurde um die Skalierung sowohl der X- als auch der Y-Achse erweitert[2] .

Zusammenfassend gilt, dass ein Speicher eine beliebige Anzahl von Nutzungen besitzen kann. Für jede Nutzung existiert eine vom Speicherinhalt abhängige Funktion, die innerhalb eines äußeren Zeitschrittes konstant bleiben muss, von Zeitschritt zu Zeitschritt aber verändert werden kann (Zeitabhängigkeit). Zusätzlich können diese Funktionen durch externe Abhängigkeiten über Faktoren je Zeitschritt verschieden skaliert werden. Voraussetzung für die Skalierung sind während des Zeitschrittes konstante Faktoren. Der Berechnungsgang ist vom Zeitschritt unabhängig, da er entsprechend den Abschnittsüberschreitungen in beliebig viele innere Zeitschritte zerlegt wird. Das bedeutet, dass die Methode für unterschiedlichste Zeitintervalle geeignet ist und volumentreue Ergebnisse erzeugt. Dadurch kann sowohl ein Hochwasserereignis mit einem Zeitschritt von wenigen Minuten als auch eine Langzeitsimulation mit Tageswerten oder noch größeren Zeitintervallen zum Einsatz kommen. Entscheidend ist nur, dass alle Abgabenfunktionen über eine ausreichende Anzahl von Stützstellen definiert sind.


Literaturangaben

  1. Ostrowski, M. (1992): Ein universeller Baustein zur Simulation hydrologischer Prozesse, Wasser und Boden, Heft 11
  2. Ostrowski, M. et al. (1999): Ein universeller, nicht linearer Speicherbaustein zur Simulation hydrologischer Systeme. Institutseigene Modell- und Anwendungsbeschreibung, Institut für Wasserbau und Wasserwirtschaft, TU Darmstadt, unveröffentlicht