commit 43dd6794db49b1181b0691fc1232fc3b029b31b4
parent a1fd21cb001bc16a683bf76a313c0d13972e2ec3
Author: Ivan Gankevich <igankevich@ya.ru>
Date: Fri, 22 Mar 2019 18:44:22 +0300
Methods WIP.
Diffstat:
main.tex | | | 92 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----- |
references.bib | | | 41 | ++++++++++++++++++++++++++++++++++++++++- |
2 files changed, 127 insertions(+), 6 deletions(-)
diff --git a/main.tex b/main.tex
@@ -93,13 +93,92 @@ other methods in the programme, and presents benchmarks for asynchronous
visualisation and simulation.
-\section{Virtual testbed}
+\section{Methods}
Virtual testbed is a computer programme that simulates ocean waves, ship motion
and compartment flooding. One feature that distinguishes it with respect to
-existing proposals is real-time visualisation and the use of graphical
-accelerators to speed up computations.
-
+existing proposals is the use of graphical accelerators to speed up
+computations and real-time visualisation that was made possible by these
+accelerators.
+
+The programme consists of the following modules: \texttt{vessel} reads
+threedimensional ship hull model from an input file, \texttt{gui} draws current
+state of the virtual world and \texttt{core} computes each step of the
+simulation. The \texttt{core} module consists of components are linked together
+in a pipeline, in which output of one component is the input of another one.
+The computation is carried out in parallel to visualisation, and
+synchronisation occurs after each simulation step. It makes graphical user
+interface responsive even when workstation is not powerful enough to compute in
+real-time.
+
+Inside \texttt{core} module the following components are present: wavy surface
+generator, velocity potential solver, pressure force solver. Each component in
+the \texttt{core} module is interchangeable, which means that different wavy
+surface generators can be used with the same velocity potential solver. Once
+initialised, these components are executed in a loop in which each iteration
+computes the next time step of the simulation. Although, iterations of the
+loop are sequential, each component is internally parallel, i.e.~each component
+uses OpenMP or OpenCL to perform computations on each processor or graphical
+core. In other words, Virtual testbed follows BSP model~\cite{valiant1990bsp}
+for organising parallel computations, in which a programme consists of
+sequential steps each of which is internally parallel
+(fig.~\ref{fig:architecture}).
+
+\begin{figure}
+\caption{Virtual testbed \texttt{core} module components.\label{fig:architecture}}
+\end{figure}
+
+\subsection{Wavy surface generation}
+
+There are three models that are used for wavy surface generation in Virtual
+testbed: autoregressive moving average model (ARMA), Stokes wave, and plane
+sine/cosine wave. It is not beneficial in terms of performance to execute ARMA
+model on a graphical accelerator~\cite{gankevich2018ocean}: its algorithm does
+not use transcendental mathematical functions, has nonlinear memory access
+pattern and complex information dependencies. It is much more efficient (even
+without serious optimisations) to execute it on a processor. In contrast, the
+other two waves are embarrassingly parallel and easy to rewrite in OpenCL.
+
+Each wave model outputs threedimensional (one temporal and two spatial
+dimensions) field of wavy surface elevation, and ARMA model post-processes this
+field using the following algorithm. First, autocovariance function (ACF) is
+estimated from the input field using Wiener---Khinchin theorem. Then ACF is
+used to build autocovariance matrix and determine autoregressive model
+coefficients. Finally, the coefficients are used to generate new wavy surface
+elevation field.
+
+The resulting field is stochastic, but has the same integral characteristics as
+the original one. In particular, probability distribution function of wavy
+surface elevation, wave height, length and period is preserved. Using ARMA
+model for post-processing has the following advantages.
+\begin{itemize}
+
+ \item It makes wavy surface aperiodic (its period equals period of
+ pseudo-random number generator, which can be considered infinite for
+ all practical applications) which allows to perform statistical studies
+ using Virtual testbed.
+
+ \item It is much faster to generate wavy surface with this model than with
+ the original model, because ARMA model involves only multiplications
+ and additions rather than transcendental mathematical functions.
+
+ \item This model allows to use any wavy surface as the input (not only
+ plane and Stokes waves). Frequency-directional spectrum of a particular
+ ocean region can be used instead.
+
+\end{itemize}
+This paper gives only a short description of the model, please refer
+to~\cite{gankevich2018thesis,gankevich2018ocean} for in-depth study.
+
+To summarise, wavy surface generator produces wavy surface elevation field
+using one of the models described above. For ARMA model it is impractical to
+generate it using graphical accelerator, and for other models it is to trivial
+to discuss. This field is an input for velocity potential solver.
+
+\subsection{Velocity potential computation}
+\subsection{Pressure force computation}
+
+\section{Results}
\section{Vessel}
@@ -111,10 +190,13 @@ Compare load time to iges.
Compare CPU to GPU.
+\section{Discussion}
+
\section{Conclusion and future work}
-Wind simulation, rudder and propeller, compartment flooding and fire.
+Wind simulation, rudder and propeller, compartment flooding and fire,
+trochoidal waves.
\bibliographystyle{splncs04}
diff --git a/references.bib b/references.bib
@@ -1,4 +1,19 @@
+@Article{ valiant1990bsp,
+ author = {Valiant, Leslie G.},
+ title = {A Bridging Model for Parallel Computation},
+ journal = {Communications of the ACM},
+ volume = {33},
+ number = {8},
+ month = aug,
+ year = {1990},
+ issn = {0001-0782},
+ pages = {103--111},
+ doi = {10.1145/79173.79181},
+ publisher = {ACM},
+ address = {New York, NY, USA}
+}
+
@Article{ shin2003nonlinear,
title = {Nonlinear time domain simulation technology for seakeeping
and wave-load analysis for modern ship design. Authors'
@@ -78,7 +93,31 @@
year = {2016},
issn = {0029-8018},
doi = {10.1016/j.oceaneng.2016.03.015},
- url = {http://www.sciencedirect.com/science/article/pii/S0029801816001220},
author = {Jose Luis Cercos-Pita and Gabriele Bulian and Luis
PĂ©rez-Rojas and Alberto Francescutto}
}
+
+@InBook{ gankevich2018ocean,
+ author = {Gankevich, Ivan and Degtyarev, Alexander},
+ editor = {Velarde, Manuel G. and Tarakanov, Roman Yu. and Marchenko,
+ Alexey V.},
+ title = {Simulation of Standing and Propagating Sea Waves with
+ Three-Dimensional ARMA Model},
+ booktitle = {The Ocean in Motion: Circulation, Waves, Polar Oceanography},
+ year = {2018},
+ publisher = {Springer International Publishing},
+ address = {Cham},
+ pages = {249--278},
+ isbn = {978-3-319-71934-4},
+ doi = {10.1007/978-3-319-71934-4\_18}
+}
+
+@PhDThesis{ gankevich2018thesis,
+ title = {Simulation modelling of irregular waves for marine object
+ dynamics programmes},
+ school = {Saint Petersburg State University},
+ author = {Ivan Gankevich},
+ year = {2018},
+ month = {June},
+ address = {Saint Petersburg, Russia}
+}