Calculation Formula / Implementation of Operating Rules

Aus TALSIM Docs
Sprachen:

In order to make the principles found accessible for simulation, a suitable mathematical formulation is required.

The order of the regularities given before already gives a structure which is also usable for mathematics. The central dependence is given by the storage content. In system hydrology, such a form of dependence is known by the linear single reservoir and can be solved in a closed way. Its principle is based on the assumption that the discharge is always proportional to the amount of water present in it (reservoir content). The proportionality factor k is called the storage constant. Together with the continuity equation, this gives the differential equation of the single-linear reservoir. This form of the storage equation is unsuitable for actual application to control-influenced storage systems. On the one hand, the discharges are normally not proportional to the storage content, on the other hand, the equation must be extended to any number of discharges.

Figure 24: Rangewise linearization of a function

As can be seen from the examples in this chapter, the functional relationships between storage content and delivery used in the operating rules are normally only available in the form of interpolation points. The connection of the interpolation points provides the curve of a delivery function. A discharge function given in the form of several nodes, e.g. the characteristic curve of a spillway, can be linearly connected between its nodes (or grid points). The general representation of functions with range-wise linearization is given in Figure 24.

For a section of the function applies:

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

For any number of delivery functions, the equation of linear single reservoir for a section becomes:

(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]
with
S : reservoir content
Qz : inflow (independent of reservoir content).
yi-1 : discharge value at grid point i-1
k : slope between interpolation points i-1 and i
n : number of inflows
m : number of discharges dependent on the storage content
t : time

After division into a constant part and a part depending on the storage content S, the well-known and closed solvable equation of the linear single storage is obtained.

(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]

As long as the reservoir contents are within a section Si-1 to Si, the solution to the differential equation is:

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

If the section is exceeded for at least one delivery function, the changes that have occurred up to that point in both the reservoir contents and the deliveries must be registered and C1 and C2 recalculated. With this method, the used time interval - the outer time step - is processed by an arbitrary number of inner time steps depending on the density of the interpolation points. The time until a range change can be determined by transforming to t from the following equation:

(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]

Whether a reservoir content increase or decrease occurs in the interval under consideration is to be determined by substituting for S(t) the value of the upper section boundary, where the nearest interpolation point of all functions is decisive for the determination of the section boundary. The resulting value t1 determines the following three cases:

  1. [math]\displaystyle{ t_1 \gt \Delta t \, }[/math] (äußerer Zeitschritt)
    No range change takes place in the considered time interval.
  2. [math]\displaystyle{ 0 \lt t_1 \lt \Delta t \, }[/math]
    There is a range change after the time t1. The span between t0 and t1 represents the inner time step length.
  3. [math]\displaystyle{ t_1 \lt 0 \, }[/math]
    There is no reservoir content increase but a decrease. Instead of the upper section limit, the lower section limit must be used and the calculation repeated.

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