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

Last change on this file since 1093 was 973, checked in by maronga, 12 years ago

tutorial updates

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