Sie sind auf Seite 1von 111

Numerical Investigation on the Damping

of Water Waves in a Towing Tank

Master Thesis - Edited Version

Technical University of Berlin


Department of Dynamics of Maritime Systems

Hamburg Ship Model Basin


Department of Seakeeping, Manoeuvring and Offshore

First Supervisor: Prof. Dr.-Ing. Andrs Cura Hochbaum


Second Supervisor: M.Sc. Sebastian Uharek

Written by: Julietta Weber


Matriculation No.: 323905
Date: July 30, 2016
Eidesstattliche Erklrung

Die selbststndige und eigenhndige Anfertigung versichere ich an Eides statt.

Hamburg, den 30.7.2016

Julietta Weber
Abstract
The 2D numerical simulation of water waves in a towing tank and their damping due to absorbing
structures is investigated with the CFD software OpenFOAM complemented by the wave toolbox
waves2foam, motivated by the present absorber configuration at HSVA. Linear and non-linear,
regular waves are tested with four tank scenarios, one of them presenting the theoretical vertical
WALL case and the remaining the HSVA absorber configuration and two variations of it. A method
to analyse the reflection coefficient as descriptive parameter for the absorbing quality is found, that
is based on the geometrical analysis of wave envelopes. With the WALL scenario a first validation
of the simulation and evaluation method is performed. For the low steepness waves, the HSVA
absorber performs the best. With the steeper waves irregular wave envelopes develop when they
approach impermeable beach like absorbers and the reflection coefficients cannot be determined.
Small scale experiments are performed for validation of the results and the attempt to explain the
observed irregularities is made.

Keywords: CFD, 2D, OpenFOAM, wave simulation, waves2foam, beach like wave absorbers,
wave reflection, wave envelope, reflection coefficient, experiments

Kurzfassung
Die zweidimensionale numerische Simulation von Wasserwellen in einem Schlepptank und ihre
Dmpfung aufgrund von absorbierenden Strukturen wird mit der CFD Software OpenFOAM und
der ergnzenden Wellen-Toolbox waves2foam in der vorliegenden Arbeit untersucht. Die Arbeit
wird motiviert durch die Absorber Konfiguration in der HSVA. Lineare und nicht lineare, regulre
Wellen werden an vier Tankszenarien untersucht, eins davon das theoretische Szenario einer ver-
tikalen Wand, weitere die HSVA Konfiguration und Variationen dieser. Eine Methode zur Analyse
des Reflexionskoeffizienten wird bestimmt, da dieser als beschreibende Parameter fr die Effizienz
des Absorbers herangezogen wird, welche auf der geometrischen Auswertung der Einhllenden des
Wellenfeldes basiert. Mit Hilfe des Wand Szenarios wird die Simulation und die Auswertungsmeth-
ode validiert. Fr flache Wellen stellt sich der HSVA Absorber als beste Konfiguration heraus. Bei
steilen Wellen entwickeln sich unregelmige Einhllende, wenn diese auf undurchlssige Strnde
treffen, daher kann in diesen Fllen der Reflexionskoeffizient nicht bestimmt werden. Experimente
werden durchgefhrt, um die Ergebnisse zu validieren und Begrndungen fr die beobachteten
Irregularitten werden gesucht.

Schlsselwrter: CFD, 2D, OpenFOAM, Wellensimulation, waves2foam, Strandartige Wellen-


absorber, Wellenreflexion, Einhllende, Reflexionskoeffizient, Experimente
Contents
List of Figures v

List of Tables vii

Acronyms and Symbols viii

1 Introduction 1

2 The Numerical Method 3


2.1 Governing Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.1 Conservation Laws . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.2 Pressure Equation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.3 Turbulence Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.4 Free Surface Modelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Discretisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.1 Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.2 Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Solving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 Boundary and Initial Conditions for Calm Water . . . . . . . . . . . . . . . . . . 10

3 Wave Generation 12
3.1 Wave Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2 Boundary and Initial Conditions for Waves . . . . . . . . . . . . . . . . . . . . . 14
3.3 Investigated Sea States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4 Reflection Coefficient 17

5 Absorber Geometries 23
5.1 Existing Absorber Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.2 Investigated Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

6 Computational Domain 27

7 Simulations 30
7.1 Wave Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
7.1.1 Dependency on the Grid Resolution . . . . . . . . . . . . . . . . . . . . . 31
7.1.2 Dependency on the Time Step . . . . . . . . . . . . . . . . . . . . . . . . 33
7.1.3 Dependency on the Outer Iterations nOuterCorrectors . . . . . . . . . . . 34
7.1.4 Dependency on the Turbulence Intensity . . . . . . . . . . . . . . . . . . . 35
7.2 Absorber and Reflection Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
7.2.1 Scenario I - WALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
7.2.2 Scenario II - HSVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
7.2.3 Scenario III - HSVA covered . . . . . . . . . . . . . . . . . . . . . . . . . . 45
7.2.4 Scenario IV - TUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.2.5 Comparison of the Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . 48

iii
CONTENTS

8 Experiments 50
8.1 Experimental Setup and Facilities . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
8.2 Preparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
8.3 Validation of Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
8.4 Reflection Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
8.4.1 Scenario I - WALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
8.4.2 Scenario IV - TUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

9 Conclusion and Outlook 66

References 68

Appendix 70
A.1 OpenFOAM Setup Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
A.2 Residuals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
A.3 Matlab Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

iv
List of Figures
1.1 Large Towing Tank at HSVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Sparred Wood Wave Absorber at HSVA Towing Tank seen Sideways across the Entry to
the Trim Tank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1 Compass Notation for a CV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Boundaries of the Simulation Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.1 Applicability of Wave Theories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2 Terminology for the Wave Theories . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3 Blending Function in Inlet Relaxation Zone . . . . . . . . . . . . . . . . . . . . . . . 15
4.1 Schematic Wave Envelope by Traversing one Wave Gauge (Method A) . . . . . . . . 17
4.2 Schematic Wave Envelope with Resolution over one Wave Period (Method B) . . . . 17
4.3 Analytical Analysis of Envelope Method A . . . . . . . . . . . . . . . . . . . . . . . . 19
4.4 Analytical Reflection Coefficient in Dependence on Carriage Speed (Method A) . . . 20
4.5 Analytical Analysis of Envelope Method B with Doubly Even Resolutions . . . . . . 20
4.6 Analytical Analysis of Envelope Method B with Different Types of Low Resolutions . 21
4.7 Analytical Reflection Coefficient in Dependence on Resolution of Wave Period (Method
B) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.1 Absorber Geometry WALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.2 Absorber Geometry HSVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.3 Absorber Geometry HSVA covered . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.4 Absorber Geometry TUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6.1 Scheme of the Basic Computational Domain (not to scale) . . . . . . . . . . . . . . . 27
6.2 Exemplary Grid Refinement near the Different Absorber Geometries . . . . . . . . . 28
7.1 Domain Setup for the Wave Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
7.2 Dependency of the Wave Quality on the Grid Resolution . . . . . . . . . . . . . . . . 31
7.3 Orbital Velocities for the Coarsest and the Finest Grid . . . . . . . . . . . . . . . . . 32
7.4 Influence of the Error in Wavelength on the Orbital Velocities for Grid 3 (72x9) . . . 33
7.5 Dependency of the Wave Quality on the Time Step . . . . . . . . . . . . . . . . . . . 34
7.6 Dependency of the Wave Quality on the Outer Iterations . . . . . . . . . . . . . . . . 35
7.7 Dependency of the Wave Quality on the Turbulence Intensity . . . . . . . . . . . . . 36
7.8 Surface Elevation for Sea State stokes, T = 0.75 s with the Transferred Simulation Setup 36
7.9 Initialisation of Waves and Seiche (Exemplary for Case: WALL, stokes, T = 3.00 s) . 38
7.10 Surface Elevation over the Domain in one Time Interval (Exemplary for Case: HSVA,
stokes, T = 3.00 s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
7.11 Extrema of Wave Envelope (Exemplary for Case: HSVA, stokes, T = 3.00 s) . . . . . 39
7.12 Reflection Coefficient over Time (Exemplary for Case: HSVA, stokes, T = 3.00 s) . . 39
7.13 Dynamic Pressure Field of Case: stokes, WALL, T = 2.00 s over one Wave Period . . 40
7.14 Velocity Field in x-Direction of Case: stokes, WALL, T = 2.00 s over one Wave Period 41
7.15 Velocity Field in z-Direction of Case: stokes, WALL, T = 2.00 s over one Wave Period 41
7.16 Wave Envelope of the three Cases: WALL, T = 2.00 s . . . . . . . . . . . . . . . . . 42
7.17 Reflection Coefficient over Wave Frequency for Scenario: WALL . . . . . . . . . . . . 43
7.18 Particle Motion near Absorber: stokes, HSVA, T = 2.00 s . . . . . . . . . . . . . . . 43
7.19 Wave Envelope: HSVA, T = 2.00 s . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
7.20 Reflection Coefficient over Wave Frequency for Scenario: HSVA . . . . . . . . . . . . 45

v
LIST OF FIGURES

7.21 Particle Motion near Absorber: stokes, HSVA covered, T = 2.00 s . . . . . . . . . . . 45


7.22 Wave Envelope: HSVA covered, T = 2.00 s . . . . . . . . . . . . . . . . . . . . . . . . 46
7.23 Reflection Coefficient over Wave Frequency for Scenario: HSVA covered . . . . . . . . 47
7.24 Particle Motion near Absorber: stokes, TUB, T = 2.00 s . . . . . . . . . . . . . . . . 47
7.25 Wave Envelope: TUB, T = 2.00 s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.26 Reflection Coefficient over Wave Frequency for Scenario: TUB . . . . . . . . . . . . . 48
7.27 Reflection Coefficient over Wave Frequency in Comparison for the three Absorber Sce-
narios for the Airy Sea States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
8.1 Schematic Representation of the Experimental Setup at TUB . . . . . . . . . . . . . 50
8.2 Photos of the Experimental Setup and the Facilities at TUB . . . . . . . . . . . . . . 51
8.3 Wave Gauge Calibration Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
8.4 Surface Elevation at Different Positions in Tank (WG 001 and WG 003) . . . . . . . 53
8.5 Complete Signal WG 001 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
8.6 Complete Signal WG 002 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
8.7 Experiment Evaluation for Case: WALL, airy, T = 0.7908 s and Validation . . . . . 55
8.8 Reflection Coefficient Evaluation at a Different Location in Tank . . . . . . . . . . . 56
8.9 Experiments Scenario WALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
8.10 Experiment Evaluation for Cases: WALL, airy . . . . . . . . . . . . . . . . . . . . . . 58
8.11 Reflection Coefficient over Wave Frequency for Case: WALL, airy . . . . . . . . . . . 59
8.12 Experiment Evaluation for Cases: WALL, stokes . . . . . . . . . . . . . . . . . . . . . 60
8.13 Reflection Coefficient over Wave Frequency for Case: WALL . . . . . . . . . . . . . . 61
8.14 Experiments Scenario TUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
8.15 Experiment Evaluation for Cases: TUB, airy . . . . . . . . . . . . . . . . . . . . . . . 62
8.16 Photos of Airy Waves not Breaking at TUB Beach . . . . . . . . . . . . . . . . . . . 63
8.17 Reflection Coefficient over Wave Frequency for Case: TUB . . . . . . . . . . . . . . . 63
8.18 Experiment Evaluation for Cases: TUB, stokes . . . . . . . . . . . . . . . . . . . . . 64
8.19 Photos of Stokes Waves Breaking at TUB Beach . . . . . . . . . . . . . . . . . . . . . 65
8.20 Reflection Coefficient over Wave Frequency for Case: TUB . . . . . . . . . . . . . . . 65
A.1 Residual Analysis for Case: airy, T = 2.00 s, WALL . . . . . . . . . . . . . . . . . . 81
A.2 Residual Analysis for Case: airy, T = 2.00 s, WALL Preinitialised . . . . . . . . . . . 82
A.3 Residual Analysis for Case: stokes, T = 2.00 s, WALL . . . . . . . . . . . . . . . . . 82
A.4 Residual Analysis for Case: airy, T = 2.00 s, HSVA . . . . . . . . . . . . . . . . . . . 83
A.5 Residual Analysis for Case: stokes, T = 2.00 s, HSVA . . . . . . . . . . . . . . . . . . 84
A.6 Residual Analysis for Case: airy, T = 2.00 s, HSVA covered . . . . . . . . . . . . . . 84
A.7 Residual Analysis for Case: stokes, T = 2.00 s, HSVA covered . . . . . . . . . . . . . 85
A.8 Residual Analysis for Case: airy, T = 2.00 s, TUB . . . . . . . . . . . . . . . . . . . 86
A.9 Residual Analysis for Case: stokes, T = 2.00 s, TUB . . . . . . . . . . . . . . . . . . 86

vi
List of Tables
2.1 Boundary and Initial Conditions in OpenFOAM notation . . . . . . . . . . . . . . . . 11
3.1 Sea States for the Simulations in HSVA Scale . . . . . . . . . . . . . . . . . . . . . . 16
6.1 Number of Cells for the Base Grids (without absorber geometries) . . . . . . . . . . . 29
7.1 Simulation Time Step t for all Sea States . . . . . . . . . . . . . . . . . . . . . . . . 34
7.2 Simulation Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
8.1 Sea States for the Experiments at the Wave Flume in TUB Scale . . . . . . . . . . . 52
8.2 Validation of Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

vii
Acronyms

2D two dimensional
BC boundary conditions
CDS central differencing scheme
CFD computational uid dynamics
CM control mass
CV control volume
FS free surface
FVM nite volume method
HSVA Hamburg Ship Model Basin (Hamburgische Schiffbau-Versuchsanstalt)
LUDS linear upwind differencing scheme
NSE Navier Stokes equations
OpenFOAM Open Field Operation and Manipulation
PISO pressure implicit with splitting of operator
RANSE Reynols-averaged Navier-Stokes-equations
TUB Technical University of Berlin (Technische Universitt Berlin)
UDS upwind differencing scheme
VOF volume-of-uid
WG wave gauge

Symbols

A [-] coefficient matrix


a [-] variable coefficients
b [m/s ] 2
body forces
c [m/s] phase velocity
ccar [m/s] speed of the carriage
cgr [m/s] group velocity of the wave


D [1/s] deformation tensor
F [kg m/s] external forces
f [-] CV faces
g [m/s2 ] gravitational acceleration
H [m] wave height
Hi [m] incident wave height
Hmax [m] maximum wave height at (quasi-)node of wave envelope
Hmin [m] minimum wave height at (quasi-)antinode of wave envelope
Hr [m] reected wave height
IT [-] turbulence intensity

viii
ACRONYMS AND SYMBOLS

k [m2 /s2 ] turbulent kinetic energy


k [1/m] wave number
m [kg] mass
n [-] normal vector
NB [-] index for neighbouring CV
N, E, S, W [-] neighbouring CV north-, east-, south-, westwards
n, e, s, w [-] neighbouring cell faces north-, east-, south-, westwards
n [-] time stepping index
P [-] index for regarded CV
p [kg/ms2 ] pressure eld
p0 [kg/ms2 ] atmospheric pressure
prgh [kg/ms2 ] dynamic pressure
Q [-] source term

Q [-] source term vector


R [-] reection coefficient
Re [-] reynolds number
S [m2 ] surface
T [s] wave period

T [kg/ms2 ] stress tensor
t [s] time
u [m/s] velocity vector
ur [m/s] relative velocity
umax [m/s] absolute maximal orbital velocity of uid particle in wave
u [m/s] shear velocity
u, v, w [m/s] velocity components in x-, y-, z-direction
V [m3 ] volume
XR [-] distance function in wave relaxation zone
x, y, z [m] Cartesian coordinates
+
y [-] dimensionless distance from the wall
[]
[-] volume fraction
[-] scaling factor
ij [-] Kronecker symbol
t [s] time step
2 3
[m /s ] dissipation rate
[-] phase lag
R [-] blending function in relaxation zone
[m] wavelength
[kg/ms] dynamic viscosity

ix
ACRONYMS AND SYMBOLS

t [kg/ms] turbulent (eddy) dynamic viscosity


[n.a.] statistical mean
[m2 /s] kinematic viscosity
t [m2 /s] turbulent kinematic viscosity
[1/s] specic dissipation
[1/s] wave frequency
[m2 /s] potential function
[n.a.] variable substitute
[n.a.] uctuation of
[n.a.] ensemble-averaged value of

[n.a.] variable vector


[kg/m3 ] density
[kg/s2 ] surface tension
[n.a.] statistical standard deviation
W [kg/ms2 ] wall shear stress
[-] phase of the wave
[m] surface elevation
a [m] wave amplitude

x
1 Introduction

The Hamburg Ship Model Basin (HSVA) performs all kinds of ship model tests. Among others
one of their services entails seakeeping tests in various seaways. Therefore the large towing tank
at HSVA is equipped with a double ap wave maker opposing a sparred wood wave absorber, see
gure 1.1 and 1.2. The absorber is to prevent the generated waves from being reected from the
end of the basin back into the experimentation and measurement area. Obviously not any wave
component can be perfectly absorbed and especially long waves pose a serious problem. These
components keep progressing through the basin and disturb subsequent model tests.

The goal of the thesis is to investigate the absorbing performance of different beach congurations
motivated by the present absorber at HSVA. A model is developed to perform two dimensional (2D),
numerical simulations of the two-phase-ow, which are validated by a down-scaled experimental
analysis at the small tank at Technical University of Berlin (TUB). The reection coefficients for
a range of ten linear and ten non-linear, regular waves with constant wave steepness are being
determined to examine the quality of the investigated absorber congurations.

The computational uid dynamics (CFD) are introduced and their application with the software
Open Field Operation and Manipulation (OpenFOAM ) is described. A literature survey on the
existing methods for the evaluation of reection coefficients is undertaken and a suitable method for
the present investigation is found and validated in a linear, numerical wave tank. A classication
of existing absorber types is made and based on the present scenario at the HSVA towing tank four
scenarios are developed, digitalised and discretised, one of them the validation case of a straight
wall, where 100 % reection is the analytical result. To analyse the dependency of the numerical
solution one sea state is studied in an open tank without reective obstacles to nd the optimum
simulation setup and resolution in time and space, which is then transferred to the other sea states.
Next the theoretical wall case is investigated for all sea states and the deviation from the theory
is assessed. Based on this the remaining geometries are assessed and their reection coefficients
determined. A comparative study on these is undertaken in order to nd an enhanced absorber
conguration. Down-scaled experiments are realised to verify the obtained reection coefficients
for the different scenarios at the wave ume at TUB.

The numerical analysis is being performed with the open source software OpenFOAM Version 2.3.0
with the implemented plug-in waves2Foam Version r2066 for the wave generation. ParaView 5.0.1,
Matlab R2015b Student Version and gnuplot 4.6 patchlevel 4 are used to evaluate and illustrate the
achieved results. The different absorber geometries are generated with the CAD-tool Rhinoceros
Version 5.1.

The HSVA is located at Bramfelder Strae 164, 22305 Hamburg, Germany.

Technically the investigated structures dissipate rather than absorb wave energy; still in literature absorber is
the common term and is therefore also used throughout this work.

1
1 Introduction

Figure 1.1: Large Towing Tank at HSVA [Hamburgische Schiffbau-Versuchsanstalt GmbH 2015]

Figure 1.2: Sparred Wood Wave Absorber at HSVA Towing Tank seen Sideways across the Entry to the
Trim Tank

2
2 The Numerical Method
CFD is based on a set of equations, that are derived from physical laws, models and considerations
that approximate uid ows. The resulting system of differential equations is solved numerically
within its boundaries. Its converged solution represents the characteristics of the examined ow.

2.1 Governing Equations


The system of differential equations are the Navier Stokes equations (NSE), which are derived
from the conservation of mass and momentum. Additional models for pressure, turbulence, wall
functions and the free surface (FS) complete the set of equations, that needs to be solved.

2.1.1 Conservation Laws

The principle of conservation is applicable to a control mass (CM), whereby a given quantity of
the uid is observed, or a control volume (CV), whereby a xed frame in the uid is observed. For
uid ows the CV is more convenient as it is hard to identify a xed quantity in a moving ow.
Conservation means that within the CM or CV an extensive property such as mass or momentum
keeps a constant relation to external effects over time the rate of change is constant. A CV
expands in the dimensions of the regarded coordinate system, here (x, y, z) for a Cartesian system.

Conservation of Mass Regarding a CM there is neither production nor destruction of mass


(m) in the system, thus the time (t) derivative is zero:
dm
=0 (2.1)
dt
Which means that the mass rate of change in the CV equals the ux through its surface:


dV + # n dS = 0
u # (2.2)
t V S

Where is the uids density, V the vloume and S the surface of the respective CV. u is the velocity
vector and n the normal vector of the surface. Regarding an innitely small CV and applying Gau
theorem, the differential form of the continuity equation follows:

+ ( #
u) = 0 (2.3)
t
For incompressible ows the formulation is simplied to the following equation applying the index
notation:
ui
=0 (2.4)
xi

Conservation of Momentum The change of the momentum over time equals the sum of ex-
) (Newtons second law), that act on the CM, which are composed of surface forces
ternal forces ( F
(pressure, shear, surface tension, etc.) and body forces (gravity , centrifugal force, etc.).

u ) #
d(m #
= F (2.5)
dt

ui
q3 ui
According to the Einstein notation, subscripted variables appearing twice are summed over, i.e. xi
= i=1 xi
.

The gravitational acceleration on earth is g = 9.81 m/s2 .

3
2 The Numerical Method

Regarding a CV, this can be expressed as follows:


#
# #
u dV +
# #
u # n dS =
u # b dV + T #
n dS (2.6)
t V S V S

bodyf orces surf acef orces


Here b represents body forces per unit mass and T is the stress tensor for Newtonian uids:
3 4
#
# 2 #
#
T = p + u I + 2D
# (2.7)
3

With the pressure p, the dynamic viscosity and the deformation tensor D:
# 1 1 #
# 2
D= u )T
u + ( # (2.8)
2
Due to incompressibility and continuity is 32 #
u = 0 and one achieves the stress tensor in index
notation:
A B
ui uj
Tij = pij + + (2.9)
xj xi

Navier Stokes Equation Applying Gau theorem and bringing together the above equations
one yields the NSE, here presented in differential form:
C A BD
ui (ui uj ) p ui uj
+ = bi + + (2.10)
t xj xi xj xj xi

time derivative convection body force pressure
diffusion

2.1.2 Pressure Equation

The NSE yields three equations (three dimensions, i=1,2,3) that contain four unknowns: u, v, w
the velocity components and p the pressure eld. The fourth equation that closes the system
is the Poisson Equation which is achieved by applying the continuity equation to the divergence of
the NSE. [Ferziger and Peri 2002, pp. 167-168]
3 4 A B
p ui uj
= (2.11)
xi xi xi xj

2.1.3 Turbulence Modelling

The working mechanism of the present absorber at the HSVA is based on inducing vortices by a
beach consisting of several laths. By this the wave energy is transformed into turbulence, dissipates
and the reection is minimised.
As direct numerical simulation of turbulence needs a very high resolution in time and space, some-
thing that cannot be achieved with nowadays technical equipment, a model is introduced to de-
scribe the turbulent characteristics of the ow. Turbulence is regarded as a statistical process.
Therefore every variable in the NSE for the unsteady simulation is split up in the ensemble-
averaged value and the uctuation about that value: [Ferziger and Peri 2002, pp. 292-294]

(xi , t) = (xi , t) + (xi , t) (2.12)

= , the dynamic viscosity is the product of kinematic viscosity and density.

ij is the Kronecker symbol, which is ij = 0 if i = j and ij = 0 otherwise.

4
2 The Numerical Method

This way one achieves the Reynols-averaged Navier-Stokes-equations (RANSE):


C A BD
ui (ui uj ) p ui uj (ui uj )
+ = bi + + (2.13)
t xj xi xj xj xi xj

Where the Reynolds stress tensor (ui uj ) adds six unknowns to the system of equations, making
it non-closed. To realise closure the Boussinesq approximation is introduced, which assumes that
the effect of turbulence can be represented as an increased viscosity.
A B
ui uj 2
(ui uj ) = t + ij k (2.14)
xj xi 3

The six new unknowns are reduced to two: k = 12 ui ui is the turbulent kinetic energy and t the
eddy viscosity. These can be modelled using the k--sst turbulence model. It applies the the
high-Re k- model in the far eld and blends to the low-Re k- model in wall regions. These
two-equation-models use two additional conservation equations for the respective variables: k,
the dissipation rate and the specic dissipation. For a detailed description of these additional
equations please refer to [Wilcox 1994]. The eddy viscosity for the respective models is calculated
making use of the following relations: [Wilcox 1994, pp. 83-89]

k2 k
t = 0.09 , t = (2.15)

For the application of these models the grid in wall regions should be very thin, which would lead to
high aspect ratio cells causing numerical problems. Thus wall functions are introduced. They are
based on the law of the wall, which states that the velocity prole follows a logarithmic function in
a certain distance from the wall. The mid point of the rst cell must lie in the logarithmic region
of the prole. Thus the dimensionless, sublayer-scaled distance of that rst mid point from the
wall must be 30 y + 300 . [ITTC 2011, p. 7] In the k--sst model the wall functions switch
between low-Re and high-Re ows, depending on whether the near wall cell centre lies in the log
or laminar sublayer [Brown et al. 2014, p. 3]. Detailed information on wall functions can be found
in [Wilcox 1994, 122 ff.]. In OpenFOAM the settings for the turbulence model are made in the les
turbulenceProperties and RASProperties.

2.1.4 Free Surface Modelling

The FS in the ow separates the two phases air and water. Its position is only known at the
initial time, consequently it must be computed for every following time step as part of the solution.
[Ferziger and Peri 2002, pp. 381-388] OpenFOAM uses the volume-of-uid (VOF) interface cap-
turing method where the additional transport equation for the volume fraction must be solved
as part of the system of equations.


+ ( #
u) = 0 (2.16)
t
can take values from [0, 1] where = 1 means that the CV is lled with water, if = 0 the CV
is lled with air and if 0 < < 1 the CV is partially lled. The physical properties (density and

The effective viscosity is thus the sum of molecular and eddy (also called turbulent) viscosity: ef f = + t .
W

Here y + = u y , with the shear velocity u =


and the wall shear stress W .

5
2 The Numerical Method

kinematic viscosity ) of the CV are calculated as weighted averages of the volume fraction:

= (1 ) air + water (2.17)


= (1 ) air + water (2.18)

The interface is never sharply dened but occupies a volume around the region where a sharp
interface should exist. [Greenshields 2015, p. 56] In OpenFOAM, the necessary compression of the
surface is achieved by introducing an extra articial compression term into the VOF-method:

u ) + ((1 )u#r ) = 0
+ ( # (2.19)
t
artificial compression

Where ur represents the difference between the velocities of the two uids and which is being
modelled. This articial term is active only in the interface region due to the term (1 ).
[Rusche 2002, p. 152] Throughout the investigation the physical properties of the uids are assumed
at a temperature of 20 C: W ater = 1000 kg/m3 , Air = 1 kg/m3 , W ater = 1 106 m2 /s and
Air = 1.48 105 m2 /s, which is dened in the transportProperties-le of OpenFOAM .

2.2 Discretisation
The previously described mathematical model lacks a general analytical solution. To nd an ap-
proximate solution, the respective equations must be discretised in space and time and will result
in an algebraic equation system that can be solved numerically. OpenFOAM uses therefor the nite
volume method (FVM). Exemplarily the discretisation of the simple transport equation for the FS
(equation 2.16) is being illustrated. A nite volume discretisation of equation 2.16 is formulated
by integrating over the control volume CV and time: [Rusche 2002, p. 80]
t+t 5 6

+ ( #
u ) dV dt = 0 (2.20)
t V t
Where with decreasing time step t and coarseness of the mesh, the approximate solution converges
to the exact solution of the mathematical model.

2.2.1 Space

The computational domain is divided into a nite number of CV and the computational nodes
lie in the centre of each CV, where the values of all variables are stored. In a Cartesian grid the
regarded CV is identied by P and its neighbouring CV by upper case letters (N, E, S, W ), the
faces f of the CV are denoted by lower case letters (n, e, s, w), respective to the compass notation,
see gure 2.1.

N
#
u e
W P E EE

S
z

x
Figure 2.1: Compass Notation for a CV

6
2 The Numerical Method

For the spatial integration, volume integrals of divergence terms are converted into integrals of the
ux through the bounding control surfaces, using Gausss divergence theorem.


dV + # n dS = 0
u # (2.21)
t V S

The integrals are approximated using appropriate schemes to obtain an algebraic equation for each
CV. Summing up the conservation equations of each CV yields the conservation equation for the
domain as whole This provides global conservation and makes the solution physically conservative.

Volume integrals can be approximated using the midpoint rule. The integral can be presented
as the product of the mean value of the volume fraction and the volume of the regarded CV VP .
is then assumed to be the value in the cell centre P .

dV = VP P VP (2.22)
V

Surface integrals are seen as ux through the bounding surface of the CV, which can be ex-
pressed as the sum over all bounding surfaces, see equation 2.23. The ux through one cell face
can be expressed as the product of the mean value of the ux through the face and its surface,
see equation 2.24. Using the midpoint rule the mean value of the variable itself is assumed to be
represented by its value in the centre of the respective cell face, see equation 2.25.

# n dS =
u # f u# f n# f dSf (2.23)
S f Sf

= (f u#
f )nf Sf
# (2.24)
f

f u# f n# f Sf (2.25)
f

For interpolating the values of variables on the cell faces, different schemes can be applied. The
schemes are presented for face e, therefor for variable e :

The upwind differencing scheme (UDS) approximates the variable with the value of the
next node located upwind.

e = P (2.26)

This scheme is of rst order and bounded but it can produce numerical diffusion, especially for
oblique ows on rectangular cells. UDS is applied for the convective terms of the turbulence
parameters k and .

The central differencing scheme (CDS) approximates the variable with the two next
nodes, one upwind and one downwind, hence it is a linear interpolation.
xe xP xe xP
e = E + (1 )P (2.27)
xE xP xE xP

When the location e is midway between P and E (for example on a uniform grid), the
approximation is of second-order accuracy, however, it can lead to oscillations. Apart from
the convective terms this is the standard scheme for interpolations.

7
2 The Numerical Method

The linear upwind differencing scheme (LUDS) approximates the variable with the
next two nodes located upwind, thus a linear extrapolation.
xe xP
e = P + (P W ) (2.28)
xP xW

This scheme is of second order but can cause unboundedness, still it leads to less oscillations
than CDS. It is used to approximate the convective terms of the conservation equations.

The interpolation schemes are dened in the OpenFOAM -le fvSchemes, see appendix A.1.2.

2.2.2 Time

As the simulation investigates an unsteady case the mathematical model must be discretised in
time. Hence a time domain simulation time must be dened and divided into a nite number
of intervals time steps t. For each time step a converged solution of the algebraic system of
equations is necessary. Time derivatives and the integral over time must be discretised.
The Euler implicit time differencing scheme is used for temporal discretisation. It is rst order
accurate and unconditionally stable.

After the spatial discretisation, time derivatives (like the rst term in equation 2.21) are discre-
tised in time, assuming linear variation of P within one time step. The index n indicates the old
time step t and n + 1 the new time step t + t.

P n+1 Pn
P (2.29)
t t
Regarding the time integrals, the temporal variation of variables, face values and gradients during
one time step are assumed to be constant. In implicit methods they are approximated with the
new value (n + 1). [Rusche 2002, p. 88]
t+t
f (t, (t))dt f (tn+1 , n+1 )t (2.30)
t

The discretised equation reads:

n+1 Pn
P
VP + n+1
f u# f n+1 n# f Sf = 0 (2.31)
t f

2.3 Solving

The previously described discretisation yields an algebraic equation system for every CV of the
form:

aP P aN B N B = QP (2.32)

P denotes the respective variable for the regarded CV and N B are the variables of the neigh-
bouring and surrounding CV, that are involved in the approximation of P . aP and aN B are the
respective coefficients of the variables and QP is the source containing all known variables, inter
alia values from boundaries or explicitly treated terms from the linearisation process. The alge-

braic equations for each CV are summarised for the whole computational domain, with A as square

8
2 The Numerical Method

the vector containing the variable values at the grid nodes and Q
sparse coefficient matrix, the
vector containing the source terms. [Ferziger and Peri 2002, pp. 55-56]
# # #
#
A =Q (2.33)

The system of equations is coupled - velocities and pressure appear together in the equations.
Therefore, the variables will be treated sequentially, meaning that all equations are linearised and
solved independently for the own variable, treating the others explicitly as if they were known by
adding them to the source (inner iterations). Afterwards they will be coupled in order to achieve
a solution that satises all the equations (outer iterations).

The linearised equations in the inner iterations could be solved directly, but the discretisation error
is usually much larger than the accuracy of the computer arithmetic. This renders solving the sys-
tem directly undesirable. Instead an iterative solution technique is chosen. Iterative methods start
with an initial guess, then to improve the solution systematically until some "solution tolerance" is
met. [Jasak 1996, p. 111]

OpenFOAM uses the pressure implicit with splitting of operator (PISO) algorithm for the pressure-
velocity coupling. It involves a momentum predictor and a correction loop in which the pressure-
correction equation based on the volumetric continuity equation is solved and the momentum is
corrected based on the pressure change. The transport equations for the phase fraction, as well
as the turbulent kinetic energy and its dissipation are solved only once per time step/iteration at
the end of each sequence. [Rusche 2002, p. 107] The solving process consists of the following steps:
[Jasak 1996, p. 150; Ferziger and Peri 2002, p. 178; Rusche 2002, p. 124]

1. set up the initial conditions for all field values

2. start the calculation of the new time-step values / set up time values according to sources

3. PISO-loop: (outer iteration)

assemble and solve the momentum predictor equation with the available face fluxes
(inner iteration)
assemble and solve the pressure-correction equation
correct the pressure and velocity field and the face fluxes

4. solve the k- or k- equations and calculate effective viscosity

5. solve the equation

6. if the final time is not yet reached, return to step 2

The solvers, residual and PISO controls in OpenFOAM are set up in the fvSolution-file, see appendix
A.1.3.
For the pressure the GAMG (geometric-algebraic multi-grid) solver is used, that firstly generates
a quick solution on a coarse mesh as an initial guess for the solution on the original mesh. The
pressure correction is solved with the PCG (Preconditioned conjugate gradient) solver with GAMG
as preconditioner. The volume fraction, velocity and turbulence parameter are solved with the
smoothSolver. [Greenshields 2015, p. 125]

9
2 The Numerical Method

The inner iterations are solved until a the following nal residuals are reached: 106 for p, 108 for
and 107 for the velocity and the turbulence parameters. A decrease in residuals by two orders of
magnitude for the turbulence parameters, four for the pressure, and ve for the velocities indicates
a converged solution (see initial and nal residuals for all variables in appendix A.2, analysed with
the foamLog utility for exemplary cases). To reach this convergence 1-5 inner iterations are needed
for #
u , , k and and depending on the scenario and wave up to 500 for p.
The outer iterations are found to be sufficient with nOuterCorrectors = 1, see section 7.1.3.

2.4 Boundary and Initial Conditions for Calm Water

For the above described iterative solution process boundary and initial conditions are required for
all variables: velocity, pressure, volume fraction and turbulence parameters. As the analysed case
is 2D ve boundaries exist: the inlet, the bounding wall on the right, the atmosphere, the bottom
and the absorber geometry. In OpenFOAM the front and back patch are dened as empty patches
to realise two dimensionality.
The wall like boundaries (bottom, right wall and absorber) require the same boundary conditions
(BC). The inlet boundary consists of a relaxation zone, which is explained more in detail in sec-
tion 3.2.
z
atmosphere
x

absorber
inlet right wall

bottom

Figure 2.2: Boundaries of the Simulation Domain

Velocity u With the problem at hand waves are entering a basin lled with standing water,
#
therefore, the initial velocity is set to the xed value of #
u = 0 . As for viscous ows the no-slip
condition is valid at walls, the velocity at wall like boundaries (bottom, right wall and absorber)
#
is also set to the xed value #u = 0 . At the atmosphere a zero gradient condition is applied, i.e.
the normal gradient is set to zero and the value at the boundary is approximated with the value
of the closest CV. This satises an undisturbed in- and outow of the uid. At the inlet boundary
the velocities of the applied wave theory are indicated, according to the theory and relaxation zone
technique described in section 3.

Pressure prgh OpenFOAM uses the relative dynamic pressure prgh for its calculations.

prgh = p + gz , with z pointing upwards (2.34)

The absolute pressure will be calculated after the solution procedure by adding the hydrostatic
pressure to the dynamic pressure. The BC are dened for the dynamic pressure prgh . The initial
value for the pressure is set to the xed value prgh = 0. At the wall like boundaries and at the inlet
the zero gradient condition is given, because at these boundaries the velocity is already predened.
According to an undisturbed atmosphere the pressure at this boundary is given with prgh = 0.

10
2 The Numerical Method

Volume Fraction The initial condition for the volume fraction according to the still water
surface is = 0, for cells above and = 1, for cells below the FS. At all boundaries apart from
the inlet the volume fraction can freely develop according to the neighbouring cells with the zero
gradient BC. At the inlet, where the waves are induced into the domain, the volume fraction is
dened according to the applied wave theory with the relaxation zone technique, see section 3.

Turbulence Parameters t , k, According to the in section 2.1.3 described turbulence models,


conditions must be dened for three parameters. At all wall like boundaries the logarithmic law
of the wall is realised by using the respective wall functions for the parameters. The atmospheric
boundary does not inuence the turbulence parameters due to the zero gradient condition. For the
turbulent inow the turbulent viscosity is assumed to be ten times higher than the uids molecular
viscosity

t = 10 , t = 10 (2.35)

and the turbulent kinetic energy k is according to [Ferziger and Peri 2008, p. 356] estimated with:
3 2 2
k= u IT (2.36)
2
Where the turbulence intensity for a low turbulent case is assumed to be IT = 0.1 %, as analysed
regarding the wave quality (see section 7.1.4) and the mean velocity is estimated with the absolute
maximum orbital velocity of the uid particles in the wave u = umax . The specic dissipation is
thus according to equation 2.15:
k k
= = (2.37)
t t
The initial conditions are set to the value specied at the inlet.

All applied conditions are summarised in the following table in OpenFOAM notation, in the way
in which they are found in the 0 -folder of the respective case, see appendix A.1.5.

u
prgh t , k,

initial xedValue 0 xedValue 0 xedValue 0 or 1 xedValue


frontBack empty
right wall xedValue 0 zeroGradient zeroGradient wallFunction
bottom xedValue 0 zeroGradient zeroGradient wallFunction
absorber xedValue 0 zeroGradient zeroGradient wallFunction
atmosphere zeroGradient xedValue 0 zeroGradient zeroGradient
inlet waveVelocity zeroGradient waveAlpha xedValue

Table 2.1: Boundary and Initial Conditions in OpenFOAM notation

11
3 Wave Generation

For the analysis of the absorbing performance a spectrum of ten linear and ten non-linear regular
waves is analysed in the simulations and the experiments. The wave periods under review are
equally
1 2 spread in the range of T = 0.75 1 2s to T = 3 s. The wave steepness is kept constant at
H H
airy = 0.006 for the linear and at stokes = 0.04 for the non-linear waves, with wave height
H and wavelength . The properties of the non-linear waves are selected in consultation with
HSVA. The linear waves are derived from these by lowering the wave steepness in order to have
the possibility to validate the results with analytical solutions
1 from
2 a linear numerical
1 wave
2 ume.
H H
With these wave steepnesses the relative wave heights are gT 2 0.0009 and gT 2
airy stokes
0.0063. The water level in the towing tank of the HSVA is at d = 5.685m, hence the relative
water depth is gTd 2 0.064. Therefore, the valid wave theories are the Airy theory and the Stokes
second-order theory, as documented with gure 3.1, where red lines mark out the present values
for relative wave height and a turquoise line the relative water depth. In the range of the waves
in question one nds transitional water waves and deepwater waves. All investigated sea states can
be seen in table 3.1 for the simulations and in table 8.1 for the experiments.

Figure 3.1: Applicability of Wave Theories [Clauss, Lehmann, and stergaard 1992a, p. 191]

3.1 Wave Theory

A two-dimensional linear mathematical model has been developed in the 19th century by George
Biddell Airy to describe the behaviour of regular waves in a uid. Sir George Stokes developed the

From here on the subscript airy indicates terms derived from the linear wave theory and stokes from the non-
linear Stokes second-order theory.

12
3 Wave Generation

theory further into a non-linear model. The theory is based on the assumption of an ideal uid,
i.e. incompressible, inviscid and irrotational.

rot #
u =0 (3.1)

Therefore, the uid can be described by a potential function :

u =
# (3.2)

According to the continuity equation, the divergence of an incompressible uid is zero:

u =0
# (3.3)

Combining equation 3.2 and equation 3.3 yields the partial differential Laplace equation (here 2D).
Its solution describes the velocity and pressure eld in the wave.
2 2
u = () = =
# + =0 (3.4)
x2 z 2
In order to solve the above equation BC have to be applied.

At the bottom (which is assumed to be horizontal) the vertical velocities are zero:

w= = 0, for z = d (3.5)
z
The uid particles at the FS cannot break through the surface (kinematic surface condition),
is the surface elevation:

w= = + , for z = (3.6)
z t x x
And the pressure at the FS equals the atmospheric pressure p0 (dynamic surface condition):
C3 42 3 42 D

+p+ + + gz = p0 , for z = (3.7)
t 2 x z

In addition the condition for a progressing wave must be satised.

between the earth xed reference system (x, z, t) and the moving reference system (x1 , z) the
following relation exists:

x1 = x ct (3.8)

Where c is the phase velocity of the wave and t is the time.

gure 3.2 illustrates the terminology used in the applied theories.

a H c
z
x

Figure 3.2: Terminology for the Wave Theories

13
3 Wave Generation

For the Airy wave theory the BC are linearised, considering the assumption of small wave heights
- i.e. all terms of higher order than one are being neglected and the solution is generated by the
product solution of the Laplace equation. The surface elevation and the particle velocities in
x-direction and z-direction u and w are derived from the velocity potential .

a cosh(k(z + d))
airy = sin(), with = kx t (3.9)
k sinh(kd)

Where is the wave frequency, k the wave number and a the wave amplitude.

airy = a cos() (3.10)


cosh(k(z + d))
uairy = a cos() (3.11)
sinh(kd)
sinh(k(z + d))
wairy = a sin() (3.12)
sinh(kd)

In the Stokes second-order wave theory variables are expressed as series expansions and terms
of an order higher than two are being neglected. The respective terms of the solution are the
following:
C D
cosh(k(z + d)) 3 cosh(2k(z + k))
stokes = 2 (ka ) sin() + (ka )2 sin(2) (3.13)
k sinh(kd) 8 sinh4 (kd)
1 cosh(kd)
stokes = a cos() + ka2 (2 + cosh(2kd)) cos(2) (3.14)
4 sinh3 (kd)
cosh(k(z + d)) 3 cosh(2k(z + d))
ustokes = a cos() + ka2 cos(2) (3.15)
sinh(kd) 4 sinh4 (kd)
sinh(k(z + d)) 3 sinh(2k(z + d))
wstokes = a sin() + ka2 sin(2) (3.16)
sinh(kd) 4 sinh4 (kd)

The theories apply together with the dispersion relation



= kg tanh(kd) (3.17)

and the following relations:

2 2 d
k= , = , c= , cgr = (3.18)
T T dk
Where cgr denotes the group velocity of the wave, that the wave packet propagates with in space.
As both, deepwater and transitional water waves are discussed, the universally valid formulae of
transitional water waves are presented.

Deeper explanations on the details of wave theories can be found in [Clauss, Lehmann, and ster-
gaard 1992a, pp. 162-192] and [Sding 1982, pp. 3-5].

3.2 Boundary and Initial Conditions for Waves


In OpenFOAM the toolbox waves2Foam is used for the generation of waves in the numerical model.
A relaxation zone is dened to induce the waves into the domain. The zone spans over the full
domain height with the length of one wavelength. Here a blending function is valid, that imposes
the wave theorys information of the particle velocities and the surface elevation on the uid, by

14
3 Wave Generation

mixing it with the numerical solution. The blend is applied explicitly each time step in the following
way:

u = (1 R ) #
# u theory + R #
u numerical (3.19)
= (1 R )theory + R numerical (3.20)

Where the blending function R is dened in the following way:


3.5
eXR 1
R = 1 , with XR [0, 1] (3.21)
e1 1
The distance function XR is linearly distributed over the relaxation zone, such that it is R = 0
at the boundary and R = 1 at the border between relaxation zone and remaining domain, see
gure 3.3.

XR
1

wave
inlet

Figure 3.3: Blending Function in Inlet Relaxation Zone [Jacobsen, Fuhrman, and Fredse 2011, p. 1078]

For more detailed explanations on the setup of the relaxation zones and the functionality of the
toolbox waves2Foam, please refer to [Jacobsen, Fuhrman, and Fredse 2011].

3.3 Investigated Sea States


Ten linear and ten non-linear regular waves are investigated. Their wave period is equally spread
over the range T = [0.75, 3] s. The wave steepness is constant over the period. For the airy cases
the wave steepness is selected at H
= 0.006 in order to full the linear wave theory conditions with
the given water depth; the stokes waves have a steepness of H = 0.04, which was specied by the
HSVA. Based on this the remaining wave parameters are derived with the previously presented
formulae of the wave theories.
For the cases with T 2.7 s the deep water condition is valid and the dispersion relation can be
simplied to the linear relation

= kg , (3.22)

where the wave number k can be directly derived from. In the remaining cases k is found as itera-
tive solution of the dispersion relation (equation 3.17).

0.04 d/ shallow water,


0.04 > d/ > 0.5 transitional water,
d/ 0.5 deepwater

15
3 Wave Generation

The following table shows the properties of the waves used in the simulations, where the transition
to deepwater is marked by a grey line:

T k H a c cgr umax
airy stokes airy stokes airy stokes
[s] [1/s] [1/m] [m] [m] [m] [m] [m] [m/s] [m/s] [m/s] [m/s]

0.75 8.378 7.154 0.878 0.005 0.035 0.003 0.018 1.171 0.585 0.022 0.147
1.00 6.283 4.024 1.561 0.009 0.062 0.005 0.031 1.561 0.781 0.029 0.196
1.25 5.027 2.576 2.440 0.015 0.098 0.007 0.049 1.952 0.976 0.037 0.245
1.50 4.189 1.789 3.513 0.021 0.141 0.011 0.070 2.342 1.171 0.044 0.294
1.75 3.590 1.314 4.782 0.029 0.191 0.014 0.096 2.732 1.366 0.052 0.343
2.00 3.142 1.006 6.245 0.037 0.250 0.019 0.125 3.123 1.562 0.059 0.392
2.25 2.793 0.795 7.904 0.047 0.316 0.024 0.158 3.513 1.760 0.066 0.442
2.50 2.513 0.644 9.758 0.059 0.390 0.029 0.195 3.903 1.971 0.074 0.491
2.75 2.285 0.535 11.753 0.071 0.470 0.035 0.235 4.274 2.197 0.081 0.540
3.00 2.094 0.452 13.889 0.083 0.556 0.042 0.278 4.630 2.454 0.088 0.589

Table 3.1: Sea States for the Simulations in HSVA Scale

Throughout the investigation the regarded sea state is declared with the specication of theory
and wave period (e.g. stokes, T = 2 s). The depending qualities can be found in the previously
presented table 3.1.

The relaxation zone and the initial conditions for the respective sea states are dened in the
OpenFOAM le waveProperties, see appendix A.1.4.

16
4 Reflection Coefficient

For describing the absorbing quality of the different absorber congurations the reection coef-
cient R is the decisive parameter. Different approaches have been developed to calculate such
coefficient. [Isaacson 1991] describes the main principles. The more complex methods include the
Fourier analysis of the surface elevation measured at two or more xed wave gauge (WG) [e.g.
Thornton and Calhoun 1972; Goda and Suzuki 1976; Mansard and Funke 1980; Zelt and Skjelbreia
1992] and must be applied when analysing wave trains composed of a spectrum of regular waves.
In cases like this, where simple regular waves and their reection are considered, a more straightfor-
ward method can be applied, that is described by [Dean and Dalrymple 1991]. Here, the reection
coefficient can be found by determining the maximum and minimum wave height of the wave sys-
tem, which correspond to the quasi-nodes and quasi-antinodes of the wave envelope, see gure 4.1
and 4.2. Per wavelength two quasi-nodes and two quasi-antinodes develop. In [Straub, Bowers, and
Herbich 1957; Khnlein 1989; Isaacson 1991; Stamos 2000] reection coefficients are successfully
analysed with the envelope method.

Dean and Dalrymple suggest to slowly traverse one WG in direction of the wave propagation in
order to measure the wave envelope, see gure 4.1. Method A is advantageous when it is difficult
to register the surface elevation continuously in a greater area and nds its application in section 8,
when the validation experiments are carried out.

quasi node
(x, t) quasi antinode

0
x, t

Hmin
Hmax
Figure 4.1: Schematic Wave Envelope by Traversing one Wave Gauge (Method A)

The second possibility is to capture several snapshots of the surface elevation within one wave
period, see gure 4.2. The advantage here lies in the independence of the abscissa of the traversing
speed of the wave gauge and therefore of the time. Method B is applied when the simulation results
are evaluated.
quasi node
(x, t) quasi antinode

0
x

Hmin
Hmax
Figure 4.2: Schematic Wave Envelope Resolved over one Wave Period (Method B) [Khnlein 1989, p. 12]

17
4 Reection Coefficient

The wave prole can be seen as the superposition of two regular waves travelling in opposite
directions, where the reected wave height Hr is smaller than the incident wave height Hi and
travels with a phase lag , both waves have the same period T . [Dean and Dalrymple 1991, p. 90]
Hi Hr
(x, t) = (cos(kx t)) + (cos(kx + t + )) (4.1)
2 2
The reection coefficient R is thus dened as ratio of reected wave height Hr to incident wave
height Hi
Hr
R= , (4.2)
Hi
which are derived from the wave heights at the quasi-nodes and quasi-antinodes:
Hmax Hmin
Hr = (4.3)
2
Hmax + Hmin
Hi = (4.4)
2
For regular waves the reection coefficient is R = 1 in case of a standing wave with total reection,
R = 0 in case of no reection and 0 R 1 for partial reection.

The accuracy of the method can be inuenced by several issues, some of those are considered more
closely:

The position of evaluation area in respect to absorber: The closer the area is to the
absorber, the better the result, because disturbing factors, that accumulate over the length of the
domain, i.e. over the duration of the wave propagation (e.g. lengthening of wavelength, attening
of wave height), are less pronounced. Still a certain distance is necessary to assure that side-effects,
which only occur in close proximity to the absorber, do not disturb the envelope part to be analysed.

The length of the evaluation area: Within one wavelength two (quasi)-nodes and two (quasi)-
antinodes develop. For method A, which is used in the experiments, the longest possible segment
is registered, i.e. three to six (quasi)-nodes and (quasi)-antinodes are covered, depending on the
group velocity of the respective wave. In this context it is benecial to have a big number of
averaging values, to counterbalance predominating measuring errors. For method B, used in the
simulations, a length of one wavelength is sufficient, because measurement errors are not present
here and the development of the reection coefficient, which is analysed from how the envelope is
stepping through the area, can be better documented with a short evaluation area.

The carriage speed (for method A): Clearly the slowest carriage speed is the best, in order to
accurately register especially the (quasi)-antinodes, if the envelope height here is very low and the
node very pronounced. But if the speed is too low the time window, in which the fully developed
envelope is present in the evaluation area, will already be over when reaching the end of it. An
adequate speed must be found, that satises both requirements.

The resolution of wave period (for method B): The number of snapshots captured per wave
period, in order to form the wave envelope, is essential for the accuracy of the result. Clearly, the
more snapshots, the better the envelope can be determined.

18
4 Reection Coefficient

An analytical analysis in a numerical linear wave tank (in Matlab) of the wave envelope method
shows, that both, method A and B, are appropriate to evaluate the reection coefficient; the re-
quired carriage speed (for method A) and wave period resolution (for method B) are determined
for sea state airy, T = 3 s. Therefore a right travelling wave is superposed with a left travelling
wave, according to equation 4.1. The right travelling wave has the incident wave height Hi and the
left travelling wave has the reected wave height Hr = R Hi , where R is varied from a tenth to
one in steps of 0.1, i.e. R = 0.1, 0.2, ...0.9, 1.

For the analysis of method A the carriage speed ccar is implemented in the spatial coordinate
Hi Hr
(x1 , t) =
(cos(kx1 t)) + (cos(kx1 + t)) , where x1 = ccar t (4.5)
2 2
and varied as fraction of the group velocity, i.e. ccar = [0.01, 0.02, 0.04, 0.08, 0.16]cgr . The envelope
here is constructed of the local maxima and minima of the surface elevation registered by the (here
theoretical) carriage. gure 4.3 illustrates how the wave envelope develops with decreasing carriage
speed for three different reection coefficients. R is determined based on the envelope in the non-
grey area.

Surface Elevation Envelope Hmax Hmin Surface Elevation Envelope Hmax Hmin Surface Elevation Envelope Hmax Hmin
3 3 3

2 2 2

1 1 1
1 / 1a [-]

1 / 1 [-]

1 / 1 [-]
a

a
0 0 0

-1 -1 -1

-2 -2 -2
Analytical Reflection Coefficient = 0.1 Rcalc = 0.095 Analytical Reflection Coefficient = 0.1 Rcalc = 0.099 Analytical Reflection Coefficient = 0.1 Rcalc = 0.1
Carriage Speed = 0.16 " cgr [m/s] Carriage Speed = 0.08 " cgr [m/s] Carriage Speed = 0.02 " cgr [m/s]
-3 -3 -3
0 0.5 1 1.5 2 0 0.5 1 1.5 2 0 0.5 1 1.5 2
c " t / 6 [-] c " t / 6 [-] c " t / 6 [-]
car car car
Surface Elevation Envelope Hmax Hmin Surface Elevation Envelope Hmax Hmin Surface Elevation Envelope Hmax Hmin
3 3 3

2 2 2

1 1 1
1 / 1a [-]

1 / 1 [-]

1 / 1 [-]
a

0 0 0

-1 -1 -1

-2 -2 -2
Analytical Reflection Coefficient = 0.5 Rcalc = 0.44 Analytical Reflection Coefficient = 0.5 Rcalc = 0.49 Analytical Reflection Coefficient = 0.5 Rcalc = 0.5
Carriage Speed = 0.16 " c [m/s] Carriage Speed = 0.08 " c [m/s] Carriage Speed = 0.02 " c [m/s]
gr gr gr
-3 -3 -3
0 0.5 1 1.5 2 0 0.5 1 1.5 2 0 0.5 1 1.5 2
ccar " t / 6 [-] ccar " t / 6 [-] ccar " t / 6 [-]
Surface Elevation Envelope Hmax Hmin Surface Elevation Envelope Hmax Hmin Surface Elevation Envelope Hmax Hmin
3 3 3

2 2 2

1 1 1
1 / 1a [-]

1 / 1 [-]

1 / 1 [-]
a

0 0 0

-1 -1 -1

-2 -2 -2
Analytical Reflection Coefficient = 1 Rcalc = 0.89 Analytical Reflection Coefficient = 1 Rcalc = 0.95 Analytical Reflection Coefficient = 1 Rcalc = 0.99
Carriage Speed = 0.16 " cgr [m/s] Carriage Speed = 0.08 " cgr [m/s] Carriage Speed = 0.02 " cgr [m/s]
-3 -3 -3
0 0.5 1 1.5 2 0 0.5 1 1.5 2 0 0.5 1 1.5 2
c " t / 6 [-] c " t / 6 [-] c " t / 6 [-]
car car car

Figure 4.3: Analytical Analysis of Envelope Method A

The dependence of the reection coefficient on the carriage speed is presented in gure 4.4 for all
investigated R. As expected, with decreasing carriage speed, the determined reection coefficient
converges to the analytically preset one. And the accuracy for lower reection coefficients is not
as depending on the carriage speed as for relatively high reection coefficients. One can conclude
with regard to the application of this evaluation method, that higher reection coefficients are
more difficult to determine accurately and lower carriage speed is necessary here. Yet, one has to

19
4 Reection Coefficient

ensure that the measurement has nished before the re-reection from the wave inlet returns to
the carriage.
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
1

0.9

0.8

0.7

0.6
R [-]

0.5

0.4

0.3

0.2

0.1

0
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16
cCarriage / cgr [-]

Figure 4.4: Analytical Reection Coefficient in Dependence on Carriage Speed (Method A)

For the analytical analysis of method B, the spatial resolution is reduced to 72 points per
wavelength, according to the spatial resolution used in the simulation, analysed in section 7.1. The
wave period resolution (i.e. how many snapshots per wave period are captured) varies from four to
64 records per wave period, records/T = [4, 8, 16, 64]. The envelope is composed by the maximum
and minimum values of the composite wave eld and its development with increasing resolution
can be understood in gure 4.5 for three different R.

1 Envelope Hmax Hmin 1 Envelope Hmax Hmin 1 Envelope Hmax Hmin


3 3 3

2 2 2

1 1 1
1 / 1 [-]

1 / 1a [-]

1 / 1a [-]
a

0 0 0

-1 -1 -1

-2 -2 -2
Analytical Reflection Coefficient = 0.1 R calc = 0.1 Analytical Reflection Coefficient = 0.1 R calc = 0.1 Analytical Reflection Coefficient = 0.1 R calc = 0.1
Resolution = 4 records / T Resolution = 16 records / T Resolution = 64 records / T
-3 -3 -3
0 0.5 1 1.5 2 0 0.5 1 1.5 2 0 0.5 1 1.5 2
x / 6 [-] x / 6 [-] x / 6 [-]
1 Envelope Hmax Hmin 1 Envelope Hmax Hmin 1 Envelope Hmax Hmin
3 3 3

2 2 2

1 1 1
1 / 1 [-]

1 / 1a [-]

1 / 1a [-]
a

0 0 0

-1 -1 -1

-2 -2 -2
Analytical Reflection Coefficient = 0.5 R = 0.5 Analytical Reflection Coefficient = 0.5 R = 0.5 Analytical Reflection Coefficient = 0.5 R = 0.5
calc calc calc
Resolution = 4 records / T Resolution = 16 records / T Resolution = 64 records / T
-3 -3 -3
0 0.5 1 1.5 2 0 0.5 1 1.5 2 0 0.5 1 1.5 2
x / 6 [-] x / 6 [-] x / 6 [-]
1 Envelope Hmax Hmin 1 Envelope Hmax Hmin 1 Envelope Hmax Hmin
3 3 3

2 2 2

1 1 1
1 / 1 [-]

1 / 1a [-]

1 / 1a [-]
a

0 0 0

-1 -1 -1

-2 -2 -2
Analytical Reflection Coefficient = 1 R calc = 1 Analytical Reflection Coefficient = 1 R calc = 1 Analytical Reflection Coefficient = 1 R calc = 1
Resolution = 4 records / T Resolution = 16 records / T Resolution = 64 records / T
-3 -3 -3
0 0.5 1 1.5 2 0 0.5 1 1.5 2 0 0.5 1 1.5 2
x / 6 [-] x / 6 [-] x / 6 [-]

Figure 4.5: Analytical Analysis of Envelope Method B with Doubly Even Resolutions

20
4 Reection Coefficient

The analysis claries, the doubly even resolutions always deliver the exact result, as distinguished
from singly even and odd numbers of records per wave period. For singly even resolutions, the
reection coefficient is overestimated, because at the points, where antinodes occur, no maximum
of a record is present, causing an underestimation of Hmin , see Figure 4.6a. Odd resolutions cause
an alternating behaviour of the nodes and antinodes and yield too low results for R, due to an
underestimation of Hmax , see Figure 4.6c. Both observations are more pronounced for relatively
low reection coefficients.

1 Envelope Hmax Hmin 1 Envelope Hmax Hmin 1 Envelope Hmax Hmin


3 3 3

2 2 2

1 1 1
1 / 1a [-]

1 / 1a [-]

1 / 1 [-]
a
0 0 0

-1 -1 -1

-2 -2 -2
Analytical Reflection Coefficient = 0.1 R = 0.17 Analytical Reflection Coefficient = 0.1 R = 0.1 Analytical Reflection Coefficient = 0.1 R = 0.18
calc calc calc
Resolution = 6 records / T Resolution = 4 records / T Resolution = 5 records / T
-3 -3 -3
0 0.5 1 1.5 2 0 0.5 1 1.5 2 0 0.5 1 1.5 2
x / 6 [-] x / 6 [-] x / 6 [-]
1 Envelope Hmax Hmin 1 Envelope Hmax Hmin 1 Envelope Hmax Hmin
3 3 3

2 2 2

1 1 1
1 / 1a [-]

1 / 1a [-]

1 / 1 [-]
a
0 0 0

-1 -1 -1

-2 -2 -2
Analytical Reflection Coefficient = 0.5 R calc = 0.55 Analytical Reflection Coefficient = 0.5 R calc = 0.5 Analytical Reflection Coefficient = 0.5 R calc = 0.52
Resolution = 6 records / T Resolution = 4 records / T Resolution = 5 records / T
-3 -3 -3
0 0.5 1 1.5 2 0 0.5 1 1.5 2 0 0.5 1 1.5 2
x / 6 [-] x / 6 [-] x / 6 [-]
1 Envelope Hmax Hmin 1 Envelope Hmax Hmin 1 Envelope Hmax Hmin
3 3 3

2 2 2

1 1 1
1 / 1a [-]

1 / 1a [-]

1 / 1 [-]
a

0 0 0

-1 -1 -1

-2 -2 -2
Analytical Reflection Coefficient = 1 R calc = 1 Analytical Reflection Coefficient = 1 R calc = 1 Analytical Reflection Coefficient = 1 R calc = 1
Resolution = 6 records / T Resolution = 4 records / T Resolution = 5 records / T
-3 -3 -3
0 0.5 1 1.5 2 0 0.5 1 1.5 2 0 0.5 1 1.5 2
x / 6 [-] x / 6 [-] x / 6 [-]

(a) Singly Even (b) Doubly Even (c) Odd

Figure 4.6: Analytical Analysis of Envelope Method B with Different Types of Low Resolutions

Still, these are sensitivities disappearing with high numbers of records per wave period, as gure 4.7
demonstrates. The 30 snapshots per wave period captured in section 7.2 for the evaluation of the
simulation results, are clearly sufficient for the accurate determination of the reection coefficient
from this analytical point of view. It must be considered, that in the simulations and experiments
inaccuracies may appear, which further inuence the results aside from the analytically studied
parameters at hand.


Singly even numbers are divisible by two and doubly even numbers are divisible by four.

21
4 Reection Coefficient

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1


doubly even odd singly even
1
0.9
0.8
0.7
0.6
R [-]

0.5
0.4
0.3
0.2
0.1
0
0 10 20 30 40 50 60 70
records per T

Figure 4.7: Analytical Reection Coefficient in Dependence on Resolution of Wave Period (Method B)

22
5 Absorber Geometries
The large towing tank at HSVA is used for seakeeping tests beneath others [Hamburgische Schiffbau-
Versuchsanstalt GmbH 2015]; it is designed as model environment for open sea conditions. There-
fore, wave elds are introduced by the wave maker, that propagate along the tank. Reection of
waves from the end wall must be minimised, in order to avoid distortions of the initial wave eld
in the measuring section and in order to suppress remnant waves in the tank after the wave maker
is stopped for reduction of the downtime between measurements. That is the task of the wave
absorber.

5.1 Existing Absorber Types


Wave absorbers can broadly be classied into two categories: active and passive absorbers [Ouellet
and Datta 1986]. Active wave absorbers can be understood as inversely operating wave makers
[Westhuis 2001]. They are cost intensive and therefore usually not installed as exclusive absorbing
units. But as additional quality the wave maker itself can be programmed to avoid re-reection of
waves, which is the case at HSVA. Details about the functionality of active wave absorption can
be found in [Newman 2008] and [Christensen and Frigaard 1994].
In passive wave absorption two categories can be distinguished: vertical plate and beach like con-
structions. Series of perforated vertical plates, varying in number, permeability and spacing can
achieve satisfying reection coefficients when space is very restricted (see [Al-Ragum and Neela-
mani 2009; Twu and Lin 1990]); e.g. they are successfully installed behind the wave maker at TUB
to calm down the exited water at the rear side of the wave maker and as side wall absorbers at
HSVA opposite the side wave generator. Still, for prevention of reection from the end wall of a
wave tank they do not suffice, beach like construction cause the lowest reections and are therefore
investigated here.
Investigations about horizontal and inclined plates (see [Cho and Kim 2008]) rapidly point out, that
an inclination of the plate maximises the absorbing quality, which automatically leads to beach like
absorbers. Here it can be differentiated between constant and varying slopes, that can be perme-
able or impermeable. They absorb the wave energy through a combination of viscous dissipation
and breaking [Newman 2008].

In previous experimental investigations about beach like absorbers there is a wide consensus on the
following general observations:
Reection can never be absolutely prevented, but reection of less than 10 % is achievable
and certainly desired for a wide range of wave periods and heights. [Lean 1967; Ouellet and
Datta 1986; Westhuis 2001; Neelamani and Raju 2004; Cho and Kim 2008]

The reection coefficient decreases when sloping angle decreases, i.e. the longer the absorber
the better, i.e. relatively shorter waves are better absorbed than longer waves. [Straub,
Bowers, and Herbich 1957; Lean 1967; Ouellet and Datta 1986; Khnlein 1989; Westhuis
2001; Cho and Kim 2008] HSVA staff conrm this effect.

The reection coefficient decreases when wave steepness increases [Straub, Bowers, and Her-
bich 1957; Lean 1967; Ouellet and Datta 1986; Neelamani and Raju 2004] due to breaking
of the waves. But [Khnlein 1989; Westhuis 2001] cannot nd a relation between reection
coefficient and wave steepness.

23
5 Absorber Geometries

Roughness and permeability of the absorber surface and porous material inside the absorber
are benecial for low reection coefficients according to [Straub, Bowers, and Herbich 1957;
Ouellet and Datta 1986], but [Westhuis 2001] does not nd a signicant difference and [Khn-
lein 1989] even observes the opposite for surface roughness. Additionally, [Cho and Kim 2008]
nd that smaller porosity plates perform better than those of larger porosity.

A curved or parabolic prole appears to improve performance in comparison to a at prole.


[Lean 1967; Ouellet and Datta 1986]

As the evaluation of reection coefficients heavily depends on the accuracy of the chosen evaluation
method and on the preset geometry, the investigation desists from a quantitative comparison with
values found in literature. The aim is to nd a qualitatively optimised solution for the present
situation at HSVA, within the preset conditions and the chosen simulation and evaluation method;
the investigation does not purport to present overall quantitatively correct results.

5.2 Investigated Scenarios


As the objective is to classify the wave absorbing qualities of the HSVA beach, the simulated ge-
ometries are based on the absorber and tank geometry at HSVA.

As theoretical case for comparison and validation a simple wall with at bottom is investigated.
The original HSVA sparred wood wave absorber is scenario II. As simple variation of the original
geometry, scenario III is a covered version of the original HSVA absorber. Scenario IV is the curved
sloping beach, which is used at the wave ume at TUB.

Scenario I WALL The HSVA tank is d = 5.685 m deep, therefore the geometry in the WALL
scenario is a 5.685 m deep tank with a at horizontal bottom and a vertical wall. A fully standing
wave with 100 % reection is expected from this theoretical case.

z
x

5.685 m

Figure 5.1: Absorber Geometry WALL

Scenario II HSVA The original geometry is reconstructed from the old construction drawings
of the absorbers skeletal metal structure and from inspections of the installed absorber. Based on
this information a digital drawing is made.
The absorber consists of 309 wooden laths with a 5 cm x 5 cm cross section, reaching across the
whole width of the tank. The laths are spaced in ve centimetre intervals on the metal frames,
leading to 50 % overall permeability. The frames are installed on a metal structure in the water,
building a sloped ramp with changing inclination from the bottom of the tank until 0.175 m above

24
5 Absorber Geometries

the free water surface, starting 19.5 m before the end of the tank. In the region of the free water
surface the frames are arranged in two to three tiers with ve centimetre spacing and the inclination
of the absorber when piercing the free water surface is 8.75 .
The metal construction is based on two right-angled trapezoidal foundations at the bottom of the
tank reaching across the whole width of the tank. The cross section of the tank is not a rectangular,
the bottom is attening with a 23 ascending ramp for the last 11.45 m of the tank.

This absorber type damps waves partially by breaking but due to the high permeability mostly
by disturbing the uid motion and introducing little vortices, transforming the wave energy into
turbulence and thus preventing the reection of the waves.

z
x

5.685 m
4.845 m

11.45 m
19.5 m
Figure 5.2: Absorber Geometry HSVA

Scenario III HSVA covered The permeable absorber is improved because it is expected that
a different type, that converts the wave energy more by forcing them to break due to a sloped
attening of the bottom, might work better, the original geometry is slightly changed to achieve a
completely closed surface. The covering of the sparred wood frames is implemented in the digital
model, by placing closed surfaces on the laths. For simplicity, the laths themselves that are still
below these theoretical plates, are not simulated, because they would not change the results and
can thus be neglected in the discretisation.

This slope is composed of at plates with changing angles and at the second foundation a gap is
present due to the given skeletal structure.

z
x

5.685 m
4.845 m

11.45 m
19.5 m
Figure 5.3: Absorber Geometry HSVA covered

25
5 Absorber Geometries

Scenario IV TUB The pursued idea of scenario III leads to a continuous slope with a con-
tinuously changing curvature. An example is present at the TUB wave ume. Eleven points of
the curved surface are measured and inserted to the CAD software Rhinoceros, where a third order
NURBS is tted to these. For the simulations the geometry is scaled according to the ratio of the
water depths at the two different locations, to t in the HSVA tank.
The original beach ushes with the bottom, in this investigation it is tilted so that a gap (43 cm
in HSVA scale, 3 cm in TUB scale) allows the reux of uid over the bottom below the absorber.
Where the absorber pierces the surface a slope of 12 is present. In accordance with the rectangular
wave ume at TUB the foundations and the ramp of the HSVA tank are not discretised.

z
x

5.685 m

0.43 m

18 m
Figure 5.4: Absorber Geometry TUB

Non-Uniform Rational B-Spline; a parabolic function was expected but could not be tted through the measured
points.

26
6 Computational Domain

The computational domain is created with OpenFOAM integrated tools. With blockMesh the origin
of the coordinate system, the extents of the domain and the blocks with the basic, orthogonal mesh
are dened. With topoSet regions are selected that are rened by bisecting cells with refineMesh.
The respective absorber geometries are then cut out of the mesh and the edges are connected with
snappyHexMesh.

The 2D longitudinal section of the HSVA towing tank is modelled not over its complete length
but the ending of the tank with the absorber and up to a sufficient extend (three wavelengths)
a part of the tank in front of the absorber plus the wave inlet of one wavelength opposing the
absorber.
gure 6.1 shows the basic subdivision of the meshed domain for the WALL scenario, i.e. before one
of the previously described absorber geometries is implemented in the designated area.
The domain is 15.685 m high, according to the water depth of 5.685 m plus a 10 m area towards
the atmosphere, that prevents inuences of the atmospheric boundary on the surface elevation.
The length of the domain is controlled by the wave- and absorber length: + 3 + absorber length,
where the length of the absorber is rounded up to be divisible without remainder by , so that the
domain length is always a multiple of the wavelength, which is desirable for the cell distribution in
x-direction.

10 m

z
2H x
2 H II
III
ekz = 1 %
IV
5.685 m
3 absorber area
Figure 6.1: Scheme of the Basic Computational Domain (not to scale)

The origin of the coordinate system is located at the FS behind the wave inlet with the z-axis
pointing upwards and x-axis pointing to the right, towards the end of the tank. In OpenFOAM
the third dimension is neglected by simply dening only one cell in y-direction of the domain and
declaring the front and back patches as empty.
For each of the 20 investigated sea states a new mesh is created depending on the respective wave-
length, wave height and depth effect.

The whole domain can be separated into four main blocks. In x-direction there are no subdivisions
and the cells are evenly distributed over the length of the domain. In z-direction these regions are
dened:

27
6 Computational Domain

Block I is the area above the FS region, where in z-direction a cell-to-cell grading of 1.2
towards the atmosphere is present. In x-direction the cell size is doubled compared to the
resolution in the FS region in block II.

Block II is the region of the FS, where a relatively ne grid is necessary for good resolution
of the waves. It is dened from two wave heights above the still-water-level until two wave
heights below the still-water-level. The mesh resolution is 72 cells per wavelength and 9 cells
per wave height according to the grid analysis in section 7.1.1.

Block III is a transition zone that stretches until a water depth where the depth effect of the
waves is ekz 1 %, according to the exponential decrease of the wave inuence on the uid
[Sding 1982, p. 8]. In x-direction the resolution is as in block II and in z-direction the cells
are smoothly expanding with a cell-to-cell grading of 1.04. For sea states with high periods
(T 2.229 s), where the depth effect is higher than 1 % until the bottom of the domain,
block III goes until the bottom and block IV is not present.

Block IV is the deep water area where the cell size in x-direction is doubled compared to
the resolution in block II, the FS region, and the cell size in z-direction equals the one in
x-direction yielding squared cells.

The different absorber geometries are modelled with the CAD software Rhinoceros and implemented
in the computational domain with the tool snappyHexMesh. According to the present coarseness
of the mesh in the regarded sea state, the surrounding region is gradually rened with zero to
ve renement zones, so that the turbulent ow of the water around the absorber can successfully
be simulated. The outmost renement zone halves the cells only in z-direction to compensate for
the high aspect ratio of the cells; all following renement zones equally halve the cells in x- and
z-direction. See a selection of details of the four to ve renement zones around the absorber
geometries in the coarsest grid (sea state: T = 3 s, stokes) in gure 6.2.

(a) HSVA (b) HSVA covered

Figure 6.2: Exemplary Grid Renement near the Different Absorber Geometries

28
6 Computational Domain

(c) TUB

Figure 6.2: Exemplary Grid Renement near the Different Absorber Geometries (continued)

The resulting base grids (without absorber geometries) consists of the number of cells in the different
sea states as presented in table 6.1.
The spatial resolution in block II, the FS region, is controlled by wavelength and wave height,
and block II controls the resolution in the remaining blocks. The length of the domain depends
on the wave length and absorber length, the height of the domain is xed. Therefore, the overall
domain size increases with increasing wave period, but as the wavelengths and -heights are also
increasing, the cell number for the overall mesh decreases. Due to the lower wave height in the
airy sea states, the meshes for these cases show an overall higher spatial resolution and, therefore,
higher cell numbers.

T [s] 0.75 1.00 1.25 1.50 1.75 2.00 2.25 2.50 2.75 3.00

airy [103 ] 528 270 171 121 103 89 76 72 60 58


stokes [103 ] 418 201 122 84 70 59 49 46 38 35

Table 6.1: Number of Cells for the Base Grids (without absorber geometries)

The number of cells for the absorber scenarios can sometimes even be doubled, especially for the
meshes with larger waves, as here the overall mesh is rather coarse and more renement zones have
to be activated to discretise the desired geometry (see the HSVA absorber in gure 6.2a with ve
renement zones for sea state: T = 3 s, stokes; sea state: T = 0.75 s, stokes gets by without any
renement zone due to the high overall mesh resolution).
Considering all created domains, the smallest mesh consists of 35 000 cells and the largest of 528 000
cells.

29
7 Simulations
80 simulations are being evaluated: the ten airy and ten stokes waves are applied to all four scenar-
ios. Afterwards an experimental investigation on the WALL and the TUB scenario is performed,
with the aim to validate the simulation setup and results.
In order to nd the optimum simulation setup, in respect to accuracy of the numerical solution and
computing time, the surface elevation for one sea state (T = 3 s, stokes) is investigated without a
reective obstacle at the end of the tank in section 7.1. The identied settings are then transferred
to the other sea states and the simulations for the four scenarios are performed. The results are
presented and the reection coefficients for each scenario depending on the sea state are evaluated.

7.1 Wave Analysis

The wave quality is analysed regarding the aspects: grid resolution, time step, outer iterations and
turbulence intensity. As a consequence the analysis in time and space also the convergence of the
simulation is shown.

For the analysis the base grid as presented in the previous section 6 is used. A wave outlet zone
of 32 wavelength with a grid expansion (cell-to-cell ratio of 1.03) is added and the right wall is
removed to generate an open domain outlet by applying these BC: zeroGradient for # u , and the
turbulence parameters t , k, and fixedValue 0 for the pressure prgh .
The wave outlet prevents the reection of the wave as the surface elevation after 37, 36 and 39
seconds shows in gure 7.1. The black dashed line represents the analytical surface elevation
according to Stokes second-order theory at t = 39 s. The grey areas highlight the wave inlet and
the wave outlet zones where the surface elevation is inuenced either by the relaxation zone for the
wave creation or by the expansion zone for the wave damping. In the following examinations only
the white area of three wavelength, where the wave freely develops, is looked at. The analysis of
the wave quality is performed for the sea state T = 3 s, stokes (which has the smallest domain,
thus the smallest number of cells and thus the shortest simulation time) and the results are then
transferred to the other sea states.

Figure 7.1: Domain Setup for the Wave Analysis

Unless indicated otherwise in the following evaluations, these settings are used and they present
the found optimum setup for the simulations with a deviation of 1.26 % at the rst wave crest in
the wave height and 1.13 % at the third zero crossing in the wave length, see gure 7.2:

30
7 Simulations

72 cells per wavelength and 9 cells per wave height

1500 time steps t per wave period T

one outer iteration

turbulence intensity of IT = 0.1 %

evaluation presented at time step t = 39 s, after 13 wave periods

7.1.1 Dependency on the Grid Resolution

Four grid resolutions are tested in the analysis. The lowest resolution has 18 cells per wavelength
and 2.25 cells per wave height, for the other three grids the resolution in each direction is doubled:
grid 1 (18x2.25), grid 2 (36x4.5), grid 3 (72x9), grid 4 (144x18) . [ITTC 2011, p. 7] recommends 80
cells per wavelength and 20 cells per wave height, meaning the investigated grids are rather coarse
but deliver good results.

As expected higher grid resolution results in higher wave quality, see gure 7.2. It inuences in
particular the ability to match the wave height. Anyhow one observes the constant overestimation
of the wave troughs and underestimation of the wave crests for all cases. Along the length of the
domain, a continuous decrease of the wave height especially for the lower resolutions is visible.
With the previously mentioned error, grid 3 with the second nest resolution (72x9) is regarded
as sufficient for the further simulations. It must be mentioned that the overestimation of the
wavelength is accumulating along the length of the wave tank, but does not increase.

1.26 %

1.13 %

Figure 7.2: Dependency of the Wave Quality on the Grid Resolution

31
7 Simulations

The absolute number of cells for the different sea states, resulting from this analysis, is summarised
in table 6.1 for the base grids.

Additionally the orbital velocities are evaluated to examine the accuracy of the solution depending
on the grid resolution well below the FS. The following gures show the orbital velocities in a
window of x/ = [0.75, 1.75] and z/a = [12, 4].

Already for the coarsest resolution a good agreement with the analytical velocities is visible. A
general underestimation of the absolute velocities and differences in the exact direction are improved
with increase of the grid resolution, see gure 7.3.

Stokes CFD

0.5

-0.5
z [m]

-1

-1.5

-2

-2.5

-3

12 14 16 18 20 22 24
x [m]

(a) Grid 1 (18x2.25)

Stokes CFD

0.5

-0.5
z [m]

-1

-1.5

-2

-2.5

-3

12 14 16 18 20 22 24
x [m]

(b) Grid 4 (144x18)

Figure 7.3: Orbital Velocities for the Coarsest and the Finest Grid

The deviation from the correct direction can partially be explained with the previously found
overestimation of the wavelength of 1.13 %. If the analytical solution of grid 3 (72x9) is shifted
for about that error, the numerical solution almost perfectly matches the analytical one, apart
from some deviation right at the FS, see gure 7.4. This underlines, that the accuracy of grid 3 is
sufficient for the following simulations.

32
7 Simulations

Stokes CFD

0.5

-0.5
z [m]

-1

-1.5

-2

-2.5

-3

12 14 16 18 20 22 24
x [m]

(a) Orbital Velocities for Grid 3 (72x9)

Stokes CFD

0.5

-0.5
z [m]

-1

-1.5

-2

-2.5

-3

12 14 16 18 20 22 24
x [m]

(b) Orbital Velocities for Grid 3 (72x9) Compared with Shifted Analytical Solution according to the Error
in Wavelength of 1.13 %

Figure 7.4: Inuence of the Error in Wavelength on the Orbital Velocities for Grid 3 (72x9)

7.1.2 Dependency on the Time Step

Four time resolutions are compared: 750, 1500, 3000 and 6000 time steps t per wave period T .
[ITTC 2011, p. 10] recommends to use at least 100 t/T , i.e. the investigated cases are rather
highly resolved in time. The time steps satisfy the Courant condition t ux max
, that aids the
stability of the simulation and therefore supports the convergence of the numerical solution.

The results for all cases are in accordance with the theory and by rening the time step, the solution
converges to the theoretical solution, see gure 7.5. Still the continuous decrease in wave height
and the accumulation of the wave length over estimation in space are visible also for the nest
resolution. The time resolution seems to have more effect on the wavelength than on the wave
height.
The time resolution of 1500 t/T is regarded as sufficiently precise and will be used in the further
simulations.

33
7 Simulations

Figure 7.5: Dependency of the Wave Quality on the Time Step

In absolute numbers the following time steps result with the selected temporal resolution of
1500 t/T for the different sea states:

T [s] 0.75 1.00 1.25 1.50 1.75 2.00 2.25 2.50 2.75 3.00

t [103 s] 0.25 0.333 0.4166 0.5 0.5833 0.666 0.75 0.8333 0.9166 1

Table 7.1: Simulation Time Step t for all Sea States

7.1.3 Dependency on the Outer Iterations nOuterCorrectors

The outer iterations (in OpenFOAM notation nOuterCorrectors) that couple the velocity and the
pressure eld are varied from one to ten, nOuterCorrectors = [1, 2, 5, 10].

Surprisingly for the regarded time step their increase worsens the wave quality in exact equal mea-
sure, the graphs for nOuterCorrectors = [2, 5] are covered by nOuterCorrectors = 10. Especially
the wave height suffers under the increase but also the wavelength, see gure 7.6.
With the current time step and residual controls, the best result is achieved with only one outer
iteration, therefore only one outer iteration is used in the simulations.

34
7 Simulations

Figure 7.6: Dependency of the Wave Quality on the Outer Iterations

7.1.4 Dependency on the Turbulence Intensity

The turbulence intensity IT is the main factor that inuences the setup for the boundary and
initial conditions of the turbulence parameters, see section 2.4. [CFD-Wiki 2012] recommends it
to be well below IT = 1 %, for low-turbulent cases as ow originating from a uid at rest. It
is therefore tested in the following range: IT = [0.0005, 0.001, 0.002, 0.005] and compared with a
laminar solution (turbulence off ).

gure 7.7 shows that the turbulence intensity can have a great inuence on the wave height, but
not on the wavelength. Is it to high (IT 0.002) the wave height gets reduced a lot.
The solutions for IT = [0.0005, 0.001] exactly match the laminar solution and therefore a turbulence
intensity of IT = 0.1 % is used in the simulations. Still, this is of course not a prove for correct
turbulence modelling but eliminates some obviously wrong inuences.

35
7 Simulations

Figure 7.7: Dependency of the Wave Quality on the Turbulence Intensity

After transferring the identied simulation settings to the other sea states, the wave quality is
satisfying, as the surface elevation for sea state stokes T = 0.75 s with the shortest wave length
exemplarily demonstrates, see gure 7.8.

Stokes CFD

0.5
1 / 1 a [-]

-0.5

-1

0 0.5 1 1.5 2 2.5 3


x / 6 [-]

Figure 7.8: Surface Elevation for Sea State stokes, T = 0.75 s with the Transferred Simulation Setup

36
7 Simulations

7.2 Absorber and Reflection Analysis


After the quality of the simulated waves has been tested and improved up to achieving satisfactory
results, the ascertained simulation setup provides the basis for the subsequent reection analyses
in the four specied scenarios: WALL, HSVA, HSVA covered and TUB.

For all cases the simulation time ends at the moment when the rst wave approximately returns
to the wave inlet, because the time window of interest is framed by the moment of the rst waves
arrival at the absorber and its return to the wave inlet.
2 domain length
simulation time = (7.1)
cgr

Therefore the simulation time for the different sea states varies between 55 s (for T = 3 s) and 82 s
(for T = 0.75 s).

T [s] 0.75 1.00 1.25 1.50 1.75 2.00 2.25 2.50 2.75 3.00

domain length [m] 83 71 68 55 50 43 35 32 28 25


simulation time [s] 58 55 61 55 57 58 56 62 69 82
processors [] 8 8 8 4 4 4 4 4 4 4
computational time [d] 7 2 2 1 1 0.5 0.4 0.3 0.3 0.2

Table 7.2: Simulation Statistics

Even though the simulation is 2D, due to the relatively long simulation time and high spatial res-
olution, the cases are decomposed into four or eight sub-domains to enable parallel calculations
on multiple processors. During the simulation three time steps per wave period of all elds are
recorded over the whole simulation time; as substantial interest the surface elevation is registered
30 times per wave period.

As general behaviour of the wave propagation three observations are made:

An overestimation of the leading wave crest or trough, see gure 7.9

A reduction of wave height along the wave tank, as a result of numerical dissipation, that is
not observed during the wave analysis due to the shortness of the domain, this phenomenon
gets more pronounced for relatively longer domains and for high steepness waves.

One long and at low-frequency wave is travelling through the tank since the beginning of
the wave initialisation, see gure 7.9. Assuming that the wave inlet is partially reective
it keeps travelling back and forth in the tank, a phenomenon called seiche. It appears in
enclosed bodies of water [Trujillo and Thurman 2010, p. 531] and has already been observed
by [Fitzner 2015, p. 57] and [Uharek 2013, p. 47] in numerical wave tanks.

One must keep in mind that these effects might disturb the correct analysis of the reection coef-
cient.

These are mean values, of course the WALL scenario computes faster than the ones with absorber geometry,
where more cells are present due to renement zones.

37
7 Simulations
1

3
time interval: 6 - 9 s

1
1 / 1 [-]
a

-1

-2

-3
0 1 2 3 4 5
x / 6 [-]

Figure 7.9: Initialisation of Waves and Seiche (Exemplary for Case: WALL, stokes, T = 3.00 s)

To implement the methods as described in section 4 for reection analysis, the simulation time
is separated into regular intervals of one wave period and an area of one wavelength in a certain
distance to the absorber (white area in gure 7.10), where the envelope is clearly developed, is
dened. 30 snapshots of the surface elevation are captured per wave period and presented for each
of the predened intervals. In order to double the later calculated reection coefficients, the number
of intervals is doubled and every half period an interval of one wave period begins, so that they
semi overlap each other.
The moments when the leading wave arrives at the absorber and when it returns to the wave inlet
are identied according to the group velocity and the distance between the wave inlet and the
point where the respective absorber geometry pierces the FS. In this time window the envelope of
the superposed waves is identied in the predened area for each interval of one wave period, see
gure 7.10.
Where the absorber pierces the FS the surface elevation is not displayed correctly, since here it
interferes with the absorber structure, which has no inuence on the area of interest and is therefore
neglected.

1 Envelope
3
time interval: 54 - 57 s

1
1 / 1a [-]

-1

-2

-3
0 1 2 3 4 5
x / 6 [-]

Figure 7.10: Surface Elevation over the Domain in one Time Interval (Exemplary for Case: HSVA, stokes,
T = 3.00 s)

Per wavelength two maxima and two minima of the envelope develop; these are identied and some
that are falsely detected are manually corrected, see gure 7.11. The reection coefficient for each
interval in the time window of interest (white area in gure 7.12) is determined based on these
values according to equation 4.2, 4.3 and 4.4, where averaged values from the nodes and antinodes
are used for Hmax and Hmin and plotted over time. As the shape of the envelope is travelling too,
the reection coefficient develops in time and builds a constant plateau, where the correct value is
measured (red markers in gure 7.12). The mean value of that plateau is the reection coefficient

38
7 Simulations

for the regarded scenario in the regarded sea state.

1 Envelope Hmax Hmin R Plateau Values


3
time interval: 54 - 57 s 0.14

2 0.12

0.1
1
1 / 1a [-]

0.08

R [-]
0
0.06
-1
0.04
R = 0.13
-2 0.02 Hi = 0.313 m
Hr = 0.0406 m
-3 0
2.6 2.7 2.8 2.9 3 3.1 3.2 3.3 3.4 3.5 25 30 35 40 45 50 55
x / 6 [-] begin time interval [s]

Figure 7.11: Extrema of Wave Envelope (Exem- Figure 7.12: Reection Coefficient over Time (Ex-
plary for Case: HSVA, stokes, T = 3.00 s) emplary for Case: HSVA, stokes, T = 3.00 s)

For each scenario (WALL, HSVA, HSVA covered, TUB) the reection coefficient is determined for
all sea states and presented as a function of the wave frequency. Sea state stokes, T = 2.00 s is
used as an example, to present the overall behaviour of the ow in the domain and in close area of
the absorber with respect to pressure and velocity.
The Matlab code used for the evaluation of each case can be viewed in appendix A.3.1.

7.2.1 Scenario I - WALL

The WALL scenario is investigated as theoretical case, where the exact, expected solution is al-
ready known from analytical point of view. It acts as a rst validation, a reference for judging the
numerical error and therefore the relevance of the achieved results. For the purpose of comparison
the airy simulations are performed a second time with a preinitialised wave eld, to see if the losses
of wave quality along the wave tank have a signicant effect on the resulting superimposed wave
eld. The practical implementation of the preinitialised wave eld in OpenFOAM is realised by
setting in the waveProperties-le the initialisation values of the whole domain to the respective
wave theorys, as for the wave inlet and halving the simulation time.
During the simulations problems occur for the airy cases with the smallest wave period T = 0.75 s.
Right after the rst few time steps the Courant number shoots very high, the computation diverges
and crashes. Stability can be regained by doubling the time step. This happens for all computations
with this sea state, but for no other. Still, converged solutions are produced with the explained
method.

Theoretically when the waves approach a vertical wall, they are absolutely reected with Hr = Hi
and form a fully standing wave, yielding 100 % reection with R = 1.

The following gures illustrate the pressure and the velocity eld in the simulation domain over
one wave period in a moment, when the waves are half way returning to the wave inlet. At the
time of t = 44 s the maximum displacement of the surface elevation is present, the two preceding


The numerical error is composed of the model error (difference between the real ow and the exact solution of the
mathematical model), the discretisation error (difference between the exact solution of the governing equations
and the exact solution of the discrete approximation) and iteration error (difference between the exact and the
iterative solutions of the discretised equations). [Ferziger and Peri 2002, p. 330]

39
7 Simulations

presented moments are 1/3 T and 2/3 T before that moment of maximum displacement.

The dynamic pressure shows the expected behaviour: an addition to the hydrostatic pressure in the
wave crests and a reduction in the troughs. In the region, where the incident and reected wave are
already superimposed, the absolute values are almost doubled. The extreme values correspond to
the analytically expected extreme values at t = 44 s for the incident wave (i) and the superposed
incident and reected wave (i+r ):

pi+r,min = 2031 kg/ms2 , pi,min = 1140 kg/ms2 , pi,max = 1291 kg/ms2 , pi+r,max = 2884 kg/ms2

Though the extreme values for the incident wave are overestimated and the extreme values for the
superposed waves are underestimated (extreme values of the simulation are annotated in the legend
of gure 7.13).

Figure 7.13: Dynamic Pressure Field of Case: stokes, WALL, T = 2.00 s over one Wave Period

The general behaviour of the particle motion is in line with the theory. In the incident, progressing
wave the absolute horizontal velocity is maximal in the crests and troughs, zero at the zero-crossings
of the surface elevation, and vice versa for the vertical velocities. Quantitatively the particle
velocities of the incident waves are overestimated in their absolute values, to an acceptable degree.
The analytical extreme values for the particle velocities in x- and z-direction are the following:

ui,min = 0.3460 m/s, ui,max = 0.4405 m/s, wi,min = 0.3921 m/s, wi,max = 0.3923 m/s

The reached values in the simulations for the incident wave are labelled in the corresponding legend
in gure 7.14 and 7.15.

In the standing wave the horizontal velocity is always zero at the crests and troughs and the vertical
velocity is always zero at the zero-crossings, conversly to the progressing wave behaviour. When
the antinodes reach their maximum displacement, the water particles become almost motionless
(t = 44 s), in line with with the theory. [Trujillo and Thurman 2010, p. 248] Water movement is
at a maximum when the surface elevation is horizontal.

As three moments per wave period are recorded during the simulations, the moments of zero displacement (1/4
and 3/4 T ) and the second moment of maximum displacement (1/2 T ) in one wave period cannot be presented.

Due to the resolution of three time steps per wave period, the moments of maximum water motion (1/4 and
3/4 T ) are not represented; t = 42.67 s (1/3 T ) is right after that moment and t = 43.33 s (2/3 T ) right before.

40
7 Simulations

Figure 7.14: Velocity Field in x-Direction of Case: stokes, WALL, T = 2.00 s over one Wave Period

Figure 7.15: Velocity Field in z-Direction of Case: stokes, WALL, T = 2.00 s over one Wave Period

The composite wave eld and the developing wave envelope of the half way returning waves are
set out for the three WALL cases in gure 7.16. The airy cases depict the clearly developed and
symmetric envelopes, where one notices that in the preinitialised case the surface elevations are less
disturbed and therefore form clearer nodes and antinodes, this is mirrored in the accuracy of the
reection coefficient. The stokes case forms a more egg-shaped envelope, due to the raise of wave
crests and attening of wave troughs, that is typical in nonlinear wave theories. Additionally one
can see that the "eggs" are less regular than the loops of the airy envelope, which can be explained
by the higher wave steepness of the stokes waves, that is more prone to numerical dissipation
during the wave progression. One also notices, that the non-preinitialised envelopes exhibit a
displacement in the region, where only the initial wave should be present, a further peculiarity
affecting the accuracy of the reflection coefficient. Still, also the preinitialised wave shows a small
irregularity in the progressive wave part, which is present in all simulations. It is found out that
this is due to the low-frequency seiche wave, as the same picture can be reproduced by analytically
superimposing a linear low-frequency and a linear high-frequency wave.

41
7 Simulations
1

3
time interval: 42 - 44 s

1
1 / 1a [-]

-1

-2

-3
0 1 2 3 4 5 6
x / 6 [-]

(a) airy
1

3
time interval: 12 - 14 s

1
1 / 1a [-]

-1

-2

-3
0 1 2 3 4 5 6
x / 6 [-]

(b) airy preinitialised


1

3
time interval: 42 - 44 s

1
1 / 1a [-]

-1

-2

-3
0 1 2 3 4 5 6
x / 6 [-]

(c) stokes

Figure 7.16: Wave Envelope of the three Cases: WALL, T = 2.00 s

The observed differences in accuracy of the cases are mirrored in the evaluation of the reection
coefficient for all sea states based on the envelopes, see gure 7.17. None of the cases reaches the
desired theoretical value of R = 1, due to inaccurate meeting of the antinodes, an effect that only
disturbs this theoretical case. Quasi-antinodes from the absorber cases can well be met.
Furthermore the airy cases perform generally better than stokes cases, the error for the airy cases
is between -5% and -2 % and for the stokes cases between -16% and -9 %. This difference depending
on the wave theory is traced back to the higher irregularity of the stokes envelope, possibly because
of the higher wave steepness and therefore higher wave dissipation along the domain.
An explanation for the larger deviations in the stokes cases for higher wave frequencies is the
relatively longer domain and the therefore exaggerated, untrue decrease of the wave height with
the even longer domain, which is becoming visible during the evaluation of all cases. This behaviour
should then also be present in the airy cases, but cannot be found. The higher steepness of the
stokes waves that is more prone to numerical dissipation might be an explanation for this difference.

The domain for cases, where the wave absorber is longer than the wave length, is relatively longer, because it is
determined by the absorber length.

42
7 Simulations

airy, WALL airy, WALL preinitialised stokes, WALL


1

0.9

0.8

0.7

0.6

R [-]
0.5

0.4

0.3

0.2

0.1

0
2 3 4 5 6 7 8 9
! [1/s]

Figure 7.17: Reection Coefficient over Wave Frequency for Scenario: WALL

With the preinitialised wave a better result is achieved for all investigated frequencies, the error
lies between -2.8 % and -1.8 %. Unfortunately this technique cannot be applied to the absorber
cases, because here it requires to see how the waves approach the absorber area. Still the results are
rather accurate and the inaccuracies are mainly due to the non exact meeting of the real antinodes,
which is less pronounced for quasi-antinodes. Therefore the comparison of the reection coefficient
can be used as a qualitative assessment of the absorber geometries.

7.2.2 Scenario II - HSVA

The following analysis focuses on the HSVA absorber. All simulations compute without problems
with the preset general conditions.
The typical motion of the ow near the absorber when the waves are approaching, is presented
in the following six images: the horizontal and vertical velocities with three time steps per one
wave period. One can observe that the wooden structure is more pervious for vertical ow than
for horizontal ow and the wave mildly rolls up the inclined absorber surface.

Figure 7.18: Particle Motion near Absorber: stokes, HSVA, T = 2.00 s

The composite wave eld of incident and reected wave shows the expected behaviour for the airy
and stokes simulations for all wave periods in the time window of interest. In the linear cases,
starting in a moment when the airy waves have already returned to the wave inlet, the envelop
starts getting bumpy in a regular way, see 7.19a. This behaviour can be analytically reproduced
by superposing a partially standing wave with a wave having half the wave length and phase shifted

43
7 Simulations

by 180 . It is challenging to nd an explanation, why a wave with half the wave period is produced
in the domain after some time and why it only happens for the low steepness airy waves. One
can speculate that inuences on this might be the delayed reection from the back wall of the
tank of transmitted waves and temporary trapping of waves behind the absorber. Anyhow, as
the irregularities only appear after the time window of interest has passed, the evaluation can be
performed without any problems. The stokes envelope has the expected form for all wave periods
during the whole simulation time.
1

3
time interval: 40 - 42 s

1
1 / 1a [-]

-1

-2

-3
0 1 2 3 4 5 6
x / 6 [-]

(a) airy
1

3
time interval: 48 - 50 s

1
1 / 1a [-]

-1

-2

-3
0 1 2 3 4 5 6
x / 6 [-]

(b) stokes


Figure 7.19: Wave Envelope: HSVA, T = 2.00 s

The reection coefficients for both, the airy and the stokes cases, are calculated from the envelope
in the time window starting when the leading wave has arrived at the absorber and ending when
it has returned to the wave inlet. Here the envelope has the regular, expected form in both cases.
Comparing the reection coefficient for the different sea states (see gure 7.20), one concludes that
the absorber has lower capacities to dissipate airy waves, which might be due to their lower steep-
ness and which conrms the general observation made in literature, that the reection coefficient
decreases when wave steepness increases. The second conclusion to be drawn is, that high frequency
waves are better absorbed than low frequency waves, which was also described in literature. The
absorber seems to work best for stokes waves with frequencies in the range of = [3, 5] 1/s, here
the reections are well below 8 %.


The airy simulations for the HSVA and the HSVA covered scenario are conducted supplementary after the rst
series of simulations. In the additional series the number of recorded surface elevation gets doubled to improve
the evaluation methodology, what causes the higher density of the envelopes.

The crimped part of the envelopes on the right is false representation of the FS due to the interference with the
absorber geometry and aeration and does not inuence the area of interest.

44
7 Simulations

airy, HSVA stokes, HSVA


1

0.9

0.8

0.7

0.6

R [-]
0.5

0.4

0.3

0.2

0.1

0
2 3 4 5 6 7 8 9
! [1/s]

Figure 7.20: Reection Coefficient over Wave Frequency for Scenario: HSVA

7.2.3 Scenario III - HSVA covered

The stokes sea states compute without any problems for this scenario. With the airy sea states
some problems occur in the cases T = [1.25, 1.5, 2] s. The Courant number shoots high and the
computation crashes in the moment when the waves reach the absorber. A similar effect can be
observed for the TUB cases. It seems that there is a problem with the very high velocities in the
wave roll-up on the absorber surface and the cell renement here, as it only happens for some of
the sea states with no regularity. Stability is regained by halving the time step for these cases.

The wave roll-up on the covered HSVA absorber is presented in gure 7.21. The highest particle
motion is registered in the moment of t = 42.67 s with

umin = 1.18 m/s, umax = 1.86 m/s, wmin = 0.72 m/s, wmax = 1.23 m/s.

The water reaches the end of the absorber surface in the roll-up only in stokes sea states with
higher wave periods T > 2.5 s. Here some of the water ows until the end of the absorber and falls
into the calm water area behind the absorber. In the other cases the water simply ows back down
the absorber.

Figure 7.21: Particle Motion near Absorber: stokes, HSVA covered, T = 2.00 s

The wave envelopes for the airy cases develop as expected, only when the time window of interest has
already passed, some small irregularities in the loops appear. Other than the stokes envelopes, no
regular quasi-nodes and quasi-antinodes develop and the reection coefficient cannot be determined

45
7 Simulations

for all sea states. In search of reasons for this behaviour the wave breaking is assessed in detail, but
no signicant differences in its form or particle motion can be found. When the simulations keep
running, the envelope shows short parts with regular quasi-nodes and quasi-antinodes, but these
are not permanent. Still, one can see that the shape of the envelope is not very pronounced, this is
indicative of the fact, that the reections with this absorber for stokes waves are rather low. The
low reections might also be a reason, why disturbing inuences like the seiche and maybe others,
which are not identied, are affecting the shape of the wave envelope.
1

3
time interval: 40 - 42 s

1
1 / 1a [-]

-1

-2

-3
0 1 2 3 4 5 6
x / 6 [-]

(a) airy
1

3
time interval: 40 - 42 s

1
1 / 1a [-]

-1

-2

-3
0 1 2 3 4 5 6
x / 6 [-]

(b) stokes


Figure 7.22: Wave Envelope: HSVA covered, T = 2.00 s

The reection coefficient for the different sea states can therefore only be determined for the airy
cases. It is rather high for all sea states, between R = 0.28 and R = 0.46 and no clear tendency is
visible. For the airy waves the reections are less with the permeable HSVA absorber than with
the covered version.


The crimped and then at part of the envelope on the right is false representation of the FS during roll-up and
of the calm water behind the absorber, this does not inuence the area of interest; the same happens for the
TUB scenario.

46
7 Simulations

airy, HSVA covered


1
0.9
0.8
0.7
0.6

R [-]
0.5
0.4
0.3
0.2
0.1
0
2 3 4 5 6 7 8 9
! [1/s]

Figure 7.23: Reection Coefficient over Wave Frequency for Scenario: HSVA covered

7.2.4 Scenario IV - TUB

The TUB scenario functions similar to the covered HSVA absorber and therefore shows similar
peculiarities.
Whilst simulation the stokes cases compute without any problems, but the airy cases have the
same problems as in the HSVA covered scenario. For some wave periods the simulation diverges
when the waves arrive at the absorber. Halving the time step brings back stability to the simulation.

Figure 7.24 documents how the waves approach the absorber and roll up its inclined surface. The
highest motion is registered at time t = 43.33 s with

umin = 1.58 m/s, umax = 1.81 m/s, wmin = 1.31 m/s, wmax = 1.00 m/s.

Also here the beach is too long for most sea states, that the water would ow until its end and fall
down behind the absorber.

Figure 7.24: Particle Motion near Absorber: stokes, TUB, T = 2.00 s

As for the HSVA covered scenario, the envelope in the airy sea states is well developed and in the
stokes sea states shows incomprehensible form that does not nd a regularity.

47
7 Simulations
1

3
time interval: 36 - 38 s

1
1 / 1a [-]

-1

-2

-3
0 1 2 3 4 5 6
x / 6 [-]

(a) airy
1

3
time interval: 36 - 38 s

1
1 / 1a [-]

-1

-2

-3
0 1 2 3 4 5 6
x / 6 [-]

(b) stokes

Figure 7.25: Wave Envelope: TUB, T = 2.00 s

Again, the reection coefficient can only be evaluated for the airy sea states. In general it is even
higher than in the HSVA covered scenario, it does not fall below R = 0.65 and the highest value is
R = 0.83. Still, for higher wave frequencies the absorbing quality increases, conrming the second
conclusion drawn from literature.

airy, TUB
1

0.9

0.8

0.7

0.6
R [-]

0.5

0.4

0.3

0.2

0.1

0
2 3 4 5 6 7 8 9
! [1/s]

Figure 7.26: Reection Coefficient over Wave Frequency for Scenario: TUB

7.2.5 Comparison of the Scenarios

Apparently non-permeable inclined absorbers affect the incident wave eld of stokes waves in a
way, that the chosen evaluation method for the reection coefficient, which is based on the wave
envelope, is not applicable. Hence the assessment of the absorber performance is limited.
From what is present, the HSVA absorber for now shows the best performance. The others have
worse results for the airy sea states, but the author believes that the reections for the stokes sea
states could actually be improved with the tested scenarios, but no proof can be made.

48
7 Simulations

For the airy sea states the original HSVA absorber operates the best, though not excellent, as
the reections are all well above 10 %, see gure 7.27. The high reection coefficients for the
impermeable beach like absorbers are explained with the absent breaking of the waves. Inducing
turbulence as with the HSVA absorber has a higher effect on dissipating wave energy for the low
steepness waves. The non-permeable inclined absorbers almost seem to have a wall like effect. But
with decreasing inclination angle the reections decrease, HSVA covered is tilted for 8.75 % and
TUB absorber for 12 %, still this does not yet yield satisfactory results.

airy, HSVA airy, HSVA covered airy, TUB


1
0.9
0.8
0.7
0.6
R [-]

0.5
0.4
0.3
0.2
0.1
0
2 3 4 5 6 7 8 9
! [1/s]

Figure 7.27: Reection Coefficient over Wave Frequency in Comparison for the three Absorber Scenarios
for the Airy Sea States

Anyhow, in general it would be more important to successfully dissipate waves with higher am-
plitudes, as the wave energy is proportional to the square of the amplitude. Unfortunately the
absorbing quality regarding the stokes sea states cannot be evaluated. Though the author believes
that a different tendency between the absorber congurations would become visible, as the way
of energy dissipation for the higher steepness waves through wave breaking worked better, and
maybe even better than through inducing turbulence. Also the image of the not evaluated envelops
leads to the assumption, that the reections are quite low for the stokes cases with the beach like
scenarios, as the irregular loops of the envelopes are not very pronounced, the HSVA covered ones
more than the ones of the TUB scenario.

This inspires further research that would need to consider one of the alternative evaluation methods,
which are based on Fourier analysis. In this way the various components of the wave eld could be
derived and one might nd an explanation for the phenomena being for the present beyond reach.

49
8 Experiments
In order to validate the simulations performed with the computational model and the determined
reection coefficients, small scale experiments are carried out at the wave ume at the TUB . To
reduce complexity only two scenarios, the WALL and the TUB beach, are realised. For the WALL
scenario, as theoretical example, a 100 % reection is expected with completely developed nodes
and antinodes in the envelope of the superposed initial and reected wave. For the TUB scenario
a conrmation of the results from the simulations is expected.

A reasonable experimental setup is congured with the given facilities and the analysis procedure
is validated with the required series of test measurements before the two scenarios are tested.

8.1 Experimental Setup and Facilities

The plexiglass wave ume is 18 m long, 0.325 m wide and 0.395 m deep. It is equipped with a piston
type wave maker, that is positioned 1.7 m after the beginning of the ume, on the rear side of the
wave maker vertical perforated metal plates calm the excited water down. For the sake of recording
the desired data, three resistance WGs are positioned along the length of the ume. WG 001 is put
at a xed position of 8 m and checks the wave quality of the initialised wave. WG 002 is attached
to the carriage, that is moved by hand in the area of 14 m to 16 m, and registers the envelope of
the superimposed initial and the reected wave. WG 003 is an additional xed WG at ten metres
that is only used in one test to see the development of the initial wave along the wave ume.

The WG operate by measuring the resistance of the water between a pair of parallel wires. The
resistance between the wires is proportional to their immersion and the amplier and calibration
are congured to satisfy the condition that a voltage of 10 volt corresponds to 5 cm immersion.
[Edinburgh Designs Ltd. 2013]

In gure 8.1 one can comprehend the setup of the experiments.

damping wave WG WG WG absorber


z zone maker 001 003 002 area
x
0.395 m

1.7 m
8m
10 m
14 m 2m
18 m
Figure 8.1: Schematic Representation of the Experimental Setup at TUB

The photos in gure 8.2 show the utilised equipment at the wave ume: the wave maker with the
preceding perforated metal plates, the WG, and the absorber area with and without beach.

The wave ume is located at hall 4.2, Severingelnde, Salzufer 17-19, 10587 Berlin, Germany and the tests were
conducted on December 16-18 and 27-29, 2015

50
8 Experiments

(a) Damping Zone and Wave Maker (b) WG 001 (c) WG 003 (d) WG 002 on Carriage

(e) Absorber Area without Beach (f) Absorber Area with Beach


Figure 8.2: Photos of the Experimental Setup and the Facilities at TUB

8.2 Preparation

With the given water depth at the TUB and at the HSVA the scaling factor between the exper-
imental setup and the computational domain can be determined:

dT U B
= = 0.0695 (8.1)
dHSV A

And the sea states for the experiments are derived from the simulations sea states (see table 3.1),
according to the following relations:

1
{T ; c; cgr }T U B = {T ; c; cgr }HSV A , T U B = HSV A , (8.2)

1
{; H; a }T U B = {; H; a }HSV A , kT U B = kHSV A (8.3)

For waves with periods T 0.71 s the deepwater condition is valid, where the dispersion relation
is simplied accordingly, see equation 3.22.

The photos are mirrored to provide consistency in the orientation of the representation.

51
8 Experiments

T k H a c cgr
airy stokes airy stokes
[s] [1/s] [1/m] [m] [m] [m] [m] [m] [m/s] [m/s]

0.5272 11.9184 14.4799 0.4339 0.0026 0.0174 0.0013 0.0087 0.8231 0.4115
0.5931 10.5941 11.4409 0.5492 0.0033 0.0220 0.0016 0.0110 0.9260 0.4630
0.6590 9.5347 9.2671 0.6780 0.0041 0.0271 0.0020 0.0136 1.0289 0.5144
0.7249 8.6679 7.6940 0.8166 0.0049 0.0327 0.0024 0.0163 1.1266 0.5633
0.7908 7.9456 6.5110 0.9650 0.0058 0.0386 0.0029 0.0193 1.2203 0.6102


Table 8.1: Sea States for the Experiments at the Wave Flume in TUB Scale

Waves with higher frequencies than = 12 1/s cannot be generated with the wave maker, therefore
only half of the sea states are scaled and tested, which is considered to be a sufficient number of
cases for the validation of the simulations. Anyhow one will see that even for the now considered
smallest wave the results are very prone to errors, whereby the testing of the remaining sea states
would be insignicant.

Before any test series the calibration of the WG is controlled by immersing each of them by hand
for ve centimetres and controlling the measured output. If necessary the WG are recalibrated.

Gauge 001 Gauge 003 Gauge 002


0.06

0.05

0.04

0.03
[m]

0.02

0.01

-0.01
0 5 10 15 20 25 30
t [s]

Figure 8.3: Wave Gauge Calibration Check

Between all tests with waves a certain downtime is kept to reduce disturbances from the preceding
test due to undamped uid motion and to guarantee undisturbed measurement conditions.

In all following graphs the surface elevation is made dimensionless by division with the respective
wave amplitude (/a ) and presented in dependency of the time, divided by the respective wave
period (t/T ).



All waves full the gravity wave condition, waves were capillary with wavelengths lower than: 2 g
3 2
0.0171 m , with surface tension for fresh water at 20 C 20 C = 72.75 10 kg/s . [Sding 1982, p. 11]

Now the investigation comes full circle. The authors motive is the improvement of ship model testing at HSVA
in terms of reduction of disturbances from remaining uid motion in the tests and reduction of downtime between
the test.

52
8 Experiments

The wave input les are created for the ten cases (ve stokes and ve airy waves). Test runs are
performed to check the initialisation of the waves with the input les to forestall inaccuracies from
the wave makers transfer function. The wavelengths are met correctly, but some wave amplitudes
are being manually rescaled until a tolerable deviation is met.

When comparing the records of WG 001 (positioned at 8 m) and WG 003 (positioned at 10 m) for
one test, one can observe a decrease in wave height, especially a attening of the wave crests, along
the wave ume, due to molecular viscosity. This is already the reason for the undersized wave height
at WG 001. The preset wave height is Htheoretical = 0.0058 m, at WG 001 H001 = 0.0053 m are
registered and at WG 003 H003 = 0.0051 m. This behaviour is reected in the resulting reection
coefficients, when reconstructing the initial wave heights from the wave envelopes, see section 8.3.

Stokes Gauge 001 smoothed Gauge 001 original Stokes 003 smoothed
Gauge 001 Gauge 003
001 original
2 2

1.5 1.5

1 1

0.5 0.5
/ a [-]

/ a [-]
0 0

-0.5 -0.5

-1 -1

-1.5 -1.5

-2 -2
53.5 54 54.5 55 55.5 56 53.5 54 54.5 55 55.5 56
t / T [-] t / T [-]

Figure 8.4: Surface Elevation at Different Positions in Tank (WG 001 and WG 003)

The recorded data is post-processed straight away. The records are smoothed by ltering off wave
frequencies that are higher than double the wave frequency of the wave in question and a linear
trend removal is performed.

gure 8.5 shows the complete measured signal of WG 001. For the evaluation the grey areas are
cut off and only the record in the white area is presented. Here the wave is fully developed and
no reection from the end of the tank is yet arriving. The recorded signal is compared with the
theoretical surface elevation, that is calculated analytically (denoted with stokes, black dashed line).

Figure 8.5: Complete Signal WG 001

For the determination of the reection coefficient, the carriage with WG 002 is traversed slowly

53
8 Experiments

along the wave ume in the measurement area shortly before the absorber area in direction of
the initial wave propagation. The traversing starts just when the reected waves are reaching
WG 002. As the carriage was not moved with exactly constant speed, the (quasi-) nodes and
(quasi-) antinodes do not appear at equidistant positions in time.
The complete measured signal at WG 002 is presented in gure 8.6, grey areas are cut off and only
the white area, where the envelope (presented in lightblue) of the initial and the reected wave is
visible, is used for the evaluation.

Figure 8.6: Complete Signal WG 002

The Matlab code for the evaluation of each experiment can be viewed in appendix A.3.2.

8.3 Validation of Experimental Setup

To proof that the chosen analysis method and experimentation setup deliver reliable results, a stan-
dard procedure is applied to the case WALL, airy, T = 0.7908 s. Five measurements are evaluated
and the deviation of the results is analysed.

WG 001 shows that the surface elevation meets the analytical solution with a negligible deviation
in wave height and the smoothing of the data with ltering from double the wave frequency is
adequate. For the envelope detection, the extrema are identied (red crosses show Hmin and red
stars Hmax ) and outliers, where the nodes are obviously not met correctly, are sorted out.

Ten tests were planned, but due to complications beyond the authors sphere with the wave maker, the test
series had to be cancelled after only ve runs. Still, the analysis shows the be-wished result, but would be more
reliable if a bigger data range was present.

54
8 Experiments

Stokes Gauge 001 smoothed Gauge 001 original Gauge 002 smoothed Envelope Hmax Hmin
2 2

1.5 1.5

1 1

0.5 0.5
/ a [-]

/ a [-]
0 0

-0.5 -0.5

-1 -1

-1.5 -1.5
WALL, airy, T = 0.7908 s, 01
-2 -2
53.5 54 54.5 55 55.5 56 65 70 75 80 85 90 95 100 105
t / T [-] t / T [-]
Stokes Gauge 001 smoothed Gauge 001 original Gauge 002 smoothed Envelope Hmax Hmin
2 2

1.5 1.5

1 1

0.5 0.5
/ a [-]

/ a [-]
0 0

-0.5 -0.5

-1 -1

-1.5 -1.5
WALL, airy, T = 0.7908 s, 02
-2 -2
53.5 54 54.5 55 55.5 56 75 80 85 90 95 100 105 110
t / T [-] t / T [-]
Stokes Gauge 001 smoothed Gauge 001 original Gauge 002 smoothed Envelope Hmax Hmin
2 2

1.5 1.5

1 1

0.5 0.5
/ a [-]

/ a [-]

0 0

-0.5 -0.5

-1 -1

-1.5 -1.5
WALL, airy, T = 0.7908 s, 03
-2 -2
53.5 54 54.5 55 55.5 56 65 70 75 80 85 90 95 100
t / T [-] t / T [-]
Stokes Gauge 001 smoothed Gauge 001 original Gauge 002 smoothed Envelope Hmax Hmin
2 2

1.5 1.5

1 1

0.5 0.5
/ a [-]

/ a [-]

0 0

-0.5 -0.5

-1 -1

-1.5 -1.5
WALL, airy, T = 0.7908 s, 04
-2 -2
53.5 54 54.5 55 55.5 56 65 70 75 80 85 90 95 100 105
t / T [-] t / T [-]
Stokes Gauge 001 smoothed Gauge 001 original Gauge 002 smoothed Envelope Hmax Hmin
2 2

1.5 1.5

1 1

0.5 0.5
/ a [-]

/ a [-]

0 0

-0.5 -0.5

-1 -1

-1.5 -1.5
WALL, airy, T = 0.7908 s, 05
-2 -2
53.5 54 54.5 55 55.5 56 65 70 75 80 85 90
t / T [-] t / T [-]

Figure 8.7: Experiment Evaluation for Case: WALL, airy, T = 0.7908 s and Validation

55
8 Experiments

For reasons of comparison in an additional test run the measurement area for the wave envelope
is positioned two metres farther away from the absorber area (12 m to 14 m). It is clearly seen
in gure 8.8, that the registered envelope is not as high as the previously measured ones and the
maximum height of the envelope at the nodes (Hmax ) is decreasing in time. This supports the
previous observation, that wave height decreases along the wave ume. Therefore, the reection is
analysed as close as possible to the absorber area, it results that also the time window for measuring
the undisturbed envelope is bigger. The reected wave from the end of the tank is arriving earlier
and a re-reection from the beginning of the tank is expected later in time, compared to a position
farther away from the absorber area in the tank.

Stokes Gauge 001 smoothed Gauge 001 original Gauge 002 smoothed Envelope Hmax Hmin
2 2

1.5 1.5

1 1

0.5 0.5
/ a [-]

0 / a [-] 0

-0.5 -0.5

-1 -1

-1.5 -1.5
WALL, airy, T = 0.7908 s, other location
-2 -2
53.5 54 54.5 55 55.5 56 75 80 85 90 95 100 105 110 115
t / T [-] t / T [-]

Figure 8.8: Reection Coefficient Evaluation at a Different Location in Tank

The reection coefficient is calculated according to equation 4.2, 4.3 and 4.4, where averaged val-
ues from the nodes and antinodes in the measurement area are used for Hmax and Hmin . Table
8.2 summarises the results for the test measurements. The standard deviation of = 0.009 for
the reection coefficient of the ve measurements (01-05) at the original location shows that the
method is reproducible and delivers akin results. The mean deviation of R from the theoretical
value Ranalytical = 1 is -3.37 % and thus sufficiently precise. The imprecision can be explained
with overestimation of the minimum wave height Hmin , which should be zero in this case, but can
deviate from this value, due to non exact meeting of the nodes with WG 002. By this the reection
coefficient gets underestimated.
For the measurement at the different location (12 m to 14 m), this behaviour is even more pro-
nounced (-6.44 % deviation from Ranalytical ), due to the additional underestimation of the maximum
wave height Hmax . Therefore, the remaining analyses are performed closer to the absorber area.

In conformance with gure 8.4 the initial wave height keeps decreasing towards the end of the wave
ume. The preset wave height of theoretically Htheoretical = 0.0058 m regresses along the wave
ume in the following steps: H001 = 0.0053 m (8 m), H003 = 0.0051 m (10 m), H002 = 0.0047 m
(14 m to 16 m). For the measurement at the other location the initial wave height is even lower
H002, other Location = 0.0045 m (12 m to 14 m), because the attened wave height of the reected
wave has a major effect on Hmax , which is composed of the sum of maximum initial wave height
and maximum reected wave height.

The standard deviation is the measure for the distribution of the samples (xk ) around the mean (): =
1 qn
n k=1
(xk )2 , with number of samples (n); when is close to zero the sample points are very close to
the mean. [Clauss, Lehmann, and stergaard 1992b, p. 127]

56
8 Experiments

scenario theory T measurement Hi Hr R deviation from


Ranalytical
[s] [m] [m] [] [%]

WALL airy 0.7908 01 0.0049 0.0047 0.9577 -4.23


WALL airy 0.7908 02 0.0046 0.0045 0.9804 -1.96
WALL airy 0.7908 03 0.0047 0.0046 0.9674 -3.26
WALL airy 0.7908 04 0.0047 0.0045 0.9590 -4.10
WALL airy 0.7908 05 0.0047 0.0046 0.9672 -3.28
WALL airy 0.7908 mean 0.0047 0.0046 0.9663 -3.37
WALL airy 0.7908 standard deviation 0.0001 0.0001 0.0091
WALL airy 0.7908 other location 0.0045 0.0042 0.9356 -6.44

Table 8.2: Validation of Experimental Setup

8.4 Reflection Analysis

Based on the validation of the experimental setup the analysis of the reection coefficients for the
two scenarios (WALL and TUB) in the ten (ve airy and ve stokes) sea states is performed to
validate the previous simulations.

8.4.1 Scenario I - WALL

For the WALL scenario the waves approach the vertical end wall of the wave ume and are (theo-
retically) completely reected.

Figure 8.9: Experiments Scenario WALL

Airy Cases The measurements of the ve airy sea states approaching the WALL are presented
in gure 8.10.

57
8 Experiments

Stokes Gauge 001 smoothed Gauge 001 original Gauge 002 smoothed Envelope Hmax Hmin
2 2

1.5 1.5

1 1

0.5 0.5
/ a [-]

/ a [-]
0 0

-0.5 -0.5

-1 -1

-1.5 -1.5
WALL, airy, T = 0.5272 s
-2 -2
84 84.5 85 85.5 86 86.5 130 140 150 160 170 180 190 200 210
t / T [-] t / T [-]
Stokes Gauge 001 smoothed Gauge 001 original Gauge 002 smoothed Envelope Hmax Hmin
2 2

1.5 1.5

1 1

0.5 0.5
/ a [-]

/ a [-]
0 0

-0.5 -0.5

-1 -1

-1.5 -1.5
WALL, airy, T = 0.5931 s
-2 -2
74.5 75 75.5 76 76.5 77 105 110 115 120 125 130 135 140 145 150
t / T [-] t / T [-]
Stokes Gauge 001 smoothed Gauge 001 original Gauge 002 smoothed Envelope Hmax Hmin
2 2

1.5 1.5

1 1

0.5 0.5
/ a [-]

/ a [-]

0 0

-0.5 -0.5

-1 -1

-1.5 -1.5
WALL, airy, T = 0.6590 s
-2 -2
66.5 67 67.5 68 68.5 69 90 95 100 105 110 115 120 125 130 135
t / T [-] t / T [-]
Stokes Gauge 001 smoothed Gauge 001 original Gauge 002 smoothed Envelope Hmax Hmin
2 2

1.5 1.5

1 1

0.5 0.5
/ a [-]

/ a [-]

0 0

-0.5 -0.5

-1 -1

-1.5 -1.5
WALL, airy, T = 0.7249 s
-2 -2
60 60.5 61 61.5 62 62.5 80 85 90 95 100 105 110 115
t / T [-] t / T [-]
Stokes Gauge 001 smoothed Gauge 001 original Gauge 002 smoothed Envelope Hmax Hmin
2 2

1.5 1.5

1 1

0.5 0.5
/ a [-]

/ a [-]

0 0

-0.5 -0.5

-1 -1

-1.5 -1.5
WALL, airy, T = 0.7908 s, 05
-2 -2
53.5 54 54.5 55 55.5 56 65 70 75 80 85 90
t / T [-] t / T [-]

Figure 8.10: Experiment Evaluation for Cases: WALL, airy

58
8 Experiments

One clearly sees from the measured records, that the technique is too imprecise for the shortest wave
period. The wave height of 2.6 mm can indeed be properly registered by the xed WG 001, but
the carriage with WG 002 does not run even enough. Therefore, the antinodes are not registered
properly and this is mirrored in the evaluation results, the deviation from the analytical value is
at 42 % for T = 0.5272 s. In all following evaluations this wave is to be neglected.
On the other hand this behaviour shows that the remaining waves, that cannot be generated by the
wave maker after scaling from HSVA tank size to TUB ume size due to too low wave frequencies,
would be insignicant to test. The experimental setup does not provide the required accuracy.
The remaining four waves are reected as expected. With 2-3.3 % deviation form the analytical
value the experiment delivers almost the theoretical result of 100 % reection. It agrees well with
both the theory and the simulations, see gure 8.11. Therefore, one can say that the simulation
setup for the airy sea states is partly validated.

simulation, airy, WALL experiment, airy, WALL


1
0.9
0.8
0.7
0.6
R [-]

0.5
0.4
0.3
0.2
0.1
0
2 3 4 5 6 7 8 9
! [1/s]

Figure 8.11: Reection Coefficient over Wave Frequency for Case: WALL, airy

Stokes Cases The measurements of the ve stokes sea states approaching the WALL are pre-
sented in gure 8.12.

59
8 Experiments

Stokes Gauge 001 smoothed Gauge 001 original Gauge 002 smoothed Envelope Hmax Hmin
2 2

1.5 1.5

1 1

0.5 0.5
/ a [-]

/ a [-]
0 0

-0.5 -0.5

-1 -1

-1.5 -1.5
WALL, stokes, T = 0.5272 s
-2 -2
84 84.5 85 85.5 86 86.5 145 150 155 160 165 170 175 180 185 190
t / T [-] t / T [-]
Stokes Gauge 001 smoothed Gauge 001 original Gauge 002 smoothed Envelope Hmax Hmin
2 2

1.5 1.5

1 1

0.5 0.5
/ a [-]

/ a [-]
0 0

-0.5 -0.5

-1 -1

-1.5 -1.5
WALL, stokes, T = 0.5931 s
-2 -2
74.5 75 75.5 76 76.5 77 120 125 130 135 140 145 150 155 160 165
t / T [-] t / T [-]
Stokes Gauge 001 smoothed Gauge 001 original Gauge 002 smoothed Envelope Hmax Hmin
2 2

1.5 1.5

1 1

0.5 0.5
/ a [-]

/ a [-]

0 0

-0.5 -0.5

-1 -1

-1.5 -1.5
WALL, stokes, T = 0.6590 s
-2 -2
66.5 67 67.5 68 68.5 69 90 95 100 105 110 115 120 125 130
t / T [-] t / T [-]
Stokes Gauge 001 smoothed Gauge 001 original Gauge 002 smoothed Envelope Hmax Hmin
2 2

1.5 1.5

1 1

0.5 0.5
/ a [-]

/ a [-]

0 0

-0.5 -0.5

-1 -1

-1.5 -1.5
WALL, stokes, T = 0.7249 s
-2 -2
60 60.5 61 61.5 62 62.5 80 85 90 95 100 105 110 115
t / T [-] t / T [-]
Stokes Gauge 001 smoothed Gauge 001 original Gauge 002 smoothed Envelope Hmax Hmin
2 2

1.5 1.5

1 1

0.5 0.5
/ a [-]

/ a [-]

0 0

-0.5 -0.5

-1 -1

-1.5 -1.5
WALL, stokes, T = 0.7908 s
-2 -2
53.5 54 54.5 55 55.5 56 65 70 75 80 85 90 95 100 105
t / T [-] t / T [-]

Figure 8.12: Experiment Evaluation for Cases: WALL, stokes

60
8 Experiments

The same observation as for the airy case is made. The envelope for the smallest wave period
T = 0.5272 s is not recorded well and the resulting reection coefficient deviates from the analytical
value with 24 %. The remaining waves are rather accurate with deviations from 1.2-3.8 %.
This result is a more accurate than in the simulations. There the reection coefficient is 9-16 %
below the target value R = 1.
In general the sources of error might relate to numerical simulation errors or to inaccuracies in
the evaluation technique. In the authors view numerical simulation errors, like the numerical
dissipation in the wave heights and pollution of the incident wave eld whilst approaching the
absorber, are the reason for the deviation of the simulation results from the target value.

simulation, stokes, WALL experiment, stokes, WALL


1
0.9
0.8
0.7
0.6
R [-]

0.5
0.4
0.3
0.2
0.1
0
2 3 4 5 6 7 8 9
! [1/s]

Figure 8.13: Reection Coefficient over Wave Frequency for Case: WALL

8.4.2 Scenario IV - TUB

As the experimental results are rather good for the theoretical WALL scenario, one concludes that
the evaluation of the TUB scenario is meaningful. The following gure illustrates how the waves
approach the installed wave absorber in the wave ume:

Figure 8.14: Experiments Scenario TUB

Airy Cases The measured records of the ve airy sea states approaching the TUB beach are
presented in gure 8.15.

61
8 Experiments

Stokes Gauge 001 smoothed Gauge 001 original Gauge 002 smoothed Envelope Hmax Hmin
2 2

1.5 1.5

1 1

0.5 0.5
/ a [-]

/ a [-]
0 0

-0.5 -0.5

-1 -1

-1.5 -1.5
TUB, airy, T = 0.5272 s
-2 -2
97 97.5 98 98.5 99 99.5 140 150 160 170 180 190 200
t / T [-] t / T [-]
Stokes Gauge 001 smoothed Gauge 001 original Gauge 002 smoothed Envelope Hmax Hmin
2 2

1.5 1.5

1 1

0.5 0.5
/ a [-]

/ a [-]
0 0

-0.5 -0.5

-1 -1

-1.5 -1.5
TUB, airy, T = 0.5931 s
-2 -2
74.5 75 75.5 76 76.5 77 120 125 130 135 140 145 150 155 160
t / T [-] t / T [-]
Stokes Gauge 001 smoothed Gauge 001 original Gauge 002 smoothed Envelope Hmax Hmin
2 2

1.5 1.5

1 1

0.5 0.5
/ a [-]

/ a [-]

0 0

-0.5 -0.5

-1 -1

-1.5 -1.5
TUB, airy, T = 0.6590 s
-2 -2
66.5 67 67.5 68 68.5 69 100 105 110 115 120 125 130 135 140 145
t / T [-] t / T [-]
Stokes Gauge 001 smoothed Gauge 001 original Gauge 002 smoothed Envelope Hmax Hmin
2 2

1.5 1.5

1 1

0.5 0.5
/ a [-]

/ a [-]

0 0

-0.5 -0.5

-1 -1

-1.5 -1.5
TUB, airy, T = 0.7249 s
-2 -2
60 60.5 61 61.5 62 62.5 80 85 90 95 100 105 110 115 120
t / T [-] t / T [-]
Stokes Gauge 001 smoothed Gauge 001 original Gauge 002 smoothed Envelope Hmax Hmin
2 2

1.5 1.5

1 1

0.5 0.5
/ a [-]

/ a [-]

0 0

-0.5 -0.5

-1 -1

-1.5 -1.5
TUB, airy, T = 0.7908 s
-2 -2
53.5 54 54.5 55 55.5 56 65 70 75 80 85 90 95 100 105 110
t / T [-] t / T [-]

Figure 8.15: Experiment Evaluation for Cases: TUB, airy

62
8 Experiments

The following photos in gure 8.16 illustrate for sea state airy, T = 0.7908 s how the waves hit
the TUB absorber. Small crinkles are generated but the waves do not break. Similar behaviour is
observed for all tested airy sea states.

Figure 8.16: Photos of Airy Waves not Breaking at TUB Beach

Disregarding the rst value for T = 0.5272 s, because it is not validated in the WALL evaluation,
the reection coefficient is between 0.47 and 0.54 and the reection increases with increasing wave
frequency. The experiment results are almost 20 % below the determined reection coefficients
from the simulations. Even the tendency of decreasing reections with increasing wave frequency
is reversed, which not only conicts with the simulations but also with the second statement from
literature, see section 5.1. It is beyond the authors ability to judge the observed discrepancy between
simulation and experimental results. Unfortunately the aimed validation of the simulation results
for the TUB scenario cannot be conrmed neither in absolute values nor in qualitative behaviour.

simulation, airy, TUB experiment, airy, TUB


1
0.9
0.8
0.7
0.6
R [-]

0.5
0.4
0.3
0.2
0.1
0
2 3 4 5 6 7 8 9
! [1/s]

Figure 8.17: Reection Coefficient over Wave Frequency for Case: TUB

Stokes Cases The measurements of the ve stokes sea states approaching the TUB beach are
presented in gure 8.18.

63
8 Experiments

Stokes Gauge 001 smoothed Gauge 001 original Gauge 002 smoothed Envelope Hmax Hmin
2 2

1.5 1.5

1 1

0.5 0.5
/ a [-]

/ a [-]
0 0

-0.5 -0.5

-1 -1

-1.5 -1.5
TUB, stokes, T = 0.5272 s
-2 -2
103 103.5 104 104.5 105 105.5 145 150 155 160 165 170 175 180 185 190
t / T [-] t / T [-]
Stokes Gauge 001 smoothed Gauge 001 original Gauge 002 smoothed Envelope Hmax Hmin
2 2

1.5 1.5

1 1

0.5 0.5
/ a [-]

/ a [-]
0 0

-0.5 -0.5

-1 -1

-1.5 -1.5
TUB, stokes, T = 0.5931 s
-2 -2
74.5 75 75.5 76 76.5 77 115 120 125 130 135 140 145 150 155
t / T [-] t / T [-]
Stokes Gauge 001 smoothed Gauge 001 original Gauge 002 smoothed Envelope Hmax Hmin
2 2

1.5 1.5

1 1

0.5 0.5
/ a [-]

/ a [-]

0 0

-0.5 -0.5

-1 -1

-1.5 -1.5
TUB, stokes, T = 0.6590 s
-2 -2
66.5 67 67.5 68 68.5 69 85 90 95 100 105 110 115 120
t / T [-] t / T [-]
Stokes Gauge 001 smoothed Gauge 001 original Gauge 002 smoothed Envelope Hmax Hmin
2 2

1.5 1.5

1 1

0.5 0.5
/ a [-]

/ a [-]

0 0

-0.5 -0.5

-1 -1

-1.5 -1.5
TUB, stokes, T = 0.7249 s
-2 -2
60 60.5 61 61.5 62 62.5 70 75 80 85 90 95 100 105
t / T [-] t / T [-]
Stokes Gauge 001 smoothed Gauge 001 original Gauge 002 smoothed Envelope Hmax Hmin
2 2

1.5 1.5

1 1

0.5 0.5
/ a [-]

/ a [-]

0 0

-0.5 -0.5

-1 -1

-1.5 -1.5
TUB, stokes, T = 0.7908 s
-2 -2
53.5 54 54.5 55 55.5 56 65 70 75 80 85 90
t / T [-] t / T [-]

Figure 8.18: Experiment Evaluation for Cases: TUB, stokes

64
8 Experiments

Other than with the airy waves, the stokes waves do break due to their higher steepness, as
illustrated with the photos in gure 8.19 for sea state stokes, T = 0.7908 s. In all stokes sea states
breaking of the waves is present.

Figure 8.19: Photos of Stokes Waves Breaking at TUB Beach

The resulting reections are well below 9 % for all tested stokes sea states, see gure 8.20. This
conrms the third statement from literature in section 5.1, stating that the reection coefficient
decreases with increasing wave steepness. The very low reections can be traced back to the higher
energy loss of the waves when rolling up and breaking on the absorber surface. Unfortunately the
simulation cases could not be evaluated, the result would be an interesting point to investigate.

experiment, stokes, TUB


1
0.9
0.8
0.7
0.6
R [-]

0.5
0.4
0.3
0.2
0.1
0
2 3 4 5 6 7 8 9
! [1/s]

Figure 8.20: Reection Coefficient over Wave Frequency for Case: TUB

Additionally, a much shorter down time while running the experiments is experienced when the
absorber is present, this represents the desired condition.

65
9 Conclusion and Outlook
In the present investigation a study on the numerical simulation of water waves in a towing tank
was performed with the CFD software OpenFOAM . In particular the effect of wave damping due
to absorbing structures was analysed, motivated by the present absorber conguration in the large
towing tank at HSVA. The analysis was performed two-dimensionally. Different absorber geome-
tries were analysed and their absorbing performance for different waves assessed.

To generate the waves with the OpenFOAM software the toolbox waves2foam was implemented,
that provides the solver waveFoam as well as the boundary conditions to introduce the waves with
a relaxation zone technique. Ten linear (airy) and ten non-linear (stokes), regular sea states with
varying wave periods and constant wave steepness (but different depending on the wave theory)
were selected in order to analyse the reections depending on the wave frequency.

A literature survey on the existing methods for the evaluation of reection coefficients as a measure
for the absorbing performance was undertaken. As a result the method described by [Dean and
Dalrymple 1991] was found to be most suitable. The method is based on the geometrical analysis
of the wave envelope formed by an incident regular wave and its reection. An analytical analysis
in a numerical linear wave tank with the software Matlab conrmed the applicability of the method.

Absorber types were classied according to the existing literature and the general conclusions for
beach like absorbers the different authors agree on were summarised. Based on the present scenario
at the HSVA towing tank four scenarios were developed, digitalised and discretised:

WALL a theoretical case without an absorbing structure but a vertical wall

HSVA the HSVA absorber itself, a layered sparred wood construction with 50 % permeability

HSVA covered the sparred wood construction covered with impermeable plates

TUB the curved, impermeable beach construction at the wave ume of TUB

With the objective of analysing the dependency of the numerical method on certain simulation
setup parameters, the wave quality was studied for one sea state in an open tank regarding the
aspects: grid resolution, time step, outer iterations and turbulence intensity. It was found that
72 cells per wavelength and 9 cells per wave height, 1500 time steps per wave period, one outer
iteration and a turbulence intensity of 0.1 % present a good compromise between computing time
and solution accuracy. The wave deviates -1.26 % in wave height and 1.13 % in wavelength from
the analytical solution. The found simulation setup was transferred to the remaining sea states
and good agreement with the wave theory was also observed in these cases and they could be used
for the reection analysis of the different scenarios.

On the basis of the selected sea states and the found evaluation method and simulation setup, a rst
validation was performed. The WALL scenario was investigated, for which the known analytical
solution is 100 % reection. With small deviations in the pressure and velocity eld, the simulations
reproduced satisfyingly the theory. The quality of the consequential reection coefficients differed
depending on the wave theory, the airy cases generally performed better (error: -5% to -2 %)
than the stokes cases (error: -16% and -9 %). The airy cases were additionally performed with a

66
9 Conclusion and Outlook

preinitialised wave eld, improving the correctness of the reection coefficient. But this benecial
technique could not be applied to the remaining scenarios as the way how the waves approach the
absorber was relevant.

Based on the satisfying results from the validation case the cases with absorber congurations were
analysed. For the airy sea states the original HSVA operated the best but still not very satisfying
with reections of more than 10 % for all sea states, second best was the HSVA covered and worst
the TUB absorber. This behaviour could be explained with the absent breaking of the low steep-
ness waves on the closed absorber surfaces and the higher wave energy dissipation through creation
of turbulence. An additional observation was, that after some time, the envelopes would show a
peculiar regular deformation, due to a superposition with in wavelength halved waves. A clear
explanation for the origin of these wave components could not be found, trapped waves behind the
absorber and interference with the seiche wave could be reasons.
Unfortunately with the stokes sea states no results for the beach like absorbers could be evaluated.
These absorbers affected the wave envelopes in a way, that no regular loops could be identied
and thus the chosen evaluation method could not be applied. Still, the little prominence of the
humps in the envelope led to the assumption, that the reection might be quite low, for the HSVA
covered lower than for the TUB absorber. With the HSVA absorber the reection of stokes waves
was about 5 % to 20 % better than for the airy waves.
In future work it would be very desirable to implement another evaluation method, that is based on
the Fourier analysis to nd out more about the composition of the irregular envelopes in particular
and also about the envelopes where the regular deformations appear after the main simulation time
has passed.

With the aim to further validate the simulation results an experimental test series in the wave
ume at TUB was performed with the WALL and the TUB scenario. The airy WALL case was
truly validated, in the stokes WALL case the reection coefficient of the simulations had an error
of -10 %. In the airy TUB case the discrepancy was even bigger and not even the progression of
the reection coefficient was similar. For the stokes TUB case no simulation results were present,
but the experimental reection coefficient was below 9 %, which is another indicator that the per-
formance of impermeable inclined absorbers could be rather good for steep waves.

In future work it would be desirable to improve the evaluation method and to better understand
the composition of the partially standing wave eld. It would be interesting to nd an optimum
absorber conguration for a broad range of wave frequencies and wave steepnesses. Therefore,
further variations in absorber geometries should be tested and preferably validated with large scale
test at HSVA. Furthermore the inuence of the wave steepness should be investigated more detailed,
as this work was focused on the variation over the wave frequency.

67
References
Brown, S.A., V. Magar, D.M. Greaves, and D.C. Conley [2014]. An Evaluation of RANS Turbu-
lence Closure Models for Spilling Breakers. In: Coastal Engineering, pp. 777789.
CFD-Wiki [2012]. url: http://www.cfd-online.com/Wiki/Turbulence_intensity.
Cho, I. H. and M. H. Kim [2008]. Wave absorbing system using inclined perforated plates. In:
Journal of Fluid Mechanics 608, pp. 120.
Christensen, Morten and Peter Frigaard [1994]. Design of Absorbing Wave Maker Based on Digital
Filters. Tech. rep. Denmark: Hydraulics and Coastal Engineering Laboratory.
Clauss, Gnther, Eike Lehmann, and Carsten stergaard [1992a]. Offshore Structures - Conceptual
Design and Hydromechanics. Vol. 1. Springer Verlag.
Clauss, Gnther, Eike Lehmann, and Carsten stergaard [1992b]. Offshore Structures - Strength
and Safety for Structural Design. Vol. 2. Springer Verlag.
Dean, R.G. and R.A. Dalrymple [1991]. Water Wave Mechanics for Engineers and Scientists.
Advanced series on ocean engineering. World Scientic. isbn: 9789810204211.
Edinburgh Designs Ltd. [2013]. Products, Wave Gauges. url: http : / / www . edesign . co. uk/
product/wavegauges/.
Ferziger, Joel H. and Milovan Peri [2002]. Computational Methods for Fluid Dynamics. Springer.
Ferziger, Joel H. and Milovan Peri [2008]. Numerische Strmungsmechanik. Springer.
Fitzner, Marco [2015]. RANSE Simulation der Schisumstrmung in mitlaufender Welle. Diploma
Thesis. Technische Universitt Berlin.
Goda, Yoshimi and Yasumasa Suzuki [1976]. Estimation of Incident and Reected Waves in
Random Wave Experiments. In: Coastal Engineering, pp. 828845.
Greenshields, Christopher J. [2015]. OpenFOAM, The Open Source CFD Toolbox, User Guide.
Hamburgische Schiffbau-Versuchsanstalt GmbH [2015]. The Hamburg Ship Model Basin. url:
http://www.hsva.de.
Isaacson, Michael [1991]. Measurement of Regular Wave Reection. In: Journal of Waterway,
Port, Coastal and Ocean Engineering 117.6, pp. 553569.
ITTC [2011]. Practical Guidelines for Ship CFD Applications. Methodology and Procedures.
International Towing Tank Conference.
Jacobsen, N G, D R Fuhrman, and J Fredse [2011]. A Wave Generation Toolbox for the Open-
Source CFD Library: OpenFoam.
R In: Int. J. Numerl. Meth. Fluids 70.9, pp. 10731088.
doi: 10.1002/fld.2726.
Jasak, Hrvoje [1996]. Error Analysis and Estimation for the Finite Volume Method with Appli-
cations to Fluid Flows. PhD Thesis. University of London.
Khnlein, Walter [1989]. Untersuchung der hydrodynamischen Eigenschaften eines kreissegment-
frmigen Wellenbrechers. Diploma Thesis.
Lean, G. H. [1967]. A Simplied Theory Of Permeable Wave Absorbers. In: Journal of Hydraulic
Research 5.1, pp. 1530.

68
REFERENCES

Mansard, E.P.D. and E.R. Funke [1980]. The Measurement of Incident and Reected Spectra
Using a Least Squares Method. In: Coastal Engineering, pp. 154172.
Neelamani, S. and P. V. Prasad Raju [2004]. Wave Interaction with Parabolic Corrugated and
Perforated Wave Absorbers. In: Journal of Hydraulic Engineering 10.1, pp. 1932.
Newman, J. N. [2008]. Analysis of wave generators and absorbers in basins. In: Applied Ocean
Research 32.1, pp. 7182.
Ouellet, Y. and I. Datta [1986]. A Survey of Wave Absorbers. In: Journal of Hydraulic Research
24.4, pp. 265280.
Al-Ragum, A. and S. Neelamani [2009]. Design and Development of Crater Array Wave Barriers.
In: Journal of Coastal Research SI 56, pp. 458462.
Rusche, Henrik [2002]. Computational Fluid Dynamics of Dispersed Two-Phase Flows at High
Phase Fractions. PhD Thesis. University of London.
Sding, H. [1982]. Bewegung und Belastung der Schiffe im Seegang. Tech. rep. 18. Institut fr
Schiffbau der Universitt Hamburg.
Stamos, Dimitrios G. [2000]. Experimental Analysis of the Interaction of Water Waves with
Flexible Structures. PhD Thesis. Virginia Polytechnic Institute and State University.
Straub, Lorenz G., C. E. Bowers, and John B. Herbich [1957]. Laboratory Tests of Permeable
Wave Absorbers. In: Proceedings of 6th Conference on Coastal Engineering, pp. 729742.
Thornton, Edward B. and Ronald J. Calhoun [1972]. Spectral Resolution of Breakwater Reected
Waves. In: Journal of Waterways, Harbours and Coastal Enginieering Division 98.WW4,
pp. 443460.
Trujillo, Alan P. and Harold V. Thurman [2010]. Essentials of Oceanography. 10th ed. New York:
Prentice Hall.
Twu, S. W. and D. T. Lin [1990]. Wave Reection by a Number of Thin Porous Plates Fixed in
a Semi-Innitely Long Flume. In: Coastal Engineering 22, pp. 10461059.
Uharek, Sebastian [2013]. Berechnung der mittleren Seegangskrfte auf ein Schiff in Abhngigkeit
des Welleneinfallswinkels mit einem RANSE-Lser. Master Thesis. Technische Universitt
Berlin.
Westhuis, Jaap-Harm [2001]. The Numerical Simulation of Nonlinear Waves in a Hydrodynamic
Model Test Basin. PhD Thesis. University of Twente.
Wilcox, David C. [1994]. Turbulence Modeling for CFD. La Caada, California: DCW Industries,
Inc.
Zelt, J.A. and James E. Skjelbreia [1992]. Estimating Incident and Reected Wave Fields Using
an Arbitrary Number of Wave Gauges. In: Coastal Engineering, pp. 777789.

69
Appendix

A.1 OpenFOAM Setup Files

A.1.1 controlDict

1 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -* - C ++ -* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*\
2 | ========= | |
3 | \\ / F ield | OpenFOAM : The Open Source CFD Tool box |
4 | \\ / O peration | Version : 2.3.1 |
5 | \\ / A nd | Web : http :// www . OpenFOAM . org |
6 | \\/ M ani pulation | |
7 \*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
8 FoamFile
9 {
10 version 2.0;
11 format ascii ;
12 class dictionary ;
13 location " system " ;
14 object controlDict ;
15 }
16 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
17 app licatio n waveFoam ;
18 startFrom startTime ;
19 startTime 0;
20 stopAt endTime ;
21 endTime 58;
22 deltaT 0.001;
23 writeControl timeStep ;
24 wr it eI nt er val 1000;
25 purgeWrite 0;
26 wri teForma t ascii ;
27 writePrecision 6;
28 writeComp ression uncompressed ;
29 timeFormat general ;
30 ti me Pr ec is ion 6;
31 runT imeMo difiable no ;
32 adjustTimeStep no ;
33 maxCo 0.9;
34 maxAlphaCo 0.9;
35 maxDeltaT 1;
36
37 functions
38 {
39 elevation
40 {
41 type surfaces ;
42 fu nc ti on Ob je ct Li bs ( " libsampling . so " ) ;
43 ou tp ut Co nt ro l timeStep ;
44 outputInterval 100;
45 su rf ac eF or ma t raw ;
46 interpo lati onSc heme cell ;
47 fields ( );
48 surfaces
49 (
50 freeSurface
51 {
52 type isoSurface ;
53 isoField alpha . water ;
54 isoValue 0.5;
55 interpolate true ;
56 }
57 );

70
APPENDIX

58 }
59 }
60 // * * * ** * ** ** ** * ** ** * ** ** ** * ** ** * ** ** * ** ** ** * ** ** * ** ** * ** ** ** * ** ** * ** ** ** * ** //

A.1.2 fvSchemes

1 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -* - C ++ -* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*\
2 | ========= | |
3 | \\ / F ield | OpenFOAM : The Open Source CFD Tool box |
4 | \\ / O peration | Version : 2.3.1 |
5 | \\ / A nd | Web : http :// www . OpenFOAM . org |
6 | \\/ M ani pulation | |
7 \* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
8 FoamFile
9 {
10 version 2.0;
11 format ascii ;
12 class dictionary ;
13 location " system " ;
14 object fvSchemes ;
15 }
16 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
17 ddtSchemes
18 {
19 default Euler ;
20 }
21 gradSchemes
22 {
23 default Gauss linear ;
24 }
25 divSchemes
26 {
27 default none ;
28 div ( rhoPhi , U ) Gauss linearUpwind grad ( U ) ;
29 div (( muEff * dev ( T ( grad ( U ) ) ) ) ) Gauss linear ;
30 div ( phi , alpha ) Gauss vanLeer ;
31 div ( phirb , alpha ) Gauss interfaceCompression ;
32 div ( phi , k ) Gauss upwind ;
33 div ( phi , omega ) Gauss upwind ;
34 }
35 laplacianSchemes
36 {
37 default Gauss linear corrected ;
38 }
39 interpolationSchemes
40 {
41 default linear ;
42 }
43 sn Gr ad Sc he me s
44 {
45 default corrected ;
46 }
47 fluxRequired
48 {
49 default no ;
50 p_rgh ;
51 pcorr ;
52 alpha . water ;
53 }
54 // * * * ** * ** ** ** * ** ** * ** ** ** * ** ** * ** ** * ** ** ** * ** ** * ** ** * ** ** ** * ** ** * ** ** ** * ** //

71
APPENDIX

A.1.3 fvSolution

1 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -* - C ++ -* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*\
2 | ========= | |
3 | \\ / F ield | OpenFOAM : The Open Source CFD Tool box |
4 | \\ / O peration | Version : 2.3.1 |
5 | \\ / A nd | Web : http :// www . OpenFOAM . org |
6 | \\/ M ani pulation | |
7 \*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
8 FoamFile
9 {
10 version 2.0;
11 format ascii ;
12 class dictionary ;
13 object fvSolution ;
14 }
15 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
16 solvers
17 {
18 " alpha . water .* "
19 {
20 nAlphaCorr 1;
21 nA lp ha Su bCycl es 1;
22 alphaOuterCorrectors yes ;
23 cAlpha 0.8;
24
25 MULESCorr yes ;
26 nLimite rIter 3;
27
28 solver smoothSolver ;
29 smoother symGaussSeidel ;
30 tolerance 1e -8;
31 relTol 0;
32 }
33 pcorr
34 {
35 solver PCG ;
36 preconditioner
37 {
38 preconditioner GAMG ;
39 smoother DICGaussSeidel ;
40 agglomerator faceAreaPair ;
41 mergeLevels 1;
42 nCellsI nCoa rsestLeve l 10;
43 ca ch eA gg lo me ra ti on true ;
44 tolerance 1e -06;
45 relTol 0;
46 };
47 tolerance 1e -06;
48 relTol 0;
49 }
50 p_rgh
51 {
52 solver GAMG ;
53 smoother GaussSeidel ;
54 agglome rator faceAreaPair ;
55 mergeLevels 1;
56 nCellsI nCoa rsestLeve l 10;
57 ca ch eA gg lo me ra ti on true ;
58 tolerance 1e -06;
59 relTol 0;
60 }
61 p_rghFinal
62 {

72
APPENDIX

63 solver GAMG ;
64 smoother GaussSeidel ;
65 agglomerator faceAreaPair ;
66 mer geL evels 1;
67 nC ellsInCoa rses tLevel 10;
68 ca che Ag gl om er at io n true ;
69 tolerance 1e -07;
70 relTol 0;
71 }
72 " ( U | k | omega ) "
73 {
74 solver smoothSolver ;
75 smoother GaussSeidel ;
76 tolerance 1e -07;
77 relTol 0;
78 nSweeps 1;
79 }
80 " ( U | k | omega ) Final "
81 {
82 solver smoothSolver ;
83 smoother GaussSeidel ;
84 tolerance 1e -08;
85 relTol 0;
86 nSweeps 1;
87 }
88 }
89 PIMPLE
90 {
91 momentumPredictor yes ;
92 nOuterCorrector s 1;
93 nCorrectors 2;
94 n N on O r t ho g o n al C o r r e c t o r s 0;
95 }
96 relaxationFactors
97 {
98 fields
99 {
100 }
101 equations
102 {
103 }
104 }
105 // * * * ** * ** ** ** * ** ** * ** ** ** * ** ** * ** ** * ** ** ** * ** ** * ** ** * ** ** ** * ** ** * ** ** ** * ** //

A.1.4 waveProperties

1 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -* - C ++ -* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*\
2 | ========= | |
3 | \\ / F ield | OpenFOAM : The Open Source CFD Tool box |
4 | \\ / O peration | Version : 2.3.1 |
5 | \\ / A nd | Web : http :// www . OpenFOAM . org |
6 | \\/ M ani pulation | |
7 \* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
8 FoamFile
9 {
10 version 2.0;
11 format ascii ;
12 class dictionary ;
13 object waveProperties ;
14 }
15 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
16 timeShift 0;

73
APPENDIX

17 wind ( 0 0 0 );
18 seaLevel 0;
19 re la xa ti onNam es ( inlet ) ;
20 in iti al iz at io nN am e internalField ;
21 pName p_rgh ;
22 inl etCoeff s
23 {
24 waveType stokesSecond ;
25 Tsoft 0;
26 depth 5.685;
27 period 3;
28 direction ( 1 0 0 );
29 phi 0;
30 height 0.555549344304844;
31 waveNumber (0.4523944 0 0) ;
32 omega 2.0943951023932;
33 debug true ;
34 relaxationZone
35 {
36 relaxationScheme Spatial ;
37 re la xa ti onSha pe Rectangular ;
38 beachType Empty ;
39 relaxType INLET ;
40 startX ( -13.889 0 -5.685 ) ;
41 endX ( 0 0.1 10 ) ;
42 orientation ( 1 0 0 );
43 }
44 }
45 in tern alFi eldCoeffs
46 {
47 waveType potentialCurrent ;
48 U ( 0 0 0 );
49 Tsoft 0;
50 }
51 // * ** ** * ** ** * ** ** ** * ** ** * ** ** ** * ** ** * ** ** * ** ** ** * ** ** * ** ** * ** ** ** * ** ** * ** ** //

A.1.5 0-Folder

0 - prgh

1 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -* - C ++ -* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*\
2 | ========= | |
3 | \\ / F ield | OpenFOAM : The Open Source CFD Tool box |
4 | \\ / O peration | Version : 2.3.1 |
5 | \\ / A nd | Web : http :// www . OpenFOAM . org |
6 | \\/ M ani pulation | |
7 \*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
8 FoamFile
9 {
10 version 2.0;
11 format ascii ;
12 class volScalarField ;
13 location " 0. org " ;
14 object p_rgh ;
15 }
16 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
17 dimensions [1 -1 -2 0 0 0 0];
18 in te rn al Fi eld uniform 0;
19 bo un da ry Fi eld
20 {
21 inlet

74
APPENDIX

22 {
23 type zeroGradient ;
24 }
25 bottom
26 {
27 type zeroGradient ;
28 }
29 rightWall
30 {
31 type zeroGradient ; // with reflection
32 // type fixedValue ; // without reflection
33 // value uniform 0; //
34 }
35 atmosphere
36 {
37 type fixedValue ;
38 value uniform 0;
39 }
40 front
41 {
42 type empty ;
43 }
44 back
45 {
46 type empty ;
47 }
48 absorber
49 {
50 type zeroGradient ;
51 }
52 }
53 // * * * ** * ** ** ** * ** ** * ** ** ** * ** ** * ** ** * ** ** ** * ** ** * ** ** * ** ** ** * ** ** * ** ** ** * ** //

0-U

1 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -* - C ++ -* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*\
2 | ========= | |
3 | \\ / F ield | OpenFOAM : The Open Source CFD Tool box |
4 | \\ / O peration | Version : 2.3.1 |
5 | \\ / A nd | Web : http :// www . OpenFOAM . org |
6 | \\/ M ani pulation | |
7 \* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
8 FoamFile
9 {
10 version 2.0;
11 format ascii ;
12 class volVectorField ;
13 location " 0. org " ;
14 object U . org ;
15 }
16 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
17 dimensions [0 1 -1 0 0 0 0];
18 in te rn al Fi el d uniform (0 0 0) ;
19 bo un da ry Fi el d
20 {
21 inlet
22 {
23 type waveVelocity ;
24 refValue uniform (0 0 0) ;
25 ref Gra dient uniform (0 0 0) ;
26 va lu eF rac ti on uniform 1;

75
APPENDIX

27 value uniform (0 0 0) ;
28 }
29 bottom
30 {
31 type fixedValue ;
32 value uniform (0 0 0) ;
33 }
34 rightWall
35 {
36 type fixedValue ; // with reflection
37 value uniform (0 0 0) ; //
38 // type zeroGradient ; // without reflection
39 }
40 atmosphere
41 {
42 type zeroGradient ;
43 }
44 front
45 {
46 type empty ;
47 }
48 back
49 {
50 type empty ;
51 }
52 absorber
53 {
54 type fixedValue ;
55 value uniform (0 0 0) ;
56 }
57 }
58 // * ** ** * ** ** * ** ** ** * ** ** * ** ** ** * ** ** * ** ** * ** ** ** * ** ** * ** ** * ** ** ** * ** ** * ** ** //

0 - alpha.water

1 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -* - C ++ -* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*\
2 | ========= | |
3 | \\ / F ield | OpenFOAM : The Open Source CFD Tool box |
4 | \\ / O peration | Version : 2.3.1 |
5 | \\ / A nd | Web : http :// www . OpenFOAM . org |
6 | \\/ M ani pulation | |
7 \*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
8 FoamFile
9 {
10 version 2.0;
11 format ascii ;
12 class volScalarField ;
13 location " 0. org " ;
14 object alpha . water . org ;
15 }
16 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
17 dimensions [0 0 0 0 0 0 0];
18 in te rn al Fi eld uniform 0;
19 bo un da ry Fi eld
20 {
21 inlet
22 {
23 type waveAlpha ;
24 refValue uniform 0;
25 refGrad uniform 0;
26 va lu eF ra ct io n uniform 1;

76
APPENDIX

27 value uniform 0;
28 }
29 bottom
30 {
31 type zeroGradient ;
32 }
33 rightWall
34 {
35 type zeroGradient ;
36 }
37 atmosphere
38 {
39 type zeroGradient ;
40 }
41 front
42 {
43 type empty ;
44 }
45 back
46 {
47 type empty ;
48 }
49 absorber
50 {
51 type zeroGradient ;
52 }
53 }
54 // * * * ** * ** ** ** * ** ** * ** ** ** * ** ** * ** ** * ** ** ** * ** ** * ** ** * ** ** ** * ** ** * ** ** ** * ** //

0 - nut

1 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -* - C ++ -* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*\
2 | ========= | |
3 | \\ / F ield | OpenFOAM : The Open Source CFD Tool box |
4 | \\ / O peration | Version : 2.3.1 |
5 | \\ / A nd | Web : http :// www . OpenFOAM . org |
6 | \\/ M ani pulation | |
7 \* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
8 FoamFile
9 {
10 version 2.0;
11 format ascii ;
12 class volScalarField ;
13 location "0";
14 object nut ;
15 }
16 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
17 dimensions [0 2 -1 0 0 0 0];
18 in te rn al Fi el d uniform 0.00001004;
19 bo un da ry Fi el d
20 {
21 inlet
22 {
23 type fixedValue ;
24 value $internalField ;
25 }
26 bottom
27 {
28 type nutkWallFunction ;
29 value $internalField ;
30 }

77
APPENDIX

31 rightWall
32 {
33 type nutkWallFunction ; // with reflection
34 value $internalField ; //
35 // type zeroGradient ; // without reflection
36 }
37 atmosphere
38 {
39 type zeroGradient ;
40 }
41 front
42 {
43 type empty ;
44 }
45 back
46 {
47 type empty ;
48 }
49 absorber
50 {
51 type nutkWallFunction ;
52 value $internalField ;
53 }
54 }
55 // * ** ** * ** ** * ** ** ** * ** ** * ** ** ** * ** ** * ** ** * ** ** ** * ** ** * ** ** * ** ** ** * ** ** * ** ** //

0-k

1 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -* - C ++ -* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*\
2 | ========= | |
3 | \\ / F ield | OpenFOAM : The Open Source CFD Tool box |
4 | \\ / O peration | Version : 2.3.1 |
5 | \\ / A nd | Web : http :// www . OpenFOAM . org |
6 | \\/ M ani pulation | |
7 \*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
8 FoamFile
9 {
10 version 2.0;
11 format ascii ;
12 class volScalarField ;
13 location "0";
14 object k;
15 }
16 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
17 dimensions [0 2 -2 0 0 0 0];
18 in te rn al Fi eld uniform 0.000000519675102467968;
19 bo un da ry Fi eld
20 {
21 inlet
22 {
23 type fixedValue ;
24 value $internalField ;
25 }
26 bottom
27 {
28 type kqRWallFunction ;
29 value $internalField ;
30 }
31 rightWall
32 {
33 type kqRWallFunction ; // with reflection

78
APPENDIX

34 value $internalField ; //
35 // type zeroGradient ; // without reflection
36 }
37 atmosphere
38 {
39 type zeroGradient ;
40 }
41 front
42 {
43 type empty ;
44 }
45 back
46 {
47 type empty ;
48 }
49 absorber
50 {
51 type kqRWallFunction ;
52 value $internalField ;
53 }
54 }
55 // * * * ** * ** ** ** * ** ** * ** ** ** * ** ** * ** ** * ** ** ** * ** ** * ** ** * ** ** ** * ** ** * ** ** ** * ** //

0 - omega

1 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -* - C ++ -* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*\
2 | ========= | |
3 | \\ / F ield | OpenFOAM : The Open Source CFD Tool box |
4 | \\ / O peration | Version : 2.3.1 |
5 | \\ / A nd | Web : http :// www . OpenFOAM . org |
6 | \\/ M ani pulation | |
7 \* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
8 FoamFile
9 {
10 version 2.0;
11 format ascii ;
12 class volScalarField ;
13 location "0";
14 object omega ;
15 }
16 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
17 dimensions [0 0 -1 0 0 0 0];
18 in te rn al Fi el d uniform 0.0517604683733035;
19 bo un da ry Fi el d
20 {
21 inlet
22 {
23 type fixedValue ;
24 value $internalField ;
25 }
26 bottom
27 {
28 type omegaWallFunction ;
29 value $internalField ;
30 }
31 rightWall
32 {
33 type omegaWallFunction ; // with reflection
34 value $internalField ; //
35 // type zeroGradient ; // without reflection
36 }

79
APPENDIX

37 atmosphere
38 {
39 type zeroGradient ;
40 }
41 front
42 {
43 type empty ;
44 }
45 back
46 {
47 type empty ;
48 }
49 absorber
50 {
51 type omegaWallFunction ;
52 value $internalField ;
53 }
54 }
55 // * ** ** * ** ** * ** ** ** * ** ** * ** ** ** * ** ** * ** ** * ** ** ** * ** ** * ** ** * ** ** ** * ** ** * ** ** //

80
APPENDIX

A.2 Residuals
The residuals are analysed with the foamLog utility of OpenFOAM , that extracts the data of
residuals, iterations, Courant number etc. from the log-le of each simulation and presents it in
a set of les, that is plotted with gnuplot 4.6. As the simulation has no steady BC, the residuals
do not converge over time. Per time step they fall until the in fvSolution preset residual tolerance
with the number of inner iterations displayed for each variable. Exemplary the residual analysis
for the airy and the stokes sea states with T = 2.00 s is presented for all investigated scenarios.

(a) Initial Residuals (b) Final Residuals

(c) Number of Iterations for all Variables (d) Number of Iterations for all Variables but p

Figure A.1: Residual Analysis for Case: airy, T = 2.00 s, WALL

81
APPENDIX

(a) Initial Residuals (b) Final Residuals

(c) Number of Iterations for all Variables (d) Number of Iterations for all Variables but p

Figure A.2: Residual Analysis for Case: airy, T = 2.00 s, WALL Preinitialised

(a) Initial Residuals (b) Final Residuals

Figure A.3: Residual Analysis for Case: stokes, T = 2.00 s, WALL

82
APPENDIX

(c) Number of Iterations for all Variables (d) Number of Iterations for all Variables but p

Figure A.3: Residual Analysis for Case: stokes, T = 2.00 s, WALL (continued)

(a) Initial Residuals (b) Final Residuals

(c) Number of Iterations for all Variables (d) Number of Iterations for all Variables but p

Figure A.4: Residual Analysis for Case: airy, T = 2.00 s, HSVA

83
APPENDIX

(a) Initial Residuals (b) Final Residuals

(c) Number of Iterations for all Variables (d) Number of Iterations for all Variables but p

Figure A.5: Residual Analysis for Case: stokes, T = 2.00 s, HSVA

(a) Initial Residuals (b) Final Residuals

Figure A.6: Residual Analysis for Case: airy, T = 2.00 s, HSVA covered

84
APPENDIX

(c) Number of Iterations for all Variables (d) Number of Iterations for all Variables but p

Figure A.6: Residual Analysis for Case: airy, T = 2.00 s, HSVA covered (continued)

(a) Initial Residuals (b) Final Residuals

(c) Number of Iterations for all Variables (d) Number of Iterations for all Variables but p

Figure A.7: Residual Analysis for Case: stokes, T = 2.00 s, HSVA covered

85
APPENDIX

(a) Initial Residuals (b) Final Residuals

(c) Number of Iterations for all Variables (d) Number of Iterations for all Variables but p

Figure A.8: Residual Analysis for Case: airy, T = 2.00 s, TUB

(a) Initial Residuals (b) Final Residuals

Figure A.9: Residual Analysis for Case: stokes, T = 2.00 s, TUB

86
APPENDIX

(c) Number of Iterations for all Variables (d) Number of Iterations for all Variables but p

Figure A.9: Residual Analysis for Case: stokes, T = 2.00 s, TUB (continued)

87
APPENDIX

A.3 Matlab Codes


A.3.1 Simulation Evaluation

1 clc
2 clear all
3 close all
4
5 % _ _ _ _ __ _ _ _ __ _ _ _ __ _ _ _ __ _ _ _ new colour scheme for plot s
6 colour =[204 0 0;204 204 0;102 204 0;0 204 204;0 102 204;0 0 204;102 0 204;204 0 102];
7 colour = colour ./255; % convert rgb to matlab s rgb
8 set ( groot , defaultAxesColorOrder , colour )
9
10 % _ _ _ _ __ _ _ _ __ _ _ _ __ _ _ _ __ _ _ _ choose case
11 pathname = uigetdir ( / Volumes / Transcend / finalWaveAbsorbers , Choose case to analyse
reflection coefficient ) ;
12
13 % _ _ _ _ __ _ _ _ __ _ _ _ __ _ _ _ __ _ _ _ get wave properties from waveProperties file
14 [d ,T ,H , k ]= readWavePropertiesFile ( pathname ) ; % water depth , wave period , - height , - number
15 lambda =2* pi / k ; % wavelength
16 zeta_a = H /2; % wave amplitude
17 omega =2* pi / T ; % wave frequency
18 c = lambda / T ; % phase velocity
19 c_Gr = c /2*(1+2* k * d / sinh (2* k * d ) ) ; % group velocity
20
21 % ___ get scenario and relate dimensions
22 if isempty ( strfind ( pathname , hsva ) ) ==0
23 beta =0.5; % curve smoothing
24 alphaGrad =8.75; % inc lination angle at FS
25 absorberLength =19.5 -1.4* lambda ;
26 p i e r c e A b s o r b e r D i s t a n c e F r o m W a l l =4.712 -1.9* lambda ;
27 elseif isempty ( strfind ( pathname , tub ) ) ==0
28 beta =0.5;
29 alphaGrad =12;
30 absorberLength =18 -0.7* lambda ;
31 p i e r c e A b s o r b e r D i s t a n c e F r o m W a l l =8.218+3.6* lambda ;
32 elseif isempty ( strfind ( pathname , wall ) ) ==0
33 beta =0.7;
34 alphaGrad =0;
35 absorberLength =0.2* lambda ;
36 if isempty ( strfind ( pathname , Pre ) ) ==0
37 p i e r c e A b s o r b e r D i s t a n c e F r o m W a l l =100;
38 else
39 p i e r c e A b s o r b e r D i s t a n c e F r o m W a l l =0;
40 end
41 end
42
43 alphaRad = alphaGrad *2* pi /360;
44 endMeasuringZon e = min ( p ie r ce Ab s or b er Di s ta n ce Fr o mW al l +1.2* lambda /2/tan ( alphaRad ) ,
absorberLength ) ;
45
46 % _ _ _ _ __ _ _ _ __ _ _ _ __ _ _ _ __ _ _ _ get time dir ectorie s
47 tDir = dir ([ pathname / postProcessing / elevation ]) ;
48 tDir ={ tDir (3: end ) . name } ;
49 tDir = str2double ( tDir ) ;
50 tDir = sort ( tDir ) ;
51 Tvec =(0: T : max ( tDir ) ) ;
52
53 % _ _ _ _ __ _ _ _ __ _ _ _ __ _ _ _ __ _ _ _ get surface elevation
54 Hi = zeros (1 , length ( Tvec ) *2 -3) ; % pr ea ll oc at io n
55 Hr = zeros (1 , length ( Tvec ) *2 -3) ; % pr ea ll oc at io n
56 tvec = NaN (1 , length ( Tvec ) *2 -3) ; % pr ea ll oc at io n
57 l =1;
58 for g =1: length ( Tvec ) *2 -3;

88
APPENDIX

59 l = mod (g ,2) * l +( -( mod (g ,2) -1) ) *( l +1) ;


60 t = tDir ( tDir >= mod (g ,2) * Tvec ( l ) +( -( mod (g ,2) -1) ) *( Tvec ( l ) -T /2) & tDir <=( mod (g ,2) * Tvec ( l )
+( -( mod (g ,2) -1) ) *( Tvec ( l ) -T /2) ) + T ) ;
61 tvec ( g ) = t (1) ;
62
63 surfaceElevationXpre = NaN (40000 , length ( t ) ) ; % pr ea ll oc at io n
64 surfaceElevationZpre = NaN (40000 , length ( t ) ) ; % pr ea ll oc at io n
65 for i =1: length ( t )
66 % ___ read . txt file
67 fileID = fopen ([ pathname / postProcessing / elevation / num2str ( t (i ,1) ,10) / freeSurface
. txt ]) ;
68 freeSurface = textscan ( fileID , % f , delimiter , , MultipleDelimsAsOne , true ,
hea derLines ,2) ;
69 fclose ( fileID ) ;
70 freeSurface = freeSurface {1};
71
72 surfaceElevation (: ,1) = freeSurface (1:3: end ) ; %x - coordinate
73 surfaceElevation (: ,2) = freeSurface (3:3: end ) ; %z - coordinate
74 surfaceElevation = unique ( surfaceElevation , rows ) ; % delete double entries & sort by
increasing x
75
76 j =0;
77 while j < size ( surfaceElevation ,1) -1 % delete lower zeta value if two x - values
exist
78 j = j +1;
79 if surfaceElevation (j ,1) == surfaceElevation ( j +1 ,1)
80 if surfaceEl evation (j ,2) < surfaceElevation ( j +1 ,2) % 2 nd value higher
81 surfaceElevation (j ,:) =[];
82 surfaceElevation ( end +1 ,:) =[ NaN NaN ];
83 j =j -1;
84 else % 1 st value higher
85 surfaceElevation ( j +1 ,:) =[];
86 surfaceElevation ( end +1 ,:) =[ NaN NaN ];
87 j =j -1;
88 end
89 end
90 end
91
92 surfaceElevationXpre (1: size ( surfaceElevation ,1) ,i ) = surfaceElevation (: ,1) ;
93 surfaceElevationZpre (1: size ( surfaceElevation ,1) ,i ) = surfaceElevation (: ,2) ;
94
95 % ___ smoothen signal
96 m = size ( surfaceElevationZpre ,1) ;
97 surfaceElevationZpre (3: m -2 , i ) = beta * surfaceElevationZpre (3: m -2 , i ) +(1 - beta ) *0.25*(
surfaceElevationZpre (1: m -4 , i ) + surfaceElevationZpre (2: m -3 , i ) + surfaceElevatio n Z p r e
(4: m -1 , i ) + surfaceElevationZpre (5: m , i ) ) ;
98
99 clear surfaceElevation
100 end
101 surfaceElevationZpre ( all ( isnan ( s urfaceElevationXpre ) ,2) ,:) =[]; % delete lines w all NAN
102 surfaceElevationXpre ( all ( isnan ( s urfaceElevationXpre ) ,2) ,:) =[]; % delete lines w all NAN
103
104 if g ==1
105 minX = min ( min ( s urfaceElevationXpre ) ) ;
106 maxX = max ( max ( s urfaceElevationXpre ) ) ;
107 end
108 startAbsorberZone = maxX - en dMeasuringZone ;
109
110 % ___ plot wide
111 figure ( Name , Surface Elevation in Space Over a Wave Period , NumberTitle , off ,
units , normalized , position ,[0 1 1 .5])
112 hold on
113 grid on
114 box on

89
APPENDIX

115 set ( gca , FontSize ,18)


116 set ( gca , LooseIn set , get ( gca , TightIn set ))
117 graphZeta = plot ( s urfaceElevationXpre / lambda , surfaceElevationZpre / zeta_a , Color , colour
(5 ,:) , LineWidth ,1) ;
118 area ([ minX / lambda ( startAbsorberZone -1* lambda ) / lambda ] ,[ -1.5* H / zeta_a -1.5* H / zeta_a
] ,1.5* H / zeta_a , EdgeColor , none , FaceColor , k , FaceAlpha ,0.1 , LineStyle ,
none )
119 area ([ startAbsorberZone / lambda maxX / lambda ] ,[ -1.5* H / zeta_a -1.5* H / zeta_a
] ,1.5* H / zeta_a , EdgeColor , none , FaceColor , k , FaceAlpha ,0.1 , LineStyle ,
none )
120 xlim ([ minX / lambda maxX / lambda ])
121 ylim ([ -1.5* H / zeta_a 1.5* H / zeta_a ])
122 if max ( t ) == T
123 text ((0.03*( maxX - minX ) + minX ) / lambda ,1.35* H / zeta_a ,[ time interval : 0 - num2str ( max
( t ) ) s ] , FontSize ,18)
124 else
125 text ((0.03*( maxX - minX ) + minX ) / lambda ,1.35* H / zeta_a ,[ time interval : num2str ( min ( t ) )
- num2str ( max ( t ) ) s ] , FontSize ,18)
126 end
127 ax = gca ;
128 ax . XTick = -1:1:30;
129 xlabel ( x / \ lambda [ -] , FontSize ,18)
130 ylabel ( \ zeta / \ zeta_a [ -] )
131 legend ( graphZeta (1) , \ zeta , Location , northoutside , Orientation , horizontal )
132 % ___ save figure
133 % _preserve axes appearance
134 ax . XTickMode = manual ;
135 ax . YTickMode = manual ;
136 ax . XLimMode = manual ;
137 ax . YLimMode = manual ;
138 % _ set paper properties
139 set ( gca , units , centimeters )
140 pos = get ( gca , Position ) ;
141 ti = get ( gca , TightIn set );
142 set ( gcf , PaperUnits , centimeters ) ;
143 set ( gcf , PaperSize ,[1.1*( pos (3) + ti (1) + ti (3) ) 1.1*( pos (4) + ti (2) + ti (4) ) ]) ;
144 set ( gcf , PaperPositionMode , manual ) ;
145 set ( gcf , PaperPosition ,[0 0 1.1*( pos (3) + ti (1) + ti (3) ) 1.1*( pos (4) + ti (2) + ti (4) ) ]) ;
146 saveas ( gcf ,[ pathname / postProcessing / num2str ( min ( t ) , % 04.4 f ) _wide . pdf ] , pdf )
147 close ( gcf )
148
149 if Tvec ( l ) >( maxX - pi e rc eA b so r be rD i st an c eF r om Wa l l ) / c_Gr +1 && isempty ( strfind ( pathname ,
II_hsvaC ) ) ~=0 && isempty ( strfind ( pathname , II_tub ) ) ~=0
150 % ___ plot small
151 figure ( Name , Surface Elevation in Space Over a Wave Period , NumberTitle , off ,
units , normalized , position ,[0 1 .5 .5])
152 hold on
153 grid on
154 box on
155 set ( gca , FontSize ,18)
156 set ( gca , LooseIn set , get ( gca , TightIn set ))
157 graphZeta = plot ( s urfaceElevationXpre / lambda , s urfaceElevationZpre / zeta_a , Color ,
colour (5 ,:) , LineWidth ,1) ;
158 xlim ([( startAbsorberZone -1* lambda ) / lambda startAbsorberZone / lambda ])
159 ylim ([ -1.5* H / zeta_a 1.5* H / zeta_a ])
160 if max ( t ) == T
161 text (( startAbsorberZone -1* lambda ) / lambda +0.025 ,1.35* H / zeta_a ,[ time interval : 0 -
num2str ( max ( t ) ) s ] , FontSize ,18)
162 else
163 text (( startAbsorberZone -1* lambda ) / lambda +0.025 ,1.35* H / zeta_a ,[ time interval :
num2str ( min ( t ) ) - num2str ( max ( t ) ) s ] , FontSize ,18)
164 end
165 xlabel ( x / \ lambda [ -] , FontSize ,18)
166 ylabel ( \ zeta / \ zeta_a [ -] )

90
APPENDIX

167
168 % _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ __ _ _ _ reflection coe fficient
169 % ___ restrict area for de te rm in at io n of R
170 surfaceElevationZpre ( surfaceElevationXpre < startAbsorberZone -1* lambda ) = NaN ;
171 surfaceElevationZpre ( surfaceElevationXpre > st artAbs orberZ one ) = NaN ; % detect
points in absorber zone
172 surfaceElevationXpre ( surfaceElevationXpre < startAbsorberZone -1* lambda ) = NaN ;
173 surfaceElevationXpre ( surfaceElevationXpre > st artAbs orberZ one ) = NaN ; % detect
points in absorber zone
174 surfaceElevationXpre ( all ( isnan ( s urfaceElevationXpre ) ,2) ,:) =[]; % cut off
points in detected zones
175 surfaceElevationZpre ( all ( isnan ( s urfaceElevationZpre ) ,2) ,:) =[]; % cut off
points in detected zones
176
177 % ___ unitise signals
178 surf aceElevatio nX = linspace ( min ( min ( s urfaceElevationXpre ) ) , max ( max (
surfaceElevationXpre ) ) , size ( surfaceElevationZpre ,1) ) ; % unitised x - array for
in te rp ol at io n
179 surf aceElevatio nZ = NaN ( length ( s urfaceElevationX ) , length ( t ) ) ;
180 for j =1: length ( t ) % interpolation , so that each zeta relates to the same x - vector
181 surfaceElevationZ (: , j ) = interp1 ( s urfaceElevationXpre (~ isnan ( s urfaceElevationXpre (: ,
j ) ) ,j ) , surfaceElevationZpre (~ isnan ( s urfaceElevationZpre (: , j ) ) ,j ) ,
surfaceElevationX , linear ) ;
182 end
183 surf aceElevatio nX ( any ( isnan ( s urfaceElevationZ ) ,2) ,:) =[]; % delete rows containing
NAN
184 surf aceElevatio nZ ( any ( isnan ( s urfaceElevationZ ) ,2) ,:) =[]; % delete rows containing
NAN
185
186 % ___ create envelope function
187 envUp = max ( surfaceElevationZ ,[] ,2) ;
188 envLo = min ( surfaceElevationZ ,[] ,2) ;
189
190 xEnv = surfaceElevationX ;
191
192 % ___ smoothen envelope
193 n = length ( envUp );
194 envUp (3: n -2) = beta * envUp (3: n -2) +(1 - beta ) *0.25*( envUp (1: n -4) + envUp (2: n -3) + envUp (4: n -1)
+ envUp (5: n ) ) ;
195 n = length ( envLo );
196 envLo (3: n -2) = beta * envLo (3: n -2) +(1 - beta ) *0.25*( envLo (1: n -4) + envLo (2: n -3) + envLo (4: n -1)
+ envLo (5: n ) ) ;
197
198 gr ap hE nvelo pe Up =plot ( xEnv / lambda , envUp / zeta_a , Color , colour (4 ,:) , LineWidth ,2) ;
199 gr ap hE nvelo pe Lo =plot ( xEnv / lambda , envLo / zeta_a , Color , colour (4 ,:) , LineWidth ,2) ;
200
201 % ___ find local extrema of envelope function
202 [ localmaxupperenvelope , localminupperenvelope ]= peakdet ( envUp , H /1000 , xEnv ) ; % detect
local extrema at upper envelope
203 [ localmaxlowerenvelope , localminlowerenvelope ]= peakdet ( envLo , H /1000 , xEnv ) ; % detect
local extrema at lower envelope
204
205 localma xupp erenvelop e ( lo calm axupperen velo pe (1 ,1) == min ( xEnv ) | localmaxupperenvelope (
end ,1) == max ( xEnv ) ,:) =[]; % cut off extrema that are wrongly detected at
endpoints
206 localmi nupp erenvelop e ( lo calm inupperen velo pe (1 ,1) == min ( xEnv ) | localminupperenvelope (
end ,1) == max ( xEnv ) ,:) =[]; % cut off extrema that are wrongly detected at
endpoints
207 localma xlow erenvelop e ( lo calm axloweren velo pe (1 ,1) == min ( xEnv ) | localmaxlowerenvelope (
end ,1) == max ( xEnv ) ,:) =[]; % cut off extrema that are wrongly detected at
endpoints
208 localmi nlow erenvelop e ( lo calm inloweren velo pe (1 ,1) == min ( xEnv ) | localminlowerenvelope (
end ,1) == max ( xEnv ) ,:) =[]; % cut off extrema that are wrongly detected at
endpoints

91
APPENDIX

209
210 % ___ correction of local extrema
211 markersMaxUp = plot ( l ocalmaxupperenvelope (: ,1) / lambda , l ocalmaxupperenvelope (: ,2) /
zeta_a , x , markers ,10 , Color , colour (1 ,:) ) ;
212 q =1: length ( l ocalmaxupperenvelope (: ,1) ) ;
213 markersMa xUpText = text ( l ocalmaxupperenvelope (: ,1) / lambda , l ocalmaxupperenvelope (: ,2)
/ zeta_a +0.1 , num2str (q ) , Color , colour (1 ,:) ) ;
214 markersMinUp = plot ( l ocalminupperenvelope (: ,1) / lambda , l ocalminupperenvelope (: ,2) /
zeta_a , + , markers ,10 , Color , colour (1 ,:) ) ;
215 q =1: length ( l ocalminupperenvelope (: ,1) ) ;
216 markersMi nUpText = text ( l ocalminupperenvelope (: ,1) / lambda , l ocalminupperenvelope (: ,2)
/ zeta_a +0.1 , num2str (q ) , Color , colour (2 ,:) ) ;
217 markersMinLo = plot ( l ocalmaxlowerenvelope (: ,1) / lambda , l ocalmaxlowerenvelope (: ,2) /
zeta_a , + , markers ,10 , Color , colour (1 ,:) ) ;
218 q =1: length ( l ocalmaxlowerenvelope (: ,1) ) ;
219 markersMi nLoText = text ( l ocalmaxlowerenvelope (: ,1) / lambda , l ocalmaxlowerenvelope (: ,2)
/ zeta_a -0.1 , num2str (q ) , Color , colour (1 ,:) ) ;
220 markersMaxLo = plot ( l ocalminlowerenvelope (: ,1) / lambda , l ocalminlowerenvelope (: ,2) /
zeta_a , x , markers ,10 , Color , colour (1 ,:) ) ;
221 q =1: length ( l ocalminlowerenvelope (: ,1) ) ;
222 markersMa xLoText = text ( l ocalminlowerenvelope (: ,1) / lambda , l ocalminlowerenvelope (: ,2)
/ zeta_a -0.1 , num2str (q ) , Color , colour (2 ,:) ) ;
223
224 legend ([ graphZeta (1) graphEnvelopeUp markersMaxUp markersMinUp ] , \ zeta , Envelope ,
Hmax , Hmin , Location , northoutside , Orientation , horizontal )
225
226 prompt = which values of local max upper envelope do you want as maxima ? specify them
in the following way : [ index1 , index2 ] ;
227 in de xM axU pp er = input ( prompt ) ;
228 localma xupperenv elop e = lo calmaxupp e ren velope ( indexMaxUpper ,:) ;
229 delete ( markersMaxUp )
230 delete ( m arkersMaxUpText )
231 markersMaxUp = plot ( l ocalmaxupperenvelope (: ,1) / lambda , l ocalmaxupperenvelope (: ,2) /
zeta_a , x , markers ,10 , Color , colour (1 ,:) ) ;
232
233 prompt = which values of local min upper envelope do you want as minima ? specify them
in the following way : [ index1 , index2 ] ;
234 in de xM inU pp er = input ( prompt ) ;
235 localmi nupperenv elop e = lo calminupp e ren velope ( indexMinUpper ,:) ;
236 delete ( markersMinUp )
237 delete ( m arkersMinUpText )
238 markersMinUp = plot ( l ocalminupperenvelope (: ,1) / lambda , l ocalminupperenvelope (: ,2) /
zeta_a , + , markers ,10 , Color , colour (1 ,:) ) ;
239
240 prompt = which values of local max lower envelope do you want as maxima ? specify them
in the following way : [ index1 , index2 ] ;
241 in de xM axL ow er = input ( prompt ) ;
242 localma xlowerenv elop e = lo calmaxlow e ren velope ( indexMaxLower ,:) ;
243 delete ( markersMinLo )
244 delete ( m arkersMinLoText )
245 markersMinLo = plot ( l ocalmaxlowerenvelope (: ,1) / lambda , l ocalmaxlowerenvelope (: ,2) /
zeta_a , + , markers ,10 , Color , colour (1 ,:) ) ;
246
247 prompt = which values of local min lower envelope do you want as minima ? specify them
in the following way : [ index1 , index2 ] ;
248 in de xM inL ow er = input ( prompt ) ;
249 localmi nlowerenv elop e = lo calminlow e ren velope ( indexMinLower ,:) ;
250 delete ( markersMaxLo )
251 delete ( m arkersMaxLoText )
252 markersMaxLo = plot ( l ocalminlowerenvelope (: ,1) / lambda , l ocalminlowerenvelope (: ,2) /
zeta_a , x , markers ,10 , Color , colour (1 ,:) ) ;
253
254 legend ([ graphZeta (1) graphEnvelopeUp markersMaxUp markersMinUp ] , \ zeta , Envelope ,
Hmax , Hmin , Location , northoutside , Orientation , horizontal )

92
APPENDIX

255
256 % ___ save figure
257 % _preserve axes appearance
258 ax = gca ;
259 ax . XTickMode = manual ;
260 ax . YTickMode = manual ;
261 ax . XLimMode = manual ;
262 ax . YLimMode = manual ;
263 % _ set paper properties
264 set ( gca , units , centimeters )
265 pos = get ( gca , Position ) ;
266 ti = get ( gca , TightIn set );
267 set ( gcf , PaperUnits , centimeters ) ;
268 set ( gcf , PaperSize ,[1.1*( pos (3) + ti (1) + ti (3) ) 1.1*( pos (4) + ti (2) + ti (4) ) ]) ;
269 set ( gcf , PaperPositionMode , manual ) ;
270 set ( gcf , PaperPosition ,[0 0 1.1*( pos (3) + ti (1) + ti (3) ) 1.1*( pos (4) + ti (2) + ti (4) ) ]) ;
271 saveas ( gcf ,[ pathname / postProcessing / num2str ( min ( t ) , % 04.4 f ) _small . pdf ] , pdf
)
272 close ( gcf )
273
274 Hmax = mean ( l ocalmaxupperenvelope (: ,2) ) + abs ( mean ( l ocalminlowerenvelope (: ,2) ) ) ;
275 Hmin = mean ( l ocalminupperenvelope (: ,2) ) + abs ( mean ( l ocalmaxlowerenvelope (: ,2) ) ) ;
276
277 Hi ( g ) =( Hmax + Hmin ) /2;
278 Hr ( g ) =( Hmax - Hmin ) /2;
279 end
280
281 clearvars - except R start colour d T H k lambda zeta_a omega c c_Gr pathname tDir ...
282 startAbsorberZone domainLength absorberLength Tvec g l Hr Hi tvec minX maxX ...
283 p i e r c e A b s o r b e r D i s t a n c e F r o m W a l l endMeasuringZone Hi Hr beta
284 end
285
286 if isempty ( strfind ( pathname , II_hsvaC ) ) ~=0 && isempty ( strfind ( pathname , II_tub ) ) ~=0
287 R = Hr ./ Hi ;
288
289 figure ( Name , reflection coefficient at different times , NumberTitle , off , units ,
normalized , position ,[0 1 .5 .5])
290 plot ( tvec (~ isnan ( R ) ) ,R (~ isnan ( R ) ) , -x , LineWidth ,1 , Color , colour (5 ,:) )
291 grid on
292 hold on
293 box on
294 set ( gca , FontSize ,18)
295 set ( gca , LooseIn set , get ( gca , TightIn set ))
296 xlim = xlim ;
297 ylim = ylim ;
298 a1 = area ([ xlim (1) 1*( maxX - p ie rc e Ab so r be r Di st a nc e Fr om W al l ) / c_Gr +1] ,[0 0] ,1 , EdgeColor ,
none , FaceColor , k , FaceAlpha ,0.1 , LineStyle , none ) ;
299 a2 = area ([2*( maxX - p ie r ce Ab s or b er Di s ta nc e Fr o mW al l ) / c_Gr +1 xlim (2) ] ,[0 0] ,1 , EdgeColor ,
none , FaceColor , k , FaceAlpha ,0.1 , LineStyle , none ) ;
300 if isempty ( strfind ( pathname , Pre ) ) ==0
301 delete ([ a1 a2 ])
302 xlim =([0 xlim (2) ]) ;
303 else
304 axis tight
305 end
306 YTick =0:0.1: ylim (2) ;
307 xlabel ( begin time interval [ s ] )
308 ylabel ( R [ -] )
309 legend ( R , Location , northoutside , Orientation , horizontal )
310 % ___ save figure
311 % _preserve axes appearance
312 ax = gca ;
313 ax . XTickMode = manual ;
314 ax . YTickMode = manual ;

93
APPENDIX

315 ax . XLimMode = manual ;


316 ax . YLimMode = manual ;
317 % _ set paper properties
318 set ( gca , units , centimeters )
319 pos = get ( gca , Position ) ;
320 ti = get ( gca , TightIn set );
321 set ( gcf , PaperUnits , centimeters ) ;
322 set ( gcf , PaperSize ,[ pos (3) + ti (1) + ti (3) pos (4) + ti (2) + ti (4) ]) ;
323 set ( gcf , PaperPositionMode , manual ) ;
324 set ( gcf , PaperPosition ,[0 0 pos (3) + ti (1) + ti (3) pos (4) + ti (2) + ti (4) ]) ;
325 saveas ( gcf ,[ pathname / postProcessing / R . pdf ] , pdf )
326
327 figure ( Name , reflection coefficient at different times , NumberTitle , off , units ,
normalized , position ,[.5 1 .5 .5])
328 Refl = plot ( tvec (~ isnan ( R ) ) ,R (~ isnan ( R ) ) , -x , LineWidth ,1 , Color , colour (5 ,:) ) ;
329 grid on
330 hold on
331 box on
332 set ( gca , FontSize ,18)
333 set ( gca , LooseIn set , get ( gca , TightIn set ))
334 xlim = xlim ;
335 ylim = ylim ;
336 a1 = area ([ xlim (1) 1*( maxX - p ie rc e Ab so r be r Di st a nc eF r om W al l ) / c_Gr +1] ,[0 0] ,ylim (2) ,
EdgeColor , none , FaceColor , k , FaceAlpha ,0.1 , LineStyle , none ) ;
337 a2 = area ([2*( maxX - p ie r ce Ab s or b er Di s ta n ce Fr o mW al l ) / c_Gr +1 xlim (2) ] ,[0 0] , ylim (2) ,
EdgeColor , none , FaceColor , k , FaceAlpha ,0.1 , LineStyle , none ) ;
338 if isempty ( strfind ( pathname , Pre ) ) ==0
339 delete ([ a1 a2 ])
340 xlim =([0 xlim (2) ]) ;
341 else
342 axis tight
343 end
344 YTick =0:0.1: ylim (2) ;
345 xlabel ( begin time interval [ s ] )
346 ylabel ( R [ -] )
347
348 prompt = how many of the last R values belong to the plateau ;
349 plateau Start = input ( prompt ) ;
350 prompt = how many of the last R values do not belong to the plateau ;
351 plateauEnd = input ( prompt ) ;
352 RPlateau = mean ( R ( end - plateauStart +1: end - plateauEnd ) ) ;
353 HiPlateau = mean ( Hi ( end - plateauStart +1: end - plateauEnd ) ) ;
354 HrPlateau = mean ( Hr ( end - plateauStart +1: end - plateauEnd ) ) ;
355 pl at ea uV al ue s =plot ( tvec ( end - plateauStart +1: end - plateauEnd ) ,R ( end - plateauStart +1: end -
plateauEnd ) , x , LineWidth ,1 , markers ,8 , Color , colour (1 ,:) ) ;
356 if isempty ( strfind ( pathname , Pre ) ) ==0
357 text ( xlim (1) +0.07*( xlim (1) + xlim (2) ) ,0.21* ylim (2) ,[ R = num2str ( RPlateau ,3) ] ,
FontSize ,18 , Color , colour (1 ,:) )
358 text ( xlim (1) +0.07*( xlim (1) + xlim (2) ) ,0.14* ylim (2) ,[ H_i = num2str ( HiPlateau ,3) m
] , FontSize ,18 , Color , colour (1 ,:) )
359 text ( xlim (1) +0.07*( xlim (1) + xlim (2) ) ,0.07* ylim (2) ,[ H_r = num2str ( HrPlateau ,3) m
] , FontSize ,18 , Color , colour (1 ,:) )
360 else
361 text ((1*( maxX - p ie r ce Ab s or b er Di s ta n ce Fr o mW al l ) / c_Gr +1) +1 ,0.21*ylim (2) ,[ R = num2str
( RPlateau ,3) ] , FontSize ,18 , Color , colour (1 ,:) )
362 text ((1*( maxX - p ie r ce Ab s or b er Di s ta n ce Fr o mW al l ) / c_Gr +1) +1 ,0.14*ylim (2) ,[ H_i =
num2str ( HiPlateau ,3) m ] , FontSize ,18 , Color , colour (1 ,:) )
363 text ((1*( maxX - p ie r ce Ab s or b er Di s ta n ce Fr o mW al l ) / c_Gr +1) +1 ,0.07*ylim (2) ,[ H_r =
num2str ( HrPlateau ,3) m ] , FontSize ,18 , Color , colour (1 ,:) )
364 end
365
366 legend ([ Refl plateauValues ] , R , Plateau Values , Location , northoutside ,
Ori entatio n , horizontal )
367 % ___ save figure

94
APPENDIX

368 % _preserve axes appearance


369 ax = gca ;
370 ax . XTickMode = manual ;
371 ax . YTickMode = manual ;
372 ax . XLimMode = manual ;
373 ax . YLimMode = manual ;
374 % _ set paper properties
375 set ( gca , units , centimeters )
376 pos = get ( gca , Position ) ;
377 ti = get ( gca , TightIn set );
378 set ( gcf , PaperUnits , centimeters ) ;
379 set ( gcf , PaperSize ,[ pos (3) + ti (1) + ti (3) pos (4) + ti (2) + ti (4) ]) ;
380 set ( gcf , PaperPositionMode , manual ) ;
381 set ( gcf , PaperPosition ,[0 0 pos (3) + ti (1) + ti (3) pos (4) + ti (2) + ti (4) ]) ;
382 saveas ( gcf ,[ pathname / postProcessing / RDetail . pdf ] , pdf )
383 end

A.3.2 Experiment Evaluation

1 clc
2 clear all
3 close all
4
5 % _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _ _ __ _ _ _ new colour scheme for plot s
6 colour =[204 0 0;204 204 0;102 204 0;0 204 204;0 102 204;0 0 204;102 0 204;204 0 102];
7 colour = colour ./255; % convert rgb to matlab s rgb
8 set ( groot , defaultAxesColorOrder , colour )
9
10 % _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _ _ __ _ _ _ wave properties
11 d =0.395;
12 prompt = please insert the wave frequency omega of this case ;
13 omega = input ( prompt ) ;
14 T =2* pi / omega ;
15 prompt = please insert the wave number k of this case ;
16 k = input ( prompt ) ;
17 lambda =2* pi / k ;
18 prompt = please insert the wave steepness of this case ;
19 steepness = input ( prompt ) ; % 0.04; %0.006;
20 H = steepness * lambda ;
21 zeta_a = H /2;
22 omega =2* pi / T ;
23 c = lambda / T ;
24 c_Gr = c /2*(1+2* k * d / sinh (2* k * d ) ) ;
25
26 % ___ read . txt file
27 pathname = uigetdir ( / Users / juliettaweber / Documents / UNI / AbschlussarbeitMA / experiments /
results / , Choose case to analyse surface elevation in time ) ;
28 fileIDEnv =([ pathname /001. txt ]) ;
29 freeSurfaceEnv = dlmread ( fileIDEnv ) ;
30 fileIDE nvUn filt ered =([ pathname /001 unfiltered . txt ]) ;
31 f r ee S u r fa c e E nv U n f il t e r ed = dlmread ( f ileIDEnvUnfiltered ) ;
32
33 fileIDElev =([ pathname /002. txt ]) ;
34 fr ee Su rf aceEl ev = dlmread ( fileIDElev ) ;
35 fileIDElevUnfiltered =([ pathname /002 unfiltered . txt ]) ;
36 f r e e S u r f a c e E l e vU n f i l t e r e d = dlmread ( f ileIDElevUnfiltered ) ;
37
38 % fileIDE lev3 =([ pathname /003. txt ]) ;
39 % freeS urfaceElev3 = dlmread ( fil eIDElev3 );
40
41 freeSurfaceEnv = freeSurfaceEnv (2: end -1 ,:) ;
42 f r ee S u r fa c e E nv U n f il t e r ed = f r ee S u r f a c e E n vU n f i lt e r e d (2: end -1 ,:) ;

95
APPENDIX

43 fr ee Su rf aceEl ev = freeSu rf ac eElev (2: end -1 ,:) ;


44 f r e e S u r f a c e E l e v U n f i l t e r e d = f r e e S u r f a c e E l e v U nf i l t e r e d (2: end -1 ,:) ;
45 % freeSurface Elev3 = freeSurfaceElev3 (2: end -1 ,:) ;
46
47 [ maxtab mintab ]= peakdet ( f reeSurfaceEnv (: ,2) ,0.00001 , freeSurfaceEnv (: ,1) ) ; % envelope
function of 001. txt
48
49 stokesT =( min ( min ( f reeSurfaceElev (: ,1) ) ) :0.01: max ( max ( f reeSurfaceElev (: ,1) ) ) ) ;
50 phase =0.148* pi ;
51 stokesZ = zeta_a * cos ( k * phase - omega * stokesT ) +1/4* k * zeta_a ^2*cosh ( k * d ) / sinh ( k * d ) ^3*(2+ cosh
(2* k * d ) ) * cos (2*( k * phase - omega * stokesT ) ) ;
52
53 figure ( Name , Surface Elevation in Time Complete , NumberTitle , off , units ,
normalized , position ,[0 1 1 .5])
54 hold on
55 grid on
56 box on
57 set ( gca , FontSize ,18)
58 plot ( stokesT /T , stokesZ / zeta_a , k : , LineWidth ,2)
59 plot ( f reeSurfaceElev (: ,1) /T , f reeSurfaceElev (: ,2) / zeta_a , LineWidth ,2 , Color , colour
(5 ,:) )
60 % plot ( freeSurface Elev3 (: ,1) , freeSurfaceElev3 (: ,2) , LineWidth ,2 , Color , colour (2 ,:) )
61 xlim 1=5.3/ c_Gr *12* T ;
62 xlim 2= xlim 1+3* T ;
63 area ([0 xlim 1/ T ] ,[ -2 -2] ,2 , LineStyle , none , FaceColor , k )
64 area ([ xlim 2/ T max ( f reeSurfaceElev (: ,1) ) / T ] ,[ -2 -2] ,2 , LineStyle , none , FaceColor ,
k )
65 alpha (0.1)
66 xlim ([ min ( f reeSurfaceElev (: ,1) ) / T max ( f reeSurfaceElev (: ,1) ) / T ])
67 ylim ([ -2 2])
68 xlabel ( t / T [ -] )
69 ylabel ( \ zeta / \ zeta_a [ -] )
70 legend ( Stokes , Gauge 001 smoothed , Location , northoutside , Orientation , horizontal
)
71 % legend ( Gauge 001 , Gauge 003 , Gauge 002 , Location , northoutside , Orientation ,
horizontal )
72 L = get ( gca , tightin set );
73 set ( gca , position ,[ L (1) L (2) 0.99 - L (1) -L (3) 0.92 - L (2) -L (4) ]) ;
74
75 figure ( Name , Surface Elevation in Time Part , NumberTitle , off , units , normalized ,
position ,[0 1 .5 .5])
76 hold on
77 grid on
78 box on
79 set ( gca , FontSize ,18)
80 plot ( stokesT /T , stokesZ / zeta_a , k : , LineWidth ,2)
81 plot ( f reeSurfaceElev (: ,1) /T , f reeSurfaceElev (: ,2) / zeta_a , LineWidth ,2 , Color , colour
(5 ,:) )
82 plot ( f reeSurfaceElevUnfiltered (: ,1) /T , freeSurfaceElevUnfiltered (: ,2) / zeta_a , LineWidth
,1, Color , colour (5 ,:) )
83 xlim ([ xlim 1/ T xlim 2/ T ])
84 ylim ([ -2 2])
85 xlabel ( t / T [ -] )
86 ylabel ( \ zeta / \ zeta_a [ -] )
87 legend ( Stokes , Gauge 001 smoothed , Gauge 001 original , Location , northoutside ,
Orientation , horizontal )
88 L = get ( gca , tightin set );
89 set ( gca , position ,[ L (1) L (2) 1 - L (1) -L (3) 0.92 - L (2) -L (4) ]) ;
90
91 figure ( Name , Surface Elevation for Envelope Complete , NumberTitle , off , units ,
normalized , position ,[0 1 1 .5])
92 hold on
93 grid on
94 box on

96
APPENDIX

95 set ( gca , FontSize ,18)


96 plot ( f reeSurfaceEnv (: ,1) /T , freeSurfaceEnv (: ,2) / zeta_a , LineWidth ,2 , Color , colour (5 ,:) )
97 % plot ( f r e e S u r f a c e E n v Un f i l te r e d (: ,1) , f r e e Su r f a ce E n v Un f i l t e r e d (: ,2) / zeta_a , LineWidth ,1 ,
Color , colour (5 ,:) )
98 plot ( mintab (: ,1) /T , mintab (: ,2) / zeta_a , : , Color , colour (4 ,:) , LineWidth ,2) ;
99 plot ( maxtab (: ,1) /T , maxtab (: ,2) / zeta_a , : , Color , colour (4 ,:) , LineWidth ,2) ;
100 ylim ([ -2 2])
101 xlim ([ min ( f reeSurfaceEnv (: ,1) ) / T max ( f reeSurfaceEnv (: ,1) ) / T ])
102 xlabel ( t / T [ -] )
103 ylabel ( \ zeta / \ zeta_a [ -] )
104 legend ( Gauge 002 smoothed , Envelope , Location , northoutside , Orientation ,
horizontal )
105 L = get ( gca , tightin set );
106 set ( gca , position ,[ L (1) L (2) 1 - L (1) -L (3) 0.92 - L (2) -L (4) ]) ;
107
108 % _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _ _ __ _ _ _ reflection coe fficient
109 % ___ create envelope function
110 envUp = maxtab (: ,2) ;
111 envLo = mintab (: ,2) ;
112 xEnvUp = maxtab (: ,1) ;
113 xEnvLo = mintab (: ,1) ;
114
115 prompt = where does evaluation area start ? ;
116 minZone = input ( prompt ) ;
117 prompt = where does evaluation area end ? ;
118 maxZone = input ( prompt ) ;
119
120 area ([0 minZone ] ,[ -2 -2] ,2 , LineStyle , none , FaceColor , k )
121 area ([ maxZone max ( f reeSurfaceElev (: ,1) ) / T ] ,[ -2 -2] ,2 , LineStyle , none , FaceColor ,
k )
122 alpha (0.1)
123
124 % ___ find local extrema of envelope function
125 xEnvUp ( xEnvUp < minZone * T ) = NaN ; % detect points in zones to be neglected
126 xEnvUp ( xEnvUp > maxZone * T ) = NaN ; % detect points in zones to be neglected
127 xEnvLo ( xEnvLo < minZone * T ) = NaN ; % detect points in zones to be neglected
128 xEnvLo ( xEnvLo > maxZone * T ) = NaN ; % detect points in zones to be neglected
129 envUp ( all ( isnan ( xEnvUp ) ,2) ,:) =[]; % cut off points in detected zones
130 envLo ( all ( isnan ( xEnvLo ) ,2) ,:) =[]; % cut off points in detected zones
131 xEnvUp ( all ( isnan ( xEnvUp ) ,2) ,:) =[]; % cut off points in detected zones
132 xEnvLo ( all ( isnan ( xEnvLo ) ,2) ,:) =[]; % cut off points in detected zones
133 [ localmaxupperenvelope , localminupperenvelope ]= myPeakdet ( envUp , H /100 , xEnvUp , lambda /5) ;
% detect local extrema at upper envelope
134 [ localmaxlowerenvelope , localminlowerenvelope ]= myPeakdet ( envLo , H /100 , xEnvLo , lambda /5) ;
% detect local extrema at lower envelope
135
136 localma xupp eren velope ( lo calm axup peren velo pe (1 ,1) == min ( xEnvUp ) | localmaxupperenvelope ( end
,1) == max ( xEnvUp ) ,:) =[]; % cut off extrema that are wrongly detected at endpoints
137 localmi nupp eren velope ( lo calm inup peren velo pe (1 ,1) == min ( xEnvUp ) | localminupperenvelope ( end
,1) == max ( xEnvUp ) ,:) =[]; % cut off extrema that are wrongly detected at endpoints
138 localma xlow eren velope ( lo calm axlo weren velo pe (1 ,1) == min ( xEnvLo ) | localmaxlowerenvelope ( end
,1) == max ( xEnvLo ) ,:) =[]; % cut off extrema that are wrongly detected at endpoints
139 localmi nlow eren velope ( lo calm inlo weren velo pe (1 ,1) == min ( xEnvLo ) | localminlowerenvelope ( end
,1) == max ( xEnvLo ) ,:) =[]; % cut off extrema that are wrongly detected at endpoints
140
141 disp ( check if every Hmin and Hmax has a partner , if not delete unnecessary point and
copy paste all the following lines )
142 HmaxAll = diff ([ localmaxupperenvelope (: ,2) ; localminlowerenvelope (: ,2) ]) ;
143 HminAll = diff ([ localminupperenvelope (: ,2) ; localmaxlowerenvelope (: ,2) ]) ;
144 Hmax = mean ( HmaxAll ) ;
145 Hmin = mean ( HminAll ) ;
146 Hi =( Hmax + Hmin ) /2
147 Hr =( Hmax - Hmin ) /2
148 R = Hr / Hi

97
APPENDIX

149
150 figure ( Name , Surface Elevation for Envelope Part , NumberTitle , off , units ,
normalized , position ,[.5 .5 .5 .5])
151 hold on
152 grid on
153 box on
154 set ( gca , FontSize ,18)
155 plot ( f reeSurfaceEnv (: ,1) /T , f reeSurfaceEnv (: ,2) / zeta_a , LineWidth ,2 , Color , colour (5 ,:) )
156 % plot ( f r e e Su r f a ce E n v Un f i l te r e d (: ,1) /T , fr eeSur faceE nvUnf ilter ed (: ,2) / zeta_a , LineWidth
,1 , Color , colour (5 ,:) )
157 plot ( mintab (: ,1) /T , mintab (: ,2) / zeta_a , : , Color , colour (4 ,:) , LineWidth ,2) ;
158 plot ( l ocalmaxupperenvelope (: ,1) /T , l ocalmaxupperenvelope (: ,2) / zeta_a , * , markers ,12 ,
Color , colour (1 ,:) )
159 plot ( l ocalminupperenvelope (: ,1) /T , l ocalminupperenvelope (: ,2) / zeta_a , + , markers ,12 ,
Color , colour (1 ,:) )
160 plot ( l ocalmaxlowerenvelope (: ,1) /T , l ocalmaxlowerenvelope (: ,2) / zeta_a , + , markers ,12 ,
Color , colour (1 ,:) )
161 plot ( l ocalminlowerenvelope (: ,1) /T , l ocalminlowerenvelope (: ,2) / zeta_a , * , markers ,12 ,
Color , colour (1 ,:) )
162 plot ( maxtab (: ,1) /T , maxtab (: ,2) / zeta_a , : , Color , colour (4 ,:) , LineWidth ,2) ;
163 ylim ([ -2 2])
164 xlim ([ minZone maxZone ])
165 xlabel ( t / T [ -] )
166 ylabel ( \ zeta / \ zeta_a [ -] )
167 legend ( Gauge 002 smoothed , Envelope , Hmax , Hmin , Location , northoutside ,
Orientation , horizontal )
168 L = get ( gca , tightin set );
169 set ( gca , position ,[ L (1) L (2) 1 - L (1) -L (3) 0.92 - L (2) -L (4) ]) ;

A.3.3 Read Wave Properties - Evaluation

Code provided by katakgoreng, member of the CFD-online community (http://www.cfd-online.


com/Forums/openfoam-solving/100091-waves2foam-related-topics-27.html#post448920)
1 % %% code from kat akgoreng ( http :// www . cfd - online . com / Forums / openfoam - solving /100091 -
waves2foam - related - topics -27. html # post448920 )
2 function [ depth , period , height , waveNumber ]= readWavePropertiesFile ( pathname )
3
4 % OPEN & IMPORT OPENFOAM FREE SURFACE ELEVATION FILE
5 filename = [ pathname / constant / waveProperties ];
6 fileID = fopen ( filename , r ) ;
7
8 % SPECIFY SYMBOLS TO REMOVE
9 remThings = { ; ; ; ( ; ) };
10
11 % SPECIFY VARIABLES WE WANT TO EXTRACT
12 % * Note wavenumber is vector , we only get the 1 st value
13 specVar = { depth ; period ; height ; waveNumber };
14
15 while ~ feof ( fileID )
16 % READ ONE WHOLE LINE AT A TIME
17 string = fgetl ( fileID ) ;
18
19 % DISPLAY STRING
20 ... disp ( string )
21
22 % REMOVE THE SYMBOLS IN STRING
23 for i = 1: numel ( remThings )
24 % FIND THE LOCATION OF SYMBOLS IN STRING
25 expr = remThings ( i ) ;
26 [ matchstart ] = cell2mat ( regexpi ( string , expr ) ) ;
27 % REMOVE UNN ECESSARY SYMBOLS

98
APPENDIX

28 string ( matchstart ) = [];


29 end
30
31 % COMPARE AND GET VALUE FROM STRING
32 for i = 1: numel ( specVar )
33 % FIND THE VALUE OF VARIABLES
34 expr = specVar ( i ) ;
35 [ matchstart ,~ ,~ ,~ ,~ ,~ , splitstring ] = regexpi ( string , expr ) ;
36 % ASSIGN THE VALUE TO VARIABLES
37 if ~ isempty ( cell2mat ( matchstart ) )
38 temp = splitstring {1};
39 specVal ( i ) = str2double ( temp {2}) ;
40 end
41 end
42 end
43
44 % ASSIGN VARIABLES
45 depth = specVal (1) ;
46 period = specVal (2) ;
47 height = specVal (3) ;
48 waveNumber = specVal (4) ;
49
50 % CLOSE FILE
51 fclose ( fileID ) ;
52 end

99

Das könnte Ihnen auch gefallen