Simulation of Storage Elements
The simulation of reservoirs is carried out with a newly developed module for the calculation of storages, 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
The withdrawal terms are usually non-linear functions of the storage rate (e.g. withdrawal from the soil storage tank with the process functions) These functions are linearized area by area.
- [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]
- with:
- [math]\displaystyle{ A = A_1 \cdot A_l \cdot A_{l+1} \cdot \ldots \cdot A_{p-1} \cdot A_p }[/math]
y(t)
= Withdrawal from reservoirS(t)
= Reservoir capacityyi
= Size of the extraction at the grid point iSi
= Reservoir capacity at the sampling point iA
= Multiplier of the process variable as product of all further dependenciesp
= Number of additional dependencies
After linearization, a straight line equation can be set up for each sampling function, which is only dependent on the memory content. The gradient "m" of the line changes from interpolation point to interpolation point. Thus, for each function dependent on the storage rate, there is a linearized course along the storage filling. The function itself can be scaled with a constant factor (A) for each time step, which summarizes all further dependencies as product.
The continuity equation can now be reformulated to:
- [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]
After multiplying out the brackets the continuity equation becomes closed:
- [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.