# OceanWave3D

## Mission

Resarch and develop robust, fast and accurate methodologies for fully nonlinear and dispersive free surface modelling for marine offshore engineering applications.

## 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 via high-order discretizations
have been analyzed and demonstrated by Bingham
et al. (2007). Further improvements in both efficiency and
robustness is described in Engsig-Karup et al. (2008) for a
complete model in three space dimension. These developments
led to the original algorithmic strategy due to Li and
Fleming be generalized to a flexible-order finite difference discretization in
three space dimensions that could be mapped with high
efficiency to Graphics Processing Units (GPUs) by Engsig-Karup,
Madsen and Glimberg (2011). This work was aimed at **closing the
peformance gap** between traditional Boussinesq-type models and volumen-based solvers
such as the fully nonlinear potential flow model and enabled
for the first time fast (near) **real-time** nonlinear
hydrodynamics calculations at unpreceedented speed for such a
model. The model was developed 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), Paulsen et
al. (2014), Bigoni et al. (2015) and Engsig-Karup et
al. (2015) and Duz et al (2016).

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
engineering 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 (see licensing terms below).

## Research

The OceanWave3D model has been developed at Technical University of Denmark as a part of ongoing research efforts with Allan P. Engsig-Karup as lead architect and developer. Functionality aimed at practical applications have been developed in collaboration among researchers from DTU Compute, DTU Mechanics and DTU Wind Energy.

The research activities at DTU Compute focus on development, benchmarking and application 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 directed towards advanced engineering applications.

## 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.
- Adaptive unstructured spectral element model with high mesh flexiblility to model coastal and marine areas.

## 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"
}
**

GPULAB library by
DTU Compute is licensed by the
Creative Commons
Attribution 4.0 International License.

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 (VOF). See the waves2Foam package description along with this release information Release Oct. 15, 2015. with announcement Public release.
- Hybrid model for violent wave-structure interactions possible through multi-physics hybrid coupling of OceanWave3D and Refresco (Urans/VOF). Learn more from comparison paper: LINK.
- Efficient and accurate numerical wave tank experiments. Wave load project results
- Large-scale simulation of coastal areas where the sea floor varies. This makes it possible to predict local wave climates for coastal regions.
- Very accurate prediction of kinematics from sea floor to free surface which may be used in wave- or flow-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 fully nonlinaer wave-structure interactions in marine areas or regions and take into account real geometry of structures.
- 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 numerical model 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. 2015.
- Engsig-Karup, A.P., Eskilsson, C. and D. Bioni. A Stabilised Nodal Spectral Element Method for Fully Nonlinear Water Waves. In http://arxiv.org. 2015.
- Duz, B., Bunnik, T., Kapsenberg, G. and Vaz, G. Numerical simulation of nonlinear free surface water waves - coupling of a potential flow solver to a URANS/VOF code. OMAE2016, 2016.

## PhD theses

- Engsig-Karup, A. P. Unstructured Nodal {DG-FEM} solution of high-order Boussinesq-type equations (2006), Department of Mechanical Engineering, Technical University of Denmark.
- 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