Berechnungsschema von Speichern/en: Unterschied zwischen den Versionen
Ferrao (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „The withdrawal terms are usually non-linear functions of the storage content (e.g. withdrawal from the soil storage tank with the process functions) These func…“) |
Keine Bearbeitungszusammenfassung |
||
(28 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
{{Navigation|vorher=Zielpegel|hoch=Hauptseite#Theoretische Grundlagen|nachher=Betriebsregelkonzept}} | {{Navigation|vorher=Zielpegel|hoch=Hauptseite#Theoretische Grundlagen|nachher=Betriebsregelkonzept}} | ||
[[Datei:Bereichsweise_linearisierte_Entnahmefunktion.png|thumb| | [[Datei:Bereichsweise_linearisierte_Entnahmefunktion.png|thumb|Piecewisely linearized outflow function]]The simulation of storage elements is carried out with a newly developed module for the calculation of storage elements whose process functions are linear inbetween nodes. This module is based on the approach of Ostrowski (1992)<ref name="Ostrowski_1992">'''Ostrowski, M.''' (1992): A universal module for the simulation of hydrological processes, water and soil, issue 11</ref> and is described in detail in Mehler (2000)<ref name="Mehler_2000">'''Mehler, R. ''' (2000): Mischwasserbehandlung - Verfahren und Modellierung, Mitteilungen des Instituts für Wasserbau und Wasserwirtschaft der TU Darmstadt, Heft 113</ref>. It allows for the simultaneous solving of the continuity equation for multiple processes without complex iterations and is briefly explained below. | ||
For a | For a storage element whose storage volume depends on several inflow and outflow processes, the continuity equation can be represented as follows: | ||
Zeile 9: | Zeile 9: | ||
:with: | :with: | ||
:<code>S(t)</code> = Storage | :<code>S(t)</code> = Storage volume | ||
:<code>Q<sub>zu,j</sub>(t)</code> = Inflow process | :<code>Q<sub>zu,j</sub>(t)</code> = Inflow process | ||
:<code>Q<sub>ab,i</sub>(t)</code> = | :<code>Q<sub>ab,i</sub>(t)</code> = Outflow process | ||
:<code>m</code> = Number of inflow processes | :<code>m</code> = Number of inflow processes | ||
:<code>n</code> = Number of | :<code>n</code> = Number of outflow processes | ||
The | The outflow terms are usually non-linear functions of the storage volume (e.g. outflow from the soil storage with the process functions). | ||
These functions are linearized | These functions are piecewisely linearized. | ||
:<math>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> | :<math>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>A = A_1 \cdot A_l \cdot A_{l+1} \cdot \ldots \cdot A_{p-1} \cdot A_p</math> | :<math>A = A_1 \cdot A_l \cdot A_{l+1} \cdot \ldots \cdot A_{p-1} \cdot A_p</math> | ||
:<code>y(t)</code> = | :<code>y(t)</code> = Outflow from storage element | ||
:<code>S(t)</code> = | :<code>S(t)</code> = Storage volume | ||
:<code>y<sub>i</sub></code> = | :<code>y<sub>i</sub></code> = Outflow value at node i | ||
:<code>S<sub>i</sub></code> = | :<code>S<sub>i</sub></code> = Storage volume at node i | ||
:<code>A</code> = | :<code>A</code> = Multiplier of the process variable as a product of all further dependencies | ||
:<code>p</code> = | :<code>p</code> = Number of additional dependencies | ||
After linearization, a straight line equation which is only dependent on the storage volume can be determined for each process function. The gradient "m" of the line changes from node to node of the process function. | |||
Thus, for each function dependent on the storage volume, there is a piecewisely linearized function for the entire range of possible storage volumes. The function itself can be scaled with a factor (A) that is constant for each time step, which summarizes all further dependencies as a product. | |||
The continuity equation can now be reformulated to: | |||
:<math>\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>\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> | ||
Zeile 38: | Zeile 38: | ||
:<math>\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> | :<math>\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> | ||
: | :with: | ||
:<math>\mbox{C}_2 = \sum_{k=1}^m m_{k,i}</math> | :<math>\mbox{C}_2 = \sum_{k=1}^m m_{k,i}</math> | ||
After multiplying out the brackets the continuity equation becomes: | |||
:<math>\frac{\mbox{d}S}{\mbox{d}t} + \mbox{C}_2 \cdot S(t) = \mbox{C}_1</math> | :<math>\frac{\mbox{d}S}{\mbox{d}t} + \mbox{C}_2 \cdot S(t) = \mbox{C}_1</math> | ||
: | :with: | ||
:<math>\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> | :<math>\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>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> | :<math>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>S_0 = S(t=0)</math> | :<math>S_0 = S(t=0)</math> | ||
This means that the storage volume can be determined at any time. If, within one time interval, the storage volume reaches the next node, the values of C1 and C2 must be recalculated with the corresponding gradients and intercepts of the piecewise linearized functions at the new node. The simultaneous calculation of the output functions is achieved by inserting the storage volume equation into the respective straight line equation. | |||
Generally speaking, the following holds true for the average intensity of all outputs: | |||
:<math>\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>\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> | ||
Zeile 63: | Zeile 63: | ||
:<math>\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> | :<math>\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 method, all storage elements whose processes can be described using piecwisely linear functions can be calculated. In Talsim-NG this module is used in the calculation of soil processes, reservoirs and transport reaches. | |||
== | ==References== | ||
<references/> | <references/> |
Aktuelle Version vom 26. November 2020, 16:39 Uhr
The simulation of storage elements is carried out with a newly developed module for the calculation of storage elements 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 storage element 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 volumeQzu,j(t)
= Inflow processQab,i(t)
= Outflow processm
= Number of inflow processesn
= Number of outflow processes
The outflow terms are usually non-linear functions of the storage volume (e.g. outflow from the soil storage with the process functions). These functions are piecewisely linearized.
- [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)
= Outflow from storage elementS(t)
= Storage volumeyi
= Outflow value at node iSi
= Storage volume at node iA
= Multiplier of the process variable as a product of all further dependenciesp
= Number of additional dependencies
After linearization, a straight line equation which is only dependent on the storage volume can be determined for each process function. The gradient "m" of the line changes from node to node of the process function. Thus, for each function dependent on the storage volume, there is a piecewisely linearized function for the entire range of possible storage volumes. The function itself can be scaled with a factor (A) that is constant for each time step, which summarizes all further dependencies as a 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]
- with:
- [math]\displaystyle{ \mbox{C}_2 = \sum_{k=1}^m m_{k,i} }[/math]
After multiplying out the brackets the continuity equation becomes:
- [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 volume can be determined at any time. If, within one time interval, the storage volume reaches the next node, the values of C1 and C2 must be recalculated with the corresponding gradients and intercepts of the piecewise linearized functions at the new node. The simultaneous calculation of the output functions is achieved by inserting the storage volume equation into the respective straight line equation.
Generally speaking, the following holds true for the average intensity of all outputs:
- [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 method, all storage elements whose processes can be described using piecwisely linear functions can be calculated. In Talsim-NG this module is used in the calculation of soil processes, reservoirs and transport reaches.