[481] | 1 | \documentclass[11pt,a4paper,fleqn,abstracton]{scrartcl} |
---|
| 2 | \usepackage[T1]{fontenc} |
---|
| 3 | \usepackage{enumerate,sqrt,chimuk,graphicx} |
---|
| 4 | \usepackage[german]{babel} |
---|
| 5 | \usepackage[hang,bf]{caption} |
---|
| 6 | |
---|
| 7 | \bibliographystyle{ups} |
---|
| 8 | |
---|
| 9 | \def\version{1.0} |
---|
| 10 | |
---|
| 11 | \title{Das Upstream-Spline Advektionsverfahren} |
---|
| 12 | \author{Michael Schr"oter} |
---|
| 13 | \date{Version \version{}, \today} |
---|
| 14 | |
---|
| 15 | |
---|
| 16 | \begin{document} |
---|
| 17 | % |
---|
| 18 | \maketitle |
---|
| 19 | % |
---|
| 20 | \nocite{mahrer:78,price:73} |
---|
| 21 | % |
---|
| 22 | \begin{abstract} |
---|
| 23 | Dokumentation des Upstream-Spline Advektionsverfahrens. Es behandelt die |
---|
| 24 | allgemeine Berechnung des Splines und die Berechnung im speziellen bei |
---|
| 25 | Verwendung bestimmter Randbedingungen. Zus"atzlich wird die L"osung |
---|
| 26 | tridiagonaler linearer Gleichungssysteme vorgestellt. Abschlie"send |
---|
| 27 | wird ein selektiver Filter vorgestellt, der es erm"oglicht sogenannte |
---|
| 28 | $2\Delta$-Instabilit"aten, welche zum Beispiel bei der Upstream-Spline |
---|
| 29 | Advektion k"unstlich angeregt werden, auszufiltern. |
---|
| 30 | \end{abstract} |
---|
| 31 | % |
---|
| 32 | Gesucht ist die L"osung der Advektionsterme in prognostischen Gleichungen, welche hier |
---|
| 33 | f"ur eine allgemeine Gr"o"se $\psi$ und die Raumrichtung $x$ formuliert: |
---|
| 34 | \begin{equation}\label{advek:eq} |
---|
| 35 | \frac{\6\psi}{\6 t}=-u\frac{\6\psi}{\6 x}\; |
---|
| 36 | \end{equation} |
---|
| 37 | lauten. |
---|
| 38 | Ist die advehierende Geschwindigkeit $u$ konstant, so entspricht die L"osung von |
---|
| 39 | (\ref{advek:eq}) der Verlagerung von $\psi$ um die Distanz $u\cdot \Delta t$ |
---|
| 40 | innerhalb des Zeitintervalls $\Delta t$. Die numerische L"osung von |
---|
| 41 | (\ref{advek:eq}) setzt eine konstante Verlagerungsgeschwindigkeit w"ahrend eines |
---|
| 42 | Zeitschritts $\Delta t$ voraus. Entspricht die Verlagerungsdistanz |
---|
| 43 | $u\cdot \Delta t$ nicht dem ganzzahligen Vielfachen der numerischen Gitterweite, |
---|
| 44 | so ist die Anwendung eines Interpolationsverfahrens notwendig, um Werte von $\psi$ |
---|
| 45 | zwischen den Maschenpunkten zu erhalten. |
---|
| 46 | |
---|
| 47 | Der Unterschied zu anderen Advektionsverfahren, wie zum Beispiel dem |
---|
| 48 | \textit{Upstream}-Verfahren oder dem Verfahren von \textit{Piacsek und Williams}, |
---|
| 49 | bei denen zur Beschreibung der Advektion eine Approximation von |
---|
| 50 | Differenzenquotienten vorgenommen wird, liegt darin, da"s bei dem |
---|
| 51 | \textit{Upstream-Spline Advektionsverfahren} die Str"omung durch eine |
---|
| 52 | interpolierende Funktion angen"ahert wird. Als interpolierende Funktion setzt das |
---|
| 53 | \textit{Upstream-Spline Advektionsverfahren} eine |
---|
| 54 | kubische Splinefunktion $s_{\Delta}$ an. Es handelt sich dabei um eine Funktion, |
---|
| 55 | die auf jedem Teilintervall $[x_{i},x_{i+1}]$, mit $i=0,\ldots,N-1$, zweimal stetig |
---|
| 56 | differenzierbar sind und dort mit einem Polynom dritten Grades "ubereinstimmen. |
---|
| 57 | Eine Splinefunktion ist somit st"uckweise aus $N$ kubischen Polynomen so zusammengesetzt, |
---|
| 58 | da"s die Funktion $s_{\Delta}$ selbst und ihre beiden ersten Ableitungen an den |
---|
| 59 | Stellen $x_i$, mit $i=1,\ldots,N-1$, keine Sprungstellen besitzen |
---|
| 60 | \comshortcite{stoer:72}. D.~h. an den Randpunkten der Teilintervalle werden die |
---|
| 61 | Splinefunktionen $s_{\Delta,i}$ durch folgende Beziehungen miteinander verkn"upft: |
---|
| 62 | \begin{eqnarray} |
---|
| 63 | s_{\Delta,i}(x_i) & = & s_{\Delta,i+1}(x_i) \nonumber \\ |
---|
| 64 | s'_{\Delta,i}(x_{i}) & = & s'_{\Delta,i+1}(x_{i}) |
---|
| 65 | \hspace{0.5cm}\mbox{f"ur}\hspace{0.25cm} i=0,\ldots,N\!-\!1\nonumber \\ |
---|
| 66 | s''_{\Delta,i}(x_{i}) & = & s''_{\Delta,i+1}(x_{i})\;. \nonumber |
---|
| 67 | \end{eqnarray} |
---|
| 68 | $s_{\Delta,i}(x_i)$ ist hier die auf dem $i$-ten Teilintervall g"ultige |
---|
| 69 | Splinefunktion und $x_i$ sind die Knotenpunkte (St"utzstellen) des Splines. |
---|
| 70 | Sie entsprechen des Knotenpunkten des numerischen Gitters in die jeweilige |
---|
| 71 | betrachtete Raumrichtung. |
---|
| 72 | |
---|
| 73 | Unter Verwendung der Steigungen der Splinefunktionen $m_i$, kann die Splinefunktion |
---|
| 74 | als |
---|
| 75 | \begin{eqnarray}\label{spline_eq} |
---|
| 76 | s_\Delta(x) & = & m_{i-1}\frac{\left(x_i-x\right)^2 \left(x-x_{i-1}\right) }{h_i^2} |
---|
| 77 | -m_i\frac{\left(x-x_i\right)^2\left(x_i-x\right)}{h_i^2}\nonumber\\ |
---|
| 78 | & & +\psi_{i-1} |
---|
| 79 | \frac{\left(x_i-x\right)^2\left[2\left( x-x_i\right) +h_i\right]}{h_i^3} |
---|
| 80 | +\psi_i |
---|
| 81 | \frac{\left(x-x_{i-1}\right)^2\left[2\left(x_i-x\right)+h_i\right]}{h_i^3} |
---|
| 82 | \end{eqnarray} |
---|
| 83 | formuliert werden \comshortcite{ahlberg:67}, mit $h_i=x_i-x_{i-1}=dx_i$. |
---|
| 84 | F"ur die advehierte Gr"o"se an einem Gitterpunkt $i$ zum Zeitpunkt $t+\Delta t$ gilt |
---|
| 85 | dann: |
---|
| 86 | \begin{equation} |
---|
| 87 | \psi_i^{t+\Delta t} = s^{t}_\Delta(x+\alpha_i\Delta x)\;, |
---|
| 88 | \end{equation} |
---|
| 89 | mit $\alpha_i=u_i\frac{\Delta t}{\Delta x}$. F"ur $u_i\ge 0$ erh"alt man durch |
---|
| 90 | Einsetzen von $x-\alpha_i$ in (\ref{spline_eq}): |
---|
| 91 | \begin{eqnarray} |
---|
| 92 | \psi_i^{t+\Delta t} & = & |
---|
| 93 | \psi_i^{t} - m_i\alpha + \left[ |
---|
| 94 | 3\left(\psi_{i-1}^{t}-\psi_i^{t} \right) + 2m_i + m_{i-1}\right]\alpha^2 \\ |
---|
| 95 | & & - \left[ m_i + m_{i-1} + |
---|
| 96 | 2\left( \psi_{i-1}^{t}-\psi_i^{t}\right)\right]\alpha^3\;. |
---|
| 97 | \end{eqnarray} |
---|
| 98 | F"ur $u_i<0$ folgt mit $x+\alpha_i$ (der Spline wird hier zwischen den Punkten $x_i$ |
---|
| 99 | und $x_i+1$ ausgewertet): |
---|
| 100 | \begin{eqnarray} |
---|
| 101 | \psi_i^{t+\Delta t} & = & |
---|
| 102 | \psi_i^{t} + m_i\alpha + \left[ |
---|
| 103 | 3\left(\psi_{i}^{t}-\psi_{i+1}^{t} \right) + 2m_i + m_{i+1}\right]\alpha^2 \\ |
---|
| 104 | & & - \left[ m_i + m_{i+1} + |
---|
| 105 | 2\left( \psi_{i}^{t}-\psi_{i+1}^{t}\right)\right]\alpha^3\;. |
---|
| 106 | \end{eqnarray} |
---|
| 107 | |
---|
| 108 | Unter der Voraussetzung, da"s die Splinefunktionen an ihren R"andern stetig |
---|
| 109 | ineinander "ubergehen, ergibt sich folgende Bestimmungsgleichung f"ur die Steigungen |
---|
| 110 | $m_i$: |
---|
| 111 | \begin{equation} |
---|
| 112 | \frac{1}{h_i}m_{i-1}+2\left(\frac{1}{h_i}+\frac{1}{h_{i+1}}\right)m_i+\frac{1}{h_{i+1}}m_{i+1}= |
---|
| 113 | 3\frac{\psi_i-\psi_{i-1}}{h_i^2}+3\frac{\psi_{i+1}-\psi_i}{h_{i+1}^2}\;. |
---|
| 114 | \end{equation} |
---|
| 115 | F"ur $i$ gilt hier $i=1,\ldots,N-1$. Mit |
---|
| 116 | \begin{eqnarray} |
---|
| 117 | \lambda_i & = & \frac{h_{i+1}}{h_i+h_{i+1}}\label{lambda:eq}, \\[8pt] |
---|
| 118 | \mu_i & = & 1-\lambda_i \label{mu:eq}, \\[8pt] |
---|
| 119 | c_i & = & 3\frac{\psi_i-\psi_{i-1}}{h_i^2}+3\frac{\psi_{i+1}-\psi_i}{h_{i+1}^2} |
---|
| 120 | \end{eqnarray} |
---|
| 121 | folgt |
---|
| 122 | \begin{equation}\label{spl:eq} |
---|
| 123 | \lambda_i m_{i-1} + 2 m_i + \mu_i m_{i+1} = c_i\;. |
---|
| 124 | \end{equation} |
---|
| 125 | |
---|
| 126 | Die R"ander des Modellgebietes m"ussen eine gesonderte Untersuchung |
---|
| 127 | erfahren. Hierzu ist die Formulierung von Randbedingungen notwendig, wobei zwischen |
---|
| 128 | lateralen und vertikalen Randbedingungen unterschieden werden mu"s. Lateral werden in |
---|
| 129 | der LES meist zyklische Randbedingungen angesetzt. Der Index $i$ l"auft hier nicht von 0 bis $N$, |
---|
| 130 | sondern es gilt $i=-1,\ldots ,nx+1$ (f"ur $x$-Richtung). Es gilt: |
---|
| 131 | \[ |
---|
| 132 | \psi_{-1} = \psi_{nx}\hspace{1cm}\mbox{und}\hspace{1cm}\psi_{0} = \psi_{nx+1}\;. |
---|
| 133 | \] |
---|
| 134 | In vertikaler Richtung mu"s hingegen zwischen Neumannschen und Dirichletschen |
---|
| 135 | Randbedingungen unterschieden werden. Der Laufindex f"ur die vertikale |
---|
| 136 | Richtung bewegt sich in den Grenzen $0\le i\le nz$ und es gilt: |
---|
| 137 | \begin{enumerate} |
---|
| 138 | \item Neumann-R"ander: |
---|
| 139 | \[ |
---|
| 140 | \frac{\6 \psi_{0,nz}}{\6 x_i} = 0 |
---|
| 141 | \] |
---|
| 142 | \item Dirichlet-R"ander: |
---|
| 143 | \[ |
---|
| 144 | \psi_{0,nz}=\psi_0=const |
---|
| 145 | \] |
---|
| 146 | \end{enumerate} |
---|
| 147 | Jede Wahl der Randbedingung wirkt sich anders auf die Bestimmung der |
---|
| 148 | Splinekoeffizienten $m_i$ aus, wie im folgenden erl"autert wird. |
---|
| 149 | |
---|
| 150 | \subsection*{Nichtperiodische Randbedingungen, Advektion in vertikaler Richtung} |
---|
| 151 | F"ur nichtperiodische Splinefunktionen (Neumann oder Dirichlet Randbedingungen) ist |
---|
| 152 | die Angabe zweier zus"atzlicher Randbedingungen f"ur $c$ und $i=0$ bzw. |
---|
| 153 | $i=nz$ notwendig: |
---|
| 154 | \begin{eqnarray} |
---|
| 155 | 2 m_{0}+\mu_{0} m_1 = c_{0} & \mbox{f"ur} & i = 0 \nonumber\\ |
---|
| 156 | \lambda_{nz} m_{nz-1} + 2 m_{nz} = c_{nz} & \mbox{f"ur} & i = nz |
---|
| 157 | \end{eqnarray} |
---|
| 158 | mit |
---|
| 159 | \[ |
---|
| 160 | \mu_{0}= \lambda_{nz}=1 |
---|
| 161 | \] |
---|
| 162 | und |
---|
| 163 | \begin{equation} |
---|
| 164 | c_{0}=3\frac{\psi_1-\psi_{0}}{h_1}\hspace{1cm}\mbox{bzw.}\hspace{1cm} |
---|
| 165 | c_{nz}=3\frac{\psi_{nz}-\psi_{nz-1}}{h_{nz}}\;. |
---|
| 166 | \end{equation} |
---|
| 167 | Dies gilt jedoch nur unter der Voraussetzung, da"s die Kr"ummungen der |
---|
| 168 | Ausgangsfunktion $\psi''(x)$ bzw. der Splinefunktionen $s''_\Delta(x)$ an den |
---|
| 169 | R"andern verschwinden. F"ur $i=1,\ldots,nz-1$ gilt weiterhin: |
---|
| 170 | \begin{equation} |
---|
| 171 | c_i=3\lambda_i\frac{\psi_i-\psi_{i-1}}{h_i}+3\mu_i\frac{\psi_{i+1}-\psi_i}{h_{i+1}}\;. |
---|
| 172 | \end{equation} |
---|
| 173 | Die einzige Unbekannte sind hier die Steigungen der Splinefunktionen $m_i$. Zu ihrer |
---|
| 174 | Bestimmung ist die L"osung des folgenden linearen Gleichungssystems notwendig: |
---|
| 175 | \begin{equation} |
---|
| 176 | \begin{array}{ccccccc} |
---|
| 177 | 2 m_{0} & + & \mu_{0} m_{1} & & & = & c_{0} \\ |
---|
| 178 | \lambda_1 m_{0} & + & 2 m_1 & + & \mu_1 m_{0} & = & c_1 \\ |
---|
| 179 | & & \vdots & & & = & \vdots \\ |
---|
| 180 | \lambda_{nz} m_{nz-1} & + & 2 m_{nz} & & & = & c_{nz} |
---|
| 181 | \end{array} |
---|
| 182 | \end{equation} |
---|
| 183 | bzw. |
---|
| 184 | \begin{equation} |
---|
| 185 | \left(\begin{array}{ccccc} |
---|
| 186 | 2 & \mu_{0} & & & \\ |
---|
| 187 | \lambda_1 & 2 & \mu_1 & & \\ |
---|
| 188 | & \ddots & \ddots & \ddots & \\ |
---|
| 189 | & & \lambda_{nz-1} & 2 & \mu_{nz-1} \\ |
---|
| 190 | & & & \lambda_{nz} & 2 |
---|
| 191 | \end{array}\right) |
---|
| 192 | \cdot |
---|
| 193 | \left(\begin{array}{c} |
---|
| 194 | m_{0} \\ m_1 \\ \vdots \\ m_{nz-1} \\ m_{nz} |
---|
| 195 | \end{array}\right) |
---|
| 196 | = |
---|
| 197 | \left(\begin{array}{c} |
---|
| 198 | c_{0} \\ c_1 \\ \vdots \\ c_{nz-1} \\ c_{nz} |
---|
| 199 | \end{array}\right) |
---|
| 200 | \end{equation} |
---|
| 201 | (leere Pl"atze stehen f"ur Nullen). |
---|
| 202 | Bei diesem linearen Gleichungssystem ist die Koeffizientenmatrix eine Tridiagonalmatrix mit |
---|
| 203 | konstanten Koeffizienten, die ausschlie"slich von der Struktur des verwendeten |
---|
| 204 | Modellgitters abh"angen (siehe (\ref{lambda:eq}) und (\ref{mu:eq})). |
---|
| 205 | |
---|
| 206 | |
---|
| 207 | \subsection*{Periodische Randbedingungen, Advektion in lateraler Richtung} |
---|
| 208 | |
---|
| 209 | F"ur zyklische laterale Randbedingungen (periodischer Splineansatz) kann |
---|
| 210 | (\ref{spl:eq}) f"ur $i=0$ und $i=nx$ vollst"andig formuliert werden: |
---|
| 211 | \begin{equation}\label{spl-lgs:eq} |
---|
| 212 | \begin{array}{ccccccc} |
---|
| 213 | \lambda_0 m_{-1} & + & 2 m_0 & + & \mu_0 m_{1} & = & c_0 \\ |
---|
| 214 | \lambda_1 m_{0} & + & 2 m_1 & + & \mu_1 m_{2} & = & c_2 \\ |
---|
| 215 | & & \vdots & & & = & \vdots \\ |
---|
| 216 | \lambda_{nx} m_{nx-1} & + & 2 m_{nx} & + & \mu_{nx} m_{nx+1} & = & c_{nx} |
---|
| 217 | \end{array} |
---|
| 218 | \end{equation} |
---|
| 219 | Unter Verwendung der Bedingungen f"ur den zyklischen Rand |
---|
| 220 | \newlength{\savearracs} |
---|
| 221 | \setlength{\savearracs}{\arraycolsep} |
---|
| 222 | \setlength{\arraycolsep}{8pt} |
---|
| 223 | \[ |
---|
| 224 | \begin{array}{cccc} |
---|
| 225 | s_\Delta(x_{-1}) = s_\Delta(x_{nx})\,, & |
---|
| 226 | m_{-1} = m_{nx}\,, & |
---|
| 227 | s_\Delta(x_{nx+1}) = s_\Delta(x_{0})\,, & |
---|
| 228 | m_{nx+1} = m_{0} |
---|
| 229 | \end{array} |
---|
| 230 | \] |
---|
| 231 | \setlength{\arraycolsep}{\savearracs} |
---|
| 232 | kann (\ref{spl-lgs:eq}) zu |
---|
| 233 | \begin{equation} |
---|
| 234 | \begin{array}{ccccccc} |
---|
| 235 | \lambda_0 m_{nx} & + & 2 m_0 & + & \mu_0 m_{1} & = & c_0 \\ |
---|
| 236 | \lambda_1 m_{0} & + & 2 m_1 & + & \mu_1 m_{2} & = & c_2 \\ |
---|
| 237 | & & \vdots & & & = & \vdots \\ |
---|
| 238 | \lambda_{nx} m_{nx-1} & + & 2 m_{nx} & + & \mu_{nx} m_{0} & = & c_{nx} |
---|
| 239 | \end{array} |
---|
| 240 | \end{equation} |
---|
| 241 | umgeschrieben werden, was dem L"osen von |
---|
| 242 | \begin{equation} |
---|
| 243 | \left(\begin{array}{ccccc} |
---|
| 244 | 2 & \mu_0 & & & \lambda_0 \\ |
---|
| 245 | \lambda_1 & 2 & \mu_1 & & \\ |
---|
| 246 | & \ddots & \ddots & \ddots & \\ |
---|
| 247 | & & \lambda_{nx-1} & 2 & \mu_{nx-1} \\ |
---|
| 248 | \mu_{nx} & & & \lambda_{nx} & 2 |
---|
| 249 | \end{array}\right) |
---|
| 250 | \cdot |
---|
| 251 | \left(\begin{array}{c} |
---|
| 252 | m_0 \\ m_1 \\ \vdots \\ m_{nx-1} \\ m_{nx} |
---|
| 253 | \end{array}\right) |
---|
| 254 | = |
---|
| 255 | \left(\begin{array}{c} |
---|
| 256 | c_0 \\ c_1 \\ \vdots \\ c_{nx-1} \\ c_{nx} |
---|
| 257 | \end{array}\right) |
---|
| 258 | \end{equation} |
---|
| 259 | "aquivalent ist. Wie auch f"ur den nichtperiodischen Fall sind hier die Koeffizienten |
---|
| 260 | der Matrix nur von der Struktur des numerischen Gitters abh"angig, jedoch ist |
---|
| 261 | die Koeffizientenmatrix keine Tridiagonalmatrix mehr, wodurch sich der Aufwand f"ur |
---|
| 262 | die L"osung des Gleichungssystems erh"oht. |
---|
| 263 | |
---|
| 264 | \subsection*{L"osen der linearen Gleichungssysteme} |
---|
| 265 | |
---|
| 266 | Sowohl im periodischen als auch im nichtperiodischen Fall kann die Koeffizientenmatrix |
---|
| 267 | vor jeder Simulation einmal zur Verf"ugung gestellt werden und f"ur den Rest |
---|
| 268 | der Simulation unver"andert bleiben. In \textsf{PALM-1} geschieht die |
---|
| 269 | Bereitstellung der Koeffizientenmatrix nach der "Uberpr"ufung der |
---|
| 270 | Eingabeparameter (\texttt{check\_parameters.f90}) in dem Unterprogramm |
---|
| 271 | \texttt{init\_advec.f90} |
---|
| 272 | |
---|
| 273 | |
---|
| 274 | \minisec{Die Koeffizientenmatrix im nichtperiodischen Fall} |
---|
| 275 | |
---|
| 276 | F"ur tridiagonale Gleichungssysteme verringert sich der Rechenaufwand f"ur das |
---|
| 277 | Standard-Gau"s-L"osungsverfahren (Thomasalgorithmus). Ausgangspunkt f"ur diesen Algorithmus |
---|
| 278 | ist das folgende lineare Gleichungssystem: |
---|
| 279 | \begin{equation}\label{lgs:eq} |
---|
| 280 | \mathsf{A}_{(nz+1)\times (nz+1)}\cdot \vc{m} = \vc{c}\;. |
---|
| 281 | \end{equation} |
---|
| 282 | Dem Standard-Gau"s-L"osungsverfahren folgend wird zun"achst die Matrix |
---|
| 283 | $\mathsf{A}_{(nz+1)\times (nz+1)}$ in eine linke untere Dreiecksmatrix |
---|
| 284 | $\mathsf{L}_{(nz+1)\times (nz+1)}$ |
---|
| 285 | und eine rechte obere Dreiecksmatrix $\mathsf{R}_{(nz+1)\times (nz+1)}$ zerlegt. |
---|
| 286 | Da $\mathsf{A}_{(nz+1)\times (nz+1)}$ eine Tridiagonalmatrix ist und alle Elemente |
---|
| 287 | au"ser den Diagonal-, Subdiagonal- und Superdiagonalelementen gleich 0 sind, sind |
---|
| 288 | bei den Matrizen $\mathsf{L}$ und $\mathsf{R}$ |
---|
| 289 | auch nur die Diagonal- und Subdiagonal bzw. die Diagonal- und Superdiagonalelemente |
---|
| 290 | von 0 verschieden. Die Matrizen $\mathsf{L}$ und $\mathsf{R}$ nehmen deshalb folgende |
---|
| 291 | einfache Gestalt an: |
---|
| 292 | \[ |
---|
| 293 | \mathsf{L}_{(nz+1)\times (nz+1)} =\left(\begin{array}{lllll} |
---|
| 294 | 1 & 0 & & & \\ |
---|
| 295 | l_{1} & 1 & \ddots & & \\ |
---|
| 296 | & l_{2} & 1 & \ddots & \\ |
---|
| 297 | & & \ddots & \ddots & 0 \\ |
---|
| 298 | & & & l_{nz} & 1 |
---|
| 299 | \end{array}\right) |
---|
| 300 | \] |
---|
| 301 | und |
---|
| 302 | \[ |
---|
| 303 | \mathsf{R}_{(nz+1)\times (nz+1)} =\left(\begin{array}{lllll} |
---|
| 304 | d_{0} & r_{0} & & & \\ |
---|
| 305 | 0 & d_{1} & r_{1} & & \\ |
---|
| 306 | & \ddots & d_{2} & \ddots & \\ |
---|
| 307 | & & \ddots & \ddots & r_{nz-1} \\ |
---|
| 308 | & & & 0 & d_{nz} |
---|
| 309 | \end{array}\right)\;. |
---|
| 310 | \] |
---|
| 311 | Die Zerlegung der Matrix kann, wie bereits angesprochen, einmalig vor |
---|
| 312 | Beginn der eigentlichen Simulationen vorgenommen werden (\texttt{init\_advec.f90}), |
---|
| 313 | wobei sich die Koeffizienten wie folgt berechnen: |
---|
| 314 | \begin{eqnarray} |
---|
| 315 | d_{0} & = & a_{0,0} \\[6pt] |
---|
| 316 | r_{i} & = & a_{i,i+1}\hspace{1cm}\mbox{mit}\hspace{10pt}i=0,\ldots,nz-1 \\[6pt] |
---|
| 317 | l_{i} & = & \frac{c_{i}}{d_{i-1}} |
---|
| 318 | \hspace{1cm}\mbox{mit}\hspace{10pt}i=1,\ldots,nz \\[6pt] |
---|
| 319 | d_{i} & = & a_{i,i}-a_{i-1,i}\cdot l_{i} |
---|
| 320 | \hspace{1cm}\mbox{mit}\hspace{10pt}i=1,\ldots,nz |
---|
| 321 | \end{eqnarray} |
---|
| 322 | Gel"ost wird das Gleichungssystem (\ref{lgs:eq}) nun in zwei Schritten, denn es gilt: |
---|
| 323 | \[ |
---|
| 324 | \mathsf{A}_{(nz+1)\times (nz+1)}\cdot\vc{m} = |
---|
| 325 | \mathsf{L}_{(nz+1)\times (nz+1)}\underbrace{\mathsf{R}_{(nz+1)\times (nz+1)} |
---|
| 326 | \cdot\vc{m}}_{\dis\glr \vc{y}} = \vc{c} |
---|
| 327 | \] |
---|
| 328 | \begin{enumerate}[\textbf{Schritt} 1:] |
---|
| 329 | \item |
---|
| 330 | \[ |
---|
| 331 | \mathsf{L}_{(nz+1)\times (nz+1)}\cdot\vc{y}=\vc{c} |
---|
| 332 | \] |
---|
| 333 | \item |
---|
| 334 | \[ |
---|
| 335 | \mathsf{R}_{(nz+1)\times (nz+1)}\cdot\vc{m}=\vc{y}\;. |
---|
| 336 | \] |
---|
| 337 | \end{enumerate} |
---|
| 338 | |
---|
| 339 | \minisec{Die Koeffizientenmatrix im periodischen Fall} |
---|
| 340 | |
---|
| 341 | Im periodischen Fall handelt es sich bei der Matrix $\mathsf{A}_{(nx+1)\times (nx+1)}$ |
---|
| 342 | um eine sogenannte zyklische Tridiagonalmatrix der Form: |
---|
| 343 | \begin{equation} |
---|
| 344 | \mathsf{A}_{(nx+1)\times (nx+1)}=\left(\begin{array}{ccccccc} |
---|
| 345 | a_{0,0} & a_{0,1} & 0 & 0 & \cdots & \beta \\ |
---|
| 346 | a_{1,0} & a_{1,1} & a_{1,2} & 0 & \cdots & 0 \\ |
---|
| 347 | 0 & \ddots & \ddots & \ddots & & \vdots \\ |
---|
| 348 | \vdots & \ddots & \ddots & \ddots & \ddots & 0 \\ |
---|
| 349 | 0 & & \ddots & \ddots & a_{nx-1,nx-1} & a_{nx-1,nx} \\ |
---|
| 350 | \alpha & 0 & \cdots & 0 & a_{nx,nx-1} & a_{nx,nx} |
---|
| 351 | \end{array}\right)\;, |
---|
| 352 | \end{equation} |
---|
| 353 | mit $\alpha=\mu_{nx}$ und $\beta=\lambda_0$. |
---|
| 354 | |
---|
| 355 | Gleichungssysteme dieser Form k"onnen mit Hilfe der \textsc{Sherman-Morrison} Formel |
---|
| 356 | \comshortcite{press:86} gel"ost werden, dabei gilt es zwei lineare Gleichungssysteme |
---|
| 357 | zu l"osen: |
---|
| 358 | \begin{eqnarray} |
---|
| 359 | \mathsf{A}_{(nx+1)\times (nx+1)} \cdot \vc{y} & = & \vc{b}\label{lgs-cyc1:eq}\;, \\ |
---|
| 360 | \mathsf{A}_{(nx+1)\times (nx+1)} \cdot \vc{z} & = & \vc{u}\label{lgs-cyc2:eq}\;. |
---|
| 361 | \end{eqnarray} |
---|
| 362 | Die endg"ultige L"osung $\vc{m}$ ergibt sich anschlie"send zu: |
---|
| 363 | \begin{equation} |
---|
| 364 | \vc{m}=\vc{y}-\left( \frac{\vc{v}\cdot\vc{y}}{1+(\vc{v}\cdot\vc{z})}\right)\vc{z}\;. |
---|
| 365 | \end{equation} |
---|
| 366 | Die Vektoren $\vc{u}$ und $\vc{v}$ sind dabei wie folgt definiert: |
---|
| 367 | \[ |
---|
| 368 | \vc{u} = \left(\begin{array}{c} |
---|
| 369 | \gamma \\ |
---|
| 370 | 0 \\ |
---|
| 371 | \vdots \\ |
---|
| 372 | 0 \\ |
---|
| 373 | \alpha\end{array}\right)\;,\hspace{1cm} |
---|
| 374 | \vc{v} = \left(\begin{array}{c} |
---|
| 375 | 1 \\ |
---|
| 376 | 0 \\ |
---|
| 377 | \vdots \\ |
---|
| 378 | 0 \\ |
---|
| 379 | \beta/\alpha\end{array}\right)\;. |
---|
| 380 | \] |
---|
| 381 | Der Parameter $\gamma$ kann dabei beliebig gew"ahlt werden. Er wird hier gem"a"s des |
---|
| 382 | Vorschlages von \shortciteN{press:86} zu $\gamma=-a_{0,0}$ gew"ahlt. Wird nun die |
---|
| 383 | Matrix $\mathsf{A}_{(nx+1)\times (nx+1)}$ derart modifiziert, da"s gilt: |
---|
| 384 | \[ |
---|
| 385 | a'_{0,0}=a_{0,0}-\gamma\hspace{1cm}\mbox{und}\hspace{1cm} |
---|
| 386 | a'_{nx,nx}=a_{nx,nx}-\frac{\alpha\beta}{\gamma} |
---|
| 387 | \] |
---|
| 388 | und |
---|
| 389 | \[ |
---|
| 390 | \mathsf{A}_{(nx+1)\times (nx+1)}=\left(\begin{array}{ccccccc} |
---|
| 391 | a'_{0,0} & a_{0,1} & & & & \\ |
---|
| 392 | a_{1,0} & a_{1,1} & a_{1,2} & & & \\ |
---|
| 393 | & \ddots & \ddots & \ddots & & \\ |
---|
| 394 | & & \ddots & \ddots & \ddots & \\ |
---|
| 395 | & & & \ddots & a_{nx-1,nx-1} & a_{nx-1,nx} \\ |
---|
| 396 | & & & & a_{nx,nx-1} & a'_{nx,nx} |
---|
| 397 | \end{array}\right)\;, |
---|
| 398 | \] |
---|
| 399 | so k"onnen die Gleichungen (\ref{lgs-cyc1:eq}) und (\ref{lgs-cyc2:eq}) wie |
---|
| 400 | herk"ommliche tridiagonale Gleichungssysteme behandelt werden. |
---|
| 401 | |
---|
| 402 | \minisec{Der Thomasalgorithmus} |
---|
| 403 | |
---|
| 404 | Gel"ost werden die linearen Gleichungssysteme sowohl im nichtperiodischen als auch im periodischen |
---|
| 405 | Fall mit dem sogenannten Thomasalgorithmus. |
---|
| 406 | \begin{description} |
---|
| 407 | \item[1. Vorw"artssubstitution:] |
---|
| 408 | \begin{eqnarray} |
---|
| 409 | y_{0} & = & c_{0} \hspace{0.5cm}\mbox{\small nichtperiodisch} \\[6pt] |
---|
| 410 | y_{0} & = & c_{0} \hspace{0.5cm}\mbox{\small periodisch} \\[6pt] |
---|
| 411 | y_{i} & = & c_{i} - l_{i,i-1}\cdot y_{i-1} |
---|
| 412 | \hspace{0.5cm}\mbox{mit}\, |
---|
| 413 | \left\{\begin{array}{lr} |
---|
| 414 | i=1,\ldots,nz & \mbox{\small nichtperiod.} \\ |
---|
| 415 | i=0,\ldots,nx & \mbox{\small period.} |
---|
| 416 | \end{array}\right. |
---|
| 417 | \end{eqnarray} |
---|
| 418 | \item[2. R"uckw"artssubstitution:] |
---|
| 419 | \begin{eqnarray} |
---|
| 420 | m_{nz} & = & \frac{y_{nz}}{d_{nz}}\hspace{0.5cm}\mbox{\small nichtperiodisch} \\[6pt] |
---|
| 421 | m_{nx} & = & \frac{y_{nx}}{d_{nx}}\hspace{0.5cm}\mbox{\small periodisch} \\[6pt] |
---|
| 422 | m_{i} & = & \frac{y_{i} - r_{i+1}\cdot m_{i+1}}{d_{i}} |
---|
| 423 | \hspace{0.5cm}\mbox{mit} |
---|
| 424 | \left\{\begin{array}{lr} |
---|
| 425 | i=nz-1,\ldots,0 & \mbox{\small nichtperiod.} \\ |
---|
| 426 | i=nx-1,\ldots,0 & \mbox{\small period.} |
---|
| 427 | \end{array}\right. |
---|
| 428 | \end{eqnarray} |
---|
| 429 | \end{description} |
---|
| 430 | |
---|
| 431 | |
---|
| 432 | |
---|
| 433 | \section*{Filterung der Daten auf $\mathbf{2\Delta}$-Instabilit"aten} |
---|
| 434 | |
---|
| 435 | Die Verwendung des Upstream-Spline Advektionsverfahrens hat zur Folge, da"s sich |
---|
| 436 | unrealistische, numerisch bedingte $2\Delta$-Instabilit"aten ausbilden k"onnen. |
---|
| 437 | Um diese auszufiltern werden die advektiven "Anderungen der prognostischen |
---|
| 438 | Variablen im Anschlu"s an die Berechnung der Advektion in die jeweilige |
---|
| 439 | Raumrichtung einer Filterung auf diese $2\Delta$-Instabilit"aten unterzogen. |
---|
| 440 | Es wird ein sogenannter selektiver Filter von \shortciteN{mahrer:78} angewendet. |
---|
| 441 | Die ungefilterte Gr"o"se $\phi$ und die gefilterte Gr"o"se $\phi^\ast$ m"ussen |
---|
| 442 | dabei folgendes inhomogene, lineare Gleichungssystem mit symmetrischer, |
---|
| 443 | diagonaldominanter, tridiagonaler Koeffizientenmatrix erf"ullen: |
---|
| 444 | \begin{equation}\label{long-filter:eq} |
---|
| 445 | (1-\delta)\,\phi_{i-1}^\ast + 2(1+\delta)\,\phi_i^\ast + |
---|
| 446 | (1-\delta)\,\phi_{i+1}^\ast = \phi_{i-1} + 2\,\phi_{i} + \phi_{i+1} |
---|
| 447 | \end{equation} |
---|
| 448 | (der Laufindex $i$ m"oge f"ur die Betrachtungen von $0$ bis $n$ laufen). |
---|
| 449 | Der Wert des Gl"attungsfaktors bestimmt dabei, inwieweit von der Filterung |
---|
| 450 | auch St"orungen mit Wellenl"angen gr"o"ser als $2\Delta$ betroffen sind. |
---|
| 451 | Damit diese aber, da nicht numerisch bedingt, m"oglichst unbeeinflu"st |
---|
| 452 | bleiben sollen, sollte der Gl"attungsfaktor so klein wie m"oglich gew"ahlt werden |
---|
| 453 | ($0 < \delta \le 0.1 $). |
---|
| 454 | |
---|
| 455 | Ein Problem bei der Filterung stellen die Randpunkte des Modellgebietes ($0$ und $n$) |
---|
| 456 | dar, da man f"ur sie das Gleichungssystem (\ref{long-filter:eq}) nicht formulieren |
---|
| 457 | kann. L"a"st man die Randpunkte jedoch ungefiltert, so gilt: |
---|
| 458 | \newlength{\templength} |
---|
| 459 | \setlength{\templength}{\mathindent} |
---|
| 460 | \setlength{\mathindent}{0pt} |
---|
| 461 | \begin{equation} |
---|
| 462 | \begin{array}{rcl} |
---|
| 463 | \multicolumn{3}{l}{\mbox{$i = 1$:}} \\ |
---|
| 464 | \hspace{0.5cm}2(1+\delta)\,\phi_1^\ast + (1-\delta)\phi_2^\ast & = & |
---|
| 465 | \delta \phi_{0} + 2\,\phi_1 + \phi_2 \\[8pt] |
---|
| 466 | \multicolumn{3}{l}{\mbox{$1\le i\le n$:}} \\[6pt] |
---|
| 467 | \hspace{0.5cm}(1-\delta)\,\phi_{i-1}^\ast + 2(1+\delta)\,\phi_{i}^\ast + |
---|
| 468 | (1-\delta)\,\phi_{i+1}^\ast & = & |
---|
| 469 | \phi_{i-1} + 2\,\phi_i + \phi_{i+1} \\[8pt] |
---|
| 470 | \multicolumn{3}{l}{\mbox{$i = n-1$:}} \\ |
---|
| 471 | \hspace{0.5cm}2(1+\delta)\,\phi_{n-1}^\ast + (1-\delta)\phi_n^\ast & = & |
---|
| 472 | \phi_{n-1} + 2\,\phi_{n-1} + \delta\phi_{n} |
---|
| 473 | \end{array} |
---|
| 474 | \end{equation} |
---|
| 475 | \setlength{\mathindent}{\templength} |
---|
| 476 | Gel"ost wird dieses Gleichungssystem mit dem bereits beschriebenen |
---|
| 477 | Thomasalgorithmus. |
---|
| 478 | |
---|
| 479 | Tests haben gezeigt, da"s die Wirkung des Filters abh"angig von der Anzahl der betrachteten |
---|
| 480 | Gitterpunkte, jedoch unabh"angig von der Formulierung f"ur die Randpunkte ist. |
---|
| 481 | |
---|
| 482 | \section*{Ablauf in PALM-1} |
---|
| 483 | |
---|
| 484 | Die Umsetzung des Upstream-Spline Advektionsverfahrens in Verbindung mit der |
---|
| 485 | Filterung auf $2\Delta$-Instabilit"aten wird durch das Flu"sdiagramm in |
---|
| 486 | Abbildung~\ref{ablauf:fig} verdeutlicht. |
---|
| 487 | \begin{figure}[p] |
---|
| 488 | \centering |
---|
| 489 | \includegraphics[width=\textwidth]{ablauf.eps} |
---|
| 490 | \caption{Ablaufplan f"ur das Upstream-Spline Advektionsverfahren} |
---|
| 491 | \label{ablauf:fig} |
---|
| 492 | \end{figure} |
---|
| 493 | |
---|
| 494 | \newpage |
---|
| 495 | \bibliography{ups} |
---|
| 496 | |
---|
| 497 | \end{document} |
---|
| 498 | |
---|