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

Last change on this file since 1653 was 1634, checked in by hoffmann, 9 years ago

updated tutorial on Lagrangian particles

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