source: palm/trunk/TUTORIAL/SOURCE/particle_model_cloud_physics.tex @ 1526

Last change on this file since 1526 was 1515, checked in by boeske, 9 years ago

several updates in the tutorial

  • Property svn:keywords set to Id
File size: 64.7 KB
Line 
1%$Id: particle_model_cloud_physics.tex 1515 2015-01-02 11:35:51Z keck $
2\input{header_tmp.tex}
3%\input{../header_lectures.tex}
4
5\usepackage[utf8]{inputenc}
6\usepackage{ngerman}
7\usepackage{pgf}
8\usepackage{subfigure}
9\usepackage{units}
10\usepackage{multimedia}
11\usepackage{hyperref}
12\newcommand{\event}[1]{\newcommand{\eventname}{#1}}
13\usepackage{xmpmulti}
14\usepackage{tikz}
15\usetikzlibrary{shapes,arrows,positioning}
16\usetikzlibrary{calc}                             %neues paket
17\usetikzlibrary{decorations.markings}             %neues paket
18\usetikzlibrary{decorations.pathreplacing}        %neues paket
19\def\Tiny{\fontsize{4pt}{4pt}\selectfont}
20\usepackage{amsmath}
21\usepackage{amssymb}
22\usepackage{multicol}
23\usepackage{pdfcomment}
24\usepackage{graphicx}
25\usepackage{listings}
26\lstset{showspaces=false,language=fortran,basicstyle=
27        \ttfamily,showstringspaces=false,captionpos=b}
28
29\institute{Institute of Meteorology and Climatology, Leibniz UniversitÀt Hannover}
30\selectlanguage{english}
31\date{last update: \today}
32\event{PALM Seminar}
33\setbeamertemplate{navigation symbols}{}
34
35\setbeamertemplate{footline}
36  {
37    \begin{beamercolorbox}[rightskip=-0.1cm]&
38     {\includegraphics[height=0.65cm]{imuk_logo.pdf}\hfill \includegraphics[height=0.65cm]{luh_logo.pdf}}
39    \end{beamercolorbox}
40    \begin{beamercolorbox}[ht=2.5ex,dp=1.125ex,
41      leftskip=.3cm,rightskip=0.3cm plus1fil]{title in head/foot}
42      {\leavevmode{\usebeamerfont{author in head/foot}\insertshortauthor} \hfill \eventname \hfill \insertframenumber \; / \inserttotalframenumber}
43    \end{beamercolorbox}
44    \begin{beamercolorbox}[colsep=1.5pt]{lower separation line foot}
45    \end{beamercolorbox}
46  }
47%\logo{\includegraphics[width=0.3\textwidth]{luhimuk_logo.pdf}}
48
49\title[PALM's Lagrangian Particle Model]{PALM's Lagrangian Particle Model}
50\author{PALM group}
51
52\begin{document}
53
54% Folie 1
55\begin{frame}
56\titlepage
57\end{frame}
58
59\section{The embedded Lagrangian particle model}
60\subsection{The embedded Lagrangian particle model}
61
62% Folie 2
63\begin{frame}
64   \frametitle{Overview}
65
66   \begin{itemize}     
67           \item<1-> The Lagrangian particle model embedded in PALM can be used for
68different purposes:
69           \begin{itemize}
70           \footnotesize
71              \item Cloud droplet simulation
72              \item Dispersion modeling / Footprint analysis
73              \item Visualization
74      \end{itemize}   
75      \vspace{3mm}
76      \item<2-> Therefore the particles can have different properties, e.g.:
77      \begin{itemize}
78         \footnotesize
79              \item Particles can be transported (advected) \textbf{passively} with the \textbf{resolved-scale} flow
80              \item Particle transport by the subgrid-scale (SGS) turbulence can be included by switching on a stochastic SGS model for the particle transport (parameter: \texttt{use\underline{ }sgs\underline{ }for\underline{ }particles})
81              \item Particles can be given a mass and thus an \textbf{inertia} and a \textbf{radius} which affects their \textbf{flow resistance} (parameter: \texttt{density\underline{ }ratio}, \texttt{radius})
82      \end{itemize}   
83   \end{itemize}   
84\end{frame}
85
86% Folie 3
87\begin{frame}
88   \frametitle{Basics}
89   \small
90   \begin{itemize}     
91           \item<1-> The particle model is switched on by adding a \texttt{\&particles\underline{ }par} NAMELIST to the parameter file (PARIN). This NAMELIST has to be added \textbf{after} the \texttt{\&d3par}-NAMELIST.
92           \item All parameters for steering the particle model are described in: Documentation $\rightarrow$ Model steering $\rightarrow$ Parameters $\rightarrow$ Particles (http://palm.muk.uni-hannover.de/)
93           \item \textbf{The particle model requires to use a constant vertical grid spacing (due to the implemented scheme for the interpolation of information from the LES grid to particle positions, that is required for the calculation of particle velocities)!}
94   \end{itemize}
95\end{frame}
96
97% Folie 4
98\begin{frame}
99   \frametitle{Basic Particle Parameters (I)}
100   \small
101   Parameters that define the locations of particle source(s):
102   \begin{itemize}
103      \item Step I: Define the volume of the particle source
104   \end{itemize}
105
106   \begin{tikzpicture}
107      \definecolor{darkgreen1}{rgb}{0.2,0.7,0.2}
108      \definecolor{darkgreen2}{rgb}{0.4,0.7,0.4}
109      \definecolor{darkgreen3}{rgb}{0.1,0.6,0.2}
110     
111      % Draw the box
112      \onslide<2->
113      \draw[-] (0,0) -- (5,0);
114      \draw[-] (0,0) -- (0,4);
115      \draw[-] (5,4) -- (5,0);
116      \draw[-] (0,4) -- (5,4);
117      \draw[-] (2,1.5) -- (7,1.5);
118      \draw[-] (2,1.5) -- (2,5.5);
119      \draw[-] (7,5.5) -- (7,1.5);
120      \draw[-] (2,5.5) -- (7,5.5);
121      \draw[-] (0,0) -- (2,1.5);
122      \draw[-] (5,0) -- (7,1.5);
123      \draw[-] (5,4) -- (7,5.5);
124      \draw[-] (0,4) -- (2,5.5);
125      \node at (4,5) {\small Total model domain};
126     
127      % Draw coordinate system
128      \node at (8.5,2.5) [scale=1.0] {%
129      \begin{tikzpicture}
130         \draw[->] (0,0) -- (1,0);
131         \draw[->] (0,0) -- (0,1);
132         \draw[->] (0,0) -- (0.5,0.5);
133         \node at (-0.2,0.9) {z};
134         \node at (0.9,-0.2) {x};
135         \node at (0.65,0.3) {y};
136      \end{tikzpicture}
137      };
138     
139      % Draw green box
140      \onslide<3->
141      \draw[fill=darkgreen1,draw=darkgreen1,opacity=.95]
142         (0,1) --
143         (3,1) --
144         (3,2.5) --
145         (0,2.5) -- cycle ;
146      \draw[fill=darkgreen2,draw=darkgreen2,opacity=.95]
147         (3,1) --
148         (4,1.75) --
149         (4,3.25) --
150         (3,2.5) -- cycle ;
151      \draw[fill=darkgreen3,draw=darkgreen3,opacity=.95]
152         (0,2.5) --
153         (3,2.5) --
154         (4,3.25) --
155         (1,3.25) -- cycle ;
156      \node at (1.5,2) {\small \glqq Source Volume\grqq };         
157     
158      % Dashed green lines   
159      \draw[dashed, ultra thick, color=darkgreen3] (0,1) -- (0,0);
160      \draw[dashed, ultra thick, color=darkgreen3] (3,1) -- (3,0);
161      \draw[dashed, ultra thick, color=darkgreen3] (3,1) -- (5,1);
162      \draw[dashed, ultra thick, color=darkgreen3] (4,1.75) -- (6,1.75);
163      \draw[dashed, ultra thick, color=darkgreen3] (5,1) -- (5,0);
164      \draw[dashed, ultra thick, color=darkgreen3] (6,1.75) -- (6,0.75);
165     
166      % Add Labels
167      \node at (1,-0.25) {\scriptsize \texttt{psl} (default 0.0)};
168      \node at (4.25,-0.25) {\scriptsize \texttt{psr} (default \texttt{nx*dx})};
169      \node at (7,0) {\scriptsize \texttt{pss} (default 0.0)};
170      \node at (8,0.75) {\scriptsize \texttt{psn} (default \texttt{ny*dy})};
171      \node [text width=4em] at (-0.7,0.5) {\scriptsize \texttt{psb} (default zu(\texttt{nz}/2))};
172      \node [text width=4em] at (-0.7,2) {\scriptsize \texttt{pst} (default zu(\texttt{nz}/2))}
173     
174   \onslide<1->
175   \end{tikzpicture}
176\end{frame}
177
178% Folie 5
179\begin{frame}
180   \frametitle{Basic Particle Parameters (II)}
181   \small
182   Parameters that define the locations of particle source(s):
183   \begin{itemize}
184      \item Step IIa: Define the points of single particle release   
185   \end{itemize}
186   
187   \begin{tikzpicture}
188      \definecolor{darkgreen}{rgb}{0.0,0.35,0.0}
189      \definecolor{darkgreen3}{rgb}{0.2,0.6,0.2}
190      \definecolor{darkred}{rgb}{0.5,0.0,0.0}
191     
192      % Draw green box (except for one line that is drawn later)
193      \draw[-, ultra thick, color=darkgreen3] (0,0) -- (5,0);
194      \draw[-, ultra thick, color=darkgreen3] (0,0) -- (0,4);
195      \draw[-, ultra thick, color=darkgreen3] (0,4) -- (5,4);
196      \draw[-, ultra thick, color=darkgreen3] (2,1.5) -- (7,1.5);
197      \draw[-, ultra thick, color=darkgreen3] (2,1.5) -- (2,5.5);
198      \draw[-, ultra thick, color=darkgreen3] (7,5.5) -- (7,1.5);
199      \draw[-, ultra thick, color=darkgreen3] (2,5.5) -- (7,5.5);
200      \draw[-, ultra thick, color=darkgreen3] (0,0) -- (2,1.5);
201      \draw[-, ultra thick, color=darkgreen3] (5,0) -- (7,1.5);
202      \draw[-, ultra thick, color=darkgreen3] (5,4) -- (7,5.5);
203      \draw[-, ultra thick, color=darkgreen3] (0,4) -- (2,5.5);
204      \node at (4,5) {\small \glqq Source Volume\grqq};
205     
206      % Draw circles and dashed lines
207      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd1) at (0,0) {};
208      \node at (0,0) {1};
209      \onslide<2->
210      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd2) at (2,0) {};
211      \draw[dashed, ultra thick, color=blue] (rd1) -- (rd2);
212      \node at (2,0) {2};
213      \node at (1,-0.25) {\footnotesize \texttt{pdx}};
214      \onslide<3->
215      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd3) at (4,0) {};
216      \draw[dashed, ultra thick, color=blue] (rd2) -- (rd3);
217      \node at (4,0) {3};
218      \onslide<4>
219      \node[circle, draw, thick, fill=red!90, scale=1.1] (rdx1) at (6,0) {};
220      \draw[dashed, ultra thick, color=blue] (rd3) -- (rdx1);
221      \node[scale=1.6] at (6,0) {X};
222      \onslide<6->
223      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd4) at (1.5,1.125) {};
224      \draw[dashed, ultra thick, color=darkgreen] (rd1) -- (rd4);     
225      \node at (1.5,1.125) {4}
226      \node at (1.1,0.43) {\footnotesize \texttt{pdy}};
227      \onslide<7->
228      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd5) at (3.5,1.125) {};
229      \draw[dashed, ultra thick, color=blue] (rd4) -- (rd5);
230      \node at (3.5,1.125) {5};
231      \onslide<7->      
232      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd6) at (5.5,1.125) {};
233      \draw[dashed, ultra thick, color=blue] (rd5) -- (rd6);
234      \node at (5.5,1.125) {6};
235      \onslide<8>
236      \node[circle, draw, thick, fill=red!90, scale=1.1] (rdx2) at (3,2.25) {};   
237      \draw[dashed, ultra thick, color=darkgreen] (rd4) -- (rdx2);
238      \node[scale=1.6] at (3,2.25) {X};
239      \onslide<10->      
240      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd7) at (0,2.2) {};
241      \draw[dashed, ultra thick, color=darkred] (rd1) -- (rd7);
242      \node at (0,2.2) {7};
243      \node at (0.32,1.3) {\footnotesize \texttt{pdz}};
244      \onslide<11->
245      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd8) at (2,2.2) {};
246      \draw[dashed, ultra thick, color=blue] (rd7) -- (rd8);
247      \node at (2,2.2) {8};
248      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd9) at (4,2.2) {};
249      \draw[dashed, ultra thick, color=blue] (rd8) -- (rd9);
250      \node at (4,2.2) {9};
251      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd10) at (1.5,3.325) {};
252      \draw[dashed, ultra thick, color=darkgreen] (rd7) -- (rd10);     
253      \node[scale=0.8] at (1.5,3.325) {10}
254      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd11) at (3.5,3.325) {};
255      \draw[dashed, ultra thick, color=blue] (rd10) -- (rd11);
256      \node[scale=0.8] at (3.5,3.325) {11};
257      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd12) at (5.5,3.325) {};
258      \draw[dashed, ultra thick, color=blue] (rd11) -- (rd12);
259      \node[scale=0.8] at (5.5,3.325) {12};           
260      \onslide<12>      
261      \node[circle, draw, thick, fill=red!90, scale=1.1] (rdx3) at (0,4.4) {};
262      \draw[dashed, ultra thick, color=darkred] (rd7) -- (rdx3);
263      \node[scale=1.6] at (0,4.4) {X};
264     
265      % Draw rest of the green box
266      \onslide<1-13>
267      \draw[-, ultra thick, color=darkgreen3] (5,4) -- (5,0);
268     
269      % Draw coordinate system
270      \node at (7.2,0.1) [scale=1.0] {%
271      \begin{tikzpicture}
272         \draw[->] (0,0) -- (1,0);
273         \draw[->] (0,0) -- (0,1);
274         \draw[->] (0,0) -- (0.5,0.5);
275         \node at (-0.2,0.9) {z};
276         \node at (0.9,-0.2) {x};
277         \node at (0.65,0.3) {y};
278      \end{tikzpicture}
279      };
280     
281      % Add text
282      \node at (9.2,3) [scale=0.99] {%
283      \begin{tikzpicture}
284         \node[text width=11em] {\footnotesize Choosing a too large number of particles may cause memory problems!\\};
285      \end{tikzpicture}
286      };     
287     
288   \end{tikzpicture}
289   
290\end{frame}
291
292% Folie 6
293\begin{frame}
294   \frametitle{Basic Particle Parameters (III)}
295   \small
296   Parameters that define the locations of particle source(s):
297   \begin{itemize}
298      \item Step IIb: Random start positions of particles
299   \end{itemize}
300   
301   \begin{tikzpicture}
302      \definecolor{darkgreen3}{rgb}{0.2,0.6,0.2}
303
304      % Draw green box
305      \draw[-, ultra thick, color=darkgreen3] (0,0) -- (5,0);
306      \draw[-, ultra thick, color=darkgreen3] (0,0) -- (0,4);
307      \draw[-, ultra thick, color=darkgreen3] (5,4) -- (5,0);
308      \draw[-, ultra thick, color=darkgreen3] (0,4) -- (5,4);
309      \draw[-, ultra thick, color=darkgreen3] (2,1.5) -- (7,1.5);
310      \draw[-, ultra thick, color=darkgreen3] (2,1.5) -- (2,5.5);
311      \draw[-, ultra thick, color=darkgreen3] (7,5.5) -- (7,1.5);
312      \draw[-, ultra thick, color=darkgreen3] (2,5.5) -- (7,5.5);
313      \draw[-, ultra thick, color=darkgreen3] (0,0) -- (2,1.5);
314      \draw[-, ultra thick, color=darkgreen3] (5,0) -- (7,1.5);
315      \draw[-, ultra thick, color=darkgreen3] (5,4) -- (7,5.5);
316      \draw[-, ultra thick, color=darkgreen3] (0,4) -- (2,5.5);
317
318     
319      % Draw circles and dashed lines
320      \onslide<1-2>
321      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd3) at (4,0) {};
322      \node at (4,0) {3};
323      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd9) at (4,2.2) {};
324      \node at (4,2.2) {9};
325
326      \onslide<1>
327      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd1) at (0,0) {};
328      \node at (0,0) {1};
329      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd2) at (2,0) {};
330      \node at (2,0) {2};
331      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd4) at (1.5,1.125) {};
332      \node at (1.5,1.125) {4};
333      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd5) at (3.5,1.125) {};
334      \node at (3.5,1.125) {5};
335      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd6) at (5.5,1.125) {};
336      \node at (5.5,1.125) {6};
337      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd7) at (0,2.2) {};
338      \node at (0,2.2) {7};
339      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd8) at (2,2.2) {};
340      \node at (2,2.2) {8};
341      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd10) at (1.5,3.325) {};
342      \node[scale=0.8] at (1.5,3.325) {10}
343      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd11) at (3.5,3.325) {};
344      \node[scale=0.8] at (3.5,3.325) {11};
345      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd12) at (5.5,3.325) {};
346      \node[scale=0.8] at (5.5,3.325) {12};
347                 
348      \onslide<2>
349      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd1n) at (1.0,0.3) {};
350      \node at (1.0,0.3) {1};
351      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd2n) at (1.8,0.3) {};
352      \node at (1.8,0.3) {2};
353      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd4n) at (1.7,1.0) {};
354      \node at (1.7,1.0) {4};
355      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd5n) at (3.0,1.2) {};
356      \node at (3.0,1.2) {5};
357      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd6n) at (4.5,1.125) {};
358      \node at (4.5,1.125) {6};
359      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd7n) at (0.9,2.8) {};
360      \node at (0.9,2.8) {7};
361      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd8n) at (3,1.8) {};
362      \node at (3,1.8) {8};
363      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd10n) at (2.1,3) {};
364      \node[scale=0.8] at (2.1,3) {10};     
365      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd11n) at (4,4.5) {};
366      \node[scale=0.8] at (4,4.5) {11};
367      \node[circle, draw, thick, fill=red!90, scale=1.1] (rd12n) at (4.5,3.2) {};
368      \node[scale=0.8] at (4.5,3.2) {12};     
369     
370      % Draw coordinate system
371      \onslide<1->
372      \node at (9,2) [scale=1.0] {%
373      \begin{tikzpicture}
374         \draw[->] (0,0) -- (1,0);
375         \draw[->] (0,0) -- (0,1);
376         \draw[->] (0,0) -- (0.5,0.5);
377         \node at (-0.2,0.9) {z};
378         \node at (0.9,-0.2) {x};
379         \node at (0.65,0.3) {y};
380      \end{tikzpicture}
381      };
382     
383      % Add text
384      \node at (9.2,4) {\scriptsize \texttt{random\underline{ }start\underline{ }position = .T.}};
385     
386   \end{tikzpicture}
387   
388\end{frame}
389
390% Folie 7
391\begin{frame}
392   \frametitle{Basic Particle Parameters (IV)}
393   \small
394   Parameters that define the period of particle release: \\
395   \vspace{10mm}
396   \begin{columns}[T]
397      \begin{column}{1.15\textwidth}
398         \begin{tikzpicture}
399            \definecolor{darkred}{rgb}{0.6,0.1,0.1}
400            \definecolor{grey}{rgb}{0.25,0.25,0.25}
401            \draw[->, ultra thick] (0,0) -- (10.5,0);
402            \draw[->, ultra thick] (0,0.5) -- (0,-0.5);
403            \node at (10.7,0) {t};
404            \node at (0,-0.8) {0};   
405            \node[text width=6em] at (0.2,-1.9) {\scriptsize Start of LES, determination of particle release points};
406     
407            \onslide<2->
408            \draw[->, ultra thick, color=red] (2.5,0.5) -- (2.5,-0.5);
409            \node at (2.8,-0.8) {\scriptsize \texttt{particle\underline{ }advection\underline{ }start}};       
410            \node[text width=6em] at (2.8,-2.1) {\scriptsize Calculation of particle trajectories begins (default value: 0.0)};
411     
412            \onslide<3->
413            \draw[->, ultra thick, color=red] (5.3,0.5) -- (5.3,-0.5);
414            \node[text width=4em] at (4.9,-1.7) {\scriptsize Release of a new set of particles}
415            \node at (3.75,0.3) {\scriptsize \texttt{dt\underline{ }prel}};
416            \draw[<->, thick, color=blue] (2.5,0.6) -- (5.25,0.6);
417     
418            \onslide<4->
419            \draw[->, ultra thick, color=darkred] (6.5,0.5) -- (6.5,-0.5);   
420            \node[text width=4em] at (6.7,-1.9) {\scriptsize Deletion of the first set of particles};
421            \draw[<->, thick, color=darkred] (2.5,0.9) -- (6.5,0.9);
422            \node at (4.5,1.2) {\scriptsize \texttt{particle\underline{ }maximum\underline{ }age}};
423     
424            \onslide<5->
425            \draw[->, ultra thick, color=darkred] (7.95,0.5) -- (7.95,-0.5); 
426            \node[text width=4em] at (8.25,-2.1) {\scriptsize No release of new particles after this time};
427            \node at (8.0,-0.8) {\scriptsize \texttt{end\underline{ }time\underline{ }prel}};
428            \draw[<->, thick, color=blue] (5.35,0.6) -- (8.1,0.6);
429
430            \onslide<6->
431            \draw[->, ultra thick, color=grey] (9.3,0.5) -- (9.3,-0.5);     
432            \node[text width=4em] at (9.8,-1.9) {\scriptsize Deletion of the second set of particles};
433            \draw[<->, thick, color=darkred] (5.35,1.6) -- (9.3,1.6);
434           
435            \onslide<1->
436         \end{tikzpicture}
437       \end{column}
438   \end{columns}
439
440 
441\end{frame}
442
443% Folie 8
444\begin{frame}[t]
445   \frametitle{Basic Particle Parameters (V)}
446   \small
447   Parameter that defines the mode of particle movement: \\
448   The concept of LES ...\\
449   \vspace{-5mm}
450   \begin{center}
451      \includegraphics[scale=0.1]{particle_model_figures/basic_particle_parameters_5.png}
452   \end{center}
453   \vspace{-5mm}
454   \onslide<2->
455   ... transferred to the embedded particle model leads to particle velocity\\
456   \vspace{1mm}
457   \begin{columns}[T]
458      \begin{column}{0.35\textwidth}
459         $\vec{V}_{i_{\text{particle}}} = \vec{V}_{i_{\text{resolved}}} + \vec{V}_{i_{\text{subgrid}}}$
460      \end{column}
461      \begin{column}{0.55\textwidth}
462         \scriptsize
463         \onslide<3->
464         Particle movement as a result of
465         \begin{itemize}
466            \item advection, resolved turbulence $\vec{V}_{i_{\text{resolved}}}$
467            \vspace{-2mm}
468            \item and subgrid turbulence $\vec{V}_{i_{\text{subgrid}}}$
469         \end{itemize}
470      \end{column}
471   \end{columns}
472   
473   \begin{tikzpicture}[remember picture, overlay]
474      \node [shift={(6 cm,-6.3cm)}]  at (current page.north west)
475         {%
476         \begin{tikzpicture}[remember picture, overlay]
477            \uncover<4->{\draw[->, ultra thick] (-2.05,0) -- (-5,-0.8);
478            \node[text width=14em] at (-3.2,-1.5) {\scriptsize $=0$, if \texttt{use\underline{ }sgs\underline{ }for\underline{ }particles = .F.} (default value)\\};}
479            \uncover<5->{\draw[->, ultra thick] (-1.95,0) -- (0,-0.8);
480            \node[text width=20em] at (3.2,-1.5) {\scriptsize $\ne0$, if \texttt{use\underline{ }sgs\underline{ }for\underline{ }particles = .T.}\\ determination of the subgrid part of the particle velocity as a solution of a stochastic differential equation\\};
481            \node[text width=14em] at (2.5,-2.5) {\scriptsize requires initialization parameter \texttt{use\underline{ }upstream\underline{ }for\underline{ }tke = .T.}\\ };}
482         \end{tikzpicture}
483         };
484    \end{tikzpicture}
485
486\end{frame}
487
488% Folie 12
489\begin{frame}[t]
490   \frametitle{Basic Particle Parameters (VI)}
491   \small
492   \vspace{-2mm}
493   Parameters that define the boundary conditions for particles\\
494   \scriptsize \ \\
495   \uncover<10>{In PALM particles are \textbf{always} reflected at \textbf{vertical walls and roofs of buildings.}}\\
496   \ \\
497
498   \begin{tikzpicture}
499      \definecolor{darkgreen}{rgb}{0.2,0.7,0.2}
500      % Bottom
501      \uncover<2>{\draw[fill=darkgreen,draw=darkgreen,opacity=.85]
502         (0,0) --
503         (2,1.5) --
504         (7,1.5) --
505         (5,0) -- cycle ;}
506      % Top
507      \uncover<4>{\draw[fill=darkgreen,draw=darkgreen,opacity=.85]
508         (0,4) --
509         (2,5.5) --
510         (7,5.5) --
511         (5,4) -- cycle ;}
512      % Front
513      \uncover<6>{\draw[fill=darkgreen,draw=darkgreen,opacity=.85]
514         (0,0) --
515         (0,4) --
516         (5,4) --
517         (5,0) -- cycle ;}
518      % Back
519      \uncover<6>{\draw[fill=darkgreen,draw=darkgreen,opacity=.85]
520         (2,1.5) --
521         (7,1.5) --
522         (7,5.5) --
523         (2,5.5) -- cycle ;}
524      % Left
525      \uncover<8>{\draw[fill=darkgreen,draw=darkgreen,opacity=.85]
526         (0,0) --
527         (0,4) --
528         (2,5.5) --
529         (2,1.5) -- cycle ;}
530      % Right
531      \uncover<8>{\draw[fill=darkgreen,draw=darkgreen,opacity=.85]
532         (5,0) --
533         (5,4) --
534         (7,5.5) --
535         (7,1.5) -- cycle ;}
536         
537      % Draw Box 
538      \draw[-] (0,0) -- (5,0);
539      \draw[-] (0,0) -- (0,4);
540      \draw[-] (5,4) -- (5,0);
541      \draw[-] (0,4) -- (5,4);
542     
543      \draw[-] (2,1.5) -- (7,1.5);
544      \draw[-] (2,1.5) -- (2,5.5);
545      \draw[-] (7,5.5) -- (7,1.5);
546      \draw[-] (2,5.5) -- (7,5.5);
547     
548      \draw[-] (0,0) -- (2,1.5);
549      \draw[-] (5,0) -- (7,1.5);
550      \draw[-] (5,4) -- (7,5.5);
551      \draw[-] (0,4) -- (2,5.5);
552     
553      \node at (4,5) {\small Total model domain};
554     
555      % Labels
556      \uncover<2->{\node at (2.7,0.15) {\scriptsize \texttt{bc\underline{ }par\underline{ }b = 'reflect', 'absorb'}};} 
557      \uncover<4->{\node at (3.0,4.25) {\scriptsize \texttt{bc\underline{ }par\underline{ }t = 'absorb', 'reflect'}};}       
558      \uncover<6->{\node at (3.25,2.15) {\scriptsize \texttt{bc\underline{ }par\underline{ }ns = 'cyclic', 'reflect', 'absorb'}};}     
559      \uncover<8->{\node[text width=15.5em] at (7.7,3.7) {\scriptsize \texttt{bc\underline{ }par\underline{ }lr = 'cyclic', 'reflect',}\\ \texttt{\hspace{5em} 'absorb'}};}           
560
561               
562      % Draw coordinate system
563      \node at (9,2) [scale=1.0] {%
564      \begin{tikzpicture}
565         \draw[->] (0,0) -- (1,0);
566         \draw[->] (0,0) -- (0,1);
567         \draw[->] (0,0) -- (0.5,0.5);
568         \node at (-0.2,0.9) {z};
569         \node at (0.9,-0.2) {x};
570         \node at (0.65,0.3) {y};
571      \end{tikzpicture}
572      };
573     
574   \end{tikzpicture}
575   
576\end{frame}
577
578% Folie 13
579\begin{frame}
580   \frametitle{Basic Particle Parameters (VIII)}
581   \small
582   Parameters that steer the output of particle data
583   \begin{itemize}
584      \item There are two output files containing particle data:
585      \begin{itemize}
586         \item \texttt{DATA\underline{ }1D\underline{ }PTS\underline{ }NETCDF}:
587         \hspace{0.5em} contains particle time series, output\\ 
588         \hspace{11.0em}interval is controlled by parameter\\ 
589         \hspace{11.0em}\texttt{dt\underline{ }dopts}, one file for the total\\ 
590         \hspace{11.0em}domain, e.g. time series of the total\\
591         \hspace{11.0em}number of particles, mean particle\\
592         \hspace{11.0em}velocity, mean subgrid scale part of\\
593         \hspace{11.0em}the particle velocity, mean particle\\
594         \hspace{11.0em}location etc.
595         \vspace{1mm}
596         \item \texttt{DATA\underline{ }PRT\underline{ }NETCDF}:
597         \hspace{2.5em}contains \textbf{all} particle data (see slide\\
598         \hspace{11.0em}The Data Type Used for Particles),\\
599         \hspace{11.0em}output is controlled by\\
600         \hspace{11.0em}\texttt{dt\underline{ }write\underline{ }particle\underline{ }data},\\
601         \hspace{11.0em}one file per subdomain/PE
602      \end{itemize}
603   \end{itemize}
604\end{frame}
605
606% Folie 14
607\begin{frame}[fragile]
608   \frametitle{An Example of a Particle NAMELIST}
609   \tikzstyle{yellow} = [rectangle, draw, fill=yellow!30, text width=0.7\textwidth, font=\Tiny,scale=1.2]
610   \begin{tikzpicture}
611   \node [yellow] {\begin{lstlisting} 
612&inipar          cloud_droplets = .TRUE., ................ /
613
614&particles_par   dt_dopts = 25.0,
615                 bc_par_b = 'absorb',
616                 density_ratio = 0.001, radius = 1.0E-6,
617                 initial_weighting_factor = 1.0E10,
618                 psb = 35.0, pst = 255.0,
619                 psl = 935.0, psr = 1065.0,
620                 pss = -5.0,
621                 pdx = 20.0, pdy = 20.0, pdz = 20.0,
622                 random_start_position = .TRUE., /
623\end{lstlisting}
624   };
625   \end{tikzpicture}
626   \begin{itemize}
627      \item<2-> \small Several (up to 10) so called particle groups with different density ratio, radius, and starting positions can be defined by setting parameter number\underline{ }of\underline{ }particle\underline{ }groups to the required number of groups, and by assigning values for each particle groups to the respective parameters (e.g. \texttt{density\_ratio = 0.001, 0.0}, etc.)
628   \end{itemize}
629\end{frame}
630
631\section{Theory}
632\subsection{Theory}
633
634% Folie 15
635\begin{frame}[t]
636   \frametitle{Theory of the Lagrangian Particle Model (I)}
637   \footnotesize
638   \textbf{Advection of Passive particles}\\
639   \vspace{1mm}
640   The position of a particle is found by integrating $ \dfrac{d \vec{X}_{\text{particle}}}{dt} = \vec{V}_{\text{particle}}$\\
641   \vspace{2mm}
642   \onslide<2->Transferring the LES concept ...
643   \includegraphics[scale=0.1]{particle_model_figures/basic_particle_parameters_5.png}\\
644   \vspace{-2mm}
645   \scriptsize \hspace{2em}total energy\hspace{2.25em}=\hspace{3em}resolved part\hspace{2.5em}+\hspace{3em}modelled part\\
646   \vspace{1mm}
647   \small ... to the embedded particle model leads to: $\vec{V}_{\text{particle}} = \vec{V}_{\text{res}} (+ \vec{V}_{\text{sub}})$\\
648   \vspace{2mm}
649   \onslide<3->$\vec{V}_{\text{res}}:$\\ 
650   \begin{tikzpicture}[remember picture, overlay]
651      \node [shift={(1.7 cm,0.6cm)}]  at (current page.south west)
652         {%   
653         \begin{tikzpicture}[scale=0.3,remember picture, overlay]
654            \draw[-] (0,0) -- (5,0);
655            \draw[-] (0,0) -- (0,4);
656            \draw[-] (5,4) -- (5,0);
657            \draw[-] (0,4) -- (5,4);
658            \draw[-] (2,1.5) -- (7,1.5);
659            \draw[-] (2,1.5) -- (2,5.5);
660            \draw[-] (7,5.5) -- (7,1.5);
661            \draw[-] (2,5.5) -- (7,5.5);
662            \draw[-] (0,0) -- (2,1.5);
663            \draw[-] (5,0) -- (7,1.5);
664            \draw[-] (5,4) -- (7,5.5);
665            \draw[-] (0,4) -- (2,5.5);
666     
667            \node[circle, fill=blue, scale=0.5] at (0,0) {};
668            \node[circle, fill=blue, scale=0.5] at (5,0) {};
669            \node[circle, fill=blue, scale=0.5] at (0,4) {};
670            \node[circle, fill=blue, scale=0.5] at (5,4) {};
671            \node[circle, fill=blue, scale=0.5] at (2,1.5) {};
672            \node[circle, fill=blue, scale=0.5] at (7,1.5) {};
673            \node[circle, fill=blue, scale=0.5] at (7,5.5) {};
674            \node[circle, fill=blue, scale=0.5] at (2,5.5) {};
675     
676            \node[circle, fill=red, scale=0.5] at (2.5,1.1) {};
677
678            \draw[->, ultra thick, color=red] (7.4,0.7) -- (2.9,1.1);
679            \node at (9.0,0.1) {\scriptsize \textcolor{red}{particle location}};
680     
681            \draw[->, ultra thick] (8,2.5) -- (12,2.5);
682         \end{tikzpicture}
683         };
684      \node [shift={(5.8 cm,0.6cm)}]  at (current page.south west)
685         {%   
686         \begin{tikzpicture}[scale=0.3,remember picture, overlay]
687            \definecolor{darkgreen}{rgb}{0.2,0.7,0.2}
688            \draw[-] (0,0) -- (5,0);
689            \draw[-] (0,4) -- (5,4);
690            \draw[-] (2,1.5) -- (7,1.5);
691            \draw[-] (2,5.5) -- (7,5.5);
692            \draw[-] (0,0) -- (2,1.5);
693            \draw[-] (5,0) -- (7,1.5);
694            \draw[-] (5,4) -- (7,5.5);
695            \draw[-] (0,4) -- (2,5.5);
696     
697            \node[circle, fill=blue, scale=0.5] at (0,0) {};
698            \node[circle, fill=blue, scale=0.5] at (5,0) {};
699            \node[circle, fill=blue, scale=0.5] at (0,4) {};
700            \node[circle, fill=blue, scale=0.5] at (5,4) {};
701            \node[circle, fill=blue, scale=0.5] at (2,1.5) {};
702            \node[circle, fill=blue, scale=0.5] at (7,1.5) {};
703            \node[circle, fill=blue, scale=0.5] at (7,5.5) {};
704            \node[circle, fill=blue, scale=0.5] at (2,5.5) {};
705           
706            \node[circle, draw, color=darkgreen, ultra thick, scale=0.5] at (2.5,0.6) {};       
707            \node[circle, draw, color=darkgreen, ultra thick, scale=0.5] at (2.5,4.6) {};         
708            \draw[->, ultra thick] (8,2.5) -- (12,2.5);
709         \end{tikzpicture}
710         };
711      \node [shift={(9 cm,0.6cm)}]  at (current page.south west)
712         {%   
713         \begin{tikzpicture}[scale=0.3,remember picture, overlay]
714            \definecolor{darkgreen}{rgb}{0.2,0.7,0.2}
715           
716            \node[circle, draw, color=darkgreen, ultra thick, scale=0.5] at (2.5,0.6) {};       
717            \node[circle, fill=red, scale=0.5] at (2.5,1.1) {};
718            \node[circle, draw, color=darkgreen, ultra thick, scale=0.5] at (2.5,4.6) {};         
719         \end{tikzpicture}
720         };
721      \end{tikzpicture}
722\end{frame}
723
724% Folie 16
725\begin{frame}[t]
726   \frametitle{Theory of the Lagrangian Particle Model (II)}
727   \footnotesize
728   \textbf{Advection of Non-passive Particles}\\
729   \ \\
730   Advection of particles by the non-linear drag law following Clift et al., 1978\\
731   \vspace{4mm}
732   $\dfrac{dV_i}{dt} = \dfrac{1}{\tau_p} (u_i - V_i) - \delta_{i3}( 1 - \rho_0 / \rho_l ) g$\\
733      \vspace{2mm}
734   with $\tau_p^{-1} = \dfrac{9 v \rho_0}{2 r^2 \rho_l} \left( 1 + 0.15 \text{Re}^{0.687} \right)$ and $\text{Re} = \dfrac{2r \left| \vec{u}_i - \vec{V}_i \right|}{\nu} $\\
735   \vspace{5mm}
736   \onslide<1->
737   \begin{tabular}{llll}
738           $g$   & = gravitational acceleration & $\rho_l$ & = density of water\\
739           Re    & = particle Reynolds number            & $\rho_0$ & = density of air\\
740           $u_i$ & = velocity of the fluid      & $\tau_p$ & = inertia response time\\
741           $V_i$ & = particle velocity          & $\nu$    & = molecular viscosity of air\\
742   \end{tabular}
743
744\end{frame}
745
746% Folie 17
747\begin{frame}[t]
748   \frametitle{Theory of the Lagrangian Particle Model (III)}
749   \footnotesize
750   \textbf{Using Particles as Cloud Droplets}\\
751   \small
752   \begin{itemize}
753      \item This feature is switched on by setting the initial parameter \texttt{cloud\_droplets = .TRUE.}.
754      \item In this case, the change in particle radius by condensation/evaporation and collision is calculated for every timestep.
755      \item In case of condensation or evaporation, the potential temperature and the specific humidity has to be adjusted in the respective grid volumes. This is done within the subroutine \texttt{interaction\_droplets\_ptq}.
756   \end{itemize}
757\end{frame}
758
759% Folie 18
760\begin{frame}[t]
761   \frametitle{Theory of the Lagrangian Particle Model (IV)}
762   \footnotesize
763   \textbf{Simulation of Cloud Droplets (I)}\\
764   \begin{itemize}
765      \item Simulation of enormous particle numbers like in real clouds\\ is impossible
766      \begin{itemize}
767         \footnotesize
768         \item Ensembles of water droplets are simulated
769         \vspace{1mm}
770         \item Every simulated droplet stands for a very high number\\ of real droplets
771         \vspace{1mm}
772         \item Concept of weighting factor: $A_i=$ real number of droplets represented by one simulated droplet
773         \vspace{2mm}
774         \item Initial weighting factor can be assigned with the parameter \texttt{initial\underline{ }weighting\underline{ }factor}
775      \end{itemize}
776      \vspace{1mm}
777      \item Calculation of liquid water content: $ \text{LWC} = \omega_l = \dfrac{\rho_L}{\Delta V} \sum\limits^{N_p}_{i=1} A_i \cdot \dfrac{4}{3} \pi r_i^3$
778      \vspace{1mm}
779      \item Droplets can change radius by condensation/evaporation and collision
780   \end{itemize}
781   
782   \begin{tikzpicture}[remember picture, overlay]
783      \node [shift={(11.7 cm,6.5cm)}]  at (current page.south west)
784         {%
785         \begin{tikzpicture}[remember picture, overlay]
786            \node at (0.0,0.0) {\includegraphics[scale=0.20]{particle_model_figures/real_simulated.png}};
787         \end{tikzpicture}
788         };
789   \end{tikzpicture} 
790
791\end{frame}
792
793% Folie 19
794\begin{frame}[t]
795   \frametitle{Theory of the Lagrangian Particle Model (V)}
796   \footnotesize
797   \textbf{Simulation of Cloud Droplets (II)}\\
798   \scriptsize
799   \begin{itemize}
800      \item \textbf{Condensation/evaporation}\\
801      \vspace{1mm}
802      $ r_i \dfrac{dr_i}{dt} = \dfrac{(S - ar^{-1} + br^{-3})}{F_k + F_d}$\\
803      \vspace{1mm}
804      with $S = \dfrac{e}{e_s}-1$, \quad $F_k = \left( \dfrac{L}{R_v T} -1 \right) \dfrac{L \rho_l}{KT}$ \quad and \quad $F_d = \dfrac{\rho_l R_v T}{D e_s(t)}$\\
805      \vspace{2mm}
806      \qquad $a = 2 \sigma/(\rho_l R_v T) \qquad \rightarrow$  Curvature effect\\
807      \qquad $b = 3 i_\text{s} m_v M / (4 \pi \rho_l m_s) \rightarrow$ Solution effect
808      \vspace{1.5mm}
809      \item<2-> For $r > \unit{1}{\mu m}$  solution and curvature effects are neglected: \\
810      $ r_i \dfrac{dr_i}{dt} = \dfrac{S}{F_k + F_d} \rightarrow r_i(t) = \sqrt{ r_{i,0}^2 + 2 \cdot \Delta t \cdot \left( \dfrac{S}{F_k + F_d} \right)}$
811   \end{itemize}
812   \vspace{0mm}
813   \begin{tabular}{llll}
814           $D$   & = Coefficient of diffusion   & $L$   & = Latent heat\\
815           $e$    & = Vapor pressure            & $r$   & = Droplet radius\\
816           $e_s$ & = Saturation vapor pressure  & $R_v$ & = Gas constant for water vapor\\ 
817           $F_k$ & = Effect of heat conduction  & $S$   & = Supersaturation\\
818           $F_d$ & = Effect of vapor diffusion  & $T$   & = Temperature\\
819           $K$ & = Coefficient of thermal conductivity  & $\rho_L$ & = Density of water\\
820                 &                                & $i_\text{s}$  & = van't Hoff factor\\
821   \end{tabular}
822
823\end{frame}
824
825% Folie 20
826\begin{frame}[t]
827   \frametitle{Theory of the Lagrangian Particle Model (VI)}
828   \footnotesize
829   \textbf{Simulation of Cloud Droplets (III)}\\
830   \ \\
831   \scriptsize
832   Concept of droplet collision with collision efficiency = 1
833   \begin{tikzpicture}[remember picture, overlay]
834      \node [shift={(5.0cm,3.7cm)}]  at (current page.south west)
835         {%
836         \begin{tikzpicture}[remember picture, overlay]
837            \node at (0.0,0.0) {\includegraphics[scale=0.20]{particle_model_figures/collision1.png}};
838         \end{tikzpicture}
839         };
840   \end{tikzpicture}     
841\end{frame}
842
843% Folie 21
844\begin{frame}[t]
845   \frametitle{Theory of the Lagrangian Particle Model (VII)}
846   \footnotesize
847   \textbf{Simulation of Cloud Droplets (IV)}\\
848   \ \\
849   \scriptsize
850   Concept of droplet collision with collision efficiency $\neq$ 1 
851   \begin{tikzpicture}[remember picture, overlay]
852      \node [shift={(5.0cm,4.0cm)}]  at (current page.south west)
853         {%
854         \begin{tikzpicture}[remember picture, overlay]
855            \node (pic2) at (0.0,0.0) {\includegraphics[scale=0.20]{particle_model_figures/collision2.png}};
856            \node[below=0.0cm of pic2] {Liquid water content is kept constant: $\sum\limits^{N_p}_{i=1} A_i^{\ast} \cdot r_i^{\ast 3} = \sum\limits^{N_p}_{i=1} A_i \cdot r_i^3$};
857         \end{tikzpicture}
858         };
859   \end{tikzpicture} 
860\end{frame}
861
862% Folie 22
863\begin{frame}[t]
864   \frametitle{Theory of the Lagrangian Particle Model (VIII)}
865   \footnotesize
866   \textbf{Simulation of Cloud Droplets (V)}\\
867   \scriptsize   
868   \begin{itemize}
869      \item Calculation of droplet growth due to \textbf{collisions} follows a statistical approach (e.\,g., Rogers and Yau, 1989)
870      \item Two prognostic quantities: Weighting factor $A_n$ and mass of super-droplet expressed as volume averaged droplet radius $r_n=(m_n / (4/3 \pi \rho_\text{l} A_n))^{1/3}$:
871         \scriptsize
872\begin{alignat*}{3}
873A_n^{\ast}&=A_n &&-  K(r_n,\, r_n) \, \frac{1}{2} \, \frac{A_n (A_n - 1)}{\Delta V} \, \Delta t - \sum \limits_{m=n+1}^{N_\text{p}} K(r_m,\, r_n) \frac{A_n \, A_m}{\Delta V} \, \Delta t\\
874 r_n^{\ast}&=\left(\vphantom{\sum \limits_{m=1}^{n-1}} \right. &&\left[ \vphantom{\sum \limits_{m=1}^{n-1}}\right. r_n^3 + \sum \limits_{m=1}^{n-1} K(r_\text{n}, \, r_\text{m}) \frac{A_m}{\Delta V} \, r_m^3 \, \Delta t -\sum \limits_{m=n+1}^{N_\text{p}} K(r_\text{m}, \, r_\text{n}) \frac{A_m}{\Delta V} \, r_n^3 \, \Delta t \left.\vphantom{\sum \limits_{m=1}^{n-1}}\right] \left/\vphantom{\sum \limits_{m=1}^{n-1}}\right. \notag \\
875&  && \left[\vphantom{\sum \limits_{m=1}^{n-1}}\right.\ 1 -  K(r_n,\, r_n) \, \frac{1}{2} \, \frac{A_n - 1}{\Delta V} \, \Delta t -\left. \left. \sum \limits_{m=n+1}^{N_\text{p}} K(r_m,\, r_n) \frac{A_m}{\Delta V} \, \Delta t \right] \right)^{1/3}
876\end{alignat*}
877\end{itemize}
878%   \begin{tikzpicture}[remember picture, overlay]
879%      \node [shift={(11 cm,3.5cm)}]  at (current page.south west)
880%         {%
881%         \begin{tikzpicture}[remember picture, overlay]
882%            \node at (0.0,0.0) {\includegraphics[scale=0.20]{particle_model_figures/droplet_falling.png}};
883%         \end{tikzpicture}
884%         };
885%   \end{tikzpicture} 
886\end{frame}
887
888% Folie 23
889\begin{frame}[t]
890   \frametitle{Theory of the Lagrangian Particle Model (IX)}
891   \footnotesize
892   \textbf{Simulation of Cloud Droplets (VI)}\\
893   \begin{itemize}
894      \item \textbf{Collision kernel without turbulence effects} \\
895      \vspace{1mm}
896      $K(R,r) = \pi(R + r)^2 \cdot E^g(R,r) \cdot [ u(R) - u(r)]$\\
897      \vspace{3mm}
898      \item \textbf{Collision kernel with turbulence effects\\ from Ayala and Wang}\\
899      \vspace{1mm}
900      $K(R,r) = 2 \pi (R + r)^2 \cdot \eta_E E^g \langle| w_r |\rangle g_{Rr} $\\
901      \vspace{3mm}
902   \end{itemize}
903    \begin{tabular}{ll}
904           $\eta_E$ & = turbulent enhancement factor for collision efficiency \\
905           $E^g$ & = collection efficiency \\
906      $\langle| w_r |\rangle$ & = radial relative velocity \\
907      $g_{Rr}$ & = radial distribution function \\
908   \end{tabular}
909
910   \begin{tikzpicture}[remember picture, overlay]
911      \node [shift={(11 cm,6.5cm)}]  at (current page.south west)
912         {%
913         \begin{tikzpicture}[remember picture, overlay]
914            \node (pic1) at (0.0,0.0) {\includegraphics[scale=0.30]{particle_model_figures/falkowich.png}};
915            \node[below=0.0cm of pic1] {Falkowich, 2010};
916         \end{tikzpicture}
917         };
918   \end{tikzpicture} 
919   
920   \begin{tikzpicture}[remember picture, overlay]
921      \node [shift={(11.25 cm,3.0cm)}]  at (current page.south west)
922         {%
923         \begin{tikzpicture}[remember picture, overlay]
924            \node (pic2) at (0.0,0.0) {\includegraphics[scale=0.30]{particle_model_figures/malinowski.png}};
925            \node[below=0.0cm of pic2] {Malinowski, 2010};
926         \end{tikzpicture}
927         };
928   \end{tikzpicture} 
929\end{frame}
930
931\section{Implementation}
932\subsection{Implementation}
933
934% Folie 24
935\begin{frame}
936   \frametitle{Flow Chart of Particle Code (I)}
937   \footnotesize
938   \begin{tikzpicture}[scale=0.8, transform shape]
939      % Define colours
940      \tikzstyle{gelb1} = [draw, fill=yellow!60, text width=7em, text centered, minimum height=1.6em]
941      \tikzstyle{orange} = [draw, fill=orange!60, text width=7em, text centered]
942     
943      % Define coordinates and draw nodes     
944      \node[gelb1, text width=5em] (PALM) at (0,0.1) {PALM};
945
946      \coordinate (A) at (0,-0.7);
947
948      \node[gelb1, right=0.6cm of A] (init3d) {init\underline{ }3d\underline{ }model};
949     
950      \coordinate[below=0.4cm of init3d] (B) ;
951      \coordinate[below=1.0cm of init3d] (C) ;       
952      \coordinate[below=1.6cm of init3d] (D) ;       
953      \coordinate[below=2.2cm of init3d] (E) ;       
954      \coordinate[below=2.8cm of init3d] (F) ;       
955      \coordinate[below=4.2cm of init3d] (G) ;     
956      \coordinate[below=4.8cm of init3d] (H) ;     
957      \coordinate[below=6cm of init3d] (I) ;   
958      \coordinate (J) at (0,-8);
959           
960      \node[gelb1, right=0.5cm of B, text width=17em] (init1d) {init\underline{ }1d\underline{ }model (\textit{calls various subroutines})};
961      \node[gelb1, right=0.5cm of C] (initslope) {init\underline{ }slope};
962      \node[gelb1, right=0.5cm of D] (disturb) {disturb\underline{ }heatflux};
963      \node[gelb1, right=0.5cm of E] (initrankine) {init\underline{ }rankine};
964      \node[gelb1, right=0.0cm of initrankine] {init\underline{ }pt\underline{ }anomaly};
965      \node[gelb1, right=0.5cm of F] (disturbfield) {disturb\underline{ }field};
966      \node[gelb1, right=0.0cm of disturbfield] (pres) {pres};
967      \node[gelb1, right=0.5cm of G] (read3d) {read\underline{ }3d\underline{ }binary};
968      \node[gelb1, right=0.0cm of read3d] (initdvrp) {init\underline{ }dvrp};
969      \node[gelb1, right=0.0cm of initdvrp] (initocean) {init\underline{ }ocean};
970      \node[gelb1, right=0.0cm of initocean] {init\underline{ }cloud\underline{ }physics};           
971      \node[orange, right=0.5cm of H] (initparticles) {lpm\underline{ }init};     
972      \node[gelb1, right=0.5cm of I] (initadvec) {init\underline{ }advec};     
973      \node[gelb1, right=0.0cm of initadvec] (userinit) {user\underline{ }init};
974      \node[gelb1, right=0.6cm of J] (dataoutput2d) {data\underline{ }output\underline{ }2d};     
975      \node[gelb1, right=0.0cm of dataoutput2d] {data\underline{ }output\underline{ }3d};         
976
977      \coordinate[below=0.15cm of pres] (K);
978      \coordinate[right=0.2cm of K] (L);
979      \coordinate[right=2cm of L] (M);
980      \coordinate[right=2cm of M] (N);
981           
982      \node[gelb1, below=0.1cm of L, text width=4em] (poisfft) {poisfft};
983      \node[gelb1, below=0.1cm of M, text width=4em] (sor) {sor};
984      \node[gelb1, below=0.1cm of N, text width=4em] (poismg) {poismg};
985     
986      \coordinate[below=0.1cm of initparticles] (O);
987     
988      \node[orange, right=1.5cm of O] (userinitparticles) {user\underline{ }lpm\underline{ }init};
989   
990      % Draw lines 
991      \draw[dotted, thick] (PALM) -- (0,-0.5);
992      \draw[-, thick] (0,-0.5) -- (0,-8.7);
993      \draw[dotted, thick] (0,-8.7) -- (0,-9.0);     
994      \draw[-, thick] (init3d.west) -- (A) ;
995      \draw[-, thick] (init3d.south) -- (I) ;
996      \draw[dashed, thick] (B) -- (init1d.west);
997      \draw[dashed, thick] (C) -- (initslope.west);
998      \draw[dashed, thick] (D) -- (disturb.west);
999      \draw[dashed, thick] (E) -- (initrankine.west);
1000      \draw[dashed, thick] (F) -- (disturbfield.west);
1001      \draw[dashed, thick] (G) -- (read3d.west);     
1002      \draw[-, thick] (H) -- (initparticles.west);     
1003      \draw[-, thick] (I) -- (initadvec.west);         
1004      \draw[dashed, thick] (J) -- (dataoutput2d);     
1005      \draw[-, thick] (pres.south) -- (K);
1006      \draw[-, thick] (K) -- (N);
1007      \draw[-, thick] (L) -- (poisfft.north);
1008      \draw[-, thick] (M) -- (sor.north);     
1009      \draw[-, thick] (N) -- (poismg.north);       
1010      \draw[-, thick] (initparticles.south) -- (O);
1011      \draw[-, thick] (O) -- (userinitparticles.west);
1012     
1013   \end{tikzpicture}
1014   
1015   
1016\end{frame}
1017
1018% Folie 25
1019\begin{frame}
1020   \frametitle{Flow Chart of Particle Code (II)}
1021   \footnotesize
1022   \begin{tikzpicture}[scale=0.8, transform shape]
1023      % Define colours
1024      \tikzstyle{gelb1} = [draw, fill=yellow!60, text width=7em, text centered, minimum height=1.6em]
1025      \tikzstyle{orange} = [draw, fill=orange!60, text width=7em, text centered]
1026     
1027      % Define coordinates and draw nodes
1028      \coordinate (A) at (0,-0.7);
1029
1030      \node[gelb1, right=0.6cm of A] (timeintegration) {time\underline{ }integration};
1031     
1032      \coordinate[below=0.3 of timeintegration] (B);
1033      \coordinate[below=0.9 of timeintegration] (C);
1034     
1035      \node[gelb1, right=0.6cm of B] (timestep) {timestep};
1036      \node[gelb1, right=0.6cm of C] (runcontrol) {run\underline{ }control};
1037     
1038      \coordinate[below=0.2cm of runcontrol] (D);
1039     
1040      \node[gelb1, right=1.5cm of D] (flowstat) {flow\underline{ }statistics};
1041     
1042      \coordinate[below=1.8cm of timeintegration] (E);
1043     
1044      \node[gelb1, right=0.6cm of E] (surface) {surface\underline{ }coupler};
1045     
1046      \coordinate[below=2.4cm of timeintegration] (F);
1047       
1048      \node[gelb1, right=0.6cm of F, text width=13em] (useractions) {user\underline{ }actions (\textit{before\underline{ }timestep})};   
1049 
1050       \coordinate[below=3.0cm of timeintegration] (G);
1051       
1052      \node[gelb1, right=0.6cm of G, text width=11em] (timestepscheme) {timestep\underline{ }scheme\underline{ }steering};       
1053     
1054      \coordinate[below=3.5cm of timeintegration] (H);
1055      \coordinate[right=2cm of H] (I);
1056      \coordinate[right=3.5cm of I] (J);
1057     
1058      \node[draw, text width=22em,minimum height=4.5em,fill=black!15] (progframe) at (5.75,-5.3) {};
1059      \node[draw, text width= 9.5em, right=0.5cm of progframe] {For details, see PALM Flow Chart (V).};
1060      \node[gelb1, below=0.3cm of I, text width=9em] (prog) {prognostic\underline{ }equations};     
1061      \node[gelb1, below=0.3cm of J, text width=10.5em] (progfast) {prognostic\underline{ }equations\underline{ }fast}
1062      \node[gelb1, below=0.1cm of progfast, text width=10.5em] (progvec) {prognostic\underline{ }equations\underline{ }vec};       
1063      \node[draw, fill=red, text width=4em] at (8.2,-4) {\textcolor{white}{standard advection}};
1064     
1065      \coordinate[below=5.5cm of timeintegration] (K);
1066     
1067      \node[orange, right=0.6cm of K] (advecparticles) {lpm};             
1068     
1069      \coordinate[below=0.2cm of advecparticles] (L);
1070     
1071      \node[orange, right=1.5cm of L, text width=13em] (userparticlesatt) {user\underline{ }lpm\underline{ }set\underline{ }attributes + more};
1072     
1073      \coordinate[below=6.6cm of timeintegration] (M);
1074     
1075      \node[orange, right=0.6cm of M, text width=10em] (interaction) {interaction\underline{ }droplets\underline{ }ptq};     
1076
1077      \coordinate[below=7.2cm of timeintegration] (N);
1078     
1079      \node[gelb1, right=0.6cm of N] (asselin) {asselin\underline{ }filter};     
1080     
1081      \coordinate[below=7.8cm of timeintegration] (O);
1082     
1083      \node[gelb1, right=0.6cm of O] (boundary) {boundary\underline{ }conds};       
1084      \node[gelb1, right=0.0cm of boundary] {swap\underline{ }timelevel}
1085           
1086      \coordinate[below=8.4cm of timeintegration] (P);     
1087     
1088      \node[gelb1, right=0.6cm of P] (inflow) {inflow\underline{ }turbulence};
1089      \node[gelb1, right=0.0cm of inflow] {disturb\underline{ }field};
1090                                                     
1091      % Draw lines 
1092      \draw[dotted, thick] (0,-0.3) -- (0,-0.7);
1093      \draw[-, thick] (0,-0.7) -- (0,-7.7);
1094      \draw[dotted, thick] (0,-7.7) -- (0,-9.0);     
1095      \draw[-, thick] (A) -- (timeintegration);
1096      \draw[-, thick] (B) -- (timestep);
1097      \draw[-, thick] (C) -- (runcontrol);
1098      \draw[-, thick] (runcontrol.south) -- (D);
1099      \draw[-, thick] (D) -- (flowstat);
1100      \draw[dashed, thick] (E) -- (surface);
1101      \draw[-, thick] (F) -- (useractions);     
1102      \draw[-, thick] (G) -- (timestepscheme);
1103      \draw[-, thick] (H) -- (I);
1104      \draw[-, thick] (I) -- (prog.north);
1105      \draw[-, thick, color=red] (I) -- (J);       
1106      \draw[->, thick, color=red] (J) -- (progfast.north);
1107      \draw[dashed, thick] (K) -- (advecparticles);           
1108      \draw[-, thick] (advecparticles.south) -- (L);           
1109      \draw[-, thick] (L) -- (userparticlesatt.west);       
1110      \draw[dashed, thick] (M) -- (interaction.west); 
1111      \draw[dashed, thick] (N) -- (asselin.west);       
1112      \draw[-, thick] (O) -- (boundary.west); 
1113      \draw[dashed, thick] (P) -- (inflow.west);             
1114      \draw[-, thick] (timeintegration.south) -- (O); 
1115      \draw[dashed, thick] (O) -- (P); 
1116     
1117   \end{tikzpicture}   
1118   
1119\end{frame}
1120
1121% Folie 26
1122\begin{frame}
1123   \frametitle{Detailed Flow Chart of \texttt{lpm} (I)}
1124   \scriptsize
1125   \begin{tikzpicture}[scale=0.87, transform shape]
1126      \node (0) at (0,0) {};
1127      {\node[draw, right=0.0cm of 0, text width=29em] {write particle data on file (subroutine \texttt{lpm\underline{ }data\underline{ }output\underline{ }particles})\\ \qquad binary (\texttt{PARTICLE\underline{ }DATA/}) };}
1128      \uncover<1->{\node[draw, right=0.0cm of 0, yshift=-0.75cm] {calculate exponential terms for particles groups with inertia};}
1129      \uncover<1->{\node[draw, right=0.0cm of 0, yshift=-1.35cm] {if necessary, release a new set of particles (subroutine \texttt{lpm\underline{ }release\underline{ }set})};}
1130      \uncover<1->{\node[draw, right=0.0cm of 0, yshift=-2.1cm, text width=30em] {particle growth by condensation/evaporation and collision\\ (subroutines \texttt{lpm\underline{ }droplet\underline{ }condensation} and \texttt{lpm\underline{ }droplet\underline{ }collision})};}
1131      \uncover<1->{\node[draw, right=0.0cm of 0, yshift=-2.85cm] {If SGS-velocities are used: calculate gradients of TKE (subroutine \texttt{lpm\underline{ }init\underline{ }sgs\underline{ }tke})};}
1132      \uncover<1->{\node[draw, right=0.0cm of 0, yshift=-3.6cm, text width=29em] {timestep loop\\ (repeated, unless each particle has reached the LES timestep \texttt{dt\underline{ }3d})};}
1133      \uncover<1->{\node[draw, right=0.5cm of 0, yshift=-4.65cm, text width=36em] {for each particle:\\ - interpolate velocities and SGS quantities (SGS-velocities, Lagrangian timescale, etc.\\ - calculate the particle advection (subroutine \texttt{lpm\underline{ }advec})};}
1134      \uncover<1->{\node[draw, right=0.5cm of 0, yshift=-5.55cm] {calculate particle reflection from walls (subroutine \texttt{lpm\underline{ }boundary\underline{ }conds})};}
1135      \uncover<1->{\node[draw, right=0.5cm of 0, yshift=-6.15cm] {user defined actions (subroutine \texttt{user\underline{ }lpm\underline{ }advec})};}     
1136      \uncover<1->{\node[draw, right=0.5cm of 0, yshift=-6.75cm] {boundary conditions at bottom and top (subroutine \texttt{lpm\underline{ }boundary\underline{ }conds})};}
1137      \uncover<1->{\node[draw, right=0.5cm of 0, yshift=-7.36cm] {particle exchange between gridpoints (subroutine \texttt{lpm\underline{ }move\underline{ }particle})};}   
1138      \uncover<1->{\node[draw, right=0.5cm of 0, yshift=-7.9cm] {particle exchange between the subdomains (subroutine \texttt{lpm\underline{ }exchange\underline{ }horiz})};}   
1139   \end{tikzpicture}
1140\end{frame}
1141
1142% Folie 27
1143\begin{frame}
1144   \frametitle{Detailed Flow Chart of \texttt{lpm} (II)}
1145   \scriptsize
1146   \begin{tikzpicture}[auto, node distance=0]
1147      \node (0) at (0,0) {};
1148      \uncover<1->{\node[draw, right=0.5cm of 0, yshift=-0.7cm, text width=25em] {delete and pack particles\\ (subroutines \texttt{lpm\_pack\_all\_arrays})};} 
1149      \uncover<1->{\node[draw, right=0.0cm of 0, yshift=-1.6cm, text width=29em] {In case of cloud droplets: calculate the liquid water content\\ (subroutine \texttt{lpm\underline{ }calc\underline{ }liquid\underline{ }water\underline{ }content})};}
1150      \uncover<1->{\node[draw, right=0.0cm of 0, yshift=-2.3cm] {user defined setting of particle attributes (subroutine \texttt{user\underline{ }lpm\underline{ }set\underline{ }attributes})};}
1151      \uncover<1->{\node[draw, right=0.0cm of 0, yshift=-3.0cm, text width=29em] {write particle statistics on file \texttt{PARTICLE\underline{ }INFOS} (ASCII format)\\ (subroutine \texttt{lpm\underline{ }write\underline{ }exchange\underline{ }statistics})}}   
1152   \end{tikzpicture}
1153\end{frame}
1154
1155% Folie 28
1156\begin{frame}[fragile]
1157   \frametitle{The Data Type Used for Particles}
1158   \small
1159   \begin{itemize}
1160      \item Particle data are stored in a FORTRAN derived data type:
1161   \end{itemize}
1162   \tikzstyle{yellow} = [rectangle, draw, fill=yellow!30, text width=0.9\textwidth, font=\Tiny,scale=1.0]
1163   \begin{tikzpicture}
1164   \node [yellow] {\begin{lstlisting} 
1165MODULE particle_attributes
1166    :
1167    TYPE particle_type
1168        SEQUENCE
1169        REAL(wp)     ::  radius, age, age_m, dt_sum, dvrp_psize, e_m,          &
1170                         origin_x, origin_y, origin_z, rvar1, rvar2, rvar3,    &
1171                         speed_x, speed_y, speed_z, weight_factor, x, y, z
1172        INTEGER(iwp) ::  class, group, tailpoints, tail_id
1173        LOGICAL      ::  particle_mask
1174        INTEGER(iwp) ::  block_nr
1175    END TYPE particle_type
1176
1177    TYPE(particle_type), DIMENSION(:), POINTER             ::  particles
1178    TYPE(particle_type)                                    ::  zero_particle
1179
1180    TYPE particle_groups_type
1181        SEQUENCE
1182        REAL(wp) ::  density_ratio, radius, exp_arg, exp_term
1183    END TYPE particle_groups_type
1184
1185    TYPE(particle_groups_type), DIMENSION(max_number_of_particle_groups) ::    &
1186       particle_groups
1187\end{lstlisting}
1188   };
1189   \end{tikzpicture}
1190\end{frame}
1191
1192\begin{frame}[fragile]
1193   \frametitle{Storing Lagrangian particles (I)}
1194   \begin{itemize}
1195   \item the easiest method for storing Lagrangian particles is an one-dimensional array
1196   \item most applications demand particles located at a certain location (e.\,g., collision process)
1197   \item finding this particles demands \texttt{N}$^2$ operations:
1198      \scriptsize
1199\begin{lstlisting}
1200DO  n = 1, N
1201   DO  k = 1, N
1202      IF ( k /= n )  THEN
1203         IF ( ABS( particles(k)%x - particles(n)%x )   &
1204              < threshold )  THEN
1205            ...
1206         ENDIF
1207      ENDIF
1208   ENDDO
1209ENDDO
1210\end{lstlisting}
1211   \end{itemize}
1212\end{frame}
1213
1214\begin{frame}[fragile]
1215   \frametitle{Storing Lagrangian particles (I)}
1216   \begin{itemize}
1217      \item sorting the particles by their respective grid-box reduces the operations to \texttt{N}:
1218         \scriptsize
1219\begin{lstlisting}
1220DO  n = n_start(k,j,i), n_end(k,j,i)
1221   ...
1222ENDDO
1223\end{lstlisting}
1224\normalsize
1225\item reducing CPU time of LPM by 9.6\,\%
1226\item sorting increases CPU time and demands a second one-dimensional array for efficient sorting
1227\item this was done in the previous version of PALM
1228\item \textbf{new approach} in the current PALM version:
1229
1230a four-dimensional array
1231   \end{itemize}
1232\end{frame}
1233
1234
1235% Folie 9
1236\begin{frame}[t]
1237   \frametitle{Storing Lagrangian particles (III)}
1238   \small
1239   \begin{tikzpicture}[scale=0.6]
1240      \definecolor{darkgreen}{rgb}{0.2,0.7,0.2}
1241     
1242      % Coordinates
1243      \coordinate (OL) at (-4,4);     
1244      \coordinate (OC) at (0,4);
1245      \coordinate (OR) at (4,4);
1246      \coordinate (ML) at (-4,0);
1247      \coordinate (MC) at (0,0);
1248      \coordinate (MR) at (4,0);
1249      \coordinate (UL) at (-4,-4);     
1250      \coordinate (UC) at (0,-4);
1251      \coordinate (UR) at (4,-4);
1252     
1253      \coordinate (OL2) at (-2,2);
1254      \coordinate (OR2) at (2,2);
1255      \coordinate (UR2) at (2,-2);
1256      \coordinate (UL2) at (-2,-2);
1257     
1258      \coordinate (P1) at (-1,1);
1259      \coordinate (P2) at (1.8,-1.3);
1260      \coordinate (P3) at (0.4,-0.9);
1261      \coordinate (P4) at (1,0.7);
1262      \coordinate (P5) at (-1.3,-1.4);
1263      \coordinate (P6) at (-1.8,1.6);
1264      \coordinate (part_box) at (6,2);
1265   
1266      % Draw Boxes
1267      \draw[-] (OL) -- (OR) -- (UR) -- (UL) -- cycle;
1268      \draw[-] (OC) -- (UC);
1269      \draw[-] (ML) -- (MR);     
1270      \draw[-,dashed] (OL2) -- (OR2) -- (UR2) -- (UL2) -- cycle;
1271     
1272      \draw[-, thick] (MC) -- (part_box);
1273     
1274      % Draw dots
1275      \node[circle, draw, fill, color=black, ultra thick, scale=0.3] at (OL) {};     
1276      \node[circle, draw, fill, color=black, ultra thick, scale=0.3] at (OC) {};
1277      \node[circle, draw, fill, color=black, ultra thick, scale=0.3] at (OR) {};
1278      \node[circle, draw, fill, color=black, ultra thick, scale=0.3] at (ML) {};
1279      \node[circle, draw, fill, color=black, ultra thick, scale=0.3] at (MC) {};
1280      \node[circle, draw, fill, color=black, ultra thick, scale=0.3] at (MR) {};
1281      \node[circle, draw, fill, color=black, ultra thick, scale=0.3] at (UL) {};
1282      \node[circle, draw, fill, color=black, ultra thick, scale=0.3] at (UC) {};
1283      \node[circle, draw, fill, color=black, ultra thick, scale=0.3] at (UR) {};
1284
1285      \uncover<1>{\node[circle, draw, fill, color=red, ultra thick, scale=0.5] at (P1) {};}
1286      \uncover<1-2>{\node[circle, draw, fill, color=yellow, ultra thick, scale=0.5] at (P2) {};}
1287      \uncover<1-3>{\node[circle, draw, fill, color=green, ultra thick, scale=0.5] at (P3) {};}
1288      \uncover<1-4>{\node[circle, draw, fill, color=blue, ultra thick, scale=0.5] at (P4) {};}
1289      \uncover<1-5>{\node[circle, draw, fill, color=violet, ultra thick, scale=0.5] at (P5) {};}
1290      \uncover<1-6>{\node[circle, draw, fill, color=magenta, ultra thick, scale=0.5] at (P6) {};}
1291     
1292      \node[yshift=6.0, xshift=-15.0] at (OL) {\tiny \texttt{i-1,j+1}};
1293      \node[yshift=6.0, xshift=-15.0] at (OC) {\tiny \texttt{i,j+1}};
1294      \node[yshift=6.0, xshift=-15.0] at (OR) {\tiny \texttt{i+1,j+1}};
1295      \node[yshift=6.0, xshift=-15.0] at (ML) {\tiny \texttt{i-1,j}};
1296      \node[yshift=6.0, xshift=-15.0] at (MC) {\tiny \texttt{i,j}};
1297      \node[yshift=6.0, xshift=-15.0] at (MR) {\tiny \texttt{i+1,j}};
1298      \node[yshift=6.0, xshift=-15.0] at (UL) {\tiny \texttt{i-1,j-1}};
1299      \node[yshift=6.0, xshift=-15.0] at (UC) {\tiny \texttt{i,j-1}};
1300      \node[yshift=6.0, xshift=-15.0] at (UR) {\tiny \texttt{i+1,j-1}};
1301     
1302     
1303      % draw particle box
1304      \node at (part_box) [scale=1.0] {%
1305      \begin{tikzpicture}
1306         \draw[-, thick, fill=white] (-0.2,0.2) -- (0.2,0.2) -- (0.2,-1.7) -- (-0.2,-1.7) -- cycle;
1307         \uncover<2->{\node[circle, draw, fill, color=red, ultra thick, scale=0.5] at (0,0) {};}
1308         \uncover<3->{\node[circle, draw, fill, color=yellow, ultra thick, scale=0.5] at (0,-0.3) {};}
1309         \uncover<4->{\node[circle, draw, fill, color=green, ultra thick, scale=0.5] at (0,-0.6) {};}
1310         \uncover<5->{\node[circle, draw, fill, color=blue, ultra thick, scale=0.5] at (0,-0.9) {};}
1311         \uncover<6->{\node[circle, draw, fill, color=violet, ultra thick, scale=0.5] at (0,-1.2) {};}
1312         \uncover<7->{\node[circle, draw, fill, color=magenta, ultra thick, scale=0.5] at (0,-1.5) {};}
1313         
1314      \end{tikzpicture}
1315      };
1316     
1317      \uncover<1->{\node[text width=10em] at (10,0) {\scriptsize - all particles located in a certain grid box are stored in a \textit{small} one-dimensional particle array permanently assigned to this grid-box\\
1318      \ \\
1319      - LPM CPU time decreases by 22\,\% \\
1320      \ \\
1321      - available memory doubles since no additional arrays are needed
1322      };}
1323   \end{tikzpicture}
1324   
1325
1326
1327   
1328\end{frame}
1329
1330\begin{frame}[fragile]
1331   \frametitle{Storing Lagrangian particles (IV)}
1332   \small
1333   \begin{itemize}
1334   \item particles stored in another FORTRAN derived data type:
1335
1336   \tikzstyle{yellow} = [rectangle, draw, fill=yellow!30, text width=0.9\textwidth, font=\Tiny,scale=1.0]
1337   \begin{tikzpicture}
1338   \node [yellow] {\begin{lstlisting} 
1339MODULE particle_attributes
1340
1341    :
1342
1343    TYPE  grid_particle_def
1344        :
1345        TYPE(particle_type), POINTER, DIMENSION(:) ::  particles
1346    END TYPE grid_particle_def
1347
1348    TYPE(grid_particle_def), DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  grid_particles
1349
1350\end{lstlisting}
1351   };
1352   \end{tikzpicture}
1353   \item particles are called at every grid-box:
1354   \Tiny
1355    \begin{lstlisting}
1356DO  i = nxl, nxr
1357   DO  j = nys, nyn
1358      DO  k = nzb+1, nzt
1359         n_par = prt_count(k,j,i)
1360         particles => grid_particles(k,j,i)%particles(1:n_par)
1361         IF ( n_par <= 0 )  CYCLE
1362         DO  n = 1, n_par
1363            ...
1364         ENDDO
1365      ENDDO
1366   ENDDO
1367ENDDO
1368\end{lstlisting}
1369      \end{itemize}
1370   
1371\end{frame}
1372
1373
1374% Folie 29
1375\begin{frame}[fragile]
1376   \frametitle{How to Read netCDF Particle Data from an External Program}
1377   \scriptsize
1378   \begin{itemize}
1379      \item An example program for reading netCDF particle data (from file DATA\underline{ }PRT\underline{ }NETCDF/) can be found in the PALM repository under \texttt{...../trunk/UTIL/analyze\underline{ }particle\underline{ }netcdf\underline{ }data.f90}
1380       \item<1-> \textbf{Attention:}\\ The particle feature \grqq density\underline{ }ratio\grqq\, is stored in variable particle\underline{ }groups which (so far) is \textbf{not} contained in the netCDF file.\\
1381       \vspace{1mm}
1382       Both informations can only be found on file PARTICLE\underline{ }DATA/.\\
1383       \vspace{1mm}
1384       For the format of this file (one per PE, i.e. filenames \underline{ }0000, \underline{ }0001, etc.) see beginning of subroutine \texttt{lpm\_data\_output\_particles}.
1385   \end{itemize}
1386   \tikzstyle{yellow} = [rectangle, draw, fill=yellow!30, text width=0.9\textwidth, font=\Tiny,scale=1.0]
1387   \begin{tikzpicture}
1388   \node [yellow] {\begin{lstlisting} 
1389    WRITE ( 85 )  simulated_time
1390    WRITE ( 85 )  prt_count
1391         
1392    DO  ip = nxl, nxr
1393       DO  jp = nys, nyn
1394          DO  kp = nzb+1, nzt
1395             number_of_particles = prt_count(kp,jp,ip)
1396             particles => grid_particles(kp,jp,ip)%particles(1:number_of_particles)
1397             IF ( number_of_particles <= 0 )  CYCLE
1398             WRITE ( 85 )  particles
1399          ENDDO
1400       ENDDO
1401    ENDDO
1402\end{lstlisting}
1403   };
1404   \end{tikzpicture}
1405\end{frame}
1406
1407\section{Application Example}
1408\subsection{Application Example}
1409
1410% Folie 30
1411\begin{frame}[t]
1412   \frametitle{Application Example: Simulation of a Convective Cloud with LCM (I)}
1413   \footnotesize
1414   \textbf{Why investigating clouds?}
1415   \begin{itemize}
1416      \item Clouds are very important, e.g., for climate, precipitation
1417         \begin{itemize}
1418            \footnotesize
1419            \item Problem: many microphysic processes are still not sufficiently known but determine the macroscopic properties of clouds
1420            \item Open Issues: production of rain in sufficiently short period of time, activation of aerosols,...
1421      \end{itemize}
1422   \end{itemize}
1423   \vspace{1.5mm}
1424   \textbf{What is our goal?}
1425   \begin{itemize}
1426      \item Analyze in-cloud turbulence effects on droplet growth and precipitation formation using an LCM
1427   \end{itemize}
1428   \vspace{1.5mm}
1429   \textbf{What are the advantages?}
1430   \begin{itemize}
1431      \item dynamics and microphysics of the cloud are directly related to physical processes of the individual droplets
1432      \item provides detailed information e.g. spatial and temporal evolution of the droplet spectrum, spatial distribution of the droplet concentration, droplet tracks, ...
1433   \end{itemize} 
1434\end{frame}
1435
1436% Folie 32
1437\begin{frame}[fragile]
1438   \frametitle{Application Example: Simulation of a Convective Cloud with LCM (II)}
1439   \footnotesize
1440   \textbf{Extract from the corresponding parameter file:}
1441   \tikzstyle{yellow} = [rectangle, draw, fill=yellow!30, text width=0.9\textwidth, font=\tiny,scale=1.0]
1442   \begin{tikzpicture}
1443   \node [yellow] {\begin{lstlisting} 
1444&inipar          humidity = .TRUE., cloud_droplets = .TRUE., ... /
1445
1446&d3par           end_time = 1800.0, ... /
1447
1448&particles_par   dt_write_particle_data = 100.0,
1449                 bc_par_b = 'absorb',
1450                 density_ratio = 0.001,
1451                 
1452                 initial_weighting_factor = 9.0E9,
1453                 radius = 1.0E-6,
1454                 
1455                 psb = 20.0, pst = 2800.0,
1456                 pdx = 4.5, pdy = 4.5, pdz = 4.5,
1457                 
1458                 random_start_position = .TRUE.,
1459                 number_of_particle_groups = 1,
1460                 dt_dopts = 100.0, dt_prel = 9000.0,/ n
1461\end{lstlisting}
1462   };
1463   \end{tikzpicture}
1464\end{frame}
1465
1466% Folie 33
1467\begin{frame}[t]
1468   \frametitle{Application Example: Simulation of a Convective Cloud with LCM (III)}
1469   \footnotesize
1470   \centering 
1471   \includegraphics[scale=0.4]{particle_model_figures/snapshot.png}\\
1472   Snapshot of cloud droplet evolution% using\\ visualization tool DVRP\\
1473\end{frame}
1474
1475% Folie 34
1476\begin{frame}[t]
1477   \frametitle{Application Example: Simulation of a Convective Cloud with LCM (IV)}
1478   \footnotesize
1479   
1480   \begin{tikzpicture}[remember picture, overlay]
1481      \node [shift={(6.3 cm, 3.6 cm)}]  at (current page.south west)
1482         {%
1483         \begin{tikzpicture}[remember picture, overlay]
1484            \node at (0.0,0.0) {   \includegraphics[scale=0.15]{particle_model_figures/turbulence_effects.png}};
1485            \node at (0.0,2.55) {after 1600 s};
1486            \node at (-3.3,3) {Kernel without turbulence effects};
1487            \node at (3,3) {Kernel with turbulence effects};
1488
1489         \end{tikzpicture}
1490         };
1491   \end{tikzpicture} 
1492   
1493\end{frame}
1494
1495% Folie 35
1496\begin{frame}[t]
1497   \frametitle{Application Example: Simulation of a Convective Cloud with LCM (V)}
1498   \footnotesize
1499      \begin{tikzpicture}[remember picture, overlay]
1500      \node [shift={(6.3 cm, 4.2 cm)}]  at (current page.south west)
1501         {%
1502         \begin{tikzpicture}[remember picture, overlay]
1503            \node at (0.0,0.0) {\includegraphics[scale=0.4]{particle_model_figures/turbulence_effects_2.png}};
1504            \node at (-3.0,2.6) {Kernel without turbulence effects};
1505            \node at (3,2.6) {Kernel with turbulence effects};
1506
1507         \end{tikzpicture}
1508         };
1509   \end{tikzpicture}
1510   \ \\ 
1511   \vspace{48mm}
1512   $\rightarrow$ Turbulence effects enhance droplet growth and lead to more realistic mass distribution function\\
1513\end{frame}
1514
1515% Folie 36
1516\begin{frame}
1517   \frametitle{General Warning}
1518   \begin{itemize}
1519      \item Errors in the user interface routines for particles may cause problems which are very difficult to debug. Please be extremely careful with modifying the user interface and try to find out exactly how the default particle code works, before you make your modifications.
1520   \end{itemize}
1521\end{frame}
1522
1523\end{document}
Note: See TracBrowser for help on using the repository browser.