ESYSWAMIT user guide#

When modelling floating structures in waves, it is common to obtain the hydrodynamic properties through radiation-diffraction theory. One of the most widely used commercial codes for such purpose is WAMIT, developed at MIT.

HAWC2 can handle WAMIT outputs and use them to represent hydrodynamic loads on e.g. floating wind turbines. The interface that couples the WAMIT output to the time-domain HAWC2 model is called ESYSWAMIT. This guide explains the ESYSWAMIT interface, including coordinate systems, how to set up the inputs, and the list of output channels. The reader is assumed to have some knowledge of radiation-diffraction theory in general, and some experience with WAMIT in particular. In the WAMIT website there are several resources including manuals, theory and more.

Coordinate systems#

WAMIT, ESYSWAMIT and HAWC2 all use different global coordinate systems, as illustrated in Figure 1.

_images/hawc2-wamit-coordinate-systems.png

Different coordinate systems. The wave propagates in the positive \(y\) direction in the HAWC2 coordinate system.#

Due to the different coordinate systems, the same wave heading direction \(\beta\) (deg) is defined differently and according to:

(1)#\[\beta_{\mathrm{ESYSWAMIT}} = \beta_{\mathrm{WAMIT}} - 180\]
(2)#\[\beta_{\mathrm{HAWC2}} = -\beta_{\mathrm{WAMIT}}\]

For example, a 30 deg wave heading in WAMIT would correspond to -30 deg in HAWC2 and to -150 deg (or 210 deg) in ESYSWAMIT.

Running WAMIT#

Instructions on how to run a WAMIT analysis are out of the scope of this guide. However, here we point at specific points to take into account when running a WAMIT analysis with the purpose of coupling it to HAWC2.

  • Center of gravity: the hydrostatic stiffness of a floating body in pitch and roll depends on the \(z\) coordinate of the global center of gravity, \(z_g\). However, the hydrostatic properties are internally corrected by ESYSWAMIT to include the effect of the global \(z_g\) (including tower, rotor, etc.). Thus, for consistency the WAMIT analysis should be carried out with \(z_g=0\).

  • Coordinate system: for the reasons explained in Section Coordinate systems, the floater in the WAMIT setup must be rotated 180 deg around the \(z\) axis. Consequently, the desired wave headings must be offset according to ((1)). For example, if the original WAMIT analysis was to be carried out for \(\beta_{WAMIT}=0\), after rotating the floater in WAMIT by 180 deg around \(z\) the analysis should be carried out for \(\beta_{WAMIT}=180\).

Once the WAMIT analysis is completed, the following files will be needed by ESYSWAMIT:

  • The .hst file, which contains the hydrostatic restoring matrix.

  • The .1 file, which contains the frequency-dependent radiation matrices (added mass and damping).

  • The .3 file, which contains the frequency- and wave direction-dependent transfer function from free-surface elevation to wave loads.

For rapid visualization of WAMIT panels and output data, we recommend the open-source tool BEMRosetta.

Running HAWC2 with ESYSWAMIT#

Obl.

Command name

Explanation

*

begin ext_sys

First line in ESYSWAMIT.

*

module ESYSWamit

Module ID (fixed)

*

name floater

Name of system used as reference

*

dll esyswamit.dll

DLL file

*

ndata <n>

Number of data input lines below including “data END”

*

data WAMIT_FILE <s>

path to WAMIT files

*

data GRAVITY <g>

Gravity acceleration [m/s\(^2\)]

*

data DENSITY <\(\rho\)>

Water density [kg/m\(^3\)]

*

data TIME_STEP <dt>

Global time step [s]

*

data MASS <m>

Mass of floating substructure (including ballast) [kg]

*

data COG <x> <y> <z>

Center of gravity coordinates [m]

*

data BUOY <F_B>

Buoyancy force [N]

*

data COB_XY <x> <y>

Center of Buoyancy (x,y) coordinates [m]

*

data RIJ_COG <i> <j> <RIJ>

Radii of gyration (relative to COG) J(i,j) = MASS * ABS( RIJ ) * RIJ

*

data INI_POS <x> <y> <z>

Initial position [m]

*

data INIT_ROT <x> <y> <z>

Initial rotation [deg]

*

data STIF <i> <j> <K(i,j)>

Linear stiffness coefficient, so that the external FORCE(i) += -K(i,j)*X(j)

*

data DAMP <i> <j> <C(i,j)>

Linear drag/damping coefficient, so that the external FORCE(i) += -C(i,j)*V(j)

*

data QUAD_DRAG <i> <j> <QC(i,j)>

Quadratic drag coefficient, so that the external FORCE(i) += -QC(i,j)*ABS(V(j))*V(j)

*

data IRF_TIME_SPAN <T_irf>

Truncation time for radiation/diffraction IRF functions [s]. Note that both the first and last 2*IRF_TIME_SPAN should be discarded from the simulation.

*

data WAVE_DIR <beta>

Wave direction (0 deg: Going in the X-direction, 90 going in in Y-direction, etc.) (Default = 0 deg)

*

data DUMP_FILE_PREFIX <s>

prefix for dump of radiation/diffraction files

*

data DIFFRACTION_METHOD <s>

Calculation method of diffraction force. Options:

*

“IRF_0” = convolution using wave at the initial position (default)

*

“IRF_1” = convolution using wave at the instantaneous position

*

“FFT_0” = pre-generated using IFFT

*

data INCLUDE_QTF <SUM> <DIFF> <fcut>

Include sum-frequency QTF; Include difference-frequency QTF; Cut-off Frequency

*

data END

MUST be the last line in the input block

*

end ext_sys

Last line in ESYSWAMIT.

Adding drag loads#

If inertia loads on a submerged member are already modelled through WAMIT, then HAWC2 must only add viscous drag loads through the Morison equation. To disable the inertia Morison loads, the following must be done in the corresponding sec command of the hydro_element block:

Column

Description

Value

2

added mass coefficient, \(C_a\)

-1

4

cross-sectional area, \(A\)

\(\tfrac{\pi}{4}D^2\)

5

cross-sectional area for \(C_a\), \(A_r\)

\(\tfrac{\pi}{4}D^2\)

6

width or diameter, \(D\)

\(D\)

9

axial added mass coefficient, \(C_{a,ax}\)

0

11

internal cross-sectional area, \(S_i\)

\(\tfrac{\pi}{4}D^2\)

Floater visualization#

It is now possible to visualize the floater in the HAWC2Visualization tool. HAWC2 currently supports only one mesh format, namely the .stl binary files. A specification for the format is available f.ex. here. You can easily export the geometry from any CAD program. If a different mesh format is required, please file a feature request.

For a successful use of this functionality, it must be noted that:

  • The mesh coordinates need to be stored in the WAMIT coordinate system, see Figure 1 for further specifications.

  • The .stl file needs to have the same name of the files specified via the data WAMIT_FILE <s> command.

  • The file needs to be in the folder before the simulation is run, as the ESYSWamit is storing the coordinates of the mesh in the HDF5 file produced by the visualization command from the simulation block.

  • To visualize the floater, you need to have version 0.8.1 of the HAWC2Visualization tool, and at least version 12.9.15 of HAWC2MB.

ESYSWAMIT output channels#

The ESYSWAMIT output comes in blocks of 6 corresponding to the 6 states (3 displacements and 3 rotations) of the floater, in the following order: floater motion (displacement, velocity, acceleration), loads (radiation, diffraction, sum QTF, diff QTF, total QTF, constraint, drag), and free-surface elevation.

The QTF channels only exist if the QTF option is enabled. The constraint force is the sum all external constraint forces, e.g. if you have 3 mooring lines and a tower structure connected, it will be the sum of those four force/moment contributions. In total one would have 6\(\times\)7+1=43 channels if QTF is disabled (see Section Channel list without QTF), or 6\(\times\)10+1=61 channels if QTF is enabled (see Section Channel list with QTF).

Note also that the ESYSWAMIT output is given in the ESYSWAMIT coordinate system, which is different from the HAWC2 coordinate system.

Channel list without QTF#


  
ESYS floater SENSOR	1	surge 	displacement
ESYS floater SENSOR	2	sway  	displacement
ESYS floater SENSOR	3	heave 	displacement
ESYS floater SENSOR	4	roll  	displacement
ESYS floater SENSOR	5	pitch 	displacement
ESYS floater SENSOR	6	yaw  	displacement

ESYS floater SENSOR	7	surge 	velocity
ESYS floater SENSOR	8	sway  	velocity
ESYS floater SENSOR	9	heave 	velocity
ESYS floater SENSOR	10	roll  	velocity
ESYS floater SENSOR	11	pitch 	velocity
ESYS floater SENSOR	12	yaw  	velocity

ESYS floater SENSOR	13	surge 	acceleration
ESYS floater SENSOR	14	sway  	acceleration
ESYS floater SENSOR	15	heave 	acceleration
ESYS floater SENSOR	16	roll  	acceleration
ESYS floater SENSOR	17	pitch 	acceleration
ESYS floater SENSOR	18	yaw  	acceleration

ESYS floater SENSOR	19	surge 	radiation force
ESYS floater SENSOR	20	sway  	radiation force
ESYS floater SENSOR	21	heave 	radiation force
ESYS floater SENSOR	22	roll  	radiation moment
ESYS floater SENSOR	23	pitch 	radiation moment
ESYS floater SENSOR	24	yaw  	radiation moment

ESYS floater SENSOR	25	surge 	diffraction force
ESYS floater SENSOR	26	sway  	diffraction force
ESYS floater SENSOR	27	heave 	diffraction force
ESYS floater SENSOR	28	roll  	diffraction moment
ESYS floater SENSOR	29	pitch 	diffraction moment
ESYS floater SENSOR	30	yaw  	diffraction moment

ESYS floater SENSOR	31	surge 	constraint force
ESYS floater SENSOR	32	sway  	constraint force
ESYS floater SENSOR	33	heave 	constraint force
ESYS floater SENSOR	34	roll  	constraint moment
ESYS floater SENSOR	35	pitch 	constraint moment
ESYS floater SENSOR	36	yaw  	constraint moment
           
ESYS floater SENSOR	37	free-surface elevation 

Channel list with QTF#

													

ESYS floater SENSOR	1	surge 	displacement							
ESYS floater SENSOR	2	sway 	displacement              
ESYS floater SENSOR	3	heave 	displacement              
ESYS floater SENSOR	4	roll 	displacement              
ESYS floater SENSOR	5	pitch 	displacement              
ESYS floater SENSOR	6	yaw  	displacement              
                                    
ESYS floater SENSOR	7	surge 	velocity                
ESYS floater SENSOR	8	sway 	velocity                
ESYS floater SENSOR	9	heave 	velocity                
ESYS floater SENSOR	10	roll 	velocity                
ESYS floater SENSOR	11	pitch 	velocity                
ESYS floater SENSOR	12	yaw  	velocity                
                                    
ESYS floater SENSOR	13	surge 	acceleration              
ESYS floater SENSOR	14	sway 	acceleration              
ESYS floater SENSOR	15	heave 	acceleration              
ESYS floater SENSOR	16	roll 	acceleration              
ESYS floater SENSOR	17	pitch 	acceleration              
ESYS floater SENSOR	18	yaw  	acceleration              
                                    
ESYS floater SENSOR	19	surge 	radiation force             
ESYS floater SENSOR	20	sway 	radiation force             
ESYS floater SENSOR	21	heave 	radiation force             
ESYS floater SENSOR	22	roll 	radiation moment            
ESYS floater SENSOR	23	pitch 	radiation moment            
ESYS floater SENSOR	24	yaw  	radiation moment            
                                    
ESYS floater SENSOR	25	surge 	diffraction force            
ESYS floater SENSOR	26	sway 	diffraction force            
ESYS floater SENSOR	27	heave 	diffraction force            
ESYS floater SENSOR	28	roll 	diffraction moment           
ESYS floater SENSOR	29	pitch 	diffraction moment           
ESYS floater SENSOR	30	yaw  	diffraction moment           
                                    
ESYS floater SENSOR	31	surge 	sum QTF force              
ESYS floater SENSOR	32	sway 	sum QTF force              
ESYS floater SENSOR	33	heave 	sum QTF force              
ESYS floater SENSOR	34	roll 	sum QTF moment             
ESYS floater SENSOR	35	pitch 	sum QTF moment             
ESYS floater SENSOR	36	yaw  	sum QTF moment             
                                    
ESYS floater SENSOR	37	free-surface elevation 

ESYS floater SENSOR	38	surge 	diff QTF force             
ESYS floater SENSOR	39	sway 	diff QTF force             
ESYS floater SENSOR	40	heave 	diff QTF force             
ESYS floater SENSOR	41	roll 	diff QTF moment             
ESYS floater SENSOR	42	pitch 	diff QTF moment             
ESYS floater SENSOR	43	yaw  	diff QTF moment             
                                    
ESYS floater SENSOR	44	surge 	total QTF force             
ESYS floater SENSOR	45	sway 	total QTF force             
ESYS floater SENSOR	46	heave 	total QTF force             
ESYS floater SENSOR	47	roll 	total QTF moment            
ESYS floater SENSOR	48	pitch 	total QTF moment            
ESYS floater SENSOR	49	yaw  	total QTF moment            
                                    
ESYS floater SENSOR	50	surge 	constraint force            
ESYS floater SENSOR	51	sway 	constraint force            
ESYS floater SENSOR	52	heave 	constraint force            
ESYS floater SENSOR	53	roll 	constraint moment            
ESYS floater SENSOR	54	pitch 	constraint moment            
ESYS floater SENSOR	55	yaw  	constraint moment            
                                    
ESYS floater SENSOR	56	surge 	drag force            
ESYS floater SENSOR	57	sway 	drag force            
ESYS floater SENSOR	58	heave 	drag force            
ESYS floater SENSOR	59	roll 	drag moment            
ESYS floater SENSOR	60	pitch 	drag moment            
ESYS floater SENSOR	61	yaw  	drag moment