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 linear inbetween nodes. This module is based on the approach of Ostrowski (1992)[1] and is described in detail in Mehler (2000)[2]. It allows for the simultaneous solving of the continuity equation for multiple processes without complex iterations and is briefly explained below.
For a reservoir whose storage volume depends on several inflow and 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 storage capacity. 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]
- with:
- [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]
This equation is an inhomogeneous first order linear differential equation and has the following solution:
- [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]
- with:
- [math]\displaystyle{ S_0 = S(t=0) }[/math]
This means that the storage filling is fixed at any time. If a range transgression occurs within a time interval, the quantities C1 and C2 must be recalculated with the respective current gradients and intercept values of the range-wise linearized functions. The simultaneous calculation of the output functions is achieved by inserting the storage content equation into the respective straight line equation.
Generally speaking, the average intensity of all outputs is the same:
- [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]
With this calculation scheme, all memories whose processes are to be described linearly by area can be calculated. In Talsim-NG this module is used to calculate the soil processes, the reservoirs and the transport distances.