slides.tex (10750B)
1 \documentclass[aspectratio=169,xcolor=table]{beamer} 2 \usepackage{polyglossia} 3 \setdefaultlanguage{english} 4 \usetheme{SaintPetersburg} 5 6 \usepackage{textcomp} 7 \usepackage{booktabs} 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 Ivan Petriakov\xmpcomma{} Alexander Degtyarev\xmpcomma{} Denis Egorov\xmpcomma{} Ivan Gankevich\xmpcomma{} Anton Gavrikov\xmpcomma{} Artemii Grigorev\xmpcomma{} Vasily Khramushin}, 37 pdfsubject={Virtual testbed: Simulation of ocean wave reflection from the ship hull}, 38 } 39 40 \newcommand{\Jacobian}{\mathbb{J}} 41 \newcommand{\Real}[1]{\operatorname{Re}#1} 42 \newcommand{\Imag}[1]{\operatorname{Im}#1} 43 \newcommand{\VectorL}[1]{\left[\begin{array}{l}#1\end{array}\right]} 44 \newcommand{\VectorR}[1]{\left[\begin{array}{r}#1\end{array}\right]} 45 \newcommand{\VectorH}[1]{\left(#1\right)} 46 \newcommand{\DerivativeT}[1]{\frac{\partial{#1}}{\partial{}t}} 47 48 \title{Virtual testbed: Simulation of ocean wave reflection from the ship hull} 49 \author{% 50 I.\:Petriakov \and 51 A.\:Degtyarev \and 52 D.\:Egorov \and 53 I.\:Gankevich\textsuperscript{*} \and 54 A.\:Gavrikov \and 55 A.\:Grigorev \and 56 V.\:Khramushin% 57 } 58 \institute{Saint Petersburg State University} 59 \date{July 2020} 60 61 \begin{document} 62 63 \frame{\maketitle} 64 65 \begin{frame}{Motivation} 66 Ship motion simulators 67 \begin{itemize} 68 \item model ocean waves without diffraction and radiation, 69 \item model ship resistance to flow using empirical methods (by increasing its mass). 70 \end{itemize} 71 \vfill 72 We want 73 \begin{itemize} 74 \item diffraction and radiation, 75 \item no empirical methods, 76 \item high-performance solver, 77 \item to better understand and more accurately simulate ship motions. 78 \end{itemize} 79 \end{frame} 80 81 \begin{frame}{The law of reflection for ocean waves} 82 \begin{columns}[T] 83 \begin{column}{0.40\textwidth} 84 \includegraphics[width=\textwidth]{build/inkscape/diffraction.eps} 85 \tiny{}Near the obstacle the wave direction is tangent to the boundary. 86 \end{column} 87 \begin{column}{0.60\textwidth} 88 \footnotesize 89 Lagrangian description: 90 \vskip\baselineskip 91 \begin{tikzpicture}[x=1mm,y=1mm] 92 \draw plot [smooth] coordinates 93 {(9.673,28.585) (17.173,35.433) (21.194,36.020) (27.064,35.433) (32.172,24.129)}; 94 \node at (20,30) {\tiny{}ship hull}; 95 \path[Arrow] (16.194,41.020) -- (21.194,36.020) {}; 96 \draw[Dots] (11.194,46.020) -- (21.194,36.020) {}; 97 \node[left,text width=2cm,align=center] at (11.194,46.020) {\scriptsize{}incident wave direction}; 98 \node[left,yshift=-3mm] at (16.194,41.020) 99 {\(\vec{d}_i=\VectorH{u,v,0}\)\strut}; 100 \path[Arrow] (21.194,36.020) -- (26.194,41.020) {}; 101 \draw[Dots] (21.194,36.020) -- (31.194,46.020) {}; 102 \node[right,text width=2cm,align=center] at (31.194,46.020) {\scriptsize{}reflected wave direction}; 103 \node[right,yshift=-3mm] at (26.194,41.020) {\(\vec{d}_r = 104 \vec{d}_i-\vec{d}_s = 105 \vec{d}_i-2\vec{n}\left(\vec{d}_i\cdot\vec{n}\right)\)\strut}; 106 \path[Arrow] (21.194,36.020) -- (21.194,41.020) {}; 107 \node[above] at (21.194,41.020) {\(\vec{n}\)}; 108 \end{tikzpicture} 109 \vskip\baselineskip 110 \begin{tabular}{ll} 111 \(w_i = \exp\left( \left(i\vec{d}_i+\vec{d}_{k}\right)\cdot\vec\zeta - i\omega t\right)\) & incident wave potential \\ 112 \(w_r = \exp\left( \left(i\vec{d}_r+\vec{d}_{k}\right)\cdot\vec\zeta - i\omega t\right)\) & reflected wave potential \\ 113 \(w = C_1 w_i + C_2 w_r\) & total potential \\ 114 \end{tabular} 115 \vskip\baselineskip 116 {\tiny{} 117 \begin{tabular}{ll} 118 \(\vec{d}_k = \VectorH{0,0,k}\) & damping coefficient \\ 119 \(u,v\) & wave numbers \\ 120 \(k=\sqrt{u^2+v^2}\) & wave vector length \\ 121 \(\vec\zeta=\VectorH{\alpha,\beta,\delta}\) 122 & initial particle coordinates \\ 123 \(x,y,z\) & instantaneous particle coordinates \\ 124 \(\omega=\sqrt{gk}\) & angular frequency \\ 125 \end{tabular} 126 } 127 \end{column} 128 \end{columns} 129 \end{frame} 130 131 \begin{frame}{Governing system of equations} 132 Continuity and motion equation for ideal fluid (Lagrangian description) 133 \begin{equation*} 134 \begin{aligned} 135 & \vec\nabla\left( w_{tt} + g w_\delta + p_1/\rho \right) = 0 \\ 136 & \Delta w = 0 137 \end{aligned} 138 \end{equation*} 139 Boundary condition on the ship hull panel (\(\vec\zeta_0\) is the point on the boundary): 140 \begin{equation*} 141 \frac{d}{d t} \vec\nabla w \cdot \vec{n} = 0; 142 \qquad 143 \vec{n} \cdot \left(\vec\zeta - \vec\zeta_0\right) = 0 144 \end{equation*} 145 The solution for single panel 146 \begin{equation*} 147 w = C_1 w_i + C_2 w_r 148 \qquad 149 C_1 = 1 150 \qquad 151 C_2 = \exp\left(i\vec{d}_s\cdot\zeta_0\right) 152 \end{equation*} 153 The solution for the whole ship 154 \begin{equation*} 155 w = \sum\limits_{j} K_j w_j; 156 \qquad 157 K_j = \frac{1}{1 + \left|\zeta-\zeta_0\right|^2} 158 \end{equation*} 159 \end{frame} 160 161 \begin{frame}{Wave diffraction around Aurora's hull} 162 \begin{columns}[T] 163 \begin{column}{0.65\textwidth} 164 \centering 165 \includegraphics{build/gnuplot/surface-with-ship.eps} 166 \end{column} 167 \begin{column}{0.35\textwidth} 168 \centering 169 \includegraphics[scale=0.4]{build/gnuplot/aurora-non-bare.eps} 170 \end{column} 171 \end{columns} 172 \end{frame} 173 174 \begin{frame}{Wave diffraction around Aurora's hull (not shown)} 175 \centering 176 \includegraphics[width=\textwidth]{build/gnuplot/surface-with-ship-3d.eps} 177 \end{frame} 178 179 180 \begin{frame}{Performance benchmarks in Virtual Testbed} 181 \small 182 Average time in milliseconds that is needed to generate waves with reflection. 183 \begin{tabular}{l@{\hskip 3mm}r@{\hskip 2mm}r@{\hskip 3mm}r@{\hskip 2mm}r@{\hskip 3mm}r@{\hskip 2mm}rl} 184 \toprule 185 & \multicolumn{2}{l}{Diogen} 186 & \multicolumn{2}{l}{Aurora} 187 & \multicolumn{2}{l}{MICW} \\ 188 \cmidrule(r){2-3} 189 \cmidrule(r){4-5} 190 \cmidrule(r){6-7} 191 Node & OpenMP & OpenCL 192 & OpenMP & OpenCL 193 & OpenMP & OpenCL \\ 194 \midrule 195 Duck 196 & 5462 & 48 197 & 7716 & 41 198 & 7725 & 11 199 & laptop 200 \\ 201 GPUlab 202 & 5529 & 11 203 & 8222 & 10 204 & 6481 & \markRectangle{speedup}{3}{lightyellow} 205 & desktop 206 \\ 207 Capybara & 2908 & 16 208 & 2091 & 8 209 & 2786 & 4 210 & server 211 \\ 212 \bottomrule 213 \end{tabular} 214 \begin{tikzpicture}[remember picture,overlay]% 215 \node[below of=speedup,yshift=-0.25cm,xshift=-2cm] (labelSpeedup) {2k speedup\strut{}}; 216 \path[draw=spbuDarkGray,thick] (labelSpeedup) -- (speedup); 217 \end{tikzpicture} 218 \vfill 219 \begin{columns} 220 \begin{column}{0.55\textwidth} 221 \begin{tikzpicture}[x=1cm,y=1cm] 222 \node at (1,-0.25) {\includegraphics[scale=0.50]{build/gnuplot/diogen.eps}}; 223 \node at (0,0) {\includegraphics[scale=0.50]{build/gnuplot/aurora.eps}}; 224 \node at (1.5,0.5) {\includegraphics[scale=0.50]{build/gnuplot/micw.eps}}; 225 \end{tikzpicture} 226 \end{column} 227 \begin{column}{0.35\textwidth} 228 \footnotesize 229 \begin{itemize} 230 \item Make storage order linear. 231 \item Use built-in vector operations. 232 \item Use local memory of the multiprocessor to optimise global memory 233 load and stores. 234 \end{itemize} 235 \end{column} 236 \end{columns} 237 \begin{tikzpicture}[remember picture,overlay]% 238 \node[anchor=south east] at (current page.south east) 239 {\tiny{}More information on Virtual Testbed: 240 \href{https://vtestbed.cmmshq.ru/}{https://vtestbed.cmmshq.ru/}}; 241 \end{tikzpicture} 242 \end{frame} 243 244 \begin{frame}{Conclusion and future work} 245 \begin{itemize} 246 \item Diffraction alone cannot be used to take into account ship's resistance 247 to flow (cannot replace the method of added masses). 248 \item High computational performance, hundreds of times faster on a 249 graphical accelerator than on a central processor. 250 \item Future work is to incorporate radiation into the model and compare 251 damping to the method of added masses. 252 \end{itemize} 253 \end{frame} 254 255 \begin{frame} 256 \centering 257 \begin{tabular}{lllrr} 258 \toprule 259 & & & \multicolumn{2}{c}{GPU GFLOPS} \\ 260 \cmidrule(r){4-5} 261 Node & CPU & GPU & Single & Double \\ 262 \midrule 263 Duck & Intel i7-3630QM & NVIDIA GT740M & 622 & \\ 264 GPUlab & AMD FX-8370 & NVIDIA GTX1060 & 4375 & 137 \\ 265 Capybara & Intel E5-2630 v4 & NVIDIA P5000 & 8873 & 277 \\ 266 \bottomrule 267 \end{tabular} 268 \end{frame} 269 270 \begin{frame} 271 \tiny\vfill 272 Copyright \textcopyright{} 2020 Ivan Petriakov, Alexander Degtyarev, Denis Egorov, Ivan Gankevich, Anton Gavrikov, Artemii Grigorev, Vasily Khramushin 273 \texttt{\href{mailto:i.gankevich@spbu.ru}{i.gankevich@spbu.ru}}. \\ 274 \vskip\baselineskip 275 \vskip\baselineskip 276 This work is licensed under a \textit{Creative Commons Attribution-ShareAlike 4.0 277 International License}. The copy of the license is available at 278 \url{https://creativecommons.org/licenses/by-sa/4.0/}. 279 \end{frame} 280 281 \end{document}