# Development of a Protocol to Couple Wave and CFD Solvers Towards Reproducible CFD Modeling Practices for Offshore Applications

Benjamin Bouscasse, Guillaume Ducrozet, Jang Whan Kim, Hojoon Lim, Young Myung Choi, Arne Bockman, Csaba Pakozdi, Eloïse Croonenborghs, Hans Bihs

► To cite this version:

Benjamin Bouscasse, Guillaume Ducrozet, Jang Whan Kim, Hojoon Lim, Young Myung Choi, et al. Development of a Protocol to Couple Wave and CFD Solvers Towards Reproducible CFD Modeling Practices for Offshore Applications. ASME 2020 39th International Conference on Ocean, Offshore and Arctic Engineering, Aug 2020, Virtual, United States. 10.1115/OMAE2020-19188. hal-03124368

HAL Id: hal-03124368

https://hal.science/hal-03124368

Submitted on 21 May 2021

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>
DEVELOPMENT OF A PROTOCOL TO COUPLE WAVE AND CFD SOLVERS TOWARDS
REPRODUCIBLE CFD MODELING PRACTICES FOR OFFSHORE APPLICATIONS

**Benjamin Bouscasse**
Ecole Centrale de
Nantes
Nantes, France

**Guillaume Ducrozet**
Ecole Centrale de
Nantes
Nantes, France

**Jang Whan Kim**
TechnipFMC
Houston, USA

**Hojoon Lim**
TechnipFMC
Houston, USA

**Young Myung Choi**
Bureau Veritas
Paris
France

**Arne Bockman**
DNV GL
Oslo
Norway

**Csaba Pakozdi**
SINTEF-OCEAN
Trondheim
Norway

**Eloïse Croonenborghs**
SINTEF-OCEAN
Trondheim
Norway

**Hans Bihs**
NTNU
Trondheim
Norway

ABSTRACT

Generating waves inside the CFD domain is a topic of
interest in the offshore and naval industry. For practical reasons
it is useful to use a potential wave kinematic solver (PWKS) to
generate incident waves and use this solution to initialize and
propagate incident waves in the CFD solver. Protocols to
transfer the wave data from PWKS to CFD solver have been
developed to ensure the reproduction of the wave kinematics
from a PWKS in CFD solvers. Based on the survey results from
a number of PWKS and CFD solvers available, the paper
presents the various ways to express the solution and what is
needed to reconstruct the fields needed in the CFD.

Keywords: NWT, non-linear waves, coupling.

NOMENCLATURE

η wave elevation

u velocity

p pressure

φ velocity potential

PWKS Potential Wave Kinematic solver

HOS Higher Order Spectral

INTRODUCTION

The "JIP on Reproducible Computational Fluid Dynamics
(CFD) Modeling Practices for Offshore Applications" (the JIP,

hereafter) has been initiated to consolidate, document and verify
the CFD modeling practices where there are well-established
practices ready to be used for offshore projects. The generation
of waves inside the CFD domain is a topic of interest with the
aim to develop modelling practices for CFD-based Numerical
Wave Tank (CNWT).

Industry standards consider 3 hours irregular waves usually built
as a sum of linear waves. However waves in the ocean are
nonlinear and this has implications in the long-term extreme
statistics relevant to the industry. Furthermore, the most popular
CFD methods are nonlinear so coupling with nonlinear wave
model might help to reduce the CFD domain size in avoiding
meshing a zone only for the wave nonlinearities to develop [1].

Some potential wave kinematics solvers (PWKS) are able to
generate nonlinear irregular waves (see e.g. [7-13]), and several
groups have developed methods to use a potential solution for
incident waves in their CFD solvers (see [2,6,11] among others).
Those have been essentially done for pilot studies coupling one
specific PWKS with one specific viscous CFD solver. A JIP
objective for the NWT Preparation Workgroup was
implementing a coupling protocol to facilitate the interaction
between the PWKS and the CFD.

NWT Prep WG participants have combined their own PWKS-
CFD coupling interface calls to draft the consolidated protocols
for library and file formats to be used for the PWKS-CFD
coupling. The consolidated protocol consists of the following
functions calls from CFD software to the PWKS interface:
Global set up and controls; Wave model set up; Wave runtime calls. The consolidation procedure does not detail how to interpolate wave kinematics from PWKS to the CFD grid.

One-way coupling was considered sufficient so the PWKS need to be run independently from the CFD. It is therefore necessary to define file formats of the wave data: User Defined Waves (UDW). The following principles are used when consolidating the UDW protocols: the wave kinematics saved and then loaded following the UDW protocols should be the same within an acceptable tolerance for CFD-based NWT simulation; it should cover the entire data format that can be generated by the PWKS software verified by the JIP; the data file size generated should be manageable for the 3-hr irregular wave simulation in a typical HPC; the input and of the wave data and regeneration of the wave kinematics using the data should not take more than 10% of the CNWT simulation.

Five UDW protocols (or file formats) are developed dedicated to: Linear Airy Waves (UDW1); Analytic Laplace solution in linearized domain (UDW2f); Numerical Laplace solution in sigma-transformed domain (UDWp); Interpolation in Cartesian coordinate in physical space (UDW3p); Interpolation in Cartesian coordinate in sigma-transformed domain (UDW3s). Those protocols are adapted for the various families of PWKS.

# CFD WAVE GENERATION

## Methods

Wave generation can be done in CFD through several methodologies. The boundary condition can be adapted in order to generate and absorb waves. Most popular generation techniques forces the waves progressively in the CFD domain by the use of blending zones, this is the case of the 2 CFD solvers presented in the following OpenFOAM and StarCCM+ each of them implementing it differently. Other techniques need the initialization of the wave field in the whole domain and use it to compute only a complementary parts (SWENSE), this may require further information from the PWKS solver.

### OpenFOAM – Waves2Foam

<figure><img src="image_2.png" /><figcaption>FIGURE 1: CFD domain with relaxation zones</figcaption></figure>

Waves are generated and absorbed with a relaxation scheme. The flow quantities from the viscous flow solver are blended with the target values from PWKS in a defined relaxation zone as introduced in the open source module `waves2Foam` [2]. A sketch of a simplified computational domain is given in FIGURE 1. In

the relaxation zone, the flow quantities are relaxed by equation and

$$ \alpha = (1 - w)\alpha + w \alpha^{\text{target}} \quad (1) $$

$$ \mathbf{u} = (1 - w)\mathbf{u} + w \mathbf{u}^{\text{target}} \quad (2) $$

where w is the weight function. Both α and fluid velocity **u** are relaxed in the present study. Various choices of weight functions are given in [3].

### Star-CCM+

<figure><img src="image_3.png" /><figcaption>FIGURE 2: Euler-Overlay Method</figcaption></figure>

The one-way coupling in Star-CCM+ has been made by the Euler-Overlay Method [1, 15, 16]. Source terms are added to the transport equations of the volume fraction and fluid momentum. Finite-volume formulation of diffusion-transport equation of a scalar function φ is given by

$$ \frac{d}{dt} \int_V \rho \phi \, dV + \int_A \rho \phi (\mathbf{v} - \mathbf{v}_g) \cdot \mathbf{da} = \int_A \Gamma \nabla \phi \cdot \mathbf{da} + \int_V S_\phi \, dV \quad (3) $$

where ρ is the density; **v** denotes the fluid velocity vector; **v**<sub>g</sub> denotes the fluid mesh velocity vector; Γ is the diffusion parameter; S<sub>φ</sub> is the source term for the scalar. The scalar function φ can be velocity or volume fraction depending on whether Eq. (3) describes conservation of momentum or volume fraction. In Euler Overlay Method, additional source term is added to each conservation equation. The new source term is given by

$$ S_{\phi}^{*} = S_{\phi} - \mu \rho (\phi - \phi_{E}) \quad (4) $$

where φ<sub>E</sub> is the scalar quantity from the PWKS. The damping function μ changes from zero at the inner area of CFD domain
near the body to a constant value at the outer area of the domain as shown in FIGURE 1.

## Required inputs

For solving Navier Stokes equations for marine applications, the velocity **u** and wave elevation η are the unknowns that need to be provided. With most popular CFD solvers the equations are discretized on unstructured grid and the information has to be provided at a large number of arbitrary positions in space and time. For specific requirements e.g. better accuracy or additional capability of SWENSE [14] method, other inputs may be required as pressure *p* or time derivatives or spatial gradients.

## POTENTIAL BASED WAVE MODELS

The potential-based wave model, or PWKS, simulates the irrotational flow field of the inviscid and incompressible fluid. Most of the PWKS's are based on the velocity-potential formulation. The governing equation inside the fluid volume is the Laplace equation. The volumetric values of the velocity field are uniquely defined for the given geometry of the volume (wave elevation) and velocity potential on the surface (surface potential). The evolution equation of the wave can then be formulated by the two canonical variables, wave elevation and surface potential, following Zakharov [4].

The UDW protocols strongly depends on the solution method and the output data format of PWKS. The NWT Prep WG collected the available PWKS's that can generate 3-hr irregular wave and categorized them based on their solution methods and output data format, to derive UDW protocols.

### PWKS for Irregular Wave Generation

The PNWT Prep WG identified 10 PWKS that can simulate fully-nonlinear or 3rd-order nonlinear waves. Among them the following 6 PWKS are selected for the survey of their solution methods and output format:

* HAWASSI (LabMath Indonesia) [7-8]

* HOS-OCEAN/ NWT (Ecole Centrale Nantes) [12-13]

* HOSM (DNV GL)

* IGND (HEU) [10]

* Reef3D (NTNU) [9]

* TPNWT (TechnipFMC Genesis) [11]

### Initial Conditions

The wave generation and propagation problem can be set-up with different choices of initial/boundary conditions.

* Periodic domain

The initial conditions specify the wave field at the initial time in the whole computational domain, φ standing for the velocity potential and η the free surface elevation:

$$ \begin{cases} \eta(x, y, t = 0) \\ \varphi(x, y, z, t = 0) \text{ or } \mathbf{u}(x, y, z, t = 0) \end{cases} \qquad (5) $$

This is the habitual choice for HOS-OCEAN, HOSM.

* **Numerical wave tank**

* **With wave maker**

In this configuration, the initial condition is a fluid at rest and the waves are generated thanks to a prescribed wave maker motion. Assuming the wave maker position denoted as x=X(y, z, t), the boundary condition is provided by a function of time:

$$ \mathbf{u}(x = X, y, z, t) \qquad (6) $$

This is done for example in HOS-NWT and is a natural choice when trying to reproduce experimental data from a wave tank.

* **With relaxation zone**

In this version of the numerical wave tank, the wave generation is not done through a moving boundary, but the wave is blended progressively toward a target wave field over a spatial zone (see an example in [11]). The procedure is similar to the one described above for the CFD.

This is the habitual choice in TPNWT and HAWASSI.

### Solution Methods

Several types of solution methods are used in the wave models, the main ones being listed hereafter:

* **Spectral surface models**

FS Boundary conditions are satisfied after expressing the solution on a set of basis functions satisfying the Laplace equation and the boundary conditions other than the free-surface conditions (eigenfunctions), without discretization of the internal domain. HAWASSI, HOS-NWT, HOS-Ocean and HOSM are in this category. Output of these PWKS are coefficients for wave elevation and surface potential at each time step on a specific set of basis functions. Note that in the presence of a wave maker, the velocity potential solution of the problem can be expressed as the sum of two potentials (defined with different eigenfunctions), see [13]. This has implications in storing the solution.

* **Volumetric models**

The full domain is discretized by finite difference / finite element methods. The solution can be obtained by solving numerically the discretized Laplace equation with the free-surface boundary conditions. σ-transformation normalizing the vertical extent of the volume domain is typically used. Reef3D is in this category. The outputs of these PWKS are wave elevation and velocity potential in the volume domain at each time step.
## Hybrid models

The method of separation of variables is applied after the σ-transformation of the fluid domain. Spectral method is applied for the interpolation of the solution in vertical direction. The horizontal direction is discretized by finite difference / finite element methods. IGN and TPNWT are in this category. The outputs of these PWKS are horizontal distributions of the wave elevation and coefficients of the vertical basis functions at each time step.

## Boundary Integral Equation models

FS boundary conditions are satisfied using fundamental solutions. No PWKS selected uses this methodology.

## Wave Data Formats

The previous solution methods leads to typical set of outputs here categorized under three types.

* **Type A:** $\varphi(x, y, z = \eta(x, y, t), t)$ and $\eta(x, y, t)$ usually from spectral surface models such as HOS, HOSM

* **Type B:** $\varphi(x, y, z, t)$ and $\eta(x, y, t)$ from hybrid models using vertical basis functions such as TPNWT, IGN

* **Type C:** $\varphi(x, y, z, t)$ and $\eta(x, y, t)$ on numerical grid from volumetric models.

These three types of solution can be transformed to express the quantities in arbitrary position in the physical space as needed in the CFD solver. Type B and Type C can use coordinate transformations as sigma-transformed to comply with Cartesian grids.

## VOLUMETRIC RECONSTRUCTION BY MODAL REPRESENTATION

The wave data generated from the PWKS, whether it is surface or volumetric model, need to be reconstructed as a volumetric data that define the velocity field at the CFD grid points. From potential flow theory, velocity and pressure fields are evaluated as:

$$ 
\begin{aligned}
u(x, y, z, t) &= \nabla \varphi(x, y, z, t) \\
p(x, y, z, t) &= -\rho g z - \frac{1}{2} \rho |\nabla \varphi|^2 - \rho \frac{\partial \varphi}{\partial t}
\end{aligned}
\quad (7) $$

Then, the minimum information needed is the velocity potential $\varphi$ in the 3D domain, its time derivative $\frac{\partial \varphi}{\partial t}$ for the pressure and the free surface elevation $\eta$. Additional quantities as gradients are useful for some CFD solvers.

Evaluating analytic expressions that are often used in the spectral and hybrid models at unstructured CFD grid points are time-costly. Then, the reconstruction is usually performed in two steps, first the volumetric information is built on a background structured grid, then the physical quantities are interpolated using the background grid as interpolation nodes.

Several representations are proposed below with specific numerical features that made them relevant to one or several types of solution.

### Representation 1: full spectral representation

From potential flow solver output of type A, the volumetric information can be stored on the form

$$ 
\begin{aligned}
\eta(x, y, t) &= \sum_{m,n} A_{mn}(t) g_m(x) h_n(y) \\
\varphi(x, y, z, t) &= \sum_{m,n} B_{mn}(t) f_{mn}(z) g_m(x) h_n(y) \\
\frac{\partial \varphi}{\partial t}(x, y, z, t) &= \sum_{m,n} C_{mn}(t) I_{mn}(z) g_m(x) h_n(y)
\end{aligned}
\quad (8) $$

where $x, y, z$ are nodes of the background grid. The transformation from surface quantities $\varphi(x, y, z = \eta(x, y, t), t)$ and $\eta(x, y, t)$ to volumetric ones is achieved thanks to a dedicated procedure, see e.g. [5] for HOS solvers.

In this representation the basis functions $g_m, h_n, f_m$ are usually selected to satisfy the Laplace equation and/or appropriate boundary conditions. For instance, the basis functions used in an open sea problem are different from the ones needed in a numerical wave tank.

To improve the accuracy of the representation it is possible to use similar representation for velocity and pressure ([5]).

### Representation 2: Hybrid spectral representation with sigma-transformation

Another possibility, in the context of type B wave data format, is to represent the volumetric information as:

$$ 
\begin{aligned}
\eta(x, y, t) &= \sum_{m,n} A_{mn}(t) N_m^x(x) N_n^y(y) \\
\varphi(x, y, z, t) &= \sum_{m,n,l} B_{mnl}(t) f_l(\sigma) N_m^x(x) N_n^y(y) \\
\frac{\partial \varphi}{\partial t}(x, y, z, t) &= \sum_{m,n,l} C_{mnl}(t) f_l(\sigma) N_m^x(x) N_n^y(y)
\end{aligned}
\quad (9) $$

In this representation $f_l, N_m^x, N_n^y$ are interpolation functions depending on the solver used. This is a natural representation of volumetric models. The coefficients $B_{mnl}$ and $C_{mnl}$ are obtained solving the Laplace equation with Dirichlet BC. This can be done also with type A solutions.
### Representation 3: Grid data

For type C wave data format, the volumetric information can be stored at grid points, with the use of basis functions $N^x, N^y, N^z$:

$$ 
\begin{aligned}
\eta(x, y, t) &= \sum_{m,n} A_{mn}(t) N_m^x(x) N_n^y(y) \\
\varphi(x, y, z, t) &= \sum_{m,n,l} B_{mnl}(t) N_l^z(z) N_m^x(x) N_n^y(y) \quad (10)
\end{aligned}
$$

$$ \frac{\partial \varphi}{\partial t}(x, y, z, t) = \sum_{m,n,l} C_{mnl}(t) N_l^z(z) N_m^x(x) N_n^y(y) $$

### Interpolation from grid data

The background grid does not correspond to the CFD grid (see **FIGURE 3**) and consequently a further interpolation step is necessary. The previous representation 3 applies to the CFD grid as the last step, an example in presented in [6].

<figure><img src="image_4.png" /><figcaption>**FIGURE 3:** FINAL INTERPOLATION STEP ON THE CFD GRID</figcaption></figure>

### STORAGE

The data presented in representation 1, 2 or 3 can be stored:

- in the physical space “p”

- with either the Fourier modes “f” (representation 1) or the coefficients using Eqs. (9)-(10) (representation 2 and 3).

In the last case, for enhanced data storage, it is relevant to use the sigma-transformed data to store only the free surface elevation together with the potential at the boundaries. Coefficients of representations 2 and 3 are then retrieved solving the Laplace problem. This is referred as “s”.

### COUPLING PROTOCOL

With the previous definitions of the solutions types A, B, C and the representation types (1,2,3), 4 categories of data structure are needed.

1) UDW1: The linear case: representation 1 without time dependency of A (phase is needed)

2) UDW2f: Representation 1 with time dependent coefficients, stored for the needed variables

3) UDW2p: Representation 2: In order to save space only the coefficient with l=1 are stored and the others are retrieved from fast Laplace solver.

4) UDW3: Representation 3. For each variable, the data is stored at each grid point at every time step.

The relations between the solution type, the volumetric representation type and the name of the data format is provided in **TABLE 1**

<table><caption>**TABLE 1:** FILE FORMAT FOR COUPLING PROTOCOL</caption><thead><tr><th>Represent.<br>Type<br>Solution<br>Type</th><th>A</th><th>B</th><th>C</th></tr></thead><tbody><tr><td>1</td><td>UDW1 /<br>UDW2f</td><td></td><td></td></tr><tr><td>2</td><td>UDW2p</td><td>UDW2p</td><td></td></tr><tr><td>3</td><td>UDW3p/s</td><td>UDW3s</td><td>UDW3p</td></tr></tbody></table>

The theories, expected data size for 3-hr long crested irregular wave (12,000 seconds including 1,200 seconds transient time) and applicable PNWT software for each protocols are listed in the table below with the expected data size.

<table><caption>**TABLE 2:** EXPECTED DATA SIZE</caption><thead><tr><th>Protocols</th><th>Theory</th><th>Expected Data Size</th><th>Applicable PWKS</th></tr></thead><tbody><tr><td>UDW1</td><td>Linear Airy Wave</td><td>&lt; 10 KB</td><td>N/A</td></tr><tr><td>UDW2f</td><td>Analytic Laplace solution in linearized domain</td><td>&lt; 10 GB</td><td>HAWASSI / HOS / HOSM</td></tr><tr><td>UDW2p</td><td>Numerical Laplace solution in σ-transformed domain</td><td>&lt; 10 GB</td><td>Reef3D / TPNWT</td></tr></tbody></table>
<table><tr><td>UDW3p</td><td>Interpolation in Cartesian coordinate in physical space</td><td>&lt; 300 GB</td><td>All</td></tr><tr><td>UDW3s</td><td>Interpolation in Cartesian coordinate in σ-transformed domain</td><td>&lt; 50 GB</td><td>All</td></tr></table>

For the reconstruction in the present form the basis functions are defined a priori and not selectable. In an evolution of the protocol it would be necessary to make the format more general by modifying the basis functions without changing the format.

## Example of the present protocol UDW1

In UDW1 protocol, all wave kinematics are defined by amplitudes and phases of the linear wave components following the Airy wave theory. This example is used to detail the information needed to define a reading/writing functionality between PWKS and CFD. This example is simple as the solution is type A (8) but with coefficients not varying in time. The format is defined with some definitions (TABLE 3) needed, then the descriptions of the analytical modes Eq. (11) are given and the organization of the file is presented.

### Wave Definition Parameters

<table><caption>TABLE 3: UDW1 PARAMETERS FOR WAVE DEFINITION</caption><thead><tr><th>Parameters</th><th>Unit</th><th>Description</th></tr></thead><tbody><tr><td><i>d</i></td><td>m</td><td>Water depth</td></tr><tr><td><i>g</i></td><td>m/s<sup>2</sup></td><td>Gravity</td></tr><tr><td><i>N</i><sub>w</sub></td><td>-</td><td>Number of wave components for unstructured input (<i>N</i><sub>x</sub> = <i>N</i><sub>y</sub> = 0). For structured input (<i>N</i><sub>x</sub>, <i>N</i><sub>y</sub> ≠ 0), <i>N</i><sub>w</sub> is override as <i>N</i><sub>x</sub> × <i>N</i><sub>y</sub>.</td></tr><tr><td><i>N</i><sub>x</sub></td><td>-</td><td>Number of wave numbers in x-direction structured input.</td></tr><tr><td><i>N</i><sub>y</sub></td><td>-</td><td>Number of wave numbers in y-direction in structured input.</td></tr><tr><td><i>f</i><sub>i</sub></td><td>Hz or 1/s</td><td>Frequency of <i>i</i>-th wave component</td></tr><tr><td>ω<sub>i</sub></td><td>radian / s</td><td>Circular frequency of <i>i</i>-th wave component (= 2π<i>f</i><sub>i</sub>)</td></tr><tr><td><i>k</i><sub>i</sub></td><td>radian / m</td><td>Wave number (magnitude) of <i>i</i>-th wave component</td></tr><tr><td><i>A</i><sub>i</sub></td><td>m</td><td>Amplitude of <i>i</i>-th wave component</td></tr><tr><td>δ<sub>i</sub></td><td>radian</td><td>Phase lag of <i>i</i>-th wave component</td></tr><tr><td>β<sub>i</sub></td><td>radian</td><td>Direction of <i>i</i>-th wave component, zero (0) for propagating towards</td></tr></tbody></table>

<table><tr><td></td><td></td><td>positive x direction. Counter-clockwise in x-y plane.</td></tr><tr><td><i>k</i><sub>i</sub><sup>x</sup><br>= <i>k</i><sub>i</sub> cos β<sub>i</sub></td><td>radian / m</td><td>Wave number (x-component) <i>i</i>-th wave component</td></tr><tr><td><i>k</i><sub>i</sub><sup>y</sup><br>= <i>k</i><sub>i</sub> sin β<sub>i</sub></td><td>radian / m</td><td>Wave number (y-component) <i>i</i>-th wave component</td></tr><tr><td>θ<sub>i</sub></td><td>radian</td><td>Phase of <i>i</i>-th wave component at a given location on xy-plane and a time <i>t</i> (θ<sub>i</sub> = <i>k</i><sub>i</sub><i>x</i> cos β<sub>i</sub> + <i>k</i><sub>i</sub><i>y</i> sin β<sub>i</sub> − ω<sub>i</sub><i>t</i> + δ<sub>i</sub>).</td></tr></table>

Wave elevation, velocity potential and the velocity are described as in Eq. (11).

$$ 
\begin{aligned}
\eta(x, y, t) &= \sum_{i=1}^{N_w} A_i \cos \theta_i \\
\varphi(x, y, z, t) &= \sum_{i=1}^{N_w} \frac{gA_i}{\omega_i \cosh k_i d} \cosh k_i(z+d) \sin \theta_i \quad (11) \\
u(x, y, z, t) &= \sum_{i=1}^{N_w} \frac{gk_i \cos \beta_i A_i}{\omega_i \cosh k_i d} \cosh k_i(z+d) \cos \theta_i \\
v(x, y, z, t) &= \sum_{i=1}^{N_w} \frac{gk_i \sin \beta_i A_i}{\omega_i \cosh k_i d} \cosh k_i(z+d) \cos \theta_i \\
w(x, y, z, t) &= \sum_{i=1}^{N_w} \frac{gk_i A_i}{\omega_i \cosh k_i d} \sinh k_i(z+d) \sin \theta_i
\end{aligned}
$$

### UDW1 file format

UDW1 wave data files are in ASCII format.

In the framework of nonlinear wave generation practice provided by the JIP, the UDW1 wave data will be used to generate input data for the PNWT or CNWT simulation. The input data should be generated following the procedures provided in this document for the reproducibility of the wave data.

The following information are contained in the UDW1 format:

Line 1-3:

Three-line header containing the following information

Origin of the wave data: Wave spectrum type, Hs, Tp, gamma, ...

Project and personnel name

Date the file is generated

Line 4:

Water depth *h* (m), gravity *g* (m/s²)

Line 5:

The number of wave components *N*<sub>w</sub>, *N*<sub>x</sub>, *N*<sub>y</sub>.

*N*<sub>w</sub> is used for unstructured wave input when
$N_x = N_y = 0$. $N_x, N_y$ are used for structured wave input for spectral methods when $N_x, N_y \neq 0$.

Line 6:

Comment line for the header of wave component data

Index, frequency (Hz), amplitude (m), phase (rad), direction (rad), wave number, wave number

From line 7 to end line:

$N_w$-lines of wave component data

<table><tr><td>1</td><td>f<sub>1</sub></td><td>A<sub>1</sub></td><td>δ<sub>1</sub></td><td>β<sub>1</sub></td><td>k<sub>1</sub><sup>x</sup></td><td>k<sub>1</sub><sup>y</sup></td></tr><tr><td>2</td><td>f<sub>2</sub></td><td>A<sub>2</sub></td><td>δ<sub>2</sub></td><td>β<sub>2</sub></td><td>k<sub>2</sub><sup>x</sup></td><td>k<sub>2</sub><sup>y</sup></td></tr><tr><td>...</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>N<sub>w</sub></td><td>f<sub>Nw</sub></td><td>A<sub>Nw</sub></td><td>δ<sub>Nw</sub></td><td>β<sub>Nw</sub></td><td>k<sub>Nw</sub><sup>x</sup></td><td>k<sub>Nw</sub><sup>y</sup></td></tr></table>

## Useful modes definitions for improving the protocol

As shown in the previous sections and in particular in the various ways to represent the PWKS solution (8)(9)(10), the coefficients need to be multiplied by functions representing horizontal and vertical modes or shapes. In the present version of the coupling protocol, to each UDW definition correspond one definite set of associated functions.

In order to devise a complete coupling protocol and not limit it to a restricted domain geometry or solver type, it would be necessary to associate the coefficients with their basis or interpolation functions without having to create a new file format for each variations. Several possibilities could be considered to achieve this, as an example the modal functions $g_m(x)$ and others could be stored with reserved mathematical expression or user defined tabled function.

<table><caption>TABLE 4: EXAMPLE OF USEFUL ANALYTICAL FUNCTIONS FOR MODES</caption><thead><tr><th>Reserved enum</th><th>g<sub>m</sub> / h<sub>n</sub> / N</th><th>Use</th><th>Argument Needed</th></tr></thead><tbody><tr><td>exp</td><td>Exp()</td><td>Horizontal space</td><td>Wave number</td></tr><tr><td>cos</td><td>Cos()</td><td></td><td></td></tr><tr><td>sin</td><td>Sin()</td><td></td><td></td></tr><tr><td>cosh</td><td>Cosh()</td><td>Vertical mode</td><td>Wave number, depth</td></tr><tr><td>sinh</td><td>Sinh()</td><td></td><td></td></tr></tbody></table>

## CONCLUSION

This paper summarize the procedure to store efficiently the wave data with the objective to couple with CFD solvers.

The possibilities to express nonlinear wave kinematics in space and time are multiples and depend strongly on the methodology to solve the wave problem. Common points and differences are identified between all wave solutions. A first example of coupling protocol is given together with first ideas for improvement.

The proposed protocols will be used to provide wave kinematics input for the verification of CNWT modeling

practices as part of the JIP activities in 2020. The protocol will be improved and finalized through the lessons learned from the verification study.

## ACKNOWLEDGEMENTS

The authors are grateful to the members of the “Reproducible Offshore CFD JIP”, who approved the publication of this paper. Also appreciated is TechnipFMC Offshore Global Business Unit for their partial financial support for the JIP.

## REFERENCES

[1] G. Wu, J. Kim, H. Jang, W. & A. Baquet, 2016, ‘CFD-Based Numerical Basin for Global Performance Analysis,’ 35th Int. Conf. on Ocean, Offshore and Arctic Engineering, OMAE2016-54485, Busan, Korea.

[2] Jacobsen, N. G., Fuhrman, D. R., & Fredsøe, J. (2012). A wave generation toolbox for the open-source CFD library: OpenFoam®. International Journal for numerical methods in fluids, 70(9), 1073-1088.

[3] Choi, Y., Bouscasse, B., Seng, S., Ducrozet, G., Gentaz, L., & Ferrant, P. (2018, June). Generation of regular and irregular waves in Navier-Stokes CFD solvers by matching with the nonlinear potential wave solution at the boundaries. In ASME 2018 37th International Conference on Ocean, Offshore and Arctic Engineering. American Society of Mechanical Engineers Digital Collection.

[4] Zakharov, V. E. (1968). Stability of periodic waves of finite amplitude on the surface of a deep fluid. Journal of Applied Mechanics and Technical Physics, 9(2), 190-194.

[5] Ducrozet, G., Bonnefoy, F., Le Touzé, D., & Ferrant, P. (2005, May). Development of a fully nonlinear water wave simulator based on higher order spectral theory. In Proc. 20th Int. Workshop on Water Waves and Floating Bodies.

[6] Choi, Y., Gouin, M., Ducrozet, G., Bouscasse, B., & Ferrant, P. (2017). Grid2Grid: HOS Wrapper Program for CFD solvers. arXiv preprint arXiv:1801.00026.

[7] Klopman, G., Van Groesen, B., & Dingemans, M. W. (2010). A variational approach to Boussinesq modelling of fully nonlinear water waves. Journal of fluid mechanics, 657, 36-63.

[8] Adytia, D., & van Groesen, E. (2012). Optimized Variational 1D Boussinesq modelling of coastal waves propagating over a slope. Coastal engineering, 64, 139-150.
[9] Bihs, H., Chella, M. A., Kamath, A., & Arntsen, Ø. A. (2017). Numerical investigation of focused waves and their interaction with a vertical cylinder using REEF3D. Journal of Offshore Mechanics and Arctic Engineering, 139(4), 041101.

[10] Zhao, B. B., & Duan, W. Y. (2010). Fully nonlinear shallow water waves simulation using Green-Naghdi theory. Journal of Marine Science and Application, 9(1), 1-7.

[11] Baquet, A., Kim, J., & Huang, Z. J. (2017, June). Numerical Modeling Using CFD and Potential Wave Theory for Three-Hour Nonlinear Irregular Wave Simulations. In ASME 2017 36th International Conference on Ocean, Offshore and Arctic Engineering. American Society of Mechanical Engineers Digital Collection.

[12] Ducrozet, G., Bonnefoy, F., Le Touzé, D., & Ferrant, P. (2016). HOS-ocean: Open-source solver for nonlinear waves in open ocean based on High-Order Spectral method. Computer Physics Communications, 203, 245-254.

[13] Ducrozet, G., Bonnefoy, F., Le Touzé, D., & Ferrant, P. (2012). A modified high-order spectral method for wavemaker modeling in a numerical wave tank. European Journal of Mechanics-B/Fluids, 34, 19-34.

[14] Li, Z., Deng, G., Queutey, P., Bouscasse, B., Ducrozet, G., Gentaz, L., Le Touzé, D. & Ferrant, P. (2019). Comparison of wave modeling methods in CFD solvers for ocean engineering applications. Ocean Engineering, 188, 106237.

[15] Kim, J., O'Sullivan, J. and Read A. (2012) "Ringing Analysis of a Vertical Cylinder by Euler Overlay Method," OMAE2012 84091, Rio de Janeiro, Brazil

[16] Böckmann, A., Pâkozdi, C., Kristiansen, T., Jang, H. and Kim, J. (2014), ‘An Experimental and Computational Development of a Benchmark Solution for the Validation of Numerical Wave Tanks,’ 33rd Int. Conf. on Ocean, Offshore and Arctic Engineering, OMAE2014-24701, San Francisco, CA, USA.