Simulation of Storage Elements
The simulation of reservoirs is carried out with a newly developed module for the calculation of reservoirs, whose process functions are to be represented linearly in certain areas. The module is a further development of the approach of Ostrowski (1992)[1] and is described in detail in Mehler (2000)[2]. It allows the simultaneous solution of the continuity equation for several processes without complex iterations and is briefly explained below.
For a reservoir whose content depends on several inflow or outflow processes, the continuity equation can be represented as follows:
- [math]\displaystyle{ \frac{\mbox{d}S(t)}{\mbox{d}t} = \sum_{j=1}^m Q_{zu,j}(t) - \sum_{i=1}^n Q_{ab,i}(t) }[/math]
- with:
S(t)
= Storage contents of the reservoirQzu,j(t)
= Inflow processQab,i(t)
= Operational processm
= Number of inflow processesn
= Number of operational process
Die Entnahmeterme sind in der Regel nichtlineare Funktionen des Speicherinhaltes (z.B. die Entnahme aus dem Bodenspeicher mit den Prozessfunktionen) Diese Funktionen werden bereichsweise linearisiert.
- [math]\displaystyle{ y(t) = A \cdot \left ( \frac{y_{i+1}-y_i}{S_{i+1}-S_i} \cdot (S(t)-S_i) + y_i \right ) }[/math]
- mit:
- [math]\displaystyle{ A = A_1 \cdot A_l \cdot A_{l+1} \cdot \ldots \cdot A_{p-1} \cdot A_p }[/math]
y(t)
= Entnahme aus dem SpeicherS(t)
= Speicherinhaltyi
= Größe der Entnahme an der Stützstelle iSi
= Speicherinhalt an der Stützstelle iA
= Multiplikator der Prozessgröße als Produkt aller weiteren Abhängigkeitenp
= Anzahl weiterer Abhängigkeiten
Für jede Entnahmefunktion kann nach Lineariserung eine Geradengleichung aufgestellt werden, die nur noch vom Speicherinhalt abhängig ist. Die Steigung "m" der Geraden ändert sich von Stützstelle zu Stützstelle. Somit gibt es für jede vom Speicherinhalt abhängige Funktion einen bereichsweise linearisierten Verlauf entlang der Speicherfüllung. Die Funktion selbst kann mit einem für jeden Zeitschritt konstanten Faktor (A) skaliert werden, der alle weiteren Abhängigkeiten als Produkt zusammenfasst.
Die Kontinuitätsgleichung kann nun umformuliert werden zu:
- [math]\displaystyle{ \frac{\mbox{d}S}{\mbox{d}t} = \sum_{j=1}^m Q_{z,j}(t) + \sum_{k=1}^m y_{k,i} + \sum_{k=1}^m m_{k,i} \cdot (S(t)-S_i) }[/math]
- [math]\displaystyle{ \frac{\mbox{d}S}{\mbox{d}t} = \sum_{j=1}^m Q_{z,j}(t) + \sum_{k=1}^m y_{k,i} + \mbox{C}_2 \cdot (S(t)-S_i) }[/math]
- mit:
- [math]\displaystyle{ \mbox{C}_2 = \sum_{k=1}^m m_{k,i} }[/math]
Nach Ausmultiplizieren der Klammer wird die Kontinuitätsgleichung zu:
- [math]\displaystyle{ \frac{\mbox{d}S}{\mbox{d}t} + \mbox{C}_2 \cdot S(t) = \mbox{C}_1 }[/math]
- mit:
- [math]\displaystyle{ \mbox{C}_1 = \sum_{j=1}^m Q_{z,j}(t) + \sum_{k=1}^m y_{k,i} + \mbox{C}_2 \cdot S_i }[/math]
Diese Gleichung ist eine inhomogene lineare Differentialgleichung erster Ordnung und besitzt folgende Lösung:
- [math]\displaystyle{ S(t) = \frac{\mbox{C}_2}{\mbox{C}_1} \cdot (1-e^{-C_1 \cdot t}) + S_0 \cdot e^{-C_1 \cdot t} }[/math]
- mit:
- [math]\displaystyle{ S_0 = S(t=0) }[/math]
Damit steht die Speicherfüllung zu jedem Zeitpunkt fest. Tritt innerhalb eines Zeitintervalls eine Bereichsüberschreitung ein, sind die Größen C1 und C2 mit den jeweils aktuellen Steigungen und Achsenabschnittswerten der bereichsweise linearisierten Funktionen neu zu berechnen. Die simultane Berechnung der Abgabenfunktionen wird durch Einsetzen der Speicherinhaltsgleichung in die jeweilige Geradengleichung erreicht.
Allgemein ausgedrückt gilt für die mittlere Intensität aller Abgaben:
- [math]\displaystyle{ \bar{y} = \frac{1}{\Delta t} \int_{t=0}^{\Delta t} A \cdot \left [ y_i \cdot S_i + m_i \cdot \left ( \frac{C_2}{C_1} \cdot ( 1 - e^{-C_1 \cdot t} ) + S_0 \cdot e^{-C_1 \cdot t} \right ) \right ] }[/math]
- [math]\displaystyle{ \bar{y} = y_i + m_i \cdot \left [ -S_i + \frac{C_2}{C_1} + (1-e^{-C_1 \cdot \Delta t}) \cdot \left ( \frac{S_0}{\Delta t \cdot C_1} - \frac{C_2}{\Delta t \cdot C_1^2} \right ) \right ] }[/math]
Mit diesem Berechnungsschema können alle Speicher, deren Prozesse bereichsweise linear zu beschreiben sind, berechnet werden. In Talsim-NG werden mit diesem Baustein die Bodenprozesse, die Speicher sowie die Transportstrecken berechnet.