Simulation of Storage Elements

Aus TALSIM Docs
Sprachen:
Areawise linearized withdrawal function

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 reservoir
Qzu,j(t) = Inflow process
Qab,i(t) = Operational process
m = Number of inflow processes
n = 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 reservoir
S(t) = Reservoir capacity
yi = Size of the extraction at the grid point i
Si = Reservoir capacity at the sampling point i
A = Multiplier of the process variable as product of all further dependencies
p = 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.


Literature references

  1. Ostrowski, M. (1992): A universal module for the simulation of hydrological processes, water and soil, issue 11
  2. Mehler, R. (2000): Mischwasserbehandlung - Verfahren und Modellierung, Mitteilungen des Instituts für Wasserbau und Wasserwirtschaft der TU Darmstadt, Heft 113