commit bac8d7b3126b6c9f73c03bfc90024552cbaa542b
parent a9332f19131cda7612e9117e51db7175802f7c64
Author: Ivan Gankevich <i.gankevich@spbu.ru>
Date: Sat, 20 Jun 2020 13:36:23 +0300
Update after review.
Diffstat:
4 files changed, 150 insertions(+), 103 deletions(-)
diff --git a/gnuplot/verification.gnuplot b/gnuplot/verification.gnuplot
@@ -11,8 +11,9 @@ set size square
set size ratio -1
load 'gnuplot/rdbu.pal'
set cbrange [0:100]
-set xlabel 'x' offset 0,1
-set ylabel 'y' offset 1,0
+set xlabel 'x, m' offset 0,1
+set ylabel 'y, m' offset 1,0
+set cblabel 'Velocity, m/s' offset -1,0
s = 0.05
set multiplot layout 1,2
set object 1 circle front at 0,0 size 54.8858/2 fillcolor rgb "black" lw 0.5
diff --git a/main.tex b/main.tex
@@ -101,37 +101,45 @@ parameters in the file for future analysis.
Arguably, the largest contribution to ship motion besides ocean waves is given
by wind forces: air has lesser density than water, but air motion acts on the
-area of ship hull which is greater than underwater area due to ship
+area of ship hull which may be greater than underwater area due to ship
superstructure. Steady wind may produce non-nought roll angle, and thus have to
be taken into account when determining initial static ship stability
-parameters. Similar studies either focus on capsizing
-probability~\cite{bulian2004roll} or use wind tunnel to perform
-simulations~\cite{andersen2013wind}, whereas our work focuses on wind magnitude
-and direction on the ship hull and its effect on ship motions that can be
-integrated in onboard intelligent systems.
-
-In this paper we investigate how wind velocity field can be simulated on the
-boundary and near the boundary of the ship hull. We derive a simple
-mathematical model for uniform translational motion of the air on the
+parameters. In this paper we investigate how wind velocity field can be
+simulated on the boundary and near the boundary of the ship hull. We derive a
+simple mathematical model for uniform translational motion of the air on the
above-water boundary of the ship hull. Then we generalise this model to
calculate wind velocity near the boundary still taking into account the shape
of the above-water part of the ship hull. Finally, we measure the effect of
wind velocity on the ship roll angle and carry out computational performance
analysis of our programme.
+\section{Related work}
+
+Studies on the effect of the wind on ship motions mostly focus on capsizing
+probability~\cite{bulian2004roll,paroka2006wind}, whereas our work focuses on
+the direct effect of wind on ship motions and on how to incorporate ship roll
+angle change due to wind in onboard intelligent systems. As a result, we do not
+use probabilistic methods, but we use direct simulation of air flow.
+
+Similar simulations can be performed in a wind tunnel~\cite{andersen2013wind}
+but in the case of onboard intelligent systems we need to gather a lot of
+statistical data to be able to tune the system for each ship hull shape.
+Performing large number of simulations in a wind tunnel is time-consuming and a
+computer programme is the most efficient option for this task.
+
\section{Methods}
\subsection{Analytic representation of wind velocity field}
Air motion without turbulence can be decomposed into two components:
translational motion~--- air particles travel in the same direction with
-constant velocity, circular motion~--- air particles travel on a circle.
+constant velocity, and circular motion~--- air particles travel on a circle.
Translational motion describe sea breeze, that occurs on the shore on the
-sunrise and after the sunset. Rotational motion describe storms such as
-typhoons and hurricane. Translational motion is a particular case of circular
-motion when the radius of the circle is infinite. Given the scale of circular
-motion relative to the scale of translational motion, and the size of a typical
-ship hull we consider only translational motion in this paper.
+sunrise and after the sunset. Circular motion describe storms such as typhoons
+and hurricanes. Translational motion is a particular case of circular motion
+when the radius of the circle is infinite. Due to the fact that the scale of
+circular motion is much larger than the size of a typical ship hull we consider
+only translational motion in this paper.
Since there is no rotational component, air flow is described by equations for
irrotational inviscid incompressible fluid. In this context fluid velocity
@@ -148,13 +156,13 @@ written as
\end{aligned}
\end{equation}
Here \(p_0\) is atmospheric pressure, \(g\) is gravitational acceleration,
-\(\rho\) is air density, \(p\) is pressure. We seek solution to this system
+\(\rho\) is air density, \(p\) is pressure. We seek solutions to this system
of equations for velocity potential \(\phi\). Continuity equation restricts
the type of the function that can be used as the solution, and equation of
motion gives the pressure for a particular velocity potential value.
Ship hull boundary is defined by a parametric surface \(\vec{S}\) and surface
-normals \(\vec{n}\):
+normal \(\vec{n}\):
\begin{equation*}
\vec{S}=\vec{S}\left(a,b,t\right)
\qquad
@@ -162,8 +170,8 @@ a,b\in{}A=[0,1];
\qquad
\vec{n}=\frac{\partial\vec S}{\partial a} \times \frac{\partial\vec S}{\partial b}
\end{equation*}
-The simplest parametric surface is infinite plane which has the same normal in
-each point. The computer model of a real ship hull is composed of many panels
+The simplest parametric surface is infinite plane with constant normal.
+The computer model of a real ship hull is composed of many triangular panels
with different areas and different orientations that approximate continuous
surface. On the boundary the projection of wind velocity on the surface normal
is nought:
@@ -175,7 +183,7 @@ is nought:
\end{equation}
The solutions to the governing system of equations differ in how boundary is
-incorporated in them: in our model the boundary is taken into account by adding
+incorporated into them: in our model the boundary is taken into account by adding
velocity of a reflected air particle in the solution. Velocity
\(\vec\upsilon_r\) of the particle that is reflected from the surface with
surface normal \(\vec{n}\) is given by the law of reflection
@@ -186,14 +194,19 @@ surface normal \(\vec{n}\) is given by the law of reflection
\end{equation}
When we add velocity of incident and reflected air particles we get a vector
that is parallel to the boundary. As we move away from the boundary its impact
-on the velocity decays quadratically with the distance. The known analytic
-solution for the potential flow around a cylinder contains similar term (see~sec.~\ref{sec-cylinder}).
+on the velocity decays quadratically with the distance. The reason for using
+the law of reflection to describe
+air flow on the boundary is that the corresponding solution reduces to the known
+analytic solution for the potential flow around a cylinder
+(see~sec.~\ref{sec-cylinder}). Quadratic decay term is borrowed from this known
+solution.
\begin{figure}
\centering
\includegraphics{build/inkscape/law-of-reflection.eps}
- \caption{Incident and reflected air particle velocities and surface
- normal.\label{fig-law-of-reflection}}
+ \caption{The law of reflection diagram for incident and reflected air particle
+ velocities \(\vec\upsilon\) and \(\vec\upsilon_r\) and surface normal
+ \(\vec{n}\).\label{fig-law-of-reflection}}
\end{figure}
In the following subsections we describe the solution that we obtained for the
@@ -210,7 +223,7 @@ negligible for the determination of roll angle caused by the wind, since the
area of panels that distort wind field is small compared to the area of all
other panels.
-We seek solution to the governing system of equations~\eqref{eq-governing} with
+We seek solutions to the governing system of equations~\eqref{eq-governing} with
boundary condition~\eqref{eq-boundary} of the form
\begin{equation*}
\phi = \vec\upsilon\cdot\vec{r}
@@ -247,14 +260,14 @@ decay the velocity quadratically with the distance to the panel. Here we can
neglect panels surface normals of which has large angles with the wind
direction for efficiency, but they do not blow up the solution.
-We seek solution of the form
+We seek solutions of the form
\begin{equation*}
\phi = \vec\upsilon\cdot\vec{r}
+ \iint\limits_{a,b\,\in{}A}
C \frac{\vec\upsilon_r\cdot\vec{r}}{1+\Length{\vec{r}-\vec{S}}^2}
da\,db,
\end{equation*}
-where \(\Length{\cdot}\) is vector length. Plugging the solution into boundary
+where \(\Length{\cdot}\) denotes vector length. Plugging the solution into boundary
condition and assuming that neighbouring panels do not affect each other (this allows
removing the integral) gives the same coefficient \(C=1\), but velocity vector is written
differently as
@@ -273,7 +286,7 @@ s = 1+\Length{\vec{r}-\vec{S}}^2.
\end{equation}
Besides the term for reflected air particle velocity that decays quadratically with
the distance to the panel, there is a term that decays quaternary with the distance and
-that can be neglected because of this.
+that can be neglected.
This solution reduces to the solution on the boundary when \(\vec{r}=\vec{S}\)
and takes into account impact of each panel on the velocity direction which decays
@@ -290,9 +303,9 @@ following well-known formula:
\phi\left(r,\theta\right) = U r \left( 1 + \frac{R^2}{r^2} \right) \cos\theta.
\end{equation*}
Here \(r\) and \(\theta\) are polar coordinates, \(R\) is cylinder radius and \(U\)
-is \(x\) component of velocity. Cylinder is placed at the origin. To prove that our
+is \(x\) component of the velocity. Cylinder is placed at the origin. To prove that our
solution on the boundary~\eqref{eq-solution-on-the-boundary} reduces to this solution
-we reduce it to Cartesian form using polar coordinate identities
+we write it in Cartesian form using polar coordinate identities
\begin{equation*}
r = \sqrt{x^2+y^2}; \qquad \theta = \arccos{\frac{x}{\sqrt{x^2+y^2}}}.
\end{equation*}
@@ -300,13 +313,13 @@ Then in Cartesian coordinates the solution is written as
\begin{equation*}
\phi(x,y) = U x \left(1 + \frac{R^2}{x^2+y^2}\right)
\end{equation*}
-and velocity is written as
+and the velocity is written as
\begin{equation}
\label{eq-solution-cylinder}
\vec\nabla\phi = \VectorL{U \left(R^2 (y^2-x^2) + (x^2+y^2)^2 \right) \\
-2 R^2 U x y} / (x^2+y^2)^2.
\end{equation}
-On the boundary \(x^2+y^2=R^2\) and velocity is written as
+On the boundary \(x^2+y^2=R^2\) and the velocity is written as
\begin{equation*}
\vec\nabla\phi = \frac{2 U}{R^2}\VectorR{y^2 \\ -x y\phantom{^2}}.
\end{equation*}
@@ -330,7 +343,7 @@ fields produced from both of them is 11\% of the maximum velocity. Our formula
shows slightly smaller decay near the boundary, but this problem cannot be
solved by introducing coefficients. Perhaps, comparing our solution to the
solution produced by CFD methods may shed light on which one is closer to the
-reality.
+reality. On the ship hull boundary the solutions are equivalent.
\begin{figure}
\centering
@@ -357,19 +370,18 @@ makes the ship move in transversal direction with the speed of \(\approx{}0.2\)
m/s. We expect these numbers to be smaller for smaller ships.
We have found that the law of reflection~\eqref{eq-reflected} in its original
-form does not allow to
-calculate the effect of wind on the ship hull: it happens because the ship is
-symmetic and the pressure
-on the leeward and windward side of the ship is the same~--- which is not the
-case for real-world phenomena where the pressure is different due to
-turbulence. To overcome this problem we introduce a coefficient \(\alpha\) that
-controls reflection ratio:
+form does not allow to calculate the effect of wind on the symmetric ship hull:
+it happens because the pressure on the leeward and windward side of the ship is
+the same~--- which is not the case for real-world phenomena where the pressure
+is different due to turbulence. To overcome this problem we introduce a
+coefficient \(\alpha\) that controls reflection ratio:
\begin{equation*}
\vec\upsilon_r = \vec\upsilon - 2 \alpha \left(\vec\upsilon\cdot\vec{n}\right)\vec{n}.
\end{equation*}
When \(\alpha=1\) this formula equals~\eqref{eq-reflected}, when \(\alpha=0\) there
-is no reflection and the wind does not change its direction. In our tests we
-set \(\alpha=0.5\) on the leeward side of the ship hull.
+is no reflection and the wind velocity does not change its direction near the
+ship hull. In our tests we used \(\alpha=0.5\). A better solutions would be to
+incorporate turbulence in the model which is one of the directions of future research.
\begin{figure}
\centering
@@ -393,7 +405,23 @@ ship with small moment of inertia for the current waterline
(fig.~\ref{fig-ships}). Ships in our database do not have superstructures, they
have only hulls and compartments. The main difference between them that affects
benchmarks is the number of panels into which the hull is decomposed. These numbers
-and sizes are show in tab.~\ref{tab-ships}.
+and sizes are shown in tab.~\ref{tab-ships}.
+
+\begin{table}
+ \centering
+ \caption{Parameters of ship hulls that were used in the
+ benchmarks.\label{tab-ships}}
+ \begin{tabular}{lrrr}
+ \toprule
+ & Diogen & Aurora & MICW \\
+ \midrule
+ Length, m & 60 & 126.5 & 260 \\
+ Beam, m & 15 & 16.8 & 32 \\
+ Depth, m & 15 & 14.5 & 31 \\
+ No. of panels & 4346 & 6335 & 9252 \\
+ \bottomrule
+ \end{tabular}
+\end{table}
Benchmarks were performed using three workstations: DarkwingDuck, GPUlab,
Capybara. DarkwingDuck is a laptop, GPUlab is a desktop workstation, and
@@ -407,6 +435,24 @@ precision floating point numbers. Benchmark results are presented in
tab.~\ref{tab-benchmark}.
\begin{table}
+ \centering
+ \caption{Hardware configurations for benchmarks. For all benchmarks we
+ used GCC version 9.1.0 compiler and optimisation flags \texttt{-O3
+ -march=native}.\label{tab-config}}
+ \begin{tabular}{lllrr}
+ \toprule
+ & & & \multicolumn{2}{c}{GPU GFLOPS} \\
+ \cmidrule(r){4-5}
+ Node & CPU & GPU & Single & Double \\
+ \midrule
+ DarkwingDuck & Intel i7-3630QM & NVIDIA GT740M & 622 & \\
+ GPUlab & AMD FX-8370 & NVIDIA GTX1060 & 4375 & 137 \\
+ Capybara & Intel E5-2630 v4 & NVIDIA P5000 & 8873 & 277 \\
+ \bottomrule
+ \end{tabular}
+\end{table}
+
+\begin{table}
\centering
\caption{Performance benchmarks results. Numbers represent average time in milliseconds
that is needed to compute wind field on the ship hull and near the ship
@@ -441,35 +487,25 @@ tab.~\ref{tab-benchmark}.
\end{tabular}
\end{table}
-\begin{table}
+\begin{figure}
\centering
- \caption{Hardware configurations for benchmarks. For all benchmarks we
- used GCC version 9.1.0 compiler and optimisation flags \texttt{-O3
- -march=native}.\label{tab-config}}
- \begin{tabular}{lllrr}
- \toprule
- & & & \multicolumn{2}{c}{GPU GFLOPS} \\
- \cmidrule(r){4-5}
- Node & CPU & GPU & Single & Double \\
- \midrule
- DarkwingDuck & Intel i7-3630QM & NVIDIA GT740M & 622 & \\
- GPUlab & AMD FX-8370 & NVIDIA GTX1060 & 4375 & 137 \\
- Capybara & Intel E5-2630 v4 & NVIDIA P5000 & 8873 & 277 \\
- \bottomrule
- \end{tabular}
-\end{table}
-
-
+ \includegraphics{build/ships/diogen.eps}\hfill
+ \includegraphics{build/ships/aurora.eps}\hfill
+ \includegraphics{build/ships/micw.eps}
+ \caption{Diogen, Aurora and MICW three-dimensional ship hull
+ models.\label{fig-ships}}
+\end{figure}
\section{Discussion}
Solution on the boundary \eqref{eq-solution-on-the-boundary} provides simple
explanation of areas with the highest and lowest pressure for potential flow
around a cylinder. At left-most and right-most points on the cylinder boundary
-velocity is nought because incident and reflected particle velocities have
-opposite directions and cancel each other out. At top-most and bottom-most points
-incident and reflected particle velocities have the same direction and
-total velocity is two times larger than the velocity of the flow.
+(fig.~\ref{fig-verification}) velocity is nought because incident and reflected
+particle velocities have opposite directions and cancel each other out. At
+top-most and bottom-most points incident and reflected particle velocities have
+the same direction and total velocity is two times larger than the velocity of
+the flow.
In order to be compatible with the surface of any object, solution near the
boundary \eqref{eq-solution-near-the-boundary} uses different term \(s\) than
@@ -478,8 +514,11 @@ velocity term reach maximum value for the point on the boundary, and for the
point near the boundary the solution includes reflected velocity vectors for
each panel.
-Wind speed of 35 m/s matches hurricane with 14 m high waves on the Beaufort
-scale which would affect the ship more severely than the wind. Nevertheless, in
+Wind speed of 35 m/s that we obtained in ship roll angle experiments matches
+hurricane with 14 m high waves on the Beaufort scale which would affect the
+ship more severely than the wind. The main reason for such a large value is
+that ships in our database do not have superstructures and hence the surface
+area affected by the wind is much smaller than in reality. Nevertheless, in
intelligent onboard systems even small variations in static roll at less severe
weather conditions have to be considered for the correct operation of the
system.
@@ -514,27 +553,29 @@ close to this formula, but has slightly smaller decay. In both cases the model
satisfies boundary conditions and continuity equation (conservation of mass),
which makes it suitable for physical simulations. The main advantage of the
model is its simplicity, the use of Cartesian coordinates and its applicability
-to bodies of any geometry.
+to bodies of any form, not just cylinders.
We applied this model to simulate ship motions under the effect of wind with
constant speed and direction (and in the absence of all other effects except
buoyancy force), and discovered that to get static roll angle of 1\textdegree{}
we need wind speed of a hurricane (12 on the Beaufort scale). Also, simulation
of ship motions due to wind is not possible without taking into account
-turbulence, but using the simple coefficient that controls reflection ratio is
-enough to adapt the model for this kind of simulation.
+turbulence, but in the absence of turbulence model we used the simple
+coefficient that controls reflection ratio to adapt the model for this kind of
+simulation.
-From the computational standpoint the model shows high performance on modern
-processors as well as graphical accelerators due to linear memory access pattern
-and absence of synchronisation and data transfer between parallel processes.
-Using any up-to-date workstation is enough to perform real-world simulations.
+From the computational standpoint the proposed model shows high performance on
+modern processors as well as graphical accelerators due to linear memory access
+pattern and absence of synchronisation and data transfer between parallel
+processes. Using any up-to-date workstation is enough to perform real-world
+simulations.
Future work is to include stratification and circular motion in the model.
Stratification~--- an increase of wind speed with height~--- is known phenomena
in atmosphere which affects wind field around tall ships, and thus may improve
accuracy of our solver. The motivation behind including circular motion is to
better understand air motion around object and the fact that linear motion is a
-special case of it when the circle radius is infinity. Another possible
+special case of it when the circle radius is infinite. Another possible
direction of future work is to use more advanced turbulence model.
\subsubsection*{Acknowledgements.}
@@ -545,29 +586,4 @@ no.~51129371 and~51129725) and Council for grants of the President of the Russia
\bibliographystyle{splncs04}
\bibliography{references}
-\begin{table}
- \centering
- \caption{Parameters of ship hulls that were used in the
- benchmarks.\label{tab-ships}}
- \begin{tabular}{lrrr}
- \toprule
- & Diogen & Aurora & MICW \\
- \midrule
- Length, m & 60 & 126.5 & 260 \\
- Beam, m & 15 & 16.8 & 32 \\
- Depth, m & 15 & 14.5 & 31 \\
- No. of panels & 4346 & 6335 & 9252 \\
- \bottomrule
- \end{tabular}
-\end{table}
-
-\begin{figure}
- \centering
- \includegraphics{build/ships/diogen.eps}\hfill
- \includegraphics{build/ships/aurora.eps}\hfill
- \includegraphics{build/ships/micw.eps}
- \caption{Diogen, Aurora and MICW three-dimensional ship hull
- models.\label{fig-ships}}
-\end{figure}
-
\end{document}
diff --git a/references.bib b/references.bib
@@ -35,3 +35,15 @@
pages = {1--153},
author = {Manon Kok and Jeroen D. Hol and Thomas B. Schön}
}
+
+@Article{ paroka2006wind,
+ year = {2016},
+ volume = {50},
+ journal = {Journal of Ship Research},
+ title = {Analytical Prediction of Capsizing Probability of a Ship in Beam Wind and Waves},
+ publisher = {The Society of Naval Architects and Marine Engineers},
+ issn = {0022-4502},
+ number = {2},
+ pages = {187--195},
+ author = {Paroka, Daeng and Ohkura, Yuuichi and Umeda, Naoya}
+}
diff --git a/review.org b/review.org
@@ -0,0 +1,18 @@
+* DONE Review 1
+CLOSED: [2020-06-20 Sat 12:00]
+
+- [X] Fig. 2 and table 3 are placed after the references. They should be
+ inserted into the text of the paper.
+- [X] Table 3 is mentioned before the table 2 (see paragraphs 2 and 3 on page 8
+ of the text).
+
+
+* DONE Review 2
+CLOSED: [2020-06-20 Sat 13:36]
+
+There a few are minor remarks to improve the paper:
+- [X] Related work is not analyzed in detail, Related work section is missing at all
+- [X] Plots in figures 1 and 2 have neither designation not measurement units of
+ axes
+- [X] Table 3 and Fugure 2 after References look weird, try to incorporate them into
+ the main body of the paper