iccsa-19-vtestbed

git clone https://git.igankevich.com/iccsa-19-vtestbed.git
Log | Files | Refs

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} +}