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

Last change on this file since 1568 was 1532, checked in by hoffmann, 10 years ago

updated tutorial (ncl, particle model), new exercise (bulk cloud physics)

  • Property svn:keywords set to Id
File size: 62.5 KB
RevLine 
[973]1%$Id: particle_model_cloud_physics.tex 1532 2015-01-26 13:59:17Z suehring $
2\input{header_tmp.tex}
[1532]3%\input{header_lectures.tex}
[973]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}
[1532]26\usepackage{textcomp}  %neues paket
[973]27\lstset{showspaces=false,language=fortran,basicstyle=
28        \ttfamily,showstringspaces=false,captionpos=b}
29
[1532]30\institute{Institute of Meteorology and Climatology, Leibniz Universit{\"a}t Hannover}
[1515]31\selectlanguage{english}
[973]32\date{last update: \today}
33\event{PALM Seminar}
34\setbeamertemplate{navigation symbols}{}
35
36\setbeamertemplate{footline}
37  {
38    \begin{beamercolorbox}[rightskip=-0.1cm]&
39     {\includegraphics[height=0.65cm]{imuk_logo.pdf}\hfill \includegraphics[height=0.65cm]{luh_logo.pdf}}
40    \end{beamercolorbox}
41    \begin{beamercolorbox}[ht=2.5ex,dp=1.125ex,
42      leftskip=.3cm,rightskip=0.3cm plus1fil]{title in head/foot}
43      {\leavevmode{\usebeamerfont{author in head/foot}\insertshortauthor} \hfill \eventname \hfill \insertframenumber \; / \inserttotalframenumber}
44    \end{beamercolorbox}
45    \begin{beamercolorbox}[colsep=1.5pt]{lower separation line foot}
46    \end{beamercolorbox}
47  }
48%\logo{\includegraphics[width=0.3\textwidth]{luhimuk_logo.pdf}}
49\title[PALM's Lagrangian Particle Model]{PALM's Lagrangian Particle Model}
[1515]50\author{PALM group}
[973]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
[1532]71              \item Cloud droplet simulations
[973]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
[1532]79              \item Particles can be transported \textbf{passively} with the \textbf{resolved-scale} flow
80              \item Particle transport by \textbf{subgrid-scale (SGS) turbulence} can be included by switching on a stochastic model (parameter: \texttt{use\underline{ }sgs\underline{ }for\underline{ }particles})
[973]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
[1515]167      \node at (1,-0.25) {\scriptsize \texttt{psl} (default 0.0)};
[973]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};
[1515]213      \node at (1,-0.25) {\footnotesize \texttt{pdx}};
[973]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}
[1515]226      \node at (1.1,0.43) {\footnotesize \texttt{pdy}};
[973]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};
[1515]243      \node at (0.32,1.3) {\footnotesize \texttt{pdz}};
[973]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
[1515]282      \node at (9.2,3) [scale=0.99] {%
[973]283      \begin{tikzpicture}
[1515]284         \node[text width=11em] {\footnotesize Choosing a too large number of particles may cause memory problems!\\};
[973]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
[1532]447   Parameter that defines the mode of particle movement:
448   \vspace{+2mm}
449   
[973]450   The concept of LES ...\\
451   \begin{center}
452      \includegraphics[scale=0.1]{particle_model_figures/basic_particle_parameters_5.png}
453   \end{center}
454   \vspace{-5mm}
455   \onslide<2->
[1532]456   ... transferred to the embedded particle model leads to particle velocity:\\
457   \begin{center}
458         $\vec{V}_{{\text{particle}}} = \vec{V}_{{\text{resolved}}} + \vec{V}_{{\text{subgrid}}}$\\
459    \end{center}
[973]460         \onslide<3->
[1532]461         \scriptsize 
462         Accordingly, the particle movement is a result of:
[973]463         \begin{itemize}
[1532]464            \scriptsize 
465            \item<3-> resolved flow $\vec{V}_{{\text{resolved}}}$
[973]466            \vspace{-2mm}
[1532]467            \item<3-> and subgrid scale turbulence $\vec{V}_{{\text{subgrid}}}$
468            \begin{itemize}
469            \scriptsize 
470            \item<4-> $\vec{V}_{{\text{subgrid}}}=0$, if \texttt{use\underline{ }sgs\underline{ }for\underline{ }particles = .F.} (default value)
471\item<4-> $\vec{V}_{{\text{subgrid}}}\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 (see Weil et al., 2004, JAS)
472
473            \end{itemize}
[973]474         \end{itemize}
475
[1532]476
477
[973]478\end{frame}
479
[1532]480% Folie 9
[973]481\begin{frame}[t]
482   \frametitle{Basic Particle Parameters (VI)}
483   \small
484   \vspace{-2mm}
485   Parameters that define the boundary conditions for particles\\
486   \scriptsize \ \\
487   \uncover<10>{In PALM particles are \textbf{always} reflected at \textbf{vertical walls and roofs of buildings.}}\\
488   \ \\
489
490   \begin{tikzpicture}
491      \definecolor{darkgreen}{rgb}{0.2,0.7,0.2}
492      % Bottom
493      \uncover<2>{\draw[fill=darkgreen,draw=darkgreen,opacity=.85]
494         (0,0) --
495         (2,1.5) --
496         (7,1.5) --
497         (5,0) -- cycle ;}
498      % Top
499      \uncover<4>{\draw[fill=darkgreen,draw=darkgreen,opacity=.85]
500         (0,4) --
501         (2,5.5) --
502         (7,5.5) --
503         (5,4) -- cycle ;}
504      % Front
505      \uncover<6>{\draw[fill=darkgreen,draw=darkgreen,opacity=.85]
506         (0,0) --
507         (0,4) --
508         (5,4) --
509         (5,0) -- cycle ;}
510      % Back
511      \uncover<6>{\draw[fill=darkgreen,draw=darkgreen,opacity=.85]
512         (2,1.5) --
513         (7,1.5) --
514         (7,5.5) --
515         (2,5.5) -- cycle ;}
516      % Left
517      \uncover<8>{\draw[fill=darkgreen,draw=darkgreen,opacity=.85]
518         (0,0) --
519         (0,4) --
520         (2,5.5) --
521         (2,1.5) -- cycle ;}
522      % Right
523      \uncover<8>{\draw[fill=darkgreen,draw=darkgreen,opacity=.85]
524         (5,0) --
525         (5,4) --
526         (7,5.5) --
527         (7,1.5) -- cycle ;}
528         
529      % Draw Box 
530      \draw[-] (0,0) -- (5,0);
531      \draw[-] (0,0) -- (0,4);
532      \draw[-] (5,4) -- (5,0);
533      \draw[-] (0,4) -- (5,4);
534     
535      \draw[-] (2,1.5) -- (7,1.5);
536      \draw[-] (2,1.5) -- (2,5.5);
537      \draw[-] (7,5.5) -- (7,1.5);
538      \draw[-] (2,5.5) -- (7,5.5);
539     
540      \draw[-] (0,0) -- (2,1.5);
541      \draw[-] (5,0) -- (7,1.5);
542      \draw[-] (5,4) -- (7,5.5);
543      \draw[-] (0,4) -- (2,5.5);
544     
545      \node at (4,5) {\small Total model domain};
546     
547      % Labels
548      \uncover<2->{\node at (2.7,0.15) {\scriptsize \texttt{bc\underline{ }par\underline{ }b = 'reflect', 'absorb'}};} 
549      \uncover<4->{\node at (3.0,4.25) {\scriptsize \texttt{bc\underline{ }par\underline{ }t = 'absorb', 'reflect'}};}       
550      \uncover<6->{\node at (3.25,2.15) {\scriptsize \texttt{bc\underline{ }par\underline{ }ns = 'cyclic', 'reflect', 'absorb'}};}     
551      \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'}};}           
552
553               
554      % Draw coordinate system
555      \node at (9,2) [scale=1.0] {%
556      \begin{tikzpicture}
557         \draw[->] (0,0) -- (1,0);
558         \draw[->] (0,0) -- (0,1);
559         \draw[->] (0,0) -- (0.5,0.5);
560         \node at (-0.2,0.9) {z};
561         \node at (0.9,-0.2) {x};
562         \node at (0.65,0.3) {y};
563      \end{tikzpicture}
564      };
565     
566   \end{tikzpicture}
567   
568\end{frame}
569
[1532]570% Folie 10
[973]571\begin{frame}
572   \frametitle{Basic Particle Parameters (VIII)}
573   \small
574   Parameters that steer the output of particle data
575   \begin{itemize}
576      \item There are two output files containing particle data:
577      \begin{itemize}
578         \item \texttt{DATA\underline{ }1D\underline{ }PTS\underline{ }NETCDF}:
579         \hspace{0.5em} contains particle time series, output\\ 
580         \hspace{11.0em}interval is controlled by parameter\\ 
581         \hspace{11.0em}\texttt{dt\underline{ }dopts}, one file for the total\\ 
582         \hspace{11.0em}domain, e.g. time series of the total\\
583         \hspace{11.0em}number of particles, mean particle\\
584         \hspace{11.0em}velocity, mean subgrid scale part of\\
585         \hspace{11.0em}the particle velocity, mean particle\\
586         \hspace{11.0em}location etc.
587         \vspace{1mm}
[1532]588         \item \texttt{PARTICLE\underline{ }DATA}:
589         \hspace{3.5em}contains \textbf{all} particle data (see slide\\
[973]590         \hspace{11.0em}The Data Type Used for Particles),\\
591         \hspace{11.0em}output is controlled by\\
592         \hspace{11.0em}\texttt{dt\underline{ }write\underline{ }particle\underline{ }data},\\
593         \hspace{11.0em}one file per subdomain/PE
594      \end{itemize}
595   \end{itemize}
596\end{frame}
597
[1532]598% Folie 11
[1515]599\begin{frame}[fragile]
[973]600   \frametitle{An Example of a Particle NAMELIST}
[1532]601   \vspace{+0.1cm}
602   \tikzstyle{yellow} = [rectangle, draw, fill=yellow!30, text width=1.0\textwidth, font=\footnotesize,scale=1.0]
[1515]603   \begin{tikzpicture}
604   \node [yellow] {\begin{lstlisting} 
[1532]605 &particles_par  dt_dopts = 25.0,
[1515]606                 bc_par_b = 'absorb',
[1532]607                 density_ratio = 0.001,
608                 radius = 1.0E-6,
[1515]609                 psb = 35.0, pst = 255.0,
610                 psl = 935.0, psr = 1065.0,
[1532]611                 pss = -5.0, psn = 30.0,
[1515]612                 pdx = 20.0, pdy = 20.0, pdz = 20.0,
613                 random_start_position = .TRUE., /
614\end{lstlisting}
615   };
616   \end{tikzpicture}
[1532]617   \vspace{-5mm}
[973]618   \begin{itemize}
[1532]619      \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 \texttt{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.)
[973]620   \end{itemize}
621\end{frame}
622
623\section{Theory}
624\subsection{Theory}
625
[1532]626% Folie 12
[973]627\begin{frame}[t]
628   \frametitle{Theory of the Lagrangian Particle Model (I)}
629   \footnotesize
[1532]630   \textbf{Advection of Passive Particles}\\
[973]631   \vspace{1mm}
[1532]632   \begin{itemize}
633   \item The position of the particle is found by integrating $ \dfrac{d \vec{X}_{\text{particle}}}{dt} = \vec{V}_{\text{particle}}$ 
634   \item The particle's velocity consist of a resolved and a subgrid part:\\
635   \begin{center}
636    $\vec{V}_{\text{particle}} = \vec{V}_{\text{res}} (+ \vec{V}_{\text{sub}})$\\
637    \end{center}
638%   \vspace{2mm}
639%   \onslide<2->Transferring the LES concept ...
640%   \includegraphics[scale=0.1]{particle_model_figures/basic_particle_parameters_5.png}\\
641%   \vspace{-2mm}
642%   \scriptsize \hspace{2em}total energy\hspace{2.25em}=\hspace{3em}resolved part\hspace{2.5em}+\hspace{3em}modelled part\\
643%   \vspace{1mm}
644%   \small ... to the embedded particle model leads to: $\vec{V}_{\text{particle}} = \vec{V}_{\text{res}} (+ \vec{V}_{\text{sub}})$\\
645%   \vspace{2mm}
646   \item<2-> The resolved part $\vec{V}_{\text{res}}$ is derived by a tri-linear interpolation:
[973]647   \begin{tikzpicture}[remember picture, overlay]
[1532]648      \node [shift={(1.7 cm,2.8cm)}]  at (current page.south west)
[973]649         {%   
650         \begin{tikzpicture}[scale=0.3,remember picture, overlay]
651            \draw[-] (0,0) -- (5,0);
652            \draw[-] (0,0) -- (0,4);
653            \draw[-] (5,4) -- (5,0);
654            \draw[-] (0,4) -- (5,4);
655            \draw[-] (2,1.5) -- (7,1.5);
656            \draw[-] (2,1.5) -- (2,5.5);
657            \draw[-] (7,5.5) -- (7,1.5);
658            \draw[-] (2,5.5) -- (7,5.5);
659            \draw[-] (0,0) -- (2,1.5);
660            \draw[-] (5,0) -- (7,1.5);
661            \draw[-] (5,4) -- (7,5.5);
662            \draw[-] (0,4) -- (2,5.5);
663     
664            \node[circle, fill=blue, scale=0.5] at (0,0) {};
665            \node[circle, fill=blue, scale=0.5] at (5,0) {};
666            \node[circle, fill=blue, scale=0.5] at (0,4) {};
667            \node[circle, fill=blue, scale=0.5] at (5,4) {};
668            \node[circle, fill=blue, scale=0.5] at (2,1.5) {};
669            \node[circle, fill=blue, scale=0.5] at (7,1.5) {};
670            \node[circle, fill=blue, scale=0.5] at (7,5.5) {};
671            \node[circle, fill=blue, scale=0.5] at (2,5.5) {};
672     
673            \node[circle, fill=red, scale=0.5] at (2.5,1.1) {};
674
675            \draw[->, ultra thick, color=red] (7.4,0.7) -- (2.9,1.1);
676            \node at (9.0,0.1) {\scriptsize \textcolor{red}{particle location}};
677     
678            \draw[->, ultra thick] (8,2.5) -- (12,2.5);
679         \end{tikzpicture}
680         };
[1532]681      \node [shift={(5.8 cm,2.8cm)}]  at (current page.south west)
[973]682         {%   
683         \begin{tikzpicture}[scale=0.3,remember picture, overlay]
684            \definecolor{darkgreen}{rgb}{0.2,0.7,0.2}
685            \draw[-] (0,0) -- (5,0);
686            \draw[-] (0,4) -- (5,4);
687            \draw[-] (2,1.5) -- (7,1.5);
688            \draw[-] (2,5.5) -- (7,5.5);
689            \draw[-] (0,0) -- (2,1.5);
690            \draw[-] (5,0) -- (7,1.5);
691            \draw[-] (5,4) -- (7,5.5);
692            \draw[-] (0,4) -- (2,5.5);
693     
694            \node[circle, fill=blue, scale=0.5] at (0,0) {};
695            \node[circle, fill=blue, scale=0.5] at (5,0) {};
696            \node[circle, fill=blue, scale=0.5] at (0,4) {};
697            \node[circle, fill=blue, scale=0.5] at (5,4) {};
698            \node[circle, fill=blue, scale=0.5] at (2,1.5) {};
699            \node[circle, fill=blue, scale=0.5] at (7,1.5) {};
700            \node[circle, fill=blue, scale=0.5] at (7,5.5) {};
701            \node[circle, fill=blue, scale=0.5] at (2,5.5) {};
702           
703            \node[circle, draw, color=darkgreen, ultra thick, scale=0.5] at (2.5,0.6) {};       
704            \node[circle, draw, color=darkgreen, ultra thick, scale=0.5] at (2.5,4.6) {};         
705            \draw[->, ultra thick] (8,2.5) -- (12,2.5);
706         \end{tikzpicture}
707         };
[1532]708      \node [shift={(9 cm,2.8cm)}]  at (current page.south west)
[973]709         {%   
710         \begin{tikzpicture}[scale=0.3,remember picture, overlay]
711            \definecolor{darkgreen}{rgb}{0.2,0.7,0.2}
712           
713            \node[circle, draw, color=darkgreen, ultra thick, scale=0.5] at (2.5,0.6) {};       
714            \node[circle, fill=red, scale=0.5] at (2.5,1.1) {};
715            \node[circle, draw, color=darkgreen, ultra thick, scale=0.5] at (2.5,4.6) {};         
716         \end{tikzpicture}
717         };
718      \end{tikzpicture}
[1532]719     
720      \vspace{+2.5cm}
721      \item<3-> The $\vec{V}_{\text{sub}}$ is only computed if \texttt{use\underline{ }sgs\underline{ }for\underline{ }particles = .T.} (this also requires \texttt{use\underline{ }upstream\underline{ }for\underline{ }tke = .T.} in the \texttt{inipar} namelist). Then, a solution for $\vec{V}_{\text{sub}}$ is derived from a stochastic differential equation (see Weil et al., 2004, JAS).
722            \end{itemize}
[973]723\end{frame}
724
[1532]725% Folie 13
[973]726\begin{frame}[t]
727   \frametitle{Theory of the Lagrangian Particle Model (II)}
728   \footnotesize
729   \textbf{Advection of Non-passive Particles}\\
730   \ \\
[1532]731   Newton's second law for a droplet (considering Stoke's drag, gravity and buoyancy):\\
[973]732   \vspace{4mm}
733   $\dfrac{dV_i}{dt} = \dfrac{1}{\tau_p} (u_i - V_i) - \delta_{i3}( 1 - \rho_0 / \rho_l ) g$\\
734      \vspace{2mm}
[1532]735  with the inertial response time $\tau_p^{-1} = \dfrac{9 \nu \rho_0}{2 r^2 \rho_l} \left( 1 + 0.15 \text{Re}^{0.687} \right)$ including a correction term (in parenthesis) for high Reynolds numbers (see Clift et al., 1978)\\%based on $\text{Re} = \dfrac{2r \left| \vec{u}_i - \vec{V}_i \right|}{\nu} $ (see Clift et al., 1978)\\
736   \vspace{10mm}
[973]737   \onslide<1->
738   \begin{tabular}{llll}
739           $g$   & = gravitational acceleration & $\rho_l$ & = density of water\\
[1515]740           Re    & = particle Reynolds number            & $\rho_0$ & = density of air\\
741           $u_i$ & = velocity of the fluid      & $\tau_p$ & = inertia response time\\
742           $V_i$ & = particle velocity          & $\nu$    & = molecular viscosity of air\\
[973]743   \end{tabular}
744
745\end{frame}
746
[1532]747% Folie 14
[973]748\begin{frame}[t]
749   \frametitle{Theory of the Lagrangian Particle Model (III)}
750   \footnotesize
751   \textbf{Using Particles as Cloud Droplets}\\
752   \small
753   \begin{itemize}
[1532]754      \item This feature is switched on by setting the initial parameter \texttt{cloud\_droplets = .TRUE.}
755      \item In this case, the change in particle radius by condensation/evaporation and collision/coalescence is calculated for every timestep.
756      \item In case of condensation or evaporation, the potential temperature and the specific humidity (computed by the LES) have to be adjusted. This is done within the subroutine \texttt{interaction\_droplets\_ptq}, which is therefore the major coupling between the LES and the LPM.
[973]757   \end{itemize}
758\end{frame}
759
[1532]760% Folie 15
[973]761\begin{frame}[t]
762   \frametitle{Theory of the Lagrangian Particle Model (IV)}
763   \footnotesize
764   \textbf{Simulation of Cloud Droplets (I)}\\
765   \begin{itemize}
766      \item Simulation of enormous particle numbers like in real clouds\\ is impossible
767      \begin{itemize}
768         \footnotesize
769         \item Ensembles of water droplets are simulated
770         \vspace{1mm}
771         \item Every simulated droplet stands for a very high number\\ of real droplets
772         \vspace{1mm}
[1532]773         \item Concept of weighting factor (Shima et al., 2009, QJRMS):\\
774         \begin{center}
775          $A_i = \textit{real number of droplets represented by one simulated droplet}$
776              \includegraphics[scale=1.0]{particle_model_figures/super.jpg}
777          \end{center}
778         \vspace{-2mm}
[973]779         \item Initial weighting factor can be assigned with the parameter \texttt{initial\underline{ }weighting\underline{ }factor}
780      \end{itemize}
781   \end{itemize}
782   
783
784\end{frame}
785
[1532]786% Folie 16
[973]787\begin{frame}[t]
788   \frametitle{Theory of the Lagrangian Particle Model (V)}
789   \footnotesize
790   \textbf{Simulation of Cloud Droplets (II)}\\
791   \scriptsize
792   \begin{itemize}
[1532]793      \item The growth of the radius of single droplet by condensation/evaporation:\\
[973]794      \vspace{1mm}
[1532]795      $ r_i \dfrac{dr_i}{dt} = \dfrac{(S - a\,r^{-1} + b\,r^{-3})}{F_\text{k} + F_\text{d}}$\\
[973]796      \vspace{1mm}
[1532]797      primarily depending on the supersaturation $S = e / e_\text{s}-1$, including the effects of the particle's curvature (parameter $a$) and amount of solute aerosol (parameter $b$)
[1515]798      \vspace{1.5mm}
[1532]799      \item<2-> For $r > 1\,\text{\textmu m}$ solution and curvature effects are neglected $\Rightarrow$ an analytic solution is possible: \\
800      $ 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_\text{k} + F_\text{d}} \right)}$
[973]801   \end{itemize}
[1532]802   \vspace{1.0cm}
803   \hspace{0.5cm}
[973]804   \begin{tabular}{llll}
[1532]805           $r$   & = Droplet radius & $S$   & = Supersaturation\\
806           $a$ & = Curvature effect    & $b$  & = Solution effect\\
807           $e$ & = Vapor pressure  &  $e_\text{s}$ & = Saturation vapor pressure\\ 
808           $F_\text{k}$ & = Effect of heat conduction & $F_\text{d}$ & = Effect of vapor diffusion
[973]809   \end{tabular}
810
811\end{frame}
812
[1532]813% Folie 17
[973]814\begin{frame}[t]
815   \frametitle{Theory of the Lagrangian Particle Model (VI)}
816   \footnotesize
[1532]817   \textbf{Simulation of Cloud Droplets (III)} -- Idealized concept of droplet collisions\\
[973]818   \begin{tikzpicture}[remember picture, overlay]
[1532]819      \node [shift={(6.0cm,4.0cm)}]  at (current page.south west)
[973]820         {%
821         \begin{tikzpicture}[remember picture, overlay]
[1532]822            \node at (0.0,0.0) {\includegraphics[scale=0.25]{particle_model_figures/collision1.png}};
[973]823         \end{tikzpicture}
824         };
825   \end{tikzpicture}     
826\end{frame}
827
[1532]828% Folie 18
[973]829\begin{frame}[t]
830   \frametitle{Theory of the Lagrangian Particle Model (VII)}
831   \footnotesize
832   \textbf{Simulation of Cloud Droplets (IV)}\\
833   \scriptsize   
834   \begin{itemize}
[1532]835      \item Calculation of droplet growth due to collisions considers three types of collisions:
836      \vspace{-0.4cm}
837      \begin{enumerate}
838      \scriptsize
839          \item collisions with smaller droplets $\Rightarrow$ increase the radius
840          \item collisions with larger droplets $\Rightarrow$ decrease the weighting factor
841          \item internal collisions $\Rightarrow$ decrease the weighting factor and increase the radius
842      \end{enumerate}
[1515]843      \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}$:
[973]844         \scriptsize
[1515]845\begin{alignat*}{3}
846A_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\\
847 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 \\
848&  && \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}
849\end{alignat*}
850\end{itemize}
[973]851\end{frame}
852
[1532]853% Folie 19
[973]854\begin{frame}[t]
[1532]855   \frametitle{Theory of the Lagrangian Particle Model (VIII)}
[973]856   \footnotesize
[1532]857   \textbf{Simulation of Cloud Droplets (V)}\\
[973]858   \begin{itemize}
[1532]859      \item \textbf{Collision kernel without turbulence effects}:\\
[973]860      \vspace{1mm}
[1532]861      $K(r_\text{n}, r_\text{m}) = \pi(r_\text{n} + r_\text{m})^2 \cdot E(r_\text{n}, r_\text{m}) \cdot [ u(r_\text{n}) - u(r_\text{m})]$\\
[973]862      \vspace{3mm}
[1532]863      \item \textbf{Collision kernel with turbulence effects} \\
864      (Ayala et al., 2008, NJP; \\
865      Wang and Grabowski, 2009, ASL):\\
[973]866      \vspace{1mm}
[1532]867      $K(r_\text{n}, r_\text{m}) = 2 \pi (r_\text{n} + r_\text{m})^2 \cdot \textcolor{red}{\eta_E} E(r_\text{n}, r_\text{m}) \cdot \textcolor{red}{\langle| w_r |\rangle} \textcolor{red}{g_\text{RDF}} $\\
868      \vspace{+1mm}
869      all \textcolor{red}{red} variables parameterize effects of turbulence
870            \vspace{3mm}
[973]871   \end{itemize}
872    \begin{tabular}{ll}
[1532]873           $\eta_E$ & = turbulent enhancement of collision efficiency \\
874           $E$ & = collision efficiency (Hall, 1980, JAS)\\
[1515]875      $\langle| w_r |\rangle$ & = radial relative velocity \\
[1532]876      $g_\text{RDF}$ & = radial distribution function
[973]877   \end{tabular}
878
879   \begin{tikzpicture}[remember picture, overlay]
[1532]880      \node [shift={(11.2 cm,6.5cm)}]  at (current page.south west)
[973]881         {%
882         \begin{tikzpicture}[remember picture, overlay]
[1532]883            \node (pic1) at (0.0,0.0) {\includegraphics[scale=0.48]{particle_model_figures/shaw.pdf}};
884            \node[below=0.0cm of pic1] {(Shaw, 2003)};
[973]885         \end{tikzpicture}
886         };
887   \end{tikzpicture} 
888   
889   \begin{tikzpicture}[remember picture, overlay]
890      \node [shift={(11.25 cm,3.0cm)}]  at (current page.south west)
891         {%
892         \begin{tikzpicture}[remember picture, overlay]
893            \node (pic2) at (0.0,0.0) {\includegraphics[scale=0.30]{particle_model_figures/malinowski.png}};
[1532]894            \node[below=0.0cm of pic2] {(Malinowski, 2010)};
[973]895         \end{tikzpicture}
896         };
897   \end{tikzpicture} 
898\end{frame}
899
900\section{Implementation}
901\subsection{Implementation}
902
[1532]903% Folie 20
904\begin{frame}[fragile]
905   \frametitle{The Data Type Used for Particles}
906   \small
907   \begin{itemize}
908      \item Particles are stored in a FORTRAN derived data type
909      \item A derived data type consists of several elements, which can be accessed by the \texttt{\%} operator
910   \end{itemize}
911   \vspace{-0.1cm}
912   \tikzstyle{yellow} = [rectangle, draw, fill=yellow!30, text width=1.0\textwidth, font=\scriptsize,scale=1.0]
913   \begin{tikzpicture}
914   \node [yellow] {\begin{lstlisting} 
915    TYPE particle_type
916        SEQUENCE
917        REAL(wp)     ::  radius, age, age_m, dt_sum,      &
918                         dvrp_psize, e_m,                 &
919                         origin_x, origin_y, origin_z,    &
920                         rvar1, rvar2, rvar3,             &
921                         speed_x, speed_y, speed_z,       &
922                         weight_factor, x, y, z
923        INTEGER(iwp) ::  class, group, tailpoints, tail_id
924        LOGICAL      ::  particle_mask
925        INTEGER(iwp) ::  block_nr
926    END TYPE particle_type
927\end{lstlisting}
928   };
929   \end{tikzpicture}
930   \vspace{-0.6cm}
931   \begin{itemize}
932      \item Example: \texttt{TYPE(particle\_type) :: particle}\\
933      \hspace{1.5cm}\texttt{particle\%radius = 1.0E-6}
934   \end{itemize}
935\end{frame}
936
937
938% Folie 21
939\begin{frame}[fragile]
940   \frametitle{Storing Lagrangian particles (I)}
941   \begin{itemize}
942   \item Handling hundreds of millions of particles, efficient storing is essential for a good performance
943   \item The easiest method for storing Lagrangian particles is an one-dimensional array
944   \item Most applications demand particles located at a certain location (e.\,g., collision process is computed for all particles located in a certain grid box)
945      \item Finding this particles demands \texttt{N}$^2$ operations:
946      \scriptsize
947\begin{lstlisting}
948DO  n = 1, N
949   DO  k = 1, N
950      IF ( k /= n )  THEN
951         IF ( ABS( particles(k)%x - particles(n)%x )   &
952              < threshold )  THEN
953            ...
954         ENDIF
955      ENDIF
956   ENDDO
957ENDDO
958\end{lstlisting}
959   \end{itemize}
960\end{frame}
961
962% Folie 22
963\begin{frame}[fragile]
964   \frametitle{Storing Lagrangian particles (I)}
965   \begin{itemize}
966      \item Sorting the particles by their respective grid-box reduces the operations to \texttt{N}:
967         \scriptsize
968\begin{lstlisting}
969DO  n = n_start(k,j,i), n_end(k,j,i)
970   ...
971ENDDO
972\end{lstlisting}
973\normalsize
974\item This was done in the previous version of PALM, reducing CPU time of LPM by 9.6\,\%
975\item However, sorting increases CPU time and demands a second, one-dimensional array for efficient sorting
976\item<2-> To overcome these issues, a new approach has been developed for the current version of PALM: \\
977\begin{center}
978\textbf{a four-dimensional array}
979\end{center}
980   \end{itemize}
981\end{frame}
982
983
984% Folie 23
985\begin{frame}[t]
986   \frametitle{Storing Lagrangian particles (III)}
987   \small
988   \begin{tikzpicture}[scale=0.6]
989      \definecolor{darkgreen}{rgb}{0.2,0.7,0.2}
990     
991      % Coordinates
992      \coordinate (OL) at (-4,4);     
993      \coordinate (OC) at (0,4);
994      \coordinate (OR) at (4,4);
995      \coordinate (ML) at (-4,0);
996      \coordinate (MC) at (0,0);
997      \coordinate (MR) at (4,0);
998      \coordinate (UL) at (-4,-4);     
999      \coordinate (UC) at (0,-4);
1000      \coordinate (UR) at (4,-4);
1001     
1002      \coordinate (OL2) at (-2,2);
1003      \coordinate (OR2) at (2,2);
1004      \coordinate (UR2) at (2,-2);
1005      \coordinate (UL2) at (-2,-2);
1006     
1007      \coordinate (P1) at (-1,1);
1008      \coordinate (P2) at (1.8,-1.3);
1009      \coordinate (P3) at (0.4,-0.9);
1010      \coordinate (P4) at (1,0.7);
1011      \coordinate (P5) at (-1.3,-1.4);
1012      \coordinate (P6) at (-1.8,1.6);
1013      \coordinate (part_box) at (6,2);
1014   
1015      % Draw Boxes
1016      \draw[-] (OL) -- (OR) -- (UR) -- (UL) -- cycle;
1017      \draw[-] (OC) -- (UC);
1018      \draw[-] (ML) -- (MR);     
1019      \draw[-,dashed] (OL2) -- (OR2) -- (UR2) -- (UL2) -- cycle;
1020     
1021      \draw[-, thick] (MC) -- (part_box);
1022     
1023      % Draw dots
1024      \node[circle, draw, fill, color=black, ultra thick, scale=0.3] at (OL) {};     
1025      \node[circle, draw, fill, color=black, ultra thick, scale=0.3] at (OC) {};
1026      \node[circle, draw, fill, color=black, ultra thick, scale=0.3] at (OR) {};
1027      \node[circle, draw, fill, color=black, ultra thick, scale=0.3] at (ML) {};
1028      \node[circle, draw, fill, color=black, ultra thick, scale=0.3] at (MC) {};
1029      \node[circle, draw, fill, color=black, ultra thick, scale=0.3] at (MR) {};
1030      \node[circle, draw, fill, color=black, ultra thick, scale=0.3] at (UL) {};
1031      \node[circle, draw, fill, color=black, ultra thick, scale=0.3] at (UC) {};
1032      \node[circle, draw, fill, color=black, ultra thick, scale=0.3] at (UR) {};
1033
1034      \uncover<1>{\node[circle, draw, fill, color=red, ultra thick, scale=0.5] at (P1) {};}
1035      \uncover<1-2>{\node[circle, draw, fill, color=yellow, ultra thick, scale=0.5] at (P2) {};}
1036      \uncover<1-3>{\node[circle, draw, fill, color=green, ultra thick, scale=0.5] at (P3) {};}
1037      \uncover<1-4>{\node[circle, draw, fill, color=blue, ultra thick, scale=0.5] at (P4) {};}
1038      \uncover<1-5>{\node[circle, draw, fill, color=violet, ultra thick, scale=0.5] at (P5) {};}
1039      \uncover<1-6>{\node[circle, draw, fill, color=magenta, ultra thick, scale=0.5] at (P6) {};}
1040     
1041      \node[yshift=6.0, xshift=-15.0] at (OL) {\tiny \texttt{i-1,j+1}};
1042      \node[yshift=6.0, xshift=-15.0] at (OC) {\tiny \texttt{i,j+1}};
1043      \node[yshift=6.0, xshift=-15.0] at (OR) {\tiny \texttt{i+1,j+1}};
1044      \node[yshift=6.0, xshift=-15.0] at (ML) {\tiny \texttt{i-1,j}};
1045      \node[yshift=6.0, xshift=-15.0] at (MC) {\tiny \texttt{i,j}};
1046      \node[yshift=6.0, xshift=-15.0] at (MR) {\tiny \texttt{i+1,j}};
1047      \node[yshift=6.0, xshift=-15.0] at (UL) {\tiny \texttt{i-1,j-1}};
1048      \node[yshift=6.0, xshift=-15.0] at (UC) {\tiny \texttt{i,j-1}};
1049      \node[yshift=6.0, xshift=-15.0] at (UR) {\tiny \texttt{i+1,j-1}};
1050     
1051     
1052      % draw particle box
1053      \node at (part_box) [scale=1.0] {%
1054      \begin{tikzpicture}
1055         \draw[-, thick, fill=white] (-0.2,0.2) -- (0.2,0.2) -- (0.2,-1.7) -- (-0.2,-1.7) -- cycle;
1056         \uncover<2->{\node[circle, draw, fill, color=red, ultra thick, scale=0.5] at (0,0) {};}
1057         \uncover<3->{\node[circle, draw, fill, color=yellow, ultra thick, scale=0.5] at (0,-0.3) {};}
1058         \uncover<4->{\node[circle, draw, fill, color=green, ultra thick, scale=0.5] at (0,-0.6) {};}
1059         \uncover<5->{\node[circle, draw, fill, color=blue, ultra thick, scale=0.5] at (0,-0.9) {};}
1060         \uncover<6->{\node[circle, draw, fill, color=violet, ultra thick, scale=0.5] at (0,-1.2) {};}
1061         \uncover<7->{\node[circle, draw, fill, color=magenta, ultra thick, scale=0.5] at (0,-1.5) {};}
1062         
1063      \end{tikzpicture}
1064      };
1065     
1066      \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 their grid-box\\
1067      \ \\
1068      - LPM CPU time decreases by 22\,\%\\
1069      \ \\
1070      - Available memory doubles, since no large additional arrays are needed for assigning the particles to their grid-box\\};}
1071   \end{tikzpicture}
1072
1073\end{frame}
1074
[973]1075% Folie 24
[1532]1076\begin{frame}[fragile]
1077   \frametitle{Storing Lagrangian particles (IV)}
1078   \scriptsize
1079   \begin{itemize}
1080   \item A new \textbf{3D-array} of another FORTRAN derived data type: \texttt{grid\_particle\_def}
1081   \item This type contains, as an element, a \textbf{1D-array} of the FORTRAN derived data type \texttt{particle\_type}, in which the particles, located at that grid box, are stored
1082   \end{itemize}
1083   \tikzstyle{yellow} = [rectangle, draw, fill=yellow!30, text width=1.05\textwidth, font=\scriptsize,scale=0.95]
1084   \begin{tikzpicture}
1085   \node[yellow]{\begin{lstlisting} 
1086 TYPE  grid_particle_def
1087     TYPE(particle_type), DIMENSION(:) ::  particles
1088 END TYPE grid_particle_def
1089
1090 TYPE(grid_particle_def), DIMENSION(:,:,:) ::  grid_particles
1091\end{lstlisting}
1092   };
1093   \end{tikzpicture}
1094   \vspace{-4mm}
1095   \begin{itemize}
1096   \item Particles can be accessed by the indices of their respective grid-box:
1097   \scriptsize
1098   \vspace{-2mm}
1099    \begin{lstlisting}
1100DO  i = nxl, nxr
1101  DO  j = nys, nyn
1102    DO  k = nzb+1, nzt
1103      n_par = prt_count(k,j,i)
1104      IF ( n_par <= 0 )  CYCLE
1105      particles(1:n_par) = &
1106        grid_particles(kp,jp,ip)%particles(1:n_par)
1107      DO  n = 1, n_par
1108        particles(n)%radius = 1.0E-6
1109      ENDDO
1110      :
1111\end{lstlisting}
1112%    ENDDO
1113%  ENDDO
1114%ENDDO
1115%\end{lstlisting}
1116      \end{itemize}
1117   
1118\end{frame}
1119
1120
1121% Folie 25
1122\begin{frame}[fragile]
1123   \frametitle{How to Read Particle Data from an External Program}
1124   \scriptsize
1125   \begin{itemize}
1126      \item An example program for reading \texttt{PARTICLE\_DATA} can be found in the PALM repository under \texttt{...../trunk/UTIL/analyze\underline{ }particle\underline{ }data.f90}
1127     \item For the format \texttt{PARTICLE\_DATA} see beginning of subroutine \texttt{lpm\_data\_output\_particles} (one file per PE, i.e. filenames \underline{ }0000, \underline{ }0001, etc.)
1128   \end{itemize}
1129   \tikzstyle{yellow} = [rectangle, draw, fill=yellow!30, text width=1.05\textwidth, font=\scriptsize,scale=1.0]
1130   \begin{tikzpicture}
1131   \node [yellow] {\begin{lstlisting} 
1132WRITE ( 85 )  simulated_time
1133WRITE ( 85 )  prt_count
1134         
1135DO  ip = nxl, nxr
1136  DO  jp = nys, nyn
1137    DO  kp = nzb+1, nzt
1138      n_par = prt_count(kp,jp,ip)
1139      particles(1:n_par) = &
1140        grid_particles(kp,jp,ip)%particles(1:n_par)
1141      IF ( n_par <= 0 )  CYCLE
1142      WRITE ( 85 )  particles
1143    ENDDO
1144  ENDDO
1145ENDDO
1146\end{lstlisting}
1147   };
1148   \end{tikzpicture}
1149\end{frame}
1150
1151% Folie 26
[973]1152\begin{frame}
1153   \frametitle{Flow Chart of Particle Code (I)}
1154   \footnotesize
1155   \begin{tikzpicture}[scale=0.8, transform shape]
1156      % Define colours
1157      \tikzstyle{gelb1} = [draw, fill=yellow!60, text width=7em, text centered, minimum height=1.6em]
1158      \tikzstyle{orange} = [draw, fill=orange!60, text width=7em, text centered]
1159     
1160      % Define coordinates and draw nodes     
1161      \node[gelb1, text width=5em] (PALM) at (0,0.1) {PALM};
1162
1163      \coordinate (A) at (0,-0.7);
1164
1165      \node[gelb1, right=0.6cm of A] (init3d) {init\underline{ }3d\underline{ }model};
1166     
1167      \coordinate[below=0.4cm of init3d] (B) ;
1168      \coordinate[below=1.0cm of init3d] (C) ;       
1169      \coordinate[below=1.6cm of init3d] (D) ;       
1170      \coordinate[below=2.2cm of init3d] (E) ;       
1171      \coordinate[below=2.8cm of init3d] (F) ;       
1172      \coordinate[below=4.2cm of init3d] (G) ;     
1173      \coordinate[below=4.8cm of init3d] (H) ;     
[1515]1174      \coordinate[below=6cm of init3d] (I) ;   
1175      \coordinate (J) at (0,-8);
[973]1176           
1177      \node[gelb1, right=0.5cm of B, text width=17em] (init1d) {init\underline{ }1d\underline{ }model (\textit{calls various subroutines})};
1178      \node[gelb1, right=0.5cm of C] (initslope) {init\underline{ }slope};
1179      \node[gelb1, right=0.5cm of D] (disturb) {disturb\underline{ }heatflux};
1180      \node[gelb1, right=0.5cm of E] (initrankine) {init\underline{ }rankine};
1181      \node[gelb1, right=0.0cm of initrankine] {init\underline{ }pt\underline{ }anomaly};
1182      \node[gelb1, right=0.5cm of F] (disturbfield) {disturb\underline{ }field};
1183      \node[gelb1, right=0.0cm of disturbfield] (pres) {pres};
1184      \node[gelb1, right=0.5cm of G] (read3d) {read\underline{ }3d\underline{ }binary};
1185      \node[gelb1, right=0.0cm of read3d] (initdvrp) {init\underline{ }dvrp};
1186      \node[gelb1, right=0.0cm of initdvrp] (initocean) {init\underline{ }ocean};
1187      \node[gelb1, right=0.0cm of initocean] {init\underline{ }cloud\underline{ }physics};           
1188      \node[orange, right=0.5cm of H] (initparticles) {lpm\underline{ }init};     
1189      \node[gelb1, right=0.5cm of I] (initadvec) {init\underline{ }advec};     
1190      \node[gelb1, right=0.0cm of initadvec] (userinit) {user\underline{ }init};
1191      \node[gelb1, right=0.6cm of J] (dataoutput2d) {data\underline{ }output\underline{ }2d};     
1192      \node[gelb1, right=0.0cm of dataoutput2d] {data\underline{ }output\underline{ }3d};         
1193
1194      \coordinate[below=0.15cm of pres] (K);
1195      \coordinate[right=0.2cm of K] (L);
1196      \coordinate[right=2cm of L] (M);
1197      \coordinate[right=2cm of M] (N);
1198           
1199      \node[gelb1, below=0.1cm of L, text width=4em] (poisfft) {poisfft};
1200      \node[gelb1, below=0.1cm of M, text width=4em] (sor) {sor};
1201      \node[gelb1, below=0.1cm of N, text width=4em] (poismg) {poismg};
1202     
1203      \coordinate[below=0.1cm of initparticles] (O);
1204     
1205      \node[orange, right=1.5cm of O] (userinitparticles) {user\underline{ }lpm\underline{ }init};
[1515]1206   
[973]1207      % Draw lines 
1208      \draw[dotted, thick] (PALM) -- (0,-0.5);
1209      \draw[-, thick] (0,-0.5) -- (0,-8.7);
1210      \draw[dotted, thick] (0,-8.7) -- (0,-9.0);     
1211      \draw[-, thick] (init3d.west) -- (A) ;
1212      \draw[-, thick] (init3d.south) -- (I) ;
1213      \draw[dashed, thick] (B) -- (init1d.west);
1214      \draw[dashed, thick] (C) -- (initslope.west);
1215      \draw[dashed, thick] (D) -- (disturb.west);
1216      \draw[dashed, thick] (E) -- (initrankine.west);
1217      \draw[dashed, thick] (F) -- (disturbfield.west);
1218      \draw[dashed, thick] (G) -- (read3d.west);     
1219      \draw[-, thick] (H) -- (initparticles.west);     
1220      \draw[-, thick] (I) -- (initadvec.west);         
1221      \draw[dashed, thick] (J) -- (dataoutput2d);     
1222      \draw[-, thick] (pres.south) -- (K);
1223      \draw[-, thick] (K) -- (N);
1224      \draw[-, thick] (L) -- (poisfft.north);
1225      \draw[-, thick] (M) -- (sor.north);     
1226      \draw[-, thick] (N) -- (poismg.north);       
[1515]1227      \draw[-, thick] (initparticles.south) -- (O);
[973]1228      \draw[-, thick] (O) -- (userinitparticles.west);
1229     
1230   \end{tikzpicture}
1231   
1232   
1233\end{frame}
1234
[1532]1235% Folie 27
[973]1236\begin{frame}
1237   \frametitle{Flow Chart of Particle Code (II)}
1238   \footnotesize
1239   \begin{tikzpicture}[scale=0.8, transform shape]
1240      % Define colours
1241      \tikzstyle{gelb1} = [draw, fill=yellow!60, text width=7em, text centered, minimum height=1.6em]
1242      \tikzstyle{orange} = [draw, fill=orange!60, text width=7em, text centered]
1243     
1244      % Define coordinates and draw nodes
1245      \coordinate (A) at (0,-0.7);
1246
1247      \node[gelb1, right=0.6cm of A] (timeintegration) {time\underline{ }integration};
1248     
1249      \coordinate[below=0.3 of timeintegration] (B);
1250      \coordinate[below=0.9 of timeintegration] (C);
1251     
1252      \node[gelb1, right=0.6cm of B] (timestep) {timestep};
1253      \node[gelb1, right=0.6cm of C] (runcontrol) {run\underline{ }control};
1254     
1255      \coordinate[below=0.2cm of runcontrol] (D);
1256     
1257      \node[gelb1, right=1.5cm of D] (flowstat) {flow\underline{ }statistics};
1258     
1259      \coordinate[below=1.8cm of timeintegration] (E);
1260     
1261      \node[gelb1, right=0.6cm of E] (surface) {surface\underline{ }coupler};
1262     
1263      \coordinate[below=2.4cm of timeintegration] (F);
1264       
1265      \node[gelb1, right=0.6cm of F, text width=13em] (useractions) {user\underline{ }actions (\textit{before\underline{ }timestep})};   
1266 
1267       \coordinate[below=3.0cm of timeintegration] (G);
1268       
1269      \node[gelb1, right=0.6cm of G, text width=11em] (timestepscheme) {timestep\underline{ }scheme\underline{ }steering};       
1270     
1271      \coordinate[below=3.5cm of timeintegration] (H);
[1532]1272      \coordinate[right=2.5cm of H] (I);
1273      \coordinate[right=4.25cm of I] (J);
[973]1274     
[1532]1275      \node[draw, text width=26em,minimum height=4.5em,fill=black!15] (progframe) at (6.5,-5.3) {};
1276      \node[draw, text width= 9.5em, right=0.3cm of progframe] {For details, see PALM Flow Chart (V).};
1277      \node[gelb1, below=0.3cm of I, text width=11.5em] (prog) {prognostic\underline{ }equations\underline{ }vector};     
1278      \node[gelb1, below=0.3cm of J, text width=11.5em] (progfast) {prognostic\underline{ }equations\underline{ }cache}
1279      \node[gelb1, below=0.1cm of progfast, text width=11.5em] (progvec) {prognostic\underline{ }equations\underline{ }acc};       
[973]1280     
1281      \coordinate[below=5.5cm of timeintegration] (K);
1282     
1283      \node[orange, right=0.6cm of K] (advecparticles) {lpm};             
1284     
1285      \coordinate[below=0.2cm of advecparticles] (L);
1286     
1287      \node[orange, right=1.5cm of L, text width=13em] (userparticlesatt) {user\underline{ }lpm\underline{ }set\underline{ }attributes + more};
1288     
1289      \coordinate[below=6.6cm of timeintegration] (M);
1290     
1291      \node[orange, right=0.6cm of M, text width=10em] (interaction) {interaction\underline{ }droplets\underline{ }ptq};     
1292
1293      \coordinate[below=7.2cm of timeintegration] (N);
[1532]1294           
1295      \coordinate[below=7.2cm of timeintegration] (O);
[973]1296     
1297      \node[gelb1, right=0.6cm of O] (boundary) {boundary\underline{ }conds};       
1298      \node[gelb1, right=0.0cm of boundary] {swap\underline{ }timelevel}
1299           
[1532]1300      \coordinate[below=7.8cm of timeintegration] (P);     
[973]1301     
1302      \node[gelb1, right=0.6cm of P] (inflow) {inflow\underline{ }turbulence};
1303      \node[gelb1, right=0.0cm of inflow] {disturb\underline{ }field};
1304                                                     
1305      % Draw lines 
1306      \draw[dotted, thick] (0,-0.3) -- (0,-0.7);
1307      \draw[-, thick] (0,-0.7) -- (0,-7.7);
1308      \draw[dotted, thick] (0,-7.7) -- (0,-9.0);     
1309      \draw[-, thick] (A) -- (timeintegration);
1310      \draw[-, thick] (B) -- (timestep);
1311      \draw[-, thick] (C) -- (runcontrol);
1312      \draw[-, thick] (runcontrol.south) -- (D);
1313      \draw[-, thick] (D) -- (flowstat);
1314      \draw[dashed, thick] (E) -- (surface);
1315      \draw[-, thick] (F) -- (useractions);     
1316      \draw[-, thick] (G) -- (timestepscheme);
1317      \draw[-, thick] (H) -- (I);
1318      \draw[-, thick] (I) -- (prog.north);
1319      \draw[-, thick, color=red] (I) -- (J);       
1320      \draw[->, thick, color=red] (J) -- (progfast.north);
1321      \draw[dashed, thick] (K) -- (advecparticles);           
1322      \draw[-, thick] (advecparticles.south) -- (L);           
1323      \draw[-, thick] (L) -- (userparticlesatt.west);       
[1532]1324      \draw[dashed, thick] (M) -- (interaction.west);       
[973]1325      \draw[-, thick] (O) -- (boundary.west); 
1326      \draw[dashed, thick] (P) -- (inflow.west);             
1327      \draw[-, thick] (timeintegration.south) -- (O); 
1328      \draw[dashed, thick] (O) -- (P); 
1329     
1330   \end{tikzpicture}   
1331   
1332\end{frame}
1333
[1532]1334% Folie 28
[973]1335\begin{frame}
1336   \frametitle{Detailed Flow Chart of \texttt{lpm} (I)}
1337   \scriptsize
1338   \begin{tikzpicture}[scale=0.87, transform shape]
1339      \node (0) at (0,0) {};
[1532]1340      {\node[draw, right=0.0cm of 0, , yshift=-0.2cm, text width=29em] {write particle data on file (subroutine \texttt{lpm\underline{ }data\underline{ }output\underline{ }particles})};}
1341      \uncover<1->{\node[draw, right=0.0cm of 0, yshift=-0.78cm] {calculate exponential terms for particles groups with inertia};}
[1515]1342      \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})};}
1343      \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})};}
1344      \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})};}
1345      \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})};}
[1532]1346      \uncover<1->{\node[draw, right=0.5cm of 0, yshift=-4.65cm, text width=36em] {for each particle:\\ - interpolate resolved velocities and compute SGS velocities\\ - calculate the particle advection (subroutine \texttt{lpm\underline{ }advec})};}
[1515]1347      \uncover<1->{\node[draw, right=0.5cm of 0, yshift=-5.55cm] {calculate particle reflection from walls (subroutine \texttt{lpm\underline{ }boundary\underline{ }conds})};}
1348      \uncover<1->{\node[draw, right=0.5cm of 0, yshift=-6.15cm] {user defined actions (subroutine \texttt{user\underline{ }lpm\underline{ }advec})};}     
1349      \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})};}
1350      \uncover<1->{\node[draw, right=0.5cm of 0, yshift=-7.36cm] {particle exchange between gridpoints (subroutine \texttt{lpm\underline{ }move\underline{ }particle})};}   
1351      \uncover<1->{\node[draw, right=0.5cm of 0, yshift=-7.9cm] {particle exchange between the subdomains (subroutine \texttt{lpm\underline{ }exchange\underline{ }horiz})};}   
[973]1352   \end{tikzpicture}
1353\end{frame}
1354
[1532]1355% Folie 29
[973]1356\begin{frame}
1357   \frametitle{Detailed Flow Chart of \texttt{lpm} (II)}
1358   \scriptsize
1359   \begin{tikzpicture}[auto, node distance=0]
1360      \node (0) at (0,0) {};
[1532]1361      \uncover<1->{\node[draw, right=0.5cm of 0, yshift=-0.7cm, text width=25em] {delete and sort particles\\ (subroutines \texttt{lpm\_pack\_all\_arrays})};} 
[973]1362      \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})};}
1363      \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})};}
[1515]1364      \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})}}   
[973]1365   \end{tikzpicture}
1366\end{frame}
1367
1368\section{Application Example}
1369\subsection{Application Example}
1370
1371% Folie 30
1372\begin{frame}[t]
[1532]1373   \frametitle{Application Examples of the LCM (I)}
[973]1374   \footnotesize
[1532]1375   \textbf{The Lagrangian Cloud Model has many advantages:}
[973]1376   \begin{itemize}
[1532]1377      \item Dynamics and microphysics of the cloud are directly related to physical processes of the individual droplets
1378      \item Many microphysical processes are modeled by first principles \\
1379      $\Rightarrow$ (almost) no parameterizations
1380      \item The LCM provides detailed information, e.\,g., spatial and temporal evolution of the droplet spectrum, spatial distribution of the droplet concentration, droplet trajectories, ...
[973]1381   \end{itemize}
[1532]1382      \textbf{How to use these advantages?}
[973]1383   \begin{itemize}
[1532]1384      \item Many cloud microphysical processes are still not sufficiently understood, but have a large impact on macroscopic cloud properties
1385      \item Open Issues: production of rain, interaction of clouds and aerosols, ...
1386      \item Using the LCM, we are able to simulate cloud microphysics on a very accurate level, but are also able to cope the macroscale, i.\,e., the whole cloud or cloud ensemble\\
1387      $\Rightarrow$ \textbf{new insights on clouds and their physics}
[973]1388   \end{itemize}
[1515]1389   \vspace{1.5mm}
[973]1390\end{frame}
1391
[1532]1392% Folie 31
[973]1393\begin{frame}[t]
[1532]1394   \frametitle{Application Examples of the LCM (II)}
[973]1395   \footnotesize
[1532]1396   \textbf{From Riechelmann et al. (2012, NJP):}
[973]1397      \begin{tikzpicture}[remember picture, overlay]
1398      \node [shift={(6.3 cm, 4.2 cm)}]  at (current page.south west)
1399         {%
1400         \begin{tikzpicture}[remember picture, overlay]
1401            \node at (0.0,0.0) {\includegraphics[scale=0.4]{particle_model_figures/turbulence_effects_2.png}};
1402            \node at (-3.0,2.6) {Kernel without turbulence effects};
1403            \node at (3,2.6) {Kernel with turbulence effects};
1404
1405         \end{tikzpicture}
1406         };
1407   \end{tikzpicture}
1408   \ \\ 
[1532]1409   \vspace{52mm}
[973]1410   $\rightarrow$ Turbulence effects enhance droplet growth and lead to more realistic mass distribution function\\
1411\end{frame}
1412
[1532]1413% Folie 32
1414\begin{frame}[t]
1415   \frametitle{Application Examples of the LCM (III)}
1416   \footnotesize
1417      \textbf{From Lee et al. (2014, MAP):}
1418   \begin{center}
1419   \includegraphics[scale=0.25]{particle_model_figures/lee.jpg}
1420   \end{center}
1421   $\rightarrow$ Confirm the importance of the cloud top and the affiliated mixing processes for the initiation of rain
1422\end{frame}
1423
1424% Folie 33
1425\begin{frame}[t]
1426   \frametitle{Application Examples of the LCM (IV)}
1427   \footnotesize
1428      \textbf{From Hoffmann et al. (2015, AR):}
1429   \begin{center}
1430   \includegraphics[scale=0.25]{particle_model_figures/hoffmann.jpg}
1431   \end{center}
1432   $\rightarrow$ \textcolor{blue}{Laterally entrained aerosols} contribute about two-thirds to the activation above cloud base
1433\end{frame}
1434
1435% Folie 34
[973]1436\begin{frame}
1437   \frametitle{General Warning}
1438   \begin{itemize}
1439      \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.
1440   \end{itemize}
1441\end{frame}
1442
1443\end{document}
Note: See TracBrowser for help on using the repository browser.