# OceanWave3D

## Background

For efficient simulation of free surface flow over variable depth in coastal and
offshore
engineering a first Boussinesq model was derived by Peregrine
(1976). This model was restricted to accurate simulations in
shallow waters. The equations were later extended for the
adaption to deeper waters. This led to the development of
several modified forms of Boussinesq-type equations,
e.g. Madsen et al. (1992) and Nwogu (1993) and later Madsen et
al. (2003). Engsig-Karup et al. (2008) developed a robust and
efficient
flexible-order finite difference model based on a fully
nonlinear and dispersive potential flow model which was
thereafter referred to The OceanWave3D model. The OceanWave3D model addresses the limitations in
practical application ranges of most Boussinesq-type models and is inspired by the original work by Li and Fleming
(1997) who were the first to propose a low-order multigrid
method for efficient and scalable solution of the fully
nonlinear potential flow equations for water wave
applications. Extensions to the work of Li and Fleming (1997)
focusing on improved efficiency and robustness have been made by Bingham
et al. (2007) and Engsig-Karup et al. (2008). The original algorithmic strategy due to Li and
Fleming was generalized to flexible-order discretizations in
three space dimensions by Engsig-Karup,
Madsen and Glimberg (2011) aimed at **closing the
peformance gap** between
traditional Boussinesq-type models and volumen-based solvers
such as the fully nonlinear potential flow model and enable
fast (near) **real-time** hydrodynamics calculations. The model
was developed for arbitrary-order discretizations
to enable efficient massively parallel computations for
arbitrary sized (large-scale) problems on modern
heterogenous many-core hardware and analyzed in more detail
by Engsig-Karup (2014). Several novel improvements of the
above-mentioned developments of the
work are described in Ducrozet et al. (2012), Ducrozet et
al. (2013), Engsig-Karup et al. (2014) and Paulsen et
al. (2014).

The
OceanWave3D model can be viewed as merely a 'discrete
free surface model' of the Fully Nonlinear and Dispersive Potential Flow equations with application range limited only by the
truncation errors introduced in the discretization procedure
and the assumptions behind the model, namely, that it is
potential flow. The novel parallel numerical algorithms and efficient
implementations combined with the use of modern technology
makes it possible to achieve high performance making it
feasible as a base solver for novel engineering analysis and
applications. To advocate **reproducable science** and
contribute to stimulate **fundamental research** and **collaborations** aimed at
delivering more advanced engineering tools, the
software is delivered as open source.

## Research

The OceanWave3D model has been developed at Technical University of Denmark as a part of ongoing research efforts with involvement of researchers from DTU Compute, DTU Mechanics and DTU Wind Energy.

Research at DTU Compute focus on development of new algorithms and new analysis techniques for the development of robust and fast numerical tools and enabling proper use of modern technology for scientific calculations.

## Model features

The model has been designed to enable fast engineering analysis of wave problems.

Some key Oceanwave3D model features are given below.

The model has been designed and implemented to enable

- General-purpose, robust and highly efficient computations.
- Flexible-order finite difference discretization enabling both h- and p-refinement strategies for optimally balancing accuracy and work. This also means that both low-order and high-order accuracy in the discretization is available (most other models have only low order accuray available hindering accurate long time simulations).
- Flexible with respect to geometry via curvilinear meshes.
- Efficient and scalable Multigrid Preconditioned Defect Correction (PDC) Method for iterative solution of Laplace problem for flexible-order discretizations.
- Explicit and robust time-integration using a stage-optimized fourth-order Runge-Kutta method. A unique property is the model has conditional CFL stability which is governed only by the physics resolved and not by the numerics (which is usually the case for high-order discretizations and refined grids).
- Large-scale simulations through data-parallel MPI-based domain decomposition method. The multi-GPU version of the OceanWave3D model can solve problems of arbitrary many degrees of freedom on modern super computing clusters. Currently, tests have been done with excellent scalability for problems up to about 10.000.000.000 degrees of freedom in the volumetric mesh using 64 multi-device CPU-GPUs.
- Fast analysis via a Massively parallel MPI-CUDA multi-GPU multiblock implementation on heterogenous and modern many-core hardware
- Affordable and efficient computations using commodity hardware. For example, a single GPU version of the OceanWave3D model can solve problems with close to 150.000.000 degrees of freedom in the volumetric mesh for the laplace problem in single precision and using 6GB RAM and process one iteration of the efficient iterative solver in less than 1 second on a Fermi GPU.

## Source code

The OceanWave3D software exist in several versions (Fortran 90 and C++) and currently the Fortran 90 version has been prepared to be used freely under the terms of the GNU Lesser General Public License v3. For any use of the OceanWave3D source code in your environment and reporting proper reference must be made to the origin of the software.

Please cite the following reference(s) to support the work.

The OceanWave3D or OceanWave3D-CPU version is first presented in

**
@ARTICLE{EngsigKarupEtAl08,
AUTHOR = "Engsig-Karup, A.P. and Bingham, H.B. and Lindberg, O.",
TITLE = "An efficient flexible-order model for {3D} nonlinear
water waves",
YEAR = "2009",
JOURNAL = "Journal of Computational Physics",
VOLUME = "228",
PAGES = "2100-2118"
}
**

DOWNLOAD from GITHUB: OceanWave3D-Fortran90.

The GPU-accelerated version OceanWave3D-GPU is first presented in

**
@article {EngsigKarupEtAl2011,
author = {Engsig-Karup, A. P. and Madsen, Morten G. and Glimberg,
Stefan L.},
title = {A massively parallel GPU-accelerated model for analysis of
fully nonlinear free surface waves},
journal = {International Journal for Numerical Methods in Fluids},
volume = {70},
number = {1},
publisher = {John Wiley & Sons, Ltd},
year = {2012},
}
**

A library implementation of the OceanWave3D-GPU version has been done
in the GPULAB Library which
is presented in

**
@INPROCEEDINGS{GlimbergEtAl13,
AUTHOR = "Glimberg, L. S. and Engsig-Karup, A. P. and Nielsen,
A. S. and Dammann, B.",
TITLE = "Development of software components for heterogeneous
many-core architectures",
EDITOR = "Raphael Couturier",
BOOKTITLE = "Designing Scientific Applications on GPUs",
SERIES = "Lecture notes in computational science and engineering",
PAGES = "73--104",
PUBLISHER = "CRC Press / Taylor \& Francis Group",
YEAR = "2013"
}
**

Request for direct access to the software can happen by E-mail apek @ dtu . dk with a statement of intended purpose of application. It is possible to contribute to the project.

## Applications

The model is used in several academic/industrial applications for

- Real-time interactive ship-wave hydrodynamics in an industrial full mission simulator. See Project description.
- Hybrid model for violent wave-structure interactions enabled through a multi-physics hybrid coupling of OceanWave3D and OpenFOAM. See the waves2Foam package description along with this release information Release Oct. 15, 2015. with announcement Public release.
- Efficient and accurate numerical wave tank experiments. Wave load project results
- Large-scale simulation of coastal areas where the sea floor varies.
- Very accurate prediction of kinematics from sea floor to free surface which may be used in wave-induced structural loads.
- Development of new tools for added resistance and maneurering calculations of ships at slow forward speed in european SHOPERA consortium. See Project announcement.
- Prediction of wave-structure interactions in marine areas.
- Stochastic wave simulations for uncertainty quantification.
- GPULAB library and the OceanWave3D-GPU module is used in the large Danish joint Academic-Industry project DeRisk (2015-2019).

Ongoing work seek to address or explore new types or aspects of next-generation applications.

If you have an application or a project described online somewhere, E-mail apek @ dtu . dk and give directions to proper referencing to get it listed here.

## Peer-Reviewed Publications related to the solver in this project

- Li, B. and Fleming, C. A. A three dimensional multigrid model for fully nonlinear water waves. 1997. Coastal Engineering, Vol 30: 235-258.
- H. B. Bingham and H. Zhang. On the accuracy of finite-difference solutions for nonlinear water waves. J. Engng. Math., 58:211-228, 2007.
- A. P. Engsig-Karup, H. B. Bingham and O. Lindberg. An efficient flexible-order model for 3D nonlinear water waves. December, 2008. Journal of computational physics, 228, pp. 2100--2118.
- Engsig-Karup, A. P., Madsen, M. G. and Glimberg, S. L. 2011 A massively parallel GPU-accelerated model for analysis of fully nonlinear free surface waves. In International Journal of Numerical Methods in Fluids Volume 2012; 70(1):20-36.
- Ducrozet, G., Bingham, H. B., Engsig-Karup, A. P., Bonnefoy, F. and Ferrant, P. 2012 A comparative study of two fast nonlinear free-surface water wave models. In International Journal for Numerical Methods in Fluids 08/2012; 69(11):1818-1834.
- Ducrozet, G., Engsig-Karup, A. P., Bingham, H. B. and Ferrant, P. 2013 A non-linear wave decomposition model for efficient wave-structure interaction. Part A: Formulation, validations and analysis. In Journal of Computational Physics 09/2013; 257:863-883.
- Glimberg, S. L., Engsig-Karup, A. P., Dammann, B. and Nielsen, A. S. 2013. (ISBN: 978-1-4665-7162-4) In book: Designing Scientific Applications on GPUs, Chapter: Development of High-Performance Software Components for Emerging Architectures, Publisher: Taylor & Francis, Editors: Raphaël Couturier, pp.73-104.
- Engsig-Karup, A. P., Glimberg, S. L., Nielsen, A. S. and Lindberg, O. 2013. (ISBN: 978-1-4665-7162-4) In book: Designing Scientific Applications on GPUs, Chapter: Fast hydrodynamics on heterogenous many-core hardware, Publisher: Taylor & Francis, Editors: Raphaël Couturier, pp.251-294.
- Engsig-Karup, A. P. 2014 Analysis of efficient preconditioned defect correction methods for nonlinear water waves. Accepted for publication in International Journal of Numerical Methods in Fluids.
- Paulsen, B. T., Bredmose, H. and Bingham, H. B. 2014. An efficient domain decomposition strategy for wave loads on surface piercing circular cylinders. In Coastal Engineering, Volume 86, Pages 57-76.
- Bigoni, D., Engsig-Karup, A.P. and Eskilsson, C. A Stochastic Nonlinear Water Wave Model for Efficient Uncertainty Quantification. In http://arxiv.org.

## PhD theses

- Glimberg, S. L. Designing Scientific Software for Heterogeneous Computing - With application to large-scale water wave simulations (2013), Department of Applied Mathematics and Computer Science, Technical University of Denmark.

## Data