1. Introduction
Each fluid flow is subject to the conservation laws of mass, momentum and energy which can be described by several nonlinear partial differential equations. Numerical modelling is the method of solving these equations numerically by replacing them with a set of algebraic equations. Today, this powerful technique is used in all industries and research areas, such as aero- and hydrodynamics, weather predictions or mixing processes. In contrast to experiments, numerical simulations are in general cheaper, faster in the preparation and more flexible with respect to specific external conditions or changing geometries.
Free surface flows frequently arise in nature and present an increasingly important subject due to increased sea transport, population growth and changing climate. The correct simulation of the interfaces separating the different fluids is key knowledge in marine and hydraulic engineering. The class of interface phenomena range from current to large-scale waves of varying amplitude to splashing with coalescence and breakup situations. This variety of effects reveals the development of capable numerical models for two-phase flow applications as a difficult task.
The open-source hydrodynamics framework REEF3D [
1] was originally developed to overcome these difficulties by taking the specific challenges in hydraulics, coastal and marine engineering into consideration. This affected the design choices for the grid architecture, the discretization methods of the governing equations, the treatment of the complex free surface and the computational efficiency.
The ever increasing computational resources allow the computation of more and more complex flow problems at a reasonable cost, even for small companies and research institutions. The limiting factor of such simulations becomes less the necessary computational power but rather the time it takes for the engineer to generate the numerical grids and post-process the results. However, these high-performance computations are only possible if the code provides a consistent parallelisation strategy. From the beginning, REEF3D was designed under consideration of high-performance computations (HPC). Therefore, all parts of the code are fully parallelised based on the domain decomposition strategy and the Message Passing Interface (MPI).
The numerical grid affects the range of applicability of numerical methods but also the productivity in usage. REEF3D utilises a rectilinear grid to overcome the limitations from complicated grid generation processes. In each principal direction, user-specified analytical stretching functions enable the refinement of the grid at selected locations. Ray tracing and inverse distance algorithms are included to incorporate natural bathymetries and complicated structures using the STL file format. Together with the directional immersed boundary method of Berthelsen and Faltinsen [
2], this effectively simplifies the user input in pre-processing.
Suitable boundary conditions for the application in hydraulics, coastal and marine engineering have to be given. This particularly includes establishing a numerical wave tank with varies wave generation and dissipation methodologies. The level set method is used for capturing the propagation of the free surface [
3]. The challenge arising from most interface models relates to physical discontinuities of the fluid properties at the interface. Low-order discretization techniques lead to a large amount of numerical diffusion, whereas high-order methods produce oscillatory and non-physical results. In order to keep a high numerical accuracy and stability, the implementation of a high-order weighted essentially non-oscillatory (WENO) scheme is the key step towards the accurate representation of sharp interfaces. The Cartesian grid makes it possible to employ the fifth-order accurate WENO scheme of Jiang and Shu [
4] for all convection terms in REEF3D. Also for the discretization in time, a high-order method is selected with the third-order total variation diminishing (TVD) Runge–Kutta scheme [
5]. The equations of fluid motion are solved on a staggered grid which ensures tight velocity–pressure coupling and avoids unphysical high air velocity above waves. As a result, wave propagation and transformation can be calculated throughout the wave steepness range up to the point of wave breaking and beyond, with no artificially high air velocities impacting the quality of the free surface. In the past, multiple applications proved the validity of this approach for wave propagation and wave–structure interaction. In [
6], the wave generation and absorption were validated and compared to other CFD codes. Bihs et al. [
7] analysed the generation, propagation and impact of wave packets using REEF3D. Breaking waves and their interaction with a complex jacket structure were investigated by Aggarwal et al. [
8]. Multi-directional irregular waves were subject of the studies in [
9]. Alternative approaches for a numerical wave tank based on CFD were presented in e.g., [
10,
11]. Both utilise a volume of fluid method with interface-compression [
12] to capture the free surface and a collocated unstructured grid with second-order accuracy for the spatial and temporal discretization. The models were applied to experiments for wave propagation, and all results indicated the applicability of CFD for these kinds of problems [
13,
14,
15].
The source code of REEF3D is available at
http://www.reef3d.com and is published under the GPL license, version 3. REEF3D is written in an object-oriented C++ structure which enables a module-based design. This led to the development of several extensions of the main code. For applications near the coast and in rivers, a dynamic sediment transport model and porous structures were incorporated. The simulated flow field is coupled with the morphological module in REEF3D to simulate, e.g., the scouring process around piles [
16]. The morphological evolution of the sediment bed is based on the Exner formula, a modified calculation of the critical bed shear stress and a sand slide algorithm. The porous medium module solves the volume-averaged Navier–Stokes equations by adding appropriate terms and coefficients to the common Reynolds-averaged Navier–Stokes equations solved in REEF3D::CFD [
17]. The model is also adapted for vegetation [
18]. In Bihs and Kamath [
19], a floating algorithm was presented which utilises the same directional immersed boundary method developed for fixed structures. Recently, a mooring model based on finite elements [
20] was added which improves the capabilities of the model for the simulation of moored-floating structures in waves [
21].
The phase-resolved modelling of the far-field is important for providing a realistic wave boundary condition for near-field CFD wave modelling. REEF3D, with its distinct numerical basis of high-order finite differences on rectilinear grids, is capable of incorporating simplified phase-resolving wave models for these types of problems.
For very large scale wave modelling, such as the wave transformation from the ocean to the coast, spectral wave models such as SWAN [
22] are applicable. SWAN solves the wave action or energy balance equation, which describes the wave spectrum evolution in space and time. The model lacks the ability to resolve phases which is necessary information for more detailed analyses. Here, depth-averaged shallow water models have been favoured for the coastal and harbour wave modelling because most coastal areas share relatively shallow water conditions. Shallow water models are essentially two-dimensional and, thus, require fewer computational resources. One possible approach is based on the Boussinesq equations [
23] which can accurately model wave reflection and diffraction as well as non-dispersive linear wave propagation. Extended versions of the Boussinesq equations enable the prediction of wave propagation and transformation from deep to shallow water using improved dispersive terms [
24]. In contrast, REEF3D::SFLOW was introduced as a novel non-hydrostatic shallow water model following the quadratic pressure profile assumption. It benefits from the high-order discretization schemes and good scaling properties of REEF3D. Thus, large-scale coastal wave propagations over natural topography are possible.
The specific characteristic of Norwegian fjords and the general demand for fast far-field solutions in marine engineering require an alternative approach due to the changing dispersion relation in deep water regions. A potential flow solver is ideal for the fast calculation of wave propagation in deep water conditions as viscous effects are not important in the far-field domain. The general potential problem for waves is described by the Laplace equation with boundary conditions for the free surface and the bottom. This system of equations is highly nonlinear and describes a one-phase three-dimensional flow field. High-order spectral (HOS) methods [
25], which solve the fully nonlinear potential problem in deep water, have gained popularity [
26]. HOS methods are capable of capturing nonlinear wave interaction at a reasonable computational cost, though they are dependent on empirical input for wind forcing and wave breaking. Amongst others, Seiffert and Ducrozet [
27] incorporated a wave breaking parameter in HOS-NWT [
28] and simulated irregular breaking waves in 2D without wind or current. They could successfully compare surface elevation, wave spectra and energy dissipation with experiments. An alternative approach is the fully nonlinear potential flow (FNPF) model, which is based on the solution of the potential problem in physical space and time. The direct numerical solution of the Laplace equation using the method of finite differences is the basis of the model OceanWave3D [
29]. This model has been used to simulate wave–structure interaction [
14,
30] and nonlinear wave propagation over large spatial scales with variable bathymetry [
31]. The effects of wave steepness, water depth, white-capping, and directional spreading can be included with few assumptions to obtain a better description of the real sea state to calculate extreme wave statistics and wave crest height distributions. Within the REEF3D framework, REEF3D::FNPF combines the approach of solving the Laplace equation on a
-coordinate system using high-order finite difference methods with its high-performance computing capabilities and natural bathymetry handling.
Previously, different wave models are developed by different developers and institutes, often with various numerical implementations, making a direct comparison among the modelling techniques difficult. Now, REEF3D has evolved into an open-source numerical framework that includes several types of numerical wave modelling: a computational fluid dynamic (CFD) solver REEF3D::CFD solving the Navier–Stokes equations, a shallow water model REEF3D::SFLOW solving the non-hydrostatic shallow water equations and a fully nonlinear potential flow solver REEF3D::FNPF solving the Laplace equation with the fully nonlinear boundary conditions. With such a numerical framework, an objective comparison of the different wave modelling techniques is made possible. The authors attempt to reveal the differences in the three numerical wave modelling methods in terms of their numerical performance and physical validity by explaining the development and numerical implementations of REEF3D and testing its three modules through a series of benchmark cases.
The structure of the manuscript is arranged as the following. First, in
Section 2, the development and numerical implementation of the REEF3D numerical framework and its three wave modelling modules are introduced. Then, an objective comparison among the different types of wave modules is performed using the three REEF3D wave modelling modules through a series of benchmark testings in
Section 3. In the process, the evidence of the models’ strengths and limitations are revealed and explained. Finally, the findings and recommendations for an educated choice of the wave models are summarised in
Section 4.
4. Conclusions
In the presented manuscript, a comparative study of the three major types of phase-resolved wave models is presented with the use of the open-source hydrodynamics framework REEF3D. The development and numerical implementation of REEF3D are explained extensively to show the numerical consistency as well as differences among the wave models. The benchmark studies provide an insight into the strengths and limitations of each type of the wave modelling technique in terms of their computational performance as well as their limitations in different types of wave hydrodynamic phenomena. Thanks to the fact that all three models are implemented in the same numerical framework, an objective comparison is presented, which is not influenced by the various numerical implementations from different developers.
REEF3D::CFD solves the incompressible Navier–Stokes equations with a RANS turbulence model. Here, the pressure is solved on a staggered grid using the projection method. This ensures a tight pressure–velocity coupling. The model benefits from the utilization of a level set function to capture the motion of the free surface implicitly. In the numerical wave tank, the waves are generated and absorbed with either the relaxation method or using Dirichlet boundary conditions.
REEF3D::SFLOW reduces the computational costs significantly by solving the depth-averaged shallow water equations with a non-hydrostatic extension based on a quadratic vertical pressure profile. In comparison to existing approaches, like Boussinesq-type models or multi-layer approaches, the system of equations is solved with the projection method and high-order discretization schemes. This increases the stability of the computation through simpler terms in the equation and semi-implicit calculations for the pressure. Furthermore, the model benefits from the parallelization strategy in REEF3D which enables the simulation of large scale wave propagation near shores.
REEF3D::FNPF closes the gap between the efficient 2D shallow water solver and the accurate CFD solver for wave propagation problems as the FNPF potential flow solver is not restricted by water depth. By solving the three-dimensional Laplace equation with nonlinear boundary conditions for the free surface and the bottom, no simplifying assumptions regarding the wave characteristics or bottom slope are taken into account. At the same time, the use of a -coordinate system removes the additional cost of a two-phase approach. The model employs high-order discretization schemes in space and time which allows for larger cell sizes and time steps. Typically, ten cells in the vertical direction are sufficient to obtain accurate wave propagation. Very fast parallelized algorithms for solving the system matrix ensure the computational efficiency and enable the application for large-scale problems in deep and shallow water.
The performance of the presented modules has been tested and compared for several benchmark applications. The direct comparisons for regular waves show that all approaches are capable of predicting the wave propagation in their range of applicability. The challenging submerged bar case revealed very good accuracy of REEF3D::CFD and REF3D::FNPF, whereas the shallow water model fails due to its theoretical limitations. The two-dimensional wave breaking case shows that all three models are able to represent a correct wave energy dissipation during a breaking process. In the case of the three-dimensional wave breaking case, REEF3D::CFD and REEF3D::SFLOW capture the second breaking wave more accurately since both represent the swash zone dynamics better. The CFD based numerical wave tank is the only model that accurately represents the physics of wave propagation including complex overturning wave breaking. The computational speed gains from REEF3D::SFLOW and REF3D::FNPF in comparison to REEF3D::CFD are found to be by factors of about 10 and 40 on average for 2D simulations and 60 and 800 for the 3D simulation. The higher computational demands of the CFD model are compensated by that fact that it is the only model capable of representing the geometry of an overturning wave breaker accurately, which is important for studies on slamming load on structures.
With the strengths and limitations of each numerical models in mind, the future work will focus on the coupling of the different modules within REEF3D. A one-way coupling will use the propagated waves from a potential theory model as input waves in the CFD simulations. Two-way coupling processes will be interesting for applications in marine engineering with strong fluid–structure interactions.