WAMIT 7 Mnual
WAMIT 7 Mnual
WAMIT 7 Mnual
WAMIT
USER MANUAL
Version 7.1
This User Manual has been prepared for users of WAMIT Version 7.1.
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.
WAMIT, Inc.
822 Boylston St. Suite 202
Chestnut Hill, MA 02467-2504
USA
phone 617-739-4488 f ax 617-739-4499
www.wamit.com
01
02
TABLE OF CONTENTS
1. INTRODUCTION
1.1 WAMIT Version 7
1.2 Changes introduced in Version 7.0
1.3 Changes introduced in Version 7.1
2. GETTING STARTED
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
Hydrostatic data
Added-mass and damping coefficients
Exciting forces
Body motions in waves
Hydrodynamic pressure
Free-surface elevation
Velocity vector on the body and in the fluid domain
Mean drift force and moment
Zero and infinite wave periods
4. INPUT FILES
4.1 Summary of changes in Version 7 input files
4.2 The Potential Control File
4.3 The Force Control File (Alternative form 1)
4.4 The Force Control File (Alternative form 2)
4.5 Definition of fixed or free modes
4.6 Body pressure and fluid velocity at specified points
4.7 Configuration files CONFIG.WAM and .CFG
4.8 Filenames list FNAMES.WAM
4.9 File names
4.10 File format
4.11 Uniform arrays of field points
4.12 Using the optional file BREAK.WAM
4.13 Assigning RAOS in an external file
4.14 Evaluating FORCE outputs in POTEN (IFORCE=2)
03
5. OUTPUT FILES
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
Input Files
Using DEFMOD with the Low-Order Method
Using the DLL Subroutine NEWMODES
Hydrostatics
NBODY Analysis
Input parameters
Automatic free-surface discretization (IRR=2 and ILOWHI=0)
04
10.3
10.4
10.5
Internal tanks
Trimmed waterlines
Radiated waves from wavemakers in tank walls
Bodies and wavemakers with vertical walls
Bodies with pressure surfaces
Integrating pressure on part of bodies
15. THEORY
15.1
15.2
15.3
15.4
15.5
15.6
15.7
15.8
15.9
15.10
15.11
06
Chapter 1
INTRODUCTION
WAMIT Version 7 is a radiation/diffraction panel program developed for the linear analysis
of the interaction of surface waves with various types of floating and submerged structures.
WAMIT Version 6.4S, which is described in a separate User Manual [29]1 , performs the
extended analysis for the second-order solution in bichromatic and bidirectional waves,
including sum- and difference-frequency components.
Version 7 has been developed to exploit important features of contemporary computing
systems, especially in the PC environment. For systems with relatively large random-access
memory (RAM) and with multiple processors (CPUs, also known as cores), Version 7 is
developed to take advantage of these features with substantial reductions of the computing
time in many applications. Another important development in this context is the 64-bit
operating system, which is essential for data access with large RAM.
The remainder of this Chapter gives a general description of WAMIT Version 7, and
changes made from earlier versions. Users of earlier versions should refer particularly to
Sections 1.2 and 1.3 which list the changes introduced in Versions 7.0 and 7.1. A mark in
the left margin, as on this line, is used throughout this User Manual to call attention to
changes in Version 7.0.
WAMIT includes options to use either the traditional low-order panel method or a more
versatile higher-order method based on B-splines. The description and use of WAMIT for
both the low-order and higher-order methods of solution has been unified as much as
possible. Most of the input and output files are generic, applicable to both methods in
the same form. The principal exception is the Geometric Data File, which specifies 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 specific information which refers to either the low- or higher-order method separately.
In Chapter 2 a tutorial description is given to help users get started using WAMIT in
the PC/Windows environment. The examples described in Chapter 2 are for the simplest
context of a single body.
1 Throughout
this User Manual numbers in square brackets refer to the references listed after Chapter 15
11
Chapter 3 defines the various quantities which can be evaluated by WAMIT, and which
are contained in the output files.
Chapter 4 gives more detailed information regarding the generic input files, 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 files fnames.wam,
config.wam and break.wam, which are useful to specify input filenames and various parameters or options.
Users of Version 6 should note that some changes have been made which are intended
to make the input data more consistent. As a result, Version 7 may require modifications
of old input files, as explained in Section 4.1. Appendix B describes the utility v6v7inp,
which has been prepared to automate the conversion of old input files.
Chapter 5 describes the output files, which contain the principal data computed by the
program as well as log files, error files, and auxiliary files which provide useful information
regarding the geometry of the structures.
Chapter 6 describes topics which are specific to the low-order method. These include the
low-order Geometric Data File (GDF), which defines the coordinates of panel vertices, the
use of the source formulation to evaluate the fluid velocity and second-order mean pressure
on the body surface, and the analysis of bodies with thin elements such as damping plates
or strakes.
Chapter 7 describes topics which are specific 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 defining
the body geometry are described including the use of low-order panels, the use of B-splines
to provide a higher-order continuous definition, the use of explicit analytical formulae, and
the use of MultiSurf geometry files.
Chapters 8-12 describe several extended features in WAMIT. These include the analysis
of multiple interacting bodies (Chapter 8), the use of generalized modes of body motion
which can be used to describe structural deformations, motions of hinged bodies, etc.
(Chapter 9), and the use of a method to remove the effect of the irregular frequencies
(Chapter 10). Chapter 11 describes the procedure for evaluating the mean drift forces and
moments by integration of the momentum flux on a control surface which surrounds the
body in the fluid. Chapter 12 describes additional extensions to include the dynamics of
fluid in internal tanks, trimmed waterlines, radiated waves from wavemakers, interactions
of bodies and wavemakers with vertical walls, applications where part or all of the body
surface consists of free surfaces with oscillatory pressures, and a simplified method to
include or omit parts of the body surface when integrating the pressure force and moment.
Chapter 13 describes the utility F2T (Frequency-to-Time domain) which is used to
transform the linear WAMIT outputs to the corresponding time-domain impulse-response
functions.
Chapter 14 describes various computational topics including temporary data storage,
numbers of unknowns, and input parameters, to provide a qualitative basis for estimating
the requirements for RAM and hard disk storage, and for estimating run times. Instructions
12
are provided for using multiple processors and extended RAM to reduce run times. Section
14.7 outlines the procedure for modification and use of .dll files to describe the geometry
and generalized modes. Section 14.8 lists the reserved filenames used by the program.
Section 14.9 describes an alternative procedure to evaluate field pressures and velocities
when the number of field points is very large.
A brief outline for the theoretical basis of WAMIT is presented in Chapter 15. Reference
26 contains a more complete review of the pertinent theory.
A list of relevant references is included after the final chapter. Appendix A includes descriptions of the standard test runs. Appendix B documents the use of the utility v6v7inp
for converting Version 6 input files. Appendix C describes the use of the interface between
WAMIT and the MultiSurf kernel.
1.1
WAMIT Version 7
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 refer to the method for representation of the body surface and
solution.
The following quantities can be evaluated by WAMIT:
Hydrostatic coefficients
Added-mass and damping coefficients for all modes
Wave exciting forces and moments using the Haskind relations, or directly by pressureintegration from the solutions of the diffraction or scattering problems.
Motion amplitudes and phases for a freely-floating body
Forces restraining a body which is freely-floating in some but not all modes
Hydrodynamic pressure and fluid velocity on the body surface
Hydrodynamic pressure and fluid velocity in the fluid domain
Free-surface elevation
All components of the drift force and moment by momentum integration over a control
surface
Horizontal drift forces and mean yaw moment by momentum integration in the farfield
All components of the drift force and moment by local pressure integration over the
body surface
Drift force and moment in bidirectional waves
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 effort for the specified planes of symmetry and
modes.
Several techniques have been developed and implemented in WAMIT to improve the
accuracy and efficiency of the solution and exploit the capabilities of a wide range of
contemporary computing systems, ranging from personal computers to supercomputers.
Important features include the use of special algorithms for the evaluation of the freesurface 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 low-order
or higher-order panel methods. Version 7 has been developed to exploit the additional
features of multiple processors, 64-bit operating systems, and optimum use of available
RAM. In combination these result in a fast, versatile, and robust code capable of analyzing
a wide variety of offshore structures.
14
WAMIT consists of two subprograms, POTEN and FORCE, which normally are run
sequentially. POTEN solves for the radiation and diffraction velocity potentials (and source
strengths) on the body surface for the specified modes, frequencies and wave headings.
FORCE computes global quantities including the hydrodynamic coefficients, motions, and
first- and second-order forces. Velocities and pressures on the body surface are evaluated
by FORCE. Additional field data may also be evaluated by FORCE, including velocities
and pressures at specified positions in the fluid 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 file. Thus it is possible to make
multiple runs with FORCE, varying the requested parameters to be output, without rerunning POTEN in each instance. (The evaluation of drift forces using a control surface
is an exception where the computational burden in FORCE may be greater than that in
POTEN.)
Figure 1.1 shows the architecture of the two subprograms and the principal input/output
files. (For simplification this figure does not include additional input files required for the
case of multiple bodies, the optional spline control file which may be used to vary B-spline
parameters in the higher-order analysis, and output files which log errors, warnings, and
other auxiliary data.)
The analysis for the generalized modes also requires an additional input file or special
subroutine, to define the user-specified modes. Figure 9.1 in Chapter 9 shows the flow
chart of POTEN for this case.
15
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 four primary input files and
optional configuration files described in Chapters 4, 6, and 7 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. Additional input files which may be
required, depending on the options used, are listed in the Introduction to Chapter 4. Note that the P2F
file output from POTEN is given the same filename as the input control file, with the extension p2f. The
P2F file may be saved and reused for various applications of the FORCE module where the same velocity
potentials apply. The output file from FORCE is given the same filename as the force control file, with
the extension out. Asterisks () denote the extensions corresponding to each option in the numeric output
files, as listed in the table in Section 4.3.
16
1.2
New features which are included starting in Version 7.0 are outlined below.
For runs where NBODY>1 global planes of symmetry can be used if the body geometry is suitable (see Section 8.5).
When the higher-order method (ILOWHI=1) is used, patch data are output in the
wamitlog.txt file if NPER=0, to assist in checking the geometry.
Part or all of the boundary surface associated with the bodies can be defined as a free
surface with oscillatory pressure distribution (see Section 12.5).
The mean drift forces can be evaluated using control surfaces without evaluating the
same forces from pressure integration (see Chapter 11).
When the mean drift forces are evaluated from pressure integration, points where
the velocity on the body surface exceeds a specified limit can be output in the file
wamitlog.txt, using the parameter VMAXOPT9 in the CFG file (see Section 4.7).
The configuration parameter TOLGAPWL can be used to adjust the tolerance for gaps
between adjacent elements of the body waterline (see Section 4.7).
The configuration parameter RAMGBMAX can be used to take maximum advantage
of the computers available RAM for storage of temporary scratch files. Depending
on the input parameters of the run and the hardware, this can be used to achieve
substantial savings in run time. (See Sections 4.7 and 14.3).
Version 7.0 is compiled with the Intel Fortran Compiler Version 12.1, using special
directives to provide parallel processing on systems with multiple processors. This
can result in significant reductions of run times with a single processor, and dramatic
reductions with multiple processors. (See Section 14.6).
The separate Froude-Krylov and scattering components of the exciting force and moment can be evaluated by using the extended options OPTN(2:3)=2. (See Sections
4.3 and 5.3.)
Both configuration files config.wam and *.cfg can be used to input the configuration
parameters. (See Section 4.7).
New algorithms are used to evaluate the Rankine and log singularities in the low-order
method
The option IFORCE=2 can be used to run FORCE and POTEN in the same period
loop and obtain portions of the numeric output files before the run is completed (See
Section 4.14).
The number of processors used and estimated RAM required for the run are output
in the file wamitlog.txt.
17
Several changes have been introduced to simplify the input files and to use a more
consistent notation for the numeric output files (See Section 4.1).
The configuration parameter IPERIO has been replaced by two parameters IPERIN,
IPEROUT to control the definitions of both the input and output of the wave period
array (See Section 4.7).
The auxiliary output file .mmx has been added to output external force matrices (mass,
damping, stiffness) and other quantities used for post-processing (See Section 5.6).
1.3
New features which are included starting in Version 7.1 are outlined below.
The configuration parameter IDELFILES can be used to skip interactive prompts and
delete or overwrite old p2f files (see Section 4.7 and Section 4.9).
The configuration parameter IOUTFNAME can be used to assign unique filenames to
output files (see Section 4.7) and Section 4.9).
The configuration parameter IOUTLOG can be used to assign the output filename to
the log file wamitlog.txt (see Section 4.7) and Section 4.9).
The configuration parameters NPFORCE and NPNOFORCE can be used to specify the set of
panels or patches which are included or omitted in the integration of the hydrodynamic
pressure forces (see Section 4.7) and Section 12.6).
The configuration parameter TOLFPTWL can be used to adjust the tolerance for field
points close to waterlines, and to omit field points which are inside the waterlines (see
Section 4.3 and Section 4.7).
The configuration parameter NFIELD LARGE can be used to reduce runtimes and memory requirements if the number of field points NFIELD is very large (see Section 4.7
and Section 14.9).
The configuration parameter ICCFSP can be used to exclude or include the external restoring coefficients due to the pressure in chambers above free-surface pressure
surfaces (see Section 4.7 and Section 12.5).
The configuration parameter IREADRAO is extended to read external RAO data in
either (Modulus,Phase) or (Real,Imaginary) forms (see Section 4.7 and Section 4.13).
The parameter NPERGROUP can be used to assign multiple groups of uniformly-spaced
wave periods, frequencies or wavenumbers in the potential control file (see Section
4.2).
18
Chapter 2
GETTING STARTED
In this Chapter instructions are provided for installing WAMIT and making simple test
runs in the PC/Windows environment. The basic sequence in a typical application of
WAMIT is (1) prepare the input files; (2) run WAMIT. The principal results are then
contained in output files which may be printed and post-processed. This architecture is
illustrated in Figure 1.1.
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 coefficients, and field
data including the fluid pressure, velocity, and free-surface elevation. The principal input
files to the subprogram POTEN are the Potential Control File (POT) which specifies
parameters including the fluid depth, wave periods, and wave heading angles, and the
Geometric Data File (GDF), which describes the geometry of the structure to be analyzed.
These files are discussed briefly below, and in more detail in subsequent Chapters. The
principal input files to the subprogram FORCE are the Force Control File (FRC), which
specifies inputs regarding the body dynamics, and the P2F file (Poten to Force) which
transfers data from POTEN to FORCE.
Three additional input files should also be used: (1) Licensed users of WAMIT V7PC
must utilize a unique input file userid.wam, which identifies the license; (2) the optional
input file fnames.wam is recommended to specify the input filenames; and (3) the configuration files (config.wam and/or *.cfg) specify parameters and options which are required
by the program. Samples of the fnames.wam and configuration files are included with the
test runs; for example the files test01.wam and test01.cfg are intended for use with
TEST01.
By default in WAMIT, the file fnames.wam lists the filenames of the POT, CFG, and
FRC files. The GDF filenames are included in the POT file.
In Version 7 it is possible to use both the config.wam and *.cfg files together, as
explained in Section 4.7. It is recommended to use config.wam to specify inputs which are
the same for most or all runs, and to use *.cfg with an appropriate filename to specify
inputs which are specific to that particular run. Thus the file config.wam delivered with the
21
standard test runs includes the parameters RAMGBMAX, NCPU, and USERID PATH,
which are the same for all test runs; the other parameters required for each run are input
in the separate files test*.cfg.
2.1
The PC-executable Version 7PC is installed as a .msi install package. The naming convention for this package is wamit v7nnn x64w t.msi, where nnn represents the version number
and release (version 7.101 is v7101) and t is the package distribution (l for lease versions
and s for site versions). To begin the install of WAMIT using the .msi installer, simply
double click the .msi file and proceed with the installation as shown in Figure 2.1. Click
Next to begin the installation setup.
Figure 2.1: Initial startup window of WAMIT .msi installer for both lease and site licenses.
For the install to proceed, the user must choose one of three install modes as shown in
Figure 2.2. The Typical install will install the complete software package. First time
installs of WAMIT that will not be using MultiSurf for WAMIT should choose this option.
The MultiSurf for WAMIT Users option is the same as the typical version but for users
that will be installing MultiSurf for WAMIT. Both the typical and MultiSurf for WAMIT
install options permit the modification of the install directory as shown in Figure 2.3. The
recommended name is c:\wamitv7, but the user may prefer to use a different drive or
directory name, with a maximum length of 40 characters for the string. This directory
should be accessible by all users on the computer. If a different drive or directory name
is used, this must be specified as USERID PATH in the configuration file, as explained
in Section 4.7. Users that are upgrading WAMIT (either with or without MultiSurf for
WAMIT) can choose either of these options providing they have not modified their existing
geomxact.f, newmodes.f and the associated DLLs.
Users that are upgrading WAMIT and have modified existing geomxact.f, newmodes.f
and the associated DLLs should select the Custom installation button or make a backup
22
of these files before using the typical or MultiSurf for WAMIT option. The custom option panel is shown in Figure 2.4. To deselect the installation of the geomxact.f and
newmodes.f source and DLL files, select Supplemental Dlls and choose Entire feature
will be unavailable. If you are a MultiSurf for WAMIT user, also select MultiSurf Components and choose the same thing. To modify the installation directory in this mode
select the
Figure 2.2: Installation mode selection window for both lease and site licenses.
Figure 2.3: Installation directory configuration window for both lease and site licenses.
The WAMIT software includes the main executable program wamit.exe, the DLL files
listed below, a complete set of input files for the standard test runs TESTn (n=01,02,
...), and the formatted output files TESTn.OUT for these test runs. The included text
file readme.txt includes an outline of the directory tree and files. If any difficulties are
encountered during installation and testing the user should confirm that the subdirectories
and files correspond to the description in readme.txt.
23
Figure 2.4: Custom installation directory configuration window for site licenses.
The PC-executable Version 7PC includes additional dynamic link library files (DLL)
which must be installed in the same directory (i.e. folder) as the executable file wamit.exe,
or in a different folder which is included in the system path. By default, the .msi installer
does this for the user. If these DLL files are missing the program will not run, regardless
of the inputs and options specified. The required DLL files include special WAMIT DLL
files and also special Intel or Microsoft DLL files. The three required WAMIT DLL files
are
geomxact.dll
newmodes.dll
rg2wamit.dll
The extended Version including the capability to input MultiSurf models requires one
additional DLL file, rgkernel.dll, and an extended version of rg2wamit.dll, as explained
in Section 7.7.
Version 7PC is compiled using Intel Visual Fortran (IVF), Version 12.1. The following
DLL files are required to run executable code compiled with IVF:
libifcoremd.dll
libmmd.dll
libiomp5md.dll
msvcr100.dll
svml dispmd.dll
These DLL files are distributed by Intel and may be redistributed to all users. Copies of
these files are included with each distribution of WAMIT. Users may encounter a problem
on some older PC systems, indicated by the runtime error message The system cannot
execute the specified program. This problem can be overcome by downloading and installing the Microsoft Visual C++ 2005 Redistributable Package, which is available from
Microsoft.
24
After the install is complete, a Program Folder will appear in the Start Menu called
WAMIT v7. This has links to the README file, manual and shortcut to wamit.bat,
which opens a command window in the WAMIT install directory. Users wishing to set up
a specific run environment for WAMIT can edit wamit.bat with any text editor. To enable
easy access to the WAMIT executable directory, copy the shortcut in the Program Folder
to the Desktop.
To authenticate the install, the user must copy the WAMIT supplied userid.wam file
to the install directory. Users that have lease licenses must also execute the instructions
outlined in the README LEASE.txt file provided in their distribution to complete their
activation step.
2.2
DEMONSTRATION PROGRAMS
A special demonstration version of WAMIT can be downloaded as a .msi install package from the web site www.wamit.com. This program, wamit demo.exe, can be used for
demonstration purposes without obtaining an end-user license, subject to the conditions
stated in the website. The installation and use of this software are the same as the licensed
version, with the following exceptions:
The program only accepts geometry inputs from the standard input files for the test
runs described in the Appendix.
The license identification file userid.wam and some DLL files 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 .msi installer file includes all of the input files required to execute the standard test
runs.
To begin the install of WAMIT DEMO using the .msi installer, simply double click the
.msi file and proceed with the installation as shown in Figure 2.3. Click Next to begin the
installation setup.
For the install to proceed, the main installation directory (folder) needs to be defined
as shown in Figure 2.4. The recommended name is c:\WAMITv7DEMO, but the user may
prefer to use a different drive or directory name, with a maximum length of 40 characters
for the string. This directory should be accessible by all users on the computer.
First time installs of WAMIT DEMO that will not be using MultiSurf for WAMIT,
click Next to begin the installation process. Users that will be installing MultiSurf for
WAMIT, should uncheck the checkbox labeled I am not using AeroHydro MultiSurf
for WAMIT.
After the installation, README file will automatically open with basic instructions
on how to execute sample test runs. Additionally, a Program folder entitled WAMIT v7
DEMO is included as part of the installation which contains a link to the user manual
25
and wamit.bat. Users may use this link to open a DOS Command Prompt Window in the
WAMIT DEMO install directory.
2.3
Various standard test runs are available to illustrate different types of applications and
features of the program. The results of these test runs can be used to confirm 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 files, 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 Appendix A.
If the WAMIT software is installed in accordance with the instructions above, the required .EXE and .DLL, and userid.wam files will be installed in the directory c:\wamitv7.
All required input files for the standard test runs will be installed to the subdirectory
c:\wamitv7\testruns. Benchmark versions of the output files test*.out are installed in
the subdirectory c:\wamitv7\testruns\out. These benchmark output files 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 needs to open a DOS
Command Prompt Window in the WAMIT install directory. This can be done by executing
wamit.bat by selecting Start, Programs, WAMIT v7, WAMIT v7 or (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 to the
install directory by entering the command cd \wamitv7. Once the DOS command prompt
is open and in the WAMIT install directory using either option, enter the command cd
testruns.
Since the executable file wamit.exe is resident in the directory c:\wamitv7, the appro26
2.4
RUNNING TEST01
Test run 01 evaluates the added-mass and damping coefficients, exciting forces, motions,
wave elevations, field pressures, fluid velocities and drift forces for a freely-floating truncated vertical circular cylinder of radius 1.0m and draft 0.5m in infinite water depth for
three wave periods and one wave heading angle. Further details are contained in Section
A.1 in Appendix A.
The corresponding input files test01.gdf, test01.cfg, test01.pot, and test01.frc
are included in the subdirectory c:\wamitv7\testruns. In order to specify the appropriate
filenames during the run, first copy the file test01.wam to the file fnames.wam. (Copying
is recommended, in preference to renaming the file, to preserve the original file.) The
appropriate DOS command is
copy test01.wam fnames.wam
Next execute WAMIT. This can be done by entering wamit if the WAMIT install directory has been added to your path. Otherwise, runwamit test01 will execute the provided
runwamit.bat file for test01. This batch file will remove old files associated with test01,
copy test01.wam to fnames.wam and execute WAMIT in one step.
During execution of the subprogram POTEN the monitor displays the starting time,
and after the solutions for the velocity potentials are obtained for each wave period a
27
new line of information is displayed including the wave period, time, and the maximum
number of iterations required for the radiation and diffraction solutions. After the first
wave period the computational time required for each subsequent period is reduced, since
the integration of the Rankine components of the source potential are evaluated initially
and saved for reuse. After the last period the file test01.p2f is saved 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 file
test01.out. The latter file includes useful identification 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 file with the same
name. On a contemporary PC the total run time for TEST01 should be a few seconds.
2.5
RUNNING TEST11
2.6
The procedure for running the other test runs is the same as explained above, except for
copying the appropriate files to fnames.wam from the original versions test*.wam where
* is the test number. Alternatively, runwamit test* will perform the same functionality
using the supplied runwamit.bat file.
A special batch file runtests.bat is included in the licensed version and a similar
file rundemo.bat in the demonstration version. Executing the corresponding batch file
command will run all of the tests in succession. The display shown on the monitor gives
some indication of the progress through the set of runs from test01 to test25. The entire
set of runs may take several minutes, depending on the computer.
2.7
28
can be reduced substantially. If the system includes more than one CPU, open the file
config.wam with a text editor. The default settings in this file are as follows:
NCPU=1
RAMGBMAX=0.5
USERID_PATH=\wamitv7
Edit the first line to show the actual number of CPUs on the system, and save the edited
file with the same name. With this change the total run time for all of the standard
tests should be substantially reduced. Test14a is a particularly good example, as noted in
Appendix A.14.
Instructions for finding the number of CPUs on the system are in Section 14.6.
Depending on the size of the system RAM it may be appropriate to change the parameter
RAMGBMAX, following the guidelines in Section 14.3. The value 0.5 is sufficient for all
of the test runs unless NCPU is greater than 16. For older systems with less than 1Mb of
RAM the parameter RAMGBMAX should be reduced to about half of the available RAM.
2.8
WAMIT uses scratch files on the hard disk for temporary storage at runtime. Depending
on the run parameters, the total number of scratch files and/or their size may become quite
large. Normally these files are deleted by WAMIT after the files are no longer needed, and
before the program stops. However some PC/Windows configurations save these deleted
files in a recycled directory, and this can cause the hard disk to become overloaded. Users
who experience this problem should delete the accumulated files in the recycled directory,
or alternatively change their system setup to avoid saving a backup of all deleted files.
29
2.9
A text editor can be used to edit the input files. Users should refer to Chapter 4 for a
complete explanation of the data in these files. A few simple modifications will be outlined
here for tutorial purposes, in the context of Test Run 01. Before proceeding further check
that the file fnames.wam corresponds to this test run, or re-copy test01.wam to fnames.wam
following the instructions in Section 2.4.
As the first modification we might request FORCE to perform additional computations,
for the same periods and wave headings analyzed by POTEN, but with modified values of
the vertical center of gravity (VCG) and radii of gyration (XPRDCT) in the force control
file test01.frc. In the standard file 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 affecting 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 file test01.p2f has been retained
for the POTEN output. To avoid the extra run time of POTEN, add the line IPOTEN=0
to the configuration file test01.cfg (See Section 4.7, and also the file test17b.cfg which
includes the same line). After modifications are made to the file test01.frc it is advisable
to save the modified file with a different filename, and to edit the fnames.wam file to show
the corresponding new filename for the force control file. If this procedure is followed, the
output file will carry the same filename (with the .out extension) to distinguish it from the
original file test01.out. The user may then compare the RAOs in the different output
files to discern the effect of these changes.
As the second modification WAMIT may be re-run with a more extensive list of wave
periods. Edit the potential control file 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 modified file with the original name
test01.pot, or (2) save the modified file with a new filename and correct the fnames.wam
file on line 2 with this new filename.
Since it is necessary to re-run POTEN in this case, delete the line IPOTEN=0 if this
was added to test01.cfg. During the run, if the original filename test01.p2f is retained,
the user will be prompted whether or not to overwrite the old output file test01.p2f;
overwriting is the simplest procedure to follow, in this circumstance, otherwise the new
.P2F filename must be specified before the FORCE run is executed.
The input files for other test runs can be used to illustrate various options and modifications.
210
Chapter 3
DEFINITION OF QUANTITIES
EVALUATED BY WAMIT
Cartesian coordinates are used to define the body geometry, forces, and other hydrodynamic quantities evaluated by WAMIT. These are output in nondimensional forms, 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 defined by the input
parameter ULEN in the GDF file. The notation and definitions of physical quantities here
correspond with those in Reference [3], except that in the latter reference the y axis is
vertical.
The body geometry, motions and forces are defined in relation to the body coordinates
(x, y, z), which can be different for each body if multiple bodies are analyzed. The z-axis
must be vertical, and positive upwards. If planes of symmetry are defined for the body, the
origin must be on these planes of symmetry. The global coordinates (X, Y, Z) are defined
with Z = 0 in the plane of the undisturbed free surface, and the Z-axis positive upwards.
The body coordinates for each body are related to the global coordinates by the array
XBODY defined in Section 4.2.
The incident-wave system is defined relative to the global coordinate system, and the
phases of the exciting forces, motions, pressure and fluid velocity are defined relative to
the incident-wave elevation at X = Y = 0. These outputs are defined in the general form
Re (U + iV )eit = W cos(t + ).
(3.1)
where W = |U + iV | is the modulus and is the phase. With reference to equations (15.2)
and (15.4), the incident-wave elevation at X = Y = 0 is equal to
Re(Aeit ) = A cos(t).
(3.2)
If > 0 the output leads the phase of the incident wave, and if < 0 the output lags the
incident wave.
For field data (pressure, velocity, and free-surface elevation) and mean drift forces the
definitions given below in Sections 3.5-3.8 apply to the complete solution for the combined
31
radiation and diffraction problems. The components of the field data can be evaluated separately for either the radiation or diffraction problems using the configuration parameters
INUMOPT5 and INUMOPT6, as explained in Sections 4.7 and 5.2.
For the sake of simplicity, the definitions which follow in this Section assume that the
origin of the body coordinate system is located on the free surface. Special definitions
apply to some quantities if vertical walls are defined, as explained in Section 12.4.
32
3.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.
Volume:
=
ZZ
Sb
n1 xdS =
ZZ
Sb
n2 ydS =
ZZ
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 file where they are
denoted by (VOLX, VOLY, VOLZ) respectively. The median volume of the three volumes
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 defined on the bottom, VOLZ differs from the correct
submerged volume by the product of the bottom area and depth.
Coordinates of center of buoyancy:
1 ZZ
n1 x2 dS
xb =
2 Sb
1 ZZ
yb =
n2 y 2 dS
2 Sb
1 ZZ
zb =
n3 z 2 dS
2 Sb
Matrix of hydrostatic and gravitational restoring coefficients:
RR
C(3, 3) = g RRSb n3 dS
C(3, 4) = g SRRb yn3 dS
C(3, 5) = g
xn dS
RR Sb2 3
C(4, 4) = g SRRb y n3 dS + gzb mgzg
C(4, 5) = g Sb xyn3 dS
C(4, 6) = gx
+ mgxg
RR b
C(5, 5) = g Sb x2 n3 dS + gzb mgzg
C(5, 6) = gyb + mgyg
3) = C(3, 3)/gL2
C(3,
4) = C(3, 4)/gL3
C(3,
5) = C(3, 5)/gL3
C(3,
4) = C(4, 4)/gL4
C(4,
5) = C(4, 5)/gL4
C(4,
6) = C(4, 6)/gL4
C(4,
5) = C(5, 5)/gL4
C(5,
6) = C(5, 6)/gL4
C(5,
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 file (Section 4.3) the body mass is computed from the relation
m = . When Alternative form 2 is used for the FRC file (Section 4.4) the body mass is
defined by EXMASS(3,3).
33
3.2
ZZ
i
Bij =
ni j dS
Sb
Aij
Aij =
Lk
ij = Bij .
B
Lk
Here
k = 3
k = 4
k = 5
3.3
for
for
for
(i, j = 1, 2, 3)
(i = 1, 2, 3, j = 4, 5, 6) or (i = 4, 5, 6, j = 1, 2, 3)
(i, j = 4, 5, 6)
EXCITING FORCES
0
dS
ni 0 i
n
ZZ
Sb
ZZ
Sb
ni D dS
Xi
,
gALm
34
3.4
Two alternative procedures are followed to evaluate the body motions in waves, corresponding respectively to the Alternative 1 (Section 4.3) and Alternative 2 (Section 4.4)
FRC control files.
In Alternative 1, which is restricted to a body in free stable flotation 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.
The inertia matrix is defined as follows.
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
(3.3)
WAMIT equates the body mass to the mass of the displaced water in free flotation. The
moments of inertia Iij are defined in terms of the corresponding radii of gyration rij , defined
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 defined in the panel data file.
In the Alternative 2 format of the FRC file 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 h
X
E
2 (Mij + MijE + Aij ) + i(Bij + Bi,j
) + (Cij + CijE ) j = Xi .
j=1
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 specified in the FRC file.
35
i
,
A/Ln
3.5
HYDRODYNAMIC PRESSURE
The complex unsteady hydrodynamic pressure on the body boundary or in the fluid domain
is related to the velocity potential by the linearized Bernoulli equation
p =
.
t
6
X
j j ,
j=1
where the radiation and diffraction velocity potentials are defined in Section 15.1. The
nondimensional velocity potential and hydrodynamic pressure are defined as follows:
p =
6
X
p
= D + KL
j j ,
gA
j=1
where K = 2 /g and
D =
D
,
igA/
j =
j
Ln+1
p
= KLj
gj Ln
Special definitions are required in the limits of zero and infinite wave periods, as explained in Section 3.9.
36
3.6
FREE-SURFACE ELEVATION
The free surface elevation is obtained from the dynamic free-surface condition
1
=
g
,
z=0
6
X
= = D + KL
j j
A
j=1
,
z=0
where is defined as in Section 3.5. (The nondimensional hydrodynamic pressure and wave
elevation are equal to the nondimensional velocity potential at the respective positions.)
These parameters can be evaluated separately for the diffraction or radiation problems by assigning the configuration parameter INUMOPT6=1, as explained in Section 4.7.
When the radiation components are output separately, the nondimensional free-surface
elevation due to jth mode is defined by
j =
= KLj
j Ln
37
3.7
6
X
V
D + KL
j
=
j
igA/(L)
j=1
where
= L
38
3.8
The definition of the nondimensional 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
coefficients such that the total dimensional mean drift force or moment exerted on the
body is given by the equation
Fi (1 , 2 ) = gLk (|A1 |2 Fi (1 , 1 ) + |A2 |2 Fi (2 , 2 ) + 2Re[A1 A2 Fi (1 , 2 )]).
Note that Fi (2 , 1 ) = Fi (1 , 2 ), where the asterisk () denotes the complex conjugate.
In Option 7 the drift force and moment are evaluated based on the momentum flux
across a control surface as described in Chapter 11, using equations (15.57-60).
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 affected by non-conservative effects, such as external damping. The
azimuthal integration required to evaluate the momentum flux is performed by an adaptive
quadrature formula. The integration is performed iteratively, with convergence specified
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. A warning
message is displayed in the event that this convergence criterion is not satisfied. See
Section 5.8 for further information regarding the interpretation and control of this warning
message.
Often the warning message is issued because the length scale parameter ULEN is much
smaller than the relevant length scale of the body. Since the drift force increases in proportion to length, and the moment in proportion to (length)2 , relatively small differences
between large values may not be significant. In this case the warning message can be
avoided by increasing ULEN to a value more representative of the length.
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.
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 15.7.
39
In Options 7 and 9, the mean drift force and moment evaluated from pressure integration
and from momentum flux on a control surface are defined with respect to the body coordinate system. Conversely, the mean drift force and moment evaluated from momentum
conservation in Option 8 are defined with respect to the global coordinate system.
3.9
It is possible to evaluate the added mass (Option 1), and also the pressure and fluid
velocity (Options 5 and 6) in the limiting cases of zero and infinite period (or equivalently,
infinite and zero frequency), by inputting PER=0.0 and PER<0.0 in the POT file (see
Section 4.2). This extension is particularly important in the context of evaluating the
corresponding time-domain impulse response functions, as explained in Chapter 13.
The definition of the added-mass coefficients is the same as shown in Section 3.2. All
other force coefficients are zero in these limits, with the exception of the heave exciting
force and horizontal exciting moments, which tend to nonzero hydrostatic limits at zero
frequency.
Special definitions are applied to the radiation pressure and velocity in the case of
zero frequency (infinite wave period), which is identified in the output files by a negative
value of the parameter PER, and also in the case of infinite frequency (zero wave period),
which is identified by PER=0. In general, for nonzero finite values of the frequency, the
nondimensional outputs for the radiation pressure and velocity are as defined in Sections
3.5 and 3.7. Thus the output pressure for each radiation mode is KLj and the output
j . However for the two limiting cases, where KL = 0 or
velocity for each mode is KL
KL = , the factor KL is omitted from the outputs for Options 5 and 6. The following
table summarizes these definitions:
PER<0
frequency
period
pressure
=0
velocity
j
KLj
j
KL
310
Chapter 4
INPUT FILES
A typical application of the WAMIT program 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 6 and 7 respectively. To simplify the presentation this Chapter
will describe the required input files for a basic application involving the analysis of a single
body. Further information is given in Chapters 8-10 for the appropriate modifications of
the input files for specific purposes, including the analysis of multiple bodies, generalized
modes of body motion, and the removal of 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 4.7. In the default case
(IPOTEN=1, IFORCE=1) both subprograms are executed sequentially in the same run.
The input files fnames.wam, config.wam, and break.wam use reserved filenames with the
extension .wam. All of the other input files are identified by three user-defined filenames gdf ,
pot, and f rc. These are respectively the filenames used for the Geometry Data File (GDF),
Potential Control File (POT), and Force Control File (FRC). Other input/output files are
assigned the same filenames, depending on their context, and with different extensions.
Thus gdf is used for files which relate primarily to a specific body geometry, pot to output
files from POTEN which are associated with a specific set of inputs in the POT file, and
f rc to output files from FORCE which are associated with a specific set of inputs in the
FRC file. Some input files are used only by POTEN or FORCE, whereas other input files
are used by both. In this User Manual the font fnames.wam indicates a specific filename
and extension, usually in lower-case letters. Upper case letters such as GDF are used more
generally, to abbreviate the type of file. Filenames in italics, e.g. pot.p2f and f rc.out refer
to the user-defined filenames of the POT and FRC files, from which the output files derive
their own filenames.
41
The following table lists all of the input files which may be prepared by the user, and
indicates the relevant subprogram(s):
Filename
Usage
pot.pot
POTEN
gdf .gdf
POTEN
f rc.frc
FORCE
gdf .spl
POTEN
fnames.wam POTEN/FORCE
break.wam
POTEN
config.wam POTEN/FORCE
.cfg
POTEN/FORCE
gdf .ms2
POTEN
gdf .csf
FORCE
gdf .bpi
FORCE
f rc.rao
FORCE
Description
Potential Control File (Sections 4.2)
Geometric Data File (Chapters 6,7)
Force Control File (Sections 4.3-4)
Spline Control File (Section 7.11)
Filenames list (Section 4.8)
Optional file for runtime breakpoints (Section 4.12)
Configuration file (Section 4.7)
Configuration file (Section 4.7)
MultiSurf geometry file (Section 7.7)
Control surface geometry file (Section 11.1)
Specified points for body pressure (Section 4.6)
External RAO file (Section 4.13)
The first three input files are required in all cases. The others are required in some cases
or are optional, as explained below.
The following table lists the output files which are produced by each subprogram:
Filename
Program
Description
pot.p2f
POTEN
P2F File (binary data for transfer to FORCE)
errorp.log
POTEN
Error Log File (Section 5.8)
errorf.log
FORCE
Error Log File (Section 5.8)
wamitlog.txt POTEN/FORCE Log file of inputs (Section 5.9)
f rc.out
FORCE
Formatted output file (Section 5.1)
f rc.num
FORCE
Numeric output files (Section 5.2)
gdf pan.dat
POTEN
Panel data file (Section 5.7)
gdf pat.dat
POTEN
Patch data file (Section 5.7)
gdf .pnl
FORCE
Panel data file (Section 5.7)
gdf .hst
FORCE
Hydrostatic data file (Section 5.6)
rgklog.txt
POTEN/FORCE MultiSurf log file (Appendix C)
f rc.fpt
FORCE
List of field points (Section 5.2)
gdf .idf
POTEN
Interior free-surface panels (Section 10.1)
gdf .bpo
FORCE
Specified points for body pressure (Section 5.5)
gdf low.gdf
POTEN
Low-order GDF file (Section 5.7)
gdf csf.dat
FORCE
Control surface data file (Section 11.6)
gdf low.csf
FORCE
Low-order control surface file (Section 11.6)
The structure of input and output files is illustrated in the flow chart shown in Figure 1.1.
The filenames assigned to the various output files are intended to correspond logically with
the pertinent inputs, and to simplify file maintenance.
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
42
43
Additional numeric output files are generated for the exciting forces using Option 2 or
Option 3, to provide data for the separate Froude-Krylov and scattering components of
these forces, as explained in Section 5.3.
Two additional numeric files are generated when the FRC file specifies either Option 5
(pressure and fluid velocity on the body surface) or Option 6 (pressure and fluid velocity at
field points in the fluid), to assist in post-processing of these data. For Option 5 a panel
geometry file with the extension .pnl is created with data to specify the area, normal
vector, coordinates of the centroid, and moment cross-product for each panel on the body
surface. For Option 6 the field point file with the extension .fpt specifies the coordinates
of the field points in the fluid.
44
4.1
Several changes have been introduced in WAMIT Version 7 to simplify the input files and
to use a more consistent notation for the numeric output files. These include the following:
The POT file designated as Alternative Form 1 in Version 6 is not supported. The
POT file designated as Alternative Form 2 in Version 6 must be used, with two
exceptions: (1) the option to include the parameter IRR on line 2 is not supported,
and (2) the parameter NEWMDS is removed from the POT file. If IRR and/or
NEWMDS is nonzero the value(s) must be input in the configuration file.
The parameters IQUAD and IDIAG, which controlled the accuracy of integration over
panels in the low-order method, are no longer used. (In Version 7 the integration is
performed in the same manner as for IQUAD=0, IDIAG=1 in older versions.)
Options 6 (formerly field pressure) and 7 (formerly field velocity) are modified in the
FRC file and in the corresponding numeric output files. Option 6 is used for both the
field pressure and velocity, in a similar manner as for Option 5 (body pressure and
velocity). The numeric output files for these are designated by the extensions (.6p,
.6vx, .6vy, .6vz), replacing the old extensions (.6, .7x, .7y, .7z).
Option 7 is used for the mean drift force and moment using a control surface, replacing
the old CFG parameter ICTRSURF. The corresponding numeric output file extension
is .7 (replacing the old extension .9c).
Dipole panels or patches must be identified in the configuration file, following the
same format as in Version 6. The option to identify these elements in the GDF file is
not supported.
Walls must be identified with the parameters IWALLX0, IWALLY0 in the CFG file, as
explained in Section 12.4. The older alternative to assign negative values of ISX,ISY
in the low-order GDF file is not supported.
The option IALTFRC=2, used to specify the format and data in the FRC file, must
be input in the configuration files. The older alternative to add an extra line in the
FRC file is not supported.
Two optional configuration files can be used, as explained in Section 4.7. Several configuration parameters which are no longer used have been removed, including IALTPOT, ICTRSURF, IDIAG, IQUAD, MAXSCR, IPERIO. Several new parameters are
included, as explained in Section 4.7. The array XBODY is required in the POT file
and must not be in the CFG file.
The F2T utility described in Chapter 13 is modified in accordance with the new
extensions of the numeric output files.
The utility program v6v7inp.exe is supplied with Version 7.0, to facilitate the conversion of old input files from Version 6 to Version 7. Special instructions for using this
45
program are in Appendix B. This program is intended to work for all input files which
were valid in Version 6. However it is impossible to test the program with all possible
combinations of inputs. Users should verify the changes made by the utility, especially if
error messages occur running the new files.
46
4.2
The POT file is used to input various parameters to the POTEN subprogram. The name
of this file can be any legal filename accepted by the operating system, with a maximum
length of 16 ASCII characters, followed by the extension .pot.
In Version 7 the following format is used for the data in this file:
header
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)
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)
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)
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 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, with a maximum length of 72
characters (including leading blanks).
HBOT is the dimensional water depth. By convention in WAMIT, a value of HBOT
less than or equal to zero is interpreted to mean that the water depth is infinite. It is
recommended to set HBOT=-1. in this case. If HBOT is positive it must be within the
range of values
105 < HBOT 2 /g < 105
where is the radian frequency of the incident waves and g=GRAV is the gravitational
47
acceleration constant. For each run the value of GRAV is input in the GDF file, as described
in Chapters 6 and 7. All dimensional inputs with the units of length, including HBOT,
must be consistent with the input GRAV. Typically, either GRAV=9.80665 is used for the
metric system or GRAV=32.174 is used if the length scale is in feet.
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:
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.
NPER is the number of wave periods to be analyzed. NPER must be an integer. The
following alternatives can be used:
NPER= 0: Read inputs and evaluate hydrostatic coefficients only.
NPER> 0: Execute the hydrodynamic analysis for NPER wave periods
NPER< 0: Execute the hydrodynamic analysis for |N P 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.
Beginning in Version 7.1 multiple groups of wave periods can be defined with one or
both of the above formats, using the optional parameter NPERGROUP. To use this option,
line 4 of the POT file should contain the following text:
NPERGROUP = m
where m is an integer, followed by m groups of inputs specifying NPER and PER in either
of the formats above. This option is illustrated in the file test17a.pot in Appendix A17.
PER is the array of wave periods T in seconds, or of optional inputs as specified by
the parameter IPERIN. Normally the values of PER must be positive. By using the
optional parameter IPERIN 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
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
48
table gives the definitions of each input and the corresponding value of IPERIN:
IPERIN
1
2
3
4
Input
Definition
Period in seconds
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 IPERIN=1 is assumed if IPERIN is not
specified in the configuration file. The corresponding parameter IPEROUT controls the
same perameters in the output files, as explained in Section 4.7.
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. Likewise, 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 3.9). 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 IPERIN and the corresponding
interpretation of the positive elements of the array PER. For example, the effect of the
parameter IPERIN=2 and the array PER with the four inputs 0.0, 1.0, 2.0, -1.0 is identical
to the default case IPERIN=1 with the array PER equal to 0.0, 2, , -1.0. If the irregularfrequency removal option is used (IRR1) the computations for PER0 are performed with
IRR=0.
If NPER< 0 a special convention is followed to assign a total of |NPER| 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 IPERIN 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 IPERIN=2,
the inputs NPER=-4 and (PER = -1. 1.) will result in the sequence of wave frequencies
equal to (zero, infinity, 1., 2.).
49
Figure 4.1: Sketch defining the global coordinates (X, Y, Z), body coordinates (x, y, z), and wave-heading
angle . The vertical Z and z axes are positive upwards, with Z=0 the plane of the undisturbed free surface.
The origin of the body-coordinate system is at the point X=XBODY(1), Y =XBODY(2), Z=XBODY(3).
A separate set of body coordinates is defined for each body if NBODY>1.
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 4.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. If IDIFF= 1 NBETA should be set equal to 0 and no data BETA should
be included in the POT file.
If NBETA< 0 a special convention is followed to assign a total of |NBETA| 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:
410
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)
NBODY is the number of bodies. Except for the analysis of multiple bodies (Chapter 8),
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, as shown in Figure 4.1, in the same units of length as ULEN.
The global coordinate system is required when walls are present (Section 12.4) and when
multiple bodies are analyzed (Chapter 8). The global coordinate system is also used in
place of the body coordinate system to define field-point data (fluid pressures, velocities,
and free-surface elevation). Normally, in the absence of walls or multiple bodies, the coordinates XBODY(1) and YBODY(1) should be set equal to zero unless it is desired to refer the
field-point data to a different coordinate system from that of the body. The incident-wave
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 defined 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, defined as positive in the
counterclockwise sense about the vertical axis, as shown in Figure 4.1.
MODE is a six-element array of indices, assigned for each body, 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 elements 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 radiation problem will be solved. To understand the significance of the MODE array in the diffraction
solution, 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.
411
4.3
The FRC file 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. 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 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, with a maximum length of 72
characters (including leading blanks).
412
Option
1
2
3
4
5p
5v
6p
6v
7
8
9
Description
Filename
frc.1
frc.2
frc.3
frc.4
frc.5p
frc.(5vx,5vy,5vz)
frc.6p
frc .(6vx,6vy,6vz)
frc.7
frc.8
frc.9
The evaluation and output of the above parameters is in 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 2-9 may have additional values as listed below:
IOPTN(2) and IOPTN(3)
IOPTN(I) = 0: do not output the exciting forces
IOPTN(I) = 1: output the exciting forces
IOPTN(I) = 2: output the exciting forces and also the separate Froude-Krylov and
scattering components of these forces (see Sections 3.3 and 5.3)
IOPTN(4)
IOPTN(4) = 0: do not output the response amplitude operator, RAO
IOPTN(4) = 1: output the RAO using the Haskind exciting force
IOPTN(4) = 2: output the RAO using the 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 Section 4.5.
IOPTN(5)
IOPTN(5) = 0: do not output pressure and fluid velocity on the body
IOPTN(5) = 1: output pressure on the body
IOPTN(5) = 2: output fluid velocity on the body
413
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
motion are specified by the MODE indices in the POT file. The diffraction index IDIFF
should be set equal to -1. In the FRC file the indices IOTPTN(2:4) should be set equal
to zero. 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. However this requires a separate run of
WAMIT for each mode. It is possible to output separate results for options 5,6 for each
mode of forced motion in a single run, using the configuration parameters INUMOPT5,
INUMOPT6, as explained in Section 4.7.)
Diffraction of incident waves by a stationary structure (the diffraction problem).
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.)
Body motions in incident waves. In this case 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.
For bodies with one or two planes of symmetry (ISX=1 and/or ISY=1), the solution of
the diffraction problem is decomposed into symmetric and antisymmetric components. If
IDIFF=1 all of these components are computed, but if IDIFF=0 only the modes needed to
evaluate the exciting forces corresponding to nonzero elements of the index IMODE in the
POT file are computed. Special attention is necessary when computing the pressure, fluid
velocity, and drift forces (Options 5-9), since these generally require all components of the
diffraction solution. To ensure a complete solution, IDIFF=1 should be used in the POT
file whenever Options 5-9 are computed. As explained in Section 5.8, a warning message
is issued if IDIFF=0 and IOPTN(I)>0 for I=5-9, stating that the solution is non-physical.
In special cases, where the heading angle coincides with a plane of symmetry, the complete
415
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, as explained in Sections 4.7 and 12.1. When a large number
of uniformly-spaced field points are required it is convenient to use the alternative inputs
described in Section 4.11.
Starting in Version 7.1, the parameter TOLFPTWL is used to control the identification
of field points on the free surface which are close to, or inside, body waterlines. If one or
more field points on the free surface are inside a closed waterline, or within a nondimensional distance of the waterline which is less than TOLFPTWL, these points are identified
as interior field points and the outputs for the hydrodynamic pressure and velocity are set
equal to zero. In the supplementary output file frc.fpt the output 0 is appended on the line
after the field point coordinates (see Section 5.2). An example of this output is included in
Test05a. If TOLFPTWL 0.0 is input in the cfg files the test of free surface field points
is skipped.
When TOLFPTWL is used to test the locations of interior field points only closed
waterlines with nonzero thickness are considered. Dipole panels/patches, wavemakers, and
the waterlines of interior tanks are not included. Field points on the free surface of interior
tanks are not included in this test. Users should verify the identification of interior field
points, especially in cases where the shape of the waterline is unusual or irregular.
417
4.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 4.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 header, IOPTN array, and all lines beginning with the variable NBETAH, are
identical to the data in the Alternative form 1 FRC file. The data which differ in Form 2
are described below.
418
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.
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 Section 3.1. (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:
419
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(1,6+NEWMDS)
EXMASS(2,1) EXMASS(2,2) ... EXMASS(2,6+NEWMDS)
.
.
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
P
NDFR= N
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 procedure to designate Alternative Form 2 is to assign the parameter IALTFRC=2
in the configuration file, as described in Section 4.7, and use the formats above. In early
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. This variant of the FRC
file format was supported in Version 6. Version 7 issues an error message if this variant is
input.
420
4.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, if (IOPTN(4)>0, the body motions are computed for all degrees of freedom. 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. 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 8), with no generalized modes, NDFR=6*NBODY. If
generalized modes are analyzed (cf. Chapter 9) NDFR is the total number of modes for all
bodies, including both rigid-body modes and generalized modes. Thus, in the most general
P
case, NDFR=6*NBODY+ NBODY
NEWMDS(n).
n=1
If fixed/free modes are specified for multiple bodies, using IALTFRC=3 as described
in Section 8.3, the modifications (1) and (2) described above must be included only in the
Global Force Control File (GFRC) and not in the separate Force Control Files for each
body.
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.
421
4.6
If IOPTN(5)> 0 the points on the body surface where the pressure and fluid velocity are
evaluated depend on the parameter IPNLBPT in the configuration file. In the default case
IPNLBPT=0, these points are 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 IPNLBPT6= 0 the body pressure is evaluated at points on the body which are specified
by the user in a special input file gdf.bpi (Body Point Input). The format of this file is as
follows:
header
NBPT
X(1) Y(1) Z(1)
X(2) Y(2) Z(2)
.
.
X(NBPT) Y(NBPT) Z(NBPT)
The filename of this file must be the same as the filename of the GDF file.
If IPNLBPT> 0, the data in the .bpi file is read and interpreted to be in dimensional
body-fixed coordinates. If IPNLBPT< 0, the data in the .bpi file is read and interpreted
to be in dimensional global coordinates.
The procedure used to evaluate the body pressure at these specified 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 the
absolute value of the input parameter IPNLBPT. IPNLBPT=4 is recommended, when the
input points are in body-fixed coordinates. In this case the program searches and identifies
the four nearest panel centroids to each specified input point, and assigns weights to each
of these panels based on the (inverse) distance to each centroid.
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 specified input
point (x, y, z) the program searches for the patch index and parametric coordinates (U, V )
of the point on this patch which is closest to the input point. The pressure and velocity
are evaluated at the corresponding point (U, V ). An iterative procedure is used to find
(U, V ), with a specified 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 Jaco422
bian of the parametric transformation at the center of the patch.) A warning message is
generated if nonconvergence occurs for one or more input points, showing the total number
of unconverged points. (See also Section 5.5.)
The pressure and velocity are output in the .5p and .5v files as explained in Section 5.5.
Data related to the coordinates of the evaluation points are tabulated in the supplementary
output file gdf.bpo which is explained in the same Section.
In both the low-order and higher-order implementations, the input data in the .bpi file
should correspond to points which lie as close as possible to the body surface. If points in
the BPI files are very close to intersections of adjacent patches in the higher-order method,
the index NP in the BPO file 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 low-order method, the panel
indices, N1, N2, ... in the BPO file can be checked to verify the corresponding output at
the points in BPI files is the pressure obtained from those on the conventional body panels
or the pressure jump on the dipole panels.
423
4.7
Two optional configuration files may be used to specify various parameters and options
in WAMIT. The first configuration file is assigned the reserved name config.wam. The
second filename is specified by the user, with the extension .cfg. Both files are opened
and read, if they exist, and the configuration parameters defined below can be included in
either the first or second file. It is recommended to use the first file for parameters which
are the same for most or all applications, and to use the second file for parameters which
depend on the specific run. If the same parameter is defined in both files, the input from
the second is used for the run. If the second configuration file is used its complete filename
including the extension .cfg must be included in the input file fnames.wam. The test runs
listed in Appendix A show examples of these conventions.
The inputs which may be specified in the configuration files are as follows:
Parameter
Default value
IALTCSF
1
IALTFRC
1
IBODYW
0
ICCFSP
0
IDELFILES
0
IFIELD ARRAYS
0
IFORCE
1
IGENMDS
0
ILOG
0
ILOWGDF
0
ILOWHI
0
IMODESFSP
INUMOPT5
0
INUMOPT6
0
IOUTFNAME
0
IOUTLOG
0
IPERIN
1
IPEROUT
1
IPLTDAT
0
IPNLBPT
0
IPOTEN
1
IQUADI
4
IQUADO
3
IREADRAO
0
IRR
0
ISCATT
0
ISOLVE
0
ISOR
0
ITANKFPT
0
ITRIMWL
0
424
IWALLX0
0
IWALLY0
0
KSPLIN
3
MAXITT
35
MAXMIT
8
MODLST
0
MONITR
0
NCPU
1
NEWMDS
0
NFIELD LARGE
0
NMODESFSP
0
NOOUT
1
NPDIPOLE
NPFORCE
NPFSP
NPNOFORCE
NPTANK
NUMHDR
0
NUMNAM
0
PANEL SIZE
-1.0
RAMGBMAX
0.5
RHOTANK
SCRATCH PATH
current directory
TOLFPTWL
1.E-3
TOLGAPWL
1.E-3
USERID PATH
current directory
VMAXOPT9
-1.0
XTRIM
ZTANKFS
These parameters only need to be included when they are required. Parameters where a
specified default value is shown are assigned this value when the parameter is not included
explicitly. The parameters marked are spline control parameters defined in Sections
7.11-12. These can be input either in the .cfg or .spl file.
When multiple bodies are analyzed (NBODY>1) there are additional parameters, and
some of the parameters in the list above must be assigned with separate values for each
body (See Section 8.4).
Explanations of the parameters which may be specified in the configuration file are as
follows:
IALTCSF is an integer specifying the alternative methods of evaluating the mean drift
force and moment using a control surface, as explained in Chapter 11 and Section 15.9.
IALTCSF= 1: use Alternative 1
IALTCSF= 2: use Alternative 2
425
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 9.
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).
In this case the user prepares a subroutine in DEFINE to describe the generalized mode
shapes.
IGENMDS6= 0: 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.
ILOG is an integer parameter specifying the option to integrate the logarithmic singularity
in the Green function separately, with a more accurate numerical integration scheme.
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.)
The default value is ILOG= 0.
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.
ILOWGDF is an integer parameter specifying the option to generate a low-order GDF
output file based on the input geometry (see Section 5.7). 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. 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 6)
ILOWHI= 1: Higher-order panel method (Chapter 7)
IMODESFSP is an integer parameter specifying the subroutine used to define pressure
distributions on interior free surfaces of the body (see Section 12.5).
427
INUMOPT5 is an integer parameter specifying the option to evaluate the separate radiation and diffraction components of the body pressure and velocity (see Sections 3.5 and
3.7).
INUMOPT5= 0: output the total body pressure and velocity.
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 and velocity at field points (see Sections
3.5 and 3.7).
INUMOPT6= 0: output the total field pressure and velocity.
INUMOPT6= 1: output the total field pressure and velocity in the formatted output file
(.out). Output the separate components in the numeric output files (.6p, .6vx, .6vy, .6vz).
IOUTFNAME is an integer parameter specifying the filename of the output files (see
Section 5.1).
IOUTFNAME= 1: Append N to the filename (1 N 9)
IOUTFNAME= 2: Append NN to the filename (1 N N 99)
IOUTFNAME= 3: Append NNN to the filename (1 N N N 999)
IOUTFNAME= 4: Append NNNN to the filename (1 N N N N 9999)
The default value is IOUTFNAME= 0.
IOUTLOG is an integer parameter specifying the option to save a copy of the log file
wamitlog.txt with the filename of the output files (see Section 5.9).
IOUTLOG= 1: Save a copy of the log file with the filename of the output files
The default value is IOUTLOG= 0.
IPERIN is an integer parameter specifying the input data for PER in the POT file (see
Section 4.2).
IPERIN= 1: Input periods in seconds
IPERIN= 2: Input radian frequencies
IPERIN= 3: Input infinite-depth wavenumbers
IPERIN= 4: Input finite-depth wavenumbers
The default value is IPERIN= 1.
(The use of IPERIN is identical to the parameter IPERIO in Version 6. The name of this
parameter is changed in Version 7 to correspond with the parameter IPEROUT.)
IPEROUT is an integer parameter specifying the output data for PER. The same four
optional values IPEROUT= 1, 2, 3, 4 are used as defined above for the corresponding input
parameter IPERIN. The default value is IPEROUT= 1. IPEROUT controls the first
column of data in the numeric output files, and also the first column of data in the header
428
of the OUT file showing the runtimes and iterations for the POTEN run, as well as the
same runtime outputs to the monitor during the POTEN run.
IPLTDAT is an integer parameter specifying the option to generate the output files
gdf PAN.DAT and gdf PAT.DAT, used for plotting the panel and patch discretizations
(see Section 5.7).
IPLTDAT= 0: Do not generate the output files gdf PAT.DAT and gdf PAN.DAT
IPLTDAT 1: Generate the output files gdf PAT.DAT and gdf PAN.DAT for plotting
the panel and patch discretizations with IPLTDATIPLTDAT subdivisions.
The default value is IPLTDAT= 0.
IPNLBPT is an integer parameter specifying the option to evaluate the body pressure at
specified points (x, y, z) listed in the input file gdf.BPI.
IPNLBPT= 0: output the body pressure at the panel centroids, or on a uniform parametric
mesh in the higher-order method.
IPNLBPT 1: output the body pressure at the points listed in the input file gdf.BPI. These
points are defined with reference to the body-fixed dimensional Cartesian coordinates for
each body.
IPNLBPT 1: output the body pressure at the points listed in the input file gdf.BPI.
These points are defined with reference to the global coordinate system.
The default value is IPNLBPT= 0. When IPNLBPT6=0 and ILOWHI=0, the absolute
value of IPNLBPT specifies the number of panels nearest to each point specified in gdf.BPI.
See Section 4.6 for further details.
IPOTEN is an integer parameter specifying if the POTEN subprogram is executed during
the WAMIT run.
IPOTEN= 0: Do not execute POTEN.
IPOTEN= 1: Execute POTEN.
The default value is IPOTEN= 1.
IQUADI is an integer parameter specifying the order of the inner Gauss quadrature
parameter IQUI for all patches when the higher-order method is used (ILOWHI=1). The
default value is IQUADI=4. (See Sections 7.11-12.)
IQUADO is an integer parameter specifying the order of the outer Gauss quadrature
parameter IQUO for all patches when the higher-order method is used (ILOWHI=1). The
default value is IQUADO=3. (See Sections 7.11-12 for further information.)
IREADRAO is an integer parameter specifying if the RAOs are to be input from an
external file, as explained in Section 4.3.
IREADRAO= 0: Use RAOs computed by WAMIT in Option 4 to evaluate Options 5-9
IREADRAO= 1: Evaluate only Options 1,2,3,4
429
IREADRAO= 2: Read RAOs in complex format from an external file to evaluate Options
5-9
IREADRAO= 3: Read RAOs from modulus and phase in an external file to evaluate
Options 5-9
The default value is IREADRAO=0.
IRR is the integer used to specify whether the irregular frequencies are removed. The use
of IRR is described in Chapter 9.
IRR= 0: Do not remove the effect of the irregular frequencies.
IRR= 1: Remove the effect of the irregular frequencies. (User needs to represent the
interior free surface by panels or patches.)
IRR= 2: Remove the effect of the irregular frequencies. (Program projects the body
panels on the interior free surface.) This option is restricted to the low-order method
(ILOWHI=0).
IRR= 3: Remove the effect of the irregular frequencies. (Program automatically discretizes
the interior free surface.)
The default value is IRR=0.
ISCATT is an integer parameter specifying whether the diffraction or the scattering problem is solved to obtain the diffraction potential. The diffraction potential may be solved
by the equation (15.12) which we define as the diffraction problem. Alternatively in the
scattering problem, the scattered potential is solved by (15.13) and the diffraction potential
is obtained from equation (15.8): This option is only available in the low-order method
(ILOWHI=0).
ISCATT= 0: Solve the diffraction problem
ISCATT= 1: Solve the scattering problem
The default value is ISCATT=0.
ISOLVE is an integer parameter specifying the method of solution for the linear systems
in POTEN. These three alternative methods are described in Section 14.2.
ISOLVE=0: Use the iterative solver
ISOLVE= 1: Use the direct solver
ISOLVE= N (N 2) : Use the block iterative solver with N blocks
ISOLVE= 1 Special value used for wavemakers in planes of symmetry (See Section 12.3)
The default value is ISOLVE=0.
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 default value is ISOR=0.
430
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 or
velocity in the fluid domain by the source formulation (IOPTN(6)<0) and the mean drift
force and moment from pressure integration (IOPTN(9)=1 or 2). For the control-surface
drift force and moment (IOPTN(7)=1 or 2), if ISOR=0, only the horizontal drift force and
vertical moment can be evaluated using Alternative 1 (IALTCSF=1); ISOR=1 is required
for the other components using Alternative 1, and for all components using Alternative 2.
Running POTEN with ISOR=1 requires substantially longer run time and larger scratch
storage. In the higher-order method (ILOWHI=1) all of the FORCE evaluations are made
directly from the solution for the velocity potential, and ISOR=0 is required.
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 internal tanks. The default
value ITANKFPT=0 should be used except in cases where tanks are included with field
points inside the tanks.
ITANKFPT=0: All field points are in the exterior domain. Field points are input as
specified in Sections 4.3 and 4.4, with the coordinates of each field point on one line, or
using the array format described in Section 4.11.
ITANKFPT= 1: Field points are listed in the .frc control file with the tank number
preceding the coordinates. Thus, in place of the XFIELD lines shown in Section 4.3, the
correponding data are input as follows:
ITANK(n) XFIELD(1,n) XFIELD(2,n) XFIELD(3,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.
ITRIMWL is the integer parameter used to specify the trimmed-waterline option (See
Section 12.2). When ITRIMWL=1 the array XTRIM must be included for each body.
The default value is ITRIMWL=0.
IWALLX0 is the integer parameter used to specify that the plane X=0 is a reflecting
wall (See Section 12.4). When IWALLX0=1 the fluid is bounded by a reflecting wall at
X=0.
The default value is IWALLX0=0.
IWALLY0 is the integer parameter used to specify that the plane Y=0 is a reflecting
wall (See Section 12.4). When IWALLY0=1 the fluid is bounded by a reflecting wall at
Y=0.
The default value is IWALLY0=0.
KSPLIN is an integer parameter specifying the value of the B-spline orders KU,KV for
431
all patches when the higher-order method is used (ILOWHI=1). The default value is
KSPLIN=3. (See Sections 7.11-12 for further information.)
MAXITT is an integer parameter used to specify the maximum number of iterations in
the iterative solver (See Section 14.2).
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 2MAXMIT .) The default value
MAXMIT=8 is assigned unless a different value is input in the CFG file; this value is
recommended for general use.
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. 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.
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 file.
The default value is MONITR=0.
NCPU is an integer which specifies the number of parallel processors (CPUs, also known
as cores) which are available on the system. The default value NCPU=1 is applicable
for most older PCs. The use of NCPU>1, when this is available on the system, permits
substantial reduction in run times (See Section 14.6).
NEWMDS is an integer parameter specifying the number of generalized modes for each
body. The default value is NEWMDS=0. (See Chapter 9.)
NFIELD LARGE is an integer parameter specifying the option to evaluate the hydrodynamic pressure and/or velocity at very large arrays of field points, separately from the
other outputs, as explained in Section 14.9.
NFIELD LARGE= 0: Field outputs are evaluated in the period loop with other FORCE
outputs.
NFIELD LARGE= 1: Field outputs are evaluated in a separate loop after the other
FORCE outputs.
432
433
NPFSP is an integer array used to specify the panel or patch indices of free-surface
pressure surfaces. The data in this array are in pairs, denoting the first and last index
for each surface. An even number of indices must be included on each line. Each pair of
indices must be enclosed in parentheses, as shown in the input file test17c.cfg. More
than one line can be used for multiple surfaces, and/or multiple surfaces can be defined
on the same line. Only integer data and parentheses are read for the array NPFSP, with
spaces or other characters separating each index. Other ASCII characters may be used in
addition to the integers and parenthesis, but integers and parenthesis must be used only
for the inputs above. Further details are given in Section 12.5.
NPNOFORCE is an integer array used to specify the panels or patches which are not
included in the integrations of the pressure force and moment. The data in this array are
in pairs, with the same format rules as specified above for NPFSP. Further details are
given in Section 12.6.
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 first and last index for each tank. An even
number of indices must be included on each line. Each pair of tank indices must be enclosed
in parentheses, as shown in the input file test22.cfg. More than one line can be used
for multiple tanks, and/or multiple tanks can be defined on the same line. Only integer
data and parentheses are read for the array NPTANK, with spaces or other characters
separating each index. Other ASCII characters may be used in addition to the integers
and parenthesis, but integers and parenthesis must be used only for the inputs above. Note
that all of the panels or patches defining the interior of a tank must be contiguous, and
specified by a single pair of indices, since this is the way in which each separate tank is
defined. Further details and examples are given in Section 12.1.
NUMHDR is the integer parameter used to control writing of a one-line header in the
numeric output files.
NUMHDR=0: No headers are included.
NUMHDR= 1: A one-line header is included in the numeric output files specifying the file
name, date, and time.
The default value is NUMHDR=0.
NUMNAM is the integer parameter used to control the assignment of filenames to the
numeric output files.
NUMNAM=0: Numeric filenames are assigned based on the filename of the FRC input
control file. (The same filename is used for the OUT output file.)
NUMNAM= 1: Numeric filenames 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 7.
PANEL SIZE 0.0: subdivide patches into panels as specified by the parameters NU,NV
434
Spaces cannot be used in the pathname. The default value of the pathname is the current
directory.
VMAXOPT9 is a real parameter which can be used to output a warning message when
the nondimensional fluid velocity on the body surface exceeds this value, during the evaluation of the mean drift force and moment from pressure integration on the body surface.
If VMAXOPT90 at any point(s) used in the integration, the body number, panel or
patch number, coordinates of the point and magnitude of the velocity are output in the file
wamitlog.txt, as explained in Section 5.6. This procedure can be used to identify points
on the body surface where the representation of the body geometry may be deficient in
some respect. The default value is -1.0.
XTRIM is the real array used to specify the trimmed-waterline option. XTRIM includes
three real numbers, specifying the vertical displacement, pitch, and roll of the body in the
trimmed condition, as explained in Section 12.2.
ZTANKFS is the real array used to specify the free-surface elevations in internal tanks.
The data in the array ZTANKFS 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 ZTANKFS=. If the array ZTANKFS
is included, it must include one real number for each tank. If the array ZTANKFS is not
included, the waterline of each tank is derived from the highest vertex of the GDF inputs.
ZTANKFS is only used when the waterline trimming parameter ITRIMWL=1. Further
information is given in Section 12.1.
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 NOOUT(9) and
XBODY(4) should be displayed in order on one line, for the sake of readability. Lines which
start with any characters other than the explicit parameters shown below are ignored. A
convenient way to remove parameters temporarily is to add a comment character such as
! before the name of the parameter. This is done in the example below, since NPFORCE
and NPNOFORCE cannot be used together for the same body. (In the .cfg files shown in
Appendix A this is done to emphasize that the header on line one is a comment.)
The following example of a configuration file illustrates all of the possible input parameters for NBODY=1. Section 8.6 shows additional inputs for NBODY>1. For clarity the
parameters are arranged in alphabetic order, but their actual order is arbitrary.
IALTCSF=1 (use Alternative 1 to evaluate the control-surface drift force)
IALTFRC=1 (use FRC format in Section 4.3)
IBODYW =0 (No wavemakers are present in walls)
ICCFSP=1 (Include external restoring coefficients on FSP pressure surfaces )
436
437
438
4.8
An optional input file may be used to specify the filenames of the primary input files POT,
FRC, and GDF. Use of this optional file is recommended. The optional file must be named
fnames.wam. This file includes a list of the input filenames above, including their respective
extensions .cfg, .pot, and .frc. If this file does not exist, or if it is incomplete, the user
is prompted to supply the missing filenames interactively. The number and order of these
filenames is arbitrary. (In Version 7, the GDF filename(s) are specified in the POT file and
it is not necessary to specify any GDF filename in the FNAMES file.)
The only lines which are significant in the fnames.wam file are those which contain an
ASCII string ending in .cfg, .pot, or .frc. Thus comment lines can be inserted, as long
as they do not include one of these three strings.
4.9
FILE NAMES
The names of the input data files must not exceed 20 characters in length including extensions, and including one period (.) separating the filename and extension. Filenames
cannot include intermediate blank spaces (white spaces).
Provisions are made in WAMIT to guard against unintended loss of old output files,
depending on the configuration parameters IDELFILES and IOUTFNAME. In the default
case where these parameters are not used, or are equal to zero, and 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 test01.frc is retained as described in Section 2.9, instead of a modified name
such as test01x.frc, the user is prompted at the start of the FORCE subprogram with
the choice of either overwriting the old file test01.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 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.)
Starting in Version 7.1, the configuration parameters IDELFILES, IOUTFNAME and
IOUTLOG can be used to control and modify filenames automatically, as explained in
Section 4.7. There are four options (IDELFILES=1-4) to delete and overwrite the P2F
and OUT files. If the parameter IOUTFNAME is used, with the value (N=1-4), the
OUT output file is given a unique filename ending in M where the integer M is assigned
439
in ascending order, using N digits. If the default setting NUMNAM=0 is used, all of
the output files from the run are given the same unique filename, providing an efficient
system for preserving output files without the need for interactive input during the runs.
If IOUTLOG=1 is assigned, the log file wamitlog.txt is copied at the end of the run to a
second file with the same filename as the OUT files, ending in log, to provide an archive
of the inputs for the run.
In the Windows PC environment filenames are not case sensitive. A distinction must be
made for systems such as UNIX and LINUX, which are case sensitive. Most filenames and
extensions which are assigned by WAMIT are specified in lower-case letters (via assignments of type CHARACTER in the source file modulesc.f. 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. Input parameters which are read by
the program, such as the parameters in the configuration files, are not case sensitive.
The extensions .gdf, .pot, and .frc are required, unless the corresponding assignments
are changed in the source code.
A list of all reserved filenames is in Section 14.8.
440
4.10
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 in Appendix A. 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 can 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.
All lines of data in input files which contain ASCII text must be restricted to columns
1-80.
441
4.11
In some applications large numbers of field points are required, with a spacing on a rectangular grid. This can be facilitated by assigning the parameter IFIELD ARRAYS= 1 in
the CFG file, as explained in Section 4.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 4.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)
443
4.12
In most cases the principal computational time required in WAMIT runs is in POTEN,
to set up and solve the linear system of equations for the velocity potential at each wave
period. This starts with the first wave period (JPER=1) and continues in sequence to the
last period (JPER=NPER), where NPER is the number of wave periods specified in the
POT file. When the computations are completed for each wave period a one-line display
is shown on the monitor including the wave period, clock time, and numbers of iterations
for the radiation and diffraction solutions. (The same line is reproduced in the header of
the OUT file.) This display during the run permits the user to monitor the progress, and
estimate the total time to complete the run.
The optional input file break.wam can be used to activate break points during the
POTEN run. This makes it possible to break a run, when the computational time is
excessive, without losing data that has already been computed. The use of break.wam is
optional, and if break.wam does not exist in the default directory the run will continue
normally without any breaks. It is possible, as described below, to input break.wam after
the WAMIT run has started, in order to break a run which is taking more time than was
expected at the start of the run.
If the input file break.wam exists, and can be opened without an error, the user is
prompted at two break points within the loop over NPER wave periods. The first break
point is at the beginning of the period loop, before setting up the linear system, and the
second break point is after setup is completed but before solving the linear system. Since
the relative balance of time required for setup and solution depends on the inputs, two
opportunities to break the run are provided.
When a break occurs, the monitor displays a message to identify the break point, followed by a menu of options. The two messages for the first and second break points are
as follows:
Break at start of period loop, period JPER=
Break before CALL SOLVE, period JPER=
The value displayed for JPER is the index of the current wave period. If the run is
terminated with JPER=1 there will be no outputs (except for the header information and
hydrostatics). To minimize the amount of wasted computations it is most efficient to break
the run at the start of the period loop, with JPER>1, instead of after the setup of the
linear system is completed.
Following the above message, the menu prompts the user to select one of three options,
with the following display on the monitor:
File BREAK.WAM exists.
445
4.13
It is possible to input RAOs from an external file, referred to as the external RAO file.
This permits users to modify RAOs to take into account physical effects which are not
included in the original WAMIT computations, and to evaluate other hydrodynamic parameters including the drift forces, pressures and velocities based on the modified values
of the RAOs. This option is controlled by the parameter IREADRAO in the CFG file, as
explained in Section 4.7. If IREADRAO=0 (default), the RAOs computed by WAMIT in
Option 4 are used to evaluate the other hydrodynamic parameters (Options 5-9).
In a typical application where the RAOs are to be modified, two separate WAMIT runs
are executed. These are summarized in the two following paragraphs.
If IREADRAO=1 is assigned in the CFG file, the WAMIT run is executed in the same
manner as in the default case, except that Options 5-9 are not evaluated. (The results are
the same as if IOPTN(5:9)=0 are assigned in the FRC file.) This provides the necessary
added-mass, damping, exciting-force and hydrostatic coefficients for use in modifying the
RAOs. A normal RAO numeric output file is also generated, to serve as a guide for the
format and contents of the external RAO file. At this stage the user can prepare the
external RAO file, which must be named f rc.rao and correspond to the contents of the
WAMIT output file f rc.4 with the same definitions of the data (cf. Section 5.2).
If IREADRAO=2 or 3 and IPOTEN=0 are assigned in the CFG file, the program
skips the POTEN computations and reads the solution from a previous run, saved in the
intermediate binary file pot.p2f (the filename pot of the POT input file must be retained
for this purpose). Then the program reads the RAOs from the external file f rc.rao and
evaluates the hydrodynamic outputs for Options 5-9 using these values of the RAOs.
The two alternatives IREADRAO=2 and IREADRAO=3 are used to read the RAOs
from the real and imaginary components (columns 6 and 7) or modulus and phase (columns
4 and 5) respectively. If IREADRAO=2 there must be four real (decimal) numbers which
correspond to the modulus, phase, real and imaginary components of each RAO as shown
in Section 5.2 for OPTN.4. (Arbitrary real numbers can be assigned to the modulus and
phase since these are ignored.) If IREADRAO=3 only the modulus (absolute value) and
phase (in degrees) are read, and it is not necessary to include additional real numbers in
columns 6 and 7.
Important rules which must be followed in preparing the external RAO file are as follows:
If header lines are included in the numeric output files (NUMHDR=1) a header line
must be included in f rc.rao Conversely, if header lines are not included in the numeric
output files (NUMHDR=0) a header line must not be included in f rc.rao
For each wave period, heading, and mode index a separate line (or successive lines)
must be included in f rc.rao with the same set of data including two or four real
numbers which define the modulus, phase, real and imaginary components of each
RAO.
The wave periods, heading angles, and mode indices must be the same as in f rc.rao
446
and these must be in the same order with respect to period and heading angles (the
order of mode indices is arbitrary).
The precise format of the data in f rc.rao is not important and does not need to be
identical to f rc.4 with respect to column widths, spaces, or number of decimal digits. This
file is read with FORTRAN free-format read statements, so that the data can be input in
integer, fixed, or floating-point formats. It is recommended to use only integer format for
the mode index and fixed or floating-point format for all other data. If the data cannot
be read or is not consistent with the file f rc.4 an error message is issued and the program
execution is terminated.
There are two exceptions where the data in f rc.rao do not correspond with the data
in f rc.4. If the parameter IBODYW>0 is assigned in the CFG file to define one or more
wavemakers, the modes for these wavemakers must not be included in the external RAO
file. Similarly, if fixed modes of the body are defined in the FRC file, as explained in
Section 4.5, and designated by negative mode indices in f rc.4, these modes must not be
included in the external RAO file. Users are advised not to use fixed modes in combination
with the option to define RAOs in the external RAO file, since the modified RAOs cannot
be used to evaluate the fixed mode loads. A warning message is issued in this case.
It is not necessary to use IREADRAO=1 in place of IREADRAO=0, but this avoids
unnecessary computations for Options 5-9 when the RAOs will be modified by the user.
4.14
In the default case where IPOTEN=1 and IFORCE=1 WAMIT first executes the POTEN
subroutines to evaluate the potential for all wave periods, and then the FORCE subroutines
to evaluate the output parameters specified in the FRC control file, as shown in the flow
chart in Figure 1.1. In that case the output parameters are included in the f rc.OUT file,
and also in the separate numeric output files which use either the filename f rc in the
default case (NUMNAM=0) or alternatively the filename optn if NUMNAM=1.
In long runs where the execution time for POTEN is large, no FORCE outputs are
available until after a substantial time. This may be inconvenient for the user, especially
if it is desired to check a few outputs for the initial wave periods prior to the completion
of the run. Also, if the run is interrupted prior to completion all of the computed data is
lost unless the special procedure described in Section 4.12 is used.
If IFORCE=2 and NCPU=1, the computations of POTEN and FORCE are executed
in sequence for each wave period, and the outputs from the intermediate numeric output
files of FORCE are available as soon as each wave period is completed. The optn filename
is used for these intermediate outputs in POTEN. After completion of the POTEN period
loop, the same data are written to the numeric output files (with the filenames f rc or
optn, depending on the configuration parameter NUMNAM), and to the file f rc.out.
The optn files will be overwritten in the next WAMIT run, without warning. During a
long POTEN run the data which has been evaluated in the optn files can be read with a
text editor, but should not be re-saved with the same names to avoid conflicts during the
447
WAMIT run.
When multiple processors are used (NCPU>1) with IFORCE=2, POTEN and FORCE
are executed in the same manner as described above. However the data in the optn files
are not output until after the period loop is completed, and thus it is not possible to access
these outputs during the execution of POTEN.
448
Chapter 5
OUTPUT FILES
Several output files are generated during a typical WAMIT run. These are intended to
facilitate visual examination of the results in tabular form, and post-processing by other
software.
The formatted output file is described in Section 5.1. This summarizes the hydrodynamic outputs in a single file with appropriate identifying text. The header which includes
a summary of the inputs and hydrostatic computations. The numeric output files, described in Sections 5.2-5, are intended to tabulate the hydrodynamic outputs in a more
concise form for post-processing. The principal numeric output files are described in Section 5.2. Section 5.3 explains the additional files used to output the Froude-Krylov and
scattering components of the exciting forces. Section 5.4 describes the output file used
for the B-spline coefficients of the body pressure when the higher-order method is used.
Section 5.5 explains the special output files which are generated when the pressure and
velocity are evaluated at user-specified points on the body.
Section 5.6 describes the output file for the hydrostatic restoring coefficients which are
computed by WAMIT and used in the equations of motion. Section 5.7 describes the
auxiliary files which output geometric data. Section 5.8 describes the outputs of warning
and error messages. The log file wamitlog.txt described in Section 5.9 is intended to
provide useful archival information including a condensed summary of all input files and
error or warning messages which are generated during the run. The intermediate data
transfer file, which is described briefly in Section 5.10, is a binary file used internally in
WAMIT to transfer data from the POTEN to FORCE.
5.1
The formatted output file f rc.out is written in the sub-program FORCE to summarize
inputs and outputs. The principal inputs are in the header portion of the file, including
licensing information, input filenames, run times and dates, and hydrostatic data. The
hydrodynamic outputs are written in sequence for each wave period, heading angle, and
parameter. Appropriate text labels are included to identify the data.
51
If an old file exists with the same name, in the same directory, the user is interrogated
with options to over-write the old OUT file or to assign a different name to the new file.
This interruption can be avoided by renaming or deleting the old file. Often, when different
options or variants of the inputs are being compared, it is convenient to assign a new name
which is related to the old name in a logical manner. This situation can be avoided by
using different filenames for the corresponding FRC input files, even if the files are the
same.
5.2
Separate output files of numeric data are generated for each of the nine options of the
FORCE subprogram listed in Section 4.3. The hydrodynamic parameters in these files are
output in the same order as in the OUT file, and listed in the following format:
ij
OPTN.1:
PER I
J
Aij
B
i ) Pha(X
i ) Re(X
i)
i)
OPTN.2:
PER BETA I
Mod(X
Im(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)
OPTN.5VX: PER BETA M K Mod(Vx ) Pha(Vx )
Re(Vx )
Im(Vx )
OPTN.5VY: PER BETA M K Mod(Vy ) Pha(Vy )
Re(Vy )
Im(Vy )
OPTN.5VZ: PER BETA M K Mod(Vz ) Pha(Vz )
Re(Vz )
Im(Vz )
OPTN.6P:
PER BETA L
Mod(
p)
Pha(
p)
Re(
p)
Im(
p)
OPTN.6VX: PER BETA L
Mod(Vx ) Pha(Vx )
Re(Vx )
Im(Vx )
OPTN.6VY: PER BETA L
Mod(Vy ) Pha(Vy )
Re(Vy )
Im(Vy )
OPTN.6VZ: PER BETA L
Mod(Vz ) Pha(Vz )
Re(Vz )
Im(Vz )
OPTN.7:
PER BETA1 BETA2 I
Mod(Fi ) Pha(Fi ) Re(Fi ) Im(Fi )
[PER BETA1 BETA2 -I
Mod(Fio ) Pha(Fio ) Re(Fio ) Im(Fio )]
OPTN.8:
PER BETA1 BETA2 I
Mod(Fi ) Pha(Fi ) Re(Fi ) Im(Fi )
OPTN.9:
PER BETA1 BETA2 I
Mod(Fi ) Pha(Fi ) Re(Fi ) Im(Fi )
[PER BETA1 BETA2 -I
Mod(Fio ) Pha(Fio ) Re(Fio ) Im(Fio )]
Depending on the value of NUMNAM, the filenames OPTN are replaced by frc, as explained
in Section 4.7.
All output quantities are nondimensionalized as defined in Sections 3.2-8. Complex
quantities are defined 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.
If Option 5 is specified and INUMOPT5=1, the numeric output files .5p, .5vx, .5vy,
.5vz contain the separate components of the radiation and diffraction pressure and velocity
in the following modified format:
OPTN.5P: PER M K Re(
p1 ) Im(
p1 ) Re(
p2 ) Im(
p2 ) ...
PER BETA M K Re(
pD ) Im(
pD )
Here ... denotes the remaining components for modes 3,4,5,6 if the six rigid-body modes are
52
specified for a single body. More generally when different 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 M and K before the diffraction pressures. Corresponding formats apply for the fluid velocity components in the files OPTN.5vx, OPTN.5vy,
OPTN.5vz.
If Option 5 is specified and IPNLBPT=0, the supplementary output file gdf.PNL is created
in the following format:
gdf.PNL:
XCT
YCT
ZCT
If Option 6 is specified and INUMOPT6=1 the numeric output files .6p, or .6vx, .6vy
and 6vz contain the separate components of the radiation and diffraction pressure and
velocity in the following modified format:
OPTN.6p: PER L
Re(
p1 ) Im(
p1 ) Re(
p2 ) Im(
p2 ) ...
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
specified for a single body. More generally when different 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 diffraction pressures. Corresponding formats
apply for the fluid velocity components in the files OPTN.6vx, OPTN.6vy, OPTN.6vz.
If Option 6 is specified the supplementary output file frc.fpt is created with the following
format:
OPTN.fpt:
XFIELD(L)
YFIELD(L)
ZFIELD(L)
If a field point is located on the free surface, inside or on the waterline of a body, a
zero is added after the coordinates as explained in Section 4.3, and the format of the
supplementary output file frc.fpt is as follows:
OPTN.fpt:
XFIELD(L)
YFIELD(L)
ZFIELD(L)
Except as noted below, the definitions of parameters in these files 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 specified, or if IPNLBPT>0, then M=1.)
K: Index for panels on the body surface
L: Index for field 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
53
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 field point
In Option 5, when IPNLBPT6= 0, the index M refers to the body index and K refers to
the body point in the order listed in the .bpi input file and .bpo output file. The file gdf.pnl
is only output when IOPTN(5)>0 and IPNLBPT=0. If ILOWHI=1 the data output in
this file differ from those shown above as follows:
K: Index for points on the body surface (See Section 5.5)
XCT, YCT, ZCT: Dimensional global coordinates of points
AREA: Product JU V where J is the Jacobian at the point, and U , V denote the
differential increments between points in parametric coordinates.
nx , ny , nz : Components of the unit vector normal to the body surface at each point
(r n)x , (r n)y , (r n)z : Components of the cross product of the position vector at
each point.
In Option 8, the mean force and moment are output only for modes I=1, 2 and 6,
corresponding to the two horizontal forces and yaw moment, respectively.
In Options 7 and 9, the six components of the mean forces and moments, Fi , are output
on the first six lines, with positive indices (i=1,2,...,6). These are the components of the
force and moment vectors, defined with respect to the inertial reference frame corresponding
to the mean position of the body coordinate system. When IRAD 0, three additional
components of the moment Fio , are output and identified by negative indices (i=-4,-5,-6).
These are the components of the moment about the moving origin, denoted by o in Figure
15.1. In all cases the components of the vector force and moment are defined with respect
to the inertial (mean) coordinate system.
If NBODY>1, the panels of all bodies are merged with a common index K, following
the same order as the body parameters in the POT file (See Chapter 8).
If IDIFF=-1 is used to compute outputs for radiation modes, as described in Section 4.3
(forced motions in calm water), the wave heading angle BETA=0 is shown in the numeric
output files for options 5-9.
5.3
The separate Froude-Krylov and scattering components of the exciting force and moment
can be evaluated by setting the index IOPTN(2)=2 and/or IOPTN(3)=2 in the FRC file,
as explained in Section 4.3. In this case additional numeric output files are generated by
the program, with the extensions .2fk and .2sc for the Haskind forces and .3fk and .3sc for
the diffraction forces. These files contain the Froude-Krylov and scattering components
respectively, in the same format as shown above for the OPTN.2 and OPTN.3 files. These
54
are defined in Section 3.3. The Froude-Krylov outputs in the .2fk and .3fk files are identical.
5.4
If the higher-order method is used (ILOWHI=1), Option 5 is selected in the FRC file,
and IPNLBPT=0, the pressure and the fluid velocity on the body surface are output at
the points corresponding to equally-spaced points in parametric space. These points are
defined in parametric space as the midpoints of the set of (KU + 1) (KV + 1) panel
subdivisions on each patch (see Chapter 7). The coordinates, the extended normal vector
corresponding to 6 rigid body modes and the Jacobian are output in the .pnl file. The
value of the Jacobian at the prescribed point replaces the panel area in the format shown
in Section 5.2. The pressure and the fluid velocity vector at these points are output in the
files 5p, 5vx, 5vy and 5vz in the same format as shown in Section 5.2. (If IPNLBPT6=0 is
assigned in the configuration file the alternative option is utilized with the points on the
body surface specified by the user, as described in Sections 4.6 and 5.5.)
When the above options are specified a second output file .5pb is also generated. This
file contains the B-spline coefficients and other relevant parameters for the evaluation of
the pressure and its derivatives on the body surface. The total pressure coefficient (),
the diffraction pressure (D ) and the radiation pressure (R ) are output separately. The
radiation pressure has as many components as the number of modes specified in the POT
file, including generalized modes. Following the definition of the nondimensional pressure
(Section 3.5) these three components are related by the equation
= D + KL
j j
NEQN
NLHS
NDFR
NBODY
((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,WVNFIN,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
56
NP+1 and NQ are the pointers of the first and the last B-spline coefficients of the unknown
velocity potential on patch L.
HLINE: header line
ISX,ISY: Symmetry index (1/0 = symmetric/asymmetric).
ULEN: Characteristic length specified in GDF.
NPATCH: Number of patches.
IRAD, IDIFF: Radiation/diffraction problem indices.
NPER, NBETA: Number of periods and wave headings.
NEQN : The total number of unknown B-spline coefficients.
NLHS : Number of components to be solved when the total solution is decomposed into
symmetry and antisymmetry components for the body having geometric symmetry
NDFR : The total number of degrees of freedom. It equal to the sum of the degrees of
freedom of each body.
NBODY : Total number of bodies.
XBODY : Normalized coordinates of the origin of body coordinate system and its orientation relative to the global coordinates system.
XBCS : XBCS(1,I) and XBCS(2,I) are cosine and sine of XBODY(4,I)
IBPTH(L) : Body index for patch index L.
IBMOD(N) : Global modes counter. Number of modes prior to the present body N.
IGEO : Parameter used to determine the sign of the pressure/velocity on the reflected
patches (see MODE.F)
ILHS : Pointer of the given LHS among NLHS components
IFLAT : Index for patches on the free surface.(IFLAT=-1, patches on interior free surface.
IFLAT=1, patches for flat physical surface on the free surface. IFLAT=0, patches not on
the free surface.)
KU,KV,NU,NV: Orders and panels
NMDS : For given LHS, total number of modes of radiation problem.
57
5.5
As explained in Section 4.6, the body pressure and velocity can be evaluated at specified
points on the body using the special input file gdf .bpi to input the coordinates of these
points. In this case the pressure is output in the .5p numeric output file with the following
format:
OPTN.5P:
PER
BETA
IBODY
IPOINT
Mod(
p)
Pha(
p)
Re(
p)
Im(
p)
This format and the definitions of the data are the same as in Section 5.2, 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 file (J=1,2,...,NBPT) for each body. Similar output
files .5vx, .5vy, .5vz contain the components of the fluid velocity on the body surface in
the same format, when IOPTN(5)2.
In addition to these hydrodynamic outputs, a supplementary file gdf.bpo (Body Point
Output) is output to provide information about the actual points where these evaluations
are made.
If the low-order method is used (ILOWHI=0) the format of the BPO file is as follows:
gdf.BPO:
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 specified 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).
NNEAR is equal to the absolute value of the configuration parameter IPNLBPT. In the
example shown above NNEAR=4.
In the higher-order method (ILOWHI=1), where the solution for the velocity potential
and pressure is represented by continuous B-splines on each patch, the program searches
58
iteratively for the patch index and (U, V ) coordinates of the point closest to the input point,
as explained in Section 4.6. In this case the supplementary output file gdf.bpo contains the
following data for each point:
gdf.BPO:
NP
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 specified (x, y, z) point. I is the number of iterations. A maximum of
16 iterations are used in this search, and if I=17 this indicates noncovergence of the search.
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.
5.6
The file f rc.hst is created to output values of the nondimensional hydrostatic matrix Cij
in the following format:
J)
I J C(I,
This matrix is defined in Section 3.1.
The file f rc.mmx is created to output the dimensional values of the external mass,
damping and stiffness matrices and other data. The format and data included in this file
depend on the parameters NBODY, NMODES, and IALTFRC. An abbreviated copy of
this file for the standard test run TEST08 described in Section A.8 is shown below.
WAMIT -- Force Output File -- test08.mmx
Gravity:
NBODY =
9.80665
1
14-Apr-2013
Length scale:
18:08:59
1.00000
IALTFRC = 2
IALTFRCN = 2
62731.0
62731.0
0.000000
0.000000
0.000000
0.000000
DAMP(I,C)
0.000000E+00
0.000000E+00
0.000000E+00
59
STIF(I,J)
0.000000E+00
0.000000E+00
0.000000E+00
-0.308443E-01
0.000031
1.000000
10
10
10
8
9
10
6.283200E+04
6.283200E+04
6.568800E+04
0.000000E+00
0.000000E+00
0.000000E+00
1.648708E+07
6.438204E+07
1.624066E+08
The external force matrices are defined in Sections 4.4 and 8.2. If IALTFRC=1 is used
to input the body inertia from the products of inertia, as explained in Section 4.3, the
equivalent mass matrix is output in the .mmx file, normalized by the fluid density. If
NBODY>1 the data for each body is listed separately, in succession, identified by the
body number and IALTFRCN. If IALTFRC=2 the global force matrices are listed after
the separate data for each body. The dimension of these matrices is equal to the number
of degrees of freedom, as explained in Sections 4.4 and 8.2-3.
5.7
Options exist to generate three auxiliary geometry output files: gdf pan.dat, gdf pat.dat,
and gdf low.gdf. (Here gdf is the filename of the GDF input file. For a run with NBODY>1
the GDF filename for the first body is used.)
The files gdf pan.dat and gdf pat.dat contain the Cartesian coordinates of panels or
patches in formats suitable for perspective plotting with programs such as Tecplot. This
facilitates the use of perspective plots to illustrate and check the GDF inputs. Examples
of these plots are included in Appendix A for each test run.
The file gdf low.gdf is a low-oder GDF file, with the coordinates of new low-order panels
which are derived from the input geometry. In all cases the coordinates are dimensional,
and defined in the same units as specified in the input GDF file(s).
The data in gdf low.gdf has the same definitions and format as a conventional low-order
GDF file (Section 6.1). The coordinates of the panel vertices are defined with respect to
the body coordinate system, corresponding to the original GDF inputs. If NBODY>1 the
file gdf low.gdf represents the body identified as N = 1. If the original body panels are
reflected by the program, the file gdf LOW.GDF will include panels for the reflected 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 reflected by the
program, gdf low.gdf contains the original body panels (without subdivision) plus their
images about the reflected planes of symmetry.
The data in gdf pan.dat and gdf pat.dat are defined with respect to the global coordinate system. In a WAMIT run with NBODY>1 the data for all of the bodies are included.
The figures in Sections A.5 and A.13 illustrate this feature.
These files 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 file gdf pan.dat using the Tecplot finite-element format FEPOINT.
The integer parameter IPLTDAT in the configuration files is used to specify whether or
510
not to generate this output file. In the default case (IPLTDAT=0) no file is generated. If
(IPLTDAT>0) the file is generated.
In the low-order method (ILOWHI=0) the optional output file gdf LOW.GDF is controlled by the integer parameter ILOWGDF in the configuration files. If ILOWGDF> 0
the output file gdf LOW.GDF is generated, with all of the original panels subdivided into
ILOWGDFILOWGDF sub-divisions. The first three lines are copied from the GDF input file. 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 files gdf pat.dat and
gdf pan.dat specify the vertex coordinates of both the patches and panels, as defined in
Chapter 7. These files are in the Tecplot ordered-list format POINT. The integer parameter
IPLTDAT in the configuration files is used to specify whether or not to generate these
output files. In the default case (IPLTDAT=0) no files are generated. If (IPLTDAT>0) the
number of panel subdivisions on each patch is determined by the parameters NU and NV in
the SPL file, as explained in Section 7.11. If IPLTDAT=1 the data file gdf pat.dat contains
only the four vertices of each patch, and the file gdf pan.dat contains only the four vertices
of each panel. If IPLTDAT>1, each element is subdivided into IPLTDATIPLTDAT subelements. 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 A.11-19.)
In the higher-order method (ILOWHI=1) the optional output file gdf LOW.GDF is
controlled by the integer parameter ILOWGDF in the configuration files. If ILOWGDF> 0
a low-order GDF file is generated, using the panel vertices of the higher-order geometry with
ILOWGDFILOWGDF sub-divisions. The first three lines are copied from the higherorder GDF input file. The total number of sub-divided panels is included on line 4. This
option can be used to generate low-order GDF files for any of the geometries which can be
input to the higher-order method, including geometries represented by a small number of
flat patches (Section 7.5), B-splines (Section 7.6), and geometries which are defined in the
subroutine GEOMXACT (Section 7.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-fixed dimensional system as the original input data.
These optional files are generated in the POTEN subprogram, after reading the geometry input files and before looping over the wave periods. If NPER=0 these files can be
generated quickly, without the extra time required to solve for the potential and hydrodynamic parameters.
511
5.8
ERROR MESSAGES
Numerous checks are made in WAMIT for consistency of the input data. Appropriate error
messages are displayed on the monitor to assist in correcting erroneous inputs. Output files
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. These files are overwritten with every new run. When the program runs successfully without any warning or error, the .LOG file 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 diffraction by a body with one or two planes of symmetry, where it is possible
to compute the fluid pressures, velocities, and mean drift forces (Options 5-9) at certain
heading angles without solving for all components of the diffraction potential; in this case
the warning message states that the solution is non-physical, whereas at some heading
angles the outputs will be correctly evaluated. For further discussion of this shortcut see
the discussion of MODE in Section 4.2 and related discussion in Section 4.3.
The same messages are displayed on the monitor during the run, and in the log file
wamitlog.txt. 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 significant messages are contained in these two files.
Two particular warning messages which occur relatively frequently are the following:
Number of subdivisions exceeds MAXSQR
WARNING no convergence in momentum Dx/Dy/Mz for headings ...
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 field 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 definition in the
vicinity of these points. Usually this indicates either an error in the geometry definition,
or specification of a field point too close to the body surface.
The convergence test for the momentum drift force and moment is used to ensure accurate integration of the momentum flux in the far field. This integration is performed
recursively, increasing the number of azimuthal integration points by factors of 2. Convergence is achieved when the difference between two successive iterations, in each of the three
components Dx,Dy,Mz, is less than a prescribed tolerance TOL=104 . If the component is
less than one in absolute value, absolute differences are used, otherwise relative differences
are used. The maximum number of iterations is controlled by the parameter MAXMIT
512
in the configuration files. (With the default value MAXMIT=8 the maximum number of
integration ordinates is 28 = 256.) When necessary this parameter can be increased, but it
should be noted that this increases the computational time exponentially when the mean
drift force and moment are evaluated from Option 8.
Since the components of the mean drift force are nondimensionalized by ULEN, and the
moment by ULEN2 , convergence can also be affected by the choice of ULEN in the GDF
file. If ULEN is much smaller than the physical length scale of the body it will not affect
the convergence tests, and vice versa. Another point to note is that some components of
the force and moment may be relatively small, and of little practical importance, whereas
they may affect the convergence test. When in doubt about situations where the warning
message occurs, it may be advisable to increase MAXMIT by 1 or 2 units and compare
the resulting outputs manually.
Starting in Version 7.0, an option can be used to issue a warning message and to
output in the file wamitlog.txt all points on the body surface where the magnitude of
the nondimensional fluid velocity is greater than VMAXOPT9, during the evaluation of
the mean drift force and moment from pressure integration on the body surface. In this
case, if VMAXOPT90, data is output including the body index, panel or patch index,
location of the point in dimensional body coordinates, and magnitude of the fluid velocity.
The parameter VMAXOPT9 may be included in the configuration file (cfg), as explained
in Section 3.7. The default value VMAXOPT9=-1.0 is assigned if there is no input, with
the result that the above warning and outputs are not included. This option can only
be used if IOPTN(9)>0 in the Force Control File. This option can be used to identify
points where the representation of the body geometry is deficient in such a way that the
evaluation of the fluid velocity is non-physical. In general the fluid velocity should be of
order of magnitude one, or smaller, on the body surface, and values which are much greater
than this may be due to either sharp corners (which are physically correct) or defects in the
representation of the body geometry (which are not physically correct). This option should
be used with care, to avoid excessive outputs. If VMAXOPT9=0.0, every integration point
will be output, for all wave periods, heading angles, and symmetry planes of the body.
5.9
The file wamitlog.txt is output during the run to provide an archival record. The file
includes the starting and ending time and date for each sub-program, copies of the principal
input files, and copies of the outputs in the files errorp.log and errorf.log. (Since the
GDF input files are relatively long in the low-order method, and also in the higher-order
method when the geometry is defined by low-order panels or B-splines, only the first 10
lines of the GDF file are copied in these cases. The maximum width of lines of data
is truncated to 80 characters in wamitlog.txt. The existing wamitlog.txt file, in the
directory where the program runs, is overwritten with every new run. If IOUTLOG=1 is
assigned, the file wamitlog.txt is copied at the end of the run to a second file with the
same filename as the OUT files, ending in log, to provide an archive of the inputs for the
run. Otherwise, if it is appropriate to save this file, it should be renamed or moved to a
513
5.10
The file pot.p2f is written by POTEN and read by FORCE. The filename pot is the same as
the POT input file. The P2F file contains the solutions of the linear systems of equations
for the velocity potential (and source strength) on the body surface, and also some inputs to
POTEN which are required by FORCE, e.g. the wave periods and heading angles specified
in the POT file. To facilitate data transfer the P2F file is a binary file, and it cannot be
used for purposes other than as input to FORCE.
The P2F file can be used for multiple runs of FORCE, in situations where the outputs
from POTEN are the same. TEST17b is an example of this situation, where the only change
from TEST17a is to apply an external damping force on the lid to attenuate the moonpool
resonance (See Section A.17). In this case IPOTEN=0 is assigned in the configuration file
and the POTEN run is skipped, with considerable savings of time. Increasing the number
of Haskind wave heading angles, adding options in FRC which were omitted in the original
run, and using an external RAO file (Section 4.13) are examples of other situations where
it is useful to save the original P2F file and avoid the extra computational time required
to repeat the POTEN run.
If another run is made using the same POT file, with IPOTEN=1 (default) and with
an old P2F file in the same directory with the same filename, the user is interrogated
with options to over-write the old P2F file or to assign a different name to the new file.
This interruption can be avoided by renaming or deleting the old P2F file, or using the
configuration parameter IDELFILES as explained in Section 4.7.
The P2F files can be relatively large, depending on the parameters of the run. Unless
future use is anticipated it may be best to erase or over-write old files.
514
Chapter 6
both sides of these elements, with a finite thickness to separate the two sides. The disadvantage of this approach is that, as a general rule, the size of the panels must be comparable
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]. WAMIT permits the user
to specify a set of dipole panels, as described in Section 6.3. 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 artificially increase the thickness.
6.1
62
Figure 6.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.
X1(2) Y1(2) Z1(2) X2(2) Y2(2) Z2(2) X3(2) Y3(2) Z3(2) X4(2) Y4(2) Z4(2)
.
.
.
.
. . . . .
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 effect 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 efficient regarding storage and access time.)
Input data must be in the order shown above, with at least one blank space separating
63
in Figure 6.1. The precise format of each coordinate is unimportant, as long as there
is at least one blank space between coordinates, and the coordinates of the four vertices
representing a panel are listed sequentially.
There are two situations when panels lie on the free surface, and thus all four vertices
are on the free surface: (1) the discretization of a structure which has zero draft over
part or all of its submerged surface, and (2) the discretization of the interior free surface
for the irregular frequency removal as described in Chapter 10. For the first case, where
the panels are part of the physical surface, the panel vertices must be numbered in the
counter-clockwise direction when the panel is viewed from the fluid domain as in the case
of submerged panels. For the second case, where the panel is interior to the body and
non physical, the vertices must be numbered in the clockwise direction when the panel is
viewed from inside the structure (or in the counter-clockwise direction when the panel is
viewed from above the free surface). Details of the discretization of the interior free surface
are provided in Chapter 10.
Although the panels on the free surface are legitimate in these two special cases, a
warning message is displayed by WAMIT when it detects panels with zero draft, which
have four vertices on the free surface. This is to provide a warning to users for a possible
error in the discretization other than the above two exceptional cases. The run continues
in this case, without interruption. An error message is displayed with an interruption of
the run when the panels have only three vertices on the free surface, unless two adjacent
vertices are coincident. (The latter provision permits the analysis of a triangular panel
with one side in the free surface.)
The three Cartesian coordinates of four vertices must always be input for each panel, in
a sequence of twelve real numbers. Triangles are represented by allowing the coordinates
of two adjacent vertices to coincide, as in the center bottom panels shown in Figure 6.1.
Two adjacent vertices are defined 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 defines
planar panels that are a best fit to four vertices not lying on a plane. However it is advisable
to discretize the body so that the input vertices defining 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 specified in the Potential Control
File. The same body-system is also used to define 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.
65
The displaced volume of the structure deserves particular discussion. Three separate
algorithms are used to evaluate this quantity, as explained in Section 3.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 differ by small amounts due
to inaccuracies in machine computation and, more significantly, to approximations in the
discretization of the body surface.
A general-purpose pre-processor has been developed for preparation of GDF files, using
the MultiSurf geometric modelling program.1
1 AeroHydro,
Inc., 54 Herrick Rd., Southwest Harbor, Maine 04679 USA 207-244-4100 (www.aerohydro.com)
66
6.2
This section describes the evaluation and use of the source strength, in the context of
calculating the fluid 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 effectively the tangential components of the fluid 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. A brief description of the theory is provided in
Section 15.4. (Further details are given in [10] and [26].)
Setting the parameter ISOR=1 in the configuration files specifies that the sourcedistribution integral equation is solved in addition to the velocity-potential integral equation. This is required in some cases for Options 5,6,7 and 9 in the FRC file, as noted in
Section 4.3.
Values of the drift force and moment can be compared with the corresponding outputs
evaluated using momentum conservation (Option 8), and with the drift forces evaluated
using the control surface (Option 7). In general the results obtained from integration of the
second-order pressure will require a finer 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 first-order solution. For example, if the body has two planes of symmetry
the vertical first-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 diffraction 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 first-order potential, i.e. by setting IDIFF=1 for the stationary body
and IRAD=1 and IDIFF=1 for the freely floating body in the POT file. [An example of
a valid short cut exists if both the body geometry and the hydrodynamic flow field are
symmetrical about a plane of symmetry; then it is not necessary to evaluate first-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.
67
6.3
Bodies which consist partially (or completely) of elements with small or zero thickness can
be analysed by defining these elements as dipole panels. The geometry of these elements is
represented by panels in the same manner as conventional body panels (Section 6.1). Figure
6.2 shows a typical example of a floating spar with thin helical strakes. This structure is
analyzed in Test Run 09, described in the Appendix (Section A.9).
Figure 6.2: Perspective view of a floating spar with three helical strakes, showing the conventional panels
on the spar and dipole panels on the strakes.
68
The velocity potential on the dipole panels is represented by dipoles alone, with no
corresponding sources. The unknown is the difference of the velocity potential on the two
sides, which is proportional to the pressure jump across the panel. Since both sides of the
dipole panels adjoin the fluid, the direction of the normal vector is irrelevant. A positive
difference of the velocity potential is defined to act in the normal direction to the surface
from the side on which the vertices are in the counter-clockwise direction to the opposite
side. The order of the vertices in the GDF file is arbitrary, as long as they are in a logical
sequence to form a closed quadrilateral with contiguous sides.
The indices of the dipole panels are defined in the CFG file by including one or more
lines starting with NPDIPOLE=, followed by the indices or ranges of indices of the dipole
panels, as explained in Section 4.7. In this case the format of the GDF file is as explained
for the case without dipole panels in Section 6.1, and the parameter NPAN is the total
number of panels including both conventional and dipole types. The dipole panels may
be located arbitrarily within the array of all panels. It is possible to analyze bodies which
consist entirely of zero-thickness elements, by including the line NPDIPOLE= (1 nn) in
the CFG file, where nn=NPAN is the same integer value input in the GDF file.
The source formulation cannot be used if dipole panels are included. Thus the fluid
velocity on the body cannot be evaluated, and the mean drift force/moment can only be
evaluated by the momentum or control-surface methods (Options 7 and 8).
A symmetry plane can be used when there are flat 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 defined
in the GDF file with ISY=1
69
Chapter 7
71
72
7.1
The body surface is first defined 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 finite draft shown in Figure 7.1. (The same cylinder
is shown in Figure 6.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 7.1. Two patches are used, one for the flat 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 7.1: Representation of the circular cylinder by two patches on one quadrant, shown by the shaded
portion, with reflections about the two planes of symmetry.
73
On each patch a pair of parametric coordinates (u, v) are used to define the position.
The parametric coordinates are normalized so that they vary between 1 on the patch.
Continuing with the example in Figure 7.1, denoting the cylinder radius R and the draft
D and defining conventional circular cylindrical coordinates (r, , z), appropriate choices
for the parametric coordinates are
u=
4
1,
v =12
r
R
(7.1)
4
1,
v = 2
z
1
D
(7.2)
y = Y (u, v),
z = Z(u, v)
(7.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 7.5-7.8.
In order to provide a systematic procedure for refining the accuracy of approximations
on each patch, a set of smaller surface elements are defined, as described in Section 7.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 flat 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 7.2 shows the example where the side and
bottom of the shaded quadrant in Figure 7.1 are each subdivided into four panels.
In addition to the requirement of geometric continuity within the domain of each patch,
it is also necessary that the hydrodynamic solution should be continuous in the same
domain. For this reason, if discontinous generalized modes are used, as in Test24 described
in Appendix A.24, the modal discontinuities should coincide with boundaries between
adjacent patches.
74
Figure 7.2: Subdivision of one quadrant of the cylinder shown in Figure 6,1 into panels. In this case
Nu = Nv = 2 on both patches.
7.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 fluid flow over
the surface, with control over the accuracy. B-splines are used for this purpose. More
specifically, the velocity potential is represented by a tensor product of B-spline basis
functions
(u, v) =
Mv X
Mu
X
ij Ui (u)Vj (v)
(7.4)
j=1 i=1
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 coefficients ij are
determined ultimately by substituting this representation in the integral equation for the
75
7.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 15, this integration is carried out first with respect to the source point, and then
with respect to the field 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 specified by input parameters. Experience with a
variety of applications has shown that it is sufficient 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).
76
7.4
In the higher-order method the first part of the GDF file is as follows:
header
ULEN GRAV
ISX ISY
NPATCH IGDEF
Subsequent data may be included in the GDF file after these four lines, depending on the
manner in which the geometry of the body is represented. (See Sections 7.5-7.8.)
The data on the first three lines are identical to the low-order method as described in
Section 6.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 file are defined as follows:
NPATCH is equal to the number of patches used to describe the body surface, as explained
in Section 7.1. If one or two planes of symmetry are specified, 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 defined. Four specific cases are relevant, corresponding respectively to the
representations explained in Sections 7.5, 7.6, 7.7 and 7.8: IGDEF = 0: The geometry of
each patch is a flat quadrilateral, with vertices listed in the GDF file.
IGDEF = 1: The geometry of each patch is represented by B-splines, with the corresponding data in the GDF file.
IGDEF = 2: The geometry is defined by inputs from a MultiSurf .ms2 file.
IGDEF < 0 or > 2: The geometry of each patch is represented explicitly by a special
subroutine, with optional data in the GDF file
77
7.5
The simplest option to define the body geometry is appropriate if each patch of the body
surface is a flat quadrilateral in physical space. In this case the vertices of each patch are
input via the GDF file in the same format as described in Section 6.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 first four lines are defined above, in Section 7.4. Note that IGDEF=0 is
assigned on line 4. The patch vertices (X1, Y 1, Z1, ... , X4, Y 4, Z4) are defined in precisely
the same manner as the panel vertices in Section 6.1. The convention defined in Figure
6.1 must also be applied here, with the vertices numbered in the anti-clockwise direction
when the patch is viewed from the fluid domain.
This option is particularly useful in the case of structures which consist of a small number
of flat 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 flat
surface, as would be necessary to achieve accurate results with the low-order method.
The most efficient 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 file for both (except that IGDEF=0 must be assigned for the higher-order
input). 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 flat low-order panels do not correspond exactly to the body
surface, this part of the low-order approximation is not refined by such a check.
78
7.6
The most general approach to represent the geometry in the higher-order method is the
same as that which was first 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 7.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 finite-element
analysis. The domain of the parameters of the B-splines representing the geometry is not
limited to (1, 1). Arbitrary limits can be used and they are normalized to (1, 1) in the
program.
More specifically, the mapping function X = (X, Y, Z) defined by Equation (7.3) is
represented on each patch in the tensor-product form
(g)
X(u, v) =
(g)
M
M
v
u
X
X
(7.6)
j=1 i=1
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 7.2.) As in (7.5),
Mu(g) = Nu(g) + Ku(g) 1 Mv(g) = Nv(g) + Kv(g) 1
(7.7)
where Ku(g) and Kv(g) are the orders of the respective B-splines. These parameters, and the
values of the unknown coefficients Xij , are assigned for each patch in the GDF file.
The format of the GDF file 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)
79
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 coefficient Xij in (7.6). These are defined in terms of the single array index K, where
K=1,2,...,NB(I). Here NB(I) is the total number of coefficients 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 file.
710
7.7
WAMIT includes the option to import .ms2 geometry database files 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 significant effort or approximations.
Two special .dll files are required: RGKERNEL.DLL and RG2WAMIT.DLL. The real
versions of these files 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 includes a dummy file
with the name rg2wamit.dll. This enables WAMIT to be executed without the real
files. As explained in Section 2.1, the PC-executable version of WAMIT (wamit.exe) must
be accompanied by eight .dll files. The dummy version of rg2wamit.dll can be distinguished from the real version in two ways: (a) the dummy filename uses lower-case letters
(rg2wamit.dll), and (b) the size of this file is smaller, as indicated in the following table:
version
name
dummy rg2wamit.dll
real
RG2WAMIT.DLL
size
7Kb
233Kb
The size of these files is approximate, and may change with updates and subsequent versions, but the disparity in size will serve to distinguish the dummy and real files.
To proceed with this option a user should first 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
file from MultiSurf will include a filename specified by the user and the extension .ms2.
This file will be referred to below as body.ms2. If the .ms2 file is missing or cannot
be found, a WAMIT runtime error message Error return from subroutine RGKINIT is
generated, and the log file RGKLOG.TXT will contain a statement that the designated
.ms2 file could not be opened.
In its simplest form, the GDF input file required to run WAMIT should be in the
following format:
header
ULEN GRAV
ISX ISY
NPATCH
2
3
(path)body.ms2
*
0 0 0
711
The first four lines are explained in Section 7.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 file. Line 6 contains the name of the .ms2 file, and may include the
optional path if this file is in a different directory (folder). The asterisk () on line 7 is
a default specifier to indicate that all visible surfaces in the .ms2 file 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.
NPATCH can be specified as 0; use of this option is recommended, to avoid errors
in counting surfaces or patches. In this case the number of patches is evaluated from the
MultiSurf model, and the user does not need to input NPATCH separately. If NPATCH>0
is input by the user, the number of MultiSurf surf aces used in the solution will be limited
to NPATCH; thus input files for earlier versions of WAMIT can still be used without
modification.
An import utility (File/ Import/ WAMIT GDF) has been added to MultiSurf1 to convert
low-order WAMIT .gdf input files to .ms2 geometry database files for MultiSurf. Its results
depend on the organization and content of the .gdf file. In general this utility will create
correctly dimensioned points for building a surface model in MultiSurf; and if the .gdf file
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)
712
7.8
This option can be used in cases where the geometry of the body can be defined explicitly,
with the fundamental advantage that the definition 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 define the geometry must be coded in FORTRAN, in the file
GEOMXACT.F. This file can be compiled separately as a .dll file 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 file. Thus the
body dimensions can be changed without modification 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 modified
by introducing appropriate data in the GDF file. Thus there is a variety of possibilities
for exploiting this option with or without special programming efforts. Several different
subroutines can be collected in a library, and identified with specific reserved values of
the index IGDEF which is input in the GDF file. The WAMIT software includes the
FORTRAN library file GEOMXACT.F, where several examples of these subroutines are
included. Note that IGDEF=0,1,2 are reserved for the options described in Sections 7.57.7, and thus IGDEF 3 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 identified with positive values IGDEF 3.
Continuing with the example of the circular cylinder shown in Figures 7.1 and 7.2, the
subroutine CIRCYL can be used without modification. CIRCYL is included in the source
file GEOMXACT.F and selected by specifying IGDEF=-1. The relevant dimensions are
the radius and draft (and also ULEN and GRAV), which are specified in the GDF file in
the following format:
header
ULEN GRAV
1 1
2
-1
2
RADIUS DRAFT
INONUMAP
713
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
file to be read as input data. In addition to the dimensions of the cylinder, the parameter
INONUMAP is used in subroutine CIRCYL to specify either uniform (INONUMAP=0)
or nonuniform (INONUMAP=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 first 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 finer 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 file the user should assign appropriate values for the parameters
ULEN, GRAV, RADIUS, DRAFT, INONUMAP, and an appropriate header. As noted in
Section 4.10, this data must be contained within columns 1-80 of the GDF file.
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 fluid depth HBOT, and (2) if NPATCH=3 the interior free surface is included to
permit the removal of irregular-frequency effects (IRR=1) as described in Chapter 10. The
restriction DRAFT<HBOT must be imposed if NPATCH>1. Figure 7.3 illustrates the
patch numbering to achieve this flexibility.
714
Figure 7.3: One quadrant of the cylinder shown in Figure 7.1 showing the patch numbering system which
permits using the subroutine CIRCYL with NPATCH=1 (bottom-mounted caisson), NPATCH=2 (floating
cylinder of finite draft), or NPATCH=3 (floating cylinder with a patch on the interior free surface to remove
irregular-frequency effects). The view is from above the free surface, looking toward the interior of the
cylinder.
715
IGDEF
SUBROUTINE
NPATCH
GDF INPUTS
-1
CIRCCYL
1,2,3
-2
-3
ELLIPCYL
SPHERE
1,2,3
1,2
-4
-5
-6
ELLIPSOID
BARGE
BARGEMP
1,2
1,2,3,4
6,7
-7
CYLMP
3,4
-8
-9
TORUS
TLP
1,2
11,12
-10
SEMISUB
-11
FPSO
-12
SPAR
-13
-14
AUV
SPAR2
2,3
3,4,5
-15
-16
SPHERXYZ
FPSO2
1
7,10
-17
FPSO12
7,10
-18
-19
-20
CIRCCYLH
RADIUS,DRAFT
INONUMAP
A,B,DRAFT
RADIUS
INONUMAP
A,B,C
HALFLEN,HALFBEAM,DRAFT
HALFLEN,HALFBEAM,DRAFT
XMP,YMP
RADIUS,DRAFT,RADMP
INONUMAP
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
RADIUS, DCYL, DTAIL
RAD1,RAD2
DRAFT,SKIRT HEIGHT
RADIUS,X0,Y0,Z0
XBOW,XMID,XAFT
HBEAM,HTRANSOM
DRAFT,DTRANSOM
INONUMAP
XBOW,XMID,XAFT
HBEAM,HTRANSOM
DRAFT,DTRANSOM
INONUMAP
RCIRC,RAXIS,DRAFT
RCIRC1,RAXIS1,DRAFT1
RCIRC2,RAXIS2,DRAFT2
RADIUS,HALFLEN
4,6
2,3
716
IGDEF
SUBROUTINE
NPATCH
-21
FPSOINT
-22
CIRCCYL ARRAY
-23
ELLIPINT
-24
GAPLID
-25
CYLFIN
2,3,4
-26
CYLFIN4
4,6,9
-27
-28
SKEW SPHERE
CIRCCYL NOSYM
1,2
1,2,3
-29
-30
-31
-32
BARGE INT
BARGENUC
CCYLHSP
-33
CIRCCYL MULTI
3
12,13
GDF INPUTS
XBOW,XMID,XAFT
HBEAM,HTRANSOM
DRAFT,DTRANSOM
INONUMAP,XBODY(3)
XVER
RADIUS,DRAFT,ASPACE
NX,NY,INONUMAP
A,B,C
NTANKS
XVER
X1,X2,GAP
INONUMAP
RADIUS,DRAFT
WIDTH
INONUMAP
RADIUS,DRAFT
WIDTH
INONUMAP
RADIUS,SKEW
RADIUS,DRAFT
INONUMAP
XS,YS,ZS
A,B,C
XS,YS,ZS
XL,XB,XD,SL,SB,SD
HALFLEN,HALFBEAM,DRAFT
HALFLEN,HALFBEAM,DRAFT,STRIP
NSEG
RADIUS
XSEG
NCYL,INONUMAP, IBOT,IFS
RADIUS(1),DRAFT(1),XC(1),YC(1)
RADIUS(2),DRAFT(2),XC(2),YC(2)
....
RADIUS(NCYL),DRAFT(NCYL),
XC(NCYL),YC(NCYL)
The last column indicates the dimensions and other input parameters to be included
in the GDF file. Where two or more lines of inputs are shown in the table the GDF file
should follow the same format, as illustrated in the test runs.
Brief descriptions of each subroutine are given below. More specific information is
included in the comments of each subroutine. These bodies can be combined for multiplebody analysis, as described in Chapter 8, without modifications of the subroutines.
717
719
Figure 7.4: Perspective views of the torus, with RCIRC=20, RAXIS=60, and three different values of
ZAXIS as shown. ZAXIS>0 in the top figure corresponds to the axis above the free surface. In the middle
figure the axis is in the plane of the free surface, and the sections are semi-circles. In these two figures
the torus is floating, with the upper edges of the body in the plane of the free surface. The bottom figure
shows a complete submerged torus. The dark lines indicate the boundaries between adjacent quadrants,
with one patch on each quadrant.
720
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 defines a spar with strakes and with an optional moonpool. The number of patches
varys depending on the optional configuration. 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 specified in the configuration file. 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.
AUV defines one quadrant of an axisymmetric submerged body with vertical axis. The
body is defined by a hemispherical bow of radius RADIUS, conical tail of length DTAIL,
and optional cylindrical midbody of length DCYL. The origin is at the center of the
cylindrical midbody. If NPATCH=2 and DCYL=0.0 the midbody is omitted.
SPAR2 defines the first quadrant of a circular cylinder of radius RAD1 with a circular
damping skirt of radius RAD2 on the lower part of the cylinder. The lower surface of the
skirt is in the plane of the bottom of the cylinder, at Z=-DRAFT, and SKIRT HEIGHT
is the height of the skirt. NPATCH=4 is the conventional case, NPATCH=5 includes
the interior free surface for use with IRR=1, and NPATCH=3 can be used for a bottommounted structure.
SPHERXYZ defines a sphere of radius RADIUS, with its center at X0,Y0,Z0. If (RADIUS < Z0 < RADIUS) the sphere is partially submerged, and if (Z0 < -RADIUS) it
is completely submerged. If X0=0 ISX=1, and vice versa. If Y0=0 ISY=1, and vice versa.
FPSO2 defines an FPSO with one extra patch on the bottom in the bow to provide a
more uniform mapping of the bottom relative to the subroutine FPSO described above.
If NPATCH=10 the interior free surface is included for use with IRR=1. INONUMAP=0
gives a uniform mapping on all patches; INONUMAP=1 gives a nonuniform mapping with
finer discretization near the chines; and INONUMAP=2 gives a nonuniform mapping with
finer discretization near both the chines and waterline. Uniform mapping is used for the
prismatic stern in all cases.
FPSO12 defines NBODY=2 FPSOS with different dimensions. This subroutine illustrates the use of one subroutine to define multiple bodies of the same type with different
dimensions. In all other respects it is the same as FPSO2 described above. The same value
of INONUMAP must be used for both bodies.
TORUS ELLIP Torus with elliptical sections. This subroutine is the same as TORUS,
described above, except that the generating sections are elliptical with their centers in the
free surface. The horizontal semi-axis of the ellipses is equal to RCIRC and the vertical
semi-axis is equal to DRAFT. It is required that RAXIS>RCIRC, i.e. there is a free surface
721
722
CYLFIN4 defines a circular cylinder with 4 symmetric fins represented by dipole patches
in the planes X=0 and Y=0. DRAFT is the draft. The other dimensions and parameter
INONUMAP are as defined for CYLFIN above. Arbitrary combinations of ISX and ISY
can be specified. The number of patches is equal to 4 with two planes of symmetry, 6
with one plane of symmetry, and 9 with no planes of symmetry. The last patch is on the
bottom, and can be omitted if the cylinder is bottom-mounted.
SKEW SPHERE defines two quadrants of a floating skewed hemisphere. The centerplane of the body is inclined, at the position X=SKEW*Z. Patch 1 represents the body
surface and patch 2 can be used to represent the interior free surface if IRR=1. ISX=0
and ISY=1.
CIRCCYL NOSYM defines the entire surface of a circular cylinder. Patch 1 represents
the side and patch 2 represents the bottom of the cylinder. If IRR=1 the internal free
surface is represented by patch 3. If NPATCH=1 and DRAFT1.E-8 the cylinder is
considered to be bottom-mounted and DRAFT must be equal to the parameter HBOT in
the POT file. If NPATCH=1 and DRAFT<1.E-8 the cylinder is considered to be of zero
draft and patch 1 represents the bottom. If INONUMAP=1 nonuniform mapping is used
on the side and bottom, with finer discretization near the corner and waterline. The center
of the waterplane of the cylinder is located at the position XS,YS,ZS relative to the body
coordinate system.
ELLIPSOID NOSYM TANK 4 quadrants of ellipsoidal body with one tank, no planes
of symmetry. A,B,C are the semi-axes of the ellipsoid. The center of the ellipsoid is at
(XS,YS,ZS) with respect to the body coordinate system. XL,XB,XD are the length, width
and depth of the tank. The center of the tank free surface is at the position (SL,SB,SD)
relative to the center of the ellipsoid. The center of the ellipsoid must be in the plane of
the free surface (only the lower half is represented).
BARGE INT defines the first quadrant of a rectangular tank, equivalent to the interior
surface of a rectangular barge. HALFLEN is half the length, HALFBEAM is half the
width, and DRAFT is the tank depth.
BARGENUC defines the first quadrant of a rectangular barge with extra nonuniform
patches near the corners at the ends. The inputs are the same as for subroutine BARGE
as defined above, except for the additional parameter STRIP. Extra patches are added
within strips of width STRIP on the end, side and bottom which adjoin the corners at
the end. The mapping is nonuniform in this strip to give a finer discretization near the
corners. There are four patches on the end, 4 patches on the side, and 4 patches on the
bottom. The interior free surface is represented by patch 13 if IRR=1.
CCYLHSP defines the first quadrant of a vessel with semi-circular sections and horizontal
axis. The vessel can be sub-divided into separate segments, to permit the analysis of a
hinged structure using generalized modes. The ends of the vessel are spheroidal. The
vessel has two planes of symmetry (ISX=ISY=1). NSEG is the number of segments,
including cylindrical elements and the two spheroidal ends. The array XSEG defines the
X-coordinate of the end of each segment (location of joints between adjacent segments).
The array XSEG must be of dimension (NSEG+1)/2. If NPATCH=(NSEG+1)/2 only
the submerged portion of the body is represented, with one patch for each segment; if
723
NPATCH=(NSEG+1)/2 + 2 the interior free surface is also represented by the last two
patches (the first is a rectangle covering the interior of all the cylinders, and the second is
a semi-ellipse covering the interior of the spheroidal end). (Note that, in accordance with
FORTRAN convention, (NSEG+1)/2 is defined as the integer part of this fraction.)
CIRCCYL MULTI defines an array of circular cylinders with the radius, draft, and
coordinates (XC,YC) of the axis input separately for each cylinder. The GDF parameter
NCYL is the total number of cylinders defined in the GDF file. INONUMAP=0 or 1
specifies uniform or nonuniform mapping on the side and bottom of each cylinder. The
parameters IBOT and IFS specify if a patch is to be included on the bottom (IBOT=1)
or on the interior free surface (IFS=1). IFS=1 should be used if the irregular-frequency
option IRR=1 is used. IBOT=0 can be used in the case of bottom-mounted cylinders,
in which case the draft of each cylinder must be equal to the fluid depth. The inputs
RADIUS,DRAFT,XC,YC must be included on a separate line for each cylinder. The
number of patches is NPATCH=NCYL*(1+IBOT+IFS).
724
7.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 file. Reference can be made to the source
file GEOMXACT.F and to the subroutines already provided to understand the appropriate
procedures for developing new subroutines. A more extensive library of subroutines is
available for downloading from www.wamit.com.
Users of WAMIT 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.
(A similar facility exists for the subroutine NEWMODES, to define generalized modes, as
described in Chapter 9.)
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 efficient 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. The
symmetry indices ISX,ISY, irregular-frequency parameter IRR and NPATCH have
been added to the argument list of GEOMXACT, to permit use of these inputs in
special cases.
To facilitate reading user-specified data in the GDF file, an initial call is made to
GEOMXACT with IPI=0 to designate this purpose. If the user intends to read data
from the GDF file, 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.
725
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 file distributed with WAMIT, effectively 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-defined file, separate from the
.GDF file. In this case standard FORTRAN coding conventions should be followed,
with the users file(s) opened, read, and closed in the initial call to the GEOMXACT
subroutine. Unit numbers should be assigned above 300 to avoid conflicts with other
open files in WAMIT. The procedure for doing this is similar to that described in
Section 9.3 for NEWMODES.DLL. In all cases the GDF file must contain at least 6
lines, including the last line 0 (NLINES) if there is no additional data to input from
the GDF file.
In order to use GEOMXACT for any of the purposes described in this Chapter, the file
GEOMXACT.DLL must be in the same directory as WAMIT.EXE.
Instructions for making new DLL files are included in Section 14.7.
726
7.10
The higher-order method can be used to analyze bodies which consist partially (or completely) of elements with zero thickness, as in the analogous extension of the low-order
method described in Section 6.3.
In the higher-order method the patches representing these elements are referred to as
dipole patches. Dipole patches are represented in the same manner as the conventional
body surface. Since both sides of the dipole patches adjoin the fluid, the direction of the
normal vector is irrelevant. On the dipole patches, the unknowns are the difference of the
velocity potential. A positive difference is defined to act in the direction of the normal
vector.
As an example, the floating spar shown in Figure 6.2 is analyzed 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 indices of the
patches on the side are 1, 3, and 5, the strakes are 2,4, and 6, and the bottom is patch
number 7.
When dipole patches are used, the mean drift force/moment can be evaluated by the
momentum method (Option 8), and in some cases by the use of a control surface (Option
7), as described in Chapter 11. The direct pressure method (Option 9) cannot be used,
and a warning message is output when this option is specified.
A symmetry plane can be used when there are flat 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 defined
in the GDF file with ISY=1
The following discussion applies in all cases except IGDEF= 2, i.e. exclusive of the
option to use MultiSurf geometry as described in Section 7.7. The recommended procedure
to define dipole patches with MultiSurf is explained in Appendix C. In that case the dipole
patches are identified in the gdf .ms2 file output from MultiSurf and input to WAMIT. No
reference to the dipole patches should be included in the CFG file.
To analyze bodies with zero-thickness elements, for IGDEF6= 2, the corresponding
dipole patches are identified in the configuration files using the parameter NPDIPOLE.
The indices of the dipole patches are defined by including one or more lines starting with
NPDIPOLE=, followed by the indices or ranges of indices of the dipole patches, as explained in Section 4.7.
In earlier versions of WAMIT it was possible to define dipole patches in an alternative
manner, by specifying extra data in the GDF file. That alternative is not supported in
Version 7, as explained in Section 4.1. The utility v6v7inp described in Appendix B
converts old GDF files using that alternative to the format required in Version 7, and adds
the appropriate data for NPDIPOLE in the CFG file.
727
7.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 file is used it must have the same
filename as the corresponding GDF file for the same body, with the extension .spl.
The format of the SPL file 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 specified in the SPL file when PANEL SIZE>0
is assigned in the configuration files (See Section 4.7). 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
specified in the same dimensional units of length as the data in the GDF file. 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 specified
in the SPL file when nonzero values are assigned to KSPLIN, IQUADO and IQUADI,
728
respectively, in the configuration files. 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 file, separate assignments must be made for
each patch as indicated in the above format. Conversely, parameters which are assigned in
configuration files 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 file, 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 efficient 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 effectively 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 efficiently, without simultaneously changing the
other parameters or inputs.
729
7.12
Experience with the higher-order method indicates that for typical applications the global
parameters defined 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 configuration files and if there is no SPL input file available to open and read with the
same filename as the GDF file. In the latter case, however, the parameter PANEL SIZE
must be specified 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 file or globally in the CONFIG.WAM
file.
The following table summarizes the options for inputting these parameters:
gdf .spl
config.wam
NU,NV
PANEL SIZE
KU,KV
KSPLIN
IQUO,IQVO IQUADO
IQUI,IQVI
IQUADI
NONE
error
3
3
4
Here the first column indicates inputs in the optional SPL file and the second column
indicates the corresponding inputs in the CONFIG.WAM file. The third column indicates
the default values which are set if there is no SPL file and if the parameters are not included
in the configuration files. It is important not to specify the same parameters in
both the SPL and configuration 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 file, 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 file.
When the parameter PANEL SIZE is used, its value is also displayed on the line indicating
that the higher-order method is used.
730
7.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 efficient 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 efficiently 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.
4. The higher-order method usually gives a more accurate evaluation of the free-surface
elevation (runup) at the body waterline. This is particularly important when the
mean drift forces are evaluated using a control surface, as described in Chapter 14.
Disadvantages:
1. The linear system which must be solved for the velocity potentials is not as well
conditioned in the higher-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 significantly 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 fluid velocity is unbounded at
sharp corners. The approximation of this pressure by higher-order basis functions is
more difficult than in the low-order method. The result may be less accurate unless
the mapping accounts for the flow singularity near the corner.
731
Chapter 8
Thus the run times and memory requirements are substantially increased.
When N > 1 walls can be defined using the procedure described in Section 12.4.
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 different bodies.
The GEOMXACT subroutines described in Section 7.8 can be used for multiple bodies,
but special attention is required unless different subroutines are used for each body, or 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 file 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 file are applied to all of the bodies using the same
subroutine. In cases where bodies with different 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 different dimensions. 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 floating bodies, and the more general Alternative
2 Form can be used for bodies subject to external forces. Alternative 3 includes a Global
Force Control file (GFRC) and a separate FRC file for each body, each being in either
Form 1 or 2. These three alternative are described respectively in Sections 8.1, 8.2, and
8.3.
The POT file is as shown in Section 4.2, with the last three lines of data repeated in
sequence for each body.
82
8.1
83
8.2
If IALTFRC=2 the format of the FRC file is the same as described in Section 4.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=
PN
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 4.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 file.
Omitting the matrix is equivalent to including the matrix with zero values for all elements.
84
The same format can be used with the external force matrices in separate files and with
the corresponding filenames replacing the matrices in the FRC file. This option is specified
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 files MASS, DAMP, STIF contain a one-line header plus
the three corresponding matrices shown in the first format.
The first line of this file, and all lines beginning with the variable NBETAH, are identical
to the data in Alternative 1 FRC file. The data which differ in Alternative 2 are described
in Section 4.4.
85
8.3
Alternative Form 3 includes one Global FRC file (GFRC) and N FRC files. The FRC
file for each body can take either the form of Alternative 1 or Alternative 2. With this
option existing FRC files for single bodies can be used without modification. Note however
that this precludes the consideration of external mass, damping and stiffness forces which
produce coupling interactions between the bodies.
If IALTFRC=3 the input parameters in the GFRC file 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 first three lines of this file, and all lines beginning with the variable NBETAH, are
identical to the data in the Alternative Form 2 FRC file.
FRC(K) is the name of the FRC file for body K. The Form of each separate file must be
1 or 2, and this is specified by the optional array IALTFRCN in the configuration file, as
described in the following section.
Some of the data given in N FRC files are read but neglected, if the same data is given in
the GFRC file. For example, the data IOPTN and RHO in the FRC files for each body
are neglected and the corresponding parameters provided by the GFRC file are used.
If fixed/free modes are specified for multiple bodies, using IALTFRC=3, the modifications
described in Section 8.3 must be included only in the GFRC File and not in the FRC files.
86
8.4
The configuration files described in Section 4.7 include several inputs that must be assigned
separate values for each body. These include IALTFRCN, IGENMDS, IRR, NEWMDS,
NPFORCE, NPNOFORCE, NPTANK, XBODY and XTRIM. The procedure for doing
this when NBODY>1 is to indicate the index of the corresponding body in parenthesis, as
shown below. If IALTFRC=3 the array IALTFRCN must also be specified with values for
each body, unless the default values 1 are applicable for all bodies. A typical configuration
file used for all of these parameters is as follows, with explanatory comments on each line:
IALTFRC=3 (use FRC format in Section 8.3)
IALTFRCN=2 1 2 (Form of FRC file for each body)
IGENMDS(1)=-1 (Body 1: IGENMDS=-1)
IGENMDS(2)=1 (Body 2: IGENMDS=1)
IGENMDS(3)=2 (Body 3: IGENMDS=2)
IRR(1)=2 (Body 1: IRR=2)
IRR(2)=1 (Body 2: IRR=1)
IRR(3)=1 (Body 3: IRR=1)
ITRIMWL=1 Trim waterlines for at least one body
NPDIPOLE(2)=(5-8) (Body 2: dipole patches or panels)
NPFORCE(1)=(1-4) (Body 1: integrate pressure on panels/patches 1 to 4)
NPFSP(4)=(4-4) (Body 4: free-surface pressure patch or panel)
NPNOFORCE(2)=(5-8) (Body 2: skip pressure on panels/patches 5 to 8)
NPTANK(1)=(8-11) (12-15) (Body 1: tank patches or panels)
XTRIM(1) = 1.0 15. 0. (Body 1 trim coordinates)
XTRIM(2) = 0.0 0.0 0.0 (Body 2 trim coordinates)
XTRIM(3) = 5.0 0.0 10.0 (Body 3 trim coordinates)
Some of these inputs are illustrated in the test runs TEST05, TEST13 and TEST13a
described in Appendix A.
The array IALTFRCN specifies the value of IALTFRC for each separate body. The
value of each element in this array must be either 1 or 2, as in the example above. If the
number of elements in the configuration files is less than NBODY, the remaining elements
are assigned the same value as the last input. Thus if NBODY is large, it is not necessary
to define each element of the array explicitly. If IALTFRC is the same for all bodies, only
the first body needs to be specified in IALTFRCN. The following alternative inputs are
equivalent, for the case NBODY=8, to illustrate this rule in a situation where IALTFRC
is not the same for all bodies:
IALTFRCN=2 1 2 2 2 2 2 2 IALTFRCN=2 1 2 Different values of the irregularfrequency parameter IRR can be assigned for each body, as indicated in the example above,
by including the body index in parenthesis. Alternatively, the same value of IRR can be
input for all bodies (See Section 10.5).
The parameter NPTANK identifies the internal tanks which are associated with the
corresponding body. Thus the input NPTANK(1) defines the tanks to be in body 1. The
87
associated inputs RHOTANK and ZTANK are identified by the number of each tank, and
not by the body number. The number of each tank is defined by the order of the inputs
NPTANK in the configuration files.
The parameters NPFORCE and NPNOFORCE can both be included in the example
above, since they refer to different bodies (See Section 4.7 and Section 12.6).
88
8.5
The geometric symmetry of each body is defined by the symmetry indices ISX,ISY in the
corresponding GDF file, as explained in Sections 6.1 and 7.4. In solving the hydrodynamic
problem for multiple bodies, including body interactions, it is necessary to consider the
global symmetry, which is affected by the position and orientation of each body. Global
symmetry exists only in cases where the combination of all bodies is symmetric about one
or both planes.
In WAMIT Version 6 it was assumed for NBODY>1 that there are no planes of global
symmetry. If one or more bodies are defined with planes of symmetry, the geometric inputs
for these bodies are reflected about the original planes of symmetry by the program, to
provide a complete description of the entire surface.
Starting in Version 7.0, global symmetry can be used to reduce the computational time,
in special cases where the body symmetries and their orientations are suitable. These
cases are described below. In all other cases, as in prior Versions, the global symmetry
indices are set to (0 0) when NBODY>1. When reflection of the original body geometry
is required, this is performed by the program.
We define ISG(i) as the vector of the global indices (i=1,2), and ISB(i,n) as the vector
of body symmetries for each body (n=1,2,...,NBODY). XBODY(j,n) is the array specifying
the global coordinates of the origin of each body (j=1,2,3), and its rotation (j=4) about
the vertical axis, as explained in Section 4.2. The following rules are applied to determine
the global symmetry indices:
If XBODY(4,n) is nonzero for any body, ISG=(0 0)
If ISB(1,n)=1 and XBODY(1,n)=0 and XBODY(4,n)=0 for all bodies, ISG(1)=1
If ISB(2,n)=1 and XBODY(2,n)=0 and XBODY(4,n)=0 for all bodies, ISG(2)=1
To illustrate these rules, Test05 in Appendix A includes a cylinder and spheroid, both
with two planes of geometric symmetry and located at different positions on the global xaxis. However in TEST05 (also in TEST13) the spheroid is rotated 90 about the vertical
axis, and this prevents the use of global symmetry. In the modified Test05a, the two bodies
have the same relative orientations (since the cylinder is axisymmetric) but their centers
are on the global y-axis to avoid rotation of the spheroid about its vertical axis. Thus
in TEST05a the global symmetry indices are (1 0) and computational times are reduced
substantially.
When NBODY>1 both the global symmetry and body symmetry for each body are
output in the .OUT file.
89
8.6
OUTPUT
The nondimensionalizations given in Chapter 3 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 coefficients (Bij ) and hydrostatic coefficients(C(i, j))
are matrices of dimension up to 6N 6N . These quantities are defined 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 defined 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 field quantities
such as the field pressure and field velocity, are defined 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 specified (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.
810
Chapter 9
(9.1)
where j > 6 is the index of the mode. (The first six indices j = 1, 2, ..., 6 are reserved
for the conventional rigid-body modes.) The displacement vector (uj , vj , wj ) is defined by
the user in a special subroutine which can be accessed and modified by the user. The
displacement vector can be any physically relevant real function of the body coordinates
(x, y, z) which can be defined by FORTRAN code.
Corresponding to these modes are the generalized hydrodynamic force components,
which are defined as in Sections 3.2 and 3.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 examples are intended to illustrate applications. (The first four are simplified from the computational examples in [13].)
1. A ship with simplified transverse and vertical bending modes described by the Legendre polynomial of order 2:
u7 = 0,
v7 = P2 (q),
u8 = 0,
v8 = 0,
91
w7 = 0
(9.2)
w8 = P2 (q)
(9.3)
v7 = 0,
u8 = 6q 3 5q 2 ,
w7 = 0
v8 = 0,
(9.4)
w8 = 0
v9 = 0,
w9 = 0
(9.5)
(9.6)
v7 = 0,
w7 = |x|nz
(9.7)
with NEWMDS=1. Here sgn(x) is equal to 1 according as x > 0 or x < 0. Test 24,
described in Appendix A.24, is a more complicated example with multiple hinges.
4. An array of five identical bodies, all described by panels in the same GDF file as if for a
single body with five separate elements; the bodies are centered at transverse positions
y = 4w, 2w, 0, 2w, 4w to simulate images of the central body in the presence of
tank walls at y = w. The surge, heave, and pitch exciting forces on the central body
are then specified by the exciting force coefficients X7 , X8 , X9 . The corresponding
new modes are defined which have the same normal velocities on the central body
and zero on the images. Here NEWMDS=3, and the vectors (uj , vj , wj ) are all zero,
except in the range w < y < w where
u7 = 1
(9.8)
w8 = 1
(9.9)
u9 = z
w9 = x
(9.10)
(With these definitions the exciting force coefficients can be evaluated either from
the Haskind relations or direct pressure integrals as defined in Section 3.3, with the
surface integrals extended over the ensemble of the central body and its images.)
5. A ship with a discontinuous shearing mode at the midship section, which can be used
in conjunction with the fixed mode option (described in Section 4.5) to evaluate the
shear force acting on the hull.
In cases such as examples 3 and 5 above where the modes are discontinuous, it is
important when the higher-order method is used (ILOWHI=1) for the mode discontinuities
to coincide with the boundaries between patches and not to occur within the interior of
patches, as explained in Section 7.1.
92
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 define the generalized modes to be either symmetrical or antisymmetrical. These symmetries must be specified 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 signifies 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,
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 efficient computationally. On the
other hand, the preparation of input files 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
specifications w7 = cos(kx), w8 = sin(kx) define two vertical deflections which can be
superposed with a phase difference 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 first 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 modified by
the user to compute the displacement vector for different generalized modes. This method
can only 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 file containing
a special subroutine NEWMODES with a library of lower-level routines where different
types of generalized modes can be defined. Since NEWMODES is contained in a DLL file
it can be modified by the user, in a similar manner to the GEOMXACT file for defining
bodies analytically (cf. Section 7.9).
The first method, using the program DEFMOD, can be used with any suitable FORTRAN compiler. Three separate runs must be made, first with WAMIT to set up the
input file for DEFMOD, then with DEFMOD, and finally 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 file following the
instructions below.
In Section 9.1 the input files are described for performing the generalized mode analysis
for a single body. Section 9.2 describes the use of DEFMOD, and Section 9.3 describes
the alternative use of the DLL file NEWMODES. The definitions of hydrostatic restoring
coefficients are described in Section 9.4 and the analysis of multiple bodies (NBODY>1)
is described in Section 9.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 files. TEST08 (ILOWHI=0)
93
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. TEST24 analyses the motions of a vessel
with five separate segments connected by hinges. Further information is contained in the
Appendix.
9.1
INPUT FILES
Two input parameters NEWMDS and IGENMDS control the implementation of the generalized mode option. NEWMDS specifies the number of generalized modes, with the default
value zero. IGENMDS is an integer used to specify the definition of the generalized modes,
using either the DEFMOD program or the NEWMODES subroutine library. IGENMDS
is input in the configuration file. The default value IGENMDS=0 is used if the program
DEFMOD is used, as explained in Section 9.2. If IGENMDS is nonzero, the DLL file
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 9.3.
Different values of IGENMDS may be assigned for each body if NBODY>1, and the
body numbers must be included as shown in Section 8.4.
The definition of nondimensional outputs corresponding to each mode of motion cannot
be specified 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 file whenever
generalized modes are analyzed. Except for this restriction, the GDF and POT input files
are not changed.
In the POT file the six rigid-body modes can be specified as free or fixed in the usual
manner, by appropriate choices of the index IRAD and array MODE (see Section 4.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 effect 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 7). 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 7 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
7 can be used for the bodies with no generalized modes.
The Alternative Form 2 of the FRC file (IALTFRC=2) should be used to specify the
appropriate mass, damping, and stiffness matrices for the body including its extended
modes. For example, in case 1 above, to account for the mass and stiffness of the ship
hull it is necessary to include corresponding 8 8 matrices which correctly specify these
coefficients for the distribution of internal mass within the ship and for its bending motion.
94
9.2
9.3
The source code for the DLL file NEWMODES.F is provided with the WAMIT software to
facilitate the specification of generalized modes by users. Users can compile their modified
versions of NEWMODES, following the instructions below. This procedure is analogous
to the modification of the DLL file GEOMXACT, as described in Section 7.9.
The file NEWMODES.F includes the main subroutine NEWMODES, and a library of
specific subroutines used for different applications. The library can be modified or extended
by users to describe generalized modes for other applications. In all cases the calls to these
specific subroutines are made from NEWMODES. Thus the user has the capability to
make appropriate modifications or extensions and to implement these with the executable
version of WAMIT.
The principal inputs to NEWMODES are the Cartesian coordinates (X,Y,Z) of a point
on the body surface, specified 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 for each generalized mode
in an appropriate subroutine, 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 defined 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. (Note
96
that (sway/roll) and (surge/pitch) have the same symmetries. Thus the symmetry indices
(2/4) and (1/5) are redundant, and either value can be assigned.)
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 vertical component of the displacement, denoted ZDISP in NEWMODES, is identical
to the component W of the displacement vector (U,V,W).
Several other inputs are included in the argument list of NEWMODES to simplify
its use and increase its computational efficiency. These include the body index IBI, the
vector IBMOD which specifies the starting index for each body in the global array of mode
indices, the patch/panel index IPP, the vector NEWMDS which specifies the number of
generalized modes for each body, the integer IGENMDS specified in the configuration file,
and an integer IFLAG which specifies the required outputs from each call. The inputs
are explained in more detail below. Unit numbers for three files are also included in the
argument list to facilitate input of user-defined data, and the output of error messages.
The body index IBI is useful for multiple-body computations, where different generalized
modes may be specified on each body. If NBODY=1, the index IBI=1.
For the analysis of a single body, the mode index j is assigned consecutively as explained
after equation (9.1), with the first generalized mode j = 7 and the last generalized mode j =
6+N EW M DS(1). For multiple bodies the arrays for each body are concatenated in succession. The vector IBMOD(1:NBODY) points to the last mode index j used for the preceding
body. Thus, in general, for body IBI, the first generalized mode is j = IBM OD(IBI) + 7
and the last generalized mode is j = IBM OD(IBI) + 6 + N EW M DS(IBI). Thus the
pointer IBMOD is useful to assign generalized modes correctly when multiple bodies are
analyzed.
The patch/panel index IPP can be used to identify specific portions of the body. IPP
is the local panel or patch number of the body, as listed in the corresponding GDF file.
When NEWMODES is used to define generalized modes, the input IGENMDS must be
specified in the configuration files with a nonzero value. Different values of IGENMDS can
be useful in NEWMODES to identify different subroutines of the library. This is illustrated
in the version supplied with WAMIT, where the integers 16, 17, 18 are used to identify the
corresponding test runs and associated subroutines.
The input IFLAG is generated internally by the calling routine, with three possible
values. Initially NEWMODES is called once with IFLAG=-1, to assign the array IMODE
specifying the symmetry index for each mode. In subsequent calls where only the normal
component of the displacement vector VELH is required, IFLAG=1. If both VELH and
the vertical component ZDISP are required (for computations of hydrostatic coefficients)
IFLAG=2. In the higher-order method a large number of calls are made to NEWMODES
with IFLAG=1. If computational efficiency is important this should be considered in
modifying or extending the subroutines in NEWMODES.
The comments inserted in the NEWMODES file should be consulted for further details.
Regardless if NEWMODES is used or not, the file newmodes.dll must be in the same
directory as WAMIT.EXE.
97
Instructions for making new DLL files are included in Section 14.7.
In some cases it is useful to input data from a special input file, so that the subroutines
in NEWMODES can be used with different values of relevant parameters. The following
arguments have been added to NEWMODES to facilitate this procedure:
IFILEDLL is the unit number assigned by WAMIT to open and read the special data
file. This unit number should be used in all cases so that there is no conflict with other
files used by WAMIT for input and output.
FILENDLL is the filename gdf of the GDF input file gdf .GDF for the same body. This
may be used optionally to distinguish between different special input data files. Examples
are explained below for TEST23 and TEST24.
IERROR is the unit number assigned by WAMIT for the log files ERRORP.LOG and
ERRORF.LOG, which are described in Section 10.1. Error messages which are generated
in DLL subroutines can be added to the error files ERRORP.LOG and ERRORF.LOG by
using the file number IERROR.
IWAMLOG is the unit number assigned by WAMIT for the log file WAMITLOG.TXT.
This unit number can be used to copy the special input data file to the log file, as is done
for other input files by WAMIT.
The use of this procedure, with a special input data file, is illustrated in TEST16,
TEST18, TEST23 and TEST24. In TEST16 the subroutine FREEBEAM X is used to
represent the bending modes and the length of the beam is input from the special file
test16 Length.dat. In TEST18 the subroutine JACOBI is used to represent the cantilever
bending modes with shifted Jacobi polynomials, and the depth of the column is input from
the special file test18 depth.dat. In TEST23 the subroutine WAVEMAKER inputs
the depth of the hinge axis from a special file test23 wmkrhinge.dat. In TEST24 the
subroutine HINGE MODES inputs data from the file test24 xhinge.dat. Users who
modify the DLL subroutines or make new DLL subroutines can follow the code in these
subroutines for guidance in inputting data from an external file.
98
9.4
HYDROSTATICS
ZZ
Sb
(9.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 simplified hydrostatic matrix
cij = g
ZZ
Sb
nj wi dS
(9.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 6= 0, the hydrostatic coefficients can be programmed
specially by modifying the code in the main program of DEFMOD. Alternatively, the
extra contribution from the last term in (9.11) can be included as an external force, in
the stiffness matrix of the FRC file.
The hydrostatic coefficients cij are output, as part of the complete hydrostatic matrix,
in the file out.hst, with the format indicated in Section 5.6. (Here out denotes the filename
of the .out file for the run.)
Note that the hydrostatic coefficients associated with generalized modes do not include
gravitational restoring due to the internal mass of the body. Nonzero restoring effects due
to gravity should be included as external force components in the stiffness matrix of the
FRC file. The coupling between the generalized modes, and between the generalized and
rigid-body modes, should be included. The gravitational force and moment associated
with the rigid-body modes (i, j 6) should not be included since these components are
evaluated in the program.
It is not possible for the program to evaluate the hydrostatic matrix in a unique manner
which applies to all possible situations, including the effects of the gravitational force
associated with the internal mass of the body. The coefficients evaluated and used by
the program are specifically those defined by the matrix of hydrostatic and gravitational
restoring coefficients listed in Section 3.1 for the rigid-body modes and by the hydrostatic
matrix (9.12) for the generalized modes. Users should input additional restoring coefficients
as necessary using the EXSTIF matrix.
99
9.5
NBODY ANALYSIS
The NBODY and generalized mode analyzes can be combined. An example where this
might be effective is if two separate bodies are in close proximity, one or both of them are
undergoing structural deflections, and there are no planes of geometric symmetry for the
ensemble of two bodies.
If NBODY>1, separate values of NEWMDS and IGENMDS must be specified for each
body. Both parameters are defined in the configuration file using separate lines for each
body with the syntax NEWMDS(m) = n IGENMDS(m) = i. Here m is the body index,
n is the number of new modes for that body, and i is the value of IGENMDS appropriate
for the same body. For example, if there are three bodies, and body 1 has 3 free beam
bending modes defined by NEWMODES.DLL, body 2 has no generalized modes, and body
3 has 2 moonpool free-surface lids, four lines should be added to the configuration file as
follows:
NEWMDS(1)=3
IGENMDS(1)=16
NEWMDS(3)=2
IGENMDS(3)=17
(It is not necessary to include the additional lines NEWMDS(2)=0 and IGENMDS(2)=0,
since zero is assigned by default, but these explicit inputs may be added for clarity.)
In the approach described in Section 9.2, prior to the NBODY run of WAMIT, the
subroutine DEFMOD must be executed for each body, to prepare the corresponding MOD
file. This procedure is carried out separately for each body for which generalized modes
are specified, 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
9.2 for a single body.
In the approach described in Section 9.3, the subroutines in NEWMODES should be
organized in a logical manner so that the generalized modes for each body are defined.
Usually this can be done most effectively 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 files 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 coefficients of body 1 are denoted by Xj (j = 1, 2, ..., 9, the
six conventional coefficients of body 2 by (j = 10, 11, ..., 15, and the eight coefficients of
body 3 by (j = 16, 17, ..., 23).
910
Figure 9.1: Flow chart showing the use of WAMIT and DEFMOD to define and analyze generalized
modes in the low-order method (ILOWHI=0). The number of generalized modes NEWMDS is specified
in the configuration file. On the first run of WAMIT the centroid coordinates, area, normal vector n,
and cross-product xn are output for each panel to the file gdf.PRE, for pre-processing by the program
DEFMOD. After modification by the user to specify the desired modes, DEFMOD is run with the input
file gdf.PRE, to produce the output file gdf.MOD containing the normal velocity of each new mode at the
panel centroids, and also the hydrostatic coefficients. After this pre-processing is completed, WAMIT is
run again in the normal manner, as in the flow chart of Figure 1.1. Note that WAMIT reads the GDF and
POT input files on both runs, although the data in the POT file is only used on the second run.
911
Chapter 10
USE OF IRREGULAR
FREQUENCY OPTION
WAMIT includes a method for removing the effects of irregular frequencies on both the
velocity potential and the source strength. An outline of the method is given in Section
15.7, 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 both the body surface and the interior free surface. The integer parameter IRR
controls the removal of the effect of irregular frequencies. 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.
10.1
INPUT PARAMETERS
The parameter IRR is specified in the the configuration file as described in Section 4.7,
with the default value zero. The definition of IRR is as follows.
IRR is the integer used to specify whether the effect of the irregular frequency is removed
or not. The values IRR=(0,1,2,3) can be used in the low-order method (ILOWHI=0).
Only the values IRR=(0,1,3) can be used in the higher-order method (ILOWHI=1). The
definitions of each value are listed below, with details given in the following sections.
IRR= 0: Do not remove the effect of the irregular frequencies.
IRR= 1: Remove the effect of the irregular frequencies. The geometrical description of the
interior free surface is included in the GDF file.
IRR> 1: Remove the effect of the irregular frequencies. The geometrical description of the
interior free surface is provided automatically by the program. These options are described
in Sections 10.2-4 below.
101
When NBODY>1 different values of IRR may be assigned for each body, following the
format in Section 8.4. More specific information is given in Section 10.5.
If IRR= 1 in the low-order method (ILOWHI=0) the user must discretize the free
surface. The coordinates of these panel vertices are included in the GDF file. 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 panels, the parameter NPAN in the GDF file, is the
sum of the number of panels on the wetted surface of the body and the interior free surface.
The order of the indices for the body panels and free-surface panels is not restricted in
Version 7.
If IRR= 1 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 7.1, this is equivalent to requiring that the
parametric coordinates (u, v) for the free-surface patch are defined such that the positive
normal vector in the (u, v) plane points downward from the free surface into the body. The
order of the indices for the free-surface patches and body patches is not restricted.
The subroutine CIRCCYL in GEOMXACT.F is an example where the interior free
surface is represented analytically as one extra patch. Several other subroutines in GEOMXACT.F include similar options, with one or more patches on the interior free surface,
as explained in the headers of these subroutines.
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 generation of free-surface patches can generally be facilitated by using MultiSurf,
as described in Appendix C.
In the low-order method, 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 ISOR=1, the interior free surface panels should be discretized in a following manner.
First, define 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.
102
10.2
If IRR=2 is input in the low-order method (ILOWHI=0) the program projects the body
panels onto the free surface to generate panels on the free surface. The GDF file contains
only the body panels (it is the same as the GDF file used with IRR= 0).
IRR=2 should not be specified for a body such as a Tension Leg Platform or semi-sub
with pontoons, or more generally for any body where a vertical line intersects the body
surface more than once and thus the projection of two body panels overlap on the free
surface. A warning message is issued for any panel where the inward normal vector slopes
downward, away from the free surface, unless the panel is entirely in the plane of the free
surface. Panels which are entirely in the plane of the free surface are ignored. Dipole
panels are ignored.
This simple procedure is effective for bodies such as the circular cylinder used in Test01,
consisting of flat horizontal panels on the bottom (which are projected up to the interior
free surface), and vertical panels on the sides (which are ignored in defining the interior
free surface). Since dipole panels are ignored, this procedure can be applied for the spar
with helical strakes used in Test09.
10.3
If IRR=3 is input using the low-order method, the program automatically generates a
discretized interior free surface and stores the panel vertices in a special output file gdf.idf.
In this file, the vertices of the free surface panels are appended to the data in the GDF file.
Since this automatic discretization cannot accommodate abnormal waterline shapes, the
user should visualize the paneling on the interior free surface using the IDF file, to check
the quality of the interior free surface discretization.
When ISOR=0 the interior free surface is discretized with triangular panels, based on
the algorithm described in [8]. The sides of the triangular panels are similar to the average
length of the waterline segments. An example is shown in the left figure of Figure 9.1.
When ISOR=1 the interior free surface is discretized in a regular pattern of quadrilateral
panels, as shown in the right figure of Figure 9.1. Since the aspect ratio of the panels is
O(1), the number of panels on the interior free surface is not so large as in the case ISOR=0.
Connectivity between the free surface panels and the waterline segments is important in
this case, as explained in [16]. The program first finds 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
103
Figure 10.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.
waterline segments to the centroid with more dense discretization toward the waterline.
The last panel is a small triangle which is used in the subsequent part of the program as
a flag 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 option IRR=1
should be used.
When the option IRR=3 is used, special care is required in preparing the GDF file
to ensure that there are no significant 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 define the waterline contour from the data in the GDF file.
As the first step for the automatic discretization of the free surface, the program searches
for and identifies all of the waterline segments between the panel vertices which are in
the plane of the free surface or within a specified small distance of this plane. If the
nondimensional absolute value of the vertical coordinate is less than TOL=1.E-5 the vertex
is defined to be in the plane of the free surface.
To avoid including very small segments, which would produce a nonuniform discretization, waterline segments are neglected if their lengths are smaller than a specified minimum
length. The minimum length for this purpose is the product of another prescribed tolerance
(TOL=10E-3) 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
104
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. The parameter TOL=TOLGAPWL can be modified in the configuration
files, as explained in Section 4.7.
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
specifically, 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 TOLGAPWL. Modification of this parameter is potentially
dangerous, if there are relatively short waterline segments.
The parameter SCALEH is defined 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.
10.4
WAMIT includes the option to define the interior free surface automatically when the
higher-order method is used (ILOWHI=1). This option can be used for multiple bodies,
for bodies with trimmed waterlines, and for bodies with multiple waterlines such as TLPs
and Semi-Subs. It cannot be used for bodies with internal waterlines, such as moonpools.
This option also cannot be used for some bodies with abnormal waterlines. It is strongly
recommended to visualize the interior free surface, using the auxiliary output files described
in Section 5.7, to ensure that the representation of this surface is appropriate.
When IRR=3, no other changes in the inputs are required relative to IRR=0. The
GDF file should specify the number of exterior body patches NPATCH, not including the
patches on the interior free surface. The optional SPL file should also refer only to the
exterior body patches. After reading the GDF data the program searches for all patches
which have one side in the free surface. These sides are connected into closed waterlines,
or waterlines which end on one or two symmetry planes. The waterplane interior to each
waterline is divided into patches which are bounded by the vertices of the exterior patches
on the waterline, and by an interior axis on or near the center of the waterplane. The
interior patches are mapped into parametric (u, v) coordinates with u = 1 on the axis,
u = 1 on the waterline, and v increasing from -1 to +1 as one moves along the waterline
1 The
cumulative length is defined here as the length of the vector sum of the waterline segments
105
in the positive direction (counterclockwise when viewed from above the free surface). The
configuration parameter TOLGAPWL can be modified if necessary to define the allowable
gaps between adjacent patches on the waterline.
Two alternative mappings are used to relate the Cartesian body coordinates x, y and
parametric coordinates u, v, depending on the shape of the waterline along the outer edge
of the patch. If the slope of this waterline segment changes sufficiently (greater than .5
radians over half of the segment) a polar mapping is used. Otherwise a ruled mapping is
used, spanning the half-width between the axis and the waterline. When ruled mapping
is used the axis must be parallel to the plane y = 0, as in the conventional choice of
coordinates of ship-like hulls. Thus, when such bodies are to be analyzed, the longitudinal
axis of the body should be parallel to the x axis.
In general there is one interior patch for each exterior waterline patch. However if one
or both ends of the waterline are straight lines within 0.1 radians of being perpendicular
to the mapping axis, this segment is defined as the side v=-1 or v=+1 of the adjacent
interior patch. Various examples of interior patches and panels are shown in Figure 10.2,
corresponding to several of the standard test runs in the Appendix.
When the interior free surface patches are defined by the program, the spline control
parameters assigned for each patch are the same as those input for the associated external patch, except that the parameter NU is increased or decreased based on the relative
widths of the two patches. The parameter NV is the same as the corresponding exterior
parameter (either NU or NV, depending on the orientation of the exterior patch), so the
panel subdivisions are the same along the waterline. The spline control parameters for the
interior patches are displayed in the header of the OUT file, when NBODY=1, following
the panels of the exterior body surface. However when NBODY>1 these parameters are
not output.
When the program connects adjacent sides of patches in the waterline, the patches
are identified based on the coincidence or close proximity of their vertices. The parameter
TOLGAPWL is used for this purpose, to allow for small gaps (or overlaps) between adjacent
patches at the waterline. The default value TOLGAPWL=103 is used unless a different
value of this parameter is defined in the CFG file, as explained in Section 3.7. In the
test for adjacent patches the nondimensional Cartesian coordinates of the adjacent patch
corners are evaluated, and the distance between these points is computed. The patches are
assumed to be connected if this distance is less than either TOLGAPWL or the product
of TOLGAPWL and the maximum length of one of the patch sides. The latter value
is introduced to allow for cases where the size of the structure is much larger than the
characteristic length ULEN. The default value is recommended in general. If the program
is unable to close a waterline using this value, an error message is displayed stating that
the waterline is not closed. In that case a larger value of TOLGAPWL should be input in
the CFG file.
106
Figure 10.2: Automatic discretizations on the interior free surface for various higher-oder test runs,
corresponding to the inputs described in Appendix A but with IRR=3. See also the perspective figures for
Test13a in Appendix A. In Test15 two patches are required on the middle columns, due to the symmetry
plane x = 0, whereas the other interior free surfaces are covered by a single patch. In Test22 the interior
107but it is obscured by the forward tank.
free surface covers the entire interior of the waterline,
10.5
It is possible to use different values of IRR for each body in a multibody analysis. The
definition of IRR for each body is the same as in Sections 10.1-10.4. The format for
inputting different values of IRR for each body, in the CFG file, is shown in Section 8.4.
If the same value of IRR is used for all bodies it is not necessary to use the notation
IRR(n)=, and one scalar value with the notation IRR= can be input.
If the special notation IRR(n)= is used in the CFG file, it is recommended to input
values for each body explicitly, even if IRR=0 for some bodies. (The order of these inputs
is arbitrary.) However this procedure is not required. If less than NBODY values of IRR(n)
are included in the CFG file, the rules are as follows:
Explicit lines of input must be included for IRR(n) with n = 1, 2, ..., N , where
N NBODY.
If N <NBODY, the remaining elements for N < n NBODY are assigned with the
same value as IRR(N)
For example, if NBODY=3 the inputs IRR(1)=1 and IRR(2)=3 will result in IRR(3)=3,
whereas if IRR(1)=1 is the only input then all three elements are assigned IRR=1. Assigning only IRR(2) or IRR(3) will result in an error message and halt excution of the
program.
Test13a illustrates this scheme in the case where the cylinder is trimmed, and the
spheroid is untrimmed. The interior free surface of the spheroid is generated by the subroutine ELLIPSOID in GEOMXACT.F. Since the cylinder is trimmed it cannot use the
standard definition of the interior free surface generated by the subroutine CIRCYL. As
shown in Appendix A.13, the GDF and SPL inputs for the spheroid are the same as one
would used with IRR=1, whereas the inputs for the cylinder specify IRR=3 and do not
include the interior free surface. In this case the interior free surface of the cylinder is
elliptical, due to the trim angle, and different values of NU are assigned on the deep and
shallow sides due to the corresponding depths of the exterior patches.
108
Chapter 11
111
11.1
The geometry of the control surface can be described in the same manner as the body
geometry. Similar options exist to define the control surface, and different options can
be used for the control surface and for the body. In the low-order method, specified by
inputting the parameter ILOWHICSF=0 on line 2 of the CSF file, the control surface
is represented by quadrilateral panels in the same manner as described for the body in
Chapter 6. In the higher-order method, ILOWHICSF=1 is assigned on line 2 of the CSF
file and the control surface is represented in the same manner as described for the body in
Chapter 7, using any of the options available for higher-order representation of the body
surface including flat panels, B-splines, MS2 files and using subroutines in GEOMXACT.
The format of the CSF file is almost identical with the GDF file. The principal difference
is on line 2, where the parameters ULEN and GRAV in the GDF file are replaced by
ILOWHICSF. Also, when ILOWHICSF=1, the parameter PSZCSF is specified in the CSF
file to control the accuracy of the numerical integration.
The control surface is defined in terms of the body coordinate system, using the same
unit of length. The normal vector is defined to point into the interior of the fluid domain
between the control surface and the body, i.e. toward 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 flux depends not only on
the accuracy of the field 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
flux is calculated as the sum of the product of the flux 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 flux is calculated based on thirdorder Gauss quadratures. The subdivision of each patch into panels is controlled by the
parameters NUC,NVC in the same way as the parameters NU,NV are used on the body
surface (See Chapter 7).
The input files for the test runs 5, 13, and 22 in Appendix A illustrate the different
methods for defining the control surfaces. Since the description of the control surface in
113
11.2
In the low-order method the control surface is represented by an ensemble of panels. The
CSF file contains a the vertex coordinates of the panels, in the same format as in the GDF
file.
The data in the CSF file is 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)
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
114
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 file and the panel data are always referenced with
respect to this system.
NPANCSF is equal to the number of panels with coordinates defined in this file.
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 specified 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 6.1.
115
11.3
In the higher-order method the first part of the CSF file is as follows:
header
1 (ILOWHICSF)
ISXCSF ISYCSF
NPATCSF ICDEF
PSZCSF
Subsequent data may be included in the CSF file 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 file (See Sections 7.5-7.8.)
header, ISXCSF and ISYCSF are the same as those in the CSF file 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 specified, 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 defined. Four specific cases are relevant:
ICDEF = 0: The geometry of each patch is a flat quadrilateral, with vertices listed in the
CSF file (cf. Section 7.5).
ICDEF = 1: The geometry of each patch is represented by B-splines, with the corresponding data in the CSF file (cf. Section 7.6).
ICDEF = 2: The geometry is defined by inputs from a MultiSurf .ms2 file (cf. Section 7.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 file (cf. Section 7.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 define body geometry can be used to define the control surface, for
example specifying ICDEF=-1 defines the control surface as a circular cylinder with specified radius and draft. It is important to use different subroutines for the body geometry
and control surface, with ICDEF6=IGDEF. (The reason for this restriction is that, when
parameters are input by the same subroutine from the GDF file and CSF file, 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 different name and assigned value of IGDEF
should be added to GEOMXACT. )
116
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
7). 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 NUC,NVC in the file gdf .CSP, in an
analogous manner to the use of the parameters NU,NV in the spline control file gdf .SPL
(Section 7.11). TEST22 is an example where the latter procedure is used.
Four special CSF subroutines are included in the standard GEOMXACT.F and GEOMXACT.DLL files to define control surfaces including the intermediate free surface for
bodies with circular or elliptical waterlines. The following table lists these subroutines,
which are described in more detail below:
ICDEF
-1001
-1002
SUBROUTINE
NPATCH
CCYL CS
CCYL CS NOSYSM
3
3
CSF INPUTS
RADIUS,DRAFT,RADIUSI
RADIUS,DRAFT,RADIUSI
XS,YS,ZS
-1003 ELLIPSOID CS
2
A,B,C
AI,BI
-1004 ELLIPSOID CS NOSYM 2
A,B,C
AI,BI
XS,YS,ZS
The last column indicates the dimensions and other input parameters to be included in
the GDF file. Where two or more lines of inputs is shown in the table the CSF file should
follow the same format, as illustrated in the test runs.
Brief descriptions of each subroutine are given below. More specific information is
included in the comments of each subroutine.
CCYL CS defines one quadrant of a circular cylindrical control surface of outer radius
RADIUS and depth DRAFT. The inner boundary of the free surface is bounded by a
circular body waterline of radius RADIUSI. ISXCSF=1 and ISYCSF=1 should be specified
in the CSF file. This subroutine is used for the circular cylinder in TEST13.
CCYL CS NOSYSM defines the entire curface of a circular cylindrical control surface
as described above for subroutine CCYL CS. The center of the waterplane is shifted by
XS,YS,ZS relative to the body coordinate system. ISXCSF=0 and ISYCSF=0 should be
specified in the CSF file.
ELLIPSOID CS defines one quadrant of an ellipsoidal outer control surface with semiaxes A,B,C, plus an elliptical annular free surface with interior boundary an ellipse with
semi-axes AI,BI. The center of the ellipsoid is at the origin of the body coordinate system.
ISXCSF=1 and ISYCSF=1 should be specified in the CSF file. This subroutine is used for
the spheroid in TEST13.
ELLIPSOID CS NOSYM defines a complete ellipsoidal outer control surface and annular free surface. The center of the waterplane is shifted by XS,YS,ZS relative to the
body coordinate system. ISXCSF=0 and ISYCSF=0 should be specified in the CSF file.
117
In these subroutines the parametric coordinate U is related to the polar angle about the
vertical axis, and the parameteric coordinate V is related to the radial coordinates on the
free surface and bottom and the vertical coordinate on the side of the cylinder.
11.4
In some cases it is convenient to use separate CSF files to represent the inner part on the
free surface and the outer part which forms the remainder of the closed control surface
below the free surface. For example, a low-order surface is generally used when the body
surface is defined by low-order panels, in order to provide a good fit at the waterline. On
the other hand, a higher-order outer surface has the advantage of more efficient integration
using Gauss quadratures, to reduce the computational time. Thus, in this situation, it may
be advantageous to use ILOWHICSF=0 for the inner free surface and ILOWHICSF=1 for
the outer part of the control surface.
In this case the file gdf .csf is input in the following form:
header
2
ILOWHICSF
fname1.csf
fname2.csf
Here fname1 and fname2 are the filenames of the two separate CSF files. Note that the
special value ILOWHICSF=2 is used for this purpose. No other data should be included in
this file. The two separate CSF files are as described in Sections 11.2 and 11.3, except that
one file should represent only the inner free surface, and the other should represent only
the outer surface together with the submerged part of the control surface. Both surfaces
should meet on the common outer waterline. The order of the two files is arbitrary, e.g.
fname1 and fname2 can correspond to the inner and outer surfaces, or vice versa.
When two CSF files are used to represent one control surface, the symmetry indices
ISXCSF and ISYCSF should be the same in both files. If ILOWHICSF=1 is used for one
or both files, the parameter PSZCSF may be assigned independently in each file. If PSZCSF
is negative, the optional .csp file should be used to assign the parameters NUC,NVC. Note
that the filename(s) of the .csp file(s) should be the same as fname1 or fname2.
The output files described in Section 11.6 for visualization of the control surfaces and
for low-order control surfaces correspond to the complete control surface, with the same
filename as the gdf file. Thus these output files are the same as in the case where only one
CSF file is used.
118
11.5
For bodies with regular waterlines it is possible to define the control surface automatically,
during the run. The higher-order option ILOWHICSF=1 must be specified for the control
surface, but either the low-order (ILOWHI=0) or higher-order (ILOWHI=1) options can
be used for the body geometry and solution. When this procedure is used the outer part of
the control surface is defined either as a circular cylinder of specified radius and depth, or by
a quadrilateral box, usually rectangular, with specified waterline vertices and depth. The
program automatically defines the intermediate free surface, between the outer boundary
and the body waterline(s), by first tracing the waterlines and then establishing appropriate
patches to cover the area of the free surface between the waterlines and the outer boundary.
This procedure can be used with multiple waterlines, as in the case of a TLP, semi-sub,
or catamaran. In these cases it is necessary to define quadrilateral partitions which separate
the waterlines and serve to define the outer boundaries of local patches surrounding each
waterline. Examples of these inputs are shown below for the TLP and semi-sub. When
partitions are used for this purpose, certain restrictions must be followed:
The patches defined by the partitions and the waterline of the outer control surface
must cover the free surface with no gaps or overlaps.
Each partition, as well as the outer waterline, must obey the rule that as one progresses
in the positive direction from one vertex to the next, one passes around the waterline
in a counter-clockwise direction as viewed from above the free surface.
When multiple waterlines are defined by the GDF inputs, the order of the waterlines
and the order of the partitions must correspond, with the same number of each. For
example in TEST15 the columns of the semi-sub are defined starting at the midship
section X=0 and moving out toward the bow, following the patch definitions of the
subroutine SEMISUB in GEOMXACT; in this case the partitions in the CSF file
must follow the same order, as shown in Example 4 below. A proper sequence of
the patches and panels must be followed in the GDF file and geometry definition: all
indices of the patches or panels belonging to each waterline must be either smaller or
larger than all indices of the patches or panels belonging to the other waterlines. The
order of these indices defines the order of the waterlines, and the partitions defined in
the CSF file must follow the same order.
When partitions are used to separate multiple waterlines the program will extend (or
contract) the outer ends of the partitions so that they are located at the intersections
with the outer boundary. Thus, as shown in Figures 11.1 and 11.2, it is not necessary for the user to compute the exact coordinates of the intersections. In these two
Figures the coordinates of the intersections are obvious, but in some cases extra computation would be required, and the program is intended to perform this computation
automatically. However in some cases the program may not identify end points which
should be moved to the outer boundary, and the user should verify that this has been
done correctly by plotting the data in the auxiliary file gdf csf.dat. This problem
119
can be avoided by specifying the correct vertex coordinates in the CSF file, for the
outer ends of the partitions.
Automatic definition of the intermediate free surface may fail in some cases where the
waterlines are irregular. Examples of irregular waterlines where the automatic option may
fail include: (1) locally concave waterlines, (2) moonpools, (3) bodies with thin elements
(dipole patches) which intersect the free surface (e.g. TEST21), and (4) bodies with
horizontal patches or panels in the plane of the free surface. It is advisable to confirm
the representation of automatic control surfaces by plotting the data in the auxiliary file
gdf csf.dat. In cases where only the horizontal components of the drift force and vertical
component of the drift moment are required, the intermediate free surface can be omitted.
The option to use two separate CSF files, described in Section 11.4 above, should not
be used for automatic control surfaces.
When automatic representation of the control surface is used, special values must be
assigned to the parameters NPATCSF and ICDEF, as defined below, and the complete
CSF file should be of the following format:
1
(ILOWHICSF)
ISXCSF
ISYCSF
NPATCSF ICDEF
PSZCSF
RADIUS
DEPTH
NPART
NV(1)
X(1,1) Y(1,1)
X(1,2) Y(1,2)
.
.
.
X(1,NV1) Y(1,NV1)
NV(2)
X(2,1) Y(2,1)
X(2,2) Y(2,2)
.
.
.
X(2,NV2) Y(2,NV2)
NV(NPART)
X(NPART,1) Y(NPART,1)
X(NPART,2) Y(NPART,2)
.
.
.
X(NPART,NV1) Y(NPART,NV1)
1110
The symmetry indices ISXCSF and ISYCSF of the control surface must be the same as
the symmetry indices ISX,ISY of the body. Here the body symmetry indices ISX,ISY are
the same as the inputs in the GDF file, except in the case where the body is trimmed.
Special attention to symmetry is required if the body waterline is trimmed, since this may
affect the symmetry of the body. If the trim includes a roll angle, XTRIM(3) is nonzero
and ISY=0 regardless of the GDF input symmetry index. In this case ISYCSF=0 must
be specified in the CSF file. Similarly, if the trim includes a pitch angle, XTRIM(2) is
nonzero and ISXCSF=0 must be specified.
For cases where NBODY>1 and one or more bodies have planes of symmetry, as specified
in the GDF file, and no trim angles are specified for the body, then the same planes
of symmetry should be specified for the control surface (regardless of the fact that no
symmetry is used for the potential solution). In this case the control surface is reflected in
the same manner as the body. Tests 05 and 13 are examples of this convention.
If incorrect symmetry indices are input in the CSF file an error message is issued and the
run is terminated.
NPATCSF must be equal to zero or less than zero:
NPATCSF=0: the control surface is automatic and includes the intermediate free surface
NPATCSF<0 the control surface is automatic and the intermediate free surface is omitted
ICDEF must be equal to zero:
ICDEF=0: the control surface is automatic
RADIUS is the parameter which controls the radius of a circular outer surface, or specifies
that the outer surface is quadrilateral:
RADIUS>0: the outer surface is a circular cylinder of this radius
RADIUS0: the boundary of the outer surface is quadrilateral with NV(1) vertices specified by the coordinates (X(1,n), Y(1,n)) (n=1,2,...,NV(1)).
DEPTH is the depth of the control surface. This must be a positive real number, greater
than the maximum depth (draft) of the body.
NPART is an integer which specifies the number of partition boundaries. Each partition
boundary includes NV vertices, defined by the coordinates X,Y. Partition boundaries are
required for two possible purposes, (a) to define the outer boundary of a quadrilateral
control surface, and (b) to separate multiple waterlines. If the body has only one waterline
and the outer boundary is circular, NPART=0. If the body has only one waterline and the
outer boundary is a quadrilateral, NPART=1. When the outer boundary is a quadrilateral
its vertices must be defined by the first partition, with NV(1) vertices, and other partition
boundaries (if any) must be included after this in the file.
The vertex coordinates (X,Y) must be ordered so the partition boundaries enclose the
waterlines in the counter-clockwise direction, as illustrated in the examples below.
In cases where there are no planes of symmetry, each waterline is a closed curve which must
be surrounded by a closed partition boundary. When there is more than one waterline the
partition boundaries must not overlap, nor should gaps exist between them.
1111
In cases where the body is symmetric about X=0 and/or Y=0, and the same symmetry
planes are used for the CSF, the completeness of the partition boundaries depends on
whether or not the waterline intersects the planes of symmetry. If the waterline is entirely
within the interior of a quadrant or half-space and does not intersect the symmetry plane(s),
then it must be completely enclosed by a partition boundary. If the waterline intersects a
symmetry plane then the partition boundary should not include that plane, since it will
be closed by reflection about the plane.
For patches on the free surface, the parametric coordinates are defined with U=+1 on the
body waterline and U=-1 on the outer partition boundary; V is positive in the counterclockwise direction around body waterline. When a circular cylindrical outer surface is
used (IPARTR=1) U is in the azimuthal direction and V is in the vertical direction on the
side and radial direction on the bottom.
Several examples of .csf files are included below to illustrate the use of partition boundaries.
(Header lines are omitted for brevity.)
Example 1: single waterline with circular outer boundary, as in TEST05c and TEST13c:
1
1 1
0 0 1.
1.2 2.2
0
ILOWHICSF
ISX ISY
NPATCSF ICDEF
RADIUS, DEPTH
NPART
PSZCSF
Example 2: single waterline with quadrilateral outer boundary, as in TEST05s and TEST13s:
1
1 1
0 0 0.5
0.0
0.3
1
3
2.2 0.0
2.2 0.3
0.0 0.3
ILOWHICSF
ISX ISY
NPATCSF ICDEF
RADIUS, DEPTH
NPART
NV(1)
PSZCSF
Note in Example 2 the partition boundary is specified only in quadrant one, since ISX=1
and ISY=1. The first vertex is on the +xaxis, the second vertex is above the first, and
the third vertex is on the +yaxis to close the partition and surround the body waterline.
The order of the vertices is such that they follow a counter-clockwise progression around
the body with increasing polar angle relative to a point inside the body.
1112
Example 3: TLP or semi-sub with four columns and two planes of symmetry with a circular
outer boundary, as in TEST07 and TEST14:
1
ILOWHICSF
1 1
ISX ISY
0
0 10. NPATCSF ICDEF PSZCSF
85.0 40.0
RADIUS, DEPTH
1
NPART
3
nv1
0.0 50.0
0.0 0.0
30.0 0.0 (X,Y coordinates of vertices)
In this case, since the waterline is a closed curve in the interior of quadrant one, the
partition boundary is required to separate the waterline in quadrant one from the other
three waterlines of the TLP. The partition boundary is down, along the +yaxis, and
then to the right along the +xaxis, in accordance with the counter-clockwise rule. This
example illustrates a useful feature that the outermost points do not need to intersect the
outer boundary; the program extends or reduces the first and last segments automatically,
to intersect the outer boundary (the inputs 50.0 and 30.0 could be replaced by any positive
numbers).
Figure 11.1: View from above the free surface showing four quadrants of the TLP control surface with a
circular outer boundary. The partition boundary is represented by the heavy dashed line, as input in the
CSF file shown above for Example 3, before it is extended by the program to intersect the outer boundary.
1113
Example 4: ten waterlines, two and a half in each quadrant, with rectangular outer boundary, as in TEST15 (semi-sub with a total of ten columns):
1
ILOWHICSF
1 1
ISX ISY
0
0 10. NPATCSF ICDEF PSZCSF
0.0 40.0
RADIUS, DEPTH
4
NPART
3
NV(1)
150.0
0.0
150.0 60.0
0.0 60.0
end of partition 1 (outer boundary of control surface)
3
NV(2)
0.0 0.0
30.0 0.0
30.0 50.0
end of partition 2 (encloses middle half-column)
4
NV(3)
30.0 50.0
30.0 0.0
90.0 0.0
90.0 50.0
end of partition 3 (encloses second column)
3
NV(4)
90.0 50.0
90.0 0.0
150.0 0.0
end of partition 4 (encloses third column)
In this case the first partition boundary defines the outer rectangular boundary of the
control surface, and the other three are required to separate the waterlines in quadrant
one. Note that partition 2 starts at the origin in this case, without a segment along the
yaxis, since only half of the middle column is in the first quadrant and the images of
both the body and partition form a closed waterline and partition. As in Example 3 the
outermost points do not need to intersect the outer boundary; the program extends or
reduces the first and last segments automatically, to intersect the outer boundary (the
inputs 50.0 are replaced by 60.0). For the last vertex (150, 0) the X-coordinate could be
replaced by any value greater than 90.0. All four partitions obey the counter-clockwise
rule with respect to their domains. Also note that they completely define the interior free
surface, without gaps or overlap. In this example, if only the horizontal drift forces and
vertical drift moment were required, one could assign NPATCSF=-1 and NPART=1, and
omit all but the first partition.
The view of this control surface from above the free surface is shown in Figure 11.2.
1114
Figure 11.2: View from above the free surface showing one quadrant of the control surface described in
Example 4. The rectangular outer boundary and partition boundaries are represented by the heavy dashed
lines. Gaps between the partition boundaries are included for clarity, and are not present in the CSF file.
1115
Example 5: Monohull with one plane of symmetry, as in TEST22 (FPSO with internal
tanks) using a rectangular outer control surface:
1
ILOWHICSF
0 1
ISX ISY
0
0 2.
NPATCSF ICDEF
1
NPART
4
nv0
12.0
0.0
12.0
3.0
-12.0
3.0
-12.0
0.0
PSZCSF
In this case the outer rectangular boundary has four vertices, starting on the +x axis and
ending on the x axis.
When automatic representation of the CSF is implemented, the program traces the
body waterline(s) and establishes extra patches or panels on the free surface between these
waterlines and the partition boundaries. When the program connects adjacent sides of
patches in the waterline, the patches or panels are identified based on the coincidence or
close proximity of their vertices. The parameter TOLGAPWL is used for this purpose, to
allow for small gaps (or overlaps) between adjacent patches at the waterline. The default
value TOLGAPWL=103 is used unless a different value of this parameter is defined in the
CFG file, as explained in Section 4.7. In the test for adjacent patches the nondimensional
Cartesian coordinates of the adjacent patch corners are evaluated, and the distance between
these points is computed. The patches are assumed to be connected if this distance is less
than either TOLGAPWL or the product of TOLGAPWL and the maximum length of
one of the patch sides. The latter value is introduced to allow for cases where the size
of the structure is much larger than the characteristic length ULEN. The default value is
recommended in general. If the program is unable to close a waterline using this value,
an error message is displayed stating that the waterline is not closed. The default value
is recommended in general. If the program is unable to close a waterline using this value,
an error message is displayed stating that the waterline is not closed. In that case a larger
value of TOLGAPWL should be input in the CFG file.
The automatic CSF option should not be used for a body which is totally submerged.
This case can be handled more simply, by using one of the GEOMXACT subroutines which
represent closed bodies with an additional patch on the interior free surface, as one would
do to remove irregular frequencies (IRR=1). This option is included in the GEOMXACT
subroutines CIRCCYL, ELLIPCYL, SPHERE, ELLIPSOID, or BARGE, as explained in
Section 7.8. Alternatively, one can use ICDEF=0 as explained above in Section 11.3, and
include one or more quadrilateral patches to represent the interior free surface.
1116
11.6
OUTPUT
The mean forces and moments using a control surface are output in the OUT file and in the
numeric output file optn.7 or frc.7 in the same format as used for pressure integration
(Option 9).
When IPLTDAT> 0 in the CFG file, the auxiliary file gdf csf.dat is output. This can
be used for visualization of the control surface, using TecPlot or other similar programs.
As in the case of the corresponding data files for visualizing the body surface the data in
this file are defined with respect to the global coordinate system, and when NBODY>1
there is only one output file with the filename associated to the first body.
When ILOWHICSF= 1 and ILOWGDF> 0 in the CFG file, the file gdf low.csf is
output. This contains the data of the control surface in the low-order form described in
Section 11.2.
TEST05, TEST13 and TEST22 show examples of using the control surface in the evaluation of the mean forces and moments.
1117
Chapter 12
SPECIAL EXTENSIONS
12.1
INTERNAL TANKS
WAMIT includes options to analyze the linear hydrodynamic parameters for a fluid 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
fluid in each tank is bounded above by a free surface, but in special cases a rigid boundary
surface can be placed above the fluid to represent a tank entirely filled by fluid. 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 effects are significant. A two-dimensional study of this problem,
including nonlinear motions in the tank, is presented in Reference [26].
The tank geometry is defined in the same manner as for the exterior surface of each
body, using either the low-order or 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 6.1 (ILOWHI=0) and Section 7.1 (ILOWHI=1). In the context of a tank, this
means that the positive normal vector points out of the tank and into the space exterior
to the tank. In the low-order method the tank panels are included with the conventional
body panels in the .GDF file. In the higher-order method the tank patches are defined in
the same manner as the body surface, using one of the options listed in Sections 7.5-7.9.
In both cases the tank panels or patches are identified by their starting and ending indices,
which must be listed in the configuration files using the parameter NPTANK as explained
in Section 4.7.
TEST22 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 modified, 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
121
122
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 first and last index for each tank. An
even number of indices must be included on each line, and each pair must be enclosed in
parenthesis. More than one line can be used for multiple tanks, and/or multiple tanks can
be defined on the same line. If NBODY>1, the body numbers for each body containing
tanks must be appended to the parameter name. Only integer data and parenthesis are
read for the array NPTANK. Other ASCII characters may be included on these lines, and
are ignored when the input data is read.
RHOTANK is a real array used to specify the density of fluid in internal tanks. The
density specified is relative to the density of the fluid in the external domain outside
the bodies, as defined in Chapter 3 and Section 4.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 specified,
the remainder of the array is assigned the last non-negative value. Thus if the density is
the same for all tanks, only the first 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.
The following are equivalent formats for the required lines in the file TEST22.CFG:
NPTANK= (8-11) (12-15) (patch/panel indices for
RHOTANK= 0.6 0.6 (fluid densities for tanks one
NPTANK= (8 11)
(patch/panel indices for tank
NPTANK= (12 15)
(patch/panel indices for tank
RHOTANK= 0.6
two tanks)
and two)
one)
two)
123
RHOTANK real numbers are assigned the remainder of the line should be left blank,
as in the second example above.
The real array ZTANKFS can be included in the configuration files, as explained in
Section 4.7, to specify the free-surface elevations in internal tanks. The data in this array
define the elevations of the tank free surfaces, above the plane Z= 0 of the exterior free
surface. The data in the array ZTANKFS 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 ZTANKFS=. If the array ZTANKFS
is included, it must include one real number for each tank. If the array ZTANKFS is
not included, the waterline of each tank is derived from the highest vertex of the GDF
inputs. ZTANKFS is only used when the waterline trimming parameter ITRIMWL=1, as
explained in Section 12.2. The data in ZTANKFS are dimensional, with the same units of
length as are used in the GDF file.
Special inputs are required when pressures and/or velocities are evaluated for field points
inside the tanks (Option 6). In this case, when the field point coordinates XFIELD are
input as explained in Section 4.3, the parameter ITANKFPT=1 must be specified in the
.cfg file, as explained in Section 4.7, and the format of the XFIELD inputs in the .frc
file must include the corresponding number of each tank, or zero for the exterior domain.
When all of the field points are defined by arrays, using the option described in Section
4.11, the parameter ITANKFPT is not used and may be deleted from the .cfg file.
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
definitions apply to the outputs of these quantities in the .mmx file described in Section
5.6, and in the log file wamitlog.txt. When IALTFRC=1 is used, the body mass is derived
from the displaced fluid mass corresponding to the body volume, minus the fluid mass in
the tanks.
The body volumes, center of buoyancy, and hydrostatic restoring coefficients displayed
in the header of the .out file are calculated from the exterior wetted surface of the body, and
are not affected by the tanks. The volumes, densities, values of ZTANKFS, and hydrostatic
restoring coefficients 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 file
includes a list of all the patches, and the corresponding tank numbers ITANK for patches
which are defined as interior tanks. When ITRIMWL=0 or ZTANKFS is not included in
the CFG file, the values of ZTANKFS displayed in the header of the .out file correspond to
the tank free-surface elevations as used in the program, derived from the upper boundary
of the tank surfaces.
Hydrodynamic parameters which are physically relevant for the tanks alone (Options
1,5,6,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,9 correspond to the combination
of radiation modes specified by the IMODE array, with unit amplitude of each mode. The
damping coefficients for the tanks should be practically zero. From momentum conservation
the horizontal drift forces and vertical drift moment from Option 9 should be practically
124
zero.
Internal tanks affect the hydrostatic restoring coefficients Cij , as described in Section
15.10. The hydrostatic matrix, which is output in the out and hst files, includes the effects
of the tanks. For example the hydrostatic coefficient C33 in the output files is equal to
the total area of the waterplane inside the waterline of the body, minus 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
When planes of symmetry are specified in the GDF file (ISX=1 and/or ISY=1) the
tank geometry is reflected in the same manner as the hull. This procedure should only be
used if all of the tanks intersect the symmetry plane (with half of the tank on each side
of the plane). For example in the case of the FPSO shown in Appendix A.22, where both
tanks extend across the plane of symmetry Y=0, it is appropriate to use ISY=1 as is done
in TEST22. On the other hand if there are separate tanks on each side of the symmetry
plane (e.g. wing tanks) the hydrostatic and hydrodnamic coefficients for the tanks will not
be physically correct. This situation can be avoided by defining both sides of the hull and
both tanks separately in the GDF file, and setting ISY=0.
125
12.2
TRIMMED WATERLINES
WAMIT includes the option to specify a trimmed waterline for each body. In the trimmed
condition, the static orientation of the body is shifted relative to the horizontal plane of the
free surface, first by a prescribed vertical elevation, then by a pitch angle (often referred to
as the trim angle), and then by a roll angle (heel). For a given body geometry, different
planes of flotation can be analyzed without redefining the geometry in the GDF file. A
necessary condition for this procedure to be implemented is that the definition of the body
geometry in the GDF file must include all surface elements which are submerged when the
body is trimmed. Thus it is necessary to define a sufficient portion of the body surface
above the untrimmed waterplane.
Trimming of the waterline is supported in both the low-order (ILOWHI=0) and higherorder (ILOWHI=1) methods. There are some practical restrictions that must be considered
when the higher-order option is used, as described below.
The trimmed condition of the body is specified by two parameters in the configuration
files, ITRIMWL and XTRIM, as defined in Section 4.7. ITRIMWL=0 is the default,
indicating that the body is not trimmed. ITRIMWL=1 specifies that the body is trimmed,
and XTRIM(1:3) specifies the vertical elevation and angles of rotation of the body, as
explained below. If ITRIMWL=0, XTRIM is ignored. Note that if ITRIMWL=0 (or
ITRIMWL is not included in the inputs), then the GDF file must only define the submerged
portion of the body as in previous versions of WAMIT; in this case the program checks to
ensure that no elements of the body surface are above the plane of the free surface, and an
error stop occurs if such elements are detected. Conversely, when ITRIMWL=1, elements
of the body surface above Z=0 are permitted, and there is no check or error stop. It is
possible to suppress the error stop, without trimming, with the inputs ITRIMWL=1 and
(XTRIM=0.0 0.0 0.0).
Appendix A includes four test runs with trimmed waterlines: TEST01A, TEST09A,
TEST13A, and TEST22A. The perspective plots which accompany these descriptions illustrate the trimmed conditions of the structures.
When multiple bodies are analyzed, the vector XTRIM must be input separately for
each body, following the same format as for XBODY in Section 8.4. TEST13A illustrates
this procedure for NBODY=2.
The following coordinate systems and input parameters should be considered in defining
the process of trimming waterlines:
(X,Y,Z) are global coordinates with Z=0 in the plane of the free surface.
(x,y,z) are conventional body coordinates, which define the submerged body surface in
WAMIT.
(, , ), referred to hereafter as GDF coordinates, are the coordinates used to define the
body geometry in the GDF file.
In the low-order method (ILOWHI=0), when the panel vertices are input from the GDF
file, these are converted from GDF coordinates to body coordinates, using the translation
and rotations defined by XTRIM. When the higher-order method is used (ILOWHI=1),
126
the same coordinate transformations are performed from the subroutine outputs each time
that the subroutine defining the body surface is called. The practical effect, in both
cases, is that the original definition of the body geometry in the GDF file is replaced
during the WAMIT computations by a new transformed description in (x,y,z) coordinates,
which represents only the submerged portion of the body in the trimmed condition. This
submerged surface can be plotted and visualized, in the same manner as for untrimmed
bodies, using the parameter IPLTDAT as explained in Section 4.7.
The transformation from GDF coordinates to body coordinates is defined by the following relations:
x=
c2 + s2 s3 + s2 c3
y=
c3 s3
z = s2 + c2 s3 + c2 c3 + XTRIM(1)
where
c2 = cos(XTRIM(2)),
c3 = cos(XTRIM(3)),
s2 = sin(XTRIM(2))
s3 = sin(XTRIM(3))
The perspective figures in the Appendix Section A.2 are useful to illustrate this transformation. The original GDF coordinates for the body are as shown in the first figures for
TEST22, with the vessel in its conventional orientation. The GDF inputs for TEST22a
are the same, except that the draft and tank depths are increased, so that after vertical
trimming and applying the roll angle the entire surface is still submerged. After trimming
the vessel is as shown in the perspective figures for TEST22a, which correspond to the new
body coordinates with the z-axis vertically upward. The WAMIT outputs which result from
TEST22a are the same as if the original GDF data defined the configuration shown in the
TEST22a perspective figures, without trimming, and with the hull and tank waterlines
as shown in these figures. The geometric output files (test22a pat.dat, test22a pan.dat,
test22a low.gdf) all correspond to the latter figures, not to the original un-trimmed GDF
data. It is recommended to plot and visualize the geometry after trimming, using the data
files which are defined by the parameter IPLTDAT in the CFG file, to ensure that the
actual trimmed structure is correct.
Except for the GDF coordinates, the definitions of coordinate systems, etc., are as
defined in earlier chapters. In particular, the body motions and forces are defined with
respect to the conventional body coordinates (x,y,z). Thus, for example, surge is in the
horizontal direction and heave is in the vertical direction, relative to the free surface.
Rotations and moments are defined with respect to the origin of this coordinate system.
XBODY(1), XBODY(2), XBODY(3) are the (X,Y,Z) coordinates of the origin of the body
coordinate system relative to the global coordinate system, and XBODY(4) is the angle
in degrees of the x-axis relative to the X-axis of the global system in the counterclockwise
sense, as shown in Figure 6.2.
The mass and inertia parameters in the FRC file are defined with respect to the body
coordinates, and apply to the trimmed configuration as if it was the original input for the
127
run. The outputs in the MMX file can be checked to verify that these are correct in the
body coordinate system.
The input parameter XTRIM(1), which defines the vertical coordinate z of the origin
of the GDF coordinates, is in the same units as the dimensional GDF coordinates, corresponding to the parameter GRAV in the GDF file. The angles XTRIM(2) (pitch) and
XTRIM(3) (roll) are in degrees. XTRIM(2:3) are Euler angles, with the convention that
the body is first pitched about the transverse -axis, and then rolled about the longitudinal
-axis. (Yaw can be included via XBODY(4). With this convention the projection of the
-axis on the plane Z=0 is at the same angle XBODY(4) as the projection of the x-axis.)
In the low-order method (ILOWHI=0), the input panels from the GDF file are tested
for their positions relative to the plane of the free surface (Z=0). Dry panels, which are
entirely above the free surface, are removed from the array of panel coordinates within the
program. Wet panels, which are entirely submerged, are retained without modification.
Panels which intersect the waterline, referred to as waterline panels, are trimmed at the
waterline. In some cases, where waterline panels have three vertices below the free surface
and one vertex above the free surface, the resulting trimmed panel is a polygon with five
sides; in these cases the panel is subdivided to form two separate panels (one quadrilateral
and one triangular). The number of panels is increased by one for each subdivided panel.
Converesely, when dry panels are removed, the number of panels is decreased. Examples
of subdivided panels can be seen in the perspective plot corresponding to TEST01A in
Appendix A.
In the higher-order method (ILOWHI=1), an analogous procedure is followed for each
patch of the body, based on the vertical positions of the four corners of each patch. If the
patch intersects the waterline, an iterative procedure is used to remap the submerged portion onto a square domain in parametric space. There are situations where this procedure
breaks down, and thus it must be used with caution. One example is where the vertices of
a patch are all submerged, but a portion of one side maps in physical space above the free
surface.
Body symmetry can be affected by trimming. When it is necessary, WAMIT automatically reflects the body geometry and resets the symmetry indices. For example in
TEST01A the GDF file specifies ISX=ISY=1, but the trimmed body has only one plane of
symmetry (x=0). Similarly in TEST22A the GDF file specifies ISY=1, but the trimmed
body has no planes of symmetry due to the heel angle.
Dipole panels are trimmed in the same manner as conventional panels, as illustrated in
TEST09A.
Special attention is required for bodies with internal tanks. Two alternative options
are included, as explained in Section 12.1, depending on the parameter array ZTANKFS
in the CFG file. If ZTANKFS is not included in the CFG file (or if ITRIMWL=0), the
geometry of internal tanks is not trimmed, and the tank free surface is always defined by
the highest points of the specified panels or patches. If trimming includes a pitch or roll
displacement of the body, this approach requires the tank geometry to be redefined so that
its upper boundary coincides with the correct plane of the free surface inside the tank.
If ZTANKFS is included in the CFG file (and if ITRIMWL=1), the geometry of internal
128
tanks is trimmed using the same algorithms as for the exterior surface. In this case it is
necessary to define the tank geometry up to the level of the trimmed free surface, as in
TEST22A.
Special attention is required also when irregular-frequency removal is used (IRR>0). If
the interior free surface is defined by the user as part of the overall geometry of the body
(IRR=1) it is necessary to ensure that the interior free surface coincides with the Z=0 plane
after trimming. If automatic discretization of the interior free surface is used (IRR=3),
the interior free surface is defined correctly in the plane of the trimmed free surface. The
option (IRR=2) cannot be used when ITRIMWL>0 (See Section 10.2).
129
12.3
Different options are available for the analysis of problems where walls are present in the
plane(s) of symmetry x = 0 and/or y = 0. The analysis of wave radiation by wavemakers
in the plane(s) of the walls is discussed in this Section. A more general approach applicable
to wavemakers in the planes of the walls and/or bodies in the interior domain of the fluid
is described in Section 12.4. These two approaches require somewhat different inputs.
Either one tank wall of infinite width, or two semi-infinite walls at right angles, can be
considered. These correspond to one or both of the symmetry planes x = 0 and/or y = 0.
Wavemakers with prescribed normal velocities are located in the walls. The opposite
walls of the wave tank are assumed to have absorbing beaches, represented here by open
domains extending to infinity. In all cases it is assumed that the wall(s) are planes of
symmetry, and the fluid motion is symmetrical about these planes. Thus the solution for
the velocity potential in the fluid 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 defined in the .gdf file. In the low-order method
(ILOWHI=0) a sufficient 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
7.5.
The parameter ISOLVE=-1 is used in the configuration files to indicate that the wavemakers are in planes of symmetry, and that the solution of the integral equation is not required. Suitable generalized modes must be defined, as explained in Chapter 9, 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 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 fluid domain.
The principal outputs are the potential and fluid velocity at specified field points (Option
6). If the field point is on the free surface the potential is equivalent to the wave elevation,
as explained in Chapter 3. No other Options in the FRC file are supported. If multiple
wavemakers are run together with separate modes for each wavemaker, the parameter
INUMOPT6=1 should be specified in the .cfg file 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 5.2. A post-processor should be used to combine
these outputs, for arbitrary combinations of simultaneous motion of all wavemakers.
The subroutine WAVEMAKER is included in the NEWMODES DLL file, to analyze one
or more wavemakers. If IGENMDS=21 is specified in the configuration files the wavemakers
1210
are hinged with pitching motions about a horizontal axis. The depth of this axis is specified
in the input file gdf wmkrhinge.dat where gdf is the filename of the GDF file. 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 defined in the .gdf file. In the
low-order method this effectively 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 specified in the
pot or cfg file, with the same value as the number of patches in the gdf file.
The subroutine WAVEMAKER includes two additional options, specified by IGENMDS=211 and IGENMDS=212. If IGENMDS=211 each wavemaker is like a piston, with
constant normal velocity on its surface. If IGENMDS=212 a bank of contiguous wavemakers are joined by vertical hinges, and represented by tent functions with constant normal
velocity in the vertical direction. Further information is given in the header of this subroutine.
TEST23, described in Appendix A.23, illustrates the use of the option IGENMDS=21
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 field points. The depth of the horizontal axis is specified by the parameter
ZHINGE=-2m in the input file test23 wmkrhinge.dat.
1211
12.4
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. The presence of walls
is specified by the optional integer inputs IWALLX0 and IWALLY0 in the configuration
files. In the default case these inputs are assigned the values zero, signifying that there
are no walls. The inputs IWALLX0=1 and/or IWALLY0=1 signify that there are walls
in the planes x = 0 and/or y = 0, respectively. All other inputs are unchanged from
the case without walls. In particular the GDF files for one or more bodies should specify
the symmetry indices ISX,ISY corresponding to the planes of symmetry of the body, with
values 0 or 1, just as in the case without walls.
Figure 12-1 defines two coordinate systems, one fixed 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 defined in Section 4.2 must coincide
with the wall coordinate system as defined in Figure 12.1.
In the Potential Control File the vector XBODY(1),XBODY(2),XBODY(3) specifies the dimensional (X, Y, Z) coordinates of the origin of the body-fixed 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 defined in Figure
12.1. The values of the incident wave heading angles BETA are defined with respect to
the positive X-axis.
An important detail to note is the definition of the incident-wave amplitude and its
physical interpretation. The incident-wave is defined as the incoming wave component
1212
prior to reflection from the wall(s), and A is the corresponding amplitude. If only one wall
is present then, after reflection, the resulting wave field 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 reflected component,
but the physical amplitude of this wave is 2A. Some consequences of this definition are
noted in the comparison of Test Runs 04 and 19 (see Sections A.4 and A.19). If two walls
are present, the resulting wave motion after reflection from both walls will have a maximum
elevation of 4A.
In the Force Control File the array IOPTN is unchanged from the definitions in Section
4.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. IOPTN(7) can be used provided
the control surface is within the fluid domain. The Haskind wave heading angles BETAH
are defined with respect to the walls in the same manner as BETA. The coordinates of
field points XFIELD where the pressure, wave elevation, and velocity are evaluated, are
defined as in Section 4.3 relative to the wall-mounted system.
The incident-wave velocity potential is defined relative to the wall-mounted 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. In addition the fluid velocity vector components are given with
respect to the wall-mounted coordinate system.
The other definitions of output quantities in Chapter 3 are unchanged.
Wavemakers may be included in the walls, following a similar procedure as described in
Section 12.3. When bodies and wavemakers are both present, ISOLVE0 must be specified. The wavemakers are treated as one or more separate bodies. In the simplest case,
where one body is in the fluid domain and all wavemakers are defined within another GDF
file, NBODY=2 is used and the parameter IBODYW=2 is defined in the CFG file, indicating that body 2 consists of wavemakers in the walls. The order of the bodies is specified by
the order of the corresponding inputs in the POT file. There can be one or more physical
bodies, and one or more wavemaker bodies. The physical bodies must precede the wavemaker bodies in all cases. Thus if K=1,2,...,NBDYP are the indices for NBDYP physical
bodies, and K=NBDYP+1,NBDYP+2,...,NBDYP+NBDYW are the indices for NBDYW
wavemakers, NBODY=NBDYP+NBDYW is the total number of bodies identified in the
input files and IBODYW=NBDYP+1 is the index of the first wavemaker body, input in
the configuration files.
Only the radiation problems are solved when wavemakers are present, including radiation from the wavemakers as generalized modes. Outputs with wavemakers include the
added mass and damping matrices (Option 1), a surrogate for the Haskind exciting force
to be explained below (Option 2), RAOs in response to the Option 2 exciting force and
moment (Option 4), as well as Options 5,6,7.
The surrogate exciting force is the force and moment acting on the body due to the
motions of the wavemakers, computed from the cross-coupling added mass and damping
coefficients where one mode is for the body and the other mode is for the wavemaker. The
1213
outputs for the exciting force (Option 2) and RAO (Option 4) are the same as for incident
waves, except that the index of the wavemaker is output in place of the wave incidence
angle BETA. These wavemaker RAOs cannot be compared directly with the conventional
incident-wave RAOs since the amplitude of the waves generated by the wavemaker modes
are not used to normalize the RAOs. It is possible to make a separate run without the
bodies to measure the wave elevations at the locations of the bodies using Option 6, as one
might do to calibrate the wavemakers in a physical wavetank. If the wavemaker RAOs are
normalized by these calculations of the wave elevations the results are directly comparable
with the conventional RAOs in incident waves of unit amplitude.
When walls are specified by the parameters IWALLX0=1 and/or IWALLY0=1, the
program automatically reflects the body and wavemaker geometry about the walls. The
planes of symmetry for each body or wavemaker, defined by the parameters ISX and ISY in
the GDF file, refer specifically to the local planes of symmetry of the body or wavemaker.
When IWALLX0=1 and wavemakers are defined in the wall X=0, the symmetry index
ISX=0 should be used for the wavemakers; similarly, for wavemakers in the wall Y=0,
ISY=0. (Except for special cases where the GDF file only defines one half of the wavemaker,
both wavemaker symmetry indices should be zero.) The symmetry indices for bodies are
the same as without walls.
Since the wavemakers correspond to one or more bodies, it is necessary to include the
usual inputs for these bodies in one or more FRC files. However, the dynamic characteristics
of the wavemakers are ignored, since the RAOs are not evaluated for the wavemakers. Thus
dummy values of the inputs for the dynamic characteristics of the wavemakers (VCG and
XPRDCT, or XCT and external force matrics) must be included, but their values are not
relevant.
1214
12.5
Starting in Version 7.0 it is possible to analyze problems where part of the body surface
consists of one or more free surfaces, on which the pressure distribution is specified instead
of the normal velocity. These are referred to as free-surface pressure surfaces (FSP).
Practical examples of bodies with FSP surfaces include oscillating water columns used
for wave-energy conversion and air-cushion vehicles which are supported by positive mean
pressure acting on the free surface below the body.
FSP surfaces can be either in the same plane (Z = 0) as the exterior free surface,
or submerged (Z < 0) below the level of the exterior free surface (corresponding to a
positive static pressure imposed on the surface as in the case of an air-cushion vessel).
All FSP surfaces must be in horizontal planes, corresponding to constant values of the
static pressure on each surface. The theory for this extension is described in Section 15.11.
Examples of the use of FSP surfaces are included in Appendix A, TEST17c and TEST25.
The geometric definition of FSP surfaces is the same as for the other parts of the body
surface, defined within the same GDF input file(s). The panels or patches which represent
FSP surfaces are specified using the parameter NPFSP in the configuration files to identify
the panel or patch indices. The inputs NPFSP must be in pairs, denoting the first and
last values of the index (See Section 4.7). Multiple lines containing NPFSP=(N1 N2) can
be used to indicate all of the FSP panels or patches for the body.
The oscillatory pressure distributions acting on the FSP surfaces are defined in a
manner similar to the representation of generalized modes, using subroutines in the file
newmodes.dll, as described in Chapter 9. In the simplest case the pressure distribution
is constant, and only one mode is required for each FSP surface. In more general cases
the pressure distribution can be represented by appropriate sets of modes such as Fourier
modes. The parameters IMODESFSP and NMODESFSP specify for each body the subroutine used to define the modes and the number of active modes, respectively. These are
analogous to the parameters IGENMDS and NEWMDS used for generalized modes. Each
pressure mode is assigned a mode index j > 6 and a complex amplitude j . In the case of
one body (or body one if there are multiple bodies), the pressure distribution is defined by
the equation
6+Mp
p0 (x, y) = g
j nj (x, y),
j=7
where Mp =NMODESFSP is the number of pressure modes, and the spatial distribution of
each mode is described by the real function nj (x, y). The standard distribution version of
newmodes.dll includes the subroutine PRESSURE FS which permits the representation of
a constant pressure distribution on a surface. Symmetric and antisymmetric modes can be
used to analyze cases such as that described in Appendix A25, with appropriate planes of
symmetry and with independent pressures acting on separate surfaces. Users should refer
to the comments in this subroutine in the source file newmodes.f for further information.
For bodies with submerged FSP surfaces the volumes and center of buoyancy are computed in the same manner as if these surfaces were part of the body. Thus the displaced
1215
volume includes the volume between the submerged FSP surface and the exterior free surface, which ensures that the body is in hydrostatic equilibrium if the hydrostatic force on
the FSP surface is balanced by an equal and opposite force on the body.
The hydrostatic restoring coefficients Cij are computed separately on the wetted surface
Sw and the pressure surface Sp (these surfaces are defined in Section 15.11). For the six
rigid-body modes the equations in Section 3.1 are used with Sb replaced by Sw . For the
additional pressure modes the restoring coefficients are defined by equation (15.77).
The volumes (VOLX,VOLY,VOLZ) and center of buoyancy are evaluated using the
equations in Section 3.1 and integrating over the entire surface Sb = Sw + Sp . There is no
contribution from the pressure surface Sp if this is in the same plane as the exterior free
surface (Z = 0), but if Sp is submerged below Z = 0 there are nonzero contributions which
affect the volumes and center of buoyancy, as in TEST25. If the body is freely floating,
and IALTFRC=1 is used (see Section 4.3), this implies that the mass and horizontal
components of the center of gravity are the same as for a conventional body with the same
total volume. Depending on the application this may or may not be appropriate. The roll
and pitch restoring coefficients C(4, 4) and C(5, 5) are also affected, due to the term gzb .
In special cases it may be necessary to make corrections using the external stiffness matrix
in the FRC file (see Section 4.4).
Special attention is required to analyze body motions if the pressure acting on the FSP
surface results in a static restoring force on the body, referred to here as an external
restoring force. This will occur if the pressure is contained within a chamber, such as an
air-cushion vehicle, exerting a force and moment on the upper surface of the chamber.
If the volume is constant and compressibility effects are negligible the external restoring
coefficients are defined by equation (15.78). If the configuration parameter ICCFSP=1
these coefficients are included in the hydrostatic matrix and in the evaluation of the RAOs.
This option is used in TEST25. In the default case ICCFSP=0 these coefficients are not
included (see Section 4.7).
When FSP surfaces are included the mean drift force and moment based on momentum
(Option 8) and based on the use of a control surface (Option 7) includes the effects of the
pressure acting on the FSP surfaces. However the mean drift force and moment based on
pressure integration (Option 9) only includes the contribution from integration over the
wetted surface of the body. When Option 9 is used with FSP surfaces a warning message
is issued. When Option 7 is used, as described in Chapter 11, the control surface should
include the free surface exterior to the body, if this is necessary, and should not include
the FSP surfaces.
1216
12.6
Starting in Version 7.1 the cfg parameter NPFORCE or NPNOFORCE can be used to include or
omit specified panels or patches in the integrations of the pressure force and moment on the
body surface. This option can be used, for example, to evaluate structural sheer loads on
elongated bodies. If NPFORCE is included in the cfg inputs, as described in Section 4.7, only
the panels or patches specified are included in the integrations. Conversely if NPNOFORCE
is included in the cfg inputs, these panels or patches are omitted from the integrations.
These two parameters are complementary and cannot be used together for the same body.
If both parameters are included in the cfg inputs an error message is generated and the
program stops, unless they are assigned with different body indices (see Section 8.4).
The forces computed with NPFORCE or NPNOFORCE can also be evaluated using generalized
modes, as described in Chapter 9, with the mode shapes equivalent to the rigid-body
motions only on the panels or patches specified by NPFORCE (or only on the panels or
patches which are not specified by NPNOFORCE). The use of NPFORCE or NPNOFORCE is simpler
than the use of generalized modes, since it is not necessary to define the modes required.
However the use of generalized modes is more general, and also has the advantage that the
desired structural loads and total forces can both be evaluated during the same FORCE
run.
The use of NPFORCE or NPNOFORCE only affects the integration of the hydrodynamic
pressure on the body surface, and the outputs for FORCE options 1 (added-mass and
damping coefficients) and 3 (exciting forces from diffraction potential). It does not affect
the hydrostatic restoring coefficients defined in Section 3.1. Results for the RAOs, and
other outputs which depend on the body motions, will usually be incomplete or nonphysical.
1217
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 diffraction type, and vice versa.
The added-mass and damping coefficients (Option 1) are of the radiation type, whereas
the exciting forces and RAOs (Options 2,3,4) are of the diffraction type. Except as noted
in Section 13.5, the pressures and fluid velocities on the body (Option 5) and in the fluid
(Option 6) are of the diffraction type, since these are defined in the WAMIT convention
as total responses with the body free to respond (or fixed) in incident waves.
An important difference between the two types of outputs is in terms of their limits at
infinite frequency or zero period. In this limit the radiation outputs are generally real and
nonzero, corresponding to the added mass, pressure, and fluid velocity induced by forced
motions of the body without wave effects on the free surface. Conversely, in the same limit
there are no diffraction effects since the incident waves have vanishingly small wavelength
and cause no disturbance of either the body or the fluid.
The principal radiation IRFs correspond to the added-mass and damping coefficients,
evaluated by WAMIT in Option 1. To displace the body in calm water in mode j with timevarying acceleration j (t) the component i of the force required to oppose the hydrodynamic
pressure is given [29] by
Fi (t) = Aij ()j (t) +
Z
0
Lij ( )j (t ) d
(13.1)
where Aij () is the infinite-frequency limit of the added mass. The radiation IRF Lij (t)
is evaluated from either the Fourier cosine or sine transforms (13.5-6). These IRFs are
output from F2T in the files IR.1, JR.1 and KR.1 as explained below in Section 13.4.
The exciting forces and RAOs are of the diffraction type, evaluated by WAMIT in
Options 2, 3 and 4 and defined relative to an incident wave of uniform amplitude A,
propagating in the direction . The corresponding IRFs are defined with respect to an
impulsive incident wave, moving in the same direction, where the free-surface elevation
(x, y, t) is equal to a delta-function (t) at the origin x = y = 0. Further details are given
in [26] and [30]. Here we define a general output Ui (t) to be either the exciting force or
the RAO, with respect to the mode i. It follows that
Ui (t) =
Ki ( )(0, 0, t ) d
(13.2)
The IRFs Ki (t) are evaluated from the Fourier transform of the frequency-domain exciting
force or RAO using (13.10). These IRFs are output from F2T in the files IR.n and JR.n
where (n=2,3,4), as explained below in Section 13.4.
132
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). When radiation
IRFs are evaluated it is necessary to also evaluate the corresponding frequency-domain
outputs for 0 = 0 and N +1 = , using the inputs PER<0.0 and PER=0.0 respectively
(See Section 4.2). In the WAMIT run this is done most easily by setting the parameter
IPERIN=2 in the configuration files (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 input files used for the tests of the ISSC TLP can be regarded as an example. These
files are listed in Appendix A14a. They are essentially the same as for TEST14, with the
exception of IPERIN=2, and the specification of the input frequencies.
When the input files 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 files. 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 files from WAMIT, e.g. one with a coarse set of wave frequencies and the
other with intermediate frequencies, to provide a finer set, without concern regarding their
order.
13.3
The program F2T can be executed after the appropriate WAMIT output files are available.
The user must specify the filenames of these files and a small number of input parameters,
either interactively in response to appropriate runtime prompts or by preparing the special
input file inputs.f2t. The following example of this special input file corresponds to the
TEST14a test run TEST14a described in Appendix A:
header line for inputs.f2t control file, TLP example
TEST14a
0 0 1 (IRAD IDIFF NUMHDR)
0 0 2 (INUMOPT5 INUMOPT6 IPEROUT)
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
files. This line should be used to insert a brief description of the file.
Line 2 is a list of the filenames (not the extensions) of the primary and secondary
WAMIT output files. F2T attempts to open all numeric output files with the same filenames, and includes all of these files in the analysis. Thus the determination of which
133
options to be included depends on the available WAMIT output files. In this example
where the TEST14a.FRC control file was used as in the standard WAMIT test runs, Options 1,2,3,4 are included in the F2T analysis. If all of the input data is included in the
primary file it is not necessary to list other filenames. Additional secondary files 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 filename.
Lines 3 and 4 contain the six control parameters identified 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
specified here with the value 0 (no headers) or 1 (one line of headers) to indicate the presence or absence of a header line in the WAMIT numeric output files. INUMOPT5 and
INUMOPT6 must be specified here with the value 0 (default) or the separate-components
values 1. IPEROUT=1 or 2 must be specified, to distinguish wave periods and frequencies
in the WAMIT output files
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 diffraction 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 value IOUTFCFS=0 is recommended except in cases involving a large number of radiation modes, where the number of
columns in the JR1 output files may be excessive.
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 file.
These parameters are only required when Options 5 or 6 are included, and when the radiation outputs are specified, as explained in Section 13.5. 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 IOUTFCFS on line 6.
The use of the special file inputs.f2t is optional. If this file does not exist, or if the
first five lines cannot be read with the appropriate data, the user is prompted to specify all
of the above inputs interactively. The special file 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 different values of the time step and
number, simply by omitting Line 5 from the special file.
134
The numeric data in the special file 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 filenames 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.
The program F2T has been updated to function with output files from WAMIT Version
7. To ensure compatibility, users should verify that (1) WAMIT Version 7.0 or later has
been used to generate the WAMIT numeric output files, and (b) the file f2t.exe is dated
after 31 December 2011. It is possible to mix earlier versions, subject to the following
restrictions:
If output files from WAMIT Version 6 are used as inputs to the updated f2t.exe, set
the input parameter IPEROUT=1. Post-processing of field pressures and velocities
is not possible unless these output files are renamed with extensions (.6p, .6vx, .6vy,
.6vz).
If older versions of f2t.exe are used with output files from WAMIT Version 7, the
default value IPEROUT=1 must be used for the WAMIT runs. Post-processing of
field pressures and velocities is not possible unless these output files are renamed with
extensions (.6, .7x, .7y, .7z).
13.4
OUTPUT FILES
The output files from F2T are in two complementary formats with duplication of the output
data in the two formats. The filename assigned to all of the output files is primary, with
different extensions. The first set of output files have appended filenames including IR
followed by the same extensions as the WAMIT output files. The second set have the
appended filenames including JR. The first set follow the same format as the WAMIT
numeric output files of the same number, except that the period is replaced by the time step
and the WAMIT force coefficients are replaced by their Fourier cosine and sine transforms.
Different modes and mode combinations are listed on separate lines with the identifying
mode indices, just as in the numeric output files of WAMIT.
To facilitate plotting and separation of the different modes and wave angles (BETA),
all of the Fourier cosine/sine transforms are listed on one line in the output files 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 file 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 13.3 and 13.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 Diffraction exciting forces or cross-coupling coefficients
are compared. Alternatively, to achieve more compact output files, one of these transforms
can be omitted using the parameter IOUTFCFS.
135
One extra output file is produced with the extension KR.1, containing the impulseresponse functions Kij which are defined in Reference [30]. These alternative IRFs are
evaluated in F2T by numerical differentiation of the IRFs Lij , and can be used with a
similar convolution integral as in (13.1), but using the velocity j instead of the acceleration
j .
The diffraction files JR are different from the radiation files 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 13.2).
For practical purposes the .JRn files will be most useful, and the .IRn files may be useful
only to clarify the identity of the different columns in the .JRn files.
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 AND 6
The F2T utility has been developed primarily for use with Options 1 to 4 (global forces
and RAOs). Local pressures, velocities, and wave elevations may be difficult to transform
accurately, due to limited or non-convergence of the Fourier transforms at high frequencies.
The outputs from F2T include transforms of the WAMIT outputs for Options 5 and 6,
which may be useful for special purposes. A distinction is made between radiation and
diffraction components. Radiation components are output from WAMIT separately if
INUMOPT5=1 and/or INUMOPT6 = 1, and IRAD = 0 or 1. All other outputs are of
the diffraction type, including both the separate diffraction components of the pressure
and velocity, and the total superpositions which are output when INUMOPT5=0 and/or
INUMOPT6=0.
The diffraction-type pressure and velocity are transformed in the same manner as the
exciting forces and RAOs. The IRFs Ki (t) are evaluated using (13.10), with Xi the
frequency-domain output from WAMIT for the same pressure or velocity. The free-surface
elevation is equivalent to the pressure on z = 0, as defined in Section 3.6.
The radiation components of the pressure are not output directly by F2T. Instead, the
radiation potentials j defined in Section 3.5 are transformed, using (13.5-6) with the real
and imaginary parts of the potential substituted for the added mass and damping. The
radiation components of the fluid velocity are defined as the nondimensional gradients of
these potentials, as in Section 3.7.
If IDIFF=1 is specified in the WAMIT run, the WAMIT outputs from Options 5 and
6 are the total responses from superposition of all specified radiation modes. If more than
one mode is considered, the output is for nonzero finite frequencies only and is not suitable
for transform to the time domain unless the configuration parameters INUMOPT5=1 and
INUMOPT6=1 are used.
136
13.6
THEORY
The fundamental relations between the time- and frequency-domain express the addedmass coefficient Aij and damping coefficient Bij in terms of Fourier transforms of the
impulse-response function Lij (t):
Z
Aij () Aij () =
Bij () =
(13.3)
(13.4)
2Z
[Aij () Aij ()] cos t d
0
2 Z Bij ()
Lij (t) =
sin t d
0
(13.5)
(13.6)
Similar relations exist for the exciting forces and RAOs. Define 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
(13.7)
Xi ()eit d
(13.8)
Z h
0
Xi ()eit + Xi ()eit d
1Z
Ki (t) =
[Re(Xi ) cos t Im(Xi ) sin t] d
0
(13.9)
(13.10)
The Fourier transofrms (13.5), (13.6), and (13.10) are evaluated by truncating the infinite integrations at the largest value of the evaluated frequency, and using Filon quadratures to evaluate the resulting finite integrals. A truncation correction is applied to (13.5).
Further details regarding this procedure are given in [26].
137
13.7
In the WAMIT output files all of the output data is nondimensional, except for the wave
period. Definitions of the nondimensional outputsqare given in Chapter 3. The wave period,
defined in seconds, has the same dimension as U LEN/GRAV , where the parameters
ULEN and GRAV are input in the GDF file. Since the hydrodynamic force coefficients and
other outputs from WAMIT are nondimensional, and the frequency has the dimension
of inverse time, it follows that the impulse response functions defined by equations 13.3,
13.4 and 13.8 are all dimensional, with the dimension of inverse time. The additional
impulse-response functions in the output file .KR1, defined as the time-derivatives of the
IRFs Lij , have the dimension of inverse time squared.
For Options 1-4 the normalized outputs from F2T are defined as follows:
Z h
i
2Z
ij (t) = 2
L
Aij () Aij () cos t d =
Bij () sin t d
0
0
Z h
i
i (t) = 1
i ()) cos t Im(X
i ()) sin t d
Options 2, 3 :
K
Re(X
0
i
1 Z h
Option 4 :
Ki (t) =
Re(i ()) cos t Im(i ()) sin t d
0
In these equations the nondimensional frequency-domain parameters are defined in Sections
3.2-4.
Option 1 :
For Options 5 and 6 the pressure and velocities are of diffraction type when INUMOPT5,6=0.
In this case the normalized outputs from F2T are defined as follows:
1Z
K(t)
=
[Re(
p()) cos t Im(
p()) sin t] d
0
i
1 Z h
Options 5v, 6v :
K(t)
=
Re(V())
cos t Im(V())
sin t d
0
is the nondiHere p is the nondimensional total pressure, defined in Section 3.5, and V
mensional total velocity vector defined in Section 3.7.
Options 5p, 6p :
When INUMOPT5,6=1 the separate components of the diffraction and radiation potentials
and velocities are output by WAMIT and transformed by F2T. In this case the normalized
outputs from F2T are defined as follows:
D (t) = 1
K
j (t) = 2
K
d (t) = 1
Options 5v, 6v : K
j (t) = 2
K
Options 5p, 6p :
Z
0
2Z
Re (j () j ()) cos t d =
Im (j ()) sin t d
0
0
Z h
i
D ()) cos t Im(
D ()) sin t d
Re(
0
Z
0
2Z
Re Vj () Vj () cos t d =
Im Vj () sin t d
0
In these equations the nondimensional frequency-domain functions are defined in Sec j that the frequency-domain functions j and
tions 3.5 and 3.7. Note in the transforms K
138
j differ from the corresponding outputs in the WAMIT numeric output files by
Vj =
the factor 1/KL. Thus, before applying the Fourier integrations of these functions in F2T,
the WAMIT outputs are divided by KL = 2 L/g where L=ULEN and g=GRAV. In all
other cases above the frequency-domain functions are the same as the WAMIT outputs in
the corresponding numeric output files.
139
Chapter 14
COMPUTATIONAL TOPICS
In this Chapter various topics are covered which affect the use of WAMIT, especially for
more advanced applications with complicated geometry, or multiple structures. These
require a large number of panels in the low-order method, or corresponding number of
unknowns in the higher-order method, to represent both the geometry and the hydrodynamic solution with a satisfactory degree of accuracy. In such cases the required storage for
temporary data and the time required to set up and solve the linear systems of equations
are both large.
From the computational standpoint the principal task is to set up and solve the linear
systems of equations which correspond to the discretized integral equations described in
Sections 15.3 and 15.5. 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 14.1.
WAMIT includes three optional methods for solving the linear systems of equations,
including a direct solver which is robust but time-consuming for large values of NEQN, an
iterative solver which for large systems of equations is much faster, and a block-iterative
solver which combines the advantages of each to some extent. These methods are described
and compared in Section 14.2.
Section 14.3 describes the required storage for the influence coefficients on the left-handsides of the linear systems of equations. These must be stored either in random-accessmemory (RAM) or in scratch files on the hard disk. Since access to RAM is much faster,
this option is advantageous from the standpoint of computing time if sufficient RAM is
available. Section 14.4 describes the procedure to allocate the data storage between RAM
and the hard disk in an efficient manner. Section 14.5 explains details associated with the
use of scratch files on the hard disk.
The advantages and use of multiple processors are described in Section 14.6, including
a comparison of computing times for two applications. This shows the dramatic reduction
in computing time that can be achieved when the number of CPUs is increased. However
the use of multiple CPUs requires a proportionally large size of RAM.
141
Section 14.7 gives instructions for users to modify the WAMIT DLL files geomxact and
newmodes. Section 14.8 lists the filenames which are reserved for use by WAMIT.
14.1
In the low-order method (ILOWHI=0) the number of equations depends on the number of
panels NPAN specified in the GDF input file(s). In the higher-order method (ILOWHI=1)
NEQN depends on the number of patches, and on the spline paramters NU, NV, KU, and
KV. NEQN is modified if the body geometry is reflected about planes of symmetry, automatic discretization of the interior free surface is utilized (IRR>1), or waterline trimming
is used (ITRIWMWL=1). The value of NEQN for each run is listed in the header of the
.out output file. Typical values of NEQN are between 100 and 10,000. NEQN is always
equal to the number of unknowns in the representation of the velocity potential on the
body surface (and interior free surface if IRR1).
The body surface is defined in the .gdf file on NPAN panels in the low-order method
or NPATCH patches in the higher-order method. the .gdf file also specifies the symmetry
indices ISX,ISY, which define planes of symmetry (x = 0, y = 0 respectively) for the body
as explained in Chapters 6 and 7. If one or two planes of symmetry are defined, only one
half or one quarter of the body surface is defined in the .gdf file. The program uses these
symmetries to reduce NEQN, when it is possible to do so, by defining separate solutions
which are symmetric and antisymmetric with respect to each plane of symmetry. The
number of the corresponding sets of influence functions, or left-hand sides, is denoted by
NLHS. If there are no planes of symmetry NLHS=1, with one plane of symmetry NLHS=2,
and with two planes of symmetry NLHS=4.
Before considering possible modifications which may be required, the value of NEQN is
defined based on the inputs in the .gdf file. In the low-order method NEQN=NPAN is the
number of panels on this surface. In the higher-order method
NEQN =
NP
X
(14.1)
i=1
Here NP =NPATCH is the 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,
as explained in Section 7.2.
If the irregular-frequency removal option is used with IRR=1, the interior free-surface
is included as a part of the surface defined in the gdf file, and the value of NEQN defined
above is unchanged. But if automatic discretization of the interior free surface is utilized
(IRR>1) NEQN is increased by the program to include the additional unknowns on the
interior free surface. (See Chapter 10.)
If waterline trimming is used (ITRIMWL=1) the value of NEQN may change, either
increasing or decreasing depending on the trimming displacement and angles. (See Section
12.2.)
142
Reflection is performed automatically by the program if the planes of geometric symmetry (x = 0 and/or y = 0 of the body coordinate system) do not coincide with the X = 0
and/or Y = 0 planes of the global coordinate system. This may occur in the following
cases:
if the input parameters XBODY(1), XBODY(2), or XBODY(4) which define the origin
of the body coordinate system are nonzero in the POT file (See Section 4.2)
for bodies near vertical walls (Section 12.4)
for multiple bodies (NBODY>1) as explained in Chapter 8
If the trim angle about the xaxis is nonzero, symmetry about the plane y = 0
is destroyed, and vice-versa. In these cases the body surface is reflected, NEQN is
increased, and NLHS is decreased.
When reflection about one plane of symmetry is required, NEQN is increased by a factor
of two and NLHS is reduced by a factor of one-half. When reflections about two planes of
symmetry are required, NEQN is increased by a factor of four and NLHS is reduced by a
factor of one-quarter.
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 reflected about the geometry symmetry planes with a factor of +1 or 1 for
symmetric and antisymmetric flow, respectively.
Since the issue of hydrodynamic symmetry is so important, it should be emphasized
that the separate analysis of symmetric and antisymmetric modes of motion applies not
only to the obvious cases of radiation modes, such as surge, sway, and heave, but also
to the more complex solution of the diffraction problem, even in oblique waves. This is
achieved in WAMIT by decomposing the complete diffraction (or scattering) solution as
the sum of four separate components that are respectively even or odd functions of the
horizontal coordinates. Physically these can be interpreted as the solutions of problems
where standing waves are incident upon the body.
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 diffraction components, based on the settings of the MODE(I) indices in the potential control file (see
Section 4.2). For example, if only the heave mode is specified in conjunction with the
solution of the diffraction problem, and if there are planes of symmetry, only the symmetric component of the diffraction potential is evaluated. For this reason it is necessary to
specify the complete diffraction solution (IDIFF= 1) to evaluate field data (free surface
elevation, pressure, and fluid velocity) or to evaluate the drift forces. A warning message
is displayed in cases where the solution of the diffraction problem is incomplete.
143
14.2
WAMIT includes three optional methods for solving the linear systems of equations, including a direct solver which is relatively robust but time-consuming, an iterative solver
which for large systems of equations is much faster, and a block-iterative solver which combines the advantages of each to some extent. The parameter ISOLVE in the configuration
file is used to select which method is used for the run.
With the default value ISOLVE=0, WAMIT solves the linear systems by means of a
special iterative solver. The maximum number of iterations is controlled by the parameter
MAXITT in the configuration files (See Section 4.7), with the default value equal to 35.
If convergence is not archieved within this limit a warning message is issued, 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. The time
required for this method is proportional to (NEQN)2 times the number of iterations. For
large NEQN this is much faster than the methods described below. Another advantage of
the iterative solver is that it does not require temporary storage proportional to (NEQN)2 .
The direct solver (ISOLVE=1) is useful for cases where the iterative solver does not
converge, or requires a very large number of iterations to achieve convergence. The direct
solver is based on standard Gauss reduction, with partial pivoting. The LUD algorithm
is employed for efficiency in solving several linear systems simultaneously, with different
right-hand sides. The time required for this method is proportional to (NEQN)3 . In cases
where NEQN is relatively small the direct solver can result in reduced computing time,
particularly if the number of right-hand sides is large. The direct solver requires sufficient
RAM to store at least one complete set of (NEQN)2 influence coefficients.
The block-iterative solver (ISOLVE2) provides increased options in the solution of the
linear system. This solver is based on the same algorithm as the iterative solver, but local
LU decompositions are performed for specified blocks adjacent to the main diagonal. Back
substitution is performed for each block, at each stage of iteration. 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 iterative method is useful primarily for the loworder method, where NEQN is
relatively large and the rate of convergence is good in most cases. Usually in the low-order
method the number of iterations required to obtain convergence is in the range 10-20. In
the standard test runs described in Appendicies A using the low-order method, the iterative
or block-iterative solvers converge within the default number of iterations MAXITT=35,
for all cases except TEST02.
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 fluid domain, as in the gap between two adjacent barges, or in the non-physical
domain exterior to the fluid 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
144
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 higher-order method the linear system loses diagonal dominance as the order
of the basis functions increases, as shown in the expression for dH
ik in (15.32). Experience
indicates that the convergence rate is reduced, and it is generally advisable to use the direct
solver (ISOLVE= 1) or, if necessary in cases where NEQN is very large, the block-iterative
solver (ISOLVE> 1).
Results from convergence tests using the low-order method have been published in References 5, 6, 9, 10 and 12. 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 sufficiently 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.
14.3
From the computational standpoint the principal tasks are to set up and solve the linear
systems of equations for the unknown potentials and source strengths. These tasks require
substantial temporary storage for most practical applications, either in RAM (randomaccess memory) or in scratch files on the hard disk. Generally access to RAM is much
faster than to the hard disk, but the size of RAM is relatively small. The first versions
of WAMIT were developed when RAM was quite small (typically measured in Kilobytes)
and it was essential to use scratch files whenever possible. WAMIT Version 7 has been
developed to take advantage of the much larger RAM available in contemporary systems,
measured in Gigabytes (1 GB is equal to 109 bytes or 106 Kilobytes).
For most applications the dominant storage requirement is for the (NEQN)2 influence
coefficients on the left-hand-side of the linear systems of equations. Since typical values
of NEQN are between 100 and 10,000, between 104 and 108 influence coefficients must be
stored for each left-hand-side. Here we consider only the storage of these matrices, since
other data storage requirements are negligible by comparison.
The influence coefficients are related to the free-surface Green function and its derivatives, as defined in Section 15.2. These include real components associated with the Rankine source potential 1/r, and complex components associated with the effect of the free
surface (cf. Equations 15.14-18). To avoid redundant computations the real components
are evaluated only once, whereas the complex components must be evaluated separately
for each wave period. Thus separate storage is required for the real and complex matrices.
The estimated storage for each of these is described below.
WAMIT takes into account flow symmetries in setting up the linear systems, to minimize
NEQN. When planes of symmetry exist with respect to the planes X = 0 and/or Y = 0,
NEQN can be reduced by one half in each case, thus reducing the number of influence
coefficients on one left-hand side by a factor of 1/4 or 1/16. In general, the number of left145
hand-sides NLHS must be increased by 2 or 4 in order to solve both the symmetric and antisymmetric problems (e.g. heave and surge in the case of a body which is symmetric about
X = 0). Depending on the number of relevant modes and symmetry planes, NLHS=1,2 or
4.
The minimum number of influence coefficients which must be stored is equal to the
product NLHS(NEQN)2 . However additional matrices may be required, depending on
the input parameters ILOG and ISOR in the configuration file. ILOG=0 or 1 in all cases.
ISOR=0 or 1 for the low-order panel method, and ISOR=0 for the higher-order method.
For the real components 4 bytes are required for each coefficient, and the total storage
required for all matrices is Sr = Qr (NEQN)2 where
Qr = 4 NLHS (1 + 4 ISOR) (1 + ILOG)
(14.2)
For the complex components 8 bytes are required for each coefficient, and the total storage
required for all matrices is Sc = Qc (NEQN)2 where
Qc = 8 NLHS (1 + 4 ISOR)
(14.3)
These can be estimated using Figure 14.1, with the factor Q defined in (14.2-3). Note
that 4 Qr 160 and 8 Qc 64. In three special cases Qr is greater by a relatively
small amount: (1) in the low-order method if the scattering parameter ISCATT=1 in the
configuration files, (2) if pressure surface panels or patches are used, as described in Section
12.5, or (3) if PER=0 is assigned in the POT file corresponding to zero wave period or
infinite frequency. More significantly, if multiple processors are used (NCPU>1), the factor
Qc must be multiplied by NCPU (See Section 14.6).
14.4
In Version 7 provisions have been made to replace scratch files on the hard disk by arrays
in RAM, up to the limit of RAM that is available. This can save substantial computing
time. To fully utilize this capability, the user should assign the parameter RAMGBMAX in
the configuration file, as described in Section 4.7, based on the estimated amount of RAM
that is not required for other purposes. Some experience may be required to determine this
input. For a system that is not used concurrently for other substantial computations, a
suggested estimate is one-half of the total RAM if the RAM is less than 2 Gb, or the total
RAM minus 1 Gb for systems with more than 2 Gb. For systems running under Windows
the total RAM is displayed by the Control Panel System option. It is important not to
assign a value of RAMGBMAX that is too large, since this may result in paging or transfer
of data to virtual memory on the hard disk, which will slow down the computations.
The parameter RAMGBMAX is based on the available memory of the system, and is not
dependent on the inputs to each run. Thus it is recommended to assign RAMGBMAX in
the file config.wam and not in the configuration file runid.cfg associated with a particular
run. If RAMGBMAX is not assigned in the configuration files the default value 0.5 is used.
An estimate of the actual RAM used for each run is shown in the output file wamitlog.txt.
146
Figure 14.1: RAM required for storage of the real and complex arrays. The parameter Q is given by
equations (14.2-3).
If RAMGBMAX is sufficiently large, all of the real and complex influence coefficients
are stored in RAM. In this case the total RAM required is estimated from Figure 14.1 with
Q = Qr + NCPU Qc . If this is not possible, the program will distribute the data between
RAM and the hard disk using the following order of priorities:
1. real coefficients are stored on the hard disk, leaving all available RAM for the storage
of complex coefficients
2. if NLHS>1, some but not all left-hand-side arrays are stored in RAM and the remainder on the hard disk
3. if the RAM can not store one complete complex left-hand-side array, a subset of the
coefficients are stored in RAM and the remainder on the hard disk
If multiple processors are used (NCPU>1) all of the complex arrays must be in RAM.
Thus the minimum RAM required for multiple processing is estimated from Figure 14.1
with Q = NCPU Qc . If this is not possible, execution of the program terminates with
an error message advising the user to increase RAMGBMAX or reduce NCPU.
If NCPU=1 the following minimum requirements apply for available RAM:
1. if ISOLVE=1 (direct solver) or ILOWHI=1 (higher-order method), one complete complex left-hand-side must be stored in RAM
147
14.5
Two types of temporary scratch files are opened during execution of the subprogram
POTEN. One group are opened formally using the FORTRAN scratch file convention,
with filenames which are assigned by the compiler. The second group are opened with
the temporary filenames SCRATCHA, SCRATCHB, ..., SCRATCHO. All of these files 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 these scratch files may remain on the hard disk.
In the latter case the user is advised to delete these files manually.
If the storage requirements of a run exceed the available disk space a system error will
be encountered; in this event the user should either increase the available disk space or
reduce the number of panels or solutions. The parameter SCRATCH PATH can be used
in the configuration files to distribute storage between two disks, as explained in Section
4.7.
14.6
WAMIT Version 7.0pc is compiled with the Intel Fortran Compiler Version 12, using special
directives to enable parallel processing on systems with multiple processors. Depending
on the inputs and hardware, the total run time can be reduced substantially by using
this capability. Figure 14.2 shows two examples, using modified inputs of the test runs 07
(ISSC TLP) and 15 (Semi-sub) which are described in Appendix A, and using the loworder and higher-order options respectively. In order to provide examples for relatively large
computations, the input parameters for these two runs have been modified as explained in
the caption.
Users should first verify the number of CPUs and size of RAM of the system. (For
Windows systems the RAM size is displayed after selecting Start, Control Panel, System. The number of processors is listed under Advanced, Environment Variables )
NCPU should be determined based on the number of physical processors, also referred to
as cores, and not based on the number of hyper-threads.
If the system includes more than one CPU, open the file config.wam with a text editor.
The default settings in this file are as follows:
NCPU=1
RAMGBMAX=0.5
Change NCPU to the appropriate number for the system, and increase RAMGBMAX
to the maximum value which can be used for scratch memory, following the guidelines
in Section 14.4. Note that the RAM required for multiple processing is proportional to
148
NCPU. The actual RAM required during a run is displayed in the output file wamitlog.txt.
If RAMGBMAX is not sufficiently large for the value of NCPU specified, the program stops
with an error message displayed. In that case the user should reduce NCPU, or modify
the other input parameters to increase RAMGBMAX or reduce the required RAM.
Figure 14.2: Run times for modified versions of test07 (ISSC TLP) and test15 (Semi-Sub) for values of
NCPU between 1 and 8. The test07m inputs are the same as in Appendix A.7 except that the number of
panels NPAN=4048 and the number of wave periods NPER=32. The test15m inputs are the same as in
Appendix A.15 except that NPER=32. These computations were run on a Dell T7500 PC with 8 CPUs
and 96 Gb of RAM, under the Windows XP Pro x64 operating system.
The principal advantage of multiple processing is in the computing time for loops over
the wave period. During the run, when the time and number of iterations are output for
each wave period on the monitor, these are displayed in groups of NCPU lines more-or-less
simultaneously, with values of the wave period which usually are not in a logical sequence.
(The original sequence is restored in the header of the .out output file, where it will be
noted that the clock time for each wave period is not sequential.) Test14a is a useful
example of this process, and of the advantage of using multiple processors for runs with a
large number of wave periods (See Appendix A.14).
When NCPU>1, the value of NCPU used is shown in the wamitlog.txt output file. If
the total number of wave periods NPER is less than the value of NCPU in the configuration
files, NCPU is reduced for the loops over the wave period and the reduced value is displayed
in the wamitlog.txt file. Maximum efficiency of the computing time is achieved when
NPER is an integer multiple of NCPU.
149
When NCPU>1 the BREAK option to interrupt the run is disabled and cannot be
used (See Section 4.12).
14.7
The files geomxact.f and newmodes.f can be modified by users following the instructions
in Sections 7.9 and 9.3. This makes it possible for users to develop special subroutines for
the definitions of the body geometry and generalized modes, respectively, and to link these
subroutines with WAMIT at runtime.
WAMIT Version 7 is compiled with Intel Visual Fortran (Version 12.1). The previous
Version 6.4PC was compiled with Intel Visual Fortran (Version 10.1) and earlier versions
were compiled with Compaq Visual Fortran. Any of these Fortran compilers can be used
to compile modified versions of the files geomxact.dll and newmodes.dll for use with a
single processor (NCPU=1), using the following procedure:
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
The same procedure is used for NEWMODES, except for the different filenames.
Users who modify the DLL files for runs with multiple processors (NCPU>1) are advised
to contact WAMIT Inc. for special instructions.
It may be possible to use other FORTRAN compilers to build the DLL files, but certain
conventions in calling subroutines must be consistent with those of Intel Visual Fortran.
Further information is provided in [23], Chapters 8 and 18.
14.8
To avoid conflicting filenames, users are advised to reserve the extensions gdf, pot, frc,
spl, p2f, out, pnl, fpt, pre, mod, hst, csf, csp, bpi, bpo, idf, rao, 1, 2,
3, 4, 5p, 5vx, 5vy, 5vz, 6p, 6vx, 6vy, 6vz, 7, 8,and 9 for WAMIT input and
output. Other reserved filenames are config.wam, fnames.wam, break.wam, errorp.log,
errorf.log, wamitlog.txt, SCRATCH* (where *=A,B,C,...,O), as well as wamit.exe,
defmod.f, defmod.exe, the DLL files geomxact.dll and newmodes.dll, and the Intel
DLL files listed in Section 2.1 which are required to execute the program. The utility
f2t.exe described in Chapter 13 uses the reserved file inputs.f2t.
1410
14.9
Starting in WAMIT Version 7.1 there are two alternative options (NFIELD LARGE=0
and NFIELD LARGE=1) to evaluate the pressure and velocity at field points (FORCE
Option 6).
In the default case, specified by the configuration parameter NFIELD LARGE=0, these
outputs are computed in the main loop over all wave periods together with all of the
other outputs. (This is the same procedure as in all previous versions of WAMIT.) This
procedure is efficient in most cases, especially if multiple-processing is used (NCPU>1)
and the number of wave periods NPER is large. The computing time is minimized by precomputing the Rankine components of the influence functions, which are independent of the
wave period, for all combinations of field points and integration points on the body surface.
If NFIELD is the number of field points and NBODYSURF is the number of integration
points on the body, this requires the temporary storage of order NFIELDNBODYSURF
influence functions.
If NFIELD LARGE=1 is specified in the configuration file, the evaluation of the field
outputs is skipped in the period loop, and performed in a different order after the period
loop is completed. In this case the loop is over the NFIELD field points, and the influence
functions are computed within this loop. Thus the storage requirement is much smaller.
If NCPU>1 the loop is parallelized. This alternative is most efficient if NFIELD is large,
especially if NPER<NCPU.
The best choice between these two options will depend not only on the input parameters,
but also on the computing system including the number of processors (NCPU) and size of
RAM.
1411
Chapter 15
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.
15.1
A three-dimensional body interacts with plane progressive waves in water of finite depth
H. The objective of WAMIT is to evaluate the unsteady hydrodynamic pressure, loads
and motions of the body, as well as the pressure and velocity in the fluid domain. The
flow is assumed to be potential, free of separation or lifting effects. The free-surface and
body-boundary conditions are linearized. A harmonic time dependence is adopted.
The Cartesian coordinate system (x, y, z) is defined as shown in Figure 4.1, fixed relative
to the undisturbed positions of the free surface and body with the zaxis positive upwards.
The body geometry input to WAMIT is defined relative to the body coordinate system and
the incident-wave system is defined relative to the global coordinates, as explained in
Chapter 3 and Section 4.2. For the sake of simplicity here it is assumed that these two
coordinate systems coincide.
The assumption of a potential flow permits the definition of the flow velocity as the
gradient of the velocity potential satisfying the Laplace equation
2 = 0
(15.1)
in the fluid domain. The harmonic time dependence allows the definition of a complex
velocity potential , related to by
= Re(eit ),
(15.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
151
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 on z = 0.
(15.3)
cosh kH
(15.4)
(15.5)
and is the angle between the direction of propagation of the incident wave and the
positive xaxis as defined in Figure 4.1. In the limiting case of infinite depth k = K. To
distinguish these two parameters, they are referred to as the finite-depth and infinitedepth wavenumbers, respectively. The wavelength is equal to 2/k and the wave period
is equal to 2/.
The linearization of the problem permits the decomposition of the velocity potential
into the radiation and diffraction components
= R + D ,
R = i
6
X
j j ,
(15.6)
(15.7)
j=1
D = 0 + S .
(15.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 S represents the scattered disturbance of the incident wave by
the body fixed at its undisturbed position. We will refer to the sum (15.8) as the diffraction
potential D .
On the undisturbed position of the body boundary, the radiation and diffraction potentials are subject to the conditions,
jn = nj ,
(15.9)
Dn = 0,
(15.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 fluid domain.
152
The radiation condition of outgoing waves in the far field is applied to the velocity
potentials j , j = 1, . . . , 7.
15.2
In WAMIT the boundary value problems defined above are solved by using Greens theorem
to derive integral equations for the radiation and diffraction velocity potentials on the body
boundary. The integral equation satisfied by the radiation velocity potentials j on the
body boundary takes the form
2j (x) +
ZZ
Sb
j ( )
ZZ
G( ; x)
d =
nj G( ; x)d .
n
Sb
(15.11)
Here Sb denotes the wetted surface of the body, in its fixed mean position, below the plane
z = 0.
The corresponding equation for the total diffraction velocity potential D is
2D (x) +
ZZ
Sb
D ( )
G( ; x)
d = 40 (x).
n
(15.12)
The diffraction potential may also be obtained from equation (15.8) after solving for
the scattered potential S . The equation for the scattered velocity potential is
2S (x) +
ZZ
Sb
S ( )
ZZ
G( ; x)
0 ()
G( ; x)d .
d =
n
n
Sb
(15.13)
From the computational point of view, equation (15.12) has some advantages over (15.13)
in terms of cpu time and the requirement of storage space, because of the relative simplicity
of the right-hand side.
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
satisfies the free-surface and radiation conditions, and in infinite water depth is defined by
1
1
2K Z
ek(z+)
G(x; ) = + 0 +
dk
J0 (kR)
r r
0
kK
(15.14)
r2 = (x )2 + (y )2 + (z )2
(15.15)
r02 = (x )2 + (y )2 + (z + )2 ,
(15.16)
where J0 (x) is the Bessel function of zero order. In finite depth, the Green function is
defined by
153
Z
1
1
(k + K) cosh k(z + H) cosh k( + H) kH
e
J0 (kR) (15.17)
G(x; ) = + 00 + 2
dk
r r
k sinh kH K cosh kH
0
(r00 )2 = (x )2 + (y )2 + (z + + 2H)2 .
(15.18)
In both expressions (15.14) and (15.17) the Fourier kintegration is indented above the
pole on the real axis in order to enforce the radiation condition. Efficient algorithms
for the evaluation of the infinite and finite-depth wave-source potentials and their spatial
derivatives, have been developed in [1] and [11].
Special attention must be given to the singular components of the Green function for
small values of r, r0 and r00 . The source-like singularities 1/r, 1/r0 and 1/r00 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 r0
(Ref. [1], eq.(5)), reveals the presence of the logarithmic singularity,
G(x; ) =
1
1
+ 0 2K log K(r0 + |z + |) + O(1),
r r
(15.19)
(The derivation of this result in [1] is for the infinite-depth case, but it can be shown
from the analysis of the finite-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 field points are close to each other and to the free surface. Further details
are given in Section 15.3.
15.3
The mean position of the body wetted surface is approximated by a collection of quadrilaterals. Each quadrilateral is defined 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 fluid domain. Instructions on how to input
the vertex coordinates are given in Chapter 6.
In general the quadrilaterals defined above are not plane, but if a sufficiently fine discretization is used for a boundary surface with continuous curvature, each element will
approach a plane surface. In this circumstance a plane approximation of the general
quadrilateral is defined by the midpoints of each side, which always lie in the same plane.
Each panel is defined by projecting the four vertices onto this plane. If the coordinates of
two adjacent vertices coincide, the quadrilateral panel reduces to a triangular panel.
For bodies of general shape, gaps may exist between panels. Experience suggests that
they do not significantly affect the accuracy of the velocity potential and the hydrodynamic
forces.
154
The radiation and diffraction velocity potentials are taken to be constant over each
panel. The discretization errors associated with the selection of plane panels and a piecewise
constant variation of the velocity potential are of the same order, if the integration of the
singular components of the wave source potential over the panels are carried out with
sufficient accuracy.
Based on this discretization, the continuous integral equations (15.11) and (15.12) can
be reduced to a set of linear simultaneous equations for the values of the velocity potentials
over the panels. For the radiation potentials we obtain
2(xi ) +
N
X
Dik k =
k=1
N
X
Sik
k=1
(15.20)
where i = 1, . . . , N , N being the number of panels. For the total diffraction potential
2(xi ) +
N
X
Dik k = 40 (xi ).
(15.21)
k=1
ZZ
sk
Sik =
ZZ
sk
G( , xi )
d ,
n
(15.22)
G( , xi )d ,
(15.23)
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 analytic integration of the Rankine source potentials and their derivatives follows
the theory outlined in [2]. 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 is approximated by multiplying the value of the integrand at the
centroid by the panel area.
15.4
In the low-order method the source formulation is used to derive the fluid velocity components on the body surface. The velocity potential is expressed by a distribution of sources
only, in the form
(x) =
ZZ
( )G(x; )d .
Sb
155
(15.24)
After discretizing the body surface with plane panels, with constant source strength on
each panel, the potential is expressed by
N
X
(xi ) =
(xj )
ZZ
Sj
j=1
G(xi ; )d .
(15.25)
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
X
n (xi ) = 2(xi ) +
(xj )
j=1
s (xi ) =
N
X
(xj )
ZZ
Sj
j=1
t (xi ) =
N
X
(xj )
ZZ
j=1
15.5
Sj
ZZ
Sj
Gn (xi ; )d ,
(15.26)
Gs (xi ; )d ,
(15.27)
Gt (xi ; )d .
(15.28)
The mean body surface is defined by patches, as explained in Chapter 7. 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). These are
normalized so that they vary between 1 in the domain of the patch. Details of the
geometric description of the body surface are provided in Chapter 7.
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 (7.4). The total number of B-spline basis
functions on each patch is Mu times Mv .
Upon substituting equations (7.3) and (7.4), (15.11) can be expressed in the form
2
Mv X
Mu
X
(j )k Uk (uf ) +
m=1 l=1
Np Z Z
X
n=1
Np Z
du
m=1 l=1
du
n=1
ZZ
du =
Z 1
1
Mv X
Mu
X
Z 1
dv
number of patches.
156
(j )k Uk (u)
G(u; uf )
J(u)
n(u)
j
(u)G(u; uf )J(u)
n
(15.29)
Following the Galerkin method, (15.29) is multiplied by Ui and integrated over each
patch. This results in the linear system
2dH
ik (j )k +
N
X
H
(j )k = SiH
Dik
(15.30)
k=1
N
X
H
(D )k = IiH
Dik
(15.31)
k=1
H
Dik
SiH =
ZZ
ZZ
duf Ui (uf )
ZZ
duf Ui (uf )
IiH =
ZZ
ZZ
duUk (u)
du
G(u; uf )
J(u)
n(u)
j
(u)G(u; uf )J(u)
n
(15.32)
(15.33)
(15.34)
(15.35)
this point. Otherwise the integrand is regular throughout the domain of the panel. In
the singular case, the panel is subdivided into a small square subdomain centered at uf ,
and one or more rectangular subdivisions adjoining the square as required to cover the
remainder of the panel. The integrals over the latter subdivisions are treated in the same
manner as for the other panels where the integrand is regular.
The integrals where the integrand is regular are evaluated by Gauss-Legendre quadrature. If the field point is near the panel, the panel is subdivided into four smaller panels.
This subdivision is repeated until the size of the subdivided panel is less than a prescribed
multiple of the physical distance from uf to the centroid of the panel. For this purpose
the size of the panel is defined as the maximum physical length from the center of the
panel
to its four vertices. The maximum size permitted without further subdivision is
1/ 2.25 = 2/3. In some cases a large number of subdivisions are required, particularly
when uf is close to the sides or vertices of the panel. In this case, the program terminates
subdivision after the domain is subdivided into 2048 subdomains. The program issues a
warning message to the monitor and error log file but continues without interruption. This
warning message is most likely to occur when the mapping of a physical surface onto a
patch is singular, as at the poles of a spherical or spheroidal surface, and the accuracy
of most relevant hydrodynamic outputs are not affected significantly by this problem. In
other cases the warning message may be an indication that the geometrical representation
of the body surface is defective.
The singular integral over the square subdomain centered at uf is explained below. The
integration of the dipole is defined in the principal-value sense excluding a vanishingly
small area around the origin. With this definition for the dipole integral, both the source
and dipole distributions can be evaluated in the same manner.
After an appropriate normalization of the length and use of local coordinates with the
origin at (uf , vf ), the integral takes the form
I=
Z 1 Z 1
1
A(u, v)
dudv
|x(u, v)|
(15.36)
where A(u, v) is regular function. |x(u, v)| is the distance between the source and field
points in physical space.
x
x
x x
For simplicity, we consider only the case where | | = 1, | | = 1 and
=0
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 (15.36) can be expressed in the form
I=
Z 1 Z 1
1
f (u, v)
dudv
u2 + v 2
(15.37)
158
each triangle. For example, the integral over a triangle with a side on u = 1 is
I
(1)
Z 1
du
Z u
f (u, v)
dv 2
.
u
u + v2
(15.38)
(1)
Z 1
dp
Z 1
f (p, pq)
dq
.
1 + q2
1
(15.39)
Z 1
dp
Z 1
1
dq
.
1 + q2
(15.40)
Next we remove the square-root function from (15.40). By change of the variables
q = sinh(as), we have
I=a
Z 1
1
dp
Z 1
(15.41)
15.6
The irregular frequency effects 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 (15.11) takes a
form
2(x) +
ZZ
ZZ
G(x; )
G(x; )
d +
0 ( )
d
n
n
Si
ZZ
( )
=
G(x; )d ,
x Sb ,
Sb n
( )
Sb
159
(15.42)
4 (x) +
ZZ
ZZ
G(x; )
G(x; )
( )
d +
d
0 ( )
n
n
Sb
Si
ZZ
( )
G(x; )d ,
x Si .
=
Sb n
(15.43)
Here (x) is the unknown velocity potential on the body surface Sb and 0 (x) is the
nonphysical velocity potential on the interior free surface Si .
The corresponding equations for the source formulation (15.26) are
2(x) +
ZZ
( )
Sb
4(x) +
15.7
ZZ
ZZ
G(x; )
G(x; )
( )
d +
( )
d =
,
nx
nx
nx
Si
ZZ
G(x; )
G(x; )
( )
( )
( )
d +
d =
,
nx
nx
nx
Sb
Si
x Sb ,
x Si .
(15.44)
(15.45)
Greens integral equations in Section 15.2 become singular as the thickness of the body (or
part 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 well-conditioned. 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 is zero. In this modified 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 difference of the velocity potential on two opposite sides of
the zero-thickness surface, denoted by below.
If the body surface Sb consists partly of thin dipole elements Sd and partly of conventional source elements Ss which are represented by both sources and dipoles, Greens
integral equations (15.11-13) and the dipole distribution can be combined in the following
form:
2(x) +
ZZ
Ss
Gn dS +
ZZ
Sd
Gn dS =
ZZ
n GdS
(15.46)
n Gnx dS
(15.47)
Ss
Gn nx dS +
ZZ
Sd
Gn nx dS = 4nx +
ZZ
Ss
Instructions for using this option are in Sections 6.3 and 7.10. TEST09 and TEST21,
described in Appendix A, are examples of its use.
It should be emphasized that thin dipole elements must be submerged, in contact with
the fluid on both sides. A thin element which is in the plane of the free surface, and only
in contact with the fluid on the lower side, should be considered as part of the conventional
surface Ss .
15.8
Figure 15.1: Coordinate systems fixed with respect to the body (dashed lines) and its mean position (solid
lines)
(15.48)
For the present purpose we consider only the first order quantities of the translational
~ the rotational modes
modes ,
~ and the velocity potential . The roll-pitch-yaw sequence
of rotations is adopted, and the transformation matrix is given by
2
2
0
0
1 (2 + 3 )
2
2
H=
21 2
(1 + 3 )
0
.
2
21 3
22 3
(1 2 + 2 2 )
(15.49)
(15.50)
where ~n is the normal vector on the body boundary in the body fixed coordinate system.
1511
(15.51)
The mean forces and moments are obtained by time averaging the following expressions
for the forces and moments:
ZZ
(2)
~
~ P ds
F =
N
(15.52)
Sb
~ (2) =
M
ZZ
Sb
~ N
~ )P ds.
(X
(15.53)
In equations (15.52) and (15.53), the integrations are over the exact body wetted surface
Sb .
After substituting (15.48), (15.50), and (15.51) and integrating the hydrostatic components,
1 Z
(2)
~
g
~n0 [ 2 2(3 + 1 y 2 x)]dl
F
=
2
WL
nz
1 ~Z
q
g k
+
[ (3 + 1 y 2 x)]2 dl
2
2
WL
1 nz
ZZ
1
~ ~x) t )ds
~n( + (~ +
2ZZ
Sb
+
~ (
Sb
~nt ds)
(2)
+ F~S
(15.54)
1 Z
(2)
~
M
=
g
(~x ~n0 )[ 2 2(3 + 1 y 2 x)]dl
2
WL
1 Z
nz
q
+
g
(~x ~k)[ (3 + 1 y 2 x)]2 dl
2
2
WL
1 nz
ZZ
1
(~x ~n)( + (~ +
~ ~x) t )ds
2
Sb
ZZ
Sb
+ ~ (
(~x ~n)t ds
ZZ
Sb
~nt ds)
~ S(2)
+ M
(15.55)
1512
~ S(2)
M
(15.56)
(15.57)
Here is the first 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 flotation, (xb , yb , zb ) are the
coordinates of the centerR 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.
1513
15.9
The mean drift force and moment are evaluated by one the following two alternatives
depending on the value of IALTCSF in the CFG file.
IALTCSF=1:
Z
1 Z
(2)
0 2
~
~
g
F =
~n dl g k
[(~ +
~ ~x) ~n0 ]dl
2
CL
WL
nz
1 ~Z
q
+
g k
[ (3 + 1 y 2 x)]2 dl
2
2
WL
1 nz
1
~n( )]ds
n 2
Sc
ZZ
t 1
(2)
~
+ k
(
+ )ds + F~S
z
2
Sf
ZZ
(15.58)
Z
1 Z
(2)
0 2
~
[(~ +
~ ~x) ~n0 ](~x ~k)dl
M =
(~x ~n ) dl g
g
2
WL
CL
1 Z
nz
q
+
g
(~x ~k)[ (3 + 1 y 2 x)]2 dl
2
WL
1 n2z
1
(~x ~n)( )]ds
n 2
Sc
ZZ
t 1
~ S(2)
(~x ~k)(
+
+ )ds + M
z
2
Sf
ZZ
[(~x )
(15.59)
IALTCSF=2:
ZZ
1 Z
F~ (2) =
g
~n0 2 dl g
0 ds
2
WL
Sf
Z
~
g k
[(~ +
~ ~x) ~n0 ]dl
WL
1 ~Z
nz
q
+
g k
[ (3 + 1 y 2 x)]2 dl
2
WL
1 n2z
1
~n( )]ds
n 2
Sc
ZZ
t 1
(2)
+ ~k
(
+ )ds + F~S
z
2
Sf
ZZ
1514
(15.60)
Z
ZZ
~ (2) = 1 g
(~x ~n0 ) 2 dl g
(~x 0 )ds
M
2
WL
Sf
Z
0
g
[(~ +
~ ~x) ~n ](~x ~k)dl
WL
nz
1 Z
q
g
(~x ~k)[ (3 + 1 y 2 x)]2 dl
+
2
2
WL
1 nz
1
(~x ~n)( )]ds
n 2
Sc
ZZ
t 1
~ S(2)
+ )ds + M
+
(~x ~k)(
z
2
Sf
ZZ
[(~x )
(15.61)
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 . ~n0 denotes the two-dimensional normal vector in the horizontal
plane on the body waterline, pointing into the body, 0 is the gradient in the horizontal
(2)
~ S(2) are the hydrostatic
plane, and ~k is the unit vector pointing vertically upward. F~S and M
components (15.56-15.57). The derivations of the equations (15.58-15.61) from (15.5415.55) are given in Reference [28].
15.10
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 diffraction potential to consider, the velocity potential in each tank is
= i
j j ,
(15.62)
and the first-order pressure at a fixed point on the tank surface is given by
P = g(z ZT + 3 + 1 y 2 x) t .
(15.63)
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 fluid domain outside the hull, using one extended linear system
which includes all of the fluid domains (exterior plus interior of all tanks). The principal
modification is to impose the condition that there is no influence between the separate
fluid domains. Thus the elements in the extended influence coefficient matrix are set equal
to zero if the row and column correspond to different domains. Further details are given
in Reference [27].
The force and moment exerted by the tank fluid on the vessel are given by
F=
Z Z
P NdS =
ST
Z Z
P (n + n) dS,
ST
1515
(15.64)
M=
Z Z
P (X N) dS =
ST
Z Z
P (x + + x) (n + n) dS,
(15.65)
ST
where n is the normal pointing out of the tank (away from the fluid 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 (15.52-15.53) for the
contributions from the hydrostatic pressure:
Z Z
CT (3, 3) = g
CT (3, 4) = g
Z Z
ST
CT (3, 5) = g
CT (4, 4) = g
Z Z
ST
CT (4, 5) = g
n3 dS,
ST
yn3 dS,
Z Z
xn3 dS,
ST
y 2 n3 dS gT zc ,
Z Z
ST
xyn3 dS,
CT (4, 6) = gT xc ,
CT (5, 5) = g
Z Z
ST
x2 n3 dS gT zc ,
CT (5, 6) = gT yc .
All other elements of the matrix CT are equal to zero. Here
T = VOLTANK(1) =
T = VOLTANK(2) =
T = VOLTANK(3) =
Z Z
ST
Z Z
ST
Z Z
ST
xn1 dS,
yn2 dS,
(z ZT )n3 dS,
1 ZZ
x2 n1 dS,
xc =
2T
ST
1 ZZ
yc =
y 2 n2 dS,
2T
ST
1 ZZ
zc =
(z 2 ZT2 )n3 dS.
2T
ST
In WAMIT the hydrostatic parameters of the hull and tanks are evaluated 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 defined in Section 3.1. The corresponding tank
1516
CTANK(1) =
n3 dS,
ST
CTANK(2) =
Z Z
ST
CTANK(3) =
Z Z
yn3 dS,
ST
CTANK(4) =
Z Z
ST
CTANK(5) =
Z Z
ST
CTANK(6) =
Z Z
ST
CTANK(7) =
x2 n1 dS,
y 2 n2 dS,
Z Z
ST
CTANK(8) =
x2 n3 dS,
Z Z
ST
CTANK(9) =
xn3 dS,
Z Z
ST
xyn3 dS,
y 2 n3 dS.
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 coefficients, 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)
1517
Z Z
ST
Z Z
n3 3 dS = T + CT (3, 3)/(gK).
(15.66)
(15.67)
ST
1518
A35 =
Z Z
ST
(15.68)
Since 2 = gK, the last terms are cancelled by the hydrostatic restoring coefficients. 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 effect 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 difference can also be explained in terms of the corresponding added mass
coefficients, in an analogous manner to the analysis above.
15.11
The boundary-value problem described in Section 15.1 is extended here to include problems
where part or all of the body surface is one or more free surfaces, and a nonzero oscillatory
pressure acts on these surfaces. On each of these surfaces the hydrostatic pressure is
assumed constant, and non-negative. Thus the surface is in a horizontal plane at z 0.
The oscillatory component of the pressure is defined as the real part of p0 (x, y)eit . The
complete boundary surface Sb = Sw +Sp includes the wetted surface Sw and the pressure
surface Sp . To simplify the notation it is assumed here that NBODY=1 and there are no
generalized modes. The Neumann boundary conditions (15.9) and (15.10) are applicable
on Sw , and the boundary condition on Sp is
!
i
z K =
p0 (x, y).
g
(15.69)
p0 (x, y) = g
j nj (x, y),
(15.70)
j=7
where, for j > 6, j is a normalized coefficient with the dimension of length and nj is a
nondimensional real function of position which represents the spatial dependence of the
corresponding pressure mode. The number of modes Mp required to represent the pressure
distribution will depend on the application. The total potential is given by (15.6), with
the radiation potential extended in the form
6+Mp
R = i
j j .
j=1
If the functions nj are extended to apply on both Sb and Sp , with the definitions
nj = 0 on Sw
1519
(j > 6)
(15.71)
nj = 0 on Sp
(j 6)
the boundary conditions (15.9) and (15.69) can be combined in the form
Lj = nj
onSw + Sp ,
(15.72)
where
L = /n
on Sw ,
= /n K on Sp .
(15.73)
When necessary Lx and L will be used to indicate that the normal derivative is with
respect to the corresponding coordinates.
The integral equation (15.11) for the velocity potential is replaced by
!
ZZ
ZZ
2
j (x) +
j ( )L G( ; x)d =
nj G( ; x)d .
4
Sb
Sb
(15.74)
The factor 2 is applied if the boundary surface is below z = 0, and 4 is applied if the
boundary surface is on z = 0. In the latter case the integral over Sp on the left-hand-side of
(15.74) vanishes, since the Green function satisfies the homogeneous free-surface condition.
In the source formulation, where the potential is given by (15.24), the integral equation
corresponding to (15.26) is
!
ZZ
ZZ
2
nj G( ; x)d .
j ( )Lx G( ; x)d =
j (x) +
4
Sb
Sb
(15.75)
In the diffraction problem the potential (15.8) satisfies the integral equation
!
ZZ
2
D ( )L G( ; x)d = 40 .
D (x) +
4
Sb
(15.76)
The definitions of the added-mass and damping coefficients in the first equation of Section 3.2 are unchanged, except for the extended range of the subscripts (i, j). In the definition of the Haskind exciting forces in Section 4.3 the normal derivative of the incident-wave
potential is replaced by L0 . The definition of the exciting forces from direct integration
of pressure is given by the second equation in Section 3.3, without change.
The definitions of the hydrostatic restoring coefficients Cij for (i, j) 6 are unchanged,
as given in Section 3.1. The restoring coefficients for (i, j) 7 are defined as
Cij = g
ZZ
Sp
ni nj dS.
(15.77)
and on the body above the chamber, to give additional forces and moments on the body.
The only nonzero external restoring coefficients are
Ci,3 = C3,i = g
Ci,4 = C4,i = g
Ci,5 = C5,i = g
ZZ
Sp
ZZ
Sp
ZZ
1521
Sp
ni dS,
ni ydS,
ni xdS.
(15.78)
REFERENCES
1. J.N. Newman. Algorithms for the Free-Surface Green Function. Journal of Engineering Mathematics, Vol. 19, pp. 57-67, 1985. DOI
2. J. N. Newman. Distribution of Sources and Dipoles over a Quadrilateral. Journal
of Engineering Mathematics, Vol. 20, pp. 113-126, 1986. DOI
3. J. N. Newman. Marine Hydrodynamics. MIT Press, 1977. Link
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 Effects 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
Offshore Structures. BOSS 88 Conference, Trondheim, Norway, 1988.
7. R. Eatock Taylor and E. R. Jefferys. Variability of Hydrodynamic Load Predictions
for a Tension Leg Platform. Ocean Engineering, Vol. 13, No. 5, pp. 449-490, 1986.
DOI
8. X. Zhu, Irregular Frequency Removal from the Boundary Integral Equation for the
Wave-body Problem, Master Thesis, Dept. of Ocean Eng., MIT, 1994.Link
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 effects 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.
ISBN:9780521414142. Link
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 effects on deformable bodies, Applied Ocean Research, 16, 1,
47-59, 1994. DOI
14. C.-H. Lee and X. Zhu Second-order diffraction and radiation solutions on floating
bodies 8th Intl Workshop on Water Waves and Floating Bodies, St. Johns, Newfoundland, Canada 1993. PDF
15. C.-H. Lee, and J.N. Newman. Second-order Wave Effects on Offshore 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 effects, International Journal for Numerical
Methods in Fluids, 23, 637-660, 1996. DOI
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. Link
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. Link
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. ISBN-13: 978-0471129578.
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 Definition and Wave Analyis Software. OMAE
2002 Conference, Oslo, June 2002. DOI
25. C.-H. Lee and J. N. Newman, Boundary-Element Methods in Offshore Structure
Analysis. OMAE 2001 Conference, Rio de Janeiro, 2001. Also published in Journal
of Offshore Mechanics and Arctic Engineering, Vol. 124, pp 81-89 (2002). DOI
26. C.-H. Lee and J. N. Newman, Computation of wave effects using the panel method.
In Numerical Modeling in Fluid-Structure Interaction, Edited by S. Chakrabarti. WIT
Press, 2004. Link
27. J. N. Newman, Wave Effects on Vessels with Internal Tanks. 20th International
Workshop on Water Waves and Floating Bodies, Spitsbergen, Norway, 2005. PDF
28. C.-H. Lee, Evaluation of quadratic forces using control surfaces. 2005 WAMIT
Consortium Report, 2005. PDF
29. J. V. Wehausen, The motion of floating bodies. Annual Review of Fluid Mechanics,
Vol. 3, pp 237-268 (1971). DOI
30. F. T. Korsmeyer, H. B. Bingham and J. N. Newman, A panel-method program for
transient wave-body interactions. PDF
Appendix A
A1
tst description
ILOWHI
01
Circular cylinder
0
01a Circular cylinder
0
02
Circular cylinder
0
03
Circular cylinder
0
04
Barge near wall
0
05
Cylinder & spheroid
0
05a Cylinder & spheroid
0
06
ISSC TLP (coarse)
0
07
ISSC TLP (fine)
0
08
Elastic column
0
09
Spar with strakes
0
09a Spar with strakes
0
11
Circular cylinder
1
11a Circular cylinder
1
11b Circular cylinder
1
11c Circular cylinder
1
12
Circular cylinder
1
13
Cylinder & spheroid
1
13a Cylinder & spheroid
1
14
ISSC TLP
1
14a ISSC TLP
1
15
Semi-sub
1
16
Elastic barge
1
16a Elastic barge
1
17
Cylinder & moonpool
1
17a Cylinder & moonpool
1
17b Cylinder & moonpool
1
17c Cylinder & moonpool
1
18
Elastic column
1
19
Catamaran barge
1
20
MultiSurf barge
1
21
Spar with strakes
1
22
FPSO with 2 tanks
1
22a FPSO with 2 tanks
1
22b FPSO with 2 tanks
1
23
Bank of wavemakers
1
24
Motions of a hinged vessel
1
25
ACV with two pressure chambers
1
In all of the test runs metric units are used, and the
equal to 9.80665 meters-per-second2 .
other parameters
ITRIMWL=1
IRR=3
ISOR=1
IWALLy0=1
NBODY=2
NBODY=2, ISx=1
NPAN=128
NPAN=1012
NEWMDS=4
NPDIPOLE=(673 960)
ITRIMWL=1
IGDEF=1
IGDEF=-1
IGDEF=-1, INONUMAP=1
IGDEF=2
IGDEF=-1, INONUMAP=0, IRR=1
NBODY=2
NBODY=2, ITRIMWL=1
IGDEF=-9
NPER=101, IPERIN=2
IGDEF=-10
IGDEF=-5, NEWMDS=8
IGDEF=0, NEWMDS=8
IGDEF=-7,
IGDEF=-7, NEWMDS=2, IDAMP=0
IGDEF=-7, NEWMDS=2, IDAMP=1
IGDEF=-7, NMODESFSP=1
IGDEF=-1, NEWMDS=4
IGDEF=0
IGDEF=2
IGDEF=-12, NPDIPOLE = 2 4 6
IGDEF=-21, NPTANK=(8-11) (12-15)
ITRIMWL=1, XTRIM=(1.0, 0.0, 15.0)
ITRIMWL=1, XBODY(3)=-1.2
IGDEF=0, ISOLVE=-1, NEWMDS=8
IGDEF=-32, NEWMDS=4
IGDEF=0, NMODESFSP=2
gravitational acceleration is set
Each test run is described briefly in the following sections. Also included in these
sections are perspective illustrations of the complete underwater geometry, including reflections about the indicated planes of symmetry, and abbreviated listings of the input
files. For the low-order tests the perspective figures show the subdivisions into panels. For
the higher-order tests two perspective figures are included, to show the subdivisions into
patches (upper or left) and into panels (lower or right).
All of the required input files for each test run, and the labeled output file (*.out)
are included with the WAMIT software provided to licensed users. The same files can be
downloaded with the demonstration programs from the web site http:://www.wamit.com.
The input files for Test Run tst are named with the filename testtst followed by the
extensions .gdf , .pot, and .f rc. The corresponding files fnames and config are given the
same filenames with the extensions .wam and .cfg.
The additional configuration file config.wam is included with the test files, and is
intended to supplement the separate .cfg file for each test. The standard version of this
file is as shown below:
! generic configuration file:
RAMGBMAX=0.5
NCPU=1
USESRID_PATH=c:\wamitv7
config.wam
The first line is a comment line which is ignored by the program. The parameters on the
other lines are explained in Section 4.7.
Before running TESTtst, the user should copy the fnames files as follows:
copy testtst.wam fnames.wam
as explained in Chapter 2. Alternatively, the batch file runtests.bat can be used to run
all tests in succession.
Input file:
test01.pot
test01.frc
test01.cfg
fnames.wam
Input file:
! TEST03.CFG
ilowgdf=1
ipltdat=5
ISOR=1
ISOLVE=0
ISCATT=0
ILOG=0
IRR=0
MONITR=0
NUMHDR=1
test03.cfg
Cylinder, R=T=1, ILOWHI=0, ISOR=1
output file test05a.fpt, and the outputs for the pressure and velocity are equal to zero
at these points (see Section 4.3 and Section 4.7).
64
2.000000
1.961571
1.961571
2.000000
2.000000
1.961571
-0.0000000E+00
-7.9460625E-09
9.5150545E-03
0.0000000E+00
0.0000000E+00
9.5150545E-03
-0.0000000E+00
-4.8772585E-02
-4.7835436E-02
-0.0000000E+00
-0.0000000E+00
-4.7835436E-02
Input file:
CYL.FRC
0
0
0
0.000000
1.000000
.0000000
.0000000
0
0
test05c.frc
Input file:
SPD.FRC
0
0
0
0.000000
1.000000
.0000000
.0000000
0
0
test05s.frc
.0000000
1.000000
.0000000
.0000000
1.000000
.0000000
.0000000
.0000000
1.000000
.0000000
.0000000
1.000000
Input file:
! TEST07.CFG
ipltdat=1
ISOR=1
ISOLVE=4
ISCATT=1
ILOG=1
IRR=0
MONITR=0
NUMHDR=1
IALTFRC=2
test07.cfg
ISSC TLP -- ILOWHI=0, fine discretization
test09.gdf
18.00 200.00
0.0000000E+00
-8.333333
-8.333333
0.0000000E+00
-8.333333
-16.66667
3.70
0.000000
1.000
VCG
XPRDCT
NBETAH
NFIELD
(end of file)
VCG
XPRDCT
NBETAH
NFIELD
(end of file)
VCG
XPRDCT
NBETAH
NFIELD
(end of file)
VCG
XPRDCT
NBETAH
NFIELD
(end of file)
VCG
XPRDCT
NBETAH
NFIELD
(end of file)
TEST13A illustrates the use of trimmed waterlines, as specified by the last three lines
of the file TEST13A.CFG. The cylinder is raised vertically by 1m, and rotated about the
pitch axis by 15 degrees. The options IRR=3 and IRR=1 are used to remove irregular
frequency effects, as described in Section 9.4. The interior free surface of the spheroid
is defined by the GDF file and subroutine ELLIPSOID, with IRR=1 (See Sections 6.8
and 9.1). The interior free surface of the trimmed cylinder is defined automatically by
the program, based on the trimmed waterline, with IRR=3 (See Section 9.4). (Since the
cylinder is trimmed the waterplane is elliptical, and the IRR=1 extension of CIRCCYL in
GEOMXACT is not valid.) Note that NPATCH=2 is assigned in test13as.gdf, to provide
for the interior free surface, and test13as.spl includes the spline parameters NU,NV for this
extra patch. Conversely for the cylinder the input files test13ac.gdf and test13ac.spl do
not include the extra patch since this is added by the program using IRR=3.
IRAD, IDIFF
NPER (array PER follows)
NBETA (array BETA follows)
NBODY
XBODY
IMODE(1-6)
file: test14.gdf
-- ISSC TLP (ILOWHI=1)
9.80665 ULEN GRAV
ISX ISY
NPATCH, IGDEF
NLINES
35.
43.125
RADIUS
10.5
WIDTH
DRAFT HSPACE
HEIGHT
Input file:
ILOWHI=1
IRR=0
ISOLVE=1
IQUADI=4
IQUADO=3
KSPLIN=3
NUMHDR=1
IALTFRC=2
IPERIN=2
IPEROUT=2
test14a.cfg
NU NV
When the structure is fixed in heave the resonant pumping mode in the moonpool
occurs at Kd = 0.85. The outputs related to the vertical force component display singular
features near this point. This includes large amplitudes of the heave damping and exciting
force, and negative added mass. The heave RAO has two adjacent resonant peaks as shown
in the Figure below, due to coupling between the heave mode and the moonpool pumping
mode.
Figure A.1: Heave RAO for each of the test17 runs. The results for Test17, Test17a, and Test17c are
practically identical. The results for Test17b (lid with damping) include three values of the external
damping coefficients. In Test17b b33 = 0.4 and b77 = 0.1, as shown in the test17b.frc file below. In
Test17bh these values are reduced by a factor of one-half and in Test17bq they are reduced by a factor of
one-quarter.
These very large responses are non-physical, and their existence in the computations
can be attributed primarily to the neglect of viscous damping associated with flow separation at the outer and inner corners of the cylinder. This damping is only important
when the vertical motions of the cylinder and/or moonpool are large. Typical resonant
amplitudes are likely to be in the range represented by the dashed lines in Figure A.1.
In order to damp the moonpool response and heave motions separately, a different
physical problem is considered where a lid is placed on the free surface of the moonpool.
This lid is considered to be an extension of the body surface, and represented by an
additional patch. Thus NPATCH=4 is assigned in test17a.gdf (and used also in Test17b
and Test17c). The geomxact subroutine CYLMP assigns the patch number 4 to be the
circular disc of radius RADMP in the plane Z=0. However allowance must be made for
the motions of the actual free surface relative to the body. This is done by defining
appropriate generalized modes, which are nonzero only on patch 4. The most important
mode is a vertical translation, assigned here in the subroutine file NEWMODES.F with
the index j = 7. In Test17b a pitch rotation of the lid (j = 8) is also included to provide a
more general deflection of the free surface. A more complete expansion can be introduced,
but at the wavenumbers considered here and for head-sea incidence angle these two modes
of motion are sufficient. These two generalized modes, physically analogous to pitch and
heave but defined 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 specified in TEST17.FRC. It can be confirmed by comparison of the
outputs that the motions of the body (RAO) are virtually identical to TEST17, as shown
in the Figure above, confirming 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 file TEST17.6) and the response of the lid in mode 7 (RAO(7) in
the numeric output file 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. The input file test17a.pot uses the optional parameter NPERGROUP to
define the same array of wavenumbers as in test17.pot in a more compact manner, as
described in Section 4.2.
In TEST17b, empirical damping is introduced via the external damping matrix in
TEST17b.FRC. Since this is the only difference between TEST17a and TEST17b, it is
not necessary to re-run POTEN and the same TEST17a.P2F file is used for TEST17b.
Thus TEST17a.pot is specified in FNAMES.17b, and IPOTEN=0 in the TEST17b.cfg
file. 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 coefficients added,
more appropriate RAOs are obtained as shown in the Figure. This general approach can
be refined based on experimental data. Experience with similar problems suggests that
relatively crude estimates based on the observed response at resonance are sufficient to
correct the response over a broad range of wave periods.
In TEST17c the same geometry is used with the free-surface pressure option (FSP)
described in Section 10.11. The FSP surface is the same as the lid described above,
and the same gdf file is used as in TEST17a and 17b. In the CFG file the parameter
IMODESFSP=1 is used to select the subroutine PRESSURE FS in the NEWMODES.DLL
file, and NMODESFSP=1. The pressure distribution on the FSP surface is constant. To
correspond with the original Test17, the pressure represented by mode 7 is set equal to
zero by assigning mode 7 to be fixed in the file test17c.frc.
IOPTN(1-9)
VCG
XPRDCT
NBETAH
NFIELD
0.0
0.0
0.0
0.0
0.147
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.147
0.0
0.0
0.0
0.0
0.0
0.0
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 1
.0000000
.0000000
25.00000
IOPTN(1-9)
VCG
XPRDCT
NBETAH
NFIELD
2.000000
0.000000
0.000000
2.000000
0.000000
2.000000
2.000000
-0.000000
-0.000000
-0.000000
-0.000000
-0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
-2.000000
-2.000000
0.000000
-2.000000
0.000000
0.000000
-2.000000
-2.000000
-2.000000
-2.000000
-2.000000
2.100000
2.100000
2.100000
2.100000
0.000000
0.000000
2.100000
2.100000
0.000000
2.100000
2.100000
0.000000
0.000000
2.100000
2.100000
0.000000
2.100000
2.100000
2.100000
2.100000
0.000000
0.000000
2.100000
2.100000
0.000000
2.100000
2.100000
0.000000
1.000000
1.000000
-0.100000
-0.100000
-0.100000
-0.100000
-0.100000
-0.100000
-0.100000
-0.100000
1.000000
1.000000
0.000000
0.000000
-1.100000
-1.100000
0.000000
0.000000
-1.100000
-1.100000
-1.100000
-1.100000
-1.100000
-1.100000
-1.100000
-1.100000
0.000000
0.000000
patch9
tank1 side
patch10
tank1 bot
patch11
tank1 aft
patch12
tank2 fwd
patch13
tank2 side
patch14
tank2 bot
patch15
tank2 aft
3
3
3
2
In test22a the waterline is trimmed with a roll angle of 15 degrees. The draft is
increased by 1m in the GDF file, and a vertical trim XTRIM(1)=1.0 is specified in the
CFG file, giving a mean depth that is approximately the same as in test22. In this manner
one ensures that the entire submerged portion of the hull surface is correctly defined. Since
the draft is increased in the GDF file it is necessary to lower the tank bottoms by the same
amount; thus the lower edges of the tank patches in test22a.gdf are 1m lower than in
test22.gdf.
As a result of the trim angle the center of buoyancy and center of gravity are shifted.
The tank volumes are unchanged from TEST22 but the displaced volume of the hull is
reduced due to the combination of vertical trim and rotation (see the equations in Section
12.2. The differences in the rigid-body inertia coefficients are shown in the MMX files.
2.000000
2.000000
2.000000
2.000000
0.000000
0.000000
2.000000
0.000000
2.000000
2.000000
-0.000000
-0.000000
-0.000000
-0.000000
-0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
-2.000000
-2.000000
0.000000
-2.000000
0.000000
0.000000
-2.000000
-2.000000
-2.000000
-2.000000
-2.000000
Input file:
TEST22a.SPL
4
3
4
2
8
3
8
2
2
1
3
3
3
2
3
2
3
2
3
3
2.100000
2.100000
0.000000
2.100000
2.100000
2.100000
2.100000
0.000000
0.000000
2.100000
2.100000
0.000000
2.100000
2.100000
0.000000
0.000000
2.100000
2.100000
0.000000
2.100000
2.100000
2.100000
2.100000
0.000000
0.000000
2.100000
2.100000
0.000000
2.100000
2.100000
0.000000
1.000000
-1.100000
-1.100000
1.000000
1.000000
-1.100000
-1.100000
-1.100000
-1.100000
-1.100000
-1.100000
-1.100000
-1.100000
1.000000
1.000000
0.000000
0.000000
-2.10000
-2.10000
0.000000
0.000000
-2.10000
-2.10000
-2.10000
-2.10000
-2.10000
-2.10000
-2.10000
-2.10000
0.000000
0.000000
patch8
tank1 fwd
patch9
tank1 side
patch10
tank1 bot
patch11
tank1 aft
patch12
tank2 fwd
patch13
tank2 side
patch14
tank2 bot
patch15
test22a.spl
FPSO with two tanks, trimmed waterline
tank2 aft
3
3
3
3
3
2
2
2
3
2
In test22b the origin of the coordinate system is shifted to the bottom of the keel,
with XBODY(3)=-1.2 assigned in the POT file and also in the GDF file. The geometry is unchanged from TEST22, except that the tops of the tanks are defined by two
extra patches and the free surface elevations in the tanks are defined by the parameters
ZTANKFS(1)=0.99 and ZTANKFS(2)=-0.01 in the CFG file. Thus the height filling ratios of the tanks are about 99%. Except for the roll and pitch moments and corresponding
cross-coupling coefficients, which are affected by the coordinate shift, the hydrostatic and
hydrodynamic outputs are close to the corresponding values in test22. Since XBODY(3)
is nonzero the values of ZTANKFS in body coordinates, shown in the header of the output
file test22b.out, differ from the inputs in global coordinates in the CFG file.
If the assignments of ZTANKFS and/or ITRIMWL are removed from the CFG file the
tanks will be full, including the rigid tops, and there will be no free surface effects in the
tanks. In that case the exciting forces and damping coefficients are unchanged, but the
added-mass coefficients are different.
Input file: test22b.cfg
! TEST22b.CFG fpso with 2 interior tanks, trimmed to 99%
ipltdat=4
ILOWHI=1
ILOG=1
ISOLVE=1
KSPLIN=3
IQUADO=3
IQUADI=4
MONITR=0
NUMHDR=1
NOOUT= 1 1 1 1 0 1 1 1 1
NPTANK=(8-12) (13-17)
RHOTANK= 1.0 1.0
(relative densities of tank fluids)
ztankFS= 0.99
-0.01
ITRIMWL=1
Input file:
test22b.pot
-1.0
1
3
2.0 2.5 3.0
1
90.
1
test22b.gdf
0. 0.0 -1.2
1 1 1 1
test22b.pot
fpso with 2 interior tanks, rigid tops, xbody(3)=-1.2
1
IRAD, IDIFF
XBODY
IMODE(1-6)
-2.000000
-2.000000
-2.000000
-2.000000
0.000000
0.000000
-2.000000
Input file:
TEST22b.SPL
4
3
4
2
8
3
8
2
2
1
3
3
3
2
3
2
3
2
3
3
3
2
3
3
3
2
3
2
3
3
3
2
3
3
2.100000
2.100000
0.000000
2.100000
2.100000
0.000000
0.000000
-1.100000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
patch16
tank2 aft
patch17
tank2 top
test22b.spl
FPSO with two tanks, rigid tops
VCG
XPRDCT
NBETAH
NFIELD
Figure A.2: Generalized modes used for the hinged barge with four hinges. The modes on the left are
tent functions, suitable for use when ISX=0. When ISX=1 each mode must be either symmetric or
antisymmetric, as shown in the right column. The latter modes are used for TEST24. The conventional
rigid-body modes in heave and pitch represent the nonzero vertical motions at the two ends.
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.
Appendix B
B1
When the program is run, a list of the fnames files is output to the monitor, with
a list of modified input files appended. The same list is saved in the file v6v7inp.log.
Input files which are modified are saved in the sub-directory V7inp. If the user wishes to
update the input files for each run, simply execute the DOS command copy v7inp\*.* to
overwrite the original files in the directory with the new files. Before overwriting with the
new files it may be advisable to save the old input files, for example by copying them to a
sub-directory V6inp.
Special situations which should be noted are as follows
If the old configuration file uses the default name config.wam a new configuration
file f namewam.cfg is generated, where f namewam is the filename of the fnames
file. In this case a new fnames file is generated, including the name of the new .cfg
file.
In cases where IALTPOT=1 is used for the old files and the .gdf file name is included
in the .wam file, this filename is removed in the new .wam file.
Configuration parameters which are no longer used are removed from the new cfg file.
If the same input file is used with more than one fnames file in the directory, the new
input file with the same name may not be correct except for the last run processed.
The following example illustrates how this problem may occur: if two runs with
fnames files RUNA.WAM and RUNB.WAM use the same POT file RUNAB.POT
with IALTPOT=1 format in V6.4, and with different GDF files RUNA.GDF and
RUNB.GDF assigned in RUNA.WAM and RUNB.WAM, if V6V7inp processes RUNA
first and RUNB second there is only one new file RUNAB.POT with the gdf file
specified as RUNB.GDF in this file.
The program V6V7inp is intended to work for all input files which were valid in Version
6, but it is impossible to test the program with all possible combinations of inputs. Users are
advised to check the changes in the new input files, especially if error messages are generated
in the WAMIT runs using these files, and to report problems by email to [email protected].
Appendix C
Using the WAMIT-RGKernel Interface
J. S. Letcher, Jr.
AeroHydro, Inc.
Southwest Harbor, Maine 04679 USA
207-244-4100
Sept. 8, 2002; revised June 21, 2006; revised Sept. 20, 2008; revised Oct. 20, 2011
Contents
Using the WAMIT-RGKernel Interface ..................................................................................... 1
Contents ......................................................................................................................................... 1
1. Introduction............................................................................................................................... 1
1.1 New features for WAMIT version 6.4.................................................................................................. 2
1. Introduction
A joint development effort between AeroHydro, Inc. and WAMIT, Inc. has forged an
intimate connection between MultiSurf and WAMIT. As a result, model geometry
C-1
C-2
C-3
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-4
of Trimmed Surfaces in the wetted-surface Entity List, and returns an error when one is
encountered.
SubSurfaces, on the other hand, are perfectly legal for RG2WAMIT, because they have
(like all other RG surface types except Trimmed Surface) 4-sided topology and a full
[0,1]x[0,1] parameter space. One or more SubSurfaces can always cover a complexshaped region of a base surface, where a single Trimmed Surface might otherwise be
used.
4.2 Optional wetted-surface Entity List
In order to be read and utilized through the WAMIT-RGKernel interface, an MS2 file
(model file) may include an Entity List naming the wetted surfaces. When this option
is used, WAMIT needs to be given the name of this Entity List (in the GDF file, see
below).
Note: In MultiSurf 5 and earlier, an Entity List was called an "ObjectList". This is
consistent with the following general terminology conventions:
MultiSurf 4 & 5
Surface Works and MultiSurf 6
"object"
=
"entity"
"entity"
=
"entity type"
"support"
=
"parent"
"dependent" =
"child"
A simple alternative is to specify * for the Entity List. This will signify all visible
surfaces in the model. To be visible, a surface has to have a positive visibility index, and
be on an enabled layer. Surfaces that are not to be included in the hydrodynamic
analysis can either be hidden (by editing their visibility property), or located on a layer
that is disabled in the MS2 file (unchecked in Settings/Layers dialog).
Entity List (ObjectList) is an entity type that has been supported since MultiSurf 4.0. It is
just a list of other entities, of any type. It is a non-graphical entity; you may or may not
be able to see the entities in the list - that depends on whether each entity is made from
a graphical entity type, whether it is visible, and whether it is on a turned-on layer. But,
the Entity List itself is never drawn - it is just a list.
In MultiSurf 6 and later, to create an Entity List, use Insert/ Entity List. You can
preselect the parents, i.e. the entities to be in the list. You can add or subtract entities
just as you would edit the multiple parents of any other entity. Select/ By Name is often
the best way to select an Entity List - or 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 (different volumes
C-5
for the X, Y and Z directions). The interface does not currently produce a warning in
these situations.
You can have two or more Entity Lists in your model. They (like all other entities) will
be distinguished by their unique names. By changing the Entity List name specified in
the GDF file, you can conveniently switch from one Entity List 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(3) 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 Entity List:
(1) If you use an explicit Entity List, the patch order will be the order in which the
surfaces are listed in the Entity List.
(2) If you use the default identifier * for the Entity List, 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; Select/ All; and read the order in the
Selection Set Manager.
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 in WAMIT 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,
the 3 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 parent entities;
(2) the order in which the parents are used, and
(3) the value of the orientation flag.
C-6
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, you first need to have an option turned on: this is under Tools/ Options, on the
General tab, Auto Orientation needs to be "All selected objects". Then select all the
wetted surfaces; for example, select the Entity List, then Select/ Expand Entity Lists/
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 file 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
(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.
C-7
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 Entity List, or when * is used for the Entity List, 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 (in RGKLOG.TXT) 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 halfpontoons 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
C-8
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 (Tools/ Settings/ Performance tab) 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 divisions
multiplier of 1. This should have little impact on performance, and should provide
WAMIT with full single-precision accuracy for the geometry.
4.9 Divisions and Subdivisions
C-9
In MultiSurf, each surface has division and subdivision properties that control how
the surface is subdivided for tabulation and display. For low-order WAMIT
panelizations, we use the divisions x subdivisions to determine the mesh density, and
some care with divisions is often required to make neat, watertight junctions between
the panels on adjacent surfaces.
Since the surface geometry is more directly accessed in the WAMIT-RGKernel interface,
divisions and subdivisions are less important in general. In Accurate mode evaluation,
they should have no bearing at all. However, in Fast mode, there are still accuracy
benefits in coordinating divisions between adjacent surfaces: for example, use the same
number of (divisions x subdivisions) on a surface and its supporting curves; where
possible; use matching divisions on surfaces that share a common edge.
4.10 Irregular frequency removal
In WAMIT's higher-order solution, irregular frequency removal is effected by providing
additional surface patches that cover any interior portions of the plane of the free
surface (IRR = 1).
Such interior free surface patches can be part of the MultiSurf model. They must be
oriented with their positive normal direction consistent with the wetted patches; i.e., if
your model has all outward normals, an interior free surface patch must have its normal
upward. Interior free surface patches must also be included in the Entity List of wetted
surfaces, and in NPATCH. If you put them last in the Entity List, you can easily run
WAMIT with and without irregular frequency removal just by setting NPATCH
appropriately in the GDF file.
4.11 Coordinate singularities
A coordinate singularity is a place on a parametric surface where the cross product
x/u x x/v vanishes. This can occur because either x/u or x/v vanishes, or
because they have the same direction. The most commonly encountered coordinate
singularity is a pole, where one or the other of x/u, x/v vanishes along one whole
edge of the parameter space, e.g. the type of singularity at the north and south poles of a
sphere that is parameterized by latitude and longitude. There are many ways to create
surfaces with poles and other coordinate singularities in MultiSurf; for example when a
RuledSurf is made between a curve and a point, a pole occurs at the point.
Some kinds of coordinate singularities are associated with numerical ill-conditioning in
WAMIT, and so should be avoided as much as possible in modeling for RG2WAMIT.
There are situations where coordinate singularities are apparently harmless, e.g. the
south pole of a half-submerged sphere, or the south pole of a truncated vertical
cylinder. There are other situations where a coordinate singularity is distinctly
beneficial. (See the remarks below under Cosine spacing.)
C-10
C-11
free surface. In MultiSurf there are two common techniques for achieving mesh
concentration:
(1) Relabeling of lines, curves, snakes and surfaces
(2) Type-2 B-spline lofted surfaces (BLoftSurfs) with duplicate master curves at the
ends; also (usually for flat rectangular patches) B-spline surfaces (BSurfs) with
duplicate control points at corners and/or edges.
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:
entity-name float-index value
For example, if Point 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.
4.15 Patch types and color coding
WAMIT recognizes several types of surface patches with different characteristics for
analysis. In the RG2WAMIT interface these patch types are distinguished by color
coding -- assigning specific colors to surfaces to designate different patch types, as
follows:
(1) Color 11 (bright cyan) is reserved for dipole patches.
(2) Color 15 (bright white) is reserved for exterior free surface patches (used for FDF file,
for the second-order option).
(3) Color 4 (red) is reserved for free-surface pressure patches.
C-12
Conventional patches (body patches) and interior free surface patches can be any other
color besides 4, 11 and 15.
Surface colors are selected in the Properties Manager. The Color Property dialog has a
control allowing colors to be specified by color number (0-255).
4.16 Internal tanks
Internal tanks with liquid contents and a free surface can be represented in a model for
WAMIT analysis; see section 10.7 of the WAMIT User Manual.
In MultiSurf, the tanks are modeled with surfaces, and are communicated to WAMIT
through a specially composed Entity List, called the "Tank list". The name of the tank list
is included in the short-form GDF file as a second token on line 7, following the wetted
surface entity list.
The tank list will have one entity for each internal tank; this must be either
(1) a surface entity (when a single surface is enough to define the tank), or
(2) an entity list of surfaces for the tank (in the usual case where multiple surfaces are
required to define the tank).
It is possible to analyze the tanks alone, without the enclosing body. Just insert an empty
Entity List (say its name is 'empty') in your model, and use it for the wetted-surface
Entity List on line 7 of the GDF file:
empty
tank_list
Note that WAMIT requires the normals on tank surfaces to be opposite those for body
surfaces, because the wetted side is the inside of the tank, as opposed to the outside of
the body. Thus if your body surfaces have outward normals, the tank surface normals
should be inward.
The density of the fluid in each tank is specified in the .CFG file (RHOTANK).
4.17 Control surfaces for mean drift forces
A new analysis option in WAMIT version 6.3 is evaluation of mean drift forces and
moments by means of momentum flux through a control surface surrounding the body.
The control surface is defined in a control surface file (.CSF extension), with two format
options:
(ICDEF = 0) low-order, similar to a low-order GDF; or
(ICDEF = 1) higher-order, similar to a higher-order GDF.
The control surface can be modeled in MultiSurf. For ICDEF = 0, it can consist of any
type of surfaces, including Trimmed Surface, triangle meshes or Composite Surfaces. For
ICDEF = 1, it can consist of any type of surface except Trimmed Surfaces and Composite
Surfaces.
C-13
The control surface can be part of the same MultiSurf model as the body surfaces, or it
can be a completely separate model file.
CSF export is now on the MultiSurf menu, under File/ Export3D/ WAMIT.
C-14
entity-name is the name of an entity in the model that has one or more floating-point
numbers in its properties. For example, a Point has 3 floats -- its X, Y and Z coordinates
or offsets --; a Bead has just one, its t parameter or offset.
float-index is an integer from 1 to the number of floats the entity has, e.g. 1 to 3 for a
Point; 1 to 1 for a Bead.
value is the floating-point value to substitute.
NPATCH = 0 option
Starting with WAMIT version 6.4, NPATCH can be specified as 0 in an IGDEF = 2 shortform GDF. This means "figure out the number of patches from the Entity List (or '*')
found on Line 7". This option is highly recommended because it avoids the need to
count surfaces, and the potential error of leaving surfaces out by specifying the wrong
number for NPATCH.
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
where N is the number of rotational symmetry images.
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 (except line 7)
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. Line 7
is an exception, because presence of a tank-list on this line is optional; if there is a second
token on line 7, Fortran will try to interpret is as a tank-list name.
Example GDF:
Tension-leg platform example
120. 32.2 ULEN, GRAV
1 1 ISX,ISY
0 2
NPATCH, IGDEF
3
NLINES
TLP4H.MS2
wetted_surfs
0 2 0 Fast; DivMult; outward normals
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
C-15
in RGKINIT.) The model has mirror symmetry with respect to its X and Y planes (only
one quadrant is explicitly modeled). NPATCH is specified as 0; the interface will count
the surfaces in Entity List 'wetted_surfs' to determine NPATCH. 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 Entity List named wetted_surfs which
names the wetted surfaces. This example has no tank-list. 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-16
8. 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 working folder. 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.
C-17
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.
9. 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-18
The RGKernel error code will be given. This is most likely to occur because one of
the surfaces failed to evaluate, and the Entity List got an error 284 (support failed) as
a result. If the .MS2 opens in MultiSurf without error or warnings, it is very likely to
open and evaluate successfully in RG2WAMIT. However, the two RGKernel.dll
versions will generally be different and may have some incompatibilities, so it is
possible for this error to occur through no fault of the user. This situation should be
investigated by AeroHydro.
6. Failed to build surface table
Open the MS2 file in MultiSurf and confirm that the surface in question evaluates
without error. If the surface evaluates without error in MultiSurf, it is very unlikely
to fail in RG2WAMIT. However, because of some incompatibilities between
RGKernel.dll versions, this error might occur through no fault of the user.
AeroHydro should investigate. (Note: a table is built for each surface in the model
even when Accurate evaluation is specified.)
7. Unexpected end-of-line in RGKINIT.TXT
A file record in RGKINIT.TXT did not contain all required data. For example, if the
file line giving fast/accurate, divisions multiplier, and inward-normal settings has
only one or two tokens, this error will occur. Check that your GDF file contains all
required information, and that NLINES is correct.
8. Wetted-surface Entity List has fewer than NPATCH surfaces
The GDF file specifies NPATCH, the number of surfaces to use in the solution for a
given body; the Entity List does not contain the full complement. Check that
NPATCH is correctly specified in the GDF. Open the MS2 file in either MultiSurf or
Notepad and check that all wetted surfaces and/or interior free surface patches are
in the Entity List. If the number of surfaces is large, making counting difficult, select
the Entity List in MultiSurf (often Select/ By Name is the easiest way), and the
number of its parents will be indicated in the Properties Manager. Visually, you can
select the Entity List and Select/ Expand Entity Listts/ First Generation; all surfaces
in the list will then be highlighted.
9. Wetted-surface Entity List contains a non-surface entity.
The wetted-surface Entity List must contain all the wetted patches and/or interior
free-surface patches, and no other entities. (An Entity List, in general, can legally
contain entities of any type.) Check the contents of the Entity List and see that they
are correct in number and identity.
10. Wetted-surface Entity List includes a Trimmed Surface.
Trimmed surfaces are not eligible for use in WAMIT models for higher-order
analysis, because they do not provide a complete square parameter space for
distribution of the unknown potential. You may be able to replace a Trimmed
Surface with one or more SubSurfaces.
11. Surface entity is in error.
C-19
The RGKernel error code will be given. This error code is compatible with the
MultiSurf error system, so it can be looked up in the MultiSurf reference manual or
help system under Error codes. The same error should occur when the model is
opened in MultiSurf; however, this will not always be true, because of the presence
of incompatibilities between the two RGKernel.dll versions. See also remarks for
error 6.
12. The specified tank list was not found in the model.
A tank list was specified by name on line 7 of the GDF file, but no entity with this
name was found in the model. First, confirm that you are trying to perform analysis
with internal tanks in this run; if not, line 7 should have only a single token (the
wetted-surface Entity List name, or '*'). Check that the second token on line 7 is the
correct name for the tank list. Entity names are case sensitive. Check that an Entity
List of this name exists in the model.
13. The entity named as tank list is not an Entity List.
A tank list was specified by name on line 7 of the GDF file, but the entity with that
name is not an Entity List. Check that the second token on line 7 is the correct name
for the tank list. Entity names are case sensitive. Check that an Entity List of this
name exists in the model.
14. The tank-list Entity List is in error.
A tank list was specified by name on line 7 of the GDF file, but the entity with that
name is in error. An error code will be given; this can be looked up in the MultiSurf
manual or help system. The most likely cause is that one of the parent lists or
surfaces is in error; this will result in error 284 on the tank list. In the Entities
Manager, select the tank list and expand the Parents tab to identify the error.
15. Tank list contents don't qualify for a tank list.
A tank list was specified by name on line 7 of the GDF file, but the Entity List with
that name does not qualify as a tank list. Each element of a tank list must be either (1)
a surface, or (2) an Entity List of surfaces.
16. The wetted-surface Entity List contains duplicate surfaces.
Duplicate surfaces in the wetted-surface Entities List will lead to singular or very illconditioned equations in the WAMIT solution. Select the Entity List and click on
"Entities" in the left-hand column to review its contents. Click in the right hand
column to edit its contents; remove any duplicates.
17. IBODY is out of range.
In a multi-body problem, each IBODY must be in the range 1 to NBODY. This error
would probably indicate a bug in WAMIT's writing of RGKINIT.TXT.
18. Two or more bodies have the same IBODY.
In a multi-body problem, the IBODY's must be distinct. This error would probably
indicate a bug in WAMIT's writing of RGKINIT.TXT.
C-20
C-21