Wamit Manual
Wamit Manual
Wamit Manual
WAMIT
USER MANUAL
Versions 6.3, 6.3PC, 6.3S, 6.3S-PC
WAMIT, Inc.
www.wamit.com
R
WAMIT
USER MANUAL
Versions 6.3, 6.3PC, 6.3S, 6.3S-PC
This User Manual has been prepared for users of WAMIT Version 6.3, including the sourcecode Version 6.3, and the PC executable Version 6.3PC, and the second-order extension
V6.3S.
WAMIT is distributed by WAMIT, Inc. under a special agreement with the Massachusetts
Institute of Technology. Further information is available from the website shown below.
The WAMIT software and this User Manual are Copyrighted by WAMIT, Inc., and by
the Massachusetts Institute of Technology. The User Manual can be downloaded from
the website without a license, and individuals are permitted to make one hardcopy of the
entire manual, or portions thereof, for use in conjunction with the WAMIT demonstration
program. A hardcopy of the User Manual is provided to licensed users.
WAMIT, Inc.
822 Boylston St. Suite 202
Chestnut Hill, MA 02467-2504
USA
phone 617-739-4488 fax 617-739-4499
www.wamit.com
01
02
TABLE OF CONTENTS
1. INTRODUCTION
1.1
1.2
1.3
1.4
1.5
WAMIT Version 6
Changes in WAMIT Version 6.0
Additional changes in Version 6.1
Additional changes in Version 6.2
Additional changes in Version 6.3
2. GETTING STARTED
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
3. USING WAMIT
3.1 The Potential Control File (Alternative form 1)
3.2 The Potential Control File (Alternative form 2)
3.3 The Force Control File (Alternative form 1)
3.4 The Force Control File (Alternative form 2)
3.5 Denition of xed or free modes
3.6 Filenames list FNAMES.WAM
3.7 Conguration le CONFIG.WAM or .CFG
3.8 File names
3.9 File format
3.10 Uniform arrays of eld points
4. DEFINITION OF QUANTITIES EVALUATED BY WAMIT
4.1 Hydrostatic data
4.2 Added-mass and damping coecients
4.3 Exciting forces
4.4 Body motions in waves
4.5 Hydrodynamic pressure
4.6 Free-surface elevation
4.7 Velocity vector on the body and in the uid domain
4.8 Mean drift force and moment
4.9 Format of numeric output les
4.10 Body pressure output for the higher-order method
4.11 Body pressure and uid velocity at specied points
4.12 Radiation and diraction components of the pressure and velocity
4.13 Radiation pressure and velocity for zero and innite periods
03
Input Files
Using DEFMOD with the Low-Order Method
Using the DLL Subroutine NEWMODES
Hydrostatics
NBODY Analysis
04
12. THEORY
12.1
12.2
12.3
12.4
12.5
12.6
12.7
12.8
12.9
12.10
12.11
REFERENCES
05
06
Chapter 1
INTRODUCTION
This manual describes the use of WAMIT (Version 6.3). This program exists in the standard source-code form, designated as V6.3, and in the PC-executable version V6.3PC
which is logically equivalent to V6.3. A chapter concerning the use of the secondorder extension V6.3S is included for completeness. V6.3S includes the analysis for the
second-order solution in bichromatic and bidirectional waves, including sum- and dierencefrequency components.
V6.3 is a radiation/diraction panel program developed for the linear analysis of the
interaction of surface waves with oshore structures. A major feature of V6.0 and higher
is the option to use a higher-order method based on B-splines to represent the velocity
potential and pressure on the body surface, and to represent the geometry of the body
surface in various manners. In addition to the conventional low-order panel discretization,
these include new options to represent the body surface more accurately and/or with less
work.
In V6.1, an option was introduced to link WAMIT with the Relational Geometry Kernel
(RGKernel) of the CAD program MultiSurf With this option MultiSurf can be used to
represent a wide variety of body geometries, and the same respresentation can be input
directly in the higher-order solution of WAMIT. With this technique there is no need to
approximate the geometry or to prepare extensive input les. (To take advantage of this
approach the user must license MultiSurf and special .DLL les in addition to the standard
WAMIT software.)
Starting in V6.2, a separate utility program, F2T (Frequency-to-Time domain), has
been provided. F2T evaluates time-domain impulse-response functions (IRFs), from the
outputs of WAMIT. IRFs can be evaluated for any combinations of linear outputs options
1-7 described in Chapter 4. IRFs may be useful for the time-domain simulation based on
the linear hydrodynamic loads and other nonlinear constraints or excitations.
The execution of WAMIT has been simplied relative to earlier versions where two main
programs (POTEN and FORCE) were invoked sequentially. In Version 6.0 and higher
only one main program WAMIT is used, with options to control the separate functions
of the earlier two programs in the most eective manner for each application.
11
The remainder of this Chapter gives a general description of WAMIT Version 6.3 and
changes made from earlier versions. Users of earlier versions should refer particularly to
Sections 1.2, 1.3, 1.4, and 1.5 concerning changes and extensions introduced in Versions
6.0, 6.1, 6.2, and 6.3, respectively. A mark in the left margin, as on this line, is used to
call attention to changes in Version 6.3.
The description and use of WAMIT for both the low-order and higher-order methods
of solution has been unied as much as possible. Most but not all of the input and output
les are generic, applicable to both methods in the same form. The principal exception is
the Geometric Data File, which species the geometry of the body surface. To simplify the
understanding and use of this User Manual, chapters are organized separately for generic
information common to both methods, and for specic information which refers to either
the low- or higher-order method separately.
In Chapter 2 a tutorial description is given to help the user get started using WAMIT
in the PC environment. Source-code users may also benet by reading this tutorial, or
following the indicated examples on a PC. The examples described in Chapter 2 are for
the simplest context of a single body.
Chapter 3 gives more detailed information regarding the generic input les, including the
Potential Control File (POT) and Force Control File (FRC) which specify the principal
non-geometric inputs for WAMIT. Also described in this Chapter are the optional les
FNAMES.WAM and CONFIG.WAM, which are useful to specify input lenames and to
specify various options.
Chapter 4 denes the various quantities which can be evaluated by WAMIT, and which
are contained in the output les.
Chapter 5 describes special topics which are relevant only to the low-order method. This
includes the Geometric Data File (GDF), which denes the coordinates of panel vertices,
the use of the source formulation to evaluate the uid velocity and second-order mean
pressure on the body surface, the analysis of a body in the presence of vertical walls, and
the analysis of bodies with thin elements such as damping plates or strakes.
Chapter 6 describes special topics which are relevant only to the higher-order method,
including the subdivision used to represent the body surface and velocity potential on this
surface, and the representation of the potential in terms of B-splines. Alternative methods
for dening the body geometry are described including the use of low-order panels, the use
of B-splines to provide a higher-order continuous denition, the use of explicit analytical
formulae, and the use of MultiSurf geometry les. Starting with V6.2 WAMIT permits
dipole patches to represent thin submerged elements and their use is described in Section
6.10.
Chapters 7-9, which are generic, describe the use of extended features in WAMIT. These
include the analysis of multiple interacting bodies (Chapter 7). the use of generalized modes
of body motion which can be used to describe structural deformations, motions of hinged
bodies, etc. (Chapter 8), and the use of a method to remove the eect of the irregular
frequencies (Chapter 9).
Chapter 10 describes the relationships between memory requirements, numbers of un12
knowns, and input parameters, to provide a qualitative basis for estimating the requirements for RAM and hard disk storage, and for estimating run times. This Chapter also
outlines the procedure for modication and use of .dll les, which can be used in Version
6 to describe the geometry and generalized modes.
Chapter 11 describes the second-order module V6.3S, including descriptions of the additional input les and denitions of the additional outputs.
A brief outline for the theoretical basis of WAMIT is presented in Chapter 12. Reference
26 contains a more complete review of the pertinent theory.
Chapter 13 describes the utility F2T (Frequency-to-Time domain) which can be used to
transform the linear WAMIT outputs to the corresponding time-domain impulse-response
functions.
A list of pertinent references and descriptions of the test runs are appended.
1.1
WAMIT Version 6
the usual conventions of marine hydrodynamics, first-order and second-order are always
used here to refer to linearization of the boundary conditions and solution, whereas loworder and higher-order are used to refer to the method for representation of the body
surface and solution.
The following quantities can be evaluated by WAMIT Version 6.3:
Hydrostatic coecients
Added-mass and damping coecients for all modes
Added-mass coecients for the limiting cases of zero or innite wave periods
Wave exciting forces and moments using the Haskind relations, or directly by
pressure-integration from the solutions of the diraction or scattering problems.
Motion amplitudes and phases for a freely-oating body
Forces restraining a body which is freely-oating in some but not all modes
Hydrodynamic pressure and uid velocity on the body surface
Hydrodynamic pressure and uid velocity in the uid domain
Free-surface elevation
Horizontal drift forces and mean yaw moment by momentum integration
All quantities listed above for user-specied generalized modes
All components of the drift force and moment by pressure integration
Drift force and moment in bidirectional waves
The following additional quantities can be evaluated by WAMIT Version 6.3S:
Second-order forces on xed or oating bodies
Second-order pressure on the body surface
Second-order pressure force on the waterline
Second-order pressure in the uid domain
Second-order free-surface elevation
Second-order motion amplitude on oating bodies
Two, one or no planes of geometric symmetry may be present. Part or all of the rigidbody modes can be analyzed. The program is designed to optimize the use of the available
storage and minimize the computational eort for the specied planes of symmetry and
modes. Matrix elements that share evaluations of the wave source potential are evaluated
simultaneously.
14
Several techniques have been developed and implemented in WAMIT to improve the
accuracy and eciency of the solution and exploit the capabilities of a wide range of
contemporary computing systems, ranging from personal computers to supercomputers.
Important features of WAMIT include the use of special algorithms for the evaluation of
the free-surface wave-source potential, the option to use direct, iterative, or block-iterative
solution algorithms for the complex matrix equation, and the option to use either the loworder or higher-order panel methods. In combination these result in a fast, versatile, and
robust code capable of analyzing oshore structures with complicated geometry.
WAMIT is designed to be exible in its use with a variety of practical applications. It
consists of two subprograms, POTEN and FORCE, which normally are run sequentially.
POTEN solves for the radiation and diraction velocity potentials (and source strengths)
on the body surface for the specied modes, frequencies and wave headings. FORCE
computes global quantities including the hydrodynamic coecients, motions, and rstand second-order forces. Velocities and pressures on the body surface are evaluated by
FORCE. Additional eld data may also be evaluated by FORCE, including velocities and
pressures at specied positions in the uid domain and wave elevations on the free surface.
Since the principal computational burden is in POTEN, the intermediate output data from
this subprogram is saved in a binary P2F le. Thus it is possible to make several runs
with FORCE, varying the requested parameters to be output, without re-running POTEN
in each instance. (V6.3S is an exception where the computational burden in FORCE can
be greater than that in POTEN.)
In Version 6 the separate functions of POTEN and FORCE have been integrated into
a single main program WAMIT, for ease of use. This diers from all prior versions where
two separate main programs were employed. The use of Version 6 is initiated in all cases
by executing the single command WAMIT. This integration simplies the use of WAMIT
in typical applications where POTEN and FORCE are required sequentially, and options
can be specied in the conguration le to perform separate runs of either subprogram, as
explained in Chapter 2 and in Section 3.7.
Figure 1.1 shows the architecture of the two subprograms and the principal input/output
les. (For simplication this gure does not include additional input les required for the
case of multiple bodies, the optional spline control le which may be used to vary B-spline
parameters in the higher-order analysis, additional input les which are required for the
second-order analysis program V6.3S, and three output les which log errors, warnings,
and other auxiliary data.)
The analysis for the generalized modes also requires an additional input le or special
subroutine, to dene the user-specied modes. Figure 9.1 in Chapter 9 shows the ow
chart of POTEN for this case.
WAMIT Version 6 is written in FORTRAN-90 (ANSI/ISO Standard) and has been
tested on a wide variety of contemporary computer systems. The subroutine DATTIM,
which is used to set the date and time of the run, uses a generic F-90 intrinsic function
and no longer requires modication of the source code for use on dierent systems. The
only non-standard extension which has been retained from previous versions of WAMIT is
the dollar-sign prompt $, which facilitates interactive data input. Source-code users who
15
gdf
pot
GDF(gdf)
OR
POTEN
POT(pot)
pot.P2F
FNAMES.WAM
gdf
pot
frc
CONFIG.WAM
FORCE
OR
FRC(frc)
pot
frc
frc.OUT
frc.*
Figure 1.1: Flow chart of WAMIT showing the subprograms POTEN and FORCE with their associated
input and output files. Filenames in italics are specified by the user. The three primary input files
described in Chapters 3, 5, and 6 are indicated in the left-hand column. The names of these files are
prescribed either by the optional file FNAMES.WAM, or by the interactive inputs represented by the top
and bottom arrows in the right-hand column. Note that the P2F file output from POTEN is given the
same filename as the input control file, with the extension P2F. The output file from FORCE is given the
same filename as the force control file, with the extension OUT. The P2F file may be saved and reused for
various applications of the FORCE module where the same velocity potentials apply. Asterisks () denote
the extensions corresponding to each option in the numeric output files, as listed in the table in Section
3.3.
16
are not able to use this extension should remove the symbol $ by editing the source le
RDFILESC.F.
The source code of WAMIT assumes the use of a PC-based Windows/DOS operating
system. README.TXT contains information regarding system requirements and conguration to run the PC-executable version of WAMIT. Appropriate modications of the
source code may be necessary for all other compilers.
1.2
In relation to WAMIT Version 5.4, new features which aect the use of Version 6 are
outlined below. For users familiar with versions of WAMIT prior to V5.4, and earlier
versions of the higher-order code HIPAN, additional changes are also listed below. More
detailed information is provided in the subsequent chapters as indicated.
The main program WAMIT includes POTEN and FORCE as subprograms.
The new input parameter ILOWHI has been added to control the use of the low- or
higher-order panel methods.
Alternative options have been introduced to specify the input lenames.
Faster algorithms have been implemented to reduce redundant evaluations of the
Green function.
In the low-order method, some or all of the body panels can be dened to represent
thin plates or appendages of small thickness, such as damper plates or strakes.
For generalized modes the mode shapes can be specied in a separate .dll le.
In the higher-order method the geometry can be specied by B-splines, explicit algorithms, or at panels.
Explicit algorithms to specify the geometry can be included in a .dll le, and related
body dimensions can be specied in the .gdf input le. Several dierent generic types
of bodies can be analyzed simply by inputting the relevant dimensions, without the
eort required to prepare a conventional panelization.
New parameters IALTPOT and IALTFRC have been included to provide a more
unied and exible range of input formats.
Version 6.0PC has been compiled with the Compaq Digital Fortran compiler, optimized for use on PC systems with the Pentium CPU.
In relation to WAMIT Version 5.3, additional new features which were incorporated in
Version 5.4 also apply to Version 6.0 as outlined below.
17
All restrictions on the maximum number of inputs are removed. In V6.0 all of the
relevant arrays are dimensioned at run time. In practice there may be practical
limitations, e.g. regarding the number of panels, depending on the memory and disk
capacity of the hardware and on the run time, but these limits will generally be much
larger than in earlier versions.
A new direct-solver subroutine has been utilized. This substantially reduces the run
time when the direct solution method (ISOLVE=1) or block-iteration (ISOLVE>1)
are used.
The PC-executable code is compiled in a generic form for all licensed users, and specic
licensees are identied by including a special binary input le userid.wam. This le
must be available for input during the WAMIT runs. Provision has been made in the
config.wam le to permit users to access this input le from a specied sub-directory,
as explained in Section 3.9; this option avoids the need to copy userid.wam to all
directories where WAMIT is used.
Provision has been made in the conguration le (config.wam or *.cfg) to permit
users to specify a dierent sub-directory or drive for scratch storage of large arrays,
as explained in Section 3.9. This option eectively doubles the maximum limit on
available disk memory for systems with multiple hard drives and/or partitions.
The warning and error messages have been extended to provide more specic information concerning errors in input les.
A new optional input array has been added to the .frc control le, as explained in
Sections 3.3 and 3.4. This permits the user to specify that some or all of the modes
selected in the inputs to POTEN are restrained with zero amplitude, and to re-run
the FORCE subprogram alone. (Previously this required re-running POTEN without
such modes.)
Optional output les can be used to generate low-order GDF les and to generate
data les for perspective plots of the panels and/or patches.
In relation to the higher-order code HIPAN Version 2, additional new features which
are incorporated in WAMIT Version 6.0 are listed below. These features are described in
Chapter 6.
Options exist to dene the B-spline parameters automatically, to achieve a specied
maximum panel size.
Multiple bodies with separate planes of symmetry can be input, with automatic reection of the geometry.
In the higher-order method the geometry can be specied by B-splines, explicit algorithms, or at panels.
Body geometry for barges and similar structures can be dened using a minimum
number of at quadrilateral elements, with the same input format as for the loworder analysis.
18
Explicit algorithms to specify the geometry can be specied in a .dll le and related
body dimensions can be specied in the .gdf input le.
Filenames for the .gdf les and related data can be input either in the .pot le, as in
HIPAN, or in the same format as used in earlier versions of WAMIT.
1.3
New features which are included in Version 6.1 are outlined below.
Arrays of uniformly spaced wave periods and heading angles can be input more compactly in the Potential Control File, by specifying the number, rst value, and increment (see Section 3.1).
The conguration le CONFIG.WAM can be assigned a dierent lename, dened by
the user, with the extension .CFG (see Section 3.7).
In the higher-order method, the default points for hydrodynamic pressure on the body
surface are modied, as described in Section 4.10.
The hydrodynamic pressure on the body surface can be evaluated at user-specied
points (x, y, z) which are listed in a special input le. This extension, which is available in both the low-order and higher-order solutions, facilitates the integration of
WAMIT with structural-analysis codes where the hydrodynamic pressure is required
at specied locations. This procedure is described in Section 4.11.
The separate components of the hydrodynamic pressure on the body surface due to
each of the radiation modes and due to the diraction eld can be output separately.
This extension is useful for post-processing when the dynamics of the body are modied. This procedure is described in Section 4.12.
In the higher-order solution method geometry models developed with MultiSurf can
be used directly in WAMIT. This procedure is described in Section 6.7.
One or two additional .dll les are required to run Version 6.1PC (see Sections 2.1
and 6.7)
The second-order extension has been updated to include both the low-order and
higher-order methods of solution, and to include other features of the V6 rst-order
code. Chapter 11 contains a description of these features.
19
1.4
New features which are included in Version 6.2 are outlined below.
Internal tanks with free surfaces can be analysed either separately or coupled with
the dynamics of vessels. (See Section 10.7)
Impulse response functions (IRFs) in the time domain can be evaluated for the output
options 1-7 using a utility program F2T. F2T is provided as a separate program along
with WAMIT V6.2. F2T converts the outputs of WAMIT into IRFs using Fourier
transforms. (See Chapter 13 and TEST 14A in Appendix A14.)
In addition to the added mass and damping, the pressure and the uid velocity on the
body surface (Option 5) and at the eld points (Options 6 and 7) can be evaluated
for zero and innite wave frequencies (Section 3.1).
The domain of the parameters for B-Splines representing the body surface is no longer
limited to (1, 1) and B-Splines dened over an arbitrary domain can be accepted.
(Section 6.6)
Zero and innite frequencies can be specied with IRR > 0 (irregular frequency removal option), which was not permitted in the previous version. IRR > 0 is ignored
for these two frequencies. This update enables users to run these frequencies with
other frequencies in one execution of WAMIT. (Section 3.1)
The subroutine FGR0I1, evaluating the Rankine source in two parallel horizontal
walls, is extended to calcuate double derivatives and renamed as FGR0I2. This extension is necessary to evaluate the uid velocity at zero and innite frequencies when
IOPTION(7)=1.
The separate components of the hydrodynamic pressure and the uid velocity at the
eld points due to each of the radiation modes and due to the diraction eld can be
output separately. This extension is useful for post-processing when the dynamics of
the body are modied. This procedure is described in Section 4.12.
In the higher-order method, some or all of the body surface can be dened to represent
thin structures (see Section 6.10). Similar extension was made in conjuction with the
low-order method in V6.0.
Mean drift forces by pressure integration on the rigid bodies can be evaluated when
the generalized modes are used on other bodies in multi-body interaction. This option
was not supported in previous versions.
A new output le wamitlog.txt is created during the WAMIT run to provide an
archival record of the run, including copies of the principal input les, and various
auxiliary information. Further information is provided in Section 10.1.
110
1.5
New features which are included in Version 6.3 are outlined below.
Uniform arrays of eld points can be input in a more convenient manner. (See Section
3.10)
A special option can be used to eciently analyze the wave eld generated by one or
more wavemakers situated in planes of symmetry. (See Section 10.8)
All six components of the mean drift forces and moments can be evaluated from the
momentum ux through a control surface surrounding the body.
A symmetry plane can be used when there are at dipole elements on the plane of
symmetry. (See Section 5.4 and Section 6.10)
A supplementary output le out.hst is created to output the hydrostatic matrix of
restoring coecients, including generalized modes and/or tanks. (See Sections 4.9,
8.4, and 10.7.)
The DLL library le GEOMXACT has been extended to include several new analytical
geometries.
The DLL library le NEWMODES has been extended to include generalized modes
to represent a bank of paddle-type wavemakers, and to represent the vertical modes
of a vessel with hinges.
111
Chapter 2
GETTING STARTED
In this Chapter instructions are provided for installing the WAMIT-PC software, and
making simple test runs.
The two principal subprograms of WAMIT are POTEN and FORCE. POTEN solves
for the velocity potential on the body surface, and optionally also for the source strength.
FORCE evaluates physical parameters including the force and motion coecients, and eld
data including the uid pressure, velocity, and free-surface elevation. The basic sequence
in a typical application of WAMIT is (1) prepare the input les; (2) run WAMIT. The principal results are then contained in output les which may be printed and post-processed.
This architecture is illustrated in Figure 1.1.
The principal input les to the subprogram POTEN are the Potential Control File
(POT) which species parameters including the uid depth, wave periods, and wave heading angles, and the Geometric Data File (GDF), which describes the geometry of the
structure to be analyzed. These les are discussed briey below, and in more detail in
subsequent Chapters. The principal input les to the subprogram FORCE are the Force
Control File (FRC), which species inputs regarding the body dynamics, and the P2F le
(Poten to Force) which transfers data from POTEN to FORCE.
There are three additional input les which should also be considered: (1) Licensed
users of WAMIT V6PC must utilize a unique input le userid.wam, which identies the
site license, (2) the optional input le fnames.wam is recommended to specify the input
lenames, and (3) the optional conguration le (config.wam or *.cfg) may be used to
specify certain options and other information used by the program. The le userid.wam is
provided by WAMIT Inc. Samples of the fnames.wam and conguration les are included
with the test runs; for example the les fnames.1 and config.1 are intended for use with
TEST01. (Before running TEST01 the user must rename or copy these les, as explained
below.)
21
2.1
The WAMIT-PC software is delivered in two forms, (1) on a CD-ROM disk, or (2) as
a compressed zip le suitable for electronic transfer. This software includes the main
executable program wamit.exe and a complete set of input les for the standard test runs
TESTn (n=01,02, ...), and the labeled output les TESTn.OUT for these test runs. Also
included is the text le readme.txt with additional information.
In the standard Version 6.3PC there are four additional dynamic link library les (DLL)
which must be installed in the same directory (i.e. folder) as the executable le wamit.exe.
If these DLL les are missing the program will not run, regardless of the inputs and
options specied. The four DLL les are geomxact.dll, newmodes.dll, rg2wamit.dll,
and dforrt.dll. (The extended Version including the capability to input MultiSurf models
requires ve DLL les, as explained in Section 6.7.)
Before installing the software a new main directory (folder) should be made. The
recommended name is C:\WAMITv6, but the user may prefer to use a dierent drive.Copy
all of the software to this directory, preserving the same subdirectories (folders) within the
new directory as are on the CD ROM or in the zip le. If the software is received in a
zip le by electronic transfer, it must be unzipped using a local utility, and all unzipped
les should be saved in the directory C:\WAMITv6 and in subdirectories corresponding
to those in the zip le. The text le readme.txt includes an outline of the directory tree
and les. If any diculties are encountered during installation and testing the user should
conrm that the subdirectories and les correspond to the description in readme.txt.
2.2
DEMONSTRATION PROGRAMS
A special demonstration version of WAMIT can be downloaded in .zip format from the web
site www.wamit.com. This program, wamit demo.exe, can be used for demonstration
or educational purposes, without obtaining an end-user license, subject to the conditions
stated in the website. The installation and use of this software is the same as the licensed
version, with the following exceptions:
The program only accepts geometry inputs from the standard input les for the test
runs described in the Appendix.
The site license identication le userid.wam and DLL les are not required.
The program runs are interrupted after display of the header, and the user is prompted
to press the Enter key to continue the run.
The downloadable zip le includes all of the input les required to execute the standard
test runs.
22
2.3
Various standard test runs are included with the software, to illustrate dierent types of
applications and features of the program. The results of these test runs can be used to
conrm that the installation and setup of the program have been performed correctly by
the user. The test runs also provide opportunities to use (and modify) existing input
les, for tutorial purposes. The remainder of this Chapter is intended to guide new users
through these procedures. Descriptions of each test run are included in the Appendix.
If the WAMIT software is installed in accordance with the instructions above, the required .EXE, .DLL, and USERID.WAM les will be installed in the directory C:\WAMITv6.
All required input les for the standard test runs will be copied to the subdirectory
C:\WAMITv6\TESTRUNS. Benchmark versions of the output les test*.out will be
copied to the subdirectory C:\WAMITv6\TESTRUNS\OUT. These benchmark output
les can be compared with results obtained by the user to ensure that the software is
installed correctly.
Before running WAMIT with the standard test runs, the user should (1) open a DOS
Command Prompt Window (in the Windows environment a Command Prompt Window is
opened by clicking on Start, Programs, Command Prompt), and (2) change the default
subdirectory by entering the command cd \WAMITv6\TESTRUNS.
Since the executable le wamit.exe is resident in the directory C:\WAMITv6, the appropriate command to execute WAMIT is C:\WAMITv6\WAMIT. There are three alternative shortcuts which may be used to simplify this command: (1) add C:\WAMITv6 to
the system PATH, (2) copy the les wamit.exe, *.dll, and userid.wam from this directory
to another directory which is included in the PATH, or (3) use the batch le wamit.bat
which is supplied in the testruns subdirectory.
2.4
RUNNING TEST01
Test Run 01 evaluates the added-mass and damping coecients, exciting forces, motions,
wave elevations, eld pressures, uid velocities and drift forces for a freely-oating truncated vertical circular cylinder of radius 1.0m and draft 0.5m, in innite water depth for
three wave periods and one wave heading angle. Further details are contained in Appendix
A.
The corresponding input les test01.gdf, test01.pot, and test01.frc are included in
the subdirectory C:\WAMITv6\TESTRUNS. In order to specify the appropriate lenames
during the run, rst copy the le fnames.01 to the le fnames.wam. (Copying is recommended, in preference to renaming the le, to preserve the original le.) The appropriate
DOS command is
copy fnames.01 fnames.wam
Next enter wamit to start the run. During execution of the subprogram POTEN the
monitor displays the starting time, and after the solutions for the velocity potentials are
23
obtained at each wave period the monitor will display a new line of information including
the period (in seconds), time, and the maximum number of iterations required for the
radiation and diraction solutions. After the rst solutions are displayed the results for
subsequent periods run faster, since the panel integration of the Rankine components of the
source potential are only evaluated initially and saved for reuse. After the third period the
intermediate storage le test01.p2f is created on the disk, storing the velocity potentials
and other inputs to the subprogram FORCE. Output from FORCE will appear relatively
quickly on the screen, and the same output is stored in the le test01.out. The latter
le includes useful identication information concerning the inputs, body parameters, run
times and dates. This is followed for each period by tabulations of the hydrodynamic
parameters requested in test01.frc. Assuming the standard version of test01.out has
been saved in a subdirectory, as recommended in Section 2.1, the data in the new version of test01.out can be compared with the standard le with the same name. On a
contemporary PC the total run time should be a few seconds.
2.5
RUNNING TEST11
Test Run 11 is intended to complement TEST01, but using the higher-order method of
solution (ILOWHI=1). The body dimensions and other inputs are the same, but the
surface of the cylinder and also the solution for the velocity potential are represented in a
more accurate, continuous manner by B-splines, as explained in Chapter 6.
To run TEST11 follow the same procedure outlined above for TEST01, but replace 01
by 11 in all references to lenames and extensions. A comparison of the results from these
complementary tests is summarized in Section A.11 of the Appendix.
2.6
The procedure for running the other test runs is the same as explained above, except for
copying the appropriate les to fnames.wam from the original versions fnames.n where
n is the test number.
A special batch le runtests.bat is included in the licensed version and a similar le
rundemo.bat in the demonstration version. Executing the corresponding batch le command will run all of the tests in succession.
2.7
WAMIT uses scratch les on the hard disk for temporary storage at runtime. Depending
on the run parameters, the total number of scratch les and/or their size may become quite
large. Normally these les are deleted by WAMIT after the les are no longer needed, and
before the program stops. However some PC/Windows congurations save these deleted
les in a recycled directory, and this can cause the hard disk to become overloaded. Users
24
who experience this problem should delete the accumulated les in the recycled directory,
or alternatively change their system setup to avoid saving a backup of all deleted les.
Contemporary Pentium PC systems generally have sucient capacity for all of the Test
Runs. Further information regarding memory requirements is given in Chapter 10.
2.8
A text editor can be used to edit the input les. Users should refer to Chapter 3 for
a complete explanation of the data in these les, but a few simple modications will be
outlined here for tutorial purposes, in the context of Test Run 01. Before proceeding
further check that the les FNAMES.WAM and CONFIG.WAM correspond to this test
run, and re-copy these les if necessary following the instructions in Section 2.4.
As the rst modication we might request FORCE to perform additional computations,
for the same periods and wave headings analyzed by POTEN, but with modied values of
the vertical center of gravity (VCG) and radii of gyration (XPRDCT) in the force control
le TEST01.FRC. In the standard le VCG=0.0 (center of gravity in the waterplane)
and the radii of gyration are set equal to 1.0 (the three diagonal elements of the XPRDCT
matrix). A positive VCG will move the center of gravity above the waterplane, reducing the
pitch/roll hydrostatic stability and aecting these RAOs in longer wave periods. Modifying
the radii of gyration should change the same RAOs primarily at shorter wave periods.
It is not necessary to re-run POTEN in this case, provided the le TEST01.P2F has
been retained for the POTEN output. To avoid the extra run time of POTEN, add the
line IPOTEN=0 to the conguration le cong.wam (See Section 3.7, and also the le
CONFIG.17b which includes the same line). After modications are made to the le
TEST01.FRC it is advisable to save the modied le a with dierent lename, and to
edit the FNAMES.WAM le to show the corresponding new lename for the force control
le. If this procedure is followed, the output le will carry the same lename (with the
.out extension) to distinguish it from the original le TEST01.OUT. The user may then
compare the RAOs in the dierent output les to discern the eect of these changes.
As the second modication WAMIT may be re-run with a more extensive list of wave
periods. Edit the potential control le TEST01.POT with the following changes:
on line 5 change the number of wave periods (NPER) from 3 to 10
on line 6 replace the three original wave periods by ten new periods in decimal format
depending on your preference, (1) save the modied le with the original name
TEST01.POT, or (2) save the modied le with a new lename and correct the
FNAMES.WAM le on line 2 with the new lename.
Since it is necessary to re-run POTEN in this case, either delete the line IPOTEN=0
if this was added to cong.wam, or copy cong.01 once again to cong.wam. During the
run, if the original lename TEST01.POT is retained, the user will be prompted whether
or not to overwrite the old output le TEST01.P2F; overwriting is the simplest procedure
25
to follow, in this circumstance, otherwise the new .P2F lename must be specied before
the FORCE run is executed.
The input les for other test runs can be used to illustrate various options and modications.
26
Chapter 3
USING WAMIT
A typical application of the standard WAMIT program V6 or V6PC will consist of (a)
preparing appropriate input files; (b) running WAMIT; and (c) using the resulting output
files. Most of the required input files are generic, with the same format and data irrespective of whether the low-order or high-order method is used. These files are described in
this Chapter. The principal exception is the geometric data file (GDF), which is described
separately for the two methods in Chapters 5 and 6, respectively.
To simplify the presentation this Chapter will describe the required input files and
resulting output files for a basic application involving the analysis of a single body. Further information is given in Chapters 7-9 for the appropriate modifications of the input
files for specific purposes, including the analysis of multiple bodies, the analysis including
generalized modes of body motion, and the option to remove irregular-frequency effects.
The execution of a WAMIT run is divided between two subprograms, POTEN and
FORCE, as explained in Chapter 1. In special circumstances it is useful to run WAMIT
and execute only one of the two subprograms, using the optional parameters IPOTEN=0
or IFORCE=0 to skip the corresponding subprogram execution. These parameters can
be input in the configuration file, as explained below in Section 3.7. In the default case
(IPOTEN=1, IFORCE=1) both subprograms are executed sequentially in the same run.
Some input files are used only by POTEN or FORCE, whereas other input files are
used by both. The following table lists the input files which are prepared by the user, and
indicates the relevant subprogram(s):
Filename
Usage
runidp.pot
POTEN
body.gdf
POTEN
body.spl
POTEN
FNAMES.WAM POTEN/FORCE
.cfg
POTEN/FORCE
runidf.frc
FORCE
Description
Potential Control File (Sections 3.1-2)
Geometric Data File (Chapters 5,6)
Spline Control File (Section 6.11)
Filenames list (Section 3.8)
Configuration file (Section 3.7)
Force Control File (Sections 3.3-4)
31
Here runidp is a user-specified filename assigned to the POT file. The same filename is
assigned to the P2F file, which is output by POTEN and input to FORCE. Similarly,
runidf is a user-specified filename assigned to the FRC file and this filename is assigned
to the principal output files from FORCE. body is the user-specified filename assigned to
the GDF file. If the optional Spline Control File is used it must have the same filename.
The following table lists the output files which are produced by each subprogram:
Filename
Program Description
runidp.p2f
POTEN P2F File (binary data for transfer to FORCE)
errorp.log
POTEN Error Log File (This section)
errorf.log
FORCE Error Log File (This section)
runidf.out
FORCE Formatted output file (Chapter 4)
runidf.num FORCE Numeric output files (Section 4.9)
body.pnl
FORCE Panel data file (Section 4.9)
runidf.fpt
FORCE List of field points (Section 4.9)
The structure of input and output files is illustrated in the flow chart shown in Figure
1.1. Further details are provided below.
The primary generic data files are the two control files input to POTEN and FORCE.
These are referred to as the Potential Control File (POT), with the extension .pot, and
the Force Control File (FRC), with the extension .frc.
All WAMIT input files are ASCII files. The first line of most files is reserved for a userspecified header, consisting of up to 72 characters which may be used to identify the file.
If no header is specified a blank line must be inserted to avoid a run-time error reading the
file. The remaining data in each file is read by a sequence of free-format READ statements.
Thus the precise format of the input files is not important, provided at least one blank
space is used to separate data on the same line of the file. Further details regarding the
formats and names of files are contained in Section 3.10.
Additional input files may be used to assist in using WAMIT, to select various options,
and to optimize its use for specific applications. The optional file FNAMES.WAM is used
to specify the names of the GDF, POT, and FRC input files to avoid interactive input
of these names (see Section 3.6). The optional input file CONFIG.WAM may be used to
configure WAMIT and to specify various options, as described in Section 3.7. (In Version
6.2-3 this configuration file may be assigned a different filename by the user.) The third
additional input file, the optional Spline Control File (SPL), is used only in the higher-order
method, as described in Section 6.11.
In V6PC the input file userid.wam is read by both POTEN and FORCE, to identify
the licensee name and address for output to the headers at run time, and to write this
information in the header of the .out output file. This file is prepared by WAMIT, Inc.,
and must be available for input to POTEN and FORCE at runtime. To be available for
input, the file USERID.WAM must either be copied to the default directory with other
input/output files, or else the pathname indicating the resident directory must be listed in
CONFIG,WAM, as explained in Section 3.7.
Two alternative formats for the POT and FRC files are described separately in Sections
32
in the GDF file. If NUMNAM=1, the generic name gdf.pnl is assigned to the panel data
file. For Options 6-7, the field point file is assigned the filename frc.FPT (or OPTN.FPT,
if NUMNAM=1), to correspond to the force control file and other numeric output files.
These conventions are illustrated in Figure 1.1.
34
3.1
The Potential Control File is used to input various parameters to the POTEN subprogram.
The name of the POT file can be any legal filename accepted by the operating system,
with a maximum length of 16 ASCII characters, followed by the extension .pot.
Two alternative forms of the POT file can be used in Version 6, as specified by the
optional parameter IALTPOT in the config.wam file. The default case (IALTPOT=1) is
described in this Section. The alternative form (IALTPOT=2) is described separately in
Section 3.2.
If IALTPOT is not specified, or if it is specified with the default value (IALTPOT=1),
the data in the Potential Control File must be in the format listed below:
header
ISOR
IRR
HBOT {XBODY(1) XBODY(2) XBODY(3) XBODY(4)}
IQUAD ILOG IDIAG
IRAD IDIFF
MODE(1) MODE(2) MODE(3) MODE(4) MODE(5) MODE(6)
NPER
PER(1) PER(2) PER(3) ... PER(NPER)
NBETA
BETA(1) BETA(2) BETA(3) ... BETA(NBETA)
The symbol denotes that the corresponding parameters may be input via the configuration file and not included in the Potential Control File (See Section 3.7). If the
higher-order method is used (ILOWHI=1) the parameters ISOR, IQUAD, IDIAG are ignored, but they must be included either in the configuration file or in the Potential Control
File to correctly read the remainder of the data.
The data shown on each line above are read consecutively by corresponding read statements. Thus it is recommended to preserve the line breaks indicated above, except that
if a large number of periods (PER) and/or wave heading angles (BETA) are input, these
may be placed on an arbitrary number of consecutive lines.
The definition of each variable in the Potential Control File is as follows:
header denotes a one-line ASCII header dimensioned CHARACTER72. This line is
available for the user to insert a brief description of the file.
ISOR is the integer used to specify whether the source strength is evaluated:
ISOR= 0: Do not evaluate the source strength.
ISOR= 1: Evaluate the source strength.
The source strength is required in the low-order method (ILOWHI=0) if FORCE evaluates the fluid velocity on the body (IOPTN(5)=2 or 3), the pressure/free-surface elevation
35
XBODY(4) is the angle in degrees of the xaxis of the body coordinate system relative
to the Xaxis of the global system in counterclockwise sense (see Figure 5.2).
The array XBODY may be moved from the POT file to the configuration file (See
Section 3.7).
IQUAD, ILOG, IDIAG are control indices which may be used to increase the precision of the panel integration of the Green function and its derivatives, at the expense of
computation time; in each case the default setting zero will minimize the computation
time. IQUAD and IDIAG are only used in the low-order method (ILOWHI=0). However
if the Alternative Form 1 POT file is used IQUAD and IDIAG must be input, even when
ILOWHI=1, to avoid an error reading the input data.
IQUAD= 0: The integration of the regular wavelike part of the Green function and its
derivatives is carried out by using a single node at the centroid of each panel.
IQUAD= 1: The integration is carried out by using a four-node Gauss quadrature.
(This option can be used to verify the accuracy of computations carried out with the faster
single-node quadrature. However this practice is generally not as useful as the alternatives
of increasing the number of panels or using the higher-order method.)
ILOG= 0: The logarithmic singularity is included with the wavelike component of the
Green function and is integrated by quadrature over each panel.
ILOG= 1: The logarithmic singularity in the Green function is subtracted and integrated analytically for pairs of panels for which the Rankine image singularity 1/r0 is also
integrated analytically. (This option produces more accurate results.) ILOG=1 is required
when panels are defined in the plane of the free surface, including the following two cases:
(1) bodies with horizontal physical surfaces lying in the plane of the free surface, and (2)
use of the irregular frequency option, where panels are located on the interior free surface
inside the body waterline. In these two cases, execution of the program is interrupted with
an error message if ILOG=0.
IDIAG= 0: In determining those pairs of panels where the above analytic integration is
required, the distance between their centroids is compared with the characteristic length
based on the square root of their area.
IDIAG= 1: The characteristic length of each panel is based on its maximum diagonal.
[This option is more accurate for panels with very large aspect ratios.]
Generally it is recommended to use the default values IQUAD= 0, ILOG= 0, and
IDIAG= 0. ILOG= 1 may be useful when studying local characteristics such as run up
near the waterline of the body. IDIAG= 1 may be useful when some of the panels used to
describe the body have a very large aspect ratio.
Any or all of these control indices may be moved from the POT file to the configuration
file (See Section 3.7).
IRAD, IDIFF are indices used to specify the components of the radiation and diffraction
problems to be solved. The following options are available depending on the values of
IRAD and IDIFF:
37
IRAD= 1: Solve for the radiation velocity potentials due to all six rigid-body modes of
motion.
IRAD= 0: Solve the radiation problem only for those modes of motion specified by
setting the elements of the array MODE(I)=1 (see below).
IRAD= 1: Do not solve any component of the radiation problem.
IDIFF= 1: Solve for all diffraction components, i.e. the complete diffraction problem.
IDIFF= 0: Solve only for the diffraction problem component(s) required to evaluate the
exciting forces in the modes specified by MODE(I)=1.
IDIFF= 1: Do not solve the diffraction problem.
MODE is a six-element array of indices, where I=1,2,3 correspond to the surge, sway and
heave translational modes along the body-fixed (x, y, z) axes, and I=4,5,6 to the roll, pitch
and yaw rotational modes around the same axes, respectively. Each of these six indices
should be set equal to 0 or 1, depending on whether the corresponding radiation mode(s)
and diffraction component(s) are required. (See the options IRAD=0 and IDIFF=0 above.)
The MODE array in the radiation solution specifies which modes of the forced motion
problem will be solved. To understand the significance of the MODE array in the diffraction solution, it should be noted that, when symmetry planes are defined, the complete
diffraction problem is decomposed into symmetric/antisymmetric components in a manner
which permits the most efficient solution, and when IDIFF=0, only those components of
the diffraction potential required to evaluate the exciting force for the specified modes are
evaluated. For example, if ISX=1, IDIFF=0, MODE(1)=1, and the remaining elements of
MODE are set equal to zero, then the only component of the diffraction potential which
is solved is that part which is antisymmetric in x. If the complete diffraction potential is
required, for example to evaluate the drift forces or field data, IDIFF should be set equal
to one. (For further discussion of these options see Section 3.3.)
NPER is the number of wave periods to be analyzed. NPER must be an integer. The
following alternatives can be used in Versions 6.2-3:
N P ER = 0: Read inputs and evaluate hydrostatic coefficients only.
NP ER > 0: Execute the hydrodynamic analysis for NPER wave periods PER
N P ER < 0: Execute the hydrodynamic analysis for |NP ER| wave periods as explained
below
If NPER= 0, POTEN and FORCE will run but not execute any hydrodynamic analysis.
This option can be used to test for errors in input files, and to evaluate the hydrostatic
coefficients in the OUT file. If NPER=0 the array PER must be removed from the Potential
Control File.
PER is the array of wave periods T in seconds, or of optional inputs as specified by
the parameter IPERIO. Normally the values of PER must be positive. By using the
optional parameter IPERIO in the configuration file, it is possible to replace the input
array of wave periods by a corresponding array with values of the radian frequencies =
2/T , infinite-depth wavenumbers KL, or finite-depth wavenumbers L. The wavenumbers
38
are nondimensionalized by the length L=ULEN, and defined relative to the gravitational
acceleration g=GRAV. Both ULEN and GRAV are input in the GDF file. The following
table gives the definitions of each input and the corresponding value of IPERIO:
IPERIO Input
1
2
3
4
Definition
Period
Frequency
Infinite-depth wavenumber
Finite-depth wavenumber
T
= 2/T
KL = 2 L/g
L (L tanh H = 2 L/g)
If the fluid depth is infinite (HBOT 0), K = and there is no distinction between
the inputs for the last two cases. The default case IPERIO=1 is assumed if IPERIO is not
specified in the configuration file. Regardless of the form of these inputs, the output data is
unchanged, with wave periods in seconds and the nondimensional finite-depth wavenumbers
specified in the OUT file.
The limiting values of the added mass coefficients may be evaluated for zero or infinite
period by specifying the values PER= 0.0 and PER< 0.0, respectively. In V6.2-3, the
limiting values of the body pressure and velocity and the field pressure and velocity due
to the radiation solution may be evaluated(see Section 4.13). These special values can be
placed arbitrarily within the array of positive wave periods. These special values are always
associated with the wave period, irrespective of the value of IPERIO and the corresponding
interpretation of the positive elements of the array PER. For example, the effect of the
parameter IPERIO=2 and the array PER with the four inputs 0., 1., 2., -1. is identical to
the default case IPERIO=1 with the array PER equal to 0., 2, , -1. These limiting values
can be included in runs where the irregular-frequency removal option is used (IRR1) (In
V6.1 and lower, a separate run must be made for these limiting values after setting IRR=0.)
If NP ER < 0 a special convention is followed to assign a total of |NP ER| wave periods,
frequencies, or wavenumbers with uniform increments, starting with the value equal to
PER(1) and using the increment equal to the value shown for PER(2). In this case only
two values PER(1),PER(2) should be included in the POT file. This option is convenient
when a large number of uniformly spaced inputs are required. The two following examples
show equivalent sets of input data in lines 5 and 6 of the POT file:
8
1.0
(NPER)
2.0 3.0
4.0
5.0
6.0
7.0
8.0
(PER array)
and
-8
1.0
(NPER)
1.0
(PER(1), increment)
This convention is applied in the same manner for all IPERIO values, irrespective of
whether PER represents the wave period, frequency, or wavenumber. Special attention is
required when zero-period or zero-frequency inputs are required, following the definitions
as specified above. For the example described in the preceding paragraph with IPERIO=2,
39
the inputs NPER=-4 and (PER = -1. 1.) will result in the sequence of wave frequencies
equal to (zero, infinity, 1., 2.).
NBETA is the number of incident wave headings to be analyzed in POTEN. (Additional
heading angles may be specified subsequently in FORCE, as described in Section 3.3.)
NBETA must be an integer. The following alternatives can be used in Version 6.:
NBET A = 0: There are no incident wave heading angles. (IDIFF=-1)
NBET A > 0: Execute the hydrodynamic analysis for NBETA wave angles BETA
NBET A < 0: Execute the hydrodynamic analysis for |NBET A| wave angles as explained below
BETA is the array of wave heading angles in degrees. The wave heading is defined as
the angle between the positive xaxis of the global coordinate system and the direction
in which the waves propagate, as shown in Figure 12.1. The sign of the wave heading is
defined by applying the right-hand rule to the body fixed system. In POTEN the wave
headings specified in the Potential Control File pertain to the solution of the diffraction
problem only. NBETA may be set equal to 0 if IDIFF= 1; in this case wave heading angles
specified in the Potential Control File are ignored in Alternative Form 1. In Alternative
Form 2, described in Section 3.2, if NBETA=0 no data BETA should be included in the
POT file.
If N BET A < 0 a special convention is followed to assign a total of |NBET A| wave
angles, with uniform increments, starting with the value equal to BETA(1) and using
the increment equal to the value shown for BETA(2). In this case only two values
BETA(1),BETA(2) should be included in the POT file. This option is convenient when a
large number of uniformly spaced inputs are required. The two following examples show
equivalent sets of input data in lines 7 and 8 of the POT file:
8
(NBETA)
0.0 45.0 90.0 135.0 180.0 225.0 270.0 315.0
(BETA array)
and
-8
(NBETA)
0.0 45.0
(BETA(1), increment)
310
3.2
If IALTPOT=2 is specified in the configuration file, the data in the Potential Control File
must be in the format listed below:
header
IRR
HBOT
IRAD IDIFF
NPER
PER(1) PER(2) PER(3)...PER(NPER)
NBETA
BETA(1) BETA(2) BETA(3) ... BETA(NBETA)
NBODY
GDF(1)
XBODY(1,1) XBODY(2,1) XBODY(3,1) XBODY(4,1)
MODE(1,1) MODE(2,1) MODE(3,1) MODE(4,1) MODE(5,1) MODE(6,1)
NEWMDS(1)
GDF(2)
XBODY(1,2) XBODY(2,2) XBODY(3,2) XBODY(4,2)
MODE(1,2) MODE(2,2) MODE(3,2) MODE(4,2) MODE(5,2) MODE(6,2)
NEWMDS(2)
GDF(NBODY)
XBODY(1,NBODY) XBODY(2,NBODY) XBODY(3,NBODY) XBODY(4,NBODY)
MODE(1,NBODY) MODE(2,NBODY) MODE(3,NBODY) ... MODE(6,NBODY)
NEWMDS(NBODY)
The data shown on each line above is read consecutively by corresponding read statements. Thus it is necessary to preserve the line breaks indicated above, but if a large
number of periods (PER) and/or wave heading angles (BETA) are input, these may be
placed on an arbitrary number of consecutive lines.
The definitions of the data on lines 1-8 (header, IRR, HBOT, IRAD, IDIFF, NPER,
PER, NBETA, BETA) are the same as given in Section 3.1 for the Alternative Form 1 POT
File. As in Alternative Form 1, the dagger shown after IRR denotes that this parameter
must be included either here, or in the configuration file, but not in both.
Definitions of the other data above are as follows:
NBODY is the number of bodies. Except for the analysis of multiple bodies (Chapter 7),
NBODY=1.
GDF(K) is the name of the Geometric Data File of the Kth body.
XBODY(1,K), XBODY(2,K), XBODY(3,K) are the dimensional (X, Y, Z) coordinates of the origin of the body-fixed coordinate system of the kth body relative to the
global coordinate system, input in the units of the length ULEN. The incident-wave
311
velocity potential is defined relative to the global coordinate system. Consequently, the
phases of the exciting forces, motions, hydrodynamic pressure and field velocity induced
by the incident wave are understood relative to the incident-wave elevation at X = Y = 0.
XBODY(4,K) is the angle in degrees of the xaxis of the body coordinate system of the
Kth body relative to the Xaxis of the global system in counterclockwise sense.
NEWMDS(K) is the number of generalized modes for Kth body. Except for the analysis
of generalized modes (Chapter 8), NEWMDS=0.
When the Alternative Form 2 POT file is used, the parameters NBODY and NEWMDS
must be specified in the POT file, even if they have the default values NBODY=1 and/or
NEWMDS=0. The name(s) specified for the GDF file(s) take precedence over the GDF
filename, if any, that is specified in the FNAMES.WAM file.
312
3.3
The Force Control File (FRC) is used to input various parameters to the FORCE subprogram. The name of the FRC file can be any legal filename accepted by the operating
system, with a maximum length of 16 ASCII characters, followed by the extension
.frc.
In this Section the first form of the FRC file is described, in which the input of the
body inertia matrix is simplified, and it is assumed that the body is freely floating. (For
the more general alternative form see Section 3.4.)
The data in the Alternative 1 FRC file is listed below:
header
IOPTN(1) IOPTN(2) IOPTN(3) IOPTN(4) IOPTN(5) IOPTN(6) IOPTN(7) IOPTN(8) IOPTN(9)
VCG
XPRDCT(1,1) XPRDCT(1,2) XPRDCT(1,3)
XPRDCT(2,1) XPRDCT(2,2) XPRDCT(2,3)
XPRDCT(3,1) XPRDCT(3,2) XPRDCT(3,3)
NBETAH
BETAH(1) BETAH(2) ... BETAH(NBETAH)
NFIELD
XFIELD(1,1) XFIELD(2,1) XFIELD(3,1)
XFIELD(1,2) XFIELD(2,2) XFIELD(3,2)
XFIELD(1,3) XFIELD(2,3) XFIELD(3,3)
.
.
XFIELD(1,NFIELD) XFIELD(2,NFIELD) XFIELD(3,NFIELD)
The index IOPTN(9) was added in Version 5, and must be included in the FRC file. Users
of earlier versions of WAMIT must take special care to add this extra index to old files
before using Version 6 and higher. Since FORTRAN free-format read statements are used
to read this file, if IOPTN(9) is missing its value will be read from the line containing VCG,
VCG will be read as XPRDCT(1,1), etc. If there are no values of BETAH or XFIELD
specified in the FRC file, the final result will be that there are not sufficient lines of data and
an error message will be displayed that there is erroneous data in the FRC file. However if
values of BETAH and/or XFIELD are specified it is possible for all of the data to be read
without detecting an error, with unpredictable results. This possibility can be prevented
by adding a non-numeric comment at the end of the line containing the IOPTN array, as
illustrated in Test Run 01.
The definition of each variable in the Force Control File is as follows:
header denotes a one-line ASCII header dimensioned CHARACTER72. This line is
available for the user to insert a brief description of the file.
313
Description
Filename
frc.1
frc.2
frc.3
frc.4
frc.5p
frc.(5vx,5vy,5vz)
frc.6
frc .(7x,7y,7z)
frc.8
frc.9
The evaluation and output of the above parameters is accordance with the following
choice of the corresponding index:
IOPTN(I) = 0: do not output parameters associated with option I.
IOPTN(I) = 1: do output parameters associated with option I.
Options 4, 5, 6, 7, 8 and 9 may have additional values as listed below:
IOPTN(4)
IOPTN(4) = 0: do not output response amplitude operator, RAO
IOPTN(4) = 1: do output RAO by Haskind exciting force
IOPTN(4) = 2: do output RAO by diffraction exciting force
IOPTN(4) = 3: output field data only for specified radiation modes
The use of IOPTN(4)=-1, -2, or -3 is explained in Sections 3.5.
IOPTN(5)
IOPTN(5) = 0: do not output pressure and fluid velocity on the body
IOPTN(5) = 1: do output pressure on the body
IOPTN(5) = 2: do output fluid velocity on the body
IOPTN(5) = 3: do output both pressure and fluid velocity on the body
IOPTN(6)
IOPTN(6) = 0: do not output pressure in the fluid and/or free-surface elevation
IOPTN(6) = 1: do output pressure in the fluid and/or free-surface elevation by the
potential formulation
IOPTN(6) = 2: do output pressure in the fluid and/or free-surface elevation by the
source formulation
314
IOPTN(7)
IOPTN(7) = 0: do not output fluid velocity in the fluid
IOPTN(7) = 1: do output fluid velocity in the fluid by the potential formulation
IOPTN(7) = 2: do output fluid velocity in the fluid by the source formulation
IOPTN(8)
IOPTN(8) = 0: do not output mean force and moment from momentum integration
IOPTN(8) = 1: do output mean force and moment only for unidirectional waves
IOPTN(8) = 2: do output mean force and moment for all combinations of wave headings
IOPTN(9)
IOPTN(9) = 0: do not output mean force and moment from pressure integration
IOPTN(9) = 1: do output mean force and moment only for unidirectional waves
IOPTN(9) = 2: do output mean force and moment for all combinations of wave headings
The options IOPTN(5)=2 and 3, IOPTN(6)=2, and IOPTN(7)=2 apply only for the
low-order method (ILOWHI=0), and require the source formulation (ISOR=1). IOPTN(9)=1
and 2 require the source formulation (ISOR=1) if and only if the low-order method
(ILOWHI=0) is used. If the higher-order method (ILOWHI=1) is used, IOPTN(9) can
take any of the values 0,1,2 with ISOR=0.
The settings of the indices IOPTN(I) must be consistent with themselves and with
the indices IRAD, IDIFF, and NBETA set in the Potential Control File. Error messages
are generated if inconsistent indices are input. Otherwise, the indices IRAD, IDIFF and
IOPTN(I), I=1,...,9 can be selected in any way the particular application may suggest.
Three principal applications are as follows:
Forced motions in calm water (the radiation problem). In this case the modes of
possible motion are specified by the MODE(I) indices in the Potential Control File. The
diffraction index IDIFF should be set equal to -1. The corresponding linear force coefficients
are obtained with Option 1. Field pressures, velocities, free-surface elevations and drift
forces follow from the corresponding options 5-9.
Note that in the default case the pressures, velocities, and drift forces are not separated
according to each mode, and the consequence of setting more than one mode to be nonzero
is to superpose all such modes with unit amplitude. For example if IRAD=1 and IDIFF=1, the default outputs from options 5-9 correspond to unit amplitudes of motion in all six
degrees of freedom, with the same phase. Generally this is a nonphysical problem and
care should be taken to avoid it. The simplest procedure to evaluate these outputs for
each mode is to set MODE(I)=1 for only one mode at a time. However this requires a
separate run of WAMIT for each mode. In V6.2-3 it is possible to output separate results
for options 5-7 for each mode of forced motion in a single run, using the configuration
parameters INUMOPT5, INUMOPT6, INUMOPT7, as explained in Section 4.12.)
Diffraction of incident waves by a stationary structure (the diffraction problem).
315
In this case the radiation index IRAD should be set equal to -1. To solve the complete
diffraction problem set IDIFF=1, with corresponding outputs from the options 3,5,6,7,8,9
in FORCE. (If IOPTN(4)=0 and IDIFF=1 it is assumed that the body is stationary,
irrespective of IRAD. Thus, after a complete WAMIT run where the P2F file is output
from POTEN and saved, it is possible to execute another run using only FORCE with the
body motions both free and fixed, without re-running POTEN.)
In V6.2-3 it is possible to output separate results for options 5-7 for the diffraction
problem, using the configuration parameters INUMOPT5, INUMOPT6, INUMOPT7, as
explained in Section 4.12.
Body motions in incident waves. In this case the index IRAD and IDIFF are set equal
to 0 (body free only in specified modes) or 1 (body free in all modes). Body motions are
obtained from the solution of the equations of motion using Option 4. The resulting field
data and drift forces are evaluated for this particular combination of the radiation and
diffraction solutions.
VCG Dimensional z-coordinate of the center of gravity of the body relative to the origin
of the body-system, input in the same units as the length ULEN.
XPRDCT is the 33 matrix of the body radii of gyration about the body-fixed axes, where
I,J=1,2,3 correspond to (x, y, z) respectively, input in the same units as the length ULEN.
More precisely, the elements of the body inertia matrix mij are evaluated for i, j = 4, 5, 6
according to the algorithm mij = m XPRDCT(i 3, j 3) |XPRDCT(i 3, j 3)|.
Here the body mass m is evaluated from the displaced mass of fluid, and the absolute
value is used in the last factor so that negative products of inertia can be specified. The
remaining elements of mij are evaluated assuming the body is freely floating in equilibrium,
based on the calculated values of the displaced volume and center of buoyancy and on the
specified value of VCG. In practical cases the matrix XPRDCT is symmetric. Zeroes may
be specified if the body motions are not evaluated.
NBETAH is the number of Haskind wave headings, defined below. NBETAH must be an
integer, greater than or equal to zero.
BETAH is an array of length NBETAH defined as the Haskind wave headings in degrees.
The Haskind wave headings may be introduced in the Force Control File as an option, to
enable evaluations to be made of the Haskind exciting forces (Option 2) and body motions
in waves (Option 4) at heading angles not included in the Potential Control File. This
option is feasible since the evaluation of Haskind exciting forces requires only the radiation
potentials already determined by POTEN (see Section 4.3). This is a useful feature since a
relatively small number of wave headings for the diffraction problem may be specified in the
Potential Control File and the time required to solve many diffraction problems in POTEN
greatly exceeds the time required to evaluate the Haskind exciting forces in FORCE. Since
the number of Haskind wave headings will affect the subsequent READ statements for data
in the Force Control File, it is important to ensure that this number corresponds with the
prescribed integer NBETAH. In particular, if NBETAH= 0 no values of BETAH should
be included and NFIELD should appear on the next line of the Force Control File. If
316
NBETAH> 0 is specified, the settings of the IOPTN switches are automatically set equal
to 0 for options 3,5,6,7,8.
NFIELD is the number of points in the fluid domain(free surface) where the hydrodynamic
pressure(wave elevation) and/or velocity are to be evaluated. NFIELD must be an integer,
greater than or equal to zero.
XFIELD is a three-dimensional array with dimensions 3 NFIELD, defining the dimensional global coordinates of field points where the pressure/wave elevation and/or fluid
velocity vector will be evaluated. Here I=1,2,3 correspond to the (X, Y, Z) coordinates. If
Z = 0 the resulting output should be interpreted as the nondimensional wave elevation,
otherwise as the nondimensional pressure. If NFIELD= 0 no input should be made for the
array XFIELD.
Additional data is required to specify the field point array XFIELD when field points are
placed inside internal tanks. This departure from the usual default procedure is described
in Sections 3.7 and 10.7.
317
3.4
In this Section the second alternative form of the FRC file is described, where it is possible
to specify separately three independent external force matrices including the mass matrix
of the body, an external damping matrix, and an external stiffness matrix. This permits
the analysis of bodies which are not freely floating in waves, with arbitrary linear external
forces and moments, and also permits the specification of the complete body mass matrix
instead of the simpler radii of gyration (cf. Section 3.3).
The format of the Alternative 2 FRC file is shown below:
header
IOPTN(1) IOPTN(2) IOPTN(3) IOPTN(4) IOPTN(5) IOPTN(6) IOPTN(7) IOPTN(8) IOPTN(9)
RHO
XCG YCG ZCG
IMASS
EXMASS(1,1) EXMASS(1,2) ... EXMASS(1,6+NEWMDS)
EXMASS(2,1) EXMASS(2,2) ... EXMASS(2,6+NEWMDS)
.
.
EXMASS(6+NEWMDS,1) EXMASS(6+NEWMDS,2) ... EXMASS(6,6+NEWMDS)
IDAMP
EXDAMP(1,1) EXDAMP(1,2) ... EXDAMP(1,6+NEWMDS)
EXDAMP(2,1) EXDAMP(2,2) ... EXDAMP(2,6+NEWMDS)
.
.
EXDAMP(6+NEWMDS,1) EXDAMP(6+NEWMDS,2) ... EXDAMP(6,6+NEWMDS)
ISTIF
EXSTIF(1,1) EXSTIF(1,2) ... EXSTIF(1,6+NEWMDS)
EXSTIF(2,1) EXSTIF(2,2) ... EXSTIF(2,6+NEWMDS)
.
.
EXSTIF(6+NEWMDS,1) EXSTIF(6+NEWMDS,2) ... EXSTIF(6+NEWMDS,6+NEWMDS)
NBETAH
BETAH(1) BETAH(2) ... BETAH(NBETAH)
NFIELD
XFIELD(1,1) XFIELD(2,1) XFIELD(3,1)
XFIELD(1,2) XFIELD(2,2) XFIELD(3,2)
XFIELD(1,3) XFIELD(2,3) XFIELD(3,3)
.
.
XFIELD(1,NFIELD) XFIELD(2,NFIELD) XFIELD(3,NFIELD)
The recommended procedure to designate Alternative Form 2 is to assign the parameter
IALTFRC=2 in the configuration file, as described in Section 3.7. In earlier versions of
318
WAMIT this parameter was assigned differently, by inserting the integer 2 on a separate
line after the header line of the FRC file, as shown below:
header
2
IOPTN(1) IOPTN(2) ...
RHO
.
.
IOPTN(9)
This variant of the FRC file format is still supported in Version 6, to enable old files to be
read correctly. However it is deprecated, and may not be supported for later versions of
WAMIT.
The header, IOPTN array, and all lines beginning with the variable NBETAH, are
identical to the data in the Alternative form 1 FRC file, as defined in Section 3.3. In the
remainder of this Section the data which differ in Form 2 are described.
RHO Dimensional density of the fluid, in the same units as used for the external force
matrices and for GRAV.
XCG YCG ZCG Dimensional coordinates of the body center of gravity in terms of the
body coordinate system and in the same units as ULEN.
IMASS This index is either 0 or 1, to signify if the external mass matrix EXMASS is
read. If the value of the index is zero, the matrix EXMASS is not included in the FRC file
and the program assumes that all values in this matrix are zero. If the value of the index
is one, the matrix EXMASS is included in the FRC file.
EXMASS is the (6+NEWMDS) (6+NEWMDS) dimensional inertia matrix of the body
about the body-fixed axes. (For a conventional rigid body this is a 66 dimensional matrix
as defined in Reference [3], page 149, equation 141.) Each element in this matrix is added
to the corresponding added mass of the body, in setting up the equations of body motions.
IDAMP This index is either 0 or 1, to signify if the external damping matrix EXDAMP
is read. If the value of the index is zero, the matrix EXDAMP is not included in the FRC
file and the program assumes that all values in this matrix are zero. If the value of the
index is one, the matrix EXDAMP is included in the FRC file.
EXDAMP is the (6+NEWMDS) (6+NEWMDS) dimensional damping matrix of an
arbitrary external force or moment acting on the body, e.g. from a mooring cable subject
to viscous damping. The value of each element in this matrix is added to the corresponding
linear wave damping coefficient of the body, in setting up the equations of body motions.
ISTIF This index is either 0 or 1, to signify if the external mass matrix EXSTIF is read.
If the value of the index is zero, the matrix EXSTIF is not included in the FRC file and
the program assumes that all values in this matrix are zero. If the value of the index is
one, the matrix EXSTIF is included in the FRC file.
319
EXSTIF is the (6+NEWMDS) (6+NEWMDS) dimensional stiffness matrix of an arbitrary external force or moment acting on the body, e.g. from an elastic mooring cable.
In setting up the equations of body motions, the value of each element in this matrix is
added to the corresponding restoring coefficient of the body, including both hydrostatic
pressure and the gravitational moment due to the bodys mass, as defined in Reference
[3], page 293, equation 145. (The vertical inertia force due to heave, EXMASS(3,3), is
assumed equal to the body mass and is used to derive the gravitational restoring moment
of the body. In any situation where this assumption is not satisfied, due to the presence of
an external vertical inertia force, the gravitational restoring moment should be corrected
for this difference via the stiffness matrix EXSTIF.)
The units of EXMASS, EXDAMP, EXSTIF must correspond to those used to specify the
fluid density RHO and the length ULEN, with time measured in seconds. These matrices
must be defined with respect to the body-fixed coordinate system.
It is also possible to use Alternative Form 2 with the external force matrices in separate
files. In this case the index IMASS, IDAMP, and/or ISTIF is set equal to 2, and followed
by the corresponding file name:
header
IOPTN(1) IOPTN(2) IOPTN(3) IOPTN(4) IOPTN(5) IOPTN(6) IOPTN(7) IOPTN(8) IOPTN(9)
RHO
XCG YCG ZCG
2
MASS (file name containing inertia matrix)
2
DAMP (file name containing damping matrix)
2
STIF (file name containing stiffness matrix)
NBETAH
BETAH(1) BETAH(2) ... BETAH(NBETAH)
NFIELD
XFIELD(1,1) XFIELD(2,1) XFIELD(3,1)
XFIELD(1,2) XFIELD(2,2) XFIELD(3,2)
XFIELD(1,3) XFIELD(2,3) XFIELD(3,3)
.
.
XFIELD(1,NFIELD) XFIELD(2,NFIELD) XFIELD(3,NFIELD)
MASS is a file name which contains external inertial forces to the bodies and interactive
inertial forces between bodies. For example, the data in MASS for a body are listed below:
header
EXMASS(1,1) EXMASS(1,2) ...
EXMASS(2,1) EXMASS(2,2) ...
.
EXMASS(1,6+NEWMDS)
EXMASS(2,6+NEWMDS)
320
.
EXMASS(6+NEWMDS,1) EXMASS(6+NEWMDS,2) ... EXMASS(6+NEWMDS,6+NEWMDS)
For N interacting
bodies, the number of data in MASS are NDFR NDFR, where
PN
NDFR= n=1 (6 + NEWMDS(n)) is the total number of rigid body modes and generalized modes. Similarly the external damping and stiffness can be specified to the files
DAMP and STIF.
In summary, there are three legal values for IMASS, IDAMP, ISTIFF:
I=0: no matrix or file name is input, matrix is assumed equal to zero
I=1: matrix follows on subsequent lines
I=2: file name follows on next line
The recommended procedure to designate Alternative Form 2 is to assign the parameter
IALTFRC=2 in the configuration file, as described in Section 3.7, and use the formats
above. In earlier versions of WAMIT the parameter IALTFRC was assigned differently, by
inserting the integer 2 on a separate line after the header line of the FRC file, as shown
below:
header
2
IOPTN(1) IOPTN(2) ...
RHO
.
.
IOPTN(9)
This variant of the FRC file format is still supported in Version 6, to enable old files to be
read correctly. However it is deprecated, and may not be supported for later versions of
WAMIT. If a file with this variant is input, Version 6 issues a warning message.
321
3.5
It is possible to specify that a sub-set of the modes of body motion analyzed in POTEN
can be fixed in FORCE. As a simple example, consider a single body with six degrees of
rigid-body motions, all of which have been analyzed in POTEN (either by setting IRAD=1
or by setting IRAD=0 and setting all six elements of MODE=1). Normally, in the FORCE
analysis (IOPTN(4)) the body motions in all six degrees of freedom are computed. Now
suppose that the body is restrained in the vertical modes (heave, roll, pitch) as would
be the case for the first-order motions of a tension-leg platform. This condition can be
analyzed in FORCE by modifying the Force Control File in the following manner:
(1) assign a negative value to IOPTN(4) (-1 to use the Haskind exciting force or -2 to
use the diffraction exciting force).
(2) insert two new lines of data after IOPTN (before VCG or RHO):
NDFR
MODE(1),MODE(2),MODE(3), ... MODE(NDFR)
Here NDFR is the total number of possible radiation modes and MODE is an array with
the value of each element 0 if the mode is fixed or 1 if the mode is free. For the example
described above, NDFR=6 and MODE = (1,1,0,0,0,1). Thus surge, sway, and yaw are free
while heave, roll, and pitch are fixed.
When this option is employed the RAOs output for the free modes are defined in the
conventional manner, as the amplitudes of body motions in the corresponding degrees of
freedom (cf. Section 4.4). For the fixed modes the RAOs are replaced by the loads acting
on the body in the corresponding directions. In this case the corresponding modal index
in the output file is shown with a negative value, to signify the change. For the example
described above, the output RAO for heave is equal to the vertical load acting on the body
(equal and opposite to the load on the restraining structure), and preceded by the index
-3. The TLP Test Runs (06, 07, 14) described in the Appendix illustrate this application.
For a single body with no generalized modes NDFR=6 in all cases. For the analysis
of multiple bodies (cf. Chapter 7), with no generalized modes, NDFR=6*NBODY. If
generalized modes are analyzed (cf. Chapter 8) NDFR is the total number of modes for all
bodies, including both rigid-body
modes and generalized modes. Thus, in the most general
P
NEWMDS(n).
case, NDFR=6*NBODY+ NBODY
n=1
It is also possible to perform the analysis in FORCE for a problem where no incident
waves exist, after running POTEN with incident waves present and with the diffraction
solution obtained. To suppress the incident waves in FORCE, IOPTN(4)=-3 is assigned
in the FRC file. In that case the body pressure/velocity, field point pressure/velocity, and
mean drift forces are evaluated assuming that the body is oscillating in the specified free
mode(s), without incident waves.
322
3.6
An optional input file may be used to specify the filenames of the primary input files
CFG, POT, FRC, and GDF. Use of this optional file is recommended, particularly to
facilitate batch processing. The optional file must be named FNAMES.WAM. (The name
fnames.wam must be used for this file if the system is case sensitive. Source-code users
can redefine this name if it is desired to do so.) The optional file is simply a list of the
other input file names, including their respective extensions .cfg, .pot, .frc, and .gdf.
If this file does not exist, or if it is incomplete, the user is prompted to supply the missing
filenames interactively. In Version 6 the number and order of these file names is arbitrary,
but they must include the specified extensions. If the alternative (IALTPOT=2) format
is used, as explained in Section 3.2, the GDF filename(s) are specified in the POT file
and it is not necessary to specify any GDF filename in the FNAMES.WAM file. (In this
case a GDF filename that exists in the FNAMES.WAM file is ignored.) In Version 6.2-3
the filename of the configuration file may be input in the FNAMES.WAM file, with the
extension .cfg, as explained below.
323
3.7
The configuartion file may be used to specify various parameters and options in WAMIT.
The configuration file can be assigned the generic name config.wam, as in previous versions
of WAMIT. Alternatively, the filename of this file can be specified by the user, with the
extension .cfg. The latter option, which is illustrated in the Test Runs in the Appendix,
permits configuration files to be associated with specific names of runs or other input files.
If a configuration file is included in the FNAMES.WAM list with the extension .cfg this
file is used. If no configuration file is included in the FNAMES.WAM list, the generic name
CONFIG.WAM is assigned.
The complete list of inputs which may be specified in the configuration file are as follows
(in alphatetic order):
Parameter
IALTFRC
IALTFRCN
IALTPOT
ICTRSURF
IDIAG
IFIELD ARRAYS
IFORCE
IGENMDS
ILOWGDF
ILOWHI
ILOG
INUMOPT5
INUMOPT6
INUMOPT7
IPERIO
IPLTDAT
IPNLBPT
IPOTEN
IQUAD
IQUADI
IQUADO
IRR
ISCATT
ISOLVE
ISOR
ITANKFPT
KSPLIN
MAXITT
MAXMIT
MAXSCR
324
MODLST
0
MONITR
0
0
NEWMDS(n)
POT2
NOOUT
1
NPTANK(n)
NUMHDR
0
NUMNAM
0
-1.0
PANEL SIZE
RHOTANK
current directory
SCRATCH PATH
current directory
USERID PATH
XBODY(n)
POT or GGDF
Parameters marked must be input once and only once, either in the configuration file,
or in the other files specified following the symbol . All other parameters in the list above
are optional, with the specified default value assigned when the parameter is not included
explicitly.
The parameters marked are defined in the Sections pertaining to the respective input
files (Sections 3.1, 6.9, 7.1 respectively for the POT, SPL, GGDF files). POT2 denotes the
Alternative Form 2 POT file format as explained in Section 3.2.
NEWMDS(n), NPTANK(n) and XBODY(n) denote the NEWMDS, NPTANK and XBODY
arrays for body number n. When NBODY=1 these can be written more simply as
NEWMDS, NPTANK and XBODY. If NBODY>1 the number of each body should be
indicated in parenthesis, as illustrated in the example in Section 7.6. If IALTPOT= 1
nonzero values of NEWMDS must be input for each body in the configuration file. If
IALTPOT= 2 the parameters NEWMDS and XBODY must be input for each body in the
POT file as shown in Section 3.2.
Explanations of the other parameters which may be specified in the configuration file
are as follows:
IALTFRC is an integer specifying the alternative forms of the FRC file as explained in
Sections 3.3, 3.4, and 7.3-5.
IALTFRC= 1: use the Alternative Form 1 FRC format shown in Section 3.3,
IALTFRC= 2: use the Alternative Form 2 FRC format shown in Section 3.4,
IALTFRC= 3: use the Alternative Form 3 FRC format shown in Section 7.5.
See Sections 3.4 and 7.5 concerning the specification of Alternative Forms 2 and 3 FRC
files by special modification of the data on line 2, as in earlier versions of WAMIT. This
option is deprecated and may not be supported beyond Version 6.
The default value is IALTFRC= 1.
IALTFRCN is an integer array of length NBODY. The value of each array element, 1 or
2, designates the corresponding Alternative Form of the separate FRC files for each body,
as explained in Section 7.5. This array is only used if IALTFRC=3 and NBODY>1.
325
IALTPOT is an integer specifying the alternative forms of the POT file and GGDF file.
IALTPOT= 1: use the Alternative Form 1 POT format shown in Section 3.1, and define
the GDF filename in FNAMES.WAM. For multiple bodies the separate GDF filename for
each body is assigned in the Global GDF as explained in Section 7.1.
IALTPOT= 2: use the POT format shown in Section 3.2, with the GDF filename(s)
assigned in the POT file.
IALTPOT= 1: use the POT format shown in Section 3.1. This is a special alternative
intended to permit using V6 for multiple bodies without changing the Global GDF format
required in earlier versions of WAMIT. Further details are given in Section 7.1. Use of this
option is deprecated, and may not be supported beyond Version 6.
The default value is IALTPOT= 1.
ICTRSURF is an integer specifying the alternative forms to evaluate the drift forces
based on integration of the momentum flux over a user-defined control surface (see Chapter
14).
ICTRSURF= 0: Do not evaluate the control-surface drift forces.
ICTRSURF= 1: Evaluate the control-surface drift forces using Alternative 1 integration
of the momentum flux.
ICTRSURF= 2: evaluate the control-surface drift forces using Alternative 2 integration of
the momentum flux.
The default value is ICTRSURF= 0.
IFIELD ARRAYS is an integer parameter specifying if uniform arrays of field points are
assigned in the FRC control file, using a compressed format as explained in Section 3.10.
IFIELD ARRAYS= 0: Field point data is assigned only as shown in the conventional FRC
files, as explained in Sections 3.3 and 3.4.
IFIELD ARRAYS= 1: Additional field point data is assigned in the conventional FRC
files, as explained in Section 3.10.
The default value is IFIELD ARRAYS= 0.
IFORCE is an integer parameter specifying if the FORCE subprogram is executed during
the WAMIT run.
IFORCE= 0: Do not execute FORCE.
IFORCE= 1: Do execute FORCE.
The default value is IFORCE= 1.
IGENMDS is an integer parameter specifying the option to input the geomeric data
associated with the mode shapes of generalized modes, when NEWMDS > 0. The details
on the use of the generalized mode option are described in Chapter 8.
IGENMDS= 0: use a seperate program DEFMOD to input the geometric data for generalized modes. This option can be used only with the low order method (ILOWHI=0).
326
In this case the user prepares a subroutine in DEFINE to describe the generalized mode
shapes.
IGENMDS= 1: use a DLL file containing the subroutine NEWMODES. The user modifies
NEWMODES to specify the mode shape. This option can be used with both the low- and
higher-order options.
The default value is IGENMDS= 0.
ILOWGDF is an integer parameter specifying the option to generate a low-order GDF
output file based on the input geometry (see Section 10.6). If ILOWHI=0, the original
input panels are used. If ILOWHI=1 the low-order output panels are generated from the
panels of the higher-order geometry as defined in Section 6.1. If ILOWGDF> 1, the panels
are subdivided into ILOWGDFILOWGDF sub-panels.
ILOWGDF= 0: Do not generate the output file gdf LOW.GDF.
ILOWGDF 1: Generate the output file gdf LOW.GDF.
The default value is ILOWGDF= 0.
ILOWHI is an integer parameter specifying the use of the low-order or higher-order panel
method.
ILOWHI= 0: Low-order panel method (Chapter 5)
ILOWHI= 1: Higher-order panel method (Chapter 6)
INUMOPT5 is an integer parameter specifying the option to evaluate the separate radiation and diffraction components of the body pressure and velocity. (see Section 4.12).
INUMOPT5= 0: output the total body pressure and velocity, as in Version 6.0.
INUMOPT5= 1: output the total body pressure and velocity in the formatted output file
(.out). Output the separate components in the numeric output files (.5p, .5vx, .5vy, .5vz).
INUMOPT6 is an integer parameter specifying the option to evaluate the separate radiation and diffraction components of the pressure at field points.(see Section 4.12).
INUMOPT6= 0: output the total field pressure, as in Version 6.1.
INUMOPT6= 1: output the total field pressure in the formatted output file (.out). Output
the separate components in the numeric output file (.6).
INUMOPT7 is an integer parameter specifying the option to evaluate the separate radiation and diffraction components of the fluid velocity at field points. (see Section 4.12).
INUMOPT7= 0: output the total field velocity, as in Version 6.1.
INUMOPT7= 1: output the total field velocity in the formatted output file (.out). Output
the separate components in the numeric output files (.7x, .7y, .7z).
IPERIO is an integer parameter specifying the input data for PER in the POT file.
IPERIO= 1: Input periods in seconds for PER
IPERIO= 2: Input radian frequencies for PER
327
ISOLVE is an integer parameter specifying the method of solution for the linear systems
in POTEN.
ISOLVE= 0: Use the iterative solver
ISOLVE= 1: Use the direct solver
ISOLVE= N For N 2 : Use the block iterative solver with N blocks
The default value is ISOLVE= 0.
The direct solver is based on a partial-pivoting LU decomposition algorithm known as
Gauss elimination. In general, the iterative solver is faster than the direct solver as NEQN,
the size of the linear system, increases. However, there are cases where the direct solver
may have advantage. For applications where NEQN is relatively small the direct solver
may be somewhat faster than the iterative solver. This is particularly the case where the
number of right-hand sides is large, as in cases where the diffraction solution is required
for a large number of wave headings, or where a large number of radiation solutions are
required for the analysis of multiple bodies or generalized modes. The direct solver is also
useful in applications where the iterative solver fails to converge (See Section 12.6). If the
direct solver is used it is necessary for MAXSCR to be at least as large as NEQN.
The block iterative solver is based on the combination of the local LU decomposition
for each diagonal block and the algorithm of the iterative solver. This option may be used
in cases where the the iterative solver does not converge sufficiently fast, but where the
available RAM does not permit assigning MAXSCR=NEQN, or where NEQN is so large
that the direct solver is too time-consuming (the cpu required for the LU decomposition is
proportional to NEQN3). In general, the number of iterations is reduced as the block size
increases.
ISOLVE=0 is recommended when ILOWHI=0. In some cases the iterative method does not
converge after MAXITT iterations (see below). In this case, the user can i) set ISOLVE=1
to invoke the direct solver ii) set ISOLVE=N, (N2) to invoke the block iterative method,
iii) keep ISOLVE=0 and increase MAXITT or iv) a combination of ii) and iii).
ISOLVE=1 is recommended when ILOWHI=1 because the iterative method is not effective
in general. For a large number of unknowns, the block-iterative method can be efficient.
But the number of blocks should be chosen carefully so that iteration converges sufficiently
fast.
In the standard test runs described in Appendicies A and B, the iterative or block-iterative
solvers converge within the default number of iterations MAXITT=35, for all cases where
these solvers are used, except for TEST02.
ITANKFPT is an integer parameter specifying the option to input field point (fpt) coordinates in the .frc control file, either in the conventional format (default) or in the format
required when some or all of the field points are located within the internal tanks.
ITANKFPT= 0: All field points are in the exterior domain. Field points are input as
specified in Sections 3.3 and 3.4, with the coordinates of each field point on one line. The
line containing the input data for the nth field point is
XFIELD(1,n),XFIELD(1,n),XFIELD(1,n)
329
ITANKFPT= 1: Field points are listed in the .frc control file with the tank number
preceding the coordinates. Thus, in place of the line shown above, the correponding data
are input as follows:
ITANK(n) XFIELD(1,n) XFIELD(1,n) XFIELD(1,n)
ITANK(n) is an integer which specifies the tank number containing the nth field point.
If ITANK(n)=0, the field point is in the exterior domain. The numbering of the tanks
corresponds to the order of the NPTANK indices, as explained below.
The default value is ITANKFPT= 0.
MAXITT is the integer parameter used to specify the maximum number of iterations in
the iterative solver of POTEN. (Further information is given above regarding the parameter
ISOLVE.)
The default value MAXITT=35 is recommended for general use.
MAXMIT is the maximum number of iterations in the adaptive integration used to
evaluate the momentum integral for the drift force and moment (Option 8). (The maximum
number of integration ordinates in the azimuthal direction is equal to 2**MAXMIT.)
The default value MAXMIT=8 is recommended for general use. A warning message is
issued if the integration does not coverge to 4 significant digits within the specified number
of iterations.
Often the warning message is issued because of the smaller component of drift force or
moment. This force or moment can be either converged for most practical purposes or too
small to be important in practice. It is recommended to check the practical importance
of this quantity. Further check on the convergence of the result can be made by increasing MAXMIT gradually. Since the computational time increases exponentially, it is not
recommended to use significantly large MAXMIT than the default value.
MAXSCR is the integer parameter used to specify the available RAM for scratch storage
in POTEN. The default value MAXSCR=2 is specified in V6PC to minimize the required
RAM. Users should assign MAXSCR in to have the largest practical value as described in
Section 10.4.
MODLST is the integer parameter used to control the order in which the added-mass and
damping coefficients, exciting forces, and RAOs for different modes of motion are written
to the output files. (In V5.3 the added-mass and damping coefficients were not included
in this option.)
MODLST= 0: Outputs are in ascending order of the modal indices.
MODLST= 1: Outputs are in the order evaluated for each of the corresponding left-handsides.
These two alternatives differ only if NLHS is greater than one. The default value is
MODLST= 0.
330
MONITR is the integer parameter used to control the display of output to the monitor
during the execution of FORCE.
MONITR= 0: Outputs to the monitor are abbreviated, consisting of the header text and
displays of each wave period as it is executed. This option is convenient in long runs of
FORCE with extensive lines of output, to permit monitoring the progress of the execution.
MONITR= 1: Outputs of all data evaluated by FORCE are displayed on the monitor
during execution, in the same format as in the OUT le.
The default value is MONITR= 0.
NOOUT is an integer array with length 9, used to control the output to the OUT le.
Each element of the array corresponds to one of the 9 options in FRC. If the element equals
0, the corresponding output is omitted from the OUT le.
NOOUT(I)= 0 Omit the output corresponding to IOPTN(I) in the OUT le
NOOUT(I)= 1 Include the output corresponding to IOPTN(I) in the OUT le
If NOOUT is included in the conguration le all 9 integers must be specied. An example
is shown on the next line, which species that all outputs are included in the OUT le
except the pressures and/or uid velocities on the body panels.
NOOUT= 1 1 1 1 0 1 1 1 1
This option can be useful to avoid very long OUT les, since the data for option 5 is
generally much more extensive than for the other options. The default value NOOUT(I)= 1
for I = 1, ..., 9 is assigned if NOOUT is not included in the conguration le. (The data for
each specied option is always included in the corresponding numeric output le, regardless
of the array NOOUT.)
NPTANK is an integer array used to specify the panel or patch indices of internal tanks.
The data in this array are in pairs, denoting the rst and last index for each tank. An
even number of indices must be included on each line. More than one line can be used
for multiple tanks, and/or multiple tanks can be dened on the same line. If NBODY>1,
the body number(s) for each body containing tanks must be appended to the parameter
name. Only integer data are read for the array NPTANK, with spaces separating each
index. Other ASCII characters may be used to delimit the data in pairs. Further details
and examples are given in Section 10.7.
NUMHDR is the integer parameter used to control writing of a one-line header in the
numeric output les.
NUMHDR= 0: No headers are included.
NUMHDR= 1: A one-line header is included in the numeric output les specifying the le
name, date, and time.
The default value is NUMHDR= 0.
NUMNAM is the integer parameter used to control the assignment of lenames to the
numeric output les.
331
NUMNAM= 0: Numeric lenames are assigned based on the lename of the FRC input
control le. (The same lename is used for the OUT output le.)
NUMNAM= 1: Numeric lenames are assigned as optn.
The default value is NUMNAM= 0.
PANEL SIZE is a parameter used for automatic subdivision of patches in the higherorder panel method. Further information is given in Chapter 6.
PANEL SIZE 0.0: subdivide patches into panels as specied by the parameters NU,NV
in the SPL le.
PANEL SIZE > 0.0: subdivide patches into panels so that the maximum length of each
panel is approximately equal to the value of this parameter in dimensional units.
RHOTANK is a real array used to specify the density of uid in internal tanks. The
density specied is relative to the density of the uid in the external domain outside
the bodies, as dened in Chapter 4. The data in the array RHOTANK must be input
in the same order as the data in the array NPTANK. Multiple lines of this parameter
may be used, with an arbitrary number of data on each line, but each line must begin
with RHOTANK=. The total number of tanks NTANKS is derived from the inputs
NPTANK in the POTEN run. If fewer than NTANKS values of RHOTANK are specied,
the remainder of the array is assigned the last non-negative value. Thus if the density is
the same for all tanks, only the rst value is required. Zero may be assigned, but negative
values of the density must not be assigned. RHOTANK is only used in the FORCE run,
and may be changed if separate FORCE runs are made using the same POTEN outputs.
Further details and examples are given in Section 10.7.
The following two parameters are applicable to the PC version only.
SCRATCH PATH is the path designating a directory (folder) for storage of some scratch
arrays. If this input is not used all scratch storage is in the default directory where
the program is run. If a dierent directory is specied, about half of the scratch arrays
will be stored in the default directory, and the remaining arrays will be stored in the
designated alternative directory. This option permits users with two or more disk drives
to distribute the scratch storage, thereby increasing the usable disk storage. The example
below illustrates this option. (The user must make the specied directory, if it does not
already exist, prior to running the program.) Spaces cannot be used in the pathname, as
explained below.
USERID PATH designates the directory (folder) where the input le USERID.WAM is
stored. (This input le is required for users of V6PC.) It is convenient to store USERID.WAM,
the executable WAMIT.EXE, and the dynamic link libraries DFORRT.DLL, GEOMXACT.DLL, NEWMODES.DLL together in one directory (e.g. C:\WAMIT). In this case
USERID PATH should be specied as in the example below. (Note that the executables
can be run from another directory provided their resident directory is included in the system path specied in the AUTOEXEC.BAT le.) Spaces cannot be used in the pathname,
as explained below.
332
The syntax of the configuration file is illustrated in the following example. To specify
each of the desired inputs, the corresponding parameter is displayed, followed by an =
sign, followed by the value of the parameter. These lines may be in any order. Lines
which do not contain an = sign are ignored. Comments may be inserted following the
value of a parameter on the same line, separated by at least one blank space. (Since
a blank space is used to designate a comment, the names of directories or folders in
SCRATCH PATH and USER PATH cannot include blank spaces.) All elements of the
arrays IALTFRCN(NBODY), NOOUT(9) and XBODY(4) should be displayed in order on
one line. All other parameters must be input singly on separate lines.
333
The following example of a configuration file illustrates all of the possible input parameters for NBODY=1. Section 7.6 shows additional inputs for NBODY>1. For clarity the
parameters are arranged in alphabetic order, but their actual order is arbitrary.
IALTFRC=1 (use FRC format in Section 3.1)
IALTPOT=1 (use POT format in Section 3.3)
ICTRSURF=1 (use Alternative 1 evaluation of control surface drift forces)
IDIAG=0 (omit IDIAG from POT file)
IFIELD ARRAYS=1 (arrays of field point data is assigned, as in Section 3.10)
IFORCE=1 (run the FORCE subprogram)
IGENMDS=1 (run DEFINE subroutine in .dll file for generalized modes)
ILOG=0 (omit ILOG from POT file)
ILOWGDF=0 (do not output low-order GDF from higher-order geometry)
ILOWHI=0 (use low-order method)
INUMOPT5=1 (output the separate components of the body pressure/velocity)
INUMOPT6=1 (output the separate components of the field pressure)
INUMOPT7=1 (output the separate components of the field velocity)
IPERIO=1 (POT file contains wave periods in seconds)
IPLTDAT=0 (do not output data for plotting geometry)
IPNLBPT=1 (evaluate body pressure at points specified in body coordinates)
IPOTEN=1 (run the POTEN subprogram)
QUAD=0 (omit IQUAD from POT file)
IQUADI=4 (inner Gauss quadrature order in higher-order method)
IQUADO=3 (outer Gauss quadrature order in higher-order method)
IRR=0 (omit IRR from POT file)
ISCATT=1 (Solve for scattered potential)
ISOLVE=2 (Use two blocks in iterative solver)
ISOR = 1 (solve for source strength omit ISOR from POT file)
ITANKFPT=1 (input field points in internal tanks with special format)
KSPLIN = 3 (Use 3rd-order B-splines for potential in higher-order method)
MAXITT = 35 (Maximum number of iterations in solver)
MAXMIT = 8 (Maximum number of iterations in momentum integral)
MAXSCR = 1024 (store 1024 1024 LHS matrix elements in RAM)
MODLST =1 (Outputs in same order as left-hand-sides)
MONITR=1 (display all FORCE output to monitor)
NEWMDS=0 (No generalized modes)
NOOUT=1 1 1 1 0 1 1 1 1 (output all but body pressure/velocity data)
NPTANK= 8-11 12-15 (range of panels/patches on two internal tanks)
NUMHDR=1 (write headers to numeric output files)
NUMNAM=1 (Numeric filenames are assigned as OPTN)
PANEL SIZE = 0.1 (automatic subdivision of patches in higher-order method)
RHOTANK = 0.6 1.0 (relative fluid densities in the two tanks)
SCRATCH PATH=D:\TEMP
USERID PATH=C:\WAMIT
XBODY = 0.0 0.0 0.0 0.0 (omit XBODY from POT file)
334
3.8
FILE NAMES
The names of the input data files should not exceed 20 characters in length including
extensions and should have one period separating the filename and extension. Provisions
are made in WAMIT to guard against unintended loss of old output files. If the names
specified for the P2F and OUT files are identical to existing files, the user is prompted
interactively to choose between (1) changing the new output filename, or (2) overwriting
the old file. If a new filename is specified interactively it must include the desired extension.
For example, if the name CYL.FRC is retained in Session 2 as described in Section 2.2,
instead of a modified name such as CYL2.FRC, the user will be prompted at the start of
the FORCE subprogram with the choice of either overwriting the old file CYL.OUT or
specifying another name for the new OUT file. If the default setting NUMNAM=0 is used,
the same safeguard will apply to the numeric output files, minimizing the possibility that
these are lost during a subsequent run. Otherwise, if NUMNAM=1, the OPTN output
files are assigned the same generic names for all runs, and old OPTN files are overwritten
without warning when a new run is made; this option avoids the proliferation of old output
files, but requires the user to rename or otherwise preserve the contents of OPTN files which
are to be saved.
For batch processing it is important to avoid interactive interrogation from the programs.
Thus the user should delete or rename P2F and/or OUT files from previous runs, if the
same names will be assigned (from the POT and/or FRC control filenames respectively in
a new run.)
In the User Manual capital letters are generally used for file names to provide emphasis and visual correspondence with systems where file names are displayed in capital
letters. A distinction must be made for systems such as UNIX, which are case sensitive. Most filenames and extensions which are assigned by WAMIT are specified in lowercase letters (via assignments of type CHARACTER in the source file modulesc.f, module
MAINC ARRAYS). This applies in particular to the input files fnames.wam and config.wam, and to the extensions .p2f, .out, etc. The only exceptions to this convention
are the scratch files opened temporarily by WAMIT with the explicit names SCRATCHA,
SCRATCHB, etc.
In previous versions of WAMIT the extensions .gdf, .pot, and .frc were recommended
but not required for the GDF, POT, and FRC input files. In Version 6 these extensions are
required, unless the corresponding assignments are changed in the source code. (This new
requirement permits a more flexible arrangement of the optional input file fnames.wam.)
In V6.2-3, a separate utility program F2T.EXE is provided. INPUTS.F2T is reserved
as a generic input filename to this program.
335
3.9
FILE FORMAT
The free-format READ statements read only the specified data on a line, or on subsequent
lines if there is insufficient data on the first line. Comments inserted after the specified
data are ignored. Thus it is possible for the user to include comments at the ends of
selected lines in the input files, to identify the data on these lines. Such comments should
be separated from the data by at least one blank space. This format is illustrated in the
input files of Test Run 01. Generally, comments at the ends of appropriate lines, which
contain non-numeric ASCII characters, will ensure that execution is interrupted with an
error message if insufficient data is contained on the line.
When blocks of data are written on multiple lines, and read by a single READ statement,
comments are only permitted after all of the data is read. In the POT file, for example,
comments could be placed after the last elements of the arrays PER and BETA, but not on
intermediate lines which contain these arrays, and similarly for field point coordinates in the
FRC file. A special restriction applies to the format of the GDF file when the higher-order
method is used (ILOWHI=1) and the geometry is defined by MultiSurf (IGDEF=2), or
explicitly (IGDEF <0 or >2). In this case it is possible to input relevant body dimensions
in the GDF file, as illustrated in Section 6.8 and in most of the higher-order test runs. In
this case the data included in the GDF file (starting on line 5) must be restricted to columns
1-80. Note that an extra line of data has been added to the GDF file in Versions 6.2-3, in
all cases where (IGDEF <0 or >1), to specify the number of lines to be read beyond line 5.
Users of Version 6.0 must insert this extra line in GDF files where the higher-order method
is used, except in the cases IGDEF=0 and IGDEF=1 where no changes are required. Also,
IGDEF=2 is reserved in V6.2-3 for MultiSurf inputs and should not be used for explicit
geometry definition as permitted in V6.0.
336
3.10
In some applications large numbers of field points are required, with a spacing on a rectangular grid. In Version 6.3 a new option has been introduced to facilitate inputting this data
in the FRC file. This option is specified by assigning the parameter IFIELD ARRAYS= 1
in the CFG file, as explained in Section 3.7. When IFIELD ARRAYS= 1, additional data
is appended to the FRC file immediately after the line(s) containing NFIELD and XFIELD.
The following shows the complete Alternative 1 FRC file, replacing the format shown in
Section 3.3:
header
IOPTN(1) IOPTN(2) IOPTN(3) IOPTN(4) IOPTN(5) IOPTN(6) IOPTN(7) IOPTN(8) IOPTN(9)
VCG
XPRDCT(1,1) XPRDCT(1,2) XPRDCT(1,3)
XPRDCT(2,1) XPRDCT(2,2) XPRDCT(2,3)
XPRDCT(3,1) XPRDCT(3,2) XPRDCT(3,3)
NBETAH
BETAH(1) BETAH(2) ... BETAH(NBETAH)
NFIELD
XFIELD(1,1) XFIELD(2,1) XFIELD(3,1)
XFIELD(1,2) XFIELD(2,2) XFIELD(3,2)
XFIELD(1,3) XFIELD(2,3) XFIELD(3,3)
.
.
XFIELD(1,NFIELD) XFIELD(2,NFIELD) XFIELD(3,NFIELD)
NFIELD ARRAYS
ITANKFLD(1)
NFX(1) X1(1) DELX(1)
NFY(1) Y1(1) DELY(1)
NFZ(1) Z1(1) DELZ(1)
ITANKFLD(2)
NFX(2) X1(2) DELX(2)
NFY(2) Y1(2) DELY(2)
NFZ(2) Z1(2) DELZ(2)
.
.
ITANKFLD(NFIELD ARRAYS)
NFX(NFIELD ARRAYS) X1(NFIELD ARRAYS) DELX(NFIELD ARRAYS)
NFY(NFIELD ARRAYS) Y1(NFIELD ARRAYS) DELY(NFIELD ARRAYS)
NFZ(NFIELD ARRAYS) Z1(NFIELD ARRAYS) DELZ(NFIELD ARRAYS)
338
Chapter 4
DEFINITION OF QUANTITIES
EVALUATED BY WAMIT
The forces and other quantities evaluated by WAMIT are output in a standard nondimensional form, in terms of the appropriate combinations of the water density , the
acceleration of gravity g, the incident-wave amplitude A, frequency ,and the length scale
L dened by the input parameter ULEN in the GDF le. (The volume and coordinates of
the center of buoyancy are exceptions. They are output in a dimensional form.)
Body motions and forces are dened in relation to the origin of the same Cartesian
coordinate system relative to which the panel osets are dened. Note that this origin
may be located on, above or below the free surface. If planes of symmetry are dened for
the body, the origin must always lie on these planes of symmetry. The x- and y-axes must
be parallel to the mean position of the free surface.
The notation and denitions of physical quantities here correspond with those in Reference [3], except that in the latter reference the y axis is vertical.
All of the evaluated quantities are included with appropriate identication in the OUT
output le. To facilitate post-processing the same quantities are also saved in the numeric
output les, following the format dened in Section 4.9.
In the cases of eld data and mean drift forces (Options 5-9) the denitions given below
in Sections 4.5-4.8 apply to the complete solution for the combined radiation and diraction
problems. The same quantities can be evaluated separately for either the radiation or
diraction problems, as explained in Section 4.10.
For the sake of simplicity, the denitions which follow in this Section assume that the
origin of the coordinate system is located on the free surface. Special denitions apply to
some quantities if vertical walls are dened, as explained in Section 5.3.
41
4.1
HYDROSTATIC DATA
All hydrostatic data can be expressed in the form of surface integrals over the mean body
wetted surface Sb , by virtue of Gauss divergence theorem.
a) Volume
=
Sb
n1 xdS =
Sb
n2 ydS =
Sb
n3 zdS
All three forms of the volume are evaluated in WAMIT, as independent checks of the
panel coordinates, and printed in the summary header of the output le. The median
volume of the three is used for the internal computations. If it is less than 1030 , a
warning is displayed and the coordinates of the center of buoyancy are set equal to zero.
For bottom-mounted structures, where panels are not dened on the bottom, the last
integral dened above diers from the correct submerged volume as noted in Section 3.1.
b) Coordinates of center of buoyancy
xb =
1
n1 x2dS
2 Sb
yb =
1
2
1
zb =
2
Sb
Sb
n2 y 2dS
n3 z 2dS
C(3, 3) = g Sb n3 dS
C(3, 4) = g Sb yn3 dS
C(3, 5) = g
xn3 dS
Sb
C(4, 4) = g Sb y 2 n3dS + gzb mgzg
C(4, 5) = g Sb xyn3dS
C(4, 6) = gx
+ mgxg
b 2
C(5, 5) = g Sb x n3 dS + gzb mgzg
C(5, 6) = gyb + mgyg
3)
C(3,
4)
C(3,
C(3, 5)
4)
C(4,
5)
C(4,
6)
C(4,
5)
C(5,
6)
C(5,
= C(3, 3)/gL2
= C(3, 4)/gL3
= C(3, 5)/gL3
= C(4, 4)/gL4
= C(4, 5)/gL4
= C(4, 6)/gL4
= C(5, 5)/gL4
= C(5, 6)/gL4
where C(i, j) = C(j, i) for all i, j, except for C(4, 6) and C(5, 6). For all other values of
the indices i, j, C(i, j) = 0. In particular, C(6, 4) = C(6, 5) = 0.
In C(4,4), C(4,6), C(5,5) and C(5,6), m denotes the body mass. When Alternative
form 1 is used for the FRC le (Section 3.3) the body mass is computed from the relation
m = . When Alternative form 2 is used for the FRC le (Section 3.4) the body mass is
dened by EXMASS(3,3).
42
4.2
i
Aij Bij =
Aij
Aij =
Lk
Sb
ni j dS
ij = Bij .
B
Lk
4.3
EXCITING FORCES
Sb
0
ni 0 i
dS
n
Sb
ni D dS
Xi
,
gALm
4.4
Two alternative procedures are followed to evaluate the body motions in waves, corresponding respectively to the Alternative 1 (Section 3.3) and Alternative 2 (Section 3.4)
FRC control les.
In Alternative 1, which is restricted to a body in free stable otation without external
constraints, the following relations hold
m =
xb = xg ,
yb = yg
where m is the body mass and (xg , yg , zg ) are the coordinates of the center of gravity.
43
M=
m
0
0
0
mzg myg
0
m
0
mzg
0
mxg
0
0
m
myg mxg
0
.
0
mzg myg
I11
I12
I13
mzg
0
mxg
I21
I22
I23
myg mxg
0
I31
I32
I33
(4.1)
WAMIT equates the body mass to the mass of the displaced water in free otation. The
moments of inertia Iij are dened in terms of the corresponding radii of gyration rij , dened
by the relation
Iij = rij |rij |.
The array XPRDCT(I,J) input to WAMIT contains the radii of gyration input with the
same units of length as the length scale ULEN dened in the panel data le.
In the Alternative 2 format of the FRC le the matrices Mij + MijE , BijE and CijE are
input by the user to include the possibility of external force/moment constraints acting on
the body.
The complex amplitudes of the bodys motions j are obtained from the solution of the
66 linear system, obtained by applying Newtons law
6
j=1
E
2 (Mij + MijE + Aij ) + i(Bij + Bi,j
) + (Cij + CijE ) j = Xi .
where the matrices MijE , BijE and CijE are included only in the Alternative 2 case. Note that
in the Alternative 2 case the user must specify the body inertia matrix Mij and include it
in the total inertia matrix Mij + MijE specied in the FRC le.
The non-dimensional denitions of the body motions are
i =
i
,
A/Ln
44
4.5
HYDRODYNAMIC PRESSURE
The complex unsteady hydrodynamic pressure on the body boundary or in the uid domain
is related to the velocity potential by the linearized Bernoulli equation
p =
.
t
6
j=1
j j ,
where the radiation and diraction velocity potentials are dened in Section 12.1. In order
to render the velocity potential and the hydrodynamic pressure non-dimensional, we dene
p =
6
p
j .
j
= D + KL
gA
j=1
where K = 2 /g and
D =
D
,
igA/
j =
j
Ln+1
p
= KLj
gj Ln
or p =
p
= j
gaj Ln+1
where aj is the acceleration in the same unit as the gravitional constant specied in the
GDF le for j = 1, 2, 3 and the angular acceleration in rad/s2 for j = 4, 5, 6. n = 0 for
j = 1, 2, 3 and n = 1 for j = 4, 5, 6.
4.6
FREE-SURFACE ELEVATION
The free surface elevation is obtained from the dynamic free-surface condition
1
=
g
,
z=0
= = D + KL
j
j
A
j=1
z=0
where is dened as in Section 4.5. [Note that the non-dimensional eld hydrodynamic
pressure and wave elevation are equal to the non-dimensional velocity potential at the
respective positions.]
These parameters can be evaluated separately for the diraction or radiation problems
by following the procedure described in Section 4.10. When the radiation components are
output separately, the nondimensional free-surface elevation due to jth mode is dened by
= KLj
j Ln
where n = 0 for j = 1, 2, 3 and n = 1 for j = 4, 5, 6.
=
The evaluation of the pressure or free-surface elevation requires special caution close
to the body surface. Within a distance on the order of the dimensions of the adjacent
panel(s), eld-point quantities cannot be computed reliably. More specic limits can be
ascertained by performing a sequence of computations and studying the continuity of the
result. Approaching the body along a line normal to the centroid of a panel will minimize
this problem. See Reference [12] regarding the computation of run-up at the intersection
of the body and free surface.
4.7
6
V
j
=
D + KL
j
igA/(L)
j=1
where
= L
=
j
V =
vj Ln
where vj denotes the velocity of the body for j = 1, 2, 3 and the angular velocity for
j = 4, 5, 6. n = 0 for j = 1, 2, 3 and n = 1 for j = 4, 5, 6.
4.8
The denition of the non-dimensional mean drift force and moment in unidirectional waves
is
Fi =
Fi
gA2 Lk
where k = 1 for the forces (i = 1, 2, 3), and k = 2 for the moments (i = 4, 5, 6).
For bi-directional waves of the same period, with complex amplitudes (A1, A2) and
corresponding angles of incidence (1, 2), the nondimensional outputs Fi (1, 2) are the
coecients such that the total dimensional mean drift force or moment exerted on the
body is given by the equation
Fi (1, 2) = gLk (|A1|2Fi (1, 1) + |A2 |2Fi (2, 2) + 2Re[A1 A2Fi(1 , 2)])
Note that Fi(2, 1 ) = Fi (1, 2), where the asterisk () denotes the complex conjugate.
In Option 8, the evaluation of the horizontal drift force and vertical moment is based
on the momentum conservation principle in its general form (see References [4] and [26]),
without the assumption of energy conservation. This permits the analysis of cases where
the body motions are aected by non-conservative eects, such as external damping. The
azimuthal integration required to evaluate the momentum ux is performed by an adaptive
quadrature formula in subroutine MDRFTM. [The integration is performed iteratively,
with convergence specied by the criterion of absolute or relative errors in each drift force
less than TOL=104 . The maximum number of iterations is controlled by the parameter
MAXMIT=8, which is specied in the main program. A warning message is displayed in
the event that this convergence criterion is not satised.]
In Option 9, the evaluation of the drift force and moment is based on integration of
the pressure over the body surface, using the relations in [10] and [17], as summarized in
Section 12.7. When ICTRSURF=1 the drift force and moment are also evaluated based
on the momentum ux across the control surface, using equations (12.57-60).
These parameters can be evaluated separately for the diraction or radiation problems
by following the procedure described in Section 4.10.
47
4.9
For each of the nine options in the FORCE subprogram, separate output les of numeric
data are generated as listed in Section 3.3. The hydrodynamic parameters in these les
are output in the same order as in the OUT le, and listed in the following format:
ij
OPTN.1:
PER I
J
Aij
B
i ) Pha(X
i ) Re(X
i ) Im(X
i)
OPTN.2:
PER BETA I
Mod(X
i)
OPTN.3:
PER BETA I
Mod(Xi ) Pha(Xi ) Re(Xi ) Im(X
OPTN.4:
PER BETA I
Mod(i ) Pha(i ) Re(i ) Im(i )
OPTN.5P:
PER BETA M K Mod(
p)
Pha(
p)
Re(
p)
Im(
p)
C(I,J)
radiation and diraction pressure and velocity in the following modied format:
p1) Re(
p2) Im(
p2 ) ...
OPTN.6: PER L
Re(
p1 ) Im(
PER BETA L
Re(
pD ) Im(
pD )
Here ... denotes the remaining components for modes 3,4,5,6 if the six rigid-body modes are
specied for a single body. More generally when dierent sets of modes are evaluated for
one or multiple bodies, these are output in sequence. For each wave period the radiation
pressures are listed for all values of L before the diraction pressures. Corresponding formats apply for the uid velocity components in the les OPTN.7X, OPTN.7Y, OPTN.7Z.
(See section 4.12.)
If Option 6 or 7 is specied, the supplementary output le frc.FPT will be created in
the following format:
OPTN.FPT: L XFIELD(L)
YFIELD(L)
ZFIELD(L)
Except as noted below, the denitions of parameters in these les are as follows:
I, J: Mode indices
M: Index for quadrant (2 planes of symmetry) or half (1 plane of symmetry).
(If no planes of symmetry are specied, or if IPNLBPT>0, then M=1.)
K: Index for panels on the body surface
L: Index for eld points
PER: Period
BETA: Wave heading
BETA1, BETA2: Two wave headings for the mean drift forces and moments
XCT, YCT, ZCT: Dimensional global coordinates of panel centroid.
AREA: Dimensional value of the area of a panel
nx , ny , nz : Components of the unit vector normal to K-th panel in local coordinate system
(r n)x, (r n)y , (r n)z : Components of the cross product of the position vector to the
centroid of the K-th panel and its normal vector, in the local coordinate system. Here r
is given in dimensional units.
XFIELD, YFIELD, ZFIELD: Dimensional global coordinates of the eld point
All output quantities are nondimensionalized as dened in Sections 4.2-8. Complex
quantities are dened by the magnitude (Mod), phase in degrees (Pha), and also in terms
of the real (Re) and imaginary (Im) components. The phase is relative to the phase of an
incident wave at the origin of the global coordinates system.
In Option 5, when IPNLBPT= 0, the index M refers to the body index and K refers to
the body point in the order listed in the .bpi input le and .bpo output le. The le gdf.pnl
is only output when IOPTN(5)>0 and IPNLBPT=0. If ILOWHI=1 the data output in
this le dier from those shown above as follows:
49
410
4.10
If the higher-order method is used (ILOWHI=1), Option 5 is selected in the FRC le,
and IPNLBPT=0, the pressure and the uid velocity on the body surface are output at
the points corresponding to equally spaced points in parametric space. These points are
dened in parametric space as the midpoints of the set of (KU + 1) (KV + 1) panel
subdivisions on each patch (see Chapter 6). The coordinates, the extended normal vector
corresponding to 6 rigid body modes and the Jacobian are output in the .pnl le. The
value of the Jacobian at the prescribed point replaces the panel area in the format shown
in Section 4.9. The pressure and the uid velocity vector at these points are output in the
les 5p, 5vx, 5vy and 5vz in the same format as shown in Section 4.9. ( If IPNLBPT=0
is assigned in the conguration le an alternative option is utilized with the points on the
body surface specied by the user, as described in Section 4.11.)
When the above options are specied a second output le .5pb is also generated. This
le contains the B-spline coecients and other relevant parameters for the evaluation of
the pressure and its derivatives on the body surface. The total pressure coecient (),
the diraction pressure (D ) and the radiation pressure (R ) are output separately. The
radiation pressure has as many components as the number of modes specied in the POT
le, including generalized modes. Following the denition of the nondimensional pressure
(Section 4.5) these three components are related by the equation
= D + KL
j j
((XBODY(L,J),L=1,4),J=1,NBODY)
((XBCS(L,J),L=1,2),J=1,NBODY)
(IBPTH(L),L=1,NPATCH)
(IBMOD(L),L=1,NBODY)
(IGEO(J),J=1,8)
(ILHS(J),J=1,4)
(IFLAT(L),L=1,NPATCH)
(KU(L),KV(L),NU(L),NV(L) ,L=1,NPATCH)
(NMDS(J),J=1,4)
(ICOL(J),J=1,NDFR)
((MDS(L,J),L=1,NDFR),J=1,4)
(BETA(NB),NB=1,NBETA) (omit if IDIFF=-1)
Loop over number of periods (repeat NPER times)
PER(IP),WVNFIN(IP),WVNUM,IFREQ
IF block starts (if IFREQ=0)
IF block starts (if IRAD>-1 and IDIFF>-1)
Loop over wave-headings starts (repeat NBETA times)
(WRAO(IM,NB),IM=1,NDFR)
Loop over wave-headings ends (repeat NBETA times)
Loop over wave-headings starts(repeat NBETA times)
Loop over number of symmetric images (repeat MXNLHS times)
Loop over number of patches (repeat NPATCH times)
(WPRS(I,M,NB),I=NP+1,NQ) (omit if IFLAT(L)=-1)
End of the loop over number of patches
End of the loop over symmetric images
Loop over wave-headings ends (repeat NBETA times)
IF block ends (if IRAD>-1 and IDIFF>-1)
IF block starts (if IDIFF >-1)
Loop over wave-headings starts (NBETA times)
Loop over number of symmetric images (repeat MXNLHS times)
Loop over number of patches (repeat NPATCH times)
(WBD(I,M,NB),I=NP+1,NQ) (omit if IFLAT(L)=-1)
End of the loop over number of patches
End of the loop over symmetric images
Loop over wave-headings ends (NBETA times)
IF block ends (if IDIFF >-1)
IF block ends (if IFREQ=0)
IF block starts ( if IRAD>-1 )
Loop over left hand side starts (repeat NLHS times)
Loop over number of modes for each left-hand-side
MDI (mode index)
Loop over number of symmetric images (repeat MXNLHS times)
Loop over number of patches (repeat NPATCH times)
(WBR(I,ICOL(MDI)),I=NP+1,NQ) (omit if IFLAT(L)=-1)
412
wave number, period index (IFREQ=0: normal period, IFREQ=1: innite or zero period).
When IFREQ=1, the total and diraction pressure coecient are not output in .5pb.
WRAO (I,J): Complex motion amplitude (I: modes, J:wave heading)
WPRS: Total pressure coecient (I: unknown coecient, M:reection J:wave heading)
WBD: Diraction pressure coecient (I: unknown coecient, M:reection J:wave heading)
MDI: Mode index.
WBR: Radiation pressure coecient (I: unknown coecient, ICOL(MDI):pointer of mode
MDI)
414
4.11
If IOPTN(5)> 0, the hydrodynamic pressure and uid velocity on the body surface can be
evaluated. The points where the pressure is evaluated depend on the parameter IPNLBPT
in the conguration le. In the default case IPNLBPT=0, the pressure is evaluated at
the panel centroids in the low-order method (ILOWHI=0) or at a set of uniformly spaced
parametric points on each patch in the higher-order method (ILOWHI=1).
If IPNLBPT= 0 the body pressure is evaluated at points on the body which are specied
by the user in a special input le gdf.bpi (Body Point Input). The format of this le is as
follows:
header
NBPT
X(1) Y(1) Z(1)
X(2) Y(2) Z(2)
.
.
X(NBPT) Y(NBPT) Z(NBPT)
Note that the lename of this le must be the same as the lename of the .GDF le.
If IP NLBP T > 0, the data in the .bpi le is read and interpreted to be in dimensional
body-xed coordinates. If IP NLBP T < 0, the data in the .bpi le is read and interpreted
to be in dimensional global coordinates. (The relationship between these two coordinate
systems is dened by the array XBODY, as dened in Section 3.1.)
The procedure followed to evaluate the body pressure at these specied points is different in the low-order (ILOWHI=0) and higher-order (ILOWHI=1) solutions. These are
described separately below.
If ILOWHI=0, the solution is based on piecewise constant values of the potential on
each panel based on colocation at the panel centroids. In order to evaluate the pressure at
other points an interpolation procedure is adopted. This interpolation is based on a userspecied number NNEAR of nearest panel centroids. The parameter NNEAR is determined
from the absolute value of the input parameter IPNLBPT. IPNLBPT=4 is recommended,
when the input points are in body-xed coordinates. In this case the program searches and
identies the four nearest panel centroids to each specied input point, and assigns weights
to each of these panels based on the (inverse) distance to each centroid. The pressure is
output in the .5p numeric output le with the following format:
OPTN.5P: PER
BETA
Pha(
p)
Re(
p) Im(
p)
This format and the denitions of the data are the same as in Section 4.9, except that
the index IBODY is used to specify the body index and IPOINT is used to specify the index
of the input point in the .bpi le (J=1,2,...,NBPT) for each body. Similar output les .5vx,
415
.5vy, .5vz contain the components of the uid velocity on the body surface in the same
format, when IOPTN(5)2. In addition to these hydrodynamic outputs, a supplementary
output le gdf.bpo (Body Point Output) is created with the following format:
gdf.BPO: M N1 R1 N2 R2 N3 R3 N4 R4
Here M is the quadrant index, N1 is the panel index of the nearest panel and R1 is the radial
distance from the specied point (x, y, z) to the centroid of the panel. Successive pairs (Ni,
Ri) are the index and radial distance to the other panel centroids, where (i=1,2,...,NNEAR).
(In the example shown above NNEAR=4.)
In the higher-order method (ILOWHI=1) the solution for the velocity potential and
pressure is represented by continuous B-splines on each patch. For each specied input
point (x, y, z) the program searches for the patch index and (U, V ) coordinates of the
point on this patch which is closest to the input point. The pressure is evaluated at the
corresponding point (U, V ) and output in the .5p and .5v les with the same format as
shown above. In this caes the supplementary output le gdf.bpo contains the following
data for each point:
gdf.BPO: K M
NP U
V R
I XI XN
Here K is the body point index, M is the quadrant index, NP is the patch index, and (U,V)
are the parametric coordinates on the patch. R is the radial distance from the point (U,V)
on the patch to the specied (x, y, z) point. An iterative procedure is used to nd (U,V),
with a specied convergence tolerance of 1.0E-4 for the radial distance in nondimensional
Cartesian coordinates. (When the length scale of the patch is larger than 1.0 the tolerance
is increased by a factor equal to this length scale, estimated from the Jacobian of the
parametric transformation at the center of the patch.) I is the number of iteration. A
maximum of 16 iterations are used in this search, and if I=17 this indicates noncovergence
of the search. A warning message is generated if nonconvergence occurs for one or more
input points, showing the total number of unconverged points. XI is the position vector
of the output point on the body surface and XN is the normal vector at XI, both in body
coordinates system.
In both the low-order and higher-order implementations, the input data in the .bpi le
should correspond to points which lie as close as possible to the body surface.
If points in the BPI les are very close to intersections of adjacent patches in the
higher-order method, the index NP in the BPO le should be checked to verify that the
correct patch is used, especially in cases where there is ambiguity between the pressure
on a conventional patch and the pressure jump on a dipole patch. Similarly, in the loworder method, the panel indices, N1, N2, ... in the BPO le can be checked to verify the
corresponding output at the points in BPI les is the pressure obtained from those on the
conventional body panels or the pressure jump on the dipole panels.
416
4.12
4.13
In the two limiting cases of zero and innite period (or equivalently, innite and zero
frequency), it is possible to evaluate the pressure and velocity on the body (Option 5) and
in the uid (Options 6 and 7). This extension is particularly important in the context
of evaluating the corresponding time-domain impulse response functions, as explained in
Chapter 13. These extended outputs are only included in the numeric output les if the
corresponding parameters INUMOPT5, INUMOPT6, INUMOPT7 are assigned with value
1 in the .cfg le. The formats of the corresponding numeric output les are explained in
Section 4.9.
Special denitions are applied to the radiation pressure and velocity in the case of zero
frequency, which is identied in the output les by a negative value of the wave period.
In general, for nonzero nite values of the frequency, the nondimensional outputs for the
radiation pressure and velocity are as dened in Sections 4.5 and 4.7. Thus the output
j .
pressure for each radiation mode is KLj and the output velocity for each mode is KL
However for the two limiting cases, where KL = 0 or KL = , the factor KL is omitted
from the outputs for options 5,6,7. The following table summarizes these denitions:
417
frequency
period
pressure
=0
PER< 0
velocity
j
KLj
j
KL
PER=0
418
Chapter 5
to the thickness, and thus a very large number of small panels may be required to achieve
accurate results. The second approach is to reduce the thickness to zero, and represent the
corresponding elements of the body by special dipole panels. This approach is analogous
to the thin-wing approximation in lifting-surface theory [21]. Version 6 permits the user
to specify a set of dipole panels, as described in Section 5.4. This option facilitates the
analysis of bodies with damper plates, strakes, and similar thin elements, without the need
to use very large numbers panels or to articially increase the thickness.
Starting in V6.2, the same extension is made for ILOWHI=1 and the users may specify
dipole patches to represent thin structures as described in Section 6.10.
52
5.1
Figure 5.1: Discretization of a circular cylinder showing the convention for panel vertex numbering. The
perspective view is from above the free surface, showing portions of the exterior and interior of the cylinder
(lower and upper portions of the figure, respectively). The view of panel i is from the wet side, inside
the fluid domain, so the vertex ordering appears anti-clockwise. The view of panel j is from the dry side
outside the fluid domain, so the vertex ordering appears clockwise.
header
ULEN GRAV
ISX ISY
NPAN
X1(1) Y1(1) Z1(1) X2(1) Y2(1) Z2(1) X3(1) Y3(1) Z3(1) X4(1) Y4(1) Z4(1)
X1(2) Y1(2) Z1(2) X2(2) Y2(2) Z2(2) X3(2) Y3(2) Z3(2) X4(2) Y4(2) Z4(2)
.
.
.
.
.
. . . . .
.
. . . . X4(NPAN) Y4(NPAN) Z4(NPAN)
Each line of data indicated above is input by a separate FORTRAN READ statement,
hence line breaks between data must exist as shown. Additional line breaks between data
shown above have no eect on the READ statement, so that for example the user may elect
to place the twelve successive coordinates for each panel on four separate lines. (However
the format used above is more ecient regarding storage and access time.)
Input data must be in the order shown above, with at least one blank space separating
data on the same line.
The denitions of each entry in this le are as follows:
header denotes a one-line ASCII header dimensioned CHARACTER72. This line is
available for the user to insert a brief description of the le, with maximum length 72
characters.
ULEN is the dimensional length characterizing the body dimension. This parameter
corresponds to the quantity L used in Chapter 4 to nondimensionalize the quantities output
from WAMIT. ULEN can be input in any units of length, meters or feet for example, as
long as the length scale of all other inputs is in the same units. ULEN must be a positive
number, greater than 105 . An error return and warning statement are generated if the
last restriction is not satised.
GRAV is the acceleration of gravity, using the same units of length as in ULEN. The units
of time are always seconds. If lengths are input in meters or feet, input 9.80665 or 32.174,
respectively, for GRAV.
ISX, ISY are the geometry symmetry indices which have integer values 0, +1. (A negative
value is assigned when a vertical wall is present. This case is discussed in Section 5.3.) If
ISX and/or ISY =1, x = 0 and/or y = 0 is a geometric plane of symmetry, and the input
data (panel vertex coordinates X,Y,Z and their total number NPAN) are restricted to one
quadrant or one half of the body, namely the portion x > 0 and/or y > 0. Conversely, if
ISX=0 and ISY=0, the complete submerged surface of the body must be represented by
panels.
ISX = 1: The x = 0 plane is a geometric plane of symmetry.
54
Two adjacent vertices are dened to be coincident if their included side has a length less
than ULEN 106 . An error return results if the computed area of any panel is less than
ULEN2 1010 .
The input vertices of a panel do not need to be co-planar. WAMIT internally denes
planar panels that are a best t to four vertices not lying on a plane. However it is advisable
to discretize the body so that the input vertices dening each panel lie close to a plane,
in order to achieve good accuracy in the computed velocity potentials. An error message
is printed if a panel has two intersecting sides. A warning message is printed if a panel is
convex (the included angle between two adjacent sides exceeds 180 degrees).
The origin of the body coordinate system may be on, above or below the free surface.
The vertical distance of the origin from the free surface is specied in the Potential Control
File. The same body-system is also used to dene the forces, moments, and body motions.
(See Chapter 5 regarding the change in reference of phase relations when walls are present.)
Only the wetted surface of the body should be paneled, and then only half or a quarter
of it if there exist one or two planes of symmetry respectively. This also applies to bodies
mounted on the sea bottom or on one or two vertical walls. The number of panels NPAN
refers to the number used to discretize a quarter, half or the whole body wetted surface if
two, one or no planes of symmetry are present respectively.
The displaced volume of the structure deserves particular discussion. Three separate
algorithms are used to evaluate this quantity, as explained in Section 4.1. Except for
the special case where the structure is bottom-mounted, the three evaluations (VOLX,
VOLY, VOLZ) should be identical, but they will generally dier by small amounts due
to inaccuracies in machine computation and, more signicantly, to approximations in the
discretization of the body surface.
For a bottom-mounted structure VOLZ is less than the true volume due to the missing
panels in the bottom. In this case a substantial reduction should be observed for VOLZ,
but VOLX and VOLY should be nearly equal. For the same reason, substantial dierences
may occur if a body is mounted in a vertical wall unless the origin of the body coordinates
is in the plane of the wall. With these exceptions, substantial dierences between the three
volumes may indicate errors in the GDF input data.
A unique value of the displaced volume is required in computing the hydrostatic parameters, and in evaluating the body inertia for the motions of the freely-oating body.
In these cases the displaced volume of uid is based on the median (middle value of the
three when ranked according to value) of VOLX, VOLY, and VOLZ. A warning message
is displayed by WAMIT if the median volume is less than 1030 .
A general-purpose pre-processor has been developed for preparation of GDF les, using
the MultiSurf geometric modelling program.1
1 AeroHydro,
Inc., 54 Herrick Rd., Southwest Harbor, Maine 04679 USA 207-244-4100 (www.aerohydro.com)
56
5.2
This section describes the evaluation and use of the source strength, in the context of
calculating the uid velocity components on the body and the mean drift force and moment
based on pressure integration in uni- and bi-directional waves.
In order to evaluate eectively the tangential components of the uid velocity on the
body (and hence the second-order mean pressure), the solution for the velocity potential
based on Greens theorem is augmented if ISOR=1 by the corresponding solution for the
source distribution on the body surface.
Setting the parameter ISOR=1 in the POT le or in the CONFIG.WAM le species that the source-distribution integral equation is solved in addition to the velocitypotential integral equation. Extended values are assigned to the option switches IOPTN(5),
IOPTN(6), IOPTN(7) and IOPTN(9) in the FRC le, to control the evaluation of the uid
velocity on the body and the pressure-integrated drift force/moment, respectively. Explanations of the new output quantities and changes in input are explained in the following
section. A brief description of the theory is provided in Section 12.5. (Further details are
given in [10] and [26].)
Values of the horizontal drift force and vertical drift moment can be compared with
the corresponding outputs evaluated using momentum conservation. In general the results
obtained from integration of the second-order pressure will require a ner discretization on
the body surface, particularly in the vicinity of sharp corners.
Body symmetries can be exploited to minimize computing time. Special attention must
be given to the evaluation of the drift forces, since these are dependent on quadratic
products of the rst-order solution. For example, if the body has two planes of symmetry
the vertical rst-order exciting force and heave response can be evaluated simply by setting
IRAD=-1, IDIFF=0, MODE(3)=1, and the remaining MODE indices equal to zero. This
will not give the correct vertical drift force on the body, however, since the components of
the diraction potential and body motions which are odd functions of x and y have not
been evaluated. In general the drift forces should be evaluated only after evaluating all
components of the rst-order potential, i.e. by setting IDIFF=1 for the stationary body
and IRAD=1 and IDIFF=1 for the freely oating body in the POT le. [An example of
a valid short cut exists if both the body geometry and the hydrodynamic ow eld are
symmetrical about a plane of symmetry; then it is not necessary to evaluate rst-order
potentials which are odd about that plane since these would vanish. For example, if the
body is symmetrical about y = 0 and the incident-wave heading angle is either zero or
180 , the drift force and moment can be obtained by setting MODE(n)=0 for n = 2, 4, 6.]
To calculate the mean drift forces it is necessary to evaluate the runup or, equivalently,
the velocity potential at the waterline. Since the program utilizes the velocity potentials
at the centroids of the panels adjacent to the waterline for the runup, it is advisable to use
panels with small vertical dimensions near the waterline.
In the Force Control File (FRC) extended options are assigned to IOPTN(5), IOPTN(6),
IOPTN(7) and IOPTN(9), as follows (See also Section 3.3):
57
IOPTN(5) is the index used to specify whether the pressure and/or velocity are evaluated
on the body boundary:
IOPTN(5) = 0: Do not output either the pressure or velocity.
IOPTN(5) = 1: Output the pressure only.
IOPTN(5) = 2: Output the velocity only (requires ISOR= 1).
IOPTN(5) = 3: Output both the pressure and the velocity (requires ISOR= 1).
IOPTN(6) is the index used to specify whether the pressure in the uid and/or free
surface elevation are evaluated.
IOPTN(6) = 0: do not output pressure and/or free-surface elevation
IOPTN(6) = 1: do output pressure and/or free-surface elevation by the potential formulation
IOPTN(6) = 2: do output pressure and/or free-surface elevation by the source formulation
IOPTN(7) is the index used to specify whether the velocity in the uid is evaluated.
IOPTN(7) = 0: do not output uid velocity in the uid
IOPTN(7) = 1: do output uid velocity in the uid by the potential formulation
IOPTN(7) = 2: do output uid velocity in the uid by the source formulation
IOPTN(9) is the index used to specify whether the mean drift forces are evaluated from
pressure integration:
IOPTN(9) = 0: do not evaluate the mean force and moment
IOPTN(9) = 1: do evaluate the mean force and moment for each wave heading (requires
ISOR= 1).
IOPTN(9) = 2: do evaluate the mean force and moment for all combinations of the wave
headings (requires ISOR= 1).
The non-dimensional uid velocity is evaluated in vector form with respect to the global
coordinate system at the centroid of each panel. The non-dimensional denition of the uid
velocity is given in Section 4.7.
Three coordinate systems are used in the analysis of the second order mean forces and
moments. The rst is the global coordinate system (an inertial coordinate system) whose
origin should be on the free-surface with the vertical axis positive upward. The phases of
time-harmonic quantities in WAMIT are dened with respect to the phase of the incident
wave at the origin of the global coordinate system. The second coordinate system is the
body-xed coordinate system. The position and orientation of this coordinate system
at rest are dened relative to the global coordinates by the input array XBODY (see
Chapter 3). The third coordinate system, introduced to provide additional exibility in
the mean-force analysis, is the inertial coordinate system which coincides with the bodyxed coordinate system at rest. This third system is illustrated in Section 12.5, Figure
12.2.
58
The non-dimensional denitions of mean drift forces and moments are dened as in
Section 4.8. Typical outputs are provided in Test03 described in the Appendix (Section
A.3). The following features should be noted in the output:
i) On the line showing the number of iterations required for the solution, the second number
inside the parenthesis indicates the maximum number of iterations required for the solution
of the linear system for the evaluation of the source strength.
ii) The components of the uid velocity on the body surface are dened in reference to the
global coordinate system.
iii) The three drift force and moment components evaluated by momentum conservation
are dened with reference to the axes of the global coordinate system.
iv) The six components of the drift force and moment evaluated by pressure integration
are dened with reference to the axes of the body coordinate system at rest (O of
Figure 12.2). Also listed in the OUT le, in the two right columns, are the components
of the moment vector dened with respect to the body-fixed coordinate system (o of
Figure 12.2).
The format of the numerical output les is given in Section 4.9.
59
5.3
WAMIT includes the option to account for images of the body in the presence of one
vertical wall, or two vertical walls which intersect at a right angle.
Figure 5-2 denes two coordinate systems, one xed on the body and the other on the
wall. The axes of the former are denoted by (x, y, z) and those of the latter by (X, Y, Z). In
the presence of wall(s), the global coordinate system dened in Section 3.1 must coincide
with the wall coordinate system as dened in Figure 5-2. Only one body may be analyzed
in the presence of walls (NBODY=1). The drift force and moment cannot be evaluated by
momentum integration.
XBODY(4)
(XBODY(1),XBODY(2))
X
O
Figure 5.2: Definition sketch of coordinates
In the GDF le the panels are dened as in Section 5.1, in terms of the body coordinate
system. Negative values (-1, -2) are assigned to the symmetry indices ISX, ISY in place
of the conventional corresponding values (0, 1) to indicate the presence of either one or
two walls, as follows:
ISX = 1 or 2: The X = 0 plane is a plane wall.
ISY = 1 or 2: The Y = 0 plane is a plane wall.
If ISX or ISY is assigned the value 1, no local plane of symmetry is assumed and the
body must be represented completely (or half of it must be represented in the case where
the complementary plane of symmetry is specied). Conversely, if the body has a local
plane of symmetry x = 0 and/or y = 0, ISX and/or ISY can be assigned the value 2,
with panels dened in the GDF le only for the portion of the body where x 0 and/or
510
y 0. For example, ISX = 2, ISY = 0 signify that a wall is present on the X = 0 plane
and that the body is symmetric about the local x = 0 plane. In this case only the half of
the body needs to be discretized by the input panels. When ISX = 1, ISY = 2, a wall is
present on the Y = 0 plane and the body has two local planes of symmetry.
In the Potential Control File the vector XBODY(1),XBODY(2),XBODY(3) species the dimensional (X, Y, Z) coordinates of the origin of the body-xed coordinate system
relative to wall system, in the units of the length ULEN. XBODY(4) is the angle in degrees formed by the body x-axis and the X-axis of the wall system, as dened in Figure
5-2. The values of the incident wave heading angles BETA are dened with respect to the
positive X-axis.
An important detail to note is the denition of the incident-wave amplitude and its
physical interpretation. The incident-wave is dened as the incoming wave component
prior to reection from the wall(s), and A is the corresponding amplitude. After reection
the resulting wave eld, in the absence of the body, is an oblique standing wave with
maximum free-surface elevation 2A. In the special case = 0 the incident wave propagates
parallel to the wall, without a distinct reected component, but the physical amplitude of
this wave is 2A. Some consequences of this denition are noted in the comparison of Test
Runs 04 and 19 (see Sections A.4 and A.19).
In the Force Control File the array IOPTN is unchanged from the denitions in Section
3.3. Since momentum integration cannot be used to determine the mean drift force and
moment, IOPTN(8)=1 is ignored. IOPTN(9) is used in the normal manner to evaluate
the drift force and moment from pressure integration. The Haskind wave heading angles
BETAH are dened with respect to the walls in the same manner as the array BETA
above. The coordinates of eld points XFIELD where the pressure, wave elevation, and
velocity are evaluated, are dened as in Section 3.3 relative to the wall-mounted system.
The incident-wave velocity potential is dened relative to the wall-mounted coordinate
system. Consequently, the phases of the exciting forces, motions, hydrodynamic pressure
and eld velocity induced by the incident wave are understood relative to the incident-wave
elevation at X = Y = 0. In addition the uid velocity vector components are given with
respect to the wall-mounted coordinate system.
The other denitions of output quantities in Chapter 4 are unchanged.
511
5.4
In Version 6 an extension has been developed to analyze bodies which consist partially (or
completely) of elements with zero thickness. These elements are represented by panels in
the same manner as conventional body panels (Section 5.1). Figure 5-3 shows a typical
example of a oating spar with thin helical strakes. This structure is analyzed in Test Run
09, described in the Appendix (Section A.9).
Figure 5.3: Perspective view of a floating spar with three helical strakes, showing the conventional panels
on the spar and dipole panels on the strakes.
512
In the GDF le the dipole panels must be included separately, after the conventional
panels which represent the remainder of the body surface (and also the interior free surface,
if IRR=1). The format of the GDF le is as follows:
header
ULEN GRAV
ISX ISY
NPANC
X1(1) Y1(1)
X1(2) Y1(2)
.
.
.
.
. .
NPAND
X1(1) Y1(1)
X1(2) Y1(2)
.
.
.
.
. .
Z1(1) X2(1) Y2(1) Z2(1) X3(1) Y3(1) Z3(1) X4(1) Y4(1) Z4(1)
Z1(2) X2(2) Y2(2) Z2(2) X3(2) Y3(2) Z3(2) X4(2) Y4(2) Z4(2)
. . .
Z1(1) X2(1) Y2(1) Z2(1) X3(1) Y3(1) Z3(1) X4(1) Y4(1) Z4(1)
Z1(2) X2(2) Y2(2) Z2(2) X3(2) Y3(2) Z3(2) X4(2) Y4(2) Z4(2)
. . .
Here NPANC is the number of conventional panels, NPAND is the number of dipole panels,
and NPAN=NPANC+NPAND is the total number of panels in the GDF le. The rst
part of the GDF le, ending with the line which includes X4(NPANC), is identical to a
conventional GDF le for the same body without the dipole panels. The remainder of the
le, starting with NPAND, denes the dipole panels which represent the zero-thickness
elements.
The same format can be extended to multiple bodies, with dipole panels specied for
some or all of the bodies, following the procedure described in Chapter 7.
The source formulation cannot be used if dipole panels are included. Thus the uid
velocity on the body cannot be evaluated, and the mean drift force/moment can only be
evaluated by the momentum method. An error message is output and the run is terminated
if ISOR=1 with dipole panels specied in the GDF le.
It is possible to analyze bodies which consist entirely of zero-thickness elements, by
setting NPANC=0.
A symmetry plane can be used when there are at thin elements represented by dipole
panels on the plane of symmetry. As an example, when a keel on the centerplane y = 0 is
represented by dipole panels, either the port or starboard side of the vessel can be dened
in the GDF le with ISY=1
513
Chapter 6
As a general rule, this approach requires a large number of panel subdivisions of the patches
as the thickness of the elements decreases and thus becomes inecient. The second is
to reduce the thickness to zero and represent the elements by special dipole patches,
analogous to the thin-wing approximation in lifting-surface theory [21]. Version 6.2 permits
the user to specify a set of dipole patches, as described in Section 6.10.
Section 6.11 describes the optional Spline Control File (SPL) which can be used to dene
the orders of the B-Splines, Gauss quadratures, and the numbers of panel subdivisions on
each patch.
The maximum size of the panels (measured in dimensional units) can be specied in
the conguration le, instead of specifying the number of panels on each patch in the SPL
le. This is particularly convenient to achieve a panel size that is commensurate with the
body dimensions and wavelength. Default values of the remaining parameters in the SPL
le (B-spline and Gauss quadrature orders) are assigned automatically, if not input by the
user. Section 6.12 describes this procedure, which permits users to exploit the exibility
and eciency of the higher-order method with a minimum of inputs.
62
6.1
The body surface is rst dened by one or more patches, each of which is a smooth
continuous surface in space. Contiguous patches meet at a common edge, where the coordinates are continuous but the slope may be discontinuous. A simple illustrative example
is provided by the circular cylinder of nite draft shown in Figure 6.1. (The same cylinder
is shown in Figure 5.1 as it would be represented by low-order panels.) Since there are two
planes of geometric symmetry we consider only one quadrant, represented by the shaded
portion of Figure 6.1. Two patches are used, one for the at horizontal bottom and the
other for the curved cylindrical side. The important properties of the patches are that (a)
the surface is smooth, with continuous coordinates and slope, on each patch, and (b) the
ensemble of all patches represents the complete body surface (or one half or quarter of that
surface, if one or two planes of symmetry exist).
Figure 6.1: Representation of the circular cylinder by two patches on one quadrant, shown by the shaded
portion, with reections about the two planes of symmetry.
On each patch a pair of parametric coordinates (u, v) are used to dene the position.
63
The parametric coordinates are normalized so that they vary between 1 on the patch.
Continuing with the example in Figure 6.1, denoting the cylinder radius R and the draft
D and dening conventional circular cylindrical coordinates (r, , z), appropriate choices
for the parametric coordinates are
u=
4
1,
v=12
r
R
(6.1)
4
1,
v = 2
z
1
D
(6.2)
y = Y (u, v),
z = Z(u, v)
(6.3)
This is the fundamental manner in which the body surface is represented for the higherorder option of WAMIT. Alternative methods for prescribing these mapping functions are
described separately in Sections 6.4-6.7.
In order to provide a systematic procedure for rening the accuracy of approximations
on each patch, a set of smaller surface elements are dened, as described in Section 6.2. For
this purpose each patch is sub-divided in a rectangular mesh, in parametric space. These
elements are referred to as panels. Note that while these panels are at and rectangular in
parametric space, they are unrestricted in physical space except for the requirement that
they represent a subdivided element of the corresponding patch. Thus, in general, these
panels are curved surfaces in physical space. (In some references, such as [22], panels are
called sub-patches, or simply patches). Figure 6.2 shows the example where the side and
bottom of the shaded quadrant in Figure 6.1 are each subdivided into four panels.
64
Figure 6.2: Subdivision of one quadrant of the cylinder shown in Figure 6,1 into panels. In this case
Nu = Nv = 2 on both patches.
6.2
The other important subject to consider is the manner in which the velocity potential is
represented on each patch. Desirable properties of this representation are that it should
be smooth and continuous, corresponding to the physical solution for the uid ow over
the surface, with control over the accuracy. B-splines are used for this purpose. More
specically, the velocity potential is represented by a tensor product of B-spline basis
functions
(u, v) =
Mv
Mu
j=1 i=1
ij Ui (u)Vj (v)
(6.4)
Here Ui(u) and Vi (v) are the B-spline basis functions of u and v, and Mu and Mv are
the number of basis functions in u and v, respectively. The unknown coecients ij are
determined ultimately by substituting this representation in the integral equation for the
65
66
6.3
Another topic which must be considered is the integration over patch surfaces. Since
the Galerkin method is used to solve the boundary integral equation, as described in
Chapter 12, this integration is carried out rst with respect to the source point, and then
with respect to the eld point. These are referred to respectively as the inner and outer
integrations which are carried out in parametric space. For this purpose, each patch is
sub-divided into Nu Nv panels, and Gauss-Legendre quadrature is applied on each panel.
The orders of the Gauss quadratures are specied by input parameters. Experience with a
variety of applications has shown that it is sucient to set the order of the outer integrals
with respect to (u, v) equal to (Ku , Kv ) and the order of the inner integrals equal to
(Ku + 1, Kv + 1).
67
6.4
Subsequent data may be included in the GDF le after these four lines, depending on
the manner in which the geometry of the body is represented. (See Sections 6.5-6.8.)
The data on the rst three lines are identical to the low-order method as described in
Section 5.1. Thus:
header denotes a one-line ASCII header dimensioned CHARACTER72.
ULEN is the dimensional length characterizing the body dimensions, used to nondimensionalize the quantities output from WAMIT.
GRAV is the acceleration of gravity, using the same units of length as in ULEN.
ISX, ISY are the geometry symmetry indices which have integer values 0, +1 to denote
no symmetry, or symmetry about the plane x = 0 or y = 0 respectively.
The data on line 4 of the GDF le are dened as follows:
NPATCH is equal to the number of patches used to describe the body surface, as explained
in Section 6.1. If one or two planes of symmetry are specied, NPATCH is the number
of patches required to discretize a half or one quadrant of the whole of the body surface,
respectively.
IGDEF is an integer parameter which is used to specify the manner in which the geometry
of the body is dened. Four specic cases are relevant, corresponding respectively to the
representations explained in Sections 6.5, 6.6, 6.7 and 6.8:
IGDEF = 0: The geometry of each patch is a at quadrilateral, with vertices listed in
the GDF le.
IGDEF = 1: The geometry of each patch is represented by B-splines, with the corresponding data in the GDF le.
IGDEF = 2: The geometry is dened by inputs from a MultiSurf .ms2 le.
68
IGDEF < 0 or > 2: The geometry of each patch is represented explicitly by a special
subroutine, with optional data in the GDF le
69
6.5
The simplest option to dene the body geometry is appropriate if each patch of the body
surface is a at quadrilateral in physical space. In this case the vertices of each patch are
input via the GDF le in the same format as described in Section 5.1 for the low-order
method:
header
ULEN GRAV
ISX ISY
NPATCH 0
X1(1) Y1(1) Z1(1) X2(1) Y2(1) Z2(1) X3(1) Y3(1) Z3(1) X4(1) Y4(1) Z4(1)
X1(2) Y1(2) Z1(2) X2(2) Y2(2) Z2(2) X3(2) Y3(2) Z3(2) X4(2) Y4(2) Z4(2)
.
.
.
.
.
. . . . .
.
. . . . X4(NPATCH) Y4(NPATCH) Z4(NPATCH)
The data in the rst four lines are dened above, in Section 6.4. Note that IGDEF=0 is
assigned on line 4. The patch vertices (X1, Y 1, Z1, ... , X4, Y 4, Z4) are dened in precisely
the same manner as the panel vertices in Section 5.1. The convention dened in Figure
5-1 must also be applied here, with the vertices numbered in the anti-clockwise direction
when the patch is viewed from the uid domain.
This option is particularly useful in the case of structures which consist of a small number
of at surfaces. Examples include rectangular barges, similar vessels with rectangular
moonpools, the Hibernia platform (a star-shaped bottom-mounted cylinder), etc. In such
cases it is not necessary or desirable to use a large number of small patches on each at
surface, as would be necessary to achieve accurate results with the low-order method.
The most ecient procedure is to use the smallest number of patches which permits a
complete representation of the structure. For a simple rectangular barge, one quadrant
can be represented with three patches (bottom, side, end). If a rectangular moonpool is
centered amidships, 6 patches are required with two on the bottom and two on the walls
of the moonpool.
This option also might be useful to check the accuracy of a low-order application, using
the same GDF le for both (except that IGDEF=0 must be assigned for the higher-order
input). This provides a more general scheme for improving the accuracy compared to the
low-order option IQUAD=1. Two caveats should be noted in this context. First, since
each low-order panel is replaced by a patch, the number of patches may be quite large; this
will result in substantially longer run times and memory requirements as compared with
the low-order method. Secondly, if the at low-order panels do not correspond exactly to
the body surface, this part of the low-order approximation is not rened by such a check.
610
6.6
The most general approach to represent the geometry in the higher-order method is the
same as that which was rst developed in [18,19]. In this approach each patch of the
body is represented by B-splines, in an analogous manner to the representation of the
velocity potential (Section 6.2). The panel subdivision (knot vector) and the order of
the B-splines can be assigned independently between the geometry and the potential. If
the subdivisions and orders are the same, this is analogous to the isoparametric approach
in nite-element analysis. In V6.2, the domain of the parameters of the B-SPLINES
representing the geometry is no longer limited to (1, 1). Arbitrary limits can be used and
they are normalized to (1, 1) in the program.
More specically, the mapping function X = (X, Y, Z) dened by Equation (6.3) is
represented on each patch in the tensor-product form
(g)
X(u, v) =
(g)
M
M
v
u
j=1 i=1
(6.6)
Here Ui(u) and Vi (v) are the B-spline basis functions of u and v, and Mu(g) and Mv(g) are
the number of basis functions in u and v, respectively. (The superscripts are used to distinguish these geometric parameters from the corresponding parameters used to represent
the potential in Section 6.2.) As in (6.5),
Mu(g) = Nu(g) + Ku(g) 1 Mv(g) = Nv(g) + Kv(g) 1
(6.7)
where Ku(g) and Kv(g) are the orders of the respective B-splines. These parameters, and the
values of the unknown coecients Xij , are assigned for each patch in the GDF le.
The format of the GDF le is as follows:
header
ULEN GRAV
ISX ISY
NPATCH 1
NUG(1) NVG(1)
KUG(1) KVG(1)
VKNTUG(1,1) ... VKNTUG(NUA(1),1)
VKNTVG(1,1) ... VKNTVG(NVA(1),1)
XCOEF(1,1) XCOEF(2,1) XCOEF(3,1)
XCOEF(1,2) XCOEF(2,2) XCOEF(3,2)
611
NUG(NPATCH) NVG(NPATCH)
KUG(NPATCH) KVG(NPATCH)
VKNTUG(1,NPATCH) ... VKNTUG(NUA(NPATCH),NPATCH)
VKNTVG(1,NPATCH) ... VKNTVG(NVA(NPATCH),NPATCH)
XCOEF(1,1) XCOEF(2,1) XCOEF(3,1)
XCOEF(1,2) XCOEF(2,2) XCOEF(3,2)
Here IGDEF=1 is assigned on line 4 to specify the B-spline representation of the geometry.
NUG(I) and NVG(I) are the numbers of panel subdivisions of the u and v coordinates
on I-th patch.
KUG(I) and KVG(I) are the orders of B-splines
VKNTUG(J,I) is the B-spline knot vector in u on patch I. J=1,2,...NUA(I)
NUA(I)=NUG(I)+2*KUG(I)-1.
VKNTVG(J,I) is the B-spline knot vector in v on patch I. J=1,2,...NVA(I)
NVA(I)=NVG(I)+2*KVG(I)-1.
XCOEF(1,K)) XCOEF(2,K) XCOEF(3,K) are the components of the vector coecient Xij in (6.6). These are dened in terms of the single array index K, where
K=1,2,...,NB(I). Here NB(I) is the total number of coecients on patch I, given by the
relation NB(I)=(NUG(I)+KUG(I)-1)(NVG(I)+KVG(I)-1).
TEST11 (Appendix, Section A.11) is an example of this type of GDF input le.
612
6.7
Version 6.2 includes the option to import .ms2 geometry database les from the CAD program MultiSurf directly into WAMIT, and to represent the geometry during execution of
WAMIT by linking to the MultiSurf kernel. A detailed description of this option is contained in Reference 24. The principal advantages of this option are (a) the representation
of the geometry can be developed using the CAD environment of MultiSurf, and (b) this
representation can be transferred to WAMIT without signicant eort or approximations.
Two special .dll les are required: RGKERNEL.DLL and RG2WAMIT.DLL. The real
versions of these les are not included in the standard WAMIT license. Users who intend
to use this option may license RGKERNEL and RG2WAMIT as part of an extended
version of WAMIT, or separately. The standard distribution of WAMIT Version 6.2PC
includes a dummy le with the name rg2wamit.dll. This enables WAMIT to be executed
without the real les. As explained in Section 2.1, the PC-executable version of WAMIT
(wamit.exe) must be accompanied by four .dll les (geomxact.dll, newmodes.dll, dforrt.dll,
rg2wamit.dll). The dummy version of rg2wamit.dll can be distinguished from the real
version in two ways: (a) the dummy lename uses lower-case letters (rg2wamit.dll), and
(b) the size of this le is smaller, as indicated in the following table:
version
name
dummy
real
rg2wamit.dll
RG2WAMIT.DLL
size (approximate)
24Kb
78Kb
Note that the size of these les is approximate, and may change with updates and
subsequent versions, but the disparity in size will serve to distinguish the dummy and real
les.
To proceed with this option a user should rst prepare the MultiSurf model for the body
following the procedure in the MultiSurf documentation. A special appendix Using the
WAMIT-RGKernel Interface is included in this User Manual (Appendix C). The output
le from MultiSurf will include a lename specied by the user and the extension .ms2.
This le will be referred to below as body.ms2. If the .ms2 le is missing or cannot
be found, a WAMIT runtime error message Error return from subroutine RGKINIT is
generated, and the log le RGKLOG.TXT will contain a statement that the designated
.ms2 le could not be opened.
In its simplest form, the GDF input le required to run WAMIT should be in the
following format:
header
ULEN GRAV
ISX ISY
NPATCH
2
3
613
(path)body.ms2
*
0 0 0
The rst four lines are explained in Section 6.4. IGDEF=2 is assigned by the second
integer on line 4. Line 5 contains an integer specifying the number of subsequent lines to
be read from the .gdf le. Line 6 contains the name of the .ms2 le, and may include the
optional path if this le is in a dierent directory (folder). The asterisk () on line 7 is
a default specier to indicate that all visible surfaces in the .ms2 le are to be included;
alternatively if only a subset of these surfaces are submerged these may be designated by
following the instructions in Appendix C. Line 8 includes three integer parameters with
default values zero, which may be used to control the accuracy of the geometry evaluation
in RGKernel, and also to modify the convention regarding the direction of the unit normal.
Further information is contained in Appendix C. TEST11C and TEST20 in Appendix A are
examples showing typical WAMIT runs for a circular cylinder and for a barge. Additional
examples are included in Reference 24.
A pre-processor utility GDF2MS2.EXE has been developed by AeroHydro Inc.1 to
convert low-order WAMIT .gdf input les to .ms2 geometry database les for MultiSurf.
Its results depend on the organization and content of the .gdf le. In general this utility
will create correctly dimensioned points for building a surface model in MultiSurf; and if
the .gdf le is suitably structured it is possible to create appropriate surface patches for
higher-order analysis with the IGDEF=2 option.
1 AeroHydro,
Inc., 54 Herrick Rd., Southwest Harbor, Maine 04679 USA 207-244-4100 (www.aerohydro.com)
614
6.8
This option can be used in cases where the geometry of the body can be dened explicitly,
with the fundamental advantage that the denition of the body geometry is exact and that
the only numerical approximation which remains is in the representation of the velocity
potential. Further details and examples based on this method are contained in Reference
25. The domain of parameters must be (-1.,1) in analytic representation.
The formulae required to dene the geometry must be coded in FORTRAN, in the le
GEOMXACT.F. This le can be compiled separately as a .dll le and linked with WAMIT
at runtime. This special arrangement makes it possible for users of the PC executable
code to modify GEOMXACT for their own particular applications. Another feature of
this option is the possibility to input relevant body dimensions in the GDF le. Thus the
body dimensions can be changed without modication of the code.
In the version of GEOMXACT.F and GEOMXACT.DLL as supplied with the WAMIT
software, there are several subroutines to produce various generic body shapes as listed
in the table below. Most of these subroutines are illustrated in the higher-order test
runs described in Appendix A. The dimensions of these generic bodies can be modied
by introducing appropriate data in the GDF le. Thus there is a variety of possibilities
for exploiting this option with or without special programming eorts. Several dierent
subroutines can be collected in a library, and identied with specic reserved values of
the index IGDEF which is input in the GDF le. The WAMIT software includes the
FORTRAN library le GEOMXACT.F, where several examples of these subroutines are
included. Note that IGDEF=0 or 1 are reserved for the options described in Sections 6.5
and 6.6, and thus IGDEF 2 or IGDEF 1 are appropriate values to select for the
analytic representation option. In the WAMIT software package as distributed, several
negative values IGDEF 1 have been used for the test runs, and for other pertinent
examples which may be useful. Thus it is recommended that any new additions to this
library developed by users should be identied with positive values IGDEF 2.
Continuing with the example of the circular cylinder shown in Figures 6.1 and 6.2, the
subroutine CIRCYL can be used without modication. CIRCYL is included in the source
le GEOMXACT.F and selected by specifying IGDEF=-1. The relevant dimensions are
the radius and draft (and also ULEN and GRAV), which are specied in the GDF le in
the following format:
header
ULEN GRAV
1 1
2
-1
2
RADIUS DRAFT
INONUNIF
615
Here the symmetry indices ISX=1 and ISY=1 have been assigned, as well as the parameters
NPATCH=2 and IGDEF=-1. The number 2 on line 5 indicates that two lines follow in the
le to be read as input data. In addition to the dimensions of the cylinder, the parameter
INONUNIF is used in subroutine CIRCYL to specify either uniform (INONUNIF=0) or
nonuniform (INONUNIF=1) mapping between the parametric coordinates (U,V) and the
Cartesian coordinates (X,Y,Z).
Uniform mapping uses linear functions to transform V to the vertical coordinate on
the side, and to the radial coordinate on the bottom (and interior free surface). When
the nonuniform mapping option is selected the vertical coordinate on the side is a cubic
polynomial in V, and the radial coordinate on the other patches is a quadratic polynomial
in V, such that the rst derivatives vanish at the corner and at the intersection of the
side and free surface. This nonuniform mapping is analogous to the use of cosine spacing
in the low-order panel method, to achieve a ner discretization of the solution near these
boundaries. The motivation for using the nonuniform mapping option is discussed in
Appendix A.11, where both options are compared, and in more detail in Reference 25.
The code in the subroutine CIRCCYL may be used as a guide for other geometries where
nonuniform mapping is desirable.
Before using this GDF le the user should assign appropriate values for the parameters
ULEN, GRAV, RADIUS, DRAFT, INONUNIF, and an appropriate header. As noted in
Section 3.7, this data must be contained within columns 1-80 of the GDF le.
In the normal case described above, NPATCH=2, corresponding to the side and bottom
of the cylinder. Two other situations exist where the same subroutine can be used: (1)
for a bottom-mounted cylinder NPATCH=1 and DRAFT is assigned with the same value
as the uid depth HBOT, and (2) if NPATCH=3 the interior free surface is included to
permit the removal of irregular-frequency eects (IRR=1) as described in Chapter 9. The
restriction DRAFT<HBOT must be imposed if NPATCH>1. Figure 6.3 illustrates the
patch numbering to achieve this exibility.
616
Figure 6.3: One quadrant of the cylinder shown in Figure 6.1 showing the patch numbering system which
permits using the subroutine CIRCYL with NPATCH=1 (bottom-mounted caisson), NPATCH=2 (oating
cylinder of nite draft), or NPATCH=3 (oating cylinder with a patch on the interior free surface to remove
irregular-frequency eects). The view is from above the free surface, looking toward the interior of the
cylinder.
Other subroutines are also included in GEOMXACT.F to dene a variety of bodies, in all
cases with IGDEF<0 so that positive values of IGDEF>2 will be reserved for users. Twelve
of the subroutines are listed in the table below and explained in detail here. Several of
these are used for the higher-order Test Runs described in Appendix A. Several additional
subroutines are also included in GEOMXACT for possible use by users. The details of
these other subroutines are explained in comments which are inserted in the source code
of each subroutine in the le GEOMXACT.F.
The following table lists the twelve subroutines which are described in more detail below:
617
IGDEF SUBROUTINE
-1
CIRCCYL
1,2,3
-2
-3
-4
-5
-6
ELLIPCYL
SPHERE
ELLIPSOID
BARGE
BARGEMP
1,2,3
1,2
1,2
2,3,4
6,7
-7
-8
-9
CYLMP
TORUS
TLP
3,4
1,2
11,12
-10
SEMISUB
-11
FPSO
-12
SPAR
4,6
RADIUS,DRAFT
INONUMAP
A,B,DRAFT
RADIUS
A,B,C
HALFLEN,HALFBEAM,DRAFT
HALFLEN,HALFBEAM,DRAFT
XMP,YMP
RADIUS,DRAFT,RADMP
RCIRC,RAXIS,ZAXIS
RADIUS,DRAFT,HSPACE
WIDTH,HEIGHT
XL,Y1,Y2,Z1,Z2
DCOL,RCOL,NCOL
XBOW,XMID,XAFT
HBEAM,HTRANSOM
DRAFT,DTRANSOM
RADIUS DRAFT
WIDTH THICKNESS TWIST NSTRAKE
IRRFRQ
IMOONPOOL, RADIUSMP
IMPGEN
The last column indicates the dimensions to be included in the GDF le. Where a
second line of dimensions is shown in the table (barge with moonpool, TLP, and semisub)
the GDF le should follow the same format as illustrated in the test runs TEST14 and
TEST15.
Brief descriptions of each subroutine are given below. More specic information is
included in the comments of each subroutine. In all cases the subroutine denes one
quadrant of a body with two planes of symmetry (ISX=ISY=1). These bodies can be
combined for multiple-body analysis, as described in Chapter 7, without modications of
the subroutines.
CIRCCYL denes a circular cylinder as explained above.
ELLIPCYL denes an elliptical cylinder with semi-axes A,B. If A=B=RADIUS the results are identical to using CIRCCYL. The options NPATCH=1 (bottom mounted) and
NPATCH=3 (IRR=1) are the same as for CIRCCYL. The semi-axes A and B coincide
with the x and yaxis of the body coordinate system, respectively.
SPHERE denes a oating hemisphere, with one patch on the body surface. If NPATCH=2
the interior free surface is included for use with the irregular-frequency option (IRR=1).
ELLIPSOID denes an ellipsoid with semi-axes A,B,C, oating with its center in the
plane of the free surface. (C is equal to the draft.) If A=B=C=RADIUS the results are
618
identical to using SPHERE. The semi-axes A, B and C coincide with the x, y and
zaxis of the body coordinate system, respectively.
BARGE denes a rectangular barge with length equal to 2HALFLEN and beam equal
to 2HALFBEAM. If NPATCH=2 and DRAFT=HBOT the barge is a bottom-mounted
rectangular caisson. If NPATCH=4 the interior free surface is included for use with the
irregular-frequency option (IRR=1). The longitudinal and transverse directions coincide
with the x and yaxis of the body coordinate system, respectively.
BARGEMP denes a rectangular barge with a rectangular moonpool at its center. The
moonpool is bounded by vertical walls x = XMP and y = YMP. Other dimensions are
the same as for BARGE. In the normal case, NPATCH=6, separate patches are on the end
and side, two patches on the bottom, and two patches for the moonpool walls. Optionally,
if NPATCH=7, the moonpool free surface is represented by an additional patch; this is an
alternate scheme for the analysis of moonpools, using generalized modes to describe the
free surface so that resonant modes can be damped. TEST17B illustrates this scheme.
The longitudinal and transverse directions coincide with the x and yaxis of the body
coordinate system, respectively.
CYLMP denes a spar-type structure consisting of a circular cylinder with a concentric
moonpool of constant radius RADMP. In the normal case, NPATCH=3, separate patches
are on the outer side of the cylinder, on the bottom, and on the interior wall of the moonpool. Optionally, if NPATCH=4, the moonpool free surface is represented by an additional
patch; this is an alternate scheme for the analysis of moonpools, using generalized modes
to describe the free surface so that resonant modes can be damped. TEST17B gives a
description of this scheme.
TORUS denes a oating or submerged torus, as illustrated in Figure 6.4. The sections
of the torus are circles of radius RCIRC, with their axes on a circle of radius RAXIS in
the horizontal plane z =ZAXIS. If -RCIRC<ZAZIS<RCIRC the torus is oating, and if
ZAXIS<-RAXIS the torus is submerged. One quadrant of the surface is represented by
one patch. If the torus is oating, and NPATCH=2, the free surface inside the moonpool
is represented by an additional patch, as in CYLMP.
TLP denes a generic tension-leg platform (TLP) with four circular columns connected by
rectangular pontoons. The bottom surfaces of the columns and pontoons are at the same
draft and the columns are equally spaced in a square array. The quadrant is dened to
include one column and half of the adjoining pontoons. The column radius RADIUS and
draft DRAFT and a half of the horizontal spacing between the axes of adjacent columns
HSPACE are specied on one line of the GDF le. The pontoon width WIDTH and height
HEIGHT are specied on a separate line. The width of the pontoons is restricted
so that
they do not intersect o the columns. In the special case WIDTH=RADIUS 2 the
pontoon corners coincide on the column and NPATCH=11. This includes eight patches on
the top, sides, and bottom of the pontoons, one patch on the column above the pontoons,
one patch on the column outside the
pontoons, and one patch on the column bottom. In
the general case WIDTH<RADIUS 2, NPATCH=12 with the 12th patch on the column
between the inside corners of adjacent pontoons. This case is illustrated in the test run
TEST14.
619
Figure 6.4: Perspective views of the torus, with RCIRC=20, RAXIS=60, and three dierent values of
ZAXIS as shown. ZAXIS>0 in the top gure corresponds to the axis above the free surface. In the middle
gure the axis is in the plane of the free surface, and the sections are semi-circles. In these two gures
the torus is oating, with the upper edges of the body in the plane of the free surface. The bottom gure
shows a complete submerged torus. The dark lines indicate the boundaries between adjacent quadrants,
with one patch on each quadrant.
620
SEMISUB denes a generic semi-submersible with two rectangular pontoons and NCOL
equally-spaced circular columns on each pontoon. The pontoon dimensions include the
total length XL, transverse coordinates of the inner/outer pontoon sides Y1, Y2, and
vertical coordinates of the bottom and top horizontal surfaces Z1, Z2. Note that 0<Y1<Y2
and Z1<Z20. (The overall beam is equal to 2Y2 and the draft is equal to -Z1.) The
pontoon ends are semi-circular. NPATCH depends on the number of columns, and their
spacing, as explained in the subroutine header. If Z2=0 and NPATCH=2 the pontoons
intersect the free surface. The test run TEST15 illustrates the use of this subroutine for a
semi-sub with submerged pontoons and ve columns on each pontoon.
FPSO denes a monohull ship with a form representative of the Floating Production
Ship Ooading type. ( A perspective view of this vessel is shown on the cover page.) The
hull consists of three portions: (1) an elliptical bow with a at horizontal bottom, vertical
sides, and semi-elliptical waterlines, (2) a rectangular mid-body with a at horizontal
bottom, vertical sides, and constant beam, and (3) a prismatic stern with rectangular
sections. The dimensions XBOW, XMID, XAFT dene the longitudinal extent of these
three portions. The total length of the vessel is equal to (XBOW+XMID+XAFT), and
the origin of the coordinate system is dened at the midship section, half-way between
the bow and stern. The dimensions include the half-beam HBEAM, half-width of the
transom HTRANSOM, maximum draft DRAFT, and transom draft DTRANSOM. In the
general case NPATCH=6, with the patch indices 1-6 corresponding respectively to (1)
the horizontal bottom, (2) the vertical portion of the bow, (3) sides of the mid-body, (4)
transom, (5) sloping bottom on the prismatic stern, and (6) sloping side on the prismatic
stern. The prismatic stern portion can be omitted by setting NPATCH=4, XAFT=0.0,
HTRANSOM=HBEAM, and DTRANSOM=DRAFT.
SPAR denes a spar with strakes and with an optional moonpool. The number of patches
varys depending on the optional conguration. RADIUS is the radius of the spar. DRAFT
is the vertical length. WIDTH and THICKNESS are the width and thickness of the strakes.
Helical form of strakes can be generated by specifying nonzero TWIST which represents
the number of revolutions from top to bottom in the counter-clockwise direction viewed
from the top. IRRFRQ=1 includes the interior free surface and, in this case, IRR=1 should
be specied in the conguration le. IRRFRQ=0 indicates no interior free suface patch.
The spar may have a uniform circular moonpool at the center. IMOONPOOL=1 includes
a moonpool and IMOONPOOL=0 does not. RADIUSMP is the radius of the moonpool.
IMPGEN=1 includes the moonpool free surface to specify the generalized modes on that
surface. Otherwise set IMPGEN=0.
621
6.9
If a body which is not included in the examples above can be described explicitly by
analytic formulae (either exactly or to a suitable degree of approximation) a corresponding
subroutine can be added to the GEOMXACT.F le. Reference can be made to the source
le GEOMXACT.F and to the subroutines already provided to understand the appropriate
procedures for developing new subroutines.
Users of WAMIT Version 6PC cannot modify the source code in general. However
GEOMXACT has been separated from the rest of the source code, and compiled separately
as a dll (dynamic link library) to be linked to the rest of the executable code at run time.
Thus users of the PC-executable code can modify or extend GEOMXACT for their own
applications.
Source code users can modify GEOMXACT directly, and compile it with any suitable
compiler to link with the rest of the program. Special DEC directives in the source code,
which stipulate the dll status, should not aect other compilers. (Since the DEC directives
are lines of code beginning with !DEC$, these should be interpreted as comment lines by
other compilers.)
The following points are intended to provide further background information, and should
be consulted in conjunction with the code and comments in GEOMXACT.
The principal inputs are the parametric coordinates u, v, represented in the code by
scalars U and V.
The principal outputs are the Cartesian coordinates X, represented by the array X
of dimension 3, and the corresponding derivatives with respect to (U,V) which are
represented by the arrays XU, XV with the same dimension.
These arguments, and all associated dimensions, are of type REAL*4 (single precision).
In a typical run, GEOMXACT is called a very large number of times. Users modifying
this code should ensure that the new code is ecient from the standpoint of CPU time.
The arrays X,XU,XV are initialized to zero before calls to GEOMXACT. Thus it is
only necessary to evaluate nonzero elements in the subroutine.
Other inputs in the argument list include the body index IBI (to distinguish multiple
bodies), the patch index IPI, and the parameter IGDEF, all of type INTEGER.
To facilitate reading user-specied data in the GDF le, an initial call is made to
GEOMXACT with IPI=0 to designate this purpose. If the user intends to read data
from the GDF le, appropriate code must be included in the subroutine following the
examples which are contained in the original version of GEOMXACT.F as delivered to
the user. It is important to use the attribute SAVE for any input data or intermediate
data which must be preserved in the subroutine after the initial call.
622
Users may place all of their own code in a new subroutine and name it GEOMXACT,
or in a subsidiary subroutine called by GEOMXACT. The latter arrangement, which
is followed in the GEOMXACT.F le distributed with WAMIT, eectively produces
a library of subroutines which can all be accessed by the corresponding values of the
parameter IGDEF.
Some or all of the geometric data may be input in a user-dened le, separate from the
.GDF le. In this case standard FORTRAN coding conventions should be followed,
with the users le(s) opened, read, and closed in the initial call to the GEOMXACT
subroutine. Unit numbers should be assigned above 300 to avoid conicts with other
open les in WAMIT. The sample DLL le CADDLL.F contains an example of this
procedure. In all cases the GDF le must contain at least 6 lines, including the last
line 0 (NLINES) if there is no additional data to input from the GDF le.
In order to use GEOMXACT for any of the purposes described in this Chapter, the le
GEOMXACT.DLL must be in the same directory as WAMIT.EXE.
Instructions for making new DLL les are included in Section 10.5.
623
6.10
In Version 6.2 an extension has been made to analyze bodies which consist partially (or
completely) of elements with zero thickness. The patches representing these elements are
referred to as dipole patches. Dipole patches are represented in the same manner as
the conventional body surface (Section 6.5-6.8). Since both sides of the dipole patches
adjoin the uid, the direction of the normal vector is irrelevant. On the dipole patches,
the unknowns are the dierence of the velocity potential. The positive dierence acts in
the direction of the normal vector.
To analyze bodies with zero-thickness elements, the corresponding dipole patches should
be identied in the GDF le. Specically, the number of dipole patches and their indices
must be inserted between the 4th and 5th lines of the GDF described in Sections 6.5-6.8.
The format of the GDF le is as follows:
header
ULEN GRAV
ISX ISY
NPATCH IGDEF
NPATCH DIPOLE=NPATCHD
IPATCH DIPOLE=IPATCHD(1),IPATCHD(2),...,IPATCHD(NPATCHD)
...
Here ... on the last line indicates that the parameters are the same as the those in the
GDF without dipole patches. NPATCHD is the number of dipole patches and IPATCHD
is an array containing the integer indices of the dipole patches. These must be preceded
by character strings, NPATCH DIPOLE= and IPATCH DIPOLE=, respectively.
As an example, the oating spar shown in Figure 5-3 is analysed by the higher-order
method in Test Run 21. The total number of patches is seven: three on the side of the
cylinder, three on the strakes and one on the bottom of the cylinder. The corresponding
patch indices of the patches on the side are 1, 3, and 5, those on the strakes are 2,4, and
6, and that on the bottom is 7.
The mean drift force/moment can only be evaluated by the momentum method. A
warning message is output when the option for the pressure integration is specied.
A symmetry plane can be used when there are at thin elements represented by dipole
patches on the plane of symmetry. As an example, when a keel on the centerplane y = 0 is
represented by dipole patches, either the port or starboard side of the vessel can be dened
in the GDF le with ISY=1
624
6.11
The optional Spline Control File (SPL) may be used to control various parameters in the
higher-order method. These include the panel subdivision on each patch, the orders of the
B-splines used to represent the potential, and the orders of Gauss quadrature used for the
inner and outer integrations over each panel. If the SPL le is used it must have the same
lename as the corresponding GDF le for the same body, with the extension .spl.
The format of the SPL le is as follows:
header
NU(1) NV(1)
KU(1) KV(1)
IQUO(1) IQVO(1)
IQUI(1) IQVI(1)
NU(2) NV(2)
KU(2) KV(2)
IQUO(2) IQVO(2)
IQUI(2) IQVI(2)
NU(NPATCH) NV(NPATCH)
KU(NPATCH) KV(NPATCH)
IQUO(NPATCH) IQVO(NPATCH)
IQUI(NPATCH) IQVI(NPATCH)
NU and NV are the numbers of panels along the u and v coordinates.
KU and KV are the orders of B-splines along the u and v coordinates. These parameters
should be greater than or equal to 2. Recommended values are given below.
IQUO and IQVO are the orders of Gauss quadrature for the outer integration. These
parameters should be greater than 1 and 16. Recommended values are given below.
IQUI and IQVI are the orders of Gauss quadrature for the inner integration. These
parameters should be greater than 1 and 16. Recommended values are given below.
NU/NV (marked by ) should not be specied in the SPL le when PANEL SIZE>0
is assigned in the CONFIG.WAM le (See Section 3.9). In that case the program
automatically assigns appropriate values to NU and NV on each patch with the objective
that the maximum physical length of each panel is equal to PANEL SIZE. This parameter
is specied in the same dimensional units of length as the data in the GDF le. This option
is especially convenient for convergence tests, where the size of all panels can be reduced
simultaneously.
Similarly, KU/KV, IQUO/IQVO and IQUI/IQVI (marked by ) should not be specied
in the SPL le when nonzero values are assigned to KSPLIN, IQUADO and IQUADI,
625
respectively, in the CONFIG.WAM le. (See Section 3.9.) In this case, the program sets
KU and KV equal to KSPLIN, IQUO and IQVO to IQUADO, and IQUI and IQVI to
IQUADI.
If these parameters are assigned in the SPL le, separate assignments must be made for
each patch as indicated in the above format. Conversely, parameters which are assigned
in CONFIG.WAM are global, with the same value assigned to all patches and all bodies.
Similarly, if KU/KV, IQUO/IQVO or IQUI/IQVI are included in the SPL le, separate
values are assigned to the u and v coordinates whereas if these parameters are assigned
via global parameters KSPLIN, IQUADO, IQUADI the same values are used for both
coordinates.
Experience using the higher-order method indicates that quadratic (KSPLIN=3) or
cubic (KSPLIN=4) B-splines are generally appropriate to represent both the geometry and
velocity potential, with the former (KSPLIN=3) preferred when the body shape is relatively
complex and the latter (KSPLIN=4) when the body is smooth and continuous (e.g. a
sphere). Most of the test runs described in the Appendix use KSPLIN=3. Experience
also suggests that ecient choices for the inner and outer Gauss integrations are equal to
KSPLIN+1 and KSPLIN, respectively. Tests for accuracy and convergence can be achieved
most easily and eectively by increasing the numbers of panels, either by increasing NU
and NV or by decreasing the parameter PANEL SIZE. This procedure permits systematic
convergence tests to be made easily and eciently, without simultaneously changing the
other parameters or inputs.
626
6.12
Experience with the higher-order method indicates that for typical applications the global
parameters dened above may be assigned the values KSPLIN=3, IQUADO=3, IQUADI=4.
These default values are assigned by the program automatically, if they are not assigned in
the CONFIG.WAM le and if there is no SPL input le available to open and read with the
same lename as the GDF le. In the latter case, however, the parameter PANEL SIZE
must be specied with a nonzero positive value in CONFIG.WAM. This is the simplest way
to use the higher-order method since it does not require the user to input the B-spline and
Gauss quadrature orders either locally in the SPL le or globally in the CONFIG.WAM
le.
The following table summarizes the options for inputting these parameters:
gdf .spl
cong.wam
NU,NV
KU,KV
IQUO,IQVO
IQUI,IQVI
PANEL SIZE
KSPLIN
IQUADO
IQUADI
NONE
error
3
3
4
Here the rst column indicates inputs in the optional SPL le and the second column
indicates the corresponding inputs in the CONFIG.WAM le. The third column indicates
the default values which are set if there is no SPL le and if the parameters are not included
in the CONFIG.WAM le. It is important not to specify the same parameters in
both the SPL and CONFIG.WAM files, since this will cause errors reading the
data in the SPL file.
In summary, the simplest way to use the higher-order method is to specify PANEL SIZE
only, in the CONFIG.WAM le, and ignore all of the other parameters shown in this table.
The values of these parameters are displayed for each patch in the header of the .out le.
When the parameter PANEL SIZE is used, its value is also displayed on the line indicating
that the higher-order method is used.
627
6.13
Some advantages and disadvantages of the higher-order method in comparison of the loworder method are listed below.
Advantages:
1. The higher-order method is more ecient and accurate in most cases. More precisely,
the higher-order method converges faster than the low-order method, when the number
of panels is increased in both. (Comparisons for various geometries can be found in
[18,19]). Thus accurate solutions can be obtained more eciently with the higherorder method.
2. Various forms of geometric input are possible, including the explicit representation.
When it is possible to use this approach it is relatively simple to input the geometry
and modify its dimensions for each run.
3. The pressure and velocity on the body surface are continuous. Continuity of the
hydrodynamic pressure distribution is particularly useful for the analysis of structural
loads.
Disadvantages:
1. The linear system which must be solved for the velocity potentials is not as well
conditioned in the low-order method. Thus the iterative method for the solution of
the linear system fails to converge in many cases. The direct or block-iterative solution
options are recommended in these cases. Since the size of the linear system (number
of unknowns) is signicantly smaller than for the low-order method, this generally
does not impose a substantial computational burden.
2. The second-order pressure due to the square of the uid velocity is unbounded at
sharp corners. The approximation of this pressure by higher-order basis functions is
more dicult than in the low-order method. The result may be less accurate unless
the mapping accounts for the ow singularity near the corner.
628
Chapter 7
describe each body, including reections. Thus the run times and memory requirements
are substantially increased.
Walls are not allowed when N > 1.
The multiple-body extensions are essentially the same for analyses based on the loworder and higher-order methods. However it is impossible to use both methods simultaneously for dierent bodies. If NBODY>1 and ILOWHI=1 the option IALTPOT=2 must
be used.
The GEOMXACT subroutines described in Section 6.8 can be used for multiple bodies,
but special attention is required unless all of the bodies using the same subroutine have
identical dimensions. Most of the existing GEOMXACT subroutines read in the appropriate dimensions from the GDF le in scalar form, to initialize parameters within the
subroutine for subsequent calls. If the same subroutine is initialized again for another
body, the dimensions are overwritten. As a result the dimensions in the last GDF le
are applied to all of the bodies using the same subroutine. In cases where bodies with
dierent dimensions are represented by the same subroutine, the dimensions used in subsequent calls should be saved within the subroutine as arrays with dimension NBODY. The
subroutine FPSO12 in GEOMXACT illustrates this procedure for two FPSO hulls with
dierent dimensions. To call attention to this problem, a warning message is issued if two
or more bodies use the same value of IGDEF in GEOMXACT.
There are three alternative ways to input parameters to the FORCE subprogram. Alternative Form 1 can be used for freely oating bodies, and the more general Alternative
2 Form can be used for bodies subject to external forces. Alternative 3 includes a Global
Force Control le (GFRC) and a separate FRC le for each body, each being in either
Form 1 or 2. These three alternative are described respectively in Sections 7.3, 7.4, and
7.5.
72
7.1
IALTPOT=-1. This option is deprecated and may not be supported in later versions of
WAMIT.
header denotes a one-line ASCII header dimensioned CHARACTER72.
-1.0 is the ag which indicates that the le is a Global GDF le. (Any real number less
than or equal to zero is acceptable.) (Note that in an ordinary GDF le this parameter is
ULEN, which must be positive.)
GRAV is the acceleration of gravity, using the same units of length as in ULEN(K) of
the GDF les. If lengths are input in meters or feet, input 9.80665 or 32.174, respectively
for GRAV. (The same units of length must be used in each GDF le if N > 1.)
NBODY is the total number of bodies.
GDF(K) is the name of the K-th Geometric Data File.
XBODY(1,K),XBODY(2,K),XBODY(3,K) are the (X, Y, Z) coordinates of the origin of the body-xed coordinate system of the K-th body, relative to the global coordinate
system, input in the dimensional units of the length ULEN(K). The global coordinate
system is used in place of the body coordinate system to dene eld-point data (uid pressures, velocities, and free-surface elevation). The origin of the global coordinate system
must be located on the free surface.
XBODY(4,K) is the angle in degrees between the xaxis of the body coordinate system
of the K-th body and the Xaxis of the global system (see Figure 5.2). The direction
of the global Z-axis, and of the z-coordinate in each body coordinate system, must be
positive upward and perpendicular to the undisturbed free surface.
IRAD(K), IDIFF(K) are indices used to specify the components of the radiation and
diraction problems to be solved for the K-th body. The following options are available,
depending on the values of IRAD(K) and IDIFF(K):
IRAD(K)= 1: Solve for the radiation velocity potentials due to all six rigid-body modes
of motion of the K-th body.
IRAD(K)= 0: Solve the radiation problem only for those modes of motion specied by
setting the elements of the array MODE(I,K)=1 (see below).
IRAD(K)= 1: Do not solve any component of the radiation problem.
IDIFF(K)= 1: Solve for all diraction components, i.e. the complete diraction problem.
IDIFF(K)= 0: Output only the exciting forces in the modes specied by MODE(I,K)=1.
IDIFF(K)= 1: Do not solve the diraction problem.
MODE(I,K) is a six-element array of indices for the K-th body, where I=1,2,3 correspond
to the surge, sway and heave translational modes along the body-xed (x, y, z) axes, and
I=4,5,6 to the roll, pitch and yaw rotational modes about the same axes, respectively. Each
of these six indices should be set equal to 0 or 1, depending on whether the corresponding
radiation mode(s) and diraction component(s) are required. (See the options IRAD(K)=0
and IDIFF(K)=0 above.)
The data in the GDF le for each individual body is as described in Section 3.1. Panel
coordinates and symmetry indices are dened in terms of the local body coordinates of
74
the respective body, as for a single-body application. For each body there is a respective
dimensional length ULEN(K), and a corresponding value of gravity GRAV(K). ULEN(K)
must be input in the same dimensional units for every body. ULEN(K) must be a positive
number greater than 105 . An error return and warning statements are generated if the
last restriction is not satised. ULEN(1), the characteristic length of the rst body, is used
to nondimensionalize the outputs as described in Chapter 4.
The values GRAV(K) in all GDF les are read, and used to check for consistency of
units among the dierent bodies. An error return occurs if any GRAV(K) diers from
GRAV(1) by more than 0.1 units in absolute value (0.1 m/s2 or 0.1 ft/s2 if these units
are used.) (The value of GRAV(1) is used for all calculations and outputs.) The Potential
Control File (POT) is described in Section 3.1, and is unchanged when N > 1. However
the values of the array XBODY in the POT le (or in the optional conguration le), and
array MODE which are specied in the POT le are all ignored, since these are superseded
by the individual values for each body in the GGDF le. (If IALTPOT=-1, the same
statement applies to IRAD, IDIFF.)
7.2
75
7.3
76
7.4
If IALTFRC=2 the format of the FRC le is the same as described in Section 3.4 for
a single body, except that the array specifying (XCG,YCG,ZCG) is extended to include
all bodies, and the external force matrices have dimensions NDFR NDFR. NDFR=
N
n=1 (6 + NEWMDS(n)) is the total number of degrees of freedom including all rigid body
modes and generalized modes. The normal format is as follows:
header
IOPTN(1) IOPTN(2) IOPTN(3) IOPTN(4) IOPTN(5) IOPTN(6) IOPTN(7) IOPTN(8) IOPTN(9)
RHO
XCG(1) YCG(1) ZCG(1) XCG(2) YCG(2) ZCG(2) ...
... XCG(N) YCG(N) ZCG(N)
IMASS
EXMASS(1,1) EXMASS(1,2) ... EXMASS(1,NDFR)
EXMASS(2,1) EXMASS(2,2) ... EXMASS(2,NDFR)
.
.
EXMASS(NDFR,1) EXMASS(NDFR,2) ... EXMASS(NDFR,NDFR)
IDAMP
EXDAMP(1,1) EXDAMP(1,2) ... EXDAMP(1,NDFR)
EXDAMP(2,1) EXDAMP(2,2) ... EXDAMP(2,NDFR)
.
.
EXDAMP(NDFR,1) EXDAMP(NDFR,2) ... EXDAMP(NDFR,NDFR)
ISTIF
EXSTIF(1,1) EXSTIF(1,2) ... EXSTIF(1,NDFR)
EXSTIF(2,1) EXSTIF(2,2) ... EXSTIF(2,NDFR)
.
.
EXSTIF(NDFR,1) EXSTIF(NDFR,2) ... EXSTIF(NDFR,NDFR)
NBETAH
BETAH(1) BETAH(2) ... BETAH(NBETAH)
NFIELD
XFIELD(1,1) XFIELD(2,1) XFIELD(3,1)
XFIELD(1,2) XFIELD(2,2) XFIELD(3,2)
XFIELD(1,3) XFIELD(2,3) XFIELD(3,3)
.
.
XFIELD(1,NFIELD) XFIELD(2,NFIELD) XFIELD(3,NFIELD)
As in Section 3.4, the integers (IMASS,IDAMP,ISTIF) are set equal to one if the matrix follows, and equal to zero if no corresponding external matrix is included in the le.
Omitting the matrix is equivalent to including the matrix with zero values for all elements.
77
The same format can be used with the external force matrices in separate les and with
the corresponding lenames replacing the matrices in the FRC le. This option is specied
by the values (IMASS,IDAMP,ISTIF)=2:
header
IOPTN(1) IOPTN(2) IOPTN(3) IOPTN(4) IOPTN(5) IOPTN(6) IOPTN(7) IOPTN(8) IOPTN(9)
RHO
XCG(1) YCG(1) ZCG(1) XCG(2) YCG(2) ZCG(2) ...
... XCG(N) YCG(N) ZCG(N)
2
MASS (filename containing inertia matrix)
2
DAMP (filename containing damping matrix)
2
STIF (filename containing stiffness matrix)
NBETAH
BETAH(1) BETAH(2) ... BETAH(NBETAH)
NFIELD
XFIELD(1,1) XFIELD(2,1) XFIELD(3,1)
XFIELD(1,2) XFIELD(2,2) XFIELD(3,2)
XFIELD(1,3) XFIELD(2,3) XFIELD(3,3)
.
.
XFIELD(1,NFIELD) XFIELD(2,NFIELD) XFIELD(3,NFIELD)
The separate external force data les MASS, DAMP, STIF contain a one-line header plus
the three corresponding matrices shown in the rst format.
As in Section 3.4, it is also possible in Version 6 to specify the Alternative Form 2 by
inserting the integer 2 in the second line, but that option is deprecated.
The rst line of this le, and all lines beginning with the variable NBETAH, are identical
to the data in Alternative 1 FRC le. The data which dier in Alternative 2 are described
in Section 3.4.
78
7.5
Alternative Form 3 includes one Global FRC le (GFRC) and N FRC les. The FRC
le for each body can take either the form of Alternative 1 or Alternative 2. With this
option existing FRC les for single bodies can be used without modication. Note however
that this precludes the consideration of external mass, damping and stiness forces which
produce coupling interactions between the bodies.
If IALTFRC=3 the input parameters in the GFRC le are listed below:
header
IOPTN(1) IOPTN(2) IOPTN(3) IOPTN(4) IOPTN(5) IOPTN(6) IOPTN(7) IOPTN(8) IOPTN(9)
RHO
FRC(1)
FRC(2)
.
.
FRC(N)
NBETAH
BETAH(1) BETAH(2) ... BETAH(NBETAH)
NFIELD
XFIELD(1,1) XFIELD(2,1) XFIELD(3,1)
XFIELD(1,2) XFIELD(2,2) XFIELD(3,2)
XFIELD(1,3) XFIELD(2,3) XFIELD(3,3)
.
.
XFIELD(1,NFIELD) XFIELD(2,NFIELD) XFIELD(3,NFIELD)
The rst three lines of this le, and all lines beginning with the variable NBETAH, are
identical to the data in the Alternative Form 2 FRC le.
FRC(K) is the name of the FRC le for body K. The Form of each separate le must be
1 or 2, and this is specied by the optional array IALTFRCN in the conguration le, as
described in the following section.
Some of the data given in N FRC les are read but neglected, if the same data is given in
the GFRC le. For example, the data IOPTN and RHO in the FRC les for each body
are neglected and the corresponding parameters provided by the GFRC le are used.
As with IALTFRC=2, it is possible to specify IALTFRC=3 by inserting the integer 3 on
line 2 of this le, but this practice is deprecated in Version 6 and may not be supported in
later versions.
79
7.6
The conguration le described in Section 3.9 includes a few inputs that are relevant to the
analysis of multiple bodies. These include NBODY, XBODY, NEWMDS, and IALTFRCN.
If IALTFRC=3 the array IALTFRCN must be specied in conguration, unless the default
values 1 are applicable for all bodies. The parameters NBODY, XBODY, and NEWMDS
can be specied either in conguration or in other input les, as indicated in Section 3.9.
A typical conguration le used for all of these parameters is as follows, with explanatory
comments on each line:
IALTFRC=3 (use FRC format in Section 7.5)
IALTFRCN=2 1 2 (Form of FRC le for each body)
IALTPOT=1 (use POT format in Section 3.1)
IDEFINE=1 (run DEFINE subroutine in .dll le for generalized modes)
ILOWHI=0 (use low-order method)
IPERIO=1 (POT le contains wave periods in seconds)
NEWMDS(1)=0 (Body 1: No generalized modes)
NEWMDS(2)=4 (Body 2: 4 generalized modes)
NEWMDS(3)=0 (Body 3: No generalized modes)
XBODY(1) = -5.0 0.0 0.0 0.0 (Body 1 coordinates)
XBODY(2) = 0.0 0.0 0.0 0.0 (Body 2 coordinates)
XBODY(3) = 5.0 0.0 0.0 90.0 (Body 3 coordinates)
710
7.7
OUTPUT
The nondimensionalizations given in Chapter 4 hold for all output quantities. L=ULEN(1),
the dimensional length for Body 1, is the characteristic length and is used for the nondimensionalization of the output quantities.
The added mass (Aij ), damping coecients (Bij ) and hydrostatic coecients(C(i, j))
are matrices of dimension up to 6N 6N . These quantities are dened in the direction
of the axes of the corresponding body coordinate systems. For example A1,9 is the added
mass in the direction of the x-axis of the coordinate system of Body 1 (surge added mass)
due to the motion of the Body 2 in the direction of the z-axis of Body 2 (heave motion).
The forces (Xi ) and the motion amplitudes (i ) are vectors of dimension up to 6N .
These quantities are also dened in the direction of the axes of the coordinates system of
the corresponding body. For example, X17 is the pitch exciting moment about the y-axis
of Body 3. The phases of the forces and motion amplitudes and of the eld quantities
such as the eld pressure and eld velocity, are dened relative to the phase of the incident
wave at the origin of the global coordinate system.
The pressure drift force and moment (Option 9) returns values for each body in its
respective body coordinate system.
When Option 8 is specied (momentum drift force and moment) the quantities calculated are the global horizontal drift forces and mean yaw moment acting on the entire
ensemble of bodies. It is possible to compare these outputs with the total drift force and
moment from pressure integration, by summing the latter outputs for the forces and moments on each body. This provides a useful check on consistency. Special attention is
required if the body coordinates are not parallel to the global coordinates system.
711
Chapter 8
(8.1)
where j > 6 is the index of the mode. (The rst six indices j = 1, 2, ..., 6 are reserved
for the conventional rigid-body modes.) The displacement vector (uj , vj , wj ) is dened by
the user in a special subroutine which can be accessed and modied by the user. The
displacement vector can be any physically relevant real function of the body coordinates
(x, y, z) which can be dened by FORTRAN code.
Corresponding to these modes are the generalized hydrodynamic force components,
which are dened as in Sections 4.2 and 4.3 with the extended normal-vector ni and the
corresponding radiation solutions i . Further discussion of the pertinent theory may be
found in References [13] and [26].
The following four examples, which are intended to illustrate applications, are simplied
from the computational examples in [13].
1. A ship with simplied transverse and vertical bending modes described by the Legendre polynomial of order 2:
u7 = 0,
v7 = P2 (q),
u8 = 0,
v8 = 0,
81
w7 = 0
(8.2)
w8 = P2(q)
(8.3)
v7 = 0,
u8 = 6q 3 5q 2 ,
4
w7 = 0
v8 = 0,
2
(8.4)
w8 = 0
v9 = 0,
w9 = 0
(8.5)
(8.6)
v7 = 0,
w7 = |x|nz
(8.7)
(8.8)
w8 = 1
(8.9)
u9 = z
w9 = x
(8.10)
(With these denitions the exciting force coecients can be evaluated either from
the Haskind relations or direct pressure integrals as dened in Section 4.3, with the
surface integrals extended over the ensemble of the central body and its images.)
In the generalized mode analysis one or two planes of geometric symmetry can be exploited to reduce the computational burden, when the body geometry permits. In such
cases it is necessary to dene the generalized modes to be either symmetrical or antisymmetrical. These symmetries must be specied in the subroutine by assigning one of the
integers (1-6) to the array ISYM for each of the generalized modes. The value of this
integer signies that the symmetries of the generalized mode are the same as the corresponding rigid-body mode. Since the symmetries of surge (j=1) and pitch (j=5) are always
the same, and likewise for sway (j=2) and roll (j=4), specifying ISYM=1 or 5 is equivalent,
82
and similarly ISYM=2 or 4 is equivalent. If there are no planes of symmetry, any integer
in the range (1-6) may be assigned to ISYM.
Any problem which can be analyzed with the NBODY option can also be analyzed with
the generalized mode option. If geometric symmetry planes exist for the ensemble of all
bodies, the use of the generalized mode method is more ecient computationally. On the
other hand, the preparation of input les generally is simpler in the NBODY approach.
Complex generalized modes can be analyzed by superposition of the separate real and
imaginary parts, each of which is treated as a separate real mode. For example, the
specications w7 = cos(kx), w8 = sin(kx) dene two vertical deections which can be
superposed with a phase dierence of 90 to represent a snake-like traveling wave along
the body.
Two alternative program units have been provided in the WAMIT software package to
facilitate the use of generalized modes. The rst method, also used with previous versions
of WAMIT, uses a separate program DEFMOD to evaluate the geometric data associated
with generalized modes. DEFMOD contains a subroutine DEFINE, which can be modied
by the user to compute the displacement vector for dierent generalized modes. This
method is retained in Version 6 and can be used with the low-order method (ILOWHI=0).
The second method, which is applicable for both the low-order and higher-order methods,
uses a DLL le containing a special subroutine NEWMODES with a library of lower-level
routines where dierent types of generalized modes can be dened. Since NEWMODES
is contained in a DLL le it can be modied by the user, in a similar manner to the
GEOMXACT le for dening bodies analytically (cf. Section 6.9).
The rst method, using the program DEFMOD, can be used with any suitable FORTRAN compiler. Three separate runs must be made, rst with WAMIT to set up the
input le for DEFMOD, then with DEFMOD, and nally with WAMIT to solve for the
potentials in the usual manner. In the second method only one run of WAMIT is required, however users of the PC executable code must compile the DLL le following the
instructions below.
In Section 8.1 the input les are described for performing the generalized mode analysis
for a single body. Section 8.2 describes the use of DEFMOD, and Section 8.3 describes
the alternative use of the DLL le NEWMODES. The denitions of hydrostatic restoring
coecients are described in Section 8.4 and the analysis of multiple bodies (NBODY>1)
is described in Section 8.5.
Several test runs are used to illustrate the use of generalized modes, including the use of
both DEFMOD and NEWMODES and the appropriate input les. TEST08 (ILOWHI=0)
and TEST18 (ILOWHI=1) analyze a bottom-mounted column with bending modes. TEST16
analyzes a rectangular barge with bending modes. TEST17(a,b) illustrates the use of generalized modes to analyze damped motions of a moonpool. TEST23 uses generalized modes
to analyse a bank of paddle wavemakers. TEST 24 analyses the motions of a vessel with
ve separate segments connected by hinges. Further information is contained in the Appendix.
83
8.1
INPUT FILES
Two input parameters NEWMDS and IGENMDS control the implementation of the generalized mode option. NEWMDS species the number of generalized modes, with the
default value zero. Instructions for inputting NEWMDS in the POT le (if IALTPOT=2)
or in the conguration le (if IALTPOT=1) are given in Sections 3.2 and 3.7 respectively.
IGENMDS is an integer used to specify the denition of the generalized modes, using either
the DEFMOD program or the NEWMODES subroutine library. IGENMDS is input in
the conguration le. The default value IGENMDS=0 is used if the program DEFMOD
is used, as explained in Section 8.2. If IGENMDS is nonzero, the DLL le NEWMODES
is used. In the latter case, the value of IGENMDS can be used to identify appropriate
subroutines within the NEWMODES library, as explained in Section 8.3.
The denition of nondimensional outputs corresponding to each mode of motion cannot
be specied in general, without prescribing the dimensions of each mode. To avoid this
complication, the parameter ULEN should be set equal to 1.0 in the GDF le whenever
generalized modes are analyzed. Except for this restriction, the GDF and POT input les
are not changed.
In the POT le the six rigid-body modes can be specied as free or xed in the usual
manner, by appropriate choices of the index IRAD and array MODE (see Section 3.2). The
program assumes that all generalized modes (j > 6) are free, and sets the array elements
MODE(j) equal to one for these modes during the computations.
The options in FORCE have the same eect for generalized modes as for the rigidbody modes, except for restrictions on the mean drift forces evaluated by direct pressure
integration (Option 9) and control surfaces (Option 9c). The two horizontal drift forces and
the vertical drift moment can be evaluated, including all pertinent motions of the body in
the rigid-body and generalized modes, using the momentum analysis (Option 8). Options
9 and 9c cannot be used for bodies with generalized modes. In the analysis of multiple
bodies (NBODY>1), where some but not all of the bodies have generalized modes, Options
9 and 9c can be used for the bodies with no generalized modes.
The Alternative Form 2 of the FRC le (IALTFRC=2) should be used to specify the
appropriate mass, damping, and stiness matrices for the body including its extended
modes. For example, in case 1 above, to account for the mass and stiness of the ship
hull it is necessary to include corresponding 8 8 matrices which correctly specify these
coecients for the distribution of internal mass within the ship and for its bending motion.
The FRC les used for Test Runs 08, 16, 17, and 18 illustrate appropriate forms.
8.2
subroutine DEFINE, which should be modied by the user for each application. In the
DEFMOD subroutine as provided, DEFINE evaluates the bending modes of the vertical
column used in the Test Run TEST08. (The same subroutine is included in NEWMODES
and used for TEST18.) The four examples itemized in the introduction of this Chapter are
included in separate les DEFINE.1, DEFINE.2, DEFINE.3, and DEFINE.4 to illustrate
the preparation of appropriate subroutines. (Additional modes are included in these les.)
The evaluation of the normal velocity (8.1) for generalized modes requires a specication
of the vectors u, v, w, and normal components nx, ny , nz at the centroid of each panel. The
rst WAMIT run is aborted after writing these data to a le, and also the panel areas
which are required to evaluate the hydrostatic coecients for the generalized modes. The
user is then requested to run DEFMOD. After DEFMOD is run, WAMIT may then be rerun to complete the analysis in the normal manner. This procedure is described in greater
detail below, and illustrated by the ow chart in Figure 8.1. There are two input/output
les associated with DEFMOD, both denoted by the lename (gdf) of the GDF le. The
le gdf.PRE (for PRE-processing) contains for each panel the centroid coordinates x, the
area, and the six components of n and x n. The le gdf.MOD (for MODes) contains
the generalized normal velocity on each panel, and the hydrostatic coecients. These two
les are prepared automatically by WAMIT and DEFMOD, and do not require special
attention by the user.
The rst run of WAMIT is made with NEWMDS > 0 specied in the conguration
le. The pre-processor le gdf.PRE is output to the hard disk, and execution of WAMIT
is interrupted with the following message:
PREMOD run completed now run DEFMOD
This rst run of WAMIT is interrupted if NEWMDS > 0 and if there is not already in
the default directory an input le with the name gdf.MOD. For this reason the user must
rename or delete old MOD les prepared with the same gdf lename.
The output le gdf.PRE includes a one-line header for identication, followed by one
line containing the symmetry indices (ISX, ISY), number of input panels (NEQN), and
the maximum number of degrees of freedom which can be assigned in the WAMIT run
(MAXDFR). Each of the remaining lines of this le corresponds to a panel, in the same
order as the GDF le, and includes the coordinates x=(x, y, z) of the panel centroid, its
area, and the six components of the normal vector n and cross-product xn.
Either before or after the rst run of WAMIT the user should modify the subroutine
DEFINE in the program DEFMOD, specifying the number of generalized modes, their
symmetries with respect to the geometric planes of symmetry of the body, and appropriate
code for computing the vectors (uj , vj , wj ). DEFMOD should then be compiled and linked
with an appropriate FORTRAN compiler. (Since DEFMOD is a self-contained FORTRAN
le, linking is a trivial operation.)
DEFMOD is executed after the rst run of WAMIT, using the gdf.PRE le as input
to generate the output le gdf.MOD. This MOD le generated by DEFMOD includes the
normal velocities of each generalized mode at each panel centroid. Also included at the
end of this le are the generalized hydrostatic coecients computed from equation (8.12).
85
After creating the gdf.MOD input le, execute WAMIT again to continue the run. From
this on to the completion of the run the procedure is identical to that where NEWMDS=0.
The rst and second runs are distinguished by the absence or presence, respectively,
of the le gdf.MOD. Thus the existence of an old le with the same name is important.
If changes are made only in the POT le (e.g. changing the wave periods), an existing
MOD le can be reused without repeating the rst run of WAMIT. On the other hand, if
changes are made in the GDF le (e.g. changing the number of panels), and if the same
gdf lename is used for the new GDF le, the old MOD le must be renamed or deleted
before running WAMIT. If changes are made in DEFMOD (e.g. changing the denitions
and/or number of new modes), the old PRE le can be used as input to create the new
MOD le. A warning message is issued by DEFMOD before overwriting an old MOD le
with the same name. No warning message is issued by WAMIT before overwriting an old
PRE le with the same name.
8.3
The source code for the DLL le NEWMODES.F is provided with the WAMIT software
to facilitate the specication of generalized modes by users, including users of the WAMIT
PC executable version. Source-code users may prefer to compile and link NEWMODES
together with WAMIT, or alternatively to keep it as a separate DLL le. PC executable
users must compile their modied versions of NEWMODES, following the instructions
below. This procedure is analogous to the modication of the DLL le GEOMXACT, as
described in Section 6.9.
The le NEWMODES.F includes the main subroutine NEWMODES, and a library of
specic subroutines used for dierent applications. The library can be modied or extended
by users to describe generalized modes for other applications. In all cases the calls to these
specic subroutines are made from NEWMODES. Thus the user has the capability to make
appropriate modications or extensions and to implement these with the executable version
of WAMIT, without the necessity to access to the remaining source code for WAMIT.
The principal inputs to NEWMODES are the Cartesian coordinates (X,Y,Z) of a point
on the body surface, specied in the vector form X(1),X(2),X(3), and the corresponding
components of the unit normal vector XN at the same point. These inputs are provided
by the calling unit of WAMIT, and the user does not need to be concerned with providing
these inputs. The principal outputs, which the user must specify in an appropriate subroutine for each generalized mode, are (1) the symmetry index of the mode, (2) the normal
component of the displacement, and (3) the vertical component of the displacement. The
symmetry indices, which are dened above in the Introduction, identify the symmetry of
each mode (assuming the body has one or two planes of symmetry) by assigning the values (1,2,3,...,6) to indicate the same symmetries as the corresponding rigid-body modes.
The normal component of the displacement, denoted VELH in NEWMODES, is computed
from the product of the displacement vector (U,V,W) and the normal vector XN. The
86
8.4
HYDROSTATICS
Sb
(8.11)
Here Di denotes the divergence of the vector (ui ,vi ,wi ), assumed to be continuous in the
vicinity of the body surface.
In cases where Di = 0 the hydrostatic matrix can be evaluated uniquely from the vertical
component wi . For these cases the simplied hydrostatic matrix
cij = g
Sb
88
nj wi dS
(8.12)
is computed and no further steps are required by the user. This computation is performed
in DEFMOD if that program is used, or internally in WAMIT if the DLL subroutine
NEWMODES is used.
In special applications where Di = 0, the hydrostatic coecients can be programmed
specially by modifying the code in the main program of DEFMOD. Alternatively, the
extra contribution from the last term in (8.11) can be included as an external force, in
the stiness matrix of the FRC le.
The hydrostatic coecients cij are output, as part of the complete hydrostatic matrix,
in the le out.hst, with the format indicated in Section 4.9. (Here out denotes the lename
of the .out le for the run.)
8.5
NBODY ANALYSIS
When it is desirable to do so, the NBODY and generalized mode analyzes can be combined.
An example where this might be eective is if two separate bodies are in close proximity,
one or both of them are undergoing structural deections, and there are no planes of
geometric symmetry for the ensemble of two bodies.
If NBODY>1, separate values of NEWMDS must be specied for each body. If IALTPOT=1 this is done in the conguration le using a separate line for each body with the
syntax NEWMDS(m) = n. Here m is the body index and n is the number of new modes
for that body. For example if there are three bodies, and body 1 has 3 generalized modes,
body 2 has none, and body 3 has 2, two lines should be added to the conguration le as
follows:
NEWMDS(1)=3
NEWMDS(3)=2
(The additional line NEWMDS(2)=0 may be added for clarity but is not required.)
If IALTPOT=2 the value of NEWMDS for each body is specied in the POT le, as
shown in Section 3.2.
In the approach described in Section 8.2, prior to the NBODY run of WAMIT, the
subroutine DEFMOD must be executed for each body, to prepare the corresponding MOD
le. This procedure is carried out separately for each body for which generalized modes
are specied, with an appropriate subroutine DEFINE corresponding to the generalized
modes of that body. The procedure for doing this is identical to that described in Section
8.2 for a single body.
In the approach described in Section 8.3, the subroutines in NEWMODES should be
organized in a logical manner so that the generalized modes for each body are dened.
Usually this can be done most eectively by using separate subroutines for each body, but
that is not necessary. The body index IBI is used to identify the body for each call.
The numbering sequence for these modes in the output les is with the new modes of
each body following the six rigid-body modes of the same body. Thus, in the example
above, the nine exciting-force coecients of body 1 are denoted by Xj (j = 1, 2, ..., 9, the
89
six conventional coecients of body 2 by (j = 10, 11, ..., 15, and the eight coecients of
body 3 by (j = 16, 17, ..., 23).
810
gdf.GDF
POTEN
pot.POT
gdf.PRE
FNAMES.WAM
gdf.GDF
pot.POT
frc.FRC
DEFMOD
CONFIG.WAM
(NEWMDS>0)
gdf.MOD
gdf.GDF
POTEN
pot.POT
pot.P2F
Figure 8.1: Flow chart showing the use of WAMIT and DEFMOD to dene and analyze generalized modes
in the low-order method (ILOWHI=0). In this example IALTPOT=1, and the number of generalized modes
NEWMDS is specied in the conguration le. On the rst run of WAMIT the centroid coordinates, area,
normal vector n, and cross-product xn are output for each panel to the le gdf.PRE, for pre-processing
by the program DEFMOD. After modication by the user to specify the desired modes, DEFMOD is run
with the input le gdf.PRE, to produce the output le gdf.MOD containing the normal velocity of each new
mode at the panel centroids, and also the hydrostatic coecients. After this pre-processing is completed,
WAMIT is run again in the normal manner, as in the ow chart of Figure 1-1. Note that WAMIT reads
the GDF and POT input les on both runs, although the data in the POT le is only used on the second
run.
811
Chapter 9
USE OF IRREGULAR
FREQUENCY OPTION
WAMIT includes a method for removing the eects of irregular frequencies on both the
velocity potential and the source strength. An outline of the method is given in Section
12.8, with more detailed information in References [8], [16] and [26]. In this method, the
computational domain includes the interior free surface of the body and it is necessary to
discretize it as well as the body surface. The integer switch IRR controls the removal of
the eect of irregular frequencies. This parameter is required either in the POT le or in
the conguration le, as explained in Sections 3.1, 3.2 and 3.9. Depending on the value
of IRR, the discretization of the interior free surface may be provided by the user or it
may be done automatically by the program. Explanation of the parameter IRR and the
discretization of the interior free surface are given in the following Sections.
9.1
INPUT PARAMETERS
The parameter IRR may be specied in the POT le as shown in Section 3.1 and 3.2, or
it may be assigned in the conguration le as shown in Section 3.9. The denition of IRR
is as follows.
IRR is the integer used to specify whether the eect of the irregular frequency is removed
or not. The values IRR=(0,1,2,3) are legal in the low-order method (ILOWHI=0). Only
the values IRR=(0,1) are legal in the higher-order method (ILOWHI=1).
IRR= 0: Do not remove the eect of the irregular frequencies.
IRR= 1: Do remove the eect of the irregular frequencies.
In the low-order method (ILOWHI=0) the user must discretize the free surface. The
coordinates of these panel vertices must be included in GDF le. (These must precede
dipole panels, as explained in Section 5.4. Otherwise, the locations of the free-surface
91
panels are arbitrary, within the GDF le.) The vertices of the free surface panels must
be numbered in the clockwise direction when the panel is viewed from inside the body or
in the counter-clockwise direction when the panel is viewed from above the free surface.
The whole, half or a quadrant of the interior free surface must be discretized in accordance
with the discretization of the body surface when there is geometric symmetry. The number
of equations, the parameter NEQN in the GDF le, should be the sum of the number of
panels on the body and the free surface.
In the higher-order method (ILOWHI=1) the user must represent the interior free surface
with one or more patches, in the same manner as for the body surface. This must be done
with the normal pointing downward, in the negative zdirection. In the context of the
right-hand-rule stated in Section 6.1, this is equivalent to requiring that the parametric
coordinates (u, v) for the free-surface patch must be dened such that the positive normal
vector in the (u, v) plane points downward from the free surface into the body. The
subroutine CIRCCYL in GEOMXACT.F is an example where the interior free surface is
represented analytically as one extra patch. The locations of the free-surface patches are
arbitrary, within the GDF le.
IRR= 2: Do remove the eect of the irregular frequencies.
The program projects the body panels onto the free surface to generate panels on the free
surface. IRR=2 should not be specied for a certain body shape such as a Tension Leg
Platform with pontoons. For these bodies, a vertical line intersects the body surface more
than once and thus the projection of two body panels overlap on the free surface. The
GDF le contains only the body panels (it is the same as the GDF le used with IRR= 0).
This option cannot be used with the higher-order method.
IRR= 3: Do remove the eect of the irregular frequencies.
With IRR= 3, the program automatically generates a discretized interior free surface, and
stores the panel vertices in a special output le gdf.IDF. In this le, the vertices of the free
surface panels are appended to the data in the GDF le. An outline of this procedure is
described below in Section 9.2. Since this automatic discretization cannot accommodate
abnormal waterline shapes, the user should visualize the paneling on the interior free
surface using the IDF le, to check the quality of the interior free surface discretization.
This option cannot be used with the higher-order method.
When IRR 1, the convergence rate of the iterative solver (ISOLVE=0) is reduced. It is
recommended to use either the block iterative solver or the direct solver.
The parameter ILOG in the POT file or the configuration file should be set
equal to 1 when IRR 1. The special limits of zero or negative (infinite) wave
period should not be included in the POT file when IRR1 .
The generation of free-surface panels in the low-order method, or free-surface patches in the
higher-order method, can generally be facilitated by using MultiSurf. Various techniques
may be considered for this purpose, including the higher-order integration option described
in Section 6.7 and Appendix C.
92
Figure 9.1: Automatic discretizations on the interior free surface of a circular cylinder. The figure on the
left shows the result of the discretization algorithm used when ISOR=0. The figure on the right shows
the result of the special algorithm used when ISOR=1 to ensure continuity of the panels adjacent to the
waterline.
9.2
The program discretizes the interior free surface based on i) the algorithm described in [8]
when ISOR=0 and ii) in a regular pattern when ISOR=1 as described below. Figure 9.1
shows these two discretizations on the interior free surface of a truncated cylinder. In i)
(ISOR=0) the interior free surface is discretized with triangular panels. In general, the
side of the triangular panels is similar to the average length of the waterline segments. due
to the O(1) aspect ratio of the panels, the number of panels on the interior free surface is
not so large as in i).
In ii) (ISOR=1) the connectivity between the free surface panels and the waterline segments is enforced. The necessity of this connectivity in the source formulation is explained
in [16]. The program rst nds the centroid of the waterplane area enclosed by a waterline
contour formed by a set of waterline segments. Then the two nodes of each waterline
segment are connected to the centroid forming triangles with vertices on the centroid and
on the two nodes. The triangles are discretized by quadrilateral panels (two sides of each
panel are on the lines from the centroid to the nodes) from the waterline segments to the
centroid with denser discretization toward the waterline. The last panel is a small triangle
which is used in the subsequent part of the program as a ag indicating the end of the
connectivity. In this way, the connectivity is guaranteed between certain groups of panels
starting from quadrilateral panels contiguous to waterline segment. This option should
not be used for any body where a ray from the centroid of the waterplane area
intersects the waterline more than once. In that case the IRR=1 option should
be used.
93
When IRR=1 and ISOR=1, the interior free surface panels should be discretized in
a following manner. First, dene a set of interior panels which are contiguous with the
waterline segments, one panel for each segment, and having aspect ratios similar to the
adjoining body panels. Continue this process recursively toward the centroid of the waterplane area. As the process continues moving inward toward the centroid, the panel size
can be increased and the continuity between adjacent panels is less important.
When IRR=1 and ISOR=0 it is recommended to discretize the interior free surface with
the panels having the following properties: i) Panels have O(1) aspect ratio. ii) The length
of the sides of the panels is similar to the waterline segments.
When the option IRR=3 is used, special care is required in preparing the GDF le
to ensure that there are no signicant gaps between the vertices of adjacent panels at the
waterline. In addition it is desirable to avoid panels at the waterline which are of extremely
small dimensions. These requirements are best understood in the context of the procedure
used by the program to dene the waterline contour from the data in the GDF le.
As the rst step for the automatic discretization of the free surface, the program searches
for and identies all of the waterline segments between the panel vertices which are in
the plane of the free surface or within a specied small distance of this plane. If the
nondimensional absolute value of the vertical coordinate is less than TOL=1.E-5 the vertex
is dened to be in the plane of the free surface. (This parameter TOL can be modied in
the source code, in the subroutine WTLPN of the le getip.f.)
To avoid including very small segments, which would produce a nonuniform discretization, waterline segments are neglected if their lengths are smaller than a specied minimum
length. The minimum length for this purpose is the product of another prescribed tolerance
(TOL=10E-3, dened in subroutine WLSORT of the same le) times the average length of
the waterline segments. (In computing this average length, segments which are very small
are neglected.) The program then rearranges the waterline segments in consecutive order,
based on testing the distance between the end points of the segments. If this distance is less
than the product of TOL times the average length, the program assumes the two segments
are contiguous. When there is a gap larger than this product, the program outputs the
error message Waterline panels do not form a closed contour.
Since waterline segments with a nondimensional length less than TOL are neglected,
it is possible for this error message to be output even when the actual gap is less than
TOL, due to the simultaneous occurrence of one or more gaps and/or small panels. More
specically, the error message is output when the cumulative length1 of successive small
waterline segments is larger than the prescribed tolerance for the gap.
When this error message is encountered, the user is advised to re-discretize the body
surface, to avoid panels with very small waterline segments and/or large gaps between
adjacent panels, or alternatively to use the IRR=1 option which requires the user to discretize the free surface. It is also possible to overcome this problem on an ad hoc basis by
modifying the parameter TOL in the subroutine WLSORT of the le gen.f. Modication
of TOL is potentially dangerous, if there are relatively short waterline segments.
1 The
cumulative length is defined here as the length of the vector sum of the waterline segments
94
The parameter SCALEH is dened in WAMIT with the value 1.4. This parameter is
used when IRR=3 and ISOR=0, to set the typical length ratio between the sides of the
triangular panels on the free surface and the side of body panels.
95
Chapter 10
SPECIAL TOPICS
10.1
Numerous checks are made in WAMIT for consistency of the data in the three input les.
Appropriate error messages are displayed on the monitor to assist in correcting erroneous
inputs. Output les containing warning and error messages are created after each execution
of the subprograms POTEN and FORCE. errorp.log contains messages from POTEN
and errorf.log from FORCE. The existing .LOG le, in the directory where the program
runs, is overwritten with every new run. When the program runs successfully without any
warning or error, the .LOG le contains two lines: a header line including the date and
time when the program starts to run and a line indicating the completion of the run.
Error messages are associated with problems where the program execution is halted.
Warning messages indicate that a possible error may occur, but under certain circumstances
the results may be correct. (Examples include failure of the convergence tests for various
numerical integrations, which sometimes result from inappropriate choices of characteristic
length scales or of overly conservative convergence tolerances. Another example is in the
case of diraction by a body with one or two planes of symmetry, where it is possible to
compute the exciting forces at certain heading angles without solving for all components of
the diraction potential; in this case the warning message states that the solution is nonphysical, whereas at some heading angles the exciting forces will be correctly evaluated.)
Error and warning messages generated during execution of the POTEN sub-program
are output to the le errorp.log, and messages generated during execution of the FORCE
sub-program are output to the le errorf.log. The same outputs are displayed on the
monitor. Since some of these messages may be lost on the monitor due to scrolling of other
outputs, a special warning message is generated at the end of the run to alert users when
signicant messages are contained in these two les.
Starting in V6.2, a new le wamitlog.txt is output during the run. This le is intended
to provide an archival record of the run. The le includes the starting and ending time and
date for each sub-program, copies of the principal input les, and copies of the outputs in
the les errorp.log and errorf.log. (Since the GDF input les are relatively long in the
101
low-order method, and also in the higher-order method when the geometry is dened by
low-order panels or B-splines (ILOWHI=0 or 1, respectively), in these cases only the rst
10 lines of the GDF le are copied to the le wamitlog.txt. Another point to note is that
the maximum width of lines of data is truncated to 80 characters in wamitlog.txt. The
existing wamitlog.txt le, in the directory where the program runs, is overwritten with
every new run.
Additional data is included in the le wamitlog.txt as explained below.
When a warning message occurs indicating that the Number of subdivisions exceeds
MAXSQR for the Rankine integration over a higher-order panel, the Cartesian coordinates
of the eld point and source point are output to wamitlog.txt so that the user can more
easily check if there is a singularity or inconsistency in the geometry denition in the
vicinity of these points.
When the input data in the Force Control Files for one or more bodies are in the
Alternative form 1, as dened in Section 3.3, the nondimensional inertia matrix for each
body is included in the le wamitlog.txt. This is particularly useful when the analysis
of a body is rst performed using Alternative form 1, and then changed for subsequent
extensions to Alternative form 2, for example when external damping is imposed on an
otherwise freely oating body. The normalizing factors for the nondimensional inertia
matrix are the products of the uid density, and appropriate powers of the characteristic
length parameter ULEN. In preparing a force control le for Alternative form 2, as dened
in Section 3.4, these normalizing factors must be included in the inputs EXMASS when
these are derived from the nondimensional inertia matrix.
10.2
To avoid conicting lenames, users are advised to reserve the extensions GDF, POT, FRC,
SPL, P2F, OUT, PNL, FPT, PRE, MOD, HST, CSF, CSP, 1, 2, 3, 4, 5p, 5vx, 5vy, 5vz,
6, 7x, 7y, 7z, 8, 9, and 9c for WAMIT input and output. Other reserved lenames include
CONFIG.WAM, FNAMES.WAM, ERRORP.LOG, ERRORF.LOG, WAMITLOG.TXT,
SCRATCH* (here *=A,B,C,...,O), as well as WAMIT.EXE, DEFMOD.FOR, DEFMOD.EXE,
and for V6PC, the DLL les GEOMXACT.F and NEWMODES.F. Source-code users can
modify the extensions by editing the appropriate assignments (in the source le modulesc.f,
module MAINC ARRAYS).
102
10.3
SCRATCH FILES
Two types of temporary scratch les are opened during execution of the subprogram
POTEN. One group are opened formally as scratch les using the FORTRAN convention, with lenames which are assigned by the compiler. The second group are opened
with the temporary lenames SCRATCHA, SCRATCHB, ..., SCRATCHO. All of these
les are deleted prior to the end of the run, but if execution is interrupted by the user (or
by power interruption to the system) some or all of the above scratch les may remain on
the hard disk. In the latter case the user is advised to delete these les manually.
10.4
The system memory requirements of WAMIT depend on the number of number of separate
solutions for the velocity potential (and source strength, if ISOR=1), and the number of
unknowns in each solution. This section is intended to provide the user with an understanding of these relationships, and of the manner in which WAMIT optimizes the solution
of a given problem.
The number of simultaneous equations NEQN, equal to the number of unknowns, is
used here to denote the dimension of the linear system solved for the determination of the
radiation and diraction velocity potentials on the body surface, and the corresponding
source strengths when the option ISOR=1 is selected. The value of NEQN for each run is
listed in the header of the OUT output le.
In the low-order method (ILOWHI=0) the number of equations NEQN is equal to the
number of panels NPAN specied in the GDF input le(s), except when reections about
body planes of symmetry are required as explained below. If dipole panels are input, as
explained in Section 5.4, NPAN is the sum of the conventional panels and dipole panels.
If the irregular-frequency option is used, additional panels are required on the interior
free surface inside of the body waterline, as described in Chapter 9, and the number of
equations is equal to the total number of panels including the interior free surface, regardless
of whether this is included in the GDF le and parameter NPAN explicitly (IRR=1), or
the interior free surface panels are added by the program (IRR=2 or IRR=3).
In the higher-order method (ILOWHI=1) NEQN depends on the number of patches,
panels, and the order of the B-splines:
NEQN =
NP
(10.1)
i=1
Here NP =NPATCH is the total number of patches, NU and NV are the numbers of panels
on each patch, and KU and KV are the orders of the B-splines used to represent the
solution. NU and NV are specied by the user in the CONFIG.WAM or SPL les, as
explained in Sections 6.9-10. KU and KV are specied in the CONFIG.WAM or SPL les,
or assigned the default value KU=KV=3. When reections about planes of symmetry are
103
104
of this array are complex, the corresponding storage requirement in RAM is 8*MAXSCR2
bytes, for systems which use 8 bytes for a single-precision complex number. Thus the
parameter MAXSCR should be determined initially by estimating the size of excess RAM,
after the program is loaded, and setting the largest integer value of MAXSCR such that
8*MAXSCR2 does not exceed the excess RAM which is available. If a value of MAXSCR
is specied which is larger than NEQN, MAXSCR is reduced by the program at run time,
and set equal to NEQN.
If the option ISOLVE= 1 is selected, to utilize the direct solver for the linear system
of equations, the entire left-hand-side matrix must be stored in RAM. This can only be
achieved if MAXSCRNEQN. Otherwise, if ISOLVE= 1, an appropriate error message is
generated at run time.
If the option ISOLVE> 1 is selected, to utilize the block iterative solver, the diagonal
block matrices must be stored in RAM, each block at a time for the local LU decomposition. This can only be achieved if MAXSCR is equal to or greater than the dimension
of the diagonal blocks. Otherwise the size of the diagonal blocks is reduced to MAXSCR
internally.
10.5
The les GEOMXACT.F and NEWMODES.F can be modied by users following the
instructions in Sections 6.8 and 8.3. This makes it possible for users of the PC-executable
code to develop special subroutines for the denitions of the body geometry and generalized
modes, respectively, and to link these subroutines with WAMIT at runtime. Users of the
source code have two alternative options: (1) maintain these two les separately from the
remainder of the code, and use the DLL option if it is available with their compiler, or (2)
compile and link the two source les directly with the remainder of the code.
The following procedure should be followed by PC-executable users to make a modied
version of GEOMXACT.DLL, using Compaq Visual Fortran. For NEWMODES.DLL the
procedure is identical.
Open a new project geomxact as a Fortran Dynamic Link Library
Add geomxact.f to the project
Build a release version of geomxact.dll
Copy the new version of geomxact.dll to the working directory for WAMIT
It may be possible to use other FORTRAN compilers to make the DLL le, but certain
conventions in calling subroutines must be consistent with those of Compaq Visual Fortran.
Further information is provided in [23], Chapters 8 and 18.
106
10.6
Version 6.2 includes options to generate three auxiliary geometry output les, with the
names gdf PAN.DAT, gdf PAT.DAT, and gdf LOW.GDF. (Here gdf is the lename of
the GDF input le. For a run with NBODY>1 the GDF lename for the rst body (N=1)
is used.) These les contain the Cartesian coordinates of panels or patches in formats
suitable for perspective plotting, and the coordinates of new low-order panels which are
derived from the input geometry. In all cases the coordinates are dimensional, and dened
in the same units as specied in the input GDF le(s).
The data in gdf LOW.GDF has the same denitions and format as a conventional loworder GDF le (Section 5.1). The coordinates of the panel vertices are dened with respect
to the body coordinate system, corresponding to the original GDF inputs. If NBODY>1
the le gdf LOW.GDF represents the body identied as N = 1. If the original body panels
are reected by the program, the le gdf LOW.GDF will include subdivided panels for the
reected body. (This will occur if NBODY>1, if walls are present, or if the body is not
symmetric with respect to the global coordinate system.) If ILOWGDF=1 and the body
is reected by the program, gdf LOW.GDF will contain the original body panels (without
subdivision) plus their images about the reected planes of symmetry.
The data in gdf PAN.DAT and gdf PAT.DAT are dened with respect to the global
coordinate system. In a WAMIT run with NBODY>1 the data for all of the bodies are
included. The gures in Sections A5 and A13 illustrate this feature.
These auxiliary les are described separately below for the low-order and higher-order
methods.
In the low-order method (ILOWHI=0) the vertex coordinates of the body panels are
stored in the output le gdf PAN.DAT in a format suitable for input to plotting programs
such as Tecplot. This facilitates the use of perspective plots to illustrate and check the
GDF inputs. If (ILOWHI=0) the le gdf PAN.DAT is output in the nite-element format
FEPOINT, as specied for use with the Tecplot program. Examples of these plots are
included in the Appendix for each low-order test run (Sections A1-A9). The integer parameter IPLTDAT in the le CONFIG.WAM is used to specify whether or not to generate
this output le. In the default case (IPLTDAT=0) no le is generated. If (IPLTDAT>0)
the le is generated.
In the low-order method (ILOWHI=0) the optional output le gdf LOW.GDF is controlled by the integer parameter ILOWGDF in the le CONFIG.WAM. If ILOWGDF> 0
the output le gdf LOW.GDF is generated, with all of the original panels subdivided into
ILOWGDFILOWGDF sub-divisions. The rst three lines are copied from the GDF input le. The total number of sub-divided panels is included on line 4. This option can be
used to increase the number of panels, and hence to increase the accuracy of the solution
for the potential or source strength. However this subdivision scheme does not increase
the accuracy of the geometric representation of the body, since the subdivided panels are
coplanar with the original panels. Only one body can be subdivided in this manner.
In the higher-order method (ILOWHI=1) the optional output les gdf PAT.DAT and
gdf PAN.DAT specify the vertex coordinates of both the patches and panels, as dened in
107
Chapter 6. If (ILOWHI=1) these les are in the ordered-list format POINT, as specied
for use with the Tecplot program. Examples of these plots are included in the Appendix
for each higher-order test run (Sections A11-A19). The integer parameter IPLTDAT in
the le CONFIG.WAM is used to specify whether or not to generate these output les.
In the default case (IPLTDAT=0) no les are generated. If (IPLTDAT>0) the les are
generated. The number of panel subdivisions on each patch is determined by the parameters NU and NV in the SPL le, as explained in Section 6.11. If IPLTDAT=1 the data
le gdf PAT.DAT contains only the four vertices of each patch, and the le gdf PAN.DAT
contains only the four vertices of each panel. If IPLTDAT>1, each element is subdivided
into IPLTDATIPLTDAT sub-elements. Subdivision of the elements is useful when perspective plots are constructed for bodies with curved boundaries of the patches and panels.
When the curvature is large, IPLTDAT should be increased to give a more accurate plot.
(IPLTDAT=5 is used for the plots shown in Sections A11-A19.)
In the higher-order method (ILOWHI=1) the optional output le gdf LOW.GDF is controlled by the integer parameter ILOWGDF in the le CONFIG.WAM. If ILOWGDF> 0 a
low-order GDF le is generated, using the panel vertices of the higher-order geometry with
ILOWGDFILOWGDF sub-divisions. The rst three lines are copied from the higherorder GDF input le. The total number of sub-divided panels is included on line 4. This
option can be used to generate low-order GDF les for any of the geometries which can be
input to the higher-order method, including geometries represented by a small number of
at patches (Section 6.5), B-splines (Section 6.6), and geometries which are dened in the
subroutine GEOMXACT (Section 6.8). In each case the number of low-order panels can
be increased by increasing the value of ILOWGDF. The coordinates of the panels are in
the same body-xed dimensional system as the original input data.
These optional les are generated in the POTEN subprogram, after reading the geometry input les and before looping over the wave periods. If NPER=0 these les can be
generated quickly, without the extra time required to solve for the potential and hydrodynamic parameters.
108
10.7
INTERNAL TANKS
Version 6.2 includes the options to analyze the linear hydrodynamic parameters for a uid
inside an oscillatory tank, or to analyze the coupled problem where one or more tanks are
placed within the interior of one or more bodies, including their dynamic coupling. Usually
the uid in each tank will be bounded above by a free surface, but in special cases a rigid
boundary surface can be placed above the uid to represent a tank entirely lled by uid.
The following discussion pertains to the situation where a free surface is present in each
tank. The free surface boundary condition in each tank is linearized in the same manner as
for the exterior free surface. Special attention is required near the eigenfrequencies of the
tanks, where nonlinear eects are signicant. A two-dimensional study of this problem,
including nonlinear motions in the tank, is presented in Reference [26].
The tank geometry is dened in the same manner as for the exterior surface of each body,
using either the low-order method with conventional panels, or the higher-order method.
In both cases it is essential that the normal vector points away from the wet side of the
tank surface, as explained in Section 5.1 (ILOWHI=0) and Section 6.1 (ILOWHI=1). In
the context of a tank, this means that the normal vector points out of the tank and into the
interior space of the body. In the low-order method the tank panels are included with the
conventional body panels in the .GDF le. In the higher-order method the tank patches are
dened in the same manner as the body surface, using one of the options listed in Sections
6.5 to 6.9. In both cases the tank panels or patches are identied by their starting and
ending indices, which must be listed in the .CFG le using the parameter name NPTANK,
as explained in Section 3.7.
Test 22 is an example, where the body is an FPSO containing two rectangular internal
tanks. Patches 1-7 represent the exterior surface of the FPSO, patches 8-11 represent tank
1, and patches 12-15 represent tank 2. (When IRR=1, this convention is modied, with
patches 8-10 used for the interior free surface of the FPSO and patches 11-18 used for the
tanks, as explained in the header of the GEOMXACT.DLL subroutine FPSOINT.) One
side of each tank is represented by four rectangular patches, with their vertex coordinates
included in the GDF le TEST22.GDF.
The panels or patches which represent each tank must be contiguous. Separate tanks
can be grouped together, or interspersed arbitrarily within the description of the exterior
surface. It is recommended to group all of the tanks together, either at the beginning
or at the end of the panels/patches which dene the exterior surface. When IRR=1 and
ILOWHI=0, the interior free surface panels must be placed at the end of the GDF le, as
explained in Section 9.1, and thus if tanks are included they must be located before the
panels which dene the interior free surface.
The vertical positions of tanks can be specied arbitrarily, in other words the free surface
of each tank can be dened independently of the other tanks and the exterior free surface.
For each tank the free surface is dened to coincide with the highest point of the panel
vertices or patch corners dening that tank. In TEST 22, the free surface of one tank
coincides with the exterior free surface, i.e. the plane z = 0, and the free surface of the
other tank is elevated.
109
The solutions for the velocity potential (or source strength) are performed independently
for the exterior uid domain, and for each interior tank. Thus the mutual locations of these
surfaces are irrelevant. Small gaps between them do not cause problems, and they may even
coincide without introducing numerical diculties. When irregular-frequency removal is
used (IRR>0), the entire interior free surface inside the body should be described, ignoring
any possible intersections with tanks. Thus the same interior free surface should be used
with or without the presence of tanks.
Two types of tank parameters must be included in the CFG le, as explained in Section
3.7:
NPTANK is an integer array used to specify the panel or patch indices of internal tanks.
The data in this array are in pairs, denoting the rst and last index for each tank. An
even number of indices must be included on each line. More than one line can be used
for multiple tanks, and/or multiple tanks can be dened on the same line. If NBODY>1,
the body number(s) for each body containing tanks must be appended to the parameter
name. Only integer data are read for the array NPTANK, with spaces separating each
index. Other ASCII characters may be used to delimit the data in pairs.
RHOTANK is a real array used to specify the density of uid in internal tanks. The
density specied is relative to the density of the uid in the external domain outside
the bodies, as dened in Chapter 4. The data in the array RHOTANK must be input
in the same order as the data in the array NPTANK. Multiple lines of this parameter
may be used, with an arbitrary number of data on each line, but each line must begin
with RHOTANK=. The total number of tanks NTANKS is derived from the inputs
NPTANK in the POTEN run. If fewer than NTANKS values of RHOTANK are specied,
the remainder of the array is assigned the last non-negative value. Thus if the density is
the same for all tanks, only the rst value is required. Zero may be assigned, but negative
values of the density must not be assigned. RHOTANK is only used in the FORCE run,
and may be changed if separate FORCE runs are made using the same POTEN outputs.
Further details and examples are given in Section 10.8.
The following are equivalent formats for the required lines in the le TEST22.CFG:
NPTANK= (8-11) (12-15) (patch indices for two tanks)
RHOTANK= 0.6 0.6 (fluid densities for tanks one and two)
NPTANK= 8 11 (patch indices for tank one)
NPTANK= 12 15 (patch indices for tank two)
RHOTANK= 0.6
These examples illustrate the following rules:
1. Only integer data are recognized in NPTANK. Arbitrary ASCII characters other than
these can be used both as comments and to delimit the pairs of indices for each
tank, according to the users preferences. At least one blank space must be used to
1010
separate pairs of indices. Comments appended to these lines must not include integer
characters.
2. The total number NTANKS of tanks to be included is determined by the number
of pairs of indices in NPTANK inputs, in this case NTANKS=2. The same number
of densities RHOTANK is required for the analysis, but it is not necessary to input
repeated values if all of the densities are the same (or if all of the densities after a
certain point are the same). The order of the tank densities must correspond to the
order of the index pairs in NPTANK.
3. The data in RHOTANK are real numbers. After specifying all NTANKS values,
arbitrary comments can be appended as in the rst example above, but if fewer than
RHOTANK real numbers are assigned the remainder of the line should be left blank,
as in the second example above.
When eld pressures and/or velocities are required for eld points inside the tanks
(Options 6-7) special inputs are required. In this case, when the eld point coordinates
XFIELD are input as explained in Section 3.3, the parameter ITANKFPT=1 must be
specied in the .cfg le, as explained in Section 3.7, and the format of the XFIELD inputs
in the .frc le must include the corresponding number of each tank, or zero for the exterior
domain. When all of the eld points are dened by arrays, using the option described in
Section 3.10, the parameter ITANKFPT is not used and may be deleted from the .cfg le.
Inputs which relate to the bodys mass including VCG and the radii of gyration XPRDCT
(IALTFRC=1), or XCG, YCG, ZCG and the inertia matrix EXMASS (IALTFRC=2) refer
to the mass of the body alone, without the tanks (or with the tanks empty). The same
denitions apply to the outputs of these quantities in the header of the .out le and in
the log le wamitlog.txt. When IALTFRC=1 is used, the body mass is derived from the
displaced uid mass corresponding to the body volume, minus the uid mass in the tanks.1
The body volumes, center of buoyancy, and hydrostatic restoring coecients displayed
in the header of the .out le are calculated from the exterior wetted surface of the body, and
are not aected by the tanks. The volumes, densities, values of ZTANK, and hydrostatic
restoring coecients for the tanks are listed separately after the corresponding data for
the hull. When the higher-order option (ILOWHI=1) is used, the header of the .out le
includes a list of all the patches, and the corresponding tank numbers ITANK for patches
which are dened as interior tanks.
Hydrodynamic parameters which are physically relevant for the tanks alone (options
1,5,6,7,9) can be computed by inputting only the patches or panels for the tanks. In
this case IDIFF=-1 should be used, and the outputs for options 5,6,7,9 correspond to the
combination of radiation modes specied by the IMODE array, with unit amplitude of each
mode. The damping coecients for the tanks should be practically zero. From momentum
1 In WAMIT Versions prior to 6.312 the inertia matrix output in the log file wamitlog.txt when IALTRFRC=1 is not
reduced by the fluid mass in the tanks. The correct inertia matrix is used in the equations of motion and in all hydrodynamic
outputs which depend on the RAOs. Users of earlier versions can correct the output in the log file by multipyling each
element of the inertia matrix by the factor 1 (RHOTANK VOLT )/VOLB ). Here VOLT is the sum of the volumes of all
tanks in the body and VOLB is the volume of the body. These quantities are all specified in the header of the .out file.
1011
conservation the outputs from option 8 are zero, and the horizontal drift forces and vertical
drift moment from option 9 should be practically zero.
Internal tanks aect the hydrostatic restoring coecients Cij , as described in Section
12.10. The complete hydrostatic matrix, which is output in the out.hst le, includes the
eects of the tanks. Note that these outputs are not the same as the hydrostatic matrix
for the hull alone as described above, and displayed in the .out le. For example the
hydrostatic coecient C33 in the .out le is equal to the total area of the waterplane inside
the waterline of the body, whereas the coecient C33 in the .hst le is reduced by the
product of the free-surface area and density for each tank.
When both tanks and the external hull surfaces are included, hydrodynamic and hydrostatic parameters which are relevant for the hull alone, with no internal tanks, can be
computed by setting RHOTANK=0.0
10.8
Version 6.3 includes the option to analyze the waves generated by one or more wavemakers
in the plane(s) of symmetry x = 0 and/or y = 0. This conguration corresponds to a wave
tank with rectangular walls in the planes of symmetry. The opposite walls of the wave
tank are assumed to have absorbing beaches, represented here by open domains extending
to innity. If the symmetry indices ISX=1, ISY=1 are input, with wavemakers in one
or both planes of symmetry, the walls extend to innity in both the x and y directions.
Alternatively, with ISX=1 and ISY=0 and wavemakers in the plane x = 0, or conversely,
one wall extends to both innity corresponding to a wave tank of innite width. In
all cases it is assumed that the wall(s) are planes of symmetry, and the uid motion is
symmetrical about these planes. Thus the solution for the velocity potential in the uid
domain can be represented by a distribution of sources of known strength, proportional to
the normal velocity of the wavemaker, and it is not necessary to solve the integral equation
for the velocity potential on the wavemakers. This saves considerable computational time,
and also avoids the singular solution that would otherwise occur for bodies of zero thickness
in the plane of symmetry.
The geometry of each wavemaker is dened in the .gdf le. In the low-order method
(ILOWHI=0) a sucient number of panels must be included on each wavemaker to ensure
a converged solution. In the higher-order method (ILOWHI=1) only one patch is required
on each wavemaker. If the wavemakers are rectangular (or quadrilateral), the higher-order
analysis can be carried out most easily using the option IGDEF=0, as explained in Section
6.5.
The parameter ISOLVE=-1 is used to indicate that the wavemakers are in planes of
symmetry, and that the solution of the integral equation should be skipped. Suitable generalized modes must be dened, as explained in Chapter 8, to represent the normal velocity
of each wavemaker. IRAD=0 is recommended, with IMODE(1:6)=0, to avoid computing
the 6 rigid-body modes. IDIFF=-1 is required. The separate wavemaker elements are
1012
considered to be part of one body, with appropriate generalized modes used to represent
the independent motion of each element, and NBODY=1. No other bodies can be present
within the uid domain.
The principal outputs are WAMIT options 6 and 7 (potential and uid velocity at
specied eld points). If the eld point is on the free surface the potential is equivalent
to the wave elevation. No other options are supported. If multiple wavemakers are run
together with separate modes for each wavemaker, the parameter INUMOPT6=1 should
be specied in the .cfg le to provide separate outputs for each mode. In that case only the
complex amplitude is output, with a separate pair of columns for each mode, as indicated
in Section 4.9. A post-processor should be used to combine these outputs, for arbitrary
combinations of simultaneous motion of all wavemakers.
In the NEWMODES DLL le the subroutine WAVEMAKER is included, to analyze one
or more paddle-type wavemaker segments, with pitching motions about a horizontal axis
in the lower edge of each wavemaker. The depth of this axis must be specied in the input
le WAVEMAKER DEPTH.DAT. In the subroutine the depth of the axis is the same
for all wavemaker elements. The number of wavemakers is arbitrary, but each separate
mode of motion corresponds to one patch (or panel) of the geometry, in the same order
as these are dened in the .gdf le. In the low-order method this eectively restricts the
use of the subroutine to only one panel per wavemaker. Thus it is strongly recommended
to use the higher-order method (ILOWHI=1) when using the subroutine WAVEMAKER.
NEWMDS=NPATCH must be specied in the pot or cfg le, with the same value as the
number of patches in the gdf le. To specify the use of WAVEMAKER the parameter
IGENMDS=21 is dened in the CFG le.
TEST23, described in Appendix A23, illustrates the use of this option for a bank of
eight wavemakers along the wall x = 0, with symmetry about both x = 0 and y = 0.
The generated wave elevations for each wavemaker are evaluated over a square array of
8 8 = 64 eld points. The depth of the horizontal axis is specied by the parameter
ZHINGE=-2m in the input le WAVEMAKER DEPTH.DAT.
1013
Chapter 11
111
5. The second-order quadratic pressure force acting along the waterline is output along
with the body pressure. This output may be useful when the pressure force is integrated
locally to evaluate the cross-sectional force/moment of structures. The geometric data of
the waterline segments are output in the PNL le.
The second-order output may not be available in some situations. They include i)
the generalized mode (NEWMDS) option is not allowed, ii) xed/free modes option is not
allowed, iii) walls are not allowed and iv) the zero-thickness structure is not allowed. When
the second-order RAO of constrained structures are evaluated, the external constraints may
not be accounted fully. More specically, the quadratic interaction between the external
constraints and the linear body motion can not be included as an input to the program.
This Chapter describes the special features in input and output of V6.3S which dier
from those of V6.3. It is recommended to review the previous chapters, if users are not
familiar with V6.3. In the following, the preparation of input les is explained followed by
the description of the output from V6.3S. The description of the theoretical background
of the second-order analysis can be found in References [9], [17], [26] and other documents
cited therein.
All input les prepared for V6.3 are required in order to run V6.3S. These les are CFG,
GDF, POT, FRC, optional FNAMES.WAM and, when ILOWHI=1, optional SPL. The
input les to V6.3 can be used without modications, when only the linear output and
mean drift force are required.
To evaluate the second-order output, new parameters must be added to the CFG (or
CONFIG.WAM) and FRC les. In addition, one or two new input les must be prepared
as instructed below. The extensions of new les are .PT2 (Potential Control le 2) and
.FDF (Free surface Data File). The lenames of PT2 and FDF can be specied in the
optional FNAMES.WAM in order to avoid interactive input during batch runs.
11.1
ISOR=0.
11.2
If I2ND=1 in the CFG le, the dimension of the IOPTN array in FRC must be increased
from 9 to 16. The last seven elements control the second-order output. (If I2ND=0, only
the rst 9 elements would be read in the program. The trailing IOPTNs must be on the
same line with IOPTN(9). Otherwise the rst IOPTN on the next line would be read in
by the program as VCG.) As an example, the Alternative Form 1 of Force Control File is
shown below.
header
IOPTN(1)...IOPTN(9)IOPTN(10)IOPTN(11)IOPTN(12)...IOPTN(16)
VCG
XPRDCT(1,1) XPRDCT(1,2) XPRDCT(1,3)
XPRDCT(2,1) XPRDCT(2,2) XPRDCT(2,3)
XPRDCT(3,1) XPRDCT(3,2) XPRDCT(3,3)
NBETAH
BETAH(1) BETAH(2) ... BETAH(NBETAH)
NFIELD
XFIELD(1,1) XFIELD(2,1) XFIELD(3,1)
.
.
XFIELD(1,NFIELD) XFIELD(2,NFIELD) XFIELD(3,NFIELD)
The denitions of IOPTN(I), for I=1,...,9 are the same as those of V6.3 as listed in Section 3.3. The denitions of IOPTN(I), for I=10,...,16, and the associated numeric output
lenames are shown below.
IOPTN(I) = 0 : do not output parameters associated with option I=10,...,15.
IOPTN(I) = 1 : do output parameters associated with option I=10,...,15.
IOPTN(16) can take one of three value 0, 1, or 2:
IOPTN(16) = 0 : do not output the second-order RAO.
IOPTN(16) = 1 : do output the second-order RAO computed using the indirect exciting
force.
IOPTN(16) = 2 : do output the second-order RAO computed using the direct exciting
force.
113
Option Description
File name
10
Quadratic second-order forces
frc.10s, frc.10d
11
Total second-order forces by indirect method
frc.11s, frc.11d
12
Total second-order forces by direct method
frc.12s, frc.12d
13
Second-order hydrodynamic pressure on the body frc.13s, frc.13d
14
Second-order hydrodynamic pressure in the uid frc.14s, frc.14d
15
Second-order wave elevation
frc.15s, frc.15d
16
Second-order response amplitude operator
frc.16s, frc.16d
The last letters, s and d, of the numeric lenames signify that the les contain the
sum-frequency output and dierence-frequency output, respectively.
When IOPTN(13)=1, the second-order hydrodynamic pressure on the body surface is
output. If the body is surface piercing, the normalized hydrodynamic pressure force per
unit length at the midpoint of the waterline segments is output as well.
When IOPTN(14)=1 or IOPTN(15)=1, the number of eld points NFIELD and their
Cartesian coordinates XFIELD should be specied in the FRC le. The second-order wave
elevations are computed only for the points on the free surface. (A point is dened to be
on the free surface if the vertical distance from the free surface, nondimensionalized by
ULEN, is less than 106 in absolute value.)
The total second-order forces of the output Options 11 and 12 are the sum of the two
force components. One component is the quadratic force of Option 10 and the other is
the second-order potential force. The latter obtained by the indirect method is added to
the quadratic force in the output Option 11. In the output Option 12, the second-order
potential force is obtained by the direct method. The output options Option 11 and 12
are the same physical forces computed by dierent approaches and they must converge to
each other with ner discretization. The description of these two methods can be found in
References [9] and [17].
When two linear wave periods are the same, the dierence frequency quadratic force of
Option 10 is the same as the mean drift force of Option 9 and Option 8. Since the secondorder potential force is trivial in this case, the output Options 11 and 12 are also the
same as the mean drift force. The second-order RAO of Option 16 is set to zero in this
case. Although the output options 11d, 12d and 16d are trivial, they are included in the
corresponding numerical output les. (Note that, in earlier versions of the second-order
module, the output was omitted from Options 11d, 12d and 16d, when two periods are
identical.)
11.3
It is not necessary to prepare the PT2 le, when all of the 2nd-order output options, from
10 to 16, are suppressed.
The PT2 le contains two set of parameters. One species mode indices for which the
second-order output is calculated. The other species period/wave heading pairs for which
114
IDIF2(N) is an index for the computation of the second-order diraction solution at the
sum- or dierence- frequency.
IDIF2(N)=-1: Do not compute the second-order diraction solution.
IDIF2(N)=0: Compute the second-order diraction solution for the modes specied by
MODE2.
IDIF2(N)=1: Compute the second-order diraction solution for all modes.
MODE2(16) represent the modes for which the second-order radiation and diraction
solutions are to be computed.
IXSUM, IXDIF are indices controlling the selection of periods and wave headings to
form pairs.
IXSUM=0: Do not compute the sum-frequency second-order solution.
IXSUM=1: Compute the sum-frequency second-order solution only for selected combinations of the wave periods and headings listed below.
IXSUM=2: Compute the sum-frequency second-order solution for all combinations of the
wave periods and headings (PER and BETA) listed in the POT le.
IXDIF=0: Do not compute the dierence-frequency second-order solution.
IXDIF=1: Compute the dierence-frequency second-order solution only for selected combinations of the wave periods and headings listed in the PT2 le.
IXDIF=2: Compute the dierence-frequency second-order solution for all combinations of
the wave periods and headings (PER and BETA) listed in the POT le.
When IXSUM=1 or IXDIF=1, the number of combinations and indices of selected periods
and headings should be specied in the PT2 le through the following parameters:
NSUMP is the total number of combinations of wave periods for the sum-frequency
solution.
NDIFP is the total number of combinations of wave periods for the dierence-frequency
solution.
The dimension NPER2, used in the last arrays in PT2, is the total number of period
combinations; NPER2 = NSUMP + NDIFP.
IPER, JPER are indices which identify the 1st-order periods selected from an array PER
(1 NPER).
NBETA2(I) is the total number of wave-heading pairs for the I-th period combination.
IBETA, JBETA are indices which identify the wave headings selected from an array
BETA (1NBETA).
116
11.4
When this form is used, the discretization of the inner region is carried out automatically
inside the program. The data in this form of FDF are
header
PARTR
NPF SCALE
NAL DELR NCIRE NGSP
PARTR is the dimensional radius of the inner circle with the center at the origin of the
global coordinate system. PARTR is measured in the same units as the length ULEN.
If PARTR is smaller than 1.25 times the maximum distance from the body surface to the
origin of the global coordinate system, the program issues a warning and increases PARTR
automatically.
NPF is an integer ag specifying Alternative forms of the FDF le. In Alternative 1
format, NPF must be a negative integer.
117
SCALE is a real number used as a scaling factor of the size of the free surface panels relative
to the average length of the waterline panels on the body. For example, if SCALE=1.5,
the length scale of free surface panels will be 1.5 times the waterline panels.
The following four input parameters are relevant to the integration on the intermediate
region:
NAL is the total number of annuli subdividing the intermediate annular region. When
NAL=0, the parameters DELR, NCIRE and NGSP need not be specied.
DELR is the dimensional radial increment of each annulus (in the same units as ULEN).
NCIRE is the integer exponent of 2 such that the total number of nodes is equal to
2NCIRE + 1 for the azimuthal integration based on Gauss-Chebyshev quadrature.
NGSP is the number of nodes used for the Gauss-Legendre radial quadrature on each
annulus.
The Gauss quadrature over the intermediate region may be more ecient than the integration using quadrilateral panels, especially when the partition circle is large compared to
the bodies. However, choosing appropriate values for the parameters NCIRE and NGSP
may not be simple. Unlike the piecewise integration using panels, inadequate values of
these parameters may produce the result with gross error. It is recommended to check the
dependence of the results to these parameters.
11.4.2
The data in this form of FDF should be input in the following form:
header
PARTR
NPF NTCL
NAL DELR NCIRE NGSP
VERX(1,1) VERX(2,1) VERX(3,1) VERX(4,1)
VERY(1,1) VERY(2,1) VERY(3,1) VERY(4,1)
.
.
.
VERX(1,NPF) VERX(2,NPF) VERX(3,NPF) VERX(4,NPF)
VERY(1,NPF) VERY(2,NPF) VERY(3,NPF) VERY(4,NPF)
PARTR: same as Alternative 1 FDF
NPF is the total number of free surface panels dened by the user.
NTCL is the total number of segments on the inner circle
NAL : same as Alternative 1 FDF
DELR: same as Alternative 1 FDF
118
For a single body, one quadrant of, half of, or the entire inner region must be discretized
according to the symmetry of the problem. Likewise, the number of segments NTCL
should be specied over the range of one quadrant, half, or the entire circle depending on
the symmetry.
For multiple bodies, the entire inner region must be discretized with respect to the global
coordinate system, regardless of the symmetry of the individual bodies. The inner circle
must enclose all of the bodies.
When there are multiple waterlines, the distance between each pair of waterlines must
be greater than twice the average length of waterline segments. This may require ne
discretization of the body near the free surface when the gap between the waterlines are
small. In this case, larger value of SCALE must be used in order to avoid ne discretization
inside inner circle.
11.4.3
As noted above, the radius of the partition circle, Rpart =PARTR+NALDELR, should be
suciently large so that the asymptotic expansion of the potentials is valid outside of the
circle. An appropriate estimation of the radius of the partition circle, Rpart , is Rpart O(h)
(h=water depth) for shallow water and Rpart O() (= longest wavelength involved) for
deep water (h >> ). The actual constant of proportionality Rpart / may have to be
substantially larger than one to achieve accuracy in deep water (see Reference [9] and
[12]).
If NAL>0, the radius of the inner circle PARTR should be determined with care. If PARTR
is too close to the body, the integration over the intermediate region may not be ecient
as intended. The Gauss quadrature converges slowly for the integration of the inuence of
Rankine sources on the free surface, at nearby points on the body.
If we denote the maximum distance to the body surface from the center of the circle as
Rbody , the following table shows the required number of nodes in the azimuthal integration
as PARTR varies. In the table, NCIR=2NCIRE + 1 is the number of nodes of the GaussChebyshev quadrature between [0, 2]. The recommended procedure to determine PARTR
is i) rst to select the parameter NCIRE which would be dependent on the wavelengths of
the linear and second-order waves and ii) select Rpart from the table.
119
Rbody/PARTR
NCIRE NCIR
0.1
3
9
0.4
4
27
0.5
5
33
0.8
6
65
0.9
7
129
0.95
9
257
When eld quantities are evaluated on the free surface, such as the second-order wave
elevation, similar consideration applys. Thus PARTR should be suciently large so that
the maximum radial distance to the eld points from the origin is substantially less than
PARTR. The above table can be used to estimate PARTR after replacing Rbody with the
maximum radial distance to the eld points.
11.4.4
When ki R, kj R or k2R is less than BOUND in the DATA statement of subroutine FARFS.F
and RHSFFS.F, the program will continue to run but neglect the integration over the outer
region in the total second-order exciting forces. Here R is the partition radius and ki, kj
and k2 are wavenumbers associated with the frequencies i , j and i j . This case
may be encountered when a very long wavelength is involved in the dierence-frequency
solution. If this occurs a warning message will appear in the .OUT le. To avoid this
condition the user may either increase the partition radius or increase the spread between
rst-order wave periods.
In V6.3S, BOUND is set to 103 . The parameter BOUND should be as small as possible,
depending on the range of the double-precision oating-point decimal exponent of the
computing system. The source code users can modify this value following the guideline
that when the exponent is in the range 64 n, the recommended value of BOUND is
10n .
11.4.5
Users can compute the second-order solution without the evaluation of the free surface
integral. In light of the large computational eort for the evaluation of this integral, this
option provides an ecient way to compute an approximation to the complete second-order
solution. However, since the quality of the approximation depends on the problem, this
option must be used with discretion. It is not recommended to use this option for the
sum-frequency problem where the free-surface forcing is relative important. (Reference
[15] provides an example of computational results showing the relative importance of the
free-surface integral for a particular structure.)
To use this option, the parameters NPF, NTCL and NAL in the FDF le should be set
equal to zero as follows. (PARTR can be any number.)
header
1110
PARTR
00
0
11.4.6
With the low-order option specied (ILOWHI=0), the body and the free surface are represented by quadrilateral panels. The unknown potential on the body surface is assumed
constant over each panel. Similarly the linear or quadratic forcing on the body and/or free
surface is assumed constant on each panel and the integration of this forcing is performed
in a piecewise manner.
With the higher-order option specied (ILOWHI=1), the potential on the body surface
is represented by B-splines in both the linear and second-order analyses. In the linear
analysis, the forcing on the body surface is assumed continuous and the integration is
carried out by Gauss quadrature. In the second-order analysis, however, the integration of
the quadratic forcing on the body and the free surface is performed piecewise in the same
manner as for ILOWHI=0.
The body surface is virtually discretized into quadrilateral panels by dividing the space
between the knot vectors into smaller line segments. The number of line segments, L, is
L = K + 1, where K is the order of B-spline. If K is the same for all patches, the virtual
panels are the same as the low order geometric data in gdf low.GDF which is output by the
program, with the parameter ILOWGDF= K + 1. These panels can be visualized using a
program such as TECPLOT with the input data gdf pan.DAT, by setting IPLTDAT=K+1
in the CFG le.
11.4.7
VISUALIZING FDF
If Alternative Form 1 of FDF is used, the program identies the panels (virtual panels when
ILOWHI=1) on the waterline. Then the free surface panels are generated in a continuous
manner starting from the sides of body panels on the waterline by sharing the same vertices.
It is advised to arrange the free surface panels in a similar manner near the waterline, when
Alternative 2 format is used.
When the Alternative Form 1 of FDF is used, the program outputs the le f df new.FDF.
This is an Alternative Form 2 format of FDF containing the coordinates of the vertices
of the free surface panels generated by the program. For both Alternatives of the FDF
le, the program output f df fdf.dat contains the free surface panels in TECPLOT data
format. (f df denotes the original lename of Alternative 1 format FDF).
1111
11.5
FNAMES.WAM
When FNAMES.WAM is used to list the input les, the latter should contain the PT2 and
FDF le names as well as CFG, GDF, POT, FRC as in the following example:
FNAMES.WAM:
test.cfg
test.gdf
test.pot
test.frc
test.pt2
test.fdf
If all second-order outputs are suppressed, pt2 and fdf can be omitted. If all second-order
outputs are suppressed except Option 10, fdf can be omitted.
11.6
DEFINITIONS OF OUTPUT
The non-dimensional denitions of the second-order output from V6.3S are listed in this
Section. Note that the second-order outputs satisfy corresponding symmetry relations.
For example, the wave excitation Quadratic Transfer Functions (QTF) at the sum- and
dierence-frequencies satisfy the relations Fij+ = Fji+ , and Fij = Fji , respectively. Here
denotes the complex conjugate. (In the dierence-frequency problem, i j is assumed.
Otherwise, the indices are interchanged automatically within the program.)
1. The second-order wave forces and moments at sum- and dierence-frequencies are
dened as
F+
gLAiAj
and
F =
F
gLAi Aj
M+
gL2Ai Aj
and
=
M
M
gL2Ai Aj
F + =
+=
M
where L=ULEN is the characteristic body length, and A, g and represent the complex
rst-order incident-wave amplitude, gravitational acceleration and uid density, respectively.
2.1 The second-order hydrodynamic pressure at sum- and dierence-frequencies is dened
as
p+ =
p+
gAiAj /L
and
p =
p
gAi Aj /L
2.2 The second-order hydrodynamic force per unit length acting on the waterline at sumand dierence-frequencies is dened as
1112
fw+ =
fw+
gAiAj
fw =
and
fw
gAi Aj
+
Ai Aj /L
and
Ai Aj /L
k+
Ai Aj /Ln
k =
and
k
Ai Aj /Ln
where n = 1 for the translational modes k = 1, 2, 3 and n = 2 for the rotational modes
k = 4, 5, 6
11.7
All requested outputs are listed collectively in the .OUT le and in the numeric output
les. The data in the numeric output les are listed as follows:
OPTN.10s, OPTN.11s and OPTN.12s:
PER(i) PER(j) BETA(i) BETA(j)
MOD(Fij+ )
PHS(Fij+ ) Re(Fij+ )
Im(Fij+ )
MOD(Fij )
PHS(Fij ) Re(Fij )
Im(Fij )
OPTN.13S:
PER(i) PER(j)
(PER(i) PER(j)
BETA(i) BETA(j)
BETA(i) BETA(j)
M
M
K
K
MOD(
p+ )
MOD(fw+ )
OPTN.13D:
PER(i) PER(j)
(PER(i) PER(j)
BETA(i) BETA(j)
BETA(i) BETA(j)
M
M
K
K
p ) Re(
p ) Im(
p )
MOD(
p ) PHS(
(MOD(fw ) PHS(fw ) Re(fw ) Im(fw ))
PHS(
p+ ) Re(
p+ )
PHS(fw+) Re(fw+ )
Im(
p+ )
Im(fw+ ))
OPTN.14S:
PER(i) PER(j) BETA(i) BETA(j)
MOD(
p+ )
PHS(
p+ ) Re(
p+ )
Im(
p+ )
OPTN.14D:
PER(i) PER(j) BETA(i) BETA(j)
MOD(
p )
PHS(
p ) Re(
p )
Im(
p )
1113
OPTN.15S:
PER(i) PER(j) BETA(i) BETA(j)
MOD(
+ ) PHS(
+ ) Re(
+ ) Im(
+ )
OPTN.15D:
PER(i) PER(j) BETA(i) BETA(j)
MOD(
) PHS(
) Re(
) Im(
)
OPTN.16S:
PER(i) PER(j) BETA(i) BETA(j)
MOD(+ )
PHS(+) Re(+ )
Im(+ )
OPTN.16D:
PER(i) PER(j) BETA(i) BETA(j)
MOD( )
PHS() Re( )
Im( )
Here I is mode index, M indicates the quadrant or half when the body has two or one
planes of symmetry, K is the index of the panels on the body, L is the index of the eld
points.
The numeric output les optn.13s and optn.13d contain the second-order hydrodynamic
pressure on the body surface. The points where the pressure is calculated are specied in
gdf.PNL (see Section 4.9 for the contents in PNL le). If Option 5 is specied, the linear
pressure is output for the same set of points.
For the surface-piercing bodies, the second-order pressure force acting on the waterline
is of interest. This will be referred to as the waterline pressure force and denoted by fw.
When IPNLBPT=0, fw is output to optn.13s and optn.13d for the surface-piercing bodies.
fw is appended after the output of the pressure(p ) on the body surface.
The PNL le is also extended accordingly and contains the Cartesian coordinates, the
length of waterline segments and normal vector corresponding to the points where fw is
calculated. The new additional parameters in the PNL le are shown below.
gdf.PNL: M K XCT YCT ZCT LENGTH nx ny nz (r n)x (r n)y (r n)z
where LENGTH is the length of the waterline segments. The denitions of other parameters are the same as those in Section 4.9.
Only the hydrodynamic pressure is output for Option 13 (also Option 5). It would
be straightforward to calculate the static pressure, however, using available output from
normalized in a same
the program. The second-order quadratic hydrostatic pressure, Psq
manner as the hydrodynamic pressure, can be calculated from the following expression.
1
by ULEN(1) and converted into each body coordinate system before using in the above
expression.
The hydrostatic pressure due to the second-order RAO can be calculated from the
following expression where is the second-order RAO output optn.16s and optn.16d.
Psp
= 3 + 4 y 5 x
The linear static pressure can be calculated from the above expression after replacing
the second-order RAO with the linear RAO.
The body motion is taken into account in the evaluation of fw and it includes the eects
of both hydrodynamic and static pressure.
11.8
V6.3S-PC Executable can be installed following the same procedure for the installation of
V6.3PC Executable as described in Chapter 2. An additional set of standard Test Runs
for the second-order analysis is provided in the directory TESTRUNS 2ND.
1115
Chapter 12
THEORY
In this Chapter the theoretical basis for WAMIT is described. Further information can be
found in Reference [26], and in the references cited below.
12.1
Figure 12.1 illustrates a three-dimensional body interacting with plane progressive waves
in water of nite water depth H. The objective of WAMIT is to evaluate the unsteady
hydrodynamic pressure, loads and motions of the body, as well as the induced pressure and
velocity in the uid domain. The free-surface and body-boundary conditions are linearized,
the ow is assumed to be potential, free of separation or lifting eects. A harmonic time
dependence is adopted.
z
y
Figure 12.1: Sketch defining the coordinates, fluid depth, and wave-heading angle.
121
The Cartesian coordinate system (x, y, z) dened in Figure 12.1 is stationary relative
to the undisturbed position of the free surface and body. Its origin may lie on, above or
below the free surface as the particular application requires. The body geometry input to
WAMIT is dened relative to that system. Here, the origin is located on the free surface
for the sake of simplicity.
The assumption of a potential ow permits the denition of the ow velocity as the
gradient of the velocity potential satisfying the Laplace equation
2 = 0
(12.1)
in the uid domain. The harmonic time dependence allows the denition of a complex
velocity potential , related to by
= Re(eit ),
(12.2)
where Re denotes the real part, is the frequency of the incident wave and t is time.
The ensuing boundary-value problem will be expressed in terms of the complex velocity
potential , with the understanding that the product of all complex quantities with the
factor eit applies. The linearized form of the free-surface condition is
z K = 0,
z=0
(12.3)
where K = 2 /g, and g is the acceleration of gravity. The velocity potential of the incident
wave is dened by
0 =
cosh H
(12.4)
(12.5)
and is the angle between the direction of propagation of the incident wave and the
positive xaxis as dened in Figure 12.1.
The linearization of the problem permits the decomposition of the velocity potential
into the radiation and diraction components
= R + D ,
R = i
6
j=1
j j ,
D = 0 + 7 .
122
(12.6)
(12.7)
(12.8)
The constants j denote the complex amplitudes of the body oscillatory motion in its six
rigid-body degrees of freedom, and j the corresponding unit-amplitude radiation potentials. The velocity potential 7 represents the scattered disturbance of the incident wave by
the body xed at its undisturbed position. We will refer to the sum (12.8) as the diraction
potential D .
On the undisturbed position of the body boundary, the radiation and diraction potentials are subject to the conditions,
jn = nj ,
(12.9)
Dn = 0,
(12.10)
where (n1 , n2, n3 ) = n and (n4 , n5, n6) = x n, x = (x, y, z). The unit vector n is normal
to the body boundary and points out of the uid domain.
The boundary value problem must be supplemented by a condition of outgoing waves
applied to the velocity potentials j , j = 1, . . . , 7.
12.2
In WAMIT the boundary value problems (12.1-10) are solved by using Greens theorem to
derive integral equations for the radiation and diraction velocity potentials on the body
boundary. The integral equation satised by the radiation velocity potentials j on the
body boundary takes the form
2j (x) +
Sb
j ( )
G( ; x)
d =
nj G( ; x)d .
n
Sb
(12.11)
2D (x) +
Sb
D ( )
G( ; x)
d = 40 (x).
n
(12.12)
The diraction potential may also be obtained from equation (12.8) after solving for
the scattered potential 7 . The equation for the scattered velocity potential is
27 (x) +
G( ; x)
o ()
G( ; x)d .
7 ( )
d =
Sb
n
Sb
n
(12.13)
From the computational point of view, equation (12.12) has some advantages over equation
(12.13) in terms of cpu time and the requirement of storage space, because of the relative
simplicity of the right-hand side.
123
The Green function G(x; ) is referred to as the wave source potential. It is the velocity
potential at the point x due to a point source of strength 4 located at the point . It
satises the free-surface and radiation conditions, and in innite water depth is dened by
G(x; ) =
1
1
2K
ek(z+)
+ +
J0 (kR)
dk
r r
0
k K
(12.14)
r 2 = (x )2 + (y )2 + (z )2
(12.15)
r 2 = (x )2 + (y )2 + (z + )2 ,
(12.16)
where J0 (x) is the Bessel function of zero order. In nite depth, the Green function is
dened by
G(x; ) =
1
1
+ + 2
r r
0
dk
(r )2 = (x )2 + (y )2 + (z + + 2H)2 .
(12.17)
(12.18)
In both expressions (12.14) and (12.17) the Fourier kintegration is indented above the
pole on the real axis in order to enforce the radiation condition. Ecient algorithms for the
evaluation of the innite and nite-depth wave-source potentials and their spatial derivatives, have been developed in [1] and [11]. These algorithms are coded in the subroutines
VGRN00 and HGRN00 which are included in WAMIT. (These subroutines supersede the
earlier versions of the subroutines FGRN89, HGRN89 and IGRN89 or VGRN94, HGRN94,
VGRN98 and HGRN98.)
Special attention must be given to the singular components of the Green function for
small values of r, r and r . The source-like singularities 1/r, 1/r and 1/r and their normal
derivatives can be integrated analytically over a quadrilateral panel, as described in [2]. In
addition, the ascending series expansion of the wave source potential for small values of r
(Ref. [1], eq.(5)), reveals the presence of the logarithmic singularity,
G(x; ) =
1 1
+ 2K log K(r + |z + |) + O(1),
r r
(12.19)
(The derivation of this result in [1] is for the innite-depth case, but it can be shown
from the analysis of the nite-depth case in the same reference that the same singularity
applies.) Provision has been made in WAMIT to permit the logarithmic singularity and
its derivatives to be integrated analytically in the solution of the integral equations when
the source and eld points are close to each other and to the free surface. Further details
are given in Section 12.4.
124
12.3
In this Section a brief description is given of the source distribution method, which is used
to derive the uid velocity components on the body surface in the low-order method. The
velocity are required to evaluate the mean second-order pressure, from which the mean
drift forces and moments can be evaluated in the manner described in Section 12.7.
In source distribution method, the velocity potential is expressed by a distribution of
sources only
(x) =
Sb
( )G(x; )d
(12.20)
After discretizing the body boundary with plane panels with constant source strength on
each panel, the potential can be expressed by
(xi ) =
N
j=1
(xj )
Sj
G(xi ; )d
(12.21)
Denote the normal vector as n and the two tangential unit vectors as s and t on each
panel. The three components of the velocity are then given in the (n,s,t) coordinate system
as follows:
n (xi ) = 2(xi ) +
s (xi ) =
t(xi ) =
12.4
N
j=1
N
j=1
N
j=1
(xj )
(xj )
(xj )
Sj
Sj
Sj
Gn (xi ; )d
(12.22)
Gs (xi ; )d
(12.23)
Gt (xi ; )d
(12.24)
The mean position of the body wetted surface is approximated by a collection of quadrilaterals. Each quadrilateral is dened by four vertices, lying on the body surface. Their
Cartesian coordinates are input to WAMIT. They are numbered in the counter-clockwise
direction when the panel is viewed from the uid domain. Instructions on how to input
the vertex coordinates are given in Chapter 5.
In general the quadrilaterals dened above are not plane, but if a suciently ne discretization is used for a boundary surface with continuous curvature, each element will
125
N
Dik k =
k=1
N
Sik
k=1
(12.25)
where i = 1, . . . , N , N being the number of panels. For the total diraction potential
2(xi ) +
N
k=1
Dik k = 40 (xi ).
(12.26)
sk
sk
G( , xi)
d ,
n
(12.27)
G( , xi)d ,
(12.28)
where sk denotes the surface of the kth panel. The collocation points xi , where the
integral equations are enforced, are located at the panel centroids.
The rest of this section describes the computation of the inuence coecients Dik and
Sik .
If the index IDIAG=0 in the potential control le (see Section 3.1), the characteristic
length scale DIAG(2) for a given panel is equal to the square root of its area; if IDIAG=1,
DIAG(2) is equal to the length of the largest diagonal of the panel. The setting of the
index IDIAG applies to all the panels. The selection IDIAG=1 is more conservative, and
results in an increase in the number of pairs of panels for which the Rankine singularities
are integrated analytically. The Rankine and logarithmic singularities of the wave source
potential are subtracted and integrated analytically over the panels if the distance between
the centroids of the ith and jth panels is less than 10DIAG(2). This comparison is
126
based on the maximum DIAG(2) of the pair of panels. Assuming that the collocation
point is located on the ith panel, it is reected about the free surface and the bottom
(if present). The distance of its reections from the centroid of the j-th panel are denoted
by r (above the free surface) and r (below the bottom). The integrals of the 1/r and
1/r singularities are evaluated as for the 1/r singularity, using analytic integration over the
jth panel, when these distances are less than 10DIAG(2). When the index ILOG=1 the
logarithmic singularity is subtracted and integrated analytically along with 1/r . When any
of the Rankine and logarithmic singularities is not subtracted and integrated analytically,
it is incorporated in the evaluation of the wave source potential by VGRN00.
The index ILOG, also set in the potential control le, controls the analytical integration
of the logarithmic singularity. When ILOG=1, the logarithmic singularity is subtracted
and integrated analytically for the same pairs of panels for which the Rankine singularity
1/r is integrated analytically. When ILOG=0 the singularity is included in the evaluation
of the wave-source potential and integrated by quadrature.
The integrals of the 1/r, 1/r , log[r (z + )] and 1/r singularities over the panels are
frequency independent and are carried out once for all frequencies for the relevant pairs of
panels. These integrals are stored in a le for use at each frequency. The evaluation of the
Rankine integrals is accompanied by the set-up of an integer array of indices to indicate
which singularities have been subtracted for each pair of panels. These indices are input to
VGRN00, which in turn evaluates the appropriate component of the wave source potential.
The analytic integration of the Rankine source potentials and their derivatives follows
the theory outlined in [2]. Depending on the radial distance to the eld point, relative
to the panel length-scale DIAG(2), the evaluations are performed either from the exact
formulation or from multipole expansions including either second- or fourth-moments of
the panel area. The radial distances for transitions between these three algorithms are
based on the requirement of six-decimal relative accuracy. The formulae used for the
analytic integration of the logarithmic singularity are derived in [6].
The integration over each panel of the regular part of the wave source potential (evaluated in VGRN00) is carried out by quadrature. Two alternative quadrature formulae are
used in WAMIT, depending on the input parameter IQUAD. If IQUAD= 0 the centroid
integration formula is used, where the integral over each panel is approximated by multiplying the value of the integrand at the centroid by the panel area. If IQUAD= 1 the Gauss
integration formula is used with four nodes and corresponding weights over each panel, by
mapping their surface to a unit square using a bilinear transformation. The wave source
potential can be integrated over the panels by either method. When the centroid integration is selected, WAMIT exploits the symmetry of the wave source potential with respect
to the position of the source and eld points to evaluate the wave source potential once
for each pair of panels. Thus, if there are N panels and no planes of symmetry, N 2/2 calls
are made to VGRN00. The selection of the four-node Gauss quadrature formula requires
4N 2 calls to VGRN00 since the wave source potential symmetries cannot be utilized. For
a suciently large number of panels, the use of the centroid integration has been found to
be suciently accurate, and is recommended.
127
12.5
The mean body surface is dened by patches, as explained in Chapter 6. Each patch
must be a smooth continuous surface. The Cartesian coordinates x = (x, y, z) of a point
on the patch are expressed in term of two parametric coordinates u = (u, v). The latter is
normalized so that they vary in 1. Details of geometric description of the body surface
are provided in Section 6.1.
The velocity potential on each patch is represented by a product of B-spline basis
functions U (u) and V (v) as shown in equation (6.4). The total number of B-spline basis
functions on each patch is Mu times Mv .
Upon substituting equations (6.3) and (6.4), (12.11) can be expressed in a form
2
Mu
Mv
m=1 l=1
(j )k Uk (uf ) +
Np
du
n=1
Np
du
n=1
du =
number of patches.
1
1
dv
Mu
Mv
m=1 l=1
(j )k Uk (u)
G(u; uf )
J(u)
n(u)
j
(u)G(u; uf )J (u)
n
(12.29)
Following the Galerkin method, (12.29) is multiplied by Ui and integrated over each
patch. This results in the linear system
2dH
ik (j )k +
N
k=1
H
Dik
(j )k = SiH
(12.30)
N
k=1
H
Dik
(D )k = IiH
(12.31)
H
Dik
SiH =
duf Ui (uf )
duf Ui(uf )
duUk (u)
du
128
G(u; uf )
J(u)
n(u)
j
(u)G(u; uf )J(u)
n
(12.32)
(12.33)
(12.34)
IiH =
(12.35)
I=
A(u, v)
dudv
1 |x(u, v)|
(12.36)
where A(u, v) is regular function. |x(u, v)| is the distance between the source and eld
points in physical space.
x
x x
x
= 0
For simplicity, we consider only a case where | | = 1, | | = 1 and
u
v
u v
but the analysis below can be applied directly to the general case. Since |x|/ u2 + v 2 is
regular and thus (12.36) can be expressed in the form
I=
1 1
f (u, v)
dudv
1
u2 + v 2
(12.37)
u
f (u, v)
dv 2
0
u
u + v2
After the change of variables u = p, v = pq, we have
I
(1)
du
1
I (1) =
dp
1
f (p, pq)
dq
1
1 + q2
(12.38)
(12.39)
1
1
dp
1
1
dq
1 + q2
(12.40)
Next we remove the square root function from (12.40). By change of the variables
q = sinh(as), we have
I=a
1
dp
1
(12.41)
12.6
The procedure used to solve the linear systems (12.25-6) or (12.30-1) is essentially the
same. The dimension of these linear systems is denoted by NEQN (number of equations).
In the low-order method NEQN is the same as the number of panels. In the higher-order
method NEQN depends on the number of patches, panels, and on the order of the basis
functions, as explained in Section 12.5.
If the body geometry has one or two planes of symmetry, half or a quarter of its wetted
surface is represented with panels, respectively. Each of the radiation potentials is symmetric or anti-symmetric with respect to the symmetry planes, depending on the rigid-body
mode, and the diraction potential is decomposed into similar components. Thus for one
or two planes of symmetry either two or four separate components of the diraction problem are dened on the basis of their symmetry or anti-symmetry with respect to the xand y-planes. With this decomposition the dimensions of all linear systems are the same
as NEQN.
Flow symmetries and anti-symmetries are enforced in the solution of the integral equations by the method of images. The collocation point xi in the argument of the wave source
potential, is reected about the geometry symmetry planes accompanied by a multiplication by +1 or 1 for symmetric and antisymmetric ow, respectively.
To avoid unnecessary computations, the architecture of WAMIT permits the analysis
of any desired sub-set of the rigid-body modes and of the corresponding diraction components, based on the settings of the MODE(I) indices in the potential control le (see
Section 3.1). For example, if only the heave mode is specied in conjunction with the
solution of the diraction problem, and if there are planes of symmetry, only the symmetric component of the diraction potential is evaluated. For this reason it is necessary to
specify the complete diraction solution (IDIFF= 1) to evaluate eld data (free surface
elevation, pressure, and uid velocity) or to evaluate the drift forces.
With the default value of the input parameter ISOLVE=0, WAMIT solves the linear
systems in the radiation and diraction problems by means of a special out-of-core iterative
solver. The maximum number of iterations is controlled by the parameter MAXITT in
the cong.wam le (Section 3.7), with the default value equal to 35. When convergence
is not archived within the limit, a warning message is printed to the on monitor, and the
computation continues without interruption. If the number of iterations displayed in the
output is equal to MAXITT, this also indicates that convergence does not occur.
A supplementary direct solver for the linear systems may be used for the case for which
the iterative solver is nonconverging or slowly converging. It is based on standard Gauss
reduction, with partial pivotting. The LUD algorithm is employed for eciency in solving
several linear systems simultaneously, with dierent right-hand sides. The direct solver
also can be used to conrm the iterative solution, and in cases where the number of
equations (NEQN) is relatively small the direct solver can result in reduced computing
time, particularly if the number of right-hand sides is large.
WAMIT also includes a block-iterative solver to provide increased options in the solution
of the linear system. This solver is based on the same algorithm as the iterative solver,
1211
but the local LU decompositions are performed for specied blocks adjacent to the main
diagonal. At each iteration the back substitution is performed for each block, at each stage
of iterations. This accelerates the rate of convergence, and as the dimension of the blocks
increases the limiting case is the same as the direct solver. The opposite limit is the case
when the dimension of the blocks is one, which is the result of setting ISOLVE=NEQN; in
this case the result is identical to using the iterative solver without blocks (ISOLVE=0).
The convergence of the iterative method is quite dierent for the low- and higher-order
methods. The primary reason for the slow convergence of the higher-order method is that
the linear system loses diagonal dominance as the order of basis function increases as shown
in the expression for dH
ik in (12.32).
Usually in the low-order method the number of iterations required to obtain convergence
is in the range 10-20, and the iterative solver is most eective. In the higher-order method
experience indicates that the convergence rate is reduced, and it is generally advisable
to use the direct solver (ISOLVE= 1) or, in cases where NEQN is very large, the blockiterative solver (ISOLVE> 1). For special problems where hydrodynamic resonances occur,
the convergence rate is reduced and it is necessary to use the direct or block-iterative solver
also with the low-order method.
Experience using the low-order method has shown that slow convergence is infrequent,
and limited generally to special applications where there either is a hydrodynamic resonance
in the uid domain, as in the gap between two adjacent barges, or in the non-physical
domain exterior to the uid volume. An example of the latter is a barge of very shallow
draft, where the irregular frequencies are associated with non-physical modes of resonant
wave motion inside the barge. These types of problems can often be overcome by modifying
the arrangement of the panels or increasing the number of panels.
For the low-order method various convergence tests have been published in References
5, 6, 9, 10 and 12, based on applications of WAMIT. The accuracy of the evaluated
quantities has been found to increase with increasing numbers of panels, thus ensuring the
convergence of the discretization scheme. The condition number of the linear systems is
relatively insensitive to the order of the linear systems, and suciently small to permit
the use of single-precision arithmetic. Convergence tests for the higher-order method are
reported in References 18, 19, 20, 24 and 25.
12.7
z
Z
x
o
Figure 12.2: Coordinate systems fixed with respect to the body (dashed lines) and its mean position (solid
lines)
2
2
0
0
1 (2 + 3 )
2
2
H=
(1 + 3 )
0
21 2
2
21 3
22 3
(1 2 + 22 )
(12.43)
(12.44)
where n is the normal vector on the body boundary in the body xed coordinate system.
given in the equation (12.42) can be
The pressure at the instantaneous position X
expressed by
P =
(12.45)
(2) =
M
Sb
N
)P ds
(X
(12.47)
In equations (12.46) and (12.47), the integrations are over the exact body wetted surface
Sb .
1213
After substituting (12.42), (12.44), and (12.45) and integrating the hydrostatic components,
1
(2)
=
n [ 2 2(3 + 1y 2x)]dl
F
g
2
WL
nz
1
g k
[ (3 + 1y 2x)]2 dl
+
2
2
WL
1 nz
1
n( + ( + x) t )ds
Sb
2
+
(
(2)
+ FS
Sb
nt ds)
(12.48)
1
(x n)( + ( + x) t )ds
2
Sb
Sb
+ (
S(2)
+ M
(2) = g{
M
S
(x n)t ds
Sb
nt ds)
(12.49)
[
+
+
+
[
+
+
+
(2 2 3 3)Awp xf 21 Awp yf
3
1
12Awp xf Zo ( 21 + 22 )Awp yf Zo
2
2
23 Awp 3 1Awp Zo
23(L11 L22) 213 L12
1
12xb (21 + 23 )yb ]i
2
1 2Awp xf + (1 1 3 3)Awp yf
1
3
( 21 + 22 )Awp xf Zo 1 2Awp yf Zo
2
2
13 Awp 3 2Awp Zo
13(L11 L22) + 22 3L12
1214
1 2
( + 23)xb ]j}
2 2
(12.50)
is the rst order runup, Awp is the waterplane area and is the volume of the body. In
addition (xf , yf ) are the coordinates of the center of otation, (xb , yb, zb ) are the coordinates
of the center
of buoyancy, (i, j, k) are positive unit vectors relative to the x, y, z coordinates,
and Lij = wp xi xj ds denotes the moments of the waterplane area.
12.8
The irregular frequency eects are removed from the velocity potential and the source
strength using the extended boundary integral equations. The details of discussion on the
method are provided in Reference [8] and [16].
The extended boundary integral equation for the potential formulation (12.11) takes a
form
2(x) +
4 (x) +
Sb
( )
Sb
G(x; )
G(x; )
d +
( )
d
n
n
Si
( )
G(x; )d
x Sb
=
Sb n
( )
(12.51)
G(x; )
G(x; )
d +
( )
d
n
n
Si
( )
G(x; )d
x Si
=
Sb n
(12.52)
Here (x) is the unknown velocity potential on the body surface Sb and (x) is the
nonphysical velocity potential on the interior free surface Si .
The corresponding equation for the source formulation (12.22) takes a form
2(x) +
4(x) +
G(x; )
( )
d +
Sb
nx
G(x; )
( )
d +
Sb
nx
Si
( )
Si
G(x; )
( )
d =
nx
nx
( )
1215
G(x; )
( )
d =
nx
nx
x Sb
x Si
(12.53)
(12.54)
12.9
Greens integral equations in Section 12.2 tend to be singular as the thickness of the body
decreases. To avoid this singularity in the discretized problem, the panel size should be
of the same order as the thickness, or smaller, in order to render the linear system wellconditioned. Thus the size of the linear system becomes large as the thickness decreases.
An alternative form, which is nonsingular, can be obtained from Greens integral equation for the limit when the thickness vanishes. In this modied form of the integral equation,
the velocity potential is represented by a distribution of dipoles only, without sources. The
dipole strength is equal to the dierence of the velocity potential on two opposite sides of
the zero-thickness surface, denoted by below.
When bodies consist partly of thin parts, a combination of Greens integral equation
and the dipole distribution can be applied. It takes the following form:
2(x) +
Sb
Gn dS +
Sd
Gn dS =
Sb
Gn nx dS +
Sd
Gn nx dS = 4nx +
n GdS
(12.55)
n Gnx dS
(12.56)
Sb
Sb
12.10
The mean drift force and moment are evaluated by one the following two alternatives
depending on the value of ICTRSURF in the CFG le.
Alternative 1:
1
g
F (2) =
n 2 dl gk
[( + x) n ]dl
2
CL
WL
nz
1
g k
[ (3 + 1 y 2x)]2 dl
+
2
2
WL
1 nz
Sc
1
n( )]ds
n 2
1216
+ k
Sf
t 1
(2)
+ )ds + FS
z
2
(12.57)
(2) = 1 g
(x n) 2 dl g
[( + x) n ](x k)dl
M
2 CL
WL
nz
1
(x k)[ (3 + 1y 2x)]2 dl
+
g
2
2
WL
1 nz
1
(x n)( )]ds
n 2
Sc
t 1
S(2)
(x k)(
+ )ds + M
+
z
2
Sf
[(x )
(12.58)
Alternative 2:
1
(2)
2
F
=
n dl g
ds
g
2
WL
Sf
[( +
x) n]dl
gk
WL
nz
1
[ (3 + 1y 2x)]2 dl
g k
+
2
2
WL
1 nz
1
n( )]ds
n 2
Sc
t 1
(2)
+ )ds + FS
(
+ k
z
2
Sf
(12.59)
(2) = 1 g
(x n) 2 dl g
(x )ds
M
2
WL
Sf
[( + x) n ](x k)dl
g
WL
nz
1
g
(x k)[ (3 + 1y 2 x)]2 dl
+
2
2
WL
1 nz
1
(x n)( )]ds
[(x )
n 2
Sc
t 1
(2)
+ )ds + M
(x k)(
+
S
z
2
Sf
(12.60)
In these equations Sc is the submerged part of the control surface, Sf is the part of
the control surface on the free surface, W L is the body waterline and CL is the common
boundary of Sc and Sf . n denotes the two-dimensional normal vector in the horizontal
plane on the body waterline, pointing into the body, is the gradient in the horizontal
1217
(2)
S(2) are the same as
plane, and k is the unit vector pointing vertically upward. FS and M
those in the equation (12.48) and (12.49). The derivations of the equations (12.57-12.60)
from (12.48-12.49) are given in Reference [28].
12.11
The solution for the velocity potential in each tank, and the resulting forces and moments,
are computed in a similar manner as for the exterior domain outside the body or bodies.
Since there is no diraction potential to consider, the velocity potential in each tank is
= i
j j
(12.61)
and the rst-order pressure at a xed point on the tank surface is given by
P = g(z ZT + 3 + 1y 2x) t
(12.62)
Here ZT is the vertical coordinate of the tank free surface above the origin.
The solution for the velocity potential in each tank is computed simultaneously with
the potential in the exterior uid domain outside the hull, using one extended linear system
which includes all of the uid domains (exterior plus interior of all tanks). The principal
modication is to impose the condition that there is no inuence between the separate
uid domains. Thus the elements in the extended inuence coecient matrix are set equal
to zero if the row and column correspond to dierent domains. Further details are given
in Reference [27].
The force and moment exerted by the tank uid on the vessel are given by
F=
M=
ST
ST
P NdS =
P (X N) dS =
ST
P (n + n) dS
(12.63)
P (x + + x) (n + n) dS
(12.64)
ST
where n is the normal pointing out of the tank (away from the uid domain of the tank)
and double integrals are over the submerged surface of the tank.
After some vector analysis these equations give relations similar to (12.46-12.47) for the
contributions from the hydrostatic pressure:
CT (3, 3) = g
CT (3, 4) = g
ST
CT (3, 5) = g
CT (4, 4) = g
ST
n3dS
ST
yn3dS
ST
xn3dS
y 2 n3dS gT zc
1218
CT (4, 5) = g
ST
xyn3dS
CT (4, 6) = gT xc
CT (5, 5) = g
x2 n3 dS gT zc
ST
CT (5, 6) = gT yc
All other elements of the matrix CT are equal to zero. Here
T = VOLTANK(1) =
ST
T = VOLTANK(2) =
ST
T = VOLTANK(3) =
ST
xn1dS
yn2 dS
(z ZT )n3 dS
1
x2 n1 dS
xc =
2T
ST
1
y 2 n2dS
yc =
2T
ST
1
(z2 ZT2 )n3 dS
zc =
2T
ST
Subroutine GEOMSTAT evaluates the hydrostatic parameters of the hull and tanks
separately. Thus VOL, C(i,j) are evaluated for the hull ignoring tank patches/panels
and their values are the same with or without tanks, as dened in Section 4.1. The
corresponding tank parameters VOLTNK(1:3,1:NTANK) and CTANK(1:9,1:NTANK) are
evaluated separately for each tank (the second index is omitted for simplicity of notation):
CTANK(1) =
CTANK(2) =
CTANK(3) =
CTANK(4) =
ST
ST
ST
CTANK(5) =
ST
CTANK(6) =
n3dS
ST
ST
1219
yn3dS
x2n1 dS
y 2 n2dS
CTANK(7) =
xn3 dS
ST
x2n3 dS
CTANK(8) =
CTANK(9) =
ST
ST
xyn3dS
y 2 n3dS
CTANK(4) = 0,
CTANK(8) = 0
If IS(2)=1, CTANK(3) = 0,
CTANK(5) = 0,
CTANK(8) = 0
All other elements are multiplied by IMUL=2 or 4 to account for the planes of symmetry,
in the same manner as C(I,J).
In GETIF, after CALL OPHEAD to output the hydrostatic matrix for the hull, the
subroutine TANKFS is called when tanks are present. In TANKFS the following assignments are made for the hydrostatic restoring coecients, where the extra terms added for
the tanks are summed over all tanks associated with each body:
C(3, 3) = C(3, 3) + (T /)CTANK(1)
C(3, 4) = C(3, 4) + (T /)CTANK(3)
C(3, 5) = C(3, 5) + (T /)CTANK(2)
The extra terms in C(4, 6) and C(5, 6) are omitted for a freely-oating body since these
are balanced by the vessels corresponding buoyancy moments.
Next consider the inertia forces and moments due to the body mass. If IALTFRC=1
the body mass m is calculated from VOL and all of the inertia coecients are propotional
to m. Since VOL is the total displaced volume of the hull, the static mass of the uid
in the tanks is included in m. However the same inertia eects are represented (more
1220
correctly for dynamic conditions) by the added mass of the tank, to be discussed below.
For this reason, if IALTFRC=1, the mass matrix BFRCND is reduced by the sum
(T /)VOLTANK/VOLM, where the sum is over all tanks. Likewise, the terms mgzg
in the restoring coecients C(4, 4) and C(5, 5) are reduced. If IALTFRC=2 these corrections are not made, and the external mass matrix should exclude the uid in the tanks. If
IALTFRC=1 the radii of gyration should be estimated ignoring the uid in the tanks.
The added mass and damping coecients are evaluated globally, by integrating the
corresponding components of the pressure over both the external hull surface and the
internal tank surfaces. The only modication for tank panels/patches is to multiply their
contributions by RHOTANK, the relative density of the tank uid compared to the external
uid. Since there is no radiation from the tanks, the damping coecients should be zero.
In test calculations they are generally very small, except near tank resonances. (A useful
check is to verify that the damping coecients of the hull with tanks are equal to the
damping coecients without tanks.)
Special attention is required for the vertical modes (heave, roll, pitch), where there is
a ctitious hydrostatic contribution to the added mass. First consider heave, where the
relevant boundary conditions are n = n3 on Sb and K z = 0 on the free surface. Here
K = 2 /g. Thus the heave potential is given by 3 = z + 1/K, where z is a local vertical
coordinate with its origin in the tank free surface. The heave added-mass coecient is
A33 =
ST
(12.65)
(12.66)
(12.67)
ST
ST
Since 2 = gK, the last terms are cancelled by the hydrostatic restoring coecients.
Thus, in the limit 0, there are no contributions to the equations of motion for the LHS
elements associated with the vertical force or vertical translation, as expected on physical
grounds.
In the classical hydrostatic analysis of ships, the tank free-surface eect is evaluated by
considering the second moments of the tank free surface about a local origin at the centroid
of the free surface, whereas in the expressions for CT these moments are about the global
origin. This dierence can also be explained in terms of the corresponding added mass
coecients, in an analogous manner to the analysis above.
1221
Chapter 13
131
13.1
The outputs from WAMIT and F2T are considered to be of either the radiation or diffraction type, depending on whether they are caused by forced motions in calm water or
by incident waves, respectively. The simplest physical distinction between these two types
is in terms of the incident wave amplitude: if the response is proportional to the wave
amplitude it is of the diraction type, and vice versa.
The added-mass and damping coecients (Option 1) are of the radiation type, whereas
the exciting forces and RAOs (Options 2,3,4) are of the diraction type. Except as noted
in Section 13.5, the pressures and uid velocities on the body (Option 5) and in the uid
(Options 6,7) are of the diraction type, since these are dened in the WAMIT convention
as total responses with the body free to respond (or xed) in incident waves.
A fundamental distinction between the two types of outputs is in terms of their limits at
innite frequency or zero period. In this limit the radiation outputs are generally real and
nonzero, corresponding to the added mass, pressure, and uid velocity induced by forced
motions of the body without wave eects on the free surface. Conversely, in the same limit
there are no diraction eects since the incident waves have vanishingly small wavelength
and cause no disturbance of either the body or the uid.
When radiation IRFs are evaluated it is necessary to evaluate the corresponding frequencydomain coecients for 0 = 0 and N +1 = , using the special instructions in the WAMIT
User Manual (Section 3.1, page 3-9 of the V6.1 User Manual). Thus, in V6.1, two WAMIT
runs are required. V6.1 also restricts the 0 = 0 and N +1 = evaluations to Option 1,
so that V6.1 cannot be used with F2T to analyse radiation type outputs in Options 5,6,7.
WAMIT V6.2 removes this restriction, and will also permit the analysis of all frequencydomain outputs to be made in a single run. To simplify the instructions below, Version 6.2
or higher is assumed, and instructions are given for making only one WAMIT run. (Users
of V6.1 should make two separate runs, one for nite wave periods and one for zero and
innity, and for the latter only Option 1 should be specied.)
13.2
The frequency-domain input data for F2T is evaluated by WAMIT. The algorithms used
to evaluate the Fourier transforms in F2T require that the input data is restricted to a
uniformly-spaced set of frequencies n = n, where (n=1,2,3,...,NPER), augmented by
the limiting frequencies 0 and . In the WAMIT run this is done most easily by setting
the parameter IPERIO=2 in the conguration le (inputs are radian frequencies), and by
using the option to write the data -NPER and 1 , on the lines normally used to specify
NPER and the array PER. The simplest procedure is to make one run, with 1 = ,
so that both innite and zero wave periods are included in the run. (Note in this case that
NPER must include the total number of wave periods including zero and innity.)
The input les used for the tests of the ISSC TLP can be regarded as an example. These
132
les are listed in Appendix A14a. They are essentially the same as for TEST14, with the
exception of IPERIO=2 in TEST14.CFG, and the specication of the input frequencies.
When the input les to F2T are read, the data is sorted so that the frequencies are listed
in ascending order, regardless of their order in the WAMIT output les. Thus the order of
the periods (-1.0, 0.0) is irrelevant, and it is possible to patch together two or more separate
sets of output les from WAMIT, e.g. one with a coarse set of wave frequencies and the
other with intermediate frequencies, to provide a ner set, without concern regarding their
order.
13.3
The program F2T can be executed after the appropriate WAMIT output les are available.
The user must specify the lenames of these les and a small number of input parameters,
either interactively in response to appropriate runtime prompts or by preparing the special
input le inputs.f2t. The following example of this special input le corresponds to the
TEST14a test run described above:
header line for inputs.f2t control file, TLP example
TEST14a
0 0 1 (IRAD IDIFF NUMHDR)
0 0 0 (INUMOPT5 INUMOPT6 INUMOPT7)
0.2 100 (DT NT time step and number of time steps)
0 (IOUTFCFS, output both cosine and sine transforms)
43.125 9.80665 ULEN GRAV
These inputs are described for each line as follows:
Line 1 is an ASCII header dimensioned CHARACTER*72 as in most WAMIT input
les. This line should be used to insert a brief description of the le.
Line 2 is a list of the lenames (not the extensions) of the primary and secondary
WAMIT output les. F2T attempts to open all numeric output les with the same lenames, and includes all of these les in the analysis. Thus the determination of which
options to be included depends on the available WAMIT output les. In this example
where the TEST14.FRC control le was used as in the standard WAMIT test runs, Options 1,2,3,4 will be included in the F2T analysis. If all of the input data is included in
the primary le it is not necessary to list other lenames. Additional secondary les can
also be included, up to a maximum limit of 256 ASCII characters for the complete line.
At least one blank space must be used to separate each lename.
Lines 3 and 4 contain the six WAMIT control parameters identied by the comments
in parenthesis. These parameters must have the same values as in the WAMIT runs. (No
distinction is made between IRAD,IDIFF=0 or 1, and the only important value to specify
correctly is 1. For any input values of IRAD,IDIFF other than -1 the results are the same
as for 0 or 1.) NUMHDR, which is optional in WAMIT with the default value 0, must
be specied heree with the value 0 (no headers) or 1 (one line of headers) to indicate the
133
presence or absence of a header line in the WAMIT numeric output les. INUMOPT5, the
optional conguration parameter introduced in WAMIT Version 6.1 to permit outputting
separate components of the body pressure and velocity, and also INUMOPT6, INUMOPT7
introduced in Version 6.2 must be specied here with the value 0 (default in WAMIT) or
the separate-components values 1.
Line 5 contains the time step and number of time steps for the computation and tabulation of the time-domain response functions. The radiation IRFS are computed and
tabulated for t=0 and for NT positive times DT, 2DT, 3DT, ..., NTDT. The diraction IRFs are evaluated for both positive and negative times, starting with NTDT and
ending with +NTDT.
Line 6 contains the optional parameter IOUTFCFS, with the following options for its
value:
IOUTFCFS=1: output only the cosine transform of radiation irfs
IOUTFCFS=2: output only the sine transform of radiation irfs
IOUTFCFS=0 (or any other integer except 1 or 2): output both cosine and sine transforms
(These transforms are redundant, as explained below.) The default value IOUTFCS=0
is used if line 6 is missing from the le. Thus the use of this parameter is optional.
Line 7 contains the optional parameters ULEN and GRAV, which are the same characteristic length scale and gravitational acceleration parameters as input in the GDF le.
These parameters are only required when Options 5, 6, or 7 are included, and when the radiation outputs are specied, as explained in Section 13.5 below. In all other circumstances
the parameters ULEN and GRAV can be omitted from inputs.f2t. When ULEN and
GRAV are included in inputs.f2t it is essential to also include IOUTFCS on
line 6.
The use of the special le inputs.f2t is optional. If this le does not exist, or if the
rst ve lines cannot be read with the appropriate data, the user is prompted to specify all
of the above inputs interactively. The special le can also be used in a partial form with
some but not all of the above lines, but the lines included must be in the same order as
above. This permits the user to interactively input dierent values of the time step and
number, simply by omitting Line 5 from the special le.
The numeric data in the special le is read with free format READ statements, separately for each line. Any additional text on the same lines is ignored, so that comments
may be inserted as in the example above. The lenames on Line 2 are read as ASCII
text of unknown length (maximum of 256 characters, all on one line) and no additional
comments may be included on this line.
13.4
OUTPUT FILES
The output les from F2T are in two complementary formats with duplication of the output
data in the two formats. The lename assigned to all of the output les is primary, with
134
dierent extensions. The rst set of output les have appended lenames including IR
followed by the same extensions as the WAMIT output les. The second set have the
appended lenames including JR. The rst set follow the same format as the WAMIT
numeric output les of the same number, except that the period is replaced by the time step
and the WAMIT force coecients are replaced by their Fourier cosine and sine transforms.
Dierent modes and mode combinations are listed on separate lines with the identifying
mode indices, just as in the numeric output les of WAMIT.
To facilitate plotting and separation of the dierent modes and wave angles (BETA),
all of the Fourier cosine/sine transforms are listed on one line in the output les denoted
by JR, in the same order of mode combinations but without explicit mode indices. The
cosine/sine transforms are listed as pairs, unless one or the other is ommitted by setting
IOUTFCFS equal to 1 or 2 as explained in the following paragraph. Column one of the
JR le contains the value of time t.
Either the cosine transforms of the added mass or the sine transforms of the damping
can be used to evaluate the radiation IRFs (cf. equations 3 and 4 below). These two sets
of data can be checked to verify their accuracy and consistency, in much the same way
that the Haskind and Diraction exciting forces or cross-coupling coecients are compared.
Alternatively, to achieve more compact output les, one of these transforms can be omitted
using the parameter IOUTFCFS.
One more output le is produced with the extension .KR1, containing the impulseresponse functions Kij which are evaluated in TiMIT. These alternative IRFs are evaluated
in F2T by numerical dierentiation of the IRFs Lij which are dened below.
The diraction les JR are dierent from the radiation les in two respects, to facilitate
their use. First, the time steps begin with NTDT, and end with +NTDT. Secondly,
the cosine and sine transforms are combined (adding for t < 0 and subtracting for t > 0)
to give the actual IRFs for the corresponding exciting forces and RAOs (cf. equation 8
below).
For practical purposes the .JRn les will be most useful, and the .IRn les may be useful
only to clarify the identity of the dierent columns in the .JRn les.
Some experience and/or trial computations will be needed to determine appropriate values of the input frequencies and time steps. The dimensions of these parameters correspond
to GRAV in the WAMIT run.
13.5
OPTIONS 5,6,7
The F2T utility has been developed primarily for use with Options 1 to 4 (global forces
and RAOs). Local pressures, velocities, and wave elevations have not been tested, and
these may be dicult to transform accurately, due to limited or non-convergence of the
Fourier transforms at high frequencies.
If IDIFF=1 is specied in the WAMIT run, signifying that there are no incident waves,
the outputs from Options 5,6,7 are the total responses from superposition of all specied
135
radiation modes; in this case all of the available outputs are of the radiation type. In
this case, if more than one mode is considered, the output is for nonzero nite frequencies
only and is not suitable for transform to the time domain. If the conguration parameters
INUMOPT5, INUMOPT6, INUMOPT7 = 1 in the WAMIT run, the corresponding Option
5,6,7 outputs are separated into radiation components for each mode of forced motion plus
the diraction component, as explained in Sections 4.9 and 4.12; in this case F2T analyses
the radiation components and diraction components separately, according to their types.
The procedure using INUMOPT5, INUMOPT6, INUMOPT7 = 1, as described in Section 4.12, should be followed if F2T is used to transform the radiation components of the
pressures, velocities, and wave elevations.
13.6
THEORY
The fundamental relations between the time- and frequency-domain express the addedmass coecient Aij and damping coecient Bij in terms of Fourier transforms of the
impulse-response function Lij (t):
Aij () Aij () =
Bij () =
(13.1)
(13.2)
0
Lij (t) =
0
Bij ()
sin t d
(13.3)
(13.4)
Similar relations exist for the exciting forces and RAOs. Dene one of these quantities by
the complex function Xi () The corresponding impulse-response function is real, denoted
by Ki (t). The appropriate physical ranges are (0 < ) and ( < t < ). Then
the complex Fourier transform pairs are as follows:
Xi () =
and
2Ki (t) =
Ki (t)eit dt
Xi ()eit d
136
(13.5)
(13.6)
2Ki (t) =
or
0
Xi ()eit + Xi ()eit d
1
Ki(t) =
[Re(Xi ) cos t Im(Xi ) sin t] d
0
(13.7)
(13.8)
The principal task is to evaluate (13.3), (13.4), and (13.8). This is done by truncating
the innite integrations at the largest value of the evaluated frequency, and using Filon
quadratures to evaluate the resulting nite integrals. A truncation correction is derived
below, and applied to (13.3).
Usually the most signicant truncation error is associated with the transform of the
added-mass (13.3). From partial integration of (13.1) it follows that
1
Aij () Aij () =
Lij (t) sin t dt L(0) 2
(13.9)
0
where the neglected integral is of order 3 . If (13.3) is truncated at a nite frequency
N = , the truncation correction is
2
[Aij () Aij ()] cos t d
This can be approximated, using (13.9), if is suciently large:
ij (t) =
(13.10)
2
2
L (0) [cos t + t si(t)]
ij (t) Lij (0)
2 cos t d =
(13.11)
ij
Here we follow the notation of Abramowitz & Stegun (equation 5.2.26) for the sine integral
z
sin t
dt = si(z)
t
The constant Lij (0) can be evaluated from the fact that Lij (0) = 0, and thus
2
2
[Aij () Aij ()] d
(13.12)
L (0)
ij (0) =
0
ij
Combining (13.11) and (13.12) gives the truncation correction in (13.10) in the form
2
[Aij () Aij ()] d
(13.13)
ij (t) [cos t + t si(t)]
0
However this procedure suers from the slow algebraic convergence of the last integral. An
alternative procedure, which is adopted in F2T, is based instead on dientiating (13.4) to
give the relations
2
2
Bij () d
Bij () d
(13.14)
Lij (0) =
0
0
4
ij (t) 2 [cos t + t si(t)]
Bij () d
(13.15)
0
Equations (13.12) and (13.14) are complementary, but (13.14) is more robust since the integrand of (13.14) is positive-denite and converges to zero more rapidly than the integrand
of (13.12).
137
Chapter 14
either inaccurate or not possible. An example for which the Alternative 2 may be required
is when the gap between two adjacent bodies is very small.
To evaluate the mean drift forces and moments using this option, i) the parameter
ICTRSURF must be specied in the CFG le, as explained in Section 3.7, and ii) the
CSF(Control Surface File) dening the geometry of the control surface must be prepared.
The CSF le must have the same lename as the corresponding geometric data le for the
body, with the extension .csf, i.e. gdf.csf.
The control surface must be a closed surface surrounding the body in the uid. In
general, for a oating body which intersects the free surface, the control surface must
start from the bodys waterline, either extending outward on the free surface or downward
away from the waterline into the uid. Simple examples include a hemisphere or circular
cylinder with suciently large dimensions so that the body is entirely within the interior
of this surface, together with the intermediate portion of the free surface between the outer
control surface and the body waterline. For multiple bodies, the control surface for each
body should not include or intersect with other bodies, but it can intersect with other
control surfaces.
In principle, the position and shape of the control surface are arbitrary. From a practical
standpoint, the control surface should be suciently far from the body to ensure robust
evaluation of the eld velocity and pressure, but not so far as to require a very large number
of eld point evaluations. Simple geometrical description of the control surface is usually
desirable.
If the Alternative 1 method is used, there is no contribution to the horizontal drift force
and vertical drift moment from any part of the control surface that is in the plane of the
free surface (z = 0). Thus, if these are the only required components of the drift forces,
the control surface can be completely separated from the body surface without the need
to include the intermediate portion of the free surface. This simplies the denition of
the control surface, especially for bodies with complicated geometry of the waterline. In
addition, the numerical errors are generally smaller for eld points that are not too close
to the body surface.
14.1
The geometry of the control surface can be described in the same manner as the body
geometry. Similar options exist to dene the control surface, and dierent options can
be used for the control surface and for the body. In the low-order method, specied by
inputting the parameter ILOWHICSF=0 on line 2 of the CSF le, the control surface is
described with quadrilateral panels in the same manner as is described for the body in
Chapter 5. In the higher-order method, the parameter ILOWHICSF=1 on line 2 of the
CSF le and the control surface is described in the same manner as is described for the
body in Chapter 6, using any of the options available for higher-order representation of the
body surface, including at panels, B-splines, MS2 les and analytically using subroutines
in GEOMXACT. The format of the CSF le is almost identical with the GDF le. The
142
principal dierence is on line 2, where the parameters ULEN and GRAV in the GDF le are
replaced by ILOWHICSF. Also, when ILOWHICSF=1, the parameter PSZCSF is specied
in the CSF le to control the accuracy of the numerical integration.
The control surface is dened in terms of the body coordinates. The normal vector is
dened to point into the interior of the control surface (toward the uid in the domain
between the control surface and the body). If part of the control surface coincides with
the plane of the free surface, the normal on this surface is positive downwards.
The accuracy of the numerical integration of the momentum ux depends not only on
the accuracy of the eld quantities on the control surface, but also on the discretization of
the control surface. If a low-order control surface is used, the integral of the momentum
ux is calculated as the sum of the product of the ux at the centroid of each panel and the
area of the panel. If a higher-order control surface is used, the control surface is subdivided
into higher-order panels. On each panel, the momentum ux is calculated based on Gauss
quadrature assuming quadratic variation of the ux.
The input les for the test runs 5, 13, and 22, shown in Appendix A, illustrate the
dierent methods for dening the control surfaces, as noted below. As noted above, it is
possible to use dierent values of ILOWHI and ILOWHICSF. In TEST05, which uses the
low-order analysis for two bodies, the control surface around the cylinder is dened by loworder panels while the control surface around the spheroid is dened by the higher-order
analytical method using a special subroutine in the GEOMXACT DLL le.
Since the description of the control surface in FORCE is completely separate from the
solution in POTEN, arbitrary combinations of ILOWHI in POTEN and ILOWHICSF in
FORCE can be used together. One or two planes of symmetry can be used to simplify
the denition of the control surface, even when the body is not symmetric with respect
to the same plane(s). However the opposite is not true: if the body is dened with one
or two planes of symmetry, the control surface must use the same plane(s) of symmetry.
(The case NBODY>1 is an exception, since symmetric bodies are reected and analyzed
without any planes of symmetry; thus it is possible in this case to use a non-symmetric
control surface with a symmetric body, but this is not likely to be useful.)
14.2
In the low-order method the control surface is represented by an ensemble of panels. The
CSF le contains a description of this discretized surface in the same format as in the GDF
le except that ULEN and GRAV are not specied in CSF.
The data in the CSF le can be input in the following form:
header
0 (ILOWHICSF)
ISXCSF ISYCSF
NPANCSF
X1(1) Y1(1) Z1(1) X2(1) Y2(1) Z2(1) X3(1) Y3(1) Z3(1) X4(1) Y4(1) Z4(1)
143
X1(2) Y1(2) Z1(2) X2(2) Y2(2) Z2(2) X3(2) Y3(2) Z3(2) X4(2) Y4(2) Z4(2)
.
.
.
.
.
. . . . .
.
. . . . X4(NPANCSF) Y4(NPANCSF) Z4(NPANCSF)
header denotes a one-line ASCII header dimensioned CHARACTER72.
ISXCSF, ISYCSF are the geometry symmetry indices which have integer values 0 or 1.
If ISXCSF and/or ISYCSF =1, x = 0 and/or y = 0 is a geometric plane of symmetry, and
the input data are restricted to one quadrant or one half of the control surface. Conversely,
if ISXCSF=0 and ISYCSF=0, the complete control surface must be represented by panels.
ISXCSF = 1: The x = 0 plane is a geometric plane of symmetry.
ISXCSF = 0: The x = 0 plane is not a geometric plane of symmetry.
ISYCSF = 1: The y = 0 plane is a geometric plane of symmetry.
ISYCSF = 0: The y = 0 plane is not a geometric plane of symmetry.
For all values of ISXCSF and ISYCSF, the (x, y) axes are understood to belong to the
body system of the corresponding GDF le and the panel data are always referenced with
respect to this system.
NPANCSF is equal to the number of panels with coordinates dened in this le.
XI(J), YI(J), ZI(J) are the Cartesian coordinates (x, y, z) of I-th vertex of the J-th panel.
The four vertices of a panel are specied in the anti-clockwise direction when the panel is
viewed from outside of the control surface, as in the case of the body surface illustrated in
Figure 5.1.
Further description of the data in the CSF le can be found in Section 5.1, which
describes the low-order GDF le.
14.3
PSZCSF
144
Subsequent data may be included in the CSF le after these four lines, depending on the
manner in which the geometry of the control surface is represented, in the same manner
as for the GDF le (See Sections 6.5-6.8.)
header, ISXCSF and ISYCSF are the same as those in the CSF le for ILOWHI=0
above.
NPATCSF is equal to the number of patches used to describe the control surface. If one
or two planes of symmetry are specied, NPATCSF is the number of patches required to
discretize a half or one quadrant of the whole of the control surface, respectively.
ICDEF is an integer parameter which is used to specify the manner in which the geometry
of the control surface is dened. Four specic cases are relevant, corresponding respectively
to the representations explained in Sections 6.5, 6.6, 6.7 and 6.8:
ICDEF = 0: The geometry of each patch is a at quadrilateral, with vertices listed in the
CSF le (cf. Section 6.5).
ICDEF = 1: The geometry of each patch is represented by B-splines, with the corresponding data in the CSF le (cf. Section 6.6).
ICDEF = 2: The geometry is dened by inputs from a MultiSurf .ms2 le (cf. Section 6.7).
ICDEF < 0 or > 2: The geometry of each patch is represented explicitly by a subroutine
in the library GEOMXACT, with optional data in the CSF le (cf. Section 6.8).
In the last case (ICDEF < 0 or > 2), the parameter ICDEF is used in the same manner
as IGDEF, to select the appropriate subroutine. Any of the existing subroutines which
are normally used to dene body geometry can be used to dene the control surface, for
example specifying ICDEF=-1 denes the control surface as a circular cylinder with specied radius and draft. It is important to use dierent subroutines for the body geometry
and control surface, with ICDEF=IGDEF. (The reason for this restriction is that, when
parameters are input by the same subroutine from the GDF le and CSF le, these parameters may be overwritten. If it is desired to use the same subroutine for both geometries,
a duplicate copy of the subroutine with a dierent name and assigned value of IGDEF
should be added to GEOMXACT. )
PSZCSF is a parameter which controls the accuracy of the numerical integration over the
control surface, in the same manner that PANEL SIZE is used on the body (cf. Chapter
6). Thus the control surface is subdivided into elements with the approximate length scale
of each element equal to PSZCSF. If the parameter PSZCSF is negative, the subdivision
of the control surface is determined by the parameters NU,NV in the le gdf .CSP, in an
analogous manner to the use of the same parameters in the spline control le gdf .SPL
(Section 6.11). TEST22 is an example where the latter procedure is used.
145
14.4
OUTPUT
The mean forces and moments using a control surface are output in the OUT le and in the
numeric output le optn.9c (or frc.9c) in the same format as optn.9. When IPLTDAT> 0
in the CFG le, the auxiliary le gdf csf.dat is output which can be used for visualization
of the control surface using Tecplot. When ILOWHICSF= 1 and ILOWGDF> 0 in the
CFG le, gdf low.csf is created which contains the data of the control surface in the format
for the low order method.
TEST05, TEST13 and TEST22 show examples of using the control surface in the evaluation of the mean forces and moments.
146
REFERENCES
1. J.N. Newman. Algorithms for the Free-Surface Green Function. Journal of Engineering Mathematics, Vol. 19, pp. 57-67, 1985.
2. J. N. Newman. Distribution of Sources and Dipoles over a Quadrilateral. Journal
of Engineering Mathematics, Vol. 20, pp. 113-126, 1986.
3. J. N. Newman. Marine Hydrodynamics. MIT Press, 1977.
4. J. N. Newman. The Drift Force and Moment on Ships in Waves. Journal of Ship
Research, Vol. 11, pp. 51-60, 1967.
5. F. T. Korsmeyer, C.-H. Lee, J. N. Newman and P. D. Sclavounos. The Analysis
of Wave Eects on Tension-Leg Platforms. Invited paper of OMAE 88 Conference,
Houston, TX, 1988.
6. J. N. Newman, and P. D. Sclavounos. The Computation of Wave Loads on Large
Oshore Structures. BOSS 88 Conference, Trondheim, Norway, 1988.
7. R. Eatock Taylor and E. R. Jeerys. Variability of Hydrodynamic Load Predictions
for a Tension Leg Platform. Ocean Engineering, Vol. 13, No. 5, pp. 449-490, 1986.
8. X. Zhu, Irregular Frequency Removal from the Boundary Integral Equation for the
Wave-body Problem, Master Thesis, Dept. of Ocean Eng., MIT, 1994.
9. C.-H. Lee, J.N. Newman, M.-H. Kim & D.K.P. Yue. The computation of secondorder wave loads. OMAE 91 Conference, Stavanger, Norway, 1991.
10. C.-H. Lee, and J.N. Newman. First- and second-order wave eects on a submerged
spheroid, Journal of Ship Research, 1991.
11. J.N. Newman. The approximation of free-surface Green functions, in Wave Asymptotics, P. A. Martin & G. R. Wickham, editors, Cambridge University Press, 1992.
12. J.N. Newman and C.-H. Lee Sensitivity of wave loads to the discretization of bodies
BOSS 92, London, England, 1992
13. J.N. Newman Wave eects on deformable bodies, Applied Ocean Research, 16, 1,
47-59, 1994
141
14. C.-H. Lee and X. Zhu Second-order diraction and radiation solutions on oating
bodies 8th Intl Workshop on Water Waves and Floating Bodies, St. Johns, Newfoundland, Canada 1993
15. C.-H. Lee, and J.N. Newman. Second-order Wave Eects on Oshore Structures
BOSS94, MIT, 1994
16. C.-H. Lee, J.N. Newman and X. Zhu An extended boundary-integral-equation method
for the removal of irregular-frequency eects, International Journal for Numerical
Methods in Fluids, 23, 637-660, 1996.
17. C.-H. Lee, WAMIT Theory Manual, Report 95-2, Dept. of Ocean Engineering,
MIT, 1995
18. H. Maniar, A three dimensional higher-order panel method based on B-splines.
Ph.D. Thesis, Department of Ocean Engineering, MIT, Cambridge, Massachusetts,
1995.
19. C.-H. Lee, H. Maniar, J.N. Newman and X. Zhu, Computation of wave loads using
a B-spline panel method Proceedings, 21st Symposium on Naval Hydrodynamics,
Trondheim, Norway, 1996.
20. C.-H. Lee and J. N. Newman, HIPAN V2.1 User Manual, MIT, 1999
21. J.E. Kerwin and C.S. Lee, Prediction of Steady and Unsteady Marine Propeller
Performance by Numerical Lifting-Surface Theory. Transactions, Society of Naval
Architects and Marine Engineers, 86, 1978.
22. M. E. Mortenson Geometric Modeling, Second Edition, Wiley, 1997. Digital Press,
1999.
23. M. Etzel and K. Dickinson, Digital Visual Fortran Programmers Guide, Digital Press,
1999.
24. C.-H. Lee, J. S. Letcher, Jr., R. G. Mack II, J. N. Newman, D. M. Shook and E.
Stanley. Integation of Geometry Denition and Wave Analyis Software. OMAE
2002 Conference, Oslo, June 2002.
25. C.-H. Lee and J. N. Newman, Boundary-Element Methods in Oshore Structure
Analysis. OMAE 2001 Conference, Rio de Janeiro, 2001. Also published in Journal
of Oshore Mechanics and Arctic Engineering, Vol. 124, pp 81-89 (2002).
26. C.-H. Lee and J. N. Newman, Computation of wave eects using the panel method.
In Numerical Modeling in Fluid-Structure Interaction, Edited by S. Chakrabarti. WIT
Press, 2004.
27. Newman, J.N., Wave Eects on Vessels with Internal Tanks. 20th International
Workshop on Water Waves and Floating Bodies, Spitsbergen, Norway, 2005.
28. Lee, C.-H., Evaluation of quadratic forces using control surfaces. 2005 WAMIT
Consortium Report, www.wamit.com\report05.pdf, 2005.
142
Appendix A
A1
tst
01
02
03
04
05
06
07
08
09
11
11a
11b
11c
12
13
14
15
16
16a
17
17a
17b
18
19
20
21
22
23
24
geometry
ILOWHI
Circular cylinder
0
Circular cylinder
0
Circular cylinder
0
Barge near wall
0
Cylinder & spheroid
0
ISSC TLP (coarse)
0
ISSC TLP (ne)
0
Elastic column
0
Spar with strakes
0
Circular cylinder
1
Circular cylinder
1
Circular cylinder
1
Circular cylinder
1
Circular cylinder
1
Cylinder & spheroid
1
ISSC TLP
1
Semi-sub
1
Elastic barge
1
Elastic barge
1
Cylinder & moonpool
1
Cylinder & moonpool
1
Cylinder & moonpool
1
Elastic column
1
Catamaran barge
1
MultiSurf barge
1
Spar with strakes
1
FPSO with 2 tanks
1
Bank of wavemakers
1
Motions of a hinged vessel
1
other parameters
IRR=3
ISOR=1
ISY=-1
NBODY=2
NPAN=128
NPAN=1012
NEWMDS=4
NPAND=288
IGDEF=1
IGDEF=-1, INONUMAP=0
IGDEF=-1, INONUMAP=1
IGDEF=2
IGDEF=-1, INONUMAP=0, IRR=1
NBODY=2
IGDEF=-9
IGDEF=-10
IGDEF=-5
IGDEF=0
IGDEF=-7,
IGDEF=-7, NEWMDS=2, IDAMP=0
IGDEF=-7, NEWMDS=2, IDAMP=1
IGDEF=-1, NEWMDS=4
IGDEF=0
IGDEF=2
IGDEF=-12
IGDEF=-21
IGDEF=0
IGDEF=-32
All of the required input les for each test run, and the labeled output le (*.out)
are included with the WAMIT software on the CD-ROM disk provided to licensed users.
The same les can be downloaded with the demonstration programs from the web site
http:://www.wamit.com. The input les for Test Run tst are named with the lename
testtst followed by the extensions .gdf , .pot, and .f rc. The corresponding les fnames
and config are given the same lenames with the extension .tst. Thus, before running
TESTtst, the user should copy two les as follows:
copy fnames.tst fnames.wam
as explained in Chapter 2. Alternatively, the batch le runtests.bat can be used to run
all tests in succession.
In all of the test runs metric units are used, and the gravitational acceleration is set
equal to 9.80665 meters-per-second2.
A2
Each test run is described briey in the following sections. Also included in these sections
are perspective illustrations of the complete underwater geometry, including reections
about the indicated planes of symmetry, and abbreviated listings of the input les. For the
low-order tests (01-09) the perspective gures show the subdivisions into panels. For the
higher-order tests (11-22) two perspective gures are included, to show the subdivisions
into patches (upper or left) and into panels (lower or right).
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
TEST05.GDF:
TEST05.GDF -- GGDF file for use with IGDFPOT_OPTIONS=0
-1. 9.80665
2
test05c.gdf
1.25 0.0 0.0 0.0
1
1
1
1
1
1
test05s.gdf
-0.5 0.0 0.0 90.0
1
1
1
1
1
1
TEST05c.GDF: (lines 1-8 only):
Cylinder R=1 T=2 8*(6+8)
1.000000
9.806650
1
1
112
0.0000000E+00 0.0000000E+00
0.0000000E+00 0.0000000E+00
0.2538459
5.0493091E-02
0.2588190
0.0000000E+00
-2.000000
-2.000000
-2.000000
-2.000000
A13
.0000000
1.000000
.0000000
.0000000
.0000000
.0000000
1.000000
.0000000
A14
.0000000
.0000000
0
0
1.000000
.0000000
.0000000
1.000000
TEST05c.csf:
ccylinder R=1.2 T=2.2 -- analytic CONTROL SURFACE (npatch=3)
0
ILOWHICSF
1
1 ISX ISY
160
NPAN
0.12000E+01 0.00000E+00 0.00000E+00
0.12000E+01 0.00000E+00 -0.27500E+00
0.11769E+01 0.23411E+00 -0.27500E+00
0.11769E+01 0.23411E+00 0.00000E+00
TEST05s.csf:
ELLIPSOID CONTROL SURFACE for ellisoid GDF-- igdef=-1003 without free surface portion
1
ILOWHICSF
1 1
ISX ISY
1 -1003 0.5 NPATCH IGDEF PSZCSF
2
NLINES
2.2 0.3 0.3
A, B, C
2.0 0.25 (x and y maximum of ellipsoid GDF)
test05.cfg:
IPLTDAT=1
maxscr=1024
ISOR=0
IQUAD=0
ILOG=0
IDIAG=0
IRR=0
NUMHDR=1
NOOUT=0 1 1 1 0 1 1 0 0
IALTPOT = 1
! GDF names in GGDF file
IALTFRC = 3
! Alternative Form 3 FRC
IALTFRCN= 1 1
ICTRSURF=1
! Evaluate control surface drift forces
USERID_PATH=\WAMITv6 (directory for *.exe, *.dll, and userid.wam)
A15
A16
discretization
37.15733
37.15733
43.12500
43.12500
0.00000
-5.12567
-5.12567
0.00000
TEST06.POT:
TEST06.POT -- ISSC TLP, coarse discretization
450. 0. 0. 0. 0.
0 0
1 0 1 0 1 0
3
5. 10. 15.
1
0.
TEST06.FRC:
TEST06.FRC -- ISSC TLP, coarse discretization
1 1 1 -1 1 0 0 0 0 IOPTN (IOPTN(4)<0 signifies fixed modes)
6
NDFR
1 1 0 0 0 1
IMODE
3.0
VCG
38.876
0.
0.
0.
38.876
0.
0.
0.
42.420
0
NBETAH
0
NFIELD
test06.cfg:
maxscr=1024
ISOR=0
ISOLVE=0
ISCATT=0
IQUAD=0
ILOG=0
IDIAG=0
IRR=0
MONITR=0
NUMHDR=1
NOOUT= 1 1 1 1 0 1 1 1 1
USERID_PATH=\WAMITv6 (directory for *.exe, *.dll, and userid.wam)
A17
A18
A19
test07.cfg:
maxscr=1024
ISOR=0
ISOLVE=4
ISCATT=1
IQUAD=0
ILOG=0
IDIAG=0
IRR=0
MONITR=0
NUMHDR=1
IALTFRC=2
USERID_PATH=\WAMITv6
A20
A21
1.000000
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
69115.
62832.
62832.
62832.
0.
0.
0.
0.
0.
0.
62832.
67320.
62832.
62832.
0.
0.
0.
0.
0.
0.
62832.
62832.
66323.
62832.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
A22
0.
0.
0.
0.
0.
0.
62832.
62832.
62832.
65688.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0
0
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
test08.cfg:
MAXSCR=1024
NUMHDR=1
NUMNAM=0
ISOR=0
IRR=0
MONITR=0
newmds=4
IALTPOT=1
IALTFRC=2
USERID_PATH=\WAMITv6
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
103044.
412177. 824354. 1339575.
412177. 4430902. 9789203. 16487078.
824354. 9789203. 37899671. 64382041.
1339575. 16487078. 64382041. 162406554.
A23
A24
0.0000000E+00
-8.333333
-8.333333
0.0000000E+00
0.0000000E+00
-8.333333
-8.333333
0.0000000E+00
TEST09.POT:
TEST09.POT (Spar with three strakes)
-1. 0. 0. 0. 0.
HBOT, XBODY(1-4)
1
1
IRAD, IDIFF
1 1 1 1 1 1
IMODE(1-6)
3
NPER (array PER follows)
0.1 0.5 1.0
2
NBETA (array BETA follows)
0.0 45.
(end of file)
TEST09.FRC:
TEST09.FRC (Spar with three strakes)
1
1
1
1
1
1
1
2
0.000000
1.000000
.0000000
.0000000
.0000000
1.000000
.0000000
.0000000
.0000000
1.000000
0
2
23. 0. 0.
15. 15. -0.5
A25
IOPTN(1-9)
VCG
XPRDCT
NBETAH
NFIELD
(end of file)
1.000
test09.cfg:
MAXSCR=1000
ISOR=0
ISOLVE=0
ISCATT=0
IQUAD=0
ILOG=0
IDIAG=0
IRR=0
MONITR=0
NUMHDR=1
IPERIO=3
NOOUT= 1 1 1 1 0 1 1 1 1
USERID_PATH=\WAMITv6 (directory for *.exe, *.dll, and userid.wam)
A26
A27
A28
3
8.971402 2.006403 1.003033
1
0.
1
test11.gdf
0. 0. 0. 0.
1 1 1 1 1 1
0
TEST11.FRC:
TEST11.FRC Cylinder R=1, T=0.5, igdef=1
1
1
1
1
3
1 1 2 2
IOPTN(1-9)
0.000000
VCG
1.000000
.0000000
.0000000
.0000000
1.000000
.0000000
.0000000
.0000000
1.000000
XPRDCT
0
NBETAH
2
NFIELD
1.5 0. 0.
1.5 0. -0.5
(end of file)
test11.cfg:
ILOWHI=1
IALTPOT=2
IRR=0
ISOLVE=2
KSPLIN=3
IQUADO=3
IQUADI=4
IPERIO=1
MONITR=0
NOOUT= 1 1 1 1 0 1 1 1 1
NUMHDR=1
USERID_PATH=\WAMITv6 (directory for *.exe, *.dll, and userid.wam)
A29
A30
IRR=0
ISOLVE=2
KSPLIN=3
IQUADO=3
IQUADI=4
IPERIO=1
MONITR=0
NUMHDR=1
NOOUT= 1 1 1 1 0 1 1 1 1
USERID_PATH=\WAMITv6 (directory for *.exe, *.dll, and userid.wam)
A31
A32
ISOLVE=2
KSPLIN=3
IQUADO=3
IQUADI=4
IPERIO=1
MONITR=0
NUMHDR=1
NOOUT= 1 1 1 1 0 1 1 1 1
USERID_PATH=\WAMITv6 (directory for *.exe, *.dll, and userid.wam)
A33
A34
A35
A36
TEST12.GDF:
TEST12 cylinder R=1 T=0.5 -- analytic geometry (npatch=3)
1. 9.80665 ULEN GRAV
1 1
ISX ISY
3 -1
NPATCH IGDEF
2
NLINES
1.0 0.5
RADIUS, DRAFT
0
INONUMAP (uniform mapping)
TEST12.SPL:
TEST12.spl - cylinder R=1 T=0.5 -- analytic geometry (npatch=3)
4 2
NU NV (Patch 1, side
u azimuthal v vertical)
4 2
NU NV (Parch 2, bottom u azimuthal v radial)
4 2
NU NV (Parch 3, interior free surface)
TEST12.POT:
TEST12.POT Cylinder R=1, T=0.5, igdef=-1, npatch=3 (IRR=1)
-1.
1
1
IRAD, IDIFF
3
NPER (array PER follows)
8.971402 2.006403 1.003033
2
NBETA (array BETA follows)
0. 45.
1
NBODY
test12.gdf
0. 0. 0. 0.
XBODY
1 1 1 1 1 1
IMODE(1-6)
0
NEWMDS
TEST12.FRC:
TEST12.FRC Cylinder R=1, T=0.5, igdef=-1 (irr=1)
1
1
1
1
3
1 1 2 2
IOPTN(1-9)
0.000000
VCG
1.000000
.0000000
.0000000
.0000000
1.000000
.0000000
.0000000
.0000000
1.000000
XPRDCT
0
NBETAH
2
NFIELD
1.5 0. 0.
1.5 0. -0.5
(end of file)
test12.cfg:
ILOWHI=1
IALTPOT=2
A37
IRR=1
ILOG=1
ISOLVE=1
KSPLIN=3
IQUADO=3
IQUADI=4
IPERIO=1
MONITR=0
NUMHDR=1
NOOUT= 1 1 1 1 0 1 1 1 1
USERID_PATH=\WAMITv6 (directory for *.exe, *.dll, and userid.wam)
A38
A39
TEST13c.GDF:
TEST13C cylinder R=1 T=2 -- analytic geometry (npatch=2)
1. 9.80665 ULEN GRAV
1 1
ISX ISY
2 -1
NPATCH IGDEF
2
NLINES
1.0 2.0
RADIUS, DRAFT
0
INONUMAP (uniform mapping)
TEST13s.GDF:
TEST13S spheroid a=2, b=c=0.25 -- igdef=-4
1. 9.80665 ULEN GRAV
1 1
ISX ISY
1 -4
NPATCH IGDEF
1
NLINES
2.0 0.25 0.25
A, B, C
A40
TEST13C.SPL:
TEST13C cylinder R=1 T=2 -- analytic geometry (npatch=2)
4 4
NU NV (side)
4 2
NU NV (bottom)
TEST13S.SPL:
TEST13S spheroid A=2 B=C=.25 -- analytic geometry (npatch=1)
4 2
NU NV
TEST13.POT:
TEST13.POT -- Cylinder + spheroid, ILOWHI=1
-1.
1
1
IRAD, IDIFF
2
NPER (array PER follows)
1.5 2.0
1
NBETA (array BETA follows)
0.
2
NBODY
test13c.gdf
1.25 0.0 0.0 0.0
XBODY
1 1 1 1 1 1
IMODE(1-6)
0
NEWMDS
test13s.gdf
-0.5 0.0 0.0 90.0
XBODY
1 1 1 1 1 1
IMODE(1-6)
0
NEWMDS
TEST13.FRC:
TEST13.FRC -- Cylinder + spheroid, ILOWHI=1
1 1 1 1 0 1 1 1 1
1.0
test05c.frc
test05s.frc
0
1
0. 0. 0.
TEST05c.FRC:
CYL.FRC
0
0
0
0.000000
1.000000
.0000000
.0000000
.0000000
1.000000
.0000000
.0000000
.0000000
1.000000
A41
0
0
TEST05s.FRC:
SPD.FRC
0
0
0
0.000000
1.000000
.0000000
.0000000
0
0
.0000000
1.000000
.0000000
.0000000
.0000000
1.000000
TEST13c.csf:
cylinder R=1.2 T=2.2 -- analytic CONTROL SURFACE (npatch=3)
1
ILOWHICSF
1 1
ISX ISY
3 -1001 1. NPATCH ICDEF PSZCSF
2
1.2 2.2 1.0
RADIUS, DRAFT, Inner radius
0
UNIFORM MAPPING
TEST13s.csf:
ELLIPSOID CONTROL SURFACE defined by subroutine ELLIPSOID_CS
1
ILOWHICSF
1 1
ISX ISY
2 -1003 1. NPATCH IGDEF PSZCSF
2
NLINES
2.2 0.3 0.3
A, B, C (semi-axes of outer control surface)
2.0 0.25
(semi-axes of body waterline)
test13.cfg:
IPLTDAT=4
maxscr=1024
ILOWHI=1
IALTPOT=2
IRR=0
ISOLVE=2
KSPLIN=3
IQUADO=3
IQUADI=4
IPERIO=1
NUMHDR=1
NOOUT=0 1 1 1 0 1 1 1 1
A42
IALTFRC = 3
! Alternative Form 3 FRC
IALTFRCN= 1 1
ICTRSURF=1
! Evaluate control surface drift forces
USERID_PATH=\WAMITv6 (directory for *.exe, *.dll, and userid.wam)
A43
A44
TEST14.GDF:
TEST14 -- ISSC TLP (ILOWHI=1)
43.125 9.80665
ULEN GRAV
1 1
ISX ISY
12 -9
NPATCH, IGDEF
2
NLINES
8.435 35.
43.125
RADIUS DRAFT HSPACE
7.5
10.5
WIDTH HEIGHT
TEST14.SPL:
TEST14 -- ISSC
1 2
NU
1 2
NU
1 2
NU
1 2
NU
1 2
NU
1 2
NU
1 2
NU
1 2
NU
4 1
NU
4 2
NU
4 1
NU
1 1
NU
TLP (ILOWHI=1)
NV patch 1
NV patch 2
NV patch 3
NV patch 4
NV patch 5
NV patch 6
NV patch 7
NV patch 8
NV patch 9
NV patch 10
NV patch 11
NV patch 12
TEST14.POT:
TEST14 -- ISSC TLP (ILOWHI=1)
450
0
0
IRAD, IDIFF
3
NPER (array PER follows)
5. 10. 15.
1
NBETA (array BETA follows)
0.
1
NBODY
test14.gdf
0. 0. 0. 0.
XBODY
1 0 1 0 1 0
IMODE(1-6)
0
NEWMDS
TEST14.FRC:
TEST14 -- ISSC TLP (ILOWHI=1, IALTFRC=2)
1 1 1 -2 0 0 0 0 0 IOPTN (IOPTN(4)<0 signifies fixed modes)
6
NDFR
1 1 0 0 0 1
IMODE
1.
RHO
A45
0. 0. 3.0
1
53066.4
0.
0.
53066.4
0.
0.
0. -159199.2
159199.2
0.
0.
0.
0
0
0
0
test14.cfg:
MAXSCR=1024
ILOWHI=1
IALTPOT=2
IRR=0
ISOLVE=1
IQUADI=4
IQUADO=3
KSPLIN=3
NUMHDR=1
IALTFRC=2
USERID_PATH=\WAMITv6
XCG
IMASS
0.
0.
159199.2
0.
0. -159199.2
0.
0.
53066.4
0.
0.
0.
0. 8.0201552E7
0.
0.
0.
0.
8.0201552E7
0.
0.
0.
0. 9.54906731E7
IDAMP
ISTIFF
NBETAH
NFIELD
A46
TEST14A.POT:
TEST14A -- ISSC TLP (ILOWHI=1)
450
0
0
IRAD, IDIFF
-101
NPER (array PER follows)
-0.05 0.05
1
NBETA (array BETA follows)
0.
1
NBODY
test14.gdf
0. 0. 0. 0.
XBODY
1 0 1 0 1 0
IMODE(1-6)
0
NEWMDS
TEST14A.FRC:
TEST14A -- ISSC TLP (ILOWHI=1, IALTFRC=2)
1 1 1 1 0 0 0 0 0 IOPTN
1.
RHO
0. 0. 3.0
XCG
1
IMASS
53066.4
0.
0.
0.
159199.2
0.
0.
53066.4
0. -159199.2
0.
0.
0.
0.
53066.4
0.
0.
0.
0. -159199.2
0. 8.0201552E7
0.
0.
159199.2
0.
0.
0.
8.0201552E7
0.
0.
0.
0.
0.
0. 9.54906731E7
0
IDAMP
0
ISTIFF
0
NBETAH
0
NFIELD
TEST14A.CFG:
MAXSCR=1024
ILOWHI=1
IALTPOT=2
IRR=0
ISOLVE=1
IQUADI=4
IQUADO=3
KSPLIN=3
NUMHDR=1
IALTFRC=2
IPERIO=2
USERID_PATH=\WAMITv6
A47
A48
TEST15.GDF:
TEST15 Semi-sub, NCOL=5, IGDEF=-10
1. 9.80665 ULEN GRAV
1
1
ISX ISY
10 -10
NPATCH IGDEF
2
NLINES
260. 20. 40. -30. -20.
XL, Y1, Y2, Z1, Z2
60. 8. 5
DCOL, RCOL, NCOL
TEST15.SPL:
TEST15 Semi-sub, NCOL=5, IGDEF=-10
9 2
NU NV
(patch
32 1
NU NV
(patch
2 2
NU NV
(patch
2 1
NU NV
(patch
5 2
NU NV
(patch
4 2
NU NV
(patch
4 1
NU NV
(patch
5 2
NU NV
(patch
4 2
NU NV
(patch
4 1
NU NV
(patch
TEST15.POT:
TEST15 Semi-sub with five columns on each pontoon
-1.
0
0
IRAD, IDIFF
1
NPER (array PER follows)
18.0
1
NBETA (array BETA follows)
180.
1
NBODY
test15.gdf
0. 0. 0. 0.
XBODY
0 0 1 0 1 0
IMODE(1-6)
0
NEWMDS
TEST15.FRC:
TEST15 Semi-sub
1
0.0000
20.0
0.
0
0
0.0
0.0
60.0
A49
0
test15.cfg:
ISOLVE=1
IPERIO=1
NUMHDR=1
KSPLIN=3
IQUADI=4
IQUADO=3
ILOWHI=1
IALTPOT=2
IRR=0
USERID_PATH=\WAMITv6
A50
A51
TEST16.GDF:
TEST16 elastic barge
1. 9.80665 ULEN GRAV
1 1
ISX ISY
3 -5
NPATCH IGDEF
1
NLINES
40.0
5.0 5.0
half-length, half-beam, draft
TEST16.SPL:
TEST16 elastic barge
3 3
NU NV
(end)
4 4
KU KV
5 2
(side)
4 4
5 2
(bottom)
4 4
IQUO IQVO are not specified IQUADO=3 in config.wam
IQUI IQVI are not specified IQUADI=4 in config.wam
TEST16.POT:
TEST16 elastic barge with 8 beam modes
-1.
0
0
IRAD, IDIFF
2
NPER (array PER follows)
7. 8.
1
NBETA (array BETA follows)
180.
1
NBODY
test16.gdf
0. 0. 0. 0.
XBODY
1 0 1 0 1 0
IMODE(1-6)
8
NEWMDS
TEST16.FRC:
TEST16 elastic barge with 8 beam modes
1 1 1 1 0 0 0 0 0
1000.
0. 0. 0.
1
4.00000E+06 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 4.E+06 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 2.13333E+09 0. 0. 0. 0. 0. 0. 0. 0. 0.
A52
0
1
0
0
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0. 0. 0. 0. 0. 0. 0. 0.
1.E+06 0. 0. 0. 0. 0. 0. 0.
0. 1.E+06 0. 0. 0. 0. 0. 0.
0. 0. 1.E+06 0. 0. 0. 0. 0.
0. 0. 0. 1.E+06 0. 0. 0. 0.
0. 0. 0. 0. 1.E+06 0. 0. 0.
0. 0. 0. 0. 0. 1.E+06 0. 0.
0. 0. 0. 0. 0. 0. 1.E+06 0.
0. 0. 0. 0. 0. 0. 0. 1.E+06
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0.
6.25705E+06 0. 0. 0. 0. 0. 0. 0.
0. 4.75441E+07 0. 0. 0. 0. 0. 0.
0. 0. 1.82720E+08 0. 0. 0. 0. 0.
0. 0. 0. 4.99297E+08 0. 0. 0. 0.
0. 0. 0. 0. 1.11419E+09 0. 0. 0.
0. 0. 0. 0. 0. 2.17352E+09 0. 0.
0. 0. 0. 0. 0. 0. 3.85260E+09 0.
0. 0. 0. 0. 0. 0. 0. 6.35602E+09
test16.cfg:
ILOWHI=1
IALTPOT=2
IALTFRC=2
IRR=0
ISOLVE=1
IQUADI=5
IQUADO=4
IPERIO=1
MONITR=0
NUMHDR=1
ILOG=0
IGENMDS=16
USERID_PATH=\WAMITv6
A53
A54
0
1
0
0
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0. 0. 0. 0. 0. 0. 0. 0.
1.E+06 0. 0. 0. 0. 0. 0. 0.
0. 1.E+06 0. 0. 0. 0. 0. 0.
0. 0. 1.E+06 0. 0. 0. 0. 0.
0. 0. 0. 1.E+06 0. 0. 0. 0.
0. 0. 0. 0. 1.E+06 0. 0. 0.
0. 0. 0. 0. 0. 1.E+06 0. 0.
0. 0. 0. 0. 0. 0. 1.E+06 0.
0. 0. 0. 0. 0. 0. 0. 1.E+06
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0.
6.25705E+06 0. 0. 0. 0. 0. 0. 0.
0. 4.75441E+07 0. 0. 0. 0. 0. 0.
0. 0. 1.82720E+08 0. 0. 0. 0. 0.
0. 0. 0. 4.99297E+08 0. 0. 0. 0.
0. 0. 0. 0. 1.11419E+09 0. 0. 0.
0. 0. 0. 0. 0. 2.17352E+09 0. 0.
0. 0. 0. 0. 0. 0. 3.85260E+09 0.
0. 0. 0. 0. 0. 0. 0. 6.35602E+09
test16A.cfg:
ILOWHI=1
IALTPOT=2
IALTFRC=2
IRR=0
ISOLVE=1
IQUADI=5
IQUADO=4
IPERIO=1
MONITR=0
NUMHDR=1
ILOG=0
IGENMDS=16
USERID_PATH=\WAMITv6
A55
A56
for head-sea incidence angle it suces to consider only a pitch rotation of the lid (j = 8).
These two generalized modes, physically analogous to pitch and heave but dened relative
to the body, are introduced via the subroutine MOONPOOL FS in NEWMODES.F.
In test run TEST17a, the lid is assumed to be free with no external force or moment
acting on it. The IALTFRC=2 option is employed, and the only external force matrix that
is included in TEST17.FRC is the mass matrix of the body. This mass matrix is equivalent
to the radii of gyration specied in TEST17.FRC. It can be conrmed by comparison of the
outputs that the motions of the body (RAO) are virtually identical to TEST17, conrming
that the representation of the moonpool free surface in this manner is legitimate. A
comparison can also be made between the moonpool free surface elevation (numeric output
le TEST17.6) and the response of the lid in mode 7 (RAO(7) in the numeric output le
TEST17a.4), but in this comparison account must be made for the fact that RAO(7)
is relative to the body motions, and thus it is necessary to compare the (complex) sum
RAO(3)+RAO(7) in TEST17a with the moonpool free surface elevation in TEST17.
Finally, in TEST17b, empirical damping is introduced via the external damping matrix
in TEST17b.FRC. Since this is the only dierence between TEST17a and TEST17b, it
is not necessary to re-run POTEN and the same TEST17a.P2F le is used for TEST17b.
Thus TEST17a.pot is specied in FNAMES.17b, and IPOTEN=0 in the TEST17b.cfg le.
The only nonzero elements of the external damping matrix are for heave (j = 3) and the lid
vertical motion (j = 7). With these empirical damping coecients added, more appropriate
RAOs are obtained. This general approach can be rened based on experimental data.
Experience with similar problems suggests that relatively crude estimates based on the
observed response at resonance are sucient to correct the response over a broad range of
wave periods.
A57
TEST17.GDF:
TEST17 cylinder with moonpool
1. 9.80665 ULEN GRAV
1 1
ISX ISY
3 -7
NPATCH IGDEF
1
NLINES
0.5 1.0 0.25
radius, draft, moonpool radius
TEST17.POT:
TEST17 cylinder with moonpool, NPATCH=3
-1.
0
0
IRAD, IDIFF
7
NPER (array PER follows)
.7 .75 .8 .85 .9 .95 1.0
1
NBETA (array BETA follows)
180.
1
NBODY
test17.gdf
0. 0. 0. 0.
XBODY
1 0 1 0 1 0
IMODE(1-6)
0
NEWMDS
TEST17.FRC:
TEST17.FRC Cylinder with moonpool
1
1
1
1
0
1 0 0 0
0.000000
1.000000
.0000000
.0000000
.0000000
1.000000
.0000000
.0000000
.0000000
1.000000
0
1
0.0 0.0 0.0
test17.cfg:
ILOWHI=1
IALTPOT=2
IALTFRC=1
IRR=0
ISOLVE=1
PANEL_SIZE = 0.2
IPERIO = 3
NUMHDR=1
USERID_PATH=\WAMITv6
IOPTN(1-9)
VCG
XPRDCT
NBETAH
NFIELD
A58
A59
0.0
0.0
0.0
0.0
0.589
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.589
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
IALTFRC=2
ISOLVE=1
PANEL_SIZE = 0.2
IPERIO = 3
IRR=0
ILOG=1
NUMHDR=1
IGENMDS=17
USERID_PATH=\WAMITv6
A60
TEST17B.FRC:
TEST17b cylinder+moonpool, generalized
1 1 1 1 0 0 0 0 0
1.
0. 0. 0.
1 imass (mass matrix of body)
0.589049 0.0
0.0
0.0
0.0
0.589049 0.0
0.0
0.0
0.0
0.589049 0.0
0.0
0.0
0.0
0.589
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
1 idamp
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.4
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0 istif
0
0
test17B.cfg:
ILOWHI=1
IPOTEN=0
IALTPOT=2
IALTFRC=2
ISOLVE=1
PANEL_SIZE = 0.2
IPERIO = 3
IRR=0
ILOG=1
NUMHDR=1
IGENMDS=17
USERID_PATH=\WAMITv6
0.0
0.0
0.0
0.0
0.589
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.589
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.1
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
A61
A62
TEST18.GDF:
TEST18.GDF vertical cylinder, bottom mounted
1.0000 9.80665
ulen, grav
1
1
isx,isy
1 -1
npatch, igdef
2
nlines
10.0000 200.000
radius, draft
0
INONUMAP (uniform mapping)
TEST18.SPL:
TEST18.spl - bottom-mounted cylinder R=10 T=200 -- (npatch=1)
4 8
NU NV (Patch 1, side
u azimuthal v vertical)
TEST18.POT:
TEST18.POT -- bending of vertical column at resonance, 200m depth
200.0 0.0 0.0 0.0 0.0
0 0 0
0
0
0
0
0
0
0
0
1
6.5
1
0.0
TEST18.FRC:
TEST08.FRC file,
1
1
1.0
.0000000
1
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0
1
0.
0.
0.
0.
0.
0.
1.000000
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
69115.
62832.
62832.
62832.
0.
0.
0.
0.
0.
0.
62832.
67320.
62832.
62832.
0.
0.
0.
0.
0.
0.
62832.
62832.
66323.
62832.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
A63
0.
0.
0.
0.
0.
0.
62832.
62832.
62832.
65688.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0
0
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
test18.cfg:
MAXSCR=1024
ISOLVE=1
NUMHDR=1
NUMNAM=0
ISOR=0
IRR=0
NEWMDS=4
ILOWHI=1
IALTPOT=1
IALTFRC=2
KSPLIN=3
IQUADO=3
IQUADI=4
IGENMDS=18
USERID_PATH=\WAMITv6
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
103044.
412177. 824354. 1339575.
412177. 4430902. 9789203. 16487078.
824354. 9789203. 37899671. 64382041.
1339575. 16487078. 64382041. 162406554.
A64
A65
Generalized modes can be used to extend the analysis of this conguration to include two
independent bodies. In this case each of the rigid-body modes of the catamaran must be
supplemented by a corresponding generalized mode which has the same normal velocity on
one barge, and the opposite phase on the other. The separate modes of each independent
body are then evaluated by combining the corresponding symmetric and antisymmetric
modes for the catamaran. It is simpler to use the option NBODY=2 for this purpose, but
the number of unknowns is increased by a factor of four, resulting in a substantial increase
of the run time. For the more ecient approach used in TEST19 it is necessary to represent
the entire forward half of one barge, as shown in the patch gure. The subroutine BARGE
(IGDEF=-5) is not suitable, since this only represents one quadrant of one barge. On the
other hand, BARGE can be used in the alternative NBODY=2 approach.
A66
TEST19.GDF:
TEST19 one quadrant of catamaran barge configuration
40. 9.80665 ULEN GRAV
1 1
ISX ISY
4 0
NPATCH IGDEF
40.0000
2.000000
-10.00000
40.0000
22.00000
-10.00000
40.0000
22.00000
0.000000
40.0000
2.000000
0.000000 (end)
40.0000
22.00000
-10.00000
0.000000
22.00000
-10.00000
0.000000
22.00000
0.000000
40.0000
22.00000
0.000000 (outside)
40.0000
2.000000
-10.00000
0.000000
2.000000
-10.00000
0.000000
22.00000
-10.00000
40.0000
22.00000
-10.00000 (bottom)
40.0000
2.00000
0.000000
0.000000
2.00000
0.000000
0.000000
2.00000
-10.00000
40.0000
2.00000
-10.00000 (inside)
TEST19.SPL:
TEST19 catamaran barge
2 2
NU NV
(end)
4 4
KU KV
5 2
(outside)
4 4
5 2
(bottom)
4 4
5 2
(inside)
4 4
IQUO IQVO are not specified IQUADO=3 in config.wam
IQUI IQVI are not specified IQUADI=4 in config.wam
TEST19.POT:
TEST19.POT -- Catamaran barge, same geometry as TEST04
-1. 0. 0. 0. 0.
0 0
IQUAD,IDIAG must be read in IALTPOT, not used
0 0
IRAD,IDIFF
1 0 1 0 1 0
3
6. 7. 8.
1
A67
0.0
TEST19.FRC:
TEST19.FRC -- Catamarn barge, ILOWHI=1 (same as TEST04.FRC)
1
1
1
1
0
0
0
0
1
3.0
20.00000
0.000000
0.000000
0.000000
5.000000
0.000000
0.000000
0.000000
20.00000
0
0
test19.cfg:
ILOWHI=1
IALTPOT=1
IALTFRC=1
IRR=0
ISOLVE=1
IQUADI=5
IQUADO=4
IPERIO=1
MONITR=0
NUMHDR=1
ILOG=0
isor=0
USERID_PATH=\WAMITv6
A68
A69
test20.pot:
single barge based on MultiSurf model (igdef=2)
-1.
1
1
IRAD, IDIFF
3
NPER (array PER follows)
6.0 9.0 12.0
3
NBETA (array BETA follows)
180. 135. 90.
1
NBODY
test20.gdf
0. 0. -4.8 0.0
XBODY
1 1 1 1 1 1
IMODE(1-6)
0
NEWMDS
test20.gdf:
Test run for barge modelled with MultiSurf
1.000000 9.806600 ULEN, GRAV
0 1 ISX, ISY
4
2 NPATCH, IGDEF
3 NLINES
test20.ms2
wetted_surfs
0 0 0 FAST,DivMult, outward normals
test20.ms2: (lines 1-8 only)
MultiSurf 1.23
// Barge model for WAMIT
// J. S. Letcher, AeroHydro, Inc. 1/10/2002
Units: m MT
Symmetry: y
Extents: -50.000 -10.000 0.000 50.000 10.000 8.000
View: -30.00 60.00 0
Places: 3
test20.frc:
test20.frc igdef=2
1
1
1
1
1
0.0
10.00000
.0000000
.0000000
25.00000
.0000000
.0000000
0
0
1 1
.0000000
.0000000
25.00000
A70
IOPTN(1-9)
VCG
XPRDCT
NBETAH
NFIELD
A71
A72
TEST21.GDF:
TEST21 SPAR2 with three strakes IGDEF=-12
18. 9.80665 ULEN GRAV
0 0
ISX ISY
7 -12
NPATCH IGDEF
npatch_dipole = 3
ipatch_dipole = 2 4 6
5
18. 200.
RADIUS, DRAFT
3.7 0. 1. 3
WIDTH, THICKNESS, TWIST, NSTRAKE
0
IRRFRQ
0 0.
IMOONPOOL, RADIUSMP
0
IMPGEN
TEST21.POT:
TEST21.POT SPAR with three strakes igdef=-12 (TEST21.GDF)
-1.
1
1
IRAD, IDIFF
3
NPER (array PER follows)
0.1 0.5 1.
2
NBETA (array BETA follows)
0. 120.
1
NBODY
test21.gdf
0. 0. 0. 0.
XBODY
1 1 1 1 1 1
IMODE(1-6)
0
NEWMDS
TEST21.FRC:
TEST21.FRC SPAR with three strakes igdef=-12
1 1 1 1 0 1 1 2 0
IOPTN(1-9)
0.000000
VCG
100.000000
.0000000
.0000000
.0000000
100.000000
.0000000
.0000000
.0000000
10.000000
XPRDCT
0
NBETAH
2
NFIELD
23. 0. 0.
15. 15. -0.5
(end of file)
TEST21.CFG:
ipltdat=4
A73
ilowgdf=4
ILOWHI=1
IALTPOT=2
IRR=0
ISOLVE=1
KSPLIN=3
IQUADO=3
IQUADI=4
IPERIO=3
MONITR=0
NUMHDR=1
NOOUT= 1 1 1 1 0 1 1 1 1
USERID_PATH=\WAMITv6 (directory for *.exe, *.dll, and userid.wam)
PANEL_SIZE=18
IPOTEN=1
ILOG=1
A74
A75
A76
0.000000E+00
2.000000
0.000000E+00
2.000000
2.000000
-0.000000E+00
-0.000000
-0.000000
-0.000000
-0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
-2.000000E+00
-2.000000E+00
0.000000
-2.000000E+00
0.000000
0.000000
-2.000000E+00
-2.000000
-2.000000
-2.000000
-2.000000
2.100000
2.100000
0.0000000E+00
0.0000000E+00
2.100000
2.100000
0.0000000E+00
2.100000
2.100000
0.0000000E+00
0.0000000E+00
2.100000
2.100000
0.0000000E+00
2.100000
2.100000
2.100000
2.100000
0.0000000E+00
0.0000000E+00
2.100000
2.100000
0.0000000E+00
2.100000
2.100000
0.0000000E+00
-0.100000
-0.100000
-0.100000
-0.100000
-0.100000
-0.100000
-0.100000
-0.100000
1.0000000E+00
1.0000000E+00
0.0000000E+00
0.0000000E+00
-1.100000
-1.100000
0.0000000E+00
0.0000000E+00
-1.100000
-1.100000
-1.100000
-1.100000
-1.100000
-1.100000
-1.100000
-1.100000
0.0000000E+00
0.0000000E+00
TEST22.POT:
TEST22.POT fpso with 2 interior tanks
-1.0
1
1
IRAD, IDIFF
3
2.0 2.5 3.0
1
NBETA (array BETA follows)
90.
1
NBODY
test22.gdf
0. 0. 0. 0.
XBODY
1 1 1 1 1 1
IMODE(1-6)
0
NEWMDS
A77
TEST22.SPL:
TEST22.SPL FPSO with two tanks
4
3
4
2
8
3
8
2
2
1
3
3
3
2
3
2
3
2
3
3
3
2
3
2
3
2
3
3
3
2
TEST22.FRC:
TEST22.FRC fpso with 2 tanks, one field point on free surface in each tank
1
1
1
1
0
1 1 1 1
IOPTN(1-9)
0.000000
VCG
1.000000
.0000000
.0000000
.0000000
1.000000
.0000000
.0000000
.0000000
1.000000
XPRDCT
0
NBETAH
2
NFIELD
1 1.0 1.0 1.0
2 -1.0 1.0 0.0
TEST22.CSF:
Test22 control surface box
1
ILOWHICSF
1 1
3 0 -2.
12. 3. 0.
12. 3. -2. 0. 3. -2. 0. 3. 0.
12. 0. 0.
12. 0. -2.
12. 3. -2.
12. 3.
12. 0. -2. 0. 0. -2. 0. 3. -2.
12. 3. -2.
TEST22.CSP:
Test22.CSP control surface spline file
1 6
1 2
6 2
A78
0.
TEST22.CFG:
ipltdat=4
ILOWHI=1
IALTPOT=2
IRR=0
ILOG=1
ISOLVE=1
KSPLIN=3
IQUADO=3
IQUADI=4
MONITR=0
NUMHDR=1
NOOUT= 0 0 0 0 0 0 0 0 0
USERID_PATH=\WAMITv6 (directory for *.exe, *.dll, and userid.wam)
NPTANK=(8-11) (12-15)
RHOTANK= 1.0 1.0
(relative densities of tank fluids)
ITANKFPT=1
(tank field points are in .frc file)
ICTRSURF=1
Evaluate control surface drift forces
A79
A80
test23.cfg:
ILOWHI=1
IALTPOT=2
IALTFRC=2
IRR=0
ISOLVE=-1
MONITR=0
NUMHDR=1
USERID_PATH=\WAMITv6
IGENMDS=21
PANEL_SIZE=1.
INUMOPT6=1
IFIELD_ARRAYS=1
test23.pot:
TEST23.POT -- 8 wavemaker segments in wall x=0
4. fluid depth
0
-1
IRAD, IDIFF
2
NPER (array PER follows)
2. 4.
1
NBETA (array BETA follows)
0.0
1
NBODY
test23.gdf
0. 0. 0. 0.
XBODY
0 0 0 0 0 0
IMODE(1-6)
8
NEWMDS
test23.gdf:
TEST23.GDF wavemaker, 8 segments in wall x=0 2<y<10m, ISY=1
1. 9.80665 ULEN GRAV
1 1
ISX ISY
8 0
NPATCH IGDEF
0.0000
2.000000
-2.00000
0.0000
3.00000
-2.00000
0.0000
3.00000
0.000000
0.0000
2.000000
0.000000 (end of Patch 1)
0.0000
3.000000
-2.00000
0.0000
4.00000
-2.00000
0.0000
4.00000
0.000000
0.0000
3.000000
0.000000 (end of Patch 2)
0.0000
4.000000
-2.00000
0.0000
5.00000
-2.00000
A81
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
5.00000
4.000000
5.000000
6.00000
6.00000
5.000000
6.000000
7.00000
7.00000
6.000000
7.000000
8.00000
8.00000
7.000000
8.000000
9.00000
9.00000
8.000000
9.000000
10.00000
10.00000
9.000000
0.000000
0.000000
-2.00000
-2.00000
0.000000
0.000000
-2.00000
-2.00000
0.000000
0.000000
-2.00000
-2.00000
0.000000
0.000000
-2.00000
-2.00000
0.000000
0.000000
-2.00000
-2.00000
0.000000
0.000000
(end of Patch 3)
(end of Patch 4)
(end of Patch 5)
(end of Patch 6)
(end of Patch 7)
(end of Patch 8)
A82
A83
TEST24.GDF:
TEST24 segmented vessel with 7 segments
1. 9.80665 ULEN GRAV
1 1
ISX ISY
4 -32
NPATCH IGDEF
3
NLINES
7
Nsegments
1.
Radius
2. 6. 8. 10. xseg
TEST24.SPL:
TEST24 elastic barge
TEST24 segmented vessel with 7 segments
4 2
NU NV
mid cylinder
4 4
next cylinder
4 2
outer cylinder
4 4
spheroidal end
A84
TEST24.POT:
TEST24 segmented vessel with 7 segments and 4 hinge modes
-1.
0
0
IRAD, IDIFF
2
NPER (array PER follows)
3. 5.
1
NBETA (array BETA follows)
180.
1
NBODY
test24.gdf
0. 0. 0. 0.
XBODY
1 0 1 0 1 0
IMODE(1-6)
4
NEWMDS
XHINGE.DAT file for hinge coordinates of hinged body used in TEST24
1 5
ISX, NSEG
2. 6. 10. XHINGE(0:NSEG)
TEST24.FRC:
TEST24 segmented vessel with 7
1 1 1 1 0 0 0 0 0
1000.
0. 0. 0.
1
29321.5
0.
0.
0.
0.
29321.5
0.
0.
0.
0. 29321.5 0.
0.
0.
0. 1.5E4
0.
0.
0.
0.
0.
0.
0.
0.
0.
0. 12000.
0.
0.
0.
0.
0.
0.
0. 12000.
0.
0.
0.
0.
0.
0
0
0
0
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0.
0. 12000.
0. 12000.
0.
0.
0.
0.
0.
0.
0.
7.33E5
0.
0. 24000.
0. 72000.
0. 7.33E5
0.
0.
0.
0.
0.
0. 10000.
0. 2000.
0.
24000.
0.
0. 6000.
0. 2000.
0.
0. 2000.
0. 8000.
0.
72000.
0.
0. 2000.
0. 8000.
A85
TEST24.cfg:
ipltdat=5
ILOWHI=1
IALTPOT=2
IALTFRC=2
IRR=0
ILOG=0
ISOLVE=1
IQUADI=4
IQUADO=3
KSPLIN=3
IPERIO=1
MONITR=0
NUMHDR=1
IGENMDS=22
USERID_PATH=\WAMITv6
A86
Appendix B
DESCRIPTION OF
SECOND-ORDER TEST RUNS
WAMIT V6S includes additional 8 standard test runs illustrating the evaluation of various
second-order quantities. It includes 4 low-order and 4 higher-order applications.
The following table gives relevant features of each test run. In this table the rst
column tst denotes the name of the test run. All of the corresponding input/output les
(except FNAMES.WAM ) are assigned the lenames TESTtst. (For example, the input
POT le for the rst test run listed below is TEST101.POT.) tst contains three digits
starting with 1 for the second-order applications, the second digit is 0 for low-order test
runs (ILOWHI=0), and 1 for higher-order test runs (ILOWHI=1). Test runs which are
identical except for dierent input options are assigned the same number with a letter
sux. Thus TEST103(TEST113) and TEST103a(TEST113a) describe the same problem
using dierent options to evaluate the second-order solution.
tst
geometry
ILOWHI other parameters/comments
101 Bottom mounted cylinder
0
102 Truncated cylinder
0
103 Cylinder & spheroid
0
Free surface forcing ignored
103a Cylinder & spheroid
0
111 Bottom mounted cylinder
1
112 Truncated cylinder
1
113 Cylinder & spheroid
1
Free surface forcing ignored
113a Cylinder & spheroid
1
B1
B2
TEST101.GDF:
TEST101 Bottom mounted cylinder R=1 T=1 Cosine spacing
1.000000
9.806650
1
1
100
0.9876884
0.1564345
0.0000000E+00
1.000000
0.0000000E+00 0.0000000E+00
1.000000
0.0000000E+00 -2.7999997E-02
0.9876884
0.1564345
-2.7999997E-02
TEST101.POT:
TEST101.POT Bottom mounted Cylinder R=1, T=1, igdef=-1
1.
-1
1
IRAD, IDIFF
2
NPER (array PER follows)
0.4
0.8
2
NBETA (array BETA follows)
0. 90.
1
NBODY
test101.gdf
0. 0. 0. 0.
XBODY
1 1 1 1 1 1
IMODE(1-6
0
NEWMDS
TEST101.FRC:
TEST101.FRC Bottom mounted Cylinder R=1, T=1, igdef=-1
0
0
1
0
3
2
2
2
2
1
1
1
1
1
1
0.000000
VCG
1.000000
.0000000
.0000000
.0000000
1.000000
.0000000
.0000000
.0000000
1.000000
XPRDCT
0
NBETAH
1
1.044325
8.2290111E-02 0.0000000E+00
(IOPTN 1-16)
TEST101.PT2:
TEST101.PT2 -- PT2
-1 1
(diffraction for second-order force for all modes)
1 1 1 1 1 1
1 1
2
1 1 1
1 1
2 2 1
B3
1
2
1
1
1
1
1
1 1
1
2 1
2
TEST101.FDF:
TEST101.FDF
3.0000E+00
-1.
1.
0
TEST101.CFG:
IPLTDAT=1
ILOWGDF=1
ILOWHI=0
ISOR=1
IALTPOT=2
IRR=0
ISOLVE=2
KSPLIN=3
IQUADO=3
IQUADI=4
IPERIO=3
MONITR=0
NUMHDR=1
I2ND=1
ILOG=1
NOOUT= 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1
USERID_PATH=\WAMITv6 (directory for *.exe, *.dll, and userid.wam)
B4
B5
TEST102.GDF:
TEST102.GDF -- Cylinder R=8.435 T=35 meters, Cosine spacing at corner and waterline
8.435000
9.806650
1
1
320
8.272924
1.645587
0.0000000E+00
8.435000
0.0000000E+00 0.0000000E+00
8.435000
0.0000000E+00 -0.1307399
8.272924
1.645587
-0.1307399
TEST102.POT:
TEST102 (Cylinder R=8.435 T=35 in infinite depth water)
-1. 0. 0. 0. 0.
-1 1
1 1 1 1 1 1
2
7.8934 5.1207
2
0. 90.
TEST102.FRC:
TEST102 -- Linear, mean and second-order exciting forces
0
0
1
0
0
0
0
2
2
1
1
1
.0000000
1.000000
.0000000
.0000000
.0000000
1.000000
.0000000
.0000000
.0000000
1.000000
0
0
TEST102.PT2:
TEST102 (All frequency and wave heading combinations)
-1 1
IRAD2=-1 IDIF2=1 (Exciting force only)
1 1 1 1 1 1
2 2
TEST102.FDF:
TEST102 Single cylinder R=8.435, Inner radius= 3*R, partition radius= 7*R
25.30500
-1
1.0
2
16.87
4
8
TEST102.CFG:
IPLTDAT=1
B6
MAXSCR=1024
ISOR=1
IQUAD=0
ILOG=1
IDIAG=0
IRR=0
NUMHDR=1
IALTPOT = 1
! Alternative Form 1 POT/CFG
IALTFRC = 1
! Alternative Form 1 FRC
I2ND=1
USERID_PATH=\WAMITv6 (directory for *.exe, *.dll, and userid.wam)
B7
B8
TEST103.GDF:
TEST103.GDF -- GGDF file for use with IALTPOT=1 (Cylinder + Spheroid)
-1. 9.80665
2
test103c.gdf
1.25 0.0 0.0 0.0
0
0
0
0
0
0
fixed
test103s.gdf
-0.5 0.0 0.0 90.0
1
1
1
1
1
1
all modes are free
TEST103C.GDF: (first 8 lines only)
TEST103 & TEST103A
Cylinder R=1 T=2 Double cosines side, cosine bottom
1.000000
9.806650
1
1
336
0.0000000E+00 0.0000000E+00 -2.000000
0.0000000E+00 0.0000000E+00 -2.000000
0.1294095
1.7037088E-02 -2.000000
0.1305262
0.0000000E+00 -2.000000
TEST103S.GDF: (first 8 lines only)
TEST103 TEST103A Spheriod L=2 R1=R2=0.25
1.000000
9.806650
1
1
128
1.990369
2.4504285E-02 -1.0927847E-08
2.000000
0.0000000E+00 -1.0927847E-08
1.961571
0.0000000E+00 -4.8772592E-02
1.952125
2.4033442E-02 -4.8772592E-02
TEST103.POT:
TEST103.POT -- CYLINDER + SPHEROID, ILOWHI=0
-1.0 0.0 0.0 0.0 0.0
0
1
Dummy (check TEST103.gdf)
0 0 0 0 0 0
Dummy
2
8.971402 2.006403
1
0.0
TEST103.FRC:
TEST103.FRC -- Cylinder SPHEROID , ILOWHI=0
1 1 1 1 0 1 1 1 1 1 1 1 1 1 1
B9
1.0
test103C.frc
test103S.frc
0
1
0.0001 0.0001 0.
TEST103C.FRC:
TEST 103 Cylinder
0 0 0 0 0 0 0 0 0
0.000000
1.000000
.0000000
.0000000
1.000000
.0000000
.0000000
0
0
.0000000
.0000000
1.000000
TEST103S.FRC:
TEST103S Floating Spheroid
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1.
rho (water density)
0. 0. 0. XCG (center of grativity w.r.t. body coordinates)
1
IMASS (radii of gyration are assumed 1)
0.257621 0.
0.
0.
0.
0.
0.
0.257621 0.
0.
0.
0.
0.
0.
0.257621 0.
0.
0.
0.
0.
0.
0.257621 0.
0.
0.
0.
0.
0.
0.257621 0.
0.
0.
0.
0.
0.
0.257621
0
IDAMP (if damped change it to 1 and add 6 x 6 damping forces)
0
ISITF (if restoring force applied change it to 1 and add 6 x 6 elements)
0
0
TEST103.PT2:
TEST103 -- PT2
-1 1
(diffraction for second-order force for all modes)
1 1 1 1 1 1
-1 1
(diffraction for second-order force for all modes)
1 1 1 1 1 1
0 2
(all difference frequency pairs)
TEST103.FDF:
TEST103 -- Free suface forcing not included (NPF,NTCL,NAL=0)
B10
5.
0
0
TEST103.CFG
IPLTDAT=1
MAXSCR=2000
ISOR=1
IQUAD=0
ILOG=1
IDIAG=0
IRR=0
NUMHDR=1
NOOUT=0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 0
IALTPOT = 1
! GDF names in GGDF file
IALTFRC = 3
! Alternative Form 3 FRC for GFRC TEST33.FRC
IALTFRCN= 1 2 ! form 1 TEST103c.FRC and Form 2 spheriod TEST103s.FRC
I2ND=1
USERID_PATH=\WAMITv6 (directory for *.exe, *.dll, and userid.wam)
B11
B12
TEST103A.GDF:
TEST103A.GDF -- GGDF file for use with IALTPOT=0 (Cylinder + Spheroid)
-1. 9.80665
2
test103c.gdf
1.25 0.0 0.0 0.0
0
0
0
0
0
0
fixed
test103s.gdf
-0.5 0.0 0.0 90.0
1
1
1
1
1
1
all modes are free
TEST103C.GDF: (first 8 lines only)
TEST103 & TEST103A
Cylinder R=1 T=2 Double cosines side, cosine bottom
1.000000
9.806650
1
1
336
0.0000000E+00 0.0000000E+00 -2.000000
0.0000000E+00 0.0000000E+00 -2.000000
0.1294095
1.7037088E-02 -2.000000
0.1305262
0.0000000E+00 -2.000000
TEST103S.GDF: (first 8 lines only)
TEST103 TEST103A Spheriod L=2 R1=R2=0.25
1.000000
9.806650
1
1
128
1.990369
2.4504285E-02 -1.0927847E-08
2.000000
0.0000000E+00 -1.0927847E-08
1.961571
0.0000000E+00 -4.8772592E-02
1.952125
2.4033442E-02 -4.8772592E-02
TEST103A.POT:
TEST103A.POT -- CYLINDER + SPHEROID, ILOWHI=0
-1.0 0.0 0.0 0.0 0.0
0
1
Dummy (check TEST103.gdf)
0 0 0 0 0 0
Dummy
2
8.971402 2.006403
1
0.0
TEST103A.FRC:
TEST103A.FRC -- Cylinder SPHEROID , ILOWHI=0
1 1 1 1 0 1 1 1 1 1 0 1 0 1 1 0
B13
1.0
test103C.frc
test103S.frc
0
1
0.0001 0.0001 0.
TEST103C.FRC:
TEST 103 Cylinder
0 0 0 0 0 0 0 0 0
0.000000
1.000000
.0000000
.0000000
1.000000
.0000000
.0000000
0
0
.0000000
.0000000
1.000000
TEST103S.FRC:
TEST103S Floating Spheroid
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1.
rho (water density)
0. 0. 0. XCG (center of grativity w.r.t. body coordinates)
1
IMASS (radii of gyration are assumed 1)
0.257621 0.
0.
0.
0.
0.
0.
0.257621 0.
0.
0.
0.
0.
0.
0.257621 0.
0.
0.
0.
0.
0.
0.257621 0.
0.
0.
0.
0.
0.
0.257621 0.
0.
0.
0.
0.
0.
0.257621
0
IDAMP (if damped change it to 1 and add 6 x 6 damping forces)
0
ISITF (if restoring force applied change it to 1 and add 6 x 6 elements)
0
0
TEST103A.PT2:
TEST103 -- PT2
-1 1
(diffraction for second-order force for all modes)
1 1 1 1 1 1
-1 1
(diffraction for second-order force for all modes)
1 1 1 1 1 1
0 2
(all difference frequency pairs)
TEST103A.FDF:
TEST103A AND 113A
B14
5.
-1
0
PARTR
1.5
AUTO-DISCRETIZATION, SCALE=1.5
NAL
TEST103A.CFG
IPLTDAT=1
MAXSCR=2000
ISOR=1
IQUAD=0
ILOG=1
IDIAG=0
IRR=0
NUMHDR=1
NOOUT=0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 0
IALTPOT = 1
! GDF names in GGDF file
IALTFRC = 3
! Alternative Form 3 FRC for GFRC TEST33.FRC
IALTFRCN= 1 2 ! form 1 TEST103c.FRC and Form 2 spheriod TEST103s.FRC
I2ND=1
USERID_PATH=\WAMITv6 (directory for *.exe, *.dll, and userid.wam)
B15
B16
TEST111.GDF:
TEST111 Bottom mounted cylinder R=1 T=1 -- analytic geometry (npatch=1)
1. 9.80665 ULEN GRAV
1 1
ISX ISY
1 -1
NPATCH IGDEF
2
1.0 1.
RADIUS, DRAFT
0
Uniform mapping
TEST111.SPL:
TEST111.spl - cylinder R=1 T=1. -- analytic geometry (npatch=1)
2 2
NU NV (Patch 1, side
u azimuthal v vertical)
TEST111.POT
TEST111.POT Cylinder R=1, T=1, igdef=-1
1.
-1
1
IRAD, IDIFF
2
NPER (array PER follows)
0.4 0.8
2
NBETA (array BETA follows)
0. 90.
1
NBODY
test111.gdf
0. 0. 0 0.
XBODY
1 0 0 0 0 0
IMODE(1-6)
0
NEWMDS
TEST111.FRC:
TEST111.FRC Bottom mounted Cylinder R=1, T=1.0, igdef=-1
0
0
1
0
3
1
1
2
2
1
1
1
1
1
1
0.000000
VCG
1.000000
.0000000
.0000000
.0000000
1.000000
.0000000
.0000000
.0000000
1.000000
XPRDCT
0
NBETAH
1
NFIELD
1.044325
8.2290111E-02 0.0000000E+00 XFILED
IOPTN(1-16)
TEST111.PT2:
TEST111.PT2 -- PT2
-1 1
(diffraction for second-order force for all modes)
1 1 1 1 1 1
1 1
B17
2
1
1
2
1
2
1
1
1
1
1 1
1
2 1
1
1 1
1
2 1
2
TEST111.FDF:
TEST111.FDF
3.0000E+00
-1.
1.
0
TEST111.CFG:
IPLTDAT=4
ILOWGDF=4
ILOWHI=1
IALTPOT=2
IRR=0
ISOLVE=1
KSPLIN=3
IQUADO=3
IQUADI=4
IPERIO=3
MONITR=0
NUMHDR=1
I2ND=1
IPOTEN=1
ILOG=1
NOOUT= 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1
USERID_PATH=\WAMITv6 (directory for *.exe, *.dll, and userid.wam)
B18
B19
TEST112.GDF:
TEST112.GDF -- Cylinder R=8.435m D=35m, nonuniform mapping 1m from corner
8.435
9.80665
1
1
4 -101
1
8.435 35. 1. RADIUS, DRAFT, WIDTH OF CORNER PATCHES
TEST112.SPL:
TEST112.SPL -- 2 azimuthal, 6
2 6
Side above corner patch
2 1
Side corner patch
2 2
Bottom inside patch
2 1
Bottom corner patch
TEST112.POT:
TEST112.POT infinite depth, diffraction only
-1 0. 0. 0. 0.
-1 1
1 1 1 1 1 1
2
7.8934 5.1207
2
0. 90.
TEST112.FRC:
TEST112.FRC -- Linear, mean and second-order exciting forces
0
0
1
0
0
0
0
2
2
1
1
1
0
.0000000
1.000000
.0000000
.0000000
.0000000
1.000000
.0000000
.0000000
.0000000
1.000000
0
0
TEST112.PT2:
TEST112 (All frequency and wave heading combinations)
-1 1
IRAD2=-1 IDIF2=1 (Exciting force only)
1 1 1 1 1 1
2 2
B20
TEST112.FDF
TEST112 Single cylinder R=8.435, Inner radius= 3*R, partition radius= 7*R
25.30500
-1
1.0
2
16.87
4
8
TEST112.CFG:
MAXSCR=1000
IPLTDAT=4
IQUAD=0
ILOG=1
IDIAG=0
IRR=0
ISOR=0
NUMHDR=1
IALTPOT = 1
! Alternative Form 1 POT/CFG
IALTFRC = 1
! Alternative Form 1 FRC
I2ND=1
ILOWHI=1
KSPLIN=3
IQUADO=3
IQUADI=4
ISOLVE=1
USERID_PATH=\WAMITv6 (directory for *.exe, *.dll, and userid.wam)
B21
B22
TEST113C.GDF:
TEST113C cylinder R=1 T=2 -- analytic geometry (npatch=4)
1. 9.80665 ULEN GRAV
1 1
ISX ISY
4 -13
NPATCH IGDEF
1
NLINES
1.0 2. 0.1
RADIUS, DRAFT
TEST113S.GDF:
TEST113S spheroid a=2, b=c=0.25 -- igdef=-4
1. 9.80665 ULEN GRAV
1 1
ISX ISY
1 -4
NPATCH IGDEF
1
2.0 0.25 0.25
A, B, C
TEST113.POT:
TEST113.POT -- Cylinder + spheroid, ILOWHI=1
-1.
0
1
IRAD, IDIFF
2
NPER (array PER follows)
8.971402 2.006403
1
NBETA (array BETA follows)
0.
2
NBODY
test113c.gdf
1.25 0.0 0.0 0.0
XBODY
0 0 0 0 0 0
IMODE(1-6)
0
NEWMDS
test113s.gdf
-0.5 0.0 0.0 90.0
XBODY
1 1 1 1 1 1
IMODE(1-6)
0
NEWMDS
TEST113.FRC:
TEST113.FRC -- Cylinder SPHEROID
1 1 1 1 0 1 1 1 1 1 1
1.0
test113C.frc
test113S.frc
0
1
B23
0.0001 0.0001 0.
TEST113C.FRC:
TESTS 103 and
0 0 0 0 0
0.000000
1.000000
.0000000
.0000000
0
0
.0000000
.0000000
1.000000
TEST113S.FRC:
TESTS 103 and 113 Floating Spheroid
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1.
rho (water density)
0. 0. 0. XCG (center of grativity w.r.t. body coordinates)
1
IMASS (radii of gyration are assumed 1)
0.257621 0.
0.
0.
0.
0.
0.
0.257621 0.
0.
0.
0.
0.
0.
0.257621 0.
0.
0.
0.
0.
0.
0.257621 0.
0.
0.
0.
0.
0.
0.257621 0.
0.
0.
0.
0.
0.
0.257621
0
IDAMP (if damped change it to 1 and add 6 x 6 damping forces)
0
ISITF (if restoring force applied change it to 1 and add 6 x 6 elements)
0
0
TEST113.PT2:
TEST103 AND TEST 113 -- PT2
-1 1
(diffraction for second-order force for all modes)
1 1 1 1 1 1
-1 1
(diffraction for second-order force for all modes)
1 1 1 1 1 1
0 2
(all difference frequency pairs)
TEST113.FDF:
TEST103 AND 113 -- Free suface forcing not included (NPF,NTCL,NAL=0)
5.
PARTR (irrelavant because no foricing considered)
0
0
NPF, NTCL
0
NAL
TEST113.CFG:
B24
ILOWGDF=4
IPLTDAT=4
MAXSCR=1000
ILOWHI=1
IALTPOT=2
IRR=0
ISOLVE=2
KSPLIN=3
IQUADO=3
IQUADI=4
IPERIO=1
NUMHDR=1
NOOUT= 0 1 1 1 0 1 1 1 1 1 1
1 0 1 1 0
IALTFRC = 3
! Alternative Form 3 FRC
IALTFRCN= 1 2
I2ND=1
ILOG=1
USERID_PATH=\WAMITv6 (directory for *.exe, *.dll, and userid.wam)
B25
B26
TEST113C.GDF:
TEST113C cylinder R=1 T=2 -- analytic geometry (npatch=4)
1. 9.80665 ULEN GRAV
1 1
ISX ISY
4 -13
NPATCH IGDEF
1
NLINES
1.0 2. 0.1
RADIUS, DRAFT, WIDTH OF CONNER PATCHES
TEST113S.GDF:
TEST113S spheroid a=2, b=c=0.25 -- igdef=-4
1. 9.80665 ULEN GRAV
1 1
ISX ISY
1 -4
NPATCH IGDEF
1
2.0 0.25 0.25
A, B, C
TEST113A.POT:
TEST113A.POT -- Cylinder + spheroid, ILOWHI=1
-1.
0
1
IRAD, IDIFF
2
NPER (array PER follows)
8.971402 2.006403
1
NBETA (array BETA follows)
0.
2
NBODY
test113c.gdf
1.25 0.0 0.0 0.0
XBODY
0 0 0 0 0 0
IMODE(1-6)
0
NEWMDS
test113s.gdf
-0.5 0.0 0.0 90.0
XBODY
1 1 1 1 1 1
IMODE(1-6)
0
NEWMDS
TEST113A.FRC:
TEST113A.FRC -- Cylinder SPHEROID
1 1 1 1 0 1 1 1 1 1 0 1
1.0
test113C.frc
test113S.frc
0
1
B27
0.0001 0.0001 0.
TEST113C.FRC:
TESTS 103 and
0 0 0 0 0
0.000000
1.000000
.0000000
.0000000
0
0
.0000000
.0000000
1.000000
TEST113S.FRC:
TESTS 103 and 113 Floating Spheroid
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1.
rho (water density)
0. 0. 0. XCG (center of grativity w.r.t. body coordinates)
1
IMASS (radii of gyration are assumed 1)
0.257621 0.
0.
0.
0.
0.
0.
0.257621 0.
0.
0.
0.
0.
0.
0.257621 0.
0.
0.
0.
0.
0.
0.257621 0.
0.
0.
0.
0.
0.
0.257621 0.
0.
0.
0.
0.
0.
0.257621
0
IDAMP (if damped change it to 1 and add 6 x 6 damping forces)
0
ISITF (if restoring force applied change it to 1 and add 6 x 6 elements)
0
0
TEST113A.PT2:
TEST103/TEST103A AND TEST113/TEST113A -- PT2
-1 1
(diffraction for second-order force for all modes)
1 1 1 1 1 1
-1 1
(diffraction for second-order force for all modes)
1 1 1 1 1 1
0 2
(all difference frequency pairs)
TEST113A.FDF:
TEST103A AND 113A -- Free suface forcing not included (NPF,NTCL,NAL=0)
5.
PARTR
-1
1
NPF, NTCL
0
NAL
TEST113.CFG:
B28
ILOWGDF=4
IPLTDAT=4
MAXSCR=1000
ILOWHI=1
IALTPOT=2
IRR=0
ISOLVE=2
KSPLIN=3
IQUADO=3
IQUADI=4
IPERIO=1
NUMHDR=1
NOOUT= 0 1 1 1 0 1 1 1 1 1 1
1 0 1 1 0
IALTFRC = 3
! Alternative Form 3 FRC
IALTFRCN= 1 2
I2ND=1
ILOG=1
USERID_PATH=\WAMITv6 (directory for *.exe, *.dll, and userid.wam)
B29
Contents
Using the WAMIT-RGKernel Interface ..................................................................................... 1
1. Summary.................................................................................................................................... 1
2. Supported features and options ............................................................................................. 2
3. Required files, versions and file locations............................................................................. 3
4. MultiSurf modeling considerations ....................................................................................... 4
4.1 TrimSurfs are excluded ................................................................................................................... 4
4.4 Surface normal orientations............................................................................................................. 5
4.5 Base plane and waterline ................................................................................................................. 6
4.6 Mirror symmetry ............................................................................................................................. 7
4.7 Rotational symmetry........................................................................................................................ 7
4.8 Fast vs. Accurate evaluation..................................................................................................... 8
4.9 Divisions and Subdivisions.............................................................................................................. 9
4.10 Irregular frequency removal .......................................................................................................... 9
4.11 Coordinate singularities ................................................................................................................. 9
4.12 Breaklines in surfaces.................................................................................................................. 10
4.13 Cosine spacing ......................................................................................................................... 10
4.14 Parameters ................................................................................................................................... 11
1. Summary
A joint development effort between AeroHydro, Inc. and WAMIT, Inc. has forged an
intimate connection between MultiSurf and WAMIT. As a result, model geometry
developed in MultiSurfs relational geometry (RG) framework can be directly accessed
by WAMIT for all setup and analysis purposes within WAMITs higher-order solution
method. This feature is available in WAMIT versions 6.1 and higher.
RGKernel is the C library of mathematical, geometric and data storage functions that
supports MultiSurf, SurfaceWorks and other RG applications. It is compiled as a DLL. In
this project a second DLL was developed to provide the interface between WAMITs
Fortran code and RGKernels C procedures.
C-1
C-2
feature greatly simplifies modeling structures that have rotational symmetry; only
1/NCOPIES of the total model needs to be explicitly constructed.
Units. WAMIT is flexible with regard to units, but some of its inputs are quantities with
units of length, and the global length unit is implicit in the GRAV parameter. MultiSurf
supports meters, centimeters, millimeters, feet and inches as length units, and this choice
is specified in the model file. The interface code compares the model and global units,
and transparently performs any needed units conversions.
Parameters. The GDF file permits overriding floating-point values in the definition of
any object in the model. This allows a single model (parametrically constructed) to be
analyzed in a wide variety of configurations without opening the model and making
any changes in MultiSurf.
Variables and formulas. Use of numeric variables and formulas in RG models is an
advanced feature supported by MultiSurf versions 4.8 and higher. This represents a
further powerful capability for constructing parametric model families. A variable can
serve as a parameter in the GDF file.
Irregular frequency removal. Interior free-surface patches can be constructed in
MultiSurf, and included in the data available to WAMIT for use with its IRR = 1 option.
C-3
C-4
By Name is often the best way to select an ObjectList or find it in the Selection Set view
Availables list, <F6>. (In MultiSurf 6, find it in the Entities Manager, under Entity Lists.)
This list must contain each wetted surface, and only the wetted surfaces, in your model
(or in the half, quarter or sector you are modeling explicitly when using symmetry
image options). If you leave a wetted surface out of the list, include a surface twice, or
include a construction surface that should not be included in the hydrodynamic
solution, you will very likely find volume discrepancies in WAMIT. The interface does
not currently produce a warning in these situations.
You can have two or more ObjectLists in your model. They (like all other objects) will be
distinguished by their unique names. By changing the ObjectList name specified in the
GDF file, you can conveniently switch from one ObjectList to another without touching
the model in MultiSurf. For example, you may have two sets of wetted surfaces
representing two different drafts. Some surfaces can be common between these lists
(e.g., surfaces that are fully wetted at the lightest draft), or the lists might be completely
disjoint. (Note that in this scenario, you will need to also change XBODY when the draft
changes.)
4.3 Order of patches
The ordering of patches for the WAMIT solution will often be immaterial, but in some
situations it matters. For example, if you wish to use the NPATCH parameter in the GDF
file to exclude one or more patches (such as a free surface patch, in order to compare
results with and without irregular frequency removal), then you have to be sure that the
patches to be excluded are the last in patch order.
There are two rules governing the order of patches, corresponding to the two
alternatives for the ObjectList:
(1) If you use an explicit ObjectList, the patch order will be the order in which the
surfaces are listed in the ObjectList.
(2) If you use the default identifier * for the ObjectList, the patch order will be the
order of surfaces in the MS2 file. You can find out this order by searching for Surf
in Edit/ Model File or Notepad. In MultiSurf another alternative is to turn on only
the Surfaces filter; set Select/ Visible to on; View/ Selection Set; and read the order
in the Availables list box.
4.4 Surface normal orientations
For a proper solution of the potential boundary-value problem, WAMIT requires that
the positive normal to each surface be directed into the body. A patch closing the top of
the body for irregular frequency removal must have its normal directed downward
(again, into the body). The positive normal is calculated as the cross product x/u x
x/v, normalized to unit length.
If normals are backwards on some surfaces, WAMITs calculation of volumes will very
likely show discrepancies between the X, Y and Z directions. If all normals are reversed,
C-5
the volumes will agree but will be negative. And the hydrodynamic solution probably
wont make much sense.
When making a surface in MultiSurf, the normal orientation is determined by:
(1) the orientations of supporting objects;
(2) the order in which the supports are used, and
(3) the value of the orientation flag.
The orientation flag is handy, because if a surface comes out with its normal opposite to
what you want, you dont have to rebuild the surface another way, you just have to flip
its orientation switch.
In MultiSurf, we visualize the normal orientation by drawing an arrow at the parametric
center of the surface (u=0.5, v=0.5), in the positive normal direction. This arrow is drawn
whenever a surface is selected. To see normal arrows simultaneously on all wetted
surfaces, just select all the wetted surfaces; for example, select the ObjectList, then Select
Expand ObjectLists/ First Generation. (The orientation of non-wetted construction
surfaces doesnt matter, as these are not included in the surface definitions accessed by
WAMIT.)
It is generally easier to see normals that point out of the geometry than those pointing
inward. For this reason, our convention when making panel models for low-order
WAMIT, and B-spline surface models for HIPAN and high-order WAMIT has always
been to require outward normals on all wetted surfaces, and then to reverse all normals
automatically in the conversion utility.
In the WAMIT-RGKernel interface, we have made the global reversal of normals
optional. The choice is signaled (on a per-body basis) by the inward-normal flag in the
GDF file (see below). This results in two options for the MultiSurf user who is building a
model for the WAMIT-RGKernel interface:
(1) Build the model with all unit normals pointing inward (WAMITs convention), and
set the inward-normal flag to 1; or
(2) Build the model with all unit normals pointing outward, and set the inward-normal
flag to 0.
We prefer option (2), because the outward normals are easier to see. In either case, the
orientation flags of the individual surfaces can be freely used in achieving the desired
consistent orientations.
4.5 Base plane and waterline
In MultiSurf, there are no restrictions on the location and orientation of geometry, but
there are some sensible choices that will make the process easier.
Vertical position: Most models for WAMIT analysis are built in one of three vertical
positions. Either
C-6
(1) The model is built above a base plane, so the lowest Z coordinates are zero, and the
design waterline is at some positive Z (call it Zwl > 0); or
(2) The model is built with Z=0 as the design waterline, so the lowest parts of the wetted
surface are at a negative Z (call it Zdraft < 0); or
(3) The model is built with the point representing its center of gravity (C.G.) at the
origin.
Any of these approaches works fine. In the first case, you have to specify XBODY(3) = Zwl to correctly position the body in WAMIT; in the second case, XBODY(3) will be 0; in
the third case, XBODY(3) will be the height of the C.G. above or below the waterline.
The WAMIT-RGKernel interface tests the wetted surfaces (i.e., the surfaces in the
named ObjectList, or when * is used for the ObjectList, the visible surfaces) during its
initialization, and reports (in RGKLOG.TXT) any case where part of a wetted surface
extends above the global waterplane. This usually indicates an error, either in the
surfaces specified as wetted, or in XBODY(3).
4.6 Mirror symmetry
If the body has one or two planes of complete mirror symmetry, it is very advantageous
to model only the independent half or quarter, and use mirror symmetry options to get
the rest.
The WAMIT-RGKernel interface checks the models symmetry flags against the ISX, ISY
flags specified in the GDF file, and issues a warning if there is any discrepancy.
Sometimes this can be harmless, but you should check your model out to be sure you
havent either left surfaces out, or covered some areas twice.
4.7 Rotational symmetry
An object has N-fold rotational symmetry with respect to a particular axis if it is
congruent to itself after a rotation of 360 / N degrees about that axis.
Many offshore structures have complete rotational symmetry about a vertical axis. For
example, three-leg TLPs may have 3-fold rotational symmetry; spars and buoys often
have rotational symmetry of some order; the Hibernia bottom-mounted platform is a 16pointed symmetric star. (Four-leg TLPs also usually have 4-fold rotational symmetry,
but this case is best treated as combined X and Y mirror symmetry, because of the large
efficiencies that result from exploiting mirror symmetry during the WAMIT solution.)
In MultiSurf, when the object being modeled has complete rotational symmetry, it is
very beneficial to take advantage of it, as only a fraction (1/N) of the total structure then
needs to be explicitly modeled. Rotational symmetry is a model-level property. Z-axis
rotational symmetry is only allowed when X- and Y-mirror symmetry flags are OFF. In
the Settings/Model dialog, check X-, Y- and Z-mirror symmetry OFF, Z-axis rotational
symmetry ON, and enter the number of copies, e.g. 3 for a 3-leg TLP. Then you can
model only the active or independent sector of the model (e.g. 1 leg and 2 half-
C-7
pontoons of a 3-leg TLP), and the copies will be present implicitly. The symmetry
images will be shown automatically in Render view, and can be toggled on and off in
Wireframe view with the <F5> key.
In the GDF file for a body using rotational symmetry about the Z-axis, ISX and ISY will
be 0, and NPATCH needs to include the symmetry images. For example, if a 3-leg TLP is
modeled with 11 wetted surfaces in the explicitly modeled 120-degree sector, NPATCH
will be 3 x 11 = 33.
Rotational symmetry about the X- or Y-axis is also supported but only one axis at a
time. (In WAMIT, this would have to be a completely submerged body, positioned
vertically with XBODY(3).)
Rotational symmetry that is incomplete precludes the use of model-level rotational
symmetry. In this situation, the entire geometry has to be built explicitly. But note, the
RotatSurf and CopySurf entity type often provide a highly efficient way to construct the
portions that are rotationally symmetric.
4.8 Fast vs. Accurate evaluation
RGKernel has two evaluation modes, denoted Fast and Accurate. In Accurate
evaluation, all curves and surfaces are evaluated recursively, using the actual math
functions that provide their definitions. In Fast evaluation, curves and surfaces are
evaluated approximately by interpolation in a stored tabulation of the curve or surface;
the fineness of this tabulation is controlled by the divisions x subdivisions products.
Fast vs. accurate evaluation is specified in the GDF file for each body (see below).
Accurate evaluation is typically slower -- in some cases, orders of magnitude slower; this
especially occurs when there are deep levels of dependency in the model, and/or the
model involves entities requiring iterative solutions, such as ProjSnakes and IntSnakes.
The divisions and subdivisions should have no effect on the accuracy under accurate
evaluation, since the table is not involved in the calculations.
Fast evaluation is usually much faster, and always more predictable in terms of
performance, but involves some compromise of accuracy due to interpolation errors.
Our general experience is that with the default 8x4 divisions x subdivisions, most curves
and surfaces evaluate to near single-precision accuracy under fast evaluation. The
accuracy should improve as the fourth power of the divisions, provided the divisions on
all supporting curves and surfaces are increased in constant proportion. The divisions
multiplier is a simple way to make this increase uniformly across the model.
The GDF file format provides for overriding the models divisions multiplier (see
below).
Pending further investigation of the accuracy of the integrated system, our current
recommendation is to use fast evaluation mode, with default divisions and a modest
C-8
C-9
C-10
4.14 Parameters
As described below, the GDF file can contain any number of parameter lines, which
override specified floating-point data values in the model. The format of a parameter
line is just:
object-name float-index value
For example, if AbsPoint draft_pt is a point whose Z coordinate (its third floating-point
data value) controls the draft of the model, the parameter line:
draft_pt 3 -35.5
sets the draft to 35.5.
Obviously, carelessly setting parameters can break the MultiSurf geometry. For
example, the leg radius and pontoon radius for a TLP might be separate parameters. As
long as the pontoon radius is smaller than the leg radius, the geometry works; but if
pontoon radius is set larger than the leg radius, a projection will fail, and the pontoon
surface cant be evaluated. This failure will be reported in RGKLOG.TXT. If you try the
same settings in MultiSurf, you can see what goes wrong.
Even when all surfaces evaluate geometrically, there can be modeling problems that
affect the WAMIT solution. When the pontoon radius is somewhat smaller than the leg
radius, its possible for the two pontoons arriving at the leg to intersect each other,
which may or may not cause a recognizable error condition in WAMIT. It is thus a good
idea to check all parameter combinations that you plan to use visually in MultiSurf,
before starting the WAMIT solutions.
C-11
Note re symmetry: The actual number of patches produced internally in WAMIT by this
GDF is:
(number of wetted surfaces) x (ISX+1) x (ISY+1) x N
The interface code does not need to count the X- and Y-symmetry images in indexing the
patches. All mirror-image and XBODY transformations, and mirror-image indexing, are
performed inside WAMIT. However, NPATCH does need to count implicit rotational
images produced by Z-axis rotational symmetry.
Note re Fortran READS: Fortran will read this GDF with (5+NLINES) READ
statements, each reading a complete record. This means any of the records can have
other text following the required entries, separated only by one or more spaces. This
additional data has no effect in Fortran, and is likewise being ignored by C.
Example GDF:
Tension-leg platform example
120. 32.2 ULEN, GRAV
1 1 ISX,ISY
16 2
NPATCH, IGDEF
3
NLINES
TLP4H.MS2
wetted_surfs
C-12
Explanation: The first line is an identifying message. ULEN is 120 and GRAV is 32.2.
This value of GRAV implies that the length unit for the global WAMIT model is feet. (If
this MS2 file uses meters for its units, conversion from meters to feet will be performed
in RGKINIT.) The model has mirror symmetry with respect to its X and Y planes (only
one quadrant is explicitly modeled). NPATCH is 16, the number of patches in one
quadrant of the body. IGDEF is 2 to signify geometry from an MS2 file. 3 for NLINES
indicates 3 lines to follow. The MS2 file is TLP4H.MS2. This model file must contain an
ObjectList named wetted_surfs which names the wetted surfaces. The last line specifies
Fast evaluation; a divisions multiplier of 2, overriding any divisions multiplier in the
model file; and the model is constructed with outward normals. There are no parameter
lines in this example.
C-13
2
1
2
2
1 bottom_surf
----------------------------------------------------Exiting RGKINIT at 25-Nov-2001 13:59:49, err = 0
=====================================================
There were 1 RGKEVAL calls.
Executing RGKDONE at 25-Nov-2001 13:59:49
7. Synopsis of operation
The user generally will not need to know more about the functioning of the RG2WAMIT
interface than has been explained in the operating instructions above. However, a little
more perspective may be useful in case error conditions are encountered or suspected.
The sequence of communication between the programs is as follows:
1. During WAMITs initialization process, it opens and writes to an ASCII text file
named RGKINIT.TXT. This file is located in the same directory as WAMIT.EXE. It is
created for each WAMIT run, whether or not the run uses IGDEF = 2 GDFs.
RGKINIT.TXT contains, for each body, XBODY(1:4) plus the first 4 lines of any GDF;
in addition it contains the remainder of the GDF file whenever IGDEF = 2.
2. WAMIT calls the procedure RGKINIT in RG2WAMIT.DLL. This initializes the
interface, by using information read from RGKINIT.TXT. All specified model files
are opened and prepared for evaluation calls.
3. WAMIT makes as many calls as it needs, to the procedure RGKEVAL in
RG2WAMIT.DLL. Each such call evaluates one 3-D point at a specified u,v
parameter location on one of the wetted surfaces furnished by the RG model.
4. When finished with its RGKEVAL calls, WAMIT makes one call to the procedure
RGKDONE in RG2WAMIT.DLL. This frees all memory that was allocated during the
RGKINIT procedure, storing data about the open models.
8. Error Conditions
There are a number of error conditions that can occur during the initialization phase of
RG2WAMIT operation. If one of these occurs, there will be a message at the end of
RGKLOG.TXT, and the WAMIT run will abort. The contents of RGKLOG.TXT will often
be helpful in identifying the problem.
(Certain errors are also trapped during the WAMIT equation setup phase, but this error
handling is primarily for debugging purposes; in our opinion such errors should not
occur once the initialization phase has completed successfully.)
C-14
C-15
C-16