slides.tex (11976B)
1 \documentclass[aspectratio=169,xcolor=table]{beamer} 2 \usepackage{polyglossia} 3 \setdefaultlanguage{english} 4 \usetheme{SaintPetersburg} 5 6 \usepackage{booktabs} 7 \usepackage{amsmath} 8 \usepackage{spbu-slides} 9 10 \tikzset{Arrow/.style={ 11 solid, 12 arrows={-Triangle[length=0.15cm,width=0.100cm]}, 13 draw=spbuDarkGray 14 }}% 15 16 \tikzset{Dots/.style={ 17 draw=spbuDarkGray, 18 line cap=round, dash pattern=on 0pt off 4\pgflinewidth 19 }}% 20 \setbeamertemplate{itemize items}[circle] 21 22 % metadata 23 \usepackage{textcomp} 24 \usepackage{hyperxmp} 25 \hypersetup{ 26 pdfcontactemail={i.gankevich@spbu.ru}, 27 pdfcontacturl={http://www.apmath.spbu.ru/en/staff/gankevich/index.html}, 28 pdfcontactaddress={Unversitetskii prospekt 35}, 29 pdfcontactcity={Petergof}, 30 pdfcontactregion={Saint Petersburg}, 31 pdfcontactpostcode={198504}, 32 pdfcontactcountry={Russia}, 33 pdflang={en}, 34 pdfmetalang={en}, 35 pdflicenseurl={http://creativecommons.org/licenses/by-sa/4.0/}, 36 pdfcopyright={Copyright \textcopyright{} 2020 Anton Gavrikov\xmpcomma{} Alexander Degtyarev\xmpcomma{} Denis Egorov\xmpcomma{} Ivan Gankevich\xmpcomma{} Artemii Grigorev\xmpcomma{} Vasily Khramushin\xmpcomma{} Ivan Petriakov}, 37 pdfsubject={Virtual Testbed: Simulation of air flow around ship hull and its effect 38 on ship motions}, 39 } 40 41 \newcommand{\VectorR}[1]{\left[\begin{array}{r}#1\end{array}\right]} 42 \newcommand{\VectorL}[1]{\left[\begin{array}{l}#1\end{array}\right]} 43 \newcommand{\Length}[1]{\big|#1\big|} 44 45 \title{Virtual Testbed: Simulation of air flow around ship hull and its effect 46 on ship motions} 47 \author{% 48 A.\:Gavrikov \and 49 A.\:Degtyarev \and 50 D.\:Egorov \and 51 I.\:Gankevich\textsuperscript{*} \and 52 A.\:Grigorev \and 53 V.\:Khramushin \and 54 I.\:Petriakov% 55 } 56 \institute{Saint Petersburg State University} 57 \date{July 2020} 58 59 \begin{document} 60 61 \frame{\maketitle} 62 63 \begin{frame}{Motivation} 64 Ship motion simulators either 65 \begin{itemize} 66 \item do not model air flow or 67 \item model it using slow solvers. 68 \end{itemize} 69 \vfill 70 We want to 71 \begin{itemize} 72 \item take air flow around the ship into account, 73 \item have high-performance solver. 74 \end{itemize} 75 \end{frame} 76 77 \begin{frame}{Governing system of equations} 78 Continuity and motion equation for ideal fluid 79 \begin{columns} 80 \begin{column}{0.45\textwidth} 81 \begin{equation*} 82 \begin{aligned} 83 & \Delta\phi = 0; \qquad \vec\upsilon=\vec\nabla\phi; \\ 84 & \rho\frac{\partial\phi}{\partial{}t} + 85 \frac{1}{2}\rho\Length{\vec\nabla\phi}^2 + 86 p + \rho g z = p_0 87 \end{aligned} 88 \end{equation*} 89 \end{column} 90 \begin{column}{0.45\textwidth} 91 \scriptsize 92 \begin{tabular}{ll} 93 \(p_0\) & atmospheric pressure \\ 94 \(g\) & gravitational acceleration \\ 95 \(\rho\) & air density \\ 96 \(p\) & pressure \\ 97 \(\phi\) & velocity potential \\ 98 \(\vec\upsilon\) & velocity \\ 99 \end{tabular} 100 \end{column} 101 \end{columns} 102 \vfill 103 Ship hull boundary condition 104 \begin{columns} 105 \begin{column}{0.45\textwidth} 106 \begin{equation*} 107 \vec\nabla\phi\cdot\vec{n} = 0; 108 \qquad 109 \vec{r} = \vec{S} 110 \end{equation*} 111 \end{column} 112 \begin{column}{0.45\textwidth} 113 \scriptsize 114 \begin{equation*} 115 \begin{aligned} 116 & \vec{r} = \left(x,y,z\right) \\ 117 & \vec{S}=\vec{S}\left(a,b,t\right); \quad a,b\in{}A=[0,1]; 118 \quad \vec{n}=\frac{\partial\vec S}{\partial a}\!\times\!\frac{\partial\vec S}{\partial b} 119 \end{aligned} 120 \end{equation*} 121 \end{column} 122 \end{columns} 123 \end{frame} 124 125 \begin{frame}{The solution for uniform translational motion} 126 The law of reflection\newline 127 \vskip\baselineskip 128 \begin{center} 129 \begin{tikzpicture}[x=1mm,y=1mm] 130 \draw plot [smooth] coordinates 131 {(9.673,28.585) (17.173,35.433) (21.194,36.020) (27.064,35.433) (32.172,24.129)}; 132 \node at (20,30) {\tiny{}ship hull}; 133 \path[Arrow] (16.194,41.020) -- (21.194,36.020) {}; 134 \draw[Dots] (11.194,46.020) -- (21.194,36.020) {}; 135 \node[left] at (11.194,46.020) {\tiny{}incident air particle trajectory}; 136 \node[left] at (16.194,41.020) {\(\vec\upsilon_{\phantom{r}}\)}; 137 \path[Arrow] (21.194,36.020) -- (26.194,41.020) {}; 138 \draw[Dots] (21.194,36.020) -- (31.194,46.020) {}; 139 \node[right] at (31.194,46.020) {\tiny{}reflected air particle trajectory}; 140 \node[right] at (26.194,41.020) {\(\vec\upsilon_r = 141 \vec\upsilon - 2\left(\vec\upsilon\cdot\vec{n}\right)\vec{n}\)}; 142 \path[Arrow] (21.194,36.020) -- (21.194,41.020) {}; 143 \node[above] at (21.194,41.020) {\(\vec{n}\)}; 144 \end{tikzpicture} 145 \end{center} 146 \vfill 147 The solution \emph{on} the boundary 148 \begin{equation*} 149 \phi = \vec\upsilon\cdot\vec{r} + C \left(\vec\upsilon_r\cdot\vec{r}\right) 150 \qquad\Rightarrow\qquad 151 \vec\nabla\phi = \vec\upsilon + C\vec\upsilon_r = 152 \vec\upsilon + \vec\upsilon_r 153 \qquad 154 \text{\tiny{}(full derivation is in the paper)} 155 \end{equation*} 156 The solution \emph{near} the boundary 157 \begin{equation*} 158 \vec\nabla\phi = 159 \vec\upsilon + 160 \iint\limits_{a,b\,\in{}A} 161 \left( 162 \frac{1}{s} \vec\upsilon_r 163 - \frac{2}{s^2} \left(\vec\upsilon_r\cdot\vec{r}\right) \left(\vec{r}-\vec{S}\right) 164 \right) 165 da\,db; 166 \qquad 167 s = 1+\Length{\vec{r}-\vec{S}}^2. 168 \end{equation*} 169 \end{frame} 170 171 \begin{frame}{Verification using potential flow around a cylinder} 172 \centering 173 \begin{tikzpicture}[x=1cm,y=-1.2cm] 174 \node[text width=4.4cm,fill=spbuWhite2] (s1) at (0,0) {{\tiny{}Known solution in Cartesian form\strut{}}\newline \(\phi(x,y) = U x \left(1 + \frac{R^2}{x^2+y^2}\right)\)}; 175 \node[text width=3.25cm,fill=spbuWhite2] (s2) at (8,0.5) {{\tiny{}Velocity on the boundary}\newline\(\vec\nabla\phi = \frac{2 U}{R^2}\VectorR{y^2 \\ -x y\phantom{^2}}\)}; 176 \node[text width=4.4cm,fill=spbuWhite2] (s3) at (0,1) {{\tiny{}Our solution\strut{}}\newline\(\phi = \vec\upsilon\cdot\vec{r} + \vec\upsilon_r\cdot\vec{r}\)}; 177 \node at (8,1.25) {\tiny{}(full derivation is in the paper)}; 178 \path[Arrow] (s1.east) -- node[above]{\tiny{}\(x^2+y^2=R^2\)} (s1.east -| s2.west) ; 179 \path[Arrow] (s3.east) -- node[below]{\tiny{}\(\vec{n}=(x/R,y/R)\), \(\vec\upsilon=(U,0)\)} (s3.east -| s2.west) ; 180 \end{tikzpicture} 181 \vfill 182 \begin{columns} 183 \begin{column}{0.32\textwidth} 184 \centering 185 Known solution 186 \includegraphics{build/gnuplot/cylinder-1.eps} 187 \end{column} 188 \begin{column}{0.32\textwidth} 189 \centering 190 Our solution 191 \includegraphics{build/gnuplot/cylinder-2.eps} 192 \end{column} 193 \begin{column}{0.32\textwidth} 194 \footnotesize 195 \begin{itemize} 196 \item Two solutions are equivalent \emph{on} the boundary! 197 \item Max. difference near the boundary is 11\% of maximum velocity. 198 \end{itemize} 199 \end{column} 200 \end{columns} 201 \end{frame} 202 203 \begin{frame}{Ship roll angle and velocity} 204 \begin{columns} 205 \begin{column}{0.25\textwidth} 206 \centering 207 Roll angle 208 \includegraphics{build/gnuplot/ship-roll.eps} 209 \end{column} 210 \begin{column}{0.25\textwidth} 211 \centering 212 Velocity 213 \includegraphics{build/gnuplot/ship-velocity.eps} 214 \end{column} 215 \begin{column}{0.45\textwidth} 216 \footnotesize 217 \begin{itemize} 218 \item 219 We need \(\approx{}35\) m/s wind (a hurricane!) to produce 1\textdegree{} static roll angle. 220 \item We need to introduce reflection ratio \(\alpha\) for symmetric ships: 221 \begin{equation*} 222 \vec\upsilon_r = \vec\upsilon - 223 2 \alpha \left(\vec\upsilon\cdot\vec{n}\right)\vec{n} 224 \end{equation*} 225 \begin{tabular}{ll} 226 \(\alpha=0\) & no reflection \\ 227 \(\alpha=1\) & full reflection \\ 228 \end{tabular} 229 \end{itemize} 230 \includegraphics[scale=0.5]{build/gnuplot/aurora.eps} 231 \end{column} 232 \end{columns} 233 \end{frame} 234 235 \begin{frame}{Performance benchmarks in Virtual Testbed} 236 \small 237 Average time in milliseconds that is needed to compute wind field on the 238 ship hull and near the ship hull. 239 \vfill 240 \begin{tabular}{l@{\hskip 3mm}r@{\hskip 2mm}r@{\hskip 3mm}r@{\hskip 2mm}r@{\hskip 3mm}r@{\hskip 2mm}rl} 241 \toprule 242 & \multicolumn{2}{c}{Diogen} 243 & \multicolumn{2}{c}{Aurora} 244 & \multicolumn{2}{c}{MICW} \\ 245 \cmidrule(r){2-3} 246 \cmidrule(r){4-5} 247 \cmidrule(r){6-7} 248 Node & OpenMP & OpenCL 249 & OpenMP & OpenCL 250 & OpenMP & OpenCL \\ 251 \midrule 252 Duck 253 & 114 & 14.00 254 & 164 & 16 255 & 314 & 29 256 & laptop 257 \\ 258 GPUlab 259 & 62 & 1.35 260 & 90 & 2 261 & 175 & 3 262 & desktop 263 \\ 264 Capybara & 33 & 0.87 265 & 48 & 1 266 & 99 & 6 267 & server 268 \\ 269 \bottomrule 270 \end{tabular} 271 \vfill 272 \begin{tikzpicture}[x=1cm,y=1cm] 273 \node at (-4,0) {\includegraphics[scale=0.50]{build/ships/diogen.eps}}; 274 \node at (0,0) {\includegraphics[scale=0.50]{build/ships/aurora.eps}}; 275 \node at (4,0) {\includegraphics[scale=0.50]{build/ships/micw.eps}}; 276 \end{tikzpicture} 277 \begin{tikzpicture}[remember picture,overlay]% 278 \node[anchor=south east] at (current page.south east) 279 {\tiny{}More information on Virtual Testbed: 280 \href{https://vtestbed.cmmshq.ru/}{https://vtestbed.cmmshq.ru/}}; 281 \end{tikzpicture} 282 \end{frame} 283 284 \begin{frame}{Conclusion and future work} 285 \begin{itemize} 286 \item The proposed solution is equivalent to the known 287 formula for potential flow around a cylinder. 288 \item High computational performance, especially on graphical accelerators. 289 \item Future work is to incorporate turbulence and circular motion into the model. 290 \end{itemize} 291 \end{frame} 292 293 \begin{frame} 294 \centering 295 \begin{tabular}{lllrr} 296 \toprule 297 & & & \multicolumn{2}{c}{GPU GFLOPS} \\ 298 \cmidrule(r){4-5} 299 Node & CPU & GPU & Single & Double \\ 300 \midrule 301 Duck & Intel i7-3630QM & NVIDIA GT740M & 622 & \\ 302 GPUlab & AMD FX-8370 & NVIDIA GTX1060 & 4375 & 137 \\ 303 Capybara & Intel E5-2630 v4 & NVIDIA P5000 & 8873 & 277 \\ 304 \bottomrule 305 \end{tabular} 306 \end{frame} 307 308 \begin{frame} 309 \vskip\baselineskip 310 \vskip\baselineskip 311 \vskip\baselineskip 312 \vskip\baselineskip 313 \tiny\vfill 314 Copyright \textcopyright{} 2020 Anton Gavrikov, Alexander Degtyarev, Denis 315 Egorov, Ivan Gankevich, Artemii Grigorev, Vasily Khramushin, Ivan Petriakov 316 \texttt{\href{mailto:i.gankevich@spbu.ru}{i.gankevich@spbu.ru}}. \\ 317 \vskip\baselineskip 318 \vskip\baselineskip 319 This work is licensed under a \textit{Creative Commons Attribution-ShareAlike 4.0 320 International License}. The copy of the license is available at 321 \url{https://creativecommons.org/licenses/by-sa/4.0/}. 322 \end{frame} 323 324 \end{document}