iccsa-20-wind

Virtual Testbed: Simulation of Air Flow Around Ship Hull and Its Effect on Ship Motions
git clone https://git.igankevich.com/iccsa-20-wind.git
Log | Files | Refs

main.tex (27566B)


      1 \documentclass[runningheads]{llncs}
      2 
      3 \usepackage{amsmath}
      4 \usepackage{booktabs}
      5 \usepackage{graphicx}
      6 \usepackage{url}
      7 \usepackage{textcomp}
      8 
      9 \newcommand{\VectorR}[1]{\left[\begin{array}{r}#1\end{array}\right]}
     10 \newcommand{\VectorL}[1]{\left[\begin{array}{l}#1\end{array}\right]}
     11 \newcommand{\Length}[1]{\big|#1\big|}
     12 
     13 \begin{document}
     14 
     15 \title{Virtual Testbed: Simulation of air flow around ship hull and its effect
     16     on ship motions\thanks{Supported by Saint Petersburg State University (grants
     17     no.~51129371 and~51129725) and Council for grants of the President of the Russian
     18     Federation (grant no.~\mbox{MK-383.2020.9}).}}
     19 \author{%
     20     Anton Gavrikov\orcidID{0000-0003-2128-8368} \and\\
     21     Alexander Degtyarev\orcidID{0000-0003-0967-2949} \and\\
     22     Denis Egorov\orcidID{0000-0001-5478-2798}\and\\
     23     Ivan Gankevich\textsuperscript{*}\orcidID{0000-0001-7067-6928} \and\\
     24     Artemii Grigorev\orcidID{0000-0003-0501-7656} \and\\
     25     Vasily Khramushin\orcidID{0000-0002-3357-169X} \and\\
     26     Ivan Petriakov\orcidID{0000-0001-5835-9313}
     27 }
     28 
     29 \titlerunning{Simulation of air flow around ship hull and its effect on ship motions}
     30 \authorrunning{A.\,Gavrikov et al.}
     31 
     32 \institute{Saint Petersburg State University\\
     33     7-9 Universitetskaya Emb., St Petersburg 199034, Russia\\
     34 \email{st047437@student.spbu.ru},\\
     35 \email{a.degtyarev@spbu.ru},\\
     36 \email{st047824@student.spbu.ru},\\
     37 \email{i.gankevich@spbu.ru},\\
     38 \email{st016177@student.spbu.ru},\\
     39 \email{v.khramushin@spbu.ru},\\
     40 \email{st049350@student.spbu.ru}\\
     41 \url{https://spbu.ru/}}
     42 
     43 \maketitle
     44 
     45 \begin{abstract}
     46 
     47 Strong wind causes heavy load on the ship in a seaway bending and pushing it in
     48 the direction of the wind. In this paper we investigate how wind can be
     49 simulated in the framework of Virtual testbed~--- a near real-time ship motion
     50 simulator. We propose simple model that describes air flow around ship hull
     51 with constant initial speed and direction which is based on the law of
     52 reflection. On the boundary the model reduces to the known model for potential
     53 flow around a cylinder, and near the boundary they are not equivalent, but
     54 close enough to visualise the effect of the hull on the flow. Then we apply
     55 this model to simulate air flow around real-world ship hull and conclude that
     56 for any real-world situation ship roll angle and ship speed caused by the wind
     57 is small to not cause capsizing, but large enough to be considered in onboard
     58 intelligent systems that determine real roll, pitch and yaw angles during ship
     59 operation and similar applications.
     60 
     61 \keywords{%
     62     wind field
     63 \and law of reflection
     64 \and flow around cylinder
     65 \and uniform translational motion
     66 \and OpenMP
     67 \and OpenCL
     68 \and GPGPU.
     69 }
     70 \end{abstract}
     71 
     72 \section{Introduction}
     73 
     74 Ship motion simulation studies focus on interaction between the ship and ocean
     75 waves~--- a physical phenomena that gives the largest contribution to
     76 oscillatory motion~--- however, intelligent onboard systems require taking
     77 other forces into account. One of the basic functionality of such a system is
     78 determination of initial static ship stability parameters (roll angle, pitch
     79 angle and draught) from the recordings of various ship motion parameters, such
     80 as instantaneous roll, pitch and yaw angles, and their first and second
     81 instantaneous derivatives (e.g.~angular velocity and angular acceleration).
     82 During ship operation these initial static ship stability parameters deviate
     83 from the original values as a result of moving cargo between compartments,
     84 damaging the hull, compartment flooding etc. These effects are especially
     85 severe for fishing and military vessels, but can occur with any vessel
     86 operating in extreme conditions.
     87 
     88 Intelligent onboard system needs large amount of synchronous recordings of ship
     89 motions parameters to operate, mainly angular displacement, velocity and
     90 acceleration and draught, but these parameters depend on the shape of the ship
     91 hull and obtaining them in model tests is complicated, let alone field tests.
     92 Field tests are too expensive to perform and do not allow to simulate
     93 particular phenomena such as compartment flooding.  Model tests are too
     94 time-consuming for such a task and there is no reliable way to obtain all the
     95 derivatives for a particular parameter: sensors measure one particular
     96 derivative and all other derivatives have to be calculated by numerical
     97 differentiation or integration, and integration has low accuracy for time
     98 series of measurements~\cite{kok2017sensors}. The simplest way to obtain those
     99 parameters is to simulate ship motion on the computer and save all the
    100 parameters in the file for future analysis.
    101 
    102 Arguably, the largest contribution to ship motion besides ocean waves is given
    103 by wind forces: air has lesser density than water, but air motion acts on the
    104 area of ship hull which may be greater than underwater area due to ship
    105 superstructure. Steady wind may produce non-nought roll angle, and thus have to
    106 be taken into account when determining initial static ship stability
    107 parameters.  In this paper we investigate how wind velocity field can be
    108 simulated on the boundary and near the boundary of the ship hull.  We derive a
    109 simple mathematical model for uniform translational motion of the air on the
    110 above-water boundary of the ship hull.  Then we generalise this model to
    111 calculate wind velocity near the boundary still taking into account the shape
    112 of the above-water part of the ship hull.  Finally, we measure the effect of
    113 wind velocity on the ship roll angle and carry out computational performance
    114 analysis of our programme.
    115 
    116 \section{Related work}
    117 
    118 Studies on the effect of the wind on ship motions mostly focus on capsizing
    119 probability~\cite{bulian2004roll,paroka2006wind}, whereas our work focuses on
    120 the direct effect of wind on ship motions and on how to incorporate ship roll
    121 angle change due to wind in onboard intelligent systems. As a result, we do not
    122 use probabilistic methods, but we use direct simulation of air flow.
    123 
    124 Similar simulations can be performed in a wind tunnel~\cite{andersen2013wind}
    125 but in the case of onboard intelligent systems we need to gather a lot of
    126 statistical data to be able to tune the system for each ship hull shape.
    127 Performing large number of simulations in a wind tunnel is time-consuming and a
    128 computer programme is the most efficient option for this task.
    129 
    130 \section{Methods}
    131 
    132 \subsection{Analytic representation of wind velocity field}
    133 
    134 Air motion without turbulence can be decomposed into two components:
    135 translational motion~--- air particles travel in the same direction with
    136 constant velocity, and circular motion~--- air particles travel on a circle.
    137 Translational motion describe sea breeze, that occurs on the shore on the
    138 sunrise and after the sunset. Circular motion describe storms such as typhoons
    139 and hurricanes. Translational motion is a particular case of circular motion
    140 when the radius of the circle is infinite. Due to the fact that the scale of
    141 circular motion is much larger than the size of a typical ship hull we consider
    142 only translational motion in this paper.
    143 
    144 Since there is no rotational component, air flow is described by equations for
    145 irrotational inviscid incompressible fluid. In this context fluid velocity
    146 \(\vec\upsilon\) is determined as a vector gradient \(\vec\nabla\) of scalar
    147 velocity potential \(\phi\) and continuity equation and equation of motion are
    148 written as
    149 \begin{equation}
    150     \label{eq-governing}
    151     \begin{aligned}
    152         & \Delta\phi = 0; \qquad \vec\upsilon=\vec\nabla\phi; \\
    153         & \rho\frac{\partial\phi}{\partial{}t} +
    154           \frac{1}{2}\rho\Length{\vec\nabla\phi}^2 +
    155           p + \rho g z = p_0.
    156     \end{aligned}
    157 \end{equation}
    158 Here \(p_0\) is atmospheric pressure, \(g\) is gravitational acceleration,
    159 \(\rho\) is air density, \(p\) is pressure. We seek solutions to this system
    160 of equations for velocity potential \(\phi\). Continuity equation restricts
    161 the type of the function that can be used as the solution, and equation of
    162 motion gives the pressure for a particular velocity potential value.
    163 
    164 Ship hull boundary is defined by a parametric surface \(\vec{S}\) and surface
    165 normal \(\vec{n}\):
    166 \begin{equation*}
    167 \vec{S}=\vec{S}\left(a,b,t\right)
    168 \qquad
    169 a,b\in{}A=[0,1];
    170 \qquad
    171 \vec{n}=\frac{\partial\vec S}{\partial a} \times \frac{\partial\vec S}{\partial b}
    172 \end{equation*}
    173 The simplest parametric surface is infinite plane with constant normal.
    174 The computer model of a real ship hull is composed of many triangular panels
    175 with different areas and different orientations that approximate continuous
    176 surface. On the boundary the projection of wind velocity on the surface normal
    177 is nought:
    178 \begin{equation}
    179     \label{eq-boundary}
    180     \vec\nabla\phi\cdot\vec{n} = 0;
    181     \qquad
    182     \vec{r} = \vec{S}.
    183 \end{equation}
    184 
    185 The solutions to the governing system of equations differ in how boundary is
    186 incorporated into them: in our model the boundary is taken into account by adding
    187 velocity of a reflected air particle in the solution. Velocity
    188 \(\vec\upsilon_r\) of the particle that is reflected from the surface with
    189 surface normal \(\vec{n}\) is given by the law of reflection
    190 (fig.~\ref{fig-law-of-reflection}):
    191 \begin{equation}
    192     \label{eq-reflected}
    193     \vec\upsilon_r = \vec\upsilon - 2\left(\vec\upsilon\cdot\vec{n}\right)\vec{n}.
    194 \end{equation}
    195 When we add velocity of incident and reflected air particles we get a vector
    196 that is parallel to the boundary. As we move away from the boundary its impact
    197 on the velocity decays quadratically with the distance. The reason for using
    198 the law of reflection to describe
    199 air flow on the boundary is that the corresponding solution reduces to the known
    200 analytic solution for the potential flow around a cylinder
    201 (see~sec.~\ref{sec-cylinder}). Quadratic decay term is borrowed from this known
    202 solution.
    203 
    204 \begin{figure}
    205     \centering
    206     \includegraphics{build/inkscape/law-of-reflection.eps}
    207     \caption{The law of reflection diagram for incident and reflected air particle
    208     velocities \(\vec\upsilon\) and \(\vec\upsilon_r\) and surface normal
    209     \(\vec{n}\).\label{fig-law-of-reflection}}
    210 \end{figure}
    211 
    212 In the following subsections we describe the solution that we obtained for the
    213 velocity field \emph{on} the boundary and \emph{near} the boundary.
    214 
    215 \subsection{Uniform translational motion on the static body surface}
    216 
    217 On the surface we neglect the impact of neighbouring panels on the velocity
    218 field on the ground that the real ship hull surface is smooth,
    219 i.e.~neighbouring panels have approximately the same normals. This assumption
    220 does not hold for aft and bow of some ships, and, as a result, velocity field
    221 near these features has stream lines with sharp edges. We consider this effect
    222 negligible for the determination of roll angle caused by the wind, since the
    223 area of panels that distort wind field is small compared to the area of all
    224 other panels. 
    225 
    226 We seek solutions to the governing system of equations~\eqref{eq-governing} with
    227 boundary condition~\eqref{eq-boundary} of the form
    228 \begin{equation*}
    229 \phi = \vec\upsilon\cdot\vec{r}
    230 + C \left(\vec\upsilon_r\cdot\vec{r}\right);
    231 \qquad
    232 \vec{r}=\left(x,y,z\right),
    233 \end{equation*}
    234 Here \(\vec{r}\) is spatial coordinate, \(C\) is the coefficient, and
    235 \(\vec\upsilon_r\) is velocity of reflected air particle defined
    236 in~\eqref{eq-reflected}. This solution is independent for each panel.
    237 Plugging the solution into boundary condition~\eqref{eq-boundary} gives
    238 \begin{equation*}
    239 \left(\vec\upsilon + C\vec\upsilon_r\right)\cdot\vec{n} = 0,
    240 \end{equation*}
    241 hence
    242 \begin{equation*}
    243 C = -\frac{ \vec\upsilon\cdot\vec{n} }{ \vec\upsilon_r\cdot\vec{n} } = 1
    244 \end{equation*}
    245 and velocity is written simply as
    246 \begin{equation}
    247     \label{eq-solution-on-the-boundary}
    248     \vec\nabla\phi = \vec\upsilon + \vec\upsilon_r.
    249 \end{equation}
    250 
    251 This solution satisfies continuity equation. It gives velocity only at the
    252 centre of each ship hull panel, but this is sufficient to calculate pressure
    253 and force moments acting on the ship hull.
    254 
    255 \subsection{Uniform translational motion near the static body surface}
    256 
    257 Near the surface there are no neighbouring panels, the impact of which we can
    258 neglect, instead we add reflected particle velocities for all the panels and
    259 decay the velocity quadratically with the distance to the panel. Here we can
    260 neglect panels surface normals of which has large angles with the wind
    261 direction for efficiency, but they do not blow up the solution.
    262 
    263 We seek solutions of the form
    264 \begin{equation*}
    265 \phi = \vec\upsilon\cdot\vec{r}
    266 + \iint\limits_{a,b\,\in{}A}
    267 C \frac{\vec\upsilon_r\cdot\vec{r}}{1+\Length{\vec{r}-\vec{S}}^2}
    268 da\,db,
    269 \end{equation*}
    270 where \(\Length{\cdot}\) denotes vector length.  Plugging the solution into boundary
    271 condition and assuming that neighbouring panels do not affect each other (this allows
    272 removing the integral) gives the same coefficient \(C=1\), but velocity vector is written
    273 differently as
    274 \begin{equation}
    275 \label{eq-solution-near-the-boundary}
    276 \vec\nabla\phi =
    277 \vec\upsilon +
    278 \iint\limits_{a,b\,\in{}A}
    279 \left(
    280     \frac{1}{s} \vec\upsilon_r
    281     - \frac{2}{s^2} \left(\vec\upsilon_r\cdot\vec{r}\right) \left(\vec{r}-\vec{S}\right)
    282 \right)
    283 da\,db;
    284 \qquad
    285 s = 1+\Length{\vec{r}-\vec{S}}^2.
    286 \end{equation}
    287 Besides the term for reflected air particle velocity that decays quadratically with
    288 the distance to the panel, there is a term that decays quaternary with the distance and
    289 that can be neglected.
    290 
    291 This solution reduces to the solution on the boundary when \(\vec{r}=\vec{S}\)
    292 and takes into account impact of each panel on the velocity direction which decays
    293 quadratically with the distance to the panel.
    294 
    295 \section{Results}
    296 
    297 \subsection{Verification of the solution on the example of potential flow around a cylinder}
    298 \label{sec-cylinder}
    299 
    300 Potential flow around a cylinder in two dimensions is described by the
    301 following well-known formula:
    302 \begin{equation*}
    303     \phi\left(r,\theta\right) = U r \left( 1 + \frac{R^2}{r^2} \right) \cos\theta.
    304 \end{equation*}
    305 Here \(r\) and \(\theta\) are polar coordinates, \(R\) is cylinder radius and \(U\)
    306 is \(x\) component of the velocity. Cylinder is placed at the origin. To prove that our
    307 solution on the boundary~\eqref{eq-solution-on-the-boundary} reduces to this solution
    308 we write it in Cartesian form using polar coordinate identities
    309 \begin{equation*}
    310     r = \sqrt{x^2+y^2}; \qquad \theta = \arccos{\frac{x}{\sqrt{x^2+y^2}}}.
    311 \end{equation*}
    312 Then in Cartesian coordinates the solution is written as
    313 \begin{equation*}
    314     \phi(x,y) = U x \left(1 + \frac{R^2}{x^2+y^2}\right)
    315 \end{equation*}
    316 and the velocity is written as
    317 \begin{equation}
    318     \label{eq-solution-cylinder}
    319     \vec\nabla\phi = \VectorL{U \left(R^2 (y^2-x^2) + (x^2+y^2)^2 \right) \\
    320     -2 R^2 U x y} / (x^2+y^2)^2.
    321 \end{equation}
    322 On the boundary \(x^2+y^2=R^2\) and the velocity is written as
    323 \begin{equation*}
    324     \vec\nabla\phi = \frac{2 U}{R^2}\VectorR{y^2 \\ -x y\phantom{^2}}.
    325 \end{equation*}
    326 Now if we write surface normal as \(\vec{n}=(x/R,y/R)\) and let
    327 \(\vec\upsilon=(U,0)\), our solution \eqref{eq-solution-on-the-boundary}
    328 quite surprisingly reduces to the same expression.
    329 
    330 To reduce solution near the boundary~\eqref{eq-solution-near-the-boundary} to
    331 the solution for potential flow around a cylinder, we let
    332 \(s=\Length{\vec{r}}^2/\Length{\vec{S}}^2\) (here \(\vec{r}\) is the radius
    333 vector in Cartesian coordinates). Then the solution is written as
    334 \begin{equation*}
    335     \vec\nabla\phi = \vec\upsilon + \frac{1}{s} \vec\upsilon_r
    336 \end{equation*}
    337 and reduces to general form of the solution for potential flow around a
    338 cylinder given in~\eqref{eq-solution-cylinder}.
    339 
    340 We compared both solutions (see fig.~\ref{fig-verification}) for a cylinder
    341 with \(R=27.4429\), and discovered that maximum distance between velocity
    342 fields produced from both of them is 11\% of the maximum velocity. Our formula
    343 shows slightly smaller decay near the boundary, but this problem cannot be
    344 solved by introducing coefficients. Perhaps, comparing our solution to the
    345 solution produced by CFD methods may shed light on which one is closer to the
    346 reality. On the ship hull boundary the solutions are equivalent.
    347 
    348 \begin{figure}
    349     \centering
    350     \includegraphics{build/gnuplot/verification.eps}
    351     \caption{Wind velocity fields for air flow around a cylinder: left~--- known
    352     solution~\eqref{eq-solution-cylinder}, right~--- our
    353     solution~\eqref{eq-solution-near-the-boundary}.\label{fig-verification}}
    354 \end{figure}
    355 
    356 \subsection{Ship roll angle and velocity}
    357 
    358 Wind causes non-nought force moment and force acting on a ship that bend and
    359 move the ship in the direction of the wind. This effect is stronger for the
    360 ships with large hull areas exposed to the wind, like fully-loaded
    361 containerships, but other ships are also affected.
    362 
    363 We measured how wind speed affects Aurora's transversal velocity and roll
    364 angle.  For that purpose we made wind blow directly in the starboard of the
    365 ship and varied wind speed. We stopped the experiment after 60 seconds and
    366 measured maximum roll angle and maximum transversal velocity.  We have found
    367 that in order to produce 1\textdegree{} static roll angle we need wind speed of
    368 \(\approx{}35\) m/s (fig.~\ref{fig-roll-velocity}), and wind with that speed
    369 makes the ship move in transversal direction with the speed of \(\approx{}0.2\)
    370 m/s. We expect these numbers to be smaller for smaller ships.
    371 
    372 We have found that the law of reflection~\eqref{eq-reflected} in its original
    373 form does not allow to calculate the effect of wind on the symmetric ship hull:
    374 it happens because the pressure on the leeward and windward side of the ship is
    375 the same~--- which is not the case for real-world phenomena where the pressure
    376 is different due to turbulence. To overcome this problem we introduce a
    377 coefficient \(\alpha\) that controls reflection ratio:
    378 \begin{equation*}
    379     \vec\upsilon_r = \vec\upsilon - 2 \alpha \left(\vec\upsilon\cdot\vec{n}\right)\vec{n}.
    380 \end{equation*}
    381 When \(\alpha=1\) this formula equals~\eqref{eq-reflected}, when \(\alpha=0\) there
    382 is no reflection and the wind velocity does not change its direction near the
    383 ship hull.  In our tests we used \(\alpha=0.5\). A better solutions would be to
    384 incorporate turbulence in the model which is one of the directions of future research.
    385 
    386 \begin{figure}
    387     \centering
    388     \includegraphics{build/gnuplot/velocity.eps}
    389     \caption{Dependence of Aurora's roll angle on wind speed (left) and
    390     dependence of Aurora's transversal velocity on wind speed
    391     (right).\label{fig-roll-velocity}}
    392 \end{figure}
    393 
    394 \subsection{Computational performance analysis}
    395 
    396 We implemented solutions~\eqref{eq-solution-on-the-boundary}
    397 and~\eqref{eq-solution-near-the-boundary} in Virtual testbed wind solver.
    398 Virtual testbed is a programme for workstations that simulates ship motions in
    399 extreme conditions and physical phenomena that causes them: ocean waves, wind,
    400 compartment flooding etc.
    401 
    402 We performed benchmarks for three ships: Diogen, Aurora and MICW.  Diogen is a
    403 small-size fishing vessel, Aurora is mid-size cruiser and MICW is a large-size
    404 ship with small moment of inertia for the current waterline
    405 (fig.~\ref{fig-ships}). Ships in our database do not have superstructures, they
    406 have only hulls and compartments. The main difference between them that affects
    407 benchmarks is the number of panels into which the hull is decomposed. These numbers
    408 and sizes are shown in tab.~\ref{tab-ships}.
    409 
    410 \begin{table}
    411 	\centering
    412 	\caption{Parameters of ship hulls that were used in the
    413 	benchmarks.\label{tab-ships}}
    414 	\begin{tabular}{lrrr}
    415 		\toprule
    416 					  & Diogen & Aurora & MICW  \\
    417 		\midrule               
    418 		Length, m     &   60   & 126.5  &   260 \\
    419 		Beam, m       &   15   &  16.8  &    32 \\
    420 		Depth, m      &   15   &  14.5  &    31 \\
    421 		No. of panels & 4346   &  6335  &  9252 \\
    422 		\bottomrule
    423 	\end{tabular}
    424 \end{table}
    425 
    426 Benchmarks were performed using three workstations: DarkwingDuck, GPUlab,
    427 Capybara. DarkwingDuck is a laptop, GPUlab is a desktop workstation, and
    428 Capybara is a desktop with professional graphical accelerator server-grade
    429 processor (tab.~\ref{tab-config}). All of the workstations are equipped with
    430 graphical accelerators that allow to greatly increase their performance.
    431 
    432 Wind solver was written for both OpenMP and OpenCL to make use of graphical
    433 accelerator available on most modern workstations. The solvers use single
    434 precision floating point numbers. Benchmark results are presented in
    435 tab.~\ref{tab-benchmark}.
    436 
    437 \begin{table}
    438 	\centering
    439 	\caption{Hardware configurations for benchmarks. For all benchmarks we
    440 	used GCC version 9.1.0 compiler and optimisation flags \texttt{-O3
    441 	-march=native}.\label{tab-config}}
    442 	\begin{tabular}{lllrr}
    443 		\toprule
    444 		     &     &     & \multicolumn{2}{c}{GPU GFLOPS} \\
    445 		\cmidrule(r){4-5}
    446 		Node           & CPU              & GPU            & Single & Double \\
    447 		\midrule
    448         DarkwingDuck   & Intel i7-3630QM  & NVIDIA GT740M  &  622   &     \\
    449 		GPUlab         & AMD FX-8370      & NVIDIA GTX1060 & 4375   & 137 \\
    450 		Capybara       & Intel E5-2630 v4 & NVIDIA P5000   & 8873   & 277 \\
    451 		\bottomrule
    452 	\end{tabular}
    453 \end{table}
    454 
    455 \begin{table}
    456     \centering
    457     \caption{Performance benchmarks results. Numbers represent average time in milliseconds
    458     that is needed to compute wind field on the ship hull and near the ship
    459     hull.\label{tab-benchmark}}
    460     \begin{tabular}{l@{\hskip 3mm}r@{\hskip 2mm}r@{\hskip 3mm}r@{\hskip 2mm}r@{\hskip 3mm}r@{\hskip 2mm}r}
    461 		\toprule
    462 				 & \multicolumn{2}{l}{Diogen}
    463 				 & \multicolumn{2}{l}{Aurora}
    464 				 & \multicolumn{2}{l}{MICW} \\
    465 		\cmidrule(r){2-3}
    466 		\cmidrule(r){4-5}
    467 		\cmidrule(r){6-7}
    468 		Node     & MP & CL 
    469                  & MP & CL 
    470                  & MP & CL  \\
    471 		\midrule
    472 		DarkwingDuck  
    473                  &      114  &    14.00
    474                  &      164  &    16
    475                  &      314  &    29
    476                  \\
    477 		GPUlab  
    478 		         &       62  &     1.35            
    479                  &       90  &     2
    480 		         &      175  &     3
    481                  \\
    482 		Capybara &       33  &     0.87            
    483 		         &       48  &     1
    484 		         &       99  &     6
    485                  \\
    486 		\bottomrule
    487 	\end{tabular}
    488 \end{table}
    489 
    490 \begin{figure}
    491 	\centering
    492 	\includegraphics{build/ships/diogen.eps}\hfill
    493 	\includegraphics{build/ships/aurora.eps}\hfill
    494 	\includegraphics{build/ships/micw.eps}
    495 	\caption{Diogen, Aurora and MICW three-dimensional ship hull
    496 	models.\label{fig-ships}}
    497 \end{figure}
    498 
    499 \section{Discussion}
    500 
    501 Solution on the boundary \eqref{eq-solution-on-the-boundary} provides simple
    502 explanation of areas with the highest and lowest pressure for potential flow
    503 around a cylinder.  At left-most and right-most points on the cylinder boundary
    504 (fig.~\ref{fig-verification}) velocity is nought because incident and reflected
    505 particle velocities have opposite directions and cancel each other out. At
    506 top-most and bottom-most points incident and reflected particle velocities have
    507 the same direction and total velocity is two times larger than the velocity of
    508 the flow.
    509 
    510 In order to be compatible with the surface of any object, solution near the
    511 boundary \eqref{eq-solution-near-the-boundary} uses different term \(s\) than
    512 the solution for potential flow around a cylinder which makes reflected
    513 velocity term reach maximum value for the point on the boundary, and for the
    514 point near the boundary the solution includes reflected velocity vectors for
    515 each panel. 
    516 
    517 Wind speed of 35 m/s that we obtained in ship roll angle experiments matches
    518 hurricane with 14 m high waves on the Beaufort scale which would affect the
    519 ship more severely than the wind. The main reason for such a large value is
    520 that ships in our database do not have superstructures and hence the surface
    521 area affected by the wind is much smaller than in reality. Nevertheless, in
    522 intelligent onboard systems even small variations in static roll at less severe
    523 weather conditions have to be considered for the correct operation of the
    524 system.
    525 
    526 The introduction of the coefficient \(\alpha\) that controls reflection ratio
    527 is the simplest way of taking turbulence into account. \(\alpha<1\) increases
    528 the wind speed on the leeward side of the ship as a result of wind ``going
    529 around'' the ship hull. More sophisticated turbulence model would give more
    530 accurate results.
    531 
    532 Performance benchmarks showed that performance of both OpenMP and OpenCL
    533 solvers increases from the least powerful (DarkwingDuck) workstation to the
    534 most powerful one (Capybara). In addition to this, performance of OpenCL is
    535 always better than of OpenMP by a factor of 16--58. Our solver uses explicit
    536 analytic formula to compute wind field and to compute wind field at each point
    537 iterates over all panels of the ship. All panels are stored and accessed
    538 sequentially and all points of wind field are stored sequentially and accessed
    539 in parallel, which makes the solver easy to implement in OpenCL and allows to
    540 achieve high performance on the graphical accelerator. Finally, as expected
    541 performance increases and the ratio between OpenCL and OpenMP performance
    542 decreases from the large-size to small-size ship.  The only exception from the
    543 above-mentioned observations is the performance of OpenCL on Capybara for MICW
    544 hull. This behaviour requires further investigation. 
    545 
    546 
    547 \section{Conclusion}
    548 
    549 This paper proposes a new simple mathematical model for wind field around the
    550 ship hull.  On the ship hull boundary this model is equivalent to the known
    551 formula for potential flow around a cylinder. Near the boundary this model is
    552 close to this formula, but has slightly smaller decay. In both cases the model
    553 satisfies boundary conditions and continuity equation (conservation of mass),
    554 which makes it suitable for physical simulations. The main advantage of the
    555 model is its simplicity, the use of Cartesian coordinates and its applicability
    556 to bodies of any form, not just cylinders.
    557 
    558 We applied this model to simulate ship motions under the effect of wind with
    559 constant speed and direction (and in the absence of all other effects except
    560 buoyancy force), and discovered that to get static roll angle of 1\textdegree{}
    561 we need wind speed of a hurricane (12 on the Beaufort scale). Also, simulation
    562 of ship motions due to wind is not possible without taking into account
    563 turbulence, but in the absence of turbulence model we used the simple
    564 coefficient that controls reflection ratio to adapt the model for this kind of
    565 simulation.
    566 
    567 From the computational standpoint the proposed model shows high performance on
    568 modern processors as well as graphical accelerators due to linear memory access
    569 pattern and absence of synchronisation and data transfer between parallel
    570 processes.  Using any up-to-date workstation is enough to perform real-world
    571 simulations.
    572 
    573 Future work is to include stratification and circular motion in the model.
    574 Stratification~--- an increase of wind speed with height~--- is known phenomena
    575 in atmosphere which affects wind field around tall ships, and thus may improve
    576 accuracy of our solver.  The motivation behind including circular motion is to
    577 better understand air motion around object and the fact that linear motion is a
    578 special case of it when the circle radius is infinite. Another possible
    579 direction of future work is to use more advanced turbulence model.
    580 
    581 \subsubsection*{Acknowledgements.}
    582 Research work is supported by Saint Petersburg State University (grants
    583 no.~51129371 and~51129725) and Council for grants of the President of the Russian Federation
    584 (grant no.~MK-383.2020.9).
    585 
    586 \bibliographystyle{splncs04}
    587 \bibliography{references}
    588 
    589 \end{document}