Vous êtes sur la page 1sur 473

w

1











OrcaFlex Manual

Version 9.7a






Orcina Ltd.
Daltongate
Ulverston
Cumbria
LA12 7AJ
UK
Telephone: +44 (0) 1229 584742
Fax: +44 (0) 1229 587191
E-mail: orcina@orcina.com
Web Site: www.orcina.com
w
Contents
3
CONTENTS
1 INTRODUCTION 11
1.1 Installing OrcaFlex 11
1.2 Running OrcaFlex 13
1.3 Parallel Processing 14
1.4 Distributed OrcaFlex 15
1.5 Orcina Licence Monitor 15
1.6 Demonstration Version 15
1.7 OrcaFlex Examples 15
1.8 Validation and QA 15
1.9 Orcina 15
1.10 References and Links 16
2 TUTORIAL 21
2.1 Getting Started 21
2.2 Building a Simple System 21
2.3 Adding a Line 21
2.4 Adjusting the View 22
2.5 Static Analysis 22
2.6 Dynamic Analysis 23
2.7 Multiple Views 23
2.8 Looking at Results 23
2.9 Getting Output 24
2.10 Input Data 24
3 USER INTERFACE 25
3.1 Introduction 25
3.1.1 Program Windows 25
3.1.2 The Model 25
3.1.3 Model States 25
3.1.4 Toolbar 27
3.1.5 Status Bar 28
3.1.6 Mouse and Keyboard Actions 28
3.2 OrcaFlex Model Files 31
3.2.1 Data Files 31
3.2.2 Text Data Files 32
3.2.3 Simulation Files 38
3.2.4 Relative Paths 39
3.3 Model Browser 39
3.3.1 Model Browser Views 41
3.3.2 Move Selected Objects Wizard 42
Contents
w

4
3.4 Libraries 43
3.4.1 Using Libraries 43
3.4.2 Building a Library 46
3.5 Menus 46
3.5.1 File Menu 46
3.5.2 Edit Menu 48
3.5.3 Model Menu 48
3.5.4 Calculation Menu 49
3.5.5 View Menu 50
3.5.6 Replay Menu 51
3.5.7 Graph Menu 51
3.5.8 Results Menu 51
3.5.9 Tools Menu 52
3.5.10 Workspace Menu 52
3.5.11 Window Menu 53
3.5.12 Help Menu 53
3.6 3D Views 53
3.6.1 View Parameters 54
3.6.2 View Control 55
3.6.3 Navigating in 3D Views 56
3.6.4 Shaded Graphics 57
3.6.5 How Objects are Drawn 58
3.6.6 Selecting Objects 60
3.6.7 Creating and Destroying Objects 60
3.6.8 Dragging Objects 60
3.6.9 Connecting Objects 60
3.6.10 Printing, Copying and Exporting Views 60
3.7 Replays 61
3.7.1 Replay Parameters 61
3.7.2 Replay Control 62
3.7.3 Custom Replays 63
3.7.4 Custom Replay Wizard 63
3.8 Data Forms 64
3.8.1 Data Fields 65
3.8.2 Data Form Editing 66
3.9 Results 67
3.9.1 Producing Results 67
3.9.2 Selecting Variables 68
3.9.3 Summary and Full Results 69
3.9.4 Statistics 69
3.9.5 Linked Statistics 69
3.9.6 Offset Tables 70
3.9.7 Line Clashing Report 70
3.9.8 Time History and XY Graphs 71
3.9.9 Range Graphs 72
3.9.10 Offset Graphs 73
3.9.11 Spectral Response Graphs 73
3.9.12 Extreme Value Statistics Results 73
w
Contents
5
3.9.13 Presenting OrcaFlex Results 76
3.10 Graphs 76
3.10.1 Modifying Graphs 78
3.11 Spreadsheets 78
3.12 Text Windows 78
3.13 Workspaces 79
3.14 Comparing Data 79
3.15 Preferences 80
4 AUTOMATION 83
4.1 Introduction 83
4.2 Batch Processing 83
4.2.1 Introduction 83
4.2.2 Script Files 84
4.2.3 Script Syntax 85
4.2.4 Script Commands 85
4.2.5 Examples of setting data 88
4.2.6 Handling Script Errors 94
4.2.7 Obtaining Data Names 94
4.2.8 Automating Script Generation 94
4.3 Text Data Files 96
4.3.1 Examples of setting data 96
4.3.2 Automating Generation 103
4.4 Post-processing 104
4.4.1 Introduction 104
4.4.2 OrcaFlex Spreadsheet 105
4.4.3 Instruction Format 107
4.4.4 Pre-defined commands 109
4.4.5 Basic commands 109
4.4.6 Time History and related commands 110
4.4.7 Range Graph commands 111
4.4.8 Data commands 111
4.4.9 Instructions Wizard 112
4.4.10 Duplicate Instructions 115
5 THEORY 119
5.1 Coordinate Systems 119
5.2 Direction Conventions 120
5.3 Object Connections 121
5.4 Interpolation Methods 121
5.5 Static Analysis 123
5.5.1 Line Statics 123
5.5.2 Buoy and Vessel Statics 127
5.5.3 Vessel Multiple Statics 127
5.6 Dynamic Analysis 127
Contents
w

6
5.6.1 Calculation Method 128
5.6.2 Ramping 130
5.7 Friction Theory 130
5.8 Spectral Response Analysis 134
5.9 Extreme Value Statistics Theory 135
5.10 Environment Theory 137
5.10.1 Buoyancy Variation with Depth 137
5.10.2 Current Theory 137
5.10.3 Seabed Theory 138
5.10.4 Seabed Non-Linear Soil Model Theory 139
5.10.5 Morison's Equation 144
5.10.6 Waves 145
5.11 Vessel Theory 152
5.11.1 Vessel Rotations 152
5.11.2 RAOs and Phases 153
5.11.3 RAO Quality Checks 155
5.11.4 Wave Drift and Sum Frequency Loads 156
5.11.5 Sea State Disturbance 161
5.11.6 Stiffness, Added Mass and Damping 162
5.11.7 Impulse Response and Convolution 164
5.11.8 Manoeuvring Load 165
5.11.9 Other Damping 166
5.11.10 Current and Wind Loads 167
5.12 Line Theory 169
5.12.1 Overview 169
5.12.2 Structural Model Details 170
5.12.3 Calculation Stages 171
5.12.4 Calculation Stage 1 Tension Forces 172
5.12.5 Calculation Stage 2 Bend Moments 173
5.12.6 Calculation Stage 3 Shear Forces 175
5.12.7 Calculation Stage 4 Torsion Moments 175
5.12.8 Calculation Stage 5 Total Load 176
5.12.9 Line End Orientation 176
5.12.10 Line Local Orientation 177
5.12.11 Treatment of Compression 177
5.12.12 Contents Flow Effects 178
5.12.13 Line Pressure Effects 179
5.12.14 Pipe Stress Calculation 180
5.12.15 Pipe Stress Matrix 181
5.12.16 Hydrodynamic and Aerodynamic Loads 182
5.12.17 Drag Chains 185
5.12.18 Line End Conditions 186
5.12.19 Interaction with the Sea Surface 186
5.12.20 Interaction with Seabed and Shapes 187
5.12.21 Clashing 187
5.13 6D Buoy Theory 190
5.13.1 Overview 190
5.13.2 Lumped Buoy Added Mass, Damping and Drag 192
w
Contents
7
5.13.3 Spar Buoy and Towed Fish Added Mass and Damping 193
5.13.4 Spar Buoy and Towed Fish Drag 195
5.13.5 Slam Force 197
5.13.6 Contact Forces 199
5.14 3D Buoy Theory 200
5.15 Winch Theory 201
5.16 Shape Theory 202
6 SYSTEM MODELLING: DATA AND RESULTS 205
6.1 Modelling Introduction 205
6.2 Data in Time History Files 206
6.3 Variable Data 208
6.3.1 External Functions 209
6.4 General Data 210
6.4.1 Statics 211
6.4.2 Dynamics 212
6.4.3 Integration & Time Steps 213
6.4.4 Explicit Integration 214
6.4.5 Implicit Integration 215
6.4.6 Numerical Damping 216
6.4.7 Response Calculation 216
6.4.8 Results 216
6.4.9 Post Calculation Actions 217
6.4.10 Drawing 221
6.4.11 Properties Report 221
6.5 Environment 222
6.5.1 Sea Data 222
6.5.2 Sea Density Data 223
6.5.3 Seabed Data 223
6.5.4 Wave Data 227
6.5.5 Data for Regular Waves 228
6.5.6 Data for Random Waves 228
6.5.7 Data for JONSWAP and ISSC Spectra 230
6.5.8 Data for Ochi-Hubble Spectrum 230
6.5.9 Data for Torsethaugen Spectrum 231
6.5.10 Data for Gaussian Swell Spectrum 231
6.5.11 Data for User Defined Spectrum 231
6.5.12 Data for Time History Waves 232
6.5.13 Data for User Specified Components 233
6.5.14 Data for Response Calculation 233
6.5.15 Waves Preview 233
6.5.16 Modelling Design Waves 234
6.5.17 Setting up a Random Sea 235
6.5.18 Current Data 238
6.5.19 Wind Data 239
6.5.20 Drawing Data 240
6.5.21 External Functions 241
Contents
w

8
6.5.22 Results 241
6.5.23 Wave Scatter Conversion 242
6.6 Solid Friction Coefficients Data 246
6.7 Vessels 247
6.7.1 Vessel Modelling Overview 248
6.7.2 Vessel Data 249
6.7.3 Vessel Types 258
6.7.4 Importing Hydrodynamic Data 283
6.7.5 Modelling Vessel Slow Drift 292
6.7.6 Vessel Response Reports 293
6.7.7 Vessel Results 296
6.8 Lines 299
6.8.1 Line Data 301
6.8.2 Line Types 316
6.8.3 Attachments 327
6.8.4 Rayleigh Damping 330
6.8.5 P-y Models 333
6.8.6 Code Checks 335
6.8.7 Line Contact 346
6.8.8 Line Results 354
6.8.9 Drag Chain Results 365
6.8.10 Flex Joint Results 365
6.8.11 Line Setup Wizard 365
6.8.12 Line Type Wizard 367
6.8.13 Chain 368
6.8.14 Rope/Wire 372
6.8.15 Line with Floats 374
6.8.16 Homogeneous Pipe 378
6.8.17 Hoses and Umbilicals 380
6.8.18 Modelling Stress Joints 381
6.8.19 Modelling Bend Restrictors 383
6.8.20 Modelling non-linear homogeneous pipes 386
6.8.21 Line Ends 387
6.8.22 Modelling Compression in Flexibles 390
6.9 6D Buoys 391
6.9.1 Wings 392
6.9.2 Common Data 393
6.9.3 Applied Loads 395
6.9.4 Wing Data 395
6.9.5 Wing Type Data 396
6.9.6 Lumped Buoy Properties 397
6.9.7 Lumped Buoy Drawing Data 399
6.9.8 Spar Buoy and Towed Fish Properties 399
6.9.9 Spar Buoy and Towed Fish Drag & Slam 401
6.9.10 Spar Buoy and Towed Fish Added Mass and Damping 401
6.9.11 Spar Buoy and Towed Fish Drawing 403
6.9.12 Shaded Drawing 403
6.9.13 Other uses 405
6.9.14 External Functions 405
w
Contents
9
6.9.15 Properties Report 405
6.9.16 Results 406
6.9.17 Buoy Hydrodynamics 408
6.9.18 Hydrodynamic Properties of a Rectangular Box 409
6.9.19 Modelling a Surface-Piercing Buoy 411
6.10 3D Buoys 414
6.10.1 Data 414
6.10.2 Properties Report 415
6.10.3 Results 415
6.11 Winches 416
6.11.1 Data 417
6.11.2 Wire Properties 417
6.11.3 Control 418
6.11.4 Control by Stage 418
6.11.5 Control by Whole Simulation 419
6.11.6 Drive Unit 419
6.11.7 External Functions 420
6.11.8 Results 420
6.12 Links 421
6.12.1 Data 421
6.12.2 Results 422
6.13 Shapes 423
6.13.1 Data 424
6.13.2 Blocks 425
6.13.3 Cylinders 425
6.13.4 Curved Plates 426
6.13.5 Planes 427
6.13.6 Drawing 427
6.13.7 Results 428
6.14 All Objects Data Form 428
7 MODAL ANALYSIS 431
7.1 Data and Results 431
7.2 Theory 433
8 FATIGUE ANALYSIS 437
8.1 Introduction 437
8.2 Commands 438
8.3 Data 439
8.4 Load Cases Data for Regular Analysis 440
8.5 Load Cases Data for Rainflow Analysis 440
8.6 Load Cases Data for Spectral Analysis 441
8.7 Load Cases Data for SHEAR7 443
8.8 Components Data 443
8.9 Analysis Data 443
Contents
w

10
8.10 S-N and T-N Curves 444
8.11 Integration Parameters 445
8.12 Results 445
8.13 Automation 446
8.14 Fatigue Points 447
8.15 How Damage is Calculated 447
9 VIV TOOLBOX 451
9.1 Frequency Domain Models 451
9.1.1 VIVA 451
9.1.2 SHEAR7 455
9.2 Time Domain Models 461
9.2.1 Wake Oscillator Models 464
9.2.2 Vortex Tracking Models 467
9.2.3 VIV Drawing 472

w
Introduction, Installing OrcaFlex
11
1 INTRODUCTION
Welcome to OrcaFlex (version 9.7a), a marine dynamics program developed by Orcina for static and dynamic
analysis of a wide range of offshore systems, including all types of marine risers (rigid and flexible), global analysis,
moorings, installation and towed systems.
OrcaFlex provides fast and accurate analysis of catenary systems such as flexible risers and umbilical cables under
wave and current loads and externally imposed motions. OrcaFlex makes extensive use of graphics to assist
understanding. The program can be operated in batch mode for routine analysis work and there are also special
facilities for post-processing your results including fully integrated fatigue analysis capabilities.
OrcaFlex is a fully 3D non-linear time domain finite element program capable of dealing with arbitrarily large
deflections of the flexible from the initial configuration. A lumped mass element is used which greatly simplifies the
mathematical formulation and allows quick and efficient development of the program to include additional force
terms and constraints on the system in response to new engineering requirements.
In addition to the time domain features, modal analysis can be performed for either the whole system or for
individual lines. RAOs can be calculated for any results variable using the Spectral Response Analysis feature.
OrcaFlex is also used for applications in the Defence, Oceanography and Renewable energy sectors. OrcaFlex can
handle multi-line systems, floating lines, line dynamics after release, etc. Inputs include ship motions, regular and
random waves. Results output includes animated replay plus full graphical and numerical presentation.
If you are new to OrcaFlex then please see the tutorial and examples.
For further details of OrcaFlex and our other software, please contact Orcina or your Orcina agent.
Copyright notice
Copyright Orcina Ltd. 1987-2013. All rights reserved.
1.1 INSTALLING ORCAFLEX
Hardware Requirements
OrcaFlex can be installed and run on any computer that has:
- Windows XP, Windows Vista, Windows 7 or Windows 8. Both 32 bit and 64 bit versions of Windows are
supported.
- If you are using small fonts (96dpi) the screen resolution must be at least 1024768. If you are using large fonts
(120dpi) the screen resolution must be at least 12801024.
However, OrcaFlex is a powerful package and to get the best results we would recommend:
- A 64 bit edition of Windows 7 or later.
- A powerful processor with fast floating point and memory performance. This is the most important factor since
OrcaFlex is a computation-intensive program and simulation run times can be long for complex models.
- At least 4GB of memory. This is less important than processor performance but some aspects of OrcaFlex do
perform better when more memory is available, especially on multi-core systems. If you have a multi-core
system with a 64 bit version of Windows then you may benefit from fitting even more memory.
- A multi-core system to take advantage of OrcaFlex's multi-threading capabilities.
- As much disk space as you require to store simulation files. Simulation files vary in size, but can be hundreds of
megabytes each for complex models.
- A screen resolution of 12801024 or greater with 32 bit colour.
- A DirectX 9 compatible graphics card with at least 256MB memory for the most effective use of the shaded
graphics facility.
- Microsoft Excel (Excel 2000, or later) in order to use the OrcaFlex automation facilities. Both 32 bit and 64 bit
versions of Excel are supported.
Installation
To install OrcaFlex:
- You will need to install from an account with administrator privileges.
- If installing from disc, insert the OrcaFlex installation disc and run the Autorun.exe program on the disc (on
many machines this program will run automatically when you insert the disc). Then click on 'Install OrcaFlex'.
Introduction, Installing OrcaFlex
w

12
- If you have received OrcaFlex by e-mail or from the web you will have a zip file, and possibly a number of
licence files (.lic). Extract the files from the zip file to some temporary location, and save the licence files to the
same folder. Then run the extracted file Setup.exe.
- You will also need to install the OrcaFlex dongle supplied by Orcina. See below for details.
For further details, including information on network and silent installation, click on Read Me on the Autorun menu
or open the file Installation Guide.pdf on the disc. If you have any difficulty installing OrcaFlex please contact Orcina
or your Orcina agent.
Orcina Shell Extension
When you install OrcaFlex the Orcina Shell Extension is also installed. This integrates with Windows Explorer, and
associates the data and simulation file types (.dat and .sim) with OrcaFlex. You can then open an OrcaFlex file by
simply double-clicking the filename in Explorer. The shell extension also provides file properties information, such
as which version of OrcaFlex wrote the file and the Comments text for the model in the file.
Dongles
OrcaFlex is supplied with a dongle, a small hardware device that must be attached to the machine or to the network
to which the machine is attached.
Note: The dongle is effectively your licence to run one copy (or more, if the dongle is enabled for more
copies) of OrcaFlex. It is, in essence, what you have purchased or leased, and it should be treated
with appropriate care and security. If you lose your dongle you cannot run OrcaFlex.
Warning: Orcina can normally resupply disks or manuals (a charge being made to cover costs) if they are lost
or damaged. But we can only supply a new dongle in the case where the old dongle is returned to
us.
Dongles labelled 'Hxxx' (where xxx is the dongle number) must be plugged into the machine on which OrcaFlex is
run. Dongles labelled 'Nxxx' can be used in the same way as 'Hxxx' dongles, but they can also be used over a
network, allowing the program to be shared by multiple users. In the latter case the dongle should be installed by
your network administrator; instructions can be found in the Dongle directory on the OrcaFlex installation disc. By
default, 'N' dongles can hold up to 10 OrcaFlex licences for use over a network; we can supply dongles with larger
capacities on request. Dongles are usually supplied as USB devices, but parallel port dongles are still available if
required.
The dongle requires a device driver to be installed on any machine to which it is attached. Windows will often do
this installation automatically for you when you plug in the dongle; alternatively, you can choose to install the device
driver when you install OrcaFlex.
Dongle Troubleshooting
We supply, with OrcaFlex, a dongle utility program called OrcaDongle. If OrcaFlex cannot find the dongle then this
program may be used to check that the dongle is working correctly and has the expected number of licences. For
details see the OrcaDongle help file.
The OrcaDongle program is included on the OrcaFlex installation disc, and you may choose to install it from the
Autorun menu in the same way as OrcaFlex. It is also available for download from
www.orcina.com/Support/Dongle.
Users of network dongles may find the Orcina Licence Monitor to be useful. This application monitors the OrcaFlex
licences claimed on a network at any time and reports which machines and users are claiming licences for the
various Orcina programs.
Diagnostics
If OrcaFlex fails to start, with the error that it can't obtain a licence, then please check the following.
- If you are using a network dongle, are all the licences in use? The Orcina Licence Monitor may be of use in
determining this. If they are, you will need to wait until a licence becomes free before you can run OrcaFlex.
- If you are using a local dongle, is it plugged into your machine? If so, is the dongle device driver installed? You
can check this by running OrcaDongle. If the driver is not present, you can follow the link on our website to
download the latest driver software from the dongle manufacturer.
- Does the dongle you are using have an OrcaFlex licence on it? Again, you can check this with OrcaDongle.
- Do you have a licence file for the dongle you wish to access? This file will be named Nxxx.lic or Hxxx.lic (where
xxx is the dongle number) and will be in the OrcaFlex installation folder. If not, then you should be able to copy
the required file(s) from the root level of the OrcaFlex installation disc into the installation folder.
w
Introduction, Running OrcaFlex
13
If none of these help, then please contact us at Orcina with a description of the problem. Ideally, please also email to
us the diagnostics file named OrcLog.txt which OrcaFlex will have written on failing to find a licence. This file can be
found in the folder "%appdata%\Orcina\OrcaFlex". To open this folder, select Start menu | Run (or Windows key
and 'R') and enter the text between the quotes (including the % characters).
1.2 RUNNING ORCAFLEX
A shortcut to run OrcaFlex is set up on the Start menu when you install OrcaFlex (see Start\Programs\Orcina
Software\ or the All Apps screen, "Orcina Software" group, depending on your version of Windows).
This shortcut passes no parameters to OrcaFlex so it gives the default start-up behaviour; see below. If this is not
suitable you can configure the start-up behaviour using command-line parameters, for example by setting up your
own shortcuts with particular parameter settings.
Default Start-up
OrcaFlex has two basic modules: full OrcaFlex and statics-only OrcaFlex. A full OrcaFlex licence is needed for
dynamic analysis.
When you run OrcaFlex it looks for an Orcina dongle from which it can claim an OrcaFlex licence (either a full
licence or a statics-only licence). By default, it first looks for a licence on a local dongle (i.e. one in local mode and
connected to the local machine) and if none is found then it looks for a licence on a network dongle (i.e. one in
network mode and accessed via a licence manager over the network). This default behaviour can be changed by
command-line parameters.
If OrcaFlex finds a network dongle and there is a choice of which licences to claim from it, then OrcaFlex displays a
Choose Modules dialog to ask you which modules you want to claim. This helps you share the licences with other
users of that network dongle. For example if the network dongle contains both a full licence and a statics-only
licence then you can choose to use the statics-only licence, if that is all you need, so that the full licence is left free for
others to use when you do not need it yourself. The Choose Modules dialog can be suppressed using command-line
parameters.
Command Line Parameters
OrcaFlex can accept various parameters on the command line to modify the way it starts up. The syntax is:
OrcaFlex.exe Filename Option1 Option2 etc.
Filename is optional. If present it should be the name of an OrcaFlex data file (.dat or .yml) or simulation file (.sim).
After starting up OrcaFlex will automatically open that file.
Option1, Option2 etc. are optional parameters that allow you configure the start-up behaviour. They can be any of
the following switches. For the first character of an option switch, the hyphen character '-' can be used as an
alternative to the '/' character.
Dongle Search switches
By default the program searches first for a licence on a local dongle and then for a licence on a network dongle. The
following switches allow you to modify this default behaviour.
- /LocalDongle Only search for licences on a local dongle. No search will be made for network dongles.
- /NetworkDongle Only search for licences on a network dongle. Any local dongle will be ignored. This can be
useful if you have a local dongle but want to use a network dongle that has licences for more modules.
Module Choice switch
This switch is only relevant if the dongle found is a network dongle and there is a choice of licences to claim from
that dongle. You can specify your choice using the following command line switch:
- /DisableDynamics Choose the statics-only basic licence. This is sometimes useful when using a network dongle
since it allows you to leave full licences free for other users when you only need a statics-only licence.
If you do not specify all the choices then the program displays the Choose Modules dialog to ask for your remaining
choices. You can suppress this dialog using the following switch.
- /DisableInteractiveStartup Do not display the Choose Modules dialog. The program behaves the same as if the
user clicks OK on that dialog without changing any module choices.
Batch Calculation switches
These switches allow you to instruct OrcaFlex to start a batch calculation as soon as the program has loaded. The
following switches are available:
Introduction, Parallel Processing
w

14
- /Batch Start a batch calculation as soon as the program has loaded. The batch calculation will contain all the
files specified on the command line (you can have more than one) in the order in which they are specified. You
can use relative paths which will be relative to the working directory.
- /CloseAfterBatch Instructs the program to close once the batch is complete.
- /BatchAnalysisStatics, /BatchAnalysisDynamics specify what type of analysis to perform to the specified
files. If these parameters are missing then the program defaults to dynamic analysis.
- /FileList instructs the program that any text files specified on the command line contain a list of files to include
in the batch calculation. The command line can contain more than one file list. Text files within the file list will
be treated as batch script files.
Note that the batch calculation switches are provided for backwards compatibility. We recommend that automation
of analysis be carried out using Distributed OrcaFlex or one of the programming interfaces.
Process Priority switches
These switches determine the processing priority of OrcaFlex. The available switches are /RealtimePriority,
/HighPriority, /AboveNormalPriority, /NormalPriority, /BelowNormalPriority, /LowPriority.
ThickLines switch
The /ThickLines switch allows you to specify a minimum thickness for lines drawn on OrcaFlex 3D View windows.
For example using the switch /ThickLines=5 forces OrcaFlex to draw all lines at a thickness of at least 5. If no value
is specified (i.e. the switch is /ThickLines) then the minimum thickness is taken to be 2.
This switch has been added to make OrcaFlex 3D Views clearer when projected onto a large screen.
ThreadCount switch
The /ThreadCount switch allows you to set the number of execution threads used by OrcaFlex for parallel
processing. For example /ThreadCount=1 forces OrcaFlex to use a single execution thread which has the effect of
disabling parallel processing.
32 and 64 bit OrcaFlex
The installation package copies both 32 and 64 bit versions of the executables, even on a 32 bit system. On a 32 bit
system, the shortcuts and file associations are configured to execute the 32 bit version. On a 64 bit system, the
shortcuts and file associations are configured to execute the 64 bit version. If you wish to create a shortcut to the 32
bit version on a 64 bit system, you will need to set it up yourself the installation program does not do so.
Conversely, the 64 bit executable will not run on a 32 bit system. The 32 bit executable is named OrcaFlex.exe and
the 64 bit executable is named OrcaFlex64.exe.
The 64 bit version runs slightly quicker than the 32 bit version. However, the main benefit of 64 bits is that this
version can access more memory than the 32 bit version. This is especially significant for machines with a very large
number of processors.
All OrcaFlex automation capabilities are fully supported for both 32 and 64 bit. The OrcaFlex DLL, OrcFxAPI, is
available in both 32 and 64 bit versions. The different versions of the DLL are both named OrcFxAPI.dll. The
installation program installs binary files (.dll, .lib) to <InstallationDir>\OrcFxAPI\Win32 and
<InstallationDir>\OrcFxAPI\Win64 respectively. Versions of OrcaFlex prior to 9.6 also installed
OrcFxAPI.dll to the Windows system directory; this is no longer the case. Please refer to the OrcFxAPI help file for
details of how to link to OrcFxAPI.dll.
1.3 PARALLEL PROCESSING
Machines with multiple processors or processors with multiple cores are becoming increasingly common. OrcaFlex
can make good use of the additional processing capacity afforded by such machines. For up to date information on
hardware choice for OrcaFlex please refer to www.orcina.com/Support/Benchmark.
OrcaFlex performs the calculations of the model's Line objects in parallel. This means that, interactively at least,
performance is only improved for models with more than one Line object. However, for models with more than one
Line performance is significantly improved.
Batch processing, fatigue analysis and OrcaFlex spreadsheet post-processing tasks process jobs and load cases
concurrently, using all available processing resources.
Thread count
OrcaFlex manages a number of execution threads to perform the parallel calculations. The number of these threads
(the thread count) defaults to the number of logical processors available on your machine, as reported by the
operating system. This default will work well for most cases. Should you wish to change it you can use the Tools | Set
Thread Count menu item. The thread count can also be controlled by a command line switch.
w
Introduction, Distributed OrcaFlex
15
1.4 DISTRIBUTED ORCAFLEX
Distributed OrcaFlex is a suite of programs that enables a collection of networked, OrcaFlex licensed computers to
run OrcaFlex jobs, transparently, using spare processor time. For more information about Distributed OrcaFlex
please refer to www.orcina.com/Support/DistributedOrcaFlex. Distributed OrcaFlex can be downloaded from this
address.
OrcaFlex can also make use of machines with multiple processors using parallel processing technology.
1.5 ORCINA LICENCE MONITOR
The Orcina Licence Monitor (OLM) is a service that monitors the current number of OrcaFlex licences claimed on a
network in real time. Other programs that use the OrcaFlex programming interface (OrcFxAPI) such as Distributed
OrcaFlex and the OrcaFlex spreadsheet are also monitored. You can obtain information on each licence claimed that
includes:
- Network information: the computer name, network address and the user name.
- Licence information: the dongle name, the dongle type (network or local) and the time the licence was claimed.
- Program information: which modules are being used, the version, and the location of the program which has
claimed the licence. Usually this is the OrcaFlex executable, but it can also be, for example, Excel when the
licence is claimed by the OrcaFlex spreadsheet.
OLM can be downloaded from www.orcina.com/Support/OrcinaLicenceMonitor.
1.6 DEMONSTRATION VERSION
For an overview of OrcaFlex, see the Introduction topic and the tutorial.
The demonstration version of OrcaFlex has some facilities disabled you cannot calculate statics or run simulation,
and you cannot save files, print, export or copy to the clipboard. Otherwise the demonstration version is just like the
full version, so it allows you to see exactly how the program works.
In particular the demonstration version allows you to open any prepared OrcaFlex data or simulation file. If you
open a simulation file then you can then examine the results, see replays of the motion etc. There are numerous
example files provided on the demonstration disc. These example files are also available from
www.orcina.com/SoftwareProducts/OrcaFlex/Examples.
If you have the full version of OrcaFlex then you can use the demonstration version to show your customers your
OrcaFlex models and results for their system. To do this, give them the demonstration version and copies of your
OrcaFlex simulation files. The demonstration version can be downloaded from
www.orcina.com/SoftwareProducts/OrcaFlex/Demo.
1.7 ORCAFLEX EXAMPLES
OrcaFlex is supplied with an examples disc containing a comprehensive collection of example files. These examples
can also be found at www.orcina.com/SoftwareProducts/OrcaFlex/Examples.
1.8 VALIDATION AND QA
The OrcaFlex validation documents are available from www.orcina.com/SoftwareProducts/OrcaFlex/Validation.
1.9 ORCINA
Orcina is a creative engineering software and consultancy company staffed by mechanical engineers, naval
architects, mathematicians and software engineers with long experience in such demanding environments as the
offshore, marine and nuclear industries. As well as developing engineering software, we offer a wide range of
analysis and design services with particular strength in dynamics, hydrodynamics, fluid mechanics and
mathematical modelling.
Contact Details
Orcina Ltd.
Daltongate
Ulverston
Cumbria
LA12 7AJ
UK
Introduction, References and Links
w

16
Telephone: +44 (0) 1229 584742
Fax: +44 (0) 1229 587191
E-mail: orcina@orcina.com
Web Site: www.orcina.com
Orcina Agents
We have agents in many parts of the world. For details please refer to www.orcina.com/ContactOrcina.
1.10 REFERENCES AND LINKS
References
API, 1993. API RP 2A-WSD, Recommended Practice for Planning, Designing and Constructing Fixed Offshore
Platforms Working Stress Design. American Petroleum Institute.
API, 2000. API RP 2A-WSD, Recommended Practice for Planning, Designing and Constructing Fixed Offshore
Platforms Working Stress Design. American Petroleum Institute.
API, 1998. API RP 2RD, Design of Risers for Floating Production Systems and Tension-Leg Platforms. American
Petroleum Institute.
API, 2005. API RP 2SK, Design and Analysis of Stationkeeping Systems for Floating Structures. American Petroleum
Institute.
API, 2009. API RP 1111, Design, Construction, Operation, and Maintenance of Offshore Hydrocarbon Pipelines (Limit
State Design). American Petroleum Institute.
API. Comparison of Analyses of Marine Drilling Risers. API Bulletin. 2J.
Aranha J A P, 1994. A formula for wave drift damping in the drift of a floating body. J. Fluid Mech. 275, 147-155.
Aubeny C, Biscontin G and Zhang J, 2006. Seafloor interaction with steel catenary risers. Offshore Technology
Research Center (Texas A&M University) Final Project Report (http://www.mms.gov/tarprojects/510.htm).
Aubeny C, Gaudin C and Randolph M, 2008. Cyclic Tests of Model Pipe in Kaolin. OTC 19494, 2008.
Barltrop N D P and Adams A J, 1991. Dynamics of fixed marine structures. Butterworth Heinemann for MTD. 3rd
Edition.
Batchelor G K, 1967. An introduction to fluid dynamics. Cambridge University Press.
Bellanger M, 1989. Digital Processing of Signals. Wiley.
Blevins R D, 2005. Forces on and Stability of a Cylinder in a Wake. J. OMAE, 127, 39-45.
Bridge C, Laver K, Clukey E, Evans T, 2004. Steel Catenary Riser Touchdown Point Vertical Interaction Models. OTC
16628, 2004.
BSI, 2004. PD 8010, Code of practice for pipelines, Part 2: Subsea pipelines. British Standards.
Carter D J T, 1982. Prediction of Wave height and Period for a Constant Wind Velocity Using the JONSWAP Results,
Ocean Engineering, 9, no. 1, 17-33.
Casarella M J and Parsons M, 1970. Cable Systems Under Hydrodynamic Loading. Marine Technology Society Journal
4, No. 4, 27-44.
Chapman D A, 1984. Towed Cable Behaviour During Ship Turning Manoeuvres. Ocean Engineering. 11, No. 4.
Chung J and Hulbert G M, 1993. A time integration algorithm for structural dynamics with improved numerical
dissipation: The generalized- method. ASME Journal of Applied Mechanics. 60, 371-375.
CMPT, 1998. Floating structures: A guide for design and analysis. Edited by Barltrop N D P. Centre for Marine and
Petroleum Technology publication 101/98, Oilfield Publications Limited.
Coles S, 2001. An Introduction to Statistical Modelling of Extreme Values. Springer.
Cummins W E, 1962. The impulse response function and ship motions. Schiffstechnik, 9, 101-109.
Dean R G, 1965. Stream function representation of non-linear ocean waves. J. Geophys. Res., 70, 4561-4572.
Dirlik T, 1985. Application of computers in Fatigue Analysis. PhD Thesis University of Warwick.
DNV-OS-E301, Position Mooring, October 2010.
DNV-OS-F101, Submarine Pipeline Systems, August 2012.
DNV-OS-F201, Dynamic Risers, October 2010.
DNV-RP-C205, Environmental Conditions and Environmental Loads.
DNV-RP-H103, Modelling and Analysis of Marine Operations, April 2011.
ESDU 71016. Fluid forces, pressures and moments on rectangular blocks. ESDU 71016 ESDU International, London.
w
Introduction, References and Links
17
ESDU 80025. Mean forces, pressures and flow field velocities for circular cylindrical structures: Single cylinder with
two-dimensional flow. ESDU 80025 ESDU International, London.
Falco M, Fossati F and Resta F, 1999. On the vortex induced vibration of submarine cables: Design optimization of
wrapped cables for controlling vibrations. 3
rd
International Symposium on Cable Dynamics, Trondheim, Norway.
Faltinsen O M, 1990. Sea loads on ships and offshore structures. Cambridge University Press.
Fenton J D, 1979. A high-order cnoidal wave theory. J. Fluid Mech. 94, 129-161.
Fenton J D, 1985. A fifth-order Stokes theory for steady waves. J. Waterway, Port, Coastal & Ocean Eng. ASCE. 111,
216-234.
Fenton J D, 1990. Non-linear wave theories. Chapter in "The Sea Volume 9: Ocean Engineering Science", edited by
B. Le MeHaute and D. M. Hanes. Wiley: New York. 3-25.
Fenton J D, 1995. Personal communication pre-print of chapter in forthcoming book on cnoidal wave theory.
Gregory R W and Paidoussis M P, 1996. Unstable oscillation of tubular cantilevers conveying fluid: Part 1:Theory.
Proc. R. Soc. 293 Series A, 512-527.
Hartnup G C, Airey R G and Fraser J M, 1987. Model Basin Testing of Flexible Marine Risers. OMAE Houston.
Hoerner S F 1965. Fluid Dynamic Drag, Published by the author at Hoerner Fluid Dynamics, NJ 08723, USA.
Huse E, 1993. Interaction in Deep-Sea Riser Arrays. OTC 7237, 1993.
Isherwood R M, 1987. A Revised Parameterisation of the JONSWAP Spectrum. Applied Ocean Research, 9, No. 1
(January), 47-50.
Iwan W D, 1981. The vortex-induced oscillation of non-uniform structural systems. Journal of Sound and Vibration,
79, 291-301.
Iwan W D and Blevins R D, 1974. A Model for Vortex Induced Oscillation of Structures. Journal of Applied Mechanics,
September 1974, 581-586.
Kotik J and Mangulis V, 1962. On the Kramers-Kronig relations for ship motions. Int. Shipbuilding Progress, 9, No. 97,
361-368.
Lamb H, 1932. Hydrodynamics. 6th Edition.Cambridge University Press.
Larsen C M, 1991. Flexible Riser Analysis Comparison of Results from Computer Programs. Marine Structures,
Elsevier Applied Science.
Longuet-Higgins M S, 1983. On the joint distribution of wave periods and amplitudes in a random wave field.
Proceedings Royal Society London, Series A, Mathematical and Physical Sciences.389, 241-258.
Maddox S J, 1998. Fatigue strength of welded structures. Woodhead Publishing Ltd, ISBN 1 85573 013 8.
Malenica S et al, 1995. Wave and current forces on a vertical cylinder free to surge and sway. Applied Ocean
Research, 17, 79-90.
Molin B, 1994. Second-order hydrodynamics applied to moored structures. A state-of-the-art survey. Ship
Technology Research. 41, 59-84.
Morison J R, O'Brien M D, Johnson J W, and Schaaf S A, 1950. The force exerted by surface waves on piles. Petrol
Trans AIME. 189.
Mueller H F, 1968. Hydrodynamic forces and moments of streamlined bodies of revolution at large incidence.
Schiffstechnik. 15, 99-104.
Newman J N. 1974. Second-order, slowly-varying forces on vessels in irregular waves. Proc Int Symp Dynamics of
Marine Vehicles and Structures in Waves, Ed. Bishop RED and Price WG, Mech Eng Publications Ltd, London.
Newman J N, 1977. Marine Hydrodynamics, MIT Press.
NDP, 1995. Regulations relating to loadbearing structures in the petroleum activities. Norwegian Petroleum
Directorate.
Ochi M K and Hubble E N, 1976. Six-parameter wave spectra, Proc 15th Coastal Engineering Conference, 301-328.
Ochi M K, 1973. On Prediction of Extreme Values, J. Ship Research, 17, No. 1, 29-37.
Ochi M K, 1998. Ocean Waves: The Stochastic Approach, Cambridge University Press.
Oil Companies International Marine Forum, 1994. Prediction of Wind and Current Loads on VLCCs, 2
nd
edition,
Witherby & Co., London.
Paidoussis M P, 1970. Dynamics of tubular cantilevers conveying fluid. J. Mechanical Engineering Science, 12, No 2,
85-103.
Paidoussis M P and Deksnis E B, 1970. Articulated models of cantilevers conveying fluid: The study of a paradox. J.
Mechanical Engineering Science, 12, No 4, 288-300.
Introduction, References and Links
w

18
Paidoussis M P and Lathier B E, 1976. Dynamics of Timoshenko beams conveying fluid. J. Mechanical Engineering
Science, 18, No 4, 210-220.
Palmer A C and Baldry J A S, 1974. Lateral buckling of axially constrained pipes. J. Petroleum Technology, Nov 1974,
1283-1284.
Pode L, 1951. Tables for Computing the Equilibrium Configuration of a Flexible Cable in a Uniform Stream. DTMB
Report. 687.
Principles of Naval Architecture. Revised edition, edited by J P Comstock, 1967. Society of Naval Architects and
Marine Engineers, New York.
Puech A, 1984. The Use of Anchors in Offshore Petroleum Operations. Editions Technip.
Randolph M and Quiggin P, 2009. Non-linear hysteretic seabed model for catenary pipeline contact. OMAE paper
79259, 2009 (www.orcina.com/Resources/Papers/OMAE2009-79259.pdf).
Rawson and Tupper, 1984. Basic Ship Theory 3rd ed, 2: Ship Dynamics and Design, 482. Longman Scientific &
Technical (Harlow).
Rienecker M M and Fenton J D, 1981. A Fourier approximation method for steady water waves. J. Fluid Mech. 104,
119-137.
Roark R J, 1965. Formulas for Stress and Strain. 4th edition McGraw-Hill.
Sarpkaya T, Shoaff R L, 1979. Inviscid Model of Two-Dimensional Vortex Shedding by a Circular Cylinder. Article No.
79-0281R, AIAA Journal,17, no. 11, 1193-1200.
Sarpkaya T, Shoaff R L, 1979. A discrete-vortex analysis of flow about stationary and transversely oscillating circular
cylinders. Report no. NPS-69SL79011, Naval Postgraduate School, Monterey, California.
Rychlik I, 1987. A new definition of the rainflow cycle counting method. Int. J. Fatigue 9, No 2, 119-121.
Skjelbreia L, Hendrickson J, 1961. Fifth order gravity wave theory. Proc. 7th Conf. Coastal Eng. 184-196.
Sobey R J, Goodwin P, Thieke R J and Westberg R J, 1987. Wave theories. J. Waterway, Port, Coastal & Ocean Eng.
ASCE 113, 565-587.
Sparks C P, 1980. Le comportement mecanique des risers influence des principaux parametres. Revue de l'Institut
Francais du Petrol, 35, no. 5, 811.
Sparks C P, 1984. The influence of tension, pressure and weight on pipe and riser deformations and stresses. J.
Energy Resources Technology, 106, Issue 1, 46-54.
Standing RG, Brendling WJ, Wilson D, 1987. Recent Developments in the Analysis of Wave Drift Forces, Low-
Frequency Damping and Response. OTC paper 5456, 1987.
Tan Z, Quiggin P, Sheldrake T, 2007. Time domain simulation of the 3D bending hysteresis behaviour of an
unbonded flexible riser. OMAE paper 29315, 2007 (www.orcina.com/Resources/Papers/OMAE2007-29315.pdf).
Taylor R and Valent P, 1984. Design Guide for Drag Embedment Anchors, Naval Civil Engineering Laboratory (USA),
TN No N-1688.
Torsethaugen K and Haver S, 2004. Simplified double peak spectral model for ocean waves, Paper No. 2004-JSC-193,
ISOPE 2004 Touson, France.
Thwaites, 1960. Incompressible Aerodynamics, Oxford, 399-401.
Timoshenko S,1955. Vibration Problems in Engineering, van Nostrand.
Triantafyllou M S, Yue D K P and Tein D Y S, 1994. Damping of moored floating structures. OTC 7489, Houston, 215-
224.
Tucker et al, 1984. Applied Ocean Research, 6, No 2.
Tucker M J, 1991. Waves in Ocean Engineering. Ellis Horwood Ltd. (Chichester).
Wichers J E W, 1979. Slowly oscillating mooring forces in single point mooring systems. BOSS79 (Second
International Conference on Behaviour of Offshore Structures).
Wichers J E W, 1988. A Simulation Model for a Single Point Moored Tanker. Delft University Thesis.
Wu M, Saint-Marcoux J-F, Blevins R D, Quiggin P P, 2008. Paper No. ISOPE-2008-MWU10. ISOPE Conference 2008,
Vancouver, Canada. (www.orcina.com/Resources/Papers/ISOPE2008-MWU-10.pdf)
Young A D, 1989. Boundary Layers. BSP Professional Books, 87-91.
w
Introduction, References and Links
19
Suppliers of frequency domain VIV software
SHEAR7
AMOG Consulting Inc.
770 South Post Oak Lane, Suite 505
Houston, TX 77056
USA
Attention: Dr. H. Marcollo
Tel: +1 713 255 0020
Email: shear7@amogconsulting.com
VIVA
JD Marine
11777 Katy Freeway, Suite 434 South
Houston, TX 77079
USA
Tel: +1 281 531 0888
Email: info@jdmarineus.com
w
Tutorial, Getting Started
21
2 TUTORIAL
2.1 GETTING STARTED
This short tutorial gives you a very quick run through the model building and results presentation features of
OrcaFlex.
On completion of the tutorial we suggest that you also look through the pre-run examples see Example Files.
On starting up OrcaFlex, you are presented with a 3D view showing just a blue line representing the sea surface and
a brown line representing the seabed. At the top of the screen are menus, a tool bar and a status bar arranged in the
manner common to most Windows software. As usual in Windows software, nearly all actions can be done in
several ways: here, to avoid confusion, we will usually only refer to one way of doing the action we want, generally
using the mouse.

Figure: The OrcaFlex main window
2.2 BUILDING A SIMPLE SYSTEM
To start with, we will build a simple system consisting of one line and one vessel only.
Using the mouse, click on the new vessel button on the toolbar. The cursor changes from the usual pointer to a
crosshair cursor to show that you have now selected a new object and OrcaFlex is waiting for you to decide where to
place it. Place the cursor anywhere on the screen and click the mouse button. A "ship" shape appears on screen,
positioned at the sea surface, and the cursor reverts to the pointer shape. To select the vessel, move the cursor close
to the vessel and click the mouse button the message box (near the top of the 3D view) will confirm when the
vessel has been selected. Now press and hold down the mouse button and move the mouse around. The vessel
follows the mouse horizontally, but remains at the sea surface. (To alter vessel vertical position, or other details,
select the vessel with the mouse, then double click to open the Vessel data window.)
2.3 ADDING A LINE
Now add a line. Using the mouse, click on the new line button . The crosshair cursor reappears move the
mouse to a point just to the right of the vessel and click. The line appears as a catenary loop at the mouse position.
Move the mouse to a point close to the left-hand end of the line, press and hold down the mouse button and move
the mouse around. The end of the line moves around following the mouse, and the line is redrawn at each position.
Release the mouse button, move to the right-hand end, click and drag. This time the right-hand end of the line is
dragged around. In this way, you can put the ends of the lines roughly where you want them. (Final positioning to
exact locations has to be done by typing in the appropriate numbers select the line with the mouse and double
click to bring up the line data form.)
Move the line ends until the left-hand end of the line is close to the bow of the ship, the right-hand end lies above the
water and the line hangs down into the water.
At this point, the line has a default set of properties and both ends are at fixed positions relative to the Global origin.
For the moment we will leave the line properties (length, mass, etc.) at their default values, but we will connect the
left-hand end to the ship. Do this as follows:
Tutorial, Adjusting the View
w

22
1. Click on the line near the left-hand end, to select that end of the line; make sure you have selected the line, not
the vessel or the sea. The message box at the left-hand end of the status bar tells you what is currently selected.
If you have selected the wrong thing, try again. (Note that you don't have to click at the end of the line in order
to select it anywhere in the left-hand half of the line will select the left-hand end. As a rule, it is better to
choose a point well away from any other object when selecting something with the mouse.)
2. Release the mouse and move it to the vessel, hold down the CTRL key and click. The message box will confirm
the connection and, to indicate the connection, the triangle at the end of the line will now be the same colour as
the vessel.
Now select the vessel again and drag it around with the mouse. The left-hand end of the line now moves with the
vessel. Leave the vessel positioned roughly as before with the line in a slack catenary.
2.4 ADJUSTING THE VIEW
The default view of the system is an elevation of the global X-Z plane you are looking horizontally along the
positive Y axis. The view direction (the direction you are looking) is shown in the Window Title bar in
azimuth/elevation form (azimuth=270; elevation=0). You can move your view point up, down, right or left, and you
can zoom in or out, using the view control buttons near the top left corner of the window. Click on each
of the top 3 buttons in turn: then click again with the SHIFT key held down. The SHIFT key reverses the action of the
button. If you want to move the view centre without rotating, use the scroll bars at the bottom and right edges of the
window. By judicious use of the buttons and scroll bars you should be able to find any view you like.
Alternatively, you can alter the view with the mouse. Hold down the ALT key and left mouse button and drag. A
rectangle on screen shows the area which will be zoomed to fill the window when the mouse button is released.
SHIFT+ALT+left mouse button zooms out the existing view shrinks to fit in the rectangle.
Warning: OrcaFlex will allow you to look up at the model from underneath, effectively from under the
seabed! Because the view is isometric and all lines are visible, it is not always apparent that this
has occurred. When this has happened, the elevation angle is shown as negative in the title bar.
There are three shortcut keys which are particularly useful for controlling the view. For example CTRL+P gives a plan
view from above; CTRL+E gives an elevation; CTRL+Q rotates the view through 90 about the vertical axis. (CTRL+P
and CTRL+E leave the view azimuth unchanged.)
Now click the button on the 3D View to bring up the Edit View Parameters form. This gives a more precise way
of controlling the view and is particularly useful if you want to arrange exactly the same view of 2 different models
say 2 alternative configurations for a particular riser system. Edit the view parameters if you wish by positioning the
cursor in the appropriate box and editing as required.
If you should accidentally lose the model completely from view (perhaps by zooming in too close, or moving the
view centre too far) there are a number of ways of retrieving it:
- Press CTRL+T or right click in the view window and select Reset to Default View.
- Press the Reset button on the Edit View Parameters form. This also resets back to the default view.
- Zoom out repeatedly until the model reappears.
- Close the 3D View and add a new one (use the Window|Add 3D View menu item). The new window will have
the default view centre and view size.
2.5 STATIC ANALYSIS
Note: If you are running the demonstration version of OrcaFlex then this facility is not available.
To run a static analysis of the system, click on the calculate statics button . The message box reports which line is
being analysed and how many iterations have occurred. When the analysis is finished (almost instantly for this
simple system) the Program State message in the centre of the Status Bar changes to read "Statics Complete", and
the Static Analysis button changes to light grey to indicate that this command is no longer available. The appearance
of the line will have changed a little. When editing the model, OrcaFlex uses a quick approximation to a catenary
shape for general guidance only, and this shape is replaced with the true catenary shape when static analysis has
been carried out. (See Static Analysis for more details).
We can now examine the results of the static analysis by clicking on the Results button . This opens a Results
Selection window.
You are offered the following choices:
w
Tutorial, Dynamic Analysis
23
- Results in numerical and graphical form, with various further choices which determine what the table or graph
will contain.
- Results for all objects or one selected object.
Ignore the graph options for the moment, select Summary Results and All Objects, then click Table. A summary of
the static analysis results is then displayed in spreadsheet form. Results for different objects are presented in
different sheets. To view more static analysis results repeat this process: click on the Results button and select as
before.
2.6 DYNAMIC ANALYSIS
We are now ready to run the simulation. If you are running the demonstration version of OrcaFlex then you cannot
do this, but instead you can load up the results of a pre-run simulation see Examples.
Click the Run Dynamic Simulation button . As the simulation progresses, the status bar reports current
simulation time and expected (real) time to finish the analysis, and the 3D view shows the motions of the system as
the wave passes through.
Click the Start Replay button . An animated replay of the simulation is shown in the 3D view window. Use the
view control keys and mouse as before to change the view. The default Replay Period is Whole Simulation. This
means that you see the simulation start from still water, the wave building and with it the motions of the system.
Simulation time is shown in the Status bar, top left. Negative time means the wave is still building up from still water
to full amplitude. At the end of the simulation the replay begins again.
The replay consists of a series of "frames" at equal intervals of time. Just as you can "zoom" in and out in space for a
closer view, so OrcaFlex lets you "zoom" in and out in time. Click on the Replay Parameters button , edit Interval
to 0.5s and click OK. The animated replay is now much jerkier than before because fewer frames are being shown.
Now click again on Replay Parameters, set Replay Period to Latest Wave and click on the Continuous box to deselect.
The replay period shown is at the end of the simulation and has duration of a single wave period. At the end of the
wave period the replay pauses, then begins again.
Now click on the Replay Step button to pause the replay. Clicking repeatedly on this button steps through the
replay one frame at a time a very useful facility for examining a particular part of the motion in detail. Click with
the SHIFT key held down to step backwards.
You can then restart the animation by clicking on 'Start Replay' as before. To slow down or speed up the replay, click
on Replay Parameters and adjust the speed. Alternatively use the shortcuts CTRL+F and SHIFT+CTRL+F to make the
replay faster or slower respectively.
To exit from replay mode click on the Stop Replay button .
2.7 MULTIPLE VIEWS
You can add another view of the system if you wish by clicking on the View button . Click again to add a third
view, etc. Each view can be manipulated independently to give, say, simultaneous plan and elevation views. To make
all views replay together, click on Replay Control and check the All Views box. To remove an unwanted view simply
close its view window. To rearrange the screen and make best use of the space, click Window and choose Tile
Vertical (F4) or Tile Horizontal (SHIFT+F4). Alternatively, you can minimise windows so that they appear as small
icons on the background, or you can re-size them or move them around manually with the mouse. These are
standard Windows operations which may be useful if you want to tidy up the screen without having to close a
window down completely.
2.8 LOOKING AT RESULTS
Now click on the Results button . This opens a Results Selection window.
You are offered the following choices:
- Results as Tables or Graphs, with various further choices which determine what the table or graph will contain.
- Results for all objects or one selected object.
Select Time History for any line, then select Effective Tension at End A and click the Graph button. The graph
appears in a new window. You can call up time histories of a wide range of parameters for most objects. For lines,
you can also call up Range Graphs of effective tension, curvature, bend moment and many other variables. These
Tutorial, Getting Output
w

24
show maximum, mean and minimum values of the variable plotted against position along the line. Detailed
numerical results are available by selecting Summary Results, Full Results, Statistics and Linked Statistics.
Time history and range graph results are also available in numerical form select the variable you want and press
the Values button. The results can be exported as Excel compatible spreadsheets for further processing as required.
Further numerical results are available in tabular form by selecting Summary Results, Full Results, Statistics and
Linked Statistics.
Results Post-Processing
Extra post-processing facilities are available through Excel spreadsheets.
2.9 GETTING OUTPUT
You can get printed copies of data, results tables, system views and results graphs by means of the File | Print
menu, or by clicking Print on the popup menu. Output can also be transferred into other applications, either using
copy and paste via the clipboard or else by exporting to a file, again using the popup menu.
Note: Printing and export facilities are not available in the demonstration version of OrcaFlex.
2.10 INPUT DATA
Take a look through the input data forms. Start by resetting the program: click on the Reset button . This returns
OrcaFlex to the reset state, in which you can edit the data freely. (While a simulation is active you can only edit
certain non-critical items, such as the colours used for drawing.)
Now click on the Model Browser button . This displays the data structure in tree form in the Model Browser.
Select an item and double click with the mouse to bring up the data form. Many of the data items are self
explanatory. For details of a data item, select the item with the mouse and press the F1 key. Alternatively use the
question mark Help icon in the top right corner of the form. Have a look around all the object data forms available to
get an idea of the capabilities of OrcaFlex.
End of Tutorial
We hope you have found this tutorial useful. To familiarise yourself with OrcaFlex, try building and running models
of a number of different systems. The manual also includes a range of examples which expand on particular points of
interest or difficulty.
Finally, please remember that we at Orcina are on call to handle your questions if you are stuck.
w
User Interface, Introduction
25
3 USER INTERFACE
3.1 INTRODUCTION
3.1.1 Program Windows
OrcaFlex is based upon a main window that contains the Menus, a Tool Bar, a Status Bar and usually at least one 3D
view. The window caption shows the program version and the file name for the current model.

Figure: The OrcaFlex main window
Within this main window, any number of child windows can be placed which may be:
3D View Windows showing 3D pictorial views of the model
Graph Windows showing results in graphical form
Spreadsheet Windows showing results in numerical form
Text Windows reporting status
Additional temporary windows are popped up, such as Data Forms for each object in the model (allowing data to be
viewed and modified) and dialog windows (used to specify details for program actions such as loading and saving
files). While one of these temporary windows is present you can only work inside that window you must dismiss
the temporary window before you can use other windows, the menus or toolbar.
The actions that you can perform at any time depend on the current Model State.
Arranging Windows
3D View, Graph, Spreadsheet and Text Windows may be tiled so that they sit side-by-side, but they must remain
within the bounds of the main window. The program rearranges the windows every time a new window is created.
3.1.2 The Model
OrcaFlex works by building a mathematical computer model of your system. This model consists of a number of
objects that represent the parts of the system e.g. vessels, buoys, lines etc.
Each object has a name, which can be any length. Object names are not case-sensitive, so Riser, riser and RISER
would all refer to the same object. This behaviour is the same as for Windows file names.
The model always has two standard objects:
- General contains general data, such as title, units etc.
- Environment represents the sea, seabed, waves, current etc.
You can then use the Model Browser or the toolbar to add other objects to represent the parts of your system. There
is no limit, other than the capacity of your computer, to the number of objects you can add to the model. At any time,
you can save your model to a data file.
3.1.3 Model States
OrcaFlex builds and analyses a mathematical model of the system being analysed, the model being built up from a
series of interconnected objects, such as Lines, Vessels and Buoys. For more details see Modelling and Analysis.
User Interface, Introduction
w

26
OrcaFlex works on the model by moving through a sequence of states, the current state being shown on the status
bar. The following diagram shows the sequence of states used and the actions, results etc. available in each state.

Figure: Model States
The states used are as follows:
Reset
The state in which OrcaFlex starts. In Reset state you can freely change the model and edit the data. No results are
available.
Calculating Statics
OrcaFlex is calculating the statics position of the model. You can abort the calculation by CLICKING the Reset button.
Statics Complete
The statics calculation is complete and the static position results are available. You are allowed to make changes to
the model when in this state but if you make any changes (except for very minor changes like colours used) then the
model will be automatically reset and the statics results will be lost.
Simulating
The dynamic simulation is running. The results of the simulation so far are available and you can examine the model
data, but only make minor changes (e.g. colours used). You cannot store the simulation to a file while simulating
you must pause the simulation first.
Simulation Paused
There is a simulation active, but it is paused. The results so far are available and you can examine the model data.
You can also store the part-run simulation to a file.
Simulation Complete
The simulation is complete. The simulation results are available and you can store the results to a simulation file for
later examination. You must reset the model, by CLICKING on the Reset button, before significant changes to the
model can be made.
You can use the Extend Dynamic Simulation facility if you wish to simulate for a further period of time.
RESET
Calculating
Statics
Simulating
STATICS COMPLETE
SIMULATION
COMPLETE
Calculate
Static
Position
Reset
Reset
Edit or
Reset
Run
Pause
Run
SIMULATION
PAUSED
Reset
Extend
Simulation
SIMULATION
UNSTABLE
Reset
w
User Interface, Introduction
27
Simulation Unstable
The simulation has become unstable. The simulation results are available and you can store the results to a
simulation file for later examination. This allows you to try and understand why the simulation has become
unstable. You may also want to examine the results up until the point at which the simulation became unstable.
However, please treat these results with caution because the simulation eventually went unstable this indicates
that the dynamic simulation may not have converged at earlier simulation times.
You must reset the model, by CLICKING on the Reset button, before significant changes to the model can be made.
Typical model state flow
To illustrate how model states work, here is an example of a typical working pattern:
1. In Reset state, open a new model from a data file or use the current model as the starting point for a new model.
2. In Reset state, add or remove objects and edit the model data as required for the new model. It is generally best
to use a very simple model in the early stages of design and only add more features when the simple model is
satisfactory.
3. Run a static analysis (to get to Statics Complete state) and examine the static position results. Make any
corrections to the model that are needed this will automatically reset the model. Steps (2) and (3) are
repeated as required.
4. Run a simulation and monitor the results during the simulation (in Simulating state).
5. If further changes to the model are needed then Reset the model and edit the model accordingly. Steps (2) to
(5) are repeated as required.
6. Finalise the model, perhaps improving the discretisation (for example by reducing the time step sizes or
increasing the number of segments used for Lines). Run a final complete simulation (to reach
Simulation Complete state) and generate reports using the results.
3.1.4 Toolbar
The toolbar holds a variety of buttons that provide quick access to the most frequently used menu items. The
selection of buttons available varies with the current Program State.
Button Action Equivalent Menu Item

Open File | Open

Save File | Save

Model Browser Model | Model Browser

New Vessel Model | New Vessel

New Line Model | New Line

New 6D Buoy Model | New 6D Buoy

New 3D Buoy Model | New 3D Buoy

New Winch Model | New Winch

New Link Model | New Link

New Shape Model | New Shape

Calculate Statics Calculation | Single Statics

Run Simulation Calculation | Run Dynamic Simulation

Pause Simulation Calculation | Pause Dynamic Simulation

Reset Calculation | Reset

Start Replay Replay | Start Replay

Stop Replay Replay | Stop Replay

Step Replay Forwards Replay | Step Replay Forwards
User Interface, Introduction
w

28
Button Action Equivalent Menu Item

Edit Replay Parameters Replay | Edit Replay Parameters

Add New 3D View Window | Add 3D View

Examine Results Results | Select Results

Help Contents and Index Help | OrcaFlex Help
3.1.5 Status Bar
The Status Bar is divided into three fields:
The Message Box
This is at the left-hand end. It shows information about the progress of the current action, such as the name of the
currently selected object, or the current iteration number or simulation time. Error messages are also shown here.
When a statics calculation is done messages showing the progress of the calculation are shown in the message box.
To see all the messages from the statics calculation CLICK on the message box the Statics Progress Window will
then be opened.
The Program State Indicator
In the centre and shows which state the program is in (see Model States).
The Information Box
This is on the right. It shows additional information, including:
- The global coordinates of the position of the cursor, in the current view plane.
- Distances when using the measuring tape tool.
3.1.6 Mouse and Keyboard Actions
As well as the standard Windows mouse operations such as selection and dragging OrcaFlex uses some specialised
actions. Clicking the right mouse button over a 3D View, Graph or Text Window displays a popup menu of frequently
used actions, such as Copy, Paste, Export etc. For wire frame 3D Views and Graph Windows the mouse can be used
for zooming. Simply hold the ALT key down and using the left mouse button, drag a box over the region you want to
view.
All of the menu items can be selected from the keyboard by pressing ALT followed by the underlined letters.
Example: To exit from the program (menu: File | Exit) press ALT+F then X, or ALT then F then X
A number of frequently used menu items may also be accessed by shortcut keys, such as CTRL+R to start a replay.
See the tables below. The shortcut keys are also displayed on the OrcaFlex menus. We suggest that as you become
more familiar with the operation of OrcaFlex that you memorise some of the shortcut keys for actions that you use
frequently.
Keys on Main Window
New model
CTRL+N
Open file
CTRL+O
Save file
CTRL+S
Open data
SHIFT+CTRL+O
Save data
SHIFT+CTRL+S
Help
F1
Print
F7
Show / hide Model Browser
F6
Switch to Model Browser
SHIFT+F6
Calculate static position
F9
Run dynamic simulation
F10
Pause dynamic simulation
F11
Reset
F12
w
User Interface, Introduction
29
Open results selection form
F5
Go to next window
CTRL+F6
Go to previous window
SHIFT+CTRL+F6
Tile windows vertically
F4
Tile windows horizontally
SHIFT+F4
Close selected window
CTRL+F4
Close program
ALT+F4
Keys on Model Browser
View by Groups
CTRL+ALT+G
Edit data
ENTER
Move selected objects
CTRL+M
Rename object
F2
Locate
F3
Compare
F8
Lock / Unlock objects
CTRL+L
Hide/Show
CTRL+H
Properties
ALT+ENTER
Cut
CTRL+X
Copy
CTRL+C
Paste
CTRL+V
Delete
DELETE
Switch to Main Window
SHIFT+F6
Close browser
F6
Keys on Data Forms
Help
F1
Go to next data form
F6
Go to previous data form
SHIFT+F6
Display data names for currently selected
data item or table.
F7
Display Properties Report
ALT+ENTER
Show connections report
F8
Copy form
F9
Export form
F10
Open calculator
F12
Data Selection Keys
Go to next data item or table
TAB
Go to previous data item or table
SHIFT+TAB
Go to data item or table labelled with underlined letter
ALT+LETTER
Move around within a table
Select multiple cells in table SHIFT +
SHIFT+HOME
SHIFT+END
Go to first or last column in table
HOME END
User Interface, Introduction
w

30
Go up or down table several rows at a time
PGUP PGDN
Data Editing Keys
Enter new value for selected cell Type new value
Edit current value of selected cell
F2
Open drop-down list ALT +
Move around within new data value being entered HOME END
Accept edit
ENTER
Accept edit and go to adjacent cell in table
Cancel edit
ESC
Copy selected cell(s) to clipboard
CTRL+C
Paste from clipboard
CTRL+V
Fill selection from top (copy top cell down)
CTRL+D
Fill selection from left (copy leftmost cell to right)
CTRL+R
Fill selection from bottom (copy bottom cell up)
CTRL+U
SHIFT+CTRL+D
Fill selection from right (copy rightmost cell to left)
CTRL+L
SHIFT+CTRL+R
Insert new rows in table
INSERT
Delete selected rows from table
DELETE
Graph Control Keys
Use default ranges
CTRL+T
Zoom ALT+drag, CTRL+wheel
Pan SHIFT+drag
3D View Control Keys
Elevation view
CTRL+E
Plan view
CTRL+P
Rotate viewpoint up (increment view elevation angle) CTRL+ALT+
Rotate viewpoint down (decrement view elevation angle) CTRL+ALT+
Rotate viewpoint right (increment view azimuth angle) CTRL+ALT+
Rotate viewpoint left (decrement view azimuth angle) CTRL+ALT+
Rotate viewpoint +90
CTRL+Q
Rotate viewpoint -90
SHIFT+CTRL+Q
Zoom In CTRL+I, CTRL+wheel, ALT+drag
Zoom Out SHIFT+CTRL+I, CTRL+wheel, SHIFT+ALT+drag
Move view centre mouse panning SHIFT+drag
Move view centre fine adjustment
Move view centre coarse adjustment CTRL +
Edit view parameters for current 3D view
CTRL+W
Reset to default view
CTRL+T
Set as default view
SHIFT+CTRL+T
Show entire model
CTRL+ALT+T
3D View Control Keys (for wire frame graphics only)
Show / Hide local axes
CTRL+Y
w
User Interface, OrcaFlex Model Files
31
Show / Hide node axes
CTRL+ALT+Y
Undo most recent drag
CTRL+Z
Lock/Unlock selected object
CTRL+L
Place new object SPACE or ENTER
Edit selected object
CTRL+F2
Cut selected object to clipboard
CTRL+X
Copy selected object, or view if none selected,
to clipboard
CTRL+C
Paste object from clipboard (followed by mouse click
or ENTER to position the new object)
CTRL+V
Delete selected object
DELETE
Measuring tape tool SHIFT+CTRL+drag
Replay Control Keys
Start / Stop replay
CTRL+R
Replay faster
CTRL+F
Replay slower
SHIFT+CTRL+F
Step forwards one frame in the replay and pause
CTRL+A
Step backwards one frame in the replay and pause
CTRL+B
Edit replay parameters
CTRL+D
3.2 ORCAFLEX MODEL FILES
3.2.1 Data Files
OrcaFlex models are saved to either binary data files (.dat) or text data files (.yml).
Binary data files have strong version compatibility features. For example, when OrcaFlex attempts to open a binary
data file written by a later version of the program it is able to report informative compatibility warnings. The
program is not able to be as helpful and informative when working with text data files across program versions.
Whilst we strive to achieve as much compatibility as possible for text data files across program versions, we cannot
achieve the same level of compatibility as that for binary data files.
Text data files, as written by OrcaFlex, contain only data that is active in the model. For example, if implicit time
integration is selected in the model then all data relating to explicit time integration is excluded from the text data
file. On the other hand, binary data files contain all data whether or not it is active. The fact that the binary data file
contains inactive data can be very useful and so, in general, we would recommend that model building and
development is performed using the binary data file.
Text data files can be created without the use of OrcaFlex simply by entering text into a text editor. In general we
would not advocate this approach to model building. For very simple systems it may be a practical approach but
more complex models are usually much easier to build and inspect using the full capabilities and visualisation
strengths of OrcaFlex. On the other hand, text data files can be very effective when making minor changes to existing
models. Using text data files for such minor variations of existing models makes it much easier to monitor just what
has been changed, for example by using standard text differencing programs.
Text data files are highly readable and self-documenting which makes them ideal for QA and archival purposes.
Another application well suited to the use of text data files is automation.
Text data file program version compatibility
As mentioned above, text data files written by one version of the program, may not be compatible with other
versions of the program. This is the main reason why we recommend using the binary data file for your model data
and to use text data files principally for automation tasks.
In case you do need to open text data files prepared with a different version of the program, there is a conversion
utility available from the Tools menu. The conversion process makes use of the high levels of compatibility afforded
by the binary data file. The conversion process takes as input a text data file written with version A, say. The output
is a text data file compatible with the version that performs the conversion, version B say. The procedure is as
follows:
User Interface, OrcaFlex Model Files
w

32
- A backup of the original text data file is saved to a directory named _textdatafilebackups.
- Version A opens the text data file.
- Version A saves the resulting model to a temporary file, in binary data file format.
- Version B opens the temporary file.
- Version B saves the resulting model in text data file format, replacing the original version.
As mentioned above, version B is implicitly taken to be the version of the program that performs the conversion. To
specify version A, you provide the path to the OrcFxAPI DLL for version A. So, in the example below, version A is
specified to be OrcaFlex 9.6.

Figure: Text data file conversion tool
The input text data files are added to the Files list, either using the Add Files button, or by drag and drop.
When you are reading to perform the conversion, press the Convert button.
Warning: You should only convert text data files that specify base case models. Do not convert text data files
that use the IncludeFile or BaseFile identifiers. If you do convert such files, the
IncludeFile or BaseFile identifiers will be processed and lost.
3.2.2 Text Data Files
Text data files are used to define and represent OrcaFlex models in a human readable and easily editable format.
Text data files can be opened and saved by OrcaFlex. A very simple example is shown below:
General:
StageDuration:
- 10.0
- 50.0
Lines:
- Name: Line1
Length, TargetSegmentLength:
- [60.0, 5.0]
- [40.0, 2.0]
- [120.0, 10.0]
This example first defines a 10s build-up stage followed by stage 1 with 50s duration. Then a Line is created and
named "Line1". Finally the section data are specified: three sections are created with varying section lengths and
segment lengths. Default values are used for all data which are not specified.
w
User Interface, OrcaFlex Model Files
33
Note: The formatting (colour, bold, italic etc.) in the examples here has been added to aid readability,
and is not a feature or requirement of text data files themselves.
YAML file format
Text data files use a standard file format called YAML and should be saved with the .yml file extension. The YAML file
format was chosen because it is extremely easy to read and write.
YAML files are plain text files and so can be edited in any text editor. We have found Notepad++ to be a very effective
editor for YAML files. Notepad++ has a tabbed interface for easy editing of multiple files and has code folding and
syntax highlighting facilities that work well with YAML files.
Note: YAML files must be saved with the UTF-8 character encoding.
More details on the YAML format and Notepad++ can be obtained from the following web sites:
- http://en.wikipedia.org/wiki/YAML YAML page on Wikipedia.
- http://www.yaml.org/ Official YAML homepage.
- http://www.yaml.org/spec/ Complete technical specification of YAML.
- http://notepad-plus.sourceforge.net/ Notepad++.
Elements of a text data file
The most basic element of a text data file is the name/value pair:
UnitsSystem: SI
The name (UnitsSystem) is written first, followed by a colon (:), then a SPACE, and then the value (SI). The names
used in text data files are the same as used to identify data items in batch script files.
Names and values in YAML files can contain spaces and other punctuation:
General:
StaticsMethod: Whole System statics
Lines:
- Name: 12" Riser
- Name: Umbilical, upper
- Name: "!$%^&*(){}[]=+-_#~'@:;/?.>,<\|
This example also contains a list. New items in a list are introduced by a dash (-) followed by a SPACE. Items in a list
can span more than a single line:
Lines:
- Name: Riser
TopEnd: End B
ContentsDensity: 0.8
- Name: Umbilical
TopEnd: End A
ContentsDensity: 0.0
Outline indentation is used to delimit blocks in a YAML file. This concept, known as significant indentation, is
perhaps a little unusual as most data formats and programming languages use symbols to indicate the beginnings
and ends of blocks. To understand this better consider the following example:
General:
UnitsSystem: SI
StaticsMethod: Whole System statics
Environment:
WaterDepth: 80
The two lines immediately following General: which are indented by two spaces, form a single block. This block is
ended by Environment: because it is not indented. A second block follows Environment: containing a single
name/value pair which defines the water depth.
Indentation must be made with SPACE characters rather than TAB characters. It does not matter how many spaces
are used so long as the indentation is consistent within each block. However, it is good practice to use the same
indentation throughout a file. OrcaFlex itself uses indentation of two spaces when it writes YAML files.
Lists are commonly used to represent tables of data:
Lines:
- Name: Line1
LineType, Length, TargetSegmentLength:
- [Line Type1, 60, 5]
User Interface, OrcaFlex Model Files
w

34
- [Line Type1, 40, 2]
- [Line Type2, 120, 10]
The name LineType, Length, TargetSegmentLength indicates three columns of data, LineType, Length
and TargetSegmentLength which are interpreted in that order. The comma (,) character is used as a separator.
Note that you do not have to present the data in the same order as it appears in OrcaFlex. The following example is
equivalent to the previous example:
Lines:
- Name: Line1
Length, TargetSegmentLength, LineType:
- [60, 5, Line Type1]
- [40, 2, Line Type1]
- [120, 10, Line Type2]
You can, if you wish, omit columns, in which case default values will be used:
Lines:
- Name: Line1
LineType, Length:
- [Line Type1, 60]
- [Line Type1, 40]
- [Line Type2, 120]
Some data are closely related to each other and can naturally be grouped in a text data file:
3DBuoys:
- Name: 3D Buoy1
InitialPosition: [0, 0, 10]
DragArea: [100, 100, 30]
Pen: [4, Solid, Yellow]
Without grouping the file would be significantly longer:
3DBuoys:
- Name: 3D Buoy1
InitialX: 0
InitialY: 0
InitialZ: 10
DragAreaX: 100
DragAreaY: 100
DragAreaZ: 30
PenWidth: 4
PenStyle: Solid
PenColour: Yellow
The majority of grouped data are X,Y,Z components and we adopt the convention that these components appear in
that order when grouped.
YAML files may contain comments which are introduced by a hash (#) character followed by a SPACE. All
subsequent text on the same line is comment and is ignored when OrcaFlex reads a text data file. Comments are not
preserved by OrcaFlex and any user comments in a manually edited YAML file opened with OrcaFlex will be lost if
the file is saved. Comments are formatted in green in the following example:
General:
# Statics
StaticsMethod: Whole System statics
BuoysIncludedInStatics: Individually Specified
# Dynamics
StageDuration:
- 8
- 16
TargetLogSampleInterval: 0.1
# Integration
SimulationIntegrationMethod: Implicit
ImplicitConstantTimeStep: 0.1
A text data file can be rather large, particularly if it contains vessel hydrodynamic data. Code folding editors can help
somewhat, but even so such files can be awkward to work with. The IncludeFile identifier allows you to move
data into a separate file which is then included in the main file:
w
User Interface, OrcaFlex Model Files
35
# File: C:\Desktop\main.yml
VesselTypes:
- Name: FPSO
IncludeFile: FPSO.yml
Vessels:
- Name: Vessel1
VesselType: FPSO
The included file contains just the data for the vessel type:
# File: C:\Desktop\FPSO.yml
Length: 240
RAOResponseUnits: degrees
RAOWaveUnit: amplitude
WavesReferredToBy: period (s)
# ... remainder of large file omitted ...
As well as making the main file shorter and more readable, using this approach can offer significant QA benefits.
In this example we have used a relative path and so the program will look for FPSO.yml in the same directory as the
main text data file.
A text data file saved by OrcaFlex contains some extra information:
%YAML 1.1
# Program: OrcaFlex 9.3a
# File: C:\Desktop\untitled.yml
# Created: 12:35 on 21/07/2009
# User: jamie
# Machine: holly
---
General:
# Statics
StaticsMethod: Whole System statics
BuoysIncludedInStatics: Individually Specified
# Dynamics
StageDuration:
- 8
- 16
TargetLogSampleInterval: 0.1
# Integration
SimulationIntegrationMethod: Implicit
ImplicitConstantTimeStep: 0.1
Environment:
# Seabed
SeabedType: Flat
WaterDepth: 100
SeabedModel: Linear
SeabedNormalStiffness: 100
# Current
RefCurrentSpeed: 0.4
RefCurrentDirection: 180
...
The section between the --- and ... lines is the main body of the file and is known in YAML terminology as a
document. Everything else is in fact optional and can be omitted. A YAML file can contain multiple documents,
separated by --- lines but OrcaFlex has no special treatment for such multi-document files and all data are read
into a single OrcaFlex model.
The first line (%YAML 1.1) is known as the YAML directive and specifies which version of YAML the file adheres to.
The YAML directive can be omitted. The rest of the header contains a number of comments detailing the version of
OrcaFlex which created the file, the file name etc. Again, these comments can be omitted.
Ordering issues
The order in which the data appear in a text data file is very important. OrcaFlex processes the file line by line in the
order in which it appears in the file.
User Interface, OrcaFlex Model Files
w

36
Any references (e.g. Lines referring to Line Types) must be ordered so that the referenced object appears before
any references to it. So Line Types appear before Lines in the file. Similarly Vessels and 3D/6D Buoys appear before
Lines, Links, Winches and Shapes so that any connection references (e.g. a Line connected to a Vessel) can be
ordered correctly.
The other ordering issue relates to inactive data. Data which are not currently available are known as inactive data.
For example, data relating to the explicit solver are inactive when the implicit solver is selected. Inactive data cannot
be specified in a text data file.
This rule has implications for the order in which data are presented in the text data file. Consider the following
example:
General:
InnerTimeStep: 0.01
SimulationIntegrationMethod: Explicit
Since the default integration method is the implicit solver the attempt to set the explicit time step
(InnerTimeStep) will fail because it is inactive data. The solution is to set the integration method before setting
the time step:
General:
SimulationIntegrationMethod: Explicit
InnerTimeStep: 0.01
This principle applies in general you should set as soon as possible all data which influences whether other data
are active.
Automation
Text data files can easily be modified and/or generated by computer programs/scripts. This means that the text
data file format, combined with a text processing script language (e.g. Python, Perl, Ruby etc.), can form a very
effective automation tool. The OrcaFlex Spreadsheet provides a simple, yet effective, facility for automating the
production of text data files. See the Automation topic Text Data Files: Examples of setting data for examples of
setting various model data items.
Some specialist features have been included in the text data file to aid with automation tasks, as illustrated in the
following example:
BaseFile: base.dat
Riser:
ContentsDensity: 0.8
Length[1]: 180
Delete: Connector
When this text data file is loaded in OrcaFlex the program does the following:
1. Opens the OrcaFlex binary data file named base.dat, located in the same directory as the text data file.
2. Sets the contents density for the OrcaFlex Line called "Riser" to 0.8.
3. Sets the length of the first section of "Riser" to 180.
4. Deletes the object named "Connector".
The BaseFile identifier differs from IncludeFile in that it is able to load either binary or text data files
(IncludeFile only works with text data files). In addition BaseFile clears all existing data in the model before
loading the contents of the specified file. On the other hand, IncludeFile acts incrementally, starting from
whatever state the model is in when the IncludeFile identifier is encountered.
Standard text data files typically specify the entire model. The common automation task of making systematic
variations to a base case requires the ability to specify an existing object for which data modifications are to be
made. This is done using the object's name in the example above the Riser: line performs this step.
In a similar vein it is a common requirement to modify data for certain items in a list or table without specifying the
entire table. The indexing syntax (Length[1] in the example) performs this task. Note that as for batch script files the
indices are always 1-based.
Updating issues
Some data items are interpreted with respect to the values of other data in the model for example connection data.
The way such data are handled can make certain automation tasks difficult. Consider the following simple example
consisting of two YAML input files, base.yml and rotation.yml:
# base.yml
Vessels:
w
User Interface, OrcaFlex Model Files
37
- Name: Vessel1
Lines:
- Name: Line1
EndAConnection: Vessel1
EndAX: 45
EndBX: 90
# rotation.yml
BaseFile: base.yml
Line1:
EndAConnection: Fixed
Vessel1:
InitialHeading: 45
Line1:
EndAConnection: Vessel1
The idea here is to rotate the vessel, but leave the line in the exact same position, with respect to global axes, that it
was in before the rotation. Unfortunately the above files do not achieve this, because updates to the position and
connection are postponed until the entire file loading process has been completed. This can be very counter-
intuitive since the same actions, carried out interactively in the GUI behave as expected. We have illustrated the
point with connection data, but a few other data items in the program also suffer from this problem.
The solution is to force the program to update the model fully after each item has been read from the YAML file. This
can be achieved by setting a special attribute of the General object named UpdateModelWhilstReadingFile, as
illustrated below:
# rotation.yml
BaseFile: base.yml
General:
UpdateModelWhilstReadingFile: True
Line1:
EndAConnection: Fixed
Vessel1:
InitialHeading: 45
Line1:
EndAConnection: Vessel1
This setting is disabled by default because it does affect load performance. So for a very large YAML file it is not
desirable to enable this. However, for a small YAML variation file, the impact is negligible. So, it makes sense to use
this feature as a matter of course for text data file automation.
Expression evaluator
OrcaFlex can understand mathematical expressions in text data files. An expression is indicated by the presence of a
prefixed equals sign.
General:
StageDuration:
- =4+3
- =5*(4+3)
This file specifies a model with two stages of duration 7 and 35.
In addition you can define named variables. So the previous file could also be written as follows:
Variables:
BuildUp: =4+3
Stage1: =5*BuildUp
General:
StageDuration:
- =BuildUp
- =Stage1
The expression evaluator supports the following operators:
- The basic arithmetic operators: + - * /
- The exponentiation operator: ^
- The comparison operators: < <= > >= <> =
The comparison operators evaluate to 1 if the condition is satisfied, otherwise to 0. These operators will invariably
be used with the conditional function if(X, Y, Z).
User Interface, OrcaFlex Model Files
w

38
The pre-defined constant pi can be used to express the value . In addition, a number of pre-defined functions are
supported:
Function Description
abs(X) The magnitude or absolute value of X
sgn(X) The sign of X, evaluates to -1 if X<0, +1 if X>0, 0 if X=0
rand A random number between 0 and 1
if(X, Y, Z) The conditional operator, evaluates to Y if X0, Z if X=0
round(X) The nearest integer to X
floor(X) The largest integer not greater than X
ceil(X) The smallest integer not less than X
pow(X, Y) X
Y
, equivalent to the exponentiation operator X^Y
sqrt(X) The square root of X
exp(X) The exponential function, e
X

ln(X) The natural logarithm, loge
log10(X) Logarithm to base 10, log10
deg(X) Converts from radians to degrees, evaluates to X*180/
rad(X) Converts from degrees to radians, evaluates to X*/180
sin(X) The sine of X
cos(X) The cosine of X
tan(X) The tangent of X
asin(X) The inverse sine of X
acos(X) The inverse cosine of X
atan(X) The inverse tangent of X
atan2(Y, X) The two argument version of the inverse tangent.
sinh(X) The hyperbolic sine of X
cosh(X) The hyperbolic cosine of X
tanh(X) The hyperbolic tangent of X
asinh(X) The inverse hyperbolic sine of X
acosh(X) The inverse hyperbolic cosine of X
atanh(X) The inverse hyperbolic tangent of X
Manually edited text data files
Saving a text data file, then editing it is a good way to create a base file for automation, or to discover data names
and data structure for an object. However, please be aware that this is a one way process. OrcaFlex reads and
interprets a text data file line by line to build the model incrementally, discarding the lines once processed. When
saving a file OrcaFlex exports each object, including any default values. Consequently the save process is not the
inverse of the load process and any manual modifications to the input file will be overwritten when the file is saved
by OrcaFlex.
In the short automation example above, if the model created when this file is loaded is saved, the text data file would
contain data for all the objects imported by the BaseFile command, the full data for the line Riser and other
default data not specified in the input file.
3.2.3 Simulation Files
Results from OrcaFlex calculations (statics or dynamics) are saved to simulation files (.sim). These are binary files
containing the following sections:
- The model data. This section is essentially a binary data file.
- The latest calculated state (positions, loads etc.) of the model. This section allows static state results to be
retrieved and also enables partially-run dynamic simulations to be continued.
w
User Interface, Model Browser
39
- The log file which contains results for a dynamic simulation. This section is not present for static state
simulation files.
Simulation files can be generated in a number of different ways:
- Interactively from the main OrcaFlex window. After a calculation (statics or dynamics) has performed then a
simulation can be saved using the File | Save or File | Save As menu items.
- From the batch processing form.
- From Distributed OrcaFlex.
- From the OrcaFlex programming interface (OrcFxAPI).
Similarly, results can be post-processed from simulation files in a number of different ways:
- Interactively from the results form.
- From the OrcaFlex spreadsheet.
- From the OrcaFlex programming interface.
- Using post calculation actions.
3.2.4 Relative Paths
Relative paths are file names that do not specify the drive and directory, e.g. 'Temp.dat' or 'Project1\Temp.dat' (as
opposed to full pathnames such as 'c:\My Documents\Temp.dat' or 'c:\My Documents\Project1\Temp.dat').
When you specify a relative path, OrcaFlex takes it to be either relative to the directory containing the 'parent file' or
else relative to the Windows working directory when OrcaFlex was started. Which of these is used depends on the
context, as follows.
- For file names in OrcaFlex spreadsheets, the parent file is the spreadsheet file.
- For file names in batch script files, the parent file is the batch script file.
- For file names used by the Custom Replay Wizard, the parent file is the custom replay file.
- For time history file names, external function file names, post calculation action scripts, SHEAR7 file names and
imported 3D models for shaded graphics, the parent file is the latest file (.dat, .yml or .sim) that you have opened
or saved to.
- For load case file names in a fatigue analysis, the parent file is the latest .ftg file that you have opened or saved
to.
- For functional load case file names in an OrcaFlex model, the parent file is the OrcaFlex model file.
- For file names in a text data file, the parent file is the text data file.
In the last two cases, if there is no such file (because it is a new model or fatigue analysis that has not yet been
saved) then there is no parent file so OrcaFlex uses the working directory. In all other cases OrcaFlex uses the
working directory.
Relative paths are usually more convenient. For example if all the files referred to in a batch script file are placed in
(or below) the same directory as that script file, then using relative paths means that the script file will still work if
you rename the directory or copy it to somewhere else.
3.3 MODEL BROWSER
At any time you can use the Model Browser to see what objects you have in your model. To display the model
browser, use the model browser button or the Model | Model Browser menu item or use the keyboard shortcuts
(F6 to open the model browser).
User Interface, Model Browser
w

40

Figure: Model Browser
The Model Browser consists of a list of all the objects in the model, arranged into categories according to object type.
Several symbols are used in the list of objects:

Categories can be opened, to show their contents, or closed, to simplify viewing a complex model.

Objects. Use double click to view or edit the object's data.

Locked. These objects cannot be dragged by the mouse in the 3D View.
You can navigate the list and select the object required by clicking with the mouse, or using the arrow keys and
return. If the list is longer than the window then you can either enlarge the window or use the scroll bar.
Note: More than one object can be selected in the model browser. This allows you to perform the same
action (e.g. delete, copy, hide, show, locate) on many objects at once. To select more than one object
you use the standard Windows key presses CTRL+CLICK to add to a selection and SHIFT+CLICK to
extend a selection.
Model Browser Facilities
The model browser menus, and its popup menu, provide the following model management facilities.
Library
The Library menu facilities allow you to open a second data file. You can then Import objects from that second file
into the current model. You can also import using drag and drop with the mouse.
Add
Add a new object to the model.
w
User Interface, Model Browser
41
Edit
Open the object's data form. This action can also be invoked by double-clicking an item, or by selecting it and
pressing ENTER.
Move Selected Objects
Opens the Move Selected Objects Wizard.
Rename
Rename the selected object.
Locate
Finds and highlights the object in any open 3D view windows. This is useful in complex models where many objects
are on the 3D view. The highlighting method is determined by the Locate Object Method preference.
Compare
Compares data for the two selected objects. The objects can be simple OrcaFlex objects (e.g. Vessels, Lines etc.) or
browser groups. The Compare Data configuration is used to perform the comparison.
Lock/Unlock
Lock or unlock the selected object.
Hide/Hide All/Show/Show All
Control whether the objects are drawn on 3D views.
Expand All/Collapse All
Expands or collapses all top level containers in the current browser view.
Properties
Shows the object properties form for the selected object.
Cut/Copy
Cut or Copy the selected object to the clipboard.
Paste
Paste an object from the clipboard into the model.
Delete
Delete the selected object from the model.
Floating, Dock Left, Dock Right
Determines whether the Model Browser is a separate, floating, top-level window or is docked inside the main
OrcaFlex window.
Reorder
You can use drag and drop with the mouse to reorder objects in the model. This is useful if you are working on the
static position of one particular line you can drag it up to the top of the list of lines, so that it will be tackled first
when OrcaFlex does the static analysis.
Switch to Main Window
The browser's Window menu enables you to switch focus to the main form without closing the browser window. A
corresponding command on the main form's Window menu switches focus back.
3.3.1 Model Browser Views
There are 2 ways of viewing objects in the model browser: by Types or by Groups. You can switch between views
by clicking on the model browser View | View by Groups menu item, or though the popup menu.
Types View
This is the traditional model browser view. The browser has a number of folders containing objects of the same
type. For example all the lines are contained in a folder called "Lines". Objects can be reordered within a folder but
they cannot be moved to a different folder.
Groups View
This view allows you to customise how the objects are arranged in the model browser. You can add any number of
browser groups to the browser. These groups are simply folders in the browser tree. Groups can contain any
number of objects or other groups. In this way a hierarchical structure for the model can be created.
User Interface, Model Browser
w

42
To add groups you select the Edit | Add Group menu item or use the popup menu. Groups can be renamed in the
same way as other objects. Objects can be added to a group by dragging the objects onto the group. Any number of
objects can be added to a group in one operation by first selecting the objects and then dragging them. This multiple
selection is performed using the standard Windows key presses CTRL+CLICK to add to a selection and SHIFT+CLICK to
extend a selection. Groups can be dragged into other groups and so a hierarchical structure for the model can be
created.
As well as allowing you the freedom to structure your model however you like, the Groups View allows you to
perform the same action (e.g. delete, copy, hide, show, locate) on all objects in a group. The grouping structure is
also used when cycling through data forms clicking the Next button takes you to the next object in the groups view.
3.3.2 Move Selected Objects Wizard
This wizard allows you to move and rotate a number of objects en masse. The wizard is most useful when you select
multiple objects, a group or a number of groups or even the entire model.
To use the wizard you must first open the Model Browser and select the objects which you wish to move. Then click
Move Selected Objects on the browser's edit menu (also available from the popup menu).
Selecting objects
Before using the wizard you must select (in the model browser) the objects which you wish to move. There are a
variety of ways in which you can do this. We list a few of the more useful methods below:
- Select a single object.
- Select multiple objects. You can do this in the model browser using CTRL+CLICK to add to a selection and
SHIFT+CLICK to extend a selection.
- Select an object type folder. This works when the model browser is in Types View mode. For example select the
Lines folder if you wish to move all the lines in a model.
- Select a group. This works when the model browser is in Groups View mode. This allows you to move all objects
in that group.
- Select the entire model. This is easiest to do when the model browser is in Groups View mode. The first item in
the model browser is titled "Model". Select this item if you wish to move all objects in the model.
There is no limitation to the type of selections you can make. If you wish to move 2 groups then select both of them
(using CTRL+CLICK) and open the wizard.
Note: If your selection includes an item which contains other objects (e.g. a group or an object type
folder) then all objects contained by that item will be moved by the wizard.
Points
The wizard shows a list of the points associated with each selected object. For objects like buoys, vessels and shapes
a single point is shown. For objects like lines, links and winches with multiple connection points the list shows each
connection point for that object. The list also shows the global coordinates of each point.
For each point you have the option of including or excluding it in the move operation. This might be useful if you
wanted to move only the End A line connection points and leave the End B connection points unchanged, for
example.
Move specified by
There are 4 methods of specifying how the objects are moved.
Displacement
For this method you specify a position change (i.e. a displacement) which will be applied to all the points included in
the move operation.
Polar Displacement
This method is similar to the Displacement method. Here you specify a direction and distance which determine a
position change. This is applied to all the points included in the move operation.
New Position
Here you give a reference point and its new position. The same displacement is applied to all other points included
in the move.
w
User Interface, Libraries
43
Rotation
This method rotates the included points in the horizontal plane. You specify an angle of rotation and a central point
about which the rotation is performed. Note that the environment data (e.g. wave and current directions, seabed
direction etc.) is not included in the rotation.
Moving the objects
Once you have decided which objects to include in the move and how the move is specified you are ready to actually
move the objects. This is done by clicking the Move button.
3.4 LIBRARIES
An OrcaFlex Library is a collection of OrcaFlex objects (line types, lines, buoys etc.) stored in an ordinary OrcaFlex
data file. For example, a library may contain all the standard Line Types that you use regularly. Once such a library
file has been built you can quickly build new models using the library this gives faster model building and can
make QA procedures safer.
To open a library file, use the Library menu on the Model Browser. Note that any OrcaFlex data file can be opened as
a library file, and this makes it easy to use the model browser to copy objects from one model to another.
3.4.1 Using Libraries
Libraries allow you to easily import objects from one OrcaFlex model to another. To do this run OrcaFlex and open
the model browser by clicking the model browser button or the Model | Model Browser menu item, or pressing
F2. The model browser should look like:

Now you open your file as a library. To do this click the open button on the model browser and select your data
file. Now the model browser will look like:
User Interface, Libraries
w

44

We are now going to copy some objects from the right-hand pane to the left-hand pane. To do so select the required
line types and click the import button . As an alternative to the import button the objects can be dragged from
the right-hand pane to the left-hand pane or the Library | Import menu item can be used.
Note that you can select a number of objects and import them all in one go. You do this by using the standard
Windows key presses CTRL+CLICK to add to a selection and SHIFT+CLICK to extend a selection. If you do this the
library will look like:
w
User Interface, Libraries
45

Once you have imported the required objects you can close the library by selecting the Library | Close menu item
on the model browser. Now the model browser looks like:

Some other points related to library files:
User Interface, Menus
w

46
- Because library files are simply ordinary OrcaFlex data files, you can temporarily treat any OrcaFlex data file as
a library. This allows you to import objects from one OrcaFlex data file to another.
- You can re-size the model browser by dragging its border. You can also control the relative sizes of its two
panes, by dragging the right border of the left pane.
- You can view, but not edit, the data for a library object, by double clicking it in the Model Browser or by
selecting it and using the popup menu.
- When an object is imported from a library, the current model may already have an object of that name. In this
case OrcaFlex automatically gives the object a new name based on the old name.
3.4.2 Building a Library
A library file is simply an OrcaFlex data file you can use any OrcaFlex data file as a library. In practice it is most
convenient to put your commonly used OrcaFlex objects into files designated as OrcaFlex library files.
You build a library file in the same way as you build a standard OrcaFlex data file. Starting with a blank model you
can add objects in the usual way and set their data. Typically, however, you would want to reuse objects that had
previously been created and used for a project.
To do this you would open the model browser and load your project data file as a library using the open button
on the model browser. Then you import the required objects as described in Using Libraries. This procedure can be
repeated with a number of different data files until you have all the objects you wish to keep in the library. Then you
should close the model browser and save the data file by clicking the button on the main OrcaFlex form. This
data file can now be used as a library.
Notes: Because they are OrcaFlex models, libraries contain General and Environment data, but these
would not usually be used, except perhaps for the General data Comment field, which can act as a
title for the library.
Because the library file is just an ordinary OrcaFlex data file, it can also be opened using File |
Open. This allows you to edit the data of the objects in the library.
You can set up as many library files as you wish. For example you might have separate libraries for Line Types,
Attachment Types, Vessel Types, Variable Data Sources etc., or you may choose to use just one library for
everything. The model browser's Library menu contains a list of the most recently used libraries.
3.5 MENUS
OrcaFlex has the following menus:
- The File menu has the file opening and saving commands, plus commands for printing or exporting data or
results and managing libraries.
- The Edit menu has data and object editing facilities.
- The Model menu gives access to the model building facilities.
- The Calculation menu provides commands for starting and stopping analyses, including batch processing.
- The View menu provides view control.
- The Replay menu provides replay control.
- The Graph menu gives you access to facilities related to the currently active graph window.
- The Results menu leads to the results facilities.
- The Tools menu allows you adjust preferences and to lock or unlock objects.
- The Workspace menu allows you to save and restore collections of view, graph and spreadsheet windows.
- The Window menu gives access to the various windows that are available, and allows you to adjust the layout of
your windows.
- The Help menu leads to the various help documentation that is available.
3.5.1 File Menu
New
Deletes all objects from the model and resets data to default values.
w
User Interface, Menus
47
Open
Open an OrcaFlex file either a data file (.dat or .yml) or a simulation file (.sim).
You can also open an OrcaFlex file by dragging and dropping it onto the OrcaFlex window. For example if you have
Windows Explorer running in one window and OrcaFlex running in another then you can ask OrcaFlex to open a file
by simply dragging it from Explorer and dropping it over the OrcaFlex window.
If you open a data file then OrcaFlex reads in the data, whereas if you select a simulation file then OrcaFlex reads in
both the data and the simulation results. To read just the data from a simulation file, you can use the Open Data
menu item.
Save
Save an OrcaFlex file either a data file (.dat or .yml) or a simulation file (.sim) to the currently selected file name.
If a file of that name already exists then it is overwritten.
If calculation results (either statics or dynamics) are available then a simulation file will be saved. Otherwise a data
file will be saved.
Note: You cannot save a dynamic simulation while it is running you must pause the simulation first.
Save As
This is the same as Save but allows you to specify the file name to save to. If a file of that name already exists then
you are asked whether to overwrite the file.
When saving data you can choose either the binary file format (.dat) or the text file format (.yml) from the Save as
type drop down list.
Open Data
Read the data from an existing data file or simulation file, replacing the existing model. If a simulation file is
specified then OrcaFlex reads just the data from it, ignoring the simulation results in the file.
Save Data
Save the data to the currently selected file name, using extension .dat or .yml. If a file of that name already exists
then it is overwritten.
Save Data As
This is the same as Save Data but allows you to specify the file name to save to. If a file of that name already exists
then you are asked whether to overwrite the file.
You can choose either the binary file format (.dat) or the text file format (.yml) from the Save as type drop down list.
Compare Data
Compares the data of two OrcaFlex models. See Comparing Data for details.
Properties
Displays the system file properties dialog for the current file. This is mainly intended to make it easier to find the full
path for files with long names.
Submit to Distributed OrcaFlex
Submit the current file for processing by Distributed OrcaFlex. For this option to be available, either the Distributed
OrcaFlex Viewer or Client must also be installed on the machine.
Selected Printer
Allows you to change the selected printer.
Printer Setup
Opens the Windows Printer Setup dialog.
Print
Display the Print form dialog, allowing you to print 3D Views, Graphs, Spreadsheets or Text Windows.
Most Recent Files
List of the most recently used files. Selecting an item on the list causes the file to be opened.
Exit
Close OrcaFlex.
User Interface, Menus
w

48
3.5.2 Edit Menu
Undo Drag
Undo the most recent drag. This is useful if you accidentally drag an object.
Cut
Copies the current selection to the clipboard and then deletes it.
Copy
If there is a currently selected object (see Selecting Objects), then that object is copied to the clipboard. You can then
use Edit | Paste to create duplicate copies of the object. The data for the object is copied to the clipboard in text form,
from where it can be pasted into a word processor document.
Note: After pasting into a word processor, you will probably need to put the text into a fixed space font
since most of the data are in tables.
If there is no currently selected object then the currently selected 3D view, text window, graph or spreadsheet is
copied to the clipboard.
Paste
Insert object from clipboard. This can be used to duplicate an object several times within the model. After selecting
Paste, the object is inserted at the next mouse CLICK position in a 3D view.
If the current window is a Spreadsheet then the contents of the clipboard are pasted into the spreadsheet.
Delete
If the active window is a 3D View then the currently selected object is deleted. Before the object is deleted, any
connected objects are disconnected, and any graphs associated with the object are closed.
If the active window is a Spreadsheet then the selected cells are cleared.
Select All
Selects all the cells in a Spreadsheet.
3.5.3 Model Menu
Model Browser
Toggles the visibility of the Model Browser.
New Vessel
New Line
New 6D Buoy
New 3D Buoy
New Winch
New Link
New Shape
Create new objects. The mouse cursor changes to the New Object symbol . The object is placed at the position of
the next mouse CLICK within a 3D View. A three dimensional position is generated by finding the point where the
mouse CLICK position falls on a plane normal to the view direction and passing through the View Centre. Vessels are
always placed initially at the sea surface.
Show Connections Report
Displays a spreadsheet containing information about all object connections in the model.
w
User Interface, Menus
49
Delete Unused Types
Deletes any types (e.g. Line Types, Clump Types etc.) that are not in use. This is sometimes useful to simplify a data
file, or to find out which types are in use.
Delete Unused Variable Data Sources
Deletes any variable data sources that are not in use. This is sometimes useful to simplify a data file, or to find out
which variable data sources are in use.
Use Calculated Positions
This menu item is available after a successful static iteration or when the simulation is finished or paused.
If the model is in the statics complete state then clicking the menu item sets the initial positions of buoys, vessels
and free line ends to be the calculated static positions. This can be desirable when setting up a model, since the
positions found are likely to be good estimates for the next statics calculation.
If the model is in the simulation paused or stopped state, then clicking the menu item sets the initial positions of
buoys and free line ends to be the latest positions in the simulation. This is useful when OrcaFlex statics fails to find
an equilibrium configuration. In such cases you can use dynamics with no wave motion to find the static equilibrium
position and then click Use Calculated Positions.
If a replay is active then clicking the menu item sets the initial positions of buoys and free line ends to be the
positions at the latest replay time.
Use Specified Starting Shape for Lines
This menu item is an extension of Use Calculated Positions. As well as setting the initial positions of buoys, vessels
and free line ends it modifies data for all Lines in the following way:
1. The Step 1 Statics Method is set to User Specified.
2. The User Specified Starting Shape data are set to the calculated node positions. As described above these
positions are either the results of a static calculation or the results of a dynamic simulation.
Use Static Line End Orientations
This menu item is only available after a successful static analysis. Clicking the menu item sets the line end
orientation data, for all line ends in the model that have zero connection stiffness, to the orientations found in the
static analysis. This is done as follows.
- For any line end with zero bend connection stiffness, the end azimuth and end declination will be set to the
azimuth and declination of the end node, as found by the static analysis.
- If the line includes torsion and the line end connection twist stiffness is zero, then the end gamma will be set to
the gamma of the end node, as found by the static analysis.
This action can be useful if you want to set the line end orientation to that which gives zero end moments when the
line is in its static position. To do this first set the end connection stiffness values to zero, then run the static analysis
and then click the Use Static Line End Orientations menu item. You can then set the end connection stiffness to
their actual values.
3.5.4 Calculation Menu
Single Statics
Start the single statics calculation (see Static Analysis). Progress and any error messages that occur are reported in
the Statics Progress Window, which is shown as a minimised window icon. The statics calculation can be
interrupted by CLICKING the Reset button.
Multiple Statics
Starts the multiple offset statics calculation (see Multiple Statics). Progress and any error messages that occur are
reported in the Statics Progress Window, which is shown as a minimised window icon. The statics calculation can be
interrupted by CLICKING the Reset button.
Run Dynamic Simulation
Start a dynamic simulation (see Dynamic Analysis). If necessary, OrcaFlex will automatically do a statics calculation
first. During the simulation, the Status Bar shows the current simulation time and an estimate of the time that the
simulation will take, and all 3D View windows and Graphs are updated at regular intervals.
User Interface, Menus
w

50
Pause Dynamic Simulation
Pause the simulation. To save the results of a part-run simulation you need to pause it first. The simulation can be
restarted by CLICKING the Run button.
Extend Dynamic Simulation
This facility is only available when the current simulation is either paused or completed. It adds another stage to the
current simulation, without having to reset. You are asked to specify the length of the new stage. You can then
continue the simulation, without having to restart it from scratch. This is particularly useful if you have a simulation
that has not been run for long enough.
Note that data for the new stage, e.g. for winch control and vessel prescribed motion, are initially set to be the same
as for the previous stage. However, the data for the new stage can be edited because the new stage has not yet
started.
Reset
Reset the model, discarding any existing results. The model can then be edited or a new model loaded.
View Warnings
Displays a window allowing you to review all warnings displayed by OrcaFlex during a calculation (statics or
dynamics).
This feature is particularly useful for simulations run in batch mode or by Distributed OrcaFlex. In these
circumstances warnings are not displayed since to do so would require user intervention.
Line Setup Wizard
Opens the Line Setup Wizard. The wizard is only available when the current simulation is in Reset state.
Wave Scatter Conversion
Opens the Wave Scatter Conversion form. This facility converts a scatter table of sea states to a scatter table of
regular (i.e. individual) waves.
Batch Processing
Run a batch of analyses automatically while the program is unattended. See Batch Processing for details.
3.5.5 View Menu
Change Graphics Mode
Toggles the graphics mode between wire frame and shaded.
Edit View Parameters
Adjust the View Parameters for the active 3D View.
Rotate Up / Down / Left / Right
Change the view direction, for the active 3D View, by the view rotation increment.
Plan
Set the active 3D View to a plan view (Elevation = 90).
Elevation
Set the active 3D view to an elevation view (Elevation = 0).
Rotate 90 / Rotate -90
Increase (or decrease) the view azimuth by 90, for the active 3D view.
Zoom In / Zoom Out
Click the zoom button to zoom in (decrease view size) or SHIFT+CLICK it to zoom out (increase view size).
Reset to Default View
Set the view parameters for the active 3D View to be the default view of the model.
Set as Default View
Set the default view of the model to be the view parameters of the active 3D View.
w
User Interface, Menus
51
Show Entire Model
Set the view parameters for the active 3D View so that the entire model will be displayed.
Axes
This submenu gives you control of the 3D View Axes Preferences.
3.5.6 Replay Menu
Edit Replay Parameters
Adjust the Replay Parameters, such as the period of simulation to replay, the time interval between frames, the
replay speed etc. For more information see Replays.
Start / Stop Replay
Starts or stops the replay.
Step Replay Forwards, Step Replay Backwards
Step the replay forwards or backwards one frame at a time. Click the button to step forwards; CLICK with SHIFT held
down to step backwards.
Replay Faster / Slower
Increase or decrease the replay frame rate (replay speed).
Export Video
Exports the replay as either an AVI file or a PDF file. See Replays for more details.
3.5.7 Graph Menu
Use Default Ranges
Sets the graph axes to their original ranges
Values
Displays a spreadsheet containing the numerical values on which the graph is based.
Spectral Density (only available for time history graphs)
Opens a new spectral density graph.
Empirical Cumulative Distribution (only available for time history graphs)
Opens a new empirical cumulative distribution graph.
Rainflow half-cycle Empirical Cumulative Distribution (only available for time history graphs)
Opens a new rainflow half-cycle empirical cumulative distribution graph.
Extreme Value Statistics (only available for time history graphs)
Opens a new Extreme Value Statistics form.
Properties
Opens the graph properties form (which can also be opened by double clicking the graph).
3.5.8 Results Menu
Select Results
Display the results form which allows you to choose from the currently available selection of graphs and results
tables. Graphs such as Time Histories, XY Graphs and Range Graphs may be created before a simulation has been
run, thus allowing you to watch the variables during a simulation.
Fatigue Analysis
Opens the Fatigue Analysis form.
Modal Analysis
Opens the Modal Analysis form.
Report Vessel Response
Opens the Vessel Response form.
User Interface, Menus
w

52
3.5.9 Tools Menu
Lock / Unlock Selected Object
Locking an object prevents it from being accidentally dragged or connected using the mouse on 3D views, for
example if you nudge the mouse slightly while trying to DOUBLE CLICK. Lock / Unlock Selected Object toggles the
lock on the currently selected object. If the lock is on, it will be switched off. If the lock is off, then it will be switched
on. Locked Objects may still have their positions edited in the data Edit Forms. The status of the object locks is
shown by symbols in the Model Browser.
Lock / Unlock All Objects
Locks or unlocks all objects in the model.
Set Thread Count
Allows you to change the number of execution threads used by OrcaFlex for parallel processing.
Calculate Speed Index
The Speed Index is an approximate measure of how quickly a machine can perform OrcaFlex simulations. Larger
values correspond to faster machines. The Speed Index is also reported by Distributed OrcaFlex.
The Speed Index is calculated by performing a series of floating point calculations that are representative of the
calculations performed by OrcaFlex itself. The value reported is meant only to give an estimate of the relative
performance of similar machines. It is always preferable, if possible, to compare actual OrcaFlex simulation run
times for models representative of your typical use.
Convert Text Data Files
This tool allows you to convert multiple text data files to be compatible with the current version of the program.
Preferences
Allows you to control various program settings so that you can customise the program to the way you prefer to
work. See Preferences.
3.5.10 Workspace Menu
Open Workspace
Opens a previously saved workspace file and restores the window layout described in that workspace file.
Save Workspace
Save the current window layout to a workspace file.
Preserve axes ranges
If this option is checked then graph axes ranges will be written to the workspace file. When the workspace is
subsequently opened, those axes ranges will be restored.
If this option is not checked then graph axes ranges are not written to the workspace file. When the workspace is
subsequently opened, default axes ranges are chosen based on the extent of the curves shown in the graph.
Make default for this file, Make default for this folder
Makes the current window layout the default workspace for the current simulation file or for the current folder,
respectively. The default workspace for a simulation file will be restored whenever you open that file. The default
workspace for a folder will be restored whenever you open any simulation file in that folder.
If a default workspace exists for a both a file and the folder containing the file, then the default for the file is used.
Use file default, Use folder default
Applies the default workspace to the current model. This is useful if you have changed the window layout and wish
to restore the default workspace layout without re-loading the model.
Remove file default, Remove folder default
Deletes the default workspace.
Most Recent Files
List of the most recently saved workspaces in the directory which contains the current model. Selecting an item on
the list causes the workspace to be loaded.
w
User Interface, 3D Views
53
3.5.11 Window Menu
Add 3D View
Add another 3D View Window. Having multiple views on screen allows you to watch different parts of the system
simultaneously, or to see different views at the same time (for example a plan and an elevation).
Tile Vertical, Tile Horizontal
Arranges all the windows (3D View, graph or spreadsheet) so that they fill the main window area and fit side by side
without overlapping. The program automatically tiles windows every time a new window is created or deleted.
Switch to Model Browser
This command, and the corresponding command on the model browser's Window menu, enable you to switch focus
between the main form and the model browser window.
Statics Progress
Displays the Statics Progress Window.
External Function Output
Displays a window containing the diagnostics text produced by external functions.
Window List
This is a list of all currently open windows. If a window is hidden under others it can be selected easily from this list.
3.5.12 Help Menu
OrcaFlex Help
Opens the OrcaFlex on-line help system.
What's New
Gives a list of recent improvements and alterations to OrcaFlex.
Tutorial
Opens the help file at the start of the OrcaFlex tutorial.
Examples
Opens the help file at the introduction to the OrcaFlex Examples topics.
Keyboard Shortcuts
Lists the keyboard shortcuts used by OrcaFlex.
Orcina Home Page
Opens the Orcina homepage (www.orcina.com).
About
Displays a window giving the program version, details about Orcina Ltd and various other miscellaneous
information.
3.6 3D VIEWS
3D Views are windows showing a spatial representation of the model. Two distinct types of 3D View are available:
wire frame shows an isometric projection of the model; shaded draws the model as solid objects with lighting,
shading, perspective and hidden line removal.
User Interface, 3D Views
w

54

Figure: A wire frame 3D View (left) alongside a shaded 3D View (right)
3D View windows may be rotated, zoomed and panned to allow any aspect of the system to be viewed. The view is
controlled by a number of View parameters see View Parameters and the caption of a 3D View window shows
the current View Azimuth and View Elevation values, while a scale bar in the view indicates the current View Size.
Multiple view windows may be placed side-by-side so that you can view different parts of the system
simultaneously or view from different angles (for example a plan and elevation view). This allows you to build non-
in-plane models on screen with the mouse. Further 3D View windows are added by using the Window | Add 3D
View menu item or by CLICKING on the Add 3D View button on the tool bar. Windows may be arranged by dragging
their borders or using the Window | Tile Vertical/Horizontal menu items. 3D Views may be closed by CLICKING the
cross at the top right-hand corner.
The objects in a 3D view are "live" in the sense that you can use the mouse pointer to select objects, drag them
around in the view and make connections between objects. See Selecting Objects, Creating and Destroying Objects,
Dragging Objects, Object Connections, for details. If you DOUBLE CLICK on an object then the data form for that object
appears, so that you can examine or edit its data.
Note: When using the shaded view objects cannot be selected, dragged etc. For this reason, the wire
frame view is most useful when building your model.
After running a simulation, or loading a simulation file, a dynamic replay (animation) can be shown in one or more
3D View windows. A replay shows a sequence of snapshots of the model taken at specified intervals throughout part
or all of the simulation. Replays may be played in just one 3D View window, or in all of them simultaneously see
Preferences.
Finally, 3D Views may be printed by selecting the view desired and using the print menu. Also, the picture may be
exported to a file or the windows clipboard.
Measuring Tape Tool (only available in wire frame mode)
You can measure distance on a 3D view using the measuring tape tool. Hold down the SHIFT and CTRL keys and then
drag a line between any two points the distance between them is displayed on the status bar. Note that this is the
distance in the plane of the 3D view. The angle to the horizontal is also displayed, where horizontal is taken to mean
horizontal on the screen, irrespective of the view orientation.
3.6.1 View Parameters
The view shown in a 3D view window is determined by the following parameters, which can be adjusted using the
view control buttons or the Edit View Parameters item on the View menu.
w
User Interface, 3D Views
55
Relative To
The view parameters can be specified relative to Global or relative to any Vessel, 6D Buoy or Shape object in the
model. Relative to Global gives the view from a fixed camera position. Relative to an object gives the view from a
camera that moves with that object. This can be useful when modelling systems such as towed cases, where you
want a view that tracks along with the overall movement of the model.
Size
The diameter of the view area. It equals the distance represented by the smaller of the 2 sides of the view window.
This parameter must be greater than zero.
Example: If the window on screen is wider than it is high, and View Size = 100.0 then an object 100 units
high would just fill the height of the window.
Centre
Defines the coordinates of the point that is shown at the centre of the window. This may be in global or relative
coordinates.
Azimuth, Elevation and Gamma
These determine the direction (from the view centre) from which the model is being viewed and the rotation about
this direction. The azimuth angle is measured from the x direction towards the y direction of the object we are
relative to. The elevation angle is then measured upwards (downwards for negative elevation angles) from there.
The view shown is that seen when looking from this direction, i.e. by a viewer who is in that direction from the view
centre. The Gamma angle rotates about this view direction.
Example: View Elevation +90 means looking in plan view from above, and View Elevation = 0, View
Azimuth = 270 (or -90) means a standard elevation view, looking along the Y axis.
Window Size
You can adjust the size of a 3D view window either by dragging the window border, or by setting its window size on
the view parameters form. The latter is sometimes useful when exporting a view or exporting a replay video, since it
makes it easier to export multiple files and produce videos with identical dimensions.
Graphics Mode
Can be either of the following options:
- Wire frame: the model is represented using a wire frame, isometric projection.
- Shaded: the model is represented as solid objects with lighting, shading, perspective and hidden line removal.
Disturbance Vessel
Specifies that the sea surface will be drawn as if disturbed by the presence of this vessel. If None is selected then the
sea surface will be drawn as if there were no disturbance. Only those vessels that specify sea state disturbance RAOs
will be available for selection; if no vessels specify sea state disturbance then the list of disturbance vessels will be
hidden.
Disturbance Position
Specifies the position on the sea surface at which the disturbance due to a vessel will be computed. This is only used
if the sea state RAOs are being interpolated on direction and period only; the control will be hidden otherwise. The
reason that the position is needed is that interpolation on direction and period only requires an initial position from
which to construct its direction and period interpolation grid, the same grid then being used to compute the
disturbance at all other points on the sea surface.
Default View
Each model has its own default view parameters that are saved with the model data. Whenever a new 3D view is
created, it starts with this default view. You can set an existing 3D view to the default view by using the Reset to
Default View command (on the view menu or popup menu).
To set the default view parameters, first set up a 3D View to the default view that you want and then use the Set as
Default View command (on the view menu or popup menu). As an alternative you can use the calculated based on
the model extent option which results in a default view that is sized so that the entire model will be displayed.
3.6.2 View Control
You can adjust the view in a 3D view window using the view control buttons:
Button Menu Item Shortcut Action

View | Rotate Up CTRL+ALT+ Increase view elevation
User Interface, 3D Views
w

56
Button Menu Item Shortcut Action
+ SHIFT
View | Rotate Down CTRL+ALT+ Decrease view elevation

View | Rotate Right CTRL+ALT+ Increase view azimuth
+ SHIFT
View | Rotate Left CTRL+ALT+ Decrease view azimuth

View | Zoom In
CTRL+I
Zoom in
+ SHIFT
View | Zoom Out
SHIFT+CTRL+I
Zoom out

View | Change Graphics Mode
CTRL+G
Changes graphics mode

View | Edit View Parameters
CTRL+W
Edit View Parameters
You can also use the mouse wheel button to change view. Turn the wheel to scroll the 3D view up and down. Turn it
with the CTRL key held down to zoom in or out on the location at which the mouse is currently pointing.
For more precise control you can set the view parameters explicitly using the View Parameters form.
Finally, 3D views can also be controlled using the View menu and various shortcut keys see Mouse and Keyboard
Actions and Navigating in 3D Views.
3.6.3 Navigating in 3D Views
Moving
Moving in 3D Views can be achieved by a variety of means:
- Drag the 3D View with the SHIFT key held down. We call this direct manipulation of the view centre panning.
- Use the scroll bars on the 3D View.
- Use the cursor keys . Use these cursor keys with the CTRL key held down to effect larger shifts.
- Move up and down with the PGUP and PGDN keys.
- Edit the View Centre in the View Parameters form.
Rotating
Rotating in 3D Views can be achieved by a variety of means:
- Drag the 3D View with the CTRL key held down. For shaded views only you can rotate about the viewer position
(as opposed to rotating about the view centre) by holding down the ALT key (as well as the CTRL key) whilst
dragging.
- Use the rotate buttons . Pressing these with the SHIFT key held reverses the rotation.
- Use the Rotate Up, Rotate Down, Rotate Left or Rotate Right menu items or shortcut keys CTRL+ALT+ .
- Use the Plan, Elevation, Rotate 90 or Rotate -90 menu items or shortcut keys CTRL+P, CTRL+E, CTRL+Q and
SHIFT+CTRL+Q.
- Edit the View Azimuth and View Elevation in the view parameters form.
Zooming
You can zoom into and out of 3D Views by using the zoom button , the zoom menu items and the shortcut keys
CTRL+I and SHIFT+CTRL+I. In addition, you can zoom in or out using the mouse wheel button with the CTRL key held
down.
The following methods of zooming are only available in wire frame 3D Views.
Also you can zoom in on a particular region of interest in a 3D view by defining a rectangle around it on screen using
the mouse. To do this, hold the ALT key down, place the mouse in one corner of the desired rectangle and press
down the left mouse button while dragging the mouse to the opposite corner. When you release, the region selected
will be expanded to fill the window.
To zoom out, repeat the operation holding down the SHIFT and ALT keys the region shown in the window will
shrink to fit into the rectangle drawn.
You can also zoom in and out by a fixed amount, keeping the same view centre, by using ALT+CLICK and
ALT+SHIFT+CLICK.
w
User Interface, 3D Views
57
3.6.4 Shaded Graphics
The shaded graphics mode renders the model as solid objects with lighting, shading, perspective and hidden line
removal.

Figure: Shaded graphics
Using the Shaded Graphics mode
To a large extent there is no extra work required to build a model for the shaded graphics mode. You are able to
build a model or take an existing model designed using the wire frame mode and simply change to the shaded
graphics mode to see a high quality shaded rendering of your model. There are a number of things you can do to
improve your experience with the shaded graphics mode as described below.
Translucency
The Sea Surface and Seabed are drawn as textured surfaces. If there are objects on the other side of these surfaces
then they can be obscured. These surfaces are drawn with a user-specified amount of translucency which allows you
to compensate for this.
Importing 3D models
Objects like Lines are straightforward to draw. OrcaFlex uses the Line Type contact diameter to determine the
thickness of each segment of the Line.
Objects like Vessels present more difficulties. OrcaFlex by default will draw a solid, filled-in shape based on the wire
frame data you have specified. While this can be sufficient you may prefer something less simplistic. Alternatively
you may import a more detailed 3D model, e.g. the turret moored FPSO above. You can import 3D models for 6D
Buoys, Wings and Shapes as well as for Vessels.
We have provided a very basic selection of generic models which you are free to use. There are models of an FPSO, a
turret moored FPSO, an installation vessel, a semisub and a subsea template. For information on generating and
importing 3D models specific to your project please refer to www.orcina.com/Support/ShadedGraphics.
Viewer Position
Because the shaded graphics mode uses perspective it requires the concept of the viewer position as well as the
viewer centre. The isometric wire frame view has no such requirement. OrcaFlex defines the viewer position to be in
a line in the view direction (defined by the view azimuth and view elevation) at a distance of view size * 1.5 from the
view centre. It is possible to rotate the view around both the view centre and around the viewer position.
User Interface, 3D Views
w

58
Video export
Just as for wire frame views OrcaFlex can export video files of a replays in shaded views. When producing videos it
is very important to use compression, otherwise the video file size becomes unreasonably large. The software that
performs this compression is called a codec.
For wire frame replays OrcaFlex uses a built-in codec called run-length encoding. This codec is not suitable for
shaded replays and in fact there is no suitable built-in codec in Windows. We would recommend using an MPEG-4
codec of which many are available. In our experience the freely available XVID codec performs very well. A link to
the XVID codec can be found at www.orcina.com/Support/ShadedGraphics.
In order to export videos from 64 bit OrcaFlex using the XVID codec, you must have the 64 bit version of the codec
installed. The latest versions of the XVID codec install both 32 and 64 bit versions. However, if you installed XVID
from an older installation package, then you may only have the 32 bit version of the codec installed. Installing the
latest version will resolve the problem.
Should you wish to use a different codec you can select this from the Preferences form.
Hardware Requirements
The shaded graphics mode does require the presence of a DirectX 9 compatible graphics card. In our experience the
most important factor to consider when choosing a card to work with shaded graphics is the amount of memory. We
would recommend using a card with 256MB or more.
It is also important to make sure that your computer's graphics settings specify a colour mode of 16 bits (65536
colours) or better.
Notes: If your machine's graphics capabilities are insufficient then the shaded graphics mode may fail to
function properly or indeed fail to function at all. For example, low quality, blocky images usually
indicate a graphics card with insufficient memory. This problem can also manifest itself by failure
to draw the sky which appears plain white.
For best results you should centre your model close to the global origin. The Move Selected Objects
facility can help you do this.
3.6.5 How Objects are Drawn
Each object in the model is drawn as a series of lines using the Pen Colour, Line Width and Style (solid, dashed etc.)
defined in the drawing data for that object. You can change the pen colours etc. used at any time by editing the
drawing data for that object. To change the pen colour, select and CLICK the colour button on the data form and then
CLICK on the new colour wanted.
You can also exclude (or include) individual objects from the 3D view, by opening the model browser, selecting the
object and then using the Hide (or Show) command on the browser's Edit or popup menu.
Notes: In Windows, a line width of zero does not mean "don't draw" it means draw with the minimum
line width. To suppress drawing either set the line style to null (the blank style at the bottom of the
drop down list) or else hide the object.
On some machines the display driver cannot draw the dashed or dotted pen styles and instead
draws nothing. So on such machines only the solid and blank pen styles work.
Wire Frame Drawing
For wire frame views the various objects are drawn as follows:
- The various coordinate systems can be drawn as small triplets of lines showing their origin and the orientation
of their axes. The wave, current and wind directions can be drawn as arrows in the top right-hand corner of 3D
views. You can control both what is drawn (see 3D View Drawing Preferences) and the drawing data used.
- The Seabed is drawn as a grid using the seabed pen.
- The Sea Surface is drawn as a grid or as a single line. This is controlled by the user's choice of Surface Type as
specified on the drawing page on the Environment data form. If the Surface Type is set to Single Line then one
line is drawn, aligned in the wave direction. If the Surface Type is set to Grid then a grid of lines is drawn. This
line or grid is drawn using the sea surface pen.
- Shapes are drawn either as wire frames (Blocks, Cylinders and Curved Plates) or as a grid (Planes). As well as
controlling the pen colour, width and style, for shapes you can also control the number of lines used to draw the
shape.
- Vessels are drawn as a wire frame of edges and vertices defined by the user on the Vessel and Vessel Types data
forms.
w
User Interface, 3D Views
59
- 3D Buoys are drawn as a single vertical line of length equal to the height of the buoy.
- 6D Buoys are drawn as a wire frame of edges and vertices. For Lumped Buoys, the vertices and edges are
defined by the user on the buoy data form. For Spar Buoys and Towed Fish the vertices and edges are
automatically generated by OrcaFlex to represent the stack of cylinders that make up the buoy. As an option
Spar Buoys and Towed Fish can be drawn as a stack of circular cylinders this is the default setting.
- Wings are drawn as rectangles in either the 6D Buoy pen or the Wing Type pen as determined in the Wing Type
data.
- Lines are drawn as a series of straight lines, one for each segment, joining points drawn at each node. Separate
pens are used for the segments and nodes, so you can, for example, increase the pen width used for the nodes to
make them more visible. There is also, on the Line Data form, a choice of which pen to use to draw the segments.
- Clumps are drawn as a thin vertical bar.
- Drag Chains are drawn using the colour and line style specified on the attachment types form. The hanging part
of the chain is drawn as a line, of length equal to the hanging length and at the angle calculated using the above
theory. The supported part of the chain (if any is supported) is separately drawn as a blob at the seabed, directly
beneath the node. The drag chain drawing therefore directly reflects the way in which the chain is modelled.
- Flex Joints are drawn as a circular blob using the colour and line style specified on the attachment types form.
- Links and Winches are drawn as a straight line segments joining the connection points.
Lines, Links and Winches and Shapes are special slave objects that can be connected to other master objects see
Connecting Objects. To allow these connections to be made, each slave object has a joint at each end that you can
connect to a master object or else leave Free. When the program is in Reset or Statics Complete state these joints are
drawn as follows:
The joint at End A of a line or end 1 of a Link or Winch is drawn as a small triangle. The other joints are drawn as
small squares. This distinguishes which end of a Line, Link or Winch is which.
If the joint is connected to a master object, then it is drawn in the colour of the master object to which it is
connected. If the joint is Free, then it is drawn in the colour of the Line, Link or Winch to which it belongs.
Shaded Drawing
For shaded views the various objects are drawn as follows:
- View axes and global axes are drawn as small triplets of lines showing their origin and the orientation of their
axes. The wave, current and wind directions can be drawn as arrows in the top right-hand corner of 3D views.
You can control both what is drawn (see 3D View Drawing Preferences) and the drawing data used.
- The Sea Surface and Seabed are drawn as textured surfaces using their respective pen colours. Both surfaces
can be drawn with user-specified levels of translucency.
- Shapes are drawn as solid objects and Planes allow for user-specified levels of translucency. Alternatively
Shapes can be represented by an imported 3D model.
- Vessels are drawn as a solid, filled-in shape based on the wire frame data. Alternatively Vessels can be
represented by an imported 3D model.
- 3D Buoys and Clumps are drawn as an ellipsoid with the specified volume and height.
- Lumped 6D Buoys are drawn as a solid, filled-in shape based on the wire frame data. Spar Buoys and Towed
Fish are drawn as solid objects using the specified cylinder geometry. Alternatively 6D Buoys can be
represented by an imported 3D model.
- Wings are drawn as plates using their specified span and chord. Alternatively they can be represented by an
imported 3D model.
- Lines are drawn as a series of cylinders, one for each segment using the contact diameter as specified on the
Line Type form. There is also, on the Line Data form, a choice of which pen to use to draw the segments.
- Drag Chains are drawn as a chain with bar diameter derived from the drag chain's effective diameter.
- Flex Joints are drawn as cylinders with radius 2R and length 4R where R is the radius of the node to which the
flex joint is attached.
- Links and Winches are drawn as a series of cylinders joining the connection points. The diameter of the
cylinders can be specified on the object's data form.
User Interface, 3D Views
w

60
3.6.6 Selecting Objects
A single CLICK on or near an object in a 3D View selects it ready for further operations. The currently selected object
is indicated in the Status bar. All objects have a hot zone around them. If several objects have overlapping hot zones
at the mouse position, they will be selected in turn at subsequent CLICKS.
To deselect the object (without selecting another object) CLICK on the 3D view away from all objects. CLICK on an
object to open its data form.
3.6.7 Creating and Destroying Objects
When the model is in Reset or Statics Complete state then you can create and destroy objects using the mouse.
To create a new object, CLICK on the appropriate new object button on the tool bar or select the Model | New Object
menu item. The mouse cursor changes to show this. A new object of that type is created at the position of the next
CLICK on a 3D View.
You can also create a new object by copying an existing one. To do this select the object and press CTRL+C to take a
copy of it. You can now press CTRL+V (more than once if you want more than one copy) again the mouse cursor
changes and the copy object is pasted at the position of the next mouse CLICK in a 3D view. This method of creating a
new object is particularly useful if you want an almost identical object you can create a copy of it and then just
change the data that you want to differ.
To destroy an object, simply select it and then press the DELETE key. You will be asked to confirm the action.
3.6.8 Dragging Objects
An unlocked object may be dragged to relocate it by pressing the mouse button down and holding it down while
moving the mouse. When the mouse button is released, then the object will be positioned at the new location. The
current coordinates of the object are shown in the Status Bar during the drag operation.
Note: Objects must be dragged a certain minimum distance (as specified in the Preferences form) before
the drag operation is started. This prevents accidental movement of objects when DOUBLE CLICKING
etc.
Objects may be locked to prevent unintended drag operations moving them (see Locking an object). Their
coordinates may still be edited on their data form.
Note: Slave objects that are connected are moved relative to their master's local origin. Other objects are
moved in the global coordinate frame.
Dragging is only available in Reset or Statics Complete states, and when the object is not locked.
3.6.9 Connecting Objects
Unlocked slave objects (e.g. Lines, Links, etc.) can be connected to master objects using the mouse in a 3D View (see
Object Connections). First select the end of the slave that you want to connect by CLICKING on or near its end joint.
Then hold down the CTRL key while CLICKING on the master object the two will then be connected together. This
operation is only permitted for master-slave object pairs, for example connecting a line to a vessel. The connection is
indicated in the Status Bar and the joint connected is drawn in the colour of the master object to show the
connection.
To Free a joint i.e. to disconnect it select it and then CTRL+CLICK on the sea surface.
To connect a joint to a Fixed Point, select it and then CTRL+CLICK on the global axes.
To connect an object to an Anchor (a fixed point with a coordinate relative to the seabed), select it and then
CTRL+CLICK on the seabed grid. If the object is close to the seabed then the program snaps it onto the seabed. This
allows an object to be placed exactly on the seabed. If you require an anchor coordinate close to, but not on the
seabed, connect it to the seabed at a distance and then drag it nearer or edit the coordinate in the Data Form.
3.6.10 Printing, Copying and Exporting Views
3D Views may be printed, copied to the windows clipboard, or exported to a windows graphics metafile, so that the
pictures may be used in other applications such as word processors and graphics packages.
First select the view and adjust the viewpoint as desired. Then to copy to the clipboard press CTRL+C, or select Copy
from the popup menu. The popup menu also has commands to print or export the 3D view. If needed, you can first
adjust the printer setup using the Printer Setup command on the popup menu or on the File menu.
If you are printing the view on a black and white printer (or are transferring the view into a document which you
intend to print on a black and white printer) then it is often best to first set OrcaFlex to output in monochrome (use
the Tools|Preferences|Output menu item). This avoids light colours appearing as faint shades of grey.
w
User Interface, Replays
61
After a 3D view has been transferred to another application you should be careful not to change its aspect ratio,
since this will produce unequal scaling in the vertical and horizontal directions and invalidate the scale bar. In Word
you can maintain aspect ratio by dragging the corners of the picture, whereas if you drag the centres of the sides
then the aspect ratio is changed.
3.7 REPLAYS
A Replay is a sequence of 3D views shown one after another to give an animation. A replay is therefore like a short
length of film, with each frame of the film being a snapshot of a model as it was at a given time. There are various
controls and parameters that allow you to control a replay.
Replay Type
- Active Simulation Replays show the model as it was at specified times during the currently active simulation.
This type of replay is therefore only available when a simulation is active and can only cover the period that has
already been simulated. If you have a time history graph window open when the replay is run, then the replay
time is indicated on the graph.
- Custom Replays are replays where you have complete control over frames which make up the replay. This
means that, for example, you are not restricted to regularly spaced times; you can have frames from different
simulation files in the same replay; you can include frames showing the static configuration of a model; you are
able to vary the view size, view angles and view centre to achieve panning, rotating and zooming effects. Custom
replays were originally introduced to help visualise series of static snapshots, for example during a lowering
operation. However, the facility is very powerful and you are certainly not restricted to this application. See
Custom Replays for details.
Active Simulation Replay Times
There are two options for specifying the times used for an active simulation replay:
- Regularly spaced: The times used for the replay are at regular spaced intervals and cover a range determined
by the period specified on the replay form.
- Snapshots: The times are specified explicitly in a list.
Export Video
Replays can be exported as either AVI files or as PDF files, using the Export Video button on the replay parameters
form. The generated file uses the view parameters of the most recently selected 3D view window.
When you export a video clip you will be asked to select a file name for the video using the standard Save File
window. If the add program/file details to output preference is enabled, then each frame in the video has details of
that frame (e.g. simulation time) written in the top left-hand corner of the frame.
AVI is a standard video format, so the file can then be imported into other applications, for example to be shown in a
presentation. Note however, that AVI is what is known as a container format. So whilst the AVI container format is
well known and understood, the video stream inside the container is compressed using a codec. Different AVI files
can use different codecs and so it is possible for a machine to be able to play some AVI files and not others,
depending on which codecs are installed on the machine. In order to play the AVI file you will need to ensure that
the codec used to generate the video file has been installed on the target playback machine. The codec used for the
generating the video file can be set on the Preferences form.
Note: AVI files can be very large if the window size is large or there are a lot of frames in the replay. Also,
resizing video clips (after pasting into your presentation) will introduce aliasing (digitisation
errors), so it is often best to set the 3D View window size to the required size before you export the
video.
3.7.1 Replay Parameters
The replay can be controlled by the following parameters that can be set in the Replay Parameters form,
accessed using the Replay Parameters button.
Replay Period (Regular spaced times only)
The part of the simulation that the replay covers. You can select to replay the whole simulation, just one simulation
stage (an asterisk * denotes an incomplete stage), the latest wave period or else a user specified period. If you select
User Specified then you can enter your own Start and End Times for the replay period. These can be set to '~'
which is interpreted as simulation start time and simulation finish time respectively.
User Interface, Replays
w

62
Interval (Regular spaced times only)
The simulation time step size between frames of the replay. The value '~' is interpreted as the actual sample
interval, i.e. the smallest possible interval.
Using shorter intervals means that you see a smoother animation (though the extra drawing required may slow the
animation).
Example: For a simulation with stages of 8 seconds each, selecting stage 2 and a replay time step of 0.5 seconds
causes the replay to show 16 frames, corresponding to times 8.0, 8.5, 9.0, , 15.5.
Frame interval in real time (Snapshot times only)
For regular spaced time replays, there is a well-defined relationship between replay frame rate and real time.
However, for snapshot replays, there is no such relationship. So, in order to make the replay speed setting
meaningful we introduce an artificial frame interval for snapshot replays. So, for example, if the replay speed is set
to 100%, then the replay frame rate is equal to 1/T where T is the specified frame interval. If the replay speed is set
to 200%, then the frame rate is 2/T, and so on.
Speed
Determines how fast the replay is played. It is specified as a percentage of real time, so 100% means at real time,
200% means twice as fast etc.
Continuous
Continuous means replaying like an endless film loop, automatically cycling back to the first frame after the last
frame has been shown; this is suitable for replays of whole cycles of regular cyclic motion. Non-continuous means
that there will be a pause at the end of the replay, before it starts again at the beginning; this is more suitable for
non-cyclic motion.
All Views
If this is selected, then the replay is shown in all 3D Views simultaneously, allowing motion to be viewed from
several different viewpoints. Otherwise the replay is played in the currently selected view window only.
Show Trails
If this is selected, then when each frame of the replay is drawn the previous frame is first overdrawn in grey this
results in grey trails showing the path of each object.
3.7.2 Replay Control
The replay can be controlled from the Replay menu, by using toolbar buttons or with shortcut keys. In addition,
some replay settings can only be modified on the Replay Parameters form.
The toolbar has a section dedicated to replay control:

Figure: Replay toolbar controls
The replay control buttons, menu items are listed in the table below:
Button Menu Item Shortcut Action

Replay | Start Replay
CTRL+R
Start replay

Replay | Stop Replay
CTRL+R
Stop replay

Replay | Step Replay Forwards
CTRL+A
Step to next frame and pause
+ SHIFT
Replay | Step Replay Backwards
CTRL+B
Step to previous frame and pause
Replay | Replay Faster
CTRL+F
Speed up replay
Replay | Replay Slower
SHIFT+CTRL+F
Slow down replay

Replay | Replay Parameters
CTRL+D
Edit replay parameters
w
User Interface, Replays
63
Replay Time Control

Next to the Step Replay button is a drop-down button which allows you to enter directly a replay time. This can be
used for precise control of the replay time. This can be particularly useful for long simulations for which the slider
control does not provide sufficient resolution.
Replay Slider Control
The final part of the replay toolbar is the replay slider. This allows direct control of the replay
time. Drag the slider to the left to move to an earlier part of the replay and to the right to move to a later part. For
fine grained adjustment of replay time you can use the Replay | Step Replay Forwards and Replay | Step Replay
Backwards actions or alternatively their shortcuts, CTRL+A and CTRL+B. The replay time is displayed on and can be
controlled from Time History graphs.
3.7.3 Custom Replays
Custom replays allow you to piece together arbitrary frames from one or more OrcaFlex files. Each frame of the
replay can be either the static configuration, or a snapshot of a specified time in a dynamic simulation file.
Using frames of static configurations you can string together a series of static snapshots giving, for example, an
animation of an installation procedure. Using frames from dynamic simulation files allows you to create replays
where the frames are from one or more simulations, and, if you wish, vary the time intervals between frames.
Frames of both static and dynamic configurations can be included in the same custom replay. In addition you are
able to vary the view size, view angles and view centre to achieve panning, rotating and zooming effects.
To use the custom replay feature you must first set the Replay Type data item on the Replay Parameters form to
Custom Replay. Next you must build the custom replay which is most easily done using the Custom Replay Wizard,
which can be opened by clicking the Custom Replay Wizard button.
Replay Specification
This is the file containing the custom replay specification that is the file that is saved by the Custom Replay Wizard.
Custom Replay Parameters
Custom replays also make use of some of the parameters needed for standard simulation replays. These parameters
are Target Speed, Continuous, All Views and Show Trails.
3.7.4 Custom Replay Wizard
The Custom Replay Wizard allows you to define a series of replay sections. Each replay section can show either:
1. A series of regularly spaced snapshots from a simulation file.
2. The static configuration of a model specified by either a data file or a simulation file.
Different files can be used for different replay sections.
Custom Replay Files
When you have built your custom replay you must save it using the File menu or save button on the toolbar. Custom
replay files can be opened in a similar way.
We recommend that you save your custom replay file before you start setting up the replay sections. This is because
once you have saved the custom replay file you will be able to use relative paths for the OrcaFlex file names.
Custom Replay Data
Custom replay specifies view parameters (size, position, angles and graphics mode)
If this data item is not checked then the replay will use the view parameters of whichever 3D View window it
appears in. In this mode of operation you will be able manually to pan, rotate and zoom the 3D View using the
normal buttons and shortcuts.
If this data item is checked then you will be required to specify the view parameters (view size, view centre, view
azimuth, view elevation and graphics mode) for each replay section. This allows you to include panning, rotating
and zooming effects in your replay.
While learning how custom replays work we recommend that you do not check this data item.
User Interface, Data Forms
w

64
Use smoothed panning, rotating and zooming effects
This item is only available if the "Custom replay specifies view parameters" option is enabled. If you are panning,
rotating and zooming during replay sections then the transition from one section to another sometimes appears to
be disjointed. If this option is checked then the transition between sections is smoothed.
Frame interval in real time
OrcaFlex needs to know how fast to play the replay. This data item specifies the interval, in real time, between each
replay frame, assuming a target replay speed of 100%. If the target replay speed is, say 200%, then the interval
between frames will be half this value, and so on.
Replay Sections
You can specify any number of replay sections. For each replay section you must also specify the following:
Replay Section Name
This is a descriptive name for the replay section. When the replay is running OrcaFlex displays a description of the
current frame in the message box on the status bar this includes the replay section name. This description can also
be included in exported videos.
OrcaFlex File Name
The model to be used for this section either a data file (.dat or .yml) or a simulation file (.sim).
Dynamics
This setting determines whether the replay section defines snapshots from a dynamic simulation or a static
configuration. If the file is a data file then the replay section will show the static configuration and so this data item
cannot be edited.
The custom replay displays static configurations for a data file by loading the file and then performing the static
calculation. This can be time consuming static state simulation files can be used instead to avoid the overhead of
performing statics each time the replay is shown.
Simulation Time From, Simulation Time To
This specifies the period of the dynamic simulation covered by the replay section. These are OrcaFlex simulation
times for the specified simulation file of this replay section.
If the replay section is a static snapshot then these data items are not editable.
Number of Frames
This is the total number of frames in the replay section. If your custom replay is a series of static snapshots then you
would usually set this value to 1.
Included in Replay
This allows you to exclude certain sections from the replay. This may be useful while developing the custom replay
because it allows you to concentrate on particular replay sections.
View Parameter data
The following data items are only available when the specifies view parameters option is checked.
From View Parameters, To View Parameters
The view size, view centre, view azimuth and view elevation for the first and last frames of the replay section. These
view parameters are varied between these values for the other frames in the replay section.
Hint: These values can be copied from OrcaFlex's View Parameters form using the clipboard.
Graphics Mode
Specifies either the Wire frame or Shaded graphics mode for the replay section.
Disturbance Vessel and Disturbance Position
Specifies whether or not the sea surface will be drawn as if disturbed by the presence of a particular vessel, using
the given disturbance position.
3.8 DATA FORMS
Each object in the model has data items that define its properties. The data are examined and edited in the object's
Data Form, which can be accessed by various methods:
- use the Model Browser
- DOUBLE CLICK the object in a 3D view
w
User Interface, Data Forms
65
- RIGHT CLICK the object in a 3D view and use the popup menu.
If a simulation is active then most data items cannot be changed since they affect the calculation, but you can change
things like the object's colour.
Control Buttons
OK
Accepts the data changes made and then closes the form.
Cancel
Cancels the data changes made and then closes the form.
Next
Accepts the data changes made and then displays the next form in sequence. Holding the SHIFT key down while
CLICKING the Next button accepts the changes and then displays the previous data form in sequence. You can also
use the keyboard shortcuts F6 for next and SHIFT+F6 for previous.
popup Menu
The popup menu on a data form provides various facilities, including:
- The data form can be printed, copied to the clipboard or exported to a file. The data for the whole model may be
printed using the File | Print menu item.
- Access to the next and previous data form and to the Variable Data form.
- The data names for the currently-selected block of data items.
- Data forms for 3D Buoys, 6D Buoys, Vessels and Lines provide a Connections Report. This is a spreadsheet
listing information about other objects connected to it. Note that the same information, but for all objects in the
model, can be displayed using the Model | Show Connections Report menu item.
Object properties reports
On data forms of some objects, a report of the properties of that object. It can be opened from the popup menu or
alternatively by pressing Alt+Enter. The report displays properties like weight in air, displacement, weight in water
etc.
These reports are currently available for General Data, 3D Buoys, 6D Buoys, Vessels, Lines, Line Types, Clump Types
and Drag Chain Types.
Calculator
A simple calculator is available from any OrcaFlex data form. It can be opened from the popup menu or alternatively
by pressing F12. Numbers can be transferred to and from it with standard Windows copy (CTRL+C) and paste
(CTRL+V). The calculator can also be closed by pressing F12 if you do this then the value in the calculator is
transferred to the active edit cell.
3.8.1 Data Fields
Data items on each Data Form are displayed in Fields, generally with related fields organised into Groups or Tables.
You can select a field with the mouse, or use the keyboard to navigate around the form. TAB moves from group to
group, and the arrow keys move across the fields in a group.
The following types of fields are used:
Text
A general string of text, used for example for titles and comments.
Name
Each object is given a name, which you can edit. Object names must be unique you cannot have two objects with
the same name.
Numeric
Numbers can be entered in a number of formats such as 3, 3.0, 0.3, .3 or 3.0e6 or 3.0E6. It is possible to enter more
digits than are displayed. The exact value that you enter is used in calculations, even if the program truncates the
value for the purpose of display. If the value has been truncated for display, then you can hover the mouse over the
value and view the full precision value in the popup hint.
For some numeric data items the values ~ and/or Infinity are permitted. The meaning is data item specific.
User Interface, Data Forms
w

66
Spin Buttons
These are small buttons with up and down arrows, used for incrementing and decrementing the associated field
(such as the number of entries in a table).
Check Boxes
These show a tick, meaning selected, or are blank, meaning not selected.
Colour Selection
These show as a block of colour. If you edit a colour field a colour selection dialog is opened.
List Boxes
These allow you to choose from a list of pre-determined values. You are only permitted to use the values that are
included in the drop-down list
3.8.2 Data Form Editing
The TAB, SHIFT+TAB, HOME, END and ARROW keys and the mouse can be used to navigate around the Edit Form.
Editing mode is entered by DOUBLE CLICKING a cell with the mouse, pressing F2, or by starting to type alphanumeric
characters, which are entered into the field as they are typed. The characters that have been typed can be edited by
using the arrow keys to move around (now within the field) and the BACKSPACE and DELETE keys.
Editing mode is ended, and the new value takes effect, when you press ENTER or select another field or button on the
form. To end editing mode but reject the edit (and so keep the old value) press ESC.
Many numeric fields have limits on the range of values that can be entered, for example an object's mass must
always be greater than zero. Warnings are given if invalid values are typed.
Input can also be from the Windows clipboard. CTRL+C copies the selected field or block of fields to the clipboard
whilst CTRL+V pastes from the clipboard into the selected field.
Mouse Actions
CLICK
Select Field
CLICK+DRAG,
SHIFT+CLICK
Select a block of fields
DOUBLE CLICK
Start Edit Mode in this field (please also see Data Fields)
SECONDARY
BUTTON CLICK
Context sensitive popup menu for copying, exporting and printing the form and, for some
objects, viewing additional properties
Group Movement
TAB
Next Group
SHIFT+TAB
Previous Group
ALT+
Move to the group with this letter underlined in its heading
Field Movement
Go to adjacent row or column
HOME
Go to leftmost column
END
Go to rightmost column
PAGE UP
Go to top row
PAGE DOWN
Go to bottom row
Table Editing
INSERT, DELETE Insert or delete rows
Start Editing
F2
Edit
09, AZ
Edit (replace)
During Editing
, HOME, END Move within field
End Editing
ESC
Cancel edit
w
User Interface, Results
67
Mouse Actions
Accept edit and move to previous/next row
ENTER
Accept edit
Copy / Paste
CTRL+C
Copy selected field/block to clipboard
CTRL+V
Paste from clipboard into selected field
CTRL+D
Fill selection from top (copy top cell down)
CTRL+R
Fill selection from left (copy leftmost cell to right)
CTRL+U
SHIFT+CTRL+D
Fill selection from bottom (copy bottom cell up)
CTRL+L
SHIFT+CTRL+R
Fill selection from right (copy rightmost cell to left)
3.9 RESULTS
3.9.1 Producing Results
You can access results by either CLICKING on the Results button on the toolbar or by using the Select Results
menu item; the Select Results form then appears.
There is a Keep Open switch on the form's context menu, which allows you to choose whether the form
automatically closes when you select a result, or alternatively stays open (and on top) until you explicitly close it.
Graphs and Tables can be sent straight to the printer by CLICKING the Print button. If the values of a graph are
required in text form then CLICK the Values button this give the values in a Spreadsheet window.
The Select Results form allows you to select the results you want by specifying:
Result Type
This option allows you to select which of the various types of results output you require. Results are available as text
tables (summary results, full results, offset tables, statistics, linked statistics, extreme value statistics or line clashing
reports) or as graphs (time histories, range graphs, XY graphs, offset graphs or spectral response graphs). The types
of results available depend on the current model state.
Object
The object for which you want results (selected in the same way as in the Model Browser) and for some objects
which point in the object.
- For the Environment you must specify the global X,Y,Z coordinates of the Position for which you want results.
For sea surface elevation, velocity and acceleration results there is also an option to specify that the results
should be affected by the presence of a disturbance vessel.
- For 6D Buoys that have wings attached, results for the buoy and for each wing are available separately.
- For 6D Buoys and Vessels the translational position, velocity and acceleration results are reported at a user
specified Position on the object. The coordinates of this Position are specified in object local coordinates.
- For lines you must specify the arc length along the line see Line Results.
Period
For time histories, XY graphs and range graphs you must specify the period of the simulation to be included. This
can be:
- One of the numbered stages of the simulation.
- The Whole Simulation.
- A Specified Period, defined by a start and end time. These time values can be set to '~' which is interpreted as
simulation start time and simulation finish time respectively.
- The Latest Wave (only available for regular wave simulations) which is defined to be the wave period
immediately preceding the latest simulation time.
For Range Graphs the period can also be Static State or Instantaneous Value:
- The Static State period is only available after a statics calculation and the graph shows a curve of the values in
the static configuration.
User Interface, Results
w

68
- The Instantaneous Value period is available when a simulation has been run. It shows a curve of the values at
the instantaneous simulation time. This is normally the latest simulated time. However, if a replay is active then
the graph shows a curve of values at the active replay time. This allows you to see, for an entire line, how a
results variable evolves over a simulation.
Variable
The desired variable(s).
Definitions of the results variables can be obtained by selecting them in the Variable list box and then pressing F1.
Logging for results
The summary and full results are taken directly from the current state of the model. All the other results are derived
from the simulation log file which OrcaFlex creates automatically when a simulation is run. As the simulation
progresses, OrcaFlex samples the variables for each object at regular intervals and stores the sampled values in the
log file. All time histories, statistics and range graphs are derived from the simulation log file.
You can control the time resolution of the results by setting the Target Sample Interval data item on the general data
form. This must be done before the simulation is started. Decreasing the sample interval will improve the time
resolution of the results (and increase the number of samples taken). However, because more samples are taken this
will also increase the size of the simulation file that is created.
Spike Logging
A special algorithm is used for logging results that tend to vary rapidly to ensure that any spikes that may occur
between samples are recorded. We refer to this algorithm as spike logging.
Line Results
OrcaFlex spike logs Effective Tension, Torque, Clash Force, Clash Energy, Solid Contact Force, End Force results and
Vortex Force results. In addition other results which are derived from these quantities are effectively spike logged
by association. Such variables include Wall Tension, Normalised Tension, Direct Tensile Strain, ZZ Strain, Worst ZZ
Strain, Direct Tensile Stress, von Mises Stress, Max von Mises Stress and ZZ Stress.
Link and Winch Results
OrcaFlex spike logs Tension and Velocity.
Solid Results
OrcaFlex spike logs contact force magnitude.
General Results
OrcaFlex spike logs Implicit solver iteration count and Implicit solver time step.
Inadequate segmentation warning
If any lines have, during the simulation, gone into greater compression than their segment Euler load then a warning
note is added to the Results form. Such lines are marked with the symbol in the Model Browser. Usually this
means that finer segmentation is needed in some sections of these lines in order to model compression adequately.
Offset warning
If any of the multiple statics calculations have failed then a warning note is added to the Results form.
3.9.2 Selecting Variables
Each object has associated with it a list of currently selected results variables.
For the currently selected object, its selected variables are shown in a list on the results form you can of course
modify this list. For some result types the list can contain multiple selected variables. If multiple variables are
selected, then the Values button will give a single Spreadsheet Window with a column for each selected variable,
and the Graph button will give a separate Graph Window for each variable.
New columns can be appended to existing time history spreadsheet windows, as follows:
- Select the spreadsheet window to which you want to append, by clicking on it.
- Then open the Select Results form and select the variables that you want to append.
- Then hold the CTRL button down and click the Values button.
- Provided that the selected spreadsheet window is a time history values table and that the time periods for both
sets of histories match, then the new time histories will be appended to the active window. This allows you to
have a single window containing results from different objects.
w
User Interface, Results
69
3.9.3 Summary and Full Results
These spreadsheet windows give the current state of an object or of the whole model. For example, in
Statics Complete state the full results tables show the positions of objects in their static position. If a simulation is
active, then they show the positions of objects at the latest time calculated.
To obtain one of these results tables:
- Select Summary Results or Full Results on the Results form.
- Select the object required.
- Click the Table button.
The summary results are simply an abbreviated form of the full results, in which the results for lines only include
the end nodes, not all of the intermediate nodes.
Explicit integration time steps
When the model is in Statics Complete state the summary and full results include estimates of the shortest natural
periods of objects or of the whole model. These can be used to determine suitable explicit integration time steps.
The simulation inner time step should normally be no more than 1/10th of the shortest natural period of the model
this is given at the top of the summary results or full results report for All Objects. In addition the full results table
for a line contains detailed reports of the shortest natural periods.
3.9.4 Statistics
The Statistics report provides, for each statistics variable:
- The minimum and maximum values and the simulation times when they occurred.
- The mean and standard deviation (i.e. the root mean square about the mean).
These statistics are reported for each of a number of periods of the simulation. If Statistics by Wave Period is
selected then these periods are successive wave periods; otherwise they are the stages of the simulation.
To obtain a Statistics report:
- Select Statistics.
- Select the object and the variables of interest (see Selecting Variables).
- CLICK the Table button.
The report is presented in a spreadsheet.
Note: Be careful when interpreting statistics of Line Clearance and Seabed Clearance, since these results
are already minima the shortest distance to any other line and to any point on the seabed. For
example, the maximum of Line Contact Clearance will be the maximum value that the smallest
clearance took during the period.
3.9.5 Linked Statistics
The Linked Statistics table relates a group of variables for a given object. For a specified group of variables and a
specified period of simulation, OrcaFlex finds the minimum and maximum of each variable and reports these
extreme values, the times they occurred and the values that all the other variables took at those times.
The report also includes:
mean,
standard deviation,
Tz mean up-crossing period, estimated as the average time between successive up-crossings of the mean value ,
Tc mean crest period, estimated as the average time between successive local maxima,
m0 zeroth spectral moment, estimated as
2
,
m2 second spectral moment, estimated as m0/Tz
2
,
m4 fourth spectral moment estimated as m2/Tc
2
,
spectral bandwidth parameter, estimated as (1-Tc
2
/Tz
2
)

,
To obtain a Linked Statistics report:
- Select Linked Statistics.
- Select the required object and period.
- Select the variables of interest (see Selecting Variables).
User Interface, Results
w

70
- CLICK the OK button.
The report is presented in a spreadsheet.
Note: Be careful when interpreting statistics of Line Clearance and Seabed Clearance, since these results
are already minima the shortest distance to any other line and to any point on the seabed. For
example, the maximum of Line Contact Clearance will be the maximum value that the smallest
clearance took during the period.
3.9.6 Offset Tables
These Text Windows are available only after multiple statics calculations and only for vessels. For a given offset
direction they report the total load on the vessel and show how it varies with offset distance. The worst tension in
any segment of any line connected to the vessel is also reported for each offset.
To obtain an Offset Table:
- Select Offset Table on the Results form.
- Select the offset vessel.
- Select the offset direction required.
- CLICK the Table button.
The report is presented in a spreadsheet.
3.9.7 Line Clashing Report
The Line Clashing Report produces a detailed tabular report about the line clashing events during a simulation.
To obtain a Line Clashing Report:
- Select Line Clashing Report on the Results form.
- Select a line.
- Select the period required.
- CLICK the Table button.
The report is presented in a spreadsheet.
Contents of the Line Clashing Report
The report lists a summary table followed by a detailed table as described below.
Summary table
The summary table lists all clash events for segments on the selected line. A clash event is deemed to start when a
segment from the selected line first comes into contact with another line segment. We shall refer to the selected line
as L1 and to the particular segment on this line as S1. The clash event ends when S1 is no longer in contact with any
other line segments.
Note: During the course of a clash event the segment S1 may be in contact with a number of different line
segments from other lines, e.g. if the clash is a sliding contact. This is counted as a single clash
event from the perspective of S1.
For each clash event the following results are reported:
Event number
A number of clash events may occur during the simulation. Each event is given a number to identify it. This is useful
when relating the summary results of a clash event to the detailed results.
Segment number and segment arc length
This identifies the segment S1 on the selected line.
Start Time, End Time and Duration
The simulation time of the start and end of the clash event together with its duration.
Total Impulse
The total impulse of the clash event.
Peak Clash Force
A scalar value reporting the greatest value of clash force achieved during the clash event. The clash force vector is
monitored during each clash event and the greatest magnitude of this vector is reported.
w
User Interface, Results
71
Peak Clash Energy
A scalar value reporting the greatest value of clash energy achieved during the clash event.
Max Penetration
At each time step we calculate the depth of penetration between the outer surfaces of segment S1 and all other
segments. Let S2 be a segment on another line.
Let the radii of the two segments be r1 and r2 (as defined by the line type contact diameter). OrcaFlex calculates the
shortest separation distance, d, between the centrelines of the two segments. The penetration of these two segments
is defined to be (r1 + r2) d. The value reported as Max Penetration is the maximum value of penetration between
segment S1 and any other segment over the duration of the clash event.
Detailed table
The detailed table reports information about each individual contact between segment S1 and another segment. If
during the course of a clash event segment S1 is in contact with a number of segments on other lines then the start
time, end time and duration of each of those individual contacts is reported.
Contact velocity
The detailed table also includes the contact velocity for each individual contact. This is the normal component of
relative velocity of the two contact points at the start of the time step during which the clash event started.
3.9.8 Time History and XY Graphs
Time History graphs are of a single variable against time. XY graphs are of one time dependent variable against
another.
The period of simulation covered by the graph is chosen from a list.
To obtain a Time History or XY Graph:
1. Select Time History or XY Graph on the Results form.
2. Select the object required.
3. Select the variable required (see Selecting Variables). More than one variable can be selected for time histories.
For XY graphs the steps 2 and 3 need to be done for both axes. Do this by CLICKING on one of the options labelled X-
axis or Y-axis, which are located at the bottom of the results form, and then repeating steps 2 and 3.
- Select the period required.
- CLICK the Graph button.
Time history and XY graphs are displayed in Graph Windows and they are "live" i.e. they are regularly updated
during the simulation. You can therefore set up one or more graph windows at the start of a simulation and watch
the graphs develop as the simulation progresses. If you reset the simulation then the curves will be removed but the
graphs will remain, so you can adjust the model and re-run the simulation and the graphs will then be redrawn.
Graphs are automatically deleted if the object that they refer to is removed, for example by loading a new model.
Range Jump Suppression
For time histories of angles OrcaFlex chooses the angle's range so that the time history is continuous.
For example consider vessel heading, which is normally reported in the range -180 to +180. If the vessel's heading
passes through 180 then without range jump suppression the time history would be:
.., 179, 180, -179, ..
i.e. with a 360 jump. To avoid this jump OrcaFlex adds or subtracts multiples of 360 to give the best continuation
of the previous value. So in this example it adds 360 to the -179 value and hence reports:
.., 179, 180, 181, ..
This addition is valid since 181 and -179 are of course identical headings.
Note that this means that angle time history results can go outside the range -360 to +360.
Spectral Density
From any time history graph you can use the popup menu to obtain the spectral density graph for that time history.
The curve shown on the graph is the one-sided power spectral density (PSD) per unit time of the sampled time
history, obtained using the Fourier Transform. The fundamental frequency is specified on the General data form.
Notes: Using the Fourier Transform to estimate the PSD inevitably introduces 'noise' or 'leakage' to the
spectrum. To reduce the leakage the time history is partitioned into a number of overlapping
periods. The PSDs are calculated for each period and then averaged to give the reported PSD which
has the effect of smoothing the resulting PSD.
User Interface, Results
w

72
This smoothing technique is only applied if there is more than 200s of data in the time history.
Empirical Cumulative Distribution
From any time history graph you can use the popup menu to obtain the empirical cumulative distribution graph for
that time history. This graph shows what proportion of the samples in the time history are less than or equal to a
given value.
These graphs are sometimes referred to as Exceedence Plots since they can sometimes be used to estimate the
probability that the variable will exceed a given value.
Warning: The samples in a time history are not independent. They have what is called 'serial correlation',
which often affects the accuracy of statistical results based on them.
Rainflow half-cycle Empirical Cumulative Distribution
From any time history graph you can use the popup menu to obtain the rainflow half-cycle empirical cumulative
distribution graph for that time history. The curve on this graph is produced in the following way:
1. The time history is analysed using the rainflow cycle-counting algorithm. For details of this algorithm see the
paper by Rychlik.
2. The rainflow algorithm produces a list of half-cycles associated with the time history. The empirical cumulative
distribution of these half-cycles is then plotted.
3.9.9 Range Graphs
Range graphs are only available for a selection of variables and they are only available for Lines. They show the
values the variable took, during a specified part of the simulation, as a function of arc length along the Line. In
particular:
- Range graphs show the minimum, mean and maximum values that the variable took during the specified part of
the simulation with the exception that the Line Clearance range graphs only show the minimum value.
- Effective tension range graphs have extra curves showing the segment Euler load and the Allowable Tension
value (as specified on the Line Types data form).
- Bend Moment range graphs have an extra curve showing the maximum permitted bend moment
(EI / Minimum Bend Radius specified on the Line Types data form).
- Curvature range graphs have an extra curve showing the maximum permitted curvature (the reciprocal of the
Minimum Bend Radius specified on the Line Types data form).
- Bend radius range graphs have an extra curve showing the Minimum Bend Radius specified on the Line Types
data form.
- Stress range graphs show the Allowable Stress (as specified on the Line Types data form).
- Range graphs for code check results have an extra curve showing the maximum allowable value.
- A Standard Deviation curve can also be added to a range graph to do this edit the graph's properties (by
double clicking on the graph) and set the Standard Deviation curve's visible property (by default the curves are
not visible). Two curves are then drawn, at Mean x, where x is a user chosen value and is the standard
deviation. The standard deviation is calculated from all the samples that lie in the simulation period chosen for
the graph.
Warning: Be careful not to assume that 95% of the data lie in the interval Mean 2. This common guideline
is based on the assumption that the data are sampled from a Normal (i.e. Gaussian) distribution.
To obtain a Range Graph:
- Select Range Graph on the Results form.
- Select the object required.
- Select the arc lengths required. This can be the entire line, a selected arc length range, or a selected line section.
- Select the variable required (see Selecting Variables).
- Select the period required.
- CLICK the Graph button.
Range graphs are displayed in Graph Windows and they are "live" i.e. they are regularly updated during the
simulation. You can therefore set up one or more graph windows at the start of a simulation and watch the graphs
develop as the simulation progresses. If you reset the simulation then the curves will be removed but the graphs will
remain, so you can adjust the model and re-run the simulation and the graphs will then be redrawn. Graphs are
automatically deleted if the object that they refer to is removed, for example by loading a new model.
w
User Interface, Results
73
Range Jump Suppression
Just as it does for Time History and XY Graphs, OrcaFlex applies range jump suppression for range graphs of angles.
3.9.10 Offset Graphs
These graphs are available only after a multiple statics calculation has been done and only for the offset vessel. The
following variables are plotted against offset distance:
Restoring Force
The magnitude of the horizontal component of the total force applied to the vessel by the attached Lines or other
objects. Note that this force is not necessarily in the offset direction.
Vertical Force
The vertically downwards component of the total force applied to the vessel by the attached Lines or other objects.
Yaw Moment
The moment, about the vertical, applied to the vessel by the attached Lines or other objects.
Worst Tension
The largest tension in any segment of any Line connected to the vessel.
To obtain an Offset Graph:
- Select Offset Graph on the Results form.
- Select the offset vessel.
- Select the offset direction required.
- Select the variable required.
- CLICK the Graph button.
3.9.11 Spectral Response Graphs
These graphs are available only if you have run a response calculation wave. The graph is only available once the
simulation has been completed.
The graph plots the calculated RAO for the selected variable on the Y axis and wave frequency on the X axis.
To obtain a Spectral Response Graph:
- Select Spectral Response Graph on the Results form.
- Select the object required.
- Select the variable required (see Selecting Variables). More than one variable can be selected.
- CLICK the Graph button.
3.9.12 Extreme Value Statistics Results
There is often a requirement to predict the extreme responses of a system, for example to determine the likelihood
of a load exceeding a critical value that may lead to failure. Such values are needed when using standards such as
DNV-OS-F201 and API RP 2SK.
OrcaFlex can estimate extreme values for any given result variable by analysing the simulated time history of the
variable using extreme value statistical methods. You may, for instance, perform a mooring analysis in an irregular
sea-state and then estimate the maximum mooring line tension for a 3-hour storm.
The statistical theory for this estimation is well-established and is described in the theory section. The procedure is
essentially this:
- You select the statistical distribution to be used to model the distribution of extremes. See Data below.
- OrcaFlex estimates the distribution model parameters that best fit the simulation time history of the variable.
- OrcaFlex uses the fitted distribution to estimate and report the required extreme statistic (e.g. return level), for
a specified period of exposure. See Results below.
- OrcaFlex provides diagnostic graphs that you should use to judge the reliability of the results.
The Extreme Value Statistics Results form is designed to lead you through this process.
When you open the Extreme Value Statistics Results form, for a selected results variable, you will come first to the
Data page, where you will select the distribution. Moving then to either of the other pages (Results or Diagnostic
Graphs) will cause OrcaFlex to carry out the estimation part of the procedure. The Diagnostic Graphs assist in
testing the model. The Results page reports the estimated statistics, e.g. the return value for the specified period, the
estimation uncertainty inherent in that value etc.
User Interface, Results
w

74
Data
For convenience, the time history result graph is reproduced on the Data page. The data required for the fitting of
the model are entered on this page, and are as follows.
Distributions
These fall into two groups, according to the statistical method with which they are applied. For details see the
Extreme Value Statistics Theory section.
- Rayleigh distribution. This method assumes that the variable is a stationary Gaussian process. This is perhaps a
reasonable assumption for waves, particularly in deep water, and for responses which are approximately linear
with respect to wave height. However, for many other variables of interest, the Gaussian assumption is invalid
and leads to poor estimates of extreme values.
- Weibull and Generalised Pareto (GPD) distributions. These distributions are both fitted using the maximum
likelihood method. Historically, the Weibull distribution has often been used for marine systems, but the
Generalised Pareto is preferred by the extreme value statistics community because of its sound mathematical
foundations.
Extremes to analyse
Specifies whether maxima (upper tail) or minima (lower tail) are to be analysed.
Threshold and Decluster Period
These data are only required when using the Weibull and GPD distributions, which are fitted to extremes of the time
history and those extremes are selected using the peaks-over-threshold method with (optional) declustering.
The threshold controls the peaks-over-threshold method. This allows you to control the extent to which the
analysis is based on only the extreme values in the data (the tail of the distribution).
The decluster period controls the declustering. This helps avoid or reduce any statistical dependence between the
extreme data values used in the analysis. It can be set to one of the following:
- Zero, in which case no declustering will be done, and all values above the specified threshold will be included.
This is generally not recommended since the values are unlikely to be independent.
- A positive value. In this case OrcaFlex will break the sequence of time history values into clusters of successive
values that stay above the threshold. It will then decluster by merging successive clusters that are separated by
periods (during which the variable is less than the threshold) that last no longer than the specified decluster
period. The most extreme value of each of the resulting merged clusters will then be included in the analysis.
- '~'. This special value may be used to tell OrcaFlex to take the clusters to be the groups of values between
successive up-crossings of the mean value (or down-crossings if analysing lower tail). The most extreme value
of each such cluster will then be included in the analysis, but ignoring any that do not exceed the threshold.
The threshold is drawn on the time history graph, to help visualise its value relative to the extremes of the data. The
number of data points that will be included in the analysis (after the threshold and declustering have been done) is
also displayed. This helps with setting the threshold and decluster period.
The best value for the threshold is one that strikes a balance between a not-extreme-enough value (which will
increase the number of data points fitted but may give biased fitting by allowing less extreme values to influence the
fitting too much), and a too-extreme value (which will fit to only the more relevant extreme data points, but may
give very wide confidence intervals if there are too few such extremes in the data).
Results
The following data items, found on the Results page, do not affect the fitting of the statistical model. Rather, they are
applied to the fitted model to obtain the reported results.
Rayleigh
Storm duration is the return period for which the return level is reported. The length of the simulation, relative to
this duration, will determine the accuracy of the estimate for the return level.
Risk factor is the probability of exceeding (or falling below, for lower tail) the estimated extreme value. For
example, you may ask for the 3-hour extreme value that is exceeded with a probability of 0.01 (i.e. a risk factor of
1%).
Weibull and GPD
Storm duration is defined as for the Rayleigh distribution.
w
User Interface, Results
75
The maximum likelihood fitting procedure used for these distributions allows the estimation of a confidence
interval for the return level, for a specified confidence level. OrcaFlex reports this estimated confidence interval in
addition to the estimated return level.
The reported return level is defined to be the level whose expected number of exceedences in the specified storm
duration is one. The fitted values of the model parameters and corresponding standard errors are also reported.
Note: For some values of storm duration (usually small values) it might not be possible to calculate the
return level. This is indicated by the value 'N/A' (meaning 'not available'). Similarly, for some
combinations of storm duration and confidence level, the calculation may fail to determine the
confidence limits, and again these are then denoted by 'N/A'.
Diagnostic Graphs
The diagnostic graphs will help you to assess the goodness-of-fit of the model, and how appropriate or not the fitted
distribution is. They should be interpreted together, not in isolation, as follows.
- The Quantile Plot displays quantiles of the empirical data plotted against model quantiles. If the model is a
good fit, then the points should lie close to the superimposed 45 diagonal line, and any significant departure
from this (especially a systematic one, for example an obvious trend away from the diagonal) indicates poor
model fit. The vertical lines, drawn through each point, are pointwise 95% tolerance intervals and may be
used as a guide to deciding whether any departure from the diagonal is significant. If all the vertical lines
intersect the diagonal line, then the modelled values are probably sufficiently close to the empirical value not to
be of concern. If, however, a number of the vertical lines fail to reach the diagonal, then that may raise concerns
about the validity of the fitted model.
- The Return Level Plot shows return level against return period (i.e. storm duration), with the latter on a
logarithmic scale to highlight the effect of extrapolation. The central line on the graph is the return level for the
fitted model, and the pair of outer lines the corresponding pointwise 95% confidence limits. The points are the
empirical return levels, based upon the data, and should lie between the confidence limits if the model fits the
data well. As with the quantile plot, a significant number of points contravening these limits indicates poor
model fit. Again, OrcaFlex may sometimes be unable to determine the confidence limits for some return periods
this may result in gaps in the confidence limit lines, or even in their not appearing at all.
An example of diagnostics graphs indicating a good model fit is shown below:

Figure: Diagnostics graphs for a good model fit
If either of these graphs indicates a poor model fit, then you should reconsider the entries on the data page:
- Distribution. The distribution may be inappropriate the data may simply not conform to the selected
distribution.
User Interface, Graphs
w

76
- Threshold. The threshold may be too low, hence including too many points which are not in the tail of the
distribution; or too high, resulting in too few data points for the analysis and consequent large variation in the
results.
- Decluster period. This may be too long (so too few data points), or too short (so successive data points might
not be independent).
Automation
The extreme value statistics capabilities can be automated in a number of different ways.
OrcaFlex spreadsheet
The OrcaFlex spreadsheet post-processing facility supports analysis using the Rayleigh distribution via the Rayleigh
Extremes command. The Weibull and GPD distributions are not available in the current version due to the
complexity of threshold selection.
OrcaFlex programming interface
The C/C++, Delphi, Python and MATLAB programming interfaces to OrcaFlex all support automation of extreme
value statistics. As with all other functionality, the Python and MATLAB interfaces are the easiest to use.
The full analysis capability is available via the programming interface. That is, in contrast to the OrcaFlex
spreadsheet, analysis using the Weibull and GPD distributions is available.
3.9.13 Presenting OrcaFlex Results
OrcaFlex users often wish to show their OrcaFlex results in a slide presentation prepared using a presentation
program such as Microsoft PowerPoint. Here are some tips on how this can be done.
Graphs
Graphs can be transferred from OrcaFlex to presentation programs by simple copy + paste.
Note: In PowerPoint, instead of using Paste, it is better to use Paste Special (from the Edit menu) and
then select the Enhanced Metafile. This gives better resolution.
Replays
Replays can be transferred by exporting to an AVI file and then importing that video clip file into the presentation
program.
An XVID encoded AVI file (and possibly other codecs) added to Microsoft PowerPoint slides as a Movie Object may
not play correctly (displaying a blank screen on replay, or the video only appearing in full screen mode). To avoid
these problems, an XVID AVI file needs to be inserted as a Video Clip Object. This can be done in two ways:
1. Drag and Drop the AVI file onto the PowerPoint slide, or
2. From the PowerPoint menu, choose Insert | Object. Select 'Create from file' and Browse to your file (do not
select the 'Link' option).
To set options such as auto repeat, right-click on the image in the slide, then select Video Clip Object | Open, this
displays the video player window and menus.
The Video Clip Object links to the AVI file (it is not embedded within PowerPoint) so the file location needs to be
accessible when running the presentation. The computer running the presentation must also have the XVID codec
installed.
Note: Resizing video clips (after pasting into your presentation) will introduce aliasing (re-digitisation
errors) so it is best to set the OrcaFlex 3D View window to the required size before you export the
video.
3.10 GRAPHS
When you request results in graphical form, they are presented in Graph Windows. You can open several
simultaneous graph windows, showing different results, and tile them on the screen together with 3D Views and
text results windows. To adjust a graph's properties (range of axes, colours, etc.) see Modifying Graphs.
Graphs have a popup menu that provides the following facilities.
- Use Default Ranges.
- Copy copies the graph to the clipboard, from where you can paste it into other applications.
- Values.
- Spectral Density.
- Empirical Cumulative Distribution.
w
User Interface, Graphs
77
- Rainflow half-cycle Empirical Cumulative Distribution.
- Extreme Value Statistics (for time history graphs).
- Export enables you to export the graph to a metafile or bitmap file.
- Print facilities and the Monochrome Output preference.
- Properties.
Graphs of simulation results are updated automatically as the simulation progresses. Also, they are kept even if you
reset the simulation, so once you have set up a set of interesting graphs you can edit the model and re-run the
simulation to see the effect of changing the model.
You can also set up results graphs when in reset state, prior to running a simulation the graph will be empty
initially and will grow as the simulation progresses. Note that we do not recommend this for graphs of line
clearance, however, since updating them can significantly slow down the simulation.
The workspace feature provides a very powerful way of managing collections of related graphs.
When a replay is in progress the replay time is indicated on both Time History and XY graphs.

Figure: Replay time indicator on a Time History Graph (vertical line at Time=16s) and on an XY
Graph (grey cross in bottom right of the graph).
The replay time indicator on a Time History graph can be directly manipulated using the mouse. With the CTRL key
pressed you simply click on a Time History graph and the indicator moves to where you have clicked. Any open 3D
Views are updated to show the new replay time. Similarly, with the CTRL key pressed you can click and then drag the
indicator. This direct manipulation of the replay time indicator is designed to help understand and visualise how
your model is behaving at key moments of the simulation.
Printing Graphs
To print a graph, use the File | Print menu item. When printing to a monochrome printer you will get the best results
by setting the Monochrome Output preference.
Copy and Paste with graphs
You can also copy a graph to the clipboard simply select the graph window by CLICKING on it and then using the
Edit | Copy menu item. From the clipboard you can then paste it into another application, for instance into a word
processor document. Graphs can also be exported using the popup menu.
User Interface, Spreadsheets
w

78
Note: When copying a graph to the clipboard, the size of the graph window you copy from has an effect
on how the text label fonts appear when the graph is pasted into another application. For example,
if you are copying a graph to a Word Processor and want the graph to be full page size, then the
graph window should be made large on screen (e.g. maximised). If you want a number of graphs on
one page of a document then the graph should be smaller on screen try tiling or cascading the
windows (see the Window menu). By experimenting with various differently sized graphs it should
be possible to arrange for the fonts to appear as you wish.
3.10.1 Modifying Graphs
You can zoom into a graph by holding down the ALT key and dragging a box around the area that you want the graph
to display. When you release the mouse button the region selected will be expanded to fill the graph. Mouse
shortcuts can also be used: CTRL+wheel to zoom, SHIFT+drag to pan. If you want to reverse this process then right
click the mouse and choose Use Default Ranges from the popup menu.
You can also change the appearance of a graph by double clicking on the graph or by selecting Properties from the
graph's popup menu. A form is then shown which allows you to change various aspects of the graph, as follows:
Axes
You can set the range, the tick spacing and the number of small ticks. The Use Default Tick Spacing button sets the
tick spacing and the number of small ticks to sensible default values based on the range. This is useful if you want to
set the range to a specific value and want the tick spacing to be set automatically.
Labels
You can alter the text and fonts of the axis and tick labels.
Curves
You can control the line properties and visibility for each curve on the graph.
Legend
The legend is a key showing which curve is which. It only appears on graphs that have multiple curves, e.g. range
graphs. You can control whether the legend is shown and if so where and using what font. Note that the legend
includes all the curves, even if some of them may not be visible at the time.
Intercepts
Intercepts are lines, like the axes, that go right across the graph. In fact the X and Y axes themselves are considered
to be intercepts. You can add more intercepts, for example to mark things like stage start times, and you can control
their position and style.
Save As Default
Changes to a graph's properties normally only apply to that graph. But for general settings (fonts etc.) you can also
click the Save As Default button. OrcaFlex then remembers the current settings for use with future graphs.
3.11 SPREADSHEETS
Some numerical results (e.g. obtained with the Values button on the Results form) appear in an Excel compatible
spreadsheet. The spreadsheet is read-only. If you wish to modify or extend it you must first save it as described
below.
Printing, Copying and Exporting Spreadsheets
To print the spreadsheet right click and select Print, but remember that OrcaFlex time histories are normally quite
long and will therefore produce many pages. If necessary, you can first adjust the printer setup using File | Printer
Setup.
You can also easily transfer the results to other applications by either:
- Copy and paste via the Windows clipboard. Select the block to be transferred and press CTRL+C.
- Saving to file. Choose Export from the popup menu to save as Excel format (.xls), comma separated values (.csv)
or as tab delimited text (.txt).
3.12 TEXT WINDOWS
Simple text windows are used for some reports see below. To print a text window, use the File | Print menu. You
can also copy text to the clipboard simply select a region of text and then use the Edit | Copy menu item (or press
CTRL+C). From the clipboard you can then paste it into another application. Alternatively, you can export the text to
a file using the window's File menu or the popup menu.
w
User Interface, Workspaces
79
Statics Progress Window
During a Statics Calculation, the progress of the calculation is shown in the message box on the status bar. However
the messages are also sent to a text window that is normally minimised. This window may be viewed by clicking on
the message box during statics, or by selecting the Window | Statics Progress menu item if you wish to watch the
process more closely. Like other text windows it may be printed, copied or exported, as described above.
3.13 WORKSPACES
It is common to have many windows (3D View, graph or spreadsheet) open within OrcaFlex. The workspace facility
is designed to help manage these windows.
Workspace files
A collection of view, graph or spreadsheet windows can be saved using the Workspace | Save Workspace menu item.
This creates a text file with the .wrk file extension containing a specification of the current window layout. The
workspace can be restored at any time with the Workspace | Open Workspace menu item. This can give significant
time savings if you wish to look at a number of different results windows for a large number of OrcaFlex models.
Note that the contents of the windows are not saved to the workspace file, just a logical description of the window.
For example, suppose you saved a workspace containing a graph of Effective Tension of a Line called Riser. If you
then loaded a different simulation file and open that workspace then you would see the Effective Tension of the Line
called Riser in the new simulation file and not the simulation filed open when the workspace was saved. This means
that you can look at the same collection of results for any number of simulation files.
Workspace files are not limited to simulation files static results and multiple statics results can also be saved.
Default workspaces
As an alternative to loading a workspace by using the Workspace menu items you can associate default workspaces
with either individual simulation files or with entire directories.
- If you define a default workspace for a simulation file then the workspace is restored whenever you open that
same simulation file.
- If you define a default workspace for a directory then the workspace is restored whenever you open any
simulation file in that directory.
Getting the most out of workspaces
We recommend that you save your workspace files in the same directory as the OrcaFlex files. If you do so then the
workspace file will appear in the Most Recent Files list on the Workspace menu.
Workspace files can be very useful if you are sending simulation files to another person. By including a workspace
file with the results of interest you can be sure that they will view the correct information. This can be particularly
valuable when sending files to someone who is not an experienced OrcaFlex user. This can even be useful when
sending files to Orcina for software support because they contain a precise specification of the results you are
interested in.
3.14 COMPARING DATA
The Compare Data menu item opens the Compare Data form, which allows you to find differences between the data
in two OrcaFlex files.
The comparison is done using a user-provided compare program, so when you first use this facility you need to
configure OrcaFlex to tell it which compare program that you want to use; see Configuration below.
You can then compare files as follows:
- On the Files page, specify the two files that you wish to compare. These can be data or simulation files.
- Click the Compare button.
- OrcaFlex then saves the data from the two files to temporary text files and then runs the user-specified compare
program to compare those text files.
As an alternative to comparing two data files on disk you can optionally choose to compare the currently loaded
model with a single file on disk.
Configuration
On the Configuration page you need to tell OrcaFlex the text file compare program that you want to use, and how to
use it. The compare program must be a program that can compare text files passed to it through the command line.
Many such programs are available on the web; we at Orcina have a preference for WinMerge.
User Interface, Preferences
w

80
Compare Program
This is the compare program's executable file name. You can specify either the full path, or just the file name if the
executable file resides in a directory which is on your system path.
If no program is specified OrcaFlex uses a very basic, built-in, compare facility.
Command Line Parameters
This defines the command line parameters that are passed to the compare program. OrcaFlex replaces the special
strings %1 and %2 with the file names of the temporary text files.
OrcaFlex also replaces special strings %name1 and %name2 with readable names describing the two files or objects
that are being compared. Not all compare programs have the capability of assigning readable names and just use the
file name, so the use of this facility is optional.
For most compare programs the default setting of %1 %2 will be sufficient. Otherwise you will need to consult the
documentation of your compare program.
If you are using WinMerge then we recommend using the following: /e /x /s /dl %name1 /dr %name2 %1 %2
3.15 PREFERENCES
OrcaFlex has a number of settings that can be customised to suit the way that you work. The majority of settings can
be adjusted in the Preferences form, which is accessed by using the Tools | Preferences menu item.
3D View
Minimum Mouse Drag Distance
Object positions are not updated until the mouse has been dragged at least this distance (in pixels). This prevents
accidental changes to object positions. To make a small movement, drag away and then back again, or edit the
coordinate directly in the object's Edit Form.
View Rotation Increment
Each CLICK on a Rotate View button increments or decrements View Azimuth or Elevation by this amount.
Refresh Interval
During a calculation all 3D View and Graph windows are updated at the rate specified. Different refresh intervals
can be used for static and dynamic calculations.
Background Colour
This sets the background colour of all 3D View windows.
Locate Object Method
Can be either Flash object or Hide other objects. It determines what method the Locate action in the model
browser uses.
- When the Flash object preference is set then the Locate action repeatedly draws and hides the object on the 3D
View, like a blinking cursor.
- When the Hide other objects preference is set then the Locate action temporarily hides all other objects.
Normally the default setting of Flash object is sufficient to locate objects. However, if the model you are searching
for is obscured by other objects then this method may not help you to locate the object. In this case you should use
the Hide other objects preference.
3D View Axes
View Axes
The view axes show the same directions as the global axes, but are drawn in the top right-hand corner of 3D views,
rather than at the global origin. Can also be set from the View menu.
Scale Bar
Determines whether a scale bar is drawn in 3D views. Can also be set from the View menu.
Note: The Scale Bar is not drawn for shaded graphics views because it would be meaningless due to
perspective.
Global Axes
Determines whether the global axes are drawn, at the model's global origin (0,0,0). Can also be set from the View
menu.
w
User Interface, Preferences
81
Environment Axes
Determines whether the wave, current and wind directions are drawn in the 3D view. When multiple wave trains
are present the first wave train is taken to be the dominant one and is drawn using sea surface pen, whereas the
other wave trains' directions are drawn in the secondary wave direction pen. Can also be set from the View menu.
Local Axes
Determines whether the local axes for vessels, buoys and line ends are shown. Drawing the local axes on the 3D
view helps you check the orientations of these objects. This preference can also be set from the View menu.
Note: Local Axes are not drawn for shaded graphics views.
Node Axes
Determines whether axes for line nodes are shown. This preference can also be set from the View menu.
Out of Balance Forces
If selected, then in the static analysis (not during the simulation) there are extra lines drawn on the 3D view,
representing the out of balance force acting on each vessel and buoy. This preference is sometimes useful for static
analysis, since it enables you to see how far a buoy or vessel is from being in equilibrium. This preference can also
be set from the View menu.
The force is drawn as a line, starting at the force's effective point of application, and whose length represents the
size of the force. The scaling is piecewise linear and based on the View Size of the 3D view. Lines up to ViewSize/2
long mean forces up to 10 force units and lines from ViewSize/2 to ViewSize mean forces from 10 to 1000 force
units.
Note: Out of Balance Forces are not drawn for shaded graphics views.
Video
The video preferences allow you to control the compression algorithm used for exported video. The software which
performs this compression is called a codec. Because the different graphics modes produce very different images
they require different types of codec.
Shaded Graphics Codec
The run-length encoding which works well for wire frame graphics is not suitable for shaded replays and in fact
there is no suitable built-in codec in Windows. We would recommend using an MPEG-4 codec of which many are
available. In our experience the freely available (licensed under the GPL) XVID codec performs very well. The
Shaded Graphics topic has more information about the XVID codec.
You can choose to use other codecs that are installed on your machine. Should you do so then you must also specify
the following information:
- Codec 4 character code: Codecs are identified by unique codes, 4 characters long. Good alternatives to XVID
include DIVX, the 3ivx codec (character code 3IV2).
- Padding: MPEG-4 codecs commonly require round number frame sizes (width and height in pixels). For
example XVID requires frame sizes to be multiples of 8. When OrcaFlex exports the video it ensures that the
frame sizes are a multiple of this number. If you are unsure of what number to use for your codec then we
recommend trying 8 which usually works.
- Colour depth: Some MPEG-4 codecs require a specific colour depth. Again, if you are unsure of what value to
use then we recommend trying 32 bit or 16 bit colour depth.
Wire Frame Graphics Codec
Run-length encoding is the default setting and is usually the best choice. This codec offers good compression rates
for OrcaFlex wire frame video. The AVI files produced using this codec can be played on most Windows PCs.
If you choose Uncompressed then each frame of the video is stored as an uncompressed bitmap. This means that
the AVI file produced can be extremely large.
Output
JPEG Compression Quality
A value between 0 and 100 that determines the quality of exported JPEG files. Lower values have worse visual
quality, but greater compression (i.e. smaller file size). Higher values have better visual quality, but less
compression (i.e. larger file size).
User Interface, Preferences
w

82
Printer Margins
These set the margins used on printouts. You specify the margin dimensions for the left and top sides of the paper,
and these are reflected to the right and bottom margins.
Monochrome Output
If this is checked then external output (clipboard, exported images, printing etc.) is in black and white. This is useful
with black and white printers, since otherwise pale colours may be drawn in very light grey and may be hard to see.
Add program/file details to output
If this is checked then external output includes text with details of the program version, file name, file modified time
etc.
Default File Types
OrcaFlex outputs files of a wide variety of formats. For example, spreadsheets can be output in Excel, comma
separated or tab delimited formats. When you save a file, you can select which format to use with the Save as type
drop-down on the standard file dialog. The default file types preferences allow you to control which file format is
first selected when a file dialog opens.
Messages
A number of OrcaFlex warning messages can be disabled by checking Don't show this message again on the warning
message form. Once a message has been disabled, it will not be shown again. These messages can be re-enabled by
checking the appropriate box on this page.
Miscellaneous
Show Splash Screen
Determines whether OrcaFlex displays its splash screen when the program starts.
Batch Auto Save
If this is enabled then simulations run in batch mode are automatically stored to simulation files at the specified
regular Auto Save Interval. This is useful if your computer is prone to failure (for example because of overnight
power failures) since the part-run simulation file can be loaded and continued, rather than having to re-run the
whole simulation from scratch. The Auto Save Interval should be neither too short, since then the program will then
waste a lot of time repeatedly storing away the results, nor too long, since then a lot of simulation work will be lost if
a failure occurs.
w
Automation, Introduction
83
4 AUTOMATION
4.1 INTRODUCTION
OrcaFlex provides several important facilities for automating and post-processing work:
- OrcaFlex is supplied with a special Excel spreadsheet which enables you to automate the extraction of
simulation results into your own spreadsheet. You can then use the normal Excel calculation facilities to do your
own customised post-processing and graphing.
- The Batch Processing facility enables you to run a set of simulations in unattended mode, for example as an
overnight job. The simulations can either be of pre-prepared data files, or else can be specified by a batch script
file that specifies the simulation as variations on a base data file. The OrcaFlex Spreadsheet mentioned above
also has facilities for automating the production of batch script files and text data files. Models can define post
calculation actions which are executed after batch analyses.
- OrcaFlex includes a well-documented programming interface called OrcFxAPI (short for OrcaFlex Application
Program Interface). See the OrcFxAPI help file for details. OrcFxAPI is a Windows dynamic link library (DLL)
that is installed when you install OrcaFlex, and which provides facilities for setting data, calculating static
positions and extracting results from those calculations or from pre-run simulation files. For example you can
write programs to automate post-processing or that use OrcaFlex as a statics calculation engine. One important
example application of this is for real-time monitoring of pipes, moorings etc. For further information or to
discuss possible applications of OrcFxAPI, please contact Orcina.
4.2 BATCH PROCESSING
4.2.1 Introduction
Simulations, script files, post-processing spreadsheets and fatigue analyses can all be run in unattended mode, by
using the Calculation | Batch Processing menu item. This command opens a form that allows you to set up a list of
jobs that are to be run. The list can include any number and mixture of the following types of job:
1. Static analysis of pre-prepared OrcaFlex data files (.dat or .yml). OrcaFlex opens the data file, performs the static
analysis and then saves the results in a simulation file with the same name as the data file, but with a .sim
extension.
2. Dynamic analysis of pre-prepared OrcaFlex data files (.dat or .yml). OrcaFlex opens the data file, performs the
static analysis, runs the dynamic simulation and then saves the results in a simulation file with the same name
as the data file, but with a .sim extension.
3. Partially-run OrcaFlex simulation files (.sim). OrcaFlex opens the simulation file, finishes the dynamic
simulation and then saves the completed simulation, overwriting the original file.
4. A batch script file (.txt). This is a text file which contains OrcaFlex script commands. OrcaFlex opens the script
file and obeys the commands in turn. The most common use of script files is to perform a series of systematic
variations on a base data file.
5. A fatigue analysis file (.ftg or .yml). OrcaFlex performs the fatigue analysis and saves the results to a binary .ftg
file. In addition the results tables are saved to an .xls spreadsheet.
6. An OrcaFlex Spreadsheet (.xls or .xlsx). OrcaFlex will process all post-processing sheets in the Excel workbook.
Note that if the spreadsheet's "Contains Dependencies" options is checked then the workbook will be processes
as a single job using a single thread. If it isnt checked, then each instructions sheet will be broken down into
multiple load cases which are individually added to the batch and may be processed simultaneously.
Note: If you wish to use Excel for any reason while OrcaFlex is processing spreadsheets within a batch it
is important that you open Excel first, then open the file you wish to work on. The reason for this is
that when you double click an Excel file, Windows will try to use the copy of Excel OrcaFlex has
claimed, resulting in unpredictable failures.
When adding data files (.dat or .yml) you need to specify whether static or dynamic analysis is to be performed.
This choice is made from the Add Files file dialog window, or from the popup menu.
OrcaFlex can auto-save partial completed dynamic simulations to file at regular intervals during the batch job. This
is useful if your computer is prone to failure (for example because of overnight power failures) since the part-run
simulation file can be loaded and continued, rather than having to re-run the whole simulation from scratch.
Multi-threading
The batch processing functionality can make use of multiple processor cores. So, for example, if you have a quad-
core machine then 4 simulation files can be run concurrently.
Automation, Batch Processing
w

84
Since some batch tasks can depend on the output of other tasks OrcaFlex processes tasks in a very particular order,
as follows:
- The batch script files are all processed first. Because it is common to write scripts that output data files it is
important to complete all batch scripts before processing the data files.
- Any data or simulation files are processed next.
- Fatigue files are processed next. These use simulation files as input and so should not be started until all data or
simulation files have been processed.
- Finally any OrcaFlex spreadsheet files or load cases are processed. These also cannot be started until all data or
simulation files have been processed.
The commands in batch script files are processed sequentially. Consequently any simulations that are processed
with RunDynamics commands cannot be performed in parallel. Because of this it is advisable to use the SaveData
command rather than the RunDynamics command when creating batch scripts. Such a script would create a number
of OrcaFlex data files which you could then process in the batch form using all available processor cores.
Batch Form User Interface
Close
Dismisses the batch form.
Add Files
Adds jobs to the list. Files can also be added by drag and drop. That is if you are browsing your file system then you
can highlight files and drag them onto the jobs list.
Files can be added whilst a batch is running. Note that this feature has the limitation that all pre-existing jobs must
be run to completion before the program starts processing the files added whilst the batch was active.
Remove Files
Removes any files highlighted in the jobs list.
Check Files
OrcaFlex opens each file in the jobs list, checks that they contain valid OrcaFlex data or script commands and reports
any errors. When checking OrcaFlex spreadsheet or fatigue files it simply confirms the file exists.
Run Batch
Processes the list of jobs. If a job fails then it is abandoned but other jobs are still attempted. Any errors are reported
once all jobs have been processed.
Pause Batch
Pauses the currently running batch jobs. This can be useful if you temporarily want another process on your
machine to have the processor resource that OrcaFlex is using.
Stop Batch
Terminate processing of batch jobs.
Warnings
Displays a window allowing you to review all warnings generated by OrcaFlex during a calculation. These warnings
are suppressed when you are operating in batch mode and this button allows you to review them once the
simulation has completed.
Close program when Batch completes
If checked then OrcaFlex will close once the processing of jobs completes. This feature is intended principally for
users with networked licences. It allows you to release your claim on an OrcaFlex licence as soon as the batch of jobs
is complete.
4.2.2 Script Files
OrcaFlex provides special facilities for running a series of variations on a base data file, using a script file. This
contains a sequence of commands to read a data file, make modifications to it, and run the modified file, storing the
results for later processing. The file can also include comments. The syntax for the instructions is described in the
next topic.
Script files can be written using any text editor. However, it is quite unusual to do this because there are very
productive facilities in the OrcaFlex spreadsheet for automatically generating script files for regular sets of cases.
A more recently introduced alternative to script files are text data files. These can be used to specify load case
variations. Once again, the OrcaFlex spreadsheet offers a facility to generate these text data files.
w
Automation, Batch Processing
85
4.2.3 Script Syntax
An OrcaFlex batch script is made up of commands, which are obeyed sequentially, and comments, which are
ignored. A comment is a line that is either blank or on which the first non-blank characters are "//". A command can
be:
1. A directive followed by one or more arguments, optionally separated by white space (one or more spaces or
tabs). For example: load c:\temp\test.dat where load is the directive and c:\temp\test.dat is the
argument.
2. An assignment of the form VariableName=value, again with optional white space separators. For example:
Length = 55.0.
Note that:
- Directives, variable names, and object names are all case independent.
- If your script includes a relative file name then it is taken to be relative to the directory from which the script
was loaded.
- File names, arguments, variables or values containing spaces or non-alphanumeric characters must be enclosed
in single or double quotes and they must not contain the same quote character as is used to enclose them. For
example '6" pipe' and "200' riser" are valid, but the following are not valid:
6 inch pipe contains spaces, so needs to be enclosed in quotes;
6"pipe contains a double quote, so needs to be enclosed in single quotes;
'6' pipe' contains a single quote, so needs to be enclosed in double quotes instead of single.
4.2.4 Script Commands
The script commands are executed in the context of an active model. This can be either an OrcaFlex model
containing Vessels, Lines etc., or a Fatigue Analysis. The active model defaults, at the start of script execution to
being an OrcaFlex model. The active model can change due to a Load/LoadData command, or following a
NewModel/NewFatigue command. Some of the commands have different interpretations, depending on what type
of model is active, as described below.
The following batch script commands are currently available. You need to put quotes round file names or other
parameters that include spaces or non-alphanumeric characters.
Load <FileName>
Opens the OrcaFlex file named <FileName>. The file can be a data file, a simulation file or a fatigue analysis file.
LoadData <FileName>
Opens the data from the OrcaFlex data file named <FileName>.
RunStatics <FileName>
Perform statics for the current model and save the resulting simulation to <FileName>. After the file is saved the
model is reset.
RunDynamics <FileName>
Run dynamics for the current model and save the resulting simulation to <FileName>. After the file is saved the
model is reset.
Note: We no longer recommend that you use the RunStatics and RunDynamics commands. The
commands in a batch script are executed sequentially. This means that if your machine has
multiple processors, those processors will not be fully utilised. The recommended approach is to use
the batch script to generate OrcaFlex data files and then add those to the batch job list. This will
result in the most effective use of processor resources.
Run <FileName> (OrcaFlex model active)
This command is identical to RunDynamics.
Run <FileName> (Fatigue active)
This command:
1. Performs the fatigue analysis.
2. Saves the results to <FileName> which should have the .ftg extension.
3. Saves tabular results to an Excel workbook with the same name, but an .xls extension.
Automation, Batch Processing
w

86
Save <FileName> (OrcaFlex model active)
Save the current model to <FileName>. If calculation results (either statics or dynamics) are available then a
simulation file will be saved. Otherwise a data file will be saved. When saving data, if the file extension is .yml then a
text data file will be saved; otherwise a binary data file will be saved.
Save <FileName> (Fatigue active)
Saves the fatigue model to <FileName> which should have the .ftg extension.
SaveData <FileName>
Save the data from the current model to <FileName>.
If the file extension is .yml then a text data file will be saved; otherwise a binary data file will be saved.
Note: In the Load/LoadData, Save/SaveData and RunStatics/RunDynamics/Run commands, if
<FileName> is a relative path then it is taken to be relative to the directory from which the script
file was loaded.
ExtendSimulation <StageDuration>
Adds a new stage of length <StageDuration>. This command is equivalent to the Calculation | Extend Dynamic
Simulation menu item. You would normally follow this command with a Save command.
Reset
Resets the current model. This command is equivalent to the Calculation | Reset menu item.
NewModel
This command makes the active model an OrcaFlex model, deletes all objects from the model and then resets data to
default values. This command is equivalent to the File | New menu item.
NewFatigue
This command makes the active model a Fatigue Analysis and then resets data to default values. This command is
equivalent to the Fatigue Analysis File | New menu item.
Create <ObjectType> [<ObjectName>]
Creates a new object of type <ObjectType>. The new object is automatically selected which means that subsequent
assignment commands apply to this new object.
The <ObjectType> parameter can be "Line Type", "Vessel Type", "Line", "Winch" etc. Select Edit | Add from the
Model Browser menu to see a list of possible values for this parameter.
Alternatively variable data sources can be created by setting the <ObjectType> parameter to "Bending Stiffness",
"Drag Coefficient" etc. This list of possible variable data source object types can be found in the Data Source Type
tree on the variable data form.
If the optional <ObjectName> parameter is included then the new object will be given that name.
Delete <ObjectName>
Deletes the object called <ObjectName>.
Select [<Object Type>] <ObjectName>
Specify the object to which subsequent assignment commands will apply.
The <ObjectType> parameter is optional, and by default is 'object', meaning select the named object. <ObjectName>
must then be either the name of an object that exists in the current model or one of the reserved names 'General'
(for the General data form) or 'Environment' (for the Environment data form).
Some examples of the select and assignment commands are given in Examples of setting data.
Other <ObjectType> values only need to be specified in the following special cases.
If the Environment has been selected and there is more than one wave train, then before you can specify any wave
train data you must give another select command to select the wave train. This second select command has the
form:
Select WaveTrain <WaveTrainName>
So, for example:
Select Environment
Select WaveTrain Primary
WaveDirection = 30.0
Similarly, if the Environment has been selected and there is more than one current data set, then you must select
one of them before specifying any current data. For example:
w
Automation, Batch Processing
87
Select Environment
Select Current Current2
RefCurrentDirection = 270.0
Note that this is not the same as setting the Active Current. In fact, you should avoid setting up multiple current data
in batch scripts if possible: this is best done interactively on the Environment form.
If a vessel type has been selected and it has more than one draught, then before specifying any draught-dependent
data you must give another select command that selects the draught. This second select command has the form:
Select Draught <DraughtName>
Before specifying data for RAOs you need to specify the type of RAOs this can be either Displacement, WaveLoad
or QTF. This is done with a command of the form:
Select RAOs <RAO type>
Similarly, before specifying vessel type data for a given wave direction you must give another select command to
select that direction. This takes the form:
Select Direction <Direction>
So, for example:
Select "Vessel Type1"
Select Draught Transit
Select RAOs Displacement
RAOOriginX = 10
RAOOriginY = 0
RAOOriginZ = 2
Select Direction 45
RAOSurgeAmplitude[2] = 0.1
Select Direction 90
RAOSurgeAmplitude[2] = 0.16
When the a Fatigue Analysis is active, you need to select S-N and T-N curves before assigning their data. For
example:
Select SNcurve "S-N Curve1"
SNDataA = 23.0
Select TNcurve "T-N Curve1"
TNcurvem = 2.8
Note: Indentation with spaces or tabs is optional, but makes scripts more readable.
Assignment
Assignment commands take the form
VariableName = Value
The VariableName on the left-hand side must be one of the recognised variable names and the named variable must
exist in the currently selected object. The Value on the right-hand side must be in the appropriate form for that
variable (i.e. numeric or text) and it must be given in the same units as used in the current model.
For example:
Select Vessel1
Length = 110
Draught = "Operating draught"
If VariableName is the name of a variable that appears in a check box in OrcaFlex then the Value should be Yes or No.
For example:
Select Environment
CurrentRamp = Yes
If VariableName is the name of a variable that appears in a table in OrcaFlex, then its row number must be given.
The row number is given as an index enclosed by either square or round brackets (don't mix them on the same line),
and is always 1-based, i.e. [1] is the first row of the table. Note that this sometimes requires care, since in OrcaFlex
the table might not be 1-based. For example, when setting the prescribed motion for a vessel, the command
PrescribedMotionVelocity[2] = 4.8
sets the velocity in the 2
nd
row of the table, but in this case the first row of the table is stage 0 (the build-up stage) so
this command (slightly confusingly) sets the velocity for stage 1.
More examples of the select and assignment commands are given in Examples of setting data.
Automation, Batch Processing
w

88
InvokeWizard
Sets the data for the selected object using either the Line Type Wizard or the Plasticity Wizard. The selected object
must be either a line type or a bend stiffness variable data source. The input data for the Wizard should first be set
using data assignment commands.
An example of how to use this command is given in Examples of setting data.
InvokeLineSetupWizard
Invokes the Line Setup Wizard calculation. The input data for the Wizard should first be set using data assignment
commands.
An example of how to use this command is given in Examples of setting data.
WaveSearch <FileName>
Exports the wave search spreadsheet to the specified file. The file can be an Excel spreadsheet (.xls), a tab delimited
file (.txt) or a comma separated file (.csv). The decision is taken based on the file extension that you specify. The
input data for the wave search should first be set using data assignment commands.
DisplacementRAOsReport <FileName> [<VesselName>]
SpectralResponseReport <FileName> [<VesselName>]
Exports the vessel response report spreadsheets to the specified file for the specified vessel. The file can be an Excel
spreadsheet (.xls), a tab delimited file (.txt) or a comma separated file (.csv). The decision is taken based on the file
extension that you specify. If no vessel is specified, and there is only one vessel in the model, then that vessel will be
used. The input data for the response reports should first be set using data assignment commands.
SHEAR7DataFile <LineName> <FileName>
Exports to <FileName> a SHEAR7 data file for the line named <LineName>.
SHEAR7MdsFile <LineName> <FileName> [<FirstMode> <LastMode>]
Exports to <FileName> a SHEAR7 Mds file for the line named <LineName>.
The <FirstMode> and <LastMode> parameters are optional. If they are specified then mode numbers in the range
<FirstMode> to <LastMode> inclusive are exported. If these parameters are omitted then all modes are exported.
Only the Transverse and Mostly Transverse modes are included in the exported file. If you have specified first and
last modes to export then these mode numbers refer to the transverse and mostly transverse modes. The program
takes the following steps:
1. Calculate all modes.
2. Sort the modes into order of decreasing period / increasing frequency.
3. Remove all modes which are not Transverse or Mostly Transverse.
4. Export the modes in the range <FirstMode> to <LastMode> inclusive.
SHEAR7OutputFile <LineName> <FileName>
Exports to <FileName> the SHEAR7 output file for the line named <LineName>. The file extension that you specify
(e.g. .out, .plt etc.) is used to determine which output file is exported. This command is only available if the direct
SHEAR7 interface is in use.
4.2.5 Examples of setting data
The Select command is probably the most difficult script command to use. To help understand how it works we
present some examples of its use below:
Simple examples
For many objects the script commands for setting data take the form:
1. Select the object using the command Select <ObjectName>.
2. Set the data using one or more commands of the form VariableName = Value.
The object name is most easily found on the Model Browser. The variable name is found by opening the relevant
data form, selecting the required data item and pressing F7.
Some examples of this procedure follow:
Select Link1
UnstretchedLength = 50

Select "3D Buoy1"
Mass = 4
Volume = 8
w
Automation, Batch Processing
89
Height = 7.5

Select Line1
IncludeTorsion = Yes
Note: The name "3D Buoy" needs to be enclosed in quotes because it contains a space. If the name
contains a double quote and spaces then it should be enclosed with single quotes.
Data in tables and indices
Some data in OrcaFlex appear in tables. For example consider the Structure page of the Line data form which
specifies how a Line is made up of a number of sections. Each section is specified by its Line Type, length etc. The
following example sets the number of sections of the line to be 2 and then sets data for both sections in turn.
Select Line1
NumberOfSections = 2

LineType[1] = Riser
Length[1] = 75
TargetSegmentLength[1] = 4

LineType[2] = Rope
Length[2] = 200
TargetSegmentLength[2] = 20
Note that we use blank lines to lay out the script. This is not essential but makes reading the script easier.
Data which appear in tables are always set using the indexed notation used above. Having stated this rule, we
immediately break it in the section below!
Line Type, Clump Type and Flex Joint Type data
These data are set by first selecting the type by name and then assigning the data as illustrated below:
Select "Line Type1"
OuterDiameter = 0.28
InnerDiameter = 0.21
On the Line Types data form there is an option to view the data for all Line Types at once or to view by individual
Line Type. When viewing for all Line Types at once, the data appear in tables with one row per Line Type. However,
the data must be set by first selecting the type by name and then assigning the data. You cannot set Line Type using
index notation.
Similar rules apply to Clump Type data and to Flex Joint Type data.
Drag Chain Type and Wing Type data
These data are also set by first selecting the type by name and then assigning the data. For example:
Select "Drag Chain Type1"
Length = 12

Select "Wing Type1"
NumberOfAngles = 12
Angle[2] = -80
Lift[2] = 0.2
Drag[2] = 0.15
Moment[2] = 0.5
Data found on the General data form
Data found on the General data form can be set as follows:
Select General
InnerTimeStep = 0.01
OuterTimeStep = 0.1
Data found on the Environment data form
Data found on the Environment data form can be set as follows:
Select Environment
SeaBedStiffness = 3000
SeaBedDamping = 80
For data specific to a particular wave train you must first select the Environment and then select the particular wave
train. This makes use of the alternative syntax for Select which is Select <Object Type> <ObjectName>. For a wave
Automation, Batch Processing
w

90
train you replace <ObjectType> with WaveTrain and replace <ObjectName> with the name of the wave train as
defined on the Environment data form. For example:
Select Environment
Select WaveTrain "Swell from SW"
WaveDirection = 135
WaveType = "Dean Stream"
WaveHeight = 2.5
WavePeriod = 18
Select WaveTrain "Local Wind Sea"
WaveDirection = 40
WaveType = JONSWAP
WaveHs = 5.7
WaveTz = 9
Data for Current data sets
Multiple Current data sets can be defined. Again this requires the alternative syntax for Select as shown below:
Select Environment
MultipleCurrentDataCanBeDefined = Yes
NumberOfCurrentDataSets = 2
CurrentName[1] = "120deg"
CurrentName[2] = "150deg"
Select Current "120deg"
RefCurrentDirection = 120
Select Current "150deg"
RefCurrentDirection = 150
ActiveCurrent = "150deg"
Vessel Type data
Some Vessel Type data are set in a straightforward manner as follows:
Select "Vessel Type1"
Length = 120
PenWidth = 3
Symmetry = "XZ plane"
However, the majority of Vessel Type data require that you also specify to which draught the data apply. For
example:
Select "Vessel Type1"
Select Draught "Transit Draught"
CurrentCoeffSurgeArea = 1200
CurrentCoeffSwayArea = 1100
CurrentCoeffYawAreaMoment = 120E3
To set data for displacement RAOs, wave load RAOs, wave drift QTFs and sum frequency QTFs you must also specify
to which type of RAO the data apply. For example:
Select "Vessel Type1"
Select Draught "Survival Draught"

Select RAOs Displacement
RAOOriginX = 10
RAOOriginY = 0
RAOOriginZ = 2

Select RAOs WaveLoad
RAOOriginX = 0
RAOOriginY = 0
RAOOriginZ = 0

Select RAOs WaveDrift
RAOOriginX = -3
RAOOriginY = 0
RAOOriginZ = 4

Select RAOs SumFrequencyQTF
RAOOriginX = -3
RAOOriginY = 0
RAOOriginZ = 4
w
Automation, Batch Processing
91
Note that the variable names are the same but different data are set depending on which type of RAOs has been
selected.
In addition, when setting RAO table data (for displacement RAOs, wave load RAOs and wave drift QTFs) you must
specify to which direction the data apply. For example:
Select "Vessel Type1"
Select Draught "Survival Draught"
Select RAOs Displacement
Select Direction 22.5
RAOYawAmplitude[2] = 0.13
Select Direction 45
RAOYawAmplitude[2] = 0.18
However, it is worth pointing out that situations where you would wish to specify RAO table data in a batch script
are rare. It is much more likely that you would import these data into OrcaFlex from some external source and then
save it as part of the base case data file.
P-y Model data
P-y Model data is complicated because each depth must be selected before the model data can be accessed.
Select "P-y Model1"
NumberOfDepths = 3
DepthBelowSeabedFrom[1] = 0.0
DepthBelowSeabedFrom[2] = 10.0
DepthBelowSeabedFrom[3] = 20.0
SelectedDepthBelowSeabedFrom = 0.0
ModelType = "API RP 2A Soft Clay"
EffectiveUnitSoilDensity = 1.6
UndrainedShearStrength = 6.0
J = 0.5
Epsilonc = 4.0
SelectedDepthBelowSeabedFrom = 10.0
ModelType = "API RP 2A Sand"
EffectiveUnitSoilDensity = 1.3
C1 = 1.1
C2 = 2.0
C3 = 15.0
k = 42.0
SelectedDepthBelowSeabedFrom = 20.0
ModelType = "P-y Table"
NumberOfEntries = 2
Deflection[1] = 0.0
Resistance[1] = 0.0
Deflection[2] = 0.2
Resistance[2] = 11.0
SHEAR7 data
SHEAR7 data ownership is divided between the SHEAR7 object and Line objects. The SHEAR7 file version, output
file options and S-N curve data are owned by the SHEAR7 object:
Select "SHEAR7 data"
SHEAR7FileVersion = 4.6
SHEAR7OutputDmg = Yes
To access the S-N Curve table requires that the curve is selected first:
Select "SHEAR7 data"
Select SHEAR7SNCurve Curve2
SHEAR7SNCurveNumberOfPoints = 3
SHEAR7SNCurveS[3] = 10E5
SHEAR7SNCurveN[3] = 10E4
SHEAR7SNCurveEnduranceLimit = 750.7
SHEAR7 Whole Line data and Stress Concentration Factors are accessed through a line object:
Select Line1
SHEAR7CurrentProfileDiscretisation = "Regular spacing"
SHEAR7CurrentProfileTargetSpacing = 10
SHEAR7LocalSCFArcLength[1] = 32.0
SHEAR7LocalSCF[1] = 1.15
Automation, Batch Processing
w

92
The SHEAR7 Hydrodynamic and Structural Section data apply to a line section, so the index of the section is
required:
Select Line1
SHEAR7StrouhalType[1] = "Rough Cylinder"
SHEAR7LiftFactor[1] = 0.9
SHEAR7SectionSNCurve[2] = Curve1
Line Contact data
To edit penetrator data, the penetrator locations data set must first be selected:
Select "Line Contact Data"
Select PenetratorLocationsDataSet Locations1
Penetratorx[2] = 13.6
Penetratory[2] = -2.5
PenetratorContactArea[2] = 0.85
Code Checks data
Code Checks data ownership is divided between the Code Checks object and Line Type objects. Model wide data
items are owned by the Code Checks object:
Select "Code Checks"
APIRP2RDDesignCaseFactor = 1
The per line type code check data are just like any other line type data:
Select "Line Type1"
APIRP2RDCorrosionThickness = 0.001
APIRP2RDSMYS = 380e3
Variable Data sources
Data for Variable Data sources can be set from the batch script, although once again we feel it is unlikely that you
would need to do this often. The procedure for setting variable data sources is illustrated below:
Select Stiffness1
NumberOfRows = 3

IndependentValue[1] = 0
DependentValue[1] = 0

IndependentValue[2] = 0.2
DependentValue[2] = 1000

IndependentValue[3] = 0.4
DependentValue[3] = 5000
Note that IndependentValue and DependentValue are the variable names for the X and Y columns of the variable
data source. That is if you are setting data for a bending stiffness data source then IndependentValue denotes
curvature and DependentValue denotes bend moment.
Line Type Wizard
The Line Type Wizard can be used from batch script. First of all you must select the Line Type and set its Wizard
data. Once this is complete the Wizard is invoked using the InvokeWizard command as illustrated below:
Select "Line Type1"
WizardCalculation = "Homogeneous Pipe"
PipeMaterial = Steel
PipeOuterDiameter = 0.082
PipeWallThickness = 0.005
InvokeWizard

Select "Line Type2"
WizardCalculation = "Line with Floats"
FloatBaseLineType = "Line Type3"
FloatDiameter = 0.80
FloatLength = 1.2
FloatPitch = 5.5
InvokeWizard
w
Automation, Batch Processing
93
Plasticity Wizard
The Plasticity Wizard can be used from batch script. First of all you must select the Bend Stiffness variable data
source and set its Wizard data. Once this is complete the Wizard is invoked using the InvokeWizard command as
illustrated below:
Select Stiffness1
StressOD = 0.30
StressID = 0.27
Type = "Ramberg-Osgood curve"
E = 230.0e6
RefStress = 385.0e3
InvokeWizard
Line Setup Wizard
The Line Setup Wizard can be used from batch script using the InvokeLineSetupWizard command. The input data
should be set before invoking. These data are owned by a variety of different objects. The model-wide data (e.g.
calculation mode and convergence parameters) are owned by the General object. The line-specific data are owned
by each individual line. The following script illustrates this:
Select General
LineSetupCalculationMode = "Calculate Line Lengths"
LineSetupMaxDamping = 20
Select Line1
LineSetupTargetVariable = "Tension"
LineSetupLineEnd = "End A"
LineSetupArclength = 0.0
LineSetupTargetValue = 830.0
Select Line2
LineSetupIncluded = No
InvokeLineSetupWizard
Polar Coordinates data on the All Objects form
The All Objects data form allows end connection data to be specified as polar coordinates and these polar
coordinates data are only accessible from this form.
The data appear in a table containing all Line, Winch and Link connections. However, the data still belong to each
individual object and the appearance of a table of data is purely presentational. This means that to set the data you
must first select the individual Line, Link or Winch and then set the data, as illustrated below:
Select Line1
PolarR[1] = 20.0
PolarTheta[1] = 45.0
PolarR[2] = 340.0
PolarTheta[2] = 45.0
Select Line2
PolarR[1] = 20.0
PolarTheta[1] = 90.0
PolarR[2] = 340.0
PolarTheta[2] = 90.0

Select Winch1
PolarR[3] = 0.0
PolarTheta[3] = 90.0
PolarR[4] = 10.0
PolarTheta[4] = 90.0
For lines and links an index of 1 means End A and an index of 2 means End B. For winches the index identifies the
winch connection point.
Colour data
Drawing colour data items can be set through batch script in a variety of ways. The simplest is to use the pre-defined
colours as follows:
Select "Line Type1"
PenColour = Red
Select "Line Type2"
PenColour = Green
The full list of pre-defined colours is: Black, Maroon, Green, Olive, Navy, Purple, Teal, Gray, Silver, Red, Lime, Yellow,
Blue, Fuchsia, Aqua, MoneyGreen, SkyBlue, Cream, MedGray and White.
Automation, Batch Processing
w

94
If you want more control over the colour then you can specify an RGB value as an integer. The following example has
the same effect as the previous one:
Select "Line Type1"
PenColour = 255
Select "Line Type2"
PenColour = 65280
Using decimal values for RGB value is impractical. Instead a neat trick is to specify the colour as a hexadecimal value
by prefixing it with a $ sign as follows:
Select "Line Type1"
PenColour = $0000FF
Select "Line Type2"
PenColour = $00FF00
Select "Line Type3"
PenColour = $FF0000
This sets the colours to red, green and blue respectively. Each pair of hex digits controls the amount of red, green
and blue. So white is $FFFFFF and black is $000000. A value of $C0C0C0 gives a light grey and $808080 produces a
darker grey.
Fatigue Analysis data
Fatigue analysis data are quite simple in the script. The only complication is that you must select S-N and T-N curves
before assigning their data.
NewFatigue
DamageCalculation = "Homogeneous pipe stress"
AnalysisType = Rainflow
ArclengthIntervalsCount = 1
FromArclength[1] = 0.0
ToArclength[1] = 30.0
SCF[0] = 1.5
SNcurveCount = 2
SNcurveName[2] = ProjectSteel
Select SNcurve ProjectSteel
SNDataEnduranceLimit = 0.0
4.2.6 Handling Script Errors
As with other computer programs, OrcaFlex batch script files can easily contain errors. It is therefore wise to check
your script file for errors before running it as a batch job. To check for errors in your scripts, use the "Check Files"
button on the OrcaFlex batch form. This will read and obey all the commands in the script files except those that
perform calculations or write files. It will then report any errors it finds, including the line number on which the
error occurs. You can then correct the problem before running the script.
Warning: If you misspell a variable name in an assignment statement then "Check Files" will report an error.
But if you incorrectly specify a variable name which is nevertheless valid then OrcaFlex cannot
detect the error. So you need to be very careful that you use the correct variable names for the data
items that you want to change.
4.2.7 Obtaining Data Names
Each OrcaFlex data item has its own name that is used to specify it in a script file. The names of the data items are
based on the corresponding labels used on the data form. To find out the name of a data item, open the appropriate
data form, select the data item, and then open (e.g. by right click) the popup menu and select the Data Names
command (or press F7). This displays the name of the selected data item which you can select and copy directly into
your batch script.
If the data item is in a table (or group) of data items then the Data Names form displays the names of all the data
items in the table. The different columns in the table each have their own names; you then need to add an index to
specify which row you want.
4.2.8 Automating Script Generation
The OrcaFlex Spreadsheet has facilities for automating the generation of a script file for a regular set of cases. To use
this facility select the Pre-processing worksheet, then select the Script Table cell and then click the Create Batch
Scripts command which can be found on the OrcaFlex menu in Excel.
The batch script filename is specified in the cell next to the Script Table cell. It is relative to the directory containing
this spreadsheet, so if you don't specify the folder name then it will be created in the folder containing this
spreadsheet.
w
Automation, Batch Processing
95
Below the Script Table cell is a table defining the script, consisting of 3 sections:
- First is one or more title rows (shown with a green background in the example below). Only the first table
column is used in these rows, and the contents of those cells are simply copied to the script. The other columns
are ignored. The title rows can therefore contain any comments or other script commands that you want to
appear at the start of the script. The title rows end at the first row with a blank cell in the table's first column.
- Next is a series of header rows for the cases (shown with a blue background in the example below). The last
header row is deemed to be the next row with a comment command (i.e. starting with "//") in the first column.
- Finally there are a series of rows, one row for each case. The cells in this section are processed from left to right
on each row, and then down to the next row, and each cell generates script commands as follows. If the cell is
empty then no script commands are generated. But if the cell is not empty then all the (non-empty) script
commands in the header rows in that column are written to the script, with the cell's value appended to the last
header row command. This allows different columns to set data values for the various cases, and a blank value
leaves the data item as it was in the previous case. The cases (and the whole table) end at the next row that has
a blank cell in the table's first column.
- Note that you can add extra columns to the table or indeed remove columns from the table.
- The table can be arranged with rows and columns transposed. To do this you must use the keyword Script
Table Row. An example of this alternative approach can be found in the default OrcaFlex spreadsheet template.
An example is shown below:

Figure: Example table for automatic batch script generation
The script generated by this table loads a base case from a file called "Base Case.dat". Because no path is specified
then this file is located in the same directory as the spreadsheet. Four cases are produced based on this data file with
current values of 0.5 and 0.8 and line lengths of 100 and 120.
Notes: The cell containing the base case data file name has the file name surrounded by quotes. This is
because the file name contains a space. However, the quotes are not needed for the file names in
the last column because they do not contain spaces.
The generated script adheres to the formatting specified in the Excel cells. So, if a cell is formatted
to have, say, 1 decimal place, the corresponding value in the script will also have 1 decimal place.
The script is generated as follows. First select the cell containing the text Script Table. Then drop down the
OrcaFlex menu contained in the main Excel menu and click Create Batch Scripts. When you do this you are
presented with the following window:
Automation, Text Data Files
w

96

Figure: Automatically generated batch script
The script file has not been saved yet. You should check that the automatically generated script is as intended.
Should you wish to, you can modify the script file name at this point.
If there is a problem with the script you can click the Close button and correct the script table.
Save button
Saves the script file.
Save and Run button
Saves the script file and then processes it.
If the script has any Run commands then OrcaFlex is loaded and the script is processed by the standard OrcaFlex
batch form. Otherwise the script is processed from within Excel progress is reported on the Excel status bar.
Save, Run and Submit button
Saves the script file and then processes it within Excel. Each data file saved by the script is then submitted to
Distributed OrcaFlex which runs and saves the simulation file.
Note: The Save, Run and Submit button is only available if Distributed OrcaFlex is installed on your
machine. In addition, it cannot be used if the script contains any Run commands.
Multiple tables
You can have multiple script tables within a workbook. To create all the batch scripts in one operation select all the
script tables and then click Create Batch Scripts in the OrcaFlex menu.
4.3 TEXT DATA FILES
4.3.1 Examples of setting data
This topic gives some examples of setting model data using the OrcaFlex Text Data file. The OrcaFlex Text Data file
format is described in the Text Data Files topic and this should be read before tackling this topic.
w
Automation, Text Data Files
97
Building an entire OrcaFlex model through the Text Data file is possible but not to be recommended. The normal
approach is to modify an existing model imported using the BaseFile identifier and apply incremental changes.
This results in a much more compact Text Data file that can be easily generated using a scripting language or by the
OrcaFlex spreadsheet. The OrcaFlex Text Data file format is not a scripting language so some Batch script command
operations are not possible for example the InvokeWizard command.
The easiest way to see how data for a particular model item is represented is to create the item in OrcaFlex and then
save the data file as a Text Data file. Existing objects normally need to be selected by name before modifying their
data, although there are some exceptions that require specific selection identifiers and examples of these are given
below.
Setting simple data
To set data on an object existing in the base file BaseCase.yml, the object must be first selected by name, here
objects named Link1, 3D Buoy1 and Line1 are modified:
BaseFile: BaseCase.yml
Link1:
UnstretchedLength: 25

3D Buoy1:
Mass: 4
Volume: 8
Height: 7.5

Line1:
IncludeTorsion: Yes
Data in tables and indices
Table data are set using an index in square brackets [i] after the data name, where i is the index of the table row
starting at 1. The following example sets some data in the first two sections of Line1:
BaseFile: BaseCase.yml
Line1:
NumberOfSections: 2
LineType[1]: Riser
Length[1]: 75
TargetSegmentLength[1]: 4

LineType[2]: Rope
Length[2]: 200
TargetSegmentLength[2]: 20
The NumberOfSections identifier specifies the number of rows in the sections table, it is only required if we are
changing the size of the table. Every table has an associated row count data item, increasing the count will add new
rows to the end of the table containing default data, reducing the count will delete rows from the end of the table.
We could replace the table entirely and use a YAML list to repopulate the data, for example setting a new current
profile:
Environment:
# Single Current
CurrentMethod: Interpolated
RefCurrentSpeed: 1.2
RefCurrentDirection: 36.0
# Define the current profile table
CurrentDepth, CurrentFactor, CurrentRotation:
- [10, 1.0, 0]
- [50, 0.8, 0]
- [90, 0.5, 0]
Type data: Line, Clump, Flex Joint, Stiffener, Drag Chain and Wing
These objects also need to be referenced by name, they cannot be selected with index notation.
Line Type1:
OuterDiameter: 0.28
InnerDiameter: 0.21

Automation, Text Data Files
w

98
Clump Type1:
Mass: 0.1
Volume: 0.2
Height: 4
DragAreaX: 0.7

Drag Chain Type1:
Length: 12

Wing Type1:
Angle[2]: -80
Lift[2]: 0.2
Drag[2]: 0.15
Moment[2]: 0.5
Creating new objects
New objects can be added to the model using the type name as the identifier, the object will be created with default
data that can be then modified. In the Text Data file the plural of the type name (eg LineTypes ) introduces a new
list of the type, and clears any existing objects from the list. To add a new line type to the line types list:
LineType:
Name: Variant Line Type3
OuterDiameter: 0.29
InnerDiameter: 0.20

Line1:
LineType[2]: Variant Line Type3
And some new attachment types:
ClumpType:
Name: Clump 5
DragArea: [0.7, 07, 0.1]

DragChainType:
Name: Short Chain 2
Length: 12
Note: Objects must created before they are referred to later in the file. So a new line type must be created
in the data file before a line can be later modified to refer to it.
Data found on the General and Environment data forms
Data on these forms can be set by referencing the General or Environment objects as follows (the following example
assumes that the base file model has 2 simulation stages):
General:
ImplicitUseVariableTimeStep: Yes
ImplicitVariableMaxTimeStep: 0.2
# Add another simulation stage
NumberOfStages: 3
StageDuration[3]: 12.0

Environment:
SeaBedStiffness: 3000
SeaBedDamping: 80
RefCurrentSpeed: 1.2
RefCurrentDirection: 36.0
Wave train data requires that the target wave train is selected by name first. The example assumes a base file model
with only one wave train and adds a new wave train and names it AiryWave (after being added the wave train is
automatically selected). Then the first wave train is modified after being selected with the SelectedWave
identifier:
Environment:
# Add a wave train
NumberOfWaveTrains: 2
WaveName[2]: AiryWave
w
Automation, Text Data Files
99
# AiryWave is now the selected wave
WaveType: Airy
WaveDirection: 180
WaveHeight: 3.2
WavePeriod: 12.5
# Change selected wave to Wave1
SelectedWave: Wave1
WaveDirection: 100
WaveHeight: 4.3
WavePeriod: 7.8
Data for Multiple Current data sets
The example below creates two Currents in a multiple current set, and selects one to be the active current using the
ActiveCurrent identifier:
Environment:
# Multiple current set
MultipleCurrentDataCanBeDefined: Yes
NumberOfCurrentDataSets: 2
CurrentName[1]: Ebb
CurrentName[2]: Flow
# To modify the Ebb current, we must select it first
SelectedCurrent: Ebb
CurrentMethod: Power Law
CurrentSpeedAtSurface: 1.2
CurrentSpeedAtSeabed: 0.8
RefCurrentDirection: 180.0
# Now select the other current
SelectedCurrent: Flow
CurrentMethod: Power Law
CurrentSpeedAtSurface: 1.2
CurrentSpeedAtSeabed: 0.8
RefCurrentDirection: 0.0
# Set the active current
ActiveCurrent: Ebb
Vessel Type data
Simple vessel type data are set as for other type data mentioned above, by referencing the vessel type by name first:
Vessel Type1:
Length: 120
PenWidth: 3
Symmetry: XZ plane
Much vessel data applies to a draught which must also then be referenced by name:
Vessel Type1:
Draught1:
Mass: 7600
CentreOfGravity: [2.53, 0, -1.97]
To set data for displacement RAOs, wave load RAOs and wave drift QTFs you must also specify which type of RAO
the data applies to:
Vessel Type1:
Draught1:
DisplacementRAOs:
RAOOrigin: [2.53, 0, -1.97]
LoadRAOs:
RAOOriginY: -1.2
The RAO data are per direction, so the direction also needs to be selected using the
SelectedRAODirectionValue YAML identifier. This example sets the Yaw amplitude in the second row in the
Period table for directions 22.5 and 45 degree of the Wave drift RAOs:
BaseFile: BaseCase.yml
Vessel Type1:
Automation, Text Data Files
w

100
Draught1:
WaveDrift:
SelectedRAODirectionValue: 22.5
RAOYawAmp[2]: 0.13
SelectedRAODirectionValue: 45
RAOYawAmp[2]: 0.18
To modify data in the frequency dependent added mass and damping matrices, the frequency or period needs to be
selected first, using the SelectedAddedMassAndDampingPeriodOrFrequency identifier, to access the
relevant tables. Data in the tables is accessed using index notation:
Vessel Type1:
Draught1:
SelectedAddedMassAndDampingPeriodOrFrequency: 5.5
AddedMassMatrixX[1]: 255
AddedMassMatrixY[2]: 249
AddedMassMatrixZ[1]: 136
DampingY[2]: 0.4
It is unlikely that you will want to change individual values in the RAO tables, however the Vessel, Draught and RAO
sections of the Text Data File are ideal candidates for using the IncludeFile identifier:
Vessel Type1:
Draught1:
DisplacementRAOs:
IncludeFile: RAOs\UnladenRAOs.yml
P-y Model data
With P-y Model data, each depth needs to be selected before the model data can be accessed:
# Create a new P-y model
P-yModel:
Name: P-yModel1
NumberOfDepths: 3
DepthBelowSeabedFrom[1]: 0.0
DepthBelowSeabedFrom[2]: 10.0
DepthBelowSeabedFrom[3]: 20.0

# Modify existing P-y model
P-yModel1:
SelectedDepthBelowSeabedFrom: 0
ModelType: API RP 2A Soft Clay
EffectiveUnitSoilDensity: 1.6
UndrainedShearStrength: 6
J: 0.5
Epsilonc: 4
SelectedDepthBelowSeabedFrom: 10
ModelType: API RP 2A Sand
EffectiveUnitSoilDensity: 0
C1: 0
C2: 2
C3: 15
k: 42
SelectedDepthBelowSeabedFrom: 20
ModelType: P-y Table
Deflection, Resistance:
- [0, 0]
- [0.2, 11]
Note: The above example creates a new P-y Table with two rows. To modify rows in an existing table, use
indexing, eg: Deflection[2]: 0.2.
SHEAR7 data
SHEAR7 data ownership is divided between the SHEAR7 object and Line objects. The SHEAR7 file version, output
file options and S-N curve data are owned by the SHEAR7 object:
w
Automation, Text Data Files
101
SHEAR7Data:
SHEAR7FileVersion: 4.6
SHEAR7OutputDmg: Yes
To access the data in the S-N Curve table requires that the curve is first selected with the
SelectedSHEAR7SNCurve identifier:
SHEAR7Data:
SelectedSHEAR7SNCurve: Curve2
SHEAR7SNCurveNumberOfPoints: 3
SHEAR7SNCurveS[3]: 10E5
SHEAR7SNCurveN[3]: 10E4
SHEAR7SNCurveEnduranceLimit: 750.7
SHEAR7 Whole Line data and Stress Concentration Factors are accessed through a line object:
Line1:
SHEAR7CurrentProfileDiscretisation: Regular spacing
SHEAR7CurrentProfileTargetSpacing: 10
SHEAR7LocalSCFArclength[1]: 32.0
SHEAR7LocalSCF[1]: 1.15
The SHEAR7 Hydrodynamic and Structural Section data applies to a line section, so the index of the section is
required:
Line1:
SHEAR7StrouhalType[1]: Rough Cylinder
SHEAR7LiftFactor[1]: 0.9
SHEAR7SectionSNCurve[2]: Curve1
Line Contact data
To edit penetrator data, the penetrator locations data set must first be selected using the
SelectedPenetratorLocationsDataSet identifier:
LineContactData:
SelectedPenetratorLocationsDataSet: Locations1
Penetratorx[2]: 13.6
Penetratory[2]: -2.5
PenetratorContactArea[2]: 0.85
Code Checks data
Code Checks data ownership is divided between the Code Checks object and Line Type objects. Model wide data
items are owned by the Code Checks object:
CodeChecks:
APIRP2RDDesignCaseFactor: 1
The per line type code check data are just like any other line type data:
Line Type1:
APIRP2RDCorrosionThickness: 0.001
APIRP2RDSMYS: 380e3
Variable Data sources
New variable data sources can be created in two ways, the first example creates a new Fluid Temperature data item
with 2 table rows:
VariableData:
FluidTemperature:
- Name: fluidtempA
IndependentValue, DependentValue:
- [10, 17]
- [100, 11]
The above YAML also clears the Fluid Temperature data source list before adding fluidTempA. If any existing
variable data items are referenced by other objects then an error will be raised. If you wish to add another variable
data item and retain existing data items in the list then use the following YAML format:
VariableData:
FluidTemperature:
Name: fluidTempB
Automation, Text Data Files
w

102
IndependentValue, DependentValue:
- [10, 15]
- [100, 9.5]
Existing variable data sources can be referenced by name as with other objects. The following example resets the
table values for a Bending Stiffness variable data item:
BaseFile: BaseCase.yml
Stiffness1:
IndependentValue, DependentValue:
- [0, 0]
- [0.2, 1000]
- [0.4, 5000]
Polar Coordinates data on the All Objects form
End connection data can be expressed using polar coordinates as presented on the All objects data form. Although
these data are displayed in table form, they is still accessed by referencing the relevant object:
Line1:
PolarR[1]: 20.0
PolarTheta[1]: 45.0
PolarR[2]: 20.0
PolarTheta[2]: 345.0

Line2:
PolarR[1]: 20.0
PolarTheta[1]: 90.0
PolarR[2]: 3400.0
PolarTheta[2]: 90.0

Winch1:
PolarR[3]: 0.0
PolarTheta[3]: 90.0
PolarR[4]: 10.0
PolarTheta[4]: 90.0
For lines and links, End A has an index of 1 and End B an index of 2. For winches the index identifies the winch
connection point.
Colour data
Colour data can be set using pre-defined colours or RGB values as described for Batch scripts:
Line Type1:
PenColour: Red

Line Type1:
PenColour: 255

Line Type1:
PenColour: $00FF00
Importing Text Data File sections
Sections of an OrcaFlex Text Data file can be imported using the IncludeFile directive. This specifies another
YAML file containing a section of an OrcaFlex Text Data file that will be processed as if the data were part of the
original file. The imported segment cannot refer to objects that do not yet exist in the main data file. Using
IncludeFile is a useful way of adding or modifying complex data from a library of common object data, for
example Vessel ROAs:
Vessel Type1:
Draught1:
DisplacementRAOs:
IncludeFile: MyVesselRAOs.yml
The data in the included file must continue from where the original file left off but there is no need to repeat the
YAML header, or start at the same indentation level, although relative indentation in the include file is still required:
# File: C:\Desktop\MyVesselRAOs.yml
RAOOrigin: [2.53, 0, -1.97]
w
Automation, Text Data Files
103
PhaseOrigin: [~, ~, ~]
RAOs:
- RAODirection: 0
RAOPeriodOrFreq, RAOSurgeAmp, RAOSurgePhase, RAOSwayAmp, RAOSwayPhase,
RAOHeaveAmp, RAOHeavePhase, RAORollAmp, RAORollPhase, RAOPitchAmp,
RAOPitchPhase, RAOYawAmp, RAOYawPhase:
- [0, 0, 360, 0, 0, 0, 360, 0, 0, 0, 0, 0, 0]
# etc..
The IncludeFile identifier can be used more than once in the same OrcaFlex Text Data file and the included files
can also contain the IncludeFile identifier themselves. A very simple OrcaFlex Text Data file my comprise just
the following:
%YAML 1.1
---
# This File: C:\Desktop\Case x.yml
BaseFile: BaseCase y.yml
IncludeFile: Variation set z.yml
...
The above file is easy to create using a script, substituting file names for the BaseFile and IncludeFile files
from a collection of initial cases and variation sets.
4.3.2 Automating Generation
The OrcaFlex Spreadsheet has facilities for automating the generation of text data files for a regular set of cases. To
use this facility select the Pre-processing worksheet, then select the Text Data Files cell and then click the Create
Text Data Files command which can be found on the OrcaFlex menu in Excel.
The basic idea is very similar to the facility for automating generation of batch script files. An example table is
shown below:

Figure: Example table for automatic text data file generation
The cell containing "Text Data Files", highlighted in yellow, is known as the anchor cell. The text data files are
generated based on the template file specified the in cell immediately to the right of the anchor cell. In this example
the template file might look like this:
BaseFile: Base Case.dat
Environment:
WaveDirection: %direction
WaveHeight: %height
Line1:
Length[1]: %length
The row immediately below the anchor cell, highlighted in blue, contains variable names. You are free to choose
these names as you please. We have adopted a convention that the variable names begin with a percentage sign (%).
Although you do not need to follow this convention, doing so will have the benefit of making the variable names
stand out.
The rows beneath the variable names row are known as the value rows. Each row defines a single text data file. The
text data file is generated by starting from the template file and then replacing each variable name, in turn, by the
value specified in the table. The %filename variable name is compulsory, that is it must be included as one of the
variable names. It specifies the name of the generated text data file. Relative paths can be used for the template file
name and the output file names.
Automation, Post-processing
w

104
The extent of the table is determined by the presence of empty cells. So the variable names row ends at the first
empty cell. Likewise the value rows end at the first empty cell in the column beneath the anchor cell.
The example above produces 8 text data files as its output, named Case01.yml, Case02.yml, etc. This first of these
looks like this:
BaseFile: Base Case.dat
Environment:
WaveDirection: 0
WaveHeight: 8
Line1:
Length[1]: 100
Note: The generated text data files adhere to the formatting specified in the Excel cells. So, if a cell is
formatted to have, say, 1 decimal place, the corresponding value in the text data file will also have
1 decimal place.
Choosing variable names
It is clearly important that you choose unique variable names. However, there is a further subtlety which can arise
when one variable name is a sub-string of another. For example, consider the variable names %x1 and %x10. When
occurrences of %x1 in the template file are replaced by their actual values, the first 3 characters of any occurrences
of %x10 will also be detected.
Such ambiguities seldom arise, but if you are affected then you can extend the naming convention to include a
trailing % sign. In the example given above, the variable names become %x1% and %x10% and clearly the problem
does not arise.
Multiple tables
You can have multiple tables within a workbook. To process all the tables in one operation, select all the tables and
then click the Create Text Data Files command.
Benefits over script tables
The text data file approach to load case file generation described above is very similar to the approach using batch
script files. The choice of which to use is largely one of personal preference. If you are already familiar with batch
script and not yet familiar with text data files then it may prove easier to continue using batch script.
There is one significant advantage of using text data files which is that it avoids duplication of the OrcaFlex model
data. Consider the following typical sequence of actions when using batch script where we assume that the basic
model and scripts are already in place:
1. Modify the single base model, represented by an OrcaFlex data file.
2. Run the batch script (or scripts) that generate all the load case data files.
3. Run the simulations for all load case data files.
If text data files are used, as described above, then step 2 is not required. This is because the load case text data files
contain a reference to the base model rather than containing a copy as is the case when using batch script.
This is a relatively minor advantage but it does reduce the likelihood of mistakenly forgetting to carry out step 2
when using batch script files. In addition, more complex analyses can lead to your load cases being defined by
multiple script files which have to be executed in a particular order. Using the text data file approach means that this
complexity is dealt with just once when setting up the text data files, as opposed to every time a modification to the
base model is made.
4.4 POST-PROCESSING
4.4.1 Introduction
OrcaFlex users often use spreadsheets to post-process their OrcaFlex results. This can be done manually by
transferring the results from OrcaFlex into the spreadsheet using copy + paste. However, this is laborious and error
prone if a lot of results need transferring, so we have developed special facilities to automate the process.
This automation is done using an Excel spreadsheet that has facilities for automatic extraction of specified results
from one or more OrcaFlex files into nominated cells in the spreadsheet. You can then use the normal spreadsheet
facilities to calculate other post-processed results from those OrcaFlex results.
Note: The OrcaFlex spreadsheet works with Excel 2000 or later and requires OrcaFlex to be installed on
the machine.
w
Automation, Post-processing
105
Creating OrcaFlex Spreadsheets
You can create OrcaFlex spreadsheets from an Excel template that is supplied with OrcaFlex. You should base your
own OrcaFlex spreadsheets on this template, which is installed in the OrcaFlex installation directory when you
install OrcaFlex on your machine. To create your own OrcaFlex spreadsheet, open the Windows Start menu and
select Programs | Orcina Software (or, depending on your version of Windows, go to All Apps and the Orcina
Software group) and then select New OrcaFlex Spreadsheet. This shortcut creates a new spreadsheet based on the
template.
Before you try to use the new spreadsheet you need to save it. It is usually most convenient to save it to the
directory containing the OrcaFlex files from which you want to extract results. You can then specify the names of
those files in the spreadsheet using relative paths. Using relative paths makes it easier to rename the directory or
move the spreadsheet and OrcaFlex files to some other directory.
4.4.2 OrcaFlex Spreadsheet
The OrcaFlex Spreadsheet enables you to automate the extraction of results and data from OrcaFlex files into Excel.
OrcaFlex spreadsheets also provide facilities for automating the production of batch script files and text data files.
For results post-processing, an OrcaFlex Spreadsheet contains one or more instructions worksheets, plus other
worksheets to receive the OrcaFlex results and for any derived results. The spreadsheet also provides tools to help
build the list of instructions. These tools are the Instructions Wizard and the Duplicate Instructions form.
Instructions Table

Figure: Empty instructions table
Each row in the instructions table is a separate instruction. The instruction can be thought of as 3 separate sections:
1. The entry in column A (titled Sheet Name) specifies the name of the Excel worksheet on which any output is
produced.
2. The entries in columns B and C (titled Label Cell and Label respectively) specify a label. This label is output on
the worksheet specified in column A and in the cell specified in column B. The text of the label is specified in
column C.
3. The other columns (D to I) specify some results or data which are output on the sheet specified in column A and
in the cell specified in column D. These columns can specify output of time histories, range graphs, data values
etc.
Either of sections 2 and 3 are optional. That is you can have an instruction that has a blank command cell and so
only writes a label, or one that has a blank label cell and so only writes results.
The end of the table is indicated by the first row that has blank label cell, label and command columns. Hence you
cannot have an instruction row that has no label and no command. In particular, you cannot have a blank row in the
middle of the instruction table. Also, the spreadsheet assumes that the first instruction is row 5 of the worksheet, so
do not insert or delete rows above this.
Any formatting is ignored and so you can use bold, italic, colour etc. to make the worksheets easy to read. Likewise,
hidden rows in the instructions table are ignored allowing you to disable certain instructions which can useful when
developing and building the table.
Automation, Post-processing
w

106
Warning: Do not change rows 3 and 4 of an instructions table, since these are used to identify it as such.
Processing the Instructions
When you are working with the OrcaFlex Spreadsheet an OrcaFlex menu is added to the Excel menu bar. This menu
contains various commands to process the results instructions.

Figure: The OrcaFlex menu within Excel
Excel 2007 and later replace the menus with Microsoft's ribbon interface. The OrcaFlex Spreadsheet integrates with
the ribbon as shown below:

Figure: The OrcaFlex ribbon within Excel 2007 and later
Throughout the documentation we refer to menu items, but if you are using a ribbon based version of Excel then
you should interpret this as referring to the corresponding ribbon button.
The Process All Instructions menu item runs all the instructions in the table. If the currently selected sheet is not
an instructions sheet and the workbook contains more than one instructions sheet, then you will be asked to select
which instructions sheet you wish to process. The Process Selected Instructions menu item tells the spreadsheet
to process only the instructions in the currently selected cell or block of cells.
Spreadsheet Processing Options
The Processing Options menu item allows you to change the way an instructions sheet is processed.
If an instruction depends upon the result of a previous instruction, i.e. one of the cells in the row is a reference to the
output of an earlier instruction, then the Contains Dependencies box must be checked to ensure that the whole
sheet is processed line by line from top to bottom using a single thread. If this box is not checked, then the order in
which instructions are processed is not defined and multiple lines may be processed simultaneously by multiple
threads. If this box is checked, then you have the option to allow errors to be reported during the processing or
Ignore Errors until the sheet is completed, which ensures an unattended spreadsheet will continue to process
remaining instructions even if an error occurs. If Ignore Errors is checked then all error messages are collated and
reported on completion.
The Thread Count can be set to reduce the impact processing spreadsheets will have on the responsiveness of your
computer. By default the spreadsheet will utilise all the available processing cores. It is only available if Contains
Dependencies is not checked.
w
Automation, Post-processing
107
Note: When a spreadsheet is processed in an OrcaFlex Batch all the option settings are ignored apart
from "Contains Dependencies". Errors are always ignored until processing completes and the
number of threads used is controlled by OrcaFlex.
Automating post-processing from VBA
Sometimes it is convenient to be able to invoke the post-processing actions from VBA. You can do so like this:
Dim module as Object
Set module = Application.COMAddIns.Item("PostProcessing.OrcaFlexSpreadSheet").Object
module.ProcessAll
This is equivalent to pressing the Process All button. To invoke the Process Selected button programmatically you
use the ProcessSelected method:
module.ProcessSelected
Finally, the processing options are can also be controlled by means of the following properties:
module.ContainsDependencies = True
module.IgnoreErrors = False
module.ThreadCount = 4
Re-enabling the spreadsheet add-in
The OrcaFlex spreadsheet is implemented as an Excel add-in. Sometimes, for example after an Excel crash, the add-
in can become disabled and needs to be re-enabled. The method for achieving this differs depending on the version
of Excel.
Excel 2003
1. On the Excel Help menu, click About Microsoft Office Excel.
2. Click Disabled Items which brings up the Disabled Items dialog.
3. Select the OrcaFlex spreadsheet in the Disabled Items dialog and click Enable.
4. Restart Excel.
5. In some cases, a reboot is also required for the change to take effect.
Excel 2007/2010
1. Open the Excel Options dialog.
2. Select the Add-ins page.
3. Select Disabled Items in the Manage drop-down list.
4. Click the Go button which brings up the Disabled Items dialog.
5. Select the OrcaFlex spreadsheet and click Enable.
6. Restart Excel.
7. In some cases, a reboot is also required for the change to take effect.
The above instructions refer to what Microsoft term hard disabling. If the above actions do not resolve the problem,
then it is possible that the add-in has been soft disabled instead the instructions for re-enabling are as follow:
Excel 2007/2010/2013
1. Open the Excel Options dialog.
2. Select the Add-ins page.
3. Select COM Add-ins in the Manage drop-down list.
4. Click the Go button which brings up the COM Add-ins dialog.
5. Check the box next to the OrcaFlex spreadsheet and click OK.
6. Restart Excel.
4.4.3 Instruction Format
The easiest way to learn about the instruction format is by using the Instructions Wizard which allows you to create
instructions in an interactive manner.
In the OrcaFlex Spreadsheet, each instruction consists of the following cells.
Sheet Name
Specifies the name of the worksheet in which cells are to be written. If a worksheet with this name already exists
then the specified label and output cells will be overwritten, but other cells will be left unchanged. If no sheet of
that name exists then one will be created.
Automation, Post-processing
w

108
Label Cell
Specifies the cell, in the specified worksheet, to which the label (if not empty) will be written.
Label
Specifies the label string to be written to the label cell. This cell can be left empty, in which case the label cell is
ignored.
Output Cell
Specifies the cell, in the specified worksheet, to which results or data should be written. Some commands specify
multiple-value output for example a time history consists of a column of results. In this case the output cell
specifies the top left cell of the block of cells to be written.
Note: The output cell (or label cell) can be specified directly, e.g. B7, but can also be specified indirectly
using standard Excel formulae.
Command
This should be one of the pre-defined commands or else empty. If the command cell is empty then the output cell is
ignored and just the label is output.
Object Name
The name of the OrcaFlex object whose results or data are output.
Note: This name is case sensitive. Different objects in OrcaFlex can have identical names except for case.
For example "LINE" and "line" and "LiNe" are all regarded as different objects in OrcaFlex.
Additional Data
This column is used when outputting results for certain types of OrcaFlex object.
For the Environment object you need to specify the global X,Y,Z coordinates of the point for which you want results
the coordinates must be separated by the ';' character. If no point is specified then (0,0,0) will be assumed.
For Vessel objects some results require the local x,y,z coordinates of the point for which you want results the
coordinates must be separated by the ';' character or leave blank to use the vessel origin.
For 6D Buoy objects you must specify the Wing Name if you are requesting a wing results variable or a point in local
x,y,z buoy coordinates for some results variables the coordinates must be separated by the ';' character or leave
blank to use the buoy origin.
For Winch objects you may need to specify the winch connection number.
For Line objects you must specify the position on the line for which results are wanted. There are a variety of ways
in which this can be specified:
- The position can be specified by arc length, e.g. "Arclength 25.0".
- The node number can be specified, e.g. "Node 4".
- One of the line ends can be specified, e.g. "End A", "End B" or more concisely "A" or "B".
- The touchdown position can be specified, e.g. "Touchdown".
- For stress results you must also specify the position of the point within the cross section through the specified
arc length. You do this by specifying R,Theta values, e.g. "Inner", "Outer", "Theta 270.0".
Note: You must specify an arc length together with both R and Theta separated by the ';' character, e.g.
"Arclength 20.0; Inner; Theta 270.0", "End A; Outer; Theta -45.0"; "Node 7; Outer; Theta 17.8" etc.
- Clearance results can be reported either as clearances from this line to all other lines or from this line to a
specified other line. You can specify this other line by adding its name after the position, e.g. "Arclength 35;
Line2", "Node 4; Riser"; "End B; Hose" etc. If you do not specify another line (e.g. "Arclength 35") then
clearances will be reported from this line to all other lines.
The results are given for the nearest appropriate result point; see Line Results for details.
For the Range Graph and Range Graph Summary commands you can specify a range of arc lengths, e.g. "20 to 50".
You can also use ranges such as "<35" or ">60" to specify all arc lengths less than a point or all arc lengths greater
than a point.
For the Rayleigh Extremes instruction you can specify the parameters for the extreme value statistics analysis.
For the Duplicate Sheet instruction, the source worksheet is specified in this column.
For the Clear instruction, the range to be cleared is specified in this column. If the value in this column is left empty
then the entire sheet is cleared.
w
Automation, Post-processing
109
Simulation Period
The period of simulation for which results are wanted. This can be Whole Simulation, Latest Wave, Static State,
Build up or a stage number (0 for the build-up, 1 for stage 1 etc.).
It can also be a specified period of simulation, given in the form "t1 to t2" where t1 and t2 are numeric time values
that are in the simulation and Simulation Start Time t1 t2 Simulation End Time. For example "20 to 30" or "-
12.5 to +35.7".
Note: If you use the Static State period then a single value will be reported the value of the variable at
the very beginning of the simulation.
This cell should be left empty for the data output commands Select and Get Data and when outputting static results
using the Static Result, Range Graph and Range Graph Summary commands.
Note: This specified period format can be used to extract results at a single time point; for example the
period "27.4 to 27.4" will give the results at the nearest log sample to time 27.4.
Variable
The name of the output variable.
If the command is a results command (e.g. Time History, Range Graph, Linked Statistics, Min etc.) this should be set
to the same name as is used for the results variable in OrcaFlex. For example Effective Tension, Curvature, Surge,
etc.
If the command is Get Data then this is the batch script name of the data item.
If the command is Select then this is the wave train, draught, RAO direction or QTF direction to be selected.
4.4.4 Pre-defined commands
In the OrcaFlex Spreadsheet, the Command Cell can contain one of the following commands:
- Load.
- OrcFxAPI version.
- Working Directory.
- Warnings.
- Clear, Duplicate Sheet.
- Sample Times.
- Time History.
- Min, Max, Mean, Standard Deviation.
- Linked Statistics.
- Rayleigh Extremes.
- Spectral Density, Empirical Distribution, Rainflow Half Cycles, Rainflow Half Cycle Count.
- Static Result.
- Spectral Response Graph.
- Range Graph, Range Graph Summary, Range Graph Min, Range Graph Max.
- Get Data, Select.
4.4.5 Basic commands
Load <file name>
This command tells the spreadsheet to open the specified file. Subsequent results extraction commands then apply
to that file.
You can either specify the full path of the file, for example:
Load c:\Project100\Case1.sim
or else use a relative path (relative to the directory containing the spreadsheet). The latter is often more convenient.
For example if the file Case1.sim is in the same directory as the spreadsheet then you can use the command:
Load Case1.sim
and this has the advantage that there is no need to alter the spreadsheet if the directory is renamed or the files are
moved to a different directory.
If you specify a data file (.dat or .yml) then the file is loaded and the OrcaFlex statics calculation is performed.
Subsequent results extraction gives results for the static configuration.
Automation, Post-processing
w

110
Simulation files (.sim) containing either static state results or dynamic simulation results can be loaded.
Note: The statics calculation may take a significant length of time. If the calculation time is excessively
long then we recommend that you use the Use Calculated Positions command when building your
model.
OrcFxAPI version
This outputs the version of the OrcFxAPI DLL which is being used by the spreadsheet. This is not necessarily the
version of the program which performed the calculations (for example if you load a simulation file which was
generated by a different version of OrcaFlex).
Working Directory
This outputs the directory where the spreadsheet is stored. If you are using relative paths then it can be useful to
keep track of the base path for QA purposes.
Warnings
This outputs the text from any warnings reported during the OrcaFlex calculations (static or dynamic). Simulations
run in batch mode or by Distributed OrcaFlex do not display such warnings since to do so would require user
intervention. This command allows you to check whether any such warnings were generated.
This command is the equivalent of the Calculation | View Warnings menu item.
Clear
This command clears the contents of cells in the specified output sheet. All cell formatting is preserved.
This should generally be the first command in the instructions sheet or the first command following a Load
command depending on whether the results are being output to a single or multiple sheets. Results extraction
spreadsheets are typically run repeatedly. The purpose of this command is to ensure that previously extracted
results are removed and so cannot get mixed up with the latest results.
If the Additional Data column is empty then the entire sheet is cleared. Otherwise, if the Additional Data column is
not empty, then its value is taken to mean a range of cells to be cleared. The range is specified using Excel's A1
reference style. The following table illustrates some typical A1 style references:
Reference Meaning
A1 Cell A1
A1:B5 Cells A1 through B5
C5:D9,G9:H16 A multiple-area selection
A:A Column A
1:1 Row 1
A:C Columns A through C
1:5 Rows 1 through 5
1:1,3:3,8:8 Rows 1, 3, and 8
A:A,C:C,F:F Columns A, C, and F
Duplicate Sheet
This command copies the entire contents of the worksheet named in the Additional Data column to the specified
output sheet. All charts, formulae, formatting etc. that exist in the source worksheet are copied.
4.4.6 Time History and related commands
Sample Times
Returns the time values that apply to the time history results. This command returns a column of N numbers, where
N is the number of OrcaFlex log samples that are in the specified simulation period. So if the output cell is set to G5
and there are 500 log samples in the simulation period, then the time values for those log samples will be written to
cells G5G504.
Time History
Returns the time history values of the specified variable. This command returns a column of N numbers, as with the
Sample Times command.
w
Automation, Post-processing
111
Min, Max, Mean, Standard Deviation
Min return a single number, equalling the minimum value of the specified time history variable during the specified
simulation period. Similarly for Max, Mean and Standard Deviation (which can be abbreviated to Std Dev).
Linked Statistics
Outputs the same information as the Linked Statistics command on the OrcaFlex results form. In the variable column
of the instruction you should specify a number of results variable names, separated by commas. The command
outputs a table of statistics for those variables.
Rayleigh Extremes
Outputs the results of a Rayleigh distribution Extreme Value Statistics analysis: MPM and Extreme Value with Risk
Factor. Parameters for the analysis are specified in the Additional Data column, separated by semi-colons. For
example:
StormDuration=3; RiskFactor=1; ExtremesToAnalyse=Upper tail
The storm duration is given in hours and the risk factor is a percentage.
The StormDuration and ExtremesToAnalyse parameters can be omitted. If they are omitted then default values
of 3 and Upper tail are used. If the RiskFactor parameter is omitted then the Extreme Value with Risk Factor
result is not output.
Spectral Density, Empirical Distribution, Rainflow Half Cycles, Rainflow Half Cycle Count
These commands extract spectral density, empirical distribution and rainflow half cycles results of the specified
variable.
Static Result
Returns the value of the specified variable. This command reports the value in the static configuration.
Spectral Response Graph
Returns the spectral response graph for the specified variable. The command returns two columns of numbers. The
first column is frequency and the second is the RAO.
4.4.7 Range Graph commands
Range Graph, Range Graph Summary, Range Graph Min, Range Graph Max
These commands output, for the specified variable of a line, tables containing range graph results. They are available
for any line variable for which a range graph is available in OrcaFlex.
The Range Graph command gives a table having 7 columns, containing arc length, minimum, maximum, mean,
standard deviation, upper limit, and lower limit. For each point on the line a row is generated in the table containing
the statistics of the values that occurred at that point during the specified simulation period.
You can specify that only a subset of the columns are to be output. This is done by listing the columns to be output in
the Additional Data column. This is most easily done using the Instructions Wizard.
The Range Graph Summary command gives a table having two rows, one for the overall minimum and one for the
overall maximum. Each row has 4 cells; two are label cells and the other two contain the overall minimum (or
maximum) value that occurred at any point on the line during the specified simulation period, and the arc length at
which it occurred.
The Range Graph Min and Range Graph Max commands output just the overall minimum or maximum value
respectively.
If you have loaded a simulation file then you must specify, in the Simulation Period column of the instruction, the
period of simulation for which you want results. Otherwise, if you have loaded a data file, you should leave this
column blank and the results for the static configuration are reported.
If the Additional Data column in the instruction is left blank then the results will apply to the whole line.
You can restrict these commands to only cover part of the line, by specifying a range of arc lengths, e.g. "20 to 50", in
the Additional Data column. The table will then only include results for points whose arc length is within the
specified range. You can also use ranges such as "<35" or ">60" to specify all arc lengths less than a point or all arc
lengths greater than a point. The length units used must be the same as those used in the OrcaFlex simulation file.
Alternatively, you can specify a section number in the Additional Data column to restrict results to that section.
4.4.8 Data commands
Get Data, Select
This command outputs the value of a data item. The object is specified in the Object Name column of the instruction
sheet and the data item is specified in the variable column.
Automation, Post-processing
w

112
The data item is specified using the batch script name of the data item. If the data item appears in a table in
OrcaFlex, then its row number must be given. The row number follows the data item name and is given as an index
enclosed by either square or round brackets (don't mix them on the same line). The index is always 1-based i.e. [1]
is the first row of the table. For example if you wanted to output the number of segments in the 3rd section of a line
then the variable cell would be "NumberOfSegments[3]". For more details see batch script assignment.
Certain objects require special select commands to output certain data items. For example if you want to output
wave train data for the Environment and there is more than one wave train then you need to specify the particular
wave train. Likewise certain vessel type data requires you to specify a draught and/or an RAO type and direction.
Example commands to do this are given below:
Command Object Name Additional
Data
Simulation
Period
Variable
Select WaveTrain Environment Wave2
Get Data Environment WaveTrainType
Select WaveTrain Environment Wave3
Get Data Environment WaveTrainType
Select Draught VType1 Draught3
Get Data VType1 CurrentCoeffSurgeArea
Select RAOs VType1 Displacement
Select Direction VType1 30
Get Data VType1 RAOSwayAmplitude[3]
Select Direction VType1 60
Get Data VType1 RAOSwayAmplitude[2]
Select RAOs VType1 QTF
Select Direction VType1 45
Get Data VType1 RAOSurgeAmplitude[6]
Notes: The Select commands must be issued before the Get Data commands.
The Select commands are only needed for certain data items. For example the sea density data item
does not depend on wave train so it would not need a Select WaveTrain command.
4.4.9 Instructions Wizard
The Instructions Wizard allows you to create OrcaFlex spreadsheet instructions interactively. In many ways it is
the equivalent of the Select Results form in OrcaFlex. The Instructions Wizard is found on the OrcaFlex menu in the
spreadsheet.
Instructions Wizard Tutorial
For a quick introduction to the Instructions Wizard we recommend the following tutorial.
Prepare a simple OrcaFlex simulation file and an empty OrcaFlex spreadsheet
For the purpose of this example you need a simulation file containing at least a vessel and a line. You could use one
of the standard OrcaFlex examples see www.orcina.com/SoftwareProducts/OrcaFlex/Examples.
Now create an OrcaFlex spreadsheet and save it in the same directory as the simulation file. The spreadsheet should
now looks like this:
w
Automation, Post-processing
113

Figure: Empty instructions table
Add a Load instruction using the Wizard
The instructions wizard creates and inserts instructions on the currently selected row. So the next step is to select
the first instruction row by clicking on a cell in row 5. Then open the Instruction Wizard by clicking on the OrcaFlex
menu and selecting "Instructions Wizard".
In the Instructions Wizard click the drop down button and change the command to "Load". A file name field and a
browse button will now appear. Click the browse button and select the simulation file you saved in the first part of
this tutorial. The top part of the Instructions Wizard should now look as follows:

Figure: Load instruction in the Instructions Wizard
To add the instruction to the spreadsheet click the "Accept and Close" button and the spreadsheet should now look
as follows:

Figure: Load instruction on the Instructions Sheet
Automation, Post-processing
w

114
The Load instruction tells the spreadsheet to open the specified file.
Add results instructions using the Wizard
Now we need to add some more instructions which specify which results to extract from this simulation file. Open
the Instructions Wizard again and change the command to "Time History". In the Object list select an OrcaFlex Line
(if you are using the "A01 Catenary Riser.sim" example then select 10" Cat Constant EA) and then select Effective
Tension from the Variable list.
This time, to add the instruction click the "Accept and go to Next Row" button. You will see the instruction being
added to the worksheet but the Instructions Wizard will remain open allowing you to add yet more instructions.
More than one instruction can be added at once. Suppose that you want time histories of X, Y and Z for the line.
Select these from the Variable list using CTRL+CLICK or SHIFT+CLICK. The Variable list now looks as follows:

Figure: Multiple selection of results variables
Now click the "Accept and go to Next Row" button and you will see 3 instructions being added, one for each variable.
Now close the Wizard (by clicking the "Close" button) and process all the instructions. You should see 4 time
histories output on a new worksheet called "Results".
Setting Period and Additional Data for the instructions
The instructions added so far all specify the default simulation period of "Whole Simulation" and the default line
position of "Arclength 0".
In the Wizard you can specify a different simulation period by changing the Period drop down list. The available
options are: "Whole Simulation", "Latest Wave", "Specified Period", "Static State", "Build Up" and each stage of the
simulation, e.g. "0" (same as "Build Up"), "1". Try selecting different simulation periods and adding instructions.
Notice how the values in the Simulation Period column reflect your selections in the Wizard.
For OrcaFlex Lines you also need to specify a point on the line, e.g. End A, End B, arc length 50, node 12 etc. All these
options are available in the Wizard when you are specifying results for a line.
In addition, certain results require extra information.
- If you are extracting clearance results for Lines then you need to specify the clearance line.
- If you are extracting stress component results for Lines then you need to specify the cross sectional position.
- If you are extracting Wing results for 6D Buoys then you need to specify the wing.
- If you are extracting results for Winches then you may need to specify the winch connection point.
- If you are extracting results for the Environment then you need to specify the position at which you want results
reported.
Other commands
So far we have just looked at time history results but the Wizard allows you to build other instructions. For example,
open the Wizard again and change the command to Range Graph. Notice how slightly different options are available
reflecting the fact that range graphs are specified in a slightly different way from time histories.
Try also experimenting with other commands like Linked Statistics, Sample Times, Spectral Density, Max, Standard
Deviation and so on.
There are even commands for reporting model data: Select and Get Data.
Labels, sheet name, output cell
The one part of the Instructions Wizard which we have not discussed is the section titled "Labels" as shown below:
w
Automation, Post-processing
115

Figure: Labels section of the Instruction Wizard
This section determines what gets written into the first 4 columns of the instructions table, namely Sheet Name,
Label Cell, Label and Output Cell.
If the Overwrite option is checked then the Wizard will output values in each of these 4 columns as specified in the
relevant field. If not checked then the values in the sheet will remain unchanged.
You can choose to use a default label, in which case the label will be assembled based on the particular instruction it
is associated with. Alternatively you can choose to specify the label yourself.
When instructions are added the Label Cell and Output Cell values on the Instructions Wizard will be incremented
automatically. This automatic procedure will not always produce the values you require. However, it generally gives
a good first effort which you can modify later.
Exclude header text
Some results, for example range graphs, linked statistics, spectral density etc., produce output that includes column
headers. There are situations where these column headers are undesirable and if that is so the "Exclude header text"
box can be checked to suppress their output.
4.4.10 Duplicate Instructions
The Duplicate Instructions form allows you to duplicate sets of OrcaFlex spreadsheet instructions for multiple load
cases.
Suppose you are analysing a number of different load cases for a variety of environmental conditions. Once you have
built the spreadsheet instructions for a single load case you typically want to generate the same instructions for
each other load case. The Duplicate Instructions form automates this procedure.
The Duplicate Instructions form can be found on the OrcaFlex menu in the spreadsheet. Before using it you should
create a set of instructions for the first load case an example is shown below:

Figure: Instructions table with instructions for a single load case
You are now ready to use the Duplicate Instructions form. When it first opens it looks as follows:
Automation, Post-processing
w

116

Figure: The Duplicate Instructions form
Simulation file selection
If your load case files (either OrcaFlex simulation files or OrcaFlex data files) are generated by an OrcaFlex batch
script then you should set this option to From Script File and select the script file using the Browse button or by
typing the file name into the "Script File Name" field. A duplicate set of instructions is generated for each file which
is written by the script file. We strongly recommend that you use this option since script files make QA much more
manageable.
Alternatively, if your load case files are generated by some other means then you can choose the Specified option
and you will then be able to specify each load case file directly.
Duplication Method
Usually you will want results for each load case to appear on separate sheets. To do this you set this option to
Different Sheets. The results sheets will be assigned names based on the Sheet Names by option. If you select the
Load Case option then results sheets will be named based on the load case file name. If you select the Index option
then sheets will be named 1, 2, 3 etc. In addition, you may specify a prefix for the sheet name by filling in the Sheet
Base Name field.
Sometimes, however, it is desirable for all the results to appear on a single sheet this is achieved with the Single
Sheet option. The duplication process will generate new instructions with the same Sheet Name.
When you select the Single Sheet option you must also specify row and column offsets. These offsets allow you to
avoid the results from each load case overwriting other load case results. Suppose that the results from the first load
case took up 20 rows worth of space. In this case you would probably specify a row offset of 22 (to allow 2 blank
rows between load case results) and a column offset of 0.
When the selected duplication method is Single Sheet, you also have the option whether to Duplicate Labels.
When checked, the instructions labels are duplicated in the same way as the Different Sheets method, but also
updated with the given row and column offsets. If not checked then no labels are duplicated allowing you to extract
the results from multiple load cases to a single sheet that has only a single set of labels.
Duplicating the instructions
Once you have decided exactly how the instructions are to be duplicated you click the Duplicate button and the
instructions table will be modified to look something like this:
w
Automation, Post-processing
117

Figure: Instructions table with duplicated instructions for multiple load cases
Adding / removing instructions
Quite often you will find yourself wanting to add more instructions to the each load case. The easiest way to do this
is to delete all the instructions apart from those of the first load case. In the screenshot above this would mean
deleting all cells from row 9 and below. You can then add more instructions to the first load case. Finally you simply
repeat the duplication process outlined above and you will have the extra instructions for each load case.
w
Theory, Coordinate Systems
119
5 THEORY
5.1 COORDINATE SYSTEMS
OrcaFlex uses one global coordinate system GXYZ, where G is the global origin and GX, GY and GZ are the global axes
directions. In addition, there are a number of local coordinate systems, generally one for each object in the model. In
general we use Lxyz to denote a local coordinate system. Another coordinate system that we make widespread use
of is the Line End orientation which we denote Exyz.
All the coordinate systems are right-handed, as shown in the following figure, which shows the global axes and a
vessel with its own local vessel axes Vxyz. Positive rotations are clockwise when looking in the direction of the axis
of rotation.

Figure: Coordinate Systems
The global frame of reference must be a right-handed system and its Z-axis GZ must be positive upwards, but
otherwise it is chosen by the user. You can therefore choose the position of the global origin G and the horizontal
direction GX according to what suits the problem being analysed.
The local coordinate systems for each type of object are described in the section about that object, but typically the
origin is at a selected fixed point on the object and the axes are in special fixed directions, such as the surge, sway
and heave directions for a vessel. The seabed also has its own seabed origin and local axes, with respect to which the
seabed shape is defined.
The local axes are distinguished from the global axes by using lower case; for example the local object directions are
referred to as x, y and z . The global directions are referred to as the X, Y and Z. Whenever data or results are
coordinate system dependent, they are referred to as being either global-relative (and are labelled in upper case) or
object-relative (and are labelled in lower case).
You can ask OrcaFlex to draw the local axes on the 3D view. This enables you to see the local axes and check that
they are as wanted.
Most of the data and results are given relative to the global axes, including:
- Data defining the sea, such as the mean sea surface Z level and the current and wave direction.
- The positions of objects; for example the position of the vessel is defined by giving the global coordinates of the
vessel origin V.
The most common object-relative items are:
z
Sea Surface
Z
Y
X
G
V
y
x
Vessel Axes
Global Axes
Theory, Direction Conventions
w

120
- The coordinates of points that move with the object, such as the vertices of a vessel or the connection point
when something is connected to a buoy.
- The direction-dependent properties of objects, such as drag and added mass coefficients, moments of inertia,
etc.
5.2 DIRECTION CONVENTIONS
Directions and Headings
Directions and headings are specified in OrcaFlex by giving the azimuth angle of the direction, in degrees, measured
positive from the x-axis towards the y-axis, as shown in the following figure.

Figure: Directions and Headings
Directions for waves, current and wind are specified by giving the direction in which the wave (or current or wind)
is progressing, relative to global axes. In other words for these directions the x and y-axes in the above figure are the
global GX and GY axes.
Vessel headings are specified as the direction in which the vessel Vx-axis is pointing, relative to global axes. So again,
for vessel headings the x and y-axes in the above figure are the global GX and GY axes.
Vessel responses to waves, and similarly for current and wind, depend on the wave direction relative to the vessel.
For example, vessel type RAOs and QTFs are given for a specified wave direction relative to vessel axes
( = Wave Direction relative to global axes - Vessel Heading). In other words for these vessel-relative directions the
x axis in the above figure is in the vessel heading direction. Hence a relative wave direction of =0 means a wave
coming from astern and a relative direction of =90 means one coming from starboard.
The slope direction for the seabed is specified as the direction that points up the steepest slope, relative to global
axes.
The slope direction of a plane shape that is Fixed or Anchored is specified relative to global axes.
The slope direction of a plane shape that is connected to another object is specified relative to that object's axes.
Azimuth and Declination
Directions are defined in OrcaFlex by giving two angles, azimuth and declination, that are broadly similar to those
used in navigation, gunnery, etc. As with positions, directions are sometimes defined relative to the global axes and
sometimes relative to the local object axes.
For directions defined relative to the object axes Oxyz, the azimuth and declination angles are defined as follows:
- Azimuth is the angle from the x axis to the projection of the direction onto the xy plane. The positive x axis
direction therefore has Azimuth = 0, and the positive y axis direction has Azimuth = 90.
- Declination is the angle the direction makes with the z axis. Therefore Declination is 0 for the positive z-
direction, 90 for any direction in the xy plane, and 180 for the negative z-direction. When Declination is 0 or
180, Azimuth is undefined (OrcaFlex reports Azimuth = 0 in these cases).
Directions relative to the global axes are defined in just the same way, simply replacing the local xyz directions
above with the global XYZ directions. A global declination of 0 therefore means vertically upwards, 90 means
horizontal and 180 means vertically downwards.
y
x 0
30 150
330
180
270
90
210
Directions relative
to axes
w
Theory, Object Connections
121
When a direction is being defined, the "sign" of the direction must also be defined. For example "vertical" does not
fully define a direction it must be either "vertically up" or "vertically down" before the azimuth and declination
angles can be derived. The "sign" conventions used in OrcaFlex for directions are:
- For Lines, axial directions are always defined in the A to B sense, in other words from End A towards End B.
Thus a vertical line with End A at the top has declination 180.
- For Winches and Links, axial directions are defined in the sense 'from first end towards second end'. Thus a link
with end 1 directly above end 2 has declination 180.
5.3 OBJECT CONNECTIONS
Lines, links, winches and shapes are special objects that can be connected to other objects. First consider connecting
a line to another object. To enable connections to be made each line has two joints, one at each end, which are
drawn as small blobs on the ends of the line, when the model is in Reset state. To distinguish the two ends, the joint
at End A is drawn as a triangle and the joint at End B as a square.
Each of these line end joints can either be Free or else be connected to a Vessel, 3D Buoy, 6D Buoy, the Global Axes
or the seabed. Lines cannot be connected to themselves, to other lines, nor to a Link or Winch. When a line's joint is
Free, that end of the line is free to move and this is indicated by the joint being drawn in the same colour as the line.
When the joint is connected to another object, that end of the line becomes a slave and the object to which it is
connected becomes its master. The connection is then indicated by the joint being drawn in the colour of its master.
Links and Winches also have joints at each end (winches can also have extra intermediate joints) and these are
connected to other objects in the same way as with lines, but with the following exceptions.
- Link and winch joints cannot be Free they must always be connected to some master.
- Link and winch joints can be connected to nodes on a line, as well as to Vessels, 3D Buoys, 6D Buoys, the Global
Axes or the seabed. This allows, for example, a winch to be attached to the end node of a line so that winching in
or out can be modelled.
Shapes have a single joint which can be connected to Vessels, 3D Buoys, 6D Buoys, the Global Axes or the seabed.
When a joint is connected to a master, the connection is made at a specified master-relative position and the master
object then determines the position of its slave the slave is dragged around by its master as the master moves. In
response the slave applies forces and moments to its master for a line these are simply the end force and moment
applied by the line.
Because neither the Global Axes nor the seabed move, a joint connected to either of them is simply fixed in one
position. The difference between them lies in how the connection point is specified. For a connection to the Global
Axes, the X, Y and Z coordinates of the connection point are specified relative to those axes and the joint is called
Fixed. For a connection to the seabed the X and Y coordinates are specified relative to the global axes, but the Z
coordinate is specified relative to the seabed Z level at that X,Y position; the joint is then referred to as being
Anchored. So for an Anchored joint, Z=0 means that the connection is exactly on the seabed and Z=1 means it is 1
unit above the seabed. By using anchored joints you can therefore avoid the need to calculate the seabed Z level at
the given X,Y position (not simple with sloping seabeds).
5.4 INTERPOLATION METHODS
OrcaFlex uses a number of different methods for interpolating data. These methods are described below:
- Linear. The data are assumed to follow a straight line between each (X,Y) pair. Linear interpolation is said to be
piecewise linear. Curves that are linearly interpolated are continuous but their first derivative is discontinuous
at each X data point.
- Cubic spline. Cubic spline interpolation fits a cubic polynomial over each interval in the data, so the fitted
interpolation curve is piecewise cubic. These cubics are chosen so that both the first and second derivatives are
continuous at each X data point. A consequence of this is that with cubic polynomial interpolation the (X,Y) data
specified at any given data point affects the interpolated curve over the whole range of X values, not just over
the intervals near that (X,Y) data point. In other words cubic spline gives a 'non-local' interpolation.
- Cubic Bessel (also known as Parabolic Blending). Cubic Bessel interpolation is similar to cubic spline in that it
is also piecewise cubic. But for this method the cubics are chosen so that the only the first derivative is
continuous at each X data point. The second derivative is not, in general, continuous at the data points, which
can be a drawback for some purposes. However cubic Bessel interpolation has the advantage that it gives 'local'
interpolation i.e. the (X,Y) values at any given data point only affects the interpolated curve over the intervals
near that point.
Theory, Interpolation Methods
w

122
Choosing interpolation method
Sometimes OrcaFlex provides a choice of interpolation method. In general we would recommend that you use the
default interpolation method, but in some cases it may be appropriate to use a different method. To decide you need
to take into account what the interpolated data are used for and the different properties of the interpolation
methods.
If continuity of first derivative is not required then linear interpolation is often appropriate. It has the advantage
that it is very simple. The other 2 methods are piecewise cubic and they both produce a smooth curve, i.e. one with
continuous first derivative. Cubic spline interpolation gives a curve that also has a continuous second derivative,
whereas cubic Bessel does not, but in many cases this is not important.
Both cubic spline and cubic Bessel produce curves that often have overshoots. For example the following graphs
show how each method interpolates a particular set of data. Although the greatest Y value specified in the data is 8,
the interpolated curves for cubic spline and cubic Bessel both exceed this value. How serious this overshoot is
depends on the data it can be much more serious than illustrated here or sometimes there can be no problem at
all. The amount of overshoot is generally less with cubic Bessel than with cubic spline. But if you are using either of
the piecewise cubic interpolation methods then you should always check whether the interpolated curve gives an
appropriate fit to the data. If it does not then you usually need to supply more data points.


w
Theory, Static Analysis
123

Finally, cubic Bessel interpolation has the advantage that it gives a 'local' interpolation, in the sense that each
specified (X,Y) data point only affects the interpolated curve over the intervals near that point, whereas with cubic
spline the whole curve is affected to some extent by each of the (X,Y) data points.
5.5 STATIC ANALYSIS
There are two objectives for a static analysis:
- To determine the equilibrium configuration of the system under weight, buoyancy, hydrodynamic drag, etc.
- To provide a starting configuration for dynamic simulation.
In most cases, the static equilibrium configuration is the best starting point for dynamic simulation and these two
objectives become one. However there are occasions where this is not so and OrcaFlex provides facilities for
handling these special cases. These facilities are discussed later.
Static equilibrium is determined in a series of iterative stages:
1. At the start of the calculation, the initial positions of the vessels and buoys are defined by the data: these in turn
define the initial positions of the ends of any lines connected to them.
2. The equilibrium configuration for each line is then calculated, assume the line ends are fixed.
3. The out of balance load acting on each free body (node, buoy, etc.) is then calculated and a new position for the
body is estimated. The process is repeated until the out of balance load on each free body is zero (up to the
specified tolerance). For details see Statics of Buoys and Vessels.
For the majority of systems, the static analysis process is very quick and reliable. Occasionally, usually for very
complex systems with multiple free bodies and many inter-connections, convergence may be difficult to achieve. To
help overcome this problem, OrcaFlex provides facilities for the user to suppress some of the degrees of freedom of
the system and approach the true equilibrium by a series of easy stages. See Statics of Buoys and Vessels.
Finally, the static analysis can also be turned into a steady state analysis by specifying non-zero starting velocity on
the General Data form. This is useful when modelling towed systems or other systems that have a steady velocity.
5.5.1 Line Statics
When you do a static analysis OrcaFlex does static analyses for each line in the model.
Note: The lines are analysed in the order they appear in the by types view of the model browser. So if you
are having a problem with the static analysis of a particular line, and there are a lot of lines in the
model, then you can make investigation of the problem easier by dragging the line up to the top of
the list in the model browser.
The static analysis of a given line has two steps:
Line Statics Step 1
The first step calculates a configuration of the line (i.e. positions for all the nodes on the line), using the method
specified on the line data form (either Catenary, Spline, Quick, Prescribed, or User Specified).
Line Statics Step 2
The second step is called Full Statics. If Full Statics is included, then it calculates the true equilibrium position of the
line. The calculation is iterative and hence it needs a starting configuration for this it uses the configuration found
Theory, Static Analysis
w

124
by step 1. If Full Statics is not included, then the line is simply left in the configuration found by step 1, which may
not be an equilibrium position.
Unstable equilibria
Sometimes Line Statics Step 2 finds an equilibrium configuration that is unstable. Everyday examples of unstable
equilibria include balancing a coin on its edge or balancing a pencil on its tip.
Very occasionally OrcaFlex statics converges on an unstable equilibrium. An unstable equilibrium can usually be
detected by the presence of large curvature spikes on a range graph. Typically a dynamic run will excite the line
enough to kick it out of the unstable equilibrium. However, statics and dynamics results from such unstable
equilibria are invalid.
Catenary
The Catenary method calculates the equilibrium position of the line, but it ignores the effects of bending and
torsional stiffness of the line or its end terminations.
The Catenary method also ignores contact forces between the line and any solid shapes in the model, but it does
include all other effects, including weight, buoyancy, axial elasticity, current drag and seabed touchdown (see
below) and friction.
Because bend stiffness (and other) effects are not included in the Catenary method, the position found is not, in
general, an equilibrium position. Therefore Full Statics should normally be included unless it is known that the
omitted effects are unimportant. Nevertheless, the Catenary position is often quite close to the true equilibrium
position, especially when bend stiffness is not a major influence.
The Catenary algorithm is robust and efficient for most realistic cases but it cannot handle cases where the line is in
compression. This is because, when bending stiffness is ignored, compression means the line is slack and there is no
unique solution.
The algorithm is an iterative process that converges on the solution. If necessary, you can control the maximum
number of iterations that are attempted, as well as other aspects of the convergence process see Catenary
Convergence.
The Catenary solution has facilities for including seabed touchdown, with the following limitations:
- Seabed touchdown can only be included at the bottom end of the line.
- Touchdown is only included if the bottom end is on or below the seabed. If the bottom end is above the seabed,
even if only by a small amount, then no touchdown will be modelled and the line may hang below the seabed.
This will be corrected if Full Statics is enabled, since the nodes below the seabed will be pushed back up by the
seabed reaction forces.
- If the bottom end is below the seabed, then the Catenary algorithm models touchdown by assuming that the line
levels out at the level of the end. This will result in part of the line being below the seabed, but again this will be
corrected by Full Statics.
Spline
The Spline method gives the line an initial shape that is based on a user-defined smooth Bezier spline curve. It is
therefore not, in general, an equilibrium position, and so when it is used Full Statics should be included if you want
the equilibrium position to be found.
The Bezier curve is specified by the user giving a series of control points it is a curve that tries to follow those
control points and the Bezier curve and its control points (marked by +) can be seen on the 3D view when in Reset
state. The smoothness of the spline can be controlled using the spline order.
The Spline method puts the line into a position that, as far as possible, follows the Bezier curve. However the Bezier
curve may have the wrong length (depending on how accurately you have set up the control points), so the Spline
method scales the Bezier spline curve up or down until the resulting line shape has the correct As Laid Tension, as
specified on the line data form.
Quick
The Quick method simply leaves the line in the position that it was drawn when in Reset state. This is a crude
catenary shape that (for speed reasons) ignores most effects, including buoyancy, drag, bending and torsional
stiffness, and interaction with seabed and solids. In fact the position set by the Quick method only allows for the
line's average weight per unit length and axial elasticity, so it is not usually an equilibrium position (though for
simple cases it may be quite close). The Quick method should usually be used only as a preliminary to Full Statics.
w
Theory, Static Analysis
125
Prescribed
The Prescribed method is intended primarily for pull-in analyses. It provides a convenient way of setting the line up
in the as laid (i.e. pre pull-in) starting position, ready for a time simulation of the pull-in. The starting shape of the
line is specified by defining a track on the seabed (see Prescribed Starting Shape). The track is defined as a sequence
of track sections each of which is a circular arc of user-specified length and angle of turn and the line is laid along
this track. See Laying out the Line.

Figure: Plan View of Example Track
User Specified Starting Shape
The User Specified Starting Shape statics method involves no calculation. Instead you specify a position for each
node and the node is placed there. If torsion is modelled then node orientations can also be specified.
This statics method allows you to restart calculations using line configurations that have been calculated by
separate OrcaFlex calculations. For example you could perform an in-place analysis of a line using its configuration
as calculated by an earlier pull-in analysis.
To perform a restart this way you usually need to disable Full Statics and Whole System Statics. One way to do this is
to set the statics convergence tolerances to large values, e.g. 1e6.
Warning: We recommend that User Specified Statics is only used in this way to perform restarts. Full Statics
or Whole System Statics used in conjunction with User Specified Statics commonly results in slow
and troublesome statics convergence.
Full Statics
The Full Statics calculation is a line statics calculation that includes all forces modelled in OrcaFlex. In particular it
includes the effects of bend stiffness and interaction with shapes. These effects are omitted from the Catenary
calculation, and this sometimes results in significant shock loads at the start of the simulation, when the effects of
bend stiffness and shapes are introduced. Because the Full Statics calculation includes these effects, no such shock
loads should occur when it is used. We therefore recommend using Full Statics for most cases.
To use Full Statics set the Step 2 Statics Method to Full Statics on the Line data form. Note that if Whole System
statics is in use, then Full Statics is always used. Full statics needs a starting shape for the line, and it uses the
specified Step 1 Statics Method to obtain this; it then finds the equilibrium position from there. You should therefore
set the Step 1 Statics Method to give a reasonable starting shape, choosing either Catenary, Prescribed, Quick or
Spline.
Which Step 1 Statics Method you should choose depends on the model in question. In general you should choose the
method that gives the best initial estimate of the line's static position. For lines with no buoyant sections and no
interaction with shapes or the seabed, the Quick method may well suffice. If there is seabed interaction or a buoyant
section then Catenary might be better. For lines that interact with a shape, the Spline method is perhaps best since it
enables you to ensure that the line starts on the correct side of the shape.
Y
X
Start
of track
End A
Azimuth = 10
Track Section 1
Length = 150
Turn = 0 Track section 2
Length = 100
Turn = -90
Track section 3
Length = 100
Turn = 90
Track Section 4
Length = 150
Turn = 0
Continuation of
last track section
10
Theory, Static Analysis
w

126
Which method to use
The settings to use for the line data items Step 1 Statics Method and Step 2 Statics Method depend on the type of
system being modelled and the type of static position wanted.
The default settings (for a new line) are the Catenary method followed by Full Statics. This is often a good choice,
since the Catenary method is fast and in many case gives a good initial estimate of the equilibrium position. It
therefore often provides a good starting point for the Full Statics calculation, which then refines the position to take
into account the effects that the Catenary omits, such as bending and torsional stiffness and interaction with solids.
There are situations where you may need to use other settings. Some specific cases are described below, but first
here are some general points to bear in mind.
Full Statics should be included if you want the true equilibrium position to be found.
When Full Statics is included, the first stage Statics Method is only used to give the initial starting shape for Full
Statics. The choice of Statics Method is then, in principle, not important, since the final position found will be the
equilibrium position, irrespective of the initial starting position. However it is normally best to choose the Statics
Method that gives the best initial estimate of the desired equilibrium position, since this will give the best starting
position for Full Statics to work from.
There are some cases where the choice of Statics Method is important. Firstly, in cases where there may be more
than one equilibrium position, the Full Statics calculation will tend to find the one that is closest to the initial
starting position found by the Statics Method. Secondly, the Full Statics calculation is iterative and may have
difficulty converging if the initial Statics Method position from which it starts is a long way from the true
equilibrium position. In both these situations, it is generally best to choose the Statics Method that gives the best
initial estimate of the desired equilibrium position.
Catenary convergence failure
The Catenary method is iterative and may fail to converge. It may be possible to solve this by adjusting the Catenary
Convergence Parameters on the line data form. If this proves difficult, then an alternative is to use one of the other
statics methods. The Quick method may suffice, or alternatively the Spline method may be needed. Providing Full
Statics is included then the final static position found will be the same.
Full Statics Convergence Failure
Full Statics is also an iterative calculation and may sometimes fail to converge. The convergence process is
controlled by the Full Statics Convergence Parameters on the line data form so it may be possible to obtain
convergence by adjusting some of those parameters.
However, the problem may be due to the initial starting position obtained by the specified statics method being a
long way from the equilibrium position. In this case it may be necessary for the user to specify the Spline statics
method and specify control points that give a good starting shape for the Full Statics.
Note: When setting up the spline control points, it is often useful to first set Full Statics to "No". This
allows you to examine and refine the spline shape, by running the static analysis and adjusting the
control points until the spline shape is close to the desired shape. You can then set Full Statics back
to "Yes" in order to find the true equilibrium position.
Contact With Solids
The Catenary and Quick methods both ignore contact with solids and so they may well give a poor initial position for
the Full Statics to work on. As a result the Full Statics calculation may fail to converge, or else converge to the wrong
equilibrium position (e.g. one in which the line is on the wrong side of the solid).
In both these cases it may be better to select the Spline method and then specify control points that give an initial
shape close to the desired equilibrium position. This approach is not always very robust though. In particular, if you
are analysing multiple load cases it can sometimes be impossible to find a single spline shape that will give the
desired static solution for all load cases. In that situation it is often more effective to use a tether to guide the line to
the desired contact surface.
Pipeline Pull-In
For a pipe lying on the seabed there are usually many equilibrium positions, since seabed friction will often be able
to hold the pipe in the shape it was originally laid. For pull-in analysis this originally-laid shape is generally known,
and the Prescribed method can be used to define this shape.
It is then optional whether Full Statics is included or not. Normally, it would not be included. If it is included then it
will have no effect if the Prescribed position is already in equilibrium i.e. if friction is sufficient to hold the pipe in
that position. But if friction is not sufficient then Full Statics will tend to find a nearby position that is in equilibrium.
w
Theory, Dynamic Analysis
127
5.5.2 Buoy and Vessel Statics
Each buoy and vessel can be either included or excluded from the static analysis. This is controlled by the data item
Included in Static Analysis on the object's data form.
Notes: You can also use the Buoy Degrees of Freedom Included In Static Analysis data item, on the General
data form, to include or exclude all buoys with a single setting.
Also, for 6D Buoys, you can include just the translational degrees of freedom (X,Y,Z) and exclude the
rotational degrees of freedom. This is sometimes useful as an aid to convergence.
If a buoy is excluded from the static analysis, then when the static analysis is done OrcaFlex will simply place the
buoy in the Initial Position specified on the buoy data form. This will not, in general, be the equilibrium position. The
same applies to vessels.
If any buoys or vessels are included in the static analysis, then the static analysis finds the equilibrium position of
those buoys and vessels, using an iterative procedure.
This iterative procedure usually converges successfully, but in some cases there can be difficulties. To give the best
chance of convergence you should specify buoy and vessel initial positions that are good estimates of the true
equilibrium position. Often you can obtain good estimates by running static analyses of a simplified model and then
using the buoy positions found as the initial positions for the more complex model. There is a button on the general
data form for this purpose see Use Calculated Positions.
Note: As an aid to static analysis, the out-of-balance forces on buoys and vessels can be drawn on the 3D
view.
If necessary, you can also control the buoy convergence process using the statics convergence parameters on the
general data form.
5.5.3 Vessel Multiple Statics
You can use the Multiple Statics command on the Calculation menu to perform a series of static analyses for a grid of
different positions of a vessel. This feature is mainly intended for use in mooring analyses.
The user specifies a series of regularly spaced positions for one vessel in the model and OrcaFlex then carries out
separate static analyses for each of these vessel positions. Key results, for example load-offset curves, are then made
available in the form of tables and graphs as a function of the offset distance.
The vessel positions are specified by a series of offsets about the vessel's initial position (see Vessel Multiple Statics
Data).
Note: If the offset vessel has "Included in Static Analysis" set to "Yes" then in Multiple Statics this setting
will be ignored (for the offset vessel only) and the vessel will be placed as specified by the offsets.
See Vessel Data.
If the static calculation fails to converge for a particular offset then this is noted in the Statics Progress Window and
the program continues to the next offset. No results are given for offsets with failed statics.
When the calculation is completed the program enters Multiple Statics Complete state. Results can only be viewed
in this state and are lost upon Reset. Results cannot be saved. A dynamic simulation cannot be carried out after
multiple statics you must Reset first.
5.6 DYNAMIC ANALYSIS
The dynamic analysis is a time simulation of the motions of the model over a specified period of time, starting from
the position derived by the static analysis.
The period of simulation is defined as a number of consecutive stages, whose durations are specified in the data.
Various controlling aspects of the model can be set on a stage by stage basis, for example the way winches are
controlled, the velocities and rates of turn of vessels and the releasing of lines, links and winches. This allows quite
complex operational sequences to be modelled.
Before the main simulation stage(s) there is a build-up stage, during which the wave and vessel motions are
smoothly ramped up from zero to their full size. Ramping of current is optional (see Current Data). This gives a
gentle start to the simulation and helps reduce the transients that are generated by the change from the static
position to full dynamic motion. This build-up stage is numbered 0 and its length should normally be set to at least
one wave period. The remaining stages, simply numbered 1, 2, 3, are intended as the main stages of analysis.
Time is measured in OrcaFlex in seconds. To allow you to time-shift one aspect of the model relative to the others,
different parts of the OrcaFlex model have their own user-specified time origins. See the diagram below.
Theory, Dynamic Analysis
w

128
For example, simulation time is measured relative to the simulation time origin, which is specified on the Wave page
on the environment data form. The simulation time origin is at the end of the build-up stage, so negative simulation
time is the build-up stage and the remaining stages are in positive simulation time. The figure below shows a
simulation using a build-up of 10 seconds, followed by two stages of 15 seconds each.
Each wave train also has its own time origin, and similarly for time-varying wind and any time history files that you
use. All of these time origins are defined relative to the global time origin (which is not user-specified), so if
necessary you can use the time origins to time-shift one aspect of the model relative to the others.
By default all of the time origins are zero, so all of the time frames coincide with global time. For most cases this
simple situation is all you need, but here is an example where you might want to adjust a time origin.
- You might want to arrange that a wave crest, or a particularly large wave in a random sea, arrives at your vessel
at a particular point in the simulation. If you use the View Profile facility and find that the wave arrives at the
vessel at global time 2590s, then you can arrange that this occurs at simulation time 10s (i.e. 10 seconds into
stage 1) by either setting the simulation time origin to 2580 or else setting the wave train time origin to -2580.
The former shifts the simulation forwards to when the wave occurs, whereas the latter shifts the wave back to
the period the simulation covers.

Figure: Time and Simulation Stages
5.6.1 Calculation Method
OrcaFlex implements two complementary dynamic integration schemes, Explicit and Implicit, as described below.
Equation of motion
The equation of motion which OrcaFlex solves is as follows:
M(p,a) + C(p,v) + K(p) = F(p,v,t)
where
M(p,a) is the system inertia load.
C(p,v) is the system damping load.
K(p) is the system stiffness load.
F(p,v,t) is the external load.
p, v and a are the position, velocity and acceleration vectors respectively.
t is the simulation time.
Simulation
Time
Origin
End of
Simulation
Stage 2 Stage 1
Static Starting
Position
30
-10 0 15
Simulation
Time t
Build-up
Global Time T
T=0
Global
Time
Origin
Time-history
Time
Origin
Time-history Time
0
Wave Train Time
0
Wave Train
Time
Origin
w
Theory, Dynamic Analysis
129
Both schemes recompute the system geometry at every time step and so the simulation takes full account of all
geometric non-linearities, including the spatial variation of both wave loads and contact loads.
Explicit integration scheme
The explicit scheme is forward Euler with a constant time step. At the start of the time simulation, the initial
positions and orientations of all objects in the model, including all nodes in all lines, are known from the static
analysis. The forces and moments acting on each free body and node are then calculated. Forces and moments
considered include:
- weight
- buoyancy
- hydrodynamic and aerodynamic drag
- hydrodynamic added mass effects, calculated using the usual extended form of Morison's Equation with user-
defined coefficients
- tension and shear
- bending and torque
- seabed reaction and friction
- contact forces with other objects
- forces applied by links and winches
The equation of motion (Newton's law) is then formed for each free body and each line node:
M(p)a = F(p,v,t) - C(p,v) - K(p)
This is not the system-wide equation of motion described above, but a local equation of motion for each free body
and each line node. This means that solving these equations of motion merely requires the inversion of 3 by 3 or 6
by 6 mass matrices.
This equation is solved for the acceleration vector at the beginning of the time step, for each free body and each line
node, and then integrated using forward Euler integration. Let us denote the position, velocity and acceleration at
time step t by pt, vt and at respectively. Then the values at the end of the time step, at time t+1, are given by:
vt+1 = vt + dt.at
pt+1 = pt + dt.vt+1
where dt is the time step.
At the end of each time step, the positions and orientations of all nodes and free bodies are again known and the
process is repeated.
The time step required for stable integration is typically very short and OrcaFlex gives guidance on an appropriate
time step. Hydrodynamic and aerodynamic forces typically change little over such a short time interval, and are
time-consuming to compute. To save computing time, these loads are updated only over a longer outer time step.
Both time steps are user-defined and may be set equal for critical cases.
Of the various objects available in OrcaFlex, Lines are the most computationally demanding. For most models that
include lines, the length of time required for dynamic analysis is approximately proportional to the total number of
nodes used multiplied by the total number of inner time steps in the whole simulation. If the time step is maintained
at the recommended value and nodes are distributed uniformly along the lines, then the run time is approximately
proportional to the square of the number of nodes.
Finite element models may contain spurious high frequency response, a feature inherent in the finite element
method. The Line Target Damping data can be used to damp out this high frequency noise.
Implicit integration scheme
For implicit integration OrcaFlex uses the Generalised- integration scheme as described by Chung and Hulbert.
The forces, moments, damping, mass etc. are calculated in the same way as for the explicit scheme. Then the system
equation of motion is solved at the end of the time step.
Because p, v and a are unknown at the end of the time step an iterative solution method is required. Consequently
each implicit time step consumes significantly more computation time than an explicit time step. However, the
implicit scheme is typically stable for much longer time steps than the explicit scheme and often this means that the
implicit scheme is faster.
Numerical damping of the integration scheme
Finite element models may contain spurious high frequency response, a feature inherent in the finite element
method. The Generalised- integration scheme has controllable numerical damping which is desirable since it
Theory, Friction Theory
w

130
removes this spurious, non-physical high frequency response. This numerical damping also leads to much more
stable convergence and hence allows for longer time steps and much faster simulations.
Any integration scheme which includes numerical damping of high frequency response must be careful to avoid
damping response at lower frequencies. The Generalised- integration scheme is designed to minimise the low
frequency damping.
The numerical damping is determined by specifying the level of high frequency dissipation, . OrcaFlex uses a
built-in value of 0.4 which has been chosen to give fast simulation run times without compromising accuracy.
5.6.2 Ramping
Simulation time is reduced by the use of a build-up time at the beginning of the simulation. During the build-up time
the wave dynamics, vessel motions and optionally the current are built up smoothly from zero to their full level. This
gives a gentle start to the simulation which reduces transient responses and avoids the need for long simulation
runs. The build-up stage should normally be set to at least one wave period. Negative time is shown during the
simulation to indicate the build-up time; so time before time zero is build-up time, time after time zero is normal
simulation with the full specified excitation.
When using a time domain VIV model, ramping is also used to smooth the handover from the standard Morison drag
force applied in statics to the force given by the VIV model.
The ramping factor is calculated as follows:
Ramping Factor = r
3
(6r
2
-15r + 10)
where r is the proportion of the build-up stage completed, given by:
r = (Time + Length of Stage 0) / (Length of Stage 0)
Note: Time is negative throughout the build-up stage.

Figure: The OrcaFlex ramping function
This particular ramping function has been chosen so that its first and second derivatives are zero at the beginning
and end of the build-up stage.
5.7 FRICTION THEORY
OrcaFlex provides a simple friction model that can give an approximate representation of contact friction. This is
commonly used to model seabed friction, friction on mid-water arches, guide tube friction etc.
Seabed friction
In reality seabed interaction is much more complicated than simple friction it involves effects such as the soil
being displaced by the line as it moves, accumulation of soil in front of the line, etc. To model seabed interaction
accurately would require much more information about the soil structure and would involve modelling the soil itself
which is beyond the scope of OrcaFlex.
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
r
R
a
m
p
i
n
g

F
a
c
t
o
r
w
Theory, Friction Theory
131
Overview of the OrcaFlex friction model
OrcaFlex models friction for contact with the seabed or elastic solids. Hereafter we use the term solid to refer to
either the seabed or elastic solids. The objects which can contact with solids are Lines, 3D Buoys and 6D Buoys.
Note: Friction for contact with elastic solids is only included during dynamics.
Friction is modelled as Coulomb friction in the solid plane. Every object which is in contact with a solid keeps track
of a friction target position (discussed below) and a friction force is applied at which acts towards this target
position.
The standard Coulomb friction model states that a friction force of R is applied, where is the friction coefficient
and R is the contact reaction force. However, this model results in a discontinuous Force / Deflection relationship
which would be impossible for a program like OrcaFlex to solve. Instead we use a modified Coulomb model as
illustrated below:
Theory, Friction Theory
w

132

Figure: Standard Coulomb and modified Coulomb friction models
In the modified Coulomb friction model the transition from a friction force of -R to +R takes place as a linear
variation over the deflection range -Dcrit to +Dcrit. Here Dcrit is given by:
Dcrit = R / (KsA)
where
Ks is the shear stiffness data item.
A is the contact area.

Deflection

Force
R
R

-D
crit
+R
Deflection

Force
R
+D
crit
w
Theory, Friction Theory
133
The friction force can be thought of as being ramped from 0 to a maximum value of R as the deflection increases.
Higher values of Ks lead to the ramping taking place over a shorter distance, and vice versa.
Calculation of friction coefficient
The friction coefficient is defined as follows:
- For contact between Lines and the seabed the friction coefficient is defined on the Line Type data.
- For contact between 3D Buoys and the seabed the friction coefficient is defined on the 3D Buoy data.
- For contact between 6D Buoys and the seabed the friction coefficient is defined on the 6D Buoy data.
- For contact between Lines, 3D Buoys and 6D Buoys and elastic solids the friction coefficient is defined on the
Solid Friction Coefficients data form.
For line friction, both normal and axial coefficients can be defined. If these values are different, OrcaFlex uses a
single value of defined as:
= magnitude of the vector nDn + aDa
where
D = unit vector in the plane of the solid, from the node towards the target position.
Dn, Da = the vector components of D in the node's normal and axial directions.
Target positions in statics
Friction is only applied in statics for contact between lines and the seabed.
If the Step 1 Statics Method is Prescribed then the target positions are laid out along the prescribed shape.
For all other Step 1 Statics Methods the target positions are laid along the seabed in the direction specified by the
Lay Azimuth direction.
The distance between each target position is determined by the unstretched segment length and the As Laid
Tension. If each node was to sit at its target position then the effective tension throughout the line would be the As
Laid Tension.
Target positions in dynamics
During dynamics, at the end of each time step, each friction target position is updated using the following rules:
- At the start of the dynamic simulation, for lines in contact with the seabed, the target position from statics is
used. Otherwise the target position is set equal to the contact position.
- If an object is not in contact then the target position is not defined since no friction is applied.
- If an object has just come into contact then the target position is set equal to the contact position.
- If the target position is a distance greater than Dcrit from the contact position then the target position is placed at
a distance exactly Dcrit from the contact position on the vector D, as shown in the following figure. This can be
thought of as 'dragging' the target position towards the contact position.
- Otherwise the target position is not modified.

Figure: Updating friction target positions during dynamics


Contact position
position


Vector D

Old Target position
Circle of
radius D
crit

New Target position
Theory, Spectral Response Analysis
w

134
Moments induced by friction (Lines)
The friction force is applied at the point of contact with the solid.
For lines this is at the line outer edge as defined by the contact diameter. Moments in OrcaFlex are reported at the
centreline and so the moment arm effect of applying the friction force at the outer edge results in a moment being
applied to the node. The applied moment is given by the vector cross-product pF, where p is the point of contact
relative to the node origin and F is the applied friction force.
This frictional moment effect can most easily be visualised by considering a pipe being dragged laterally across a
surface with friction. It is intuitively obvious that the friction force will result in the pipe being twisted.
Note: This effect is only modelled if torsion is included in the model.
Moments induced by friction (3D and 6D Buoys)
Since 3D Buoys do not have rotational degrees of freedom, no such moments are applied.
For 6D Buoys the friction force is applied at each vertex in contact with the solid. If the vertex if offset from the buoy
origin then the appropriate moment, about the buoy origin, will be generated.
Shear damping
Objects moving in the solid plane may also experience a damping force. Let d be the distance between the contact
position and the target position. If 0 d Dcrit then a damping force in the solid plane is applied to the object with
magnitude given by:
D = S.min(2(MKA)

Vs, R)
where
S is a scaling factor given by 1 - (d/Dcrit),
is percentage of critical contact damping / 100,
M is the mass of the object,
K is the solid normal stiffness,
A is the contact area,
Vs is the component of velocity in the solid plane.
5.8 SPECTRAL RESPONSE ANALYSIS
The Spectral Response Analysis capability of OrcaFlex provides a facility for determining the response
characteristics for any OrcaFlex results variable. This feature produces output similar to a frequency domain
package but the calculation is based on a random wave time domain simulation. The results of this simulation are
transformed into the frequency domain using a Fast Fourier Transform (FFT) and the spectral response is then
derived. The final output of the analysis is an RAO for the results variable of interest.
Time domain random wave for spectral response analysis
In order to calculate spectral response you must first perform a random wave time domain simulation of the system
of interest. To do this you must specify a single wave train with wave type of Response Calculation. The random
wave used has a truncated white noise spectrum, which has the energy spread evenly over a user-specified range of
frequencies.
Spectral response calculation details
The spectral response analysis starts from the time history of some results variable of interest. The time history
covers the response calculation simulation period as specified on the General Data form. The duration of this period
together with the logging interval, t, determine the total number of samples available for the FFT.
OrcaFlex does not necessarily use all the available samples. This is because the FFT calculation is slow when
presented with a time history whose size is a large prime, or is a product of large primes.
Suppose that N is the total number of available samples. OrcaFlex will choose M with the properties that that M N
and the FFT can be calculated quickly and efficiently for M samples. Having chosen M, OrcaFlex then selects the M
samples from the original time history that are closest to the end of the simulation.
OrcaFlex then calculates the power spectral density (PSD) of these M time history samples using the FFT. The PSD is
denoted as the sequence (fi, Pi) for i = 1, 2, , M/2 where Pi is understood to be the PSD for frequency fi. The values
of fi are integer multiples of the FFT's fundamental frequency, f = 1/(tM), given by fi = if. The maximum frequency
equals (M/2)f = 1/(2t). This frequency is known as the Nyquist critical frequency.
The RAO is calculated as
Ri = (Pi/Si)

, for i = 1, 2, , M/2
w
Theory, Extreme Value Statistics Theory
135
where Ri is the RAO at frequency fi and Si is the spectral density at frequency fi for the response calculation random
wave.
Notes: Provided that a Response Calculation wave type has been selected the Waves page of the
Environment data form reports the value of M. This takes the form of a text label which says "The
response calculation will use M data points".
Only the frequencies which lie in the target frequency range are used for wave components.
Because of this there may be fewer than M/2 wave components.
Spectral response random wave components
It is important that the random wave components have frequencies which match those produced by the FFT. This is
because of a phenomenon of the FFT known as frequency leakage which would occur if the random wave
component frequencies did not match the FFT frequencies. The effect of leakage is to make the output of the FFT
noisy.
The response calculation wave components are selected with frequencies that are also integer multiples of f. In this
way the frequency leakage effect is avoided.
Not all these frequencies are used in the response calculation random wave. This is because there could potentially
be so many frequencies (i.e. for large values of M/2) that the real-time required to simulate a wave with that many
components would be prohibitive. The user controls the range of frequencies to be used with the Target Frequency
Range data on the Environment data form.
Comparison with traditional frequency domain methods
For frequency domain approaches to calculating system responses each non-linearity in the system has to be
handled in special ways. However, by calculating the RAOs using a fully non-linear time domain simulation and then
transforming to the frequency domain using Fourier transform methods, the non-linearities are included in the
calculation automatically.
The advantage of the method used by OrcaFlex is that non-linearities can be handled implicitly without the need for
special, bespoke linearisation techniques.
Warning: The generated response RAOs are not always accurate. Depending on the type of system, it may be
impossible to calculate good quality response RAOs using this method. You must use the output
with caution.
5.9 EXTREME VALUE STATISTICS THEORY
The theory for the calculation of the extreme value statistics results provided by OrcaFlex depends on which
extreme value statistics distribution is chosen:
- The Rayleigh distribution method uses a direct calculation, based on the spectral moments of all the data.
- The Weibull and Generalised Pareto (GPD) distributions are fitted to selected extremes of the data, with the
extremes being selected using the peaks-over-threshold method, with declustering to reduce dependence
between the selected extremes. The Weibull or GPD distribution is then fitted to those extremes using the
maximum likelihood method.
Rayleigh Distribution
The derivation and use of spectral moments to fit the Rayleigh distribution is described in detail by Ochi (he calls it
the "exact method"). For the Rayleigh distribution to be appropriate for the peak responses, the response variable
must be a stationary Gaussian process.
Ochi shows that, under the Gaussian assumption, the most probable maximum value occurring in storm duration T is
given by
+ [2ln(n)]


where n = T/Tz is the number of peaks and , and Tz are the mean, standard deviation and mean up-crossing
period, respectively, of the time history being analysed. OrcaFlex reports this most probable extreme value for the
specified storm duration.
Ochi goes on to show that, for low values of risk parameter , the extreme value which will be exceeded only with
probability is
+ [2ln(n/)]


However this latter formula is approximate and is valid only for low values of . So OrcaFlex instead calculates the
extreme value which will be exceeded with probability using the alternative formula
+ [2ln(-n/ln{1-})]


Theory, Extreme Value Statistics Theory
w

136
Ochi derives this formula using Cramr's approximation method in his paper On Prediction of Extreme Values, and it
gives good results over the whole range of values of risk factor .
Note that all the above formulae are for maxima, i.e. analysing the upper tail extremes. Corresponding formulae for
minima (lower tail) are trivially obtained by replacing the plus signs with minus signs in these formulae.
Weibull and Generalised Pareto Distributions
The Weibull and Generalised Pareto (GPD) distributions are both fitted using the maximum likelihood method. Both
distributions are fitted to extremes of the data that are selected using the peaks-over-threshold method with
(optional) declustering. They differ only in the actual statistical distribution that is fitted and then used to predict
the extreme values.
Maximum likelihood
Maximum likelihood estimation is a standard general-purpose statistical technique for fitting a given parametric
distribution to an arbitrary set of data. It fits the parameters of the distribution to the data by calculating the
parameters that make the observed data most likely under the chosen distribution. The technique is widely
described in statistical texts; in particular the book by Coles is particularly relevant, since he describes (Section
4.3.2, Parameter Estimation) its application to the GPD. Coles also documents the motivation for, and
implementation of, the peaks-over-threshold method (Chapter 4, Threshold Models) and declustering (5.3, Modelling
Stationary Series).
Threshold models
When the object of primary interest is extrapolation into the tails of the data, it is safest to use a model that is fitted
only to the tails of the data. This is because models that are fitted to the entire dataset tend to be driven by features
in the body of the data, which may not be relevant to the tail behaviour. Mathematical theory (e.g. Coles, Theorem
4.1) tells us that as the size of the dataset and the threshold for fitting increase, the peaks over the threshold
converge in distribution to a Generalised Pareto distribution.
Declustering
An important assumption underpinning the maximum likelihood method is that the data are independent. However,
this is often not the case. Consider daily temperature for example, where one cold day is likely to be followed by
another: successive daily values are not independent, but values a week or a month apart might well be considered
independent. For OrcaFlex time history results this is even more important, since unless the log interval is
extremely long, then successive time history values will certainly not be independent.
We can get much closer to independence by sub-sampling the data, ensuring that the points we choose are
sufficiently far apart as to be approximately independent. The usual way to do this is declustering: OrcaFlex uses
either runs declustering as illustrated by Coles (5.3.3, Wooster Temperature Series), or defines a cluster to be the set
of values between successive up-crossings of the mean value.
The complete model-fitting process is then summarised as:
1. Use declustering to identify clusters of exceedences.
2. Determine the maximum excess within each cluster.
3. Assuming independence between these maxima, use maximum likelihood to fit the chosen distribution to them.
Weibull distribution
OrcaFlex fits the two-parameter Weibull distribution with distribution function
FW2(y) = 1 - exp{(-y/)

}
to the declustered excesses over threshold, y, where
= Weibull distribution scale parameter
= Weibull distribution shape parameter.
This is equivalent to applying the three-parameter Weibull distribution
FW3(x) = 1 - exp[{-(x-)/}

]
to the original values x unadjusted for the threshold (i.e. x=+y), where the location parameter is the user-
specified threshold value and is not fitted by the maximum likelihood calculation.
Generalized Pareto distribution
The Generalized Pareto distribution function, for the excesses y above threshold, is
FGPD(y) = 1 - (1+y/)+
-1/
for 0, where (1+y/)+ = max(0, 1+y/)
FGPD(y) = 1 - exp(-y/) for =0
where
w
Theory, Environment Theory
137
= GPD scale parameter
= GPD shape parameter.
5.10 ENVIRONMENT THEORY
5.10.1 Buoyancy Variation with Depth
The buoyancy of an object is normally assumed to be constant and not vary significantly with position. The
buoyancy is equal to Vg, where is the water density, V is the volume and g is the acceleration due to gravity. In
reality the buoyancy does vary due to the following effects:
- If the object is compressible then its volume V will reduce with depth due to the increasing pressure.
- The water density can vary with position, either because of the compressibility of the water, or else because of
temperature or salinity variations. Normally the density increases with depth, since otherwise the water column
would be unstable (the lower density water below would rise up through the higher density water above).
For buoys and lines these effects can be modelled in OrcaFlex.
Note: The bulk modulus and density variation facilities in OrcaFlex only affect the buoyancy of objects.
OrcaFlex does not allow for compressibility or density variation when calculating hydrodynamic
effects such as drag, added mass, etc. The calculation of hydrodynamic effects use the
uncompressed volume and a nominal sea density value, which is taken to be the density value at
the sea density origin.
Compressibility of Buoys and Lines
All things are compressible to some extent. The effect is usually not significant, but in some cases it can have a
significant effect on the object's buoyancy. To allow these effects to be modelled, you can specify the compressibility
of a 3D Buoy, 6D Buoy or Line Type by giving the following data on the object's data form.
Bulk Modulus
The bulk modulus, B, specifies how the object's volume changes with pressure. If we denote by V the compressed
volume of the object then V is given by:
V = V0(1-P/B)
where V0 is the uncompressed volume at atmospheric pressure, and P is the pressure excess over atmospheric
pressure.
The bulk modulus has the same units as pressure F/L
2
and the above formula can be thought of as saying that the
volume reduces linearly with pressure, and at a rate that would see the object shrink to zero volume if the pressure
ever reached B. For an incompressible object the bulk modulus is infinity, and this is the default value in OrcaFlex.
The above formula breaks down when P>B. In this case OrcaFlex uses a compressed volume V of zero. However, the
relationship between pressure and volume would become inaccurate well before the pressure exceeded the bulk
modulus. In practise B is normally very large, so the object normally only experiences pressures that are small
compared to B.
5.10.2 Current Theory
Extrapolation
In the presence of waves, the current must be extrapolated above the still water level; in OrcaFlex we adopt the
convention that the surface current applies to all levels above the still water level.
If a sloping seabed is specified, the boundary is inconsistent with a horizontal current. This effect is not usually
important and is uncorrected in OrcaFlex. The current at the greatest depth specified is applied to all greater depths.
Interpolated Method
Horizontal current is specified as a full 3D profile, variable in magnitude and direction with depth. The profile
should be specified from the still water surface to the seabed. Linear interpolation is used for intermediate depths. If
the specified profile does not cover the full depth then it is extrapolated (see Extrapolation above).
Power Law Method
Current direction is specified and does not vary with depth. Speed (S) varies with position (X,Y,Z) according to the
formula:
S = Sb + (Sf - Sb) x ((Z-Zb) / (Zf-Zb))
1/Exponent

where
Sf and Sb are the current speeds at the surface and seabed, respectively,
Exponent is the power law exponent,
Theory, Environment Theory
w

138
Zf is the water surface Z level,
Zb is the Z level of the seabed directly below (X,Y).
Note: If Z is below the seabed (e.g. has penetrated the seabed) then the current speed is set to Sb and if Z
is above the surface (e.g. in a wave crest) then current speed is set to Sf.
5.10.3 Seabed Theory
The seabed reaction force is the sum of a penetration resistance force in the seabed normal direction and a friction
force in the direction tangential to the seabed plane and towards the friction target position. If explicit integration is
used in the dynamic analysis then, in addition, seabed damping forces are applied in the normal and tangential
directions.
The penetration resistance force depends on the choice of seabed model used for details see either Linear Seabed
Model Theory or Non-linear Soil Model Theory. For details of the friction force see Friction Theory.
Objects Affected
3D buoys and 6D buoys, lines and drag chains interact with the seabed. Other objects are not affected by it.
A line interacts when one of its nodes penetrates the seabed. The seabed reaction forces are calculated using the
penetration of the lower outer surface of the line (based on the line type contact diameter) and the seabed forces are
applied at that point. The seabed lateral friction force is calculated using the line type seabed friction coefficient.
A 3D buoy interacts when the buoy origin penetrates the seabed. The seabed reaction forces are calculated using the
penetration of the buoy origin, and are applied at the buoy origin. The seabed friction force is calculated using the
buoy seabed friction coefficient.
A 6D buoy interacts when any of its vertices penetrates the seabed. Each penetrating vertex experiences its own
seabed normal reaction and lateral friction force, based on the penetration of that vertex and displacement of that
vertex from its friction target position, and the forces are applied at that vertex. This gives a model where each
vertex behaves rather like a pad (such as the landing pad on a lunar module).
Drag chain interaction with the seabed is calculated differently see drag chain seabed interaction.
Linear Seabed Model Theory
In the Linear seabed model the seabed behaves as a linear spring in the normal direction, with spring strength
equal to the Normal seabed stiffness specified in the seabed data.
Normal Seabed Stiffness Force
The normal stiffness reaction force has magnitude = KnAd and is applied in the outwards normal direction, where:
Kn = seabed normal stiffness
A = penetrator contact area
d = depth of penetration into the seabed.
For details on how the penetrator contact area is calculated see 3D Buoy Theory, 6D Buoy Theory and Line
Interaction with Seabed and Solids.
Normal Seabed Damping Force
If implicit integration is used in the dynamic analysis then no seabed damping forces are applied. If explicit
integration is used in the dynamic analysis then, seabed damping forces are applied in the normal and tangential
directions, as follows.
The normal seabed damping force is only applied when the penetrating object is travelling into the seabed, not when
it is coming out of the seabed. It is applied in the seabed outward normal direction and has magnitude Dn given by:
Dn = .2(MKnA)

Vn if Vn > 0
Dn = 0 if Vn 0
where
= seabed percent critical damping / 100
M = mass of the object (e.g. the mass of a node of a line)
Kn = seabed normal stiffness
A = penetrator contact area
Vn = component of velocity normal to the seabed, positive when travelling into the seabed and negative when
coming out.
The tangential seabed damping force, Dt, is applied in the direction opposing the tangential component of the
velocity of the penetrator. It is given by
w
Theory, Environment Theory
139
Dt = -2(MKtA)

Vt
where
Kt = seabed shear stiffness
Vt = vector component of penetrator velocity tangential to the seabed.
For details on how the penetrator contact area is calculated see 3D Buoy Theory, 6D Buoy Theory and Line
Interaction with Seabed and Solids.
5.10.4 Seabed Non-Linear Soil Model Theory
The non-linear soil model has been developed in collaboration with Prof. Mark Randolph FRS (Centre for Offshore
Foundation Systems, University of Western Australia). It is a development from earlier models that proposed and
used a hyperbolic secant stiffness formulation, such as those proposed by Bridge et al and Aubeny et al.
For details of the data used by the non-linear soil model and its suitability for different seabed types see Non-linear
Soil Model.
Note: The non-linear soil model is currently experimental and we are working on comparing the model
against experimental results for pipe-seabed contact. Please contact Orcina if you have any
feedback and comments on the model or ideas for improvement.
Full details of the non-linear soil model are given in Randolph and Quiggin (2009). The main aspects of the model
are:
- It models the seabed normal resistance using four penetration modes, as shown in the diagram below.
- In each penetration mode the seabed reaction force per unit length, P(z), is modelled using an analytic function
of the non-dimensionalised penetration z/D, where z = penetration and D = penetrator contact diameter. See
Penetration Resistance Formulae below.
- In Not In Contact mode the resistance P(z) is zero. In the other 3 modes the formula for P(z) uses a term of
hyperbolic form, which provides a high stiffness response for small reversals of motion, but ensures that as the
penetration z increases or decreases from its value when this episode of penetration or uplift started, then the
resistance P(z) asymptotically approaches the soil ultimate penetration resistance (for penetration) or ultimate
suction resistance (for uplift) at that penetration depth.
These features are now described in more detail in the sections below.
Penetration Modes

Figure: Soil Model Penetration Modes

Uplift
Initial
Penetration
Repenetration
Not in Contact
First
contact
only Start of
first uplift
only
Second or
subsequent
contact
Start
repenetrating
when still in
contact
Start of second
or subsequent
uplift
Break
contact
Theory, Environment Theory
w

140
The penetration mode of a given penetrator (e.g. a node on a line, a vertex of a 6D buoy or the origin of a 3D buoy) is
determined by its penetration, z, and in the dynamic analysis by whether the penetration has increased or
decreased since the previous time step. The details are as follows.
- In the static analysis the Uplift and Repenetration modes are not used and the penetration mode is set to
Initial Penetration if the penetration is +ve or to Not In Contact otherwise. The effect of this is that the static
position found is based on the assumption that any static penetration occurred as a single progressive
penetration, and it does not allow for the effect any of uplift and repenetration that might have occurred during
first installation. OrcaFlex cannot allow for such effects since it only has limited information about how the line
was originally laid.
- The dynamic simulation starts from the results of the static analysis, so the penetrator starts the simulation in
either Not In Contact mode or Initial Penetration mode. If it starts in Not In Contact mode then it changes to
Initial Penetration mode the first time the penetration becomes +ve.
- Once initial penetration has occurred in the dynamic simulation, the penetrator then stays in Initial
Penetration mode until it starts to lift up, and it then changes to Uplift mode.
- The penetrator then stays in Uplift mode until either the penetration falls to zero, in which case it breaks
contact and changes to Not In Contact mode, or else until the penetration starts to increase again, in which case
it changes to Repenetration mode. Similarly, Repenetration mode persists until the penetrator starts to lift up
again, when it changes to Uplift mode. So if the penetrator stays in contact with the seabed but oscillates up and
down then it switches back and forth between Uplift and Repenetration modes.
- If the penetrator breaks contact and then later makes contact again then it enters Repenetration mode, not
Initial Penetration mode. This is because the model assumes that second and subsequent periods of contact
are making contact with the same area of seabed as was previously disturbed by the initial penetration.
Ultimate Resistance Limits
The resistance formulae are arranged so that as penetration z increases (for penetration) or decreases (for uplift)
then the resistance asymptotically approaches the ultimate penetration resistance Pu(z) (for penetration) or the
ultimate suction resistance Pu-suc(z) (for uplift). These ultimate penetration and suction asymptotic limits are given
by
Pu(z) = Nc(z/D)su(z)D
Pu-suc(z) = -fsucPu(z)
where
- su(z) = undrained shear strength at penetration z. This is given by su(z) = su0 + z, where su0 is the undrained
shear strength at the mudline and is the undrained shear strength gradient, both of which are specified in the
Seabed Soil Properties data.
- D = penetrator contact diameter. For 3D Buoys and 6D Buoys the contact diameter is taken to be the square root
of the contact area (see 3D Buoy contact area and 6D Buoy Theory). For Lines the contact diameter is as
specified in the Line Type Contact Data.
- Nc(z/D) = bearing factor. For z/D 0.1 this is modelled using the power law formula Nc(z/D) = a(z/D)
b
, where a
and b are the non-dimensional Penetration Resistance Parameters of the model, as specified in the Soil Model
Parameters. For z/D < 0.1 the formula Nc = Nc(0.1)(10z/D)

is used instead, which gives a good approximation


to the theoretical bearing factor for shallow penetration.
- fsuc = non-dimensional Suction Resistance Ratio parameter of the model, as specified in the Soil Model
Parameters.
Penetration Resistance Formulae
In Not In Contact mode the penetration resistance P(z) is zero.
In the other three modes the resistance P(z) is modelled using formulae that involve the following variables:
- = z / (D/Kmax). This is the penetration, but non-dimensionalised to be in units of D/Kmax, where Kmax is the
Normalised Maximum Stiffness parameter of the model, as specified in the Soil Model Parameters.
- z0 = penetration z at which the latest episode of this contact mode started, i.e. the value at the time the latest
transition into this contact mode occurred.
- 0 = z0 / (D/Kmax) = non-dimensionalised penetration at which the latest episode of this contact mode started.
- P0 = resistance P(z) at which the latest episode of this contact mode started.
w
Theory, Environment Theory
141
Initial Penetration Mode
For Initial Penetration mode the starting penetration and resistance values, z0 and P0, are both zero. The
penetration resistance is then given by
P(z) = HIP().Pu(z)
(1)
where
HIP() = / [1 + ]
The term HIP() is a hyperbolic factor that equals 0 when = 0 when initial penetration starts, equals when = 1,
i.e. when z = D/Kmax, and asymptotically approaches 1 as penetration gets large compared to D/Kmax. The purpose of
this factor is to provide a high initial stiffness while ensuring that the penetration resistance P(z) rises smoothly
from zero when contact first starts (when and z are both 0) and asymptotically approaches the ultimate
penetration resistance, Pu(z), if gets large (i.e. if z gets large compared to D/Kmax). This is illustrated by the blue
curve in the model characteristics diagram below, which approaches the ultimate penetration resistance limit
(upper grey curve) as penetration gets large compared to D/Kmax.
Uplift Mode
For Uplift mode the penetration resistance is given by
P(z) = P0 - HUL(0 - )(P0 - Pu-suc(z))
(2a)
but subject to a suction limit see below. Here:
- HUL(0 - ) = ( 0 - ) / [ AUL(z) + (0 - ) ]
- AUL(z) = [P0 - Pu-suc(z)] / Pu(z0)
The term HUL(0 - ) is a hyperbolic factor that equals 0 when = 0 at the start of this uplift, and asymptotically
approaches 1 if the non-dimensional uplift (0 - ) gets large compared to AUL(z). So in uplift mode the resistance
given by equation (2a) drops from its value P0 when this uplift started, and asymptotically approaches the
(negative) ultimate suction resistance Pu-suc(z) if the non-dimensional uplift (0 - ) gets large compared to AUL(z).
See the green curve in the model characteristics diagram below.
Suction Limit
Experiments (Bridge et al) have found that suction resistance can only be sustained for a limited displacement past
the point where the net resistance becomes negative, and suction then decays as uplift continues. To model this the
resistance given by equation (2a) is limited to be no less than (i.e. no more suction than) a negative lower bound
Pmin(z), given by:
Pmin(z) = EUL(z)Pu-suc(z)
(2b)
where
- EUL(z) = exp[Min{0, (z - zP=0) / (suc zmax)}]
- zmax = largest ever penetration z for this penetrator
- zP=0 = largest penetration z at which suction has started during any uplift
- suc = non-dimensional Normalised Suction Decay Distance parameter of the model, as specified in the Soil
Model Parameters.
The exponent in the expression for EUL(z) is zero or negative, so EUL(z) 1.EUL(z) equals 1 when z zP=0, but decays
towards zero if the penetration z is less than the largest penetration, zP=0, at which suction has ever occurred during
uplift. The effect of this is that the term Pmin(z) limits suction to be no more than Pu-suc(z) when the first uplift starts,
but as the penetrator lifts up higher (relative to the maximum penetration at which suction has ever occurred
during uplift) then the suction is limited more. This models the suction decay effect that experimental evidence has
found.
Repenetration Mode
For Repenetration mode the penetration resistance is given by
P(z) = P0 + HRP( - 0)(Pu(z) - P0)
(3a)
but subject to a repenetration resistance upper bound see below. Here
- 0 and P0 = non-dimensional penetration and resistance at the start of this repenetration
- HRP( - 0) = ( - 0) / [ ARP(z) + ( - 0) ]
- ARP(z) = ( Pu(z)-P0 ) / Pu*
Theory, Environment Theory
w

142
- Pu* = Pu(z) if P0 0, i.e. if this repenetration started from a zero or negative resistance
- Pu* = Pu(z*) if P0 > 0, where z* is the penetration when the preceding episode of uplift started
The term HRP( - 0) in equation (3a) is a hyperbolic factor that equals 0 when = 0 at the start of this repenetration,
and asymptotically approaches 1 if the non-dimensional repenetration ( - 0) gets large compared to ARP(z). So the
repenetration mode resistance given by equation (3a) rises from its value P0 when this repenetration starts, and
asymptotically approaches the ultimate penetration resistance Pu(z) if the non-dimensional repenetration ( - 0)
gets large compared to ARP(z). See the purple curve in the model characteristics diagram below.
Repenetration Resistance Reduction After Uplift
Experiments (Bridge et al) have found that when repenetration occurs following large uplift movement the
repenetration resistance is reduced until the previous maximum penetration is approached. To model this the
repenetration resistance given by equation (3a) is limited to be no more than an upper limit Pmax(z) given by:
Pmax(z) = ERP(z)PIP(z)
(3b)
where
- PIP(z) = penetration resistance that initial penetration mode would give at this penetration, as given by equation
(1)
- ERP(z) = exp[min{0, - rep + (z - zP=0) / (suc zmax)}]
- zmax = largest ever penetration z for this penetrator
- zP=0 = largest penetration z at which suction has started during any uplift
- suc = non-dimensional Normalised Suction Decay Distance parameter of the model, as specified in the Soil
Model Parameters.
- rep = non-dimensional Repenetration Offset After Uplift parameter of the model, as specified in the Soil Model
Parameters.
The exponent in the expression for E
RP
(z) is zero or negative, so E
RP
(z) 1. The expression for E
RP
(z) gives a value <
1, and so limits the repenetration resistance to be less than the ultimate penetration resistance Pu(z), until the
penetration z exceeds zP=0 by a certain amount, quantified by rep. This models the effect that repenetration
following large uplift movement shows reduced resistance until the previous maximum penetration is approached.
Model Characteristics
The following diagram illustrates the effect of the above equations as penetration changes, for a catenary line
moving up and down on the seabed.
w
Theory, Environment Theory
143

Figure: Soil Model Characteristics
The model starts in Initial Penetration mode and gives a resistance (blue curve, see note (1) in diagram) that
increases as the pipe sinks into the seabed, and asymptotically approaches the ultimate penetration resistance Pu
(upper dashed grey curve).
Then, when the pipe starts to lift up again the model enters Uplift mode and the resistance falls (green curve, see
note (2) in diagram) and asymptotically approaches the ultimate suction resistance Pu-suc (lower dashed grey curve).
In this case the uplift is enough that the resistance becomes negative i.e. suction (note (3) in diagram).
If the uplift continues and the pipe lifts off the seabed then the model stays in Uplift mode and the model follows the
green curve further (note (4) in diagram). The suction reduces as the uplift continues, and drops to zero when the
penetration drops to zero.
If, however, the uplift ends and repenetration starts, then the model enters Repenetration mode (purple curve, note
(5) in diagram) and the suction rapidly falls and soon instead becomes +ve resistance. As repenetration continues
increases the resistance rises (note (6) in diagram) and again asymptotically approaches the ultimate penetration
resistance.
Further cycles of uplift and repenetration would give further episodes of Uplift and Repenetration modes and so
give hysteresis loops of seabed resistance.
Soil Extra Buoyancy Force
The seabed resistance formulae given above model the resistance P(z) due to the soil shear strength. In addition to
this there is an extra buoyancy force due to the fact that the penetrator displaces soil that has a higher saturated
density than the water. To model this the following extra buoyancy force is applied, vertically upwards, in addition
to the resistance P(z).
Extra Soil Buoyancy Force = fbVdisp(soil - sea)g
where
- fb is a non-dimensional soil buoyancy factor, as specified on in Soil Model Parameters data.
- Vdisp = displacement volume = volume of the part of the penetrating object that is below the seabed tangent
plane.
- soil = saturated soil density, as specified in the Soil Properties data.

(5) suction releases
if repenetrates ..
5
Ultimate penetration
resistance, P
u

Normal
seabed
reaction
force
(3) Further uplift is
resisted by suction
Non-dimensional
Penetration,
(2) Uplift
(6) Further
repenetration
(1) Initial
penetration
(4) .. or if uplift
continues
O
-ve reaction
(ie suction)
Ultimate suction
resistance, P
u-suc

1 2 3 4 10 15 20 25
Theory, Environment Theory
w

144
- sea = sea water density at the seabed origin, as specified in the sea density data.
- g = acceleration due to gravity for the units being used
The factor fb is normally greater than 1. This models the fact that when seabed soil is displaced it does not disperse
thinly across the seabed plane, but instead tends to heave locally around the penetrating object. The effect of this is
that the extra buoyancy is greater than the standard theoretical buoyancy force Vdisp(soil - sea)g that would apply if
the soil was fully fluid.
Soil Model Parameters
Several non-dimensional constants are used in the formulae given above for the seabed normal reaction force. These
are parameters that control how the soil response is modelled by the non-linear soil model. Their values can be
edited on the Seabed Soil Model page of the Environment data form, but we recommend that these parameters are
normally left at their default values. The effects of the parameters are now described.
Penetration Resistance Parameters
The parameters a and b control how the bearing factor Nc(z), and hence the ultimate penetration and suction
resistance limits Pu(z) and Pu-suc(z), vary with penetration z. See Ultimate Resistance Limits above.
Soil Buoyancy Factor
This is the factor fb that controls the modelling of the extra buoyancy effect that occurs when a penetrating object
displaces soil. See Soil Extra Buoyancy Force above. The buoyancy factor, fb, should normally be greater than 1, to
model the fact that the displaced soil tends to heave locally around the penetrating object.
Normalised Maximum Stiffness
This is the factor Kmax that determines the reference penetration, D/Kmax, that is used to calculate the non-
dimensional penetration values, and 0, that are used in the hyperbolic factors in the Penetration Resistance
Formulae above. It therefore controls the maximum stiffness during initial penetration or on reversal of motion, and
also how fast the penetration resistance asymptotically approaches its limiting value. A higher value means the
resistance more rapidly approaches the limit as penetration changes, and so gives a stiffer seabed model.
Suction Resistance Ratio
This is the factor fsuc that controls the ultimate suction resistance Pu-suc(z). See Ultimate Resistance Limits above. A
lower value gives less suction, a higher value gives more.
Normalised Suction Decay Distance
This is the factor suc that controls the suction decay limit term Pmin(z) in equation (2b) in Uplift mode. A lower value
gives less suction effect, by causing suction to decay after less uplift. A higher value causes suction to persist over
greater uplift distances. This parameter also affects the repenetration limit term Pmax(z) in equation (3b) in
Repenetration mode.
Repenetration Offset After Uplift
This is the parameter rep that controls the penetration at which the repenetration resistance limit Pmax(z) in
equation (3b) in Repenetration mode merges with the bounding curve for initial penetration resistance, PIP(z). A
smaller value results in less penetration past zP=0 before the repenetration resistance after uplift merges with the
bounding curve of initial penetration resistance. A higher value leads to greater penetration before the bounding
curve is reached.
5.10.5 Morison's Equation
OrcaFlex calculates hydrodynamic loads on lines, 3D buoys and 6D buoys using an extended form of Morison's
Equation. See Morison, O'Brien, Johnson and Schaaf.
Morison's equation was originally formulated for calculating the wave loads on fixed vertical cylinders. There are
two force components, one related to water particle acceleration, the inertia force, and one related to water particle
velocity, the drag force. For moving objects, the same principle is applied, but the force equation is modified to take
account of the movement of the body.
The extended form of Morison's equation used in OrcaFlex is:
Fw = (.aw + Ca..ar) + ..Cd.A.Vr|Vr|
where
Fw is the fluid force
is the mass of fluid displaced by the body
aw is the fluid acceleration relative to earth
Ca is the added mass coefficient for the body
w
Theory, Environment Theory
145
ar is the fluid acceleration relative to the body
is the density of water
Vr is the fluid velocity relative to the body
Cd is the drag coefficient for the body
A is the drag area
The term in parentheses is the inertia force, the other term is the drag force. The drag force is familiar to most
engineers, but the inertia force can cause confusion.
The inertia force consists of two parts, one proportional to fluid acceleration relative to earth (the Froude-Krylov
component), and one proportional to fluid acceleration relative to the body (the added mass component).
To understand the Froude-Krylov component, imagine the body being removed and replaced with an equivalent
volume of water. This water would have mass and be undergoing an acceleration aw. It must therefore be
experiencing a force .aw.
Now remove the water and put the body back: the same force must now act on the body. This is equivalent to saying
that the Froude-Krylov force is the integral over the surface of the body of the pressure in the incident wave,
undisturbed by the presence of the body. (Note the parallel with Archimedes' Principle: in still water, the integral of
the fluid pressure over the wetted surface must exactly balance the weight of the water displaced by the body.)
The added mass component is due to the distortion of the fluid flow by the presence of the body. A simple way to
understand it is to consider a body accelerating through a stationary fluid. The force required to sustain the
acceleration may be shown to be proportional to the body acceleration and can be written:
F = (m + Ca.).a
where
F is the total force on the body
m is the mass of the body
(Ca.) is a constant related to the shape of the body and its displacement
a is the acceleration of the body.
Another way of looking at the problem is in terms of energy. The total energy required to accelerate a body in a
stationary fluid is the sum of the kinetic energy of the body itself, and the kinetic energy of the flow field about the
body. These energies correspond to the terms (m.a) and Ca..a respectively.
Trapped Water
The term (Ca.) has the dimensions of mass and has become known as the added mass. This is an unfortunate name
which has caused much confusion over the years. It should not be viewed as a body of fluid trapped by and moving
with the body. Some bodies are so shaped that this does occur, but this trapped water is a completely different
matter. Trapped water occurs when the body contains a closed flooded space, or where a space is sufficiently closely
surrounded to prevent free flow in and out. Trapped water should be treated as part of the body: the mass of the
trapped water should be included in the body mass, and its volume should be included in the body volume.
For a more complete description of Morison's equation and a detailed derivation of the added mass component see
Barltrop and Adams, 1991 and Faltinsen, 1990.
5.10.6 Waves
Wave Theory
Each wave train can be a regular wave, a random wave or specified by a time history file.
Regular Waves
OrcaFlex offers a choice of a long-crested, regular, linear Airy wave (including seabed influence on wave length) or
non-linear waves using Dean, Stokes' 5th or Cnoidal wave theories (see Non-linear Wave Theories). Waves are
specified in terms of height and period, and direction of propagation.
Random Waves
OrcaFlex offers five standard frequency spectra: JONSWAP, ISSC (also known as Bretschneider or modified Pierson-
Moskowitz), Ochi-Hubble, Torsethaugen and Gaussian Swell.
The program synthesises a wave time history from a user-determined number of linear wave components. The
wave component frequencies are chosen using an equal energy approach see below. The phases associated with
each wave component are pseudo-random: a random number generator is used to assign phases, but the sequence
is repeatable, so the same user data will always give the same train of waves. Different wave component phasing for
Theory, Environment Theory
w

146
the same spectrum can be obtained by shifting the simulation time origin relative to the wave time origin, or by
specifying a different random number seed.
OrcaFlex provides special facilities to assist in selecting an appropriate section of random sea. These are available on
the Waves Preview page of the Environment data form. The facilities include:
- A profile graph plotting the wave elevation for a selected period and
- A table listing all the waves in a selected time interval whose height or steepness is large by comparison with
the reference wave Hs, Tz.
Wave components
An irregular wave train is constructed by linear superposition of a number of linear wave components. OrcaFlex
creates the components using an equal area approach, over a user-specified range of the frequency spectrum.
However this approach can result in some components (e.g. near the tails of the spectrum where the spectral energy
is low) representing a wide range of frequencies. Such components can result in poor modelling of system
responses, since a wide frequency range of spectral energy is then concentrated at a single frequency. To solve this
the user can specify a maximum component frequency range, and any component that covers a wider frequency
range is then subdivided into multiple components (which then have lower energy, so they are no longer have equal
energy) until all the components satisfy the specified maximum frequency range.
This method of allocating wave components is now described in more detail. We denote by rmin and rmax the
minimum and maximum relative frequencies, and by fmax the maximum component frequency range.
The wave components are created as follows:
1. We define fm- to be the frequency of the spectral peak with the lowest frequency. Likewise define fm+ to be the
frequency of the spectral peak with the highest frequency. For single peaked spectra fm- = fm+ = fm. For the Ochi-
Hubble spectrum, the spectral peak frequencies are data items named fm1 and fm2. For the Torsethaugen
spectrum, the spectral peak frequencies are calculated internally by the program as described in the
Torsethaugen and Haver paper.
2. The overall frequency range considered is [rminfm-, rmaxfm+]. The nature of wave spectra means that the energy
outside the range is negligible, at least for the default values of rmin and rmax.
3. This overall frequency range is then broken into n component frequency bands [fi-, fi+] (i = 1 to n), such that each
band contains the same amount of spectral energy. Here f1- = rminfm-, fn+ = rmaxfm+ and fi+ = f(i+1)-, and n is the user-
specified number of components. See the illustration below, which for clarity is for only n=10 components (the
default value of n is much larger).
4. Any frequency band [fi-, fi+] for which fi+ - fi- > fmax is then recursively subdivided into multiple bands, until the
frequency width of each band is less than the specified maximum fmax. Any such subdivision will result in the
number of components, n, increasing, and the components resulting from subdivision will no longer have the
same energy as the non-subdivided components.
5. A wave component is then created for each resulting frequency band. The wave component frequency, fi, is
chosen so that there is equal spectral energy either side of it in the frequency band represented by that
component. In other words there is equal spectral energy in the ranges [fi-, fi] and [fi, fi+].
Note: When the spectrum discretisation method is set to Legacy or 9.3a, the values of fm- and fm+ are
defined differently. Both fm- and fm+ are set to the nominal value of fm. For single peaked spectra this
is identical to the behaviour described above. For the Ochi-Hubble spectrum the nominal fm is
defined to be fm1. For the Torsethaugen spectrum the nominal fm is user input data.
The wave spectrum plotted below illustrates the effect of the equal energy approach. The vertical lines represent the
component frequency ranges. For simplicity we have only used 10 components but you would typically use a lot
more than this in order to give a much better discretisation of the spectrum. In addition we have not applied the
maximum component frequency range fmax, and the effect of this can be seen in the wider component frequency
ranges in the low and high frequency tails of the spectrum.
w
Theory, Environment Theory
147

Figure: Equal energy approach to choosing wave components
The equal energy approach has two significant advantages over a discretisation using equal frequency spacing:
1. The component frequencies produced by the equal energy approach are not related to each other in a
multiplicative way. This means that the repeat period of the resulting wave train is effectively infinite.
2. The equal energy approach results in a finer discretisation being used around the spectral peak. To achieve the
same level of discretisation with an equal frequency spacing approach would result in a great deal many more
components being used. Since simulation runtimes are increased when more components are used the equal
energy approach gives an efficient use of wave components.
Directional spread spectrum
The directional spreading spectrum used by OrcaFlex is:
Sd() = K(n)cos
n
(-p) for -/2 -p /2
where
K(n) =
-
(n/2 + 1) / (n/2 + 1/2), a normalising constant,
n is the spreading exponent,
is the wave direction and
p is the principal wave direction.
The total spectrum used by OrcaFlex S(f,) is then given by S(f,) = Sf(f).Sd() where Sf is the frequency spectrum.
Discretisation of the directional spectrum
The direction range -/2 -p /2 is discretised into the user-specified number of wave directions. OrcaFlex
discretises the directional spectrum using the same equal energy strategy as described above for the frequency
spectrum.
Note: OrcaFlex does not use the same set of frequencies for each of the directions, since that would
introduce non-realistic correlations between the frequencies for different directions, and not
correctly represent the continuous spread spectrum. Instead, if nd and nf are the user-specified
number of wave directions and number of frequencies per direction, respectively, then OrcaFlex
chooses nd x nf frequencies from the frequency spectrum, using the equal energy strategy, and then
randomly distributes those frequency components over the nd directions in a way that gives nf of
them in each of the nd directions.
Kinematic Stretching
Kinematic stretching is the process of extending linear Airy wave theory to provide predictions of fluid velocity and
acceleration (kinematics) at points above the mean water level. It only applies to Airy waves and to random waves
(which are made up of a number of Airy waves).
0
10
20
30
40
50
0 0.05 0.1 0.15 0.2 0.25 0.3
Frequency (Hz)
S
p
e
c
t
r
a
l

D
e
n
s
i
t
y

(
m
^
2
/
H
z
)
Theory, Environment Theory
w

148
Linear wave theory in principle only applies to very small waves, so it does not predict kinematics for points above
the mean water level since they are not in the fluid. The theory therefore needs to be 'stretched' to cover such
points, and OrcaFlex offers a choice of three published methods: Vertical Stretching, Wheeler Stretching and
Extrapolation Stretching (see below).
Consider, for example, the horizontal particle velocity u. In Airy wave theory the formula for u at position (x,z) at
time t is:
u = E(z) a cos(t - - kx)
(1)
where a, , and k are the wave amplitude, angular frequency, phase lag and wave number, respectively, x is
distance downstream from the wave origin and z is measured positive upwards from the mean water level.
The term E(z) is a scaling factor given by E(z) = cosh(k(d+z))/sinh(kd), where d = mean water depth. It is an
exponential decay term that models the fact that the fluid velocity reduces as the point goes deeper. However for
z>0 (i.e. above the mean water level) E(z) is greater than 1 so it amplifies the velocity. This can give particle velocity
predictions that are unrealistically large (the problem being worst for high frequency waves). The various stretching
methods deal with this problem by replacing E(z) with a more realistic term.
Note that all the stretching methods apply not only to the scaling factor E(z) in the horizontal velocity formula (1),
but also to the scaling factors in the corresponding Airy wave theory formulae for the vertical velocity and the
horizontal and vertical acceleration.
Vertical Stretching
This is the simplest of the 3 methods. E(z) is left unchanged for z0, but for z>0, E(z) is replaced by E(0). This has
the effect of setting the kinematics above the mean water level to be equal to those at the mean water level.
Wheeler Stretching
This method stretches (or compresses) the water column linearly into a height equivalent to the mean water depth.
This is done by replacing E(z) by E(z') where
z' = d(d+z)/(d+) - d
and is the z-value at the instantaneous water surface. This formula for z' essentially shifts z linearly to be in the
range -d to 0.
Extrapolation Stretching
This method extends E(z) to points above the mean water level by using linear extrapolation of the tangent to E(z)
at the mean water level. In other words, for z0 equation (1) is left unchanged, but for z>0, E(z) is replaced by E(0) +
z.E'(0), where E' is the rate of change of E with z.
Wave Spectra
ISSC spectrum
The ISSC spectrum (also known as Bretschneider or modified Pierson-Moskowitz) is defined as:
S(f) = 5/16 Hs
2
fm
4
f
-5
exp(-5/4 [f/fm]
-4
)
where f is frequency. The other two parameters, the peak frequency fm and the significant wave height Hs are data
items.
For more details see Tucker 1991, page 107.
JONSWAP spectrum
The JONSWAP spectrum is defined as:
S(f) = (g
2
/16
4
) f
-5
exp(-5/4 [f/fm]
-4
)
b

where g is the gravitational constant, b = exp(-
-2
[f/fm - 1]
2
), = 1 for f fm, = 2 for f > fm and the other
parameters , , 1 and 2 are data items.
For more details see:
- Barltrop and Adams, page 277.
- Tucker 1991, page 108.
- Isherwood 1987.
Ochi-Hubble spectrum
See the Ochi-Hubble paper for details of the spectral formula.
The Ochi-Hubble Spectrum allows two peaked spectra to be set up, enabling you to represent sea states that include
both a remotely generated swell and a local wind generated sea.
w
Theory, Environment Theory
149

The Ochi-Hubble wave spectrum is the sum of two separate component spectra the example graph shows the two
components and their sum. The component spectrum with the lower frequency peak corresponds to the remotely
generated swell and the one with the higher frequency peak corresponds to the local wind generated sea. This is
why the Ochi-Hubble spectrum is often called a two-peaked spectrum; however in practice, the resulting total
spectrum typically has only one peak (from the remotely generated swell) plus a shoulder of energy from the local
wind generated sea.
The two component spectra are each specified by a set of three parameters Hs1, fm1, 1 for the lower frequency
component and Hs2, fm2, 2 for the higher frequency component. See Data for Ochi-Hubble Spectrum.
In OrcaFlex you can either specify all these 6 parameters explicitly, or you can simply specify the overall significant
wave height Hs and tell OrcaFlex to automatically select the most probable 6 parameters for that value of Hs. In the
latter case, OrcaFlex uses 'most probable' parameters based on formulae given in the Ochi-Hubble paper (table 2b).
Torsethaugen spectrum
The Torsethaugen spectrum is another two-peaked spectrum, more suited to North Sea application than Ochi-
Hubble. See the Torsethaugen and Haver paper for details of the spectral formula.
Warning: The two-peaked Ochi-Hubble and Torsethaugen spectra make no allowance for the directionality
of the swell and wind components of the sea state. In reality the separate components frequently
come from different directions. However, an OrcaFlex wave train has a single principal direction.
Because of this it is more appropriate to model a two-peaked sea state using two separate OrcaFlex
wave trains, one for the swell component and one for the local wind generated component.
Gaussian Swell spectrum
The Gaussian Swell spectrum is based on the normal (or Gaussian) probability density function and is defined as:
S(f) = (Hs/4)
2

-1
(2)
-
exp(-[f-fm]
2
/2
2
)
where Hs, fm and are the input data.
Non-linear Wave Theories
OrcaFlex models two types of waves, periodic regular waves and random waves. A regular wave is a periodic wave
with a single period. A random wave in OrcaFlex is a superposition of a number of regular linear waves of differing
heights and periods. We shall not discuss random waves here.
For very small waves in deep water, Airy wave theory (also know as linear wave theory) is valid. Many waves in
practical engineering use do not fall into this category, hence the need for non-linear wave theories. These include
Stokes' 5th order theory, Dean's stream function theory and Fenton's cnoidal theory which are all available in
OrcaFlex. We shall give an outline of these theories here in the form of concise abbreviations of the relevant papers.
For an overview of all the theories considered here see Sobey R J, Goodwin P, Thieke R J and Westberg R J, 1987.
To fix notation we use the following conventions throughout. These conventions are different from those used in
OrcaFlex but we use them here in order to agree with the literature. We assume that the wave is long-crested and
travels in the x direction and we shall work only in the (x,z) plane. The seabed has z = 0 and the mean water level is
given by z = d, where d is the water depth (at the seabed origin). The wave is specified by wave height (H) and wave
period (T) and the wavelength (L) will be derived. The horizontal and vertical particle velocities are denoted by u
Example of Ochi-Hubble Spectrum
0
1
2
3
4
5
6
0 1 2 3 4
Relative Frequency r
S
(
r
)

[
m
^
2
]
Theory, Environment Theory
w

150
and v respectively. We assume a moving frame of reference with respect to which the motion is steady and x = 0
under a crest.
See Stokes' 5th, Dean's stream function theory and Fenton's cnoidal theory for a brief overview of each of the non-
linear wave theories available in OrcaFlex and for guidance on how to decide on which wave theory to use in
practice.
Dean Stream Function theory
A typical approach to wave theory makes use of the idea of a velocity potential. This is a vector field (x,z) whose
partial derivatives are the particle velocities of the fluid. That is:
/x = u and /z = v.
Chappelear devised a wave theory based on finding the best fit velocity potential to the defining wave equations.
This was quite complicated and Dean's idea was to apply the same idea to a stream function. A stream function is a
vector field (x,z) which satisfies
/x = -v and /z = u.
Dean's original paper Dean (1965) was intended to be used to fit stream functions to waves whose profile was
already known, for example a wave recorded in a wave tank. For the purpose of OrcaFlex the user provides
information on the wave train in the form of water depth, wave height and wave period and we wish to find a wave
theory which fits these data. Thus Dean's theory in its original form does not apply and we choose to follow the
stream function theory of Rienecker and Fenton (1981). This method is also known as Fourier approximation wave
theory.
The problem is to find a stream function which:
1. satisfies Laplace's equation
2
/x
2
+
2
/z
2
= 0, which means that the flow is irrotational,
2. is zero at the seabed, that is (x,0) = 0,
3. is constant at the free surface z = (x), say (x,) = -Q and
4. satisfies Bernoulli's equation [ (/x)
2
+ (/z)
2
] + = R, where R is a constant.
In these equations all variables have been non-dimensionalised with respect to water depth d and gravity g.
By standard methods, equations (1) and (2) are satisfied by a stream function of the form
(x,z) = B0 z + Bj [sinh (jkz) / cosh (jk)] cos (jkx)
where k is the wave number which is as yet undetermined, and the summation is from j = 1 to N. The constant N is
said to be the order of the stream function. The problem now is to find coefficients Bj and k which satisfy equations
(3) and (4).
Implementing stream function theory requires numerical solution of complex non-linear equations. The number of
these equations increases as N increases and there is a short pause in the program while these equations are solved.
For most waves the default value will suffice. However, for nearly breaking waves the solution method sometimes
has problems converging. If this is the case then it might be worth experimenting with different values.
Accuracy of method
Because the method is a numerical best fit method it does not suffer from the truncation problems of the Stokes' 5th
and cnoidal theories. For these methods, power series expansions are obtained and then truncated at an arbitrary
point. If the terms which are being ignored are not small then these methods will give inaccurate answers. In theory,
Dean's method should cope well in similar circumstances as it is finding a best fit to the governing equations. This
means that stream function wave theory is very robust. In very shallow water Fenton believes that his high order
cnoidal wave theory is best, although we would recommend stream function theory here. It is possible that, by their
very nature, Stokes' 5th and the cnoidal theories may give inaccurate results if applied to the wrong waves. In all
circumstances the stream function method, if it converges, will give sensible results. Hence it can be used as a coarse
check on the applicability of other theories. That is if your preferred wave theory gives significantly different results
from Dean's, applied to the same wave, then it is probably wrong!
Stokes' 5th
The engineering industry's standard reference on 5th order Stokes' wave theory is Skjelbreia and Hendrickson
(1961). This paper presents a 5th order Stokes' theory with expansion term ak where a is the amplitude of the
fundamental harmonic and k = 2 / L is the wave number. The length a has no physical meaning and by choosing ak
as expansion parameter, convergence for very steep waves cannot be achieved. Fenton (1985) gives a 5th order
Stokes' theory based around an expansion term kH/2 and demonstrates that it is more accurate than Skjelbreia and
Hendrickson's theory. Thus it is Fenton's theory which is implemented in OrcaFlex. It is worth noting that the linear
theory of Airy is a 1
st
order Stokes' theory.
w
Theory, Environment Theory
151
Assuming that the user supplies wave train information comprising water depth, wave height and wave period then
the wave number k must be computed before the theory can be applied. In order to do this a non-linear implicit
equation in terms of k is solved using Newton's method. This equation is known as the dispersion relationship. Once
k is known, a number of coefficients are calculated and these are used for power series expansions in order to find
the surface profile and wave kinematics.
Accuracy of method
Inherent in the method is a truncation of all terms of order greater than 5. Thus if the terms which are discarded are
significant then this theory will give poor results. See Ranges of applicability for the waves for which Stokes' 5th
theory is valid, but essentially this is a deep water, steep wave theory.
Cnoidal theory
This is a steady periodic water wave theory designed to be used for long waves in shallow water. The Stokes' 5th
order theory is invalid in such water as the expansion term is large and the abandoned terms due to truncation are
significant. The high-order cnoidal theory of Fenton (1979) has been regarded as the standard reference for many
years but it gives unsatisfactory predictions of water particle velocities. This work has been superseded by Fenton
(1990 and 1995).
Fenton's original paper gave formulae for fluid velocities based on a Fourier series expansion about the term
= H / d. In his later works Fenton discovered that much better results could be obtained by expanding about a
"shallowness" parameter . We follow this approach.
A 5th order stream function representation is used but instead of terms involving cos the Jacobian elliptic function
cn is used, hence the term cnoidal. The function takes two parameters, x as usual, and also m which determines how
cusped the function is. In fact when m = 0, cn is just cos and the Jacobian elliptic functions can be regarded as the
standard trigonometric functions. The solitary wave which has infinite length corresponds to m = 1 and long waves
in shallow water have values of m close to 1. Fenton shows that the cnoidal theory should only be applied for long
waves in shallow water and for such waves m is close to 1.
The initial step of the solution is to determine m and an implicit equation with m buried deep within must be solved.
As in the Stokes' theory this equation is the dispersion relationship. The solution is performed using the bisection
method since the equation shows singular behaviour for m 1 and derivative methods fail.
After m has been determined Fenton gives formulae to calculate surface elevation and other wave kinematics. In
practice m is close to 1 and Fenton takes advantage of this to simplify the formulae. He simply sets m = 1 in all
formulae except where m is the argument of an elliptic or Jacobian function. This technique is known as Iwagaki
approximation and proves to be very accurate.
Ranges of Applicability
Regular wave trains are specified in OrcaFlex by water depth, wave height and wave period. Which wave theory
should one use for any given wave train? For an infinitesimal wave in deep water then Airy wave theory is accurate.
For finite waves a non-linear theory should be used. In order to decide which wave theory to use one must calculate
the Ursell number given by
U = HL
2
/ d
3

See Non-linear Wave Theories for notation conventions used.
If U < 40 then the waves are said to be short and Stokes' 5th may be used. For U > 40 we have long waves and the
cnoidal wave theory can be used. The stream function theory is applicable for any wave. The boundary number 40
should not be considered a hard and fast rule. In fact for Ursell number close to 40 both the Stokes' 5th theory and
the cnoidal theory have inaccuracies and the stream function method is recommended. In regions well away from
Ursell number 40 then the relevant analytic theories (Stokes' 5th or cnoidal) perform very well.
Our recommendations are:
Ursell number Recommended wave theory
<< 40 Dean or Stokes' 5th
~ 40 Dean
>> 40 Dean or Cnoidal
In general then, we would recommend the stream function wave theory in most cases. If another theory is being
used then it should be compared against the stream function theory to check its validity. This is a very important
point. OrcaFlex has no way of telling if a theory has been misapplied, other than giving warnings for obvious abuses
it is up to the user to make sure they are using an applicable theory. By comparing with the stream function theory
a reliable check can be made and if two theories give the same answers then one should be filled with confidence!
Theory, Vessel Theory
w

152
Breaking waves
All the regular wave theories are suspect for breaking or near breaking waves. In shallow water the height of a
breaking wave, HB= 0.14L, where L is the wave length. An expression which covers all depths, due to Miche, is
HB = 0.88k
-1
tanh(0.89kd)
where k=2/L is the local wave number as calculated by Airy wave theory. OrcaFlex reports a warning if the wave
height exceeds this breaking wave height HB.
Particle kinematics
An important consideration for computing the wave kinematics is whether to use apparent or real quantities. That
is, do we compute velocities and accelerations relative to a fixed point in the fluid (Eulerian) or relative to an
individual water particle (Lagrangian). For velocities there is no confusion as the two concepts coincide but there is
an issue for accelerations.
The accelerations are used by OrcaFlex in relation to Morison's Equation in order to compute pressure gradients
which in turn result in forces being applied to objects. Tucker (1991) gives an example of a Venturi tube with zero
apparent acceleration throughout the tube but a non-zero pressure gradient! For the linear theory of Airy, which is
based on the assumption that the wave is very small, then apparent and real accelerations are effectively equal and
OrcaFlex computes apparent accelerations for Airy wave theory. For the non-linear theories, real accelerations are
used in all cases.
Handling of current
Each of the theories implemented allows for a uniform Eulerian current but none is designed to deal with current
profiles. Because we are dealing with non-linear waves it is not possible to analyse the wave assuming zero current
and then add in the current afterwards, as we do for Airy waves. So we have to reach some compromise. The
convention chosen is as follows:
The current profile is defined as usual and the current used to analyse the wave is taken to be the component of
current in the wave direction at the mean water level. Call this current component CW. To calculate the fluid velocity
V at any given point in time we must take into account the fluid velocity VW containing uniform current CW together
with the current C at the point in question, as specified by the current profile. The formula is:
V = VW - CW + C.
A similar formula is used during the build up. If the wave factor is then
V = (VW - CW ) + C.
Seabed Slope
In the case of a sloping seabed in OrcaFlex, we adopt the following convention for wave theories. We assume that
the water depth is that at the seabed origin for the purpose of deriving the wave information (wave number, stream
function etc.) We define the fluid motion for a point (x,y,z) where z < 0 to be the fluid motion for the point (x,y,0).
Physically implausible solutions
The non-linear wave theories implemented in OrcaFlex each have their own ranges and limitations as previously
discussed. However, it is sometimes possible to obtain a solution for a particular wave train which is physically
implausible. For example if the stream function or Stokes' 5th theories are misapplied then they may predict wave
profiles with multiple crests. Whilst these are valid solutions to the mathematical problem, they are not realistic.
Also it is sometimes predicted by each theory that the horizontal fluid velocities under a crest increase with depth.
This also is physically implausible. OrcaFlex warns if such unrealistic solutions occur. It is then up to the engineer to
judge the validity of the results.
It has not been possible to guard against all such anomalies, in particular the Stokes' 5th theory can predict wave
profiles with points of inflection other than at crest and trough.
5.11 VESSEL THEORY
5.11.1 Vessel Rotations
The orientation of a vessel is specified by 3 rotation angles that are called Euler angles. There are various different
ways of defining Euler angles and the conventions used by OrcaFlex are documented below. In all cases positive
rotation angle means rotating clockwise about the relevant axis direction.
To provide flexibility, a vessel in OrcaFlex can be given two types of motion, primary and superimposed. In many
cases only one of the two types is needed. The total motion of the vessel is the combination of the two. To
w
Theory, Vessel Theory
153
distinguish between the primary, superimposed and total motion, different names are used for the 3 rotation angles,
as follows:
- For primary motion the rotation angles are called Primary Rotation 1, Primary Rotation 2 and Primary Rotation
3. The initial orientation of the vessel specifies the initial values of the primary rotation angles, and these are
called the initial Heel, Trim and Heading.
- For displacement RAOs and harmonic motion they are called Roll, Pitch and Yaw.
- The total motion results report the combination of the primary and superimposed motion. For this the angles
are called Rotation 1, Rotation 2 and Rotation 3.
Order of application of rotations
For each of these sets of vessel rotation angles, the rotations are applied in the reverse order. That is, the rotation
about the z-axis is done first, followed by the rotation about the new y-axis, and then finally the rotation about the
new x-axis.
Here is more detail of how the vessel rotations are applied.
The rotations start with the vessel axes Vx, Vy, Vz aligned with the global axes directions GX, GY, GZ.
The primary motion rotation angles are applied first, in reverse order. That is, Primary Rotation 3 is applied about
the initial Vz-direction (= global GZ direction), then Primary Rotation 2 is applied about the resulting new Vy
direction, and finally Primary Rotation 1 is applied about the resulting new Vx direction.
Note: The first of these 3 primary rotations is about the vertical, so it sets the heading of the vessel. The
vessel axes directions after this first rotation are called the Primary Heading Axes, and it is in
these directions that the RAO, QTF and harmonic motions are applied.
The superimposed motion is then applied. The superimposed motion rotations are called roll, pitch and yaw. These
rotations are applied starting from the vessel orientation resulting from the primary motion.
For superimposed displacement RAOs and harmonic motion the rotations are applied about the primary heading
directions (see above) and the reverse order is used. So, first the yaw rotation is applied as a rotation about the
primary heading z direction (= vertically upwards direction = global GZ direction), then the pitch rotation is applied
as a rotation about the new primary heading y axis direction, and finally the roll is applied as a rotation about the
new primary heading x axis direction.
For superimposed time history motion the rotations are applied about the vessel axes. Once again, the reverse order
of application is used.
Notes: The order of application of rotations is not significant when all the angles are small. However for
vessels the heading angle rotation about z can be large, in which case the order of application of
the rotations is more significant.
The reverse order of application of rotations described above is the most commonly used
convention for vessel motions. It has the advantage that the z rotation, which is most likely to be
large, is always applied about a vertical axis.
OrcaFlex 8.5 (and earlier versions) applied the roll, pitch and yaw for superimposed motion in the
'forward' order, i.e. roll about x direction, then pitch about new y direction, then yaw about final z
direction. But this order had the disadvantage that when vessel yaw is large it was applied about
an axis that could have already been rolled or pitched and so would no longer be horizontal. The
change in order of application of rotations changes results for cases with non-zero roll or pitch. See
What's New in 8.6 for details.
5.11.2 RAOs and Phases
Displacement RAOs
Vessel motions in waves can be defined by displacement RAOs (Response Amplitude Operators) that are specified
on the Displacements RAOs page of the vessel type data form. Each displacement RAO consists of a pair of numbers
that define the vessel response, for one particular degree of freedom, to one particular wave direction and period.
The two numbers are an amplitude, which relates the amplitude of the vessel motion to the amplitude of the wave,
and a phase, which defines the timing of the vessel motion relative to the wave.
Example: A surge RAO of 0.5 in a wave of height 4m (and hence wave amplitude 2m) means that the
vessel surges to and fro -1m to +1m from its static position; a pitch RAO of 0.5 per metre in the
same wave means that the vessel pitches from -1 to + 1.
Theory, Vessel Theory
w

154
The vessel has 6 degrees of freedom: 3 translations (surge, sway, heave) and 3 rotations (roll, pitch, yaw), so the
RAO data consists of 6 amplitude and phase pairs for each wave period and direction. The RAO amplitude and phase
vary for different types of vessel, and for a given vessel type they vary with draught, wave direction, forward speed
and wave period (or frequency). It is important to obtain accurate values for the RAO amplitude and phase if the
dynamics of the system are to be correctly modelled.
RAOs can be obtained either from model tests or from specialist computer programs. The data may be presented in
tabular or graphical form: tables of numbers are better for our purposes since they can be imported directly into
OrcaFlex (see Importing Hydrodynamic Data).
There are many different conventions for defining RAOs. There have been attempts at standardisation but these
have not been successful so there remain differences between the main computer programs and model basins: some
establishments even use different conventions for reporting model and computed data. The only safe course is to
obtain a complete description of the system used for the data in each case.
The Orcina convention is to use the amplitude of response (in length units for surge, sway, heave, in degrees for roll,
pitch, yaw) per unit wave amplitude, and to use the phase lag from the time the wave crest passes the RAO origin
until the maximum positive excursion is reached (in other words, the phase origin being at the RAO origin).
Mathematically, this is given by:
x = R.a.cos (t - )
where
x is the vessel displacement (in length units for surge, sway, heave, in degrees for roll, pitch, yaw)
a, are wave amplitude (in length units) and frequency (in radians/second)
t is time (in seconds)
R, are the RAO amplitude and phase.
However, OrcaFlex can accept RAO data using a wide range of different conventions so you can input your RAO data
in its original form and simply tell OrcaFlex what conventions apply to those data.
In addition to the actual RAO data you therefore also need to know:
- The coordinates of the RAO origin and of the phase origin.
- The system used to define wave direction. In OrcaFlex 0 means waves approaching the vessel from astern and
90 means waves coming from the starboard side, but if a different convention applies to your data then you
must allow for this when entering the data.
- The coordinate system used to define vessel motions and, in particular, which direction is positive. That is
whether surge is positive forward or aft, whether heave is positive up or down and whether pitch is positive
bow up or bow down.
- Whether the rotational RAO data are in degrees (or radians) of rotation per metre (or foot) of wave amplitude,
or in degrees (radians) per degree (radian) of wave slope or wave steepness.
- The reference time for phase angles, and the reporting convention used (e.g. whether phases are reported as
lags or leads). Again, OrcaFlex allows a range of options.
Although OrcaFlex allows the RAO input data to use a wide range of systems, all OrcaFlex results use a right-handed
system in which the positive movements are as follows:
Surge positive Forward
Sway positive to Port
Heave positive Up
Roll positive Starboard Down
Pitch positive Bow Down
Yaw positive Bow to Port
Wave Load RAOs
RAOs, as described above, can also be used to represent the load (force and moment) on a vessel due to waves,
rather than to directly specify its motion. In this case, the amplitude represents the magnitude of the force (in the
surge, sway or heave direction) or moment (in the roll, pitch or yaw direction); the meaning of the phase remains
unchanged.
w
Theory, Vessel Theory
155
Example: A surge force RAO of 300 kN/m in a wave of height 6m (and hence wave amplitude 3m) means
that a vessel experiences a surge force varying harmonically between -900kN and +900kN over
each wave cycle; a pitch moment RAO of 1E6 kN.m/m in the same wave means that the vessel
experiences a moment about the y axis varying from -3E6 kN.m to +3E6 kN.m.
Wave load RAOs do not completely define the vessel motion as do displacement RAOs: they merely define the force
and moment which a wave exerts on the vessel. OrcaFlex uses these forces and moments, together with any other
loads on the vessel and data on the vessel's mass and inertia, to determine the vessel motion from its equation of
motion.
The description of RAO conventions above, for displacement RAOs, carries over to wave load RAOs with just one
minor difference: rotational wave load RAOs must be expressed per unit of wave amplitude, and they will have
dimensions of moment per unit length.
5.11.3 RAO Quality Checks
RAOs (particularly the phases) are difficult, abstract concepts which makes them difficult to check. It is extremely
important to check them, since the same difficulty applies to the people who derived the data in the first place. RAOs
and phases, even from the most respected sources, are notoriously error-prone!
Fortunately, there are a few natural points of reference where we know what must be going on. The most obvious
and useful ones are responses at very short and very long wave periods.
Displacement RAOs
In very short period waves, the vessel inertia suppresses response, so for all degrees of freedom the expected
displacement RAO amplitude is zero (and phase is then irrelevant).
In very long waves (typically wave periods over 20 seconds for ships or 30 seconds for semisubmersibles) the
vessel will move like a raft on the wave surface. The tables below give the expected displacement RAO amplitudes
and phases for a free-floating vessel in very long waves.
Expected RAOs for a vessel in very long waves
From ahead
(180)
From astern
(0)
From port
(270)
From starboard
(90)
Amp. Phase Amp. Phase Amp. Phase Amp. Phase
Surge 1 -90 1 +90 0 ~ 0 ~
Sway 0 ~ 0 ~ 1 -90 1 +90
Heave 1 0 1 0 1 0 1 0
Roll 0 ~ 0 ~ 1 -90 1 +90
Pitch 1 +90 1 -90 0 ~ 0 ~
Yaw 0 ~ 0 ~ 0 ~ 0 ~


Towards direction
Amplitude Phase
Surge | cos() | +90 if cos()>0
-90 if cos()<0
Sway | sin() | +90 if sin()>0
-90 if sin()<0
Heave 1 0
for all
Roll | sin() | +90 if sin()>0
-90 if sin()<0
Pitch | cos() | -90 if cos()>0
+90 if cos()<0
Yaw | sin(2) | 180 if sin(2)>0
0 if sin(2)<0
Theory, Vessel Theory
w

156
Warning: The expected yaw RAOs given in the above table only apply to slender ships.
Notes: In these tables, the translational amplitudes are non-dimensionalised against wave amplitude and
the rotational amplitudes are non-dimensionalised against maximum wave slope.
The phases given are lags relative to the wave crest so that +90 means that the maximum positive
motion occurs 90 after the wave crest passes the vessel. In these tables we use the conventions of
positive surge is forward, positive sway is to port, positive heave is up, positive roll is starboard
down, positive pitch is bow down and positive yaw is bow to port.
When the amplitude is zero the phase value is irrelevant; this is indicated in the tables by '~' .
You can check RAOs in two ways. First, OrcaFlex provides RAO graphs that help spot errors, see Checking RAOs.
Second, you can run quick simulations with only the vessel in the model and then check that the motions you see are
sensible.
Consider a ship in waves coming from ahead. Set up a simple OrcaFlex model with the vessel only nothing else
set the vessel's primary motion to None, secondary motion to RAOs + Harmonic, and run a short simulation (say 10
seconds build up plus 2 wave periods). Use a large wave height (20m) and long time step say 0.05 seconds for both
inner and outer time steps. When the run is finished (a few seconds only for such a trivial case) replay the last wave
period and watch to see whether the motion of the ship is realistic. The best view direction is horizontal, normal to
the direction of travel of the waves. With the waves coming from the right on screen, then in the wave crest the ship
should be at maximum heave up and moving to the left, and vice versa in the trough. At the point of maximum wave
slope as the crest approaches, the ship should be at maximum surge forwards into the wave and maximum pitch
angle with the bow up. If the phase convention has been misunderstood (e.g. leads have been read as lags) then the
motion is obviously wrong and you should go back and re-examine the data, or confirm your interpretation with the
data source.
This is an excellent check for phases, which are usually the most troublesome to get right. It is not quite so good for
amplitudes, but it is nevertheless worth pursuing. If the wave is very long compared to the ship, then the ship should
move like a small particle in the water surface. Heave amplitude should be equal to wave amplitude and pitch
motion should keep the deck of the ship parallel to the water surface. Surge amplitude should also be equal to wave
amplitude in deep water, but will be greater in shallow water in which the wave particle orbits are elliptical.
The check can be extended to other wave directions. Broadly speaking, we may expect the motion to be
predominantly in the wave direction, with the phasing of surge and sway such that the components in the wave
direction reinforce each other. Similarly, roll and pitch phasing should be such that the components of rotation
about an axis normal to the wave direction reinforce each other. Yaw phasing for a ship in seas off the bow should
be such that the ship yaws towards the broadside on position as the wave crest passes: this is easiest to see in a
near-plan view. Generally speaking, if it looks right in long waves, it probably is right. If not, then think again!
Wave Load RAOs
Since we can relate wave load RAOs to displacement RAOs, we can similarly determine the long-wave limit for wave
load RAOs. OrcaFlex does this for the RAO graphs to facilitate checking wave load RAOs.
The simple model-building exercise described above also works well for wave load RAOS: just set primary motion to
Calculated (6 DOF), superimposed motion to None.
Note: You may need to run a longer simulation, with smaller time steps, for calculated vessel motion than
for displacement RAOs, to allow the model to 'settle down'.
5.11.4 Wave Drift and Sum Frequency Loads
The wave drift load and sum frequency load are second order wave loads that act on objects subject to waves. They
can be applied to a vessel and are calculated based on the dimensional Quadratic Transfer Function (QTF) data
specified in the user's Wave Drift QTF and Sum Frequency QTF data. For a detailed description of the theory see
Faltinsen's book. Here we give a summary and the details of the formulae used in OrcaFlex.
The wave loads on a vessel can be expressed as a sum of first order, second order and even higher order terms. The
linear first order terms are the largest. The second order terms are non-linear effects that are generally much
smaller, but they can be significant in some cases. We neglect terms higher than second order.
The first order load is the sum of a contribution from each individual wave component in the sea state; these loads
excite the vessel's first order motion, which can be modelled in OrcaFlex using either displacement RAOs or load
RAOs. The second order load is quadratic with wave amplitude and consists of contributions from each pair of wave
components in the sea state. There are two types of second order contributions:
- Difference frequency terms from each wave component pair; the total of all of these terms is called the wave
drift load. The contribution from a given pair of wave components has frequency equal to the difference
w
Theory, Vessel Theory
157
between the frequencies of the wave components in the pair. Wave component pairs of equal frequencies, such
as each wave component paired with itself, give constant (zero frequency) contributions; the sum of all these
contributions gives the mean wave drift load, which gives rise to a mean static offset of the vessel. Wave
component pairs that are near each other in frequency give low frequency load contributions; these determine
the slowly varying part of the wave drift load, which can excite slow drift motion of the vessel. Wave component
pairs that differ more in frequency give higher frequency contributions; these are generally less important to
model.
- Sum frequency terms from each component pair, the total of which is called the sum frequency load. The
contribution from a given pair of wave components has frequency equal to the sum of the frequencies of the two
wave components, which can be significantly higher than the typical wave frequencies. These can be important
to model for some systems, such as TLPs, where they can excite high frequency natural modes of the system,
called 'ringing' modes.
These second order loads can be included in, or excluded from, the analysis by specifying that 'Wave Drift Load (2nd
order)' and 'Sum frequency load (2nd order)' are in the Included Effects on the vessel data form Calculation page. If
the wave drift load is included then the mean wave drift load is included in both the static and dynamic analyses. All
the other second order load contributions are time-varying loads, so they are included (if specified) only in the
dynamic analysis.
Second Order Load Theory
Second order loads are calculated by applying the QTF data to all pairs of the wave components in the sea state,
which is a superposition of a number, n, of the regular wave components present in all the wave trains specified. Let
the properties of the i'th wave component be:
i = direction, relative to the low frequency heading of the vessel
ai = amplitude
i = phase lag, relative to the simulation time origin, at the low frequency position of the vessel's QTF origin

i
= period
i = 2/i = angular frequency
The wave component elevation above mean sea level at simulation time t, at the low frequency position of the
vessel's QTF origin, is therefore aicos(it - i).
The QTFs are similar to Wave Load RAOs they specify scaling and phasing that are applied to wave components to
give the contributions to the wave load. But whereas RAOs are applied to each individual wave component to give
that component's contribution to the first-order wave load, QTFs are applied to each pair of wave components to
give that pair's contribution to the second-order wave load.
There are separate sets of QTF data, one for the difference frequency load (wave drift) and one for the sum
frequency load, and within each of these data sets there are separate columns for each of the 6 degrees of freedom
(surge, sway, heave, roll, pitch, yaw).
Consider a single degree of freedom. Then the QTF for that given degree of freedom is a complex-valued function of
the directions 1 and 2 (relative to the vessel) and periods 1 and 2 of the wave components in the pair. Let the
wave drift and sum frequency QTFs be distinguished by subscripts 'd' (for 'drift' or 'difference') and 's' for 'sum':
Qd(1, 2, 1, 2) = wave drift QTF, in complex-valued form
Qs(1, 2, 1, 2) = sum frequency QTF, in complex-valued form
Then the wave drift and sum frequency second order wave loads are sums of load contributions from all paired
combinations of wave components in the sea state, given by:
Wave drift load = i=1..n j=1..n Re{ Qd(i, j, i, j) . ai.aj.exp( i.[(i-j)t - (i-j)] }
Sum frequency load = i=1..n j=1..n Re{ Qs(i, j, i, j) . ai.aj.exp( i.[(i+j)t - (i+j)] }
where
Re{.} denotes taking the real part of a complex number.
Qd(i, j, i, j) and Qs(i, j, i, j) are the wave drift and sum frequency QTFs for interaction of wave
components i and j. These QTFs are derived from the user data; the derivation depends on how the QTF data
are specified and is described below.
QTFs specified as Full QTFs
QTF values for user-specified directions and periods
For sum frequency QTFs, and for wave drift QTFs when the QTF Specification Method is Full QTFs, the user data
specify the QTF amplitude and phase. The complex-valued wave drift and sum frequency QTFs are then given by:
Theory, Vessel Theory
w

158
Qd(1, 2, 1, 2) = ad(1, 2, 1, 2) . exp[ -i.d(1, 2, 1, 2) ] = wave drift QTF, in complex-valued form
Qs(1, 2, 1, 2) = as(1, 2, 1, 2) . exp[ -i.s(1, 2, 1, 2) ] = sum frequency QTF, in complex-valued form
where
ad(1, 2, 1, 2) = wave drift amplitude, as specified in the data
d(1, 2, 1, 2) = wave drift phase lag, in radians, relative to the difference frequency crest
as(1, 2, 1, 2) = sum frequency amplitude, as specified in the data
s(1, 2, 1, 2) = sum frequency phase lag, in radians, relative to the sum frequency crest.
The QTF amplitudes here, ad and as, are as specified in the user QTF data. The phase lag values d and s are derived
from the user's data allowing for the phase conventions specified on the Vessel Type Conventions page.
QTF values for other directions and periods
OrcaFlex uses linear interpolation and extrapolation to derive the diagonal QTF values for directions and periods
not specified in the user's data. For details see Interpolation and extrapolation of QTF data.
Wave drift QTFs specified by Newman's approximation
The above theory uses the full QTF matrix, but sometimes full QTF data are not available for all pairs of directions
(1, 2) and periods (1, 2). Even if all the full QTF data are available, the calculations detailed above are very
computationally intensive, since they involve double summations over all wave components in the sea state. The
time taken to calculate the second order wave loads using the full QTF theory is therefore proportional to n
2
, the
square of the number of wave components in the sea state.
For the wave drift load, both of these issues can be addressed by using the Newman approximation (Newman 1974).
This approximation only requires QTF data for equal pairs of directions (1 = 2 = ) and equal periods (1 = 2 = ),
which are the 'diagonal' values of the full wave drift QTF function (the mean wave drift load data). The Newman
method then approximates the 'off-diagonal' QTF values for component pairs with different directions or different
periods by using an average of the 'diagonal' QTF values for those directions and periods. The approximation
method also enables the double summation to be simplified to calculating the square of a single summation, so it
also reduces the calculation time to being only proportional to n, not to n
2
.
For the wave drift load OrcaFlex therefore provides a choice of QTF Specification Method: Newman's
approximation or Full QTFs. For the sum frequency wave load there is no equivalent to the Newman
approximation, so the full QTF must be specified and the full double summation calculation performed.
When the Newman approximation method is used, the user data specifies only the mean wave drift QTFs, which are
the 'diagonal' entries in the full QTF matrix. These diagonal QTF values Qdiag(,) = Qd(, , , ) must be real, on
theoretical grounds, so the user specifies these values directly as a signed real value, for each of a number of wave
directions and periods. A +ve data value gives an in-phase QTF load contribution, a -ve value corresponds to an
exactly out-of-phase contribution. No separate phase values are specified, and the phase conventions specified for
the Vessel Type do not apply.
Newman approximation for off-diagonal QTFs
Newman QTF data only specifies the mean wave drift QTFs, which are the diagonal entries in the full QTF. The off-
diagonal wave drift QTF values, Qd(1, 2, 1, 2) where 12 or 12, are then approximated from the specified
diagonal QTFs that are on the same 'row' and 'column'. Newman's original approximation method used the
arithmetic mean of the two diagonal QTFs, but OrcaFlex uses the following variant formulation developed later by
Standing, Brendling and Wilson, which uses the geometric mean instead of the arithmetic mean:
Qd(1,2,1,2) = sgn(Qdiag(1,1)) . |Qdiag(1,1).Qdiag(2,2)|, if sgn(Qdiag(1,1)) = sgn(Qdiag(2,2)
Qd(1,2,1,2) = 0, if sgn(Qdiag(1,1)) sgn(Qdiag(2,2))
where |.| denotes absolute value (|x| = x if x0, -x if x<0), and sgn(x) is the sign function (sgn(x) = +1 if x>0, -1 if x<0,
0 if x=0).
The justification for the various forms of Newman approximation has two parts:
- First, on theoretical grounds, the near-diagonal QTFs should be continuous in both 1 and 2. They should
therefore be well-approximated by the mean of the diagonal values on the same row and column.
- Second, providing there is not a significant spreads of wave directions, then the further-from-diagonal QTF
values are less important, since they give difference frequency load contributions with higher frequency that are
not normally as significant.
Warnings: Shallow Water: The Newman approximation can be poor in shallow water, so the full QTF method
is preferable in such cases.
w
Theory, Vessel Theory
159
Spread Waves: The second argument of the above justification breaks down if the vessel is subject
to a significant spread of different wave directions, since wave pairs with very different directions
use far-from-diagonal QTF values but still give low frequency drift load contributions if their
periods are close to each other. So the full QTF method is also preferable in cases with a spread of
wave directions.
Performance of Full QTFs versus Newman's approximation
As explained above, the computational load with the Newman approximation method is proportional to n, where n
is the number of wave components in the sea state, but the computational load of using the full QTF method is
proportional to n
2
. Because of this, simulation might be significantly slower if the full QTF method is used when a
large number of wave components are used to model the sea state.
However this performance penalty only applies to one particular calculation, and in most simulations the run time is
usually determined much more by the other objects in the model (for example calculations for lines). In practice this
means that the only reliable way to determine how practical it is to use full QTFs is to run both with Newman's
approximation and with full QTFs to see how the run times are affected for your model.
Fortunately the performance when using full QTFs is not particularly sensitive to the amount of QTF data, or what
the data values are (provided that they are not zero) the performance depends much more on the total number of
wave components in the model. So users can easily run trial simulations with full QTFs by simply entering a small
amount of dummy full QTF data, with small non-zero values, to see what effect this has on simulation run time,
before deciding whether to obtain and use correct full QTF data.
Interpolation and Extrapolation of QTF data
OrcaFlex uses complex-valued linear interpolation to derive the QTF values, Qd(1, 2, 1, 2) and Qs(1, 2, 1, 2), to
use for directions 1,2 or periods 1, 2 that are not specified in the user's data. This interpolation is done as follows:
- If, for any specified direction or direction pair, the user data do not specify the limiting QTF value for period =0
or for period =Infinity, then a default limiting value of Q is assumed at that limit. For details see Default
Limiting Values below.
- OrcaFlex now obtains the QTF value, Q, for the interaction of wave components i and j, by finding the specified
directions and periods either side of the wave component directions and periods, and then using linear
interpolation between these values. This interpolation is done by treating the complex-valued QTF Q as a linear
function of the directions and periods, except if one of the periods either side is Infinity, then the interpolation
towards that limit is done according to frequency instead of according to period. In other words, for > largest
finite period specified in the data, the complex-valued QTF Q is treated as being a linear function of direction
and frequency, rather than linear with direction and period.
- For wave drift QTFs specified using the Newman approximation, interpolation is only needed for the diagonal
QTF, Qdiag(,), which is a function of two variables only. In this case the interpolation is done using two
separate 1-dimensional interpolations, the first being according to period (or frequency =2/ if is larger
than the longest period specified in the data), and then the second according to direction .
- For bi-directional full QTFs (wave drift or sum frequency), the interpolation is needed for a QTF Q(1,2,1,2)
that is a function of 4 variables. This interpolation is done using a 4-dimensional linear interpolation in the
space whose coordinates are 1, 2, 1 and 2.
- For uni-directional full QTFs (wave drift or sum frequency), the interpolation is only needed for a QTF function
Q(mean,mean,1,2) that is a function of only 3 variables, since the QTF is only needed for wave component pairs
with equal directions, mean. So in this case the interpolation is done using a 3-dimensional linear interpolation
space whose coordinates are mean, 1 and 2.
Default Limiting Values
The default limiting value at =Infinity is Q=0. The effect of this is that if the user does not specify the QTF limit for
=Infinity then for periods greater than the longest period specified in the data the user data will be linearly
extrapolated (on frequency) towards zero QTF at infinite period (zero frequency). This default long period QTF limit
is theoretically correct for a freely floating body, since the body behaves like a cork and does not disturb the
propagating wave, so the second order wave load tends to zero for long periods (low frequencies).
The default limiting value at =0 is taken to be equal to the Q value for the lowest period specified in the data. The
effect of this is that if the user does not specify the QTF limit for =0 then the QTF given for the shortest period
specified in the data will be used for all periods less than that shortest specified period.
Theory, Vessel Theory
w

160
Warning: QTF extrapolation could introduce significant errors if a significant amount of wave energy is
outside the range of wave periods specified in the QTF data. In addition, the default zero QTF value
for long period waves is only theoretically valid for a free-floating vessel. It could be poor for a fixed
or moored vessel (especially if firmly moored). The limiting QTFs for zero and Infinity periods
should therefore be specified in the data if the default limits are not suitable.
Wave Drift Damping Theory
OrcaFlex will calculate the wave drift damping effect on the wave drift load if both Wave Drift Load and Wave Drift
Damping are in the included effects.
The wave drift damping is calculated using an encounter effects approach developed by Molin from Aranha's
original analysis in deep water, but extended according to the results of Malenica et al to be applicable to all water
depths. The velocity used in this calculation is the vessel low frequency velocity relative to the current, so the wave
drift damping includes both the current effect on wave drift load and the damping effect on vessel low frequency
motion.
Note: These encounter effects are only applied to the wave drift load, not to the sum frequency load.
OrcaFlex also only applies wave drift damping in the surge and sway directions, since there is not
normally significant slow drift motion in heave, roll or pitch, and there is not yet a widely accepted
method of modelling yaw wave drift damping.
Wave Drift Damping with Newman Approximation Method
Molin uses the same form of Newman's approximation as OrcaFlex. The effect of wave drift damping is implemented
by using modified wave drift QTF values, Qde(,,,), where the extra subscript 'e' has been added to denote that
they allow for the encounter effects. The modified diagonal QTF values are given by:
Qde(,,,) = Ae . Qd(e,e,e,e)
where
Ae = 1 + ( / - 2)UL/Cg = Aranha scaling factor
e = + UT/Cg = encounter heading
e = 2/e = encounter period
e = (1 - UL/Cp) = encounter frequency
Cp = /k = wave phase velocity
Cg = /k = wave group velocity
k = wave number
= Cg/Cp
U = vessel low-frequency velocity - current velocity, at the wave drift QTF origin
UL, UT = components of U in the wave component direction and transverse to that direction, respectively.
For water of depth h we have:
= [g k tanh(kh)]
g = acceleration due to gravity
Cp = [g tanh(kh)/k]
= [1 + 2kh/sinh(2kh)]
/ = h [1 - 2kh/tanh(2kh)] / [Cg sinh(2kh)]
In the case of deep water, the above equations reduce to:
= (g k)
Cp = (g/k)
=
/ = 0
which gives:
Ae = 1 - (4 / g) UL = Aranha scaling factor
e = + (2 / g) UT = encounter heading
e = - (
2
/ g) UL = encounter frequency
When wave drift damping is included, OrcaFlex uses these modified QTF values, Qde(,,,), for surge and sway. The
unmodified QTF values are always used for heave, roll, pitch and yaw, and of course for all degrees of freedom if
wave drift damping is not included.
w
Theory, Vessel Theory
161
By modifying the diagonal values of the QTFs in this way, before applying Newman's approximation, OrcaFlex is able
to incorporate the time-varying effect of wave drift damping, not just the constant mean value.
Wave Drift Damping with Full QTFs Method
With full QTFs OrcaFlex uses the same approach as with the Newman approximation method described above, by
using the QTF values for the encounter directions and encounter periods of the two wave components in the pair
and then scaling by an Aranha factor.
However, in the literature the Aranha factor is only defined for the mean drift QTFs, where the two components in
the pair have the same frequencies, so for full QTFs this needs to be extended to wave component pairs with
different frequencies. In OrcaFlex this is done by using the geometric mean of the mean drift Aranha factors for the
two components, as follows:
Qde(1,2,1,2) = Ae Qd(1e,2e,1e,2e)
where
Ae = (A1eA2e) = geometric mean of the mean drift Aranha scaling factors for the two wave components
Aie = 1 + (i i/i - 2)UL/Cg,i = mean drift Aranha factor for component i, for i = 1 and 2
ie = + UT/Cg,i = encounter direction for component i, for i = 1 and 2
ie = 2/ie = encounter period for component i, for i = 1 and 2
ie = i (1 - UL/Cp,i) = encounter frequency for component i, for i = 1 and 2
Warning: Limitation of Wave Drift Damping Effect
The theory of wave drift damping assumes that the vessel velocity is small compared to the wave speed; if it is not
then these formulae can result in unreasonable encounter effects. In particular, in the above formula for Qde in deep
water, the Aranha scaling factor [1 - (4 / g) UL ] will be negative if UL exceeds a quarter of the wave crest speed,
g/. And for an even higher vessel speed the encounter frequency, e, could become negative, which is clearly not
meaningful.
At this point the assumptions have broken down and the theory is no longer valid. To avoid this problem, for both
Newman QTFs and full QTFs, OrcaFlex limits the Aranha factor to be non-negative. This effectively says that the
wave drift damping effect for a given wave component can be no greater than (and opposite to) the wave drift load
itself for that component. In other words, for a sufficiently fast-moving vessel and slow-moving wave component,
the wave drift load contribution can be completely cancelled out, but not reversed, by the wave drift damping. This is
only likely to arise for short-wave components, since they travel more slowly. OrcaFlex will issue a warning if this
happens for a significant proportion of the wave energy in the sea state.
5.11.5 Sea State Disturbance
Sea state disturbance modelling is based on the potential theory of inviscid fluids, which is the approach used in
vessel response diffraction programs. In this approach the fluid elevation, motion and pressure distributions due to
a given wave component are all based on a complex-valued potential function, P(p,t), which is a function of position,
p, and time, t.
The velocity field of the wave component is given by the real part of the gradient of this complex velocity potential:
v(p,t) = Re{ P(p,t) }
(1)
All the desired properties of the wave component (surface elevation, velocity and acceleration) can be derived from
the velocity potential function and its gradient, P(p,t). Disturbance effects can therefore be represented by data
specifying how the velocity potential and its gradient are affected by the disturbance.
Velocity Potential Disturbance
Consider a single Airy wave component. If there was no vessel present, then the velocity potential function for that
component would be that of the undisturbed wave component, Pu(p,t), given by:
Pu(p,t) = au(p) . i . exp[ i(t - u(p)) ]
(2)
where
p = (x,y,z) = position coordinates, relative to a horizontal frame of reference whose origin is at the mean sea
surface level at the low frequency horizontal position of the vessel origin, and whose axes are parallel to the
low frequency vessel primary heading axes. The z-axis is vertically upwards, so -z is the depth of the point
below the mean sea surface level.
au(p) = g.A.cosh(k(z+h)) / [ .cosh(kh) ] = amplitude of the undisturbed velocity potential at p.
A = the undisturbed wave elevation amplitude.
Theory, Vessel Theory
w

162
g = acceleration due to gravity.
k = wave number = 2/period.
h = water depth.
u(p) = phase lag (in radians) of the undisturbed velocity potential at position p, at simulation time zero.
= wave component angular frequency = 2 / wave component period.
t = simulation time.
The presence of (and response of) the vessel (or multibody group of vessels) disturbs the wave component, and the
resulting disturbed velocity potential function is Pd(p, t), given by:
Pd(p,t) = ad(p) . i . exp[ i(t - d(p)) ]
(3)
where subscript d denotes the values for the disturbed wave component. So ad(p) and d(p) are the amplitude and
phase lag (at simulation time zero) of the disturbed velocity potential at position p. The frequency, , is not affected
by the disturbance.
The complex-valued disturbance RAO, D(p), is then the ratio of the disturbed potential to the undisturbed potential,
given by:
D(p) = Pd(p,t) / Pu(p,t) = [ ad(p) / au(p) ] . exp[ -i.(d(p) - u(p)) ]
(4)
Note that this disturbance RAO is independent of time, since the time variation exp[i(t)] has cancelled out in this
ratio.
OrcaFlex can calculate the disturbed velocity potential of each wave component from D(p), by multiplying the
known undisturbed potential (equation (2), determined by Airy wave theory) by D(p) for that component:
Pd(p,t) = D(p) . Pu(p,t)
(5)
OrcaFlex can also calculate the disturbed potential gradient from the spatial derivative of that equation:
Pd(p,t) = D(p) . Pu(p,t) + D(p) . Pu(p, t)
(6)
Disturbed Wave Field
The user disturbance RAO data (after allowing for whether the vessel type phase convention is leads or lags) specify
the amplitudes and phases, |D(p)|, arg[D(p)] and |D(p)|, arg[D(p)], of this complex-valued disturbance RAO and
its gradient, as a function of position relative to the vessel, p, and the direction and period/frequency of the wave
component.
Note: The gradient data specify the amplitude and phase of D(p), not the gradients (|D(p)|) and
(arg[D(p)]) of the amplitude and phase of D(p).
OrcaFlex can calculate D(p) from this data, and hence use the above equations to calculate the disturbed velocity
potential, Pd(p,t), and its gradient, Pd(p,t), for the wave component. All the desired properties of the disturbed
wave component can then be derived from this disturbed velocity potential and its gradient. The properties of the
whole wave field then follow from summing over all wave components in the sea state.
For example, the contributions from a particular wave component are given by:
Disturbed Velocity(p,t) = Re{ Pd(p,t) }
(7)
Disturbed Surface Elevation(p,t) = Re{ -(1/g) . d([x,y,0], t) }
(8)
where (p,t) is the derivative of P(p,t) with respect to t.
Surface Elevation Disturbance RAO
This last equation involves the time derivative of Pd. Substituting equation (5), and noting that the complex factor
D(p) in that equation is time-invariant, equation (8) can be re-written as:
Disturbed Surface Elevation(p,t) = Re{ D([x,y,0]) . [ (-1/g) . u([x,y,0], t) ] }
(9)
This shows that the velocity potential disturbance RAO at any position in the plane of the mean sea surface,
D([x,y,0]), is also the surface elevation disturbance RAO at that (x,y) position.
5.11.6 Stiffness, Added Mass and Damping
The stiffness load, and constant-frequency added mass and damping loads, are calculated using the formulae given
below.
w
Theory, Vessel Theory
163
All these loads are applied at the Stiffness, Added Mass and Damping reference origin.
Stiffness Load
The hydrostatic stiffness matrix specifies how the net weight+buoyancy load (force and moment) on the vessel
varies with heave, roll and pitch relative to the vessel in its datum configuration. Only the heave, roll and pitch
components of the matrix are specified; the components for the surge, sway and yaw directions are all zero.
The net weight+buoyancy load is calculated using the following matrix equation:
L = Ld - K.P
where
L = [Fheave,Mroll,Mpitch]
T
is a column 3-vector containing the heave, roll and pitch components of the net weight
+ buoyancy load that acts on the vessel at the reference origin. Here Fheave acts vertically upwards, and Mroll
and Mpitch are about the vessel primary heading x- and y-directions through the reference origin. (The
superscript
T
denotes transpose, simply to turn the row-vector written into a column vector.)
Ld = value of L when the vessel is in its datum position. This will be zero if the datum position is a free-
floating equilibrium position of the vessel when no other objects are attached.
K = the user-specified hydrostatic stiffness matrix.
P = column 3-vector containing the heave position and roll & pitch angles (in radians) at the reference origin,
relative to the user-specified datum Z, heel and trim of that reference origin.
So P[1] = Z coordinate of reference origin - (mean surface Z + datum Z relative to surface). And P[2] and P[3]
are the roll and pitch (in radians) needed to rotate the vessel from its datum Heel and Trim orientation to its
current orientation.
The angular offsets in P are in radians, so the units of the stiffness matrix are:
heave roll pitch
heave F/L F/radian F/radian
roll (F.L)/L (F.L)/radian (F.L)/radian
pitch (F.L)/L (F.L)/radian (F.L)/radian
where F and L denote the units of force and length, respectively.
Added Mass and Damping Loads
The theory below gives details of the added mass and damping loads when using the Constant Added Mass and
Damping Method. The calculation for frequency-dependent added mass and damping loads is more complex, and is
described in Vessel Theory: Impulse Response and Convolution, but the units given below apply in both cases.
Damping Load
When using the Constant Added Mass and Damping Method, the damping load is equal to -D.V, where D is the
specified damping matrix and V is the (6 degree of freedom) vector of vessel velocity and angular velocity relative to
the earth at the specified reference origin.
The damping load is calculated using the following matrix equation:
L = -D.V
where
L = [Fx,Fy,Fz,Mx,My,Mz]
T
is the column 6-vector containing the components, in the vessel primary heading
axes directions, of the damping force (Fx,Fy,Fz) and moment (Mx,My,Mz) that acts on the vessel at the
reference origin. (The superscript
T
denotes transpose, simply to turn the row-vector written into a column
vector.)
V = [vx,vy,vz,x,y,z]
T
is the column 6-vector containing the components, in the vessel primary heading
axes directions, of the velocity (vx,vy,vz) at the specified reference origin, and the angular velocity
(x,y,z) of the vessel, relative to earth.
Note: All components referred to here are in the directions specified by the conventions data. For details
see added mass, damping and stiffness data.
The angular velocities here are in radians per unit time, so the units of the damping matrix elements are:
surge/sway/heave roll/pitch/yaw
surge/sway/heave F / (L/T) F / (rad/T)
roll/pitch/yaw (F.L) / (L/T) (F.L) / (rad/T)
Theory, Vessel Theory
w

164
where F, L and T denote the units of force, length and time, respectively. To see this, consider the surge-surge
element as surge force per unit surge velocity, surge-sway as surge force per unit sway velocity, etc; surge-roll as
surge force per unit roll rate; roll-surge as roll moment per unit surge velocity; and roll-roll as roll moment per unit
roll rate. 'Unit roll rate' means a roll rate of 1 radian/sec.
Added Mass Load
When using the ConstantAdded Mass and Damping Method, the added mass load calculation is analogous to the
damping load described above.
The added mass and damping load (force and moment) at the reference origin is therefore equal to -Ma.A, where Ma
is the specified added mass matrix and A is the column 6-vector containing the components, in the vessel primary
heading axes directions, of the vessel translational and angular acceleration at the reference origin.
The angular accelerations are expressed in radians/T
2
, so the units of the added mass matrix elements are:
surge/sway/heave roll/pitch/yaw
surge/sway/heave M M.L
roll/pitch/yaw M.L M.L
2

where M, L and T denote the units of mass, length and time, respectively.
Note: If the vessel's Primary Motion is set to Calculated (3 DOF) then reduced added mass and damping
matrices are used, having only surge, sway and yaw components, and the damping and added mass
loads are not calculated in the heave, roll and pitch directions. The stiffness matrix, having only
heave, roll and pitch components, is not used at all in this case.
5.11.7 Impulse Response and Convolution
To implement frequency-dependent added mass and damping in the time domain, OrcaFlex uses a method proposed
by Cummins (1962), and implemented by Wichers (1979). This method involves calculating the Impulse Response
Function (IRF) for the vessel and then applying that IRF at each time step using a convolution integral to account for
the past motion of the vessel. In addition, the infinite-frequency added mass matrix, A(), must be calculated and
included in the vessel total inertia matrix.
In more detail, at each calculation time t in the simulation the total added mass and damping load (force and
moment) on the vessel (or vessels, in the case of a multibody group) is given by the following convolution integral
equation:
F(t) = -A() x''(t) - Integral(=0 to ) IRF() x'(t-) d
(1)
where
x'' and x' are the vessel acceleration and velocity, respectively, of the added mass and damping reference
origin relative to the global origin, due to primary motion of the vessel(s)
is a time lag integration variable.
This load is applied at the added mass and damping reference origin.
Impulse Response Function (IRF)
OrcaFlex calculates the IRF using the following Fourier integral equation:
IRF() = c() * Integral(f=0 to ) [4.B(f).cos(2ft)] df
(2)
where
B(f) = frequency-dependent damping matrix, at frequency f.
c() = is a cutoff scaling function. See Impulse Response Function Cutoff below.
The damping data B(f) and the resulting IRF() are matrix-valued functions, of frequency and time lag respectively.
For a single vessel (not in a multibody group) these matrices are 6 x 6 matrices; for a multibody group they are 6N x
6N matrices, where N is the number of vessels in the multibody group.
The convolution integral in equation (2) is calculated numerically using the following assumptions about the form of
the damping:
- B(f) is assumed to vary linearly with f between the frequencies {fi, i=1,2,3,,m} that are specified in the data.
- For frequencies below the lowest frequency specified in the data, B(f) is assumed to decay linearly to zero at
zero frequency.
- For frequencies above the highest frequency specified in the data, B(f) is assumed to decay as f
-3
to zero at
infinite frequency.
w
Theory, Vessel Theory
165
Impulse Response Function Cutoff
The convolution integral equation, (1) above, involves integrating all the way back to the start of the simulation, at
each time step. This can cause long simulations to run slower and slower as the simulation time progresses. But
fortunately impulse response functions decay to zero as the time lag goes to , so there comes a point beyond
which the rest of the integral can safely be neglected. OrcaFlex therefore truncates the impulse response function at
the Cutoff Time, Tc.
Truncating the integral improves performance significantly, but it does involve some approximation in the levels of
damping and added mass applied. And simply cutting off the integral sharply at = Tc can result in negative damping
(energy feed-in) being applied at low frequencies. To avoid this OrcaFlex instead smoothly scales down the IRF
function as approaches Tc, by applying the following cutoff scaling function:
c() = exp[ -(3/Tc)
2
]
in equation (2) above.
The effect of this scaling by c() is that the impulse response function is smoothly scaled down for large , so that the
IRF is virtually insignificant beyond the cutoff time, = Tc, where the integral is truncated. As a result the danger of
energy feed-in is virtually eliminated, but this scaling does introduce approximation errors that can be significant
for small values of Tc.
For details of how to manage these errors, see Cutoff Time.
Infinite-Frequency Added Mass A()
The infinite-frequency added mass matrix gives the vessel's instantaneous response to acceleration (as opposed to
the IRF, which characterises the response to past motion). A() can be estimated from the IRF and any one of the
added mass matrices specified, using the following equation:
Estimate of A() from A(fi) = A(fi) + 1/(2fi) Integral(s=0 to Tc) IRF(s) sin(2fis) ds
where {A(fi), i=1,2,3,,m} are the user-specified added mass matrices for the m frequencies {fi, i=1,2,3,,m}
specified in the data. For a single vessel (not in a multibody group) the matrices A() and A(fi) are 6 x 6 matrices;
for a multibody group they are 6N x 6N matrices, where N is the number of vessels in the multibody group.
In theory, if the data could be specified for all frequencies and full integration used to calculate the IRF and these
estimates, then all of these estimates would give the same value. But in practice the data are only specified for a
finite set of frequencies and the integrations have to be done numerically, so interpolation approximation errors
arise. To reduce these approximation effects OrcaFlex calculates each of the above m separate estimates of its value,
and then takes A() to be the mean of those estimates.
Consistent Added Mass and Damping
The added mass and damping data are not independent. In fact, added mass and damping are mathematically
related through the Kramers-Kronig relations (see Kotik and Mangulis).
OrcaFlex uses the damping data to determine the IRF, and then uses the IRF in conjunction with the added mass
data to estimate the infinite-frequency limit of the added mass.
If the data are consistent, i.e. obey the Kramers-Kronig relations, then the graphs of added mass against frequency
should appear to be converging, with increasing frequency, to the estimated infinite frequency added mass A(). If
they appear to be converging to a limit which differs significantly from the estimated value A(), then this may
indicate that the data are not consistent. In these circumstances, the results of the calculation may not be reliable.
5.11.8 Manoeuvring Load
Manoeuvring loads are second-order forces and moments that are functions of the low frequency added mass of the
vessel and the low frequency part of its translational and angular velocity. They can play an important role in the
damping of slow drift motion.
You can choose whether manoeuvring loads are included, on the Calculation page of the vessel data form. To
include them select Manoeuvring Load in the Included Effects applied to the vessel. No further data are needed,
since the manoeuvring load is based on the added mass data that is already specified for added mass purposes on
the Stiffness, Added Mass, Damping page of the vessel types form.
The manoeuvring force (F1,F2,F3) and moment (F4,F5,F6) arise from the classical theory of rigid body motion in an
inviscid fluid (see, for example, Lamb 124). They are given by:
F1 = j=16 [ A2ju6uj - A3ju5uj ]
F2 = j=16 [ A3ju4uj - A1ju6uj ]
F3 = j=16 [ A1ju5uj - A2ju4uj ]
F4 = j=16 [ A2ju3uj - A3ju2uj + A5ju6uj - A6ju5uj ]
Theory, Vessel Theory
w

166
F5 = j=16 [ A3ju1uj - A1ju3uj + A6ju4uj - A4ju6uj ]
F6 = j=16 [ A1ju2uj - A2ju1uj + A4ju5uj - A5ju4uj ] but see double-counting below
where
A ij = the added mass matrix coefficients specified by the vessel type data. If frequency-dependent added
mass and damping is used then these coefficients will be taken from the added mass matrix associated with
the longest period specified (lowest frequency). If the vessel is in a multibody group then the matrix used
will be that vessel's diagonal block in the multibody group's longest period added mass matrix. If the vessel
type length differs from the vessel length, then these data will be automatically Froude-scaled to the vessel
length.
u j = low frequency velocity (j=13) and low frequency angular velocity (j=46) of the vessel, relative to
current, at the added mass and damping reference origin.
Manoeuvring loads are a low velocity effect (at higher velocities viscous effects dominate), and at wave-frequency
some of these terms are already included in the 2
nd
order wave load specified by the wave drift QTFs. So the
manoeuvring load is calculated using the low-frequency components only of the velocity and angular velocity of the
vessel relative to the current, and using the added mass coefficients (Aij) for the longest period specified in the data
(if frequency-dependent added mass and damping is used), or the single added mass matrix specified (for constant
added mass and damping).
Dangers of double-counting
The expression above for F6 contains the following Munk moment terms that are quadratic in the surge and sway
velocity components, u1 and u2: + A11u2u1 + A12u2
2
- A21u1
2
- A22u1u2
If Current Load is included then these Munk moment contributions are assumed to already be included in the load
specified by the OCIMF current load data. So to avoid double-counting these terms, if manoeuvring load and current
load are both included then these Munk moment terms are omitted from the manoeuvring load.
Warning: There is also a danger of double-counting if the u6
2
terms in the above expressions for F1 and F2 are
non-zero and were also included in the surge and sway yaw rate drag factors that are specified on
the current load page. However these factors are assumed to only include viscous loads, and to not
include any potential theory loads.
5.11.9 Other Damping
The other damping load on the vessel is the sum of linear and quadratic terms that are calculated using the other
damping coefficients specified on the vessel type data form. It is only calculated if Other Damping is specified as
included on the vessel data form.
The velocity vectors used in the calculation are the translational velocity, V, and angular velocity, , of the wave-
frequency part of the vessel primary motion velocity relative to the earth, at the reference origin. The damping load
is then applied at that reference origin.
The damping model used depends on the vessel type symmetry, as follows.
If the symmetry is not Circular then the damping model treats each degree of freedom independently, and the
damping force, F, and moment, M, are given by:
Fx = - Lsurge Vx - Qsurge Vx |Vx|
Fy = - Lsway Vy - Qsway Vy |Vy|
Fz = - Lheave Vz - Qheave Vz |Vz|
Mx = - Lroll x - Qroll x |x|
My = - Lpitch y - Qpitch y |y|
Mz = - Lyaw z - Qyaw z |z|
where
L and Q are the linear and quadratic other damping coefficients, respectively
subscripts x, y, z denote the vessel primary heading directions (so x & y are horizontal and z vertical).
If the vessel type symmetry is Circular, then the quadratic term instead uses a cross-flow drag model, with a
vertical axis:
Fx = - Lsurge Vx - Qsurge Vx |Vh|
Fy = - Lsway Vy - Qsway Vy |Vh|
Fz = - Lheave Vz - Qheave Vz |Vz|
Mx = - Lroll x - Qroll x |h|
w
Theory, Vessel Theory
167
My = - Lpitch y - Qpitch y |h|
Mz = - Lyaw z - Qyaw z |z|
where
Vh = (Vx, Vy, 0) = horizontal vector component of V
h = (x, y, 0) = horizontal vector component of .
5.11.10 Current and Wind Loads
These loads are an important source of damping when modelling vessel slow drift. For a discussion of the various
damping sources see Damping Effects on Vessel Slow Drift.
The current and wind drag loads on a vessel are calculated using the data specified on the Current and Wind Load
pages on the vessel type data form. The loads are split into those due to translational relative velocity and yaw rate.
Drag Loads due to Translational Relative Velocity
The drag loads due to translational velocity of the sea and air past the vessel are calculated using the standard
OCIMF method, which is outlined below. For further details see Oil Companies International Marine Forum, 1994.
The OCIMF method calculates the surge, sway and yaw drag loads on a stationary vessel. OrcaFlex extends this to a
moving vessel by replacing the current (or wind) velocity used in the OCIMF method with the relative translational
velocity of the current (or wind) past the vessel.
More precisely, the relative velocity used is the current (or wind) velocity, relative to the low-frequency primary
motion of the vessel, at the specified current (or wind) load origin. In other words the relative velocity includes the
current but not the waves, and it includes the low-frequency primary motion of the vessel, but not the wave-
frequency motion or the superimposed motion.
Note that the OCIMF method does not include any drag due to yaw angular velocity of the vessel, since there is none
for a stationary vessel. Nor does the OrcaFlex extension of OCIMF add these yaw rate drag terms, since the OCIMF
method has no framework for them. They are therefore calculated separately in OrcaFlex see Drag Loads due to
Yaw Rate below.
Notes: The OCIMF method is intended for tankers, but could be applied to other vessel types providing
suitable data are obtained.
The wind load is only included if the Include wind loads on Vessels option is enabled in the
Environment data.
Warning: The current and wind loads are based on theory for surface vessels and are not suitable for
submerged vessels.
The drag loads due to surge and sway relative velocity are calculated as given by the following OCIMF formulae.
Surge Force = CsurgeV
2
Asurge
Sway Force = CswayV
2
Asway
Yaw Moment = CyawV
2
Ayaw
where
Asurge, Asway and Ayaw are the surge and sway areas and the yaw area moment. For current these correspond to
the exposed areas below the waterline, and for wind to the exposed areas above the waterline.
Csurge, Csway and Cyaw are the surge, sway and yaw coefficients for the actual current or wind direction relative
to the low-frequency vessel heading.
is the water density (for current drag) or air density (for wind drag).
V is the magnitude of the relative velocity of the sea or air past the vessel. For wind loads, V is based on the
wind velocity specified in the data (i.e. the wind velocity at 10m above mean water level). For hydrodynamic
drag, V is based on the current velocity at the low-frequency instantaneous position of the load origin (if this
is above the water surface, then the current velocity at the surface is used). In both cases V is taken relative
to the vessel: it includes allowance for the translational velocity of the load origin due to any low-frequency
primary motion of the vessel, but does not include any wave-frequency or superimposed motion.
The surge force, sway force and yaw moment act at the current or wind load origin. The surge and sway forces act in
the vessel Vx and Vy-directions, respectively, and the yaw moment acts about the vessel Vz-direction.
Note: The OCIMF standard method uses L
2
D for the yaw area moment for current loads, and LAsway for
the yaw area moment for wind loads, where L is the length between perpendiculars and D is the
draught. For current loads (not wind loads) the OCIMF standard method uses LD for both the surge
and sway areas.
Theory, Vessel Theory
w

168
Drag Loads due to Yaw Rate
A vessel rotating in yaw will generate a drag moment resisting the yaw rate, but the OCIMF method described above
does not include this drag load (since the OCIMF method is designed for stationary vessels).
For wind drag these yaw rate terms are insignificant and so are omitted by OrcaFlex. But for current drag they are
important so OrcaFlex models them, using the formulae
Surge Force = (||)Ksurge
Sway Force = (||)Ksway
Yaw Moment = (||)Kyaw
(1)
where
Ksurge, Ksway, Kyaw are the yaw rate drag factors (specified on the Current Load page on the vessel type data
form).
is the vessel yaw rate, in radians per second, due to any low-frequency primary motion of the vessel
is the water density.
These yaw rate drag loads are then applied at the current load origin.
Warning: Danger of double-counting: If manoeuvring load is also included then it may include potential
theory surge and sway force contributions that are quadratic in . To avoid counting these
contributions twice, if manoeuvring load and drag loads due to yaw rate are both included then
you must ensure that the yaw rate drag factors only include the contributions due to viscous
effects.
Estimating the Yaw Rate Drag Factors
The above formulae (1) are based on a simple strip theory estimate of the drag loads on a yawing vessel, as given by
Wichers (1979). Consider the simplest situation where the vessel centre is stationary but the vessel is yawing at rate
about that centre. Let us also assume that the area exposed to sway drag is a simple rectangle of height D (the
draught) and length L (the length between perpendiculars), and that for simplicity we choose to put the load origin
at the centre of that area.
We now divide the drag area into vertical strips of width x and consider the sway drag load on the strip at distance
x forward of the centre. The strip's area is Dx and its sway velocity due to the yaw rate is x, so we can estimate
the sway drag load on it by CdDx(x)|x| where Cd is the drag coefficient, which we assume to be the same for
all the strips.
These sway drag loads from each strip, and their moments about the centre, are then integrated to give the total
sway force and a contribution to yaw moment. When we do this integral the sway forces from corresponding strips
forward and aft of centre have the same magnitude but opposite direction, so they cancel and the total sway drag
force is therefore zero. However the yaw moment terms from forward and aft of centre have the same magnitude
and same direction, so they reinforce, giving a significant yaw drag moment. In fact the integral gives the following
yaw moment.
Yaw Moment = (
2
)(CdDL
4
/32)
(2)
The same argument can be applied to the drag forces in the surge direction, with length L being replaced by width
W. But for a slender vessel W is much less than L, so the surge force contribution to yaw moment is generally
negligible.
Comparing equations (1) and (2) we see that the Kyaw corresponds to the bracketed term (CdDL
4
/32) in equation (2).
This is in fact a combination of a drag coefficient and the 3rd moment of drag area about the centre.
This strip theory argument therefore concludes that for a slender ship, with the hydrodynamic drag load origin at
the centre, then we can estimate the yaw rate drag factors by:
Ksurge = Ksway = 0
Kyaw = (CdDL
4
/32)
where Cd is some appropriate drag coefficient. However, there are a lot of questionable assumptions in the strip
theory argument. Indeed Wichers (1979) found that the strip theory results significantly underestimated the actual
yaw drag measured in model tests, unless the Cd value was increased to about 5, which is rather high for a drag
coefficient. So if more specific data are available, e.g. from model test, then we recommend setting the yaw rate drag
factors to values that best fit your data.
w
Theory, Line Theory
169
Interaction with sway rate
Further complications arise if the vessel is swaying as well as yawing. In this case the integral in the above strip
theory argument turns out to give an extra term involving v. This is an interaction between sway velocity and yaw
rate and its effect is to significantly increase the yaw moment.
OrcaFlex does not yet include this interaction effect. The reason for this is that it is difficult to model. Wichers
(1979) included them in his strip theory model, but as described above the model's results did not match
experimental results particularly well. He returned to the problem in his PhD thesis (Wichers, 1988) and developed
a more accurate empirical approach based on model test data. However the method has some theoretical difficulties,
since the formulae break down when is zero.
Orcina is studying this, with a view to implementing a more accurate yaw rate drag model in a future release of
OrcaFlex. In the meantime we recommend that you specify yaw rate drag factors that are appropriate to the
conditions prevailing in the case being modelled. See the papers by Wichers for further information.
5.12 LINE THEORY
5.12.1 Overview
OrcaFlex uses a finite element model for a line as shown in the figure below.

Figure: OrcaFlex Line model
The line is divided into a series of line segments which are then modelled by straight massless model segments with
a node at each end.
Segment 1
Segment 2
Segment 3
Node 3
Actual Pipe Discretised Model
End A
End B
Node 2
Segment 2
Segment 3
Node 1
Segment 1
Theory, Line Theory
w

170
The model segments only model the axial and torsional properties of the line. The other properties (mass, weight,
buoyancy etc.) are all lumped to the nodes, as indicated by the arrows in the figure above.
Nodes and segments are numbered 1, 2, 3, sequentially from End A of the line to End B. So segment n joins nodes
n and (n+1).
Nodes
Each node is effectively a short straight rod that represents the two half-segments either side of the node. The
exception to this is end nodes, which have only one half-segment next to them, and so represent just one half-
segment.
Each line segment is divided into two halves and the properties (mass, weight, buoyancy, drag etc.) of each half-
segment are lumped and assigned to the node at that end of the segment.
Forces and moments are applied at the nodes with the exception that weight can be applied at an offset. Where a
segment pierces the sea surface, all the fluid related forces (e.g. buoyancy, added mass, drag) are calculated allowing
for the varying wetted length up to the instantaneous water surface level.
Segments
Each model segment is a straight massless element that models just the axial and torsional properties of the line. A
segment can be thought of as being made up of two co-axial telescoping rods that are connected by axial and
torsional spring+dampers.
The bending properties of the line are represented by rotational spring+dampers at each end of the segment,
between the segment and the node. The line does not have to have axial symmetry, since different bend stiffness
values can be specified for two orthogonal planes of bending.
This section has given only an overview of the line model. See structural model for full details.
5.12.2 Structural Model Details
The following figure gives greater detail of the line model, showing a single mid-line node and the segments either
side of it. The figure includes the various spring+dampers that model the structural properties of the line, and also
shows the xyz-frames of reference and the angles that are used in the theory below.
w
Theory, Line Theory
171

Figure: Detailed representation of OrcaFlex Line model
As shown in the diagram, there are 3 types of spring+dampers in the model:
- The axial stiffness and damping of the line are modelled by the axial spring+damper at the centre of each
segment, which applies an equal and opposite effective tension force to the nodes at each end of the segment.
- The bending properties are represented by rotational spring+dampers either side of the node, spanning
between the node's axial direction Nz and the segment's axial direction Sz.
- If torsion is included (this is optional) then the line's torsional stiffness and damping are modelled by the
torsional spring+damper at the centre of each segment, which applies equal and opposite torque moments to
the nodes at each end of the segment. If torsion is not included then this torsional spring+damper is missing and
the two halves of the segment are then free to twist relative to each other.
5.12.3 Calculation Stages
OrcaFlex calculates the forces and moments on a mid-node in 5 stages:
1. Tension Forces.
2. Bend Moments.
Node
Torsion spring
+ damper
Bending springs
+ dampers
Axial spring
+ damper
Ny
Nx
Nz (axial direction)
End B
Sy
1
Sx
2
Sz
Sx
1
Sz
Sx
1
t
o
2
o
1
Sy
2
Theory, Line Theory
w

172
3. Shear Forces.
4. Torsion Moments.
5. Total Load.
5.12.4 Calculation Stage 1 Tension Forces
Firstly the tensions in the segments are calculated. To do this, OrcaFlex calculates the distance (and its rate of
change) between the nodes at the ends of the segment, and also calculates the segment axial direction Sz, which is
the unit vector in the direction joining the two nodes.
Linear axial stiffness
In the case of linear axial stiffness the tension in the axial spring+damper at the centre of each segment is calculated
as follows. It is the vector in direction Sz whose magnitude is given by:
Te = Tw + (PoAo - PiAi)
where
Te = effective tension
Tw = wall tension = EA. - 2(PoAo - PiAi) + EA.C(dL/dt)/L0
In this equation for Tw, the first term is the contribution from axial stiffness, the second term is the contribution
from external and internal pressure (via the Poisson ratio effect) and the third term is the axial damping
contribution. The variables are given by:
EA = axial stiffness of line, as specified on the line types form (= effective Young's modulus x cross section
area)
= total mean axial strain = (L - L0) / (L0)
L = instantaneous length of segment
= expansion factor of segment
L0 = unstretched length of segment
= Poisson ratio
Pi, Po = internal pressure and external pressure, respectively (see Line Pressure Effects)
Ai, Ao = internal and external cross sectional stress areas, respectively (see Line Pressure Effects)
C = damping coefficient, in seconds (this is defined below)
dL/dt = rate of increase of length.
Note: The effective tension, Te, can be negative, indicating effective compression. For the relationship
between effective tension and wall tension see Line Pressure Effects.
This effective tension force vector is then applied (with opposite signs) to the nodes at each end of the segment.
Each mid-node therefore receives two tension forces, one each from the segments on each side of it.
Non-linear axial stiffness
When the axial stiffness is non-linear then the tension calculation is as follows. It is the vector in direction Sz whose
magnitude is given by:
Te = Var Tw() + (1 - 2)(PoAo - PiAi) + EAnomC(dL/dt)/L0
where
Var Tw is the function relating strain to wall tension, as specified by the variable data source defining axial
stiffness.
EAnom is the nominal axial stiffness which is defined to be the axial stiffness at zero strain.
As in the linear case the effective tension force vector is then applied (with opposite signs) to the nodes at each end
of the segment. Each mid-node therefore receives two effective tension forces, one each from the segments on each
side of it.
Damping coefficient C
The damping coefficient C represents the numerical damping in the line. It is calculated automatically using the
formula:
C = (a/100)Ccrit
where
a = target axial damping, as specified on the general data form
Ccrit = (2ML0/EA)

is the critical damping value for a segment


w
Theory, Line Theory
173
M = segment mass, including contents, but not the mass of any attachments
Notes: This numerical damping term is only included when using the explicit integration scheme. The
implicit integration scheme includes in-built numerical damping.
If the axial stiffness is non-linear then we use the nominal axial stiffness EAnom in the formula for e.
5.12.5 Calculation Stage 2 Bend Moments
The bend moments are then calculated. There are bending spring+dampers at each side of the node, spanning
between the node's axial direction Nz and the segment's axial direction Sz. Each of these spring+dampers applies to
the node a bend moment that depends on the angle between the segment axial direction Sz and the node's axial
direction Nz.
These axial directions are associated with the frames of reference of the node and segment. The node's frame of
reference Nxyz is a Cartesian set of axes that is fixed to (and so rotates with) the node. Nz is in the axial direction
and Nx and Ny are normal to the line axis and correspond to the end x- and y-directions that are specified by the
Gamma angle on the line data form (see End Orientation).
The segment has two frames of reference: Sx1, y1, z at the end nearest End A, and Sx2, y2, z at the other end. These
two frames have the same Sz direction, which was calculated in stage 1, so the bend angle 2 between Nz and Sz can
now be calculated. The effective curvature vector C is then calculated: it is the vector whose direction is the
binormal direction, which is the direction that is orthogonal to Sz and Nz, and whose magnitude is 2 / (L0), where
L0 is the unstretched length of segment.
Linear, isotropic bending stiffness
In the case of linear, isotropic bending stiffness the bend moment, M2, generated by the bending spring+damper is
calculated. Isotropic bend stiffness means that the bend stiffnesses for the x and y-directions are equal. The bend
moment M2 is the vector in the binormal direction, b2, where
b2 = unit vector in direction (Sz Nz)
and whose magnitude is given by
|M2| = EI.|C| + D.d|C|/dt
where
EI = bending stiffness, as specified on the line types form
D = (b/100).Dcrit
b = target bending damping, as specified on the general data form.
Dcrit = the bending critical damping value for a segment = L0(M.EI.L0)


M = segment mass, including contents, but not the mass of any attachments
The bend angle (1) and bend moment vector (M1) on the other side of the node are calculated similarly, so the node
experiences two bend moments, one each from the segments on each side of it.
Notes: The damping term represents numerical damping and is only included when using the explicit
integration scheme. The implicit integration scheme includes in-built numerical damping.
Linear, non-isotropic bending stiffness
If the bend stiffnesses for bending about the x and y-directions are different, then the above equation is separated
into its components in the Sx2 and Sy2 directions, giving:
component of M2 in the Sx2 direction = EIx.Cx + Dx.dCx/dt
component of M2 in the Sy2 direction = EIy.Cy + Dy.dCy/dt
where
EIx, EIy = bending stiffnesses of segment, as specified on the line types form
Cx, Cy = components of the curvature vector C in the Sx2 and Sy2 directions
Dx = (b/100)L0(M.EIx.L0)


Dy = (b/100)L0(M.EIy.L0)

.
The curvature used in the calculation of bending moments is the value in the true plane of bending, taking full
account of the 3D motions of the adjacent nodes.
The bend angle (1) and bend moment vector (M1) on the other side of the node are calculated similarly.
Non-linear, isotropic bending stiffness (Elastic or Hysteretic)
In this case the bend moment magnitude |M2| is given by:
Theory, Line Theory
w

174
|M2| = Var BM(2 / [ L0]) + D'.d|C|/dt
where
Var BM is the function relating curvature to bend moment.
D' = (b/100).D'c
D'c = the bending critical damping value for a segment = L0(M.EInom.L0)


EInom is the nominal bending stiffness which is defined to be the bending stiffness at zero curvature.
Var BM can be specified by either:
- A tabular variable data source that defines the bending stiffness. The variable data source can be specified as
either hysteretic or elastic as described below.
- A non-linear stress-strain relationship for a homogeneous pipe. This approach results in a non-linear elastic
bend stiffness model.
The bend angle (1) and bend moment vector (M1) on the other side of the node are calculated similarly.
Elastic or Hysteretic Bending Model
For non-linear bend stiffness you can choose whether the curvature-moment data are interpreted hysteretically or
not.
Non-hysteretic
Non-hysteretic means that the data are applied using a simple elastic model. In this case the bend moment function
Var BM in the above equation is simply the specified function of the current curvature magnitude, without any
allowance for the history of curvature. So if the curvature increases and then decreases again then the bend moment
goes up and down the same non-linear moment-curvature curve. This is illustrated in the following diagram which
shows the bend moment M that results when the non-hysteretic model is used and a simple sinusoidally varying
curvature C is applied.

Figure: Elastic Non-linear Bend Stiffness
Hysteretic
The hysteretic model includes hysteresis effects, i.e. effects of the history of curvature applied. The data are taken to
specify the bend moment that results when the line is bent with slowly increasing curvature. But that if the
curvature reduces again then the bend moment does not come back down the same curve. Instead when the
curvature reduces again the bend moment comes down the curve that is obtained by first undoing and reversing the
first bit of curvature (i.e. the first increment of curvature that was applied), then the second bit of curvature, etc. In
other words the hysteretic model treats curvature as being made up of a series of curvature increments and
corresponding moment increments, and it undoes them on a first in first out basis, as opposed to the last in first out
basis that non-hysteretic bend stiffness uses.
The effect of this hysteretic model is that the bend moment follows a hysteresis curve, as shown in the following
diagrams. The left-hand diagram shows the bend moment that results from a sinusoidal curvature history; the
C
M
w
Theory, Line Theory
175
arrows on the curve show the direction of change of the curvature and moment. The right-hand diagram shows
what happens if a small curvature cycle is followed by another curvature cycle of greater amplitude.

Figure: Hysteretic Non-linear Bend Stiffness
The hysteresis model is described in detail by Tan, Quiggin and Sheldrake (2007).
Warning: You must check that the hysteretic model is suitable for the line type being modelled. It is not
suitable for modelling rate-dependent effects. It is intended for modelling hysteresis due to
persisting effects such as yield of material or slippage of one part of a composite line structure
relative to another part.
5.12.6 Calculation Stage 3 Shear Forces
Having calculated the bend moments at each end of the segment, the shear force in the segment can be calculated.
Each model segment is a straight stiff rod in which the bend moment vector varies from M1 at one end (the end
nearest End A of the line) to M2 at the other end, where these bend moments are calculated as described above.
Because the model segment is stiff in bending, the bend moment varies linearly along the segment and the shear
force in the segment is the constant vector equal to the rate of change of bend moment along the length. The shear
force is therefore given by:
Shear Force Vector = Sz (M2 - M1) / L
where L is the instantaneous length of the segment. Note that Sz, M1 and M2 are vectors, so this is a vector formula
that defines both the magnitude and direction of the shear force.
This shear force vector is applied (with opposite signs) to the nodes at each end of the segment.
5.12.7 Calculation Stage 4 Torsion Moments
The torsion is then calculated (providing torsion has been included). To do this, the directions Sx1, Sy1, Sx2 and Sy2
must first be calculated, since so far only the segment axial direction Sz has been found.
The directions Sx2 and Sy2 at the end of the segment are determined from the orientation Nxyz of the adjacent node,
by rotating Nxyz until its z-direction is aligned with Sz. This rotation is therefore through angle 2 and it is a rotation
about the binormal direction (i.e. the direction that is orthogonal to both Nz and Sz). (Note that rotations about the
binormal direction are bending rotations only i.e. they involve no twisting.) The directions Sx1 and Sy1 at the other
end of the segment are derived in the same way, but starting from the orientation of the node at that other end of
the segment.
The twist angle in the segment can then be calculated it is the angle between the directions Sx1 and Sx2. Note that
this twist angle is also the angle between Sy1 and Sy2. In other words the orientations Sx1, y1, z and Sx2, y2, z, at the
two ends of the segment, differ by just a twist through angle .
Linear torsional stiffness
In the case of linear torsional stiffness the torque generated by the torsion spring+damper can then be calculated it
is a moment vector whose direction is the segment axial direction Sz and whose magnitude is given by:
Torque = K. / L0 + C.(d/dt)
C
M
C
M
Theory, Line Theory
w

176
where
K = torsional stiffness, as specified on the line types form
= segment twist angle (in radians), between directions Sx1 and Sx2
L0 = unstretched length of segment
d/dt = rate of twist (in radians per second)
C = torsional damping coefficient of the line (this is defined below)
Te = effective tension in the segment
This torque moment vector is then applied (with opposite signs) to the nodes at each end of the segment.
Non-linear torsional stiffness
If the torsional stiffness is non-linear then the calculation of torque is as follows. It is a moment vector whose
direction is the segment axial direction Sz and whose magnitude is given by:
Torque = Var Torque(/L0) + C.(d/dt)
where
Var Torque is the function relating twist per unit length to torque as specified by the variable data source
defining torsional stiffness.
Damping coefficient C
The damping coefficient C is calculated automatically using the formula:
C = (t/100)Ccrit
where
t = target torsion damping, as specified on the general data form
Ccrit = (2IzK/L0)

= the critical damping value for a segment


Iz = rotational moment of inertia of the segment about its axis
Here, Iz allows only for the structural mass of the line, not the mass of any contents, since the contents are assumed
to not twist with the pipe.
Notes: This numerical damping term is only included when using the explicit integration scheme. The
implicit integration scheme includes in-built numerical damping.
If the torsional stiffness is non-linear then we use the nominal torsional stiffness Knom in the
formula for C. In this case we define Knom to be the torsional stiffness at zero twist per unit length.
5.12.8 Calculation Stage 5 Total Load
As described above, each mid-node experiences two tension forces, two bend moments, two shear forces and two
torque moments (one each from the segments either side of the node). These loads are then combined with the
other non-structural loads (weight, drag, added mass etc.) to give the total force and moment on the node. OrcaFlex
then calculates the resulting translational and rotational acceleration of the node, and then integrates to obtain the
node's velocity and position at the next time step. See Calculation Method.
5.12.9 Line End Orientation
At line ends, we usually need to define not only the axial direction of the end fitting but also the twist orientation
about that axial direction. This is done by first specifying the azimuth and declination of the axial direction and then
specifying the twist orientation by giving a third angle called gamma. See End Orientation.
Together, the 3 angles azimuth, declination and gamma fully define the rotational orientation of the end fitting. To
define how this is done we need to define a frame of reference Exyz for the end fitting, where:
- E is at the connection point.
- Ez is the axial direction of the fitting, using the "A to B" convention i.e. Ez is into the line at End A, but out of
the line at End B.
- Ex and Ey are perpendicular to Ez.
The 3 angles, Azimuth, Declination and Gamma, specify the orientation of Exyz relative to the local axes Lxyz of the
object to which the end is connected, as follows. (If the line end is not connected to another object, then it is either
Fixed, Anchored or Free. In these cases the angles define Exyz relative to the global axes GXYZ.)
- Start with Exyz aligned with Lxyz.
- Then rotate Exyz by Azimuth degrees about Ez (= Lz at this point).
- Now rotate by Declination degrees about the resulting Ey direction.
w
Theory, Line Theory
177
- Finally rotate by Gamma degrees about the resulting (and final) Ez direction.
In all these rotations, a positive angle means rotation clockwise about the positive direction along the axis of
rotation, and a negative angle means anti-clockwise.
Three-dimensional rotations are notoriously difficult to describe and visualise. When setting the azimuth,
declination and gamma, it is best to check that the resulting Exyz directions are correct by drawing the local axes on
the 3D view.
Here are some examples of the effect of various values of (Azimuth, Declination, Gamma) for a Fixed end. For ends
connected to other objects, replace GXYZ by Lxyz in these examples.
- (0,0,0) sets Exyz to be aligned with GXYZ.
- (0,30,0) sets Ex at 30 below GX (in the GXZ plane), Ey along GY, Ez at 30 to GZ, towards GX.
- (0,180,0) sets Ex along -GX, Ey along GY, Ez along -GZ.
- (90,90,0) sets Ex along -GZ, Ey along -GX, Ez along GY.
- (90,90,90) sets Ex along -GX, Ey along GZ, Ez along GY.
End Direction Results
If the end orientation Exyz is defined, then OrcaFlex offers various results relative to those axes. For a given vector V
(such as the end force) these include the components of V relative to Exyz and the angles that V makes with the
various axes of Exyz (see Line Results: Angles). The angles offered are as follows:
- The "Ez-Angle" is the angle between V and the Ez-direction (i.e. axial direction). This measures how far V is
away from the end fitting axial direction.
- The "Ezx-Angle" is the angle from Ez to the projection of V onto the Ezx plane (measured positive from Ez
towards Ex). This is the angle V makes with Ez when viewing the zx-plane.
- The "Ezy-Angle" is the angle from Ez to the projection of V onto the Ezy plane (measured positive from Ez
towards Ey). This is the angle V makes with Ez when viewing the zy-plane.
- The "Exy-Angle" is the angle between the Ex-direction and the projection of V onto the Exy plane (measured
positive from Ex towards Ey). This is the angle V makes with Ex when viewing the xy-plane.
5.12.10 Line Local Orientation
At any point P, the line orientation is defined by its local axes Pxyz. Pz is in the axial direction, towards End B, and is
reported by the azimuth and declination angles. Px and Py are normal to the line axis.
At the ends of the line, these local axes are referred to as the end axes Exyz, and their directions are specified by the
end orientation angles on the line data form.
At other points on the line the calculation of the local orientation depends on whether torsion is included:
- If torsion is included then the local Pxyz directions are calculated using the specified torsional properties of the
line.
- If torsion is not included then the local directions at P are calculated by assuming that no twisting occurs
anywhere along the line between End A and P. In more detail, OrcaFlex calculates the local orientation at P by
starting with the orientation at End A (as specified by its end orientation angles) and then stepping along the
line from node to node, using the no-twist assumption at each step to calculate the next node's local orientation.
Note: If End A is free or if it is released then the local orientations are calculated as if End A was
connected to an object aligned with the global axes. Accordingly you should exercise caution when
interpreting results which depend on the local orientations of the line.
5.12.11 Treatment of Compression
A segment is said to experience compression if the effective tension is negative. OrcaFlex has two modes for handling
this, depending on the setting of the Compression is Limited data item on the line types form.
Compression is Limited: No
The segment is treated as a strut which can support unlimited elastic compression. This is the preferred model
except where the bend stiffness is insignificant.
Compression is Limited: Yes
The segment is treated as an elastic Euler strut; the compression is limited to the segment Euler load value for the
segment
2
EI/L0
2
, where EI is the bending stiffness of the pipe and L0 is segment unstretched length. This correctly
models a chain or very flexible rope, which can support little or no compression. In the case of a chain, the bending
stiffness is set to zero, and the segment Euler load limit is also zero.
Theory, Line Theory
w

178
The segment Euler load provides a check on the ability of the model to represent compressive loads and the
deformations which result. Compression causes the line to deform laterally, the deformation being controlled by
bending. Given adequate segmentation, OrcaFlex will correctly represent this deformation. If compression exceeds
the segment Euler load of an individual segment, this indicates that the wavelength of deformation is shorter than
can be represented by the chosen segmentation and the results may be unreliable. The model should be re-run with
shorter segments in the affected area. The segment Euler load is shown on effective tension range graphs and
infringement warnings are given on the results form and in the statistics tables.
For more details see Modelling Compression in Flexibles and Limit Compression.
5.12.12 Contents Flow Effects
Introduction
Contents flow effects are normally neglected when modelling pipes in OrcaFlex. However for pipes carrying high
contents density at rapid flow rates the flow effects can be significant. The published literature show that there are
three extra forces introduced by contents flow a centrifugal force, a Coriolis force and a flow friction force.
OrcaFlex includes the facility to specify contents flow. If contents flow is included then the resulting centrifugal and
Coriolis effects are modelled.
Note: OrcaFlex does not model flow friction effects, or contents pressure effects due to changes in inner
diameter along the length of a line.
Theory
This section documents the theory behind the modelling of the centrifugal and Coriolis forces in OrcaFlex. This
theory is technical and specific to the way pipes are modelled in OrcaFlex.
Notation
= contents density
a = internal cross sectional area
s = contents flow velocity
r = mass flow rate = as
l = segment length
p = position of node relative to fixed axes
v = velocity of node relative to fixed axes
u = unit vector in downstream direction of line
= angular velocity of moving frame relative to fixed frame
dx/dt = rate of change of any variable x relative to fixed axes
x' = rate of change of any variable x relative to moving axes
Centrifugal force on a node due to flow through a node
First consider a node with flow arriving from one direction, ui say, and leaving in another direction, uo. For a mid-
node ui and uo are simply the unit vectors in the directions of the segments before and after the node. For the first
node ui is the end direction this is taken to be the same as uo if the end is free and otherwise is taken to be the no-
moment direction. Similar treatment is applied to uo at the last node.
Similarly let ai and ao denote the internal cross sectional areas on the input side and output side, respectively. We
define ai for the first node, and ao for the last node, to be the same as the internal cross section area of the end
segment i.e. we assume no change in internal cross sectional area at the line ends.
Contents flow into the node at velocity siui so the rate of input of momentum is aisi
2
ui. Likewise the rate of output of
momentum is aoso
2
uo. The force on the contents that is required to achieve this change in flow direction must
therefore be the rate of output of momentum minus the rate of input of momentum, i.e.
aoso
2
uo - aisi
2
ui
The resulting centrifugal force on the node must be equal and opposite to this, so
Centrifugal Force on Node = (aisi
2
ui - aoso
2
uo)
The theory above caters for the fully general situation where the internal cross section may vary along the line. For
the common case of a uniform internal cross section the equation simplifies to
Centrifugal Force on Node = as
2
(ui - uo)
This result agrees with the centrifugal term included in equation 10 of Gregory & Paidoussis, 1996.
w
Theory, Line Theory
179
Coriolis force due to movement of a segment
Now consider a segment between two nodes n1 and n2 and consider the following two frames of reference: a fixed
global frame and a moving local frame whose origin moves with node n1 and whose z-axis always points in direction
u = unit vector from n1 towards n2.
Consider the contents of a segment. Its velocity relative to the moving axes is
p' = (r/a)u
So its velocity relative to the fixed axes is
v1 + dp/dt
= v1 + p' + p
Therefore its acceleration relative to fixed axes is
d( v1 + p' + p) )/dt
= (v1 + p' + p)' + (v1 + p' + p)
= 0 + 0 + 'p + p' + v1 + p' + (p)
= 'p + 2p' + v1 + (p)
and of these terms the only new one, i.e. that is dependent on the rate of flow p' rather than p, is the term 2p' =
2(r/a)u. When multiplied by the mass of contents in the segment, la, this gives the Coriolis force on the
segment, i.e. 2lr (u).
But is given by
= u(v2 - v1) / l
so the Coriolis force is given by
2r (u (v2 - v1)) u
= 2r ( (u.u)(v2 - v1) - (u.(v2 - v1))u )
= 2r ( (v2 - v1) - (u-direction component of (v2 - v1)) )
= 2r . (component of (v2 - v1)) normal to u).
We then apportion this total Coriolis force on the segment into two equal parts i.e. a force of
r . (component of (v2 - v1)) normal to u)
on each of the two nodes at the ends of the segment.
Note: A mid node therefore receives two Coriolis force contributions one each from the segments either
side but an end node only receives one such contribution.
The above result agrees with the Coriolis term included in equation 10 of Gregory & Paidoussis, 1996.
Other relevant references include:
Paidoussis M P, 1970.
Paidoussis M P & Deksnis E B, 1970.
Paidoussis M P & Lathier B E, 1976.
5.12.13 Line Pressure Effects
OrcaFlex reports two different types of tension the effective tension (Te) and the wall tension (Tw). These two
tensions are related by the formula
Tw = Te + (PiAi - PoAo)
where
- Pi = internal pressure. Pi is calculated from the contents pressure, allowing for the static pressure head due to
the instantaneous height difference between the point and the specified reference Z level.
- Po = external (i.e. surrounding fluid) pressure. Po is assumed to be zero at and above the mean water level.
Below there it is calculated allowing for the static pressure head due to the instantaneous height difference
between the point and the mean water level.
- Ai, Ao = internal and external cross section areas of the stress annulus, respectively, given by Ai = .StressID
2
/4
and Ao = .StressOD
2
/4, where StressID and StressOD are the stress diameters of the line type.
Note: Where the stress ID or OD differ from the corresponding line type diameter, OrcaFlex uses the
stress diameters, not the line type diameters, to calculate Ai and Ao. This is equivalent to assuming
that the annulus between the stress OD and line type OD carries an axial load which matches the
ambient external pressure, and the annulus between the stress ID and the line type ID carries an
axial load which matches the ambient internal pressure.
Theory, Line Theory
w

180
Warning: Before using the wall tension and stress results you should confirm that this model is suitable for
the case you are modelling. We believe it is suitable for many cases of attached buoyancy and for
non-structural linings, but it may not be suitable for bonded buoyancy or structural linings. If it is
not suitable you should do your own separate calculation of wall tension and stresses.
Explanation of Wall Tension Formula
To understand this formula and the difference between effective tension and wall tension, consider the forces acting
axially at the mid-point of a segment. The nodes either side represent a length of pipe plus its contents. More
importantly, the forces on them are calculated as if the length of pipe represented had end caps which hold in the
contents and which are exposed to the internal and external pressure. The diagram below illustrates this and shows
the tension and pressure forces present; the equation above is simply the force balance equation for this diagram.

Figure: Tension and Pressure forces
Notes: Both effective tension and wall tension are relevant to the question of pipe buckling. For buckling
of the pipe as an Euler strut, effective tension is the governing parameter when it is negative the
strut is in effective compression. On the other hand, local buckling of the pipe wall is determined by
wall tension. (Note that OrcaFlex does not model local buckling, which depends critically on details
of the pipe construction and is therefore beyond the scope of the program.)
For cables, umbilicals and ropes, the internal pressure term PiAi does not apply. However, the
external pressure term PoAo is still applicable, and the actual tension in the cable is the wall tension
as defined above.
For chains, which are inherently discontinuous, the pressure terms do not apply and the effective
tension is the true tension in the chain.
5.12.14 Pipe Stress Calculation
OrcaFlex provides stress results that apply only to simple pipes. More precisely, the stress calculation assumes that
the loads on the line are taken by a simple cylinder whose inside and outside diameters are given by the stress
diameters specified on the line-types form. It also assumes that the cylinder is made of a uniform material. The pipe
stress results are therefore only valid for things like steel or titanium pipes they do not apply to composite
structure flexible pipes.
Consider a cross section through a mid-segment point, as shown in the following diagram. The diagram shows the
frame of reference used for the cross section, which has origin O is at the pipe centreline, Oz along the pipe axis
(positive towards End B) and Ox and Oy normal to the pipe axis (and so in the plane of the cross section).

P
i
A
i

P
o
A
o

T
e

T
w
P
i
A
i

P
o
A
o

T
e

T
w

segment mid-point
node n
node n+1
w
Theory, Line Theory
181

Figure: Frame of Reference for Stress Calculation
The program calculates, at the cross section, the following values:
- Internal and external pressures, Pi and Po respectively.
- Effective tension and resulting wall tension. These are both vectors in the z-direction, with magnitudes Te and
Tw respectively.
- Curvature, which is a vector in the xy-plane, with components Cx and Cy in the Ox and Oy directions, respectively.
- Bend Moment, which is a vector in the xy-plane, with magnitude M and components Mx and My in the Ox and Oy
directions, respectively.
- Shear force, which is also a vector in the xy-plane, with magnitude S and components Sx and Sy in the Ox and Oy
directions, respectively.
- Torque, which is a vector in the z-direction with magnitude .
In addition we define the following terminology:
- ODstress and IDstress = stress diameters, as specified on the line types form.
- A = cross sectional stress area = (/4).(ODstress
2
- IDstress
2
)
- Ixy = 2
nd
moment of stress area about Ox (or Oy) = (/64).(ODstress
4
-IDstress
4
)
- Iz = 2
nd
moment of stress area about Oz = 2Ixy
- C1, C2, C3, C4 = stress loading factors (C1 = tensile, C2 = bending, C3 = shear, C4 = torsional), as specified on the line
types form.
The stress generated by the above loads varies across the cross section. Consider the point P in the cross section
shown as a black dot in the diagram, which can be identified by its polar coordinates (r, ). At P, we define a local set
of axes (R,C,Z) where R is radially outwards, C is in the circumferential direction (positive in the direction of Theta
increasing) and Z is parallel to Oz.
With respect to these axes, the stress at P is a symmetric 3x3 matrix of stress components (see Pipe Stress Matrix).
OrcaFlex calculates this matrix and then derives stress results from it.
5.12.15 Pipe Stress Matrix
The pipe stress matrix at point P (see Pipe Stress Calculation) can be written as:
RR RC RZ
RC CC CZ
RZ CZ ZZ
These stress components are calculated as follows. For terminology see Pipe Stress Calculation.
Diagonal Terms
The three diagonal entries of the stress matrix, RR, CC and ZZ, are the radial, circumferential (or hoop) and axial (or
longitudinal) stresses, respectively.
x (Theta=0)
y (Theta=90)
Stress ID
Stress OD
r
z
P
y
Theta
Cross-Section Side View
End A O
C
R
O
Theory, Line Theory
w

182
Radial and Hoop Stresses
RR and CC are due to the internal and external pressure. They are calculated using Lam's equation for a thick-
walled cylinder whose internal and external diameters are IDstress and ODstress, as specified on the line types form.
This gives:
RR = Radial Stress = a - b/r
2

CC = Hoop Stress = a + b/r
2

where a and b are the values that satisfy
a - b/(IDstress/2)
2
= -Pi and
a - b/(ODstress/2)
2
= -Po.
Notes: IDstress and ODstress are by default equal to the ID and OD specified on the line type form. However,
they can be set to be different to ID and OD. In this case the above calculation is equivalent to
assuming that the material in between ID and IDstress, and between ODstress and OD, is transparent
to pressure. The internal pressure therefore applies right through to the IDstress and the external
pressure applies right through to ODstress.
If IDstress is zero, then OrcaFlex assumes that external pressure applies throughout the structure
i.e. that RR = CC = -Po.
Axial Stress
ZZ is the axial stress and is given by:
ZZ = Direct Tensile Stress + Bending Stress
where the Direct Tensile Stress is the contribution due to wall tension and Bending Stress is the contribution due to
bend moment. The wall tension is assumed to be uniformly distributed across the stress area, so its contribution is
given by:
Direct Tensile Stress = Tw/A
The contribution due to bend moment varies across the cross section and is given by:
Bending Stress = C2r(Mxsin - Mycos)/Ixy
where C2 is the bending stress loading factor.
Axial Stress (non-linear stress-strain)
For a homogeneous pipe with non-linear stress-strain ZZ cannot be split into tensile and bending components
because of non-linearity. Instead it is calculated directly from (), the specified stress-strain relationship:
ZZ = (ZZ)
where
t is the direct tensile strain
ZZ is the axial strain, ZZ = t + r(Cxsin - Cycos)
Off-Diagonal Terms
The 6 off-diagonal terms are the shear stresses, but there are in fact only 3 independent terms, since the matrix is
symmetric. They are given by:
RC = 0
RZ = C3(Sxcos + Sysin)/A
where C3 is the shear stress loading factor.
CZ = C4r/Iz + C3(Sycos - Sxsin)/A
where C4 is the torsional stress loading factor.
The contribution C4r/Iz in the above equation is the shear stress contribution due to torque. If torsion is not
included in the model, then it is zero. The other contributions are both due to the shear force, which is assumed to
be uniformly distributed across the stress area.
Finally, for two useful references on this subject, see Sparks (1980) and Sparks (1984).
5.12.16 Hydrodynamic and Aerodynamic Loads
Drag
Both hydrodynamic and aerodynamic drag forces, using Morison's Equation are applied to the line. The same drag
formulation is used for hydrodynamic and aerodynamic drag forces.
w
Theory, Line Theory
183
Note: Aerodynamic drag is only included if the Include wind loads on Lines option is enabled in the
Environment data.
The drag forces applied to a line are calculated using the cross flow principle. That is, the fluid velocity relative to
the line Vr is split into its components Vn normal to the line axis, and Vz parallel to the line axis. The components of
drag force normal to the line axis are then based on Vn, and its x and y-components Vx, Vy. The component of drag
force parallel to the line axis is based on Vz.
The drag force formulae use drag coefficients, Cdx, Cdy and Cdz, and the drag areas appropriate to each direction. The
drag coefficients are specified on the line type data form, but can also be modified to model wake interference from
other lines upstream.
For the directions normal to the line axis (x and y) the drag area is taken to be the projected area DnL where Dn is the
normal Drag / Lift diameter and L is the length of line represented by the node. For the axial direction the drag area
is taken to be the skin surface area DaL where Da is the axial Drag / Lift diameter.
There is a choice of the following three possible drag formulations for the drag force components (Fx, Fy, Fz) in the
local line directions. The formulations differ in how the drag force components vary with the incidence angle
between the flow and the line axial direction. The formulations are reviewed in Casarella and Parsons.
In the formulae below
= fluid density
P = proportion wet or proportion dry, as appropriate.
Standard Formulation
Fx = P(DnL)CdxVx|Vn|
Fy = P(DnL)CdyVy|Vn|
Fz = P(DaL)CdzVz|Vz|
This formulation is the most commonly-used and was the formulation used by versions of OrcaFlex before a choice
of formulation was introduced. It has been proposed or used by various authors, including Richtmyer, Reber and
Wilson. It is appropriate for general flow conditions.
Pode Formulation
Fx = same as standard formula for Fx, above
Fy = same as standard formula for Fy, above
Fz = P(DaL)Cdz|V|
2

where the sign of Fz, i.e. whether it is towards End A of the line or towards End B, is the same as the axial component
of the relative flow vector.
This formulation is preferred by some analysts for systems with near-tangential flow.
Warning: The Pode formula for Fz is discontinuous at = 90, since then the axial component of the flow
vector is zero and so the direction of Fz is undefined. In this case OrcaFlex sets Fz to zero.
Eames Formulation for bare cables
Fx = P(DnL)CdxVx|Vn| + P(DaL)CdzVx(|V| - |Vn|)
Fy = P(DnL)CdyVy|Vn| + P(DaL)CdzVy(|V| - |Vn|)
Fz = P(DaL)CdzVz|V|
Drag Force Variation with Incidence Angle
The above formulae for the drag force components can be re-written in a form that highlights how the drag force
varies with incidence angle.
Consider the case where the line is axially symmetric, i.e. Cdx = Cdy = Cdn say, and let be the incidence angle
between the flow vector V and the line axis. Then Vz = Vcos and Vn = Vsin . Also, let:
R = P(DL)Cdn|V|
2

= Cdz/Cdn = (drag force in axial flow) / (drag force in normal flow of same velocity)
Fn = the normal component of the drag force.
Then the formulations can be expressed as follows.
Standard: |Fn| = Rsin
2
|Fz| = R.cos
2

Pode: |Fn| = Rsin
2
|Fz| = R
Eames: |Fn| = R{(1-)sin
2
+ sin } |Fz| = Rcos
Theory, Line Theory
w

184
Drag coefficient variation with Reynolds number and Height above seabed
The normal drag coefficients Cdx and Cdy can be specified to vary with Reynolds number. The variable data table
specifies the drag coefficient as a function of Reynolds number, Cd(Re).
Reynolds number can be calculated in a number of different ways, as specified by the Reynolds number calculation
data. You should set the Reynolds number calculation data to match the data source used for your variable drag
coefficient data.
Alternatively the normal drag coefficients can be specified to vary with Height above Seabed, h. We define h to be
the vertical height above the seabed of the underside of the node, allowing for contact diameter. The actual drag
coefficient used by the OrcaFlex calculation is given by:
Cd = Cd2 + (1-)Cd1
where
Cd1 is the Drag Coefficient on the Seabed,
Cd2 is the Drag Coefficient away from the Seabed,
is the Drag Variation Factor.
These data are all defined on the variable data form.
The drag variation factor is a function of the normalised height above the seabed, h/Dn. For nodes lying on the
seabed Cd should equal Cd1. In this case h/d=0 and so (0) should equal 0. Similarly, for nodes well away from the
seabed we expect Cd to be equal to Cd2 and so should equal 1 for large values of h/Dn.
The drag coefficients Cd1 and Cd2 can be specified as varying with Reynolds number which allows specification of a
drag force which varies with both Reynolds number and Height above seabed.
Lift
The hydrodynamic lift force is defined to be:
FLIFT = P|un uz|((DnL)Cl|Vt|
2
)ul
where
un is the unit vector in the seabed outward normal direction.
uz is the unit vector in the node z-direction.
ut is the flow direction for lift purposes = (un uz)/|un uz|. This is the transverse direction that is normal to
the line axis and in the seabed plane.
ul is the unit vector in the lift force direction = (uz ut)/|uz ut|. This is the direction normal to the line axis
and in the plane of that axis and the seabed normal.
Cl is the lift coefficient.
Vt is component of Vr in the transverse direction ut.
The lift force magnitude has been scaled by |un uz|. This scaling factor is equal to cos where is the angle of the
line axis to the seabed plane. The purpose is to scale down the lift force as the line axis becomes more inclined to the
seabed plane. If the line axis is parallel to the seabed plane this factor is 1 and so it has no effect. But as the line axis
inclines to the seabed plane the factor reduces, until when = 90 the factor is zero and so no lift force is applied.
Another way of thinking about this factor is that it generalizes the standard lift force formula FLIFT = (DnLCl|Vt|
2
)ul
to cases where the line axis is inclined to the seabed. The effect of factor is equivalent to assuming that the standard
lift force formula gives the lift force per unit projected length, instead of per unit arc length. By projected length we
mean the length of the projection of the node onto the seabed plane.
Lift coefficient variation with Reynolds number and Height above seabed
The lift coefficient can be specified to vary with Reynolds number in an identical manner to drag coefficients.
Reynolds number can be calculated in a number of different ways, as specified by the Reynolds number calculation
data. You should set the Reynolds number calculation data to match the data source used for your variable lift
coefficient data.
Alternatively the lift coefficient can be specified to vary with Height above Seabed. In this case the actual lift
coefficient used by the OrcaFlex calculation is given by:
Cl = Cl1
where
Cl1 is the Seabed Lift Coefficient,
is the Lift Coefficient Decay Factor.
These data are all defined on the variable data form.
w
Theory, Line Theory
185
The lift coefficient decay factor is a function of the normalised height above the seabed, h/Dn. For nodes lying on
the seabed Cl should equal Cl1. In this case h/d=0 and so (0) should equal 1. For nodes well away from the seabed
the lift effect dies away and we expect Cl to be equal to 0. So should equal 0 for large values of h/D.
The lift coefficient Cl1 can be specified as varying with Reynolds number which allows specification of a lift force
which varies with both Reynolds number and Height above seabed.
Added Mass
The added mass effects on a line are calculated separately for the local x, y and z-directions. For each of these
directions, the line is subject to two added mass effects:
- Its effective mass is increased by CaMF where MF is the mass of the fluid displaced (taking into account the
proportion wet) and Ca is the added mass coefficient specified for that direction. As a result, if the line
accelerates then it experiences an extra inertial force (due to added mass) given by -CaMFAL where AL is the
component (in that direction) of the acceleration of the line (relative to the earth).
- If the fluid is accelerating then the line experiences a fluid acceleration force given by CmMFAF, where AF is the
component (in that direction) of the acceleration of the fluid (relative to the earth) and Cm is the inertia
coefficient for that direction. Typically Cm = 1 + Ca and in this case the fluid acceleration force can be written as
MFAF + CaMFAF where the first term is called the Froude-Krylov force and the second term is called the added
mass force.
Fluid Flow
If the mass flow rate of the Line is non-zero then the centrifugal and Coriolis effects due to this flow are included.
Note that pressure effects of flow rate are not included.
5.12.17 Drag Chains
A drag chain is an attachment to a line that applies a force to the node to which it is attached. The force consists of
the tension in the drag chain and so is in the direction in which the chain is hanging. This direction is determined by
the relative velocity of the water past the chain the faster the flow then the greater the angle of the drag chain to
the vertical. This is now described in more detail.

Figure: Drag Chain
Consider the drag chain shown in the above diagram.
Let
D = drag chain effective diameter
L = drag chain length
= drag chain declination from vertical
V = horizontal relative velocity = (horizontal fluid velocity at A) (horizontal node velocity at A).
Then the incidence angle between the horizontal relative velocity vector V and the drag chain is = - 90 and the
normal and axial drag forces are given by:
Fn = normal drag force = (LD)Cdn()Vn|Vn|
u
V
n
V
a
V
W
W
n
W
a
180-u
Drag Chain
o =u-90
Connection
to Line
A
Theory, Line Theory
w

186
Fa = axial drag force = (LD)Cda()Va|Va|
where
Vn = normal component of relative velocity = |V|sin
Va = axial component of relative velocity = |V|cos
= water density
Cdn(), Cda() = normal and axial drag coefficients for this incidence angle.
The inertia of the drag chain is assumed to be small enough to be neglected, so we assume that the drag chain is
always in equilibrium under the action of 3 forces:
- The chain's wet weight, W.
- The fluid drag on the chain.
- The tension being applied by the line at the top of the chain.
Because the tensile force being applied by the line is axial to the chain, the components of wet weight and drag
normal to the chain must balance. In other words, the direction in which the drag chain hangs is that in which the
chain is in force balance in the direction normal to the chain. The remaining net force on the chain in the axial
direction, Fa, is then applied to the line.
OrcaFlex therefore hangs the chain in the same vertical plane as the relative velocity vector V and at angle to the
vertical. OrcaFlex calculates the angle by iterating until the sum of the normal components of drag force and wet
weight is zero.
Drag Chain Seabed Interaction
Drag chains, in OrcaFlex, interact with the seabed in a fairly simplistic way that is designed to achieve the following
two primary effects of seabed interaction:
- Firstly, that as the chain is lowered down onto the seabed, the wet weight of the chain is steadily reduced as the
chain becomes supported by the seabed.
- Secondly, that if the chain is dragged across the seabed then an opposing friction force R is generated, where
is the friction coefficient and R is the seabed reaction.
The seabed interaction model used is as follows:
- At any given time, OrcaFlex first calculates how much of the drag chain would be supported by the seabed. It
assumes that the chain hangs vertically straight down from the line. The drag chain is then considered as being
made up of two parts the supported part and the remaining hanging part.
- The hanging part of the chain is then analysed as described above.
- The supported part of the chain is modelled as if it is lying on the seabed directly beneath the node to which the
chain is attached. As the node moves laterally, the supported chain also moves laterally (but below the node)
and so generates a friction force that is then applied to the node.
Note that the division of the drag chain into a hanging length and a supported length is done before the hanging
length is analysed, and so is done with the chain vertical. This means that if current drag causes the chain to hang at
an angle to the vertical then the supported length will generally have been overestimated and the hanging l ength
correspondingly underestimated. This is an inaccuracy that cannot easily be avoided at the moment.
5.12.18 Line End Conditions
Except for Free Ends, the connection at the line end is modelled as an isotropic ball-joint with a rotational stiffness
and a preferred no-moment direction. A rotational stiffness of zero simulates a freely rotating end, and a value of
Infinity simulates a clamped end.
The inclusion of end stiffness allows the program to calculate the curvature and bending moment at the termination.
If the curvature is large, the calculated value is accurate only if sufficiently short segments have been used to model
the line near its end.
OrcaFlex reports a value for End Force and End Ez-Angle. These are the magnitude of the end force, and the
magnitude of the angle between the end force vector and the no-moment direction. Vessel motion is automatically
accounted for. The end force and angle values provide the basis for the design of end fittings such as bend stiffeners.
See Modelling Line Ends.
5.12.19 Interaction with the Sea Surface
OrcaFlex Lines are subdivided into segments, and the various forces are attributed to nodes at each end. For a
partially submerged segment, the hydrostatic and hydrodynamic forces are proportioned depending on how much
w
Theory, Line Theory
187
of the segment is submerged the Proportion Wet (PW). Proportion Wet is available as a line result variable. We
also define Proportion Dry (PD) as PD = 1 - PW.
For a segment whose axis is normal to the surface, the Proportion Wet could be calculated from the intersection of
the segment centreline axis with the free surface. However, this simple approach breaks down when the segment is
tangent to the surface.
For this reason, OrcaFlex uses a simple but effective modification of this concept. Instead of using the centreline axis,
we use the diagonal line joining the highest point on the segment circumference, at the 'dry' end, with the lowest
point at the 'wet' end; see the diagonal line in the figure below. As the segment passes through the tangent position,
the diagonal line switches corners but the proportion wet varies continuously. The intersection of the diagonal line
with the surface continues to give the appropriate Proportion Wet result, and the hydrostatic and dynamic forces
are attributed to the appropriate node.

Figure: Proportion Wet for a surface-piercing segment
This surface-piercing model enables OrcaFlex to model systems such as floating hoses, containment booms and
wave suppression systems. However please note the following points when modelling such systems:
- A consequence of this model is that a hose floats in still water as a wall-sided body; in other words OrcaFlex
does not take account of the variation in water plane area with draft that arises from the circular cross section.
For cases of practical dynamics, this simplification is of minor importance, but it does mean that if you check the
immersion depth of a hose in still water you may find the answer slightly wrong if the hose is very buoyant, or
just awash.
- When modelling floating hoses, it is important to have enough segments to model the local curvature. If your
hose is flexible, and the waves are short, then you will need at least ten and preferably twenty segments per
wave to model the curvature properly. However a stiff hose tends to bridge the wave troughs, and fewer
segments are required.
- The program uses constant drag and added mass coefficients for the floating hose, and the user has to select
appropriate values based on the average immersion depth. Unfortunately the literature is of limited help if
you know of any good data source, we would be very pleased to hear of it.
5.12.20 Interaction with Seabed and Shapes
Nodes are also subjected to reaction forces from the seabed and any Shapes with which they come into contact. The
contact occurs at the outer edge of the line, as specified by the contact diameter. The reaction force is given by:
Reaction = KAd
where
K = stiffness of the seabed or shape,
d = depth of penetration, allowing for the contact diameter,
A = contact area, which is taken to be contact diameter multiplied by the length of line represented by the
node.
In addition, when the explicit solver is in use, nodes experience a damping force. For details see Seabed Theory and
Shapes Theory.
Finally, friction forces can also be included.
5.12.21 Clashing
OrcaFlex provides two different ways of modelling contact between lines: the Line Contact model and the Line
Clashing model. The clashing model is described below. For a summary of the differences, advantages and
disadvantages of the two models see Line Contact versus Line Clashing.
B
A
Proportion Wet = B / (A+B)
Theory, Line Theory
w

188
Line Clashing Data
To include clash modelling between two lines, you must set Clash Check to "Yes" and set the Contact Stiffness to a
non-zero value, for both lines. You can also specify the Contact Damping value.
The facility to suppress clash modelling (by setting Clash Check to "No") has been included because the clashing
algorithm is time consuming. It is therefore best to suppress clash modelling on all sections that will never clash
with other lines, or if you are not interested in the effects of clashing.
OrcaFlex assumes constant spring stiffness and damping values, and neglects friction. The force algorithm is
described below. It pushes lines apart again if they try to pass through another, and it permits lines to separate
again after contact. Multiple contact points along the line length are allowed for.
Clashing behaviour can be difficult to understand and it is not always obvious what the results mean and how they
should be used in practice. This is a developing area and we would appreciate feedback from users. The following
notes expand on the way the calculations are carried out by the software and give our suggestions on interpretation.
Note: Line clashing is not modelled during statics.
Calculating the Clash Force
OrcaFlex checks for clashing between any two line segments for which clash checking is enabled and the contact
stiffness is non-zero (for both segments involved). The two segments do not need to be in different lines - a line can
clash with itself.
The clash check between segment S1 (on line L1) and segment S2 (on a different line L2) is done as follows. Let the
radii of the two segments be r1 and r2 (as defined by the line type contact diameter). First OrcaFlex calculates the
shortest separation distance, d, between the centrelines of the two segments. If d (r1 + r2) then the lines are not in
contact and no contact force is applied.
If d < (r1 + r2) then the lines are in contact. In this case OrcaFlex applies equal and opposite clash contact forces to
the 2 segments to push them apart, as follows. Let p1 and p2 be the two points of closest proximity i.e. p1 is on the
centreline of segment S1 and p2 is on the centreline of segment S2, and these are the two points that are minimum
distance d apart. Also, let u be the unit vector in the direction from p1 towards p2. Then the magnitude of the clash
contact force applied is given by:
F = (Stiffness Term) + (Damping Term)
where the two terms on the right are documented below. A force of this magnitude F is applied to segment S1, at p1,
in direction -u. And the equal and opposite force is applied to segment S2, at p2, in direction +u.
The stiffness term is given by:
Stiffness Term = k(d - [r1 + r2])
where k = 1 / (1/k1 + 1/k2) is the combined contact stiffness of the segments. Here k1 and k2 are the contact
stiffnesses of the two segments, as specified in the Line Types data.
The damping term is based on the rate of penetration, v, which is the u-direction component of p1's velocity relative
to p2. If v0 then the two segments are moving apart and then no damping force is applied. If v>0 then the
penetration is increasing and the damping term is then given by:
Damping Term = cv
where c is the combined contact damping value of the two segments, which is given by:
c = 0 if c1=0 or c2=0
c = 1 / (1/c1 + 1/c2) otherwise.
Here c1 and c2 are the contact damping values of the two segments, as specified in the Line Types data.
How the Clash Force is Applied and Reported
In general, clashing will take place between one segment of one line and one segment of another (the probability of
a clash occurring exactly at a node is very small unless you take special measures to make it happen). OrcaFlex
determines the force as just described, and reports the force as a segment variable i.e. when you ask for the clash
force at a particular arc length along the line, the force reported is the clash force for the segment which contains the
specified point.
If multiple clashes occur simultaneously on the same segment then the Line Clash Force reported is the magnitude
of the vector sum of the clash forces involved.
In the OrcaFlex model, all forces act at the nodes, so the clash force has to be divided between the two nodes at the
ends of the segment in which the force acts. The force is divided in such a way that the moments of the two forces
about the contact point are equal and opposite.
w
Theory, Line Theory
189
Interpreting the Results
Contact between lines can be a violent impact at high relative velocity, or a gentle drift of one line against another, or
anything in between. We need to view the results in different ways for different sorts of contact. The following notes
give some general guidance based on our experience, but in difficult cases it is essential that users develop their own
understanding of the underlying physics, and confirm it by sensitivity analysis.
OrcaFlex provides three measures of the severity of a clash event:
- Clash force.
- Clash impulse (integral of contact force times time a measure of momentum transfer).
- Clash energy (calculated by integrating the magnitude of clash force with respect to depth of penetration).
There are 3 types of OrcaFlex results which can be used for analysing clashing:
1. Time Histories of Clash force and Clash impulse.
2. Range Graphs of Clash force.
3. The Line Clashing Report contains Clash force, Clash impulse and Clash energy, together with a host of other
details about clash events.
Low Speed Contact
Where one line drifts quite slowly against another as a result of weight or drag forces, then the contact is essentially
quasi-static. The clash force at the point of contact is the best measure of what is happening, and will be insensitive
to segmentation and contact stiffness.
High Speed Impact
The case of violent impact at high speed is much more complicated. Contact forces arrest the relative movement of
the lines over a very short time interval. Momentum is transferred from the faster moving to the slower moving line.
Kinetic energy at the moment of impact is converted partly to local strain energy at the point of contact, and partly
to axial and bending strain energy elsewhere in the lines.
If the discretisation of the lines is sufficiently fine, the contact stiffness value is correct, and contact damping is small,
then OrcaFlex models the impact correctly, and all the reported results (force, impulse, energy) are correct. In
practice, however, contact stiffness is rarely known with any precision, and it may not be practicable to discretise
the line sufficiently to represent the deformation of the line axially, or particularly in bending, following a violent
impact. (Deformation of the colliding cross sections is represented by the contact stiffness.) Under these
circumstances, we need a measure of clash severity which is both meaningful for engineering purposes, and
insensitive to discretisation and contact stiffness. Of the three measures available:
- Maximum clash force reduces with reducing contact stiffness and is usually the least reliable measure.
- Impulse is generally insensitive to changes in contact stiffness, though this may be masked where the change in
stiffness causes a change in the character of the impact. (For example, a high contact stiffness may give rise to a
single impact followed by a large rebound. Reducing stiffness can reduce the rebound to such an extent that the
single impact is replaced by a double impact.) Impulse is also fairly insensitive to changes in segmentation.
Unfortunately, however, impulse is not a convenient measure for engineering purposes.
- Energy is the most convenient practical measure of potential damage. This may be sensitive to contact stiffness,
where there is a fairly equal distribution of strain energy between contact and other elastic deformations of the
system, but if contact strain energy is the dominant component, then sensitivity is reduced. Contact strain
energy is also sensitive to discretisation: longer segments give higher values of contact strain energy. This
means that the reported strain energy for a coarsely segmented model is generally conservative. In practical
cases, it may be possible to reduce segment length sufficiently to show that contact strain energy is below
damaging levels, without needing to go to the very fine discretisation which might be required for an accurate
value.
Sensitivity to time step
Clash events are often intermittent and short lived. Consequently, simulations of clash events can be sensitive to the
choice of time step.
For explicit integration this is usually not an issue because use of the explicit solver typically necessitates the use of
short time steps. However, when implicit integration is used, you should take extra caution when interpreting
clashing results because of the longer time steps allowed by the implicit solver. We recommend that you carry out
sensitivity studies to show that the time step in use is sufficiently short.
Theory, 6D Buoy Theory
w

190
Damping
Linear damping is included in the OrcaFlex contact model, and contributes to the reported clash force, impulse and
energy results.
5.13 6D BUOY THEORY
5.13.1 Overview
This and subsequent topics give the formulae used for the forces and moments applied to a 6D buoy. Note that for a
spar buoy there is also some more detailed documentation available on our website:
www.orcina.com/Resources/TechNotes/SparBuoyEquationOfMotion.pdf.
The buoy is treated as a rigid body with 6 degrees of freedom, 3 translational and 3 rotational. The equation of
motion has the following contributions.
Weight
The weight force of Mass . g is applied at the centre of mass.
Buoyancy
Lumped buoys
The buoyancy force on a lumped buoy is given by:
Buoyancy Force = gVwet
and this buoyancy force is applied vertically upwards at the centre of wetted volume, which is taken to be
(1-PW)H/2
below the specified centre of volume.
In these formulae:
- = sea density
- g = acceleration due to gravity
- Vwet = wetted volume = PWV
- PW = proportion wet = Hwet/H
- V = volume is as specified on the buoy data form
- Hwet = wetted height = (H + depth of the specified centre of volume below the surface), where depth here is
negative if the centre of volume is above the surface, and the 0 Hwet H
- H = height as specified on the buoy data form.
These formulae make the proportion wet PW, the buoyancy force and the point of application of that force, all vary
linearly with vertical position of the centre of volume relative to the surface, as follows:
- When the centre of volume is H/2 or more above the surface, PW = Hwet = Vwet = 0, and the buoyancy force is
zero.
- When the centre of volume is on the surface, PW = and the buoyancy force is half the fully-submerged
Archimedean buoyancy, and it is applied H/4 below the surface, i.e. half way along the assumed Hwet.
- When the centre of volume is H/2 or more below the surface, then PW = 1 and the buoyancy force is the fully-
submerged Archimedean buoyancy, and it is applied at the centre of volume.
This model behaves as if the specified Buoy Volume is in the shape of a cylinder, of length equal to the specified
Buoy Height and with its centre attached to the buoy at the specified centre of volume, but such that the cylinder
pivots about that centre of volume in order to always keep its axis normal to the instantaneous water surface
tangent plane.
Warning: This lumped buoy surface-piercing model is not realistic or accurate OrcaFlex does not have
enough geometry information for lumped buoys to model the surface-piercing accurately. It is just
a simple way to give a buoyancy force, wetted volume and centre of wetted volume that vary in the
right sort of way as the buoy passes through the surface. The model gives no contribution to roll
and pitch stiffness from free surface effects when the buoy pierces the surface, so static stability of a
floating Lumped Buoy is therefore not correctly represented. To model surface-piercing accurately
you will need to use a Spar Buoy or Towed Fish, or multiple such buoys connected together to
represent the actual buoy geometry.
w
Theory, 6D Buoy Theory
191
Spar buoys and Towed Fish
For spar buoys and towed fish, separate buoyancy forces are calculated and applied to each cylinder. The buoyancy
force on an individual cylinder is given by:
Buoyancy Force = gVwet
where Vwet is the volume of that part of the cylinder that is below the water surface. This force is applied vertically
upwards at the centroid of that wetted volume.
Note: If added mass and damping of a stacked buoy is specified by Values for Each Cylinder then the
instantaneous water surface is used for this buoyancy calculation. But if the added mass and
damping is specified by RAOs and Matrices for Buoy then the (horizontal) mean water surface is
used; this excludes wave buoyancy effects, which are assumed to be included in the RAOs.
Hydrodynamic Loads
In general, the hydrodynamic loads are calculated using Morison's equation with additional components as
discussed below. The exception to this is if the added mass and damping effects on a spar buoy are specified by
giving wave load RAOs and added mass and damping matrices.
For a lumped buoy the hydrodynamic loads on the buoy are calculated using the fluid kinematics at the buoy centre
of wetted volume. These loads are scaled by the buoy Proportion Wet and applied at the centre of wetted volume.
For details of the hydrodynamic loads see Lumped Buoy Theory: Added Mass, Damping and Drag.
For a spar buoy or towed fish the calculation of hydrodynamic loads depends on the form of added mass and
damping chosen.
- If the added mass and damping are specified by Values for each cylinder, then all the hydrodynamic loads are
calculated and applied separately on each cylinder. The hydrodynamic load on a cylinder is applied at the
centroid of wetted volume of the cylinder and is scaled by the Proportion Wet of the cylinder. The water surface
is assumed to be the tangent plane to the instantaneous wave surface directly above the centre of the cylinder;
this therefore allows for the buoyancy variation due to the wave.
- If the added mass and damping are specified by RAOs and matrices, then the wave loads, added mass and
damping are calculated for the whole buoy, using the specified RAOs and matrices, and they are applied at the
specified RAO, Added Mass and Damping Origin. The buoyancy and drag loads are calculated and applied for
each cylinder, as described above, except that in this case the buoyancy load is calculated using the (horizontal)
mean water surface instead of the instantaneous wave surface. The effect of this is to exclude the wave
contribution to buoyancy load, which is assumed to be included in the specified wave load RAOs.
For details see Spar Buoy and Towed Fish Theory: Added Mass and Damping and Spar Buoy and Towed Fish Theory:
Drag.
Hydrodynamic Damping (linear)
You can apply additional damping forces and moments that are directly proportional to the fluid velocity and
angular velocity relative to the buoy. See Lumped Buoy Damping and Spar Buoy and Towed Fish: Added Mass and
Damping.
The main use of these terms is to represent wave radiation damping for surface buoys. Values may be obtained
theoretically from a 3D diffraction model of the body or, more commonly, from empirical results such as a roll decay
test.
Hydrodynamic Moments
Rotation of the body relative to the fluid generates hydrodynamic moments which are analogous to the
hydrodynamic forces given by Morison's equation. OrcaFlex includes facilities for calculating these moments.
For Lumped Buoys, rotational hydrodynamic properties are included for damping, drag and added inertia
components. For Spar Buoys, drag moment data only are included.
In all cases, the fluid moments are calculated based on the angular velocity and acceleration of the buoy, without any
contribution due to angular velocity and acceleration of the fluid. This is because the sea is treated as being
irrotational, so there is no unique definition of fluid angular velocity and angular acceleration at a point. The sea
angular velocity and acceleration are therefore taken to be zero.
If you are in any doubt as to the correctness of the model, then we recommend setting the moment terms to zero.
Hydrodynamic moments will then be omitted completely for a Lumped Buoy. For a Spar Buoy represented by
several cylindrical sections, moments will be generated automatically as a result of the distribution of hydrodynamic
forces along the buoy axis.
Theory, 6D Buoy Theory
w

192
Estimation of Hydrodynamic Properties
See technical note Buoy Hydrodynamics.
5.13.2 Lumped Buoy Added Mass, Damping and Drag
Added Mass and Inertia
Specified by diagonal values
The buoy inertia for translational motion is increased, for each local axis direction, by:
Added Mass = PW . Ca . HydroMass
where HydroMass and Ca are the reference hydrodynamic mass and added mass coefficient for translations in that
direction.
The buoy inertia for rotational motion is increased, for each local axis direction, by:
Added Inertia = PW . Ca . HydroInertia
where HydroInertia and Ca are the reference hydrodynamic inertia and added mass coefficient for rotations about
that direction.
Specified by full matrices
The buoy inertia, considered with respect to local axes, is increased by:
Added Mass = PW . AM
where AM is the full 6x6 added mass matrix.
Fluid Inertia Loads
Specified by diagonal values
The fluid inertia force applied in each local axis direction is given by:
Force = PW . Cm . HydroMass . A
where HydroMass and C
m
are the reference hydrodynamic mass and C
m
coefficient for that direction, and A is the
component, in that direction, of the local water particle acceleration relative to the earth.
No fluid inertia moment is applied, since the sea is treated as irrotational so its angular acceleration is taken to be
zero.
Specified by full matrices
The fluid inertia load applied, considered with respect to local axes, is given by the matrix equation:
Load = PW . IM . af
where
Load is the vector [Fx, Fy, Fz, Mx, My, Mz]
T
where Fx, Fy, Fz, Mx, My and Mz are the components of force and
moment with respect to local axes,
IM is the full 6x6 fluid inertia matrix,
af is the vector of fluid acceleration components [af,x, af,y, af,z, 0, 0, 0]
T
,
af,x, af,y and af,z are the components in the local buoy axes directions, of the local water particle acceleration
relative to the earth,
and the three zeros in af are the fluid angular acceleration components, which are taken to be zero since the
sea is treated as irrotational.
Damping
The damping force applied in each local axis direction is given by:
Fx = - PW.UDFx.Vx
Fy = - PW.UDFy.Vy
Fz = - PW.UDFz.Vz
where UDF is the Unit Damping Force and V is the buoy velocity relative to the water velocity.
Similarly, the damping moment applied about each local axis direction is given by:
Mx = - PW.UDMx.x
My = - PW.UDMy.y
Mz = - PW.UDMz.z
w
Theory, 6D Buoy Theory
193
where UDM is the Unit Damping Moment and is angular velocity of the buoy. Note that does not include any
contribution from fluid angular velocity, since the sea is treated as irrotational so its angular velocity is taken to be
zero.
Drag
The drag force applied in each local axis direction is given by:
Fx = - PW...Cdx.Ax.Vx.|V|
Fy = - PW...Cdy.Ay.Vy.|V|
Fz = - PW...Cdz.Az.Vz.|V|
where A is the Drag Area, Cd is the Drag Coefficient and V is the buoy velocity relative to the water velocity relative.
The drag moment applied about each local axis direction is given by:
Mx = - PW...Cdx.AMx.x.||
My = - PW...Cdy.AMy.y.||
Mz = - PW...Cdz.AMz.z.||
where AM is the Moment of Area, Cd is the drag coefficient for rotation and is angular velocity of the buoy. Note
that does not include any contribution from fluid angular velocity, since the sea is treated as irrotational so its
angular velocity is taken to be zero.
5.13.3 Spar Buoy and Towed Fish Added Mass and Damping
The first order hydrodynamic loads on a spar buoy or towed fish can be modelled in a choice of two ways: either by
values for each cylinder or by wave load RAOs and matrices for the whole buoy.
Loads specified by Values for Each Cylinder
When you choose Values for each Cylinder, the added mass and damping effects are calculated separately for each
cylinder. And the resulting force, moment, increased mass and rotational inertia for each cylinder are applied at the
wetted centroid of the water displaced by that cylinder.
Added Mass
For each of the buoy local axes directions, each cylinder is subject to the following added mass effects:
- Its effective translational mass is increased by CaMf where Ca is the added mass coefficient specified for that
direction of motion (normal or parallel to the cylinder axis), and Mf is the instantaneous reference fluid mass for
that direction (see Reference Fluid Mass and Inertia below). So if the cylinder accelerates in the normal or axial
directions then it experiences an extra inertial force, due to added mass, equal to -CaMfAcwhere Ac is the
component in that direction of the cylinder acceleration (relative to the earth).
- If the fluid is accelerating then the cylinder experiences a fluid acceleration force equal to CmMfAf where Af is the
component (in that direction) of the acceleration of the fluid (relative to the earth) and Cm is the inertia force
coefficient specified for that direction. Typically Cm = 1 + Ca and in this case the fluid acceleration force can be
written as MfAf + CaMfAf where the first term is called the Froude-Krylov force and the second term is called the
added mass force.
- Its effective moment of inertia is increased by PWIa, where PW is the instantaneous proportion wet of the
cylinder, and Ia is the added moment of inertia specified for rotation about that direction (normal or axial to the
cylinder axis). So if the cylinder's angular acceleration is non-zero then it experiences an extra inertial moment
(due to added inertia) equal to -PWIac where c is the component in that direction of the cylinder angular
velocity vector (relative to the earth).
For a spar buoy the cylinder axis direction is the buoy z-direction, so the components in the buoy axes directions of
the total force and moment due to added mass are therefore as follows.
Fx = CmnMfnAfx - CanMfnAcx
Fy = CmnMfnAfy - CanMfnAcy
Fz = CmaMfaAfz - CaaMfaAcz
Mx = - PWIan'cx
My = - PWIan'cy
Mz = - PWIaa'cz
where
PW = proportion wet for this cylinder
Can, Caa = specified added mass coefficients specified for the normal and axial directions, respectively.
Theory, 6D Buoy Theory
w

194
Cmn, Cma = specified inertia force coefficients specified for the normal and axial directions, respectively.
Mfn, Mfa, Ian, Iaa = instantaneous values of reference fluid mass (Mf) and added moments of inertia (Ia), for the
normal and axial directions respectively, as described below.
Acx, Acy, Acz = components in buoy axes directions, of the cylinder translational acceleration relative to earth.
Afx, Afy, Afz = components in buoy axes directions, of the fluid translational acceleration relative to earth.
'cx, 'cy, 'cz = components in buoy axes directions, of the cylinder angular acceleration relative to earth.
For a Towed Fish the cylinder axis direction is instead the buoy x-direction. So for a Towed Fish the subscripts x and
z in the above equations are interchanged, so that the axial values of the coefficients and reference masses and
inertias are used in the equations for Fx and Mx, and the normal direction values are used in the equtions for Fz and
Mz.
Reference Fluid Mass and Inertia used for Added Mass
For motion normal to the cylinder axis the value used for the reference fluid mass, Mfn, is the mass of the fluid
displaced by the submerged part of the whole of the cylinder cross section. So if the cylinder is hollow (i.e. inner
diameter is non-zero) then for motion normal to the cylinder axis the reference fluid mass used, Mfn, includes the
fluid trapped inside the part of the cylinder that is below the surface.
For motion parallel to the cylinder axis, the value used for the axial reference fluid mass, Mfa, depends on whether
the cylinder is hollow. If it is not hollow then Mfa is the same as the value used for motion normal to the cylinder axis,
Mfn, i.e. equal to the mass of the fluid displaced by the submerged part of the cylinder. But if the cylinder is hollow
then the reference fluid mass Mfa used for motion parallel to the cylinder axis is the mass of the fluid displaced by
the submerged part of just the cylinder annulus, excluding the fluid trapped inside the part of the cylinder that is
below the surface.
These values for the reference fluid mass and inertia are based on the assumption that for a hollow cylinder the
trapped fluid contents are free to translate and rotate axially relative to the cylinder, but not free to move normal to
the cylinder axis.
Damping Forces and Moments
For each of the buoy local axes directions, each cylinder is subject to a damping force and damping moment given
by:
Damping Force = -PW.UDF.V
Damping Moment = -PW.UDM.
where
PW = proportion wet of this cylinder
UDF, UDM = specified Unit Damping Force and Unit Damping Moment for this direction of motion (normal or
parallel to the cylinder axis)
V = component, in this direction, of the translational velocity of the buoy at the instantaneous position of the
centroid of the submerged part of this cylinder, either relative to the earth or relative to the fluid velocity (as
specified in the buoy data).
= component, in this direction, of the angular velocity of the buoy relative to the earth. (The fluid is treated
as irrotational so its angular velocity is taken to be zero.)
Note: If damping relative to fluid is specified in the buoy data, then the velocity V used in the damping
force formula is the buoy velocity minus the fluid velocity (including current and waves) at the
instantaneous position of the centroid of the submerged part of the cylinder. The angular velocity
used in the damping moment formula is not affected by this it is always the buoy angular velocity
relative to the earth, since the fluid is treated as irrotational so its angular velocity is taken to be
zero.
Loads specified by RAOs and Matrices
Note: This option is only available for Spar Buoys.
When you choose RAOs and Matrices for Buoy, the added mass and damping effects are calculated from the
specified wave force and moment RAOs and added mass and damping matrices. In addition, the buoyancy force is
calculated using the mean water level, rather than the instantaneous water surface. This excludes the wave-related
buoyancy effects, since these are assumed to be accounted for in the loads specified by the RAOs.
Warning: The drag force is also calculated using the mean water level, although (non-linear) drag can't be
completely accounted for in (linear) RAOs.
w
Theory, 6D Buoy Theory
195
The RAOs are used to calculate force and moment vectors that are proportional to the amplitude of the wave
component. They are applied at the instantaneous position of the RAO, Added Mass and Damping Origin, but are
specified relative to a frame of reference that has x horizontal in the wave direction, y horizontal and normal to the
wave direction, and z vertically upwards. The surge RAO therefore specifies a force that acts at the RAO, Added Mass
and Damping Origin in the wave direction, the heave RAO specifies a vertical force, and the pitch RAO specifies a
moment acting about the horizontal line normal to the wave direction.
The added mass and damping matrices are also applied at the RAO, Added Mass and Damping Origin, and they are
applied in the buoy axes directions, i.e. the surge added mass is applied in the buoy local x-direction, etc.
The added mass matrix is simply added into the buoy's inertia (also known as the virtual mass matrix).
The damping load is calculated using the following matrix equation:
[Fx,Fy,Fz,Mx,My,Mz]
T
= -D [Vx,Vy,Vz,x,y,z]
T

where
Fx, Fy, Fz, Mx, My, Mz = components in the buoy local axes directions, of the resulting damping force and
moment.
D = damping matrix specified in the data.
Vx, Vy, Vz = components, in buoy axes directions, of the buoy velocity at the RAO, Added Mass and Damping
Origin, relative to the earth or relative to the fluid velocity (as specified in the buoy data).
x, y, z = components, in buoy axes directions, of the buoy angular velocity.
Note: If damping relative to fluid is specified in the buoy data, then the velocity V used here excldues the
fluid velocity due to waves, because the damping effects due to waves are assumed to be included in
the RAOs. V is therefore taken to equal the buoy velocity minus the current velocity at the
instantaneous position of the centroid of the submerged part of the cylinder. And is simply equal
to the buoy angular velocity relative to the earth, since the current has no angular velocity.
5.13.4 Spar Buoy and Towed Fish Drag
The second order hydrodynamic loads on Spar Buoys and Towed Fish are calculated and applied separately for each
cylinder. The loads on each cylinder are calculated as follows. The proportion wet PW, referred to below, is
calculated for each cylinder according to its level of immersion.
Drag Forces
The drag forces are calculated using the "cross-flow" assumption. In the local x and y directions, i.e. normal to the
cylinder axis, the drag forces are given by:
x Drag Force = - PW...Cdn.An.Vrx.|Vrxy|
y Drag Force = - PW...Cdn.An.Vry.|Vrxy|
where
An is the drag area for the normal direction
Cdn is the drag coefficient for the normal direction
Vrx and Vry are the x and y-direction components of the buoy velocity relative to the water
|Vrxy| is the absolute magnitude of the relative velocity in the x-y plane.
And in the z direction, i.e. parallel to the cylinder axis, the drag force is given by:
z Drag Force = - PW...Cda.Aa.Vrz.|Vrz|
where
Aa is the drag area for the axial direction
Cda is the drag coefficient for the axial direction
Vrz is the z direction component of the buoy velocity relative to the water
|Vrz| is its absolute magnitude.
Drag Moments
Drag moments are also calculated using the cross-flow assumption.
About the local x and y directions the drag moments are given by:
x Moment = - PW...Cdn.An.r,x.|r,xy|
y Moment = - PW...Cdn.An.r,y.|r,xy|
where
Theory, 6D Buoy Theory
w

196
An is the drag area moment for the normal direction.
Cdn is the drag moment coefficient for the normal direction
r,x and r,y are the x and y components of the angular velocity of the buoy relative to earth. And |r,xy| is the
absolute magnitude of the component in the xy plane of the angular velocity of the buoy relative to earth.
(The water is treated as irrotational, so its angular velocity is taken to be zero.)
And about the local z direction the drag moment is given by:
z Moment = - PW...Cda.Aa.r,z.|r,z|
where
Aa is the drag area moment for the axial direction.
Cda is the drag moment coefficient specified for the axial direction
r,z is the z component of the angular velocity of the buoy relative to earth, and |r,z| is its absolute
magnitude. (The water is treated as irrotational, so its angular velocity is taken to be zero.)
Drag Area Moments
The drag area moments in the above equations are the rectified 3rd moments of drag area about the axis of rotation.
So drag area moment = Sum(A.|r|
3
) where A is an element of drag area at an (absolute) distance |r| from the axis of
rotation. The modulus |r| arises from the drag term in Morison's equation. The area moment should have
dimensions L
5
. Note that the axial Area Moment is about the cylinder axis, and the normal Area Moment is about the
normal to that axis through the cylinder centre.
We have derived the following results for simple bodies:
- For a rectangle of length L and width W, the 3rd moment of area about the line in the plane of the rectangle and
through its centre in the length direction is (L.W
4
) / 32. And the 3rd moment of area about the line in the plane
of the rectangle and through its centre in the width direction is (W.L
4
) / 32.
- For a circular disc of diameter D, the 3rd moment of area about a line in the plane of the disc and through its
centre = (D
5
) / 60.
- We can use the two results above to calculate reasonable Drag Area Moment values to use for a cylinder in a
spar buoy. Let L be the length of the cylinder and D be the diameter, and first consider the Area Moment for the
Normal direction, i.e. about a line through the cylinder centre and normal to the cylinder axis. If the curved
surface of the cylinder is exposed to drag then we can account for its contribution to the Area Moment by using
its projection onto the plane made by the line and the cylinder axis. This projected area is a rectangle of length L
and width D and the line crosses it in the width direction, so the contribution to the Area Moment is (D.L
4
) / 32.
If either of the end discs of the cylinder are also exposed to drag then we also need to account for their
contribution to the Area Moment.
Munk Moment
Slender bodies in near-axial flow experience a destabilising moment called the Munk moment. This emerges from
potential flow and is distinct from (and additional to) any moments associated with viscous drag. It is only well
defined for a fully-submerged body.
Newman (1977, page 341) derives the term and points out that it "acts on a non-lifting body in steady translation".
Thwaites (1960, pages 399-401) gives an alternative derivation and provides numerical values for spheroids.
Note that for bluff bodies the flow tends to separate over the afterbody. This has the effect of reducing the Munk
moment to a value less than the potential flow theory would suggest. See Mueller (1968).
The Munk moment effect can be modelled in OrcaFlex by specifying a non-zero Munk moment coefficient for a Spar
Buoy or Towed Fish. OrcaFlex then applies a Munk moment given by:
Munk Moment = Cmm.M..sin(2).V
2

where
Cmm is the Munk moment coefficient
M is the mass of water currently displaced. If the buoy is surface-piercing then this allows for the proportion
of the buoy that is in the fluid. However, note that the value of Cmm is ill-defined for a partially submerged
body.
V is the flow velocity relative to the buoy, at the point on the stack axis that is half way between the ends of
the stack.
is the angle between the relative flow velocity V and the buoy axis.
The moment is applied about the line that is normal to the plane of the buoy axis and the relative flow vector, in the
direction that tries to increase the angle .
w
Theory, 6D Buoy Theory
197
5.13.5 Slam Force
Slam forces in OrcaFlex can be applied to 6D buoys by setting non-zero slam data. Slam force can be applied for both
water entry and water exit, and different slam coefficients can be specified for water entry and exit, in order to
separately control the slam forces that arise from these two situations.
For a lumped buoy the slam load data can be found on the Properties page of the buoy data form. The data consists
of the slam area (Aw) and the slam coefficients for water entry (Cs) and exit (Ce).
For a spar buoy or towed fish the slam load data can be found on the Drag & Slam page of the buoy data form. The
data consists of the slam coefficients for water entry (Cs) and exit (Ce), for each cylinder of the buoy. The slam area,
Aw, is not specified by the user, since OrcaFlex uses the instantaneous water plane area for each cylinder.
Slamming is typically a short-duration phenomenon which is very sensitive to precise local conditions at the time
the object enters the water. For example, slam force will depend on the exact angle between the object and the sea
surface at the time of entry. For this reason, we caution that the slamming time history and the peak slam force are
not expected to be accurate. However, with an emphasis on prediction of global behaviour, the total impulse from
the slam force is intended to be accurate, so that its overall effect on the motion of the object is correctly taken into
account. The slam impulse corresponds to the transfer of momentum between the body and the water.
Slam Force Model
The slam force applied upon water entry or exit is given by:
Entry Slam Force = + Cs Aw |Vn|
2
n
Exit Slam Force = - Ce Aw |Vn|
2
n
where
Cs, Ce = slam coefficients for entry and exit respectively, which are specified by the user.
Vn = component in the surface normal direction of the buoy velocity relative to the fluid velocity.
n = unit vector in water surface outward normal direction. This ensures that the slam force opposes the
buoys penetration of the water surface.
Aw = slam area. For lumped buoys the slam area is user-specified, and the same value is used throughout the
buoys penetration of the water surface. For spar buoys and towed fish this is taken to be the instantaneous
waterplane area; however see below for special treatment for hollow buoys.
Using simple slam coefficients for control of slamming in OrcaFlex leaves detailed considerations of the physics
behind slamming outside the program. References such as DNV RP-H103 (sections 3.2.9 and 3.2.11) or Faltinsen
(chapter 9) provide more detail on the theoretical arguments, and give information on suitable values for the slam
coefficients.
Slam Area for Hollow Spar Buoys and Towed Fish
Special treatment is applied to the slam waterplane area that is used for hollow spar buoys and towed fish. For such
hollow buoys the slam area Aw used is given by:
Aw = Ao - |cos()| Ai
where
= angle between the buoy cylinder axis and the sea surface outward normal, n.
Ao = area of water surface intersection of the whole cylinder, i.e. based on the cylinder outer diameter and
including the intersection area of the hollow void.
Ai = area of water surface intersection of the hollow void within the cylinder, i.e. based on the buoy cylinder
inner diameter.
This formula for Aw for a hollow buoy is not theoretically based it is simply an approximation that varies
continuously between the following sensible limiting values:
- If the hollow buoy enters the water end on, i.e. with its axis normal to the water surface, then Aw = Ao - Ai =
waterplane area of the cylinder annulus. This therefore excludes the intersection area of the hollow void, on the
grounds that this area of water is not penetrated.
- If the hollow buoy enters the water side on, i.e. with its axis parallel to the water surface, then Aw = Ao =
waterplane area of the whole cylinder, which will equal the projected area of the cylinder (product of outer
diameter and cylinder length). This therefore includes the intersection area of the hollow void, since now that
area of water is penetrated.
For intermediate piercing angles the formula excludes a proportion of the intersection area of the hollow void.
Theory, 6D Buoy Theory
w

198
Point of Application
For lumped buoys the slam force is applied at the buoy centre of wetted volume, as with other hydrodynamic loads.
For spar buoys and towed fish, the slam force is calculated separately for each cylinder of the buoy, and that cylinder
slam force is then applied at the centroid of slam area of that cylinder. This approach correctly distributes the slam
force along the length of a spar buoy or towed fish if it penetrates the surface with its axis along the surface, so that
multiple cylinders pierce the surface at the same time.
Differences from DNV-RP-H103
This slam force model used in OrcaFlex closely matches that given in DNV-RP-H103, in which the slam force is given
by a formula of the same form as the standard Morisons drag force equation.
The OrcaFlex slam force model differs from that in DNV-RP-H103 in some ways:
- In OrcaFlex the model includes surface movement due to waves. Therefore the velocity used, Vn, is the normal
component of buoy velocity relative to the water surface, allowing for the velocity of the surface due to waves.
And the slam force is applied in the surface normal direction, allowing for waves. In DNV-RP-H103, a still
horizontal sea surface is assumed, so the slam force is always in the vertical direction.
- For spar buoys and towed fish, the instantaneous waterplane area is used for the slam area, Aw. In DNV-RP-
H103 the projected area is used.
Note: This inclusion of surface velocity and slope due to waves might give bad results if the buoy
diameter is large enough to be a significant fraction of wavelength for a significant part of the
wave spectral energy. This is because the slam load will be calculated using the surface slope and
velocity at the buoy centre (for a lumped buoy) or cylinder centre (for a spar buoy or towed fish),
and no allowance will be made for the variation in surface velocity and slope across the diameter
of the buoy. We therefore recommend that short waves should be suppressed when modelling
slamming on a large buoy in a random sea. This can be done by using the Maximum Relative
Frequency Range data on the waves data form.
Slam Force Ramping for Lumped Buoys
In the idealised theory of slamming, the full slam force is immediately applied at the instant that the buoy makes
contact with the surface. For a lumped buoy this would give a discontinuous step change in load applied to the buoy,
and this cannot be allowed in time domain simulation, since the program must solve for dynamic equilibrium and
there might be no such solution because of the discontinuity.
To avoid this, the slam force on a lumped buoy is ramped up to its full value over the first 10% of the buoy's passage
through the surface, and ramped down again to zero over the last 10% of the passage through the surface. This
reduces the slam force at the start and end of penetration, so to compensate the slam force is slightly increased
during the majority of the motion through the water surface. The ramping function that is applied to do this is
shown in the following figure. It is a smooth ramping function that has been calculated so that it has the correct
integral (one), so that the total slam impulse over a complete submergence or emergence is correct.
w
Theory, 6D Buoy Theory
199

Figure: Lumped Buoy slam force ramping
For spar buoys and towed fish, this discontinuity problem does not arise in practice, since the water plane area
naturally rises from and returns to zero continuously as the buoy's passage through the surface starts and ends. So
no ramping is applied to the slam force applied to spar buoys and towed fish. (The waterplane area could in theory
change discontinuously if the buoy end cylinder face hit the water exactly parallel to the surface, but in practice this
situation is so unlikely to occur that we have not found it to be a problem.)
5.13.6 Contact Forces
Contact Forces from Interaction with Seabed and Shapes
Interactions with shapes and the seabed are calculated as if the buoy consists of a series of lumps, one at each
vertex.
Notes: For a lumped buoy you can specify the number and location of the vertices. If you specify no
vertices then the 6D Buoy will not react to contact with the seabed or with any solids.
For a spar buoy or towed fish, the vertices used are the vertices which are automatically created
for the Draw square cylinders drawing option. These vertices are used even if the Draw circular
cylinders option is selected.
If any buoy vertex penetrates the seabed or an elastic solid then it experiences a reaction force at that vertex. See
Seabed Theory and Shapes Theory for details.
Contact friction forces can also be included, by setting a non-zero seabed friction coefficient or solid friction
coefficient.
Because the vertices are (in general) offset from the buoy origin, these seabed or shape reaction forces give reaction
moments about the buoy origin.
Contact area
The reaction force at a vertex depends on the contact area of the vertex, Av. This vertex contact area is taken to equal
the specified total contact area of the buoy, At, divided equally amongst all the buoy vertices:
Av = At / (number of vertices)
If At is set to zero then the buoy experiences no contact forces.
Default total contact area
If At is set to '~' then OrcaFlex calculates and uses a default value of At that is based on the buoy geometry as follows.
For a Lumped Buoy the default total contact area is given by:
At = Volume / Height
where Volume and Height are as specified on the buoy data form.
0
0.2
0.4
0.6
0.8
1
1.2
-0.2 0 0.2 0.4 0.6 0.8 1 1.2
S
l
a
m

f
o
r
c
e

r
a
m
p
i
n
g
Proportion Wet
Idealised
Ramped
Theory, 3D Buoy Theory
w

200
For Spar Buoys and Towed Fish the default total contact area is given by:
At = max(Aaxial, Alateral)
where
Aaxial = maximum cylinder cross sectional area
Alateral = sum, over all cylinders, of the projected lateral area = cylinder diameter cylinder length.
5.14 3D BUOY THEORY
The effects included for a 3D Buoy are weight, buoyancy, drag, added mass and reactions from shapes. All of the
fluid related effects are calculated allowing for what proportion of the buoy is currently immersed in the sea. This is
done by calculating a proportion wet, PW, and then scaling all of the fluid related forces by this proportion.
The forces applied are as follows.
Weight and Buoyancy
Weight = Mg
Buoyancy = PWgV
where
M = mass
= fluid density
V = volume.
Drag
Drag forces are calculated separately for each of the global X, Y and Z directions. For the X direction (and similarly
for the Y and Z directions) the drag force applied is
Drag Force = PW...CdX.AX.VrX.|Vr|
where
CdX and AX are the Drag Coefficient and Drag Area, respectively, for the X direction
Vr is the velocity vector of the fluid relative to the buoy and |Vr| is its absolute magnitude
VrX is the component of Vr in the X direction.
Fluid Inertia Effects
Fluid acceleration force = (1+Ca)..PW.V.A
in each of the global axes directions, where
Ca is the Added Mass Coefficient for that direction
A is the acceleration of the fluid in that direction.
This force is often considered as being made up of two parts:
1. The Froude-Krylov force = .PW.V.A
2. The added inertia force = Ca..PW.V.A.
In addition, the inertia of the buoy in each of the global axes directions is increased by:
Added mass = .Ca.PW.V
where
Ca is the Added Mass Coefficient for that direction.
Contact Forces
Finally, 3D Buoys are also subjected to a reaction force from the seabed and any elastic solid with which they come
into contact, given by:
Reaction = KAd
where
K is the Stiffness of the seabed or elastic solid
A is the contact area
d is the depth of penetration of the buoy origin B.
In addition to this reaction force, 3D Buoys receive a contact damping force (for details see Seabed Theory and
Solids Theory) and friction forces.
w
Theory, Winch Theory
201
5.15 WINCH THEORY
Static Analysis
If the Statics winch control mode is set to Specified Length then for the static analysis the unstretched length of
wire paid out, L0, is set to the Value specified, and the wire tension t and winch drive force f are both set to equal:
t = f = K
(1)
where:
= Wire Strain = (L - L0) / L0
K = Wire Stiffness data value, specified on the winch data form
L = total length of the winch wire path
L
0
= unstretched length of winch wire paid out
Alternatively, if the Statics winch control mode is set to Specified Tension, then for the static analysis the winch
drive force f and the wire tension t are both set to the Value specified, and the unstretched length paid out, L0, is
then set to match this wire tension according to equation (1) above.
Dynamic Analysis
If Specified Payout is specified (length control mode) for a stage of the simulation, then the unstretched length of
winch wire paid out, L0, is steadily increased or decreased during that stage so that the total change during the stage
is the Value specified. Positive Value means pay out, negative Value means haul in.
The winch wire tension t (which is applied to each point on the wire) is then given by
t = K + CKd/dt
(2)
where
K and C are the Wire Stiffness and Wire Damping data values specified on the winch data form
d/dt = Wire Strain Rate = (dL/dt - dL0/dt) / L0
L = total length of the winch wire path
Note: The winch wire is not allowed to go into compression, so if the value for t given by equation (2) is
negative then the winch wire is considered to have gone slack and t is set to zero.
If Specified Tension mode is specified for a stage of the simulation, the Value specified in the data is used as a
target nominal constant tension that the winch drive attempts to achieve.
For Simple winches the winch drive is always assumed to achieve the target tension, so the Value specified is used
for the actual winch wire tension.
For Detailed winches the winch drive tries to achieve the target tension by applying a drive force to one side of the
winch Inertia, opposing the wire tension being applied to the other side. The drive force f applied is then given by:
if dL0/dt < 0: f(V) = f(0) - Deadband + AV - CV
2

if dL0/dt = 0: f(V) = f(0)
if dL0/dt > 0: f(V) = f(0) + Deadband + BV + DV
2

(3)
where
V = rate of payout = dL0/dt
Deadband = the winch drive deadband data item
A, B = the winch drive damping term data items
C, D = the winch drive drag term data items.
f(0) = Value + Stiffness.(L0 - L00)
Value = the nominal constant tension Value given
Stiffness = the winch drive stiffness data item
L00 = original value of L0 at the start of the simulation (set by the static analysis)
Theory, Shape Theory
w

202

Figure: Force Control Mode for Detailed Winches
If the winch Inertia M is non-zero, then the winch wire tension is set as in equation (2) above and the winch inertia
reacts by paying out or hauling in wire according to Newton's law:
Md
2
L0/dt
2
= t - f
so the wire tension therefore tends towards the winch drive force and is hence controlled by the given Value.
If the winch inertia is set to zero, then the winch is assumed to be instantly responsive so that
f = t at all times
(4)
Given the current value of L0, the common value of f and t is then found by solving the simultaneous equations (2),
(3) and (4) for the payout rate dL0/dt. The unstretched length of winch wire out, L0, is then altered at the calculated
rate dL0/dt as the stage progresses.
Note: If the winch inertia is set to zero then at least one of the damping and drag terms A, B, C, D should
be non-zero, since otherwise the simultaneous equations (2), (3) and (4) may have no solution. A
warning is given if this is attempted.
5.16 SHAPE THEORY
Elastic Solids
Consider an object which penetrates the surface of an elastic solid. Denote by po the position of the penetrating
object and by ps the closest point on the surface of the solid to po. Note that if the penetrating object has non-zero
contact diameter (e.g. a line node) then this closest point may be on an edge or corner of the shape.
The outwards reaction force on the penetrating object acts outwards, in the direction of the vector po-ps, and with
magnitude of KAd, where:
K = stiffness of the material
A = contact area
d = depth of penetration.
For details of the way the contact area is calculated, see Line Interaction with Seabed and Solids, 3D Buoy Theory
and 6D Buoy Theory.
In addition, if a non-zero friction coefficient is specified, then a lateral friction force is applied. For details of the
friction model see Friction Theory.
Finally, if explicit integration is used then a reaction damping force D is also applied when the object is travelling
into the solid. This damping force is in the same outwards direction, and is given by:
D = 2(MKA)

Vn
Drive Force f
Payout Speed V
(-ve = hauling in)
Deadband
Deadband
0
f(V) = f(0) - Deadband
+ A.V - C.V
2
f(V) = f(0) + Deadband
+ B.V + D.V
2
f(0) = Nominal Tension
+ Stiffness

(Payout since
simulation started)
w
Theory, Shape Theory
203
where
= percentage of critical damping / 100
M = mass of the penetrating object
Vn = component of object velocity in direction into the solid.
The damping force is only applied when the object is travelling into the shape (i.e. when Vn is positive).
Trapped Water
Inside a trapped water shape the fluid translational velocity and acceleration are calculated on the assumption that
the trapped water moves and rotates with the shape. So if the trapped water shape is Fixed or Anchored then no
fluid motion occurs inside the shape. But if the shape is connected to a moving vessel, for example, then the trapped
water is assumed to move and rotate with the vessel.
Notes: If the shape intersects the water surface then the surface is assumed to pass through the shape
unaltered. Thus a wave in the open sea also appears inside the shape. We make this assumption
because of the difficulty in predicting, for realistic cases, how the surface will behave inside the
trapped water volume.
For example, a moonpool with an open connection at the bottom will suppress most of the wave
and current action. However there will be some flow in and out of the moonpool, depending on the
size of the opening to the sea, pressure difference effects and the local geometry. The surface
elevation in the moonpool therefore does respond to the wave outside, but it is attenuated to some
extent and lags behind the surface outside.
w
System Modelling: Data and Results, Modelling Introduction
205
6 SYSTEM MODELLING: DATA AND RESULTS
6.1 MODELLING INTRODUCTION
To analyse a system using OrcaFlex, you must first build a mathematical model of the real-world system, using the
various modelling facilities provided by OrcaFlex. The model consists of the marine environment to which the
system is subjected, plus a variable number of objects chosen by the user, placed in the environment and connected
together as required. The objects represent the structures being analysed and the environment determines the
current, wave excitation, etc. to which the objects are subjected.
The following types of objects are available in OrcaFlex. (Detailed descriptions of each type of object are given later.)
Vessels
are used to model ships, floating platforms, barges etc. They are rigid bodies whose motions are prescribed
by the user. The motion can be specified in a number of ways: directly by a time history motion data file or
specifying Response Amplitude Operators (RAOs) for each of 6 degrees of freedom (surge, sway, heave, roll,
pitch and yaw), or indirectly by giving first order wave load RAOs or second order wave drift QTFs; or a
combination of the two. They can also be driven around the sea surface, at user specified velocities and
headings, during the course of the simulation.
3D Buoys
are simple point bodies with just 3 degrees of freedom the translational degrees of freedom (X,Y and Z).
Unlike a vessel, whose response to waves is defined by the data, the motion of a buoy is calculated by
OrcaFlex. 3D buoys are not allowed to rotate and are intended only for modelling objects that are small
enough for rotations to be unimportant.
6D Buoys
are much more sophisticated than 3D buoys they are rigid bodies with the full 6 degrees of freedom. That
is, OrcaFlex calculates both their translational and rotational motion. Several different types of 6D Buoy are
available, for modelling different sorts of marine object.
Note: Although called buoys, 3D and 6D buoys do not need to be buoyant and so can readily be used to
model any rigid body whose motion you want OrcaFlex to calculate.
Lines
are catenary elements used to represent pipes, flexible hoses, cables, mooring lines, etc. Line properties may
vary along the length, for example to allow a buoyant section to be represented. Line ends may be fixed or
free, or attached to other objects such as Vessels or Buoys, and ends can be disconnected in the course of a
simulation.
Each line can also have a number of attachments. These are elements attached to lines at user-specified
locations, and provide a convenient way of modelling items such as floats, clump weights, or drag chains.
Links
are mass-less connections linking two other objects in the model. Two types are available. Tethers are simple
linear elastic ties that can take tension but not compression. Spring / Dampers can take both compression
and tension and both spring and damper components can be non-linear.
Winches
are also mass-less connections linking two (or more) objects in the model. The connection is by a winch
wire, which is fed from and controlled by a winch drive mounted on the first object. The winch drive can be
operated in either constant speed mode, in which it pays out or hauls in the winch wire at a user-specified
rate, or else in constant tension mode, in which it applies a user-specified tension to the winch wire.
Shapes
are geometric shapes and three types are available. Elastic Solids can be used to act as physical barriers to
restrict the movement of the other objects in the system; they are made of an elastic material and so apply a
reaction force to any object that penetrates them. Trapped Water shapes can be used to model parts of the
sea, such as moonpools, that are shielded from the waves. Drawing shapes can be used purely for
visualisation and have no influence on or interaction with the rest of the model.
Several different elementary shapes (cuboids, planes and cylinders) are available and a number of shapes
may be placed together to build up more complex compound shapes. They may be fixed or attached to other
objects such as Vessels or Buoys.
System Modelling: Data and Results, Data in Time History Files
w

206
Of these various object types, the lines, links and winches have the special property that they can be used to connect
together other objects. Assembling the model therefore consists of creating objects and then using the lines, links
and winches to connect the other objects together, as required. See Object Connections for details.
The number of objects in the model is only limited by the memory and other resources available on the computer
being used. Similarly, there are no built-in limits to the number of lines, links or winches that are attached to an
object. As a result very complex systems can be modelled, though of course the more complex the model the longer
the analysis takes. Example files are provided with OrcaFlex.
Computer programs cannot exactly represent every aspect of a real-world system the data and computation
required would be too great. So when building the model you must decide which are the important features of the
system being analysed, and then set up a model that includes those features. The first model of a system might be
quite simple, only including the most important aspects, so that early results and understanding can be gained
quickly. Later, the model can be extended to include more features of the system, thereby giving more accurate
predictions of its behaviour, though at the cost of increased analysis time.
Once the model has been built, OrcaFlex offers a variety of analyses:
- Modal Analysis, in which OrcaFlex calculates and reports the undamped natural modes of the model, or of an
individual line in the model.
- Static analysis, in which OrcaFlex calculates the static equilibrium position of the model; current and wind loads
are included, but not wave loads.
- Dynamic analysis, in which OrcaFlex carries out a time simulation of the response of the system to waves,
current and a range of user-defined inputs. A choice of implicit and explicit integration scheme is offered.
- Fatigue analysis, in which OrcaFlex calculates and collates fatigue damage.
6.2 DATA IN TIME HISTORY FILES
For certain data you can use time history files to specify time-varying values. This is available for wave elevation,
wind speed and vessel motion, and allows you full control over how the variable changes with time.
If you want to specify time-varying data for more than one object (e.g. for both the wave and wind, or for the wave
and a vessel) then you can either put all the data in one file (using multiple columns in a single table) or you can use
separate time history files for the different objects.
Time history file data are specified on a page control:

Figure: Time history data
Source page
The Input File is the name of the time history input file that contains the data. You can either specify the full path or
a relative path.
w
System Modelling: Data and Results, Data in Time History Files
207
For vessel time history files you must specify an Interpolation Method. For most purposes we recommend using
Cubic Spline interpolation, since it gives continuity of vessel velocity and acceleration. Cubic Bessel interpolation
typically gives step changes in acceleration at the specified time samples, and Linear interpolation gives zero
acceleration between the times specified and then an infinite acceleration when the velocity changes at a specified
time sample. Such acceleration effects can manifest themselves as steps or spikes in the inertial forces on any
objects attached to the vessel.
The Time Origin gives you control of how the times given in the time history file relate to the times in OrcaFlex. The
time origin is specified relative to the OrcaFlex global time origin, so it specifies the global time that corresponds to
zero time in the time history file. The simulation time origin is also specified relative to global time, so you can
simulate different periods of the time history by adjusting either the time history time origin or the simulation time
origin.
So, for example, if the time history file's time origin is set to 100s and the simulation time origin is set to 400s, then a
simulation consisting of 40s of build-up (i.e. simulation time -40 to 0) followed by 200s of simulation (simulation
time 0 to 200) will cover time history time from 260s to 500s. Note that the time history file must contain data to
cover the whole of the simulation.
Note: If you are using more than one time history file (e.g. one for a wave train and one for motion of a
vessel) then they each have their own time origins, which you can use to time shift each time
history independently of the others.
For vessel time history files the Datum Point specifies, with respect to vessel local axes, the point on the vessel at
which the motion time history applies.
The Minimum time sample interval can be useful to smooth time history data in some situations:
- if the time history values have been truncated to a small number of significant figures, or
- if the sample interval in the file is very small.
If either of these conditions hold (or worse, if both do) then you may find that the interpolated time history values
cause the simulation to contain unrealistic noise.
Using a non-zero minimum time sample interval results in the time history data being sub-sampled at the specified
period. For example if the time history file contained data sampled at 0.01s intervals and the minimum time sample
interval was 0.2s then OrcaFlex would use every 20
th
row of time history data.
This sub-sampling technique has proved to be very effective at smoothing interpolated time histories and so
improving the quality and stability of simulations.
Note: If you do not wish to sub-sample the time history input file then you should use a value of 0.
Data page
You must tell OrcaFlex which columns in the time history file correspond to Time, X, Y, Z etc. This is done on the
Data page using a series of drop down lists.
You can also specify that vessel degrees of freedom (X, Y, Z etc.) are fixed by specifying None in the drop down list.
For a primary motion time history the degree of freedom will be fixed as the value at the end of the static
calculation. For a superimposed motion time history the degree of freedom will be fixed as zero.
Preview page
The preview page presents graphs of the data contained in the time history file. This can provide a quick check that
the column data has been correctly specified.
Each graph contains two vertical lines to represent the beginning and end of the simulation. The time axis of the
graphs use the raw data contained in the input file. As described above, the time history time origin and the
simulation time origin can be used to control of how the times given in the time history file relate to the times in
OrcaFlex. These graphs can therefore be used to check that the time origin data items are set correctly.
Note: The values plotted on the graphs are the raw data contained in the time history input file. No
interpolation is applied before plotting the curves, but if you have a large number of data points
(>1000) the data (on the preview graph only) may be subsampled.
Time History File Format
Time History files must conform to the following formatting rules:
- The file must be a tab-delimited text file; in other words it must be a text file in which the time history data
columns are separated by single tab characters. Files of this format can easily be produced with commercial
spreadsheet programs by using "Save As" and selecting tab-delimited text format.
- The data values must be in standard decimal or scientific form.
System Modelling: Data and Results, Variable Data
w

208
- One column must contain the time values and these must be given in ascending order.
- The data must be given in the same units as used in the OrcaFlex model.
- For a wave time history the time values must be equally spaced since a fast Fourier transform is used which
requires equal spacing. But for wind velocity or vessel motion time history files variable time intervals can be
used since the interpolation methods used do not require equal spacing.
The data are assumed to start at the first numeric entry in the time column and blank rows are not allowed once the
data has started. This means that textual information about the file (titles etc.) can precede the data but once the
data begins it cannot be interrupted with any more text.
Note: If you generate your time history text file from a spreadsheet program such as Excel, please note
that the number of significant figures in the text file will depend on the number format of the cells
in the spreadsheet. Before saving the text file, it is therefore important to set the number format to
one that displays all the significant figures, since otherwise the time history text file will lose some
significant figures. In Excel you can get all significant figures by selecting all the cells and then
using the Format Cells command (on the Format menu) to set the number format to scientific with
15 decimal places.
6.3 VARIABLE DATA
Most OrcaFlex data are constant i.e. a value, y say, is a fixed specified value. But for some numerical data items you
can choose to instead specify variable data. Typically the data item's value y is then specified as being a function of
some other value x, and the actual value y(x) used by OrcaFlex then depends on the value of x at the time. If x varies
during the simulation then y varies accordingly.
As an example consider the drag coefficient of a line. In the real world this isn't a fixed constant value it depends
on the Reynolds number. For many applications this variation is not significant so a fixed constant drag coefficient is
sufficient. But sometimes the Reynolds number variation is important, so you can then specify the drag coefficient to
be a function of Reynolds number. Then, each time the drag coefficient is needed OrcaFlex will first calculate the
Reynolds number (the x in the above description) and then derive and use the corresponding drag coefficient y(x).
Note that some data items use variable data in a slightly different way. For example the axial stiffness of a line type
is the slope of the tension-strain curve, so in this case constant data specifies dy/dx, rather than y, where y is
tension and x is axial strain. In this context constant means constant slope, i.e. linear, and the constant value you
specify is dy/dx, whereas variable means non-linear and you specify y as a function of x. Cases like this are
documented in the description of each data item.
Using Variable Data
Variable data can only be used for certain data items. These are the numerical data items that have a small down-
arrow button to the right of the data item value. For these you can either specify a fixed constant numerical value in
the usual way. Or you can specify the name of a variable data source, either by typing the name in or by selecting it
using the down-arrow button. The named data source must already have been defined see the next section.
Different data items can use the same variable data source much in the same way that different sections of a Line
can use the same Line Type.
Setting up Variable Data Sources
All the variable data sources are specified on the Variable Data form. This form can be opened using the model
browser or using the popup menu on any data form.
Each table on the Variable Data form is given a name and the tables are grouped according to the type of data they
contain. For example data for drag coefficients is kept separate from data for axial stiffness.
This structure is indicated by the layout of the form, which is designed to be used from left to right. So first select the
type of data you want, using the tree view in the left-hand section of the form.
The centre section of the form then shows how many data sources have already been defined for that selected type
of data, and their names. To add a new table, increment the Number of Data Sources. To edit the name of a data
source double click the name or select the name and then press F2. To delete a data source select it and press the
DELETE key.
The right-hand section of the form is where the data for the data source is entered. What form these data take
varies. The different possibilities are described below.
w
System Modelling: Data and Results, Variable Data
209
Tabular Data Sources
These data sources are specified by giving a table of corresponding values (x1,y1), (x2,y2), .., (xn,yn), where the table's
left-hand column is the independent variable x and its right-hand column is the dependent variable y. The data will
be automatically sorted into order of increasing x when they are used or when you use the Profile button.
This table defines a function y(x). For intermediate values of x OrcaFlex interpolates. For values of x outside the
range specified OrcaFlex either extrapolates or else truncates. Truncation means that OrcaFlex uses y1 for all x x1
and yn for all x xn (the table already having been sorted so that x1 is the lowest x-value specified and xn is the
highest). The variable data form reports the method of interpolation and whether extrapolation or truncation is
used.
The Profile button displays a graph of the currently selected data. This is useful for data checking purposes. Where
appropriate, log scales are used.
Horizontal Variation Factor Data Sources
These data sources specify a variation along a user-prescribed axis. This axis is defined by the X,Y coordinates of an
origin and an azimuth direction. Together with the axis you also specify a table of values defining the horizontal
variation factor as a function of distance along the axis. This table is specified in the same way as for tabular data
sources.
6.3.1 External Functions
External Function Data Sources are yet another variety of variable data source. These data sources allow data to
be specified by a user-defined function provided in an external DLL, or a Python script. We refer to these two types
of external functions as native code external functions and Python external functions, respectively. This function is
called repeatedly during the OrcaFlex simulation and is passed the current value of the variable data item. The
function must then recalculate and update the value of the variable data item.
The following data items are required to specify an external function data source:
File Name
The file name containing the external function. This can be the name of a DLL for a native code external function, or
the name of a Python script in the case of a Python external function.
If the file name uses a relative path, it is relative to the directory containing the latest OrcaFlex file that you have
opened or saved. If there is no such file (because it is a new model which has not yet been saved) then the file name
is relative to the value of the working directory when the program started.
For native code DLLs, the system DLL search order is used if the DLL is not found relative to the directory containing
the latest OrcaFlex file.
Function Name
The name of the external function. For a native code external function this is the name of a function exported by the
external DLL. For a Python external function this is the name of a class defined in the Python script.
For details on how to implement external functions please refer to the OrcaFlex programming interface
documentation.
Python Version
For Python external functions only, this determines which version of Python is used.
- If Python 2 is selected then either version 2.6 or 2.7 will be used. If both of these versions are present on your
system, then the most recent, i.e. 2.7 will be used.
- If Python 3 is selected then one of version 3.0, 3.1, 3.2 or 3.3 will be used. Again, if more than one of these
versions is present on your system, then the most recent will be used.
Initial Value
When OrcaFlex calls the external function for the first time it passes this value to the function. The function can use
this value as its starting value if it so chooses. Alternatively it can ignore this value and substitute a different value.
Note: This value is used by OrcaFlex when drawing the model in Reset state.
Time Step
This specifies how frequently the external function is called to update the value of the variable data item. You can
use either the inner time step, the outer time step or a user-specified time step. If you choose a user-specified time
step then you input a target time step and the program uses the nearest whole multiple of the inner time step.
Note: When using implicit integration, this data item is ignored and the external function is called on
each iteration of each time step.
System Modelling: Data and Results, General Data
w

210
32 and 64 bit Environments
The bitness of OrcaFlex and compiled native external functions must match: to use native external functions from 64
bit OrcaFlex, they must be compiled as 64 bit; and to use native external functions from 32 bit OrcaFlex, you must
have them compiled as 32 bit. You can, if you need your external function to work with both 32 and 64 bit versions
of OrcaFlex, compile both 32 bit and 64 bit versions: these should be located in the same directory and the 64 bit
version given the suffix of 64. For example, if the 32 bit external function DLL is named ExtFn.dll then the 64 bit
DLL must be named ExtFn64.dll. If you follow this naming convention, then OrcaFlex will load whichever external
function DLL matches the architecture of the OrcaFlex process. Please refer to the OrcFxAPI help file for full details.
Likewise, the bitness of OrcaFlex and Python must match: to use Python external functions from 64 bit OrcaFlex, you
must have a 64 bit version of Python; and to use Python external functions from 32 bit OrcaFlex, you must have 32
bit version of Python. You may, if you wish, have both 32 and 64 bit versions of Python installed simultaneously; you
will, by default, have both 32 and 64 bit versions of OrcaFlex installed.
External Function Parameters
The external function facility provides a general purpose method of passing parameters to external functions.
For an example of why this is desirable consider an external function which implements a PID controller used to
model the active control system for a heave compensating winch. A PID controller has a number of parameters and
these could be hard coded into the external function. However, in OrcaFlex you may want to experiment by varying
these parameters to see how they affect a simulation. If the parameters are hard coded then the external function
DLL will have to be recompiled each time you experiment by changing the parameters.
Instead OrcaFlex allows you to specify parameters for the external function as part of the OrcaFlex data. These
parameters are passed to the external function. The parameters are specified as a free form multi-line text field. This
means that the external function has to do some work to decode and interpret the text before it can access the
parameters. However, this also means that there is a great deal of flexibility in the parameter passing mechanism.
Whenever an OrcaFlex object (e.g. a Winch, a 6D Buoy, a Vessel, the Environment etc.) uses an external function then
a page titled External Functions is available on that object's data form. The parameters are specified in the text
field contained in this page.
For native code external functions, the parameters are passed to the external function in the lpObjectParameters
member of the TExternalFunctionInfo data structure. For Python external functions, the parameters are passed
in the ObjectParameters attribute of the info object.
For more details please refer to the OrcaFlex programming interface documentation. Also, the External Function
Examples illustrate the procedure involved in passing parameters to external functions and are a useful source.
Data which can be controlled by External Functions
The following data items can be controlled by External Functions:
- Vessel and 6D Buoy applied loads.
- Wing orientation angles.
- Winch tension and winch payout rate.
- Current reference speed and reference direction.
- Bend stiffness for Line Types.
- Vessel primary motion.
External Function Examples
A selection of example external functions are supplied on the OrcaFlex installation disc. Alternatively these example
functions can be downloaded from www.orcina.com/Support.
6.4 GENERAL DATA
The General Data form is used to specify data that apply to the whole model.
Comments
A free form multi-line text field that can be used to store notes about the model. OrcaFlex does not use this text.
Units Data
This may be SI, US or User Defined (multiple choice). Units are defined for length, mass, force, time and
temperature.
Selecting SI gives length in metres, mass in tonnes, force in kN, time in seconds and temperature in Celsius. Selecting
US gives length in feet, mass in kips, force in kips, time in seconds and temperature in Fahrenheit.
w
System Modelling: Data and Results, General Data
211
If neither of these systems meets your requirements then select User Defined. You may then select individually
from the length, mass, force, time and temperature units on offer and in addition you can specify the value of g
(gravitational acceleration).
If the units are changed, then OrcaFlex converts all the data in the model into the new units.
In this manual the units of data items are denoted using the capital letters L (length units), M (mass units), F (force
units) and T (time units), so for example a mass density has units of M/L^3.
Note: For any given length, force and time units there is a corresponding inertial mass unit, which is the
mass that would be accelerated at 1 unit of acceleration when one unit of force was applied. For
example in the US units system the unit of acceleration is 1 ft/s
2
and the unit of force is 1 kip force,
so the inertial mass unit is 1 kiloslug (= 1000 slugs = approximately 32000 pounds mass), since a 1
kip force applied to a 1000 slug mass would give an acceleration of 1 ft/s
2
.
US units, and many of the possible User Defined units systems, use mass units that are not the
inertial mass unit corresponding to the length, force and time units. When using such a system you
should note that the equations in this manual, as in most text books, are written in a form which
assumes that any terms involving mass units (e.g. mass, moment of inertia, mass per unit length,
density etc.) are expressed in the inertial mass unit, not the 'non-inertial' mass unit used by the unit
system. OrcaFlex automatically allows for this when you use US units or any User Defined system
where the mass unit is not the inertial mass unit.
6.4.1 Statics
Statics Method
OrcaFlex includes two system statics methods: Whole System statics and Separate Buoy and Line statics. They
are functionally equivalent but you will likely find cases which converge with either one of the methods but not the
other.
We recommend that you use the default method of Whole System statics because it is, in general, much faster and
more robust than Separate Buoy and Line statics.
Whole System statics solves the entire system in a single integrated iterative method. The program calculates the
system Jacobian matrix analytically. Conceptually this method is identical to the Full Statics method for Lines, except
that it operates on all objects in the model.
Separate Buoy and Line statics is a hybrid statics method comprising an outer and an inner loop. The inner statics
loop solves statics for all Lines in the model, and the outer statics loop solves statics for Buoys and Vessels. While
this method works reasonably well in many cases, it can perform poorly for cases containing large numbers of
Buoys and/or Vessels. This hybrid method uses a perturbation technique to calculate the system Jacobian matrix
which is both slower and less accurate than calculating it analytically.
Buoy Degrees of Freedom Included in Static Analysis
Buoys can either be included or excluded from the static analysis. When a buoy is included OrcaFlex calculates the
static equilibrium position of the buoy; when it is excluded OrcaFlex simply places the buoy at the position specified
by the user.
Which buoys are included in the static analysis is determined by the data item "Buoy Degrees of Freedom Included
in Static Analysis" on the General Data form, together with individual settings on each buoy's data form, as described
below:
- A value of None means that OrcaFlex does not find the true static equilibrium position of the buoys in the
model, but instead simply places the buoys at the initial starting position specified in the data.
- A value of X, Y, Z includes all buoys in the static calculation, but excludes rotational degrees of freedom for 6D
Buoys.
- A value of Individually Specified allows you to specify individually on each buoy data form, whether that buoy
should be included in the static equilibrium calculation. For 6D Buoys you can also choose whether the
rotational degrees of freedom are included or excluded.
- This data item should normally be set to All, in which case the static analysis will attempt to find the static
equilibrium position of all the buoys in the model, as well as finding the static equilibrium position of the other
objects.
There are several cases where this data item should be set to None. The first is if you are not using Catenary Statics
or Full Statics for any lines in the model (see Static Analysis). In this case, the line is not in true static equilibrium
and so OrcaFlex cannot find the static equilibrium position of any buoy to which such lines are attached. If any such
lines exist then all the buoys must be excluded from the static analysis by setting this data item to None.
System Modelling: Data and Results, General Data
w

212
The second case where this item may need to be set to None is if the model is statically indeterminate, for example a
free-floating buoy, or if the static analysis fails to converge. The static analysis is an iterative calculation and for
some complex systems this calculation may fail to converge, especially if the initial estimated position given in the
data is far from being an equilibrium position. If this happens you can exclude some or all buoys (or, for 6D buoys,
just the rotational degrees of freedom) from the static analysis; this simplifies the static analysis and should enable
convergence. Although the simulation then starts from a non-equilibrium position, it does allow the simulation to
proceed and the initial non-equilibrium errors will normally be dissipated during the build-up stage of the
simulation, provided a reasonable length build-up stage is specified. In fact the simulation can then often be used to
find the true static equilibrium position, by running a simulation with no waves; once it is found, the true static
equilibrium positions of the buoys can then be input as their starting positions for subsequent runs.
Finally, you may specifically want the simulation to start from a non-equilibrium position. One example of this is to
use the simulation to determine the damping properties of the system, by running a simulation with no waves and
starting from a non-equilibrium position.
Starting Velocity
Specifies the velocity of the whole model for the static analysis and for the start of the simulation. It is defined by
giving the speed (i.e. magnitude) and direction.
Normally the starting speed is zero. If a non-zero speed is specified (e.g. for modelling a towed system) then the
static analysis becomes a steady state analysis that finds the steady state equilibrium position in which the whole
model is moving with the specified velocity. The static position is therefore then referred to as a steady state
position, and the calculation of this position allows for any drag loads due to differences between the starting
velocity and the current velocity.
Note: The model will start the simulation from the calculated steady state; i.e. with the specified starting
velocity. So you should normally ensure that each vessel in the model has its prescribed motion for
stage 0 (the build-up stage) set to match the specified starting velocity. Otherwise the simulation
will start with a sudden change in vessel velocity, which will cause a "kick" which may take some
time to settle down.
Statics Convergence Parameters
When buoys or vessels are included in the static analysis, their equilibrium positions are calculated using an
iterative algorithm that is controlled by the convergence parameters on the General data form. They do not normally
need to be altered. However if the static calculation fails to converge it is sometimes possible to improve the
behaviour by adjusting the convergence parameters.
Max Iterations
The calculation is abandoned if convergence has not been achieved after this number of steps. For some difficult
cases simply increasing this limit may be enough.
Tolerance
This controls the accuracy of the solution, for Lines, 3D Buoys, 6D Buoys and Vessels.
Min Damping, Max Damping
For some cases it is necessary to control the convergence process by damping down (i.e. reducing) the step taken at
each stage. The program includes an automatic damping system that chooses a suitable damping factor for each
iteration, but the user can set the minimum damping and maximum damping factors that are used.
Normally the default values will suffice but for difficult cases the default values can be altered. For cases that appear
to make the convergence unstable (e.g. giving very bad line positions on the screen) try increasing the Min
Damping factor to a value greater than 1, say values in the range 1 to 10. You can also try increasing the Max
Damping factor, say to values in the range 10 to 100.
Note: Convergence will be slower with larger damping values so you should use the smallest values that
result in statics converging.
Mag. of Std. Error, Mag. of Std. Change
For some cases it may be necessary to reduce one or both of these values from their defaults. Doing so is likely to
slow down the convergence, but it may be necessary in order to achieve convergence!
6.4.2 Dynamics
Simulation Stages
The simulation proceeds in a Number of Stages each of a given Duration. See Figure: Time and Simulation Stages
in Dynamic Analysis.
w
System Modelling: Data and Results, General Data
213
Before the first stage is a Build-Up Period during which the sea conditions are slowly ramped up from zero in order
to avoid sudden transients when starting a simulation. Time during the build-up stage is reported by the program as
negative, so that the first stage proper starts at time t=0.
When using regular waves, it is usual to define the whole simulation as a single stage and results are presented on a
cycle-by-cycle basis. In random waves there is no meaningful "wave cycle". By dividing the simulation time into
stages you are free to collect results for specific time periods of interest.
Logging
OrcaFlex stores the results of a simulation by sampling at regular intervals and storing the samples in a temporary
log file. When you save the simulation OrcaFlex writes the data to the simulation file, followed by a copy of the log
file, so that the sampled values can be read back in again at a later date.
You can control the time interval between log samples by setting the Target Sample Interval on the general data
form. The Actual Sample Interval will be the nearest whole multiple of the dynamic time step. You can obtain more
information about the logging by using the Properties command on the popup menu on the general data form. This
reports the number of log samples that will be taken and the size of the resulting simulation file.
Logging Precision
You can also control the Precision with which samples are logged.
Single precision uses 4 bytes to represent each value and gives about 7 significant figures, which is quite accurate
enough for almost all applications. Double precision uses 8 bytes per value, giving about 16 significant figures but
uses twice as much disk space.
Double precision logging is usually only needed in very particular cases. We therefore recommend that you use
single precision logging unless you see signs of precision problems in the results. The typical signs of precision
problems are that the curvature or bend moment time histories for a line look more like a step function than a
smooth curve. If you see such results then try using double-precision logging to see if precision is the cause.
The typical case where precision problems can occur is where the model contains a pipe or riser that has an
extremely high bend stiffness and which experiences large displacements during the simulation. The reason is that
OrcaFlex logs the positions of each node but in order to save space in the simulation file it does not log the
curvature, bend moment etc. Instead OrcaFlex recalculates results like curvature and bend moment from the node
positions whenever you request these results. When both the bend stiffness and the node displacements are very
large then this calculation can greatly amplify the small steps in node position (8th significant figure) that are
present in a single precision log, giving a bend moment graph that has steps rather than being smooth.
6.4.3 Integration & Time Steps
Integration Method
OrcaFlex implements two complementary integration schemes: Explicit and Implicit. Theoretical details are given
in Dynamic Analysis: Calculation Method.
Explicit Integration
The explicit scheme used by OrcaFlex is forward Euler. Like all explicit schemes this is conditionally stable. In
practice this means that in order to achieve stability the time step must be small compared to the shortest natural
nodal period. By default OrcaFlex will automatically set the time step.
Implicit Integration
For implicit integration OrcaFlex uses the Generalised- integration scheme which is unconditionally stable for
linear systems. Constant and variable time step options are available. OrcaFlex provides two results variables
(Implicit solver iteration count and Implicit solver time step) which can be used to track the performance of the
implicit integration scheme.
Limitations of Implicit Integration
Some of OrcaFlex's features have not been adapted for the implicit scheme. Because of this implicit integration
cannot be used with models that use any of the following features:
- Vessels using Calculated (3 DOF) primary motion, or using Calculated (6 DOF) primary motion when some
superimposed motion is also applied. Note that implicit integration can be used with vessels using Calculated (6
DOF) primary motion when no superimposed motion is applied.
- Tension-controlled detailed winches with non-zero inertia.
- Time domain VIV models.
Also, note that implicit integration does not include seabed damping, solid damping or line clash damping.
System Modelling: Data and Results, General Data
w

214
Advantages and disadvantages of the two integration schemes
The explicit scheme is extremely robust and flexible. Its main drawback is that the stability requirements can result
in very short time steps and correspondingly long computation times. This tends to be most significant for stiff
systems, or for systems with fine segmentation. For such systems the implicit scheme can be faster, sometimes by
orders of magnitude.
It is essential to consider accuracy as well as computation time. For the explicit scheme, if the simulation is stable
then, in our experience, it is rare for the results to be inaccurate. We recommend that you conduct time step
sensitivity studies to confirm this.
Implicit schemes, on the other hand, can quite easily achieve stability and yet produce inaccurate results. For rapidly
varying physical phenomena (e.g. snatch loads, impact, sudden line on line clashing etc.) results accuracy is more
likely to be an issue. We recommend that time step sensitivity studies are carried out to ensure accuracy of results.
Comparisons with the explicit scheme are particularly useful for this purpose.
6.4.4 Explicit Integration
Inner Time Step, Outer Time Step
For efficiency of computation, OrcaFlex uses 2 integration time steps when explicit integration is used in the
dynamic simulation: an inner time step and a larger outer time step. Most calculations during the simulation are
done every inner time step, but some parameters (the more slowly-varying values such as wave particle motion and
most hydrodynamic and aerodynamic forces) are only recalculated every outer time step. This reduces the
calculations needed and so increases the speed of simulation.
The usual effect of setting one of the time steps too large is that the simulation becomes unstable, in the sense that
very large and rapidly increasing oscillations develop, usually very near the start of the simulation. OrcaFlex detects
and reports most such instabilities; the time steps can then be reduced and the simulation retried. However, it is
generally worth repeating important simulations with smaller step sizes to ensure that no significant loss of
accuracy has occurred.
Note: High values of Seabed stiffness may shorten the natural period of parts of the system lying on it.
This in turn leads to shorter inner time steps being required. Beware that the effects of seabed
stiffness will not be accounted for if touchdown does not occur until dynamics are run.
Recommendations for setting time steps
Both time steps must be short enough to give stable and accurate simulation. Experience indicates that the inner
step should not exceed 1/10th to 1/20th of the shortest natural nodal period of motion for any degree of freedom in
the model. The shortest natural nodal period is reported in the Full Results for statics.
The outer step can usually be set to 10 times the inner time step; this gives a good saving in computing time without
risking instability. In addition, the outer time step should generally not be more than 1/40th of the wave period (or
1/40th of the zero crossing period for a wave spectrum). If you are using a Wake Oscillator VIV model then we
recommend that the outer time step is no more than 1/200th of the minimum Wake Oscillator Strouhal Period.
Always use recommended time steps
OrcaFlex helps you set the simulation time steps using the above criteria. There are 2 modes of operation:
If Always use recommended time steps is checked (the default setting) then OrcaFlex will calculate recommended
time steps and use these values directly. This means that any values that you specify will be overwritten.
The main advantage of using this option comes during the design phase. If you make changes to the model's
properties which alter the shortest natural nodal period then OrcaFlex automatically modifies the time steps
accordingly. This is particularly useful when you make a change that allows the use of longer time steps. When not
using this option it is all too easy to forget to lengthen the time steps and suffer unnecessarily long simulation run
times.
The other significant benefit of this mode of operation comes when preparing a large number of similar simulations
using batch script methods. Suppose that the different models involved have differing shortest natural nodal
periods. The Always use recommended time steps option allows you to use appropriate time steps for each
individual model without having to set them manually.
Alternatively, if Always use recommended time steps is not checked then OrcaFlex first of all calculates the
recommended time steps. If these are shorter than the values specified on the General Data form then OrcaFlex
issues a warning and gives you the option of using the recommended values. You are free to disregard the warnings
if desired, but if either time step (though especially the inner step size) is set too large there is danger of instability
or inaccuracy in the simulation.
w
System Modelling: Data and Results, General Data
215
The main situation where this mode of operation is to be preferred is when OrcaFlex recommended time steps are
too long and lead to an unstable simulation. Sometimes the only solution is to set the time steps manually and this
option gives you that flexibility.
Recommended time step settings
Inner time step (fraction of shortest natural period)
Our experience is that for most cases the inner time step can safely be set to 1/10th of the shortest natural nodal
period. However, for some models you may find you need to use a shorter time step to achieve a stable simulation.
By changing this value you can control what fraction of the shortest natural nodal period OrcaFlex uses to calculate
the recommended inner time step. The default value is 10, which equates to a recommended inner time step of
1/10th of the shortest natural nodal period. A value of 20 would give a recommended inner time step of 1/20th of
the shortest natural nodal period, and so on.
Outer time step (multiple of inner time step)
The recommended outer time step will be no greater than this value times the inner time step.
Outer time step (fraction of wave period or Tz)
The recommended outer time step will be no greater than T divided by this value, where T is either the wave period
(for regular waves) or Tz (for random waves).
Outer time step (fraction of Wake Oscillator Strouhal period)
This data item is only available if you are using a Wake Oscillator VIV model. The recommended outer time step will
be no greater than the minimum Wake Oscillator Strouhal Period divided by this value.
6.4.5 Implicit Integration
Implicit Integration Parameters
Use variable time step
For the implicit solver OrcaFlex offers both constant and variable time step algorithms.
The default is to use a constant time step and in general this is to be preferred. Variable time step schemes can
introduce high frequency noise into a system which in turn can lead to inaccurate results, for example noisy time
histories, non-physical spikes in results etc. Note that this is a feature of all variable time step algorithms. For the
majority of systems no problems arise when using a variable time step. However, if you are using variable time steps
then we do recommend that you check the quality of your results.
The variable time step algorithm chooses the time step based on the number of iterations used for previous time
steps. If a large number of iterations were required for previous time steps then the time step is reduced.
Conversely, if a small number of iterations were required then the time step is increased. The results variables
Implicit solver iteration count and Implicit solver time step can be used to track the performance of the variable
time step algorithm.
Time step / Maximum time step
If you are using a constant time step then this data item determines that time step. OrcaFlex has a default value of
0.1s. However, different systems will require shorter time steps and indeed some systems can give perfectly
accurate answers with longer time steps. If you wish to optimise run times then you may need to experiment with
different time step values.
If you are using a variable time step then this data item limits the time step used by OrcaFlex and it will never
exceed this value.
Warning: Implicit solvers can produce inaccurate results, even for stable simulations, if the time step is
chosen to be too large. Because of this we strongly recommend that you carry out sensitivity
studies on your time step to ensure accuracy. A very useful additional technique is to compare
results from the implicit solver and the explicit solver.
Maximum number of iterations
The implicit integration scheme uses an iterative method to solve the dynamic equilibrium equations. The
calculation is abandoned if convergence has not been achieved after this number of iterations.
If you are using a variable time step then this results in the time step being reduced rather than the simulation being
aborted. Accordingly we recommend that a relatively small value is used, we recommend using the default value of
20. This allows OrcaFlex to abandon the current iteration quite early and try again with a shorter time step.
System Modelling: Data and Results, General Data
w

216
Conversely if you are using a constant time step then the simulation is aborted if convergence cannot be achieved
inside this number of iterations. Because of this we recommend using a larger value than for variable time steps.
The default value of 100 is usually a good choice.
Tolerance
A non-dimensional value which controls the accuracy of the solution. Increasing this value can result in reduced
computation time since fewer iterations are needed to solve the dynamic equilibrium equations. However, doing so
may also result in inaccurate results.
Notes: We recommend that you use the default tolerance value. Should you choose to increase it then we
strongly recommend that you perform sensitivity studies to confirm the accuracy of your results.
For systems where the only responses are extremely slowly varying (e.g. drift motions, Spar VIM)
you might need to use a smaller tolerance than the default value to obtain accurate results.
6.4.6 Numerical Damping
Line Target Damping
Finite element models may contain spurious high frequency response, a feature inherent in the finite element
method. Line Target Damping specifies damping whose effect is usually only to damp down this high frequency
noise. The value gives the % critical damping level that will be achieved for oscillations at the shortest natural
period of each node. These oscillation periods are typically very short and depend on the segment length and
stiffness values of the line section involved.
The % critical damping generated for longer oscillation periods is inversely proportional to the period, and for
typical response periods (usually much longer) the damping level is usually insignificant. To achieve a significant
level of damping at wave period usually requires a very high Line Target Damping value to be calculated and
specified, and this in turn often requires shorter time steps and so longer simulations. Because of this we
recommend that you use Rayleigh Damping to model the effects of structural damping.
The target damping can be specified independently for tension, bending and torsion. Within broad limits, this
damping has little influence on the results of a simulation unless the system is subject to very rapid variations in
tension or bending, for example when snatch loads occur. A value between 5% and 50% of target damping is usually
assumed. For details on the use of these data, see the theory documentation for tension, bending and torsion.
Note: These data are only available when using the explicit integration scheme. The implicit integration
scheme has built-in numerical damping.
6.4.7 Response Calculation
Simulation Period used for Response Calculations
These data items determine the period of the simulation to be used for the Spectral Response Analysis.
This period is specified by giving From and To simulation times. A value of '~' for the From time is interpreted as
simulation time 0. A value of '~' for the To time is taken to mean the simulation time at the end of the simulation.
These are the default values and in most cases are the values which you should use.
Note: These data items are only available when you have selected the Response Calculation wave type.
6.4.8 Results
Spectral Density Fundamental Frequency
Determines the fundamental (minimum) frequency for Spectral Density graphs. The default value is usually quite
reasonable. However, smaller values are sometimes required to achieve good resolution of the spectral form.
Wall Clock Time, CPU Time
These two output values, found on the properties report, can also be obtained from one of the OrcaFlex automation
interfaces. Both variables report the time taken to perform the dynamic simulation.
- Wall Clock Time measures the real time, in seconds, that elapsed between the start and finish of the simulation.
- CPU Time measures the total CPU time, in seconds, summed over all processors in the system.
The results can be extracted using the OrcaFlex post-processing spreadsheet. Use the Get Data command with
object name General and variable name WallClockTime or CPUTime.
From the Python or MATLAB interfaces use the following code:
WallClockTime = model.general.WallClockTime
CPUTime = model.general.CPUTime
w
System Modelling: Data and Results, General Data
217
From C or C++ you should call C_GetDataDouble passing the handle the General data object and a data name of
"WallClockTime" or "CPUTime".
Log file location(s)
This value, also found on the properties report, can be obtained with the automation techniques described above
using the name LogFileLocation. This value is the location of any log files used by an OrcaFlex simulation.
Results variables
For details on how to select results variables see Selecting Variables.
The available variables are:
Time
The simulation time.
Implicit solver iteration count
The number of iterations used by the implicit integration scheme to solve the dynamic equilibrium equations.
Implicit solver time step
The time step used by the implicit integration scheme. This is most useful when you are using a variable time step.
6.4.9 Post Calculation Actions
Post Calculation Actions provide a means to include post-processing as part of your wider OrcaFlex automation
process. The data are described below and are specified on the General data form.
For example, consider the batch processing capability. This is typically used to run large numbers of dynamic
simulations. The input data files are added to the batch form, and then OrcaFlex performs the simulations using as
many processors are available on the machine.
The next step is to post-process the simulations to extract the desired results. This can also be a time consuming
task and it is very desirable that it be automated. If the post-processing is performed using the OrcaFlex
spreadsheet, then the spreadsheet can also be added to the list of batch form jobs. The post-processing will then be
performed after all the simulation files have been generated. So, if your post-processing uses the OrcaFlex
spreadsheet then it can be integrated into your automation process.
However, if you do not use the OrcaFlex spreadsheet for post-processing, then you need a different mechanism to
integrate your post-processing. Post calculation actions meet that need.
A model can define one or more post calculation actions. The actions can be executed after a static analysis is
completed or after a dynamic analysis is completed. Post calculation actions are executed when you perform a
calculation using batch mode or Distributed OrcaFlex (requires version 5 or later). Post calculation actions can also
be invoked from the OrcaFlex programming interface. Note that post calculation actions are not executed when an
analysis is performed interactively in OrcaFlex.
There are two types of post calculation action: In-process Python actions and Command script actions.
In-process Python actions
This action type takes advantage of the Python interface to OrcaFlex. The script is run inside the OrcaFlex process,
by an embedded Python interpreter. The benefit of using an in-process execution model is that the script has direct
access to the same model that OrcaFlex used to perform the analysis. This is in contrast to the command script
actions which need to start separate processes to execute the script, and then load the model and simulation file into
memory. In fact an in-process Python action is executed before the simulation file is saved.
The action is specified by a script file containing Python code. The script file must use the .py file extension, and
must define a function named Execute which receives a single parameter. The sequence of events that are carried
out around the action's execution is as follows:
1. The OrcaFlex analysis, either statics or dynamics, is performed.
2. The embedded Python engine is loaded into the process.
3. The action's specified script file is imported.
4. The Execute function is called.
5. Control returns to OrcaFlex which then saves the simulation file.
The single parameter that is received by the Execute function can be named whatever you like. But for the sake of
discussion, we adopt the convention of naming it info. The info object defines the following attributes: model,
params, modelDirectory and modelFileName.
The model attribute is an instance of the Model class defined in the OrcFxAPI module. Through this object you can
perform your post-processing in exactly the same way as with a standalone Python script.
System Modelling: Data and Results, General Data
w

218
The params attribute is a string containing the Parameters text specified on the data form.
The other attributes, modelDirectory and modelFileName, provide information about the file on which the
analysis was performed. The modelFileName attribute contains the absolute path of the simulation file. Note that
the simulation file is yet to be saved. You would typically use modelFileName to create the file name for any output
files that your post-processing script saves. For example you might simply change the file extension from .sim to .txt.
The modelDirectory attribute is simply the name of the directory that contains modelFileName. Of course,
modelDirectory could be obtained by simple text processing of modelFileName, but we provide
modelDirectory for the sake of convenience.
Post-processing actions can be quite time-consuming. If you wish to report progress to the user then you can call
model.ReportActionProgress(progressText). OrcaFlex will then display these progress strings in the batch
form's list of jobs. If the action is executing in the context of Distributed OrcaFlex, then the progress text will appear
in the Distributed OrcaFlex viewer's list of jobs.
Command script actions
If your post-processing tool of choice is other than Python, then you must use the command script action type. This
action type executes in a separate process. Whilst this is perhaps somewhat less efficient than the in-process Python
actions, the command script actions are extremely flexible. The sequence of events is a little different for command
script actions:
1. The OrcaFlex analysis, either statics or dynamics, is performed.
2. OrcaFlex saves the simulation file.
3. A new command interpreter (cmd) process is created.
4. The command interpreter executes the commands in the action's script file.
Since the command interpreter cannot perform OrcaFlex post-processing, your script file will typically contain a
command to launch another process that can. For example you may launch a MATLAB process.
Note: Command scripts that invoke MATLAB cannot be used when processing using Distributed OrcaFlex.
Distributed OrcaFlex runs as a Windows service which does not allow interaction with the desktop,
and the MATLAB executable always interacts with the desktop.
The command script has access to the same information that is passed to in-process Python actions. However, for a
command script these values are passed using environment variables with the following names:
PostCalcActionParams, PostCalcActionModelDirectory and PostCalcActionModelFileName.
Progress is reported simply by writing to the standard output device. If your process buffers the standard output
then you will need to flush those buffers in order for the progress to be delivered to OrcaFlex in a timely manner.
Note: MATLAB uses its own console which captures the standard output and standard error output
buffers. Consequently these outputs are not available to OrcaFlex to display.
Data
Each post calculation action is defined by the following data.
Run after
Determines whether the action is run after the static analysis, or after the dynamic analysis.
Note: Command script actions that are scheduled to run after statics are sometimes not executed. If the
overall analysis is a dynamic analysis, then a command script action will not execute after the
statics calculation. The issue is that the static calculation is performed as a pre-requisite step for
the ultimate dynamic analysis, but the simulation file is not saved until the dynamic simulation is
completed. On the other hand, in-process Python actions can run because they are not dependent
on the existence of the simulation file. Typically this issue is not a problem. Commonly a set of
OrcaFlex data files is designed with either static analysis or dynamic analysis in mind. And the post
calculation actions would be configured to run after statics or dynamics respectively. What's more,
both types of action can extract static results when run after a dynamic simulation.
Action Type
Specifies whether the action is an In-process Python action or a Command script action.
Python Version
For in-process Python actions only, this determines which version of Python is used to execute the script.
- If Python 2 is selected then either version 2.6 or 2.7 will be used. If both of these versions are present on your
system, then the most recent, i.e. 2.7 will be used.
w
System Modelling: Data and Results, General Data
219
- If Python 3 is selected then one of version 3.0, 3.1, 3.2 or 3.3 will be used. Again, if more than one of these
versions is present on your system, then the most recent will be used.
Script File Name
The file name of the action script. You can either specify the full path or a relative path.
Parameters
Text that is passed to the action. This text can be used for whatever purposes you like. For example, you could
specify a list of results variables that are to be extracted.
Examples
In order to complement the formal descriptions above, we present concrete examples for each type of post
calculation action. These actions should be assigned to a model that contains a line named Line1.
In-process Python actions
Save the following code to a text file named script.py in the same directory as your OrcaFlex data file.
import os.path

def Execute(info):
line = info.model['Line1']
tension = line.TimeHistory('Effective Tension', objectExtra=OrcFxAPI.oeEndA)
outputFileName = os.path.splitext(info.modelFileName)[0] + '.txt'
with open(outputFileName, 'w') as f:
f.write(line.name + ' End A Effective Tension\n')
for value in tension:
f.write(str(value) + '\n')
Note: You must not explicitly import the OrcFxAPI module in post-calculation action code. This import is
performed implicitly by the host OrcaFlex process. The import needs to be performed by the host
OrcaFlex process to ensure that the imported OrcFxAPI module correctly references the host
OrcaFlex process. The post-calculation action code can access the implicitly imported OrcFxAPI
module in the usual way, as is demonstrated in the above example.
Add a single post calculation action and set its data as follows:

Save the data file and run it via the OrcaFlex batch form. Once the dynamic simulation completes, a text file will be
created containing the Effective Tension time history values for End A of the line.
Command script actions
Save the following code to a text file named PostProcess.m in the same directory as your OrcaFlex data file.
try
modelFileName = getenv('PostCalcActionModelFileName')
model = ofxModel(modelFileName)
line = model('Line1')
tension = line.TimeHistory('Effective Tension', ofx.oeEndA)
[pathstr, name, ext] = fileparts(modelFileName)
outputFileName = fullfile(pathstr, [name '.txt'])
outfile = fopen(outputFileName, 'wt')
fprintf(outfile, '%s End A Effective Tension\n', line.name)
fprintf(outfile, '%f\n', tension)
fclose(outfile)
catch
System Modelling: Data and Results, General Data
w

220
exit(-1)
end
This MATLAB script performs the exact same operation as the Python script above. The script assumes that the
MATLAB interface to OrcaFlex is available. You may need to add it to your global MATLAB path, or include an
addpath statement in the .m file above.
We also need to create a simple command script to call the MATLAB script. Save the following to a text file named
script.bat, again in the same directory as your OrcaFlex data file.
rem Requires that matlab.exe is on the system path.
rem Alternatively, set the PATH variable here:
rem set path=path\to\matlab\bin;%path%
matlab.exe -wait -nodesktop -minimize -r "PostProcess, exit"
Note: If there is no explicit exit command then MATLAB will remain open and not return to OrcaFlex. If
an error occurs within the script then the exit command in the script.bat file will not be reached, so
we need to include trycatch statements around our code to trap an error and exit with an error
code to OrcaFlex.
Add a single post calculation action and set its data as follows:

Save the data file and run it via the OrcaFlex batch form. Once the dynamic simulation completes, a text file will be
created containing the Effective Tension time history values for End A of the line.
Development, debugging and testing
Post calculation actions cannot be invoked interactively. Because of this it can be a little awkward to debug actions.
An effective way to work is to use the Python interface to help. The typical workflow when developing a post
calculation action looks like this:
1. Run dynamic simulation in the batch form. When the simulation completes, the actions are invoked.
2. Look at the output and results of the actions.
3. If the action has worked as intended, development is complete. Otherwise, refine the action and go to step 1.
In an ideal world we would all write perfect code at the first time of asking and never need to go around the above
loop. Of course, the reality is quite different. The big problem with the workflow above is that running the dynamic
simulation can take time. One very simple solution is to add the simulation file to the batch form rather than the
data file. When the batch form processes this it finds that there is no need to do any dynamic simulation and
proceeds immediately to the post calculation actions.
An alternative is to use a short Python script to load the simulation file and then invoke the post calculation actions.
For example:
import sys
import OrcFxAPI

for file in sys.argv[1:]:
model = OrcFxAPI.Model(file)
model.ExecutePostCalculationActions(file, OrcFxAPI.atInProcPython)
Save this script in the same directory as your simulation files and give it an appropriate name, for example
ExecuteActions.py. Now you can execute the script passing the simulation files as arguments:
python ExecuteActions.py SimFile1.sim SimFile2.sim
This approach avoids having to interact with the OrcaFlex batch form. What's more, if you are using a Python
debugger you can step through your post calculation action using that debugger.
w
System Modelling: Data and Results, General Data
221
Debugging MATLAB command scripts
As noted previously, MATLAB does not output to the conventional standard output and error buffers. To capture
error information from a script, the following methods can be used:
1. Run your script in the MATLAB GUI first to test for obvious errors. You will need to change the working
directory of MATLAB to the location of your model and script, and you will need to substitute values for the
environment variables set by OrcaFlex.
2. Modify your scripts to remove the exit commands and run the model in the OrcaFlex batch form. If an error
occurs in your script, the MATLAB console will remain open for you to see the error message.
3. Modify the catch statement in your script to output the error details to a file, for example:
try
your script code...
catch err
errfid = fopen('matlab_error.txt', 'a+')
fprintf(errfid, '%s\n', err.message)
fclose(errfid);
exit(-1)
end
6.4.10 Drawing
Pen
The pen used to draw the global axes, the view axes, the scale bar and the compass in 3D Views.
North direction
If this direction is defined then a compass is drawn on the 3D View. The compass is only drawn for plan views.
The direction is an azimuth direction. So a value of 0 is the positive X direction, a value of 90 is the positive Y
direction etc.
Default View Parameters
These data determine the default view for this model. When a new 3D view window is opened it will start with these
view parameters.
If the Calculated based on the model extent option is selected then the default view is a wire frame view, in
elevation, and sized so that the entire model will be displayed.
If the Specified option is selected then the default view parameters (graphics mode, size, azimuth, elevation and
centre) can be specified directly. Usually this would be specified by first setting up the desired view parameters in a
3D View window and then using the Set as Default View menu item.
6.4.11 Properties Report
The General Data properties report is available from the popup menu on the data form. It reports the following:
Simulation duration including build-up
The sum of the stage durations.
Target log sample interval, Actual log sample interval, Total number of log samples
Target log sample interval is the data item specified on the data form. Actual Sample Interval is the nearest whole
multiple of the inner time step. Total number of log samples equals Simulation duration including build-up / Actual
log sample interval
Log sample frequency
This equals 1 / Actual log sample interval.
Log samples per wave cycle
This is only available when the Wave Data specifies a single regular wave train. It equals Wave Period / Actual log
sample interval.
Estimated simulation file size
An estimate of the simulation file size. For certain models the estimate may be inaccurate. In particular the size of
simulation files for models using vortex tracking and which log vortices are difficult to estimate. This is because the
number of vortices is variable and depends on the simulation.
Log file location(s)
This reports the location of any log files used by an OrcaFlex simulation. Small log files are stored in memory to
improve performance and larger files are stored in your machine's temporary directory.
System Modelling: Data and Results, Environment
w

222
Simulation CPU time, Simulation wall clock time
The time taken to perform the simulation. The CPU time is the sum of CPU times over all CPUs used and the wall
clock time is the real time that elapsed whilst simulating.
6.5 ENVIRONMENT
The environment defines the conditions to which the objects in the model are subjected; it consists of the sea,
current, waves and seabed.

Figure: Environment
As shown above, the environment is defined relative to the global axes. So for example the seabed and the current
and wave directions are specified relative to the global axes.
6.5.1 Sea Data
Sea Surface Z
Specifies the global Z coordinate of the mean (or still) water level.
Kinematic Viscosity
This value is used to calculate Reynolds number. The viscosity can either be a constant or vary with temperature.
Temperature
The temperature of the water can either be constant or vary with depth below the mean water level.
The temperature can affect the kinematic viscosity (if that is specified as varying with temperature), which in turn
affects the Reynolds number. This, in turn, can affect the drag and lift coefficients used for a line.
Reynolds number calculation
Reynolds number, Re, is a measure of the flow regime defined as
Re = VL/
where V and L are velocity and length parameters chosen to characterise the flow, and is the kinematic viscosity of
the fluid. Different values of Re result from different selections of characteristic velocity and length.
OrcaFlex calculates Reynolds number in order to calculate drag and lift coefficients for lines that are specified as
varying with Reynolds number. Accordingly the characteristic velocity is based on the relative flow velocity at a
node, Vr = Vfluid - Vnode and the characteristic length is always related to the normal drag / lift diameter of the node, D.
OrcaFlex offers the following options for characteristic velocity and length:
- Nominal Re, Renom, is defined by setting V = |Vr| and L = D. That is Renom = |Vr|D/.
- Cross Flow Re, Recross, is defined by setting V = |Vn| and L = D where Vn is the component of Vr normal to the
line. If we define to be the angle between the relative flow direction and the normal to the line then we can
write Recross = |Vr|Dcos()/ since |Vn| = |Vr|cos().
Wave Direction
G
Still water
surface
Z
Y
X
Global Axes
Seabed Origin
Datum Current
Direction
Seabed Direction
of Slope
Surface
Z-level
Water
Depth
w
System Modelling: Data and Results, Environment
223
- Flow Direction Re, Reflow, is defined by setting V = |Vr| and L = D/cos(), the length of the line cross section in
the relative flow direction. This gives Reflow = |Vr|D/cos(). Note that the division by cos() means that Reflow
can be arbitrarily large when the relative flow is very near axial, but this does not matter since the normal
component of relative velocity is then very small, so the drag and lift forces are also very small.
These can all be related by the equation Recross/cos() = Renom = Reflowcos(), from which it follows that Recross
Renom Reflow.
Reynolds number is available as a line results variable.
Note: Which method you select for calculating Reynolds number is in many ways arbitrary. The key
factor is that the method chosen matches the data source used for the variable drag and lift
coefficient data. For example, ESDU 80025 provides curves relating drag and lift coefficients to
Reflow. Different data sources may make different choices.
6.5.2 Sea Density Data
Sea Density
The sea density can be constant at all positions in the sea or it can vary with depth and/or horizontal position.
By default the sea density is constant. This is the most common value to use, since in most models the effects of
density variation are not significant. For some systems, however, density variation is important because it causes
buoyancy variation.
Note: Density variation only affects the buoyancy of objects. OrcaFlex does not allow for density
variation when calculating hydrodynamic effects such as drag, added mass, etc. For these effects a
nominal sea density value is used, which is taken to be the density value at the sea density origin.
Vertical Density Variation
Vertical Density Variation specifies whether, and how, the water density varies with depth. The vertical density
variation can be set to Constant, Interpolated or Bulk Modulus.
Constant allows you to specify a single density value that applies at all depths.
Interpolated allows you to specify a density profile as a table giving the density at a series of depth levels. Linear
interpolation is used to obtain the density at intermediate levels, and at levels beyond the ends of the table the
density value at the end of the table is used.
Bulk Modulus specifies that the density varies with depth purely because of the compressibility of the water. You
must specify the water's Surface Density and Bulk Modulus. The water's bulk modulus specifies how a given mass of
water shrinks under pressure, using the same volume formula as for buoys and line types see Bulk Modulus.
OrcaFlex then derives the density variation with depth on the assumption that the water column has the given bulk
modulus and is at uniform temperature and salinity.
A dry land system can be modelled by using Constant density and setting the density to zero.
Horizontal Density Variation
Density variation with horizontal position can also be modelled. This is specified as a dimensionless multiplicative
factor. Where a variation of density with depth has been defined the factor will be applied at all depths.
To neglect density variation with horizontal position this data item should be set to '~'. Using a numeric value (e.g.
0.5) allows you to apply a scaling factor to the vertical density profile.
To model density variation with horizontal position you must define a Horizontal Variation Factor variable data
source. The horizontal variation factor is assumed to be constant in the direction normal to the axis.
Sea Density Origin
As explained above, for all hydrodynamic calculations other than buoyancy OrcaFlex uses a single sea density value.
This is the sea density value at the sea density origin which is defined as follows:
If there is no horizontal density variation then the sea density origin is defined to be (0, 0, Sea Surface Z). Since there
is no variation of density with horizontal position the choice of X and Y coordinates here is arbitrary. Thus, the sea
density value used is the sea density at the still water level.
If there is horizontal density variation then the sea density origin is defined to be (X, Y, Sea Surface Z). Here X and Y
are the origin coordinates for the horizontal variation axis.
6.5.3 Seabed Data
The seabed data divides into two groups:
- Data specifying the shape of the seabed surface.
System Modelling: Data and Results, Environment
w

224
- Data specifying the seabed resistance model that OrcaFlex uses to calculate the forces acting on objects that
contact the seabed.
Seabed Shape Data
Shape Type
Three types of seabed shape are available:
- A Flat seabed is a simple plane, which can be horizontal or sloping.
- A Profiled seabed is one where the shape is specified by a 2D profile in a particular direction. Normal to that
profile direction the seabed is horizontal.
- A 3D seabed allows you to specify a fully general 3D surface for the seabed, by specifying the depth at a series of
X,Y positions, with a choice of linear or cubic polynomial interpolation in between.
Seabed Origin, Depth
The seabed origin is a point on the seabed and it is the origin relative to which the seabed data are specified. It can
be chosen by the user and is specified by giving its coordinates with respect to global axes. For a Flat seabed you can
type in either the seabed origin Z coordinate or the water depth at the seabed origin, and the other of those two
values is updated to match, based on the specified Sea Surface Z. For Profile and 3D seabeds the Z coordinate and
water depth at the seabed origin are displayed but they are not specified directly, since they are determined from
the Z values specified in the profile or 3D geometry data and the specified Sea Surface Z.
Direction
The Seabed Direction is measured positive anti-clockwise from the global X axis when viewed from above (see
Directions). The meaning of this data item depends on the type of seabed in use:
- For a flat seabed the direction specified is the direction of maximum upwards slope. For example, 0 means
sloping upwards in the global X direction and 90 means sloping up in the in the global Y direction.
- For a profile seabed the direction specified is the direction in which the 2D profile is defined.
- For a 3D seabed the direction and the seabed origin together define a frame of reference, relative to which the
seabed data points are specified.
Warning: The depth at the seabed origin is used for all the wave theory calculations, so if the water is shallow
and the depth varies then the seabed origin should normally be chosen to be near the main wave-
sensitive parts of the model.
Flat seabed data
Slope
This is the maximum slope upwards, in degrees above the horizontal. A flat seabed is modelled as a plane passing
through the seabed origin and inclined upwards at this angle in the seabed direction. The model is only applicable to
small slopes. The program will accept slopes of up to 45 but the model becomes increasingly unrealistic as the
slope increases because the bottom current remains horizontal.
Profile seabed data
Profile
The profile table defines the seabed shape in the vertical plane through the seabed origin in the seabed direction.
The shape is specified by giving the either the seabed Z coordinate relative to global axes, or else the Depth, at a
series of points specified by their Distance From Seabed Origin. If a Z coordinate is entered then the Depth is
updated to match, and vice versa. The Distance From Seabed Origin is measured from the seabed origin in the
seabed direction (negative values can be given to indicate points in the opposite direction).
Seabed Z values in between profile points are obtained by interpolation, with a choice of Interpolation Method.
Beyond the ends of the table the seabed is assumed to be horizontal. The seabed is assumed to be horizontal in the
direction normal to the seabed profile direction.
Warning: Linear interpolation can cause difficulties for static and dynamic calculations. If you are having
problems with static convergence or unstable simulations then you should try one of the other
interpolation methods.
Note: You cannot model a true vertical cliff by entering 2 points with identical Distance from Seabed
Origin but different Z coordinate the second point will be ignored. However you can specify a
near-vertical cliff. If you do this, note that to avoid interpolation overshoot you may need to specify
several extra points just either side of the cliff, or else use linear interpolation. See Choosing
Interpolation Method.
w
System Modelling: Data and Results, Environment
225
View Profile
The View Profile button provides a graph of the seabed profile. The specified profile points are shown, together with
the interpolated shape in between profile points. The seabed is horizontal beyond the ends of the graph.
You should check that the interpolated shape is satisfactory, in particular that the interpolation has not introduced
overshoot i.e. where the interpolated seabed is significantly higher or lower than desired. Overshoot can be solved
by adding more profile points in the area concerned and carefully adjusting their coordinates until suitable
interpolation is obtained.
3D seabed data
The 3D seabed is defined by specifying a set of x, y and Z coordinates of the seabed. The x and y coordinates are
given with respect to a right-handed frame of reference with origin at the seabed origin, Z vertically upwards, x-axis
horizontal in the specified seabed direction and y-axis horizontal and normal to that x-direction. The Z coordinate is
specified relative to the global model origin. Note that the Z coordinate can, for convenience, alternatively be
specified as a Depth. (If a depth is entered then the Z coordinate is updated to match, and vice versa.)
The program forms a triangulation of the input data and then uses either Linear or Cubic Polynomial interpolation
methods. We would normally recommend using the cubic polynomial interpolation method. This provides a smooth
interpolation which makes both static and dynamic calculations more stable and robust.
The linear method has been provided for the special case of an analysis where your seabed data consists only of
depth and slope at each line anchor point. The linear interpolation method allows you to build a seabed which is
effectively a number of different flat sloping seabeds for each line.
The minimum edge triangulation angle, , provides a degree of control over the triangulation. Some data sets (for
example concave data sets) can result in strange artifacts around the edges of the data. In this case you may find that
specifying >0 helps. When >0 the program removes any triangles at the edge of the triangulation that have
internal angles less than . On the other hand you may find that specifying >0 results in significant portions of your
seabed being removed. If this is the case then you should set to 0 which results in no edge triangles being
removed.
Note: The seabed generated by OrcaFlex only extends as far as the data specified, and at any horizontal
position outside the area specified the sea is considered to be infinitely deep. So you must specify
seabed data that covers the whole area of seabed that any object in the model might contact.
Seabed Model Data
Two types of seabed model are available, a Linear model and a Non-linear Soil model:
- The Linear model gives a seabed that behaves as a simple linear spring in both the seabed normal direction and
the directions tangential to the seabed plane. The stiffness for the seabed normal direction can be specified
independently of the stiffness for the tangential directions.
- The non-linear soil model gives a more sophisticated model of the seabed resistance in the normal direction,
since it models the non-linear and hysteretic behaviour of seabed soil in the normal direction, including
modelling of suction effects when a penetrating object rises up sufficiently. For the directions tangential to the
seabed plane the non-linear model behaves as a linear spring with user-specified stiffness, as with the linear
model.
The linear model can be tuned to give specified uniform stiffness responses in the normal and tangential directions,
but it is unlikely to give any useful information on embedment.
For information on the suitability of the non-linear soil model see Non-linear Soil Model below.
Linear Model
The Linear model treats the seabed as a simple linear spring in both the seabed normal direction and the seabed
shear directions (i.e. the axial and lateral directions in the seabed tangent plane). This gives a seabed normal
resistance that is proportional to the penetration, and a seabed lateral resistance that is proportional to the lateral
displacement of the contact point (e.g. a node on a line) from its undisturbed position. The linear spring stiffnesses
in the normal and lateral directions can be different.
When explicit integration is used, the Linear model also includes linear dampers in the normal and lateral
directions, which give an extra damping resistance that is proportional to the rate of penetration (for the normal
direction) or the rate of lateral movement (for the lateral directions). The linear damper in the normal direction
only acts when penetration is increasing, not when penetration is reducing, so the model does not model any suction
effect. Also, note that there is no seabed damping contribution when implicit integration is used.
System Modelling: Data and Results, Environment
w

226
Linear Model Data
The Normal Seabed Stiffness is the constant of proportionality of the spring force in the seabed outward normal
direction. The stiffness equals the spring reaction force, per unit area of contact, per unit depth of penetration. A
high value models a surface such as rock; a low value models a soft surface such as mud.
The Shear Seabed Stiffness is used by the friction calculation. A value of '~' results in the Normal Seabed Stiffness
being used. A value of 0 disables friction.
The Seabed Damping is the constant of proportionality of the damping force, and is a percentage of critical
damping. Seabed damping is always zero when using the implicit integration scheme.
Warning: If you use the explicit integration scheme then note that a high seabed stiffness will shorten the
natural periods of parts of the system lying on it, and this may require the use of a smaller
simulation time step. Beware that the shorter natural periods will not be reported in the statics
results table if touchdown only occurs during the simulation.
See Linear Seabed Model Theory for details of how these data are used to model the seabed reaction force.
Non-linear Soil Model
The non-linear soil model has been developed in collaboration with Prof. Mark Randolph FRS (Centre for Offshore
Foundation Systems, University of Western Australia). It is a development from earlier models that proposed and
used a hyperbolic secant stiffness formulation, such as those proposed by Bridge et al and Aubeny et al, and is
documented in Randolph and Quiggin (2009).
The non-linear soil model is more sophisticated than the Linear model. It models the non-linear and hysteretic
behaviour of seabed soil in the normal direction, including modelling of suction effects when a penetrating object
rises up sufficiently. The non-linear modelling only applies to the seabed normal direction. In the seabed lateral
directions the seabed is modelled in the same way as described above for the Linear model.
Note: The non-linear soil model is currently experimental and we are working on comparing the model
against experimental results for seabed contact. Please contact Orcina if you have any feedback
and comments on the model or ideas for improvement.
The non-linear soil model is suited to modelling soft clays and silty clays, and it is particularly relevant for cases
(such as typical deep water seabeds) where the mudline undrained shear strength is only a few kPa or less and the
seabed stiffness response to catenary line contact is dominated by plastic penetration rather than elastic response.
Note that the non-linear model is not suitable for caprock conditions, and is not suitable for modelling sand without
very careful choice of soil data and model parameters to reflect sand response.
For further details see Non-linear Soil Model Data, Seabed Theory and Non-linear Soil Model Theory.
Note: For dynamic analysis using implicit integration you might find that you need to use a shorter time
step with the non-linear soil model than with the Linear model.
Non-linear Soil Model Data
The data for the non-linear soil model divides into three groups:
Soil Properties
These specify the undrained shear strength and saturated density of the seabed soil. They should be obtained from
geotechnical survey of the site.
The shear strength is specified by giving the undrained Shear Strength at Mudline, su0, and the undrained Shear
Strength Gradient, . The undrained shear strength at any given penetration distance z is then taken to be
su(z) = su0 + .z.
The Saturated Soil Density specifies the density of the seabed soil when fully saturated with sea water. It is used by
the non-linear seabed model to model the extra buoyancy effect that arises when a penetrating object displaces
seabed soil. See Soil Extra Buoyancy Force for details.
Site-specific data should be used. Typical saturated soil densities are in the range 1.4 to 1.6 te/m
3
. Typical deep
water sediments have essentially negligible undrained shear strength at mudline (0 to 5 kPa) and an undrained
shear strength gradient of 1.3 to 2 kPa/m. For shallow water the seabed soils are typically stronger than in deep
water.
Shear Stiffness and Damping
These specify the strength of the lateral linear spring+damper that is used to model the lateral resistance. These
data are the same as those described above for the linear model. The lateral damper is only used for explicit
integration; for implicit integration the lateral damper strength is zero.
w
System Modelling: Data and Results, Environment
227
The shear stiffness can be specified as '~', in which case a default shear stiffness value is used, and this is based on
the specified soil shear strength properties. This default shear stiffnes used is equal to 20/D times the soil undrained
shear strength at a penetration depth of z = D, where D is the contact diameter of the penetrating object, so it is
given by:
Default Shear Stiffness = (20/D)[su0 + (D)]
Seabed Soil Model Parameters
These appear on a separate page on the Environment data form. They are non-dimensional parameters that control
how the seabed soil is modelled. See Soil Model Parameters.
See Non-linear Soil Model Theory for details of how these data are used to model the seabed reaction force.
6.5.4 Wave Data
Number of Wave Trains
You can define a number of different wave trains and the overall sea conditions are the superposition of the wave
trains. In most cases a single wave train is sufficient, but multiple wave trains can be used for more complex cases,
such as a crossing sea (i.e. a superposition of locally generated waves in one direction and distant storm-generated
swell in a different direction).
Each wave train can be given a name and a specified direction. A wave train can be one of the following: a regular
wave (with a choice of wave theory), a random wave (with a choice of spectrum), specified by a time history file or
specified explicitly by a list of components.
Simulation Time Origin
The simulation time origin allows you to control the period of time that the dynamic simulation covers. It defines the
global time that corresponds to simulation time t = 0, so changing the simulation time origin allows you to shift the
period of global time that is simulated. Altering the simulation time origin shifts the simulation time relative to all of
the wave trains; alternatively, you can also time shift an individual wave train by altering its wave time origin. See
Dynamic Analysis for details of the time frames used in OrcaFlex.
Data for a Wave Train
Each wave train is specified by the following data.
Wave Direction
For both regular and random waves, this is the direction that the wave is progressing, measured positive anti-
clockwise from the global X-axis when viewed from above. So, for example, 0 degrees means a wave travelling in the
positive X-direction, and 90 means a wave travelling in the positive Y-direction.
If you are using a directional spreading spectrum then the wave direction is taken to be the principal direction.
With multiple wave trains the direction of the first wave train is taken to be the primary direction and this is
reflected in both the way the sea is drawn and the Sea Axes.
Wave Type
Each wave train can be any of the following types:
- Airy, Dean, Stokes' 5th or Cnoidal. These are various different wave theories for regular waves. See Data for
Regular Waves.
- JONSWAP, ISSC (also known as Bretschneider or modified Pierson-Moskowitz), Ochi-Hubble, Torsethaugen,
Gaussian Swell or User Defined Spectrum. These are various different spectra for random waves.
- Time History allows you to specify the wave in the form of a time history input file. See Data for Time History
Waves.
- User Specified Components allows you to specify the wave train as the sum of a number of sinusoidal
components. This wave type gives you complete control over the wave train and would typically be used to
compare OrcaFlex results with results produced by a different program. See Data for User Specified
Components.
- Response Calculation is a special type of random wave with a truncated white noise spectrum which is used
for Spectral Response Analysis. A truncated white noise spectrum has energy spread evenly over a user-
specified range of frequencies. See Data for Response Calculation.
For regular waves we recommend the Dean wave this is a non-linear wave theory using a Fourier approximation
method and it is suitable for all regular waves. The Airy wave theory is a simple linear wave theory that is only
suitable for small waves. The Cnoidal wave theory is only suitable for long waves in shallow water. The Stokes' 5th
wave theory is only suitable for short waves in deep water.
System Modelling: Data and Results, Environment
w

228
If the specified wave is not suitable for the selected wave theory, OrcaFlex will give a warning or may report that the
wave calculation has failed. If this happens please check that the wave theory selected is suitable. For further details
see Ranges of Applicability.
Kinematic Stretching Method
Kinematic stretching is the process of extending linear Airy wave theory to provide predictions of fluid velocity and
acceleration (kinematics) at points above the mean water level. OrcaFlex offers a choice of three methods: Vertical
Stretching, Wheeler Stretching and Extrapolation Stretching. For details see Kinematic Stretching Theory.
Note: Random waves are modelled by combining a number of linear Airy waves, so kinematic stretching
also applies to random waves.
The Horizontal Velocity preview graph can be used to see the effect of the different kinematic stretching methods.
Wave Origin and Wave Time Origin
Each wave train has its own spatial origin and time origin. The spatial origin is specified relative to the global origin
and the time origin is specified relative to the global time origin.
The wave train's data specify the wave train relative to its own origins, so you can shift a given wave train in space
or time, independently of the other wave trains, by adjusting its origins.
For a regular wave train the wave time origin is the time at which a wave crest passes the wave origin. You can
therefore use the origins to arrange that a wave crest passes a particular point at a particular time during the
simulation.
For a random wave train, the phases of the wave components that make up the wave train are randomly distributed,
but they are fixed relative to the wave time origin. You can therefore arrange that the simulation covers a different
piece of the random wave train by changing the wave time origin. This can be useful for two purposes:
- You may want to select a particularly significant event in the wave train, such as a large wave. OrcaFlex has
special facilities to make this easy see Wave Preview.
- Secondly, you may want to do a series of runs with the same wave train data but different random phases for
the wave components. This can be done by specifying randomly chosen wave time origins for the different runs,
since randomly selecting different periods of the wave train is statistically equivalent to choosing different
random phases for the wave components.
6.5.5 Data for Regular Waves
A regular wave is a single wave component defined by wave Direction, Height and Period. Wave height is
measured from trough to crest.
Stream Function Order
For the Dean wave theory only, you can set the order of stream function to be used. For most waves the default
value will suffice. However, for nearly breaking waves the method sometimes has problems converging. If this is the
case then it might be worth experimenting with different values.
6.5.6 Data for Random Waves
Random waves are specified by giving the energy spectrum of the random sea. The Wave Type specifies the type of
spectrum and the spectral data then define the actual spectrum within that type. See:
- JONSWAP and ISSC Spectra,
- Ochi-Hubble Spectrum,
- Torsethaugen Spectrum,
- Gaussian Swell,
- User-Defined Spectrum.
For a given spectrum, sea state and simulation time origin, different wave conditions can be obtained by shifting the
wave time origin. For more information, see Setting up a Random Sea.
Number of wave directions and Spreading exponent
These data allow you to model a directional spread spectrum. You specify the number of discrete wave directions to
be used together with an exponent for the spreading function. If the number of wave directions is set to 1 then no
spreading is applied.
OrcaFlex uses a cos
n
spreading function where n is the specified spreading exponent. Full details are given in the
wave theory topic.
w
System Modelling: Data and Results, Environment
229
Number of Components and Seed
Random wave trains are represented by a user-defined number of component waves whose amplitudes and periods
are selected by the program to give a sea state having the specified spectrum. If a maximum component frequency
range is specified then the actual number of components can be greater than the number of components specified
here.
If you are using a directional spreading spectrum then you specify the number of wave components per direction.
Otherwise you specify the total number of wave components for the wave train.
The phases associated with each wave component are pseudo-random. OrcaFlex uses a random number generator
and the user-defined seed to assign phases. The sequence is repeatable, so the same seed will always give the same
phases and consequently the same train of waves.
If User specified seeds is checked then the user must specify a seed for each wave train. Otherwise the program
chooses a seed automatically.
Spectrum discretisation method
Allows control over the spectral discretisation algorithm. This data item is provided purely for reasons of backwards
compatibility. It allows you to reproduce sea-state realisations generated by earlier versions of the program.
We recommend that all new analyses use the 9.5d option.
- If the Legacy option is selected then the program reverts to the algorithm used in versions 9.2 and earlier. The
minimum and maximum relative frequency are hard-coded to 0.5 and 10.0, respectively and no maximum
component frequency range is applied.
- The 9.3a option allows minimum and maximum relative frequencies, and the maximum component frequency
range, to be specified by the user.
- The 9.5d option differs from the 9.3a option in its handling of double peaked spectra. The 9.5d option
discretises the spectrum taking into account both spectral peaks. The minimum relative frequency is relative to
the spectral peak with lower frequency. The maximum relative frequency is relative to the spectral peak with
larger frequency.
Minimum and maximum relative frequency (rmin, rmax)
These data determine the range of frequencies considered by the spectral discretisation algorithm. The default
values of rmin = 0.5 and rmax = 10.0 are usually sufficient to produce a good representation of the spectrum.
Maximum component frequency range (fmax)
This maximum component frequency range places an upper limit on the width of the frequency range represented
by each wave component. Each wave component is constrained to cover a frequency range no greater than fmax.
This data item is provided because the equal energy discretisation algorithm used by OrcaFlex can result in some
wave components (e.g. those in the low and high frequency tails of the spectrum where the spectral density is low)
covering a wide frequency range. Such wave components can result in poor modelling of system responses, since
the spectral energy represented by the component is concentrated at a single frequency. This might over-excite a
system response, if the component's frequency very closely matches a system response frequency, or fail to excite
an important system response, if the component's frequency is well away from the system response frequency even
though that frequency is within the frequency band modelled by the component.
This data item can be used to avoid such problems, and we recommend that you do limit the frequency range. If any
of the wave components generated by the equal energy discretisation algorithm covers a frequency range wider
than the specified maximum component frequency range, then that component is subdivided into multiple
components (which now have lower energy each) until all the components satisfy the specified maximum frequency
range. A value of '~' means that the component frequency ranges are not limited in this way.
Spectrum graphs and tables
The View Frequency Spectrum button produces a graph of energy spectrum. If you are using a directional
spreading function then you can plot it using the View Direction Spectrum button.
The View Wave Components button outputs a spreadsheet giving details of the wave components that OrcaFlex
has used to represent a random or time history wave train.
For a random wave train the spreadsheet also reports the following properties of the spectrum:
- Spectral moments m0, m1, , m4.
- Spectral bandwidth parameter = {1 - m2
2
/(m0m4)}

.
- Mean period T1 = m0/m1. Note that T1 is sometimes denoted by Tm.
System Modelling: Data and Results, Environment
w

230
- Peak period and frequency Tp and fm. These are the period and frequency at which the spectrum has the greatest
spectral density.
Spectral Moments
The i
th
spectral moment, mi, of a process with spectrum S(f) is defined to be
mi = 0

S(f)f
i
df
where frequency f is defined as f = 1/T for corresponding period T. In other words this is the temporal frequency
and not the angular frequency.
6.5.7 Data for JONSWAP and ISSC Spectra
For the ISSC spectrum you specify Hs and Tz (or alternatively the linked parameters Tp or fm) and the program
calculates the other spectral parameters.
For the JONSWAP spectrum you have the following options for setting the spectral parameters:
- Automatic: You specify Hs and Tz and the program calculates the other parameters.
- Partially Specified: You specify Hs, Tz (or alternatively the linked parameters Tp or fm) and and the program
calculates the other parameters.
- Fully Specified: You specify all the spectral parameters (, , 1, 2 and Tp or fm) and the program calculates and
reports Hs and Tz.
The various spectral parameters are documented below:
Hs, Tz, fm, Tp
Hs is the significant wave height. Tz is the zero crossing period. Tp and fm (=1/Tp) are the spectral peak period and
peak frequency, i.e. those with largest spectral energy.
For the ISSC spectrum Tz, Tp and fm are tied together, so setting any one of them sets the other two to match.
For the JONSWAP spectrum how these data are used depends on the selected parameter option:
- For Automatic parameters you set Hs and Tz and the program calculates and reports Tp and fm.
- For Partially Specified parameters Tz, Tp and fm are tied together, so setting any one of them sets the other two
to match. You must also set Hs.
- For Fully Specified parameters Tp and fm are tied together, so setting one of them sets the other to match. The
program calculates and reports Hs and Tz.
Peak enhancement factor ()
For the ISSC spectrum is always 1.
For the JONSWAP spectrum is automatically calculated by the program using formulae given by Isherwood, 1987 if
the parameters are calculated using the Automatic option. Otherwise you can specify the value.
For Partially Specified parameters you must be careful about the order in which you set parameters. The
relationship between Tz, Tp and fm depends on . We treat Tz as the master data item which means that you must set
before setting Tp or fm.
Spectral width parameters (1, 2)
These only apply to the JONSWAP spectrum. If the parameters are calculated using the Fully Specified option you
can specify these values. Otherwise they are fixed at the standard values of 0.07 and 0.09 respectively.
Spectral energy parameter ()
For the ISSC spectrum is calculated by the program to give a sea state with the specified Hs and Tz.
For the JONSWAP spectrum if the parameters are calculated using the Fully Specified option you can specify and
the program reports the corresponding Hs. Otherwise is calculated by the program to give a sea state with the
specified Hs and Tz.
6.5.8 Data for Ochi-Hubble Spectrum
The Ochi-Hubble formulation allows 2-peaked spectra to be set up, enabling you to represent sea states that include
both a remotely generated swell and local wind-generated waves.
Hs and Tz
Hs is the significant wave height and Tz is the zero crossing period. Their values depend on whether you specify Auto
or User.
Auto: In this case Hs is specified by the user and the program selects the most probable spectral parameters for that
value of Hs. The resulting Tz is then derived and displayed, but cannot be edited.
w
System Modelling: Data and Results, Environment
231
User: In this case the user specifies the spectral parameters explicitly. The resulting Hs and Tz values are displayed,
but neither can be edited.
Hs1, fm1, 1, Hs2, fm2 and 2
The Ochi-Hubble spectrum is the sum of 2 component spectra, each of which is specified by a set of three
parameters: Hs1, fm1, 1 for the lower frequency component and Hs2, fm2, 2 for the higher frequency component.
Parameters Hs1 and Hs2 are the significant wave heights of the component spectra; the overall significant wave
height Hs = (Hs1
2
+ Hs2
2
)

. Parameters fm1 and fm2 are the modal frequencies of the two components. Finally, 1 and 2
are shape parameters that control the extent to which the spectral energy is concentrated around the modal
frequency larger values give more concentrated component spectra.
You can specify these spectra parameters in two alternative ways:
If you select Automatic the program calculates the parameters of the most probable spectrum, based on the overall
significant wave height Hs that you have specified. The parameters used are as given in the Ochi-Hubble paper, table
2b.
If you select Specified you must specify all 6 parameters. The program then derives and displays the corresponding
overall Hs and Tz values.
Notes: The modal frequency of the first component, fm1, must be less than that of the second, fm2. It is also
recommended that fm2 is greater than 0.096.
The significant wave height of the first component, Hs1, should normally be greater than that of the
second, Hs2, since most of the wave energy tends to be associated with the lower frequency
component.
Warning: The Ochi-Hubble spectrum makes no allowance for the directionality of the swell and wind
components of the sea state. In reality the separate components frequently come from different
directions. However, an OrcaFlex wave train has a single principal direction. Because of this it is
more appropriate to model a two-peaked sea state using two separate OrcaFlex wave trains, one
for the swell component and one for the local wind generated component.
6.5.9 Data for Torsethaugen Spectrum
The Torsethaugen spectrum is a double peaked spectrum best suited to North Sea conditions. It enables you to
represent sea states that include both a remotely generated swell and local wind-generated waves.
Full details of the formulation used are found in the Torsethaugen and Haver paper.
Hs, fm and Tp
The Torsethaugen spectrum is specified by Hs and Tp. The fm and Tp data items are linked by the relationship fm =
1/Tp. If you enter one the other will be updated according to this equality.
fm1 and fm2
The frequencies for the primary and secondary spectral peaks. For wind dominated sea states, fm1 = fm and fm1 > fm2.
For swell dominated sea states, fm2 = fm and fm1 < fm2.
Warning: The Torsethaugen spectrum makes no allowance for the directionality of the swell and wind
components of the sea state. In reality the separate components frequently come from different
directions. However, an OrcaFlex wave train has a single principal direction. Because of this it is
often more appropriate to model a two-peaked sea state using two separate OrcaFlex wave trains,
one for the swell component and one for the local wind generated component.
6.5.10 Data for Gaussian Swell Spectrum
The Gaussian Swell spectrum is typically used to model long period swell seas.
Hs, fm, Tp and
The Gaussian Swell spectrum is specified by Hs, fm and . The fm and Tp data items are linked by the relationship fm =
1/Tp. If you enter one the other will be updated according to this equality.
6.5.11 Data for User Defined Spectrum
A user defined spectrum is specified by giving a table of values of S(f), where S(f) is the spectral energy as a function
of frequency f.
The values of f specified do not need to be equally spaced. For intermediate values of f (i.e. between those specified
in the table) OrcaFlex uses linear interpolation to obtain the spectral ordinate S(f). And for values of f outside the
range specified in the table OrcaFlex assumes that S(f) is zero. Your table should therefore include enough points to
System Modelling: Data and Results, Environment
w

232
adequately define the shape you want (important where S(f) is large or has high curvature) and should cover the full
range over which the spectrum has significant energy.
OrcaFlex reports on the data form Hs and Tz that correspond to the spectrum specified. These are calculated using
the standard formulae:
Hs = 4m0

.
Tz = (m0/m2)

.
where m0 and m2 are the zeroth and second spectral moments.
6.5.12 Data for Time History Waves
A time history wave train is defined by a separate text file that contains the wave elevation as a function of time. To
use this you need to do the following:
- Create a suitable time history text file defining the wave elevation as a function of time. The time values in the
file must be equally spaced and in seconds. The elevation values must be the elevation at the specified Wave
Origin, measured positive upwards from the still water level specified in the OrcaFlex model, and using the
same units as those in the OrcaFlex model.
- Setup the time history data as described in Data in Time History Files.
- Set the Wave Time Origin to position the required section of wave time history within the simulation period.
You can use the View Profile button (on the Waves Preview page on the environment data form) to see the wave
elevation as a function of simulation time.
- Set the Minimum Number of Components. This affects the number of Fourier components that will be used to
model the time history wave. It should be set high enough to give desired accuracy, but note that using a very
large number of components may significantly slow the simulation. More details are given below.
How Wave Time History Data are Used
Briefly, OrcaFlex uses a Fast Fourier Transform (FFT) to transform the data into a number of frequency components.
Each component is then used to define a single Airy wave and these Airy waves are then combined to give the wave
elevation and kinematics at all points. The View Wave Components and View Spectrum buttons on the data form
show (in tabular and power spectral density graph form respectively) the Airy wave components that OrcaFlex will
use to model the waves.
Note that the FFT requires the number of samples it uses from the time history file, N say, to be a power of 2, and it
produces N/2 components. Because of this, the time history file must contain a sequence of N samples that covers
the period of the simulation, where N is a power of 2 that is at least twice the specified minimum number of
components.
Warning: If the time history file does not contain enough samples to achieve this, then zero-padding will be
used to extend the time history until it does. This is likely to introduce spurious high frequencies
into the waves, so we recommend that this is avoided by providing more actual samples.
Here are more details.
1. OrcaFlex first selects the elevation values that cover the simulation period
To do this OrcaFlex searches the time history file and selects the time samples that cover the simulation period.
These will be the time samples from time
(T0 - BuildUpDuration) to (T0 + SimulationDuration)
where BuildUpDuration is the length of the build-up stage of the simulation, SimulationDuration is the length of the
remaining stages and T0 = SimulationTimeOrigin - WaveTimeOrigin. These time origin settings allow you, if you
want, to shift the simulation relative to the time history.
2. OrcaFlex then includes more samples, if necessary
Let n be the number of samples selected in step 1. In order to achieve the specified minimum number of
components, m say, OrcaFlex needs at least 2m samples. So if n is less than 2m then OrcaFlex selects more samples
from the file (taken equally from earlier and later in the file, if possible) until it has 2m samples. If OrcaFlex runs out
of samples in the file while doing this then an error message is given; you must then either provide more samples in
the time history file or else reduce the minimum number of components requested.
However OrcaFlex also needs the number of samples to be a power of 2, since that is needed in order to use a fast
Fourier transform. So if 2m is not a power of 2 then OrcaFlex again selects more samples from the file (taken equally
from earlier and later in the file, if possible) until the number of selected samples is a power of 2. If OrcaFlex runs
out of samples in the file while doing this then it zero-pads (i.e. it adds extra samples of value zero); you will be
warned if this happens.
w
System Modelling: Data and Results, Environment
233
3. OrcaFlex uses a fast Fourier transform to obtain Fourier components
The selected time history samples, N of them say, are converted into frequency domain form using a Fast
FourierTransform (FFT). This gives N/2 sinusoidal Fourier components. The View Wave Components button
reports their numerical values and the View Spectrum shows their spectrum.
4. OrcaFlex models the time history wave as the superposition of Airy waves
N/2 Airy waves are created, with periods, amplitudes and phases that match the Fourier components. The time
history wave is then modelled as the superposition of these Airy waves.
Warning: This last step effectively uses Airy wave theory to extrapolate from the Wave Origin, where the
surface elevation has been defined, to derive surface elevation at other points and to derive fluid
kinematics from the surface elevation readings. This extrapolation introduces errors, which
become worse the further you go from the Wave Origin. It is therefore recommended that the Wave
Origin (= the point the time history file data applies to) is placed close to the main wave-sensitive
parts of the model.
6.5.13 Data for User Specified Components
The User Specified Components wave type allows you to specify the wave train as the sum of a number of
sinusoidal components. For each component you specify:
Frequency or Period
You may specify either of these and the other is automatically updated using the relationship Period = 1 /
Frequency.
Amplitude
The single amplitude of the component that is half the peak to trough height.
Phase lag
The phase lag relative to the wave train time origin.
6.5.14 Data for Response Calculation
Hs
The significant wave height of the truncated white noise spectrum used for the Spectral Response Analysis. A
truncated white noise spectrum has energy spread evenly over the a specified range of frequencies.
The total energy of the spectrum is determined by Hs using the standard formula m0 = (Hs/4)
2
where m0 is the
zeroth spectral moment, that is the total spectral energy. OrcaFlex also reports Tz = (m0/m2)

.
A more detailed discussion of the issues involved in choosing Hs is given in Load Cases Data for Spectral Analysis.
Target Frequency Range
These data items determine the frequency range of the truncated white noise spectrum used for the Spectral
Response Analysis.
The wave components that OrcaFlex uses to represent this spectrum are carefully chosen. They are selected to
match the frequencies produced by the Fast Fourier Transform(FFT) used to calculate the spectral response. This
process is described in more detail in the Spectral Response Analysis theory section.
It is possible for the range of FFT frequencies not to cover the Target Frequency Range. If this happens then as much
of the target range is used as is possible. You will be warned if the actual frequency range cannot achieve the Target
Frequency Range.
6.5.15 Waves Preview
When using a random wave or a time history wave, OrcaFlex provides two preview facilities to aid selection of the
wave, namely List Events and View Profile. These are provided on the Waves Preview page on the environment data
form and are documented below.
Notes: These commands work in terms of global time, rather than simulation time. This enables you to
search through a period of global time looking for an interesting wave event and then set the time
origins so that the simulation covers that event.
If you are using multiple wave trains then these commands report the combined sea state from all
of the wave trains.
See also Setting up a Random Sea.
System Modelling: Data and Results, Environment
w

234
Position
This is the point to which the List Events, View Profile and Horizontal Velocity commands apply. Since wave trains
vary in space as well as time you should normally set this point to be close to a system point of interest, such as a
riser top end position.
View Profile
This plots a time history of wave elevation at the specified Position over the specified interval of global time.
An example of the use of these commands is to use List Events to scan over a long period of global time (e.g. 10000
seconds or more), look for large waves and then use View Profile to look in more detail at short sections of interest.
Having decided which part of the wave train to use, the simulation time origin can then be set to just before the
period of interest, so that the simulation covers that period.
List Events
This command searches for individual waves within a random sea which satisfy specified criteria. All wave events in
the specified interval of global time and at the specified Position which match the specified criteria are reported.
The criteria are be specified in one of two ways, determined by the Wave Search Method:
- If the Height or Steepness option is selected then program searches for rises or falls that exceed the specified
height H, or (providing the sea state is uni-directional) that the wave steepness exceeds the specified steepness
S. The steepness criterion S is only used for uni-directional sea states because steepness is measured in the
wave direction and so is only meaningful if all wave components are in the same direction.
- If the Height or Period option is selected then the program searches for wave events matching (up to specified
tolerance levels) both the specified wave height H and the specified wave period T.
For each event, the height (total rise or fall) is given and an equivalent period is derived from the time interval
between the peak and trough. These are then used to calculate, for this water depth, an Airy wave of the same height
and period, and the length and steepness of this equivalent Airy wave are given.
If there is only one wave train then, for comparison purposes, a reference wave is reported at the top of the table.
This reports the Airy wave whose height and period match the Hs and Tz of that single wave train.
Finally, various wave elevation statistics are reported for the position and period of time specified. These include
the largest rise and fall, the highest crest and lowest trough, the number of up and down zero-crossings and the
sample's estimated Hs and Tz values. These statistics enable you to measure how "typical" this wave elevation
sample is, compared with the overall parent spectrum.
Horizontal Velocity
This plots how the water horizontal velocity (due to current and waves) varies with depth, at the specified (X,Y)
Position and specified global time.
6.5.16 Modelling Design Waves
Design wave heights and periods are commonly provided as a design input, but this is not always so, and the data
are sometimes incomplete or in a different form from that required for OrcaFlex. For a comprehensive discussion,
see Tucker (1991) on which the following notes are based.
Maximum Storm
In the absence of measured wave data, the maximum storm can be estimated from wind statistics on the assumption
that the waves are generated by the local winds. The governing parameters are fetch (i.e. the length of open water
over which the wind blows), wind speed and duration. Significant waveheight, Hs, and average zero up-crossing
period, Tz, can then be estimated from equations given by Carter (1982):
Fetch-limited
Hs = 0.0163UX
Tz = 0.439U
0.4
X
0.3

Duration-limited
Hs = 0.0146(D
5
/7)(U
9
/7)
Tz = 0.419(D
3
/7)(U
4
/7)
where X is fetch in km, U is wind speed in m/s at 10m above mean sea level, and D is duration in hours.
Maximum Individual Wave Height
Expected maximum waveheight Hmax, occurring in time T in a storm of significant wave height Hs, average zero
crossing period Tz is
w
System Modelling: Data and Results, Environment
235
Hmax = kHs[ln(N)]

, where N = T/Tz
Most wave statistics are based on measurements taken at 3 hour intervals so T should generally not be greater than
10800s. The factor k provides for the fact that the highest wave crest and deepest trough in any given storm do not
in general occur together. The maximum crest-to-trough waveheight is generally less than the sum of the maximum
crest elevation plus maximum trough depth. Tucker recommends k = 0.9 for the maximum wave; k = 1.0 for more
frequent waves (fatigue waves).
Period of the Maximum Wave
The period associated with the maximum wave Tass, can take a range of values. Tucker recommends
1.05Tz < Tass < 1.40Tz.
The spectral peak period Tp is sometimes specified rather than Tz.
For the ISSC spectrum
Tp = 1.41Tz.
For the JONSWAP spectrum, the factor varies with the peak enhancement factor . The OrcaFlex random wave data
form reports Tp and the spectral peak frequency fm = 1/Tp.
For the mean JONSWAP spectrum, = 3.3 and
Tp = 1.29Tz
Wave Conditions for Short Term Operations
For operations lasting from a few hours to a few days, different criteria apply. A typical requirement is to determine
the maximum seastate in which a given operation can safely take place. Whilst the complete operation may take
many hours or even days, critical parts such as landing an item of equipment on the seabed may only take a few
minutes. It would be too conservative to apply 3 hour maximum conditions in such a case.
The question comes down to a balance of cost against risk. The overall risk of failure must be small enough to be
acceptable (how small 1%, 0.01%?), but the cost rises disproportionately as the level of acceptable risk is reduced.
The risk of encountering a large wave is only one of many elements to be considered in assessing overall risk. This is
a big subject which is rarely addressed rigorously.
There is a need here for some feedback from practical experience to determine what is in practice acceptable and
what is not. Hindcasting of operations which took place successfully in what were judged to be marginal conditions,
and of operations which were not successful because of weather conditions could provide a calibrated basis for
analysis of future operations. We don't know anyone who has done this until they do, we are left with subjective
judgement, i.e. we guess.
A common guess is to combine the significant wave (a regular wave of height Hs, period Tz or Tp according to
preference) for the assumed seastate with a maximum tidal current, applying both waves and current from the
worst direction. This has no objective basis, but is plausible.
Recommendations
1. Use regular waves for preliminary work. Regular waves are easier to set up, quicker to run, and easier to
understand. For regular wave analysis we recommend that you use the Dean stream function theory.
2. If random sea analysis is required, determine the heights and period ranges for the maximum design waves as
above, then generate suitable wave trains incorporating these waves following the procedures detailed in
Setting up a Random Sea.
3. For analysis of permanent systems (e.g. flexible risers) use expected maximum wave height with the
appropriate return period (commonly 50 or 100 years return period for 5 to 20 year field life) and a range of
associated wave periods. If field specific data are not available, use the period range recommended by Tucker.
6.5.17 Setting up a Random Sea
This section gives information on how to set up a random sea using OrcaFlex's modelling facilities. For a detailed
description of these, see Wave Data.
The most common requirement is to produce a realistic wave train which includes a "design wave" of specified
height Hmax and period Tmax. However alternative requirements are possible and it is sometimes useful to impose
additional conditions for convenience in results presentation, etc.
The height and period of the maximum design wave may be specified by the client, but on occasion we have to
derive the appropriate values ourselves, either from other wave statistics (for example a wave scatter table, giving
significant wave heights Hs and average periods Tz) or from a more general description of weather (such as wind
speed).
System Modelling: Data and Results, Environment
w

236
Having decided what values of Hmax and Tmax are required, we select an appropriate wave train as follows, using the
facilities available in OrcaFlex.
- Set the significant wave height (Hs) and average period (Tz) for the design storm, and the wave spectrum ISSC,
JONSWAP, Ochi-Hubble, Torsethaugen and Gaussian Swell options are available.
- Set the number of wave components (typically 100).
- Search through the time history of wave height and looking for a particular wave rise (trough to crest) or fall
(crest to trough) which has the required total height and period. If no wave of the required characteristics can
be found, then adjust Hs and Tz slightly and repeat.
- When the required design wave has been located, you can set the simulation time origin and duration so that
the design wave occurs within the simulation time, with sufficient time before and after to avoid starting
transients and collect all important responses of the system to the design wave. A typical random sea simulation
may represent 5 or 6 average wave periods (say 60-70 seconds for a design storm in the North Sea) plus a build
up period of 10 seconds. If the system is widely dispersed in the wave direction, then the simulation may have
to be longer to allow time for the principal wave group to pass through the whole system. Since short waves
travel more slowly than long ones, this affects simulations of mild sea states more than severe seas.
Setting the Sea State Data
The ISSC spectrum (also known as Bretschneider or modified Pierson-Moskowitz) is appropriate for fully-developed
seas in the open ocean. The JONSWAP spectrum is a variant of the ISSC spectrum in which a "peak enhancement
factor", , is applied to give a greater concentration of energy in the mid-band of frequencies. The Ochi-Hubbleand
Torsethaugen spectra enable you to represent sea states that include both a remotely generated swell and a local
wind generated sea.
JONSWAP is commonly specified for the North Sea. Two parameters are sufficient to define an ISSC spectrum we
use Hs and Tz for convenience. For the JONSWAP spectrum, five parameters are required, Hs, Tz, , and two
additional parameters a and b (denoted 1 and 2 in OrcaFlex), which define the bandwidth over which the peak
enhancement is applied. If you choose JONSWAP then you can either specify or let the program calculate it (see
formulae given by Isherwood). The bandwidth parameters are set automatically to standard values). For the North
Sea it is common to set = 3.3. If you have to do a systematic series of analyses in a range of wave heights, there are
advantages in keeping constant. Note that a JONSWAP spectrum with = 1.0 is identical to the ISSC spectrum with
the same Hs and Tz.
Choice of wave spectrum can cause unnecessary pain and suffering to the beginner. For present purposes, the
important point is to get the "design wave" we want embedded in a realistic random train of smaller waves. The
spectrum is a means to this end, and in practice it matters little what formulation is used. The one exception to this
sweeping statement may be 2-peaked spectra (e.g. Ochi-Hubble or Torsethaugen).
Setting the Number of Components
OrcaFlex generates a time history of wave height by dividing the spectrum into a number of component sine waves
of constant amplitude and (pseudo-random) phase. The phases associated with each wave component are pseudo-
random. OrcaFlex uses a random number generator and the seed to assign phases. The sequence is repeatable, so
the same seed will always give the same phases and consequently the same train of waves. The wave components
are added assuming linear superposition to create the wave train. Ship responses and wave kinematics are also
generated for each wave component and added assuming linear superposition. OrcaFlex currently allows you to
specify the number of wave components to use; more components give greater realism but a greater computing
overhead.
The time history generated is just one of an infinite number of possible wave trains which correspond to the chosen
spectrum in fact there are an infinite number of wave trains which could be generated from 100 components, a
further infinite set from 101 components and so on.
Strictly speaking, we should use a full Fourier series representation of the wave system which would typically have
several thousand components (the number depends on the required duration of the simulation and the integration
time step). This is prohibitively expensive in computing time so we use a much reduced number of components, as
noted above. However, this does involve some loss of randomness in the time history generated. For a discussion of
the consequences of this approach, see Tucker et al (1984).
Finding a Suitable Design Wave
A frequent requirement is to find a section of random sea which includes a wave corresponding in height and period
to a specified design wave. OrcaFlex provides preview facilities for this purpose. If you are looking for a large wave
in a random sea, say Hmax = 1.9Hs, then use the List Events command (on the Waves Preview page of the
environment data form) to ask for a listing of waves with height > H=1.7Hs, say. It is worth looking over a reasonably
w
System Modelling: Data and Results, Environment
237
long period of time at first say t = 0s to 50,000s or even 100,000s. OrcaFlex will then search that time period and
list wave rises and falls which meet the criterion you have specified.
Suppose that the list shows a wave fall at t = 647s which is close to your requirement. Then you can use the View
Profile command to inspect this part of the wave train, by asking OrcaFlex to draw the sea surface elevation for the
period from t = 600s to t = 700s, say. You will then see the large wave with the smaller waves which precede and
follow it.
Note that when you use the preview facility you have to specify both the time and the location (X,Y coordinates). A
random wave train varies in both time and space, so for waves going in the positive X direction (wave direction =
0), the wave train at X = 0 differs from that at X = 300m.
You can use the preview facility to examine the wave at different critical points for your system. For example, you
may be analysing a system in which lines are connected between Ship A at X = 0 and Ship B at X = 300m. It is worth
checking that a wave train which gives a design wave at Ship A does not simultaneously include an even higher wave
at Ship B. If you want to investigate system response to a specified design wave at both Ship A and Ship B, then you
will usually have to do the analysis twice, once with the design wave at Ship A and once at Ship B.
If no wave of the required characteristics can be found, then adjust Hs and Tz slightly and repeat. As we noted above,
the important point is to get the design wave we want embedded in a realistic random train of smaller waves. This is
often conveniently done by small adjustments to Hs and Tz. We need make no apology for this. In the real world,
even in a stationary sea state, the instantaneous wave spectrum varies considerably and Hs and Tz with it. For
further discussion see Tucker et al (1984).
If you are using an ISSC spectrum, or a JONSWAP spectrum with constant , then you can make use of some useful
scaling rules at this point. In these 2 cases, provided the number of wave components and the seed are held
constant, then:
- For constant Tz, wave elevation at any time and any location is directly proportional to Hs. For example, if you
have found a wave at time t which has the period you require but is 5% low in height, increasing Hs by 5% will
give you the wave you want, also at time t.
- For constant Hs, the time between successive wave crests at the origin (X = 0, Y = 0) is proportional to Tz. For
example, if you have found a wave at the origin at time t which has the height you require but the period
between crests is 5% less than you want, increasing Tz by 5% will give you the wave you want, but at time 1.05t.
Note: This rule does not apply in general except at the origin of global coordinates.
These scaling rules can be helpful when conducting a study of system behaviour in a range of wave heights. We can
select a suitable wave train for one wave height and scale to each of the other wave heights. This gives a systematic
variation in wave excitation for which we may expect a systematic variation in response. If the wave trains were
independently derived, then there would be additional scatter.
Wave Statistics
The following is based on Tucker (1991).
Deriving Hmax from Hs
Hmax/Hs = K.[(loge N)/2]
where N is the number of waves in the period under consideration and K is an empirical constant. Since wave
statistics are usually based on measurements made every 3 hours, N is usually taken as the number of waves in 3
hours:
N = 10800/Tz.
For extreme storms, K may be taken as 0.9, but for moderate wave conditions as used for fatigue analysis, K = 1 is
usually assumed.
In extreme storm conditions, it is common to assume a "significant wave steepness" of 1/18, i.e.
S = (2Hs)/(gTz
2
) = 1/18
hence
Tz = [(2Hs)/(gSs)] = 3.39Hs
for
Ss = 1/18 (Hs in metres, Tz in seconds.)
Deriving Tmax from Tz
Generally, it can be assumed that
1.05Tz < Tmax < 1.4Tz.
System Modelling: Data and Results, Environment
w

238
A common assumption is
Tmax = 1.28Tz.
6.5.18 Current Data
Multiple Current Data Sets
Multiple sets of current data can be defined. However, only one set of current data is active at any one time. This
capability is intended to help when you are analysing a series of load cases with differing current data. You can
define the different current data sets in the base data file. Then, in the batch script which generates the load case
simulations, you simply set the active current to be one of the pre-defined current data sets.
Multiple sets of current data can be defined
This data item must be checked if you wish to define multiple sets of current data. If it is not checked then you define
just a single current data set.
Active current
Specifies which of the multiple current data sets is active in the model. This data item is only available if you have
enabled multiple current data sets.
To define the current data sets click on the Edit Current Data Sets button. This opens a separate data form where
the current data sets can be defined and named.
Data for a single Current Data Set
Ramp During Build-Up
If selected then the static position will be calculated without the effects of current. Then, during the build-up stage of
dynamics the current is ramped up to its full value. If not selected (the default) then the current is used in
calculating the static position and full current is applied throughout.
This facility to omit current effects from the static calculation and introduce them during the build up is useful
where the current may cause lines to come into contact. For example, consider a case where a flexible line is to the
left of a stiff pipe but current pushes the flexible up against the pipe. Since the OrcaFlex static analysis does not
include the effects of contact between lines, if current was included in the static analysis then it would find a static
position where the flexible line was to the right of the pipe. The simulation would then start with the flexible on the
wrong side of the pipe.
This problem can be overcome by setting the current to ramp during the build-up stage and setting clash checking
for the two lines. The static position will exclude the effect of current and so will leave the flexible to the left of the
pipe. The build-up stage will then introduce the current effects but will also include the effect of contact between the
two lines.
Vertical Current Variation
Current Method
Can be Interpolated or Power Law. The Interpolated method uses a full 3D profile with variable speed and direction.
The Power Law method uses an exponential decay formula.
Data for Interpolated Method
Speed and Direction
The magnitude and direction of a reference current, generally taken as a surface current. The actual current at a
given Z level is then defined relative to this reference current by a current profile.
The direction specified is the direction the current is progressing for example, 0 and 90 mean currents flowing in
the X and Y directions, respectively.
The speed and direction can either be fixed, vary with simulation time or be given by an external function.
Profile
A current profile may be defined by specifying factors and rotations at various depths, relative to reference. At each
Depth in the table the current speed is the reference current speed multiplied by the Factor for that depth; the
Direction is the reference direction plus the rotation specified. Current speed and direction are interpolated
linearly between the specified levels. The current at the greatest depth specified is applied to any depth below this,
for example when a sloping seabed is specified. Similarly, the current at the least depth specified is applied to any
depth above this.
Negative factors can be used which allow you to model reversing currents.
w
System Modelling: Data and Results, Environment
239
Note: OrcaFlex interpolates rotations over the shortest route. For example if consecutive rows in the
table specify rotations of 350 and 10 then the program interpolates passing through 355, 0 and
5.
If you prefer to enter current speeds and directions directly, rather than using a reference current and reference-
relative profile, simply set the reference current speed to 1 and the reference direction to 0.
Data for Power Law Method
Speed at Surface and at Seabed
The current speed at the still water level and at the seabed level.
Note: Speed at Seabed cannot be greater than Speed at Surface.
Direction
When using the power law current method, the current direction is the same at all levels. The direction specified is
the direction the current is progressing, measured positive from the global X-axis towards the global Y-axis. For
example, 0 and 90 mean currents flowing in the X and Y directions, respectively.
Exponent
This determines how the current decays. With a smaller value, the decay is spread more evenly across the water
depth. With a higher value, the decay mostly occurs close to the seabed.
View Vertical Profile Graph, View Vertical Profile 3D View
The Vertical Profile Graph plots Z against current speed which can be useful to help visualise and check your vertical
current speed variation.
The Vertical Profile 3D View shows a 3D View with a number of arrows showing the current velocity vectors at a
range of depths. The vectors are non-dimensionalised. This means that you cannot use them to tell absolute current
speeds but the speed of the current at a particular depth can be compared relative to the speed at other depths. This
view is most useful for visualising and checking your current profile rotation data.
Horizontal Current Variation
Current speed variation with horizontal position can also be modelled. This is specified as a dimensionless
multiplicative factor. Where a variation of current speed with depth has been defined the factor will be applied at all
depths.
To neglect current speed variation with horizontal position this data item should be set to '~'. Using a numeric value
(e.g. 0.5) allows you to apply a scaling factor to the vertical current speed profile.
To model current speed variation with horizontal position you must define a Horizontal Variation Factor variable
data source. The horizontal variation factor is assumed to be constant in the direction normal to the axis.
Negative factors can be used which allow you to model reversing currents.
6.5.19 Wind Data
The Wind page on the Environment data form contains data for modelling wind. The wind data are used to calculate
wind loads on:
- Vessels see Vessel Theory: Current and Wind Loads.
- Lines see Line Theory: Hydrodynamic and Aerodynamic Loads.
- 6D Buoy Wings see 6D Buoys: Wing Type Data.
Include wind loads on Vessels, Lines and 6D Buoy Wings
Specifies whether wind loads are included for Vessels, Lines and 6D Buoy Wings.
When new models are created in OrcaFlex wind loads are included on Vessels, Lines and 6D Buoy Wings that is all
these options are ticked.
These options are primarily intended to maintain compatibility with some older versions of OrcaFlex. Version 8.3
and earlier did not include wind loads on Lines or 6D Buoy Wings. When files produced with such versions are
loaded the options for Lines and 6D Buoy Wings are not ticked.
Air Density
The air density is assumed to be constant and the same everywhere.
Air Kinematic Viscosity
This is used to calculate Reynolds number. This value is fixed and cannot be edited.
System Modelling: Data and Results, Environment
w

240
Wind Direction
The direction specified is the direction in which the wind is progressing see Direction and Headings. In all cases
the wind is uni-directional.
Wind Speed
Wind speed is assumed to be the same everywhere. The speed specified should be the value at an elevation of 10m
(32.8 ft) above the mean sea surface, since that is the height used by the OCIMF vessel wind load model. If you have
the wind speed V(h) at some other height h (in metres), then the wind speed V(10) at 10m can be estimated using
the formula: V(10) = V(h) (10/h)
(1/7)
.
You can choose to specify wind speed in various ways, by setting the Wind Type to one of the following.
Constant
The wind speed is then constant in time.
Random
The wind speed varies randomly in time, using a choice of either the API RP 2A (1993) spectrum or the NPD
spectrum.
In both cases:
- The spectrum is determined by specifying the Mean Speed and the spectrum then determines the statistical
variation about that mean. The View Spectrum button shows a graph of the spectrum.
- The wind speed is modelled by a sum of a number of components. The components are sinusoidal functions of
time whose amplitudes and frequencies are chosen by OrcaFlex to match the spectral shape. OrcaFlex uses a
'equal energy' algorithm to choose the amplitudes and frequencies. This gives all the components the same
energy, and therefore the same amplitude, but their frequencies are chosen so that the components are more
closely spaced where the spectral energy density is high, and more widely spaced where the spectral energy is
low.
- You can specify the Number of Components to use. You should specify enough to give a reasonable
representation of the spectrum.
- The phases of the components are chosen using a pseudo-random number generator that generates phases
which are uniformly distributed. The phases generated are repeatable i.e. if you re-run a case with the same
data then the same phases will be used but you can choose to use different random phases by altering the
Seed used in the random number generator. This can be any integer in the range -2
32
to +2
32
-1.
- The View Components button gives a report of the components that OrcaFlex has chosen.
Time History (Speed)
The wind speed variation with time is specified explicitly in a file. For details see Data in Time History Files. Linear
interpolation is used to obtain the wind speed at intermediate times.
Time History (Speed & Direction)
The wind speed and direction variation with time is specified explicitly in a file. For details see Data in Time History
Files. Linear interpolation is used to obtain the wind speed and direction at intermediate times.
Vertical Wind Variation
Wind speed variation with height above the mean water level (MWL) can also be modelled. This is specified as a
dimensionless multiplicative factor. This allows a vertical wind profile to be modelled.
To model vertical wind speed variation you must define a Vertical Variation Factor variable data source.
To neglect vertical wind speed variation this data item should be set to '~'. Negative factors can be used which allow
you to model reversing wind profiles.
6.5.20 Drawing Data
These data allow you to control the drawing of the various components which make up the OrcaFlex Environment.
For a more general discussion of drawing in OrcaFlex see How Objects Are Drawn.
Sea Surface Pen
Determines how the sea surface, current direction arrow and wave direction arrows are drawn. The current
direction arrow is an arrow next to the view axes which points in the direction of the current. This arrow is only
drawn if the current speed is not zero and if the Draw Environment Axes preference is ticked. The wave direction
arrows are explained below.
w
System Modelling: Data and Results, Environment
241
Secondary Wave Direction Pen
When the Draw Environment Axes preference is ticked a wave direction arrow is drawn in the direction of the wave.
If there are multiple wave trains whose directions are not equal then a wave direction arrow is drawn in the
direction of each wave train. The first wave train uses the sea surface pen since it is regarded as the dominant one
for drawing purposes. All subsequent wave trains' direction arrows are drawn in the Secondary Wave Direction Pen.
Wind Direction Pen
Determines how the wind direction arrow is drawn. This is an arrow next to the view axes which points in the
direction of the wind. This arrow is only drawn if the wind speed is not zero and if the Draw Environment Axes
preference is ticked.
Seabed Pen
The seabed grid is drawn in this pen.
Seabed Profile Pen
If you are using a profile seabed then an extra grid line is drawn along each data point used to specify the profile.
This can be used to emphasise the seabed profile data.
Sea Surface and Seabed Grid Density
The density of the grid is specified in terms of the length of the scale bar on the 3D view; a density of d means that
there are d lines per scale bar length, so higher density values give a finer grid (but takes longer to draw).
Draw 3D seabed data points
This options allows you to omit 3D seabed data points from the wire frame drawing. This can sometimes be useful
for models with extremely large numbers of 3D seabed data points. Such models can take a very long time to draw
and drawing performance can be improved by omitting the drawing of the data points.
Shaded Drawing Sea Surface and Seabed Translucency
Controls how translucent the sea surface and seabed appear in the Shaded Graphics mode. A value of 0% gives a
solid surface and all objects behind the surface will not be visible. A value of 100% specifies transparency and leads
to a completely see-through surface.
6.5.21 External Functions
Parameters
This data item specifies the External Function Parameters, a free form multi-line text field which is passed to any
external function used by the Environment.
6.5.22 Results
Summary and Full Results
Results tables are available for the Environment reporting Wave length, Wave number, Ursell number and
theoretical Breaking wave height.
Time History, Statistics and Linked Statistics
For details on how to select results variables see Selecting Variables.
For Environment results you must specify the global X,Y,Z coordinates of the point for which you want results. A
value of '~' for the Z coordinate is interpreted as meaning the instantaneous sea surface elevation.
Results are for the sea conditions that apply during the simulation and therefore include the build-up of wave
motion during the build-up stage.
Elevation
The global Z-coordinate of the sea surface at the specified global X,Y position. It is also possible to specify that the
results should be subject to sea state disturbance due to the presence of a disturbance vessel. The option to select a
disturbance vessel will only be visible if there is at least one vessel in the model that has sea state RAO data
associated with it.
Velocity, X, Y, Z-Velocity,
Acceleration, X, Y, Z-Acceleration
The magnitude and global X, Y and Z components of the water particle velocity (due to current and waves) and
acceleration (due to waves) at the specified global X,Y,Z position. If the specified Z position is above the water
surface then zero is reported. If the specified Z is below the seabed then the value applicable at the seabed is given. A
disturbance vessel can also be specified if desired.
System Modelling: Data and Results, Environment
w

242
Current Speed and Current Direction
The speed and direction of the current at the specified global X,Y,Z position.
Wind Speed and Wind Direction
The wind speed and direction. Note that this does not depend on the specified global X,Y,Z position.
Static Pressure
The pressure due to the static head of water at the specified global X,Y,Z position.
Density
The density of the water at the specified global X,Y,Z position.
6.5.23 Wave Scatter Conversion
Introduction
The wave scatter conversion tool converts a scatter table of sea states to a scatter table of regular (i.e. individual)
waves. The conversion method uses the formula of Longuet-Higgins, 1983. This gives the joint probability density of
individual waves in a random sea. This probability density is determined by the first 3 spectral moments m0, m1
and m2 using the formula of Longuet-Higgins, 1983. Full details of the calculations involved are given in the theory
section.
One of the most useful features of the tool is the ability to create text data files, batch script and fatigue analysis files
corresponding to the calculated regular wave scatter table.
As an alternative you can input directly the regular wave scatter table. This allows you to take advantage of the
automatic export of text data files, batch script and fatigue analysis files.
The wave scatter conversion tool is run by selecting the Wave Scatter Conversion command from the OrcaFlex
Calculation menu. It is essentially a self-contained sub-program within OrcaFlex, with its own menus, data and
output. Any OrcaFlex process active in the main window is paused until the wave scatter form is closed and the
wave scatter conversion tool has no effect on existing OrcaFlex data.
File Menu commands
The commands on the file menu allow you to save, and then reload, the data relating to the wave scatter conversion.
New
Clears previously entered Wave Scatter data and resets data to default values.
Open
Open a Wave Scatter file (.sct).
Save
Save the data to the currently selected file name (shown in title bar of the window).
Save As
This is the same as Save, but allows you to specify the file name to save to.
Most Recent Files List
List of the most recently used files. Selecting an item on the list causes the file to be loaded. The size of the list can be
adjusted from the Preferences form.
Exit
Closes the wave scatter form.
Data
The wave scatter conversion tool requires the following data, which can be saved to a file.
Regular Wave Scatter
If Calculated from irregular wave scatter is selected then the regular wave scatter table is derived from a random
sea state scatter table using the formula of Longuet-Higgins, 1983. Full details of the calculations involved are given
in the theory section.
w
System Modelling: Data and Results, Environment
243
If User specified is selected then the regular wave scatter table is input directly. This option is useful where the
regular wave scatter table is pre-determined but you still want to take advantage of the automatic export of text
data files, batch script and fatigue analysis files.
Units
You can select the units of length to be used for the wave scatter data.
Sea State Table
These data specify the random sea state scatter table. If the Regular Wave Scatter option is User specified then
these data are not required.
Spectral Form
All the sea states are assumed to be of the same spectral form which can be either JONSWAP or ISSC.
Note: The Longuet-Higgins, 1983 method is valid only for narrow-banded spectra. Thus the Ochi-Hubble
and Torsethaugen spectra are not available for this type of conversion.
Spectral Parameters
If you select the JONSWAP spectral form you have 3 options for specifying the spectral parameters: Automatic,
Partially Specified or Fully Specified. This setting applies to all sea states.
Sea States
You must specify the spectrum for each sea state in your scatter table.
If you have selected the ISSC spectral form then you enter Hs and one of Tz, Tp or fm.
If you have selected the JONSWAP spectrum the required parameters depend on the selected parameter option:
- For Automatic parameters you set Hs and Tz and the program calculates and reports Tp and fm.
- For Partially Specified parameters Tz, Tp and fm are tied together, so setting any one of them sets the other two
to match. You must also set Hs.
- For Fully Specified parameters Tp and fm are tied together, so setting one of them sets the other to match. The
program calculates and reports Hs and Tz. You must also set Gamma, Alpha, Sigma1 and Sigma2.
Number of Occurrences
For each sea state in your scatter table you must also specify the number of occurrences of that sea state. This value
is required to determine the relative likelihood of occurrence of each sea state.
Normally this value comes from a sea state scatter table where it is usually presented in parts per thousand.
Regular Waves (scatter table calculated from irregular wave scatter table)
These data specify how the regular wave scatter table is discretised into bins.
Wave Heights, Wave Periods
These are the regular wave heights and wave periods that you wish to analyse. OrcaFlex automatically constructs
bins around these values. The output from the wave scatter conversion tool includes a table listing these bins.
Total Duration
This is the total duration to be covered by the regular wave scatter table.
Occurrence threshold
Some of the bins in the regular wave scatter table can have very small occurrence values. In order to reduce the
amount of computation time required to analyse all the load cases it is customary to ignore such bins. Any bin which
has an occurrence value lower than this threshold will be ignored. If you do not wish to ignore any bins then you
should set the threshold to 0.
Regular Waves (user specified regular wave scatter table)
These data specify a complete regular wave scatter table.
Number of bins
The number of bins in the regular wave scatter table.
Wave Height, Wave Period, Number of Occurrences
These are specified for each bin in the regular wave scatter table.
System Modelling: Data and Results, Environment
w

244
Output
To perform the wave scatter conversion you simply click the Show Regular Wave Scatter Table button which is
found on the Regular Waves page. This command is also available from the Action menu. Note that this button is not
available if you have a user specified regular wave scatter table.
The output is presented in a spreadsheet window which, like all such windows in OrcaFlex, can be saved as an Excel
file. The spreadsheet is made up of the following sheets:
Sea State Table
This sheet contains the input data which specified the sea state scatter table.
Regular Wave Bins
The regular wave height and wave period bins are listed here.
Regular Wave Scatter Table
This sheet contains the main output from the wave scatter conversion a table listing the number of occurrences of
waves in each regular wave bin. Any bins which have occurrences below the occurrence threshold are omitted.
This sheet also displays the total number of bins and the total probability covered by the table. This latter value
provides an important check that your bins extend far enough along the wave height and period axes. If the value is
significantly less than 1 then your bins need to be extended.
Automation
Once you have obtained the regular wave scatter table you will usually want to generate a regular wave simulation
file for each regular wave bin. There are two options available, determined by the Automation Method data item:
- Text data file: Each regular wave bin is mapped to a corresponding text data file. The files are generated when
you press the Create Text Data Files button.
- Batch scipt: A batch script file is created that will generate a data file for each regular wave bin. The Export
Batch Script button can be used to write an OrcaFlex batch script file to automate the generation of these
simulation files. Alternatively the Create Script Table Spreadsheet button can be used to create a script table
spreadsheet which can be pasted into an OrcaFlex Excel spreadsheet.
Base Case File Name
The name of an OrcaFlex data file on which all the load cases are to be based. This data file should specify a regular
wave. The wave height, wave period and simulation duration data will be specified either in the generated text data
files, or by the generated batch script file.
If you have already saved the wave scatter data then relative paths can be used when locating this file.
Simulation File Name Template
Each load case file (corresponding to a single regular wave bin) is given a name based on this template. Special
format strings can be used to customise the file names as follows:
- %N will be replaced with the load case number. Each load case is assigned a unique number.
- %H will be replaced with the wave height for that load case.
- %T will be replaced with the wave period for that load case.
The default value of the template is "Case #%N, H=%H, T=%T" and this will lead to files named, for example: "Case
#01, H=0.5, T=3.dat", "Case #02, H=0.5, T=5.dat" and so on for all load cases.
Notes: You do not need to use all three format strings in your template. However, you must use enough of
them to make the simulation file names unique. OrcaFlex will display an error message if the
simulation file names are not unique.
Do not specify the file extension as part of the template. The program will supply an appropriate
file name, either .dat for binary data files or .yml for text data files.
Simulation Duration
Specifies the duration of the Build-up Stage and Stage 1 for each load case. Because different load cases have
different wave periods these data are defined as multiples of that wave period.
Override base case log interval and Target number of log samples per wave period
These data allow you to set the simulation log interval for each load case simulation file by specifying the number of
log samples in each wave period. This allows load cases with longer wave periods to use a coarser logging interval
than for those with shorter wave periods and hence reduce the sizes of the simulation files.
w
System Modelling: Data and Results, Environment
245
Fatigue
Having generated a regular wave simulation file for each regular wave bin you will commonly want to perform a
fatigue analysis. Clicking the Export Fatigue Analysis File button produces an OrcaFlex fatigue analysis file.
This file lists each load case together with the corresponding number of occurrences for that load case. The file
produced is not complete and other data, such as the S-N curve data, will need to be input. However, it provides a
good starting point for performing the fatigue analysis.
The Fatigue Line Name data item can be used to specify the corresponding fatigue analysis data item.
Theory
Notation
Let the list of sea state spectra and associated durations be denoted Zl and Dl respectively, for l = 1, , k where k is
the number of sea states.
Note that the sea state duration is only used to specify the distribution of sea states. The probability of occurrence of
sea state q is given by P(Zq) = Dq / l Dl. From this formula it can be seen that the absolute values of Dl are not
important; rather it is their relative values which are significant.
Regular wave bins
The specified regular wave heights and periods are denoted Hi for i = 1, , m and Tj for j = 1, , n, respectively. These
wave heights and periods are ordered to be strictly increasing.
The wave height bins are denoted by [Hi
lower
, Hi
upper
] for i = 1, , m. The first bin is taken to be
[H1
lower
, H1
upper
] = [0, (H1+H2)/2].
It is clearly important that 0 is contained in the bin. However this also means that H1 may not fall in the middle of
the bin. This should not matter provided that the bin is small enough. The last bin is taken to be
[Hm
lower
, Hm
upper
] = [(Hm-1+Hm)/2, Hm + (Hm-Hm-1)/2]
so that Hm falls in the middle of the last bin.
Finally the other bins are chosen to be
[Hi
lower
, Hi
upper
] = [(Hi-1+Hi)/2, (Hi+Hi+1)/2]
for i = 2, , m-1.
The wave period bins [Tj
lower
, Tj
upper
] for j = 1, , n are chosen in an analagous fashion.
We now have mn individual wave height and period bins which we denote by Bij for i = 1, , m and j = 1, , n. Each
bin Bij represents individual waves whose heights and periods fall in the ranges [Hi
lower
, Hi
upper
] and [Tj
lower
, Tj
upper
]
respectively.
Joint probability for individual waves
This section is based on Barltrop and Adams section 6.6.3. Following their lead we use the formula of Longuet-
Higgins, 1983. This gives the joint probability density p(R, S, Z) of individual waves in a given random sea state as
follows:
p(R, S, Z) = L()exp(-R
2
{1 + [1 - 1/S]
2
/
2
}).2R
2
/(S
2
)
where
Z = spectrum of given random sea state,
mi = i
th
spectral moment of Z,
Tm = m0/m1,
Tz = (m0/m2)

,
S = T/Tm,
Hrms = Hs/2,
R = H/Hrms,
= (Tm
2
/Tz
2
- 1)

and
L() = 2 / (1 + {1+
2
}
-
).
Individual wave scatter
For each sea state Zl we can calculate the probability of occurrence of each individual wave height and period bin,
denoted by P(Bij, Zl) as follows:
P(Bij, Zl) = p(R, S, Zl) dS dR
where
System Modelling: Data and Results, Solid Friction Coefficients Data
w

246
the integral is evaluated over the region Ri
lower
R Ri
upper
, Sj
lower
S Sj
upper
,
Ri
lower
= Hi
lower
/ Hrms,
Ri
upper
= Hi
upper
/ Hrms,
Sj
lower
= Tj
lower
/ Tm and
Sj
upper
= Tj
upper
/ Tm.
Thus, the probability of occurrence P(Bij ) of each individual wave height and period bin is calculated as follows:
P(Bij) = l P(Zl) P(Bij, Zl)
OrcaFlex does not report these probabilities; instead it reports the total number of occurrences Oij for each bin Bij .
This is given by Oij = P(Bij) Dtotal / Tj where Dtotal is the total duration as specified on the Regular Waves page.
6.6 SOLID FRICTION COEFFICIENTS DATA
These data are used to specify friction coefficients for contact between Elastic Solids and Lines, 3D Buoys and
6D Buoys. Because each Elastic Solid can come into contact with any number of Lines and Buoys, and vice versa, the
specification of these data is necessarily more complex than that for the seabed friction coefficients.
Note: Friction for contact with elastic solids is only included during dynamics.
The data comprise three tables as follows:
- The Line Types table defines friction coefficients for contact between Lines and Elastic Solids.
- The 6D Buoys table defines friction coefficients for contact between 6D Buoys and Elastic Solids.
- The 3D Buoys table defines friction coefficients for contact between 3D Buoys and Elastic Solids.
Line Types table
The table contains a user-defined number of rows specifying friction coefficients and each row has the following
data:
Line Type and Shape
The specified friction coefficients will be used for contact between the specified shape and any node which uses the
specified line type.
The Line Type can be specified as "all line types". Any node in the model, irrespective of the line type it is based on,
will use the specified friction coefficients when in contact with the specified shape. Similarly the Shape can be
specified as "all shapes".
Friction Coefficients
Normal and axial friction coefficients. If the axial coefficient is set to '~' then the normal friction coefficient is used
for all directions of motion.
For full details of the friction calculation see Friction Theory.
6D Buoys table and 3D Buoys table
These tables are entirely analogous to the Line Types table. Instead of Line Type you specify 3D Buoys or 6D Buoys
and there is only a single friction coefficient because Buoy friction in OrcaFlex is isotropic.
How the data are interpreted
For the most part it should be clear how the data are interpreted. The exception to this statement is when multiple
rows specify friction coefficients for the same elastic solid and contacting object. For example consider the table
below:

Figure: Solid Friction Coefficients Line Types data table
If a node which uses "Line Type1" comes into contact with "Shape1" then OrcaFlex has two choices for friction
coefficient since this particular contact satisfies both rows of the table. OrcaFlex deals with this ambiguity by
choosing the more specific combination, that is the second row which specifies "Line Type1".
A row with named line type and named shape is the most specific combination and the friction coefficients from
such an entry will always be chosen over any other entries.
w
System Modelling: Data and Results, Vessels
247
A row with "all line types" and "all shapes" is the least specific combination and other entries will always be chosen
over this.
The other possibilities are:
1. Rows with "all line types" and a named shape.
2. Rows with a named line type and "all shapes".
OrcaFlex regards such rows as equally specific. Accordingly the program does not allow you to have rows of both
type 1 and 2 in the same table.
Similarly if there are multiple rows with identical Line Type and Shape entries then the program will issue a error
message. This is because OrcaFlex has no way of choosing one set of friction coefficients over another.
If no friction coefficients are specified for a particular combination of Line Type and Shape then no friction will be
modelled. For example, with the data specified in the figure above, any contact between nodes and any shape other
than "Shape1" will not include friction effects.
The data in the 6D Buoys table and the 3D Buoys table are interpreted in exactly the same way.
6.7 VESSELS
Vessels can be used to model ships, floating platforms, barges, TLPs, semi-subs or any similar floating rigid body.
They are principally suitable for modelling floating bodies that are large enough for wave diffraction to be
significant, since they allow the vessel motion to be based on RAOs, QTFs and other diffraction analysis results,
which can be calculated by a separate program and then imported into OrcaFlex.
Vessel Data and Vessel Type Data
A vessel requires a lot of data to define its properties. The case-specific data, such as its position and how its motion
should be calculated, are specified on the Vessel data form. But most of the data (e.g. its RAOs, QTFs, added mass
etc.) are not specific to the way the vessel is being used, so these data are instead specified for a Vessel Type, and for
a given draught of that vessel type. The vessel itself is then set to use that vessel type and draught.
In addition, the vessel and the vessel type both have lengths specified, and if these differ then all the vessel type data
are automatically scaled to the length of the vessel. This system allows a given vessel type to be used for similar, but
not identical, vessels, or for more than one vessel. For example a pipe being towed by two similar tugs can be
modelled by creating a vessel type called 'Tug' and then creating two vessels, each of type 'Tug' but possibly of
different lengths. The RAOs, QTFs, drawing data (defining the tug outline) and many other properties are data of the
vessel type, since they apply to both tugs. On the other hand the two tugs differ in their positions and the way they
are driven, so these are properties of the individual vessel objects.
Vessel Frame of Reference
The vessel is defined relative to a right-handed system of local vessel axes Vxyz illustrated below, where:
- V is the vessel origin for this vessel type. This is effectively chosen by the user when the vessel type is set up.
The origin is never specified explicitly, so there is no corresponding data item for you to enter its value: it is
simply the point on the vessel to which all the vesel type data (or their reference origins) refer. It is entirely
arbitrary and may, for instance, be at the bow on the keel, at the centre of gravity, etc. However note that if you
specify that the vessel type has symmetry then the vessel origin must be placed on the plane(s) of symmetry or
at the centre of circular symmetry; see Vessel Types: Conventions for details.
- Vx, Vy and Vz must be the directions of surge, sway and heave, respectively, for this vessel type. Note that these
directions must therefore be the directions to which the RAOs apply.
System Modelling: Data and Results, Vessels
w

248

Figure: Vessel Model
Points on the vessel, for example where cables or risers are connected, are then defined relative to these vessel axes.
These points then move with those axes as the vessel moves and rotates relative to the global axes, and OrcaFlex
calculates these motions automatically.
Vessel Drawing
The vessel is drawn in 3D views of the model, as either a "wire frame" of user-specified vertices and edges or using a
shaded view drawing file. The drawing allows a simple visual check that amplitudes, phases etc. are consistent with
the applied wave, and can also be used to do a visual check for interference between lines and vessel structure.
Drawing data can be specified for both the vessel and for its vessel type, for both wire frame and shaded views. As
with all points on the vessel, the drawing coordinates are defined relative to the vessel axes Vxyz shown above.
It is usually convenient to specify drawing data for the vessel type, since it can then be shared if that vessel type is
used for another vessel, and it will also be automatically scaled if the vessel is a different length. However the vessel
can also have its own extra drawing data, which will also be drawn, and this allows you to set up vessel-specific
drawing. For example the lead tug in the above example might have a special tow-point fitting that you want to
draw. When the vessel is drawn, OrcaFlex first draws the vessel type (scaled to the vessel length) and then draws
the vessel. The two parts of the drawing can have different colours, so you can highlight application-specific
drawing.
Vessel Motion
Many options are available for how the vessel position and motion is calculated. For an overview see Vessel
Modelling Overview and for details of the options see Vessel Calculation Data.
6.7.1 Vessel Modelling Overview
Motion Options
Vessels can undergo various different types of motion, that broadly fall into two categories low frequency (LF)
motions such as slow drift motion due to waves or driven motion due to vessel thrusters, and wave frequency (WF)
motions such as response to wave loads.
For some cases both types of motion are present, and it is then often useful to be able to model them separately,
with the wave frequency motion superimposed on the low frequency motion. To enable this, OrcaFlex provides two
vessel motions, Primary Motion and Superimposed Motion, each of which are optional but when both are present
they are applied concurrently, with the latter being superimposed on the former.
As an example, consider a ship being driven under power along a specified course. In the absence of waves it moves
steadily along its course and this would be modelled using Primary motion (probably set to Prescribed or Time
History). But when waves are present the primary motion is augmented by wave-generated motion that would
vertex 3
vertex 5
edge joining
3 to 5
pitch
z (heave)
y (sway)
x (surge)
V
yaw
roll
w
System Modelling: Data and Results, Vessels
249
often be modelled in OrcaFlex as Superimposed motion specified by displacement RAOs. OrcaFlex superimposes this
latter motion on the primary motion to give the total combined motion of the vessel.
The Primary and Superimposed motions each have a choice of different types of motion. And each of them (or
both, for a fixed vessel) can be set to None, so for simple cases only one of the two motions need be used.
Primary Motion Treatment for Included Effects
You can choose which of many different types of vessel load are included in the analysis. Most of these loads are
affected by the motion of the vessel; in OrcaFlex they only depend on the Primary motion, not any superimposed
motion.
Some of the loads depend on only the low frequency primary motion, some depend only on the wave frequency
primary motion, and some depend on all the primary motion, as follows:
- Interpolation of displacement RAOs, wave load RAOs, wave drift QTFs and sum frequency QTFs, and the wave
phases for applying these, are calculated using the low frequency primary motion.
- Wave drift damping is calculated using the low frequency primary motion, since it is a low frequency effect.
- Added mass and radiation damping effects are calculated using all the primary motion.
- Manoeuvring load is calculated using the low frequency primary motion, since it is a low frequency effect.
- Other Damping is calculated using the wave frequency primary motion.
- Current and Wind loads are calculated using the low frequency primary motion, since the current and wind load
data are generally obtained from steady state measurements or analysis.
Because the different loads depend on different parts of the primary motion, OrcaFlex needs to know how much of
the primary motion is low frequency and how much is wave frequency. So when primary motion is used you also
need to specify whether the primary motion is treated as all low frequency, all wave frequency or both. Both
means a mixture of frequencies, so in this case you also need to specify a dividing period that is used to filter the
primary motion into its low frequency and wave frequency parts.
The range of excitation frequencies that are being modelled should be used to determine the appropriate setting for
this data item.
- If the vessel is subject only to wave frequency excitation, then primary motion is treated as should be set to
wave frequency.
- If the vessel is subject only to low frequency excitation, then primary motion is treated as should be set to low
frequency.
- If the vessel is subject to a range of excitation frequencies, covering both wave frequency and low frequency,
then primary motion is treated as should be set to both.
Typical Examples of Vessel Modelling
Here are some typical examples of how primary and superimposed motion can be combined to achieve various
things.
- Primary motion set to None and superimposed motion set to RAOs + Harmonic can be used to model a simple
steady (e.g. moored) vessel whose motion is due to the 1
st
order wave effects only.
- Prescribed or Time History primary motion can be used to model a vessel being driven over a predetermined
course, and the superimposed motion set to RAOs + Harmonic to model the 1
st
order wave-induced motion.
- Time History primary motion (or Time History superimposed motion but not usually both) can be used to
completely specify the motion of a vessel.
- Calculated (6 DOF) primary motion can be used to model the whole motion of a vessel, optionally including 1
st

order wave loads and added mass & damping (these would normally be included), 2
nd
order wave loads, current
and wind drag loads, applied loads. Loads from any attached lines or other objects are always included. In this
case the superimposed motion would normally be None, since all motion has already been accounted for in the
primary motion, and the displacement RAO data would therefore not be used.
6.7.2 Vessel Data
Name
Used to refer to the Vessel.
Type
Specifies the Vessel Type. The Vessel Types button allows you to view and edit the Vessel Type Data.
System Modelling: Data and Results, Vessels
w

250
Draught
Specifies which Draught of the specified vessel type to use. Each Vessel Type can have data for a number of different
draughts. The draught used cannot be changed during a simulation.
Length
Specifies the length of this vessel. The default value '~' means that this vessel is the same length as the vessel type. If
you specify a length that differs from the vessel type length, then OrcaFlex will scale all the vessel type's data to
allow for the scaling factor VesselLength/VesselTypeLength. This is useful if you have data for a 70m ship, for
example, but want to use a 50m ship that is otherwise very similar.
The scaling is done using Froude scaling (see Rawson and Tupper). Froude scaling scales each item of data by a
factor that depends on the units of that item. If R = ratio of vessel length to vessel type length, then the scaling factor
applied is as follows:
- All lengths are scaled by R.
- All masses (and added masses) are scaled by R
3
.
- All times are scaled by R
0.5
.
Data items with other units are scaled by writing the units in terms of the fundamental units of mass, length and
time, and then applying the above factors. For example force data have units equivalent to Mass*Length/Time
2
so
are scaled by (R
3
).(R) / ((R
0.5
)
2
) = R
3
. Dimensionless items such as translational RAOs (surge, sway, heave) and
phase angles are unchanged by the scaling process, but note that Froude scaling does apply to the periods (or
frequencies) specified for RAO and QTF data. Note also that rotational RAOs (roll, pitch, yaw) are often given in
dimensional terms (degrees per metre) and these also scale.
These scaling rules are the same as those used in deriving full scale ship performance from physical model tests, and
are correct if the vessel is a perfect scaled replica of the vessel type in all respects.
Warnings: If the vessel does not scale uniformly in all dimensions, then this type of scaling introduces errors
and should not normally be used. Instead, accurate data specific to this vessel should be obtained.
However, for ships in head and stern seas the RAO scaling errors may be acceptable, since the RAOs
for these wave directions depend mainly on vessel length. For other cases the RAO scaling is likely
to be poor, so OrcaFlex issues a warning if scaling is used and the wave direction is not close to a
head or stern sea.
Initial Position and Orientation
These specify the vessel's static position relative to the global axes. The Initial Position defines the position of the
vessel origin V. The Initial Orientation defines the orientation of the vessel axes Vxyz as three rotations, Heading,
Trim and Heel. The static orientation of Vxyz is that which results from starting with Vxyz aligned with the global
axes and applying the Heading rotation about Vz, then the Trim rotation about Vy and finally the Heel rotation about
Vx.
If the vessel is not included in the static analysis then this Initial Position is taken to be the static position of the
vessel. If the vessel is included in the static analysis, then this Initial Position is used as an initial estimate of the
vessel position and the statics calculation will move the vessel from this position iteratively until an equilibrium
position is found.
Note: The vessel Z coordinate can only be changed by editing on the vessel data form. Dragging in the Z
direction with the mouse is prevented.
Warning: If you have included any harmonic motion on the vessel (see Harmonic Motion) then the phases of
the harmonic motions will normally depend on the vessel Initial Position, so if you change the
Initial Position you may need to change the harmonic motion phases accordingly.
Further Vessel Data
The remaining vessel data are specified on the following separate pages of the data form:
- Calculation page specifies how the vessel motion is modelled.
- Primary Motion page specifies any further data for any Primary Motion. This is only used if Prescribed, Time
History or Externally Calculated primary motion are used.
- Superimposed Motion page specifies any further data for any Superimposed Motion. This is only used if
Harmonic Motion or Time History superimposed motion are used.
- Multiple Statics page allows you to specify a grid of different positions of the vessel, for a series of static
analyses.
w
System Modelling: Data and Results, Vessels
251
- Drawing and Shaded Drawing pages specify how the vessel will be drawn in the 3D view.
Calculation Data
The following settings (on the Calculation page on the vessel data form) control how the vessel's static position and
dynamic motion are determined. For an overview see Vessel Modelling Overview
Included in Static Analysis
You can control whether the OrcaFlex static analysis calculates the static equilibrium position of the vessel, or
simply places the vessel in the user-specified initial position.
OrcaFlex first places the vessel at the initial position and orientation specified by the user. If Included in Static
Analysis is set to None then OrcaFlex leaves the vessel in this user-specified position. This is not necessarily an
equilibrium position.
If Included in Static Analysis is set to 3 DOF then OrcaFlex starts from the user-specified position and adjusts the
vessel's X, Y and Heading until an equilibrium position is reached. Note that only these 3 free degrees of freedom of
the vessel (X, Y and Heading) are included in the calculation. The other three degrees of freedom (Z, Heel and Trim)
are assumed to be constrained and so are left at the values specified by the user. This means that the Z component of
resultant force may be non-zero in the equilibrium position. Likewise the resultant Heel and Trim moments may be
non-zero in the equilibrium position.
If Included in Static Analysis is set to 6 DOF then OrcaFlex starts from the user-specified position and adjusts all
six degrees of freedom until an equilibrium position is reached. In this case, all of the X, Y, Z forces and Heel, Trim,
Heading moments will be zero at the equilibrium position.
The loads on the vessel to be taken into account in calculating the equilibrium position are specified by the Included
Effects. In the static analysis many of these (first order wave load, sum frequency load, added mass & damping load,
manoeuvring load and other damping load) will be zero; and any included wave drift load will only include the mean
drift load (allowing for wave drift damping, if included), not any slowly varying contribution to wave drift load.
Note: If multiple statics are being performed on the vessel then no equilibrium calculation is performed
on the vessel and its placement is determined by the multiple statics data. Other vessels in the
model are included in the static analysis as specified by their own data.
Dynamic Analysis
OrcaFlex provides two vessel motions, Primary and Superimposed, each of which is optional. When both are
present they are applied concurrently, with the latter being superimposed on the former. See Vessel Modelling
Overview for an introduction and examples of how these options can be used.
Primary Motion
The Primary motion determines what OrcaFlex refers to as the primary position of the vessel. It can be one of the
following options:
- None. In this option there is no primary motion and the primary position of the vessel remains fixed at the
position determined by the static analysis.
- Prescribed. This option allows you to drive the vessel around the sea surface, for example to model the vessel
moving station during the simulation. The vessel's speed and course are specified by the data on the Primary
Motion page.
- Calculated (3 DOF). In this option OrcaFlex calculates the vessel primary motion in only 3 degrees of freedom
(surge, sway, yaw) based on the included loads plus loads from any lines or other objects that are attached to
the vessel. There is no primary motion in the other 3 degrees of freedom (heave, roll, pitch). The data for all the
included loads must be specified.
- Calculated (6 DOF). Here OrcaFlex calculates the vessel motion in all 6 degrees of freedom, based on the
included loads, plus loads from any lines or other objects that are attached to the vessel. The added mass,
damping, stiffness and reference origin datum position of the vessel type must be specified, plus the data for all
the included loads.
- Time History. For this option the user specifies the primary motion in a time history file that defines, as a
function of time, the vessel Primary X, Primary Y, Primary Z, Primary Rotation 1, Primary Rotation 2 and
Primary Rotation 3. See the Time History data on the Primary Motion page.
- Externally Calculated. The primary motion is defined by an external function that is specified on the Primary
Motion page.
System Modelling: Data and Results, Vessels
w

252
Superimposed Motion
The Superimposed motion is applied as an offset from the position given by the primary motion. It can be one of the
following options:
- None. There is no offset and the vessel position is equal to the primary position at all times.
- Displacement RAOs + Harmonic. The vessel's position oscillates harmonically about the primary position. The
harmonically varying offset comes from two sources. Firstly, if waves are present and you specify non-zero
displacement RAOs for the vessel type, then the offset will include the wave-generated harmonic motions
specified by those RAOs. Secondly, the vessel's superimposed offset also includes any harmonic motions that
you specify on the Superimposed Motion page on the vessel data form.
- Time History. The user specifies the offset in a time history file that defines the vessel Surge, Sway, Heave, Roll,
Pitch and Yaw as a function of time. See the Time History data on the Superimposed Motion page.
Included Effects
For each of the following vessel load effects, you can choose whether they are included in the analysis by ticking the
corresponding checkboxes on the calculation page of the vessel data form:
- Applied Loads: Data for these are on the vessel form Applied Loads page.
- Wave Load (1
st
order): Data are on the vessel type form Load RAOs page.
- Wave Drift Load (2
nd
order): Data are on the vessel type form Wave Drift QTFs page. See also Theory.
- Wave Drift Damping: Has no separate data. For theory see Wave Drift Damping. Requires that Wave Load (2
nd

order) is also included.
- Sum Frequency Load (2
nd
order): Data are on the vessel type form Sum Frequency QTFs page. See also
Theory.
- Added Mass and Damping: Data are on the vessel type form Stiffness, Added Mass, Damping page. See also
Theory.
- Manoeuvring Load: Has no separate data. See Manoeuvring Load Theory.
- Other Damping: Data are on the vessel type form Other Damping page. See also Theory.
- Current Load: Data are on the vessel type form Current Load page. See also Theory.
- Wind Load: Data are on the vessel type form Wind Load page. See also Theory.
Note: Loads which are included will only affect the vessel static equilibrium position if Included in Static
Analysis is set to other than None. And they will only affect the vessel motion if the primary motion
is set to one of the Calculated options.
Primary Motion is treated as, Dividing Period
Some of the included effects depend on only the low frequency primary motion, some depend on only the wave
frequency primary motion, and some depend on all the primary motion. For details see Vessel Modelling Overview.
Because of this, if primary motion is used, then you need need to specify whether the Primary Motion is treated as
all low frequency, all wave frequency, or a mixture of both low and wave frequency.
The last of these means that you also need to specify a Dividing period that is used to filter the primary motion into
its low frequency and wave frequency components; so that the calculation can use the appropriate part for each
load. A digital filter (a second-order Butterworth filter; see Bellanger) is then used to separate the vessel primary
motion into low-frequency and wave-frequency parts, based on this dividing period.
Broadly speaking, components of the vessel motion with periods longer than this value will contribute to the low-
frequency motion, and those components with shorter periods will contribute to the wave-frequency motion. Time-
domain digital filters are not perfect (see the filter cutoff graphs), so the Dividing period should ideally be well
above the highest period of the significant wave frequency response of your vessel, but well below the lowest period
of significant slow drift response.
Prescribed Motion
The prescribed motion data only apply if the vessel's Primary Motion is set to Prescribed. It enables you to drive the
vessel around the sea surface along a predetermined path, by specifying how the vessel's primary position and
heading change during the simulation.
The vessel is driven by specifying, for each stage of the simulation, the velocity (speed and direction) of the primary
position and the rate of change of the heading.
w
System Modelling: Data and Results, Vessels
253
Warning: The Prescribed Motion facility can cause discontinuities of velocity at stage boundaries and these
may cause transients in the system. OrcaFlex issues warnings at the start of the simulation if the
data specifies a discontinuous velocity.
Speed of Motion
For each simulation stage the speed of the motion can be specified as either a Constant Speed or a Speed Change.
If Constant Speed is selected then that speed applies throughout the stage.
If Speed Change is selected then the speed is incremented linearly by the specified amount during the stage. For
example, an increment of 1m/s during a stage of length 10 seconds causes an acceleration of 0.1m/s
2
to be applied
throughout the stage, so that if the vessel starts at rest then at the start of the next stage the vessel is travelling at
1m/s.
Note: Negative speeds can be specified.
Direction of Motion
For each simulation stage the direction of the motion can be specified as either relative to the Global X direction or
relative to the Vessel heading.
The direction value is interpreted as an azimuth. So, a value of 90 relative to the Global X direction would result in
the motion being in the global Y direction. Likewise, if the vessel's heading was 130 and the direction of motion was
50 relative to the Vessel heading then the motion would be an azimuth of 130 + 50 = 180 relative to global, that
is in the global -X direction.
Note: The direction of motion is not restricted to be in the same direction as the vessel heading.
Rate of Turn
In addition to varying the velocity of the mean position, you can specify a Rate of Turn for each stage. This is the
angle change per second to be applied to the vessel's heading throughout the stage.
If the Direction of Motion is specified relative to the Vessel heading and the Rate of Turn is non-zero, then the vessel
velocity direction varies during the stage. In addition, if the direction is 0 relative to Vessel heading then the vessel
velocity, whilst varying, is always in the Vessel heading direction.
If the direction is specified relative to the Global X direction then the vessel velocity direction is not affected by the
Rate of Turn.
Harmonic Motion
The Harmonic Motion data only apply if the vessel's superimposed motion is set to RAOs + Harmonic. It allows you
to specify a number of harmonic motions of the vessel.
The harmonic motions are in addition to any wave-generated motion specified by the RAO data, so if you only want
the wave-generated motion then you should set the number of harmonic motions to zero.
Each harmonic motion is a single-period sinusoidal motion of the vessel, specified by giving:
- the Period of the harmonic motion; this applies to all 6 degrees of freedom,
- the Amplitude and Phase of the motion for each of the 6 degrees of freedom of the vessel. If you are modelling
slow drift, then note that slow drift normally only applies to surge, sway and yaw, in which case the amplitudes
for heave, roll and pitch should be set to zero.
The harmonic motion amplitudes (unlike the RAO responses of the vessel) are not specified relative to a wave
amplitude they are specified directly in length units (for surge, sway and heave) or degrees (for roll, pitch and
yaw). Similarly, the phases are not specified relative to the phase of a wave they are the phase lags from the global
time origin T=0 until the maximum harmonic motion occurs. More precisely, the phase that should be specified for
the harmonic motion is given by
360 ((Tmax / P) mod 1)
where P is the period of the harmonic motion and Tmax is the global time at which you want the maximum of the
motion to occur.
The whole of the harmonic motion is applied at the displacement RAO origin, subject to any Froude scaling on vessel
length.
System Modelling: Data and Results, Vessels
w

254
Warning: Harmonic motions can be used to model pre-calculated vessel slow drift. If you do this then if you
move the vessel's Initial Position in the wave direction, or if you change the data for the waves
(other than changing the simulation time origin), then you will normally also have to adjust the
phases of the slow drift. This is because such changes affect the global time at which a particular
part of the wave train will reach the vessel and hence will also affect the global time at which
maximum slow drift motion is achieved.
Time History
The Time History data only apply if the vessel's primary or superimposed motion, or both, are set to Time History.
Doing so allows you to specify the motion by giving a time history file. To do this:
- On the Calculation page set the primary motion or superimposed motion data item (or both) to Time History.
- Create a tab-delimited text file containing the time history motion you want, as described below.
- On the appropriate Time History page, set up the time history data as described in Data in Time History Files.
Contents of Time History File
The time history file must contain a time column and columns for all 6 degrees of freedom of the vessel.
- For primary time history motion these are Primary X, Primary Y, Primary Z, Primary Rotation 1, Primary
Rotation 2 and Primary Rotation 3. These are the positions of the Datum Point measured relative to the global
axes.
- For superimposed time history motion the degrees of freedom that must be specified are Surge, Sway, Heave,
Roll, Pitch and Yaw. These are the positions of the Datum Point measured relative to the primary position of the
vessel, as specified by the vessel's primary motion.
For details of how rotations are applied, see order of application of rotations.
The time values in a vessel time history file need not be equally spaced. The units used for all the columns must be
the same as those used in the OrcaFlex model, so the time values must be in seconds and angles in degrees.
Because the superimposed time history motion defines the position of the Datum Point, measured in the primary
motion frame, your time history data for the Surge, Sway, and Heave motion must be inclusive of the offset of the
Datum Point from the vessel's local origin. That is, if your time history data are defined as the displacement of the
Datum Point away from its initial position you need to add in the offset of the Datum Point, from the vessel's local
origin, into your time history data.
For further details of the file format see Time History Files.
Notes: If there is any wave-generated motion present in a vessel's time history motion then the OrcaFlex
wave data needs to match the wave that generated that motion. If you have suitable data for the
wave elevation then you can use that to specify the wave by time history. This can be done either in
a separate time history file for the wave or else in an extra column in the vessel's time history file.
The position and velocity specified by a time history file for the start of the simulation (i.e. for
SimulationTime = -BuildUpDuration) will not, in general, match the static state from which
OrcaFlex starts the simulation. To handle this OrcaFlex uses ramping during the build-up stage to
smooth the transition from the static state to the position and motion specified in the time history
file.
Externally Calculated Primary Motion
The externally calculated primary motion data only apply if the vessel's Primary Motion is set to Externally
Calculated. It enables you to impose a motion on the vessel that is calculated programmatically in your own
external function. Typically the calculation will be based on values of variables as the simulation proceeds
otherwise it is preferable to use a time history to impose a pre-calculated motion.
To use externally-calculated primary motion:
- On the Calculation page of the vessel data form, set the Primary Motion to be Externally Calculated.
- In the External functions section of the Variable Data form, set up an variable data source that specifies the
details of your external function.
- On the Primary Motion page of the vessel data form, set the Externally calculated primary motion to the
external function variable data source that you have set up. Also set the Origin to the vessel axes coordinates of
the point on the vessel whose motion your external function specifies.
Unlike most standard external functions, the externally calculated primary motion external function returns
multiple values per call: position, orientation, velocity, angular velocity, acceleration and angular acceleration. These
w
System Modelling: Data and Results, Vessels
255
values are returned in a TExternallyCalculatedPrimaryMotionStructValue struct full details are given in
the OrcFxAPI help file.
Applied Loads
You can optionally include applied loads on a vessel.
You can apply to the vessel external Global Loads that do not rotate if the vessel rotates. These are specified by
giving the components of Applied Force and Applied Moment relative to global axes. These components can be
constant, vary with simulation time or be given by an external function. If the vessel rotates then the loads do not
rotate with it.
In addition, you can specify external Local Loads that do rotate with the vessel. These are specified by giving the
components of Applied Force and Applied Moment relative to vessel axes. Again these components can be constant,
vary with simulation time or be given by an external function. If the vessel rotates then the loads do rotate with it.
These are suitable for modelling thrusters, for example.
In both cases the Point of Application of the load is specified by giving its x,y,z coordinates relative to vessel axes.
Note: Applied loads will only affect vessel static position if the corresponding degree of freedom is
included in the static analysis, and will only affect the motion if the Primary Motion is set to one of
the calculated options which includes the degree of freedom.
Multiple Statics
The offsets for multiple statics calculations are specified here. Offsets are from the vessel's initial position and are
specified by giving a range of azimuth and offset values. For example:

The Azimuths table determines which directions are to be analysed. The Offsets table specifies how far in the given
direction the vessel is to be placed. With the above data, the offsets analysed by the multiple statics calculation are
as illustrated by the dots in the diagram below:
System Modelling: Data and Results, Vessels
w

256

Figure: Example Offsets
A diagram showing the selected offsets is drawn on the Vessel Offsets data form, to help visualise which offsets will
be analysed.
Drawing
Vessels are drawn as wire frames defined in the data as a set of Vertices and Edges. The Vertices are defined by
giving their coordinates relative to the vessel axes Vxyz. The Edges are lines drawn between two vertices.
For shaded graphics views, by default, the vessel is drawn using a solid, filled-in shape based on the vertices and
edges. As an alternative you can use the vertices and edges to define a frame like structure. If the edge diameter is
'~' then that edge will be used to build a filled in shape, otherwise that edge is drawn as a cylinder with the specified
diameter. Note that you can use a mixture of edge diameters (some defined, some set to '~') to combine both filled
in and framework shapes.
You can define wire frame drawing data in two places for the vessel and also for its vessel type. The vessel is
drawn by first drawing a wire frame based on the vertices, edges and pen specified for its vessel type (see the vessel
types data form). Then a further vessel-specific wire frame may be drawn, using any vertices, edges and pen that
you specify on the vessel's data form.
This allows you to specify a wire frame drawing of the basic vessel type, and then optionally add to it (possibly in a
different colour) a wire frame drawing of some equipment that is specific to that vessel. If the vessel length differs
from the vessel type length, then the vessel type wire frame is scaled accordingly. Note that either, or both, of these
wire frames can be empty (i.e. no edges) if desired.
The drawing data do not affect the mathematical model in any way they are purely for drawing 3D views. The
vertices and edges follow the motions of the vessel, and thus may be used to improve understanding of the motion
of the model. They can also be used to represent a spar or other equipment attached to the vessel, so that you can
then look for clashing with other parts of the system. For example during a simulation replay you can adjust the
viewpoint to look exactly along the edge of interest, and check visually if other parts of the model pass through it.
Shaded Drawing
By default, for shaded 3D Views, vessels are drawn using the wire frame data.
The wire frame drawing data comprises vertices and edges, but OrcaFlex needs a solid surface for the shaded
graphics representation. OrcaFlex uses the following procedure to generate this surface from the wire frame
vertices and edges.
First any edges with specified diameters (i.e. diameters not equal to '~') are drawn as cylinders. This allows you to
use such edges to visualise parts of the structure that are not solid, e.g. crane boom latticework. These edges are
now handled and are excluded from the remainder of the procedure.
0m 20m 40m 60m 80m 100m
180 deg
135 deg
90 deg
45 deg
0 deg
Vessel Initial
Position
X
Y
w
System Modelling: Data and Results, Vessels
257
The remaining edges are used to partition the vertices into sets of connected vertices. Two vertices are deemed to
be connected if there exists a path of edges between the two vertices.
Finally, for each set of connected vertices, the smallest convex hull enclosing the set is drawn.
This algorithm does not always generate the shaded drawings that you might expect. Consider the following two
wire frame vessels. When drawn in wire frame mode they look the same, but in shaded mode they differ.

Figure: Wire Frame and Shaded Drawing
For the green vessel the superstructure and the hull share vertices and so all vertices are connected. This results in a
single convex hull for all vertices being drawn. In the red vessel, the superstructure and hull do not share vertices
and so there are two distinct sets of connected vertices. This results in two separate convex hulls and a better
representation.
Alternatively the object can be represented by an imported 3D model by specifying the Shaded Drawing File. This
must be a Direct X format file, usually with the .x file extension. If you use a relative path then the path will be taken
as relative to the folder containing the OrcaFlex file.
System Modelling: Data and Results, Vessels
w

258
The Browse button allows you to specify the Shaded Drawing File quickly and also provides quick access to the
Orcina sample drawings via the Navigate to Orcina sample drawings button.
The Use Culling option is normally selected since it can provide a useful performance benefit. However, in order to
work it requires that the triangles defined in the .x file have their outward facing directions defined correctly. In the
unusual situation where the outward facing directions are not defined correctly then the .x file will not display
correctly. If this happens then typically sections of the model will be missing when drawn by OrcaFlex. Disabling the
Use Culling option resolves this problem.
Draw Size is provided to allow you to scale the drawing. All directions are scaled equally to arrange that the longest
side in the drawing is drawn to the specified Draw Size. This longest side is calculated by first fitting the smallest
possible cuboid around the vertices of the shaded drawing (these are defined in the .x file). This cuboid is aligned
with the shaded drawing's local axes. Then the length of the longest side of this cuboid is found.
Specify a value of '~' to display the drawing using the absolute coordinates as specified in the .x file.
Note: If you use a value of '~' for Draw Size then OrcaFlex uses the coordinates in the .x file directly. If
these coordinates use a different length units system from your OrcaFlex model then you should
specify the units used in the .x file by including an auxiliary file called AdditionalInformation.txt.
Examples of this can be found in the sample shaded drawings provided by Orcina.
Shaded Drawing Origin is provided because the shaded drawing and the vessel may have different origins. The
Shaded Drawing Origin defines the origin of the shaded drawing with respect to the vessel's local axis system.
Similarly Shaded Drawing Orientation allows you to reorient the shaded drawing to match the vessel's axis
system.
External Functions
Parameters
This data item specifies the External Function Parameters, a free form multi-line text field which is passed to any
external function used by the Vessel object.
Properties Report
The Vessel properties report is available from the popup menu on the data form. It reports the following:
Length
The length of the vessel.
Wave direction relative to vessel
The relative wave direction. If there is more than one wave train then the direction of the first wave train is used.
Statics force accuracy, Statics moment accuracy
These are only reported if the vessel is included in statics.
The static analysis searches for an equilibrium position for the vessel that is a position for which the resultant
force and moment on the vessel is zero. We refer to the resultant force and moment as the out of balance load.
Because computers have limited numerical precision the static analysis cannot always find a configuration where
the out of balance load is exactly zero. OrcaFlex accepts a position as a static equilibrium position if the largest out of
balance load component is less than the statics accuracy.
The Statics force accuracy equals Tolerance * vessel typical force and the Statics moment accuracy equals Tolerance
* vessel typical moment. The vessel typical force and moment are based on the forces and moments applied by
connected objects.
Reducing the Tolerance value will give a more accurate static equilibrium position, but will take more iterations.
OrcaFlex may not be able to achieve the Tolerance specified if it is too small, since the computer has limited
numerical precision.
6.7.3 Vessel Types
Each vessel has a vessel type that determines a lot of its data and which is defined on the vessel types form. You can
define a number of different vessel types and each type is given a name, which is then used on the vessel data form
to specify the type of that particular vessel.
Two different vessels can have the same type. To illustrate this, consider a model of a pipe being towed by two
identical tugs. This is modelled by creating a vessel type called 'Tug' and then creating two vessels, each of type
'Tug'. The RAOs, for example, are data of the 'Tug' vessel type, since they apply to both tugs. On the other hand the
two tugs differ in their positions and any prescribed motion, so these are properties of the individual vessel objects.
w
System Modelling: Data and Results, Vessels
259
You don't have to use all, or even any, of the vessel types you define. For example you can set up a data file that
defines a number of vessel types but has no vessels. Such a file can then act as a library of vessel types that can be
imported into other OrcaFlex data files.
Vessel Type Data
Draughts
For each Vessel Type you can enter data for several different Draughts, each draught having a user-specified Name.
Each vessel in the model must specify (on the vessel data form) which draught to use. It is not possible to use
different draughts at different times during the same simulation.
Some of the vessel type data apply to all draughts, but a lot of the data are draught-dependent and so separate data
are defined for each defined draught.
Properties Data
The vessel type data are then specified on the following separate pages of the data form:
- Structure data defines the length of the vessel type (same for all draughts) and its mass, inertia and centre of
gravity (draught-specific).
- Conventions define the meaning of the RAO and wave drift QTF data. The conventions apply to all draughts.
- Displacement and Load RAO data. Separate RAOs for each different draught.
- Wave Drift QTF data. Separate QTFs for each different draught.
- Stiffness, Added Mass and Damping data. Separate values for each different draught. Wave radiation damping is
specified here.
- Other Damping data. For modelling other sources of damping, e.g. viscous roll damping. Separate values for each
different draught.
- Current and Wind Load data. Separate values for each different draught.
- Drawing data. A single set of drawing data applies to all draughts.
Default Vessel Type Data
When you create a new vessel type, it is given initial default data that corresponds to a particular 103m long tanker.
You should replace this with accurate data for the vessel you are modelling.
If your vessel is similar to the default data tanker then you might find the default data useful, but only if you have no
better data available. OrcaFlex automatically Froude scales vessel type data to the vessel length you specify, so if you
have no better data available then this default data might still sometimes be useful even if your vessel is a different
length tanker, but is otherwise similar. However note that the default data tanker has a significant heave resonance
in beam seas at 7s period.
The default data was obtained as follows.
- The default structure data, wave load RAOs, wave drift QTFs, stiffness, added mass and damping, and other
damping data all come from an NMIWave diffraction analysis of a 103m long tanker in 400m water depth. The
tanker used in this analysis had the following properties: Length Between Perpendiculars 103 m, Breadth 15.95
m, Draught 6.66 m, Transverse GM 1.84 m, Longitudinal GM = 114 m, Block Coefficient 0.804. The diffraction
analysis used 8% extra damping in roll about CG, which is modelled in OrcaFlex using non-zero linear other
damping.
- The default displacement RAOs have been calculated from the first order wave load RAOs and the stiffness,
added mass and damping matrices.
- The default hydrodynamic and wind drag coefficients are based on graphs given in the standard OCIMF book.
Note that the OCIMF book gives different coefficients for different vessel types and draughts. The default vessel
type data are approximate averaged deep water coefficients, and they have been rounded to only 1 or 2
significant figures.
- The hydrodynamic and wind drag areas and area moments are set for the above 103m tanker. The wind drag
areas are based on an assumed average upperworks height of 12m for surge and 9m for sway.
- The vessel origin for these default data is on the centreline at midships and at the mean water level.
System Modelling: Data and Results, Vessels
w

260
Note: Some default data values have been taken directly from NMIWave output, and so have only the few
significant figures that are included in the NMIWave output file. But other default data have been
derived from NMIWave output values by calculation (for example non-dimensional NMIWave
output values needed dimensionalising for use in OrcaFlex, and the default displacement RAOs are
derived from the load RAOs, stiffness, added mass and damping matrices). Because of this, the
derived default data values have many decimal places, but they are really no more accurate, since
they are derived from NMIWave output values with only a few significant figures.
Structure
Vessel Type Length
The length between perpendiculars of the vessel type. If the vessel length differs from this, then the length value is
used to scale all the vessel type data to the length of the vessel, using Froude scaling.
Note: Some old OrcaFlex data files may contain vessels with the default value '~' for the vessel type
length. This value is no longer permitted and will now cause an error if you attempt to run a
simulation. In this case, you should replace the '~' with an appropriate value for the length of the
vessel type. This value is only used if Froude scaling is required for any vessels of this type.
The remaining data on the Structure page on the vessel type form are described below and are draught-specific, i.e.
there are separate values for each draught. These data only affect the vessel motion if the vessel Primary Motion is
set to Calculated (3 DOF), Calculated (6 DOF) or Externally Calculated.
Mass and Moments of Inertia
The vessel type's mass and its moments of inertia about axes through the CG in the vessel x, y and z directions. This
should include the structural and contents mass and inertia, but not the added mass, which is specified on the
Stiffness, Added Mass and Damping page.
Centre of gravity (CG)
The coordinates of the vessel type's centre of mass, relative to vessel axes.
Conventions
The conventions page (on the vessel types data form) contains settings that define the meaning of the RAO, QTF, and
(in the case of the direction conventions) stiffness, added mass and damping data. This enables you to enter these
data directly from many other programs without having to convert the values between different sets of conventions.
Instead you can tell OrcaFlex the conventions that apply to those data and OrcaFlex will then automatically allow for
those conventions when it uses the data.
Warning: In general, the conventions apply to all RAO and QTF data. You cannot mix data with differing
conventions in the same model (but see rotational RAOs below).
Although RAOs are simple enough in principle, a number of complications make them notoriously error-prone and
difficult to check in practice. The main issues are:
- Different coordinate systems.
- Different definitions of phase angle and rotational RAOs.
- Use of vessel symmetry, e.g. to obtain motions in seas from the port side given data for seas from the starboard
side.
OrcaFlex provides easy ways of handling these problem areas.
The use of differing coordinate systems and conventions by different suppliers of data is the main source of
confusion. It is vital that you know the conventions that apply to the RAO tables that you are using. Unfortunately,
not all RAO tables fully document the conventions used: see RAO data checklist for help finding out what
conventions apply to your data and see Checking RAOs to check that the conventions are set correctly.
Translational RAO Conventions
Translational displacement RAOs are always non-dimensional (e.g. metres/metre or feet/foot).
Translational load RAOs are always given as force per unit wave amplitude (e.g. kN/m).
Rotational RAO Conventions
Roll, pitch and yaw displacement RAOs may be specified using one of the following three possible conventions:
- As rotation angles per unit wave amplitude. The values are dimensional, e.g. in degrees/metre, radians/foot
etc.
w
System Modelling: Data and Results, Vessels
261
- As rotation angles per unit maximum wave slope. Maximum wave slope is the true maximum slope of the
wave surface, which is H/L radians (= 180H/L degrees) for wave height H and wave length L. The values are
non-dimensional, which can be thought of as either degrees/degree or radians/radian which, of course, are
equivalent.
- As rotation angles per unit wave steepness. Wave steepness is a commonly used angular measure of a wave,
defined by steepness = H/L radians (= (180/)H/L degrees). The values are again non-dimensional, i.e. either
degrees/degree or (equivalently) radians/radian, but of course the RAOs are numerically larger (by a factor of
) than those using the maximum wave slope convention.
In each case, the angles of rotation may be given in either degrees or radians; the convention on the data form
should be specified accordingly. For the two non-dimensional cases, the units (degrees or radians) of the max wave
slope or wave steepness must be the same as those for the angles of rotation. Note that, so long as the units are
consistent in this way, the actual numerical values for these non-dimensional RAOs are the same regardless of
whether the unit selected is degrees or radians.
Rotational load RAOs must be given as moment per unit length (e.g. kN.m/m), and rotational QTFs as moment per
unit length squared (e.g. kN.m/m
2
). Therefore, the degrees/radians switch and the unit amplitude / steepness /
maximum slope switch do not apply to load RAOs. This is the exception to the above rule that the conventions apply
to all RAOs and QTFs.
Warning: If rotational displacement RAOs are given relative to wave slope or steepness, then OrcaFlex
(internally) converts them to be relative to wave amplitude using the deep water wavelength, not
the wavelength for the water depth specified in the model.
Waves are referred to by
The RAO and QTF data can be specified by period in seconds, by angular frequency in radians/second or by
frequency in Hertz.
RAO & QTF Phases
The RAO & QTF phase convention is specified by 3 data items:
1. Phases are either leads or lags.
2. Phases are specified either in degrees or radians.
3. The phase defines the time at which the maximum positive value of the motion occurs. This is relative to the
time at which the wave crest, trough, zero up-crossing or zero down-crossing passes the phase origin.
Note: These phase conventions do not apply to Newman approximation Wave Drift QTFs, since they are
entered without any phase information. But the phase conventions do apply to Full difference-
frequency and sum-frequency QTFs.
Directions
You must specify the directions that correspond to positive motion or load in the RAO and QTF data, and in the
stiffness, damping and added mass matrices. The most common convention is as given by the default OrcaFlex
vessel type: a right-handed system with Z upwards and clockwise rotations being positive.
Symmetry
You can specify symmetry of the vessel type. OrcaFlex will then use the user-specified RAO/QTF tables for wave
directions on one side of the symmetry plane to derive tables for the reflected directions on the other side of the
plane, or in the case of circular symmetry to derive the RAOs/QTFs for any arbitrary direction from the single
direction given. Other damping is also treated in two different ways, depending on whether circular or non-circular
symmetry is selected.
The Symmetry can be set to:
- None: The vessel type has no symmetry. The directions specified must cover all the wave directions used in the
simulation.
- XZ plane (or YZ plane): This specifies that the XZ (or YZ) plane through the RAO origin is a plane of symmetry.
For each direction given OrcaFlex uses symmetry to derive tables for the reflected direction on the other side of
the plane.
- XZ & YZ planes: This specifies that both the XZ and YZ planes through the RAO origin are planes of symmetry.
For each direction given OrcaFlex uses symmetry to derive tables for the reflected directions in the other 3
quadrants.
- Circular: This specifies that the vessel has circular symmetry about the RAO origin. RAO/QTF tables can only be
given for one wave direction, and OrcaFlex uses symmetry to derive tables for all other directions.
System Modelling: Data and Results, Vessels
w

262
Warning: If you specify some planes of symmetry then all the RAO origins, QTF origins and phase origins
must be on all the planes of symmetry. Or if you specify circular symmetry then all the RAO origins,
QTF origins and phase origins must be on the vertical axis of symmetry.
RAOs
OrcaFlex uses two different types of RAO (response amplitude operator): Displacement RAOs and Wave Load
RAOs.
Displacement RAOs are specified on the Displacement RAOs page on the vessel type data form. They define the 1
st

order motion of the vessel in response to waves of given period and amplitude. They are only used if the vessel
superimposed motion is set to RAOs+Harmonic. In the dynamic analysis the vessel moves harmonically, in all 6
degrees of freedom, about its primary position. These harmonic motions are specified by giving the RAO amplitudes
and phases, for all six degrees of freedom, usually for a range of wave periods and directions. For further
information see RAOs and Phases.
Wave load RAOs are specified on the Load RAOs page on the vessel type data form. They define the 1
st
order wave
force and moment on the vessel due to waves of given period and amplitude. They are only used if the 1
st
order
wave loads are included for the vessel and they only affect the motion if the vessel primary motion is set to one of
the calculated options. For further information see Vessel Theory: Wave Load RAOs.
The two types of RAOs are specified in very similar ways, using the following data. And for both there is a Check
RAOs button that provides RAO graphs that help detect errors.
RAO Origin
The RAO origin is the point on the vessel whose motion is defined by the RAOs. The RAO origin is specified by giving
its coordinates with respect to the OrcaFlex vessel axes (not the directions specified on the Conventions page). It is
commonly, but does not need to be, at the centre of gravity. Different draughts can use different RAO origins.
RAO Phase Origin
The RAO phase origin is the point on the vessel to which the RAO phase values are relative. It is specified by giving
its coordinates with respect to the OrcaFlex vessel axes (not the directions specified on the Conventions page). The
phase values given in the RAOs must be relative to the time that a particular point on the wave (crest / trough / zero
up- or down-crossing, depending on the RAO phase conventions) passes the specified RAO phase origin.
Often the phase origin is the same as the RAO origin, i.e. the phases are relative to the time the crest or trough passes
the point whose motion the RAOs define. In this case the phase origin can be set to '~', meaning 'same as RAO
origin'. But note that some programs (one example being MOSES) generate RAOs where the phase origin is not
necessarily the same as the RAO origin.
RAO Data
RAO data can be specified for a number of different wave directions relative to the vessel, using the OrcaFlex
direction convention. This relative wave direction is the direction in which the wave is progressing, measured
positive from the vessel x-direction towards the vessel y-direction, and on the RAOs page of the vessel type data
form each RAO table is labelled with its associated direction.
To change the value of the wave direction for one of the RAO tables, select the tab for that table and edit the Selected
Direction. To insert a new wave direction after an existing direction, select the existing direction's page and click the
Insert Direction button. Similarly, the Delete Direction button deletes the currently selected direction.
For each direction, the RAO table covers a range of wave periods or frequencies, as specified in the conventions data.
The periods/frequencies need not be entered in order they will be sorted before use.
In the case of a circular symmetric vessel, RAOs are specified for only one wave direction OrcaFlex will derive
RAOs for all other directions.
RAO Interpolation/Extrapolation
On direction
You must provide RAO tables that include or span the wave direction(s) involved in the simulation. If RAOs are
required for a wave direction (relative to the low frequency heading of the vessel) for which an RAO table has not
been supplied, then OrcaFlex will use linear interpolation to obtain an RAO table for that direction.
Warning: Interpolation is likely to be poor if the interval involved is large. We therefore recommend that the
RAO directions defined cover all the wave directions that will be used and in steps of 30 or less.
On period
For regular wave analysis, RAO data are only needed for the appropriate wave period, or for wave periods either
side of that period. For random sea simulations, RAO data should be specified for a wide enough range of wave
w
System Modelling: Data and Results, Vessels
263
periods to cover the spectrum. The View Wave Components button (on the Waves page of the environment data
form) reports the wave frequencies that OrcaFlex will use to represent the spectrum.
Note: If the vessel length differs from the vessel type length then the RAO periods specified on the vessel
type form are Froude scaled, and it is these Froude scaled periods that must cover the actual wave
period(s).
Linear interpolation is used if RAOs are required for a period that is between the periods given in the table. We
strongly recommend that your RAO tables provide data for periods that include or span all the wave periods that
will be involved in the simulation.
For periods shorter than the smallest value in the table, OrcaFlex will assume a zero amplitude response at zero
period and apply linear interpolation between that and the shortest period value. If you specify an RAO for zero
period which has non-zero response, OrcaFlex will override this with a zero response, since a non-zero response at
zero period is physically implausible. In both of these cases, OrcaFlex will issue a warning. To avoid this warning,
simply specify a zero-amplitude response at zero period in your RAO tables.
For periods longer than the longest period specified in the table, OrcaFlex will use the RAOs specified for that
longest period specified. OrcaFlex will warn if there are wave components in the sea state that will be affected by
this. To avoid this warning, you may specify the RAO for period=Infinity, which for a free-floating vessel can be
derived from the knowledge that the vessel must follow the surface in a sufficiently long wave. See RAO Quality
Checks for details.
Complex-valued Interpolation
Note that RAO interpolation is done using the complex value representation of the RAOs, in which the RAO with
amplitude a and phase lag is represented by the complex number:
C(a,) = a.exp(-i)
For example, given RAOs (a1,1) for direction 1 and (a2,2) for direction 2 (where these are directions relative to
the vessel), then the interpolated RAO for the intermediate direction =(1+2)/2 is (a,), where:
C(a,) = [C(a1,1) + C(a2,2)] / 2
This gives better results than interpolating the amplitude and phase separately.
OrcaFlex first interpolates on period, to obtain RAO tables whose entries correspond to the wave component
periods. It then interpolates these tables on direction relative to the vessel (which will be changing during the
simulation if the vessel heading changes) to obtain the RAOs for the appropriate wave periods and directions. Both
of these stages are done using complex valued interpolation.
Obtaining the data
All of the above data can generally be obtained from the results of a diffraction program. OrcaFlex can import these
data directly from the output files of some specific programs (AQWA and WAMIT) and from generic text files with
OrcaFlex-specific markers added.
Wave Drift and Sum Frequency QTFs
The Wave Drift QTFs and Sum Frequency QTFs pages on the vessel type data form contain the Quadratic Transfer
Functions (QTF) data that OrcaFlex uses to calculate a wave drift load and sum frequency QTF load, respectively.
Wave drift load can be used to model vessel slow drift and for this reason is often referred to as slow drift load.
Different draughts of the vessel type have their own separate QTF data and QTF origins.
Wave drift loads can be important for moored vessels, since they include low frequency components that might
excite slow drift motion of the vessel on its moorings. Sum frequency loads include high frequency components that
can be important in systems with high frequency natural modes, such as ringing with TLPs.
Note: The wave drift load is only calculated for a vessel if the Wave Drift Load (2
nd
Order) option is
checked in the list of vessel Included Effects. And the sum frequency QTF load is only calculated if
the Sum Frequency Load (2
nd
order) option is checked in the list of vessel Included Effects.
Also, these loads will only affect the vessel motion if the vessel primary motion is set to one of the
Calculated options.
QTFs, like wave load RAOs, are specified in dimensional form and with respect to waves of unit amplitude.
Translational QTFs have units of force per unit length squared (F/L
2
), and rotational QTFs are moments per unit
length squared (F.L/L
2
).
See Vessel Theory: Wave Drift and Sum Frequency Loads for details of how OrcaFlex calculates second order loads.
System Modelling: Data and Results, Vessels
w

264
QTF Specification Method (wave drift only)
For the wave drift load (but not for the sum frequency load) OrcaFlex supports two calculation methods: Newman's
approximation and Full QTFs.
The full QTF method is generally preferable, but Newman's method requires much less QTF data, since it only
requires the 'diagonal' QTF data that specify the mean wave drift load. The Newman approximation then
extrapolates the mean wave drift QTFs to approximate the off-diagonal QTFs, which allows calculation of the slowly
varying part of the wave drift load. The Newman method may also be much less computationally intensive, meaning
that the practicality of using full QTFs needs to be assessed on a per simulation basis, such as by making use of the
guidance notes detailed in Vessel Theory: Wave Drift and Sum Frequency Loads.
The Newman method cannot be applied for the sum frequency load: in this case, the full QTF data and calculation
must always be used.
QTF Origin
The QTF origin is the point on the vessel to which the QTFs apply. The second order wave load is calculated based
on the wave conditions at the instantaneous low frequency primary motion position of this point, and wave drift
damping (if included) is calculated using the low frequency primary motion velocity of this point. The second order
wave load is then applied at this point.
The QTF origin is specified relative to the OrcaFlex vessel axes (not the directions specified on the Conventions
page).
QTF Phase Origin
This phase origin does not apply to wave drift QTFs specified using Newman's approximation. Full QTF phases are
specified relative to the time the wave passes this QTF phase origin. For details see QTF data for Full QTF Method
below.
The phase origin is specified by giving its coordinates with respect to the OrcaFlex vessel axes (not the +ve
directions specified on the Conventions page). It might often be at the same point as the QTF Origin, in which case
the phase origin coordinates can be set to '~', meaning 'same as QTF origin'.
QTF data for Newman's Approximation Method
When the Newman's approximation method is used, the user only specifies the diagonal terms of the full QTF
matrix. These are the mean wave drift QTFs, and on theoretical grounds they are real-valued. OrcaFlex then uses
Newman's approximation, the effect of which is that the off-diagonal QTFs are approximated by the geometric
means of the diagonal QTFs for the two directions and periods involved. For details see Vessel Theory: Wave Drift
Loads and Sum Frequency QTFs.
The QTF data for Newman's approximation are entered in a similar way to RAO data, as follows:
- For each draught, QTF tables are specified for each of a number of wave directions, specified using the Orcina
direction convention. To insert a new table use the Insert Direction button and to delete a table select that
table's page and then click the Delete Direction button. To change the direction associated with a table, select
that table's page and then edit the Selected Direction value.
- The direction conventions apply to the QTFs.
- If the vessel type has some symmetry (see the conventions page) then OrcaFlex automatically generates QTF
tables for all the reflected directions implied by that symmetry. You must provide QTF tables for enough
directions for OrcaFlex to have data (either user-specified or generated based on symmetry) for directions that
cover the wave directions the vessel will experience.
- Each QTF table consists of data for a range of wave periods or frequencies (depending on the convention
specified). You should provide data for periods that (after allowing for Froude scaling if the vessel length differs
from the vessel type length) cover the wave periods the vessel will experience.
- The QTF data will be interpolated on direction and period as required, in the same way as RAO data.
QTF data for Full QTF Method
When the Full QTF method is used, the QTF data are entered in a single table. The rows in the table can be specified
in any order, and the data specified in each row is:
- The first 2 columns specify the vessel-relative directions 1 and 2 of a pair of wave components. Directions can
be positive or negative, so for example directions 270 and -90 are equivalent.
- The next 2 columns specify either the periods 1 and 2, or the corresponding frequencies (in rad/s or Hz), of the
pair of wave components, governed by the 'Waves referred to' convention on the Conventions page of the form.
w
System Modelling: Data and Results, Vessels
265
- The remaining columns specify, for each of the 6 degrees of freedom, the amplitudes and phases of the QTF,
Q(1, 2, 1, 2), that apply to a pair of wave components with those vessel-relative directions and periods,
(1,1) and (2,2). The phases must be given in accordance with the conventions for phase and positive
directions on the Conventions page of the vessel type data.
The QTF amplitudes are the force or moment per unit wave component amplitude squared, so they have units of
F/L
2
(for surge, sway, heave) or F.L/L
2
(for roll, pitch, yaw).
The QTF phase values specify the phase timing of the peak +ve QTF load contribution in the +ve direction given by
the direction conventions, relative to the time that the wave crest, trough or zero down- or up-crossing occurs at
the low frequency primary motion position of the QTF Phase Origin. The +ve directions are specified by the
direction conventions on the Conventions page. Whether the phases are leads or lags; in degrees or radians; relative
to trough, crest, zero down-crossing or zero up-crossing; are all specified by the phase conventions on that
Conventions Page. The resulting total QTF load is then applied at the QTF Origin (which can be different from the
QTF Phase Origin, if needed).
You should provide data for directions and periods that (after allowing for Froude scaling if the vessel length differs
from the vessel type length) cover the wave periods the vessel will experience. The QTFs for wave component pairs
with other directions and periods are obtained using linear interpolation on period and direction; for details see
Vessel Theory: Wave Drift Loads and Sum Frequency QTFs.
The number of rows in the table can be altered by changing the Number of QTFs. Specific rows can be removed by
highlighting cells in the appropriate rows and pressing delete. The full QTF table will normally have a very large
number of rows. Let:
n = number of different directions specified
i = the directions specified, where i=1..n
n = number of different periods specified
i = the periods specified, where i=1..n
Then the complete full QTF data table for these directions and periods would have n
2
.n
2
rows. So for example, if
n=12 (30 intervals covering the full 360) and n = 26 (1s intervals covering periods from 5s to 30s), then the
complete full QTF table would have 12
2
.26
2
= 97344 rows. This amount of data clearly cannot be typed in. It can
either be imported (see Import QTFs) or else pasted into the table from a separate source, such as Excel.
However, the number of data rows may often be less, for one of the following 3 reasons.
1: Uni-directional or Bi-directional Full QTF data
Some diffraction programs only output QTFs for pairs of wave components with the same direction, whereas the
output from other diffraction programs also includes QTFs for pairs of wave components with different directions.
We call these two types of QTF data uni-directional and bi-directional, respectively.
OrcaFlex allows you to enter QTF data of either type, and automatically detects whether you specify uni-directional
or bi-directional data, as follows:
- OrcaFlex will treat the QTF data as bi-directional if there are any rows in the full QTFs table with 1 2. In this
case you must specify data rows for all n
2
combinations of directions.
- OrcaFlex will treat the QTF data as uni-directional if there are no data rows with 1 2. In this case the QTFs
are being specified only for the n direction pairs (i, i), i=1..n, so the number of rows in the full QTF table is
reduced by a factor of 1/n. But for any pair of wave components that have different directions, 1 2, OrcaFlex
will now have to approximate, by using QTF = Q(mean, mean, 1, 2) for that pair, where mean is the direction that
is half way (modulo 360) between 1 and 2. It is therefore preferable to provide bi-directional, rather than
uni-directional, full QTF data when the sea state includes multiple wave directions.
In both cases, OrcaFlex will use linear interpolation to obtain the QTFs for wave component directions not specified
in the table. This interpolation includes wrapping through 360, so for example if the directions specified are (-90, -
60, -30, 0, 30, 60, 90) then for direction 180 OrcaFlex will linearly interpolate between the QTFs given for
directions 90 and -90, since in the full circle of directions 180 lines half way between those directions. The range
of directions should therefore cover the range of wave component directions present in the sea state, and with a
sufficiently small direction interval for the accuracy wanted.
2: Vessel Type Symmetry specified in Conventions
OrcaFlex will use any Symmetry specified on the vessel type Conventions.
For uni-directional QTF data only, this reduces the number of directions n that need to be specified, as follows:
System Modelling: Data and Results, Vessels
w

266
- Symmetry = XZ plane: In this case the directions specified must all be on the same side of the XZ plane. That is,
either 0 ( mod 360) 180 for all directions , or else 180 ( mod 360) 360 for all . The QTFs for the
other half plane will be derived using the symmetry condition.
- Symmetry = YZ plane: In this case the directions specified must all be on the same side of the YZ plane. That is,
either -90 ( mod 360) 90 for all , or else 90 ( mod 360) 270 for all . The QTFs for the other half
plane will be derived using the symmetry condition.
- Symmetry = XZ and YZ planes: In this case the directions specified must all be in the same quadrant. That is, 0
( mod 360) 90 for all , or 90 ( mod 360) 180 for all , or 180 ( mod 360) 270 for all , or
270 ( mod 360) 360 for all . The QTFs for the other quadrants will be derived using the symmetry
condition.
- Symmetry = Circular: In this case only one wave direction must be specified. The QTFs for all other directions
will be derived using the symmetry condition.
For bi-directional full QTFs, vessel symmetry gives more complicated relationships in the QTF data, which do not
lead to simple reductions in the QTF directions that need to be specified. Because of this, with bi-directional QTFs
the user data must give the QTFs for all combinations of the directions specified, and the directions specified must
cover the full 360 range of directions.
Warning: If the vessel type symmetry defined in the Conventions includes a plane of symmetry, then when
specifying bi-directional full QTFs it is not sufficient to only specify directions on one side of the
symmetry plane. The full 360 range of directions must be supplied. And, of course, the QTF data
should obey the defined symmetry.
3: Entering Upper or Lower Triangle or Both
QTF theory shows that the complete complex-value sum-frequency QTF matrix must be symmetric and the
complete complex value wave drift (difference-frequency) QTF matrix must be conjugate-symmetric. That is, for any
i,j we have the following symmetry equations for the complex-valued QTFs:
Qd(i,j, i,j) = Qd(j,i, j,i)
*

Qs(i,j, i,j) = Qs(j,i, j,i)
where Qd is the wave drift QTF (subscript 'd' for drift or difference frequency), Qs is the sum frequency QTF
(subscript 's' for sum frequency) and superscript
*
denotes the complex conjugate. For details of the definition of
these complex value QTFs see Theory for Full QTFs.
OrcaFlex allows you to take advantage of this symmetry, if you want, by entering any of the following combinations:
- Upper triangle only: Enter QTF rows for all period combinations with 2 1, but no rows with 2 < 1.
- Lower triangle only: Enter QTF rows for all period combinations with 2 1, but no rows with 2 > 1.
- Both upper and lower triangles: Enter QTF data for the whole matrix; that is, enter rows for all combinations
of periods.
If only the upper or lower triangle is specified, not both, then OrcaFlex will use the symmetry equations above for
wave component pairs i,j that require QTFs from the unspecified triangle. This will reduce the number of rows by
almost a factor of 2. If the whole matrix is specified then OrcaFlex will enforce the symmetry conditions by using:
Qd(i,j, i,j) = [ Qd(i,j, i,j) + Qd(j,i, j,i)
*
]
Qs(i,j, i,j) = [ Qs(i,j, i,j) + Qs(j,i, j,i) ]
QTF Cutoff Period
The Full QTF method involves a double summation over all pairs of wave components in the sea state. This can be
very time-consuming, and many of the resulting QTF load contributions might have frequencies that are not
significant for the calculation wanted. If this applies to your model then you can reduce the amount of computation
by specifying a Cutoff Period. OrcaFlex will then omit QTF load contributions that are beyond that cutoff period, as
follows:
- For the wave drift QTF load, it is generally only the low frequency contributions that are significant, so OrcaFlex
will suppress QTF load contributions whose periods are less than the specified cutoff period. To include all the
QTF load contributions set the cutoff period to zero.
- For the sum-frequency QTF load, it is generally only the high frequency contributions that are significant, so
OrcaFlex will suppress QTF load contributions whose periods are greater than the specified cutoff period. To
include all the QTF load contributions set the cutoff period to Infinity.
Note that OrcaFlex tapers the cut off, by scaling down (instead of suppressing completely) contributions whose
periods are only up to 10% beyond the specified cutoff period. This is necessary since otherwise the QTF load would
w
System Modelling: Data and Results, Vessels
267
be a discontinuous function of the wave component frequencies, and this could give step changes in the QTF load
when wave drift damping is included.
Obtaining QTF data
All of the above data can generally be obtained from the results of a diffraction program. OrcaFlex can import these
data directly from the output files of AQWA and WAMIT, and for Newman QTFs many other diffraction program
output file formats can be imported if OrcaFlex-specific markers are first added to the file.
Warning: The settings on the conventions page apply to all draughts and they apply to both the vessel type's
RAOs and to its wave drift and sum frequency QTFs. If your RAO and QTF data are in different files
and use different conventions you will therefore need to take account of this, for example by
specifying the different convention systems for each in the files from which they are imported.
Sea State Disturbance RAOs
Introduction
By default, objects in OrcaFlex experience the undisturbed sea, as specified on the Environment form. In reality,
however, the presence of each of these objects will modify the undisturbed sea due to interactions between the
objects and the passing waves (e.g. wave radiation and diffraction). Relatively small objects, such as small buoys,
will cause only minimal disturbance to the sea state, but large objects such as vessels can significantly disturb the
sea state that is experienced by other objects nearby.
You can model the disturbance effects of a vessel (or a multibody group of vessels) by specifying Sea State RAO data
for the vessel type of the vessel. We call this vessel the disturbance vessel. Its disturbance effects can be applied to
nearby 3D buoys, 6D buoys and lines (including line attachments) by specifying, on the object's data form, that the
object is affected by this disturbance vessel. You can also view the disturbed sea surface on a 3D view, by specifying
a disturbance vessel on that view window's view parameters form. If an object's disturbance vessel is set to None,
which is the default value, then the undisturbed sea state is used.
This facility can be used to model effects such as wave shielding, where objects in the lee of a large vessel experience
smaller waves than they would otherwise be exposed to in clear water. But it might also be useful in other situations
where the presence of the vessel significantly affects the nearby sea state for example to model the vessel-driven
fluid motions experienced by an object that is very close to the vessel hull, or to model the sea state in a moonpool.
Sea State RAOs
The sea state effects of a disturbance vessel are specified on the Sea State RAOs page of that vessel's Vessel Type
data. The Sea State RAO data are velocity potential disturbance RAOs, from which OrcaFlex can calculate the sea
surface elevation, fluid velocity and acceleration in the disturbed sea state. Essentially they specify the amplitude
scaling and phase shift of the velocity potential of the disturbed wave components, relative to the incoming
undisturbed wave components, as a function of position and wave direction relative to the vessel, and also of wave
period. For more details see Disturbance RAO data below and Sea State Disturbance Theory.
Some vessel motion diffraction analysis programs can calculate sea state results at a grid of points near the vessel,
from which the OrcaFlex sea state RAO data can be derived. OrcaFlex can import such data from WAMIT output files.
As an alternative you can enter very simple sea state RAO data manually. For example you can model uniform
scaling of all wave component amplitudes by entering a single sea state RAO amplitude. This leaves the component
phases unchanged and ignores variation with position, wave period and direction. This amplitude scaling would
then be applied to all wave components, and at all positions, for any object whose disturbance vessel is set to this
vessel.
OrcaFlex will use interpolation, where necessary, to obtain the sea state disturbance RAO to use for any given wave
component at any given position.
Warning: OrcaFlex's sea state disturbance model is not valid for non-linear wave theories; a warning will be
issued if a non-linear wave train has been included in the model (although the model will still run,
ignoring the disturbance effects associated with the non-linear wave train).
Disturbed Objects
As well as specifying the disturbance effects of a vessel using the sea state RAOs described above, you also need to
tell OrcaFlex which objects are close enough to be significantly affected by that vessel's disturbance. You do this by
specifying, on the object's data form, the disturbance vessel that affects that object.
The following objects are able to experience the disturbed sea state generated by a disturbance vessel: 3D buoys, 6D
buoys, line sections and line attachments (clumps, drag chains, 6D buoys and stiffeners). You cannot apply
disturbance effects to other vessels in the model using this facility. Instead, to model inter-vessel disturbance effects
System Modelling: Data and Results, Vessels
w

268
you need to set up a multibody group of vessels, using the results of a multibody analysis from an external vessel
response program.
The disturbance vessel associated with a given object can be specified by selecting the name of the desired vessel
from a drop-down list on the object's data form. This drop-down list includes all vessels in the model for which you
have specified some sea state RAOs, plus the reserved keyword None. The value None means that the object
experiences the undisturbed sea state (as specified on the Environment data form) without disturbance effects from
any vessel.
The disturbance vessel is specified as follows:
- 3D and 6D Buoys: The disturbance vessel drop-down list is on the buoy data form.
- Lines: The disturbance vessel is specified on a per line section basis, on the Fluid Loads page of the line data
form.
- Line Attachments: It is not possible to independently specify the disturbance vessel for line attachments.
Instead the disturbance vessel of the attachment will be set to be the same as the disturbance vessel of the node
to which that attachment is connected. Note that this is also true if you create a 6D buoy line attachment, even if
the template 6D buoy specifies a different disturbance vessel on its data form.
Note: If the disturbance vessel specified for a line section is not None then all the nodes in that section,
including both the nodes at the ends of that section, are subject to that vessel's disturbance.
Because of this, two neighbouring sections of a line must not specify different disturbance vessels
unless at least one of them specifies None, since otherwise there would be ambiguity at the shared
boundary node between the two sections. You can work around this restriction by breaking one of
the sections into two sections. You then define the resulting intervening section to have just one
segment, and set that intervening single-segment section's disturbance vessel to None. This
removes the ambiguity at the section boundaries and ensures that all nodes in these sections still
experience disturbance from the intended vessels.
Visualising the Effects of Sea State Disturbance
The sea state disturbance due to the presence of a vessel can be visualised in a 3D view. This can be achieved by
specifying a disturbance vessel for the 3D view on the view parameters window. If a disturbance vessel is selected
then the waves shown in the 3D view will be calculated as if disturbed by the presence of this vessel.
The sea state results (e.g. sea surface elevation, fluid velocity) associated with individual objects (e.g. 6D buoys,
lines, etc.) will include the effects of any sea state disturbance if the associated object has a disturbance vessel
associated with it. It is also possible to select a disturbance vessel when viewing environment results.
Sea State Disturbance RAO data
The disturbance effects of a vessel (or a multibody group of vessels) are specified on the Sea State RAOs page of the
vessel type data form, in a table of velocity potential disturbance RAOs. For an overview see the introduction above.
The sea state disturbance RAO data specify the amplitude scaling and phase changes that the disturbance causes to
the velocity potential of the undisturbed wave components, as a function of five independent variables: the wave
direction (relative to the vessel), the wave period/frequency and the (x,y,z) coordinates of position (x, y relative to
vessel, z relative to mean sea level).
For points at mean water level (z=0) these disturbance RAOs are also the disturbance RAOs for the surface
elevation; see Vessel Theory: Sea State Disturbance for details.
From these data, using interpolation if needed, OrcaFlex calculates the disturbed velocity potential of each wave
component at any point. Since the velocity potential of a wave component completely determines all properties of
that component, OrcaFlex can then calculate the resulting disturbed sea surface elevation, fluid velocity and
acceleration.
The disturbance RAO data is specified in a table, the rows of which can be given in any order; OrcaFlex will
internally analyse and sort the data before using it. But you must not have two or more rows in the table that specify
RAOs for the same wave direction and the same period/frequency and the same position (all three coordinates),
since that would give ambiguous data.
The table has the following columns. The first 5 columns specify the wave direction and period, and the position in
the water; these are the independent variables. The remaining columns then specify the disturbance RAO data;
these are the dependent variables.
- Direction (): The heading of the wave component relative to the vessel.
- Period (T) or Frequency: The period or frequency, as specified by the vessel type's conventions, of the wave
component to which the disturbance RAO data applies.
w
System Modelling: Data and Results, Vessels
269
- Position (x,y relative to vessel origin, z relative to mean water): The position p=(x,y,z) of the point at which
the RAOs apply, relative to a horizontal frame of reference whose origin is at the mean sea surface level at the
low frequency horizontal position of the vessel origin, and whose axes are parallel to the low frequency vessel
primary heading axes. The z-axis is vertically upwards, so -z is the depth of the point below the mean sea
surface level.
- Velocity Potential Disturbance RAO Ampl. & Phase: The amplitude and phase of the velocity potential
disturbance RAO at position p for this wave direction and period/frequency. The RAO amplitudes are amplitude
ratios, and so are dimensionless. The phase values must be specified as either leads or lags, in either degrees or
radians, as specified by the phase conventions specified on the Conventions page of the vessel types data form.
- Velocity Potential Disturbance RAO Gradients: OrcaFlex also needs to know the gradients (spatial rates of
change) of the velocity potential RAOs described immediately above. OrcaFlex can estimate these gradients
itself, if needed, but if you have data available then it is better to specify the gradients as well as the RAOs
themselves. OrcaFlex therefore allows you to choose whether the disturbance RAO gradients are Calculated or
Specified.
Note: Some of the settings on the vessel type conventions page apply to sea state disturbance RAOs. The
conventions that do apply are whether Waves are referred to by period or frequency (in Hz or
radians/sec), and whether phases are specified as either leads or lags and in either degrees or
radians. The other conventions on the vessel types conventions page do not apply to this data.
Calculation or Specification of RAO Gradients
The spatial gradients of the disturbance RAO are required for the calculation of wave component properties from
the disturbed velocity potential. If these data are present, alongside the disturbance RAO amplitudes and phases in
your input data, then it is likely that choosing the gradients to be Specified will lead to a better representation of the
disturbed wave field.
Upon choosing Specified RAO gradients, you will need to provide amplitudes and phases for the x, y and z
components of the gradient of the velocity potential disturbance RAO. These spatial rates of change use the same x,
y, z directions as are used for the Position columns in the table, so they are the rates of change in the directions of
the vessel low frequency heading axes (the z-direction gradient is therefore the rate of change in the vertically
upwards direction). See Vessel Theory: Sea State Disturbance for details. Gradient data can be derived from sea state
results output by some vessel response diffraction programs, and this will normally be more accurate than using the
Calculated option. OrcaFlex will automatically import gradient data when importing sea state RAOs from WAMIT
output files.
If you choose Calculated RAO gradients, then the gradient columns are not shown in the RAOs table, and the
gradients will be estimated using finite-difference differentiation of the RAO data given in the previous columns. The
accuracy of this approximation will depend upon the resolution of the grid of (x,y,z) points at which the disturbance
RAO has been specified. A coarse grid with widely spaced positions will give greater approximation error.
Interpolation of Sea State Disturbance RAOs
Let {i, i=1n}, {Tj, j=1nT}, {xk, k=1nx} , {yl, l=1ny} and {zm, m=1nz} be the sets of distinct directions, distinct
periods and distinct x, y and z coordinates given for the five independent variables (the first five columns) in the
table.
Now consider a given wave component, of direction (relative to the vessel) and period T, in the sea state that has
been specified on the Waves page of the Environment data form. The wave direction, , and the period, T, will not in
general match any of the values {i, i=1n} and {Tj, j=1nT} given in the disturbance RAO table. This means that
OrcaFlex will need to interpolate between the specified disturbance RAOs to obtain the disturbance RAO to use for
each wave component in the sea state. This is a 2-dimensional (2D) interpolation, on wave direction and period.
In addition, the position (x,y,z) of a given disturbed object will not in general match any of the positions specified in
the disturbance RAO table. So for best accuracy OrcaFlex needs to also interpolate the disturbance RAOs on position,
as well as on wave direction and period. However, this is a 5-dimensional (5D) interpolation, which involves
significantly more computation.
OrcaFlex therefore provides the choice of whether to do 5D interpolation on Position, direction and period or 2D
interpolation on Direction and period only. The former is generally preferable, but entails greater computation
costs than the latter, and also requires that the positions specified in the disturbance RAOs table form a complete
grid.
Interpolation on Position, Direction and Period
If this option is chosen then, for each wave component (of period T and direction ) in the sea state, and at each
disturbed object position p = (x,y,z) at each time step, OrcaFlex will calculate the disturbance RAO for that object
System Modelling: Data and Results, Vessels
w

270
using a 5D interpolation on the independent variables , T, x, y, z that are defined by the first 5 columns of the
disturbance RAO table.
To do this OrcaFlex requires that those 5 columns of the disturbance RAO table specify a complete grid in the five
independent variables, where complete here means that there must be a row in the table for each possible
combination of the i, Tj, xk, yl, zm values that have been specified in the table. If this is not the case then OrcaFlex will
report an error. This means that there must be n.nT.nx.ny.nz rows in the table, so the volume of data becomes large
quite quickly.
The advantage of this interpolation scheme is that the disturbance experienced by an object will be updated as the
object moves relative to the vessel. The disadvantage is the requirement of a complete five-dimensional grid and a
possibly significant increase in simulation run time.
The interpolations on the independent variables, T, x, y and z, use linear Cartesian interpolation. If any of the values
lie outside the given grid of specified values then OrcaFlex will not extrapolate instead for that dimension OrcaFlex
will truncate using the specified value for the nearest edge of the grid. See Treatment of Values Outside the Range
Specified, below.
Interpolation on uses linear circular interpolation. It treats the specified directions as being arranged around the
full circle of possible directions (modulo 360), and linearly interpolates all values within that circle.
Interpolation on Direction and Period Only
If this option is chosen then OrcaFlex will not interpolate on position, and there is no requirement that the (xk, yl, zm)
positions specified in the table form a complete grid of positions. Instead, OrcaFlex will find the position (xk, yl, zm)
specified in the disturbance RAOs table that is closest to the position of that disturbed object at the start of the
simulation. It will then form an internal cut-down table of disturbance RAOs for that disturbed object, which only
includes those rows from the user's data that are specified at that nearest specified position. This nearest specified
point table does not include the position columns, and so only two independent variable columns remain: direction
and period.
OrcaFlex will then use this cut-down nearest specified point table to calculate the disturbance RAOs to use for that
disturbed object, using 2D linear interpolation on the direction and period columns, with no interpolation on
position. This option therefore does not account for any change in disturbance RAO due to movement of the
disturbed object relative to the vessel during the simulation.
As with the 5D interpolation on position, direction and period described above, period interpolation is linear
Cartesian and direction interpolation is linear circular. See also Treatment of Values Outside the Range Specified,
below.
The nearest specified point table must again be complete, but this time the condition only applies to the directions
and periods/frequencies specified. That is, the cut-down nearest specified point table must present rows for all
combinations of all the directions {i, i=1n} and periods {Tj, j=1nT} that it includes; otherwise OrcaFlex will
report an error. The number of rows in the cut-down table will therefore be n.nT (where n and nT are now the
numbers of distinct directions and periods in the cut-down table).
Interpolation on direction and period only is, in general, faster than interpolating on position, direction and period,
and requires less data to be entered in the table. However, interpolation on direction and period only will not be as
accurate in cases where any disturbed objects move significantly relative to their disturbance vessel(s) during the
simulation.
Treatment of Values Outside the Range Specified
If a wave component period, T, is outside the range of Tj specified in the table (the cut-down nearest specified point
table in the case of 2D interpolation), then OrcaFlex will not extrapolate the user's data. Instead it will use the data
specified for the lowest or highest period in the table, as appropriate. The disturbance RAOs specified at the lowest
and highest specified periods will therefore be used for all wave components with periods outside the specified
period range.
If 5D interpolation is being used, then values of x, y and z outside the ranges specified in the table are also treated in
this same way. So the disturbance RAOs specified at the edges of the grid of positions specified will be used
everywhere outside that grid.
Note that this treatment does not apply to the direction , since as explained above the direction interpolation is
done using circular interpolation modulo 360, so there are no lowest or highest direction values.
Sea State Disturbance Examples
The facilities described above provide quite a lot of flexibility for modelling sea state disturbance. Here are some
typical examples of how these facilities can be used.
w
System Modelling: Data and Results, Vessels
271
Using Sea State Data Calculated by an External Program
Some vessel response diffraction analysis programs can calculate and output sea state results from which
disturbance RAOs can be derived. One such program is WAMIT, and OrcaFlex can import the data directly from the
output files produced by WAMIT.
Notes: The sea state results output by WAMIT are not the velocity potential disturbance RAOs required by
OrcaFlex they are RAOs of the disturbed sea surface elevation, and of the fluid pressure and
velocity. But the velocity potential disturbance RAOs specified in OrcaFlex can be derived from the
WAMIT results and OrcaFlex does this conversion automatically when importing sea state results
from WAMIT output files.
If you import sea state RAOs for a multibody group of vessels, then OrcaFlex will import sea state
RAOs for each of the vessel types in the group. For details see Sea State Disturbance Data for
Multibody Groups.
To use sea state data calculated by other programs it would be necessary to convert the sea state data into the
disturbance RAOs that need to be specified in OrcaFlex. This would probably be best done programmatically. And it
should be possible to derive both the disturbance RAOs and their gradients from the external data, in which case
you need to choose Specified disturbance RAO gradients.
It will be more accurate to use full 5D interpolation on position, direction and period when using disturbance RAOs
derived from externally-calculated sea state data. However, 2D interpolation, on direction and period only, might
also be useful if it results in faster simulations.
Using Estimated Sea State Data
If externally-calculated sea state results are not available then estimated disturbance RAOs can be entered manually.
For example:
- Simple scaling, independent of direction, period and position: You can just specify a single row in the
disturbance RAOs table, and in that row specify any direction, period and (x,y,z) values. You then set the
disturbance RAO amplitude to be the scaling factor that you want applied to the undisturbed wave field, specify
zero for the disturbance RAO phase, and specify Calculated disturbance RAO gradients. With this disturbance
data OrcaFlex will simply apply the input scaling factor to all wave components when calculating fluid effects on
any disturbed objects that specify this for their disturbance vessel. A disturbance RAO amplitude of 1 therefore
corresponds to no disturbance: the object experiences the undisturbed wave. You could also apply a phase shift,
by specifying a non-zero disturbance RAO phase value, but that is less likely to be useful.
- Simple scaling, but differing for different disturbed objects: If you have several objects near the disturbance
vessel, then you can separately control the disturbance they see by having one row in the disturbance RAO table
for each disturbed object. You then specify (x,y,z) values corresponding to where each of those objects are at the
start of the simulation; and choose 2D interpolation, on direction and period only. For each disturbed object,
OrcaFlex will use the disturbance RAOs specified on the row whose specified position is nearest to that
disturbed object's position at the start of the simulation. So you can expose the different disturbed objects to
differing levels of sea state amplitude (and phase changes, if wanted).
Stiffness, Added Mass and Damping
Reference Origin
The origin to which the stiffness, added mass and damping matrices all refer, specified as coordinates with respect
to the OrcaFlex vessel axes.
Reference Origin Datum Position
The Z height of the reference origin above the mean water level, and the heel and trim (relative to horizontal), when
the vessel is in the datum position that was used to calculate the Displaced Volume, Centre of Buoyancy and
Hydrostatic Stiffness matrix.
Note that Z above mean water level is specified, rather than Z relative to global axes, so that the vessel type data are
independent of mean water level and the choice of position of global origin.
Displaced Volume and Centre of Buoyancy
The volume of water displaced by the vessel, and the position of the centre of buoyancy relative to vessel axes, when
the vessel is in its specified datum position. These data are used with the hydrostatic stiffness matrix to calculate the
net weight+buoyancy load on the vessel. See Vessel Theory: Stiffness, Added Mass and Damping for details.
System Modelling: Data and Results, Vessels
w

272
Free-Floating Equilibrium Datum Positions
If the datum position is a free-floating equlibrium position of the vessel, then the net weight+buoyancy load for the
datum position, Ld, will be zero (see Vessel Theory: Stiffness, Added Mass and Damping). For such cases the
Displaced Volume and all three coordinates of the Centre of Buoyancy coordinates can either be specified explicitly
or else they can all be set to '~'. For the latter case:
- If the displaced volume is set to '~' then it will be taken to equal the volume of water whose mass (using the
specified sea density) equals the specified structural mass of the vessel type.
- If the centre of buoyancy coordinates are all set to '~' then the centre of buoyancy will be taken to be on the
same vertical line as the vessel type centre of gravity when the vessel is in its datum position (this is sufficient
for OrcaFlex to calculate the buoyancy effects correctly). The centre of buoyancy cannot be partially specified:
'~' can only be specified for one of its coordinates if it is specified for all three coordinates.
Non-Free-Floating Equilibrium Datum Positions
If the datum position is not a free-floating equilibrium position then the Displaced Volume and Centre of Buoyancy
must be specified explicitly (not be '~'). This applies if the datum position used in the diffraction analysis that
calculated the hydrostatic stiffness data is a pulled-down or otherwise disturbed position in which the weight and
buoyancy forces do not balance. For example the datum position for a TLP is likely to be the pulled down position
due to its tethers. In such cases the Displaced Volume and Centre of Buoyancy must be specified explicitly.
Hydrostatic Stiffness
The hydrostatic stiffness matrix specifies how the net weight + buoyancy load varies with changes in position from
the datum position. The stiffness components are only specified for the heave, roll and pitch degrees of freedom; the
stiffness is zero for the other degrees of freedom. For details of the units of the data and the theory used, see Vessel
Theory: Stiffness, Added Mass and Damping.
The hydrostatic stiffness matrix must be specified with respect to axes through the specified Reference Origin in the
conventions directions, i.e. with respect to the directions specified on the conventions page of the vessel types form.
The hydrostatic stiffness only affects the vessel position in Static analysis if the vessel's Static Analysis is set to 6
DOF. And it only affects the vessel motion in a dynamic simulation if the vessel's Primary Motion is set to one of the
'Calculated' options.
Added Mass and Damping
The added mass & damping data specify the fluid loads on the vessel due to wave radiation effects. Theses loads will
only influence the motion of the vessel if the Primary Motion is set to one of the calculated modes, and Added Mass
and Damping is specified as an included effect on the vessel data form.
Note: There are other sources of damping that can be important. See Damping Effects on Vessel Slow
Drift for further information.
The added mass and damping matrices are specified in all 6 degrees of freedom (or 6N degrees of freedom for a
multibody group, where N is the number of vessels in the group). The matrices must be specified with respect to
axes through the specified Reference Origin in the conventions directions, i.e. with respect to the directions specified
on the conventions page of the vessel types form. For details of the units, and the theory used, see Vessel Theory:
Stiffness, Added Mass and Damping.
If manoeuvring load is specified as included on the vessel data form, then the constant added mass matrix, or the
longest-period added mass matrix if frequency-dependent data are specified, will be used in order to calculate the
manoeuvring load.
Added Mass and Damping Method
If you choose Constant for the Added Mass and Damping method, then single-valued added mass and damping
matrices will be used.
If you choose Frequency Dependent, then you may specify a number of added mass and damping matrices, each
pair corresponding to a particular given frequency or period. Whether you specify period or frequency values is
determined by the Waves are referred to by setting on the Vessel Type Conventions page.
If you use the Constant (i.e. frequency independent) method, then you should specify values that are appropriate to
the frequency of vessel motion you expect. To calculate slow drift motion of the vessel it is normally appropriate to
enter low frequency values. Otherwise values corresponding to the dominant wave frequency are perhaps more
appropriate. Clearly, if the vessel experiences a wide range of frequencies, the frequency-dependent method is more
appropriate and would be expected to give better results.
w
System Modelling: Data and Results, Vessels
273
If you use the Frequency Dependent method then you need to specify both the added mass and damping matrices,
and for a range of frequencies. Also, the added mass and damping data should be consistent in the sense that they
obey the Kramers-Kronig relations see Consistent Added Mass and Damping for details.
Cutoff Time
When you use frequency-dependent added mass & damping OrcaFlex has to calculate, at each time step of the
simulation, a convolution integral that in theory should integrate right back to the start of the simulation. This could
cause long simulations to run slower and slower as the simulation time progresses. But fortunately the impulse
response function involved in the integral decays to zero as the time lag goes to , so there comes a point beyond
which the rest of the integral can safely be neglected. OrcaFlex therefore truncates the convolution integral at a
user-specified Cutoff Time.
Truncating the convolution integral does introduce some approximation errors into the levels of damping and
added mass that are applied. These errors can be significant for small Cutoff Time values, and although the errors
become insignificant for large Cutoff Times this does require more calculation, and very large Cutoff Times can
greatly slow down a long simulation.
To help with this, OrcaFlex allows you to specify the Cutoff Time as '~', and then specify a damping level
approximation Cutoff Tolerance, as a percentage error relative to the largest damping level specified in the user
data. OrcaFlex will then automatically calculate the Cutoff Time that gives this level of approximation of the damping
levels; the approximation error on the added mass will be similar. (This automatic calculation is done by calculating
the Frobenius norm of the difference between the user-specified damping matrix and the effective damping matrix,
and setting the Cutoff Time to the value that sets the largest such error norm, over all frequencies, to be near the
specified tolerance percentage of the largest Frobenius norm of all the user-specified matrices.)
You can see the effect of the Cutoff Time by looking at the Report Vessel Response window to view the graphs of the
damping components. The damping graphs show two curves: one shows the idealised (user-specified) damping
values as a function of frequency, and the other shows the damping values realised by truncating the convolution
integral. The present value of the Cutoff Time (whether user-specified or automatically calculated) is shown in the
legend entry for the realised damping curve; the damping graphs enable you to see the approximation effect of
cutoff, and so judge whether this Cutoff Time is sufficiently long.
Of course there are a lot of such damping graphs one for each of the components of the damping matrix but it
will normally be sufficient to look at the diagonal components (surge-surge, sway-sway, etc.) for the vessel degrees
of freedom that you expect will be excited. You can also look specifically at the frequencies of oscillation that are
relevant to your simulations. For example, for slow drift simulations you can zoom in on the low frequency part of
the damping curves to see the effect of cutoff on the low frequency radiation damping level that will be applied. (At
low frequencies the radiation damping might be very small anyway and other sources of damping might be more
significant see Damping Effects on Vessel Slow Drift.)
Obtaining the data
All of the above data can generally be obtained from the results of a diffraction program. OrcaFlex can import these
data directly from the output files of some specific programs (AQWA and WAMIT) and from generic text files with
OrcaFlex-specific markers added.
Multibody Data
Introduction
The fluid loads on a vessel can be significantly affected by the presence of nearby vessels. For the hydrostatic and
potential theory loads (1st and 2nd order wave loads, stiffness, added mass and damping) these vessel interaction
effects can be calculated by diffraction/radiation programs. The resulting data can be imported into OrcaFlex, so
that simulations can be performed which include the interaction effects.
We refer to a set of hydrodynamically interacting vessels as being a multibody group. Each multibody group is
given a user-specified group name. You can define more than one multibody group if needed; for example if you
have a second separate group of vessels, which are close to each other but far enough away from the first group that
the hydrodynamic interactions between the two groups can be neglected. And you can have other vessels in the
model that are not part of any group, in which case the fluid loads they experience are not influenced by the
presence of other vessels.
Note: A multibody group is only needed if you want to include the interaction effects on the fluid forces
acting on the vessels. Interaction forces due to lines, links or winches connected between two
vessels are always included, whether the vessels are in a multibody group or not.
System Modelling: Data and Results, Vessels
w

274
Warning: Although you can include manoeuvring load on vessels in a multibody group, the manoeuvring load
on the vessel will not take into account the motion of the other vessels in the group. They will
simply be calculated in the same way as for a vessel that is not in a multibody group, except that
the added mass matrix coefficients used will be those of that vessel's diagonal block in the
multibody group's longest period added mass matrix. This could give quite poor modelling of the
manoeuvring effects.
Data for Multibody Groups
The data that are affected by being in a multibody group are the displacement RAOs, 1st order wave load RAOs, 2nd
order QTFs, sea state disturbance RAOs and the stiffness, added mass and damping matrices. These are all data of
the vessel type/draughts of the vessels involved, and because of this the group is actually defined by specifying that
the vessel type/draughts of the vessels involved are in a multibody group. You then specify vessel type data for
those types that includes the hydrodynamic interaction effects, and have one vessel in the model for each vessel
type/draught that is in the multibody group.
For all except the added mass and damping effects, there are no extra vessel type data involved in modelling the
interaction effects the interaction effects must be included by specifying, for each vessel type/draught in the
group, displacement RAOs, 1st order wave load RAOs and 2nd order QTFs that include the effects of the other
vessel(s) in the group. Normally these data can be imported from the results of a multibody diffraction analysis.
Of course data that are not in use do not need to be set up. For example the displacement RAOs only need to be set
up if the vessel involved has its Superimposed Motion set to Displacement RAOs + Harmonic. And the 1st order
wave load RAOs, 2nd order QTFs and added mass & damping data only need to be set up if those effects are included
in the vessel's Included Effects.
However for the stiffness, added mass & damping effects, the vessel interaction effects require the user to specify
new data. This is because the added mass and damping matrices must be specified for all pairs of vessels in the
group, not just matrices for each vessel. Because this requires more data, when a multibody group is used the
stiffness, added mass and damping matrices no longer appear on the vessel types data form they are instead on a
separate multibody data form. See Setting up a Multibody Group below.
Sea State Disturbance Data for Multibody Groups
The combined sea state disturbance of all the vessels in a multibody group can be modelled by specifying sea state
disturbance RAO data for any of the vessel types in the group, with the x,y position coordinates being specified
relative to the origin and x,y axes directions of the vessel of that type. This vessel can then be used as the
disturbance vessel for any chosen disturbed objects, and those objects will then experience the disturbance effects
of the whole group. The best choice would normally be to specify the sea state disturbance RAOs for the vessel type
of the vessel that will contribute the most significant disturbance, since the disturbance will be calculated using the
disturbed object's position relative to that vessel.
The vessel that generates the most significant disturbance will generally depend on the position of the disturbed
object, since any object is likely to be most affected by the vessel it is closest to. The vessel that is generating the
most disturbance could therefore be different for different disturbed objects. You can allow for this, if you wish, by
specifying sea state disturbance RAO data for more than one of the vessel types in the group. The disturbance that is
specified would be consistent between each vessel type, since they each account for the combined disturbance of the
whole group. However, the x,y position coordinates specified would differ between the vessel types, since they must
be relative to vessel origin and x,y axes directions of the vessel of that type. You can then choose, for each disturbed
object, which of those vessels is used as its disturbance vessel.
Note: If, for interpolation of the sea state RAOs, you want to use interpolation on position, direction and
period, then you need to arrange that the disturbance RAOs are specified at positions that form a
complete grid with respect to the vessel axes of the vessel type; for details see interpolation on
position, direction and period. This requirement affects the positions at which you calculate the sea
state RAO data to use, and if the vessel axes of the vessels in the group are not parallel then it might
also affect which vessel(s) you choose to specify sea state disturbance RAOs for.
If you import sea state RAO data, for example from the output file of a multibody WAMIT analysis, then OrcaFlex will
automatically set up sea state disturbance RAOs for each of the vessel types in the group. These separate sea state
RAO tables (one for each vessel type in the group) all specify the same disturbance effects those of the whole
group and they will only differ in that their x,y position coordinates will be relative to different origins and x,y axes
directions (those of the vessel of each vessel type in the group). As described above, you can then choose which
vessel to use as the disturbance vessel for any given disturbed object.
w
System Modelling: Data and Results, Vessels
275
Other Data for Multibody Groups
The following other data are also affected when using a multibody group:
- Froude scaling cannot be used with a vessel in a multibody group. Because of this the vessel Length specified
must either be '~' or be equal to the vessel type length.
- All the vessels in a multibody group must use the same setting for whether added mass & damping is in their
Included Effects. So the vessels in a group must either all include or all exclude added mass & damping.
- All the vessel type/draughts in a multibody group must use the same convention setting for how Waves are
referred to. So they must all refer to waves by period, or all by frequencies in rad/s, or all by frequencies in Hz.
- The Explicit integration method cannot be used if the model includes a multibody group. The Integration
Method must be set to Implicit.
- The Calculated (3DOF) option cannot be used for the Primary Motion of a vessel in a multibody group.
Setting up a Multibody Group
To set up a multibody group:
- On the Vessel Types data form, set up one vessel type/draught for each vessel in the group of vessels whose
interactions you want to model.
- On the Vessel Types data form, click the Multibody Data button. This opens the Multibody Groups data form.
- On the Multibody Groups form, specify the number of multibody groups you want to use (in many cases just
one) and give a suitable name to each group. Then select the group you want to specify data for, by clicking on
its name on the Multibody Groups form.
- On the Interacting Bodies page, specify how many vessel types/draughts are involved (one for each vessel in
the group), which vessel types/draughts they are, and the Stiffness, Added Mass & Damping Reference Origin
for each one.
- The Stiffness page of the Multibody Groups data form then specifies the hydrostatic stiffness data for each body
in the group, as described below. And the Added Mass & Damping page specifies the added mass and damping
matrices for the group, as described below. Normally almost all of these data can be imported from the results
of a multibody diffraction analysis. The exceptions are the Reference Origin datum positions (in some cases) and
the added mass & damping Cutoff time and Cutoff Tolerance.
- Finally, you need one (and only one) vessel object in your model that uses each vessel type/draught that you
have included in the group.
Note: The vessel type and draught combinations specified as the interacting bodies must be distinct you
cannot use the same type and draught combination twice in the same group, or in two different
groups. If you want to model interaction effects between two identical vessels with the same
draught then you should set up all the other data for that draught, and then create a copy of that
draught to use as the second interacting body. You can create a copy by selecting the draught
Name on the Vessel Types data form, and then pressing the Insert key; the new draught will inherit
all the data of the original.
Multibody Stiffness Data
The buoyancy and hydrostatic stiffness data for each body in a multibody group are exactly the same as for a vessel
type that is not in a multibody group see Reference Origin datum position, Displaced Volume, Centre of Buoyancy
and Stiffness.
Note: Vessel interaction effects can only influence the hydrostatic fluid loads on vessels if the multibody
group is in an enclosed volume of water. However OrcaFlex assumes that the vessels are in water
whose surface area is far larger than the waterplane areas of the vessels, so no vessel interaction
effects are included in the stiffness data for a multibody group in OrcaFlex and such effects are not
modelled.
Multibody Added Mass & Damping Data
The added mass & damping data are specified in the same way as for a vessel that is not in a multibody group see
Added Mass & Damping except for the following differences:
- The added mass & damping data for a multibody group must be frequency-dependent data the Constant
Added Mass and Damping Method is not available for use with a multibody group.
- The Cutoff time, Cutoff Tolerance and the Periods or Frequencies setting for which the matrices are specified,
are shared by all the vessel type/draughts in the group, so they must be the same for all of them.
System Modelling: Data and Results, Vessels
w

276
- The added mass and damping matrices for a multibody group are much larger than those a for a single separate
vessel type. They are 6N x 6N matrices (that is, have 6N rows and 6N columns), where N is the number of bodies
in the group. Each matrix is effectively an N x N block matrix, where the r,c block Mrc is a 6 x 6 matrix that
specifies the effect of motion of the c'th body in the group on the fluid load on the r'th body in the group r and
c denote the block row and column numbers within the whole multibody matrix. You specify the data by first
selecting the Row and Column vessel types, and then specifying the components of that block of the whole
matrix.
- The vessel impulse response, added mass & damping graphs are not available for a vessel in a multibody group.
Other Damping
There are various sources of drag or damping (the terms are often used interchangeably) on vessel motion. OrcaFlex
models most of these explicitly using data on the vessel type data form for each form of damping: current and wind
loads, wave radiation damping, wave drift damping. In addition to these, OrcaFlex also offers wave frequency Other
Damping, as a way to incorporate other sources of damping which do not fall into any of these categories. Viscous
roll damping, for example, is a wave-frequency effect which is not covered by any of these specific damping forms
and so would be modelled using Other Damping.
Other Damping is specified using the following data on the vessel type data form, all of which are automatically
Froude scaled to the vessel length if it differs from that of the vessel type. It will only be calculated if Other Damping
is specified as included on the vessel data form.
Reference Origin
The point on the vessel to which the Damping Coefficients refer. The relative velocity used to calculate the Other
Damping load is the value at this reference origin, and the Other Damping load is applied at this point. It is specified
by giving its coordinates relative to vessel axes.
Note: The Other Damping data only accepts coefficients for the diagonal terms of the damping matrix, so
no coupling effects (surge-pitch, sway-roll, etc.) are applied at the Reference Origin, and coupling
effects will only be included due to the offset of the reference origin from the vessel origin. The
Reference Origin should therefore be close to the overall centre of damping load, where such
coupling effects are small.
Damping Coefficients
Damping coefficients are specified for all six vessel degrees of freedom and are given relative to the vessel axes. Two
sets of coefficents are available, one for linear damping and one for quadratic. The details of how they are applied
are given in Other Damping Theory.
Note: The vessel type Symmetry convention affects how the quadratic coefficients are used. If the
symmetry is set to Circular, then the coefficients are used with a cross-flow drag model, with a
vertical axis. For other symmetry settings, the quadratic coefficients are used with a drag model
that treats each direction of motion independently.
For details of the damping force model see Other Damping Theory.
Current and Wind Loads
Current and wind drag loads on a vessel are loads due to the relative velocity of the fluid past the vessel. They can be
modelled using the data on the Current Load and Wind Load pages on the vessel type data form. If the length of the
vessel differs from that of the vessel type then the vessel type data will be scaled accordingly.
These loads are an important source of damping when modelling vessel slow drift. For a discussion of the various
damping sources see Damping Effects on Vessel Slow Drift.
The velocity used to calculate the drag loads is the relative low-frequency velocity of the fluid past the vessel. This
includes any current or wind velocity and the vessel velocity due to any low-frequency primary motion. The drag
forces and moments due to translational motion are modelled using the standard OCIMF method. The drag forces
and moments due to any vessel rate of yaw are modelled using yaw rate drag load factors. For details of how the
loads are calculated, see Vessel Theory: Current and Wind Loads.
Warning: The current and wind loads are based on theory for surface vessels and are not suitable for
submerged vessels.
Load Origin
The coordinates (relative to vessel axes) of the point on the vessel at which the current or wind drag loads are
calculated and at which they will be applied. This need not be at the vessel origin.
w
System Modelling: Data and Results, Vessels
277
The velocity used in the current drag load calculation is the current velocity at the load origin, minus any velocity of
the load origin due to low-frequency primary motion of the vessel. Note that if the load origin is above the water
surface then the current velocity used is that at the water surface.
The velocity used in the wind load calculation is the wind velocity (as specified by the speed and direction on the
Wind page on the environment data form), minus any velocity of the wind load origin due to low-frequency primary
motion of the vessel. Note that the wind velocity specified should be that at 10m above mean water level, since that
is the height used by the OCIMF vessel wind load model (see Wind Speed for more details).
Load Symmetry
Specifies what symmetry the vessel type has below (for current load) or above (wind load) the water line, about the
load origin. For XZ and YZ symmetry, OrcaFlex will use the symmetry to derive load coefficients for extra directions
generated by reflection in the specified vessel axes planes. For circular symmetry, you must specify coefficients for
one direction only and OrcaFlex will use symmetry to derive coefficients for all other directions.
Note: The symmetry for current drag, wind drag and RAOs (see RAO Symmetry) need not be the same,
though of course the symmetry for current drag would normally be the same as that for RAOs.
Areas and Area Moment
The surge and sway areas and yaw area moment that will be used to calculate the current or wind loads. For details
see Vessel Theory: Current and Wind Loads.
Coefficients
Load coefficients are specified for the vessel surge, sway and yaw directions. They depend on the direction of the
current or wind, and are given relative to the low-frequency vessel heading using the OrcaFlex direction convention.
OrcaFlex uses any symmetry specified to derive coefficients for other directions and then uses linear interpolation
to derive coefficients for intermediate directions.
Note: When the symmetry is XZ and YZ the yaw moments must be zero, so OrcaFlex forces zero yaw
coefficients in this case.
The View Coefficients button allows you to view the coefficients that will be used the blobs on the graph show the
coefficients you have specified plus any that OrcaFlex has derived using reflection, and the curve shows the
interpolated coefficients that will be used for intermediate directions. You should specify sufficient directions to
define the shape of the curve and to cover the range of directions that the vessel will experience.
Yaw Rate Drag Factors
The yaw rate drag factors only apply to the current load, not to the wind load. They model the yaw drag moment,
and any surge and sway drag forces, due to low-frequency vessel yaw rate.
For a slender ship, and if the load origin has been placed at the centre of the vessel, then the surge and sway drag
factors can usually be taken to be zero, and then yaw drag factor can be estimated based on the vessel length and
draught. See Drag Loads due to Yaw Rate for details.
Drawing
Drawing Data
Each vessel of this type is drawn as a wire frame, based on vertices and representing the vessel type, plus a wire
frame representing vessel-specific features. See Drawing.
Edge diameter (used only for shaded drawing)
For shaded graphics views, by default, the vessel is drawn using a solid, filled-in shape based on the vertices and
edges.
As an alternative you can use the vertices and edges to define a frame like structure. If the edge diameter is '~' then
that edge will be used to build a filled in shape, otherwise that edge is drawn as a cylinder with the specified
diameter. Note that you can use a mixture of edge diameters (some defined, some set to '~') to combine both filled
in and framework shapes.
System Modelling: Data and Results, Vessels
w

278

Figure: Wire frames with different edge diameter. A value of '~' is used for the wire frame on the left
and a value of 1m is used for the wire frame on the right.
Shaded Drawing
By default, for shaded 3D Views, vessels are drawn using the wire frame data.
The wire frame drawing data comprises vertices and edges, but OrcaFlex needs a solid surface for the shaded
graphics representation. OrcaFlex uses the following procedure to generate this surface from the wire frame
vertices and edges.
First any edges with specified diameters (i.e. diameters not equal to '~') are drawn as cylinders. This allows you to
use such edges to visualise parts of the structure that are not solid, e.g. crane boom latticework. These edges are
now handled and are excluded from the remainder of the procedure.
The remaining edges are used to partition the vertices into sets of connected vertices. Two vertices are deemed to
be connected if there exists a path of edges between the two vertices.
Finally, for each set of connected vertices, the smallest convex hull enclosing the set is drawn.
This algorithm does not always generate the shaded drawings that you might expect. Consider the following two
wire frame vessels. When drawn in wire frame mode they look the same, but in shaded mode they differ.
w
System Modelling: Data and Results, Vessels
279

Figure: Wire Frame and Shaded Drawing
For the green vessel the superstructure and the hull share vertices and so all vertices are connected. This results in a
single convex hull for all vertices being drawn. In the red vessel, the superstructure and hull do not share vertices
and so there are two distinct sets of connected vertices. This results in two separate convex hulls and a better
representation.
Alternatively the object can be represented by an imported 3D model by specifying the Shaded Drawing File. This
must be a Direct X format file, usually with the .x file extension. If you use a relative path then the path will be taken
as relative to the folder containing the OrcaFlex file.
The Browse button allows you to specify the Shaded Drawing File quickly and also provides quick access to the
Orcina sample drawings via the Navigate to Orcina sample drawings button.
The Use Culling option is normally selected since it can provide a useful performance benefit. However, in order to
work it requires that the triangles defined in the .x file have their outward facing directions defined correctly. In the
unusual situation where the outward facing directions are not defined correctly then the .x file will not display
System Modelling: Data and Results, Vessels
w

280
correctly. If this happens then typically sections of the model will be missing when drawn by OrcaFlex. Disabling the
Use Culling option resolves this problem.
Draw Size is provided to allow you to scale the drawing. All directions are scaled equally to arrange that the longest
side in the drawing is drawn to the specified Draw Size. This longest side is calculated by first fitting the smallest
possible cuboid around the vertices of the shaded drawing (these are defined in the .x file). This cuboid is aligned
with the shaded drawing's local axes. Then the length of the longest side of this cuboid is found.
Specify a value of '~' to display the drawing using the absolute coordinates as specified in the .x file.
Note: If you use a value of '~' for Draw Size then OrcaFlex uses the coordinates in the .x file directly. If
these coordinates use a different length units system from your OrcaFlex model then you should
specify the units used in the .x file by including an auxiliary file called AdditionalInformation.txt.
Examples of this can be found in the sample shaded drawings provided by Orcina.
Shaded Drawing Origin is provided because the shaded drawing and the vessel type may have different origins.
The Shaded Drawing Origin defines the origin of the shaded drawing with respect to the vessel type's local axis
system. Similarly Shaded Drawing Orientation allows you to reorient the shaded drawing to match the vessel
type's axis system.
Vessel length scaling
If the vessel length and the vessel type length are different then the shaded drawing is scaled accordingly. This
scaling is applied in addition to the scaling of the shaded drawing specified by the Draw Size.
RAO Data Checklist
To derive vessel point motions, you need to obtain data giving both RAOamplitudes and phases for the vessel for the
relevant wave period. You also need to know what conventions apply to your data; these may be documented with
the data, but sometimes you may have to deduce what they are. You should have answers to all the following
questions:
To what point on the vessel do the data apply?
This is the RAO origin and is often the vessel centre of gravity, but you need to be sure. If it is not specified check
with your data supplier.
To what point on the vessel are the phases relative?
This is the RAO phase origin and is usually, but not always, the same as the RAO origin.
Are the responses in dimensional or RAO form?
RAO form (i.e. for unit wave amplitude) is the most common; data giving dimensional form would have to also give
the associated wave amplitudes/heights. OrcaFlex will only accept RAO form.
In what form are the rotational roll, pitch and yaw RAOs?
Units such as degrees/metre or radians/metre (displacement RAOs), or kN.m/m (wave load RAOs), almost always
mean the rotational motions are relative to waves of unit amplitude.
Very rarely, rotational RAO amplitudes are given per unit wave height (i.e. double amplitude) check your data
source. In this case you will have to multiply the RAOs by 2 manually, before entry to OrcaFlex.
Units such as degrees/degree, radians/radian, or no units (displacement RAOs), or kN.m/radian (wave load RAOs),
imply rotational RAOs relative to waves of unit steepness or maximum slope.
For long wave periods in deep water, the rotational displacement RAOs in the wave plane (e.g. pitch in head or stern
seas) should tend to 1 for RAOs relative to unit maximum slope, or to pi for RAOs relative to unit steepness.
Are the phases in degrees or radians?
Unless you only have a small amount of data, this should be obvious from the range of phase values.
What directions are positive for surge, sway, heave, roll, pitch and yaw?
Often they are surge positive forward, sway positive to port, heave positive up, but some authors use heave positive
downwards. Roll, pitch and yaw are usually positive when clockwise about the positive surge, sway and heave
directions.
Most data sources use right-handed axes, but not all. OrcaFlex allows complete generality in its data input, but you
must find out how your data are defined.
w
System Modelling: Data and Results, Vessels
281
To what phase time origin are the phases relative?
OrcaFlex allows you to specify that the phases are relative to the time the wave crest, trough, zero up-crossing or
zero down-crossing passes the phase origin. The passage of the crest past the RAO origin is the most common phase
time origin, but you need to check and tell OrcaFlex see note on phase leads/lags below.
Are the phases leads or lags?
Phase conventions are sometimes documented by giving the formula used to represent the harmonic motion.
Commonly used ones are:
- A.cos(t - P) or A.cos(P - t) imply that phase P is a lag.
- cos(t + P') implies that phase P' is a lead.
Using sin rather than cos in the above formulae has no effect on whether the phases are leads or lags.
Checking RAOs
The Check RAOs button on the vessel types form allows a visual check on the RAO data for either displacement
RAOs or wave load RAOs. For a given draught and wave direction, it displays graphs (one for each vessel degree of
freedom) showing how the RAO and phase vary with wave period.
There are 3 types of graph available:
- Complex Values
- Amplitude
- Phase
Amplitude and Phase Graphs
These graphs provide a straightforward graphical representation of the RAO data as input on the Vessel Types data
form. The amplitude or phase is plotted on the Y axis of the graph. For the X axis you have the choice of plotting
period, frequency in rad/s or frequency in Hz.
Complex Value Graphs
The graphs initially show the RAOs for the currently selected draught and direction. You can switch to other
draughts and directions, either by using the navigation buttons at the bottom of the form to step through the data,
else or by selecting from the drop-down lists. You can change the scale of the graphs (double click on the graph and
change the ranges of the axes). This is useful if the curve does not initially fit on the graph.

Figure: Complex Value RAO Graph for Amplitude (R) and phase ()
The graph depicts the RAO data specified by the user for the specified RAO origin. The graph has two parts:
- A curve showing the RAO data specified by the user as a series of points joined in order of increasing period.
The curve starts from the 'short' wave response, which should have zero or very small amplitude, so the curve
should start from near the origin. Moving along the curve away from the origin corresponds to the wave period
increasing from zero. For surge, sway and heave, the other end of the curve is the 'long' wave RAO data specified
for period 'Infinity'. For roll, pitch and yaw, the RAO data for period 'Infinity' cannot (for technical reasons) be
included in the curve, so instead the other end of the curve is the RAO data for the largest finite period specified.
- A solid circle representing the expected long wave response limit for a freely floating vessel. See RAO Quality
Checks for details of the expected long wave RAOs.
0
0
R
|
System Modelling: Data and Results, Vessels
w

282
Warning: The expected long wave response limits calculated by OrcaFlex only apply to free-floating vessels.
Also, the yaw response limit only applies to slender vessels (i.e. vessels that are long in the x-
direction and narrow in the y-direction).
The purpose of the graph is help you check your RAO data the curve should normally be reasonably smooth and
tend towards the expected limit shown by the solid circle. See How to Check RAO Data for details.
The graph represents RAOs as points in polar coordinates (R,), where:
- R is the non-dimensional amplitude. For surge, sway and heave R is the vessel motion amplitude divided by the
wave amplitude. And for roll, pitch and yaw, R is the rotational response normalised with respect to maximum
wave slope i.e. it is vessel rotation amplitude divided by the maximum wave slope.
- is the phase lag, from the time the wave crest passes the user-specified phase origin until the maximum
positive motion occurs.
Note: Positive here means as in the OrcaFlex conventions (not necessarily the same as the vessel type RAO
conventions). So positive surge is forward, positive sway is to port, positive heave is up, positive roll
is starboard down, positive pitch is bow down and positive yaw is bow to port.
This polar coordinates way of representing RAOs is better than drawing separate graphs of amplitude and phase,
since it presents all the information on a single graph and also the resulting curves are smooth, whereas phase
graphs frequently show phase jumps.
How to Check RAOs
For each draught and wave direction, you should check that the curves on the Complex Value RAO graphs are
reasonably smooth and approach the circle, which is the expected long-wave limit for a free-floating vessel. Note
that:
- The curve may not approach the expected long wave limit if the RAO data do not include values for any long
waves. Wave periods over 20 seconds for ships, or 30 seconds for semisubmersibles, are considered to be
sufficiently long for this purpose.
- The curve might also not approach the circle if the vessel is not free-floating. For example the heave
displacement RAO amplitude of a tension leg platform will not approach the usual long wave limit of 1.
- The circle on the yaw graph only applies to slender vessels (i.e. long in the x-direction and narrow in the y-
direction).
- Smooth graphs can only be expected if the data includes RAOs for reasonably closely spaced periods.
As examples, consider the following three example graphs:

The first graph shows a typical, well-behaved set of displacement RAO data the curve is smooth and the long-wave
limit agrees with the expected value marked by the circle.
For a freely floating vessel, the second graph is clearly in error, since the curve does not lead to the expected long
wave limit. The RAO data for long waves (represented by the end of the curve) has the correct amplitude, but its
phase differs by 180 from the expected long-wave value (represented by the circle). There are two likely causes it
may be that the phase lead/lag convention data has been set wrongly (this would give a phase angle sign error) or
else that the convention data for the direction of positive motion has been set wrongly (this would give a phase
error of 180).
The curve on the third graph approaches the expected long wave limit, but then suddenly goes to zero. This suggests
that the RAO data for period 'Infinity' has not been set correctly and is zero.
1.5 1 0.5 0 -0.5 -1 -1.5
1.5
1
0.5
0
-0.5
-1
-1.5
1.5 1 0.5 0 -0.5 -1 -1.5
1.5
1
0.5
0
-0.5
-1
-1.5
1.5 1 0.5 0 -0.5 -1 -1.5
1.5
1
0.5
0
-0.5
-1
-1.5
w
System Modelling: Data and Results, Vessels
283
Common Problems
It is not unusual to be given RAO data for a vessel but not be given all the conventions that apply to the data. Below
are some common problems and their symptoms. But beware that several common problems have very similar
symptoms, so it is not possible to be sure what the problem is unless you are sure about most of the data's
conventions and only unsure about one. It is therefore important to get as much information as possible from the
original RAO data supplier.
- The quoted wave direction might be measured clockwise (viewed from above) from the x-direction, rather than
anticlockwise (which is the OrcaFlex convention). The effect would be a 180 shift in the sway, roll and yaw
phases.
- The quoted wave direction may be the direction the wave is coming from, rather than the direction it is
progressing towards (which is the OrcaFlex convention). The effect would be to negate all the phase values.
- The phases may be leads instead of lags (OrcaFlex will accept either see RAO Phase Conventions). The effect of
an error here would be to negate all the phase values.
6.7.4 Importing Hydrodynamic Data
The Import button on the vessel types form enables the import of data, in the form of results from common ship
response calculation packages, into OrcaFlex. Presently, OrcaFlex can import directly data which have been output
by AQWA and WAMIT. OrcaFlex can also import data from MOSES, Hydrostar/ARIANE and Wadam output files, as
well as others, after the addition of some markup text.
Pressing the Import button prompts you to select a file for import. When you do so, OrcaFlex will open the file and
analyse its content to to determine: what type of file it is (AQWA, WAMIT, or generic), what bodies/structures it has
data for, and what data it contains which OrcaFlex is capable of importing (any or all of: displacement RAOs, load
RAOs, QTFs, added mass and damping, hydrostatic stiffness, mass and inertia, other damping, seastate RAOs). You
will then see the Import Vessel Data form, which is where you can choose the destination Vessel Types and/or
Draughts for the data to be imported and check or set reference origins (see below for AQWA/WAMIT and for
generic text files), and select from a list which data you wish to import from the file:

Figure: Selecting data for import
Data types in this list which are disabled (greyed out) are so because either they are not present in the file or their
import from this type of file has not been implemented in OrcaFlex (or both). By default, all data types which are
present in the file and eligible for import are selected for import at this point: simply deselect any which you do not
wish to import. Having chosen your destination Vessel Types/Draughts, checked or set up origins, and selected the
data types you wish to import, click on the Import button to begin the actual import procedure. The imported data
are converted to match the prevailing vessel type conventions and scaled to match the units of the OrcaFlex model.
The remaining OrcaFlex Vessel Type data are not typically calculated by diffraction programs, so will need to be
System Modelling: Data and Results, Vessels
w

284
obtained from another source. Any OrcaFlex data for which there are not any corresponding data in the imported
file will not be changed.
Following the import, a Messages page will be created, which will indicate whether or not the import was successful
(if not, the original Vessel Type data will be retained) and will list any errors or warnings raised during the process.
You should take careful note of these, since they will have an impact on how the imported data have been
interpreted by OrcaFlex.
Importing data from AQWA and WAMIT
The Sources & Destinations page has the same form for both AQWA and WAMIT files, the only difference being in
the naming of the data sources: AQWA refers to Structures and WAMIT to Bodies.

Figure: AQWA/WAMIT Sources and Destinations
The table on this page will contain one row for each Structure/Body source in the import file. Usually there will be
only one, but OrcaFlex is able to import multibody data where it is given. For each source, you must select a Vessel
Type and Draught destination to where the data for that structure will be imported: each Vessel Type/Draught
combination in the table must be unique. Also given, though not editable here, are the coordinates of the Centre of
Gravity of the OrcaFlex Vessel Type/Draught, as a reminder that these data must be correct before import this is so
that the relation between the OrcaFlex vessel origin and AQWA/WAMIT origins can be determined and the
reference origins set appropriately.
For more details on the import procedure, see the specific topics on importing AQWA data and importing WAMIT
data.
Multibody Data
If the AQWA or WAMIT file contains multibody data, then you must also specify a destination Multibody Group
which will contain all the Vessel Type/Draught destinations in the list. This multibody group does not need to exist
beforehand: by default, OrcaFlex will create a new one. If you use an already-existing one, it will be emptied before
the new data are imported into it. Multibody stiffness and added mass and damping data are imported for the
members of the group.
When you import multibody data, the corresponding independent (ie non-multibody) data are also assigned as part
of the import process. These independent data, on the Vessel Types form, are hidden for a Vessel Type/Draught in a
multibody group; if you delete a Vessel Type/Draught from a multibody group, the independent data become visible.
Specifically, these data are the same stiffness and buoyancy data and the diagonal 6x6 blocks of the whole group
added mass and damping matrices.
If the import file contains data for a single body only, then the Destination Multibody Group will not be visible and
no multibody data will be imported.
w
System Modelling: Data and Results, Vessels
285
Importing data from generic text files
We use the term generic text files to refer to output from other diffraction software packages which has been
marked up with specific text that enables OrcaFlex to import the data. The following data may be imported from
such files:
- Displacement RAOs.
- Load RAOs.
- Newman QTFs.
- Frequency dependent added mass and damping matrices.
Multibody data can not be imported from these files. Hence only a single Vessel Type may be selected as the
destination for these data and, though multiple draughts are allowed, interacting vessel data are not imported. Also,
since OrcaFlex cannot determine the origin of vessel data in these files as it can for AQWA and WAMIT, you must
instead enter at the time of import the reference origins and phase origins, relative to the selected Vessel Type
origin, in OrcaFlex units and with respect to OrcaFlex Vessel axes:

Figure: Generic Sources and Destinations
The values of these reference origins will be assigned to the reference origins for the imported RAO, QTF and added
mass & damping data.
AQWA
AQWA results are output in dimensional form, to a text file with a .lis extension.
Units
OrcaFlex first attempts to determine the units in use in the file, from the values of g (acceleration due to gravity) and
(water density), and the knowledge that the unit of time is the second. If this is successful, then OrcaFlex will scale
the data (if necessary) from the units in use in the file to the units of the OrcaFlex model. If the units cannot be
determined, or if they are a mixture of SI and US, OrcaFlex will be unable to convert the data in this way: in this case,
the raw data will be imported from the file unscaled and a warning will be issued.
Reference origins
All of the AQWA data have their reference origin at the vessel centre of gravity. So OrcaFlex sets the RAO origins,
QTF origin, and reference origin for stiffness, added mass & damping to the value of the centre of gravity given on
the vessel types Structure page. You will need to ensure that this value is appropriate before importing the AQWA
data. RAO phase origins, likewise, are at the vessel centre of gravity, so are set appropriately by OrcaFlex.
System Modelling: Data and Results, Vessels
w

286
RAOs
Displacement RAOs are imported in a straightforward way. Load RAOs are imported including the Froude-Krylov
contribution. Since AQWA and OrcaFlex use the same conventions for vessel headings, RAO directions are read in
directly and require no adjustment.
QTFs
Wave drift QTFs are imported and, as with RAOs, no adjustment is necessary for directions. AQWA writes full QTFs
to a separate text file with the same name as the .lis file but a .qtf extension: if this .qtf file is present in the same
folder as the .lis file, OrcaFlex will automatically import the QTF data it contains. Newman QTFs are imported
directly from the .lis file.
Note: AQWA appears to write the full QTFs with the convention that the argument of their complex value
is a phase lead, though the harmonic data in the .lis file use the convention that phase is a lag.
OrcaFlex allows for this when importing .qtf files.
Stiffness, added mass and damping
AQWA outputs the whole 6x6 matrices for added mass and damping, but OrcaFlex uses only the upper right triangle
of each. You will receive a warning if any of these matrices, in the imported file, are significantly non-symmetric,
since OrcaFlex is unable to handle this.
The Z-component of the reference origin datum position is imported. Since AQWA does not give the heel and trim
values at the reference origin datum position, these values are set to zero: if necessary, you should edit these values
yourself.
The value of displaced volume is taken from the figure given by AQWA for "mesh-based displacement". Centre of
Buoyancy is read in if given in the AQWA file.
The heave, roll and pitch components of the hydrostatic stiffness matrix are imported. Again, only the upper right
triangle is used, and a warning is issued if the AQWA data are non-symmetric.
Note: AQWA may output the stiffness matrix twice, under the hydrostatic and hydrodynamic headings. If
so, and if the two matrices are not the same, a warning will be given and the 'hydrostatic' form will
be imported.
Other damping
Later versions of AQWA output what is labelled "additional damping (frequency independent)" as a 6x6 matrix.
OrcaFlex interprets this as other damping having a linear damping effect on the wave-frequency motion of the
vessel, and assumes that the same reference origin and direction conventions as for frequency-dependent damping
apply to these data. Only the diagonal values of the matrix are imported, since those are the only values OrcaFlex
allows for. In general these data are likely to be zero, with the exception of the roll-roll term.
Mass and inertia
Mass and moments of inertia are imported if requested, the latter from the diagonal elements of the inertia matrix
output by AQWA.
Seastate RAOs
AQWA does not output seastate RAOs, so this data item is not selectable for AQWA files.
Multibody data
If the file contains data for more than one structure, OrcaFlex will treat all the structures as being members of a
Multibody Group and import the multibody data accordingly.
WAMIT
WAMIT results are output in a text file with an .out extension. The data are almost all non-dimensional, the main
exceptions to this being g, acceleration due to gravity, and L, WAMIT's length scale which is used to non-
dimensionalise the data. WAMIT may offer results for some data types (Load RAOs, Newman QTFs, Full QTFs) from
various different calculation methods: the Requested data page of the Import Vessel Data form will allow you to
choose between the available methods:
w
System Modelling: Data and Results, Vessels
287

Figure: WAMIT Calculation methods
In this example, a choice may be made between the different calculation methods employed by WAMIT for the Load
RAOs and the Full QTFs. The Newman QTF results are present in this particular file for the Pressure Integration
method only, so the Control Surface method option is disabled and may not be selected in this case.
Note: WAMIT results for Newman QTFs obtained using the Momentum Conservation calculation
method are disregarded by OrcaFlex, since this method is intended for the ensemble slow drift
motion of a multibody group as a whole.
Units
The length unit in use in the file will be determined, if possible, from the value of g and the knowledge that the unit
of time is the second. If this is successful, then OrcaFlex will convert the data from non-dimensional to the units of
the OrcaFlex model, using WAMIT's length scale (converted to the length unit of the OrcaFlex model) and the
current OrcaFlex values of g (acceleration due to gravity) and (nominal water density), using the scaling factors
defined in the WAMIT user manual. If the length unit cannot be determined then the raw data will be imported from
the file unscaled and a warning will be issued.
Reference origins
All of the WAMIT data have their reference origin at WAMIT's vessel origin. OrcaFlex determines the position of this
origin, with respect to OrcaFlex's vessel origin, from the difference in the centre of gravity as given in the two
coordinate systems, and sets the RAO origins, QTF origin, and added mass & damping origin to have this value. (If
you choose the OrcaFlex vessel origin to be the same as the WAMIT vessel origin, then the coordinates of the centres
of gravity will coincide and the reference origins will all be zero).
In WAMIT, the phase origin is at the global origin, so the OrcaFlex RAO phase origins are represented by the
coordinates of the WAMIT global origin relative to the OrcaFlex vessel origin. We determine this by (i) expressing
the WAMIT global origin relative to the WAMIT vessel origin (i.e. in body-fixed axes), using the values of XBODY,
YBODY, ZBODY and PHIBODY in the WAMIT output file, and (ii) translating this value to be relative to the OrcaFlex
vessel origin, using the difference between the centres of gravity in the two systems.
You will therefore need to ensure that the centre of gravity is set appropriately in OrcaFlex before importing the
WAMIT data.
Note: In some cases, WAMIT does not output the horizontal position of the centre of gravity. If so, then
OrcaFlex will warn you of this, and you will need to set these reference origins yourself.
RAOs
Displacement RAOs are imported in a straightforward way. They are re-dimensionalised by multiplying by the
factor L
k
, k = 0 for i = 1,2,3; k = -1 for i = 4,5,6. WAMIT may calculate load RAOs in one of two ways, and either or
both methods (labelled "Haskind" and "Diffraction") may be present in the file. If both are given, you may choose
System Modelling: Data and Results, Vessels
w

288
either method and OrcaFlex will import the data for that method only. The re-dimensionalising factor for load RAOs
is gL
k
, k = 2 for i=1,2,3; k = 3 for i=4,5,6. The RAO directions in OrcaFlex are relative to the vessel, and are
determined by subtracting the value of PHIBODY in the WAMIT input file (the vessel heading at rest) from each of
the values of wave heading, which are given in WAMIT with respect to global axes.
QTFs
Wave drift QTFs are re-dimensionalised with the factor gL
k
, k = 1 for i=1,2,3; k = 2 for i=4,5,6. Directions are
adjusted in the same way as for RAOs.
WAMIT may calculate Newman QTFs in a number of different ways: Momentum Conservation, Pressure Integration,
and Control Surface. OrcaFlex is presently unable to import data resulting from the Momentum Conservation
calculation, so this method is disregarded. As with load RAOs, if data from more than one of the remaining methods
are present, then you will be given the choice of which to import.
Similarly, full QTFs (if included) are calculated by WAMIT in two different ways: a Direct and an Indirect method. If
data from both of these methods are present in the .out file, then you will be prompted to choose one of them; if both
difference and sum frequency QTFs are present, you will have to make this choice for each.
Notes: WAMIT outputs Newman QTFs for pairs of wave headings. OrcaFlex allows only uni-directional
Newman QTFs, so imports only the data for which the two headings coincide. This restriction does
not apply to full QTFs.
Stiffness, added mass and damping
WAMIT outputs added mass and damping as a list of (i,j) components. OrcaFlex imports these values, but uses only
the upper right triangle of each matrix. You will receive a warning if any of these matrices, in the imported file, are
significantly non-symmetric, since OrcaFlex is unable to handle this. Components for which an (i,j) value is not given
are assumed to be zero. The non-dimensional WAMIT values for added mass (a) and damping (b) are scaled to
dimensional (A,B respectively) values according to the formulae
Aij = L
k
aij
Bij = L
k
bij
where
k = 3 for i,j=1,2,3;
k = 4 for i=1,2,3, j=4,5,6 or i=4,5,6, j=1,2,3;
k = 5 for i,j=4,5,6 and
is the frequency in rad/s.
The heave, roll and pitch components of the hydrostatic stiffness matrix are imported.
The reference origin datum position is not specified by WAMIT, so you should edit this value yourself.
The displaced volume is taken as the median of the three estimates given by WAMIT. Centre of Buoyancy is read in if
given in the WAMIT file.
Mass and inertia
Mass and moments of inertia may be imported if available. Depending on the options chosen at the time of the
WAMIT analysis, these may take one of two forms in the output file
- an explicit 6x6 inertia matrix, which may be read in directly
- radii of gyration may be given instead for a free-floating vessel. In this case, OrcaFlex will calculate the inertia
matrix from these radii of gyration and displaced mass (= structural mass, since the vessel is free-floating) using
the formula given in the WAMIT user manual.
Having determined the full 6x6 inertia matrix by one of these two means, OrcaFlex will then transform this matrix
according to the difference (if any) between the WAMIT and OrcaFlex origins and extract the mass and moments of
inertia from the diagonal of the transformed matrix.
Seastate RAOs
WAMIT seastate RAO data take the form of absolute values of sea surface elevation, pressure and fluid velocity.
OrcaFlex requires velocity potential disturbance RAOs that are measured relative to the undisturbed wave, making
it easier to enter data manually and giving better-behaved interpolation. OrcaFlex will therefore convert the WAMIT
data into disturbance RAOs of the required form as part of the import process.
If you import sea state RAOs for a multibody group of vessels, then OrcaFlex will import sea state RAOs for each of
the vessel types in the group. For details see Sea State Disturbance Data for Multibody Groups.
w
System Modelling: Data and Results, Vessels
289
Multibody data
WAMIT writes interacting multibody added mass and damping data to a separate file, with the same name as the
.out file but the suffix '.1'. If this file is present in the same folder as the .out file, OrcaFlex will import the data it
contains and re-dimensionalise them in the same way as the independent added mass and damping (described
above), using the scaling factors and units as determined from the .out file.
WAMIT also outputs interacting hydrostatic stiffness matrices, but OrcaFlex does not allow for this interaction. The
hydrostatic stiffness data imported are those in the .out file which do not include interaction effects.
Generic Text Files
You can use generic text files to import data from, for example, a ship response calculation program other than
AQWA or WAMIT, or from model test results, so long as the data in the file are in tabular form and you add the
appropriate markers to the file to indicate the data to OrcaFlex.
The file must contain data for one or more named draughts. If any of these draughts does not already exist for the
selected vessel type, it will be created at the time of import with the default OrcaFlex Vessel Type data. If any named
draught does already exist, then any data it contains of the same type as that given in the text file will be deleted.
Data of other types for these draughts will not be affected. So, for example, if your text file contains only
displacement RAO data, then importing these data will not have any effect on load RAOs, QTFs, or any other data for
that draught. If the draught already exists, then the data other than displacement RAOs will remain unchanged; if it
does not exist, then the data other than displacement RAOs will take the values of the default OrcaFlex Vessel Type.
This means that for each draught you import, all the displacement RAOs (for example) for that draught must be in a
single file, but you can choose to put the displacement RAOs for all draughts in a single file or have separate files for
separate draughts.
The types of data which can be imported in this way are
- Displacement and Load RAOs
- Newman QTFs
- Frequency dependent added mass and damping matrices
Specifying conventions and units
You can add markup to the file to define the conventions and units of the data contained in the file. If any of these
conventions do not match those for the selected Vessel Type, or the units do not match those prevailing in the
OrcaFlex model, then OrcaFlex will convert the imported data from the declared source conventions/units to the
model conventions/units as part of the import process. A typical markup block for conventions is
*** OrcaFlex Conventions Start ***
RAOResponseUnits = degrees
RAOWaveUnit = amplitude
RAOPhaseConvention = lags
RAOPhaseUnitsConvention = degrees
RAOPhaseRelativeToConvention = crest
SurgePositive = forward
SwayPositive = port
HeavePositive = up
RollPositiveStarboard = down
PitchPositiveBow = down
YawPositiveBow = port
*** OrcaFlex Conventions End ***
The block begins with a line containing the string OrcaFlex Conventions Start and ends with a line
containing OrcaFlex Conventions End. The lines in between specify the conventions using the standard
OrcaFlex batch script names and values.
This list contains all possible conventions settings that can be included in the block. Note that the waves are referred
to by convention is not allowed because the WP, WFH or WFR header string identifies the period/frequency
convention. In addition the symmetry convention should not be specified in this block: instead you should simply set
it to the appropiate value in the OrcaFlex model.
If some conventions are omitted then OrcaFlex uses the corresponding value from the selected Vessel Type
conventions. If the block is omitted altogether then a warning is issued and no conventions conversion is performed.
Not all of these conventions are relevant to all of the imported data: Newman QTFs and added mass & damping
require only the direction conventions.
The units of the data contained in the file are specified in a similar way:
System Modelling: Data and Results, Vessels
w

290
*** OrcaFlex Units Start ***
LengthUnits = m
ForceUnits = kN
*** OrcaFlex Units End ***
This list contains all possible units settings that can be included in the block. For displacement RAOs the length unit
is the only one which is used and consequently the force units can be omitted. For load RAOs and QTFs both length
and force units should be specified.
Warning: This units setting does not apply to added mass and damping matrices. These are not converted
automatically to OrcaFlex model units, since their scaling is rather more complicated. You must
ensure that either their units are consistent with the OrcaFlex model, or scale the data yourself.
If some units settings are omitted then OrcaFlex uses the corresponding value from the OrcaFlex model. If the block
is omitted altogether then a warning is issued and no units scaling is performed.
Note: The reference origins are not read in from the file. They should be set on the Import Vessel Data
form.
Importing RAOs
A text RAO file must contain the RAO data in the following form. It is usually easy to create a suitable file by adding a
few lines to your original response data file see the examples below for specific program output.
- The RAO data must appear in the file in one or more tables, each table being for one draught and direction. For
displacement RAOs, each table must be preceded by a line containing the string OrcaFlex Displacement
RAO Start and immediately followed by a line containing the string OrcaFlex Displacement RAO End.
There must not be any blank lines between these two marker lines. For load RAOs these strings should be
OrcaFlex Load RAO Start and OrcaFlex Load RAO End.
- Immediately following the line containing the RAO Start string there must be two lines (in either order)
specifying the draught and direction that apply to that table. The line specifying the draught must be of the form
Draught DraughtName, where DraughtName is the name of the draught. If the name contains spaces, then
DraughtName must be enclosed in quotes. The line specifying the direction must be of the form Direction n,
where n is a number specifying the direction the wave is progressing, in degrees, measured positive from
forward towards the port side. So Direction 0 means waves coming from astern and Direction 90
means waves coming from the starboard side.
- Following these two lines, the first line of the table must be a set of headers defining the subsequent columns.
This headers line consists of a number of character strings, separated by spaces. The strings indicate the
contents of the columns see RAO Table Headers. Columns with unrecognised header strings not in this list are
ignored.
- If you want OrcaFlex to ignore a column, for example because it contains irrelevant or superfluous data, then
insert an unrecognised header string, (e.g. N/A or ~). In particular, if the table contains both wave period and
frequency you must indicate that one of these is to be ignored, since OrcaFlex will not accept two columns
specifying what is effectively the same information.
- The remaining lines in the table must contain numbers, one for each header in the headers line, separated by
tabs and/or spaces. Please note that it is the order of the columns that matters, not their actual position across
the page. Hence, although it is natural to align the headers above the columns of numbers, this is not in fact
necessary.
Importing QTFs
Full QTFs are at present only imported from AQWA and WAMIT results files. Newman QTFs are imported from both
of these, and may also be imported from generic text files in much the same way as RAOs.
Since QTFs contain no phase information the conventions relating to phase have no relevance, and all QTFs are
assumed to be given relative to waves of unit amplitude, so the RAOWaveUnit convention is implicitly set to be
"amplitude". Hence, of the convention settings, only the direction conventions (SurgePositive, etc) apply to QTFs.
Both the length and force unit settings apply, if given.
The format of the markup for QTFs differs from that of RAOs in the following ways:
- The identifier lines are OrcaFlex QTF Start/End rather than OrcaFlex Displacement RAO
Start/End or OrcaFlex Load RAO Start/End.
- The column headers are surge, sway, heave, roll, pitch and yaw instead of X, Y, Z, RX, RY and RZ
respectively.
- Phase data are not specified.
w
System Modelling: Data and Results, Vessels
291
Importing Added Mass and Damping
Similarly to RAOs and QTF data, frequency-dependent added mass & damping may be imported from generic text
files with the addition of suitable markup, so long as they are presented in the usual 6x6 matrix form. This only
applies to independent vessel data: multibody data cannot be imported in this way.
Only the direction conventions (SurgePositive, etc) of the convention settings apply to these data. The unit settings,
which may be in use for RAO or QTF import, do not apply to the added mass and damping data import. Instead, in
view of the wide variety of ways in which these data are presented by diffraction analysis packages, you are
required to define a scaling factor or factors with which to reinstate the data to their full dimensional form. The
scaling factor(s) may take one of a number of forms:
- It may be completely absent, in which case the data must be unscaled and in the same units as the OrcaFlex
model. The data will be converted to account for any differences in direction conventions, but will not be
otherwise scaled or have any units conversion applied.
- It may be given as a single value which multiplies each of the imported data, as shown in this MOSES example in
which all the added mass and damping data are scaled by the vessel structural mass.
- More generally, you may define different scaling factors for each 3x3 added mass submatrix and each 3x3
damping submatrix. This will be necessary for data which are fully non-dimensional since these submatrices
have different dimensions, as in this WADAM example. This form will also be necessary if your added mass &
damping data are in different units to your OrcaFlex model: you will need to determine the appropriate scaling
factors to convert between the two sets of units.
Note that the scaling factors may be entered multiple times and will be updated each time they are encountered.
This may be useful if, say, they depend on frequency.
Each 6x6 matrix is delineated by the identifiers OrcaFlex Added Mass Matrix Start and OrcaFlex
Added Mass Matrix End, or OrcaFlex Damping Matrix Start and OrcaFlex Damping Matrix
End as appropriate. Immediately following the Start line should be a line nominating the draught into which to
import the data, Draught DraughtName, as for RAO import, followed by a line defining the period ("WP x" for x
seconds) or frequency ("WFR x" or "WFH x" for x rad/sec or Hz respectively). There is no corresponding
Direction, since added mass & damping are not directional data. Some packages output the digits 1,2,..,6 as row
and column headers to each matrix: if these are present, OrcaFlex will ignore them and will not treat them as actual
data values.
Examples
Examples are given in the help file of the markup required for the output from three commonly-encountered
analysis packages:
- MOSES
- Hydrostar
- WADAM
Note: These examples are rather too lengthy and space-inefficient to include in the printed manual, so do
not appear here. They can be found in the help file, which is available on any machine on which
OrcaFlex has been installed or can be obtained from our web site at
http://www.orcina.com/SoftwareProducts/OrcaFlex/Documentation/.
OrcaFlex can import data produced by other programs (or any other means) so long as they are in the format
described above. By following these examples, you should be able to import any such data.
RAO Table Headers
When importing RAOs from a text file, the following strings can be used in the header line.
Header string Column contains
WP Wave period in seconds
WFH Wave frequency in Hertz
WFR Angular wave frequency in radians/second
XA Surge amplitude
XP Surge phase
YA Sway amplitude
YP Sway phase
System Modelling: Data and Results, Vessels
w

292
Header string Column contains
ZA Heave amplitude
ZP Heave phase
RXA Roll amplitude
RXP Roll phase
RYA Pitch amplitude
RYP Pitch phase
RZA Yaw amplitude
RZP Yaw phase
In these header strings X, Y and Z represent the vessel axes, A denotes amplitude, P denotes phase and R rotation
about the given axis.
6.7.5 Modelling Vessel Slow Drift
When a vessel is exposed to waves it experiences wave loads that can be split into first order and second order
terms. The first order terms generate motion at wave frequency and this is modelled in OrcaFlex using RAOs to
specify either the displacement or the load. The second order terms are much smaller but they include loads with a
much lower frequency (see the Wave Drift theory section for more details). These low frequency terms are called
the wave drift loads and they can cause significant slow drift motions of the vessel if their frequencies are close to a
natural frequency of the vessel.
One common situation where the wave drift loads can matter is with a moored vessel. The vessel's natural
frequencies in surge, sway and yaw are typically quite low and so the low frequency wave drift loads can generate
large slow drift excursions in these directions.
Options for Modelling Slow Drift
In OrcaFlex you can model slow drift motion in broadly 2 ways. First, you can calculate the vessel slow drift motion
outside OrcaFlex and then impose that motion on the vessel. This can either be done using time history or
externally-calculated options for primary motion, or done using the time history or harmonic motion options for
superimposed motion. Wave frequency motion can also then be superimposed on top of that slow drift motion, by
using displacement RAOs or a time history superimposed motion.
Alternatively OrcaFlex can calculate and apply the slow drift motion for you. To do this you need to do the following:
- On the vessel form, select 6 DOF for the static analysis. The OrcaFlex static analysis will then calculate the
equilibrium position allowing for the mean wave drift load. And set the primary motion to Calculated (6 DOF).
The OrcaFlex simulation will then calculate the vessel's resulting dynamic motion.
- On the Structure page on the vessel type form, specify the vessel centre of gravity, mass and moments of inertia
data for the appropriate draught. And on the Stiffness, Added Mass and Damping page, specify the stiffness and
reference origin datum position, added mass and damping matrices and the reference origin to which they
apply. And include Added Mass and Damping in the vessel's Included Effects. (The hydrostatic stiffness is
always included.)
- Specify QTF data on the wave drift page of the vessel type form (the wave drift loads are calculated based on
these data), and include Wave Drift Load (2
nd
Order) in the vessel's Included Effects. This tells OrcaFlex to
apply the mean wave drift load to the vessel during the static analysis, and then in the dynamic analysis to apply
the mean and time-varying wave drift load.
- Optionally, include wave drift damping in the vessel's Included Effects. OrcaFlex will then include the damping
effect due to the way the wave drift load varies with vessel low frequency velocity and with current.
- Optionally, include Manoeuvring Load in the vessel's Included Effects. OrcaFlex will then include the low
frequency 2
nd
order potential theory manoeuvring load in the analysis.
- Optionally (usually needed), include Current Load in the vessel's Included Effects and specify appropriate data
for current load and yaw rate drag.
- Optionally, include wind load on vessels (on Wind page of the environment data form) and include Wind Load
in this vessel's Included Effects. And then specify the wind data on the environment data form, and wind load
data on the vessel type data form.
- Optionally (e.g. to model thruster loads), include Applied Load in the vessel's Included Effects and specify
appropriate applied load data.
- OrcaFlex will automatically include loads from any lines or other objects that are connected to the vessel.
w
System Modelling: Data and Results, Vessels
293
- If you have wave load RAO data available, then we recommend that you specify those data in the vessel type's
Load RAOs and include Wave Load (1
st
order) in the vessel's Included Effects. Then set the vessel
superimposed motion to None, so that the first order vessel motion is fully calculated and takes into account
coupling effects between the wave frequency and low frequency response.
- If you do not have the wave load RAO data, then you should not include Wave Load (1
st
order) in the vessel's
Included Effects, and you can instead instead model the wave frequency response using displacement RAOs, by
setting the vessel's superimposed motion to Displacement RAOs + Harmonic Motion but with no harmonic
motion specified (on the Superimposed Motion page of the vessel data form). This will superimpose the wave-
frequency motion, defined by the displacement RAOs, on top of the calculated low-frequency primary motion.
This method will not include coupling effects between the two parts of the motion. Note also that this
combination of calculated and superimposed motion is not compatible with implicit integration: in this case you
will have to use explicit integration.
Finally, you should set Primary Motion is Treated As to either Low frequency or to Both low and wave frequency.
The former is appropriate if you are using superimposed displacement RAOs to model the wave frequency motion.
But if all the motion is being modelled as primary motion, e.g. using wave load RAOs as the excitation for this
motion, then you should treat the primary motion as Both low and wave frequency and specify a suitable Dividing
Period for OrcaFlex to use to filter the primary motion into its low and wave frequency parts. See Vessel Modelling
Overview for further information.
Damping Effects on Vessel Slow Drift
Drag and damping loads have an important effect on vessel slow drift motions. The following discussion documents
the various damping effects and how they are modelled in OrcaFlex. See CMPT (1998) section 3.12.
- Hydrodynamic drag and skin friction on the vessel hull. This is modelled in OrcaFlex using a combination of
the OCIMF approach and a yaw drag moment proportional to (low-frequency yaw velocity)
2
. See the Current
Load data on the vessel type data form. For details of the theory see Vessel Theory: Current and Wind Loads.
Note that OrcaFlex does not yet have the dependency of yaw drag on sway velocity proposed by Wichers, 1979.
If wanted, wave frequency viscous damping (both linear and quadratic) can be included in the Other damping
data, for example to model viscous roll damping.
- Wind drag on the vessel hull. This is the aerodynamic drag due to wind and any vessel velocity. It is modelled
in OrcaFlex based on the OCIMF approach. See the Wind Load data on the vessel type data form. For details of
the theory see Vessel Theory: Current and Wind Loads.
- Hydrodynamic drag on the risers/moorings. This is modelled in OrcaFlex by the drag force part of the
Morison force on the lines that model the risers/moorings.
- Wave radiation damping. This is not usually very significant at low frequencies, because the asymptotic limit
of the wave frequency damping is zero. It can be modelled in OrcaFlex using either constant or frequency-
dependent damping on the vessel type form.
- Wave drift damping. This arises because the wave drift loads vary with vessel velocity. It can be modelled in
OrcaFlex by simply including it in the vessel's Included Effects. There are no further data required. See Wave
Drift Damping Theory for further details.
- Manoeuvring load. In addition to the usual contribution of the product of added mass and acceleration, the
vessel velocity gives rise to an additional 2
nd
order low frequency manoeuvring load. OrcaFlex gives you the
option to include this additional load, which can be significant.
- Material damping in the risers/moorings. This is the structural damping in the material of the risers and
mooring lines. OrcaFlex provides Rayleigh Damping to model material damping in lines when the implicit
integration scheme is in use. Should you be using the explicit integration scheme, material damping may be
modelled using the line target damping values. However Triantafyllou et al (1994) concluded that material
damping effects are negligible.
- Seabed soil friction on the risers/moorings. This arises from the frictional force acting on the part of a
mooring/riser that is lifting off and touching down on the seabed. It is modelled in OrcaFlex by the friction
between the seabed and the line used to model the mooring/riser. However Triantafyllou et al (1994)
concluded that its effect is negligible.
6.7.6 Vessel Response Reports
The vessel response window can be opened using the Results Menu or using the Report Vessel Response button on
the vessel data form. It offers two pages: Displacement Response, and Impulse Response, Added Mass and Damping.
Generation of vessel response reports can be automated through the batch script, or from the OrcaFlex
programming interface.
System Modelling: Data and Results, Vessels
w

294
Note: The reported RAOs are first order RAOs calculated using small-angle theory to transform the RAOs
from the vessel RAO origin to the points specified on the Vessel Response form. Theses results are
accurate for small-angle rotational motion, but if the vessel undergoes large-angle rotational
motion it will exhibit a non-linear higher-order response that can only be approximated by RAOs.
More accurate results can be obtained in this case by running a simulation, which uses large angle
theory, and this can often be done very quickly by removing from the model all other objects that
do not affect the motion of the vessel.
Displacement Response
The Displacement Response page gives access to two spreadsheet reports, one giving displacement RAOs and one
giving spectral values, of the vessel's response to waves, based on its vessel type's displacement RAOs. It can be
accessed from the Results menu or from the Vessel data form.
Directions and Output Points
You specify one or more vessel-relative wave directions, and one or more points on the vessel, for which the RAOs
and spectral response will be reported.
If you specify a direction of '~' then the direction of the wave relative to the vessel is used. If there is more than one
wave train then the direction of the first wave train is used.
The output points are specified by giving their coordinates relative to vessel axes.
Report RAOs
The RAO report gives a separate worksheet for each specified direction, containing the RAOs for each of the
specified output points, derived from the displacement RAOs of its vessel type.
The reported RAOs allow for the following effects:
- They allow for the position of the output point relative to the RAO origin to which the vessel type RAOs apply.
- They give the RAOs for the specified wave direction, relative to the vessel. If this is not one of the directions for
which RAOs are specified, then the RAOs are derived by interpolation on direction.
- They allow for Froude scaling if there is a difference between the vessel type length and the vessel length. This
affects the periods at which the RAOs are reported.
RAOs are given for the position, velocity and acceleration of the output points, for all 6 degrees of freedom and for Z
Above Wave.
The RAO report covers the wave periods specified on the vessel type data form, plus (if appropriate) the regular
wave period specified on the environment data form.
Phase Origin
You can choose the Phase Origin to use for reporting phases, the options being:
- RAO Phase Origin. The phases will then be reported relative to the time that the given point on the wave (crest
/ trough / zero up- or down-crossing, as specified in the vessel type RAO conventions) passes the RAO phase
origin specified on the vessel type form.
- Each Point. The phases will then be reported relative to the time the given point on the wave (crest / trough /
zero up- or down-crossing, as specified in the vessel type RAO conventions) passes that particular output point.
In this case the necessary phase shift will be calculated using deep water wavelengths.
The translational RAOs depend on the position of the output point. The rotational RAO amplitudes do not depend on
the position of the output point, since the roll, pitch and yaw of a vessel are the same everywhere on it. The
rotational RAO phases depend on the position of the output point only if you specify the Phase Origin to be Each
Point.
Conventions
You can choose for the RAOs to be reported either using the same RAO conventions as specified for this vessel's type
or using Orcina standard conventions.
Z Above Wave
Z Above Wave reports the amplitude of the heave motion of the vessel relative to the water surface. This can be
useful when evaluating whether an object at some point on the vessel will contact the water surface and if so with
what relative velocity.
Warning: Z Above Wave does not take account of wave surface disturbance due to the presence of the vessel.
w
System Modelling: Data and Results, Vessels
295
Report Spectral Response
The spectral response report contains a separate worksheet for each specified direction and each random wave
train specified on the Environment data form. The worksheet contains tables of spectral values for position, velocity
and acceleration, for all 6 degrees of freedom and for Z Above Wave. Separate tables are given for each of the
specified output points.
Notes: The spectral response report is not available if no random wave trains are specified.
It is also not available if (for any of the specified directions and for any degree of freedom) the
vessel has a non-zero RAO amplitude for the zero wave period limit. This is because some of the
spectral integrals do not converge in such cases. Such RAO data are not realistic, since no vessel
can respond to infinitely high frequency waves.
The following spectral values are reported.
- The significant amplitude.
- The most probable maximum amplitude for a period of the specified Storm Duration.
- The average period of the response. This is the mean period between zero up-crossings.
Note: The significant and maximum values are reported as single amplitudes, i.e. the motion is +/- the
value reported.
Warnings: Wave directional spreading spectra are not taken into account. The calculation assumes that all
the spectral energy is in the specified direction for each wavetrain.
The standard formulae used to calculate the spectral values (see below) are based on the further
assumptions that the spectrum is narrow-banded and Gaussian, and that the extremes are
Rayleigh distributed. They are also based purely on small amplitude linear theory.
The storm duration should be short-term, ie of the order of hours rather than days or years, since
the sea-state, as represented by (Hs,Tz), is assumed to remain constant over this duration.
These spectral values are calculated as follows:
The spectrum of the wave train is combined with the vessel response specified by its RAOs, to obtain the response
spectrum for each degree of freedom. The zeroth and second spectral moments, m0 and m2, of the response
spectrum are then calculated. The spectral values are then given by:
Significant Amplitude = As = 2m0


Average Period = Tave = (m0/m2)


Max Amplitude = As(ln(D*60*60/Tave))


where As is the significant amplitude, D is the specified Duration (in hours) and Tave is the average period (in
seconds). See, for example, Faltinsen, pages 24-27, or Ochi, pages 151-152.
Notes: For Z Above Wave, no spectral values can be reported for acceleration and only the significant
amplitude can be reported for velocity. This is because the RAO of Z Above Wave does not decay to
zero as wave period goes to zero, so some of the integrals for the spectral moments do not
converge. For velocity of Z Above Wave you could perhaps estimate the expected maximum
amplitude by assuming that the ratio of maximum amplitude to significant amplitude is roughly
the same for velocity as for position.
All these reports are based on the vessel type displacement RAOs. Any wave load RAO data are
ignored.
Impulse Response, Added Mass and Damping
The Impulse Response, Added Mass and Damping page has only one button: Show Graphs. This button is enabled
only if the Vessel Type and Draught used by the vessel have Added Mass and Damping Method set to Frequency-
Dependent. Clicking the button will open a form showing:
- A graph of the Impulse Response Function (IRF) for the vessel.
- Graphs of the original frequency-dependent added mass or damping data.
The scale of the time lag axis for the IRF is determined by the cutoff time. This graph may be useful in judging the
effect of this cutoff time: a shorter cutoff time will allow for faster calculation, but too short may mean significant
IRF values are discarded and accuracy lost as a result.
The IRF graph shows two curves, differing by the timestep with which the integral used to calculate the IRF is
discretised. The idealised curve uses a fine timestep, while the model timestep curve indicates the actual IRF which
System Modelling: Data and Results, Vessels
w

296
will be realised by OrcaFlex with the timestep as currently set on the General Data form. Note that this second curve
will not be shown if implicit integration with variable timestep has been selected, since OrcaFlex does not allow this
option in conjunction with frequency-dependent added mass and damping. If explicit integration with the Always
Use Recommended Time Steps is selected, the second curve is shown but (at least until after the statics simulation)
is labelled provisional, since OrcaFlex does not calculate what this recommended timestep should be until after the
statics calculation. For particularly long timesteps, you may find that the model timestep IRF curve departs
significantly from the idealised one, in which case you should consider a shorter timestep to improve resolution and
avoid losing accuracy in the IRF calculation.
The added mass and damping graphs plot against frequency the values of the data given on the Vessel Types data
form, after any required Froude scaling.
The Added Mass graph has superimposed on it a horizontal intercept representing the calculated value of the
"infinite-frequency" added mass. So long as the data are given to sufficiently high frequency, this is an indicator of
the consistency of the added mass and damping data.
The Damping graph displays two curves. Similarly to the IRF graph, the dashed line labelled Cutoff time of x
represents the damping realised by OrcaFlex at the specified cutoff time: if this curve departs significantly from the
idealised one representing the actual data then you should consider a longer cutoff time or smaller cutoff tolerance.
6.7.7 Vessel Results
For details on how to select results variables see Selecting Variables.
Note that in the names of the vessel results we use the convention that lower case letters x,y,z indicate components
in the vessel axes directions, whereas upper case letters X,Y,Z indicate components in the global axes directions.
Position and Motion Results
All the position and motion results (see the headings below) report the motion at a user-specified point P on the
vessel whose Position is specified on the results form. The position of P is specified by giving its vessel local axes
coordinates relative to the vessel origin V, so if Position = (0,0,0) then the results reported are for the vessel origin.
Vessel motion can include both primary and superimposed motions. The position and orientation results are
available for each of these contributions separately, as well as for the total combined vessel motion.
- Primary X, Y, Z and Primary Rotation 1, 2, 3 report the primary motion of the point P, relative to global axes.
- Surge, Sway, Heave, Roll, Pitch, Yaw report the superimposed motion of the point P, relative to the vessel
primary motion position and orientation. These results report the components in the directions of the vessel
axes after only the primary motion has been applied.
- X, Y, Z, Rotation 1, Rotation 2, Rotation 3 report the total combined motion of the point P, due to both primary
and superimposed motion, relative to global axes.
Additionally, if the vessel primary motion is treated as being both low frequency and wave frequency then
Orcaflex also makes available the separate low frequency (LF) and wave frequency (WF) parts of the primary
motion:
- Primary LF X, Y, Z and Primary LF Rotation 1, 2, 3 report the low frequency part of the primary motion of the
point P, relative to global axes.
- Primary WF Surge, Sway, Heave, Roll, Pitch, Yaw report the wave frequency part of the primary motion of the
point P, relative to its low frequency position and orientation. These results report the components in the
directions of the vessel axes after only the low frequency part of the primary motion has been applied.
The velocity, acceleration and other results are only available for the total combined motion of the point P. The
velocity and acceleration results are obtained from logged values of the velocity and acceleration of the vessel. So,
unlike line velocity results, the vessel velocity and acceleration results do not have possible inaccuracy due to
numerical differentiation of logged position values.
Total Position and Motion Results
X, Y, Z, Rotation 1, Rotation 2, Rotation 3
X, Y, Z are the global axes coordinates of the position of the user-specified point P on the vessel, due to the total
combined primary and superimposed motion.
Rotation 1, 2 and 3 define the orientation of the vessel, due to both primary and superimposed motion, relative to
global axes. The three rotations (called Euler angles) are 3 successive rotations that take the global axes directions
to the vessel axes directions. For details see Vessel Rotations.
Rotation 2 is in the range -90 to +90. Range jump suppression is applied to the Rotation 1 and Rotation 3 angles, so
values outside the range -360 to +360 might be reported.
w
System Modelling: Data and Results, Vessels
297
Sea Surface Clearance
The vertical clearance of the user-specified vessel point P above the instantaneous sea surface, due to the total
combined primary and superimposed motion. A positive value indicates the point P is above the sea surface.
Velocity, GX-Velocity, GY-Velocity, GZ-Velocity
The magnitude and components, in the global axes directions, of the velocity of the vessel at the user-specified point
P, due to the total combined primary and superimposed motion.
Angular Velocity, x-Angular Velocity, y-Angular Velocity, z-Angular Velocity
The magnitude and components, in vessel axes directions, of the angular velocity of the vessel, due to the total
combined primary and superimposed motion.
Acceleration, GX-Acceleration, GY-Acceleration, GZ-Acceleration
The magnitude and components, in the global axes directions, of the acceleration of the user-specified point P on the
vessel, relative to earth. The acceleration vector reported, a, is the acceleration of the point P, relative to earth, due
to the total combined primary and superimposed motion of the vessel.
Acceleration rel. g, x-Acceleration rel. g, y-Acceleration rel. g, z-Acceleration rel. g
The magnitude and components, in vessel axes directions, of the acceleration vector, a, of the user-specified point P
on the vessel, relative to the vertically downwards acceleration due to gravity, g.
The acceleration vector, a, is the acceleration of the point P due to the combination of both primary and
superimposed motion of the vessel. These results report the acceleration relative to the (downwards) acceleration
due to gravity, i.e. a - g.
This relative acceleration can be thought of as the acceleration of the point P relative to the free-falling state. This is
the acceleration that would be reported by an accelerometer attached at the point P (since an accelerometer reading
of zero corresponds to free-falling), with its measurement directions aligned with the vessel local axes directions.
Angular Acceleration, x-Angular Acceleration, y-Angular Acceleration, z-Angular Acceleration
The magnitude and components, in vessel axes directions, of the angular acceleration of the vessel, due to the total
combined primary and superimposed motion.
Primary Motion Results
Primary X, Primary Y, Primary Z, Primary Rotation 1, Primary Rotation 2 and Primary Rotation 3
Primary X, Primary Y and Primary Z are the global axes coordinates of the user-specified point P on the vessel, due
to the vessel primary motion only.
Primary Rotation 1, Primary Rotation 2 and Primary Rotation 3 are the rotation angles of the orientation of the
vessel relative to global axes, due to the vessel primary motion only. For details see Vessel Rotations.
Primary Rotation 2 is in the range -90 to +90. Range jump suppression is applied to Primary Rotation 1 and
Primary Rotation 3, so values outside the range -360 to +360 might be reported.
Primary LF X, Primary LF Y, Primary LF Z, Primary LF Rotation 1, Primary LF Rotation 2 and Primary LF Rotation 3
These results are analogous to the Primary X, Y, Z and Primary Rotation 1, 2, 3 results described above, but for only
the low frequency part of the vessel primary motion. They report the components in the global axes directions of
the position of point P due to only the low frequency primary motion.
Primary WF Surge, Primary WF Sway, Primary WF Heave, Primary WF Roll, Primary WF Pitch and Primary WF Yaw
These results are the wave frequency part of the primary motion of the user-specified point P on the vessel. They
therefore report the total primary motion position and orientation of the point P, relative to its position and
orientation after only the low frequency part of the primary motion has been applied. And the values reported are
the components in the directions of the vessel axes after only the low frequency part of the primary motion has been
applied.
Primary WF Pitch is in the range -90 to +90. Range jump suppression is applied to Primary WF Roll and Primary
WF Yaw, so values outside the range -360 to +360 might be reported.
Sea Surface Z
The global Z coordinate of the sea surface directly above or below the instantaneous Primary X, Y, Z position of the
user-specified point P on the vessel. Note that the position at which this surface Z is reported only allows for the
primary motion of the vessel, not the superimposed motion.
System Modelling: Data and Results, Vessels
w

298
Superimposed Motion Results
Surge, Sway, Heave, Roll, Pitch and Yaw
The position and orientation of the vessel due to superimposed motion, relative to the primary position of the
vessel. These are typically the wave-generated part of the motion.
Surge, Sway and Heave are the superimposed translational displacement components, in the primary vessel axes
directions, of the user-specified point P on the vessel, relative to its primary motion position.
Roll, Pitch and Yaw are the superimposed angles of rotation, relative to the primary vessel axes directions, due to
the superimposed motion. For details see Vessel Rotations.
Pitch is in the range -90 to +90. Range jump suppression is applied to the Roll and Yaw angles, so values outside
the range -360 to +360 might be reported.
Force and Moment Results
Force and moment results are available for the Total Load on the vessel, and also separately for the various
individual loads on the vessel that are in the vessel's Included Effects. If a load is not included then it will not be
calculated and will not appear in the list of available results, and will not be included in the Total Load results.
For each of these loads the results available are the magnitudes of the force and moment vectors, and the
components (Lx,Ly,Lz) of those vectors in the vessel axes directions.
In addition, if there are other objects connected to the vessel then the sum of the loads from all attached objects is
also available. And the force and moment components of this Connections Load are available in both vessel axes
directions (Lx,Ly,Lz) and global axes directions (GX,GY,GZ).
In all cases the moments given are moments about the vessel origin.
Total Load
The magnitude and components (in vessel axes directions) of the sum of the constituent loads on the vessel which
are included in the calculation.
Connections Load
The sum of the loads from all attached lines, links, winches, shapes, etc. These are available only for vessels with at
least one such object attached.
Note that the connections loads reported include the structural inertia loads and added inertia loads on the objects
connected to the vessel, due to the translational and rotational acceleration of their points of connection.
For convenience, the components of Connection Force and Moment are also available in Global axes directions
(GX,GY,GZ). Details of the loads exerted by each individual object are available as results tables, and can also be
found under the results for each object itself.
Hydrostatic Stiffness Load
The Hydrostatic stiffness force and moment on the vessel.
Applied Load
The sum of all the local and global applied loads. Available only if Applied Loads is in the vessel's Included Effects.
Wave Load (1
st
order)
The force and moment on the vessel due to the wave load RAOs. Available only if Wave Load (1
st
Order) is in the
vessel's Included Effects.
Wave Drift Load (2
nd
order)
The wave drift force and moment exerted on the vessel. These results are available only if Wave Drift Load (2
nd

order) is in the vessel's Included Effects. If Wave Drift Damping is also included, then its effect will be included in
this Wave Drift Load (2
nd
order) result.
Sum Frequency Load (2
nd
order)
The sum frequency wave force and moment exerted on the vessel. These results are available only if Sum
Frequency Load (2
nd
order) is in the vessel's Included Effects.
Note: The first order wave RAO load, second order wave drift load and sum frequency load are calculated
and applied with respect to primary heading axes, but these load results are reported with respect
to vessel axes. In most cases there will be little difference between the two frames of reference, but
large values of Primary Rotations 1&2 may have a significant effect on these results.
w
System Modelling: Data and Results, Lines
299
Added Mass and Damping Load
The sum of the forces and moments on the vessel due to Added Mass and Damping. Available only if Added Mass
and Damping is in the vessel's Included Effects.
Manoeuvring Load
The Manoeuvring Load on the vessel. Available only if Manoeuvring Load is in the vessel's Included Effects.
Other Damping Load
The force and moment due to the specified Other Damping on the vessel. Available only if Other Damping is in the
vessel's Included Effects.
Current Load
The current drag force and moment on the vessel, plus any load from low frequency yaw rate drag. Available only if
Current Load is in the vessel's Included Effects.
Wind Load
The wind drag force and moment on the vessel. Available only if Wind Load is in the vessel's Included Effects and
Include Wind Loads on Vessels is checked on the Wind data page of the Environment data form.
Multiple Static Results
For multiple statics calculations the results variables available are as follows. The loads reported are the total loads,
including those from current, wind, applied loads and attached lines and other objects.
Restoring Force
The magnitude of the horizontal component of the total force applied to the vessel. Note that this force is not
necessarily in the offset direction.
Vertical Force
The vertically downwards component of the total force applied to the vessel.
GZ-Moment
The total moment, about the vertical, applied to the vessel.
Worst Tension
The largest tension in any segment of any Line connected to the Vessel.
6.8 LINES
Lines are flexible linear elements used to model cables, hoses, chains or other similar items. Lines are represented in
OrcaFlex using a lumped mass model. That is, the line is modelled as a series of lumps of mass joined together by
massless springs, rather like beads on a necklace. The lumps of mass are called nodes and the springs joining them
are called segments. Each segment represents a short piece of the line, whose properties (mass, buoyancy, drag
etc.) have been lumped, for modelling purposes, at the nodes at its ends. See the figure below, which shows an
example line spanning from a Vessel to a Buoy.
System Modelling: Data and Results, Lines
w

300

Figure: Line Model
The properties of a Line are specified by dividing it up into a number of consecutive sections that are chosen by the
user. For each section you must define its length, the Line Type of which it is made and the number of segments into
which it should be divided for modelling purposes. A Line Type is simply a set of properties (for example the
diameter, mass per unit length and bend stiffness) given a name so that they can be called by that name. The Line
Types are defined separately, on the Line Types data form. This allows the same set of line properties to be used for
a number of different sections of the line, or for different lines. There is also a Line Type Wizard tool that helps you
set up Line Types representing common structures like chains, ropes, etc.
In addition, a number of attachments may be specified, to represent items that are connected to the Line. For
example, attachments may be used to model clump weights, drag chains or buoyancy bags attached to the line. Two
types of attachment are available clumps (buoyancy or heavy) and drag chains.
End positions and no-moment directions are defined
relative to the objects to which the ends are connected
and move with those objects.
x
y
z
V
x
y
z
B
End B
End A
Clump
section 1
(3 segments)
section 3
(9 segments)
section 2
(7 segments)
w
System Modelling: Data and Results, Lines
301
Each attachment attached to the Line is specified by giving the Attachment Type and the arc length, measured from
End A, at which it should be attached. The attachment is then attached to the nearest node to that arc length.
Attachment Types are similar to Line Types they are simply named sets of attachment properties. The properties
themselves are then given separately, on the Attachment Types data form. This allows the same set of attachment
properties to be used for a number of different attachments.
The two ends of a Line are referred to as End A and End B and each end can be Free, Fixed, Anchored or else
connected to a Vessel or Buoy. The two ends of a line are treated in essentially the same way, but some aspects of
the line are dependent on which end is which. In particular the numbering of parts of a Line is always done starting
at End A.
6.8.1 Line Data
For every line in the system there is a data form defining its structure and interconnection. It is on these data forms
that the system is built up by connecting lines between the objects that have been defined.
Name
Used to refer to the Line.
Include Torsion
Torsional effects can be included or ignored, for each line in the model. If torsion is included then the line type
torsional properties must be specified. See Torsional Stiffness.
To see the line orientation visually on the 3D views, select Draw Node Axes on the View menu. OrcaFlex then draws
the node axes Nxyz at each node, and these axes allow you to see how the line is behaving torsionally.
Notes: The node axes are drawn using the node pen, specified on the line data form.
If torsion is included for a line, you must specify the torsional orientation at each end of the line.
This is done by setting the Gamma angle of the end connections on the line data form. The Gamma
angle determines the torsional position of the line end for details see Line End Orientation. To
check visually that you have the orientation you expect, select Draw Node Axes on the View menu.
If torsion is included for a line, the static analysis should also include the effects of torsion
otherwise the simulation will start from a position that is not in torsional equilibrium and an
unstable simulation may result. We recommend that the Full Statics option is selected because this
is the only statics option in OrcaFlex that includes the effects of torsion.
Top End
This data item is used to give OrcaFlex information about the sense of the Line. Various calculations performed by
the program need to know which end of the line (End A or End B) is at the top, and which end is at the bottom. You
specify which end is at the top, and the program assumes that the other end is at the bottom.
Suppose you have a line with the top end connected to a vessel, and the bottom end anchored to the seabed. If you
wish to measure arc length from the vessel then you should connect End A to the vessel, make End B anchored and
set Top End to End A. On the other hand, if you wish to measure arc length from the seabed then you should connect
End B to the vessel, make End A anchored and set Top End to End B.
The setting of the Top and Bottom Ends is used by the program as follows:
- The Lay Azimuth data defines a lay direction starting from the Bottom End and moving towards the Top End.
- The Touchdown results point is determined by starting at the Top End and then moving towards the Bottom
End until the first node in contact with the seabed is found.
- The Contents Pressure Reference Z level can be set to '~' (indeed this is the default value) which OrcaFlex
interprets as the Z level of the Top End in the reset state.
- The Line Setup Wizard uses the bottom end when calculating anchor positions and also for the layback
calculation.
If the Line is not in contact with the seabed then Top and Bottom End designations are somewhat arbitrary. You are
free to make whatever choice suits your model, but remember that the contents pressure will be referenced from
the Top End. If the entire Line is in contact with the seabed then again you are free to make whatever choice of Top
and Bottom Ends suits your model.
P-y Model
Optionally specifies the P-y model used to define horizontal soil loads for a vertical line that extends beneath the
seabed.
System Modelling: Data and Results, Lines
w

302
Connections
The line end connection data specifies whether the line ends are connected to other objects, the position, angle and
stiffness of the connection, and whether the end is released during the simulation.
You can view and edit an individual line's connection data on the line's data form. Or you can view and edit the
connection data for all the lines together on the All Objects Data Form.
Connect to Object
The line spans from End A to End B and each end may be connected to another object in the model, such as a buoy or
vessel, or else Fixed, Anchored or left Free.
Object Relative Position
Defines the position of the centre of the node at the line end.
- If the end is connected to another object this defines the coordinates of the connection point relative to that
other object's local axes.
- If the end is Fixed this defines the coordinates of that point relative to global axes.
- If the end is Anchored this defines the X and Y coordinates of the anchor relative to global axes, plus the Z-
coordinate relative to the seabed level at that (X,Y) position.
- If the end is Free then this defines the coordinates of the estimated equilibrium position of the line end, relative
to global axes.
Height above seabed
This data item is only available for Anchored connections and specifies the vertical height above the seabed of the
pipe underside. This value is coupled to the Object Relative z coordinate changing either one results in the other
being changed to match.
To understand how this data item should be used consider, for simplicity, a line end anchored to a flat horizontal
seabed. The Object Relative z coordinate specifies the position of the centreline. If it is set to 0 then the end node will
penetrate the seabed by a distance of D, where D is the contact diameter.
The net result of this is that the end node is 'buried' in the seabed and receives a large seabed reaction force.
Because it is anchored this force cannot displace the end node, but the adjacent node is free to move and it will try to
take up a position sitting on top of the seabed. This in turn will lead to unrealistic values of curvature, bend moment
etc. at the end.
If, however, you set Height above seabed to 0 then the end node centreline will have a z coordinate of D, relative to
the seabed. The node sits just in contact with the seabed and the above problems are removed.
If the seabed is not horizontal then the mathematics is slightly more complicated as it has to take into account the
slope of the seabed. However, the recommendation of setting Height above seabed to 0 remains valid.
End Orientation
When a line is connected to an object, it is connected into an end fitting that is rigidly attached to that object and you
specify the orientation of this connection by giving its Azimuth, Declination and Gamma angles.
These angles define the end fitting orientation relative to the object, so for objects that rotate (e.g. vessels and 6D
buoys) the fitting rotates with the object. For Fixed or Anchored ends the end orientation is defined relative to
global axes. For Free ends the end orientation is not used.
Azimuth, Declination and Gamma define the end fitting orientation by specifying the directions of the axes (Ex, Ey,
Ez) of its frame of reference, where E is the end fitting origin the point to which the line end is connected. See Line
End Orientation.
The direction of Ez is defined by specifying its Azimuth and Declination angles. Ez is the end fitting axial direction;
when the end segment is aligned with Ez then no bending moment is applied by the joint, so Ez is sometimes called
the no-moment direction. Note that Ez must be specified using the End A to End B convention, i.e. Ez is into the line
at End A, but out of the line at End B.
Ex and Ey are perpendicular to Ez and they are defined by specifying the Gamma angle, which is a rotation about Ez.
The Ex and Ey directions are used for reporting results (e.g. the 2 components of shear force). And if the line has
torsion included and the joint twisting stiffness is non-zero, then Ex and Ey also define the line end orientation at
which no torsional moment is applied by the joint.
The connection at a line end is modelled as a ball-joint with this orientation being the preferred no-moment
orientation, i.e. the orientation of the line end that gives rise to no moment from any rotational stiffness of the
connection.
w
System Modelling: Data and Results, Lines
303
If all of the end connection stiffness values are zero, e.g. to model a ball-joint that is completely free to rotate, then
the end orientation angles have no effect on the line behaviour. The angles then only serve to define the local x, y
and z-directions that are used to define results (e.g. shear and bend moment components, stress components, etc.)
that depend on the local axes directions.
Connection Stiffness
The connection at a line end is modelled as a joint with the specified rotational stiffness. The restoring moments
applied by the joint depend on the deflection angle, which is the difference between the end fitting orientation and
the orientation of the line. The end orientation is therefore the orientation of the line that corresponds to zero
moment being applied by the joint.
The connection stiffness is the slope of the curve of restoring moment against deflection angle.
The bending and twisting connection stiffnesses can be set to:
- Zero: free to rotate with no resistance.
- Non-zero, finite: can rotate but with resistance.
- Infinity: a rigid connection.
- Variable: non-linear (for bending connection stiffness only).
The x bending and y bending values specify the connection bending behaviour for rotation about the end Ex and Ey
directions, respectively. For an isotropic ball-joint the two values must be equal; this can conveniently be specified
by setting the y-bending value to '~', meaning 'same as x-value'. A non-isotropic ball-joint can be modelled by giving
different x and y bending values; in this case the line must include torsion.
The x bending and y bending behaviour can either be linear or non-linear, as follows:
- For a simple linear behaviour, specify the bending stiffness to be the constant slope of the curve of restoring
moment against deflection angle.
- For a non-linear behaviour, use variable data to specify a table of restoring moment against deflection angle.
OrcaFlex uses linear interpolation for angles between those specified in the table, and linear extrapolation for
angles beyond those specified in the table. The restoring bend moment must be zero at zero angle.
The Twisting Stiffness value is only relevant if torsion is included for the line. It specifies the rotational stiffness
about the end Ez direction. For the twisting stiffness this variation is always modelled as linear so the twisting
stiffness you specify should be the slope of the linear angle-moment curve.
A flex joint can be modelled by setting the stiffness values to be non-zero and finite.
Warning: To define a rigid connection use Infinity rather than a large stiffness value, since the latter can
lead to numerical instability.
Connection Damping
If torsion is included then connection damping can be specified. The damping moment is given by -C where C is the
specified value of connection damping, and is the angular velocity of the end fitting relative to the angular velocity
of the line, measured in deg/s.
Release at Start of Stage
If desired each line end can be disconnected at the start of a given stage of the simulation. If no release is wanted
then set this item to "~", meaning "not applicable".
Structure
Each line can be made up of up a number of sections with different properties, the sections being defined in
sequence from End A to End B.
Line Type
This determines the properties of the section.
Section Length
The unstretched length of the section. This is the unstressed length (i.e. zero wall tension) at atmospheric pressure
inside and out. Length changes due to external and internal pressure, and allowing for the Poisson ratio effect, are
calculated and allowed for by OrcaFlex.
If the line type is profiled then the section length is determined by the profile data and so cannot be edited here.
Expansion Factor
The expansion factor allows you to model time-varying changes in unstretched length, for example due to thermal
expansion or contraction.
System Modelling: Data and Results, Lines
w

304
A value of '~' means that no expansion factor is applied this is equivalent to a value of 1. Other positive values can
be used, in which case the unstretched length remains constant throughout the simulation.
Alternatively the expansion factor can be a variable data source which specifies a table of expansion factor against
simulation time. It specifies a multiplicative factor which is applied to the unstretched length when calculating axial
strain which in turn is used to calculate effective tension (see Line Theory: Calculation Stages).
Note: Expansion factor is only used in the calculation of strain. It has no effect on mass, buoyancy, drag,
added mass etc.
Target Segment Length, Number of Segments
These data items determine the segmentation of the section.
If Target Segment Length is set to ~ then the number of segments in the section is set by Number of Segments.
Otherwise, the segmentation is chosen based on Target Segment Length. The Number of Segments is not editable
and reports the actual number of segments used which is given by the formula:
Number of Segments = Round(Section Length / Target Segment Length)
where Round is the function that rounds a floating point value to the nearest integer.
Note: It is usually preferable to determine segmentation by specifying Target Segment Length. This
allows you to alter section lengths without altering segment length.
Clash Check
Clash modelling is included when this data item is set to Yes. If it is set to No then the section will be ignored for
clashing purposes.
Notes: Line clashing is not modelled during statics.
Clash checking is quite time-consuming, so you should only set this item to Yes for those sections
for which you need clash modelling to be included. See Line Clashing.
Cumulative Length, Cumulative Segments
These columns report the cumulative length and cumulative number of segments counted from the first section. The
values are for reporting purposes only and cannot be edited.
Profile Graph
The profile graph plots the inner and outer radii of the line as they vary with arc length. This is especially useful to
check that stress joint and bend stiffener data has been correctly input.
Pre-bend
Pre-bend is only available when torsion is modelled. Pre-bend is provided for modelling lines which are not straight
when unstressed, e.g. spool pieces.
The pre-bend is defined for each section by specifying the pre-bent curvature (in radians per unit length) of the
section. The pre-bent curvature is the curvature of the pipe in its unstressed state. For lines which are straight when
unstressed then pre-bend should be specified to be zero which is the default setting.
Pre-bend can be specified in both the line local x and y directions. However, to simplify data preparation and
interpretation of results we recommend that you arrange the line's local axes such that the pre-bend is entirely in
either the local x or local y direction.
Note: When pre-bend is modelled curvature and bend radius results are reported relative to the pre-bent
curvature.
Warning: Pre-bend breaks the assumptions of the stress results and fatigue analysis.
Attachments
A number of attachments may be added to each line. Each attachment can either be of a specified Attachment Type
or else be a clone of a specified 6D buoy.
Attachment Type
Can be a Clump Type, a Drag Chain Type, a Flex Joint Type, a Stiffener Type or an existing 6D Buoy.
If you specify a 6D buoy as the attachment type then the attachment is a clone of that 6D buoy and changing the
properties of the 6D buoy also changes the properties of the attachment. The 6D buoy from which the attachment is
cloned cannot be deleted, without first deleting all the attachments that are clones of it.
6D buoy attachments are useful when you want a number of identical 6D buoys attached to a line. To attach 20
identical buoys to a line, for example, first create the first buoy separately from the line and then connect it to the
w
System Modelling: Data and Results, Lines
305
line by setting its connection data item on the buoy data form. This first buoy acts as the master from which all the
other attachment buoys are cloned. Then, on the line data form, specify 19 attachments and set their attachment
type to be the first 6D buoy.
Note: 6D Buoy attachments can only be used when the Line includes torsion.
Position
The x, y and z coordinates specify the position of the attachment relative to the line.
The z coordinate specifies the arc length at which the attachment is connected and this arc length may be measured
relative to either End A or End B as specified by the user.
- For Clumps, Drag Chains, Flex Joints and Stiffeners the x and y coordinates must be zero and the z coordinate is
the arc length. These attachments are connected at the node nearest to this arc length.
- For Stiffeners the z coordinate specifies the arc length of the stiffener connection point.
Note: If the attachment is a clump then it is also offset vertically from the node by the offset distance
specified in the clump type data. Beware that the sign convention for this offset varies depending
on whether the clump is net buoyant (positive offset is upwards) or heavy (positive offset is
downwards).
- For 6D Buoy attachments the z coordinate specifies the arc length at which the buoy should be connected to the
line. The buoy will be connected to the nearest node to that arc length. The buoy will be connected with an
offset (relative to that node's axes) that is given by (x, y, 0). See 6D Buoy Initial Position for more details.
Orientation
For 6D Buoy attachments only. Rotation 1, Rotation 2 and Rotation 3 determine the Initial Attitude of the attached
buoy.
Name
For 6D Buoy and Drag Chain attachments only. This is the name of the attached object and is used to select results
for that object.
Contents
Contents Method
Three methods of modelling contents are available, as outlined below:
- If uniform is selected then the entire line is assumed to be filled with contents of a uniform density.
- The free-flooding option results in the line being filled with sea water, up to the instantaneous water surface.
- The slug flow method allows for spatial and temporal variation of contents. The contents flow velocity can also
vary with time.
Include axial contents inertia
This data item allows the axial component of translational inertia due to contents to be omitted from the analysis.
Typically the contents axial translational inertia should be included for a line with capped ends, for example, since
then the contents must follow all translational motion of the line, including its axial motion. But the contents axial
translational inertia would be excluded from an analysis of a line with free-flooding contents, for example a drilling
riser in emergency disconnect mode.
The axial component of rotational inertia of the contents are always excluded, since the contents are assumed to
not have to follow any twisting motion of the line. The lateral components of contents inertia, both translational and
rotational, are always included.
Contents Pressure and Reference Z level
The contents pressure specifies the internal pressure in the line at a specified fixed reference Z level (specified
relative to global axes). The internal pressure at this Z level is assumed to remain constant throughout the
simulation. The internal pressure at other levels is calculated allowing for the static pressure head due to
differences in Z level. For slug flow, the static pressure head is calculated using the mean contents density in the line.
All pressures in OrcaFlex are gauge pressures, not absolute pressures. That is, they are relative to atmospheric
pressure and so can be as low as -1 atmosphere (-101.3 kPa).
The reference Z level can be set to '~' and this is taken to mean the Z level of the Top End of the line in the reset
state.
See Line Pressure Effects for details of contents pressure modelling.
System Modelling: Data and Results, Lines
w

306
Uniform contents data
Contents Density
Each section of the line is assumed to be full of contents of this density and the mass of the section is increased
accordingly.
Flow Rate
The rate of flow of mass through the line. If it is non-zero then it is used to calculate the centrifugal and Coriolis
forces due to flow of fluid in the line. Positive values mean flow from End A towards End B and vice versa. To
convert between mass flow rate, volume flow rate and flow velocity use the following simple formulae:
Volume flow rate = Mass flow rate /
Flow velocity = Volume flow rate / A
where is the contents density and A is the internal cross sectional area.
Slug flow data
The slug flow data allows you to specify variation of contents density along the arc length of the line. This pattern of
contents can also progress along the line over time. The program accounts for the resulting variations of mass,
weight and centrifugal and Coriolis forces.
Flow velocity
The velocity at which the contents pattern flows along the line. This value can be constant, or can vary as simulation
time varies. Positive values mean flow from End A towards End B and vice versa.
A value of zero can be used to specify spatial contents variation with no temporal variation. A variable flow velocity
can be used to model, for example, the flow of contents out of a drilling riser in emergency disconnect mode.
Note: There is no need to ramp flow velocity at the beginning of dynamics in fact it is better to include
the fluid flow in the static calculation because this removes undesirable transients during the
dynamic analysis. Therefore, if you wish to model a constant flow rate, you should set the flow
velocity to be this constant value.
Density between slugs
The contents density for sections of the line that fall in between slugs.
Slug flow contents pattern
The spatial variation of contents density, i.e. the contents pattern, is specified in a table. Each row of the table allows
you to define a number or group of identical slugs specified by their density and length together with the distance
between slugs.
In addition you specify a reference point, an arc length which can be relative to either end of the line, and the
simulation time at which the first slug in the group reaches that reference point. If the flow velocity is zero then the
previous definition is meaningless. In this case we adopt the convention that the group of slugs covers arc lengths
(measured from End A) greater than the reference point. For example, if the flow velocity is zero and you have a
single slug with length L and reference point at End A then the slug will stretch between arc lengths 0 and L.
Simple repeating patterns of slugs can easily be modelled using a single row in the table. For irregular patterns of
slug you can model each slug as a single row in the table. Range graphs of contents density can be used to confirm
that your data corresponds to your desired pattern of slugs.
Statics
The line static calculation is performed in 2 steps as described in Statics of Lines.
Included in Statics
This switch allows you to exclude certain lines from the statics calculation. This is mainly useful when building a
model and a particular line is not converging. In this situation you could exclude all other lines from statics (this is
easiest from the All Objects Data Form). This would allow you to experiment with different statics convergence
parameters for the problematic line without having to wait for all the other lines to converge each time you tried a
new set of convergence parameters.
Note: Results are not available for such lines and dynamics is disabled if you have any lines which are
excluded from statics. Lines which are excluded from statics have no influence on other objects in
the model.
Step 1 Statics Method
This can be either Catenary, Spline, Quick, Prescribed or User Specified.
w
System Modelling: Data and Results, Lines
307
The normal setting is Catenary, in which case the static analysis finds the equilibrium catenary position of the line,
allowing for weight, buoyancy, drag, but not allowing for bend stiffness or interaction with shapes. See Catenary
Statics.
The Catenary solution has some limitations and some systems, such as those with slack or neutrally buoyant lines,
can be troublesome. For such lines you can instead specify Spline, in which case the line is instead set to a 3D spline
curve based on spline control points specified by the user. See Spline Data and Spline Statics.
The Quick method leaves the line in the rough catenary shape used in the Reset state. See Quick Statics.
For pull-in analysis the Prescribed option has been provided. Here the user specifies the starting position of the line
as a sequence of straight line or curved sections on the seabed. See Prescribed Starting Shape.
The User Specified option allows you to specify the position for each node on the line. No calculation is performed,
the nodes are merely placed at the specified positions. See User Specified Starting Shape and User Specified Statics.
Step 2 Statics Method (Full Statics)
This can be either None or Full Statics.
If None is selected then the position obtained by the Step 1 Statics Method is used.
The Full Statics calculation finds a full equilibrium position for the model. Unlike the Step 1 Catenary method, bend
stiffness and interaction with shapes are included. Full statics needs a starting shape for the line, and it uses the Step
1 Statics Method to obtain this; it then finds the equilibrium position from there. You should therefore set the Step 1
Statics Method to give a reasonable starting shape. See Full Statics.
For more details of the Statics Calculation see Statics Analysis.
Warning: If you do not use Full Statics, then the starting position will not (in general) be an equilibrium
position.
Note: It is only possible to include buoys in the static analysis (see Buoy Degrees of Freedom Included in
Static Analysis) if either the Catenary method or Full Statics is used for all lines in the model.
Include Friction
Friction can be included in the static analysis only if the Step 1 Statics Method is Catenary or if Full Statics is used for
the Step 2 Statics Method.
With seabed friction present there is not, in general, a unique static position for the line, since the position it adopts
depends on how it was originally laid and its history since then. In order to define a unique solution, we therefore
need to make some assumptions about how the line was originally laid and friction is then assumed to act towards
this position.
If the Step 1 Statics Method is Prescribed, then this 'originally laid' position is assumed to be the position defined by
the Prescribed track. Otherwise, the 'originally laid' position is defined by specifying the Lay Azimuth and As Laid
Tension values.
Lay Azimuth
This value is only used when seabed friction is included in the static analysis and the Step 1 Statics Method is not
Prescribed. It then defines the position in which the line is assumed to have been originally laid, and friction is then
assumed to act towards this position. When Statics Method is not Prescribed, it is assumed that:
1. The line was originally laid, with the specified As Laid Tension, starting with the Bottom End at its specified
position (or at the point on the seabed directly below, if the Bottom End is not on the seabed).
2. The line was then laid in the Lay Azimuth direction, leading away from the Bottom End position and with the
specified As Laid Tension.
3. The line was laid following the profile of the seabed.
4. The Top End was then moved slowly from that original position to its specified position.
To help set this data item, there is a button on the form marked Set Lay Azimuth. This button sets the Lay Azimuth
value to be the direction from the Bottom End towards the Top End, based on their current positions.
Notes: Whilst the program will accept any Lay Azimuth, we would expect the statics convergence routine
to have increasing difficulty in finding a solution as the angle between the Lay Azimuth direction
and the vertical plane through the line ends increases. For example, if we have a line top at X=0,
Y=0, and anchor at X=100, Y=0, we would expect trouble for a Lay Direction of 90.
The Line Setup Wizard also uses the Lay Azimuth direction.
System Modelling: Data and Results, Lines
w

308
As Laid Tension
This data item specifies the effective tension with which the line was originally laid. OrcaFlex uses this to determine
the as-laid node positions, which are used as the friction target positions towards which friction acts in the static
analysis. This value is therefore only used if friction is included in statics.
If the Step 1 Statics Method is set to Prescribed starting shape, then the statics friction target positions are laid out
along the prescribed shape with a strain determined by the axial stiffness and this As Laid Effective Tension value.
If the Step 1 Statics Method is not Prescribed, then this value is used as described in the Lay Azimuth section above.
Catenary Convergence
If the Catenary statics method is chosen, then an iterative catenary calculation is used to determine the static
position of the line. This calculation is controlled by a number of convergence parameters which can normally be left
at their default values. However sometimes the calculation can fail to converge. If this happens, first check your data
for errors and check for the following common causes of convergence failure:
- Does the solution have a slack segment? This can happen in lines that touch down on the seabed almost at right
angles or in lines that hang in a very narrow U shape. The catenary calculation cannot handle lines with slack
segments try increasing the number of segments in the relevant section of the line.
- For lines that touch down on the seabed, is the Lay Azimuth value specified correctly? It is the azimuth direction
leading away from End B and it is easy to get it wrong by 180.
- Is the line buoyant, either deliberately or by mistake. The catenary calculation has problems with floating lines
you may need to use the Spline statics method instead.
- Does the line have a surface-piercing buoyant clump attached? If the clump is short then the catenary
calculation is more difficult.
If the calculation still fails to converge, then it is sometimes possible to obtain convergence by changing one or more
of the convergence parameters, as outlined below.
Max Iterations
The maximum number of iterations that OrcaFlex will make before treating the calculation as having failed to
converge. Increasing this value can sometimes help.
Tolerance
The non-dimensional accuracy to which the calculation is done, before the calculation is treated as having
converged. Increasing the tolerance increases the chances of convergence but reduces the accuracy.
Min Damping
The minimum damping factor to be used in the calculation. Convergence can sometimes be achieved by increasing
this parameter to a value greater than 1 try values in the range 1.1 to 2.0. The minimum damping should not be set
to less than 1.
Mag. of Std. Error, Mag. of Std. Change
These parameters control the maximum size of the change, in the estimated solution, this is allowed in a single step.
Reducing these values can sometimes help, but the calculation will then usually require more iterations.
The remaining parameters should not normally be changed. For further information contact Orcina.
Full Statics Convergence
The numerical method used to solve for the static position is an iterative process in which the program tries to
converge on the solution in a series of steps. This process is controlled by a number of convergence parameters,
found on the Line data form.
Convergence Control Method
Either Line Search or Mag. of Std. Error / Change. We recommend using the default value, Line Search, but if this
fails then the alternative Mag. of Std. Error / Change may succeed.
Max Iterations
The calculation is abandoned if convergence has not been achieved after this number of steps. For some difficult
cases simply increasing this limit may be enough.
Tolerance
This controls the accuracy of the solution. The program accepts the line position as a static equilibrium position if
the largest out of balance force component on any node is less than Tolerance * total weight in air.
w
System Modelling: Data and Results, Lines
309
When torsion is included the static equilibrium position must also satisfy the condition that the largest out of
balance moment component on any node is less than Tolerance * total weight in air * ODmax where ODmax is the
maximum diameter, contact diameter, stress diameter or normal drag diameter over the entire line.
Reducing the Tolerance value will give a more accurate static equilibrium position, but will take more iterations.
OrcaFlex may not be able to achieve the Tolerance specified if it is too small, since the computer has limited
numerical precision.
Delta
This is a perturbation size, used to calculate the Jacobian matrix for the problem. Delta should always be less than
the tolerance specified.
Note: This parameter is only used when torsion is included.
Min Damping, Max Damping
For some cases it is necessary to control the convergence process by damping down (i.e. reducing) the step taken at
each stage. The program includes an automatic damping system that chooses a suitable damping factor for each
iteration, but the user can set the minimum damping and maximum damping factors that are used.
Normally the default values will suffice but for difficult cases the default values can be altered. For cases that appear
to make the convergence unstable (e.g. giving very bad line positions on the screen) try increasing the Min
Damping factor to a value greater than 1, say values in the range 1 to 10. You can also try increasing the Max
Damping factor, say to values in the range 10 to 100.
Note: Convergence will be slower with larger damping values so you should use the smallest values that
result in statics converging.
Mag. of Std. Error, Mag. of Std. Change
These parameters are only available when the Mag of Std. Error / Change convergence control method is selected.
For some cases it may be necessary to reduce one or both of these values from their defaults. Doing so is likely to
slow down the convergence, but it may be necessary in order to achieve convergence!
Spline Starting Shape
The following data are only used if the Spline statics method is specified.
Order
This sets the smoothness of the spline shape; generally order 3 is reasonable. If a higher order is chosen, a smoother
curve results. The order cannot exceed the number of spline points.
Control Points
The line shape is specified by a number of Control Points. The first and last control points are automatically placed
at the line ends A and B respectively and OrcaFlex generates a smooth curve between the first and last control
points and passing near to the intermediate control points. These intermediate control points may be adjusted to
'pull' the curve into the desired shape.
The first and last control points correspond to line ends A and B respectively. The line is stretched to the specified
As Laid Tension and laid out following the spline curve starting at End A and working towards End B.
For a line with a Free end the line is laid out along the curve until End B is reached. If the length around the curve is
not equal to the stretched line length then the end will either fall short of the end Estimated Position or lie beyond it
(along the continuation of the curve along its 'final' direction).
For a line with a Fixed end, Anchor or attached to some object the curve is automatically expanded or contracted to
allow the end to lie at the specified end position. An error is reported if this process fails.
Prescribed Starting Shape
These data are only used if the Prescribed method is used for Step 1 statics. It can be found in the Prescribed
Starting Shape page on the line data form and can be edited in several ways:
- By editing the Length and Turn values of a track section on the line data form. OrcaFlex then creates an arc of
the specified Length and Turn, and the X and Y coordinates of the end of this section, and all subsequent
sections, are automatically adjusted to match.
- By editing the X and Y coordinates of the ends of a track section on the line data form. OrcaFlex then creates the
(unique) circular arc (or straight line) that is a smooth continuation of the previous section and passes through
the new (X,Y) point. The Length and Turn values for this section, and the X and Y coordinates for subsequent
sections, are then automatically adjusted to match.
System Modelling: Data and Results, Lines
w

310
- By dragging the end points of the track sections on a 3D view using the mouse. The track and the track section
end points are drawn on the 3D views. Dragging a track section end point is equivalent to editing its X and Y
values, as described above.
The individual data items (see Figure: Plan View of Example Track) are as follows:
End A Azimuth
The initial direction of the track.
Track Sections
The number of sections used to define the track.
Section Length
The length of the circular arc (or straight line if Section Turn = 0).
Section Turn
The amount by which the track azimuth increases over this section. A positive value denotes a turn to the left, when
viewed from above, and a negative value denotes a turn to the right. A value of zero can be entered to specify a
straight track section.
Section Radius
The radius of curvature of the circular arc. The radius equals (180L)/(T), where L is the section length and T is the
absolute value of section turn, in degrees. For straight sections (i.e. if Section Turn = 0) the radius is reported as
Infinity.
Notes: This is a reported value, not an editable data item, and is hence always shown in grey.
With a profiled or sloping seabed the actual track on the seabed will have a slightly different radius
of curvature see Laying out the Line.
Section X and Y
The global X and Y coordinates of the end of this track section. You can either edit these X and Y coordinates
explicitly, on the line data form, or else by dragging the end point on a 3D view. If you edit X or Y then OrcaFlex fits a
circular arc (starting at the previous section's end point) through the new end point and the Section Length and
Section Turn are automatically updated to match this new arc.
Section Z
The global Z coordinate of the section end point on the seabed. This is a reported value, not an editable data item,
and is hence always shown in grey.
Section Arc Length
The total arc length to the end of the section. This is a reported value, not an editable data item, and is hence always
shown in grey.
Section Azimuth
The azimuth direction at the end of the section. This is a reported value, not an editable data item, and is hence
always shown in grey.
Track Pen
This controls how the track is drawn. You can switch between the options of drawing the track in the chosen pen
and not drawing it at all.
Laying out the Line
The track data defines a sequence of straight lines and circular arcs in the horizontal plane, which are then projected
vertically onto the seabed to define the track itself. The program then lays the line out along the track, allowing for
any As Laid Tension specified by the user on the line data form.
Because the line is modelled as a series of straight segments, when the line is laid out along a curved track it will
repeatedly 'cut corners' and so the length of line laid along a given curved track section will be slightly shorter than
the length of that section. The size of this discrepancy reduces as more segments are used.
If End A is above the seabed then the height above the seabed varies linearly between End A and the first track
section point, reaching the seabed at the end of the first track section. If the end of the last track section is reached
before all the line has been laid out, then the rest of the line is laid out in a straight line in the direction of the end of
the track.
w
System Modelling: Data and Results, Lines
311
Sloping and profiled seabeds
The track on the seabed is obtained by projecting the specified circular arcs or straight sections vertically down onto
the seabed. With a horizontal seabed this vertical projection has no effect on the shape of the track. But with a
sloping seabed the vertical projection does not preserve distances and this causes some effects that users should
note:
- The section lengths and arc lengths that appear in the prescribed starting shape data table are lengths in the
horizontal plane, i.e. before projection down onto the seabed. With a sloping seabed the true section and arc
lengths on the seabed will differ, the difference depending on the slope of the seabed. The actual arc lengths can
be obtained by running the static analysis and looking at the Full Results table for the line.
- The section radius reported in the prescribed starting shape data table is that of the circular arc in the
horizontal plane, i.e. before projection down onto the seabed. When the circular arc is projected down onto a
sloping seabed the resulting track section is slightly elliptical rather than circular, so again the actual radius of
curvature will differ. The actual radii of curvature can be obtained by running the static analysis and looking at
the Full Results table for the line.
User Specified Starting Shape
Starting Shape
The User Specified Starting Shape statics method places each node at the position specified in this table. If torsion is
modelled then node orientations can also be specified.
Fluid Loads
Drag Formulation
A number of authors have proposed formulae to model how the drag force on a line varies with the incidence angle.
OrcaFlex offers the choice of the Standard, Pode or Eames formulations. All of these use drag coefficients that are
specified on the Line Types data form.
For details of the formulations see the Line Theory section.
Disturbance Vessel
Determines whether a line section will experience sea state disturbance generated by a particular vessel.
Line Wake Interference
To include wake interference modelling you must first define one or more wake interference models. See the Wake
Models button on the Line data form.
You must then specify which line sections to include in wake modelling, by either being included as a wake
generator (an upstream section) or as a section that reacts to wake (a downstream section), or both (a
downstream section that reacts to wake generated further upstream, but also generates its own wake that further
downstream sections might react to). For details see the Line Wake Interference Data on the Drag & Wake page of
the Line Data Form.
Notes: Wake modelling does not include the wake effect of one part of a line on another part of the same
line it only includes wake effects on other lines. To model the wake effect of one part of a catenary
on another part beyond the sag bend, you need to model the catenary as two lines, joined with a
dummy 6D buoy at the sag bend.
Also, wake modelling is only included in the static analysis if the Statics Method is set to Whole
System Statics. It is not included if the Separate Buoy and Line Statics method is specified. This
is because wake effects require that the static positions of the lines involved are calculated
together, not separately.
How Wake Effects Are Modelled
The wake models are steady state models of wake effects. Also OrcaFlex does not model the effect that wake takes
time to convect downstream. OrcaFlex therefore only attempts to model the steady wake effects.
Wake is generated when there is fluid velocity relative to the upstream cylinder, so both fluid motion and upstream
cylinder motion can contribute to the wake. Therefore the velocity OrcaFlex uses as the input to the wake model is
the steady relative velocity Vs given by
Vs = [undisturbed current velocity vector at upstream cylinder centre] - [any steady starting velocity
specified for the model]
The wake effects therefore do not include any effects of wave motion, or of any changes in upstream cylinder
velocity during a simulation.
System Modelling: Data and Results, Lines
w

312
Note: OrcaFlex does not model combined wake effects. If a given downstream node is in the modelled
wake of more than one upstream node, then OrcaFlex chooses to apply the wake effects of the
upstream node that gives the strongest wake effect at that downstream position when the wake
effects from other upstream nodes (which give weaker wake effects at that point) are ignored. So if
you are modelling riser arrays, for example, then the wake effects at any given point are modelled
as if they came from the upstream wake-generating node that gives largest wake effect in
isolation, i.e. as if the other upstream nodes were absent.
The strength of a given node's wake decays with distance downstream and also with distance in the transverse
direction, as specified by the wake model. But in addition OrcaFlex also makes the wake strength decay in the axial
direction of the upstream line, so that the strongest wake selected comes from the upstream node that is axially
closest to the downstream node. More details are given in the paper by Wu et al.
Line Wake Interference Data
Wake modelling requires significant computation, so to avoid slowing simulations unnecessarily OrcaFlex enables
you to only include wake modelling for sections of line where you think wake effects might be significant. This is
done on the Drag & Wake page of the line data form, by specifying which line sections generate modelled wake (the
upstream sections) and which line sections react to modelled wake (the downstream sections).
The fluid forces applied to sections that react to modelled wake will include the strongest wake effect from the
sections that generate modelled wake. The following two data items specify which sections generate and/or react
to wake:
Wake Generated
This can be set to one of the defined wake models, in which case OrcaFlex will model wake generated by that line
section acting as an upstream line. Or it can be set to None, in which case OrcaFlex will not model wake generated
by that line section.
Three types of wake model are available.
- The Huse model is an analytic wake model that models the velocity reduction and hence drag reduction on the
downstream object, but does not model the wake lift effect.
- The Blevins model is an analytic model that models the both the drag reduction and the wake lift force that
tends to draw the downstream object into the centre of the wake.
- The User Specified model allows you to model both the drag reduction and wake lift effect using your own data,
by specifying the drag and wake lift coefficients as a function of the position of the downstream object relative
to the wake of the upstream object.
See the Wake Models section for details.
Reacts to Wake
If Reacts to Wake is turned on then each node in the section will act as a downstream cylinder in the wake
modelling. Those nodes will then be subject to the strongest wake effects (i.e. strongest at that downstream
position) from any upstream nodes (on other lines) that generate modelled wake. Sections with Reacts to Wake
turned off will ignore any modelled wake generated by upstream sections.
So to summarise, the wake modelling will include the strongest wake effects on downstream sections that have
Reacts to Wake turned on, due to modelled wake from upstream nodes in sections of other lines that have Wake
Generated set to a wake model.
Note: A line section is allowed to be both a downstream section, i.e. Reacts to Wake is turned on, and at
the same time also act as an upstream section, i.e. generate modelled wake that further
downstream line sections can react to. However the wake effects of such a section will only affect
other lines in the model, not the line generating the wake. And the wake effect will be based on the
undisturbed steady relative flow velocity, so the wake effects of this wake-generating section will
not take into account any velocity reduction due to it in turn being in the wake of another wake-
generating section further upstream.
Wake Models
The Wake Model Data form enables you to define one or more models of wake interference. The wake interference
model specified determines how the flow velocity, wake drag reduction and wake lift force on a downstream
cylinder varies as a function of the (x,y) position of the downstream cylinder centre relative to the wake frame of
reference of the upstream cylinder.
w
System Modelling: Data and Results, Lines
313
You can define more than one wake model, for example if you want to use different wake models to model the wake
generation by different lines. A wake model that isn't used by any line in the model will be ignored, so you can define
wake models and then decide later which (if any) to use to model wake generation.
Wake frame of reference
The wake modelling is done relative to a wake frame of reference that is based on the steady relative fluid velocity
vector Vs at the upstream cylinder, and is given by:
- The wake frame origin is at the upstream cylinder centre.
- The wake frame x-axis is in the direction of the steady relative fluid velocity vector Vs.
- The wake frame z-direction is the direction obtained by projecting the upstream cylinder axial direction normal
to Vs. It is therefore the direction normal to Vs and in the plane formed by the Vs and the cylinder axial direction.
The +ve wake z-direction is towards end B of the upstream line.
- The wake frame y-axis is the direction that completes the orthogonal right-hand triad of wake axes x,y,z. It is
therefore normal to the plane formed by Vs and the cylinder axial direction.
The wake model theory below uses the following key variables. Upper case subscript 'D' denotes drag, lower case
subscripts 'u' and 'd' denote upstream and downstream, and subscript '0' denotes undisturbed, i.e. ignoring any
wake effects.
Vd(x,y) is the disturbed fluid velocity vector at downstream position (x,y) relative to the upstream cylinder
wake, allowing for wake effects.
Vd0(x,y) is the undisturbed fluid velocity vector at position (x,y).
Vu0 is the undisturbed fluid velocity at the upstream cylinder centre.
Du, Dd and CDu0, CDd0 are the normal drag diameter and undisturbed drag coefficient of the upstream and
downstream cylinders, respectively, as specified on the line type data form. Note that the wake modelling
does not allow for any non-isotropic aspects of the drag coefficients. If different drag coefficients have been
specified for the line x- and y-directions then the wake modelling uses the mean of the two values.
Wake Model Data
Each wake model is given a user-specified Name. And each model can be one of three types: Huse model, Blevins
model or User-Specified model, as described below.
Huse Model
This is an analytic model proposed by Huse (1993). It models the wake velocity reduction, and hence drag
reduction, but does not give any wake lift force.
In the Huse model the wake fluid flow velocity Vd(x,y) at a given position (x,y) in the wake is given by:
Vd(x,y) = Vd0(x,y) - k2Vu0[CduDu/xs]

exp[-k3(y/b)
2
]
where
xs = x + 4Du/Cdu
b = k1[CduDuxs]


and the other terms are defined above.
k1, k2 and k3 are user-editable non-dimensional model parameters. They should normally be left as the default
values, since these give the original Huse model. (Note that the parameter k3 is mis-printed in Huse, 1993 as 0.639
and was corrected in a later paper to 0.693.) Changing these model parameters from their default values will give a
variant of the Huse model.
Blevins model
The Blevins model is an analytic model that models velocity and drag reduction, and also models the wake lift force
that tends to draw the downstream object into the centre of the wake. See the Appendix of Blevins OMAE 2005
paper for the theory of the model.
The model has 3 non-dimensional model parameters a1, a2, a3 that are user-editable. They should normally be left as
the default values, since these are the values given by Blevins. Changing these model parameters from their default
values will give a variant of the Blevins model.
User Specified model
This option allows you to define a model (of both wake drag reduction and wake lift effect) by specifying drag and
lift coefficient factors as a function of the position of the downstream object relative to the wake of the upstream
object.
System Modelling: Data and Results, Lines
w

314
The wake effects are specified by giving a table of wake drag and lift coefficient factors for the downstream
cylinder, as a function of the downstream cylinder position relative to the upstream cylinder wake, as follows. See
above for notation.
- The Position columns of the table define, in non-dimensional form, a number of downstream cylinder centre
positions relative to the upstream cylinder wake frame of reference. This is done by specifying non-
dimensionalised distances L/Du (downstream) and T/Du (transverse) from the upstream cylinder centre to the
downstream cylinder centre, where Du is the normal drag diameter of the upstream cylinder.
- The Coefficient Factor columns of the table define the wake effects at the given (L/Du, T/Du) positions, by
specifying drag and lift coefficient factors. Note that these data are scaling factors, not the drag and lift
coefficients themselves. The drag factors are scaling factors that are applied to the reference drag coefficient
CDd0 of the downstream cylinder, as specified on the line type data form. The lift coefficient factors are signed
scaling factors that are applied to the Reference Wake Lift Coefficient CLd0, which is specified on the wake
models data form. A +ve lift coefficient factor means a lift force in the +ve wake frame y-direction, so the lift
coefficient factor at a given T/Du position will normally have the opposite sign to the T/Du value, since wake lift
effects are normally towards the centre line of the wake.
OrcaFlex uses linear triangular interpolation to obtain the drag and lift coefficient factors to use for wake frame
positions between those specified in the table.
Note: The drag coefficient factors can be negative, in which case they represent flow reversal at that
position in the wake. This can happen, and indeed the Blevins model can give flow reversal just
behind the upstream cylinder. However the drag factors must not be greater than 1, so flow
enhancement cannot be modelled.
Wake drag effects are normally symmetric, and wake lift effects anti-symmetric, either side of the wake centre line.
So to avoid the need to specify in the table both +ve and -ve values of T/Du you can tell OrcaFlex to Reflect Data. In
this case you must only specify table rows for one half of the wake plane, i.e. either for T/Du 0 only, or for T/Du 0
only. OrcaFlex will then automatically reflect all your data points that are not on the wake centre line, by internally
duplicating them and negating T/Du and the lift coefficient, and will then interpolate over that new
specified+reflected data set, which now covers both sides of the wake centre line.
Note: Data reflection will not in general give perfectly symmetric response characteristics. This is
because the interpolation involves triangulation of the data, and that triangulation might not be
symmetric either side of the wake centre line. However any lack of symmetry will be proportional
to the spacing of the points you specify in the data - more closely spaced data points will give closer
to perfect symmetry.
Results
Log Results
This option is checked by default and this means that simulation results at all points on the Line are available. If this
option is unchecked then no simulation results are available for this Line.
OrcaFlex stores simulation results in an efficient way, only logging a minimal set of variables to the simulation file.
Other results variables which have not been logged are then derived when the results are requested. Usually this
means that simulation files are a reasonable size and we recommend that this value is checked.
Should you need to reduce the size of simulation files then this option can be unchecked for those lines for which
you do not need results.
Arc length axis, Arc length axis inverted, Value axis inverted
These data items allow you customise the way range graphs are displayed. The Arc length axis setting allows you to
control whether the arc length axis is horizontal or vertical. The latter option would typically be used for vertical
risers.
Normally the axes on an OrcaFlex graph display increasing values to the right (for a horizontal axis) or upwards (for
a vertical axis). The axis inverted options allow you to reverse the axes. Again this would typically be used for
vertical risers to arrange that up and down on the arc length axis of the graph matched up and down in the physical
system being modelled.
Since changes to these settings are usually motivated by the physical layout of the line in question, each line in an
OrcaFlex model has its own copies of these settings.
These data items can also be set on the results form.
w
System Modelling: Data and Results, Lines
315
Drawing
Nodes
You can define the colour, line style and thickness of the pens used for drawing the nodes and sections of the line.
See How Objects Are Drawn. You can also choose to draw nodes as circular discs with diameter equal to the contact
diameter.
Segments
There is a choice for which pen is used to draw the segments. You may either specify the pen explicitly on the Line
Data form, in which case it will be used for all segments of that line. This allows you to use different pens to
distinguish between different lines. Alternatively, you can choose to have the segments drawn using the appropriate
Line Type Pen defined on the Line Types form. This allows you to use different pens to distinguish sections of
different line types.
Node axes
Node axis directions (x, y, z) can be given individual colours. This helps distinguish between x and y directions thus
making component results easier to interpret. The node axes directions are drawn optionally and can be controlled
by the Draw Node Axes preference or by pressing CTRL+ALT+Y.
Contact
You can define a contact pen which is used when drawing nodes and segments which are in contact with the seabed,
elastic solids and other lines. Should you wish you can choose to disable the contact drawing.
End Node Shaded Drawing
Determines how the two line ends are drawn for shaded graphics, either as a hemisphere or not at all.
Prescribed Statics Method (Track)
For Lines with Prescribed Statics Method you can control how the track is drawn. You can switch between the
options of drawing the track in the chosen pen and not drawing it at all.
Spline Starting Shape
For the Spline Starting Shape you can switch between the options of drawing the unscaled spline in the chosen pen
and not drawing it at all.
VIV Drawing
The VIV Drawing page is visible when a time domain VIV model is used. For details see the VIV Drawing topic.
Properties Report
The Line properties report is available from the popup menu on the data form.
Summary page
Total length
The sum of all the section lengths.
Total weight in air (excluding contents), Total weight in air (including contents)
The force due to gravity of the entire line. The weight of any attachments is excluded.
Total displacement
The weight of water displaced by the entire line's volume. The displacement of any attachments is excluded. The
reported value uses the water density at the sea surface.
Total wet weight (including contents)
Equals Total weight in air (including contents) - Total line displacement.
Statics force accuracy, Statics moment accuracy (only reported if torsion is included)
Both Whole System statics and Full Statics methods find an equilibrium configuration that is a set of node
positions for which the resultant force and moment on each node is zero. We refer to the resultant force and
moment as the out of balance load. Because computers have limited numerical precision the static analysis cannot
always find a configuration where the out of balance load is exactly zero. OrcaFlex accepts a position as a static
equilibrium position if the largest out of balance load component is less than the statics accuracy.
The Statics force accuracy equals Tolerance * [line typical force] and the Statics moment accuracy equals Tolerance *
[line typical moment]. The line typical force is defined to be the total weight in air. The line typical moment is
defined to be [total weight in air] * [total length].
System Modelling: Data and Results, Lines
w

316
If Whole System statics is active, the value of Tolerance used in the above equations is the Whole System statics
tolerance. Otherwise, Tolerance is the Full Statics Tolerance.
Reducing the Tolerance value will give a more accurate static equilibrium position, but will take more iterations.
OrcaFlex may not be able to achieve the Tolerance specified if it is too small, since the computer has limited
numerical precision.
Details page
This contains a spreadsheet with the following information:
- The values reported on the Summary page, as described above.
- Properties for each line type used by the line: weight in air, weight in water, displacement etc.
- Properties for each section of the line. This table includes details of segmentation, structure, hydrodynamics,
contact and friction. When the section's line type uses a profiled diameter the properties are reported for each
segment in that section.
If the line uses a P-y model then a page of detailed output is included which describes how the P-y model data has
been interpreted.
6.8.2 Line Types
Data
The Line Types form defines the properties of a number of named line types, which can then be used to specify the
structure of the Lines used in the model.
The line types form must include all the line types referred to on all of the Lines forms, but it can also include other
line types that are not currently in use in the model. This allows you to build up a library of standard line types
which can then be easily used when building Lines.
There is not enough room on the screen to show all the properties of all the line types, so OrcaFlex offers different
view modes:
- Individual mode shows one line type at a time, but shows you all its properties.
- All mode shows all the line types, but different types of properties are shown in different tables.
- External Function Parameters mode shows the data used by any external functions referenced by the Line
Type.
The Line Type Wizard is available to help set up line type data to represent commonly used structures such as
chains, ropes etc.
Line Type Name
Used to refer to the Line Type.
Category
Can be one of the following options.
Homogeneous Pipe
The Homogeneous Pipe category is appropriate for a pipe constructed from a single homogeneous material, for
example a metal riser, or when modelling stress joints and bend stiffeners. The pipe's structural properties are
defined by specifying Young's modulus, material density and pipe diameters. When modelling stress joints and bend
stiffeners the outer diameter can be specified as varying with arc length.
Equivalent Line
The Equivalent Line category is intended for simple modelling of pipe-in-pipe and pipe-on-pipe lines. The program
calculates combined line type properties (geometry, mass, stiffness etc.) of a number of different line types. Note
that the data for equivalent line types can only be modified when using the Individual view mode.
General
The General category is used in all other situations. The axial, bending and torsional stiffnesses are directly input
instead of being calculated from E. Similarly the mass is specified as mass per unit length as opposed to being
calculated from a material density. This approach allows analysis of flexible risers, umbilicals, hoses, mooring
chains, ropes, wires, bundles, seismic arrays, power cables, nets etc.
Geometry & Mass Data
Outer and Inner Diameter
Used to define buoyancy and mass of contents per unit length respectively.
w
System Modelling: Data and Results, Lines
317
These data can also be used for other purposes as follows:
- If the Stress Diameters are set to '~' then these diameters are used for wall tension and stress results
calculations.
- If the Contact Diameter is set to '~' then the outer diameter is used for contact calculations.
- If the Drag / Lift Diameters are set to '~' then the outer diameter is used.
Profiled line types (homogeneous pipe only)
For homogeneous pipes the outer diameter can vary with arc length. To do this you first specify the profile in a Line
Type Outer Diameter variable data source which is then referenced by the outer diameter data of the line type.
This feature is used when modelling stress joints and bend stiffeners. Arc length is defined relative to the start of the
line section which uses this line type and increases from End A towards End B.
CG Offset
The x and y coordinates of the centre of gravity (CG) relative to the centreline. These data items are only used when
torsion is being modelled. Note that if the line has contents then the contents CG is assumed to be at the centreline
and is not affected by this CG Offset.
Bulk Modulus
Specifies the compressibility of the line type. If the line type is not significantly compressible, then the Bulk Modulus
can be set to Infinity, which means incompressible. See Buoyancy Variation.
Material Density (homogeneous pipe only)
The density of the material.
Mass per Unit Length
The mass of the line or pipe structure, excluding contents, per unit length. For homogeneous pipes the material
density is used to calculate the structural mass and therefore the mass per unit length data item cannot be edited.
Coatings & Linings Data
Coatings and Linings are available for homogeneous pipe only.
They are typically used with steel pipes to model the additional mass and displacement of concrete coatings, plastic
linings etc. They contribute mass, weight and displacement and also modify the pipe's inner and outer diameters.
However, they contribute no additional structural strength and are assumed not to be load bearing. Stress results
are calculated based on stress diameters equal to the underlying pipe diameters.
Thickness and Material Density
The thickness specifies the physical dimension of the coating or lining. For a coating the buoyancy diameter, contact
diameter and drag diameters are all increased by twice the coating thickness. Similarly the pipe's inner diameter is
reduced by twice the lining thickness which has the effect of reducing the contents mass and weight.
The material density is used, together with the thickness, to calculate the additional mass and weight of the coating
or lining.
Multiple layers
The data on the Line Type data form only allow single coating or lining layers to be specified. It is, however, also
possible to specify multiple layers of coatings or linings. To do this you define Coatings or Linings variable data
sources which are then referenced by the thickness data on the Line Type data form.
These data sources specify a list of layers defined by thickness and material density. The layers are listed in the
order of application. In other words the first layer is immediately adjacent to the pipe, the second layer is next to the
first layer, and so on.
Limits Data
Compression is Limited
The program has two modes for handling slack segments, i.e. when the distance between two adjacent nodes
becomes less than the original unstretched segment length:
- No means that the segment is treated as a strut which can support unlimited compression. This is the preferred
model except where bend stiffness is insignificant.
- Yes means that the segment is treated as an elastic Euler strut the compression is limited to the segment Euler
load. This is a better model for cases where the bend stiffness is insignificant, such as for chains and soft ropes.
System Modelling: Data and Results, Lines
w

318
The segment Euler load is given by
2
EI/L0
2
where EI is the bending stiffness of the pipe and L0 is the unstretched
length of the segment. In all cases, whenever a segment has been compressed to or beyond the segment Euler load,
then a warning of this is given on the results form and in the statistics table.
For items such as mooring chain, the bending stiffness is zero, and the segment Euler load is also zero. In this case
Compression is Limited should be set to "Yes" this correctly models a chain or very flexible rope, which cannot
support any compression. The segment Euler load warning is then simply a warning that the line has gone slack.
For a line with non-zero bend stiffness the Euler load warning is effectively a warning that the segments at that
point are too long to accurately model the bending that is occurring. Effectively, bending is occurring at a scale that
is less than the segment length, so shorter segments are needed to model it accurately. Using shorter segments in
that area will give a larger segment Euler load, and to obtain an accurate solution you should, ideally, use sufficiently
short segments that the resulting segment Euler load is not reached. See Line Compression and Modelling
Compression in Flexibles for details.
Allowable Tension
The maximum permitted tension for this type of line. This value is used to draw a limit curve on Tension Range
Graphs and to calculate the Normalised Tension. It does not limit the tension achieved in the line. If no limit curve is
wanted then you may input "~".
Minimum Bend Radii (MBR)
You can specify the minimum permitted radii of curvature for bending about the x and y-directions. These values
are optional they are only used to draw "allowable" curves on range graphs and in the calculation of Normalised
Curvature results. They do not limit the bend radius of the line. If you do not want these curves then set the x-radius
to "~" (meaning "not applicable") and the y-value to "~" (meaning "same as x-value").
Often the radii for the x and y-directions are equal and this can be specified by setting the y-radius to "~" which
means "same as x-radius".
The specified values are used to draw "allowable curvature" curves on the x and y-Curvature range graphs, and also
(if the x and y-minimum radii are equal) on the Curvature range graph. In addition, they are used (together with the
specified bend stiffness) to derive "allowable bend moment" curves which are drawn on the x and y-Bend Moment
range graphs, and also (if the x and y-values are equal) on the Bend Moment range graph. The MBR is also used to
calculate Normalised Curvature.
Notes: MBR can be specified as a variable data item defined as a table relating MBR to tension either
wall tension or effective tension can be used. A typical example of this would be a steel core
umbilical. A variable MBR is used solely in the calculation of Normalised Curvature.
The "allowable" curve may not be visible on the range graph, since it may be outside the range
covered by the graph. To see the "allowable" curve in this case you will need to modify the graph to
increase the range of values covered.
Structure Data
Young's Modulus (homogeneous pipe only)
The Young's modulus of the material which can be constant or variable.
- A constant value results in linear material properties.
- A variable data item specifies a non-linear stress-strain relationship which results in a bending stiffness with
non-linear elastic behaviour. Note however that the axial and torsional stiffnesses are still assumed to be linear.
For homogeneous pipes the Young's modulus determines the axial, bending and torsional stiffnesses. These stiffness
data items are reported on the data form, although they cannot be edited.
Bend Stiffness
The bend stiffness is the slope of the bend moment-curvature curve. You can specify separate values for bending
about the x and y-directions, but often these are equal. This can be achieved by setting the y-bend stiffness to '~'
which means 'same as x-bend stiffness'.
The bend stiffness specified may be zero, for example for chains. It can also be very large values, for example for
steel pipes, but this will often result in short natural periods in the model and hence require short simulation time
steps. See Inner and Outer Time Steps.
You can specify the bend stiffness to be linear, elastic non-linear, hysteretic non-linear or externally calculated,
as follows. See Calculating Bend Moments for further details of the bending model used.
w
System Modelling: Data and Results, Lines
319
Linear Bend Stiffness
For normal simple linear behaviour, specify the bend stiffness to be the constant slope of the bend moment-
curvature relationship. This slope is the equivalent EI value for the line, where E is Young's modulus and I is the
moment of area of the cross section. The bend stiffness equals the bend moment required to bend the line to a
curvature of 1 radian per unit length.
Non-Linear Bend Stiffness
For non-linear behaviour, use variable data to specify a table of bend moment magnitude against curvature
magnitude. OrcaFlex uses linear interpolation for curvatures between those specified in the table, and linear
extrapolation for curvatures beyond those specified in the table. The bend moment must be zero at zero curvature.
For homogeneous pipes the Plasticity Wizard may be useful to help set up the table.
With non-linear bend stiffness you must also specify whether the hysteretic bending model should be used.
- Non-hysteretic means that the non-linear stiffness is elastic. No hysteresis effects are included and the bend
moment magnitude is simply the specified function of the current curvature magnitude.
- Hysteretic means the bend moment includes hysteresis effects, so that the bend moment depends on the history
of curvature applied as well as on the current curvature. Also note that if the hysteretic model is used then the
line must include torsion effects.
Warning: You must check that the hysteretic model is suitable for the line type being modelled. It is not
suitable for modelling rate-dependent effects. It is intended for modelling hysteresis due to
persisting effects such as yield of material or slippage of one part of a composite line structure
relative to another part.
If you use the hysteretic bending model then the simulation speed may be significantly slowed if there are a large
number of points specified in the table of bend moment against curvature. You might be able to speed up the
simulation, without significantly affecting accuracy, by removing superfluous points in areas where the curve is very
close to linear. In addition hysteretic bend stiffness usually requires shorter time steps than non-hysteretic
modelling, when using implicit integration.
Note: If you are using non-linear bend stiffness, then the mid-segment curvature results reported depend
on whether the bend stiffness is specified to be hysteretic or not. If the bend stiffness is not
hysteretic then the mid-segment curvature reported is the curvature that corresponds to the mid-
segment bend moment (which is the mean of the bend moments at either end of the segment). If the
bend stiffness is hysteretic then the mid-segment curvature cannot be derived in this way (because
of possible hysteresis effects) so the mid-segment curvature reported is the mean of the curvatures
at the ends of the segment. This difference may be significant if the bend stiffness is significantly
non-linear over the range of curvatures involved.
The Statics Model option controls how the non-linear bend stiffness table is interpreted during the statics
calculation. There are two options:
- Pressurised: The bend moment is calculated from the curvature by simple interpolation of the bend stiffness
table. This option therefore behaves identically to the non-linear elastic model during statics.
- Depressurised: The bend stiffness is linear with stiffness determined by the slope of the final two rows of the
bend stiffness table. Once the dynamic simulation starts, the line is assumed to be pressurised and the hysteric
model is applied. The program enforces continuity in the transition from linear stiffness in statics to hysteretic,
non-linear stiffness in dynamics.
To understand better the rationale behind this option consider the example of a flexible riser. A flexible riser is
constructed using layers. When the riser is not pressurised, these layers are free to slide over each other. When the
riser is pressurised, this leads to friction between the layers. As the riser is bent, this friction has the effect of
increasing the apparent bend stiffness of the riser. Eventually, under bending, the friction reaches a limit and the
layers are then able to slip over each other. This inter-layer friction is what gives rise to the hysteretic behaviour of a
flexible riser.
For the depressurised option the program is assuming that the post-slip stiffness is the same as the depressurised
stiffness, and is given by the final two rows of the data table. So the depressurised option is to be used for scenarios
where the static analysis models the riser before it has been pressurised. Typically the riser will be installed without
internal pressure and so its geometry will be determined by the much lower, post-slip stiffness. However, once the
riser is pressurised, the dynamic bending stiffness is higher due to the inter-layer friction.
For further details see non-linear bend stiffness theory.
The External results option allows you to specify an external function that can be used to track the bend stiffness
calculation and provide user-defined results variables.
System Modelling: Data and Results, Lines
w

320
Externally Calculated Bend Moment
This option allows the bend moment to be calculated by an external function. If this option is used then the line must
include torsion effects. The external function can be written by the user or other software writers. For details see
the OrcaFlex programming interface (OrcFxAPI) and the OrcFxAPI documentation.
Warning: Non-linear behaviour breaks the assumptions of the stress results and fatigue analysis in OrcaFlex.
You should therefore not use these facilities when there are significant non-linear effects.
Axial Stiffness
The axial stiffness is the slope of the curve relating wall tension to strain. The data specifies the behaviour in the
unpressured state, i.e. atmospheric pressure inside and out. Pressure effects, including the Poisson ratio effect, are
then allowed for by OrcaFlex.
You can either specify linear or non-linear behaviour, as follows:
- For a simple linear behaviour, specify the axial stiffness to be the constant slope of the line relating wall tension
to strain. This slope is the equivalent EA value for the line, where E is Young's modulus and A is the cross section
area. It equals the force required to double the length of any given piece of line, assuming perfectly linear elastic
behaviour. (In practice, of course, lines would yield before such a tension was reached.)
- For a non-linear behaviour, use variable data to specify a table of wall tension against axial strain. OrcaFlex uses
linear interpolation for strains between those specified in the table, and linear extrapolation for strains beyond
those specified in the table. The wall tension is allowed to be non-zero at zero strain.
Note: Axial strain is defined to equal (L - L0) / L0, where L and L0 are the stretched and unstretched
length of a given piece of pipe. Here 'unstretched' means the length when unpressured and
unstressed. When a pipe is pressured its tension at this 'unstretched' length is often not zero
because of strains due to pressure effects. For a homogeneous pipe this can be modelled by
specifying the Poisson ratio. For a non-homogeneous pipe (e.g. a flexible) the Poisson ratio may not
be able to capture the pressure effects.
Warning: Non-linear behaviour breaks the assumptions of the stress results and fatigue analysis.
See Calculating Tension Forces for details of the tension model used.
Note: If you use explicit integration for dynamic simulation then the axial stiffness specified here will
have a major effect on how long the dynamic simulation will take. This is because very large axial
stiffness values lead to very small natural periods for the nodes, and this in turn requires very small
simulation time steps when using explicit integration. See Inner and Outer Time Steps.
Fortunately, the value of axial stiffness used is often not very important, providing it is large
enough that the axial strains produced are small. The exception to this is where snatch loads occur,
since the axial stiffness directly affects the peak tension that results. It is therefore normally quite
acceptable to specify a much smaller axial stiffness value than applies to the real line, so enabling
much faster simulations. We recommend that artificially low axial stiffness values are specified,
particularly for early investigative simulations. The effect of this can easily be investigated later by
re-running a selection of important simulations with the actual axial stiffness value.
Poisson Ratio
This specifies the Poisson ratio of the material that makes up the wall of the line type. It is used to model any length
changes due to the radial and circumferential stresses caused by contents pressure and external pressure.
A Poisson ratio of zero means no such length changes. For metals such as steel or titanium the Poisson ratio is about
0.3 and for polyethylene about 0.4. Most materials have Poisson ratio between 0.0 and 0.5.
Note: The Poisson ratio effect is calculated assuming that the line type is a pipe made from a
homogeneous material. It is not really applicable to complex structures such as flexibles, whose
length changes due to pressure are more complex. However for such cases an effective Poisson
ratio could be specified as an approximation.
Torsional Stiffness
The torsional stiffness is used only if torsion is included on the line data form.
The torsional stiffness specifies the relationship between twist and torsional moment (torque). You can specify
linear or non-linear behaviour, as follows:
- For a simple linear behaviour, specify the torsional stiffness to be the constant slope of the torsional moment-
twist per unit length relationship. This slope is the equivalent GJ value for the line, where G is the shear modulus
w
System Modelling: Data and Results, Lines
321
and J is the polar moment of inertia. It equals the torque which arises if the line is given a twist of 1 radian per
unit length.
- For a non-linear behaviour, use variable data to specify a table of torque against twist per unit length. OrcaFlex
uses linear interpolation for curvatures between those specified in the table, and linear extrapolation for values
outside those specified in the table. The torque must be zero at zero twist.
See Calculating Torsion Moments for details on how this value is used.
Note: When defining non-linear torsional stiffness you should specify values for both positive and
negative twist per unit length. This allows you, for example, to have different stiffnesses for positive
and negative twisting. If the behaviour is mirrored for positive and negative twist then you must
specify the full relationship OrcaFlex does not automatically reflect the data for you.
Warning: Non-linear behaviour breaks the assumptions of the stress results and fatigue analysis.
Drag, Lift & Added Mass Data
Drag Coefficients
The drag coefficients for the normal (x and y) directions and axial (z) direction are specified on the line type data
form. For the x and y directions the drag coefficients can be one of the following options:
- A fixed constant value.
- A value that varies with Reynolds number.
- A value that varies with Height above Seabed.
- A value that varies with both Reynolds number and Height above Seabed.
Often the coefficients for the x and y-directions are equal and this can be specified by setting the y-coefficient to "~",
which means "same as x-coefficient". OrcaFlex also offers a choice (on the line data form) of different formulations
for how the drag force components vary with the incidence angle.
If wake interference effects are being modelled for a given line, then these normal drag coefficients on the line type
data form specify the undisturbed drag coefficient. And the drag force will be calculated using a drag coefficient
that is modified from this value according to the wake model used.
For further details see the Line Theory section.
Typical drag coefficient values
For circular cylinders, the drag coefficient for normal flow depends on Reynolds number Re and surface finish. For
values of Re between 2E4 and 3E5 the drag coefficient takes the value 1.2 and is independent of surface roughness.
Values below this range are unlikely to occur in practice. For Reynolds numbers greater than 3E5, the drag
coefficient is strongly dependent on both Re and surface roughness.
For very smooth cylinders the drag coefficient falls rapidly to 0.28 at a Re of about 6E5 before recovering to a value
of 0.5 for Re values above 2E6. For rough cylinders the effect is less marked, but remains significant.
In view of this behaviour, the use of variable data for normal drag coefficients is strongly recommended. OrcaFlex
will then use the value of drag appropriate to the instantaneous local value of Reynolds number throughout the
simulation.
The functional form of the dependence is well documented in the open literature and also in proprietary data
sources, such as ESDU 80025.
Note that some of these sources take account of the effect of the amount of turbulence in the incoming flow by
defining an effective Reynolds number. Consequently, care is needed to ensure that the data are presented in a form
that is consistent with the definition of Reynolds number used by OrcaFlex.
Results for Reynolds number and drag coefficient are available as time history results.
The above values apply where vortex-induced vibration (VIV) is expected to be negligible. If significant VIV is
anticipated, then drag coefficients may be increased significantly. If this is the case, a more detailed VIV analysis
should be carried out.
Axial drag results from skin friction only. In subcritical flow (Re < 3.8E5), the drag coefficient for axial flow, Ct, is
0.008 for a smooth cylinder and 0.011 for a rough cylinder, based on ESDU data. At higher Re, ESDU suggest that
skin friction may be neglected, i.e. Ct = 0. In practice, axial drag is often negligible and Ct = 0 is often acceptable.
Lift Coefficient
The lift coefficient is used to specify a lift force which acts in the direction normal to the line axis and in the plane of
that axis and the seabed normal. It can be one of the following options:
- A fixed constant value.
System Modelling: Data and Results, Lines
w

322
- A value that varies with Reynolds number.
- A value that varies with Height above seabed.
- A value that varies with both Reynolds number and Height above seabed.
For further details see the Line Theory section.
Drag / Lift Diameters
These are used when calculating drag area and lift area. They are also used for any wake interference modelling, and
for VIV modelling if the VIV diameter is set to '~'. A drag diameter of '~' results in the outer diameter being used.
Note: OrcaFlex calculates the normal drag / lift area to be DnL and the axial drag area to be DaL where
Dn is the normal drag / lift diameter, Da is the axial drag diameter and L is the element length. Note
that different programs handle these calculations in different ways. For example it is common for
programs to use a single drag / lift area for both normal and axial flow and in addition some
programs do not include the factor of in the axial drag area. Because of these differences you
must be careful when comparing or transferring data between different programs.
Added Mass Coefficients (Ca)
The added mass coefficients Ca for normal (x and y-directions) and axial (z-direction) flow. A value of "~" for the y-
coefficient is equivalent to setting it equal to the x-coefficient. See Added Mass for details.
Inertia Coefficients (Cm)
The inertia coefficients Cm for normal (x and y-directions) and axial (z-direction) flow. A value of "~" is equivalent to
setting the coefficient to 1+Ca. See Added Mass for details.
Note: Inertia coefficients are not specified for homogeneous pipe and are internally set to 1+Ca.
Contact Data
Contact Diameter
Contact between lines and the seabed, elastic solids or other lines accounts for the diameter of the line. This value
specifies the diameter to be used. If a value of '~' is specified then the line outer diameter is used.
This value is also used in the calculation of Line Contact Clearance results and as the drawing diameter for shaded
graphics views.
Note: For contact between lines and the seabed or elastic solids contact is modelled between a node and
the contact surface. For a node at a line section boundary, the contact diameter is chosen to be the
larger of the contact diameters of the line types either side of the node. For line clashing, contact is
modelled between two segments and so the line type contact diameter is used directly.
Clash Stiffness and Clash Damping
The stiffness and damping values used by the clashing algorithm. See Line Clashing.
Damping is always zero when using the implicit integration scheme.
Stress Data
Stress Outer and Inner Diameter
The stress diameters are the inside and outside diameters of the load-bearing cylinder. They are used in the wall
tension and stress results calculations, which are based on the assumption that the loads in the line are taken by a
simple homogeneous cylinder. For simple cases, the stress diameters can be set to '~', in which case they will be
taken to be the same as the pipe diameters. For more complex cases, for example where the pipe outside diameter
allows for added buoyancy modules that are not load bearing, the stress diameters can be set separately. See Line
Results Forces.
Allowable Stress
The maximum allowable stress for this type of line. This value is only used to draw a limit curve on Stress Range
Graphs; it does not limit the stress achieved in the line. If no limit curve is wanted then you may input the tilde
character "~" (meaning not applicable) instead of a number.
Stress Loading Factors
These are used to specify what proportion of the loads (wall tension, bend moment, shear and torque) are to be
used when calculating stress results and code check results. The wall tension, bend moment, shear force and torque
are multiplied by the appropriate stress loading factor when they are used to calculate stress results and code check
results.
w
System Modelling: Data and Results, Lines
323
The Wall Tension results variable is scaled by the tensile stress loading factor.
The stress factors also influence the effective tension used when calculating the code check results. The effective
tension used in the code checks is calculated from the total, unscaled, wall tension, Tw:
C1Tw - (PiAi - PoAo)
where C1 is the tensile stress loading factor.
For many cases, for instance when modelling a simple homogeneous pipe that carries all the loads, these load
factors should be set to 1, the default value.
In some cases, values less than 1 may be suitable. For example, consider a case where the line models a composite
structure that consists of a main carrier pipe and an external piggyback pipe. You might estimate that the main pipe
takes all of the tensile and torsional loads, but only carries 70% of the bending loads, the other 30% being taken by
the piggyback pipe. Then to obtain stress estimates for the main pipe you could set the Stress Outer and Inner
Diameters to '~' and set the bending and shear stress loading factors to 0.7.
Note: The Stress Loading Factors only affect the wall tension results, stress results, fatigue analyses and
code check results. These results are derived after the simulation has run, and because of this
OrcaFlex allows these data items to be modified after a simulation has been run.
Friction Data
Seabed Friction Coefficients
OrcaFlex applies Coulomb friction between the line and the seabed. The friction force applied never exceeds R
where R is the seabed reaction force and is the friction coefficient.
Lines lying on the seabed often move axially more readily than they move laterally. To enable this effect to be
modelled, you can specify different friction coefficients for motion normal (i.e. lateral) and axial to the line. For
intermediate directions of motion OrcaFlex interpolates between these two values to obtain the friction coefficient
to use. If the axial friction coefficient is set to '~' then the normal friction coefficient is used for for all directions of
motion. This provides a convenient way of using the same friction coefficient for all directions of motion.
See Friction Theory for further details of the friction model used.
Note: The friction coefficient for contact with elastic solids is specified on the Solid Friction Coefficients
data form.
Typical values
Published data are sparse. Some information is given in Puech (1984) and Taylor and Valent(1984). Both references
distinguish between sliding friction and starting friction: starting friction is greater to represent the "breakout"
force. OrcaFlex does not draw this distinction. In most cases, the sliding friction coefficient should be used; this will
usually be conservative. Both references are written in the context of the contribution of chains and cables to anchor
holding power, so we assume the friction values given are axial. Transverse values will be greater, perhaps by 50%
to 100%.
The values given below are recommendations from Taylor and Valent.
Line type Seabed Type Starting Friction
Coefficient
Sliding Friction
Coefficient
Chain Sand 0.98 0.74
Mud with sand 0.92 0.69
Mud/clay 0.90 0.56
Wire rope Sand 0.98 0.25
Mud with sand 0.69 0.23
Mud/clay 0.45 0.18
Structural Damping Data
Rayleigh Damping Coefficients
A named Rayleigh Damping Coefficient data set. This data item can be set to "(no damping)", in which case no
Rayleigh damping will be applied for this Line Type.
This item is only available when using the implicit integration scheme.
System Modelling: Data and Results, Lines
w

324
Equivalent Line Data
The properties of an equivalent line type are calculated from properties of other line types. For example, consider a
pipe-in-pipe system. These are often modelled by combining the properties of both external and internal lines into a
single representative line type. Single representative values for mass, diameters, stiffnesses, etc. must be calculated
and the equivalent line type category is designed to perform those calculations.
The input data for an equivalent line type comprises the following:
1. A carrier line type. This is a reference to an existing line type defined in the model.
2. One or more secondary lines. These secondary lines are also defined by referencing existing line types.
Secondary lines can be either internal or external.
3. Other data. Not all equivalent line data can be derived by the program, e.g. drag, lift, added mass, fluid inertia,
etc. Such data are provided by the user.
Carrier Line
The equivalent line properties are made by combining properties from a number of other line types. One of these
line types is decreed to be the carrier line and is treated differently from the other secondary lines in the following
ways:
- Any internal secondary lines are deemed to be inside the bore of the carrier line.
- The carrier line, together with the internal secondary lines, determines the cross sectional area associated with
the line contents data specified on the Line data form.
- Stress results are reported for the carrier line.
Secondary Lines
Secondary lines are used to specify lines either internal or external to the carrier line. Multiple secondary lines can
be defined. For each secondary line, the contents density must also be specified. This contents density is associated
with the bore of the secondary line. The axial, bending and torsional stiffnesses of each secondary line can be
specified as contributing or not contributing to the equivalent line's stiffness.
Other Data
Drag/lift coefficients, drag/lift diameters, added mass/inertia coefficients, CG Offset and Allowable Tension are all
specified explicitly for an equivalent line.
Modelling Details
The program derives equivalent values for the line type as described in the subsequent sections. The values can be
viewed using the All view mode, or alternatively from the Line Type properties report.
In order to express the equivalent line property derivations we need to establish notation that distinguishes
between the various different line types involved. We will use subscript notation as follows:
e indicates properties of the equivalent line, e.g. ODe
c indicates properties of the carrier line, e.g. ODc
int[i] indicates properties of the ith internal secondary line, e.g. ODint[i]
ext[i] indicates properties of the ith external secondary line, e.g. ODext[i]
Geometry
ODe is calculated to give a displacement equal to the displacement of the carrier line together with all the external
lines:
ODe = (ODc
2
+ ODext[i]
2
)
IDe is calculated to give an internal cross sectional area equal to that of the carrier line minus the external cross
sectional area of all the internal lines:
IDe = (IDc
2
- ODint[i]
2
)
Mass
Mass per unit length, Me, is the sum of the mass per unit length for the carrier line and all secondary lines:
Me = Mc + Mint[i] + Mext[i]
Structure
Axial stiffness, EAe, is the sum of the EA for the carrier line and all secondary lines that contribute to axial stiffness:
EAe = EAc + contributes EAint[i] + contributes EAext[i]
w
System Modelling: Data and Results, Lines
325
Here the notation contributes means that the summation is performed only for those secondary lines that contribute to
axial stiffness.
Analagous formulae are used for bending stiffness and torsional stiffness.
Stress
The stress data are set so that stress results are reported for the carrier line. To achieve this the stress diameters
and the allowable stress for the equivalent line are set to be the corresponding values for the carrier line. The tensile
stress loading factor, C1e, is defined as follows:
C1e = C1c(EAc/EAe)
Likewise, the torsional stress loading factor C4e is defined to be:
C4e = C4c(GJc/GJe)
The bending stress loading factor, C2e, is defined similarly but with the minor complication that there is only a single
value despite there being separate stiffness values for x and y, EIx and EIy. This is not a practical limitation since the
stress results derivation is predicated on the material being isotropic. However, for sake of completeness the
program handles this issue as follows:
C2e = C2c.max(EIxc/EIxe, EIyc/EIye)
Finally, the shear stress loading factor, C3e, is simply set equal to C2e.
Other data
The remaining line type data falls into two categories:
- Data which must be set explicitly, as described above.
- Data which are automatically set to the value of the carrier line: bulk modulus, compression is limited, minimum
bend radius, Poisson ratio, contact diameter, clashing stiffness/damping, friction coefficients and Rayleigh
damping coefficients.
Drawing Data
Pen
Defines the colour, line style and thickness of the pen used for drawing this line type. See How Objects Are Drawn.
For each line there is a choice, on the Line Data form, of whether to draw the sections of the line using these Line
Types pens, or whether to define a specific pen to use for all the sections of the line.
External Functions
Parameters
This data item specifies the External Function Parameters, a free form multi-line text field which is passed to any
external function used by the Line Type.
Plasticity Wizard
OrcaFlex allows you to specify non-linear bend stiffness for Line Types. The data are given as a table of bend
moment against curvature. If you are modelling a uniform, homogeneous pipe you can use the Plasticity Wizard to
create this table.
Once you have entered the appropriate data as described below, click the Calculate button and the curvature / bend
moment relationship is generated. The Bend Stiffness variable data source that is created is initialised to be
hysteretic.
The Plasticity Wizard is opened by clicking the "Plasticity Wizard" button on the Variable Data form.
Note: Before you can open the Plasticity Wizard you must have created and selected a Bend Stiffness
variable data source.
Plasticity Wizard Data
The Plasticity Wizard requires the following data:
Stress Diameters
The inside and outside diameters of the load-bearing cylinder.
Direct Tensile Strain
The Plasticity Wizard calculates bend moment curvature relationship by integrating the stress profile across the
pipe cross section. This calculation requires a direct tensile strain to be specified this data item serves that
purpose.
System Modelling: Data and Results, Lines
w

326
Stress-Strain relationship
The relationship between stress and strain can be specified by either Ramberg-Osgood curve or Stress-Strain
table.
Material E, Reference Stress (y), K, n (Ramberg-Osgood curve only)
These data define the relationship between stress () and strain () in terms of a Ramberg-Osgood curve as follows:
() = /E + K(/y)
n
for 0.
() = -(-) for < 0.
The reference stress parameter is usually taken to be the yield stress, which is why it is denoted y here.
Note that there is an alternative parameterisation of the Ramberg-Osgood equation. It is straightforward to convert
between the two forms of the equation but please take care to ensure that the data you input correspond to the
parameterisation used by OrcaFlex.
Stress, Strain (Stress-Strain table only)
This table directly specifies the relationship between stress and strain. Values for positive strain must be entered
and the relationship for negative strain is then determined by reflection so that () = -(-). The table is
interpolated linearly and for values of strain outside the table linear extrapolation will be used.
Maximum curvature for derived data source
The Bend Stiffness variable data source is defined for curvature values between 0 and Cmax = max/Ro where Ro is the
radius to the outer fibre. The outer fibre strain corresponding to Cmax is denoted max and is defined as follows:
- For a Ramberg-Osgood curve max = max{0.05, 5(y)}. So the value used for max will be 5 times the strain
corresponding to the reference stress or 5%, whichever is larger.
- For a Stress-Strain table max is simply the largest value of strain specified in the table.
Properties Report
The Line Type properties report is available from the popup menu on the data form.
Individual page
The Individual page reports the following derived values for a selected line type:
Diameter profile, Profile length (only reported for profiled line types)
The name of the variable data item that defines the profile, and its length.
Weight in air
The force due to gravity acting on the line type's mass.
Displacement
The weight of water displaced by the line type's volume. The reported value uses the water density at the sea
surface.
Weight in water
Equals Weight in air - Displacement.
Diam/Wt Ratio
Equals Outer Diameter / Weight in water.
Note: For Line Types that have a non-zero bore you must specify the contents density to be used in the
calculation of the above properties, since this will affect the properties that involve weight.
Used in, Contents Density
The names and contents densities of each line that uses that line type.
All page
The All page contains a spreadsheet with two worksheets:
- The Data sheet echoes the input data for each line type.
- The Properties sheet presents a table containing, for each line type, the derived values from the Individual page,
as described above.
w
System Modelling: Data and Results, Lines
327
6.8.3 Attachments
Attachment Types
The Attachment Types form defines the properties of a number of named attachment types. Attachments with these
properties can then be connected to lines. Attachment Types can be either Clump Types, Drag Chain Types, Flex
Joint Types or Stiffener Types.
The attachment types form must include all the attachment types referred to on all of the Lines data forms, but it can
also include other attachment types that are not currently in use in the model. This allows you to build up a library
of standard attachment types that can then be easily used when building Lines.
Clumps
A clump is a concentrated attachment that is connected to a node on a Line. It can be buoyant or heavy and is a small
body that experiences forces (weight, buoyancy, drag etc.) exactly as for a 3D Buoy. But instead of being free to
move it is constrained to move with the node and the forces acting on it are transferred to that node. A clump
therefore adds to the mass, buoyancy and hydrodynamic force of the node to which it is attached.
Clumps only have 3 degrees of freedom X,Y and Z which are determined by the position of the node to which they
are attached. Clumps can be aligned with the global axes directions or alternatively they can be aligned with the
node to which they are attached.
Each clump is assigned a height and an offset from the node which are used to determine the Z coordinate of the
clump for the purposes of evaluating buoyancy and hydrodynamic forces: no moment is applied to the node by the
clump. Where the clump pierces the water surface, buoyancy and hydrodynamic forces are applied in proportion to
the immersed length of the clump.
Each clump is of a named clump type, from which it inherits all its properties. The clump types are specified on the
Attachment Types form and have the following data.
Clump Type Name
Used to refer to the Clump Type.
Mass
Mass or weight in air.
Volume
Used to calculate buoyancy and added mass for each clump of this type on a line. Clumps may be either net buoyant
or heavy as desired.
Height
Used for drawing the clump and also to determine how much of the clump is below the water surface.
If the clump is aligned with global axes then it is centred at the Offset position above the node, and extends for half
its Height above and below this point.
If the clump is aligned with Line axes then it is centred at the node, and extends for half its Height either side of this
point in the node's axial direction.
Offset
A clump may be offset vertically from the line, for example to represent a line supported below the surface by floats.
The connection is not modelled fully: the clump is always treated as being at the specified offset vertically above
(offset positive) or below (offset negative) the node to which it is attached.
If the clump is aligned with Line axes then the clump offset is forced to be zero.
Align with
Determines whether the clump is aligned with Global Axes or Line Axes.
This setting determines the clump's local directions. If it is aligned with global axes then the clump's local directions
are the same as the global axis system. If it is aligned with Line axes then its local directions are the same as the node
to which it is connected.
Drag
Drag forces are calculated in clump local directions for each clump on a line.
drag force = PW . . Water Density . (velocity)
2
. Cd . Drag Area
where
Cd is Drag Coefficient as specified here,
System Modelling: Data and Results, Lines
w

328
Drag Area is specified here,
velocity is the velocity of the fluid relative to the clump in the appropriate direction.
Added Mass Coefficients
Added mass in clump local directions is given by
Added mass = PW . Ca . Water Density . Volume
where
Ca is the Added Mass Coefficient as specified here.
Pen
Defines the colour, line style and thickness of the pen used for drawing this clump type. See How Objects Are Drawn.
Clump Type Properties Report
The Clump Types properties report is available from the popup menu on the data form. It reports the following:
Weight in air
The force due to gravity acting on the clump's mass.
Displacement
The weight of water displaced by the clump's volume. The reported value uses the water density at the sea surface.
Weight in water
Equals Weight in air - Displacement.
Drag Chains
Drag chains are attachments to a line that model straight chains that hang down from the line. They apply weight,
buoyancy and drag forces to the node to which they are attached, but not any added mass effects. For details see
Drag Chain Theory.
Drag chains include two facilities that can be important in modelling towed systems. Firstly, the chain's drag
coefficients can vary with the incidence angle of the relative flow; this enables modelling the effect that as the
relative flow increases the chain hangs at a greater angle to the vertical and so fluid drag generates more lift, which
is applied to the line. Secondly, drag chains interact with the seabed (in a simple manner); if the node comes closer
to the seabed than the chain length, then the seabed provides a supporting reaction force and a friction force, both of
which are applied to the node.
Each drag chain is of a named drag chain type, from which it inherits all its properties. The drag chain types are
specified on the Attachment Types form and have the following data.
Name
Used to refer to the Drag Chain Type.
Length
Length of the drag chain.
Effective Diameter
Effective diameter of the drag chain. This is the diameter of the cylinder that has the same displaced mass per unit
length.
Mass
Mass per unit length. Mass is assumed to be uniformly distributed along the length of the drag chain.
Friction Coefficient
Coefficient of friction for contact with the seabed. This coefficient is used for all directions of friction. The value can
be set to '~', in which case the drag chain will instead use the axial friction coefficient of the node to which the drag
chain is attached.
Drawing
Defines the colour, line style and thickness of the pen used for drawing drag chains of this type. See How Objects Are
Drawn.
Drag Coefficients
The fluid drag forces on the chain are specified by giving a table of the normal and axial drag coefficients, as a
function of the incidence angle between the relative velocity vector and the drag chain. So = 0 means flow
axially along the drag chain and = 90 means flow normal to the drag chain.
w
System Modelling: Data and Results, Lines
329
Coefficients are specified for a range of incidence angles between 0 and 90 and linear interpolation is used to
obtain coefficients for intermediate angles. The Graph button shows the resulting coefficient variation. Symmetry is
used to obtain coefficients for angles outside the range 0 to 90.
Note: To be realistic, the normal drag force should increase monotonically as the incidence angle
increases from 0 to 90. This turns out to require that the gradient of the normal drag coefficient
curve Cdn() should be greater than -2.Cdn() / tan() for all . OrcaFlex warns if the drag
coefficient data do not satisfy this.
See Drag Chain Theory for further details.
Drag Chain Type Properties Report
The Drag Chain Types properties report is available from the popup menu on the data form. It reports the following:
Length, Diameter
The data as specified on the data form.
Total Mass
The total mass of the drag chain given by Length Mass per unit Length.
Total weight in air
Equals Total Mass g.
Total displacement
The weight of the volume of fluid displaced by the drag chain. The volume is given by Length D
2
/4 where D is the
effective diameter as specified on the data form.
Total wet weight
Equals Total weight in air - Total displacement.
Flex Joints
Flex joints are attachments to a line that add additional bending stiffness to a particular node (specified by the
attachment's z-position). This additional local stiffness acts in series with the stiffness of the underlying line type
bend stiffness. If, for example, you set the stiffness for the flex joint to zero, then you effectively make that node pin-
jointed.
Each flex joint has properties determined by a named Flex Joint Type. The Flex Joint Types are specified on the
Attachment Types form and have the following data:
Name
Used to refer to the Flex Joint Type.
Bend Stiffness
Specifies the bend stiffness of the Flex Joint Type. You can specify separate values for bending about the x and y-
directions. A y-bend stiffness value of '~' is interpreted as 'same as x-bend stiffness'.
Similarly to line end connection stiffness the bend stiffness is specified in terms of moment per degree of deflection.
Drawing
Defines the colour, line style and thickness of the pen used for drawing flex joints of this type. See How Objects Are
Drawn.
Stiffeners
Stiffeners are attachments to a line intended for use modelling bend stiffeners. Each stiffener has properties
determined by a named Stiffener Type. The Stiffener Types are specified on the Attachment Types form and have
the following data:
Name
Used to refer to the Stiffener Type.
Line Type
Determines the physical properties of the stiffener. Usually this will be a profiled homogeneous pipe.
Because the stiffener properties are included in addition to the protected line properties this line type should just
specify the properties of the stiffener.
System Modelling: Data and Results, Lines
w

330
Length
Defines the length of the stiffener. If the line type is profiled then the length is determined by the profile data and so
cannot be edited here.
Connection Arc Length, Relative to
Defines the point on the stiffener which corresponds to the protected line attachment position. This correspondence
is illustrated in the following table which assumes a stiffener length of 10:
Protected line
attachment
arc length
Stiffener
connection
arc length
Protected line
protected arc length
range
0 0 0-10
5 0 5-15
10 5 5-15
50 10 40-50
For a bend stiffener at End A of a line the connection arc length would set to 0 relative to End A. Similarly for a bend
stiffener at End B of a line the connection arc length would set to 0 relative to End B.
Axial load/inertia transfer
Specifies how the axial loads and axial inertia are transferred from the stiffener to the protected line.
If at connection point is specified then the axial loads and axial inertia for the entire stiffener line are transferred to
the protected line at the connection point. This option is suitable when you wish to neglect the axial effects of
friction due to contact between protected line and stiffener.
If over full length is specified then the axial loads and axial inertia are transferred and shared across the full length
of the stiffener. If the contact friction means that the protected line effectively carries the axial loads and inertia of
the stiffener then this option should be used.
For a stiffener which is connected to the protected line by means of a full length friction grip, e.g. a Cumberland Grip,
then you should use the over the full length option for axial load/inertia transfer.
More technical details of how this data item is used are given in Modelling Bend Stiffeners.
6.8.4 Rayleigh Damping
Rayleigh damping is used to model structural damping for Lines and is only available when using the implicit
integration scheme.
Classical Rayleigh damping
Classical Rayleigh damping uses a system damping matrix C defined as:
C = M + K
where
is the mass proportional Rayleigh damping coefficient.
is the stiffness proportional Rayleigh damping coefficient.
M is the system structural mass matrix.
K is the system structural stiffness matrix.
With this formulation the damping ratio is the same for axial, bending and torsional response.
Classical Rayleigh damping results in different damping ratios for different response frequencies according to the
following equation:
= 0.5(/ + )
where
is the damping ratio (a value of 1 corresponds to critical damping).
is the response frequency in rad/s.
It can be seen from this that the mass proportional term gives damping ratio inversely proportional to response
frequency and the stiffness proportional term gives damping ratio linearly proportional to response frequency.
Separated Rayleigh damping
In addition to classical Rayleigh damping OrcaFlex offers a separated Rayleigh damping model where C is defined as:
C = M + aKa + bKb + tKt
where
w
System Modelling: Data and Results, Lines
331
a is the stiffness proportional Rayleigh damping coefficient for axial deformation.
b is the stiffness proportional Rayleigh damping coefficient for bending deformation.
t is the stiffness proportional Rayleigh damping coefficient for torsional deformation.
Ka is the system structural stiffness matrix corresponding to axial deformation.
Kb is the system structural stiffness matrix corresponding to bending deformation.
Kt is the system structural stiffness matrix corresponding to torsional deformation.
Note that K = Ka + Kb + Kt.
The separated model allows for different damping ratio in axial, bending and torsional response.
Data
Each Line Type has structural damping properties determined by a named Rayleigh Damping Coefficient data set.
Multiple Rayleigh Damping Coefficient data sets can be defined, each with the following data.
Rayleigh damping mode
OrcaFlex offers four distinct methods for specifying the Rayleigh damping coefficients:
- Stiffness proportional.
- Mass and stiffness proportional.
- Coefficients (classical).
- Coefficients (separated).
Stiffness proportional and Mass and stiffness proportional methods
These methods allow you to specify structural damping in terms of % critical damping ratio. In addition you need
to specify response periods at which the damping ratio will be achieved. For Stiffness proportional damping only
one response period can be specified.
If Response Period 1 is set to '~' then OrcaFlex will choose response periods automatically based on the wave
period, or peak period Tp for a random wave. This method is generally recommended and is particularly useful if
you are running a batch of cases with varying wave conditions.
OrcaFlex uses the classical Rayleigh damping model and reports the mass and stiffness proportional coefficients
and .
Coefficients (classical) and Coefficients (separated) methods
For these methods you specify the damping coefficients directly.
Damping ratio graph
The damping ratio graph plots the damping ratio that will be achieved for a range of response frequencies. The
graph's x-axis can be either period of frequency.
Guidance
Variation of damping ratio
Rayleigh damping is viscous damping that is proportional to a linear combination of mass and stiffness. The
damping matrix C is given by C = M + K where M, K are the mass and stiffness matrices respectively and , are
constants of proportionality.
Rayleigh damping does afford certain mathematical conveniences and is widely used to model internal structural
damping. One of the less attractive features of Rayleigh damping is that the achieved damping ratio varies as
response frequency varies. The stiffness proportional term contributes damping that is linearly proportional to
response frequency and the mass proportional term contributes damping that is inversely proportional to response
frequency. Mathematically, these frequency dependencies can be seen in the formula for damping ratio = (/f +
f) where f is the response frequency.
The plot below illustrates how the separate mass and stiffness damping terms contribute to the overall damping
ratio:
System Modelling: Data and Results, Lines
w

332

Figure: Variation Of Damping Ratio With Frequency
Artificial over-damping of system response
Consider a system which has two primary responses: one at the wave frequency and the other at a much lower
frequency, for example due to vessel drift. Clearly Rayleigh damping constants must be chosen carefully to avoid the
mass proportional term resulting in over-damping of the low frequency response.
It is common practice to do this by using the stiffness proportional term only. For example the DNV dynamic riser
code DNV-OS-F201 (Appendix A, K103) makes the following recommendation: "It should also be observed that the
mass proportional damping would give damping due to rigid body motions. The mass proportional damping is
therefore normally neglected for compliant structures undergoing large rigid body motions. " In other words the
recommendation for such systems is to use stiffness proportional damping (the red curve above).
This is a good argument. However, an analogous argument can also be made about any high frequency response. If
only stiffness proportional damping is used then any high frequency response will be over-damped. It is quite
common for systems to have responses at frequencies higher than the wave frequency. Since high frequency
responses are often damaging to a system it is important to model them accurately. Stiffness proportional damping
is very effective at artificially removing high frequency responses from an analysis and this is a danger that must be
avoided.
Avoiding over-damping of system response
We recommend the following procedure for applying Rayleigh damping:
1. Identify a number of critical load cases.
2. Run these cases without Rayleigh damping.
3. Identify the minimum and maximum frequencies present in the system response, fmin and fmax.
4. Apply mass and stiffness proportional Rayleigh damping with response periods set to 1/fmin and 1/fmax.
This technique will apply the specified damping ratio at responses with frequency fmin and fmax. For frequencies
between fmin and fmax the damping ratio will be less than the specified damping ratio which ensures that artificial
over-damping is avoided.
Note: Since this approach leads to a damping ratio less than the specified damping ratio for frequencies
between fmin and fmax it could be argued that the response will be under-damped. Generally this
conservative under-damping is far less significant than the non-conservative over-damping that we
are trying to avoid.
If your system response is concentrated at the wave frequency for all critical design cases then it is safe to apply
stiffness proportional damping.
0%
1%
2%
3%
4%
5%
6%
0 1 2 3 4 5
Response angular frequency (rad/s)
(=0.025, =0.023)
D
a
m
p
i
n
g

r
a
t
i
o
Mass and Stiffness Mass term Stiffness term
w
System Modelling: Data and Results, Lines
333
Discussion
The above procedure will help you avoid non-conservative over-damping of high or low frequency responses in
your system. However, it is quite laborious and time-consuming. Can we adopt a simpler approach?
For a great many of the systems that are analysed by OrcaFlex it turns out that structural damping has little or no
effect on system performance. For subsea lines the structural damping is usually negligible in comparison with the
damping due to hydrodynamic drag. For this reason Rayleigh damping can usually be ignored for analysis of subsea
lines. For systems which show significantly different responses when Rayleigh damping is applied you should check
that this is not due to the over-damping issues described above.
For in-air lines (e.g. jumper hoses) the situation is different. These lines have no hydrodynamic damping and so the
structural damping can be significant. For such lines it is very easy for resonant responses to be excited and if no
damping is modelled then these responses do not decay. In this situation Rayleigh damping can be very useful. It is,
of course, important to apply it carefully as described above.
One common phenomenon that is sometimes modelled with Rayleigh damping is the damping due to internal
friction between layers of a pressurised, unbonded flexible riser. This effect is strongly amplitude dependent and is
poorly represented by Rayleigh damping. The problem is that the damping ratio depends on the amplitude of
response. This makes the damping ratio very difficult to set and it will differ for different load cases. Instead we
recommend that you use a hysteretic bend stiffness which gives a more accurate model of the riser.
6.8.5 P-y Models
Data
P-y models are used to specify horizontal soil loads for near-vertical line objects that extend beneath the seabed.
You can define one or more named P-y models which can then be associated with individual Line objects. The P-y
model data can be specified to vary with depth beneath the seabed.
Input data for P-y Models
Name
Used to refer to the P-y Model.
Depth below seabed
Specifies the range of depths over which each set of P-y curve data applies. The P-y curve data are treated as
constant over this range of depths. However, the two API RP 2A formulations provide load-deflection curves that
vary with depth given constant input data.
Model type
One of the following options:
- The API RP 2A Soft Clay option uses the load-deflection curves for piles in soft clay under short-term static
loading as specified in API RP 2A (2000).
- Similarly, the API RP 2A Sand option uses the API RP 2A (2000) load-deflection curves for sand.
- The P-y Table option allows you to specify the load-deflection curves directly in tabular form.
Effective unit soil density (Soft Clay and Sand)
The effective density of the soil, equal to the saturated soil density minus the sea water density.
Note: The value specified in OrcaFlex is a density value (mass per unit volume), whereas in the API RP 2A
code the value is expressed as a weight value (force per unit volume).
Undrained shear strength, J, c (Soft Clay)
The input parameters to the API RP 2A Soft Clay model. Note that c is specified as a percentage strain.
C1, C2, C3, k (Sand)
The input parameters to the API RP 2A Sand model.
Deflection, Resistance (Table)
The load-deflection curve in tabulated form.
Modelling Details
Note: The line properties report contains detailed information on how the P-y model data is interpreted
and applied in the OrcaFlex model.
When a P-y model is associated with a line, the horizontal load-deflection curves for the line are set up as follows:
System Modelling: Data and Results, Lines
w

334
- Immediately prior to the static calculation each node on the line is assigned a nominal position, P0.
- The node at the bottom end of the line is assigned a nominal position defined by its position in the reset state.
- All other nodes have nominal positions on a straight line passing through the bottom node's nominal position,
and with direction determined by the bottom node's end orientation.
- Adjacent node's nominal positions are separated by the length of the line segment.
- The depth of each node's nominal position is then used to determine which set of P-y curve data is used.
- The P-y load and deflection are calculated radially in the horizontal plane, as described below.
Note: It is expected that the shallowest P-y curve will start from the seabed, i.e. have Depth From equal to
zero. However, the program does not enforce this and will not attach P-y springs to any nodes that
are above this initial depth yet below the seabed.
When a P-y model is active a number of modifications are made to the modelling of the line. In particular, all normal
seabed reaction forces are suppressed for the line. Other lines in the model which do not use P-y models are still
subject to normal seabed reaction forces. Nodes that have P-y springs attached are further modified as follows:
- Drag, lift, added mass and hydrodynamic inertia effects are suppressed.
- Time domain VIV loading is suppressed.
- Wake interference modelling (both wake creation and reaction to wakes) is suppressed.
Buoyancy and pressure calculations are not affected by the presence of a P-y model. You may extend the sea density
profile beneath the seabed if you want to vary the fluid density used to calculate these effects.
The use of P-y models also influences the interfaces to SHEAR7 and VIVA.
Each P-y model type ultimately leads to a relationship between lateral deflection y and soil resistance p. The
deflection is obtained by subtracting the node's instantaneous position, P, from its nominal position, P0, and then
projecting into the horizontal plane. The magnitude of this horizontal vector is taken to be the deflection y. If we
write P-P0 in component form as (dX, dY, dZ) then y = (dX
2
+ dY
2
). From the deflection value y, the soil resistance p is
calculated, see below. The load is then defined to be pDL where D and L are the node's contact diameter and length,
respectively. This load is applied in the horizontal plane, towards P0. The deflection and resistance at each node are
available as results variables.

Figure: P-y modelling


E
x

E
z

End A
Inclination
y

E
x

E
z

End B

Inclination
y
P
0

P P
P
0

w
System Modelling: Data and Results, Lines
335
Load-deflection curves
API RP 2A Soft Clay
The load-deflection formulation is based on the ultimate unit lateral bearing capacity of the soil, pu. The code
provides two equations for this:
(6.8.2-1) pu = 3c + X + JcX/D
(6.8.2-2) pu = 9c
where c is the undrained shear strength, D is the pile diameter, is the effective unit weight of soil, J is a
dimensionless empirical constant and X is the depth below soil surface.
The first equation, 6.8.2-1 is meant to capture the reduced lateral bearing capacity of the soil close to the surface.
The intent of the code is that pu is defined by whichever of 6.8.2-1 and 6.8.2-2 gives a smaller value. The code
approaches this by defining XR, the depth to which the reduced resistance zone extends, and applying 6.8.2-1 for
X<XR and 6.8.2-2 for XXR.
This approach using XR breaks down when the soil properties vary with depth. The approach used by the program is
as follows. Starting at zero depth, the program processes each node with a soft clay P-y model in turn. The two
prospective values of pu are calculated using 6.8.2-1 and 6.8.2-2. So long as 6.8.2-1 produces the smaller value, that
smaller value of pu is used. Once a node has been found for which 6.8.2-1 gives a greater value of pu than 6.8.2-2,
then 6.8.2-2 is used for that node and all subsequent nodes.
Once pu has been determined, p is calculated by linear interpolation of the following table:
p/pu y/yc
0.00 0.0
0.23 0.1
0.33 0.3
0.50 1.0
0.72 3.0
1.00 8.0
1.00
where yc = 2.5cD.
Note: The table above is taken from API RP 2A Supplement 3 and differs from earlier versions of the API
code. OrcaFlex 9.5 used the version of the table that was presented in earlier versions of the API
code. OrcaFlex 9.6 and later use the version of the table presented above.
API RP 2A Sand
The load-deflection formulation is based on the ultimate bearing capacity of the soil, pu. The code provides two
equations for this:
(6.8.6-1) pu = (C1H + C2D)H
(6.8.6-2) pu = C3DH
where D is the pile diameter, is the effective unit weight of soil and H is the depth below soil surface.
Both equations 6.8.6-1 and 6.8.6-2 should be evaluated and pu taken to be the smaller value. The resistance p is then
defined to be:
p = (Apu/D) tanh(kHy/Apu)
where A = max(0.9, 3-0.8H/D).
P-y Table
The input data specifies a table of deflection and resistance values. The deflection column must include the value
zero, and must be specified in increasing order. For deflections exceeding the largest specified deflection value, the
resistance associated with that largest specified deflection value is used. For other deflection values, linear
interpolation is used.
6.8.6 Code Checks
The Code Checks data form gathers together all input data related to code checks. The following code checks are
implemented:
- API RP 2RD.
- API RP 1111.
System Modelling: Data and Results, Lines
w

336
- DNV OS F101.
- DNV OS F201.
- PD 8010.
The data form contains a number of different pages. Generally each page contains data that is applicable to a single
code check. The exception to this rule is the DNV Functional Load page which contains data shared between the DNV
OS F101 and F201 code checks. Some of the code checks require quite a lot of input data and so data for those code
checks span multiple pages.
The data falls into two main categories: model wide and per line type. There is a single instance of a model wide
data item. So changes to such data items affect all objects in the model. In contrast, there are separate instances of
per line type data, in a one-to-one relationship with the model's line types. It is self-evident from the layout of the
data pages, which category a particular data item falls into. To automate modifications to code check data please
refer to:
- Batch Processing: Examples of setting data.
- Text Data Files: Examples of setting data.
The code check calculations are made available through a number of line results variables.
API RP 2RD
Data
Design case factor, Cf
See API RP 2RD, section 4.4, table 2 and section 5.2.3.1.
Corrosion thickness, tcorrosion
The corrosion thickness, tcorrosion, is used to determine the minimum wall thickness (denoted by tmin in API RP 2RD,
section 5.2.4.4) using the following equation:
tmin = t - tcorrosion
where t is the nominal wall thickness, i.e. (ODstress - IDstress)/2.
SMYS, y
The material minimum yield strength (SMYS), denoted y in API RP 2RD, section 5.2.3.1.
Results
For terminology see Pipe Stress Calculation. The loads (tension and bend moment) which are used in the
calculations below are influenced by the stress loading factors before being used.
API RP 2RD Stress, API, is a von-Mises type stress defined in section 5.2 of API RP 2RD as:
API = max [{(pr-p)
2
+ (p-pz)
2
+ (pz-pr)
2
}/2]


where
pr = - (Po.ODstress + Pi.IDstress) / (ODstress + IDstress)
p = (Pi - Po)ODstress/2tmin - Pi
pz = Tw/A M(ODstress - t)/2Ixy
t is the nominal wall thickness, (ODstress - IDstress)/2
The max in the formula for API accounts for the fact that the sign in the formula for pz makes pz double-valued.
API RP 2RD Utilisation, UAPI, is reported as a percentage and is defined to be:
UAPI = API / (CfCay)
where
Ca is 2/3
The strength check for API RP 2RD is therefore equivalent to the inequality UAPI 1.
API RP 1111
Data
Allowable Load Factor, Fa
This data item is not explicitly defined in the standard. It is used to specify the choice of possible values for the right-
hand side of the inequality used in the combined load design, see API RP 1111, section 4.3.1.2, equation 8.
w
System Modelling: Data and Results, Lines
337
Collapse Factor, Fc
This is the collapse factor for use with combined pressure and bending loads, see API RP 1111, section 4.3.2.2.
Bending Safety Factor, Fbs
This data item is not explicitly defined in the standard, it represents the bending safety factor for use with combined
pressure and bending loads, see API RP 1111, section 4.3.2.2. In the standard this is defined as f1 when being used
for installation bending and f2 when being used for in-place bending.
Strain Amplification Factor, SAF
This is the strain amplification factor for use with combined pressure and bending loads, see API RP 1111, section
4.3.2.2.
Young's Modulus, E
This is the modulus of elasticity used in determining the elastic collapse pressure, pc, see API RP 1111, section
4.3.2.1. Note that if you have specified a value for Young's Modulus on the Structure page of the Line Type data form,
you must still separately give a value for this data item if you want to request an API RP 1111 Bending and External
Pressure result.
SMYS, S
This is the specified minimum yield strength of the pipe used in determining the burst pressure, pb and the yield
tension, Ty, see API RP 1111, section 4.3.1
SMTS, U
This is the specified minimum ultimate tensile strength of pipe used in determining the burst pressure, pb, see API
RP 1111, section 4.3.1.
Ovality,
This is the ovality for use in determining the collapse reduction factor, g, see API RP 1111, section 4.3.2.2.
Results
The loads (tension and bend moment) which are used in the calculations below are influenced by the stress loading
factors before being used.
API RP 1111 LLD (Longitudinal Load Design)
The result reported is equivalent to equation 6, Section 4.3.1.1, API RP 1111 rewritten in the form of a unity check,
i.e. to satisfy the inequality in API RP 1111 the result should be less than one. It is given by
if Te>0
Te/(0.6Ty)
where
Ty = SA
A = (ODstress
2
- IDstress
2
)/4
otherwise the Line is in compression, i.e. Te < 0, and the result is reported as zero.
API RP 1111 CLD (Combined Load Design)
The result reported is equivalent to equation 8, Section 4.3.1.2, API RP 1111 rewritten in the form of a unity check,
i.e. to satisfy the inequality in API RP 1111 the result should be less than one. It is given by
{[(Pi - Po)/Pb]
2
+ (Te/Ty)
2
}
1/2
/ Fa
where
Pb = 0.45(S + U) loge(ODstress/IDstress)
API RP 1111 BEP (Bending and External Pressure)
The result reported is equivalent to the inequalities 13, 14, and 15, Section 4.3.2.2, API RP 1111 rewritten in the
form of a unity check, i.e. to satisfy the inequalities in API RP 1111 the result should be less than one. It is given by
if Pi < Po
FbsSAF/(bg) + (Po - Pi)/(FcPcg)
otherwise
FbsSAF/(bg)
where is the Max Bending Strain and
b = t/(2ODstress)
System Modelling: Data and Results, Lines
w

338
g = 1/(1 + 20)
Pc = PyPe/(Py
2
+ Pe
2
)
1/2

where
Py = 2S(t/ODstress)
Pe = 2E(t/ODstress)
3
/(1-
2
)
and
t = (ODstress - IDstress)/2
API RP 1111 Max Combined
This is the maximum value of the API RP 1111 LLD, API RP 1111 CLD, and API RP 1111 BEP code check results.
DNV Functional Load
Functional Load Specified By
To facilitate the requirement to separate the functional load from the environmental load, in the DNV OS F101 and
DNV OS F201 code checks, you must specify the functional load case. This is done by either selecting Current model
or Simulation file.
If Current model is selected then the static state of the currently active model will be used as the functional load
case.
If Simulation file is selected then you must specify a simulation file that represents the functional load case. The
simulation file is specified either by full path or relative path. Typically this will be a static state simulation. If you do
specify a dynamic simulation file, the functional loads will still be calculated from the static state.
The functional load case should only include contributions from functional loads, i.e. loads arising from the physical
existence of the system, so it should not include any form of environmental loading, such as drag from wind and
current or a static vessel initial position representing a mean offset due to wave, wind and current. If the functional
load is specified by a simulation file then this model must be consistent with the currently active model. Any line, for
which a DNV-OS-F101 or DNV-OS-F201 code check result will be requested, must exist, with the same name, in both
the currently active model and the functional load case, and have the same segmentation in both models.
DNV OS F101
Data
Functional Load Specified By
To allow the environmental load to be separated from the function load, you must nominate a functional load case.
This data item is set on the DNV Functional Load page.
The following data items are specified on the DNV OS F101 Factors page and the DNV OS F101 Properties page of
the Code Checks data form:
Load Factors: Functional, F
See DNV OS F101, section 4, Table 4-4.
Load Factors: Environmental, E
See DNV OS F101, section 4, Table 4-4.
Load Factors: Condition, c
See DNV OS F101, section 4, Table 4-5.
Load Factors: Reduced Functional, RF
Specifies a smaller alternative functional load factor. This is used to satisfy the requirement that if the functional
load effect reduces the combined load effect a smaller functional load factor shall be used, see DNV OS F101, section
4, Table 4-4.
Line Type Factors: Safety Class Factor, SC
See DNV OS F101, section 5, Table 5-3.
Line Type Factors: Strain Resistance Factor,
See DNV OS F101, section 5, Table 5-10.
Line Type Factors: Material Resistance, m
See DNV OS F101, section 5, Table 5-2.
w
System Modelling: Data and Results, Lines
339
Line Type Factors: Fabrication Factor, fab
See DNV OS F101, section 5, Table 5-5.
Line Type Factors: Girth Weld Factor, gw
See DNV OS F101, section 13, D 1000.
Line Type Factors: Plastic Moment Reduction Factor, pm
See DNV OS F101, section 5, D 606.
Line Type Factors: Simplified Strain Limit
See DNV OS F101, section 13, Table 13-5.
Pmin
Specifies the minimum internal pressure that can be sustained. The default value '~' means that Pmin will be taken as
the internal pressure, Pi, of the Line (at the specified arc length), see Line Pressure Effects for details. If you specify a
Pmin other than the default value then this will be used for all arc lengths of the Line that use this Line Type.
t2
See DNV OS F101, section 5, Table 5-6. The default value '~' means that t2 will be taken as (ODstress - IDstress)/2.
fy
See DNV OS F101, section 5, C 300.
fu
See DNV OS F101, section 5, C 300.
Young's Modulus, E
Note that if you have specified a value for Young's Modulus on the Structure page of the Line Type data form, you
must still separately give a value for this data item if you want to request a DNV OS F101 code check result.
h
See DNV OS F101, section 7, Table 7.5 and Table 7.11.
Out of Roundness, F0
See DNV OS F101, section 5, D 1100.
Results
The loads (tension and bend moment) which are used in the calculations below are influenced by the stress loading
factors before being used.
The Local buckling combined loading criteria, is implemented as separate results for the Load Controlled and
Displacement Controlled conditions as defined in Section 5, D 600, DNV OS F101.
When you ask for either the load or displacement controlled DNV OS F101 code check results, the environmental
load is separated from the functional load using the functional load case. The load, at time t, in the currently active
model is assumed to be the combined load, L(t), which, as per Appendix C in DNV OS F201, can be treated as a linear
superposition of the environmental load, LE(t), and the functional load, LF. The loads can then be separated:
Mx,E(t) = Mx(t) - Mx,F
My,E(t) = My(t) - My,F
TeE(t) = Te(t) - TeF
E(t) = (t) - F
where is the compressive strain, given by the Max Bending Strain - Direct Tensile Strain. The load used will depend
on which DNV OS F101 code check result you ask for. If it is DNV OS F101 Load Controlled then the "Load" will be
the effective tension, the x-bend moment, and the y-bend moment. If it is DNV OS F101 Displacement Controlled
then it will be the compressive strain.
The design load effects are then calculated as follows
The design tension effect, TeSd, is given by the maximum of
|FcTeF + ETeE|
and
|RFcTeF + ETeE|
The design moment effect, MSd, is given by the maximum of
System Modelling: Data and Results, Lines
w

340
|FcMF + EME|
and
|RFcMF + EME|
The design compressive strain effect, Sd, is given by the maximum of
FcF + EE
and
RFcF + EE
The load controlled and displacement controlled conditions share the requirement for several derived values to be
calculated:
The pressure containment resistance, pb, is used in the case where the internal pressure is greater than the
external pressure, and is given by
pb = 4t2fcb/[3
0.5
(ODstress-t2)]
where
fcb = Min[fy; fu/1.15]
The characteristic resistance for external pressure, pc, is used in the case where the external pressure is greater
than the internal pressure, and requires the solution of the third degree polynomial
(pc-pel)(pc
2
-pp
2
) = pcpelppf0ODstress/t2
where
pel = 2E(t2/ODstress)
3
/(1-
2
)
and
pp = fyfab2t2/ODstress
An analytical solution to this polynomial is given in Section 13, D 700, DNV OS F101.
p
c
= y - b/3
where
b = -pel
c = -(pp
2
+ pppelf0ODstress/t2)
d = Pelpp
2

u = (-b
2
/3 + c)/3
v = 0.5[(2/27)b
3
- bc/3 + d]
= cos
-1
[-v/(-u
3
)
0.5
]
y = -2(-u)
0.5
cos(/3 + /3)
DNV OS F101 Load Controlled
If Pi > Po the load controlled code check result is given by
[mSC|MSd|/cpmMp + (mSCTeSd/cTep)
2
]
2
+ [p(Pi - Po)/cpb]
2

where Mp and Tep are the moment and tensile plastic capacities respectively, given by
Tep = fy(ODstress - t2)t2
Mp = fy(ODstress - t2)
2
t2
c is the flow stress parameter given by
c = (1 - ) + fu/fy
where
= (60 - ODstress/t2)/90
p is the pressure factor given by
if (Pi - Po)/pb < 2/3
p = 1 -
otherwise
p = 1 - 3[1 - (Pi - Po)/pb]
If Pi Po the load controlled code check result is given by
[mSC|MSd|/cpmMp + (mSCTeSd/cTep)
2
]
2
+ [mSC(Po - Pmin)/pc]
2

w
System Modelling: Data and Results, Lines
341
DNV OS F101 Tension Utilisation
The result is given by
TeSd/Tep
where TeSd and Tep are defined above.
The load controlled criterion, specified in section 5, D605 and D607, DNV OS F101, apply for TeSd/Tep < 0.4. This
result can be used in parallel with the DNV OS F101 Load Controlled result to check that this tension requirement is
met.
DNV OS F101 Displacement Controlled
The displacement controlled code check result is given by
if Pi Po and Sd 0
Sd/c(t2, Pmin - Po)
if Pi < Po and Sd > 0 then the displacement controlled code check result is given by
[Sd/c(t2, 0)]
0.8
+ mSC(Po - Pmin)/pc
where Sd is the design compressive strain and
c(t, Pnet) = 0.78(t/ODstress - 0.01)(1 + 5.75(Pnet)/pb)h
-1.5
gw
otherwise the pipe is not in compressive strain and the code check result is 0.
DNV OS F101 Simplified Strain
The result represents the simplified laying criteria for the overbend, section 13, G 300, DNV OS F101. It is given by
abs(zz)/SimplifiedStrainLimit
where zz is the Worst ZZ Strain. The SimplifiedStrainLimit would be set to the value in Table 13-5, DNV OS 101, of
Criterion I or II, depending on whether static or dynamic analysis is being conducted.
DNV OS F101 Simplified Stress
The result represents the simplified laying criteria for the sagbend, section 13, G 300, DNV OS F101. It is given by
vm/(0.87*fy)
where vm is the Max von Mises Stress.
DNV OS F201
Data
Functional Load Specified By
To allow the environmental load to be separated from the function load, you must nominate a functional load case.
This data item is set on the DNV Functional Load page.
The following data items are specified on the DNV OS F201 Factors page and the DNV OS F201 Properties page of
the Code Checks data form:
Load Factors: Functional, F
See DNV OS F201, Table 5-2.
Load Factors: Environmental, E
See DNV OS F201, Table 5-2.
Load Factors: Condition, c
See DNV OS F201, Table 5-11.
Moment Condition, cm
This data item is not explicitly defined in the DNV standard. It has been introduced to facilitate the allowance that, if
the bending moment can be assumed secondary, the bending moment used in the code checks may be multiplied by
a condition factor, see DNV OS F201, section 5, D 700. If you want to include a condition factor on only the bending
moment then it should be entered in this data item. If you want to include a condition factor in the product of the
resistance factors, i.e. cmSC, which is applied to the bend moment, tension, and pressure terms, then it should be
entered in the c data item. For the expressions defining how the condition factors have been included in the code
check equations see the Results section below.
System Modelling: Data and Results, Lines
w

342
Load Factors: Reduced Functional, RF
This data item is not explicitly defined in the DNV standard. It has been introduced to allow you to specify a smaller
alternative functional load factor. This is used to satisfy the requirement that if the functional load effect reduces the
combined load effect a smaller functional load factor shall be used. See DNV OS F201, Table 5-2.
Load Factors: Reduced Environmental, RE
This data item is not explicitly defined in the DNV standard. It has been introduced to allow you to specify a smaller
alternative environmental load factor. This is used to satisfy the requirement that if the environmental load effect
reduces the combined load effect a smaller environmental load factor shall be used. See DNV OS F201, Table 5-2.
Line Type Factors: Safety Class Factor, SC
See DNV OS F201, Table 5-3.
Line Type Factors: Material Resistance, m
See DNV OS F201, Table 5-4.
Line Type Factors: Fabrication Factor, fab
See DNV OS F201, Table 5-7.
Line Type Factors: WSD Usage,
See DNV OS F201, Table 5-8.
Pmin
Specifies the minimum internal pressure that can be sustained. The default value '~' means that Pmin will be taken as
the internal pressure, Pi, of the Line (at the specified arc length), see Line Pressure Effects for details. If you specify a
Pmin other than the default value then this will be used for all arc lengths of the Line that use this Line Type.
t2
See DNV OS F201, section 5, C 203. The default value '~' means that t
2
will be taken as (OD
stress
- ID
stress)/2.

fy
See DNV OS F201, Table 5-5.
fu
See DNV OS F201, Table 5-5.
Young's Modulus, E
Note that if you have specified a value for Young's Modulus on the Structure page of the Line Type data form, you
must still separately give a value for this data item if you want to request a DNV OS F201 code check result.
Out of Roundness, F0
See DNV OS F201, section 5, G 201.
Results
The loads (tension and bend moment) which are used in the calculations below are influenced by the stress loading
factors before being used.
The LRFD combined loading criteria and the alternative WSD format, as defined in Section 5, D 500 and D 600
respectively, are implemented as separate results.
The LRFD and WSD formats share the requirement for several derived values to be calculated:
The burst resistance pressure, pb, is used in the case where the internal pressure is greater than the external
pressure, and is given by
pb = 4t2min[fy; fu/1.15]/(3
1/2
(ODstress-t2))
The collapse pressure, pc, is used in the case where the external pressure is greater than the internal pressure, and
requires the solution of the third degree polynomial
(pc-pel)(pc
2
-pp
2
) = pcpelppf0ODstress/t2
where
pel = 2E(t2/ODstress)
3
/(1-
2
)
and
pp = fyfab2t2/ODstress
w
System Modelling: Data and Results, Lines
343
The analytical solution used to solve this polynomial is given in Section 13, D 700, DNV OS F101 and is also
documented in Code Checks: DNV OS F101.
DNV OS F201 LRFD Format
When you ask for the DNV OS F201 LRFD result, the environmental load is separated from the functional load using
the functional load case. The load, at time t, in the currently active model is assumed to be the combined load, L(t),
which, as per Appendix C of DNV OS F201, can be treated as a linear superposition of the environmental load, LE(t),
and the functional load, LF. The loads can then be separated:
Mx,E(t) = Mx(t) - Mx,F
My,E(t) = My(t) - My,F
TeE(t) = Te(t) - TeF
This means that if you ask for the DNV OS F201 LRFD result when the model is in the static state and the functional
load is specified by the Current model there will be no environmental load contribution.
The design load effects, required by the DNV OS F201 LRFD code check result, are given by
Ted = FTeF + ETeE
Mx,d = FMx,F + EMx,E
My,d = FMy,F + EMy,E
|Md| = (Mx,d
2
+ My,d
2
)
1/2

The above design load effects (moment and tension) are individually evaluated four times, using the different
permutations of the environmental and functional load factors, i.e. F and E, RF and RE, RF and E, and F and RE.
The combinations of factors that yield the largest magnitude, for the individual load effects, are used, i.e. a different
combination of factors might be used for the tension and the moment.
The above summations of the contributing load effect categories exclude the terms associated with accidental loads.
DNV OS F201 guides that normally, functional and environmental loads are not considered simultaneously with
accidental loads in global analyses. However, when conducting an SLS or ALS assessment, as per DNV OS F201, the
environmental load effect factor, E, and the accidental load effect factor, A, are both equal to 1.0, so there is no
requirement to separate loads and the accidental associated loading could be included in the OrcaFlex model
alongside the environmental loading.
The LRFD code check result is given by
if Pi > Po and Pi-Po < pb
cmSC(cm|Md|{1-[(Pi - Po)/pb]
2
}
1/2
/Mk + (Ted/Tk)
2
) + [(Pi - Po)/pb]
2

else if Pi > Po and Pi-Po pb, the above would evaluate to a complex value, the result is given by
cmSC(Ted/Tk)
2
+ [(Pi - Po)/pb]
2

Finally, if Pi Po then the LRFD code check result is given by
(cmSC)
2
[cm|Md|/Mk + (Ted/Tk)
2
]
2
+ [cmSC(Po - Pmin)/pc]
2

For each of the three possibilities above, Mk and Tk are the moment and tensile plastic resistances respectively, given
by
Tk = fyc(ODstress - t2)t2
Mk = fyc(ODstress - t2)
2
t2
c, the flow stress parameter, is given by
c = Min[1.2, (1 - ) + fu/fy]
where
if ODstress/t2 < 15
= 0.4 + qh
if 15 ODstress/t2 < 60
= (0.4 + qh)(60 - ODstress/t2)/45
otherwise
= 0
where
if Pi > Po
qh = (2/3
1/2
)(Pi - Po)/pb
otherwise
System Modelling: Data and Results, Lines
w

344
qh = 0
DNV OS F201 WSD Format
The WSD code check result is given by
if Pi > Po and Pi-Po < pb
(cm|M|{1-[(Pi - Po)/pb]
2
}
1/2
/Mk + (Te/Tk)
2
+ [(Pi - Po)/pb]
2
)/
2

else if Pi > Po and Pi-Po pb
(Te/Tk)
2
+ [(Pi - Po)/pb]
2
)/
2

otherwise
{[cm|M|/Mk + (Te/Tk)
2
]
2
+ (Po - Pmin)/pc)
2
}/
4

PD 8010
Data
Young's Modulus, E
This is the modulus of elasticity used in determining the collapse pressure, pc; the characteristic torque, c; and the
exponent in the Load Combinations Check, . See PD 8010, sections G.1.2, G.1.5, and G.1.6, respectively. Note that if
you have specified a value for Young's Modulus on the Structure page of the Line Type data form, you must stil l
separately give a value for this data item if you want to request a PD 8010 Torsion Check or a PD 8010 Load
Combinations Check result.
SMYS, y
This is the specified minimum yield strength of the pipe used in determining the allowable stress, A; elastic collapse
pressure, pc; the yield load, Fy; the plastic moment capacity, Mp; the characteristic torque, c; and the exponent in the
Load Combinations Check, . See PD 8010, sections 6.4.2.1, G.1.2, G.1.3, G.1.4, G.1.5, and G.1.6.
Fabrication Factor, fab
This data item is not explicitly included in any of the equations in the standard. It is included to facilitate the
requirement that for fabrication processes which introduce cold deformations giving different strength in tension
and compression, a fabrication factor should be determined. See PD 8010, section 6.4.4.1 General, Note 1. In the
absence of explicit guidance in PD 8010, it is assumed that it is applied in a fashion consistent with DNV OS F101, i.e.
that it is considered in determining the elastic collapse pressure, pc.
Ovalization, F0
This is the ovalization used in determining the elastic collapse pressure, pc, see PD 8010, section G.1.2
Design Factor, Fd
This is the design factor, see PD 8010, section 6.4.1
Results
The loads (tension, bend moment, torque, and shear force) which are used in the calculations below are influenced
by the stress loading factors before being used.
The nominal thickness, tnom, used throughout the calculations below, is given by
tnom = (ODstress - IDstress)/2
PD 8010 Allowable Stress Check
The result reported is equivalent to equation 2, section 6.4.2.1, PD 8010, rewritten in the form of a unity check, i.e. to
satisfy PD 8010 the result should be less than one. It is given by
A/(fdy)
where
A = (h
2
+ L
2
- hL + 3
2
)
0.5

where
if ODstress/tnom > 20
h = (Pi - Po)ODstress/(2tnom)
otherwise
h = (Pi - Po)(ODstress
2
+ IDstress
2
)/(ODstress
2
- IDstress
2
)
and
= |Torque|.ODstress / (2Iz) + 2S /A
w
System Modelling: Data and Results, Lines
345
where A is the pipe wall cross sectional area, i.e. A = (/4)(ODstress
2
- IDstress
2
)
The longitudinal stress, L, which varies over the pipe wall cross section, is chosen to ensure that the equivalent
stress, A, evaluates to the largest possible value. This is done by calculating the equivalent stress using the
minimum and the maximum longitudinal stress in the pipe wall cross section and choosing the largest of the two
possible values for the equivalent stress. The minimum and maximum longitudinal stresses are given by
L = Direct Tensile Stress Max Bending Stress
PD 8010 Axial Compression Check
The result reported is equivalent to the axial compression requirement in section G.1.3, PD 8010, rewritten in the
form of a unity check, i.e. to satisfy PD 8010 the result should be less than one. It is given by
if Fx > 0
Fx/Fxc
where
Fx = - Tw
and
Fxc = Fy = (ODstress-tnom)tnomy
otherwise the Line is in tension, i.e. Fx < 0, and the result is reported as zero.
PD 8010 Bending Check
The result reported is equivalent to the bending moment requirement in section G.1.4, PD 8010, rewritten in the
form of a unity check, i.e. to satisfy PD 8010 the result should be less than one. It is given by
|M|/Mc
where
Mc = Mp(1 - 0.0024ODstress/tnom)
where
Mp = (ODstress-tnom)
2
tnomy
PD 8010 Torsion Check
The result reported is equivalent to the torsion requirement in section G.1.5, PD 8010, rewritten in the form of a
unity check, i.e. to satisfy PD 8010 the result should be less than one. It is given by
shear/c
where shear is the maximum shear stress due to torsion given by
shear = |Torque|.ODstress / (2Iz)
and
if < 1.5
c = 0.542y
if 1.5 9
c = y(0.813 + 0.068( - 1.5)
0.5
)
otherwise
c = y
where
y = y/3
0.5

and
= (E/y)(tnom/ODstress)
3/2

PD 8010 Load Combinations Check
The result reported is equivalent to equation G.14, section G.1.6, PD 8010, rewritten in the form of a unity check, i.e.
to satisfy PD 8010 the result should be less than one. It is given by
if Pi < Po
(|M|/Mc + Fx/Fxc)

+ (Po-Pi)/Pc
otherwise
(|M|/Mc + Fx/Fxc)
where
System Modelling: Data and Results, Lines
w

346
if Tw < 0
Fx = - Tw
otherwise
Fx = 0
and
= 1 + 300tnomhb/(ODstresshcr)
where
hb = ODstress(Po-Pi)/(2tnom)
and
if hE (2/3)y

hcr
=
hE

otherwise
hcr = y{1-(1/3)[2y/(3hE)]
2
}
where
hE = E[tnom/(ODstress-tnom)]
2

PD 8010 Bending Strain Check
The result reported is equivalent to equation G.19, section G.1.7, PD 8010, rewritten in the form of a unity check, i.e.
to satisfy PD 8010 the result should be less than one. It is given by
if Pi < Po
b/bc + (Po-Pi)/Pc
otherwise
b/bc
where b is the Max Bending Strain and
bc = 15(tnom/ODstress)
2

Collapse Pressure, Pc
The Load Combinations Check and Bending Strain Check share a requirement for the collapse pressure, Pc, to be
determined. This requires the solution of a third degree polynomial, see section G.1.2, PD 8010. The solution to this
equation is given in DNV OS F101 and is also documented in Code Checks: DNV OS F101. Note that for the DNV OS
F101 description to be applicable to PD 8010, t2 would be replaced with tnom. The Fabrication Factor, fab, is included
as described in the DNV OS F101 documentation.
6.8.7 Line Contact
Modelling
The Line Contact facility enables you to model contact between pairs of lines, and it is capable of modelling all sorts
of contact situations. The model works by placing penetrators at the nodes or other points of one of the two lines,
which then contact the inside or outside surface of a curved cylinder, whose axis follows a smooth spline fitted along
the axis of the other line. For example, the line contact model permits OrcaFlex to model systems where:
- One line is contained within another, such as pipe-in-pipe systems, pull-in operations.
- One line is constrained to follow another at certain arc lengths, such as drilling riser choke and kill lines,
installation guide wires, piggy-back risers.
- One line strikes the outer surface of another, as seen in riser interference cases.
Line Contact versus Line Clashing
OrcaFlex also includes another way of modelling contact between lines, called Line Clashing. This is a different way
of modelling contact between lines, and the Line Contact and Line Clashing models have different features. To help
you judge which might be most suitable for your application, here are the main differences, advantages and
disadvantages:
- The line clashing model is essentially a segment-segment contact model. It models contact by treating each
segment of the clash-checked line sections as being a straight cylinder, with an elastic outside surface, and then
calculating any penetration between pairs of those cylinders and applying contact loads proportional to and
opposing that penetration. The line contact model is a point-surface contact model, in which localised
penetrators are attached at the nodes, or at other points, on one of the two lines (referred to as the penetrating
w
System Modelling: Data and Results, Lines
347
line), and these contact the inner or outer surface of a curved cylindrical solid whose axis follows a smooth
spline fitted through the nodes of the other line (referred to as the splined line).
- The line contact model is a more sophisticated model that can be used for many different purposes. It can model
internal contact, such as pipe-in-pipe or J-tube pull-in, as well as external contact. Friction can be included
during dynamics in both the axial and circumferential directions. Line contact can model sliding contact,
including cases where the lines move a lot relative to each other while in contact. The line clashing model, on
the other hand, only models contact between the outer surfaces of the lines. Line clashing is not really suitable
for cases where the contact persists while the contact location slides significantly along either line, since
clashing does not include friction and the interaction is between straight segments. This means that if the
contact location reaches a node then the clashing lines are likely to get locked together at that node (rather like
a pair of multi-segment jointed rods would behave if they wrapped around each other).
- If the line contact model is used for outside contact then there is a danger that the lines may pass through each
other without contact occurring. This occurs if the nodes or penetrators on the penetrating line are more widely
spaced than the outside diameter of the splined line. This is because the curved solid cylinder along the splined
line could pass between the penetrators on the penetrating line, without making any contact. Because of this
issue you would need to use short segments or place extra penetrators on the penetrating line; to ensure that
line contact is captured. This problem does not arise with the line clashing model, since the whole of each clash-
checked segment, rather than a set of points along its length, is checked for contact with all other clash-checked
segments. So with the line clashing model, lines can only pass through one another without contact if the
segments move a whole diameter or farther in a single time step.
- Line contact is included in the static analysis, whereas line clashing is not it is only active in the dynamic
analysis.
- Line clashing can model contact of one part of a line with another part of the same line. This is not possible in
line contact you would need to model the real continuous line with two separate lines, typically joined with a
negligible 6D buoy, in order to model contact between the two parts.
Interaction model
Line contact is specified as a relationship between two distinct lines in an OrcaFlex model. One of those lines is the
splined line, which has a smooth spline curve fitted between the line nodes. These splines allow OrcaFlex to
represent the line as a smooth, deformable cylinder for contact. The other line in the relationship is the penetrating
line. Penetrators attached to the nodes of the penetrating line interact with the splined line by contact with a flexible
cylindrical elastic solid whose axis follows the spline.
Note: The splines used for line contact modelling are distinct from the splines that may be used for a
line's step 1 statics method.
Contact is modelled by OrcaFlex attaching penetrators to some or all of the nodes of the penetrating line. By default,
these are placed coincident with the line nodes, but their distribution along the line and offset from the line nodes
may alternatively be set with user-specified data. When contact occurs between one of these penetrators and the
contact surface presented by the splined line, force and moment are applied to the penetrator, which transfers those
loads to the line node to which it is attached. Equal and opposite load is also applied to the contact surface, and that
load is transferred to the nodes at either end of the splined line segment.
The contact between penetrating line nodes and splined line segment elastic solids is the same as the contact
between OrcaFlex lines and elastic solid shapes. Friction can therefore be applied to the contact during dynamics.
Relative motion of the two lines will lead to rolling or sliding contact. The lines cannot be 'locked' together by this
model.
In order for the three interactions listed earlier to be implemented using the existing shape contact model, some
further data about your intentions for the penetration must be provided to the line contact relationship. There are
three types of behaviour illustrated below.
Note: In the figures, the deviation of the spline (dashed centreline) from the line segments (solid
centerline) has been greatly exaggerated. It is expected that during practical use the segmentation
will be sufficiently fine that the splines will remain close to the line segments.
Penetrating Line is Inside
The contained line is represented by the penetrating line. When the penetrating line nodes are within the length of
the containing line, their penetrators will contact the inner surface (bore) of the containing line. The inner surface of
the containing line is the only contact surface, so the contained line nodes cannot escape other than by running off
the end of the containing line. The containing line is represented by the splined line.
System Modelling: Data and Results, Lines
w

348

Figure: Line Contact with penetrating line inside splined line. The contact surface is the inner
surface of the splined line. The penetrating line is the inner line.
Penetrating Line is Around
Some or all of the penetrating line nodes have penetrators which apply a constraint to the splined line. At other
points the lines do not interact.
The splined line runs within the constraints applied by the penetrating line. The splined line can move relative to the
penetrators, and so the smooth splined shape is used to present a contact surface. The splined line is considered as a
solid cylinder for this type of contact. This means that the only contact surface is the outer surface of the cylinder
whose axis is defined by the segment splines.

Figure: Line Contact with penetrating line around splined line. The contact surface is now at the
outer diameter of the splined line. The splined line is the inner line.
y
z
x
y
x
z
Penetrating Line Node and Penetrator
Contact Surface
Spline
Splined Line Segment
Line End Axes
y
z
x
y
x
z
Penetrating Line Node and Ring Penetrator
Contact Surface
Spline
Splined Line Segment
Line End Axes
w
System Modelling: Data and Results, Lines
349
Penetrating Line is Outside
The two lines are expected to be outside one another, and the nodes of the penetrating line make contact with the
outer surface of the cylinder whose axis is defined by the splined line. In this case it is not usually important which
of the two lines is chosen to have penetrators at its nodes, and which presents the contact surface.

Figure: Line Contact with penetrating line outside splined line
Offset Penetrators
If Penetrator Locations are used then penetrators may be offset from the nodes of the penetrating line. One expected
use of this facility is the representation of piggyback riser systems. Lines in this configuration are clamped together
with some fixed offset, rather than being inside one another.
If the Around interaction method is used to model clamps placed between two lines, the penetrating line can be
thought of as placing rings around the splined line. The detail of the modelling is therefore relatively close to reality.
The use of offset penetrators with the Around method is drawn below.
z
y
z
x
y
x
Penetrating Line Nodes
Contact Surface
Spline
Splined Line Segment
Line End Axes
System Modelling: Data and Results, Lines
w

350

Figure: Around Line Contact with penetrators offset from line nodes
The Inside interaction model can also be used to place offset penetrators between the two lines that will provide
clamp behaviour, and an illustration is provided below for completeness.

Figure: Inside Line Contact with penetrators offset from line nodes
Splined line cylindrical solid diameter
The flexible, cylindrical elastic solid whose axis follows the spline of the splined line takes its diameter from the line
types used on the segments of the splined line. The line type contact diameter is used for outside or around contact,
and the line type bore diameter (including modification due to linings) will be used for inside contact. At a change in
the line types along the splined line, the diameter may change. This presents a discontinuity in the model, which
may cause simulations to become unstable.
y
z
x
y
x
z
Penetrating Line Nodes
Contact Surface
Spline
Splined Line Segment
Line End Axes
Offset Ring Penetrators
y
z
x
y
x
z
Penetrating Line Nodes
Contact Surface
Spline
Splined Line Segment
Line End Axes
Offset Penetrators
w
System Modelling: Data and Results, Lines
351
To avoid such a discontinuity, OrcaFlex interpolates linearly at a change in diameter, over 10% of segment length on
both sides of the node at the change in line type. This is illustrated below.

Figure: A change in diameter is interpolated across the change in line sections.
Containment Scaling
When a penetrating line is inside or around a splined line, one of the lines may protrude from the end of the other.
Scaling is applied to the line contact force. Scaling may also be applied to the contained line's interaction with the
seabed and elastic solids and the contained line's fluid kinematics when this occurs. The Containment Enabled
choice determines if such scaling is applied to the contained line.
Scaling for line contact depends on what proportion of the contact length represented by each penetrator overlaps
with the length of the splined line. Scaling for the contained line's seabed contact, solid contact and fluid kinematics
depends on how much of the line length represented by each of the contained line's nodes overlaps with the length
of the containing line.
When OrcaFlex determines how much length from a line node or penetrator overlaps the length of another line, any
angle between the two lines is ignored. The figure below shows penetrators in two cases where the assumptions
made result in the same scaling factor of approximately 0.4 being used.

Figure: Scaling assumes that penetrator length is aligned with the splined line axis.
10% of segment length 10% of segment length
Splined line node between line sections
Larger diameter line type
Smaller diameter line type
Contact diameter
Splined Line Node
Penetrating Nodes
Overlap Length
Segment Midpoint
Node Length
Assumed segment position
System Modelling: Data and Results, Lines
w

352
Scaled Fluid Loads
When a line contact relationship specifies that its penetrating line is Inside or Around the splined line, then some
length of the inner line (the penetrating line if it is Inside, or the splined line if the penetrating line is Around)
might be contained inside the outer line, for part or all of the simulation. When this occurs, OrcaFlex can
automatically shield the contained length of inner line from the environmental fluid forces, in the same way that the
inner line's contact with elastic solids and the seabed is shielded. For a shielded length of line, OrcaFlex will instead
apply fluid forces from the contents fluid and contents motion in the containing outer line. This shielding behaviour
is enabled or disabled using the Containment Enabled check-box for a line contact relationship.
The containment behaviour depends on the Contents Method used by the outer line, as follows:
- The outer line cannot have its Contents Method set to Slug Flow it must be either Uniform or Free-Flooding.
- If the outer line Contents Method is Uniform, then the entire inner line is treated as being fully contained within
the outer line at all times. In this case the external pressure and buoyancy force experienced by the inner line
nodes will be calculated using the internal contents pressure and density of the outer line. And the fluid
dynamic forces applied to a given inner line node will be calculated based on external fluid velocity and
acceleration vectors that are taken to equal the velocity and acceleration of that part of the outer line that
contains the inner node at that time.
- If the outer line Contents Method is free-flooding, then the external pressure and density are as for a normal
(i.e. non-contained) line. For the fluid dynamic loads on the inner line, OrcaFlex will calculate what proportion
of each inner line node is contained within the outer line at each instant. If the inner node is fully contained (i.e.
all of the length of inner line that it represents is inside the outer line at that time), then the external fluid
velocity and acceleration used to calculate the fluid dynamic forces on the inner line node will be the velocity
and acceleration of the part of the outer line that contains that inner node at that time. If the inner node is not
within the outer line at all, then the external fluid velocity and acceleration used will be those of the sea, due to
any current and waves. If the inner node is part-contained, e.g. with proportion of its node length inside the
outer line and proportion 1- protruding beyond the end of the outer line, then the external fluid velocity and
acceleration used to calculate the fluid dynamic forces will be times the motion of the outer line end, plus 1-
times the motion of the sea. See above for details of how the containment scaling factor is calculated.
Note: A line can be an inner line in more than one contact relationship, but only if either (a) the outer
line involved is the same in all those relationships, or (b) the outer lines involved all have their
Contents Method set to be free-flooding, and each inner line node is inside at most one of those
outer lines at any one time. This option (b) allows contact relationships to be set up to model pull-
in of a single inner line through multiple free-flooding outer lines, providing each inner line node
leaves one outer line before entering the next outer line.
Warnings: The containment modelling does not apply to any attachments to the inner line. So any attached
clumps, drag chains, stiffeners or 6D buoys will experience external fluid conditions that ignore any
containment of the inner node to which they are attached. Attachments to any contained inner
node will therefore probably wrongly be subject to fluid loading based on the fluid density,
pressure and kinematics of the sea, not those of the fluid contents of the containing line.
The line results Relative Velocity, Normal Relative Velocity, Axial Relative Velocity, Strouhal
Frequency, Reynolds Number, Seabed Normal Resistance and Seabed Normal Resistance/D (when
the default linear seabed resistance model is used) do not take into account line containment. They
therefore report the fluid conditions or seabed interaction that the node would have experienced if
it had been fully exposed to the environment. The relative velocity and seabed resistance results
reported are scaled by each node's containment scaling factor in order to arrive at the conditions
actually applied during the simulation. Often, the node is completely contained, and therefore the
environmental velocity and seabed resistance values are scaled down to zero. These effects
therefore do not affect fully contained nodes at all during the simulation.
If the explicit integration scheme is used, fluid inertia loads between contained line nodes and the
contents fluid of the containing line are not included. If these effects must be included in your
analysis, use the implicit integration scheme.
w
System Modelling: Data and Results, Lines
353
If the outer line Contents Method is Uniform, the inner line can protrude from the ends of the
outer, but will still not be exposed to the environment, even though it is no longer inside the outer
line length. This is a common source of error when modelling relatively short outer lines, such as
bend stiffeners, pull tubes or riser guides. If these outer lines do not have free-flooding contents,
then all of the inner line will be shielded from the environment, and its buoyancy will be calculated
using the outer line's contents density.
Note that you should take care if any VIV modelling, wake interference or lift forces due to seabed proximity are
specified for an inner line section for which containment might occur. Specifically:
- Any VIV modelling and lift forces specified in the data will be disabled on an inner line node whenever any
amount of the length of line modelled by the node is contained, and so shielded, by the outer line. An inner line
node that enters into, or emerges from, an outer line end during the simulation will therefore experience a
discontinuity when the force from these effects is suddenly disabled (when entering containment) or re-enabled
(when emerging from containment).
- Any Wake interference effects specified in the data are not affected by inner line containment they will
continue to be included even if the inner line node is contained within the outer line. The inner line nodes will
therefore still generate wake, if that is specified in the data, and will still react to any wake from upstream lines
that generate wake. This is not appropropriate for any inner line nodes that are contained, since they will be
shielded by the outer line. So it is therefore recommended that you do not specify wake generation or wake
reaction for any inner line section that will be contained at any time during the simulation.
Data
Line contact data for all lines in the model are specified on a single data form with two pages: Relationships and
Penetrator Locations.
Relationships
Penetrating Line, Penetrating Line Is, Splined Line
These three choices select two lines from those present in the model, and specify the contact and containment
relationship between them.
The splined line will present a curved cylindrical contact surface to the penetrators attached to the penetrating line,
and the curved cylinder axis will follow a smooth spline curve that follows and passes through the nodes of the
splined line.
Penetrators on the penetrating line, as specified by the Penetrator Locations data, will then come into contact with
this surface if they meet it, and experience reaction and friction forces that are calculated using the Normal
Stiffness and Shear Stiffness. The splined line contact surface will be either the external or internal surface of its
curved cylinder, depending on whether the penetrating line is specified to be Inside, Outside or Around the splined
line. For more detail on how this interaction is modelled, see the modelling page.
Penetrator Locations
Penetrators are attached to some or all of the nodes of the penetrating line. The default behaviour is to attach a
penetrator at every node on the penetrating line, at the node centre. Alternatively, the distribution and position of
penetrators on the penetrating line can be specified in detail, by defining a named data set of penetrator locations on
the Penetrator Locations page of the data form, and then selecting that name set on the Relationships page.
Containment Enabled
This choice instructs OrcaFlex whether fluid loads and elastic solid contact on the inner line in this relationship
should take account of its containment within the outer line. For details of how containment is handled see Line
Contact Modelling.
Normal and Shear Stiffness
Normal Stiffness is the reaction force that the contact generates per unit depth of penetration per unit area of
contact. Shear stiffness is used by the friction calculation. A value of '~' results in the Normal Stiffness being used.
Stiffness may be set to zero, in which case no contact forces will be applied, but fluid loads will still be affected by
any containment that the relationship gives.
Friction Coefficients
Normal and axial friction coefficients. If the axial coefficient is set to '~' then the normal friction coefficient is used
for all directions of motion.
For full details of the friction calculation see Friction Theory.
System Modelling: Data and Results, Lines
w

354
Penetrator Locations
Number of data sets, Name
A set of penetrator locations represents a specific distribution of line contact penetrators along the penetrating line.
Each data set is named, rather than being associated with a particular relationship. These locations can therefore be
used by more than one relationship if desired.
Position, z relative to
The penetrator locations are specified by giving their x, y and z position relative to the penetrating line. The z value
specifies the arc length along the penetrating line, starting from zero at end A, and the x and y values specify the
offset from the penetrating line axis, in line axes directions. OrcaFlex will attach a penetrator to the line node
nearest to the arc length required. A radial offset of the penetrator from the line node can be specified using the x-y
position data.
Contact Diameter, Contact Area
The contact properties of these penetrators are specified here. The contact length considered for scaling is the area
divided by diameter.
6.8.8 Line Results
This section describes the line results that are available for the static and dynamic analyses. These results are
available using the Results Selection form.
Results from the modal analysis and fatigue analysis are described elsewhere see the Modal Analysis and Fatigue
Analysis sections.
Selecting which Categories of Line Results are Shown
For Lines there are a large number of results variables available on the Results form. So OrcaFlex groups the results
variables into the following categories:
- Positions.
- Motions.
- Angles.
- Forces.
- Moments.
- Contact.
- Pipe Stress / Strain.
- Code Checks.
- Fluid Loads.
- End Loads.
To ease results selection the Show boxes on the results form allow you to choose which of these categories of
variables are shown in the Variable list. To get the full list of available variables simply select all the categories. But
normally there are several categories of variable that you do not currently need, in which case de-selecting them
reduces the displayed list of variables to a more manageable set.
Specifying the Position on the Line
For line results you need to specify the position on the line at which you want results. This is done by setting the
entries in a row in the Position table on the results form. You are then offered the Variables that are available for
the point specified by the currently-selected row.
Each row in the table specifies one point on the line. There are multiple rows in the table, so you can set up rows
specifying a number of different points of interest and then easily switch between them by choosing which row you
select. In a row that you don't want to use you can set the Node or Arc Length column to '~', meaning 'unspecified'.
Three rows in the table are dedicated to special arc lengths on the line:
- The first and last rows in the Position table are dedicated to the line's end points A and B.
- The next to last row in the table is dedicated to the Touchdown point. This is defined to be the first node on the
seabed (starting from the Top End). If the results variable selected is a segment variable (i.e. is only available at
mid-segment points) then the value reported for the touchdown point is the mid-segment valued in the segment
that precedes the Touchdown node. When there are no nodes on the seabed then the results variable is reported
as N/A (meaning 'not available') and the graph shows no value.
w
System Modelling: Data and Results, Lines
355
Arc Length and Node Columns
The Arc Length column specifies how far along the line the point is, measured from zero at End A. For information,
if you set the Arc Length column then the adjacent Node cell is set to the number of the nearest node to that arc
length.
The Node column can also be used as an alternative way of setting the arc length. You can set the Node column to
the number of a node on the line. The adjacent Arc Length cell will then be set to the arc length to that node. The
node number must be in the range 1 (the node at End A) to N+1 (the node at End B), where N is the total number of
segments in the line.
Note: The actual arc length for which line results are reported may not be exactly the specified arc
length. OrcaFlex reports results for the 'nearest appropriate' result point. See Result Points below.
R and Theta Columns
For some variables (e.g. stress components) you must also specify the position of the point within the cross section
through the specified arc length. Whenever one of these variables is selected in the Variables list, two extra
columns become visible in the Position table. These extra columns specify the polar coordinates (R,Theta) of the
point within the cross section; see the diagram in the Pipe Stress Calculation section. The R column can only be set
to either Inner or Outer, meaning the radii corresponding to the Stress ID or Stress OD respectively. Results are not
available for points between these two radii.
Clearance Results
Clearance results can be reported either as clearances from this line to all other lines or from this line to a specified
other line. You choose which of the options is used from the drop-down list labelled "Clearances are reported as
clearances from".
Result Points
OrcaFlex uses a discretised model and so results are only available at nodes, mid-segment points and line ends; we
call these points 'result points'. The available result points depend on which variable you request, they are
documented in the description of the variable.
When you ask for a variable at a specified arc length OrcaFlex gives the value for the 'nearest appropriate' result
point. The phrase 'nearest appropriate' here means that OrcaFlex considers the available result points that are in
the same section as the arc length you specified and then chooses the one that is nearest to the arc length you
specified. If you specify an arc length that is exactly at the boundary of two sections then OrcaFlex uses the section
that starts at that arc length.
OrcaFlex always labels results with the actual arc length to the result point to which they apply, so you can check to
ensure that you are getting results at the result point you want.
Positions
X, Y and Z
Available at nodes. The global coordinates of the selected node.
Layback
Available at nodes. The horizontal component of distance between the selected node and the touchdown point.
Layback is not defined (N/A) if there is no touchdown point, that is if there are no nodes on the seabed. Likewise, if
the selected node is after the touchdown point, then Layback is not defined.
Arc Length
Available at nodes. The arc length from End A to the selected point. This is normally only useful for the touchdown
point, since for other points it is constant. For the touchdown point it gives the arc length from End A to the first
node on the seabed, or zero if there is no touchdown.
Expansion Factor
Available at mid-segments. The expansion factor of the selected segment.
Transverse VIV Offset
Available at nodes. This is the node's offset from the non-VIV node position, in the transverse VIV direction.
Estimated Transverse A/D
Available only at nodes that use one of the time domain VIV models from the VIV Toolbox. The amplitude of the
oscillation in the transverse VIV direction divided by the node's VIV diameter.
System Modelling: Data and Results, Lines
w

356
Motions
Velocity, GX-Velocity, GY-Velocity, GZ-Velocity,
Acceleration, GX-Acceleration, GY-Acceleration, GZ-Acceleration
Available at nodes. The magnitude and components (with respect to global axes) of the velocity and acceleration of
the node.
Warning: The velocity results are derived by numerically differentiating the logged positions of the node with
respect to time, using the central difference scheme. The acceleration results are derived by a
further such numerical differentiation. Because of this the accuracy of the results (especially the
accelerations) will depend on the log sample interval. If the log sample interval is large then the
results will not show higher frequency components of velocity and acceleration. If the log sample
interval is small then the results may be inaccurate due to loss of precision due to subtraction.
Acceleration rel. g, x-Acceleration rel. g, y-Acceleration rel. g, z-Acceleration rel. g
Available at nodes. The magnitude and components, in node axes directions, of the acceleration vector, a, of the
node, relative to the vertically downwards acceleration due to gravity, g. That is, these results report the vector a - g.
This relative acceleration can be thought of as the acceleration of the point P relative to the free-falling state. This is
the acceleration that would be reported by an accelerometer attached to the node (since an accelerometer reading
of zero corresponds to free-falling), with its measurement directions aligned with the node axes directions.
Angles
Azimuth, Declination and Gamma
Available at mid-segment points and line ends. These angles report the local orientation of the line relative to global
axes. The gamma angle is defined as for line ends see Line End Orientation.
Declination is in the range 0 to 180. Range jump suppression is applied to Azimuth and Gamma (so values outside
the range -360 to +360 might be reported).
Ez-Angle, Exy-Angle, Ezx-Angle, Ezy-Angle
Available at mid-segment points and line ends. The direction angles of the mid-segment point, relative to the end
axes of the nearest line end. See End Direction Results.
Ez-Angle is in the range 0 to 180. Range jump suppression is applied to Exy-Angle, Ezx-Angle and Ezy-Angle (so
values outside the range -360 to +360 might be reported).
Twist
Available at mid-segment points. The twist per unit length experienced by the segment.
Fluid Incidence Angle
Available at nodes. The angle between the relative velocity direction and the line axial direction. A value in the range
0 to 90.
No-Moment Azimuth, No-Moment Declination
Available at line ends. The azimuth and declination angles, relative to global axes, of the no-moment direction at the
end, allowing for any motion of the object to which the line is attached. These results are only available if the end
orientation angles are defined.
No-Moment Declination is in the range 0 to 180. Range jump suppression is applied to No-Moment Azimuth (so
values outside the range -360 to +360 might be reported).
End Force Azimuth, End Force Declination
Available at line ends. The azimuth and declination of the end force vector, relative to global axes.
End Force Declination is in the range 0 to 180. Range jump suppression is applied to End Force Azimuth (so values
outside the range -360 to +360 might be reported).
End Force Ez-Angle, End Force Exy-Angle, End Force Ezx-Angle, End Force Ezy-Angle
Available at line ends. The direction angles of the end force vector, with respect to the frame of reference of the line
end. See End Direction Results. These results are only available if the end orientation angles are defined.
End Force Ez-Angle is in the range 0 to 180. Range jump suppression is applied to the other 3 end force angles (so
values outside the range -360 to +360 might be reported).
VIV Stagnation Point, VIV Neg Separation Point, VIV Pos Separation Point
Available only at nodes that use one of the vortex tracking VIV models from the VIV Toolbox. The values reported
are the angular positions of the stagnation and separation points.
w
System Modelling: Data and Results, Lines
357
Forces
Effective Tension and Wall Tension
Available at mid-segment points and line ends. The structural force along the line axis. Positive values denote
tension and negative values denote compression.
The reported wall tension is the total wall tension, Tw, scaled by the tensile stress loading factor. By default this
loading factor equals 1.
For details of the difference between the effective tension, Te, and the wall tension, Tw, see the Line Pressure Effects
section. In particular see the note on that page if the line type stress diameters differ from the outer and inner
diameters.
Normalised Tension
Defined to be Effective Tension divided by Allowable Tension. Available at mid-segment points and line ends; not
available if the Allowable Tension is set to '~'.
Contents Density
Available at nodes. This result is most useful when the free-flooding or slug flow contents methods are in use.
Shear Force, x-Shear Force, y-Shear Force, Shear Force component, In-plane Shear Force, Out-of-plane Shear Force
Available at mid-segment points and line ends. The magnitude of structural force normal to the line axis, its
components in the local x and y-directions, its component in the user specified local direction theta and its
components in the in-plane and out-of-plane directions.
The out-of-plane direction is normal to both the line's axis (at the specified arc length) and the vertical direction.
The in-plane direction is normal to both the line's axis and the out-of-plane direction.
If the line's axis is vertical then these directions are ill-defined and therefore no values can be reported.
Vortex Force Magnitude,
Inline Vortex Force, Transverse Vortex Force,
GX-Vortex Force, GY-Vortex Force, GZ-Vortex Force
Available only at nodes that use one of the time domain VIV models from the VIV Toolbox. The magnitude of the lift
and drag force per unit length of line, and its components in the VIV directions and global axes directions. For
details, see the documentation of the relevant time domain VIV model.
Inline Drag Amplification Factor
Available only at nodes that use one of the wake oscillator VIV models from the VIV Toolbox. The instantaneous
value of the Inline Drag Amplification Factor.
Moments
Bend Moment, x-Bend Moment, y-Bend Moment, Bend Moment component, In-plane Bend Moment, Out-of-plane Bend
Moment
Available at mid-segment points and line ends. The magnitude of bend moment, its components in the local x and y-
directions, its component in the user specified local direction theta and its components in the in-plane and out-of-
plane directions.
The out-of-plane direction is normal to both the line's axis (at the specified arc length) and the vertical direction.
The in-plane direction is normal to both the line's axis and the out-of-plane direction.
If the line's axis is vertical then these directions are ill-defined and therefore no values can be reported.
Curvature, x-Curvature, y-Curvature, Curvature component, In-plane Curvature, Out-of-plane Curvature
Available at mid-segment points and line ends. The magnitude of curvature, its components in the local x and y-
directions, its component in the user specified local direction theta, the in-plane and out-of plane-components and
its components in the in-plane and out-of-plane directions, as defined above.
When pre-bend is modelled curvature results are reported relative to the pre-bent curvature.
Note: When using non-linear bend stiffness, the reported mid-segment curvature depends on whether the
bend stiffness is specified to be hysteretic or not. For details see the note in the Non-linear Bend
Stiffness section.
Warning: Curvature results are accurate only if the segment length is sufficiently short. The accuracy can be
estimated by performing a sensitivity study on segment length in the area of interest.
Normalised Curvature
Available at mid-segment points and line ends. Defined to be Curvature divided by Allowable Curvature.
System Modelling: Data and Results, Lines
w

358
If minimum bend radius (MBR) is specified as varying with wall tension then this variation is taken into account
when calculating Normalised Curvature.
Bend Radius, x-Bend Radius, y-Bend Radius, Bend Radius component, In-plane Bend Radius, Out-of-plane Bend Radius
Available at mid-segment points and line ends. The magnitude of bend radius, its components in the local x and y-
directions, its component in the user specified local direction theta and its components in the in-plane and out-of-
plane directions, as defined above.
When pre-bend is modelled these results are reported relative to the pre-bent curvature.
Notes: Bend radius is defined to be 1 / curvature. If the curvature is 0 then a value of 'Infinity' is reported.
When using non-linear bend stiffness, the reported mid-segment curvature depends on whether the
bend stiffness is specified to be hysteretic or not. For details see the note in the Non-linear Bend
Stiffness section.
Warning: Bend radius results are accurate only if the segment length is sufficiently short. The accuracy can
be estimated by performing a sensitivity study on segment length in the area of interest.
Torque
Available at mid-segment points and line ends only, and available only for lines with torsion included. The
component of structural moment along the line axis.
Contact
Line Clearance Results
Line Centreline Clearance, Line Clearance
Available at mid-segment points and line ends. These line clearance results report shortest distances between the
segment or line end and the segments of other lines in the model. These distances can be either the shortest distance
between centrelines (Line Centreline Clearance) or the shortest distance between outer edges (Line Clearance).
The results selection form lets you choose to report clearances either:
- from this line to all other lines or
- from this line to a specified other line.
In the text below we refer to the other lines used in the clearance calculations as the clearance lines, be they all other
lines or a single specified other line.
Line Centreline Clearance reports the centreline clearance from this line to the clearance lines. More precisely, the
clearance reported for a segment is the shortest distance from the centreline of the segment to the centreline of any
segment on the clearance lines. Note that the clearance reported therefore does not allow for the radii of the lines
involved. When clearance is reported for a line end it reports the shortest distance from the centreline of the point
at the end node to the centreline of any segment on the clearance lines.
Line Clearance is similar but it reports the clearance between line outer edges, allowing for their contact diameters.
Note: Line Clearance can report negative values. This means that the segments in question are
penetrating each other. If clashing is being modelled for both segments then a clash force will
result from this penetration.
The line clearance variables are useful for checking for clashing between lines. They are available in both range
graph and time history form. The range graph, for a given period of the simulation, enables you to see where on the
line clashing may be a problem. You can then examine the time history of line clearance for that point on the line, to
see when closest approach occurs. You can then use the replay to examine which other line is coming closest.
It is sometimes worth choosing carefully which line to check for clearance. An example is checking for clashing
between a single mooring line and one or more of a number of closely spaced flowlines. Let us assume that you are
reporting clearances from all other lines. The clearance graphs for the flowlines will include clearance to the other
flowlines, between which clashing may not be a concern. The mooring line clearance is probably more useful, since
it only includes clearance to the flowlines.
Line clearance only checks against other lines, not against edges of vessels, buoys, etc. However you can check
clearance against part of a vessel, for example, by attaching a dummy single-segment line to the vessel, spanning
across the area of interest. The line clearance graphs for that dummy line will then show how close other lines come
to that area of the vessel.
Notes: For mid-segment points the segment used is the one containing the selected arc length.
Line clearance results are only available if there are at least 2 lines in the model.
w
System Modelling: Data and Results, Lines
359
Warning: For complex models, building and updating clearance graphs can be slow. Having "live" clearance
graphs open while a simulation is running can significantly slow down the simulation.
Line Clashing Results
Note: As well as the results variables documented below OrcaFlex also provides a Line Clashing Report.
Line Clash Force
Available at mid-segment points. The magnitude of the clash force between this segment and other lines. Please note
that this variable is only available if clash checking has been included for the lines concerned. See Line Clashing for
details.
Line Clash Force is given for the segment containing the selected arc length and results are available in the form of
time histories and range graphs. If multiple clashes occur simultaneously on the same segment then the value
reported is the magnitude of the vector sum of the clash forces involved.
Line Clash Impulse
Available at mid-segment points. The integral of Line Clash Force with respect to time.
Line Clash Energy
Available at mid-segment points. Clash energy is calculated by integrating the magnitude of clash force with respect
to depth of penetration.
Suppose that this segment is denoted by S1 and segment S2 is another segment which S1 is in contact with. The
clash energy for the spring/damper representing contact between these 2 segments is calculated by integrating the
magnitude of clash force with respect to depth of penetration. This then is the potential energy in the
spring/damper.
If multiple clashes occur simultaneously on the same segment then the value reported is the sum of all individual
clash energies between this segment and other segments.
Line Contact Results
Line Contact Force,
Line Contact x-Force, Line Contact y-Force, Line Contact z-Force
Available at nodes. Line Contact Force is the magnitude of the total force per unit length, due to Line Contact with
any of the lines in the model with which it has a specified line contact relationship. Line Contact x-Force, Line
Contact y-Force and Line Contact z-Force are the components of that total Line Contact Force in the line's node
Nx-, Ny- and Nz-axes directions.
Solid Contact Results
Solid Contact Force
Available at nodes. The magnitude of the total force per unit length, due to contact with any of the elastic solids in
the model.
Seabed Contact Results
Seabed Clearance
Available at nodes. The clearance is the shortest distance between the node and any point on the seabed, allowing
for the contact diameter. The value reported is for the node that is nearest the specified arc length. A negative value
indicates that the node is in contact with the seabed.
This result is not available for 3D seabeds because it is difficult to calculate. Instead you should use Vertical Seabed
Clearance.
Vertical Seabed Clearance
Available at nodes. The clearance is the vertical distance between the node and the seabed, allowing for the contact
diameter. The value reported is for the node that is nearest the specified arc length. A negative value indicates that
the node is in contact with the seabed.
Seabed Normal Penetration/D
Available at nodes. The component of seabed penetration normal to the seabed, divided by the contact diameter.
Seabed Normal Resistance, Seabed Normal Resistance/D
Available at nodes. Seabed Normal Resistance is the component of seabed resistance normal to the seabed, where
seabed resistance means the seabed reaction force per unit length of line. Seabed Normal Resistance/D is the
Seabed Normal Resistance divided by the contact diameter.
The forces due to both seabed stiffness and seabed damping are included.
System Modelling: Data and Results, Lines
w

360
Warnings: The damping force depends upon node velocity. This is derived by numerically differentiating the
logged positions of the node with respect to time, using the central difference scheme. Because of
this the accuracy of the results will depend on the log sample interval. See Motions results for more
details.
Seabed resistance results from interaction with a linear seabed are reported without taking into
account possible containment arising from participation in line contact. For more details, see the
Containment Scaling section of the line contact documentation.
P-y deflection, P-y resistance
Available at nodes. The magnitude of deflection and resistance of the P-y spring attached to this node.
Pipe Stress / Strain
Stress and strain results are available at mid-segment points and at line ends. For terminology see Pipe Stress
Calculation.
The stress calculations make the following assumptions:
- At each point along the line all the loads are taken by a single simple cylinder of the specified Stress OD and
Stress ID and made of a homogeneous material.
- The stresses included are those due to tension, bending, shear and hoop stress.
- The loads (tension, bend moment, shear and torque) which are used in stress calculations are scaled by the
stress loading factors before being used.
- Internal pressure in the line generates wall tension in the line as it would do in a sealed cylinder.
- For the purpose of calculating the components of the stress matrix the shear stress is assumed to be uniformly
distributed across the cross section. Although this is not strictly the case, the shear stress is normally negligible
so this simplifying assumption is reasonable.
- The hoop stress due to static internal and external pressure at the current Z-level is included, and is calculated
using the standard Lam equation for thick walled cylinders. However the effect of dynamic variations in
pressure, for example from the passage of the wave, are not included.
Limitations of stress calculations
The assumptions described above mean that the stress calculations are only valid for pipes such as steel or titanium
risers, not for composite flexible risers, ropes chains, etc.
If the pipe has non-linear stiffness then the program cannot, in general, accurately calculate pipe stresses. The
program uses the same formulae for stress calculation as it does for linear stiffness. For example the bending stress
is calculated as Mr/Ixy. An exception to this is made for a homogeneous pipe with non-linear stress-strain. In this
situation stress results can be calculated accurately by using the stress-strain data.
If the line type stress diameters differ from the outer and inner diameters then see the warning in the Line Pressure
Effects section.
The program does not, and indeed cannot, allow for the complex stress concentrations that can occur at joints or at
the top and bottom of a riser.
Direct Tensile Strain
Available at mid-segment points and line ends. This is the component of axial strain due to wall tension (which
includes the effects of internal and external pressure).
Max Bending Strain
Available at mid-segment points and line ends. This is the axial strain due to bending at the outer fibre on the
outside of the bend.
Worst ZZ Strain
Available at mid-segment points and line ends. This equals whichever of Direct Tensile Strain Max Bending Strain
has the larger absolute value.
ZZ Strain
Available at mid-segment points. This equals Direct Tensile Strain + Bending Strain. ZZ Strain varies across the cross
section and so its value is reported at a specified (R,) position.
Internal and External Pressure
Available at mid-segment points and line ends. The internal and external static pressures, Pi and Po. See Line
Pressure Effects for details.
w
System Modelling: Data and Results, Lines
361
Pressures in OrcaFlex are gauge pressures, not absolute pressures. That is, they are relative to atmospheric pressure
and so can be as low as minus 1 atmosphere (-101.325 kPa).
Net Internal Pressure
Available at mid-segment points and line ends. Defined as Pi - Po.
Direct Tensile Stress
Available at mid-segment points and line ends. This is the axial stress due to wall tension (which includes the effects
of internal and external pressure). It is constant across the cross section and equals Tw/A. A positive value indicates
tension; a negative value indicates compression.
Max Bending Stress
Available at mid-segment points and line ends. This is the maximum value that the Bending Stress takes anywhere
in the cross section. It is given by
Max Bending Stress = (C2.M.ODstress/2) / Ixy
where C2 is the bending stress loading factor, and this maximum occurs at the extreme fibre on the outside of the
bend.
For a homogeneous pipe with non-linear stress-strain
Max Bending Stress = (zz) - Direct Tensile Stress = (zz) - Tw/A
where () is the specified stress-strain relationship and zz is the axial strain at the extreme fibre on the outside of
the bend data.
Worst ZZ Stress
Available at mid-segment points and line ends. This is the value of ZZ Stress that has the greatest magnitude
anywhere in the cross section.
Worst Hoop Stress
Available at mid-segment points and line ends. The Hoop Stress is due to internal and external pressure. It varies
across the section and can be positive (tension) or negative (compression), and by the Worst Hoop Stress we mean
the hoop stress of greatest magnitude. It is obtained by finding the point in the cross section where the unsigned
magnitude of the Hoop Stress is largest; this must be either at the inside or outside fibre of the stress area. The Hoop
Stress at this point is called the Worst Hoop Stress.
Max xy-Shear Stress
Available at mid-segment points and line ends. This value is based upon an assumption that the pipe is thin walled.
Max xy-Shear Stress = (C4..ODstress/2) / Iz + 2C3S/A
where C3 and C4 are the shear and torsional stress loading factors respectively.
von Mises Stress, Max von Mises Stress
Available at mid-segment points and line ends. The von Mises stress, vm, is a stress measure that is often used as a
yield criterion. It is a combination of all the components of the stress matrix and in terms of principal stresses it is
given by:
vm = [{(1-2)
2
+ (2-3)
2
+ (3-1)
2
}/2]


where 1, 2 and 3 are the principal stresses, i.e. the eigenvalues of the 3 by 3 stress matrix.
The von Mises Stress varies across the cross section, so its value is reported at a specified (R,) position.
The Max von Mises Stress is an estimate of the maximum value of the von Mises Stress over the cross section. The
way it is calculated depends on whether the line includes torsion or not, as follows.
- If torsion is not included, then OrcaFlex assumes that the torque is zero. In this case the maximum value of the
von Mises stress must occur in the plane of bending. OrcaFlex also assumes that the maximum occurs at either
the inner or outer fibre. (This is a commonly-used assumption that is almost always valid, since if the internal
pressure stress contribution is dominant then the maximum will be at the inner fibre, whereas if bending stress
is dominant then it will occur at the outer fibre.) OrcaFlex therefore calculates the von Mises stress at 4 points
(R = IDstress/2 and ODstress/2, in the plane of bending) and reports the largest value.
- If torsion is included, then the maximum value of the von Mises stress can, in general, occur anywhere in the
pipe wall. So OrcaFlex calculates the von Mises stress at a grid of points across the pipe wall and reports the
largest value found. Currently, the grid comprises 36 -values (i.e. every 10 around the pipe circumference) at
each of 5 R-values across the pipe wall.
System Modelling: Data and Results, Lines
w

362
RR Stress, CC Stress, ZZ Stress, RC Stress, RZ Stress, CZ Stress
Available at mid-segment points and line ends. These are the individual stress components at a point in the cross
section. The point is specified by its polar coordinates (R,) within the cross section. See Pipe Stress Calculation and
Pipe Stress Matrix for details.
Code Checks
Code Check results are available at mid-segment points and at line ends, for the following codes:
- API RP 2RD.
- API RP 1111.
- DNV OS F101.
- DNV OS F201.
- PD 8010.
Fluid Loads
If the line experiences sea state disturbance this will be accounted for in the fluid load results.
Sea Surface Z
Available at nodes. The global Z coordinate of the sea surface directly above the instantaneous position of the
selected node.
Depth
Available at nodes. The depth of the node beneath the sea surface (= Surface Z - Node Z).
Sea Surface Clearance
Available at nodes. The vertical clearance from node centre to the instantaneous sea surface. Negative values mean
that the node is submerged.
Proportion Wet
Available at nodes. The proportion of the part of the line that the node represents, that is submerged in the sea. The
value is in the range 0 to 1, a value of 0 meaning no submersion and 1 meaning is completely submerged. For details
see Line Interaction with the Sea Surface.
Sea Velocity, Sea Velocity X, Sea Velocity Y, Sea Velocity Z,
Sea Acceleration, Sea Acceleration X, Sea Acceleration Y, Sea Acceleration Z
The magnitude and global X, Y and Z components of the water particle velocity (due to current and waves) and
acceleration (due to waves) at the node position. If the node is above the water surface then zero is reported.
Relative Velocity, Normal Relative Velocity, Axial Relative Velocity
Available at nodes. Relative Velocity is the velocity of the fluid relative to the node, i.e. Vfluid - Vnode. The results
reported are the magnitude of the relative velocity and its normal and axial components (relative to the line). For
the axial component, a positive value means that the fluid is moving (relative to the line) towards End B.
The fluid velocity used is the velocity of the principal fluid affecting the node. The principal fluid is defined as
follows:
1. If proportion dry > 0.5 and the Include wind loads on Lines option is enabled in the Environment data then the
principal fluid is the air.
2. Otherwise the principal fluid is the sea.
Note: For a node that is above the water surface OrcaFlex reports a relative velocity based on the fluid
velocity at the surface point vertically below the node.
Warnings: The relative velocity results are derived using the node velocity results, so see the accuracy warning
given above.
The relative velocity results are reported without taking into account possible containment arising
from participation in line contact. For more details, see the Containment Scaling section of the line
contact documentation.
Strouhal Frequency
Available at nodes. The Strouhal Frequency is defined to be St.V/D where St=0.2, V is the normal component of
relative velocity and D is the normal drag diameter.
w
System Modelling: Data and Results, Lines
363
Warning: Strouhal frequency is reported without taking into account possible containment arising from
participation in line contact. For more details, see the Containment Scaling section of the line
contact documentation.
Reynolds Number
Available at nodes. The Reynolds number is a measure of the flow regime. OrcaFlex offers a number of different
options for the calculation of Reynolds number, specified on the Environment data form.
Warning: Reynolds number is reported without taking into account possible containment arising from
participation in line contact. For more details, see the Containment Scaling section of the line
contact documentation.
x-Drag Coefficient, y-Drag Coefficient, z-Drag Coefficient, Lift Coefficient
Available at nodes. These are the drag and lift coefficients used in the calculation.
For constant coefficients then these results report the values given in the user's data, except for a node at the
junction between two sections with different coefficients, where an effective average value is used.
If the line's drag or lift coefficients vary with Reynolds number or Height above Seabed then these results report the
computed value that was used.
If the line uses a wake oscillator VIV model with inline drag amplification then the amplification factor is included in
these results. The inline drag amplification factor is also available as a separate result.
Wake Velocity Reduction Factor, Wake Cd, Wake Cl
Available at nodes only, for lines which include sections that react to wake effects.
Wake Velocity Reduction Factor is the factor applied to the velocity at the node as a result of upstream wake effects.
Wake Cd and Wake Cl are the drag and lift coefficients respectively, used to calculate the hydrodynamic forces at the
node as a result of any upstream wake effects.
Note: Wake Cl is positive when the lift force is applied in the y direction of the upstream wake's frame of
reference and negative when the lift force is applied in the -y direction of the upstream wake's
frame of reference.
End Loads
The line end load results are based on the end force and end moment vectors at the line end.
Note that these results include the structural inertia load and added inertia load due to acceleration of the end node.
There are 3 groups of end load results:
- Standard results like Effective Tension, Bend Moment, etc. are available at line ends as well as at mid-segment
points. For example to obtain the end tension at End A you can ask for the Effective Tension (or Wall Tension) at
End A.
- Magnitude and other components of the end force and end moment vectors.
- Bend Restrictor Load, which is a special end load result useful for bend restrictor design.
Sign Convention
When considering the sign of end load components the question arises as to whether the load reported is that
applied by the line to its connection or vice versa. The OrcaFlex convention is that the load reported at any point is
that applied by the B side of that point to the A side. So at End A we report the end load applied by the line to its
connection (e.g. a vessel), but at End B we report the end load applied to the line by its connection. This is in
keeping with the OrcaFlex convention for specifying the no-moment direction.
Treatment of Links and Winches attached to the end node
Normally, the end force and end moment are the total load acting between the end node and the object to which it is
connected. This includes forces from any links or winches attached to the end node.
However if the line end is free, or has been released, then it is not connected to any object. In this case the end
moment is zero and the end force is taken to be the total force acting between the line end and any links or winches
attached to the end node. If there are no attached links or winches, or they have been released, then the end force is
zero.
System Modelling: Data and Results, Lines
w

364
Standard Results
Effective Tension, Wall Tension,
Shear Force, x-Shear Force, y-Shear Force,
Bend Moment, x-Bend Moment, y-Bend Moment,
Curvature, x-Curvature, y-Curvature
These results variables are available at the line end nodes, as well as at mid-segment points. Whether you are given
end values or mid-segment values depends on the point at which you ask for the results. If you ask for these results
at EndA or EndB, or at an arc length that is closer to a line end than to the nearest mid-segment arc length, then the
values at the line end will be given. Otherwise the values for the nearest mid-segment point will be given.
For mid-segment values see Line Results: Forces, Line Results: Moments and Line Results: Pipe Stresses.
At a line end they report the components of the end loads in the local node directions of the end node, as follows:
- Effective tension is the component of the end force vector in the end node axial direction (= Nz direction).
- Wall tension is derived from the effective tension at the line end, using the pressure effects formula.
- Shear is the component of the end force vector normal to the end node axial direction.
- x-Shear and y-Shear are the components of the end force vector in the end node Nx and Ny directions.
- Torque is the component of the end moment vector in the end node axial direction.
- Bend moment is the component of the end moment vector normal to the end node axial direction.
- x-Bend Moment and y-Bend Moment are the components in the end node Nx and Ny directions.
- Stress results are based on the end load components in the end node axes directions.
Differences between End Loads and End Segment Loads
The end values of these results differ from the corresponding values for the end segment for two reasons.
Firstly, they include the loads (weight, buoyancy, drag etc.) on the last half segment adjacent to the end.
Secondly, they are components in the local node directions (Nx,Ny,Nz) at the end node, whereas the end segment
values are components with respect to the segment directions (Sx,Sy,Sz). The end node is often not aligned with the
end segment because end connection stiffness turns it towards the end orientation direction. For example:
- If the end connection stiffness is zero, or if the line end is free or has been released, then the end node directions
are aligned with the end segment directions. The end node values then differ from the end segment values only
by the loads on the end half segment.
- If the end connection stiffness is Infinity (and the end is not free or released) then the end node directions stay
aligned with the line end axes Ex, Ey, Ez. The end node values are then usually in different directions to the end
segment values.
- For intermediate values of end connection stiffness, the end node directions will be somewhere between the
two. They will tend to be nearer to the end fitting directions if the end connection stiffnesses are stronger than
the line bend stiffness and torsional stiffness, but nearer to the end segment directions if it is weaker.
End Load Magnitude and Components
End Force, End Moment,
End GX-Force, End GY-Force and End GZ-Force, End GX-Moment, End GY-Moment, End GZ-Moment,
End Lx-Force, End Ly-Force and End Lz-Force, End Lx-Moment, End Ly-Moment, End Lz-Moment,
End Ex-Force, End Ey-Force and End Ez-Force, End Ex-Moment, End Ey-Moment, End Ez-Moment
These results report the magnitude of the end force and end moment vectors, and their components in the following
directions:
- The directions of the global axes GX, GY, GZ.
- The directions of the local axes Lx, Ly, Lz of the object to which the line end is connected. For example if the line
end is connected to a vessel, the Lx, Ly, Lz are the directions of the vessel axes.
- The directions of the line end axes Ex, Ey, Ez. See Line End Orientation.
For a line with a stiffener attached results are reported separately for the protected line and its stiffener. However, it
is sometimes necessary (e.g. when designing end fittings) to report combined end loads including the load from both
the protected line and its stiffener.
End load results are available for the protected line which include the stiffener end load, in addition to the protected
line end load. These results are all prefixed with "Total", e.g. Total End Force, Total End Moment, Total End GZ-
Force etc.
w
System Modelling: Data and Results, Lines
365
Bend Restrictor Load
This is defined as Bend Restrictor Load = End Force*(1 - cos(End Force Ez-Angle)). Another commonly used name
for this variable is "pseudo-curvature". It is only available for line ends that are pin-connected (zero bending
stiffness at the line end connection) and without a stiffener attached.
6.8.9 Drag Chain Results
For details on how to select results variables see Selecting Variables.
For Drag Chains the following results variables are available.
Azimuth and Declination
The azimuth and declination of the drag chain, relative to global axes.
Supported Length and Hanging Length
The supported length is the length deemed to be supported by the seabed. The hanging length is the length of the
rest of the drag chain. The supported length plus the hanging length equals the total length of the drag chain. See
Drag Chain Seabed Interaction for details on how these values are calculated.
Drag Force
The magnitude of the drag force acting on the drag chain. This includes both the axial and normal components of the
drag force.
Axial Drag Force, Normal Drag Force
The components of drag force axial and normal to the drag chain.
Horizontal Drag Force, Vertical Drag Force
The horizontal and vertical components of the drag force. For the vertical drag force a positive value indicates an
upwards force.
See Drag Chain Theory for details on how the drag force is calculated.
6.8.10 Flex Joint Results
For details on how to select results variables see Selecting Variables.
For Flex Joints the following results variables are available.
Bend Moment, x-Bend Moment, y-Bend Moment
The magnitude of bending moment at the Flex Joint and its components in the local x and y-directions.
6.8.11 Line Setup Wizard
Intended principally for mooring analyses, this wizard adjusts line configuration to achieve specified tension,
declination or layback. The wizard is available when the current simulation is in Reset state and is opened by
clicking the Calculation | Line Setup Wizard menu item.
System Modelling: Data and Results, Lines
w

366

Figure: The Line Setup Wizard
Calculation Mode
The Wizard has two modes of operation: Calculate Line Lengths or Calculate Anchor Positions.
The Calculate Line Lengths option operates by varying the length of the specified section of each included line until
the target value is achieved. Because the section length is altered by the Calculate Line Lengths option we
recommend that you specify the segmentation using Target Segment Length rather than Number of Segments. Thus
if the wizard lengthens the line then the program will automatically add more segments to meet the Target Segment
Length.
The Calculate Anchor Positions option operates by varying the position of the Bottom End of each included line
until the target value is achieved. The Bottom End position is constrained to be on a line in the Lay Azimuth
direction so you must set these data items before using the wizard.
Note: These calculations use a numerical method which is not 100% robust. We recommend that you set
up your model so that your starting conditions have target values that are quite close to your exact
target values before using the wizard. If you do this the wizard is more likely to be able to find a
solution.
Target Values
To use the wizard you must first specify the target tensions or declinations. The wizard presents a list of all Lines in
the model.
The Include this Line option determines which Lines are included in the calculation which allows you to exclude
certain Lines. For example, you may be modelling both moorings and flow lines in the same OrcaFlex file. Typically
you would only include the moorings in this calculation.
The Target Variable option allows you to switch between the following options:
- Tension.
- Horizontal End Force.
- Declination.
- Layback, defined to be the horizontal component of distance between the Top End of the line and the
touchdown point.
w
System Modelling: Data and Results, Lines
367
- No Target, which means that the line will be included in the static calculation but that its data are not to be
modified. This is particularly useful if you are analysing buoyed systems where the upper and lower catenaries
are modelled with different Lines.
For Tension and Declination targets you must also specify where on the line the value is calculated, using the Line
End and Arc Length fields. The Arc Length field specifies the arc length measured from the specified Line End. For
Horizontal End Force you must specify the Line End, either End A or End B.
Finally you specify Tension, Horizontal End Force, Declination or Layback values, as applicable, in the Target Value
field.
Line section to be modified
Specifies which section on the line is to have its length modified when using the Calculate Line Lengths mode.
Convergence Parameters
The Wizard performs an iterative calculation and these parameters can be used to help convergence.
The calculation is abandoned if convergence has not been achieved after the number of steps specified by Max
Iterations. For some difficult cases simply increasing this limit may be enough.
The non-dimensional Tolerance parameter determines when the calculation is deemed to have converged. The
calculation has converged once the following conditions are satisfied:
- Calculated Value - Target Value < Tolerance Typical Force, for tension and end force targets, where Typical
Force for each line is the total dry weight of the line.
- Calculated Value - Target Value < Tolerance, for declination targets.
- Calculated Value - Target Value < Tolerance Target Value, for a layback target.
The Min Damping and Max Damping parameters can sometimes be used to help difficult problems converge. Try
increasing the Min Damping factor, say values in the range 1.5 to 10. You can also try increasing the Max Damping
factor, say to values in the range 10 to 100.
Automation
The Line Setup Wizard can be executed in automated fashion either through the InvokeLineSetupWizard batch
script command or from the OrcaFlex programming interface.
6.8.12 Line Type Wizard
The Line Type Wizard is a tool that helps you set up a Line Type that represents one of the following commonly used
structures:
- Chain.
- Rope/Wire.
- Line with Floats.
- Homogeneous Pipe.
- Hose.
- Umbilical.
What the Wizard does is ask you for the basic data of the structure e.g. the bar diameter for a chain and then
calculate for you as much of the line type data as it reasonably can to represent that structure. The Wizard leaves
you to set other data e.g. friction coefficients where there is no formula on which to base the data.
Warning: The values generated by the Wizard are offered in good faith, but due to variations in properties
between products they cannot be guaranteed. Please use suppliers' data where this is available.
How The Line Type Wizard Works
The Wizard works on the currently selected line type on the line types form, so you should first create, name and
select the Line Type that you want to set up. You can then open the Wizard using the Wizard button on the Line
Types form.
The first time you use the Wizard on a given line type you must be in reset state, since you will be setting data. You
then tell the Wizard the category of structure that you want to model (chain, rope etc.) and the data for that
structure (e.g. chain bar diameter). This information is called the Wizard data, and from it the Wizard derives line
type data to correspond to those Wizard data. If necessary you can then manually adjust the derived line type data.
Once you have used the Wizard to set up data for a given line type, then the Wizard remembers the Wizard data you
gave it. If you re-open the Wizard when in reset state then you can edit the Wizard data and the Wizard will
calculate corresponding new derived line type data. Any manual adjustments will need to be done again.
System Modelling: Data and Results, Lines
w

368
You can also re-open the Wizard when in other states (e.g. in static state or when a simulation is active) but only in
order to view the Wizard data. You cannot edit Wizard data or re-derive line type data except in reset state.
Note: Remember that the current line type data might not correspond to the current Wizard data, since
you might have manually edited the line type data after they were derived by the Wizard.
Using the Line Type Wizard
The Wizard has three stages, with Next and Back buttons so that you can move between stages to set up the data
you want.
Stage 1 displays the name of the selected Line Type and asks you to specify the special category that you want. You
can then click Next to proceed to the second stage.
Stage 2 presents 3 frames of information. The top left frame asks you for the basic data of the special category you
have selected. The bottom left frame displays the resulting derived Line Type data you should check that the
values are reasonable.
The right-hand frame displays other properties of the resulting Line Type, which are often useful as a check. In some
cases these depend on contents density, in which case you can specify the contents density to be used for the
calculation of properties. If there are any errors then a message will be displayed. When everything is correct you
can click Next to proceed to the last stage.
Stage 3 displays all of the Line Type data. Bold text denotes data that have been derived for you by the Wizard,
based on the special line type data you specified. Non-bold text represents data that have not been set by the Wizard
these data will be as you last set them. You can adjust any of the data at this stage, overriding the values derived by
the Wizard if you wish. You can also still go back to previous stages of the Wizard if further modifications are
required. When everything is correct you can click the Finish button, in which case the new data will be written,
overwriting the previous data for that line type. Alternatively, you can Cancel to leave the line type unchanged, but
then any newly entered special category data will also be lost.
6.8.13 Chain
A chain can be modelled in OrcaFlex by using a Line Type with its various properties set to suitable values. This note
derives the values to use for anchor chain of nominal (i.e. bar) diameter D, as shown in the Figure: Chain Geometry.
The properties of an equivalent line type are given below.
Studless Studlink
OD 1.80D 1.89D
ID 0 0
Contact diameter 3.35D 3.6D
Mass/Length 19.9D
2
21.9D
2
te/m for D in m
Axial stiffness 0.854x10
8
D
2
1.01x10
8
D
2
kN for D in m
Bend stiffness 0 0
Compression is Limited yes yes
Normal drag coefficient 2.4 2.6
Normal drag diameter D D
Axial drag coefficient 1.15 1.4
Axial drag diameter D/ D/
Normal added mass coefficient 1.0 1.0
Axial added mass coefficient 0.08 0.07
Stress diameters '~' '~'
Allowable stress '~' '~'
Friction coefficient typically 0.4 - 0.8 depending on the seabed
w
System Modelling: Data and Results, Lines
369
Geometry

Figure: Chain Geometry
Data
Chains are widely used in a variety of offshore applications, most obviously in mooring. The Line Type Wizard helps
derive a line type to represent a chain based on the following input data.
Bar Diameter
The diameter of the metal bar that forms the links.
Link Type
Can be either studlink or studless.
Mechanical Properties
Catalogue Data
When modelling mooring chain the Line Type Wizard aims to derive data for a line type whose characteristics are
equivalent to that of a chain.
Warning: The values generated by the Wizard are approximate only and are intended as first estimates for
preliminary use. They are offered in good faith, but due to variations in properties between
products they cannot be guaranteed. Please use suppliers' data where this is available.
In deriving these some of the available catalogue data will prove useful and we outline here the relevant aspects.
The Mooring Chain figure shows the geometry of a pair of chain links. The values are given in terms of the nominal
bar diameter of the chain (D), assumed to be in metres, and are given for both a studless chain and, where different,
for a studlink chain. The geometry given in the figure is based on catalogue data available from the chain
manufacturer Scana Ramnas (1990 & 1995), as is the following expression for mass per metre:
Mass per metre (M) = 19.9D
2
te/m (studless) or 21.9D
2
te/m (studlink).
The catalogue also gives the following value for the Young's Modulus of the chain that has been deduced from stress-
strain relationships in which the cross sectional area of two bars is taken to be the load bearing area:
E = 5.44 x 10
7
kN/m
2
(studless) or 6.40 x 10
7
kN/m
2
(studlink).
Minimum Breaking Loads
For information, the properties window displays minimum breaking loads that depend on the nominal diameter and
chain grade. They are derived using the following relationship, which was obtained from the manufacturer's
catalogue:
Min Breaking Load = c.D
2
.(44 - 80D) kN
where c is a grade-dependent constant, given in the catalogue data as Grade 2: 1.37e4, Grade 3: 1.96e4, ORQ: 2.11e4,
R4 - 2.74e4.
Studless and Studlink chains with the same nominal diameters are stated to withstand the same break- and proof-
loads.


3.35D (studless)
3.6D (studlink)
6D
3.35D (studless)
3.6D (studlink)
D = Nominal Diameter
A
EDGE

A
FACE

System Modelling: Data and Results, Lines
w

370
Derived Data
It will be useful to know the centreline length of bar needed to make a single link. We can obtain this by noting that,
for a long chain, there is one chain link every 4D length of chain. Hence, the number of links per metre of chain is N =
1/(4D), and thus for a single link:
Mass per link = M / N = 79.6D
3
te (studless) or 87 6D
3
te (studlink).
Assuming that the chain is made from steel, and using s as density of steel (= 7.8 te/m
3
), this then leads to:
Volume per link = (M / N) / s = 10.2D
3
m
3
(studless) or 11.2D
3
m
3
(studlink).
But, by considering the geometry of a link, we also have
Volume = L . D
2
/4,
where L is centreline length of bar needed to make a single link (including the stud in the case of the studlink chain).
Hence:
L = Volume / (D
2
/4) = 13.0D m (studless) or 14.3D m (studlink).
Outer, Inner and Contact Diameter
The Line Type Wizard sets up diameters for a chain as follows:
Outer Diameter
The effective outer diameter of the equivalent line is obtained using a similar argument to that deployed in
obtaining the overall length of bar per link. Firstly, note that the volume per metre can be expressed as both:
Volume per metre = M/s
and also as
Volume per metre = OD
2
/4
where OD is the equivalent diameter for a line with constant volume along its length. Equating these expressions
leads to:
Outer Diameter = [4M/(s)]

= 1.80D m (studless) or 1.89D m (studlink).


Inner Diameter
Chains do not have any contents, so the Inner Diameter is set to zero.
Contact Diameter
The contact diameter is set to the chain link envelope diameter. That is Contact Diameter = 3.35D m (studless) or
3.6D m (studlink).
Axial and Bending Stiffness
The Line Type Wizard sets up Axial and Bending Stiffness and Compression is Limited for a chain as follows:
Axial Stiffness
As detailed in Mechanical Properties of Mooring Chains we have values for the Young's Modulus for both studlink
and studless chains from catalogue data. Taking A to be the combined cross sectional area of two bars, that is:
A = 2(D
2
/ 4) m
2

leads to:
EA = 0.854 x 10
8
D
2
kN (studless) or 1.01 x 10
8
D
2
kN (studlink).
Bending Stiffness
For both studlink and studless chains the bending stiffness is set to zero as the chains are assumed to bend when
subjected to very small moments.
Compression is Limited
In conjunction with a zero value for bend stiffness, Compression is Limited is set to 'yes'.
Axial Added Mass Coefficient
The Line Type Wizard sets up Axial Added Mass Coefficient for a chain as follows.
As for axial drag, the parts attracting added mass in axial flow are the projecting lobes only see the figure. Each
pair of lobes are simply a link with the middle section (and stud if present) removed, and can be viewed roughly as
an ellipsoid split down the centre with the following dimensions:
length 6D, width D and height 2.35D (studless) or 2.60D (studlink).
w
System Modelling: Data and Results, Lines
371
J N Newman (1977) (page 147, Fig 4.8) gives added mass coefficients for spheroids. We approximate the ellipsoid as
a spheroid with a length of 6D (the link length) and a mean width of (D+2.35D)/2 = 1.675D for studless), or
(D+2.60D)/2 = 1.80D for studlink. This gives an aspect ratio (width/length) of about 0.3 in both cases.
For this aspect ratio and axial flow Newman gives an added mass coefficient of 0.1. This is for use with a reference
volume equal to the spheroid volume, which in this case is the volume of the lobes only. But OrcaFlex uses the total
displaced volume as the reference volume, so a suitable scaling of Newman's coefficient is needed to allow for this
difference in reference volume.
For a studless link the non-lobe length of bar is 2D (the middle section) out of a total of 13D, so the lobes represent
11D/13D = 84.6% of the total link volume. For a studlink chain the non-lobe length of bar is 2D + 1.6D (the stud) our
of a total of 14.3D, so the lobes represent 10.7D/14.3D = 74.8% of the total link volume. So we scale Newman's
added mass coefficient 0.1 by these factors and round to give OrcaFlex axial added mass coefficients of
Caa = 0.08 (studless) or 0.07 (studlink).
Drag
The Line Type Wizard sets up the drag coefficients and drag diameters for a chain following the guidance of DNV OS
E301, section 701.
DNV OS E301 recommends a normal drag coefficient of 2.4 (studless) or 2.6 (studlink). The normal drag diameter is
D. For the axial drag coefficient the recommended coefficients are 1.15 (studless) or 1.4 (studlink) with a
corresponding axial drag diameter of D/.
Normal Added Mass Coefficient
The Line Type Wizard sets up the Normal Added Mass Coefficient for a chain as follows:
When a line is accelerated in water it requires an impulse in excess of that needed for the same acceleration in air.
This is due to the extra force required to displace the water in the vicinity of the submerged part of the line. An
added mass term is used to reflect this and it is found to be proportional to the volume of displaced fluid:
Added mass = Ca . . Vol
where
is density of water,
Vol is the displaced volume.
The parts of a line displacing the fluid are said to be attracting added mass. For asymmetrical bodies the parts
attracting added mass will differ in different directions. Hence, we consider the effect due to fluid flow exerting a
force in, first, the normal and then the axial directions.
For a circular cylinder in flow normal to its axis:
Can = 1.0.
The situation for a chain is more complicated as, for flow normal to a link, parts of the link are shielded from the
flow but there is also some entrapped water within each edge-on link. An accurate calculation is very problematic
and is unlikely to give a value for the normal added mass coefficient far distant from 1.0. Hence we assume:
Can = 1.0.
Stress Diameters and Allowable Stress
These are set to '~' because the entire structure is load bearing. Please note, however, that stress results are not
meaningful for a chain.
System Modelling: Data and Results, Lines
w

372
6.8.14 Rope/Wire

Figure: Rope/Wire Geometry
Ropes and wires have many applications in the offshore industry including towing, mooring and winching. The Line
Type Wizard can be used to derive Line Type data to represent five different types: Nylon (8-strand Multiplait);
Polyester (8-strand Multiplait); Polyethylene (8-strand Multiplait); 6x19 Wire Rope with Fibre Core; and 6x19 Wire
Rope with Wire Core.
Most of the calculations of the derived line properties are based on data from a catalogue published by Marl ow
Ropes Ltd (1995). All quantities are expressed as a function of the rope's nominal diameter D. Note that this
documentation uses the SI units system, so D is in metres in this documentation, but the program automatically
adjusts the formulae to match the units specified by the user.
Warning: The values generated by the Wizard are approximate only and are intended as first estimates for
preliminary use. They are offered in good faith, but due to variations in properties between
products they cannot be guaranteed. Please use suppliers' data where this is available.
Data
The Line Type Wizard can be used to create line types representing a variety of ropes and wires. The input data
required consists of the following:
Rope/Wire Nominal Diameter
The overall diameter of the rope or wire. The majority of the derived line type data are functions of this diameter.
Warning: The line type outer diameter derived by the wizard is less than this nominal diameter, in order to
give the correct buoyancy. You need to allow for this when setting the line type drag and added
mass coefficients, since the coefficients correspond to the derived line type outer diameter, not the
nominal diameter.
Construction
Can be one of:
- Nylon (8-strand Multiplait).
- Polyester (8-strand Multiplait).
- Polyethylene (8-strand Multiplait).
- 6x19 Wire with Fibre Core (8-strand Multiplait).
- 6x19 Wire with Wire Core (8-strand Multiplait).
The construction affects both the mass per unit length of the line type and the strength of the line type.
Mass per unit length
The Line Type Wizard sets up Mass for a Rope/Wire as follows:
The quantity Mass per unit length is available from catalogue data for ropes. The nominal rope diameter and
nominal mass are available for a variety of rope constructions. A simple statistical analysis of the available data
leads to the following expressions:
Mass Per Metre = 0.6476 D
2
te/m (for Nylon ropes).
Mass Per Metre = 0.7978 D
2
te/m (for Polyester ropes).
Mass Per Metre = 0.4526 D
2
te/m (for Polypropylene ropes).
D = Nominal rope diameter
Wire with Fibre core Wire with Wire core Fibre rope
D
w
System Modelling: Data and Results, Lines
373
Mass Per Metre = 3.6109 D
2
te/m (for Wire ropes with fibre core).
Mass Per Metre = 3.9897 D
2
te/m (for Wire ropes with wire core).
Outer and Inner Diameters
The Line Type Wizard sets up outer and inner diameters for a Rope/Wire as follows.
The inner diameter is set to zero for all rope construction types. The line type outer diameter, OD, is set as follows:
OD = 0.85 D (for Nylon ropes).
OD = 0.86 D (for Polyester ropes).
OD = 0.80 D (for Polypropylene ropes).
OD = 0.82 D (for Wire ropes with fibre core).
OD = 0.80 D (for Wire ropes with wire core).
where D is the specified rope diameter.
These outer diameters are effective diameters that give the line type a displaced volume per unit length that equals
the estimated displaced volume per unit length of the rope/wire. The line type then has the appropriate buoyancy.
Note that this effective diameter is less than the specified rope diameter, because there are gaps between the fibres
and so not all of the specified nominal diameter contributes to buoyancy.
The above formulae for the line type OD were derived by equating the line type displaced volume per unit length,
OD
2
/4, to the displaced volume per metre, M/, where M is the rope/wire mass per unit length and is the average
density of the material.
The following average material densities (in te/m
3
) were assumed: Nylon 1.14; Polyester 1.38; Polypropylene
0.91; Wire with fibre core 6.87; Wire with Wire core 7.85. The average material density for the Wire with fibre core
was estimated by assuming a ratio of 6:1 between the wire and fibre volume, with the fibre taken to have the same
density as (fresh) water.
Axial and Bending Stiffness
The Line Type Wizard sets up Axial and Bending Stiffness and Compression is Limited for a Rope/Wire as follows
Axial Stiffness
The expressions for axial stiffness are calculated in different ways for the two groups of fibre ropes and wire ropes.
For Fibre Ropes we use the catalogue data. Load/extension characteristics depend on previous load history,
whether the rope is wet or dry, and the rate of application of the load. To reflect the likely working environment of
the rope we use data associated with ropes that have been tested under the following conditions:
- the rope has been pre-worked loaded to 50% of breaking load and then rested for 24 hours (this causes the
rope to bed down so that its elastic behaviour is more consistent and repeatable)
- subjected to slowly varying loads (for loads varying at wave frequency, stiffness should be about twice the value
shown)
- a wet rope pre-soaked in water (this is most significant for Nylon ropes which suffer a loss in performance
when wet)
- we use figures for the average performance when the mean extension is 10% (by taking the tangent of the
stress-strain curve at 10%).
Incorporating all of the factors indicated above we can produce values of axial stiffness for a range of rope
diameters. Once again using simple statistical techniques we obtain the following expression for axial stiffness of
fibre ropes:
Axial Stiffness = 1.18 x 10
5
D
2
kN (for Nylon ropes).
Axial Stiffness = 1.09 x 10
6
D
2
kN (for Polyester ropes).
Axial Stiffness = 1.06 x 10
6
D
2
kN (for Polypropylene ropes).
Axial stiffness for Wire Ropes is calculated directly, rather than estimated from empirical relationships. We assume
a value for Young's Modulus, for the 6x19 strand group, of:
E = 1.03 x 10
8
kN/m
2
(for Wire ropes with fibre core).
E = 1.13 x 10
8
kN/m
2
(for Wire ropes with wire core).
and work on an assumed metallic area of:
A = 0.455 (D
2
/4) m
2
(for both wire ropes).
System Modelling: Data and Results, Lines
w

374
Both of these quantities have been obtained from the HER Group Marine Equipment & Wire Rope Handbook. Note
that for wire ropes with a wire core the additional axial stiffness is accounted for in the enhanced Young's modulus.
This leads to:
Axial Stiffness = 3.67 x 10
7
D
2
kN (for Wire ropes with fibre core).
Axial Stiffness = 4.04 x 10
7
D
2
kN (for Wire ropes with wire core).
Bending Stiffness
For all rope construction types the bending stiffness offered by the Wizard is zero. For systems where bend stiffness
is a significant factor you should override this value with the true value obtained from the rope supplier.
Compression is Limited
Compression is Limited is set to 'no'.
Stress Diameters and Allowable Stress
These are set to '~' because the entire structure is load bearing. Please note, however, that stress results are not
meaningful for complex structures such as ropes or wires.
Minimum Breaking Loads
The properties window in the line type wizard displays approximate minimum breaking load (MBL) values for
ropes and wires. These may be useful for setting the Allowable Tension data item for the line type.
The MBL values displayed are calculated using the following functional formulae, where D is rope/wire nominal
diameter in metres:
Nylon ropes (dry) 163950.D
2
kN
Nylon ropes (wet) 139357.D
2
kN
Polyester ropes 170466.D
2
kN
Polypropylene ropes 105990.D
2
kN
Wire ropes with fibre core 584175.D
2
kN
Wire ropes with wire core 633358.D
2
kN
These formulae were derived from manufacturer's catalogue data, which consist of minimum (dry) strength against
nominal diameter for each of the five rope/wire constructions. The formulae were derived using least squares
fitting, and they were found to give a good fit to the manufacturer's data, except that they tend to underestimate
MBL for small diameter non-wire ropes.
Note: Nylon ropes lose some strength when wet; the formula given for wet nylon ropes is based on the
manufacturer's statement that they can lose up to 15% of their (dry) strength when wet.
6.8.15 Line with Floats
You can model floats or buoyancy modules attached to a line by using buoyant Clumps attached at the relevant
points. However when a number of floats are supporting a length of line it is often easier to model the buoyancy as if
it were smeared, i.e. spread out evenly, along that part of the line. This allows the length and segmentation of the
buoyed section to be varied easily without having to add and remove individual floats.
To use this smeared properties approach you need to do the following:
- Create a new line type.
- Set the new line type's properties to be equivalent to those of the original pipe+floats. This is done by spreading
each float's buoyancy, drag, etc. uniformly over the length of pipe from Sf/2 before the float centre to Sf/2 after
the float centre, where Sf is the float pitch, i.e. the spacing between float centres (see diagram below). The result
is a uniform circular section line which will experience the same forces per unit length as the original line plus
floats. The line type wizard will automatically set up this equivalent line type for you.
- Set up a line section to model the length of line supported by the floats. The section's line type should be set to
the equivalent line type and its length should be N x Sf, where N is the number of floats and Sf is the float pitch.
Note that this length is a little more than the length between the start of the first float and the end of the last
one, since each float is effectively being smeared equally both ways from its centre; see the diagram below,
which show the situation when N=3.
We describe below how the Line Type Wizard derives the properties of the equivalent line type. Note that this
approach is also suitable for modelling a regularly weighted section of line.
w
System Modelling: Data and Results, Lines
375
Warning: The values generated by the Wizard are based on current best practice, but more specific project
data should be used where this is available.

Figure: Geometry of Line and Floats
We first define the notation to represent the underlying line onto which the floats are to be attached, which we refer
to as the Base Line Type. We then specify the quantities required to represent the floats.
The following properties are all deemed to be unaffected by the addition of floats to the base line and so are set to
have the same values as those of the base line.
- Axial and Bending Stiffness
- Compression is Limited
- Allowable Tension
- Minimum Bend Radius
- Torsional Stiffness
Data
Adding floats to a line to produce extra buoyancy is a common requirement. The Line Type Wizard helps you to
quickly derive such a line type by specifying both the existing underlying base line type, onto which the floats will be
added, and various properties of the floats:
Base Line Type
The line type on which the floats are mounted.
Float Diameter
The outside diameter of each float. It must be greater than the outside diameter of the underlying base line type.
Float Length
The axial length of each float.
Float Pitch
The average distance between the centres of successive floats.
Float Material Density
The density of the material forming the floats, excluding additional items such as fixing material.
Float Hardware Mass
This accounts for the extra mass due to the addition of the floats above that due to the material density and covers
such items as the clamping/fixing mechanisms.
Float Normal Drag Coefficient
The drag coefficient associated with the float for flow normal to the line.
Float Axial Skin Drag Coefficient
The drag coefficient associated with the floats, due to the floats' skin friction, for flow along the axis of the line.
Dp
Df
Sf Sf Sf
Floats
System Modelling: Data and Results, Lines
w

376
Float Axial Form Drag Coefficient
The drag coefficient associated with the float, due to the projected annulus area of the end of the float, for flow along
the axis of the line.
Float Normal Added Mass Coefficient
The added mass coefficient for flow normal to the line.
Float Axial Added Mass Coefficient
The added mass coefficient for flow along the axis of the line.
The Line Type data that are derived, and the associated underlying expressions, are detailed in Modelling Lines with
Floats.
Properties of Base Line Type
For modelling lines with floats the line without floats is referred to as the base line type and the following notation is
used. The line without floats is assumed to be of circular cross section and have the following characteristics:
- ODp outer diameter.
- IDp inner diameter.
- Mp mass per unit length.
- Dnp normal drag diameter.
- Dap axial drag diameter.
- Cdnp drag coefficient in normal flow.
- Cdap drag coefficient in axial flow.
- Canp Added mass coefficient in Normal flow (commonly taken as 1.0 for circular section).
- Caap Added Mass coefficient in Axial flow (commonly taken as zero).
Properties of the Floats
For modelling lines with floats the following notation is used for the floats. The floats are assumed to be short
cylinders fitted co-axially on the line at constant spacing:
Lf length
Df diameter
f float density
Sf float pitch
mfh float hardware mass (e.g. fixing clamps, bolts, etc.)
Cdnf drag coefficient, normal flow
Cdaf1 drag coefficient, axial flow due to form
Cdaf2 drag coefficient, axial flow due to skin friction
Canf added mass coefficients in normal flow
Caaf added mass coefficient in axial flow
With the above information we can calculate the volume occupied by an individual float as:
Vf = /4 (Df
2
- ODp
2
) Lf
which leads to the mass of the float being calculated as follows:
Mf = Vf.f + mfh.
Outer, Inner and Contact Diameter
The Line Type Wizard sets up diameters for a Line with Floats as follows:
Outer Diameter
The Outer Diameter (OD) of the equivalent line is calculated by equating two equivalent expressions for the volume
per unit length of the line:
Vol per unit length = /4.OD
2
(equivalent line)
Vol per unit length (V) = /4.ODp
2
+ Vf /Sf (line with floats)
This leads to:
w
System Modelling: Data and Results, Lines
377
Outer Diameter (OD) = (4V/)


Inner Diameter
The Inner Diameter is unaffected by the addition of floats and so is set to be the same as that of the base line.
Contact Diameter
The Contact Diameter is set to equal the float diameter Df. This allows float clearance to be reported using the Line
Contact Clearance result.
Mass per Unit Length
The line type mass per unit length is calculated by allowing for the fact that there is one float for every Sf length of
the section and hence (1/Sf) floats per unit length, giving:
Mass per unit length = Mp + Mf / Sf
Normal Drag Coefficient
The Line Type Wizard sets up the Normal Drag Coefficient for a Line with Floats as follows:
The drag force per unit length of the equivalent line when flow is normal to the line's axis can be expressed as:
Drag Forcen = v
2
Cdn Dnp
in which the reference drag area per unit length, normal to the flow, is given by the normal drag diameter of the
base line, Dnp, and where is the density of seawater and v is the flow velocity.
We can also express the drag force per unit length experienced by the equivalent line as the sum of the drag forces
experienced by the floats and the drag forces experienced by the part of the line not hidden by the floats:
Drag Forcen = Drag Forcen-FLOATS + Drag Forcen-EXP LINE
= v
2
[Cdnf.Drag Arean-FLOATS + Cdnp.Drag Arean-EXP LINE]
in which the reference drag area for the floats in normal flow is given by:
Drag Arean-FLOATS = Df Lf/Sf
and the reference drag area for the exposed line in normal flow is given by:
Drag Arean-EXP LINE = Dnp (Sf-Lf)/Sf.
Equating the two expressions for drag force leads to:
Cdn = [Cdnf.Drag Arean-FLOATS + Cdnp.Drag Arean-EXP LINE] / Dnp.
If the base line type uses drag which varies with Reynold's number, then a variable data table is created which
specifies the drag variation with Reynold's number for the equivalent line. The formula above is then applied to the
drag coefficients in each row of the table.
Axial Drag Coefficient
The Line Type Wizard sets up the Axial Drag Coefficient for a Line with Floats as follows.
To derive the drag coefficient when flow is axial to the line we adopt a similar approach to that used above for
normal flow.
When considering the equivalent line, with the additional buoyancy smeared along its outer surface, the drag force
per unit length, when flow is axial to the line, is due solely to skin friction and can be expressed as:
Drag Forcea = v
2
Cda (Dap)
in which the reference drag area per unit length is the circumference of the base line (calculated using the axial drag
diameter Dap) and where r is the density of seawater and v is the flow velocity.
As in the case for flow normal to the line, we can also express the drag force per unit length experienced by the
equivalent line as the sum of the drag forces experienced by the floats and the drag forces experienced by the part of
the line not hidden by the floats. However, the drag forces experienced by the floats are slightly more complicated in
axial flow as there will be a drag force due to the exposed annulus on the end of each float and a drag force due to
skin friction.
Drag Forcea = Drag Forcea-FLOATS + Drag Forcea-EXP LINE
= v
2
[Cdaf1.Drag Area1a-FLOATS + Cdaf2.Drag Area2a-FLOATS + Cdap.Drag Areaa-EXP LINE]
in which the reference drag area, due to the annulus, for the floats in axial flow is given by:
Drag Area1a-FLOATS = /4 (Df
2
-ODp
2
)/Sf
the reference drag area, due to the skin, for the floats in axial flow is given by:
Drag Area2a-FLOATS = DfLf/Sf
and the reference drag area, due to the skin, for the exposed line in axial flow is given by:
System Modelling: Data and Results, Lines
w

378
Drag Areaa-EXP LINE = Dap (Sf-Lf)/Sf.
Equating these two expressions leads to:
Cda = [Cdaf1.Drag Area1a-FLOATS + Cdaf2.Drag Area2a-FLOATS + Cdap.Drag Areaa-EXP LINE] / (Dap).
Added Mass Coefficients
The Line Type Wizard sets up Normal and Axial Added Mass Coefficients for a Line with Floats as follows:
Normal Added Mass Coefficient
Added mass coefficients are calculated in a similar way to the drag force coefficients. For flow normal to the axis of
the line the added mass per unit length is given by:
Added Massn = /4 OD
2
Can
in which the reference volume is the volume of the equivalent line and where is the density of seawater.
We can also express the added mass term of the equivalent line as the sum of the added masses due to the floats and
due to the underlying line:
Added Massn = (Canf AMVolFLOATS + Canp AMVolEXP LINE)
in which the reference volume per unit length for the floats (and the portion of line they cover) is given by:
AMVolFLOATS = /4 Df
2
Lf/Sf
and the reference volume per unit length for the exposed part of the line is given by:
AMVolEXP LINE = /4 ODp
2
(Sf-Lf)/Sf
Equating the expressions for added mass leads to:
Can = (Canf AMVolFLOATS + Canp AMVolEXP LINE)/(/4 OD
2
).
Axial Added Mass Coefficient
The added mass coefficients follow in a similar way to above. The reference volumes for the equivalent line and for
the floats and exposed part of the underlying base line are taken to be the same in axial flow as in normal flow.
Hence, we can take the above expression for the added mass coefficient in normal flow and replace the coefficients
for normal flow with those for axial flow:
Caa = (Caaf AMVolFLOATS + Caap AMVolEXP LINE)/(/4 OD
2
).
Stress Diameters and Allowable Stress
The stress diameter and allowable stress are set to be the values used by the base line, since it is the base line which
is load bearing.
6.8.16 Homogeneous Pipe

Figure: Homogeneous Pipe
The Line Type Wizard for Homogeneous Pipe creates data for a General Category Line Type with properties
appropriate to a pipe constructed from a single homogeneous material, for example a metal riser.
N N
O
O
w
System Modelling: Data and Results, Lines
379
Note: If you are modelling a homogeneous pipe then it is normally better to do so using a Homogeneous
Pipe Category Line Type. This allows you to specify material density, Young's modulus etc. directly.
The derived properties are based on the following input data:
material density
E Young's Modulus
Poisson Ratio
OD Outer Diameter
ID Inner Diameter = OD-2t where t is the wall thickness
The properties of the derived equivalent line type are given below.
Mass per Unit Length
Mass per unit length = (/4) (OD
2
- ID
2
) where is the material density specified.
Outer and Inner Diameters
The line type outer and inner diameters are set to the pipe diameters specified by the user.
Axial Stiffness
The line type axial stiffness is given by:
Axial Stiffness = EA
where E is the Young's Modulus and A is the cross sectional area, hence:
Axial Stiffness = E(/4) (OD
2
- ID
2
).
Bending Stiffness
The line type bending stiffness is given by:
Bending Stiffness = EI
where I is the second moment of area, about an axis in the plane of the cross section through the centroid (e.g. NN'),
and leads to:
Bending Stiffness = E(/64) (OD
4
- ID
4
).
Compression is Limited
As the bending stiffness is significant this is set to 'no'.
Torsional Stiffness
The line type torsional stiffness is set as follows. The torque experienced by a pipe of length l when twisted through
an angle is given by:
Torque = (G/l)J
where J is the second moment of area about the axial axis OO' (often called the polar moment of inertia) and G is the
Shear Modulus (sometimes called the modulus of rigidity). For homogeneous pipes J = 2I. The quantity G is related to
the Young's Modulus (E) and Poisson Ratio () of the material through the following relationship:
G = E/{2(1+)}.
The Torsional Stiffness, representing the Torque resisting a twist of 1 radian, per unit length, is therefore given by:
Torsional Stiffness = GJ = E/{2(1+)} (/32) (OD
4
- ID
4
).
Stress Outer and Inner Diameters
The line type stress diameters are set to '~', since they are the same as the pipe diameters.
Stress Loading Factors
These are set to one, the default value, as a simple homogeneous pipe carries all the loads.
Data
The Line Type Wizard helps build a line type to represent a homogeneous pipe, based on the following data:
Material
The Wizard provides 3 standard materials for a homogeneous pipe: Steel; Titanium and High Density
Polyethylene. For these standard materials OrcaFlex automatically sets Material Density, Young's Modulus and
Poisson Ratio.
There is also an option to enter User Specified as the Material. In this case you must set Material Density, Young's
Modulus and Poisson Ratio.
System Modelling: Data and Results, Lines
w

380
Material Density
This is the density of the material used in the construction of the pipe.
Outer Diameter, Wall Thickness
These data specify the geometry of the pipe cross section.
Young's Modulus
The ratio of the tensile stress to the tensile strain.
Poisson Ratio
The amount of lateral strain experienced by a material subjected to tensile strain as a negative proportion of the
tensile strain.
The Line Type data that are derived, and the associated underlying expressions, are detailed in Modelling
Homogeneous Pipes.
6.8.17 Hoses and Umbilicals
The Line Type Wizard estimates typical properties for hoses and umbilicals based on project data.
Warning: The values generated by the Wizard are approximate only and are intended as first estimates for
preliminary use. They are offered in good faith, but due to variations in properties between
products they cannot be guaranteed. Please use suppliers' data where this is available.
There are three categories of hose available:
- High pressure which covers high pressure flexible risers and flowlines of unbonded construction with inside
diameters in the range 2 to 15 inches (50 to 380mm).
- Low pressure which covers low pressure floating hoses of bonded rubber construction with inside diameter
from 2 to 20 inches (50 to 500 mm).
- Fold-flat which covers low pressure, fold-flat hoses with steel reinforcement; inside diameter around 6 inches
(150 mm).
The umbilical properties assume construction with steel wire armour and thermoplastic hoses and outside diameter
up to 250mm.
The properties derived by the Wizard are obtained from empirically estimated relationships with the diameter of
the hose/cable. They have been estimated from a limited amount of data covering only the range of diameters
indicated above. For simplicity, only those relationships of the form:
Y = aX
b
,
where b is an integer, were considered.
In the details below the diameter is assumed to be in metres and the SI units system is applied throughout.
The amount of data available for low pressure hoses and fold-flat hoses is very small.
There is quite a bit more data for high pressure hoses and umbilicals but it is found to have quite a large spread. To
demonstrate this spread, the ratio of the observed value to the fitted value, expressed as a percentage, is calculated
and the largest and smallest of these is given.
The OrcaFlex stress analysis is not applicable to complex structures such as hoses and umbilicals. Any available
stress or wall tension results should therefore be ignored.
Data for Umbilicals
The Line Type Wizard can help build a line type to represent umbilical. Umbilical cables have many applications
including the carrying of electrical communication wires and hydraulic connectors to submersibles. The Line Type
data quantities that the wizard derives have been estimated from a limited amount of project data. The single item
of input is:
Umbilical Diameter
The outer diameter of the umbilical. Each derived line type property is a function of this diameter.
Data for Hoses
The Line Type Wizard helps you build a line type to represent a hose, based on the following data. A limited amount
of available project data has been collated and used to derive purely empirical relationships between the diameter
of types of hose and certain line type data quantities. The input data consists of:
Hose Inner Diameter
Each derived line type property is a function of the hose inner diameter.
w
System Modelling: Data and Results, Lines
381
Hose Type
The Hose Type can be one of high pressure, low pressure or fold-flat. These categories roughly cover the available
project data.
Outer and Inner Diameters
The Line Type Wizard sets up Outer and Inner Diameters for hoses and umbilicals as follows:
Hoses
The inner diameter (ID) is specified by the user and the outer diameter (OD) is a function of the inner diameter:
OD = 1.40 ID m (for High Pressure) [90% 150%],
OD = 1.28 ID m (for Low Pressure),
OD = 1.34 ID m (for Fold-Flat).
Umbilicals
The inner diameter (ID) is set to zero and the outer diameter (OD) is specified by the user.
Mass per unit length
The Line Type Wizard sets up mass for hoses and umbilicals as follows:
Hoses
For each type of hose the mass per metre has been estimated as a function of inner diameter giving:
Mass per metre = 0.7253 ID te/m (for High Pressure) [55% 145%],
Mass per metre = 0.3642 ID te/m (for Low Pressure),
Mass per metre = 0.1844 ID te/m (for Fold-Flat).
Umbilicals
For the umbilicals the mass per metre has been estimated as a function of outer diameter giving:
Mass per metre = 1.8 OD
2
te/m (for Umbilical) [35% 170%].
Axial and Bending Stiffness
The Line Type Wizard sets up Axial and Bending Stiffness and Compression is Limited for hoses and umbilicals as
follows:
Axial Stiffness
For each type of hose the axial stiffness has been estimated as a function of inner diameter giving:
Axial Stiffness = 2.80 x 10
6
ID kN (for High Pressure) [40% 160%],
Axial Stiffness = 3.40 x 10
4
ID kN (for Low Pressure),
Axial Stiffness = 6.56 x 10
3
ID kN (for Fold-Flat).
For the umbilicals the axial stiffness has been estimated as a function of outer diameter giving:
Axial Stiffness = 1.44 x 10
6
OD kN (for Umbilical) [15% 415%].
Bending Stiffness
For each type of hose the bending stiffness has been estimated as a function of inner diameter giving:
Bending Stiffness = 3 x 10
4
ID
4
kN.m
2
(for High Pressure) [45% 300%],
Bending Stiffness = 6 x 10
2
ID
3
kN.m
2
(for Low Pressure),
Bending Stiffness = 1 x 10
3
ID
3
kN.m
2
(for Fold-Flat).
For the umbilicals the bending stiffness has been estimated as a function of outer diameter giving:
Bending Stiffness = 3 x 10
3
OD
3
kN.m
2
(for Umbilical) [55% 240%].
Compression is Limited
As the bending stiffness is significant this is set to 'no'.
6.8.18 Modelling Stress Joints
A tapered stress joint is a riser joint with a tapered cross section. Stress joints are used to spread loads over a
critical section of the riser. Stress joints are typically fabricated from steel or titanium.
Stress joints are modelled in OrcaFlex using profiled line types. To model a stress joints you need to take the
following steps:
System Modelling: Data and Results, Lines
w

382
1. Create a line type with the homogeneous pipe category and set the inner diameter, material data (Young's
modulus, Poisson ratio, material density), hydrodynamic properties etc.
2. Create a Line Type Outer Diameter variable data source which defines the stress joint profile.
3. Set the line type outer diameter to refer to the variable data source of the profile.
4. Set the Line Type data item on the structure page of the line data form to refer to the profiled line type created
above.
Segmentation
OrcaFlex line segments are straight, that is the diameter is constant over the length of the segment. Each segment in
a profile line section has a diameter defined by evaluating the profile data at the mid-point of the segments.
Because of this you typically need to use quite short segments to model the taper accurately. However, note that a
stress joint is usually placed in a region of concentrated stress. Such regions also require short segments for
accurate modelling and so the use of straight segments to model the profile does not in practice turn out to be a
significant limitation.
In order to determine segment length we recommend that you perform sensitivity studies on segment length.
Arc length convention
Profile arc length is defined relative to the start of the line section and increases from End A towards End B. To
illustrate this consider a stress joint defined by the following profile:

Figure: Stress joint profile
A stress joint specified this way would commonly be used in the first section of a line. If, however, your stress joint is
located adjacent to End B of the line, then the End A to End B convention means that the stress joint would be
incorrectly configured. This is easy to check with the profile graph available on the line data form:

Figure: Stress joint profile at End B, incorrectly modelled
The problem is that the taper is now in the wrong direction. The thicker end of the taper should be adjacent to End B
of the line. In order to fix this we simply need to reverse the profile data. This is very simple to do using the Reverse
button on the variable data form. The result looks like this:
w
System Modelling: Data and Results, Lines
383

Figure: Stress joint profile at End B, corrected
The line profile graph when using the reversed profile shows that the data are now applied as intended:

Figure: Stress joint profile at End B, correctly modelled
6.8.19 Modelling Bend Restrictors
We begin by introducing some terminology. A bend restrictor is any device that controls, restricts or limits bending
on a line. A bend limiter is a bend restrictor that has no effect until a certain curvature is reached, and then
curvature is prevented from going above that value. A bend stiffener is a bend restrictor that provides increased
bend stiffness in order to distribute more widely the bending.
Modelling Bend Limiters
Non-linear bend stiffness can be used to model a bend limiter. The approach is to specify a relationship between
curvature and bend moment that has:
- Low stiffness for curvature values lower than the lock-out curvature.
- High stiffness for curvature values greater than the lock-out curvature.
Typically the low stiffness value will be close to zero and the high stiffness value will be one or two orders of
magnitude greater than the stiffness of the protected line. Try to avoid using too large a value since doing so can
result in numerical instability. It may also help to smooth the transition from low to high stiffness.
The most common modelling approach for bend limiters uses a single equivalent line type object to represent both
the protected line and the limiter. The bend stiffness for this equivalent line type must account for both the
protected line and the limiter. You may choose also to account for mass, displacement and hydrodynamic properties
but often these properties are of lesser importance.
An alternative to the equivalent line approach is to model the limiter as a separate object using the bend stiffener
attachment (see below). The main difference from an elastomeric stiffener is that a general category line type with
non-linear bend stiffness must be used for the attachment line type. The main advantage of this approach is that it
becomes easier to check that the data are specified correctly because you can keep the data for the protected line
separate from the data for the limiter.
System Modelling: Data and Results, Lines
w

384
Modelling Bend Stiffeners
Bend stiffeners are modelled in OrcaFlex using two separate lines to represent the stiffener and the line which it
protects, which we refer to as the protected line. The region of the protected line which is covered by the stiffener
is called the protected region.
The two line approach enables reporting of separate results for the protected line and stiffener. In particular this
makes fatigue analysis of the protected line quite simple since the reported loads and stresses for the protected line
do not include the contributions of the stiffener.
The protected line can have linear, non-linear elastic or hysteretic bending properties. The stiffener is modelled as a
profiled homogeneous pipe. The stiffener can have linear or non-linear elastic material properties.
Data
Although the stiffener is modelled as a separate line you do not need to create this line manually OrcaFlex creates
it automatically as an attachment. The procedure for setting up a bend stiffener is as follows:
1. Create a Line Type which defines the material, structural and hydrodynamic properties of the stiffener. Usually
this will be a profiled homogeneous pipe.
2. Create a Stiffener Type which uses this Line Type.
3. Create a line attachment based on this Stiffener Type.
4. Set the line attachment position and the Stiffener Type connection arc length so that the stiffener is attached at
the desired location on the protected line.
If you have multiple protected lines which all use identical bend stiffeners then you can create a single Stiffener
Type which can be re-used on each protected line.
The stiffener profile uses the convention that profile arc length increases from End A towards End B of the stiffener.
If you have a bend stiffener connected at End B of a line then you will need to define the profile so that the arc length
0 refers to the tip of the stiffener. The Modelling Stress Joints topic illustrates this issue in some more detail.
Although the discussion there centres on stress joints many of the points covered are equally applicable to bend
stiffeners.
We strongly recommend that you use the Profile Graph available from the Line Data form to check that the stiffener
is connected at the correct location on the line with the profile defined as you intended.
Segmentation
The stiffener line that OrcaFlex creates is modelled with uniform segment length that is every segment in the
stiffener has the same length. The segment length is determined by the segment length of the protected line in the
protected region.
The stiffener modelling (see below) requires that each node on the stiffener line is associated with a node on the
protected line. Each stiffener node is effectively clamped to its associated protected node.
These constraints have the following implications for the segmentation of the protected line:
1. The protected region must have uniform segment length.
2. The stiffener length must be an exact multiple of the segment length.
One simple way to satisfy these requirements is to model the protected region as a single section with length equal
to the stiffener length.
Note that it is not essential for the protected region to be a single section. The protected region could comprise
multiple sections each using different line types, so long as you satisfy the two rules above.
Drawing and Results
The stiffener line is drawn using the drawing data of the protected line to which it is attached. Note that the stiffener
is not drawn when the program is in reset state; it is only drawn after the static or dynamic analysis has started.
Results are available for the stiffener line exactly as they are for any other OrcaFlex line.
OrcaFlex reports results separately for protected line and stiffener line and this does need some explanation. For
example, consider bend moment at a particular location in the protected line and at the corresponding location in
the stiffener line. Suppose that the bending stiffnesses are EIp and EIs for protected line and stiffener respectively
(we are assuming linear bend stiffness for simplicity). The bend moment carried by the protected line and stiffener
ensemble is given by BMtotal = C(EIp + EIs) where C is the curvature at this location. For the protected line OrcaFlex
reports the local protected line bend moment BMp = C.EIp and likewise for the stiffener line OrcaFlex reports BMs =
C.EIs. It is straightforward to see that BMtotal = BMp + BMs.
w
System Modelling: Data and Results, Lines
385
The total load is also split into separate protected line and stiffener loads for effective tension, wall tension, shear
force, torque and stress results. However, the method for doing this varies for axial components as explained in the
next section.
Modelling details
As mentioned above the stiffener is modelled as a separate OrcaFlex line which is created automatically by OrcaFlex
as an attachment. The stiffener line inherits a number of properties from its protected line, namely:
- Include Torsion.
- Segment length.
- Statics friction data.
- Drag formulation and wake interference data.
- VIV data.
- Drawing data.
- Results data.
The stiffener line does not have any free degrees of freedom. Instead each node on the stiffener is clamped to and
moves and rotates with its associated node on the protected line. The stiffener line calculates its loads and inertia
and then transfers them to the protected line. How this transfer is performed is governed by the Axial load/inertia
transfer data of the Stiffener Type.
All components of load and inertia normal to the stiffener are transferred directly from each stiffener node to its
associated protected node. This, of course, enables the stiffener to perform its job of spreading the bend loads over
the protected region.
If the axial load/inertia transfer is specified to occur at the connection point then components of axial load/inertia
are transferred to the protected node at the connection point. Typically this connection point is at the end of the
protected line and the axial loads and inertia are thus transferred to the protected line's end connection. This
modelling option effectively neglects any axial friction due to contact between stiffener and protected line.
If the axial load/inertia transfer is specified to occur over the stiffener's full length then components of axial
load/inertia are transferred directly from each stiffener node to its associated protected node. This corresponds to
the assumption that the axial contact friction is sufficient that there is no axial slipping. The axial load will be shared
between protected line and stiffener as determined by their relative axial stiffnesses, just as the bend moment is
shared.
Fluid loading
Because the protected line is shielded from the fluid by the stiffener, OrcaFlex suppresses fluid loading on the
protected line. The protected line sees no drag, lift, added mass or fluid inertia loads.
Buoyancy forces are applied to both lines. The protected line has displacement calculated from its buoyancy
diameter in the standard manner. The stiffener line has a displacement determined by its annulus.
Bend Stiffener design using OrcaFlex
The modelling approach described above applies where a bend stiffener has already been designed, and one of the
objectives of the analysis is to confirm that the stiffener provides the required protection. However, in many cases
the stiffener design does not yet exist and the analysis is needed in order to define design loads. If this is the case,
then run a preliminary analysis with no bend stiffener included. The line should be modelled with a pinned end (i.e.
zero bending stiffness at the line end connection).
The load information required for bend stiffener design then consists of paired values of force and angle at the
pinned end. These can be extracted in the form of an X-Y graph showing End Force against End Force Ez-Angle for
the first segment. In practice, it is often sufficient to consider just three points on this graph, corresponding to
maximum tension, maximum angle and maximum bend restrictor load: these can be extracted as linked statistics.
Recall that End Force Ez-Angle is an absolute magnitude and therefore always takes a positive value. If a signed
value is required (e.g. to define out-to-out load cycles for fatigue analysis), then use the End Force Ezx or End Force
Ezy Angle as appropriate.
It is usually necessary to combine results from several analysis runs in order to fully define the bend stiffener design
loading. This is most conveniently done by exporting the End Force vs End Force Ez Angle results as a table of values
for each analysis case, combining into a single Excel spreadsheet and using the plotting facilities in Excel to generate
a single plot with all results superimposed. A simplified set of load cases representing the overall loading envelope
can then be selected for use in stiffener design. The export to Excel can be done manually or automated through the
Results spreadsheet.
System Modelling: Data and Results, Lines
w

386
Bend Stiffener design using OrcaBend
The task of bend stiffener design is usually left to the manufacturer, since the actual stiffener shape selected is
governed in part by the manufacturing process, availability of tooling, etc., as well as by the load cases. The Orcina
program OrcaBend has been developed to assist this process. For further information contact Orcina.
6.8.20 Modelling non-linear homogeneous pipes
A non-linear stress-strain relationship is most commonly used to model either:
- non-linear behaviour of elastomeric bend stiffeners, or
- plastic deformation of steel pipes during installation.
OrcaFlex can also model non-linear bend stiffness for General Category Line Types. However there are a number of
advantages of using the homogeneous pipe approach if it is applicable:
- The data are entered directly and there is no need to use the Line Type Wizard for Homogeneous Pipe or the
Plasticity Wizard which makes data checking simpler.
- The effects of a diameter profile and a non-linear material (e.g. bend stiffener) are handled automatically by the
program.
- The effects of direct tensile strain variation are again handled automatically by the program (see below).
- Stress results are derived using the stress-strain relationship.
On the other hand if you wish to model hysteretic bending behaviour then you must use the General Category Line
Types approach.
Data
Stress-Strain Relationship variable data sources are used to define non-linear elastic material properties for
homogeneous pipes.
Stress-Strain relationship
The relationship between stress and strain can be specified by either Ramberg-Osgood curve or Stress-Strain
table.
Material E, Reference Stress (y), K, n (Ramberg-Osgood curve only)
These data define the relationship between stress () and strain () in terms of a Ramberg-Osgood curve as follows:
() = /E + K(/y)
n
for 0.
() = -(-) for < 0.
The reference stress parameter is usually taken to be the yield stress, which is why it is denoted y here.
Note that there is an alternative parameterisation of the Ramberg-Osgood equation. It is straightforward to convert
between the two forms of the equation but please take care to ensure that the data you input correspond to the
parameterisation used by OrcaFlex.
Stress, Strain (Stress-Strain table only)
This table directly specifies the relationship between stress and strain. Values for positive strain must be entered
and the relationship for negative strain is then determined by reflection so that () = -(-). The table is
interpolated linearly and for values of strain outside the table linear extrapolation will be used.
Model building
OrcaFlex uses the stress-strain relationship to generate a table of bend moment against curvature using the same
algorithm as the Plasticity Wizard. Each segment in the OrcaFlex model uses a distinct bend moment / curvature
table which is clearly necessary if the line type has a diameter profile.
The use of distinct bend moment / curvature tables also allows OrcaFlex to account for the variation of direct tensile
strain within a line. The bend moment / curvature relationship depends upon:
- The stress-strain relationship (as described above).
- The inner and outer diameter (as specified in the Line Type data).
- The direct tensile strain.
The direct tensile strain can have a significant effect on the non-linear bending behaviour if it is large. To see why
this is so consider a steel pipe under tension such that the direct tensile strain equals the yield strain. When the pipe
is in this state then any small amount of curvature will yield the pipe outer fibres. On the other hand consider an
unstressed steel pipe, where the direct tensile strain is zero. In this state the pipe can withstand significant
curvature before the outer fibres yield.
w
System Modelling: Data and Results, Lines
387
In principle the bend moment / curvature relationship could be recalculated at each time step of an OrcaFlex
calculation. However this would incur a significant performance cost. Instead we make the assumption that the
effect of dynamic variation of direct tensile strain on the bend moment / curvature relationship is small.
This allows us to use a constant value of direct tensile strain for the purpose of deriving the bend moment /
curvature relationship. Note that each segment in the model has a distinct bend moment / curvature relationship
based on a distinct value of direct tensile strain. By "constant" we mean that we do not update the bend moment /
curvature relationship during the dynamic simulation. Note also that this discussion of direct tensile strain only
pertains to the generation of bend moment / curvature relationships. The program does, of course, account for
dynamic variation of direct tensile strain when calculating wall tension, effective tension etc.
The program chooses the value of direct tensile strain by first performing a static calculation under the assumption
that direct tensile strain is 0. Non-linear bend moment / curvature relationships are created for each segment under
this assumption. The direct tensile strain values from this initial static solution are then used to update the non-
linear bend moment / curvature relationships. Finally the static calculation is repeated to obtain a solution which
accounts for the effects of direct tensile strain.
Stress results
The non-linear stress-strain relationship is also used to calculate certain stress results from strain values. Non-
linear stress-strain leads to a non-linear elastic bend stiffness, but the axial and torsional stiffnesses are still
assumed to be linear. This means that the only stress results affected are those that depend on bending: Max
Bending Stress, von Mises Stress, Max von Mises Stress and ZZ Stress.
6.8.21 Line Ends
Lines in OrcaFlex run from End A to End B. Travelling from A to B, the orientation of any segment in the line is
defined in terms of Azimuth and Declination angles, relative to global axes. Azimuth is measured in the X-Y plane,
Declination is measured downwards from the Z axis. See No-Moment Direction.
No-moment Direction
Associated with each end is a stiffness, and a no-moment direction which is described in terms of azimuth and
declination. This too uses the End A to End B convention, so if we hang up a catenary of line, and then freeze the
ends, the no-moment directions are as shown below:

Figure: Directions
x
z
y
Declination
Angle
Azimuth
Angle
No moment direction
( Az = 0, Dec = 160 )
No moment direction
( Az = 0, Dec = 45 )
End A
End B
System Modelling: Data and Results, Lines
w

388
If the line end is attached to a body which can move (a Vessel or Buoy), then the no-moment direction is defined
relative to the body axes and therefore moves with the body. Otherwise, it is defined in global axes.
End Stiffness
The stiffness associated with the end can be used to represent an item such as a flexjoint, whose stiffness is in units
of moment per unit angle, e.g. kN.m/degree. More commonly, the line end is either free to rotate or fully restrained.
In the first case, the end stiffness is set to zero; in the second case, the end stiffness is set to Infinity. Note that it is
never necessary (or correct) to 'convert' the line stiffness into an end stiffness: the program includes the line
stiffness for you automatically.
Free-to-rotate or Fully-restrained Ends
In many practical cases, the line ends are neither completely free nor fully restrained. Nevertheless, we recommend
that you should usually choose one of these conditions. When should you use one rather than the other? The
following notes offer a brief guide:
1. Many systems modelled using OrcaFlex consist of relatively long flexible lines where bend stiffness plays only a
minor role in determining the overall forces on and movements of the system. In such systems, line ends may
safely be modelled as free-to-rotate.
2. An exception to this rule is systems which include one or more 6D buoys. The rotational motions of the buoy
may then be influenced by moment transfer from the ends of lines attached to it, particularly where buoy
rotational inertias are small. In such cases, the end connections to the buoy should be fully restrained.
3. A further exception is systems where the flexible lines are relatively short and stiff, e.g. a large diameter under-
buoy hose in shallow water. Bend stiffness, including end moments, may have a significant influence on overall
system behaviour in such cases, and the end connections should be fully restrained.
4. Where fully restrained ends are used, it is necessary to pay more attention to the modelling of the line close to
the end. In particular make allowance for the additional stiffness of a bend stiffener, if one is fitted and use
shorter segments near the line ends so as to represent the moments with sufficient accuracy.
5. Roll-on/roll-off contact (e.g. stern rollers, pipelay stingers, mid-water arches for riser systems). A pinned
connection at the average contact point is often sufficient. For a more exact representation, use one or more
solids to represent the supporting surface, but remember that there must be sufficient nodes at the line end to
interact with the solid.
End Force and End Force Ez-Angle
The figure below shows the end connection of a flexible line fitted with a bend stiffener. The line applies a load
(tension) T as shown. If the local loads (weight, drag, etc.) on the end part of the line, including the bend stiffener,
are small by comparison with T, then the reaction force F is equal and opposite to T, and the bend moment at the
end fitting is M = T.h.
OrcaFlex reports the End Force, F, and the End Force Ez-Angle, , as shown. The "No moment direction" is defined in
the input data. When the reaction force F acts in the no-moment direction, then the reaction moment M is zero.
It is clear from this that
1. End Force and End Force Ez-Angle are the same whether the end condition is defined as free-to-rotate, fully
restrained, or some intermediate condition;
2. The bend moment at the end fitting, M, is a function of the lever arm, h, which depends not only on the end
condition but also on the bend stiffness distribution in the line/bend stiffener.
w
System Modelling: Data and Results, Lines
389

Figure: End connection of a flexible line fitted with a Bend Stiffener
Design Loads for End Fittings
For design of end fittings, including bend restrictors, the principal parameters provided by OrcaFlex are End Force
and End Force Ez-Angle. The moment at the end can then be determined by a local (static) analysis which can be
developed to incorporate as much detail as required.
This approach is usually sufficient, except where End Force is very small. This occurs when the line tension T comes
close to zero. The direction of the end force is then no longer dominated by the line tension, and other loads (shear,
local drag and inertia loads etc.) which are usually negligible become important. In these conditions, the reported
End Force Ez-Angle is misleading and a more appropriate estimate should be made from the system geometry. This
can be done using the Ez-Angle results variable. Ez-Angle for any segment gives the angle of that segment relative to
the No Moment Direction at the adjacent line end, including allowance for the motion of line end where the line is
attached to a vessel or buoy. Ez-Angle for a point near the end of the bend restrictor is a reasonable alternative
where End Force Ez-Angle is not suitable.
Results
When examining results at line ends note that if a stiff pipe goes into compression, line tension becomes negative
but End Force remains positive, and End Force Ez-Angle may approach 180.
Curvature is calculated in OrcaFlex by dividing the angle change at any node by the sum of the half-segment lengths
on each side of the node: bend moment is curvature multiplied by bend stiffness. At the end, OrcaFlex takes the
angle change between the end segment of the line and the no-moment direction, and reports the corresponding
curvature and bend moment based on the half length of the end segment. Where bend stiffness at the line end is
zero (pinned end or a zero stiffness line), curvature and bend moment are reported as zero.
Design Data for Bend Restrictors
We classify bend restrictors into 3 types:
- Bellmouths: curved surfaces which support the flexible and maintain acceptable curvature.
- Bend Limiters: articulated devices which rotate freely to a specified curvature, then stop.
- Bend Stiffeners: elastomeric devices which provide a tapered additional bend stiffness.
Different design information is required for each type:
Bellmouth
The principal design requirement is that bellmouth angle should be greater than the maximum value of End Force
Ez-Angle. For cases where the bellmouth is not radially symmetrical, OrcaFlex reports components of End Force
Angle in the local XZ and YZ planes. End Force Ezx-Angle is the component in the local xz plane; End Force Ezy-Angle
is the component in the local yz plane.
No moment direction
h
T
F
M
u
System Modelling: Data and Results, Lines
w

390
Bend Limiter
There are two design requirements:
1. The limiter length must be not less than a*R where a is End Force Ez-Angle and R is the limiter locking radius.
2. The limiter must be capable of withstanding the maximum bend moment M given by M = R*F*(1-cos(a)) where
F, a are simultaneous values of End Force and End Force Ez-Angle. OrcaFlex reports Bend Restrictor Load P =
F*(1-cos(a)) as an aid to bend limiter design. P is sometimes called "pseudo-curvature".
Bend Stiffener
The design process for a stiffener is more complex than for a bellmouth or a bend limiter, and the critical design load
cases are not always self-evident. An X-Y graph of F against a (End Force against End Force-Ez Angle) provides a
complete definition of the loading for one analysis case, with each (F,a) pair defining a load case. The bend stiffener
should be designed to prevent infringement of the permitted curvature for any (F,a) pair. In practice, it is often
sufficient to consider just the three (F,a) pairs corresponding to maximum values of End Force F, End Force Ez-
Angle a and Bend Restrictor Load P.
Once the stiffener design is known the stiffener can be modelled using a bend stiffener attachment.
6.8.22 Modelling Compression in Flexibles
When a flexible line experiences compression, it responds by deflecting transversely: the magnitude of the
deflection is controlled by bend stiffness. Under static conditions, the behaviour of an initially straight section of line
under pure axial loading is described by classic Euler buckling theory. This defines the maximum compressive load
the "Euler load" which a particular length of line can withstand before transverse deflection occurs. The Euler load
is a function of the length of the straight section, the bend stiffness and the end conditions. For a simple stick of
length L, bend stiffness EI, with pin joints at each end, the Euler load is
2
EI/L
2
. The Euler load is derived from a
stability analysis: it tells us the value of axial load at which transverse deflection will occur but nothing about the
post-buckling behaviour.
Under dynamic loading conditions, the transverse deflection is resisted by a combination of inertia and bending.
OrcaFlex is fully capable of modelling this behaviour provided the discretisation of the model is sufficient, i.e.
provided the segments are short enough to model the deflected shape properly. Another way of saying the same
thing is that the compressive load in any segment of the line should never exceed the Euler load for the segment.
Why are these two statements equivalent? Imagine the real line replaced by a series of rigid sticks connected by
rotational springs at the joints this is essentially how OrcaFlex models the line. Under compression, the line
deflects: the sticks remain straight and the joints rotate. Provided the wavelength of the deflection is longer than the
length of the individual sticks then the rigid stick model can approximate it: shorter sticks give a better
approximation.
If the compressive load reaches the Euler load for an individual stick, then the real line which the stick represents
will start to deform at a shorter wavelength, and deflections within the stick length become significant. Clearly, this
stick model is no longer adequate. By replacing each long stick by several short ones, we can make the Euler load for
each stick greater than the applied compressive load. Each stick will then remain straight, but we now have more
sticks with which to model the deflected shape.
This gives us a convenient way of checking the adequacy of our model: provided the compressive load in each
segment always remains less than the Euler load for that segment, then we can have confidence that the behaviour
of the line in compression is adequately modelled. OrcaFlex makes this comparison automatically for all segments
and reports any infringements in the Statistics tables. The segment Euler load is also plotted in tension range graphs
(as a negative value compression is negative) so that infringements are clearly visible.
If the segment Euler load is infringed during a simulation, then we have to decide what to do about it. If
infringement occurs only during the build-up period, perhaps as a result of a starting transient, then we can safely
ignore it. If it occurs during the main part of the simulation, then we should examine the time histories of tension in
the affected areas. Where infringements are severe and repeated or of long duration the analysis should be repeated
with shorter segments in the affected area. However it may be acceptable to disregard occasional minor
infringements of short duration on the following grounds:
- Transverse deflection caused by compression takes some time to occur because of inertia.
- The segment Euler load used in OrcaFlex as a basis for comparison is the lowest of the various alternatives, and
assumes pinned joints with no bend stiffness at each end of the segment. This is a conservative assumption.
- Whether or not to disregard an infringement is a decision which can only be taken by the analyst in the context
of the task in hand.
w
System Modelling: Data and Results, 6D Buoys
391
Limit Compression
For each line type, the data includes a Compression is Limited option.
The usual setting is "No". This means that each segment of this line type is treated as a strut capable of taking
whatever compressive loads arise in the course of the simulation.
For some special cases, such as chains with small bend stiffness, this is not the most useful model and OrcaFlex
offers an alternative. Lines of this sort cannot take compression at all, so the Compression is Limited option can be set
to "Yes". OrcaFlex then does not allow compressive loading greater than the segment Euler load (which is zero if the
bend stiffness is zero).
Note: In either case, if the segment Euler load is reached then a Warning is given on the result form and
in the statistics table.
6.9 6D BUOYS
6D Buoys are objects having all six degrees of freedom 3 translational (X, Y, Z) and 3 rotational (Rotation 1, 2, 3).
Buoys have both mass and moments of inertia, and forces and moments from many different effects can be
modelled, including:
- Weight and inertial loads.
- Buoyancy, added mass, damping and drag. For a surface-piercing buoy these fluid loads take account of the
proportion of the buoy that is below the water surface.
- Slam forces as the buoy passes through the sea surface.
- Connection loads from objects attached to the buoy (e.g. lines, links or winches).
- Wing loads. A wing is a rectangular surface attached to the buoy at a specified position and orientation, which
experiences lift and drag forces, and a moment, due to the relative flow of the sea past the wing. If the wing
pierces the surface then the wing loads are scaled by the proportion of the wing area that is below the surface.
- Applied loads. These can be used to model thrusters.
- Contact loads from the vertices of the buoy contacting the seabed or elastic solids, including friction modelling.
Lines attached to a 6D Buoy can thus experience both moment effects and translations as the buoy rotates. Lines can
be attached to an offset position on a buoy this allows the direct study of line clashing, including the separation
introduced by spaced attachment points.
Three types of 6D Buoy are available: Lumped Buoys, Spar Buoys and Towed Fish. These 3 types share some
common data, but they differ in how the geometry of the buoy is defined and how the fluid loads and surface-
piercing effects are calculated see below.
Lumped Buoys
The first type, Lumped Buoys, are specified without reference to a specific geometry. This necessarily restricts the
accuracy with which interactions with the water surface are modelled. Where a lumped buoy pierces the surface it is
treated for buoyancy purposes as a simple vertical stick element with a length equal to the specified height of the
buoy, and buoyancy therefore changes linearly with vertical position without regard to orientation. This model does
not provide the rotational stiffness that would be experienced by most surface piercing buoys. See Lumped Buoy
Properties for further details.
Spar Buoys
The second type, called Spar Buoys, are intended for modelling axi-symmetric buoys whose axis is normally
vertical, particularly where surface-piercing effects are important (such as for a CALM buoy).
Spar Buoys are modelled as a series of co-axial cylinders mounted end to end along the local z-axis (see Spar Buoy
and Towed Fish Properties). This allows you to provide some information about the buoy geometry, by specifying
the number of cylinders and their lengths and diameters. A conical or spherical shape can be approximated as a
series of short cylinders of gradually increasing or diminishing diameter.
Spar Buoys model surface-piercing effects in a much more sophisticated way than Lumped buoys. Effects such as
heave stiffness and righting moments in pitch and roll are determined by calculating the intersection of the water
surface with each of the cylinders making up the buoy, allowing for the instantaneous position and orientation of
each cylinder in the wave. Slam forces are also calculated and applied separately for each cylinder.
Hydrodynamic loads on Spar Buoys are calculated using Morison's equation. Added mass and drag forces are
applied only to those parts of the buoy which are in the water at the time for which the force is calculated. For partly
immersed cylinders, added mass and drag are scaled according to the proportion of the cylinder volume that is
System Modelling: Data and Results, 6D Buoys
w

392
submerged. The use of Morison's equation implies that the buoy diameter is small compared to the wavelength
(usually the case for CALM buoys and the like) but means that some load terms are not represented.
Towed Fish
The third type, called Towed Fish, are intended for modelling bodies, such as towed fish, whose principal axis is
normally horizontal. Towed Fish buoys are identical to Spar Buoys except that the stack of cylinders representing
the buoy is laid out along the x-axis of the buoy, rather than along the z-axis.
Because they are modelled as a stack of concentric cylinders, Spar Buoys and Towed Fish are less suitable for fully-
submerged objects with more complex geometry.
For further details see Spar Buoy and Towed Fish Properties.
6.9.1 Wings
6D buoys can have a number of wings attached; these are useful for representing lift surfaces, diverters etc. Each
wing has its own data and results available.
A wing is a rectangular surface, attached to the buoy at a specified position and orientation, which experiences lift
force, drag force and drag moment, due to the relative flow of fluid past the wing. These loads depend on user-
specified coefficients that depend on the incidence angle of the relative fluid flow.
The fluid referred to here can be the sea, the air, or both, as follows.
- Whenever the wing is completely below the instantaneous water surface, then the lift and drag loads are
calculated using the sea density, velocity and incidence angle.
- Whenever the wing is completely above the water surface, and if you have selected to include wind loads on
wings (on the Wind page on the Environment data form), then instead air lift and drag loads are calculated and
applied, using the same formulae and coefficients, but using the air density, velocity and incidence angle.
- When the wing is partially submerged, OrcaFlex calculates what proportion of the wing rectangle area is below
the instantaneous water surface, i.e. its 'proportion wet' PW. OrcaFlex then calculates the water lift and drag
loads as if the wing was fully submerged, but then scales them by PW before they are applied. In addition, if you
have selected to include wind loads on wings, then OrcaFlex also calculates the air lift and drag loads (as if the
wing was not submerged) and scales them by 1-PW, i.e. the 'proportion dry', before they are applied. When this
happens, therefore, both water and air lift and drag loads are applied, each appropriately scaled. The wing lift,
drag and moment results then report the water loads whenever the wing is more than half submerged and the
air loads whenever it is less than half submerged.
Note: The true effects of a wing breaking surface, for instance planing and slamming, are much more
complex than this and are not modelled for wings. However slam loads on the 6D buoy itself can be
modelled see Slam Force Theory.
Wings do not have any mass, added mass or buoyancy associated with them. Therefore any mass, added mass or
buoyancy due to wings should be added into the properties specified for the buoy itself.
The drag force on a wing is the force applied in the direction of relative flow. The lift force is the force at 90 to that
direction. The moment represents the moment (about the wing centre) that arises due to the fact that the centre of
pressure may not be at the wing centre. These loads are applied at the wing centre and are specified by giving lift,
drag and moment coefficients as a function of the incidence angle between the relative velocity vector (flow
velocity relative to wing) and the wing plane.
w
System Modelling: Data and Results, 6D Buoys
393

Figure: Wing Model
Each wing has its own set of local wing axes, with origin W at the wing centre and axes Wx, Wy and Wz.
- Wy is normal to the wing surface and points towards the positive side of the wing, i.e. the side towards which
positive lift forces act.
- Wx and Wz are in the plane of the wing. The wing is therefore a rectangle in the Wxz plane, centred on W.
- Wz is the principal axis of the wing. It is the axis about which the wing can easily be pitched, by adjusting the
wing gamma angle.
- Wx is in the plane of the wing, normal to the axis Wz, so that (Wx,Wy,Wz) form a right-hand triad.
- We normally choose Wz and Wx so that Wx is towards the leading edge of the wing. With this arrangement,
increasing the wing gamma angle moves the leading edge in the direction of positive lift.
We refer to the wing's length in the Wz direction as its span and its width in the Wx direction as its chord.
6.9.2 Common Data
All types of 6D Buoy use a local buoy axes coordinate system. The origin of the buoy axes can any point chosen by
the user, but the buoy axes directions should be in the directions of the principal axes of structural inertia of the
buoy see Mass Moments of Inertia below.
Name
Used to refer to the 6D Buoy.
Type
Three types of buoy are available: Lumped Buoys, Spar Buoys and Towed Fish. The following data items are
common to all types.
Disturbance Vessel
Determines whether the 6D Buoy will experience sea state disturbance generated by a particular vessel.
Connection
A 6D Buoy can either be Free, Fixed or connected to a Vessel, 6D Buoy or a Line (provided that line includes
torsion).
- If the buoy is Free then it is free to move in response to wave loads, attached lines etc. In this case the buoy's
Initial Position and Attitude are specified relative to global axes.
- If the buoy is Fixed then it cannot move. Its Initial Position and Attitude are specified relative to global axes.
Wy
Wx
Span
Chord
Wz Principal
Wing Axis
Flow Velocity V
(relative to wing)
o
+ve lift
-ve lift
W
Leading
edge
System Modelling: Data and Results, 6D Buoys
w

394
- If the buoy is connected to a Vessel, 6D Buoy or a Line, then it is rigidly connected to that object and so moves
and rotates with it. All resulting forces and moments on the buoy are transmitted to the object. In this case the
buoy's Initial Position and Attitude are specified relative to the object to which it is connected.
Initial Position and Attitude
Specifies the initial position of the buoy origin and the buoy initial orientation.
If the buoy is Free or Fixed then its initial position is specified by giving the X, Y and Z coordinates of the buoy
origin B, relative to the global axes. And its initial orientation is specified by giving 3 angles Rotation 1, Rotation 2,
Rotation 3, which are successive rotations that define the orientation of the buoy axes Bxyz, relative to global axes,
as follows. First align the buoy with global axes, so that Bxyz are in the same directions as GXYZ. Then apply
Rotation 1 about Bx (=GX), followed by Rotation 2 about the new By direction, and finally Rotation 3 about the new
(and final) Bz direction.
If a Free buoy is not included in the static analysis then this initial position is taken to be the static position of the
buoy. If the buoy is included in the static analysis, then this initial position is used as an initial estimate of the buoy
position and the static analysis will move and rotate the buoy from this position until an equilibrium position is
found. See Degrees of Freedom Included in Static Analysis.
If the buoy is connected to a Line, then the Initial Position and Attitude specify where on the line it is connected, and
with what orientation, as follows:
- The Initial Position z-coordinate specifies the arc length at which the buoy should be connected to the line. The
buoy will be connected to the nearest node to that arc length. This arc length may be measured relative to either
End A or End B as specified by the user.
- The buoy will be connected to that node, but with an offset relative to that node's axes that is given by (x, y, 0).
- The buoy orientation relative to the node axes is specified by the Initial Attitude angles.
Degrees of Freedom Included in Static Analysis
Determines which degrees of freedom are calculated by the static analysis. This data item only applies to Free buoys
and it can be set to one of:
- None: the buoy position and orientation are not calculated by the static analysis they are simply set to the
initial position and orientation specified on the buoy data form.
- X,Y,Z: the buoy position is calculated by the static analysis, but its orientation is simply set to the initial
orientation set on the buoy data form.
- All: the buoy position and orientation are calculated by the static analysis.
Normally this data item should be set to All so that the static analysis calculates the true equilibrium position and
orientation of the buoy. However it is sometimes useful to fix the buoy position or orientation, for example if the
static analysis is unable to find the equilibrium position or orientation.
Mass
Mass or weight in air.
Mass Moments of Inertia
The solid moments of inertia of the buoy, about the local x, y and z buoy axes directions through its centre of mass.
Note: These moments of inertia are the diagonal terms in the structural inertia matrix about the
specified centre of mass. The off-diagonal terms are taken to be zero, so the buoy axes should be
chosen to be in the principal directions of inertia about the centre of mass (or at least be close to
those directions).
Damping relative to
You can choose whether the buoy velocity used with the damping data that you specify (see lumped buoy data or
spar buoy or towed fish data) should be the buoy velocity relative to earth, or the buoy velocity relative to the fluid.
To model wave radiation damping the velocity relative to earth should be used, whereas to model skin friction
damping the velocity relative to the fluid should be used.
Centre of Mass
The centre of mass of the buoy, relative to the buoy origin. The weight force, mass and moments of inertia are
applied at this point.
Bulk Modulus
Specifies the compressibility of the buoy. If the buoy is not significantly compressible, then the Bulk Modulus can be
set to Infinity, which means 'incompressible'. See Buoyancy Variation for details.
w
System Modelling: Data and Results, 6D Buoys
395
Contact
Total Contact Area
This is used to determine contact forces when the buoy comes in to contact with the seabed and with elastic solids.
If a value of '~' is specified then OrcaFlex calculates a default value for total contact area based on the buoy
geometry. See Contact Forces for details.
Specifying a value of zero allows you to disable contact for the buoy.
Seabed Friction Coefficient
OrcaFlex can model Coulomb friction between the buoy and the seabed and elastic solids. The friction force applied
never exceeds R where R is the contact reaction force and is the friction coefficient.
Note: The friction coefficient for contact with elastic solids is specified on the Solid Friction Coefficients
data form.
See Friction Theory for further details of the friction model used.
6.9.3 Applied Loads
You can apply to the buoy external Global Loads that do not rotate if the buoy rotates. These are specified by giving
the components of Applied Force and Applied Moment relative to global axes. These components can be constant,
vary with simulation time or be given by an external function. If the buoy rotates then the loads do not rotate with it.
In addition, you can specify external Local Loads that do rotate with the buoy. These are specified by giving the
components of Applied Force and Applied Moment relative to buoy axes. Again these components can be constant,
vary with simulation time or be given by an external function. If the buoy rotates then the loads do rotate with it.
These are suitable for modelling thrusters, for example.
In both cases the Point of Application of the load is specified by giving its x,y,z coordinates relative to buoy axes.
6.9.4 Wing Data
6D buoys can have a number of wings attached, each having its own data and type.
Name
Used to refer to the wing.
Span
The length of the wing, in the local Wz direction.
Chord
The width of the wing, in the local Wx direction.
Centre of Wing
The position of the wing origin, relative to buoy axes. The wing is drawn as a simple rectangle centred on this origin,
the rectangle's dimensions being the specified Chord and Span.
Note that this origin is the point at which the relative velocity is calculated and at which the resulting wing lift and
drag forces are applied. It should therefore normally be at the centre of pressure, which may not be at the centre of
area (even though OrcaFlex draws the wing as being centred at this point).
Orientation
The orientation of the wing is specified by giving 3 angles azimuth, declination and gamma relative to the buoy
axes. The angles can be fixed, or can vary with simulation time, or can vary and be given by an external function.
The angles define the orientation of the local wing axes relative to the buoy axes as follows:
- Start with the wing axes Wxyz aligned with the buoy axes Bxyz and then rotate Wxyz about Bz by the azimuth
angle. This leaves Wz aligned with Bz but Wx now points in the direction towards which the declination is to be
made.
- Now rotate by the declination angle about the new direction of Wy. This declines Wz down into its final
direction, i.e. Wz now points along the direction whose azimuth and declination angles are as specified.
- Finally rotate by the gamma angle about this final Wz direction. This is a rotation about the principal wing axis,
so it allows you to adjust the pitch of the wing.
For each of these rotations, positive angles mean clockwise rotation and negative angles mean anti-clockwise
rotation, when looked at along the axis of rotation.
When setting these orientation angles, it is easiest to first set the azimuth and declination values to give the desired
Wz-direction. This is the direction of the axis about which the wing pitch is set. Then set gamma to give the correct
pitch of the wing. This process is best done with the Draw Local Axes option set on (see the View menu or the
System Modelling: Data and Results, 6D Buoys
w

396
Tools | Preferences menu) since the wing axes are then visible on the 3D view and you can check that the resulting
orientation is correct.
Wing Type
Determines the properties of the wing. You can define a number of wing types click the "Wing Types" button to
access the wing types data form.
6.9.5 Wing Type Data
6D buoys can have a number of wings attached, each having its own data and type.
Name
Used to refer to the wing type.
Wing Type Properties
The properties of each wing type are specified by giving a table of lift, drag and moment coefficients as a function of
the incidence angle of the flow relative to the wing.
A 'Graph' button is provided, which displays a graph of the 3 coefficients so that you can visually check your data.
Incidence Angle
The incidence angle is the angle, , that the relative flow vector makes to the wing surface. This equals 90 minus the
angle between Wy and the relative flow vector.
The incidence angle is always in the range -90 to +90, where positive values mean that the flow is towards the
positive side of the wing (i.e. hitting the negative side) and negative values mean that the flow is towards the
negative side of the wing (i.e. hitting the positive side).
The incidence angles in the table must be given in strictly increasing order and the table must cover the full range of
incidence angles, so the first and last angle in the table are set to -90 and +90 and cannot be changed. Linear
interpolation is used to obtain coefficients over the continuous range of angles.
Note: The wing lift, drag and moment are assumed to depend only on the incidence angle, not on the
angle of attack in the wing plane. OrcaFlex will therefore use the same lift, drag and moment
coefficients for flow (with the same incidence angle) onto the front, the side or the back of the wing,
even though your data may only apply over a limited range of in-plane attack angles. You can
check that the angle of attack in the wing plane stays within the range of your data by examining
the Beta angle result variable.
Lift, Drag and Moment Coefficients
These define the hydrodynamic and aerodynamic loads applied to the wing. Aerodynamic loads are only applied if
the Include wind loads on 6D Buoy Wings option is enabled in the Environment data.
The lift coefficient Cl() defines the lift force applied to the wing, as a function of incidence angle . The lift
coefficients can be positive or negative and the lift force is given by:
Lift Force = P .Cl()..A.V
2

where
P is the proportion wet or proportion dry as appropriate.
is the fluid density,
A is the area of wing that is inside the fluid and
V is the relative flow velocity at the wing centre.
The lift force is applied at the wing centre, along the line that is at 90 to the relative flow vector and in the plane of
that vector and Wy. For = 90 this line is ill-defined and the lift coefficient must be zero. Positive lift coefficients
mean lift pushing the wing towards its positive side (the +ve Wy side).
The drag force is defined by the drag coefficient Cd() using the formula:
Drag Force = P .Cd()..A.V
2

The drag coefficient cannot be negative, so the drag force is always in the relative flow direction.
The moment coefficient Cm() defines a moment that is applied to the wing. This moment represents the fact that
the position of the centre of pressure may depend on the incidence angle .
The moment coefficients can be positive or negative and the moment is given by:
Moment = P .Cm()..A.V
2
.Chord
This moment is applied about the line that is in the wing plane and is at 90 to the relative flow vector. For = 90
this line is ill-defined and the moment coefficient must be zero. Positive moment coefficients mean that the moment
w
System Modelling: Data and Results, 6D Buoys
397
is trying to turn the wing to bring Wy to point along the relative flow direction. Negative moment coefficients mean
the moment tries to turn the wing the opposite way.
Pen
This controls which pen is used to draw a Wing which uses this Wing Type. If it is set to Use Buoy's pen then the 6D
Buoy pen will be used. If it is set to Use this pen then the specified pen is used.
Shaded Drawing
By default, for shaded 3D Views, wings are drawn as plates with the specified span and chord.
Alternatively the object can be represented by an imported 3D model by specifying the Shaded Drawing File. This
must be a Direct X format file, usually with the .x file extension. If you use a relative path then the path will be taken
as relative to the folder containing the OrcaFlex file.
The Browse button allows you to specify the Shaded Drawing File quickly and also provides quick access to the
Orcina sample drawings via the Navigate to Orcina sample drawings button.
The Use Culling option is normally selected since it can provide a useful performance benefit. However, in order to
work it requires that the triangles defined in the .x file have their outward facing directions defined correctly. In the
unusual situation where the outward facing directions are not defined correctly then the .x file will not display
correctly. If this happens then typically sections of the model will be missing when drawn by OrcaFlex. Disabling the
Use Culling option resolves this problem.
Draw Size is provided to allow you to scale the drawing. All directions are scaled equally to arrange that the longest
side in the drawing is drawn to the specified Draw Size. This longest side is calculated by first fitting the smallest
possible cuboid around the vertices of the shaded drawing (these are defined in the .x file). This cuboid is aligned
with the shaded drawing's local axes. Then the length of the longest side of this cuboid is found.
Specify a value of '~' to display the drawing using the absolute coordinates as specified in the .x file.
Note: If you use a value of '~' for Draw Size then OrcaFlex uses the coordinates in the .x file directly. If
these coordinates use a different length units system from your OrcaFlex model then you should
specify the units used in the .x file by including an auxiliary file called AdditionalInformation.txt.
Examples of this can be found in the sample shaded drawings provided by Orcina.
Shaded Drawing Origin is provided because the shaded drawing and the wing may have different origins. The
Shaded Drawing Origin defines the origin of the shaded drawing with respect to the wing's local axis system.
Similarly Shaded Drawing Orientation allows you to reorient the shaded drawing to match the wing's axis system.
6.9.6 Lumped Buoy Properties

Figure: Lumped Buoy

pitch
roll
z (heave)
y (sway)
x (surge)
B
(B=buoy origin)
yaw
Vertices
System Modelling: Data and Results, 6D Buoys
w

398
A Lumped Buoy is specified relative to its own local frame of reference Bxyz. The Centre of Mass is specified
relative to Bxyz.
The forces and moments are calculated as follows ( is water density, g is acceleration due to gravity). Each degree
of freedom is calculated independently.
Geometry
Volume is the total volume of the buoy, with its centre at the Centre of Volume, defined relative to the local buoy
axes Bxyz.
Height is the buoy vertical dimension, assumed equally spaced about the centre of volume. Height is assumed to be
independent of buoy rotation.
The Height is used for two main purposes:
- To calculate the contact area used to calculate forces of contact with shapes and the seabed.
- To calculate the ProportionWet, which is used to scale the hydrostatic and hydrodynamic forces and to
determine the centre of wetted volume, which is the point at which they are applied.
Damping
Hydrodynamic damping forces and moments may be applied to the buoy. These are loads that are directly
proportional to the relative velocity, or angular velocity, of the sea past the buoy. For each of the local buoy axes
directions, you specify the magnitude of the Unit Force that is applied when the relative velocity is
1 length unit/second. OrcaFlex then scales these magnitudes according to the actual relative velocity and applies the
resulting force or moment. Similarly you can specify a Unit Moment that is applied when the relative angular
velocity is 1 radian/second.
Drag
Hydrodynamic drag forces and moments may be applied to the buoy. These are loads that are proportional to the
square of the relative velocity, or angular velocity, of the sea past the buoy.
The drag force properties are specified by giving, for each of the local buoy axes directions, the Drag Area that is
subject to drag loading in that direction and the corresponding Drag Coefficient.
Drag moment properties are specified in a similar way, except that instead of specifying a drag area you must
specify a Moment of Area.
Note: Drag Area Moment is the 3rd absolute moment of drag area about the axis. Separate Cd values are
given for force and moment calculations.
Fluid Inertia
Fluid inertia properties are those that are proportional to the acceleration of the sea and the buoy. These
accelerations have two main effects. Firstly, they result in forces and moments being applied to the buoy these are
referred to as the fluid acceleration loads. Secondly, the buoy experiences an increase in inertia this is known as
the added mass.
Full details of the calculation are presented in the Lumped Buoy Added Mass, Damping and Drag topic.
The fluid inertia properties can be specified either by providing the Diagonal values or Full matrices.
Fluid Inertia specified by diagonal values
These properties are specified separately for translational and rotational motions, and also separately for each local
axis direction.
The translational fluid inertia properties of the buoy are specified, for each of the local buoy axis directions, by
giving a reference Hydrodynamic Mass together with the two inertia coefficients, Ca and Cm. The translational Cm
values can be set to '~' to mean 1 + Ca. The translational Hydrodynamic Mass values can be set to '~', meaning equal
to the fully-submerged displaced mass (= volume x water density). This is often a convenient hydrodynamic
reference mass to use.
The rotational fluid inertia properties of the buoy are specified, for each of the local buoy axis directions, by giving a
reference Hydrodynamic Inertia together with a rotational added inertia coefficient, Ca.
Note: Rotational Cm values are not specified, since the sea motion is treated as irrotational, so its
anglular acceleration is taken to be zero and there is therefore no fluid load due to fluid rotational
acceleration.
w
System Modelling: Data and Results, 6D Buoys
399
Fluid Inertia specified by full matrices
The added mass and fluid inertia properties are specified as full 6x6 symmetric matrices. The added mass matrix is
simply added in to the buoy's virtual mass matrix. The fluid inertia matrix is multiplied by the instantaneous fluid
acceleration vector to produce the fluid acceleration loads.
The units of the added mass and fluid inertia matrices are as follows, where M, L and T indicate the units of mass,
length and time:
- The upper-left 3x3 block of cells has units M.
- The upper-right and lower-left 3x3 blocks have units M.L.
- The lower-right 3x3 block of cells has units M.L
2
.
Slam
The slam force, as the buoy enters or exits the water through the surface, can be modelled by setting the Slam Area
and Slam Coefficients. Separate coefficients are specified for water entry and water exit, and the slam force is
proportional to both the Slam Area and the coefficient. For details see Slam Force Theory. If the Slam Area is zero, or
both Slam Coefficients are zero, then no slam force will be applied, and the slam force results are then not available.
6.9.7 Lumped Buoy Drawing Data
Vertices and Edges
This defines a "wire frame" representation of the buoy. The wire frame representation of the buoy is used to draw
the buoy. It is also used to calculate the interaction of the buoy with shapes and the seabed. See Contact Forces for
details.
The vertices are specified by giving their coordinates with respect to buoy axes Bxyz, and the edges are specified by
giving the vertex numbers of the vertices they connect.
Edge diameter (used only for shaded drawing)
For shaded graphics views, by default, the Lumped Buoy is drawn using a solid, filled-in shape based on the vertices
and edges. As an alternative you can use the vertices and edges to define a frame like structure. If the edge diameter
is '~' then that edge will be used to build a filled in shape, otherwise that edge is drawn as a cylinder with the
specified diameter.

Figure: Wire frames with different edge diameter. A value of '~' is used for the wire frame on the left
and a value of 1m is used for the wire frame on the right.
6.9.8 Spar Buoy and Towed Fish Properties
The figure below shows the geometry of a Spar Buoy. The buoy is specified relative to its own local frame of
reference Bxyz. The Centre of Mass is specified relative to Bxyz.
A Spar Buoy is modelled as a series of co-axial cylinders mounted end to end along the local z-axis. The geometry of
a Towed Fish is identical except that the buoy axis is aligned with the x-axis of the buoy.
System Modelling: Data and Results, 6D Buoys
w

400
The cylinders are numbered from the top downwards. So in the tables on the buoy data form the cylinder at the base
of the stack (lowest x or z) appears at the bottom of the table.
If you are modelling a CALM or SPAR buoy then see also Modelling a Surface-Piercing Buoy.

Figure: Spar Buoy
Geometry
The shape of a Spar Buoy or Towed Fish is specified by the following data on the Geometry page on the buoy data
form.
Stack Base Centre Position
The centre of the base of the stack, relative to buoy axes.
Cylinders: Outer Diameter, Inner Diameter and Length
The diameters of the cylinder and its length measured along the axis.
These parameters define the buoy geometry from which buoyancy forces and moments are determined. When the
buoy pierces the water surface, OrcaFlex allows for the angle of intersection between the sea surface and the buoy
axis when calculating the immersed volume and centre of immersed volume, and includes the appropriate
contributions to static stability.
If the inner diameter is greater than zero then the cylinder is actually a hollow cylindrical pipe. The internal region
of the cylinder contains sea water if the buoy is submerged. In this case then the contained water contributes to the
buoy's inertia. These inertial effects are only included in directions normal to the buoy.
The remaining parameters determine the hydrodynamic loads acting on each cylinder. Loads are calculated for each
cylinder individually, then summed to obtain the total load on the buoy.
Buoy Axis
Stack Base Position
Cylinder 1 Length
Rotation 2
z
y
x
B
(B=buoy origin)
Rotation 1
Rotation 3
Cylinder 1 OD
w
System Modelling: Data and Results, 6D Buoys
401
Hydrodynamic Loads
See the Added Mass and Damping and Drag pages on the buoy data form.
6.9.9 Spar Buoy and Towed Fish Drag & Slam
Munk Moment Coefficient
Slender bodies in near-axial flow experience a destabilising moment called the Munk moment. This effect can be
modelled by specifying a non-zero Munk moment coefficient.
Normal drag area calculated from geometry
If this option is checked then the normal drag area, for each cylinder, is calculated directly from the cylinder
geometry by multiplying the outer diameter by the cylinder length.
If this option is not checked then the normal drag area, for each cylinder, must be specified by the user.
Drag Forces and Moments
Drag loads are the hydrodynamic loads that are proportional to the square of fluid velocity relative to the cylinder.
For details of the drag load formulae see Spar Buoy and Towed Fish Theory. For information when modelling a
SPAR or CALM buoy see Modelling a Surface-Piercing Buoy.
The drag forces are calculated on each cylinder using the "cross flow" assumption. That is, the relative velocity of the
sea past the cylinder is split into its normal and axial components and these components are used, together with the
specified drag areas and coefficients, to calculate the normal and axial components of the drag force.
The drag forces are specified by giving separate Drag Area and Drag Coefficient values for flow in the normal
direction (local x and y directions) and in the axial direction (local z direction). The Drag Area is a reference area
that is multiplied by the Drag Coefficient in the drag force formula. You can therefore use any positive Drag Area that
suits your need, but you then need to give a Drag Coefficient that corresponds to that specified reference area.
The Drag moments are specified and calculated in a similar way to the drag forces, except that the reference drag
area is replaced by a reference Area Moment. This and the Drag Coefficient are multiplied together in the drag
moment formula, so again you can use any positive Area Moment that suits your need, providing you then specify a
Drag Coefficient that corresponds to the specified Area Moment.
There are two alternative methods that you can adopt when specifying the drag data. The first method is to set the
OrcaFlex data to get best possible match with real measured results for the buoy (e.g. from model tests or full scale
measurements). This is the most accurate method, and we recommend it for CALM and discus buoys see Modelling
a Surface-Piercing Buoy for details. Because the Drag Area and Drag Coefficient data are simply multiplied together,
you can calibrate the model to the real results by fixing one of these two data items and then adjusting the other. For
example, you could set the axial Drag Coefficient to 1 and adjust the axial Drag Area until the heave response decay
rate in the OrcaFlex model best matches the model test results. Or, you could set the axial Drag Area to a fixed value
(e.g. 1 or some appropriate reference area) and then adjust the axial Drag Coefficient until the heave response decay
rate in OrcaFlex best matches the model test results.
The second method is to set the drag data using theoretical values or given in the literature. It is less accurate but
can be used if you cannot get any real buoy results against which to calibrate. To use this method, set the data as
follows.
Set the Drag Areas to the projected surface area that is exposed to drag in that direction and then set the Drag Force
Coefficients based on values given in the literature (see Barltrop & Adams, 1991, Hoerner,1965 and DNV-RP-C205).
Note that the drag area specified should be the total projected area exposed to drag when the buoy is fully
submerged, since OrcaFlex allows for the proportion wet in the drag force formula. For a simple cylinder of
diameter D and length L the total projected drag area is D.L for the normal direction and (.D
2
)/4 for the axial
direction, but if the buoy has attachments that will experience drag then their areas must also be included.
Set the Drag Area Moments to the 3rd absolute moments of projected area exposed to drag in the direction
concerned; see Drag Area Moments for details. And then set the Drag Moment Coefficients based on values given in
the literature.
Slam Force Coefficients
The slam force, as the buoy enters or exits the water through the surface, can be modelled by specifying non-zero
Slam Coefficients. Separate coefficients are specified for water entry and water exit. For spar buoys and towed fish
the slam area is not specified by the user it is set to the instantaneous water plane area. If the Slam Coeffcient is
zero then no slam force is applied. If both Slam Coefficients are zero then the slam force results are not available. For
details of the slam force see Slam Force Theory.
6.9.10 Spar Buoy and Towed Fish Added Mass and Damping
There are two choices that affect how these first order effects are modelled:
System Modelling: Data and Results, 6D Buoys
w

402
- First, on the Added Mass and Damping page of the spar buoy and towed fish data form, you can choose to
specify the added mass and damping either by giving values for each cylinder, or else by giving RAOs and
matrices for the whole buoy. See below for details.
- Second, you can choose whether the velocity that is used in the damping load calculation is the buoy velocity
relative to the earth or relative to the fluid.
Values for Each Cylinder
With this option, the added mass and damping effects are calculated separately for each cylinder using Morison's
Equation.
Added Mass
Translational added mass effects are calculated using the displaced mass as the reference mass for each cylinder.
Separate added mass coefficients (Ca) are given for flow normal (x and y directions) and axial (z direction) to the
cylinder. Translational inertia coefficients (Cm) are also specified. A value of "~" is equivalent to setting the
coefficient to 1+Ca.
Note: The 1 in Cm = 1+Ca is the contribution that gives the Froude-Krylov fluid force. Because of this, the
Froude-Krylov force will be applied to the buoy if the Cm is set to '~', even if Ca is set to zero. To
suppress all fluid inertia effects you need to set both Ca and Cm to zero.
Rotational added inertia is specified directly (so no reference inertia is involved). Separate values can be given for
rotation about the cylinder axis and normal to that axis.
See Spar Buoy and Towed Fish Theory.
Damping Forces and Moments
Damping forces and moments are the hydrodynamic loads that are proportional to cylinder velocity and angular
velocity, respectively. For the damping forces you can specify whether the velocity used is the cylinder velocity
relative to the earth or relative to the fluid.
These damping terms are primarily intended to represent radiation damping on 6D buoys, in which case damping
relative to earth should normally be specified. In this case they will generally be used only with surface-piercing
buoys, where the waves generated by the buoy motion effectively extract energy from the buoy motion.
However for a fully-submerged buoy, wave radiation damping will not normally apply (unless it is close to the
surface). These data can then instead be used to model linear skin friction damping, in which case damping relative
to fluid should normally be specified. However such linear damping is usually not significant compared to the
quadratic drag, in which case the damping data can be set to zero.
The damping forces and moments are specified by giving the Unit Damping Force and Unit Damping Moment for
the normal and axial directions. These specify the force and moment that the cylinder will experience, in that
direction, when the cylinder velocity (relative to earth or fluid, for damping forces) in that direction is 1 length unit
per unit time. See Damping Forces and Moments for details.
RAOs and Matrices for Buoy
In this option the linear hydrodynamic effects are specified by giving wave force and moment RAOs, and added mass
and damping matrices. Normally these data would come from a separate program, such as a diffraction program.
Note: This option is only appropriate for circularly-symmetric spar buoys whose axis undergoes only
small oscillations about vertical. It was developed primarily for CALM buoys with diameter in the
range 5m to 15m. It is therefore not available for towed fish.
Warning: The RAOs and added mass and damping matrices specified must apply to the mean position of the
buoy. They are not modified to account for any variations in buoy attitude or immersion, so this
option is only suitable for buoys that undergo small oscillations about their mean position.
RAO, Added Mass and Damping Origin
This specifies the coordinates, with respect to buoy axes, of the point on the buoy at which the RAOs and added
mass and damping matrices are applied. This means that:
- The RAOs are applied to the wave conditions at this point to give the wave loads, which are then applied at this
point.
- The damping matrix is multiplied by the current velocity relative to the buoy at this point to give the damping
load, which is applied at this point.
- The added mass matrix is applied at this point.
w
System Modelling: Data and Results, 6D Buoys
403
Wave Force and Moment RAOs
The RAOs are specified in a table giving the amplitudes and phases of the surge force, heave force and pitch moment
RAOs, as a function of wave angular frequency. RAOs must be specified for both of the limiting cases, i.e. for long and
short waves, and for at least one other frequency.
The RAOs must be specified using the following Orcina conventions. The force and moment amplitudes must be the
forces and moments that are applied at the buoy origin when a unit amplitude wave is applied. The phases must be
lags, in degrees, from the time the wave crest passes the buoy origin until the maximum positive force or moment
occurs.
Added Mass and Damping Matrices
In reality the added mass and damping matrices are frequency-dependent, but in OrcaFlex you can only enter the
matrices for one frequency. You should give the values for the principal frequency of excitation expected.
The added mass and damping matrices are 6 x 6 symmetric matrices, so only the cells on and above the leading
diagonal are editable. The cells below the leading diagonal are non-editable and always equal the corresponding cell
values above the diagonal.
The units of the added mass and damping matrices are as follows, where M, L and T indicate the units of mass,
length and time:
- Added mass matrix. The upper-left 3x3 block of cells has units M. The upper-right and lower-left 3x3 blocks
have units M.L. The lower-right 3x3 block of cells has units M.L
2
.
- Damping matrix. The upper-left 3x3 block of cells has units F/(L/T). The upper-right 3x3 block has units
F/(rad/T). The lower-left 3x3 block of cells has units (F.L)/(L/T). The lower-right 3x3 block of cells has units
(F.L)/(rad/T).
Because the buoy is assumed to be axi-symmetric these matrices should both have the following axi-symmetric
form:

OrcaFlex warns at simulation time if the matrices are not of this form.
6.9.11 Spar Buoy and Towed Fish Drawing
There are two alternative methods of drawing the Spar Buoy and Towed Fish cylinders:
1. Draw square cylinders. If this option is selected then each cylinder is drawn as a square-based cuboid. OrcaFlex
automatically generates the vertices and edges. There are eight vertices per cylinder and the square base has a
side length equal to the diameter of the actual circular cylinder.
2. Draw circular cylinders. With this option selected the circular cylinders are drawn as such. You can specify pens
for the outside and inside of the cylinders. In addition you specify how many lines are drawn. Increasing this
number makes the buoy drawing more realistic but increases the time taken to draw the buoy.
Notes: The selected drawing method only affects the way the object is drawn. It does not affect
calculations in any way.
The vertices of the square-based cuboids are used for calculation of any contact with the seabed or
shapes. This applies even if you choose for presentation purposes to draw circular cylinders.
6.9.12 Shaded Drawing
By default, for shaded 3D Views, Spar Buoys and Towed Fish are drawn as solid objects using the specified cylinder
geometry. Lumped Buoys are drawn using the wire frame data.
The wire frame drawing data comprises vertices and edges, but OrcaFlex needs a solid surface for the shaded
graphics representation. OrcaFlex uses the following procedure to generate this surface from the wire frame
vertices and edges.
|
|
|
|
|
|
|
|
.
|

\
|

e
d b
d b
c
b a
b a
0 0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0 0
0 0 0 0
0 0 0 0
System Modelling: Data and Results, 6D Buoys
w

404
First any edges with specified diameters (i.e. diameters not equal to '~') are drawn as cylinders. This allows you to
use such edges to visualise parts of the structure that are not solid, e.g. crane boom latticework. These edges are
now handled and are excluded from the remainder of the procedure.
The remaining edges are used to partition the vertices into sets of connected vertices. Two vertices are deemed to
be connected if there exists a path of edges between the two vertices.
Finally, for each set of connected vertices, the smallest convex hull enclosing the set is drawn.
This algorithm does not always generate the shaded drawings that you might expect. Consider the following two
wire frame vessels. When drawn in wire frame mode they look the same, but in shaded mode they differ.

Figure: Wire Frame and Shaded Drawing
For the green vessel the superstructure and the hull share vertices and so all vertices are connected. This results in a
single convex hull for all vertices being drawn. In the red vessel, the superstructure and hull do not share vertices
and so there are two distinct sets of connected vertices. This results in two separate convex hulls and a better
representation.
w
System Modelling: Data and Results, 6D Buoys
405
Alternatively the object can be represented by an imported 3D model by specifying the Shaded Drawing File. This
must be a Direct X format file, usually with the .x file extension. If you use a relative path then the path will be taken
as relative to the folder containing the OrcaFlex file.
The Browse button allows you to specify the Shaded Drawing File quickly and also provides quick access to the
Orcina sample drawings via the Navigate to Orcina sample drawings button.
The Use Culling option is normally selected since it can provide a useful performance benefit. However, in order to
work it requires that the triangles defined in the .x file have their outward facing directions defined correctly. In the
unusual situation where the outward facing directions are not defined correctly then the .x file will not display
correctly. If this happens then typically sections of the model will be missing when drawn by OrcaFlex. Disabling the
Use Culling option resolves this problem.
Draw Size is provided to allow you to scale the drawing. All directions are scaled equally to arrange that the longest
side in the drawing is drawn to the specified Draw Size. This longest side is calculated by first fitting the smallest
possible cuboid around the vertices of the shaded drawing (these are defined in the .x file). This cuboid is aligned
with the shaded drawing's local axes. Then the length of the longest side of this cuboid is found.
Specify a value of '~' to display the drawing using the absolute coordinates as specified in the .x file.
Note: If you use a value of '~' for Draw Size then OrcaFlex uses the coordinates in the .x file directly. If
these coordinates use a different length units system from your OrcaFlex model then you should
specify the units used in the .x file by including an auxiliary file called AdditionalInformation.txt.
Examples of this can be found in the sample shaded drawings provided by Orcina.
Shaded Drawing Origin is provided because the shaded drawing and the buoy may have different origins. The
Shaded Drawing Origin defines the origin of the shaded drawing with respect to the buoy's local axis system.
Similarly Shaded Drawing Orientation allows you to reorient the shaded drawing to match the buoy's axis system.
6.9.13 Other uses
6D Buoys are frequently used for non-standard purposes. For example they can be used to connect Lines together.
Sometimes they are used as frame of reference objects where the properties are provided by various other objects
(usually single segment Lines) connected to the 6D Buoy.
For such uses the 6D Buoy needs negligible structural and hydrodynamic properties. Because this is such a common
thing to do we have provided a facility on the 6D Buoy data form to set up appropriate properties. Clicking on the
Give Buoy negligible properties button has the following effects:
- Buoy Type will be set as Lumped Buoy.
- Mass will be set to a negligible value.
- Height will not be modified since it cannot be set to zero. Because other properties are set to zero its value is not
significant.
- All other Lumped Buoy properties are set to zero.
- Any existing Wing, Applied Load and Drawing data are not modified.
6.9.14 External Functions
Parameters
This data item specifies the External Function Parameters, a free form multi-line text field which is passed to any
external function used by the 6D Buoy object.
6.9.15 Properties Report
The 6D Buoy properties report is available from the popup menu on the data form. It reports the following:
Weight in air
The force due to gravity acting on the buoy's mass.
Displacement
The weight of water displaced by the buoy's volume. The reported value uses the water density at the sea surface.
Weight in water
Equals Weight in air - Displacement.
Centre of mass
The centre of mass data item.
Volume
The volume of the buoy.
System Modelling: Data and Results, 6D Buoys
w

406
Centre of volume
Reported with respect to the buoy frame of reference.
x-mass radius of gyration, y-mass radius of gyration, z-mass radius of gyration
Equals (Mass Moment of Inertia / Mass).
Total contact area
Reports the Total contact area data. If a value of '~' is set on the data form then the value reported here is the default
value calculated by OrcaFlex.
Number of vertices
The number of vertices in the wire frame drawing. Contact for 6D Buoys is calculated at each of these vertices.
Contact area per vertex
Equals Total contact area / Number of vertices.
Statics force accuracy, Statics moment accuracy
These are only reported if the buoy is included in statics.
The static analysis searches for an equilibrium position for the buoy that is a position for which the resultant force
and moment on the buoy is zero. We refer to the resultant force and moment as the out of balance load. Because
computers have limited numerical precision the static analysis cannot always find a configuration where the out of
balance load is exactly zero. OrcaFlex accepts a position as a static equilibrium position if the largest out of balance
load component is less than the statics accuracy.
The Statics force accuracy equals Tolerance * buoy typical force and the Statics moment accuracy equals Tolerance *
buoy typical moment. The buoy typical force and moment are based on the weight in air, the height of the buoy and
the forces and moments applied by connected objects.
Reducing the Tolerance value will give a more accurate static equilibrium position, but will take more iterations.
OrcaFlex may not be able to achieve the Tolerance specified if it is too small, since the computer has limited
numerical precision.
6.9.16 Results
For 6D Buoys the available results are as follows. For details on how to select results variables see Selecting
Variables.
Position and Orientation Results
X, Y and Z
The position of a user specified point P on the buoy, relative to global axes. The point P is specified in buoy local
coordinates. If P=(0,0,0) then the global X, Y and Z coordinates of the buoy origin are reported.
Rotation 1, Rotation 2 and Rotation 3
Define the orientation of the buoy relative to global axes. They are 3 successive rotations that take the global axes
directions to the buoy axes directions. See Initial Position and Attitude for the definition of these angles.
Rotation 2 is in the range -90 to +90. Range jump suppression is applied to Rotation 1 and Rotation 3 (so values
outside the range -360 to +360 might be reported).
Azimuth, Declination
The azimuth and declination of the local z axis.
Velocity and Acceleration Results
Velocity, GX-Velocity, GY-Velocity, GZ-Velocity
The magnitude and components of the velocity of the buoy, relative to global axes. These results are reported at a
user specified point P on the buoy. The point P is specified in buoy local coordinates.
Angular Velocity, x-Angular Velocity, y-Angular Velocity, z-Angular Velocity
The magnitude and components of the angular velocity of the buoy, relative to buoy axes.
Acceleration, GX-Acceleration, GY-Acceleration, GZ-Acceleration
The magnitude and components of the acceleration of the buoy, relative to global axes. These results are reported at
a user specified point P on the buoy. The point P is specified in buoy local coordinates.
w
System Modelling: Data and Results, 6D Buoys
407
Acceleration rel. g, x-Acceleration rel. g, y-Acceleration rel. g, z-Acceleration rel. g
The magnitude and components, in buoy axes directions, of the acceleration vector, a, of the user-specified point P
on the buoy, relative to the vertically downwards acceleration due to gravity, g. That is, these results report the
vector a - g.
This relative acceleration can be thought of as the acceleration of the point P relative to the free-falling state. This is
the acceleration that would be reported by an accelerometer attached at the point P (since an accelerometer reading
of zero corresponds to free-falling), with its measurement directions aligned with the buoy local axes directions.
Angular Acceleration, x-Angular Acceleration, y-Angular Acceleration, z-Angular Acceleration
The magnitude and components of the angular acceleration of the buoy, relative to buoy axes.
Sea State Results
If the buoy experiences sea state disturbance this will be accounted for in the sea state results.
Sea Surface Z
The global Z coordinate of the sea surface directly above the instantaneous position of the buoy origin.
Sea Velocity, Sea Velocity X, Sea Velocity Y, Sea Velocity Z,
Sea Acceleration, Sea Acceleration X, Sea Acceleration Y, Sea Acceleration Z
The magnitude and global X, Y and Z components of the water particle velocity (due to current and waves) and
acceleration (due to waves) at the position of the buoy. If the buoy is above the water surface then zero is reported.
Dry Length
The length of buoy above the water surface, measured along the buoy z axis, calculated as follows:
- For a Lumped Buoy, this is calculated by assuming that the z-extent of a Lumped Buoy is Height either side of
its centre of volume.
- For a Spar Buoy it is the sum of the dry lengths of each of its cylinders, where the dry length of an individual
cylinder is calculated as:
(cylinder length) (cylinder volume above surface) / (cylinder total volume).
Force and Moment Results
Connection Force, Connection Moment
Connection x-Force, Connection y-Force, Connection z-Force
Connection x-Moment, Connection y-Moment, Connection z-Moment
These connection load results are only available for buoys that are connected to other objects. They report the total
force and moment applied to the buoy by the object to which it is connected, including structural inertia loads and
added inertia loads.
Connection Force and Connection Moment report the magnitudes of the connection loads. The Lx, Ly and Lz
results report the components of the connection force and moment in the local buoy axes directions. The moments
given are moments about the buoy origin.
Note that these connection force and moment results include the structural and added inertial load on the buoy due
to any acceleration of the object to which it is attached. This means that these results can be used for sea fastening
calculations, by using a 6D buoy to model the object to be fastened and then attaching it to a vessel. The connection
force and moment include the weight of the buoy and the inertial loads due to the vessel acceleration. Note that if
the vessel motion is specified by a time history then the time history interpolation method used is important since it
affects the calculation of vessel acceleration and hence affects the inertial loads.
Applied Force, Applied Moment
Applied Lx-Force, Applied Ly-Force, Applied Lz-Force
Applied Lx-Moment, Applied Ly-Moment, Applied Lz-Moment
The sum of all the local and global applied loads, reported in the local buoy axes directions.
Force, Moment
Lx-Force, Ly-Force, Lz-Force, Lx-Moment, Ly-Moment, Lz-Moment,
GX-Force, GY-Force, GZ-Force, GX-Moment, GY-Moment, GZ-Moment
These results are not available for buoys that are connected to other objects you can instead use the Connection
Force and Connection Moment results.
These results are the total force and moment applied to the buoy, excluding structural inertia loads and added
inertia loads due to acceleration of the buoy. They include the loads from any objects connected to the buoy, but
again exclude structural inertia and added inertia loads on the connected object. The reported loads therefore
System Modelling: Data and Results, 6D Buoys
w

408
correspond to the left-hand side of the equation of motion TotalLoad = VirtualInertia x Acceleration, where
VirtualInertia is the total structural and added inertia of the buoy and any connected objects.
Force and Moment report the magnitudes of the loads. The Lx, Ly and Lz results report the components of the force
and moment in the local buoy axes directions. The GX, GY and GZ results report the components of the force and
moment in the global axes directions. The moments given are about the buoy origin.
Solid Contact Force
Solid Contact Lx-Force, Solid Contact Ly-Force, Solid Contact Lz-Force
The magnitude and components, in local buoy axes directions, of the force due to contact with elastic solids.
Slam Load Results
These results are only available for 6D lumped buoys that have non-zero Slam Area and Slam Coefficient, and for
spar buoys and towed fish that have a non-zero Slam Coefficient.
Slam Force, Slam GX-Force, Slam GY-Force, Slam GZ-Force
Slam Force reports the total instantaneous slamming load experienced as the body enters or exits the water. Slam
Force acts in the direction normal to the water surface. The GX, GY, GZ results give components of the total slam load
in the global axes directions.
Slam GX-Moment, Slam GY-Moment, Slam GZ-Moment
The components in global axes directions of the moment of the slam force about the body reference origin.
Wing Results
If the 6D buoy has wings attached then for each wing the following results are available.
Wing X, Wing Y, Wing Z
The position of the wing origin, relative to global axes.
Wing Azimuth, Declination and Gamma
The orientation angles of the wing, relative to the buoy.
Lift, Drag, Moment
The lift force, drag force and drag moment applied to the wing.
The lift force is applied at 90 to the relative flow direction. Positive values mean a force trying to push the wing
towards its positive side, negative values towards its negative side.
The drag force is applied in the relative flow direction and is always positive.
The drag moment is applied about the line that is in the wing plane and at 90 to the relative flow direction. Positive
values are moments trying to turn the wing to bring the wing y-axis Wy to point along the relative flow direction;
negative values are moments trying to turn the wing the opposite way.
Note: When the wing is less than half submerged, and you have included wind loads on wings, then the
lift force, drag force and moment reported are the air loads. Otherwise they are the water loads.
Incidence Angle
The angle, , that the relative flow vector makes with the plane of the wing, in the range -90 to +90. Positive values
mean that the flow is towards the positive side of the wing (i.e. hitting the negative side) and negative values mean
that the flow is towards the negative side of the wing (i.e. hitting the positive side).
The value reported is with respect to the principal fluid affecting the wing.
Beta Angle
The angle of the relative flow direction, measured in the wing plane. More specifically, it is the angle between wing
Wx axis and the projection of the relative flow vector onto the wing plane, measured positive towards Wz. Zero beta
angle means that this projection is in the Wx direction, 90 means it is along Wz and -90 means it is along the
negative Wz direction.
The value reported is with respect to the principal fluid affecting the wing.
Range jump suppression is applied to the Beta Angle (so values outside the range -360 to +360 might be reported).
6.9.17 Buoy Hydrodynamics
3D and Lumped 6D buoys are generalised objects for which no geometry is defined in the data other than a height:
This is used for proportioning hydrodynamic properties when the object is partially immersed, and for drawing a
3D buoy.
w
System Modelling: Data and Results, 6D Buoys
409
Since the geometry of the object is undefined, it is necessary to define properties such as inertias, drag areas, added
masses, etc. explicitly as data items. This can be a difficult task, especially where a 6D buoy is used to represent a
complex shape such as a midwater arch of the sort used to support a flexible riser system.
We cannot give a simple step-by-step procedure for this task since the geometry of different objects can be widely
different. As an example, the hydrodynamic properties in 6 degrees of freedom are derived for a rectangular box.
This gives a general indication of the way in which the problem should be approached. If a 3D buoy is used, the
rotational properties are not used.
6.9.18 Hydrodynamic Properties of a Rectangular Box

Figure: Box Geometry
Drag areas
In X direction: Ax = y . z
In Y direction: Ay = x . z
In Z direction: Az = x . y
Drag Coefficients for Translational Motions
These are obtained from ESDU 71016, Figure 1 which gives data for drag of isolated rectangular blocks with one
face normal to the flow. The dimensions of the block are
a in the flow direction
b and c normal to the flow direction (c>b).
The figure plots drag coefficient, Cx against (a/b) for (c/b) from 1 to infinity (2D flow). Cx is in the range 0.9 to 2.75
for blocks with square corners.
Note: ESDU 71016 uses Cd for the force in the flow direction; Cx for the force normal to the face. For
present purposes the two are identical.
Drag Properties for Rotational Motions
There is no standard data source. As an approximation, we assume that the drag force contribution from an
elementary area dA is given by
dF = ..V
2
.Cd.dA
where Cd is assumed to be the same for all points on the surface.
Note: This is not strictly correct. ESDU 71016 gives pressure distributions for sample blocks in uniform
flow which show that the pressure is greatest at the centre and least at the edges. However we do
not allow for this here.
O
X Y
Z
x y
z
O is the centre of the box
System Modelling: Data and Results, 6D Buoys
w

410

Figure: Integration for rotational drag properties
Consider the box rotating about OX. The areas Ay and Az will attract drag forces which will result in moments about
OX. For the area Ay, consider an elementary strip as shown:
For an angular velocity about OX, the drag force on the strip is
dF = ..(z).|z|.Cd.x.dz
and the moment of this force about OX is
dM = ..(z).|z|.Cd.x.dz.z = (...||.Cd).x.z
3
.dz
Total moment is obtained by integration. Because of the V.|V| form of the drag force, simple integration from -Z/2 to
+Z/2 gives M = 0. We therefore integrate from 0 to Z/2 and multiply the answer by 2. The result is
M = (...||.Cd).(x.z
4
/32)
OrcaFlex calculates the drag moment by
M = (.. .|| .Cdm).(AM)
so we set
Cdm = Cd, AM = x.z
4
/32.
This is the drag moment contribution about OX from the Ay area. There is a similar contribution from the Az area.
Since Cd is generally different for the 2 areas, it is convenient to calculate the sum of (Cd.AM) for both, set AM equal
to this value and set Cd equal to 1.
Added Mass
OrcaFlex requires the added mass and inertia contributions to the mass matrix, plus the hydrodynamic masses and
inertias to be used for computation of wave forces. For each degree of freedom (3 translations, 3 rotations), 3 data
items are required. These are Hydrodynamic Mass in tonnes (or Inertia in tonne.m
2
); and coefficients Ca and Cm.
Added mass is then defined as Hydrodynamic Mass . Ca; and wave force is defined as (Hydrodynamic mass . Cm)
multiplied by the water particle acceleration, aw.
On the usual assumptions intrinsic in the use of Morison's Equation (that the body is small by comparison with the
wavelength), the wave force is given by ( + AM) . aw, where is body displacement and AM is added mass. OrcaFlex
calculates the wave force as Cm . HM . aw where HM is the Hydrodynamic Mass given in the data.
For translational motions, set HM = for all degrees of freedom. Then Ca = AM/, Cm = 1 + Ca. For rotational
motions, set HI = I, the moment of inertia of the displaced mass. Then Ca = AI/I, Cm = 1 + Ca where AI is the added
inertia (i.e. the rotational analogue of added mass).
Translational Motion
DNV-RP-C205, Table 6.2, gives added mass data for a square section prism accelerating along its axis. The square
section is of side a, prism length is b, and data are given for b/a = 1.0 and over. The reference volume is the volume
of the body which is the same definition we have adopted. We can therefore use the calculated Ca without further
adjustment.
Consider the X direction: Area normal to flow = Ax.
dz
Z
O
z
X
w
System Modelling: Data and Results, 6D Buoys
411
For a square of the same area, a = (Ax).
Length in flow direction = x.
Hence b/a = x/(Ax).
Hence Ca can be obtained from DNV-RP-C205 by interpolation, and then Cm = 1 + Ca.
If b/a < 1.0 this approach fails and we use the data given in DNV-RP-C205 for rectangular flat plates. If y > z, aspect
ratio of the plate = y/z. Hence CA from DNV-RP-C205 by interpolation. The reference volume in this case is that of a
cylinder of diameter z, length y. Hence:
Added mass = CA..(/4).y.z
2
= AMx, say
and then Ca = AMx/ and Cm = 1 + Ca.
Note: If y < z, then aspect ratio = z/y and reference volume = CA . . (/4) . z . y
2
.
Rotational Motion
DNV-RP-C205 gives no data for hydrodynamic inertia of rotating bodies. The only data for 3D solids we know of is
for spheroids (Newman 1977). Fig 4.8 of Newman 1977 gives the added inertia for coefficient for spheroids of
varying aspect ratio referred to the moment of inertia of the displaced mass. We assume that the same coefficient
applies to the moment of inertia of the displaced mass of the rectangular block.
Rotation about X
I = (Y
2
+ Z
2
)/12
Added inertia:
Using data for spheroids from Newman 1977 :
Length in flow direction = 2a = x, so a = x/2.
Equivalent radius normal to flow, b, is given by b
2
= yz, so b = (y . z/).
Hence Ca from Newman 1977.
For b/a < 1.6
Ca can be read from the upper figure where the value is referred to the moment of inertia of the displaced mass. In
this case no further adjustment is required.
For b/a > 1.6
The coefficient CA is read from the lower graph in which the reference volume is the sphere of radius b. In this case:
Ca = CA . (2 . b
3
)/(a . (a
2
+b
2
))
In either case, Cm = 1 + Ca.
6.9.19 Modelling a Surface-Piercing Buoy
Surface-piercing buoys, such as CALM buoys, SPAR buoys or meteorological discus buoys, can be modelled in
OrcaFlex using the Spar Buoy version of a 6D Buoy. Despite its name, the OrcaFlex Spar Buoy can be used to model
any axi-symmetric body.
Spar Buoys have many data items available. This enables you to model a wide range of effects, but it also makes
setting up a Spar Buoy model more complicated. To help in this task we describe, in this section, the approach we
adopt for setting up an OrcaFlex model of a surface-piercing buoy.
1. Create a simple model containing just a Spar Buoy
Start by modelling the free-floating behaviour of the buoy, without any lines attached. This allows us to get the basic
behaviour of the buoy correct, before complications such as moorings etc. are introduced. We therefore set up an
OrcaFlex model containing just a Spar Buoy and with no waves or current.
Set the buoy's Applied Load to zero. This data item allows you to apply extra forces and moments to the buoy, in
addition to those from any lines that you attach to it. You can use this later to model the wind force on the upper
part of the buoy. To do this you will need to know the projected area (i.e. the area exposed to wind) of the pipe work
etc. in the upper part of the buoy.
Set the buoy's Munk Moment Coefficient to zero. This data item is only used for slender bodies in near axial fully-
submerged flow only.
Set the number of wings to zero. Wings are normally only relevant for towed fish.
Finally, we start by setting all the buoy's drag and added mass data to zero. We will set up the actual values later.
System Modelling: Data and Results, 6D Buoys
w

412
2. Set up the geometry data
The Spar Buoy has its own local buoy axes coordinate system. You can choose the origin for these buoy axes, but the
buoy z-axis direction must be chosen to be parallel to the axis of the buoy, and the buoy x- and y-axes should be
parallel to the other two principal directions of structural inertia. You also need to specify the position of the centre
of gravity, relative to the local coordinate system. The buoy manufacturer should supply this information.
Set the Stack Base Position. This is the position of the centre of the bottom of the buoy, relative to the buoy axes. The
Stack Base Position therefore has z-coordinate = -h, where h is the distance axially from the bottom of the buoy to
the buoy origin.
Now set up a number of cylinders, and their lengths and diameters, in order to model the shape of the buoy. To do
this you need the dimensions of the various parts of the buoy. The buoy manufacturer should supply this
information. Set the cylinder lengths and diameters so that you get the correct length and volume for each section.
You can represent tapered sections by a series of short cylinders with diameters changing progressively from one to
the next.
We recommend using a number of short cylinders, even where the buoy diameter is constant over a long length.
Using more cylinders gives more accurate results, though at the cost of reduced computation speed.
You can check your geometry data by zooming in on the buoy in a 3D View window. Turn on the local axes so that
you can check that the buoy origin is in the correct place.
The Bulk Modulus data item is not relevant to a surface-piercing buoy, so it can be left at the default value of Infinity.
3. Set up the mass and inertia data
Now set the Mass and Moments of Inertia of the buoy. The buoy manufacturer should supply this information.
The mass equals the weight of the buoy in air. The moments of inertia are those of the buoy (in air) about its centre
of gravity, as follows:
- Iz = the moment of inertia about the buoy axis.
- Ix and Iy = the moments of inertia about axes perpendicular to the buoy axis, through the centre of gravity.
Usually it is sufficient to assume that Ix = Iy.
If you cannot obtain data for the moments of inertia, then they can be approximately calculated from a knowledge of
the masses of the various parts of the buoy, and approximately how that mass is distributed.
4. Check that the buoy floats at the correct draught
Set the Initial Position and Initial Attitude of the buoy so that the buoy is in its expected equilibrium position. The
initial position is the position of the buoy local origin, and therefore of the CG, and you can calculate this point's
expected equilibrium position from the buoy draught, which should be available from the buoy manufacturer.
The Initial Attitude defines the initial orientation of the buoy. Set it to (0,0,0), which orients the buoy with its axis
vertical and the buoy local x,y axes aligned with the global X,Y axes.
Set the Degrees of freedom included in statics to None and then run the simulation and look at the time history of
buoy Z. If the data has been set up correctly then the buoy should have stayed basically in its initial position and
attitude, with perhaps just small oscillations about that position.
If the buoy Z has oscillated significantly then the model's equilibrium position does not match the expected
equilibrium position. This means that something is wrong in the data and this needs tracing and correcting before
you proceed. You can estimate the model's equilibrium position by looking at the mean Z position in the time
history.
5. Check that the buoy is stable
Now check that the buoy is stable - i.e. that if it is pitched over to one side and released then it rights itself. In the
Initial Attitude data, set the Rotation 2 value to say 10 and run the simulation. If the buoy falls over then there is
something wrong with the CG position or the volume distribution, and this must be corrected.
Note: The buoy on its own may not be intended to be stable, e.g. stability may only be achieved when the
moorings are attached. In this case you will need to model the moorings in order to check stability.
6. Set the Added Mass data
The x and y added mass coefficients can be set to 1.0, which is the standard value for a cylinder in flow normal to its
axis.
Added mass in the z direction should be estimated for the buoy from the published literature (DNV rules, Barltrop &
Adams, 1991) and distributed between the immersed cylinders (remember that hydrodynamic loads are only
applied to the immersed parts of the model).
w
System Modelling: Data and Results, 6D Buoys
413
Ideally, these data should then be checked by comparing the heave and pitch natural periods of the model against
values obtained from model tests or full scale measurements, and adjustments made as necessary.
7. Set the drag and damping data
The best approach depends on whether the buoy is a SPAR whose length is great by comparison with its diameter,
or a surface-following Discus shape such as an oceanographic buoy. CALM buoys are usually closer to the Discus
configuration, often with a damping skirt which is submerged at normal draft.
Spar Buoys
Set the Drag Areas for each cylinder to the areas, of the part of the buoy which that cylinder represents, that are
exposed to fluid drag in the direction concerned. Note that you should specify the areas that are exposed to drag
when the buoy is fully submerged. OrcaFlex automatically calculates the proportion of the cylinder that is
submerged and scales all the fluid loads on the cylinder using that 'proportion wet' as a factor. So if a cylinder is not
submerged, or is partially submerged, then the drag loads will be scaled accordingly for you.
For a simple cylinder, of diameter D and length L, the normal drag area is D.L since that is the area of a cylinder
when viewed normal to its axis. And the axial drag area is (.D
2
)/4 since that is the area of the cylinder when viewed
along its axis. However, where a cylinder is representing part of the buoy that is not in reality a simple cylinder (for
example, we may represent the pipework and turntable on the deck of a SPAR buoy as an equivalent cylinder) or
where the cylinder is shielded from drag by adjacent structure, then the drag areas should be set accordingly. For
example, if the cylinder is shielded below by another cylinder of diameter d (less than D) then the axial drag area
should be reduced by (.d
2
)/4 to model that shielding.
Set the Drag Force Coefficient based on values given in the literature. For short simple cylinders fully immersed
there are standard values given in the literature (see Barltrop & Adams, 1991, Hoerner,1965 and DNV-RP-C205).
However, the standard book values do not include energy absorption by wave-making at the free surface. Strictly,
this is a linear term (forces directly proportional to velocity), but in OrcaFlex this must be done by adjusting the
drag coefficients of one or more cylinders.
The Unit Damping Force data can be set to zero. If you later find that the buoy shows persistent small amplitude
oscillations then you may wish to set a non-zero value to damp this out.
Set the Drag Area Moments, Drag Moment Coefficients and Unit Damping Moment data. For the normal direction
these data items can usually all be left as zero, providing you have subdivided the buoy into short enough cylinders
(since these terms involve a high power of L, the cylinder length). For the axial direction these data items model the
yaw drag and damping effects, so if this is important to you then set them to model the two main sources, namely
skin friction on the cylinder surface and form drag on any protuberances on the buoy.
Having set up this drag and damping data, it is well worth now running simulations of heave and pitch oscillations
and checking that their rate of decay is reasonable and consistent with any real data you have available.
Discus and CALM Buoys
These types of buoy require different treatment since they have little axial extension. Instead it is their radial
extension that most affects the buoy's pitch properties. As a result the axial discretisation of the buoy into cylinders
does not capture the important effects. For example the pitch damping is often mostly due to radiation damping, i.e.
surface wave generation; this is especially important for a CALM buoy with a skirt.
To deal with this OrcaFlex offers the rotational drag and damping data, but there is little information in the
literature to help in setting up these data. We therefore strongly recommend that you set the data up by calibration
against real test results from model or full scale tests. The easiest information to work with are time history graphs
of the buoy heave and pitch in still water, starting from a displaced position. This will give the heave and pitch
natural periods and the rates of decay and you can adjust the buoy's drag and damping data until you get a good
match with this measured behaviour.
Here is the approach we use:
- For the normal direction, set the Drag Area, Drag Force Coefficient and Unit Damping Force as described for
Spar buoys above.
- Then set the axial Unit Damping Force to zero and run a simulation that matches the conditions that existed in
the real heave time history results, i.e. with the same initial Z displacement.
- Then adjust the axial Drag Area and Drag Force Coefficients until the OrcaFlex buoy's Z time history matches the
real time history. These two data items are simply multiplied together when they are used to calculate the drag
force, so you can give one of the two data items a fixed positive value (e.g. 1) and then adjust the other.
- The match will probably be poor in the later parts of the time history, where the heave amplitude has decayed
to small values. This is because the square law drag term is insignificant at small amplitude and instead the
damping force takes over. Therefore we now adjust the axial Unit Damping Force to further improve the match
System Modelling: Data and Results, 3D Buoys
w

414
where the amplitude is small. You may find that this disturbs the match in the large amplitude part, in which
case you might need to readjust the drag data.
- For the axial direction, set the Drag Area Moment, Drag Moment Coefficient and Unit Damping Moment as
described for Spar buoys above.
- Then set the normal Drag Area Moment, Drag Moment Coefficient and Unit Damping Moment to best match the
real pitch time history, in a similar way to that used above to match the heave time history.
6.10 3D BUOYS
OrcaFlex 3D Buoys are simplified point elements with only 3 degrees of freedom: X, Y and Z. They do not rotate, but
remain aligned with the global axes. They therefore do not have rotational properties and moments on the buoy are
ignored. They should therefore be used only where these limitations are unimportant.
3D Buoys are able to float part-submerged at the surface, and may also be used independently, with no lines
attached. Although they are much less sophisticated than 6D Buoys, 3D Buoys are easier to use and are convenient
for modelling buoys at line junctions etc.

Figure: 3D Buoy
6.10.1 Data
Name
Used to refer to the 3D Buoy.
Included in Static Analysis
Determines whether the equilibrium position of the buoy is calculated by the static analysis. See Buoy Degrees of
Freedom Included in Static Analysis.
Disturbance Vessel
Determines whether the 3D Buoy will experience sea state disturbance generated by a particular vessel.
Initial Position
Specifies the initial position for the buoy origin as coordinates relative to the global axes. If the buoy is not included
in the static analysis then this initial position is taken to be the static position of the buoy. If the buoy is included in
the static analysis, then this initial position is used as an initial estimate of the buoy position and the statics
calculation will move the buoy from this position iteratively until an equilibrium position is found. See Buoy Degrees
of Freedom Included in Static Analysis.
Mass
Mass or weight in air.
B
y
z
x
height/2
height/2
Buoy Axes
always aligned
with Global Axes
w
System Modelling: Data and Results, 3D Buoys
415
Volume
Used to calculate buoyancy and added mass.
Bulk Modulus
Specifies the compressibility of the buoy. If the buoy is not significantly compressible, then the Bulk Modulus can be
set to Infinity, which means "incompressible". See Buoyancy Variation.
Height
Used to model floating buoys correctly, where the buoyancy, drag etc. vary according to the depth of immersion. It
also determines the height used to draw the buoy. The Height is the vertical distance over which the fluid-related
forces change from zero to full force as the buoy pierces the surface. It is taken to be symmetrical about the buoy's
origin.
Seabed Friction Coefficient
OrcaFlex applies Coulomb friction between the buoy and the seabed. The friction force applied never exceeds R
where R is the seabed reaction force and is the friction coefficient.
See Friction Theory for further details of the friction model used.
Note: The friction coefficient for contact with elastic solids is specified on the Solid Friction Coefficients
data form.
Contact Area
Used to determine contact forces when the buoy comes in to contact with the seabed and with elastic solids. If a
value of '~' is specified then OrcaFlex uses Volume / Height.
Specifying a value of zero allows you to disable contact for the buoy.
Drag
Drag forces are applied in each of the global axes directions GX, GY and GZ. For each direction you must specify a
Drag Coefficient and Drag Area.
Added Mass
You must specify the added mass coefficient Ca for each global axis direction. The added mass is set to be Ca
multiplied by the mass of water currently displaced. The inertia coefficient, Cm, is set automatically to equal 1+Ca.
6.10.2 Properties Report
The 3D Buoy properties report is available from the popup menu on the data form. It reports the following:
Weight in air
The force due to gravity acting on the buoy's mass.
Displacement
The weight of water displaced by the buoy's volume. The reported value uses the water density at the sea surface.
Weight in water
Equals Weight in air - Displacement.
Statics force accuracy, Statics moment accuracy
These are only reported if the buoy is included in statics.
The static analysis searches for an equilibrium position for the buoy that is a position for which the resultant force
on the buoy is zero. We refer to the resultant force as the out of balance load. Because computers have limited
numerical precision the static analysis cannot always find a configuration where the out of balance load is exactly
zero. OrcaFlex accepts a position as a static equilibrium position if the largest out of balance load component is less
than the statics accuracy.
The Statics force accuracy equals Tolerance * buoy typical force. The buoy typical force is based on the weight in air,
the displacement and the forces applied by connected objects.
Reducing the Tolerance value will give a more accurate static equilibrium position, but will take more iterations.
OrcaFlex may not be able to achieve the Tolerance specified if it is too small, since the computer has limited
numerical precision.
6.10.3 Results
For details on how to select results variables see Selecting Variables.
For 3D Buoys the available variables are:
System Modelling: Data and Results, Winches
w

416
X,Y and Z
Positions of the buoy origin, relative to global axes.
Velocity, X Velocity, Y Velocity, Z Velocity
Acceleration, X Acceleration, Y Acceleration, Z Acceleration
The magnitude and components (with respect to global axes) of the velocity and acceleration of the buoy.
Surface Z
The global Z coordinate of the sea surface directly above the instantaneous position of the buoy origin.
Sea Velocity, Sea Velocity X, Sea Velocity Y, Sea Velocity Z,
Sea Acceleration, Sea Acceleration X, Sea Acceleration Y, Sea Acceleration Z
The magnitude and global X, Y and Z components of the water particle velocity (due to current and waves) and
acceleration (due to waves) at the position of the buoy. If the buoy is above the water surface then zero is reported.
If the buoy experiences sea state disturbance this will be accounted for in the results.
Dry Length
Length of buoy above the water surface, measured along the buoy z axis. For this purpose, the z-extent of a 3D buoy
is assumed to be Height/2 either side of its volume centre.
6.11 WINCHES
Winches provide a way of modelling constant tension or constant speed winches. They connect two (or more)
points in the model by a winch wire, fed from a winch inertia (typically representing a winch drum) that is then
driven by a winch drive (typically representing the winch hydraulics that drive the drum).
As well as connecting its two end points, the winch wire may, optionally, pass via intermediate points, in which case
it does so as if passing over a small frictionless pulley at that point. The wire tension either side of the intermediate
point is then applied to that point; if the point is offset on the object involved then this also gives rise to an applied
moment.

Figure: Winch Model
Two types of winch are available in OrcaFlex:
Simple Winches
Simple Winches model perfect constant tension or constant speed performance and are easiest to use. It is assumed
that the winch inertia is negligible and the winch drive is perfect, so that it always exactly achieves the requested
constant tension or constant speed. Because of these assumptions, no data needs to be given for the winch inertia or
winch drive.
Detailed Winches
Detailed Winches include modelling of the performance of the winch drive system its deadband, stiffness, inertia,
damping and drag but therefore require more data and are harder to set up.
Winch Drive Winch Inertia
Drive
Force
f
t t
t
Wire
Tension
t
Winch may pull via
intermediate objects
Winch wire
w
System Modelling: Data and Results, Winches
417
We recommend using Simple winches unless you know the characteristics of the winch drive system and believe
that its performance significantly differs from the constant tension or speed ideal. In particular, Simple winches are
appropriate:
- At the early design stage, when the type of winch to be used has not yet been decided.
- If the duty is such that the winch drive will give near to perfect constant tension or constant speed performance.
- If the winch drive data are not available.
Winch Control
OrcaFlex winches allow quite complex offshore operations to be modelled. The winch drive can be operated in
either of two modes:
Length Control Mode
For modelling constant speed winches. The winch wire is paid out or hauled in at a velocity specified in the data.
Force Control Mode
For modelling tension controlled winches. Since such winches are usually hydraulic devices whose performance
deviates quite seriously from the target tension ideal, OrcaFlex Winches provides facilities for modelling winch
deadband, damping and drag forces (force decrements proportional to velocity and velocity
2
respectively) and
winch stiffness effects such as those caused by hydraulic accumulators.
The winch can be switched between these two modes at predetermined times during the simulation and the
constant velocity or target tension can also be varied.
6.11.1 Data
Name
Used to refer to the Winch.
Type
May be either Simple or Detailed. See Winches.
Connect to Object and Object Relative Position
The (mass-less) winch wire connects at least two objects, one at each end of the winch wire.
If more than 2 are specified then the winch wire passes from the first connection point to the last via the
intermediate points specified. When intermediate connections are specified, the winch wire slides freely through
these intermediate points as if passing via small friction-less pulleys mounted there. The winch wire tension on
either side then pulls on the intermediate points, so applying forces and moments (if the points are offset) to the
objects concerned.
Each connection is defined by specifying the object connected and the object-relative position of the connection
point.
For connecting to a Line, the object-relative z coordinate specifies the arc length to the connection point. The z
coordinate specifies the arc length along the Line and this arc length may be measured relative to either End A or
End B as specified by the user. The connection point is attached to the nearest node. If torsion is not modelled then
the x,y coordinates are ignored and the connection point is at the centreline of the Line. If torsion is modelled then
the x,y coordinates allow you to offset the connection from the centreline.
For Fixed connections the object-relative coordinates given are the global coordinates of the point.
For connecting to an Anchor, the object-relative x,y coordinates given are the global X,Y coordinates of the anchor
point, and the z-coordinate is the distance of the anchor above (positive) or below (negative) the seabed at that X,Y
position.
For connecting to other objects, the coordinates of the connection point are given relative to the object local frame
of reference.
Release at Start of Stage
The winch wire can be released at the start of a given stage of the simulation, by setting this number to the stage
number required. Once released the winch no longer applies any forces to the objects it connects. If no release is
required, then set this item to '~'.
6.11.2 Wire Properties
Wire Stiffness
The elastic stiffness, K, of the winch wire. The winch tension contribution from wire stiffness is given by
K .
System Modelling: Data and Results, Winches
w

418
where = wire strain.
Wire Damping
A dimensional stiffness-proportional material damping factor, C, for the winch wire. The winch tension contribution
from wire material damping is given by
C . K . d/dt
where d/dt = wire strain rate.
Note: The mass of the winch wire is not modelled.
Winch Inertia (Detailed Winches only)
The inertia of the winch drive, which resists changes in the rate of pay out of haul in of the winch wire if the winch is
in Force Control mode. The Winch Inertia has no effect if the winch is in Length Control mode.
This is a linear, rather than rotational, inertia. To represent the rotational inertia of a winch drum, set the winch
inertia to
l / r
2

where
I = drum rotational inertia,
r = radius at which the wire is fed.
See Winch Theory.
Notes: The winch inertia does not contribute to the mass of any objects to which the winch is attached
and so does not directly resist acceleration of any of the connection points. (Such accelerations are
resisted indirectly, of course, through the changes they cause to the winch wire path length and
hence to the winch wire tension.) To include the true translational inertia of the winch drive, drum
and wire it is necessary to suitably increase the masses of the objects to which it is attached.
Setting the winch inertia to a small value to model a low inertia winch can lead to very short
natural periods for the winch system. These then require very short time steps for the simulation,
slowing the simulation. To avoid this, the winch inertia can be set to zero, rather than to a small
value; the winch system inertia is then not modelled at all, but the short natural periods are then
avoided. See Winch Theory for full details of the algorithm used when the winch inertia is zero.
6.11.3 Control
Control Type
Can be either By Stage or Whole Simulation.
When By Stage is selected the winch is controlled on a stage by stage basis. For each stage of the simulation you
choose from the winch control modes. These modes allow you to control the winch payout rate, control the rate of
change of target tension or specify a constant target tension.
Note: The control mode remains fixed for the duration of each stage. Because there is a limit on the
number of stages in an OrcaFlex simulation this can be restrictive.
When Whole Simulation is selected the winch is either tension controlled or length controlled for the whole
simulation. For the tension controlled mode the target tension can be fixed, vary with simulation time or be given by
an external function. Likewise for the length controlled mode the payout rate of unstretched winch wire can be
fixed, vary with simulation time or be given by an external function.
6.11.4 Control by Stage
Winch Control for Statics
For the static analysis, the winch control Mode can be set to one of the following values.
Specified Length
The winch drive is locked with the unstretched length of winch wire out, L0, being set to the Value specified. The
winch wire tension t then depends on the stretched length L of the winch wire path.
Specified Tension
The winch drive operates in perfect constant tension mode, the tension t being the Value specified. The unstretched
length out L0 is then set to correspond to this tension.
w
System Modelling: Data and Results, Winches
419
Winch Control for Dynamics
During the simulation the winch is controlled on a stage by stage basis. For each stage the winch control Mode can
be set to one of the following values.
Specified Payout
The Value specifies the unstretched length of winch wire to be paid out (positive) or hauled in (negative) at a
constant rate during this stage. That is, the Value specifies the total change in unstretched length during the stage,
so to keep a constant length set the Value to zero.
Specified Payout Rate
The Value specifies the rate at which the winch wire is to be paid out (positive) or hauled in (negative) during this
stage.
Specified Payout Rate Change
The Value specifies the change in the payout rate during this stage. This typically results in smoother responses
than Specified Payout or Specified Payout Rate.
Length at Stage End
The Value specifies the length of the winch at the end of this stage.
Specified Tension
The Value specifies the target constant tension for this stage.
For Simple winches the winch drive is assumed to always achieve this nominal tension, so the Value is used as the
actual winch wire tension.
For Detailed winches this nominal tension is used as the target tension for the winch drive, which then applies
drive force to the winch inertia to try to achieve this target tension. The algorithm for the winch drive force is
designed to model the characteristics of real-world winches that are nominally "constant tension". See Winch
Theory.
Note: Changes of nominal tension are applied instantly at the start of each stage, and this can therefore
apply a shock load which, if large enough, may affect the stability of the simulation.
Specified Tension Change
The Value specifies the change in target tension for this stage. That is, the Value specifies the total change in
nominal tension during the stage, so to keep at a constant nominal tension set the Value to zero.
The above comments for the Specified Tension control method also apply to this method.
Specified Tension Rate of Change
The Value specifies the rate of change in target tension for this stage.
The above comments for the Specified Tension control method also apply to this method.
Note: The Specified Tension Change and Specified Tension Rate of Change modes allow you, for example,
to model a constant tension winch where the tension is determined by an earlier simulation stage.
By specifying a tension change of 0 following a payout stage you can lock the winch at the tension
used at the end of the payout operation.
6.11.5 Control by Whole Simulation
Statics Mode
The winch control data for statics is the same as the data specified in the By Stage control type.
Dynamics Mode
The winch is controlled either by Specified Tension or by Specified Payout Rate.
If Specified Tension is set then you must also specify the target tension. This value can be fixed, vary with
simulation time or be given by an external function.
If Specified Payout Rate is set then you must also specify the payout rate of unstretched winch wire. This value can
be fixed, vary with simulation time or be given by an external function.
6.11.6 Drive Unit
Note: The drive unit data applies to Detailed Winches only
System Modelling: Data and Results, Winches
w

420
Winch Drive
The winch drive controls the winch wire in one of two winch control modes: Length Control mode ("Specified
Length", "Specified Payout" or "Specified Payout Rate") or Force Control mode ("Specified Tension", "Specified
Tension Change" or "Specified Tension Rate of Change").
- Length Control mode is for modelling a constant speed winch. The winch tension then depends simply on the
unstretched length of winch wire out, and the wire properties (Stiffness and Damping).
- Force Control mode is for modelling a (nominally) constant tension winch. Because such winches often deviate
quite seriously from the constant tension ideal, facilities are provided for modelling winch Deadband,
Damping, Drag and Stiffness.
Deadband
A deadband of +/- this value is applied to the winch drive force between hauling in and paying out the winch. See
Winch Theory for full details.
Stiffness
This can be used to model, for example, winch hydraulic accumulators. It is the rate at which the zero-velocity winch
force (the drive force applied when the winch is neither hauling in nor paying out) varies with the total unstretched
length of winch wire paid out. See Winch Theory.
Damping Terms A and B
These terms can be used to model damping in a winch's hydraulic drive system. The winch drive force is taken to
vary with haul-in/payout velocity at rates A and B, respectively. See Winch Theory.
Drag Terms C and D
These terms can be used to model drag in a winch's hydraulic drive system. The winch drive force is taken to vary
with haul-in/payout velocity
2
at rates C and D, respectively. See Winch Theory.
6.11.7 External Functions
Parameters
This data item specifies the External Function Parameters, a free form multi-line text field which is passed to any
external function used by the Winch object.
6.11.8 Results
For details on how to select results variables see Selecting Variables.
For winches the available variables are:
X, Y and Z
The global coordinates of the specified winch connection point.
Tension
The tension in the winch wire.
Length
The unstretched length of winch wire paid out.
Stretched Length
The stretched length of winch wire. This is the total distance between the winch connection points.
Velocity
The rate of pay out of winch wire. Positive value means paying out, negative value means hauling in.
Azimuth and Declination
The azimuth and declination angles of the direction of the winch wire between the final 2 connection points, relative
to the global axes. This direction is measured from the last connection point towards the previous connection point.
Declination is in the range 0 to 180. Range jump suppression is applied to Azimuth (so values outside the range -
360 to +360 might be reported).
Connection Force, Connection GX-Force, Connection GY-Force, Connection GZ-Force
The magnitude and components relative to global axes of the connection force at the specified winch connection
point. We adopt the convention that the force reported is that applied by the winch to the object to which it is
connected.
w
System Modelling: Data and Results, Links
421
6.12 LINKS
Links are simple spring or spring/damper connections linking two points in the model, for example a node on a line
to a vessel, or a buoy to an anchor. They pull the two points together, or hold them apart, with a force that depends
on their relative positions and velocities.
Links have no mass or hydrodynamic loading and simply apply an equal and opposite force to the two points. They
are useful for modelling items such as wires where the mass and hydrodynamic effects are small and can be
neglected; for example buoy ties can sometimes be modelled using links.
Two types of Link are available:
Tethers
Simple elastic ties that can take tension but not compression. The unstretched length and stiffness of the
tether are specified. The tether remains slack and does not apply a force if the distance between the ends is
less than the unstretched length.
Spring/Dampers
Combined spring and independent damper units. The spring can take both compression and tension and can
have either a linear or a piecewise-linear length-force relationship. The damper velocity-force relationship
can also be either linear or piecewise-linear.

Figure: Types of Link
6.12.1 Data
Name
Used to refer to the Link.
Type
may be either:
- Tether: a simple elastic tie having linear stiffness and no damping.
- Spring/Damper: a combined spring and independent damper, each of which can be either linear or piecewise-
linear.
Connect to Object and Object Relative Position
Specifies the objects to be linked.
For connecting to a Line, the object-relative z coordinate specifies the arc length to the connection point. The z
coordinate specifies the arc length along the Line and this arc length may be measured relative to either End A or
End B as specified by the user. The connection point is attached to the nearest node. If torsion is not modelled then
the x,y coordinates are ignored and the connection point is at the centreline of the Line. If torsion is modelled then
the x,y coordinates allow you to offset the connection from the centreline.
For Fixed connections the object-relative coordinates given are the global coordinates of the point.
For connecting to an Anchor, the object-relative x,y coordinates given are the global X,Y coordinates of the anchor
point, and the z-coordinate is the distance of the anchor above (positive) or below (negative) the seabed at that X,Y
position.
For connecting to other objects, the coordinates of the connection point are given relative to the object local frame
of reference.
Spring-Damper:
Tether:
System Modelling: Data and Results, Links
w

422
Release at Start of Stage
The link can be released at the start of a given stage of the simulation, by setting this number to the stage number
required. Once released a link no longer applies any forces to the objects it connects. If no release is required, then
set this item to '~'.
Unstretched Length
Is the unstretched length of the Tether or Spring.
Linear
Both the spring and damper in a Spring/Damper can have either simple linear force characteristics or else a user-
specified piecewise-linear force table.
Stiffness
For a tether the tension T depends on its strain and stiffness as follows:
T = k(L-L0)/L0 for L>L0
T = 0 for LL0
where
k is the specified Stiffness,
L is the stretched length between the two ends,
L0 is the specified Unstretched Length.
For a linear spring in a Spring/Damper the tension (positive) or compression (negative) is given by:
T = k(L-L0)
The linear spring does not go slack if L is less than L0, but instead goes into compression.
Warning: Please note that this is not the same formula as for tethers.
Damping
A linear damper in a Spring/Damper exerts an extra tension of
c.dL/dt
where
c is the specified Damping,
dL/dt is the rate of change of L.
Non-linear force tables
For a non-linear spring (or damper) the force characteristic is specified as a table of tension against length (or
velocity). The table must be arranged in increasing order of length (velocity) and a negative tension indicates
compression. For a passive damper the tensions specified should therefore normally have the same sign as the
velocities, since otherwise the damper will apply negative damping. For lengths (velocities) between, or outside,
those specified in the table the program will use linear interpolation, or extrapolation, to calculate the tension.
6.12.2 Results
For details on how to select results variables see Selecting Variables.
For links the following variables are available:
Tension
The total tension in the link.
Length
The current stretched length of the link.
Velocity
The rate of increase of the stretched length.
Azimuth and Declination
The azimuth and declination angles, relative to global axes, of the End A to End B direction of the link.
End A X, End A Y, End A Z, End B X, End B Y and End B Z
The global coordinates of the link.
w
System Modelling: Data and Results, Shapes
423
6.13 SHAPES

Figure: Examples of Block, Cylinder and Curved plate shapes
Shapes are simple 3 dimensional geometric objects that can be configured in a variety of ways:
1. Elastic solids are used to model physical obstacles,
2. Trapped water are used to model moonpools or other areas where fluid motion is suppressed.
3. Drawing shapes have no physical effect on the model and are just intended for drawing purposes.
You may choose between a number of different basic geometric shapes and several shapes can then be placed
together to defined more complex shapes. The basic shapes available are planes, blocks, cylinders and curved plates.
Elastic solids
An elastic solid represents a physical barrier to the motion of lines and buoys. It is made of a material of a specified
stiffness and resists penetration by applying a reaction force normal to the nearest surface of the elastic solid and
proportional to the depth of penetration of the object into the elastic solid.
Each elastic solid has an associated stiffness, which determines the rate at which the force applied to an object
increases with the area of contact and depth of penetration into the elastic solid. The stiffness is the force per unit
area of contact per unit depth of penetration.
Contact with elastic solids can model friction. Friction coefficients are specified on the Solid Friction Coefficients
data form. Note that friction for contact with elastic solids is only included during dynamics.
Where an object interacts with more than one elastic solid simultaneously, the force acting on it is the sum of the
individual forces from each elastic solid.
Elastic solids are intended only for modelling the overall limitation on movement that a physical barrier presents;
they are not intended to model an object's interaction with the barrier in detail. For example the calculation of the
contact area and penetration depth are very simplistic and do not allow for the detailed geometric shape of the
object. The value given for Stiffness is therefore not normally important, providing it is high enough to keep
penetration small. On the other hand, although the actual stiffness of real barriers is usually very high, the Stiffness
should not be set too high since this can introduce very short natural periods which in turn require very short
simulation time steps.
Lines only interact with elastic solids by their nodes coming into contact, so elastic solids that are smaller than the
segment length can "slip" between adjacent nodes. The segment length in a line should be therefore be small
compared with the dimensions of any elastic solid with which the line may make contact.
Trapped water
Trapped water can be used to model hydrodynamic shielding i.e. areas such as moonpools, the inside of spars or
behind breakwaters, where wave and current effects are suppressed.
System Modelling: Data and Results, Shapes
w

424
Inside a trapped water shape the fluid motion is calculated as if the fluid was moving with the shape. So if the
trapped water shape is fixed then no fluid motion occurs in the shape this could be used to model a breakwater.
But if the shape is connected to a moving vessel, for example, then the trapped water is assumed to move with the
vessel this could be used to model a moonpool.
Note: Objects ignore any trapped water shapes which are connected to that particular object. If this
wasn't done then if you connected a trapped water shape to a buoy and part of the buoy was in the
trapped water shape then a feedback would occur (the buoy motion determines the motion of the
shape, which in turn would affect the fluid forces on the buoy and hence its motion). Such feedback
is undesirable so the buoy ignores any trapped water shapes that are connected to it.
Drawing shapes
Drawing shapes have no physical effect on the model. They can be used to draw objects of interest and do not
interact with other objects.
6.13.1 Data
Name
Used to refer to the shape.
Type
Either Elastic Solid or Trapped Water.
Shape
Can be one of Block, Cylinder, Curved Plate or Plane.
Connection
Can be Fixed, Anchored or connected to another object (Vessels, 3D Buoys or 6D Buoys).
Position
Each shape has position data. For blocks it is named Origin, for cylinders and curved plates it is named End
Position and for planes it is named Point on Plane.
This point is taken as the origin of the shape's local x,y,z axes.
For Fixed connections this is the global position of the point.
For Anchored connections the object-relative x,y coordinates given are the global X,Y coordinates of the anchor
point, and the z-coordinate is the distance of the anchor above (positive) or below (negative) the seabed at that X,Y
position.
For connections to other objects, the coordinates of the connection point are given relative to the object local frame
of reference.
Pens and Number of Lines
Each surface of the solid is drawn as a wire frame using one the specified pens. To aid visualisation, the Outside pen
is used if the surface is being viewed from the outside of the solid, and the Inside pen is used if it is being viewed
from the inside.
The Number of Lines determines how many lines are used in the wire frames a larger value gives a more realistic
picture, but takes a little longer to draw.
Data for Elastic Solids
Normal Stiffness
This is the reaction force that the solid applies per unit depth of penetration per unit area of contact. Stiffness may
be set to zero, giving a solid that is drawn but which has no effect on the other objects in the system.
Shear Stiffness
The Shear Stiffness is used by the friction calculation. A value of '~' results in the Normal Stiffness being used. A
value of 0 disables friction.
Damping
The percentage of critical damping for the elastic solid. Damping is always zero when using the implicit integration
scheme.
See Shape Theory for technical details.
w
System Modelling: Data and Results, Shapes
425
6.13.2 Blocks

A Block shape is a rectangular cuboid, defined by giving:
Size
This defines the block's dimensions in its local x, y and z directions. With respect to its local axes, the block occupies
the volume x=0 to Size(x), y=0 to Size(y), z=0 to Size(z).
Orientation
This is defined by giving three rotation angles, Rotation 1, 2 and 3, that define its orientation relative to the object to
which the block is attached, or else relative to global axes if it is not attached to another object. For example, if the
block is attached to an object with local axes Lxyz, then the 3 rotations define the orientation of the block axes Bxyz
as follows. First align the block with the local axes of the object to which it is attached, so that Bxyz are in the same
directions as Lxyz. Then apply Rotation 1 about Bx (=Lx), followed by Rotation 2 about the new By direction, and
finally Rotation 2 about the new (and final) Bz direction.
6.13.3 Cylinders

A cylinder shape is a thick walled hollow pipe defined by giving:
- Inner and Outer Diameter.
- Length.
- Azimuth and Declination of the axis.
Block Position B
x
y
z
y-size
x-size
z-size
r
r = Inner Radius
R = Outer Radius
R
End 1 Position
End 2 Position
System Modelling: Data and Results, Shapes
w

426
The azimuth and declination define the direction of the axis relative to the local axes of the object to which the end is
connected. For objects that rotate, such as vessels and 6D buoys, the axis direction therefore rotates with the object.
For Fixed or Anchored ends it is defined relative to global axes.
Cylinders are drawn using circles to represent the end faces and a number of rectangular facets to represent around
the curved surfaces. The number of facets used is the Number of Lines specified. Two gives a very simple wire frame
profile of the cylinder, whilst a very large number gives a pseudo-opaque cylinder at the expense of drawing speed.
If the Inner Diameter is zero then a solid disc is formed.
If the cylinder is an elastic solid then reaction forces are applied:
- Radially inwards if an object comes into contact with the inner curved surface.
- Radially outwards if an object comes into contact with the outer curved surface.
- Normally outwards if an object comes into contact with one of the end faces.
6.13.4 Curved Plates

Figure: Some example curved plate shapes
Curved plate shapes are particularly suited to modelling bellmouths although they are not restricted to this
application. The curved plate shape is similar to the cylinder. It differs in that the radius of the shape can vary
smoothly between the ends. Curved plates can be either filled in or hollow.
Shape is hollow
If ticked then the shape is hollow and has both inner and outer surfaces. The middle picture above is not hollow
whereas the other two are.
Orientation
This is defined by giving three rotation angles, Azimuth, Declination and Gamma, that define its orientation
relative to the object to which the shape is attached, or else relative to global axes if it is not attached to another
object. The Azimuth and Declination values define the direction of the principal axis. The Gamma value specifies
rotation of the shape about its own axis and so is only relevant when the Included Angle of Revolution is not equal to
360.
Included Angle of Revolution
The curved plate is a solid of revolution. A value of 360 gives a complete revolution as shown in the first 2 pictures
above. Other values can be used to model partial or cut-away curved plates for example the right-most picture
above has an included angle of 90.
Thickness
If the shape is hollow then this data item specifies the wall thickness. This thickness specifies the thickness normal
to the shape's axis or centreline.
Note: You may need to specify an artificially large value for thickness in order to avoid objects passing
through the shape's wall during the static calculation.
Profile
A table specifying the variation of diameter with distance along the shape's axis or centreline. The radius is the
radial distance (i.e. in direction normal to the shape axis) from the axis to the surface. If the shape is hollow then the
profile defines the radius to the inner surface. If the shape is not hollow then the profile defines the radius to the
outer surface. Cubic Bessel interpolation is used to generate a smooth profile.
w
System Modelling: Data and Results, Shapes
427
6.13.5 Planes

A plane shape is an infinite plane surface one side of the plane is outside and the other is inside. The position of
the plane is defined by specifying a Point on Plane through which it passes.
The angle of the plane is specified by giving its (maximum) Slope Angle and Slope Direction, relative to the object
to which it is connected, as follows.
- For a fixed or anchored shape, the Slope Angle is specified by giving the angle of elevation of the line of
maximum slope, relative to the global XY plane (i.e. relative to the horizontal). A Slope Angle of 90 is therefore a
vertical plane. The Slope Direction is specified as the direction of the line of maximum upwards slope, relative to
global axes. For example a plane having a Slope Angle of 30 and a Slope Direction of 90 slopes upwards in the
positive Y direction at 30 to the horizontal.
- For a shape connected to another object, the Slope Angle and Slope Direction are relative to the object's local xy
plane. For example with a Slope Angle of 30 and a Slope Direction of 90, the plane slopes upwards in the
positive y direction at 30 to the object's local xy plane.
A plane with zero slope angle is therefore parallel to the xy plane of the object to which it is connected, or parallel to
the global XY plane (i.e. horizontal) in the case of a Fixed or Anchored plane.
The 'inside' of a plane is on the negative z side (i.e. below for a Fixed or Anchored plane) if the Slope Angle is in the
range -90 to +90, and on the positive z side (i.e. above for a Fixed or Anchored plane) otherwise.
Planes are drawn as a rectangular grid, with the specified Number of Lines, using a spacing determined by the view
size. Planes extend to infinity in all directions, but only a part of the infinite plane local to the view centre is shown
on the 3D view.
6.13.6 Drawing
Wire frame drawing
Representation of shapes in the wire frame drawing mode can be confusing. OrcaFlex does not provide hidden-line
removal so shape objects are displayed by simple wire-frame drawings. You may exercise control over the display
by selecting the number of lines drawn for each object, and the sequence in which they are drawn. For pen details,
see How Objects Are Drawn.
Where it is necessary to keep the display simple you should set Number of Lines to 2 for blocks and cylinders. If the
number of lines is set large for blocks or cylinders they appear as solid objects, although they may take a long time
to draw.
For planes you can control how they are drawn with the Grid Density data item. This is specified in terms of the
length of the scale bar on the 3D view. A density of d means that there are d lines per scale bar length, so higher
density values give a finer grid (but takes longer to draw).
Please note also that the Number of Lines only affects the drawing, and not the calculations (which are correctly
performed with curved geometry). Planes and Blocks are drawn first, and then Cylinders, but otherwise the solids in
the model are drawn in the sequence that they were created. You can sometimes take advantage of this, by defining
background shapes before foreground ones, to obtain a pseudo-hidden line effect. You are encouraged to
experiment, but simplicity is best.
Hint: Although the program provides depth clues to the eye by drawing rear faces in a different colour,
the eye can sometimes be fooled by the picture try rotating the view back and forth a few times.
Shaded Drawing
By default, for shaded 3D Views, shapes are drawn as solid objects using the specified geometry.
Direction of
Maximum Slope
Slope
Point on Plane
System Modelling: Data and Results, All Objects Data Form
w

428
Alternatively the object can be represented by an imported 3D model by specifying the Shaded Drawing File. This
must be a Direct X format file, usually with the .x file extension. If you use a relative path then the path will be taken
as relative to the folder containing the OrcaFlex file.
The Browse button allows you to specify the Shaded Drawing File quickly and also provides quick access to the
Orcina sample drawings via the Navigate to Orcina sample drawings button.
The Use Culling option is normally selected since it can provide a useful performance benefit. However, in order to
work it requires that the triangles defined in the .x file have their outward facing directions defined correctly. In the
unusual situation where the outward facing directions are not defined correctly then the .x file will not display
correctly. If this happens then typically sections of the model will be missing when drawn by OrcaFlex. Disabling the
Use Culling option resolves this problem.
Draw Size is provided to allow you to scale the drawing. All directions are scaled equally to arrange that the longest
side in the drawing is drawn to the specified Draw Size. This longest side is calculated by first fitting the smallest
possible cuboid around the vertices of the shaded drawing (these are defined in the .x file). This cuboid is aligned
with the shaded drawing's local axes. Then the length of the longest side of this cuboid is found.
Specify a value of '~' to display the drawing using the absolute coordinates as specified in the .x file.
Note: If you use a value of '~' for Draw Size then OrcaFlex uses the coordinates in the .x file directly. If
these coordinates use a different length units system from your OrcaFlex model then you should
specify the units used in the .x file by including an auxiliary file called AdditionalInformation.txt.
Examples of this can be found in the sample shaded drawings provided by Orcina.
Shaded Drawing Origin is provided because the shaded drawing and the shape may have different origins. The
Shaded Drawing Origin defines the origin of the shaded drawing with respect to the shape's local axis system.
Similarly Shaded Drawing Orientation allows you to reorient the shaded drawing to match the shape's axis
system.
Shaded Drawing Plane Translucency (only available for planes)
Controls how translucent the plane appears in the Shaded Graphics mode. A value of 0% gives a solid surface and all
objects behind the surface will not be visible. A value of 100% specifies transparency and leads to a completely see-
through surface.
Note: This data item is not used if an imported 3D model is used to draw the shape.
6.13.7 Results
For details on how to select results variables see Selecting Variables.
Contact Force,
Contact GX-Force, Contact GY-Force, Contact GZ-Force,
Contact Lx-Force, Contact Ly-Force and Contact Lz-Force
The magnitude and components of the total force applied by an elastic solid to other objects in the model. The
components are reported relative to either global axes (GX, GY, GZ) or local axes (Lx, Ly, Lz).
These variables are only available for elastic solids.
X, Y, Z
The global coordinates of the shape origin.
Velocity, GX-Velocity, GY-Velocity, GZ-Velocity,
Acceleration, GX-Acceleration, GY-Acceleration, GZ-Acceleration
The magnitude and components (with respect to global axes) of the velocity and acceleration of the shape origin.
6.14 ALL OBJECTS DATA FORM
The All Objects Data Form allows you to view or edit data for all the objects in the model on a single form. This is
particularly useful for simultaneous viewing or editing of properties of multiple objects. The form can be opened
using the model browser.
There are two modes of operation: Connections or Other data.
Connections
The Connections mode allows you to edit connection specific data for all Lines, Links and Winches in the model.
You can choose to filter which object types appear in the list each object type (Lines, Links or Winches) can be
included or excluded from the list.
w
System Modelling: Data and Results, All Objects Data Form
429
Positions and Connections pages
The Positions and Connections pages allow you to view or edit all the connection data. This is the same data as on
the individual data forms and includes the following data items:
- The positions (as Cartesian coordinates) relative to the frame of reference of the object to which the connection
is attached.
- For Links and Winches connected to a line, the reference line end (either End A or End B) for the z coordinate.
- Height above seabed for anchored line ends.
- Connection orientation and stiffnesses for line ends.
- Release stage for line ends.
Polar Coordinates page
The Polar Coordinates page provides a way of viewing or setting the positions of the connections using polar
coordinates, relative to a choice of frames of reference. This facility is useful for cases, for example mooring arrays,
where a series of connections need to be laid out around a circle.
The polar coordinates (R, , Z) are those of the connection position relative to the selected polar coordinates frame
of reference (see below). The Cartesian coordinates of the connection, relative to the same reference frame, are
(Rcos(), Rsin(), Z).
On the other hand, the Object Relative Position data are the Cartesian coordinates of the connection relative to the
frame of reference of the object to which it is connected.
OrcaFlex keeps the two sets of coordinates synchronised, so if you change one then the other is automatically
updated to match. If you change any other data then the Cartesian Object Relative Position coordinates are taken to
be the master data and so left unchanged, and the polar coordinates are updated to match.
You have a quite a lot of flexibility to choose what reference frame you want for the polar coordinates. The reference
frame has its origin at your chosen Reference Origin and has its axes are parallel to those of your chosen
Reference Axes.
For the reference origin you can choose between:
- The global origin.
- The point on the seabed that is directly below the global origin. This is only available if a connection point is
anchored.
- The origin of the frame of reference of any connected object.
- The position of the other end of the object available for Lines and Links only.
And for the reference axes directions you can choose between:
- The global axes directions.
- The axes directions of the frame of reference of any connected object.
Example of Using Polar Coordinates
The choices of reference frame for the polar coordinates may seem complex at first sight, but they allow various
useful coordinate transformations to be done easily and accurately. Here is an example.
Consider mooring a spar with an array of 4 lines, each of which has End A connected to the spar and End B
anchored. Suppose you want to place the A ends of the lines so that they are evenly spaced circumferentially around
the spar, all at radius 5m from the spar axis and all 3m below the spar origin. To do this easily, first sort into
Connection order so that all the End A connections are grouped together. Then, for the first line, set the reference
frame origin and axes to be the spar origin and spar axes and set its polar coordinates to be R=5, and Z=-3. You can
now use copy/paste or fill down to set all the other A ends to the same reference origin, axes and R and Z
coordinates. Finally you can set the coordinates for the A ends to 0, 90, 180 and 270.
Similarly, suppose you want the End B connections to be anchored to the seabed, with the anchors again evenly
spaced circumferentially, and with each line spanning 200m horizontally. The easiest reference frame for this is
with the reference origin being End A and the reference axes being the spar axes. The coordinates should again be
set to 0, 90, 180 and 270 and the R coordinates set to 200m. But this time, to set the vertical positions of the B
ends, it is easier (especially if the seabed is sloping) to go to the Connections page and set Connect To Object to be
Anchored and then go to the Positions page and set the Object Relative Position z coordinate to zero.
System Modelling: Data and Results, All Objects Data Form
w

430
Other data
The Other data mode presents tables of data for Vessels, Lines, 6D Buoys, 3D Buoys, Links, Winches and Shapes.
The tables are laid out with each row containing related data for a single object. The notable exception is the Line
sections page in which each row contains data for a single section of a Line.
This tabulation allows data for multiple objects to be set in an efficient and coordinated way. The copy/paste or fill
down keyboard shortcuts are particularly useful here. Another useful technique is to build a table of data in Excel
with identical layout of columns and rows. This allows you to make use of Excel's formulae and data handling
facilities to prepare data, and then to paste it into OrcaFlex in a single operation.
w
Modal Analysis, Data and Results
431
7 MODAL ANALYSIS
7.1 DATA AND RESULTS
The modal analysis form enables you to calculate and view the undamped natural modes of the whole system, or of
a single line. To open this form, see the Modal Analysis command on the Results menu.
Note that modal analysis is only available when the static position of the model has been calculated, since it will
report modes of oscillation about that static mean position. For full details of the calculation, and a discussion of its
limitations, see the Modal Analysis theory section.
Performing modal analysis
To perform a modal analysis you need to specify the following:
- What you want to analyse: the whole system or a single line.
- Which modes you want to calculate. You can ask for All modes or a specified range of modes. For large systems
it is much quicker to calculate only a small number of modes see Modal Analysis Theory for more details.
- Whether you want to calculate the mode shapes or just the natural periods. If you exclude the mode shapes then
the analysis only calculates the natural periods, not the shapes of the natural modes or the mode loads. If you
include the mode shapes then the analysis takes longer.
When you have made your selections click the Calculate button. The modal analysis will then calculate the
undamped natural periods and, if requested, the mode shapes.
Mode Shape
For a given mode, the mode shape consists of the displacements about the mean position when that mode is
excited, of each of the free degrees of freedom that have been included in the modal analysis.
If the modal analysis is for a single line and that line does not include torsion, then the included degrees of freedom
are the translational position of each node of the line that is free to move, i.e. all mid-nodes and any end nodes that
are Free.
If the modal analysis is for a single line and that line does include torsion, then the included degrees of freedom
also consider the rotational orientation of each node of the line that is free to rotate, in addition to the translational
positions of each node that is free to move. This includes all mid-nodes and end nodes that are either Free or else
connected to another object with non-infinite rotational connection stiffness.
If the modal analysis is for the whole system, then the included degrees of freedom are the free degrees of freedom
of all the lines in the model, as described above, plus the degrees of freedom of any vessels and buoys in the model
whose values are calculated by the static analysis. So for a vessel or 6D buoy, the degrees of freedom included in the
mode shape are those specified to be included in the static analysis for that object i.e. None, translational position
only if 3 DOF (for a vessel) or X,Y,Z (for a buoy), or translational and rotational position if 6 DOF (for a vessel) or All
(for a buoy).
Mode Shape Normalisation
Each mode is normalised to have the magnitude of its largest offset vector equal to 1. Here the offset vectors are the
translational offset vectors (in length units) and the rotational offset vectors (in degrees). These offset vectors are
formed from the degrees of freedom that are included in the modal analysis. The largest vector translation or
rotation of any free node or object included in the modal analysis therefore has unit amplitude, where a unit of
translational motion is one of the length units of the model and unit rotational motion is rotation by one degree.
So for a modal analysis of a line that does not include torsion, the mode shape is normalised such that the largest
translational offset of any free node in the line is 1 length unit. For a modal analysis of a line that does include
torsion then the mode shape will be normalised such that either the largest translation of any free-to-move node is 1
length unit, or else the largest rotation of any free-to-rotate node is 1 degree.
Mode Type
If the mode shapes have been calculated with a single line modal analysis, and that line is subject to a non-zero
current (relative to any starting velocity specified for the static analysis), then a broad classification of the mode
type is calculated and included in the modes table.
This classification is based upon how much of the mode shape translational offsets are inline, transverse or axial
motion, and the size of any rotational offsets in the mode shape. This classification can be useful when deciding
which modes are appropriate to be included in a VIV analaysis, and the classification is reported as folllows:
- Offset distribution displays a measure of how inline, transverse, axial and (if torsion is included for that line)
how rotational the mode is. For details see Mode Offset Distribution.
Modal Analysis, Data and Results
w

432
- Mode type classifies each mode according to the offset distribution. Transverse means that the transverse
component is more than 90% of the total, Mostly transverse means that it is between 50% and 90%, and
similarly for inline, mostly inline, axial, mostly axial, rotational and mostly rotational. Mixed means that
none of the components are more than 50% of the total.
Note: The Offset Distribution and Mode Type information is only available for single line analyses where
there is relative flow normal to the line. So if there is no current defined, or if the line is entirely
above the water, then this information will not be available.
Modes View
If mode shapes have been calculated then the Modes View page displays a 3D view of the system showing one
selected mode shape superimposed on the static position of the system. The current direction is also shown on the
view, and you can control the view angle, zoom etc., as on any 3D view. You may need to zoom out in order to see the
system, and you may need to adjust the view angle to suit the mode that you are viewing. For example an out of
plane mode for a catenary is best viewed by looking along the plane of the catenary.
You can use the mode drop-down list to control which mode is shown on the view. Note that when that drop-down
list has the focus (click it to give it the focus) then you can use the arrow keys to quickly increment or decrement the
mode shape number that is displayed.
The drawing exaggeration value allows you to vary the amplitude of the drawn mode shape. The animate mode
shape and draw node axes options allow further control of the mode shape drawing.
If the mode shape is being animated then there is a further choice to make, the animation period. If you select the
mode period option then the animation has a cycle period equal to the mode period. However, for modes with
either very long or very short periods, this option can make visualisation of the mode shape quite difficult. The
alternative option, fixed, animates the mode with a 5s cycle period.
For single line analyses, the offset distribution and mode type for the selected mode is also shown, provided that
there is relative flow normal to the line.
Modes Table
The Modes Table displays a spreadsheet giving details of the calculated modes in numerical form. The modes are
numbered in order of increasing frequency. If the mode shapes have not been calculated then the table only gives
the periods and frequencies of the modes. Otherwise it also gives the mode shapes, reported with respect to your
choice of global axes directions or local axes directions.
Modes Graph
The Modes Graph page displays the mode shapes as range graphs against arc length along the lines. Separate
curves are plotted for X, Y and Z components. The components can be plotted with respect to either global or local
axes.
If a whole system modal analysis has been performed and there are multiple lines included, then the curves for each
of the lines follow one another across the graph. In this situation the arc length axis on the graph covers values from
zero up to the sum of the lengths of all the lines in the system, and the curves for the first line occupy the left-hand
side of the graph, followed by the mode shape curves for the other lines (in the same order as in the model browser
when view by types is used), with each line's arc length range added on to the end of the total length of the previous
lines. For example consider a system that has three lines, each 50 m long. Then the first line's mode shapes are
plotted over arc length range 0 m to 50 m, followed by the second line's mode shapes plotted from 50 m to 100 m,
and finally the third line's mode shapes plotted over arc length range 100 m to 150 m.
Loads Table
The Mode Loads are the amplitudes of the dynamic variations in shear force, tension, bend moment and torque, per
unit mode amplitude, in all the lines included in the modal analysis, that would arise if the objects included in the
analysis oscillated in a given single mode. The mode loads are only available if you calculate the mode shapes.
Both the mode shape and the mode loads represent dynamic oscillations about the mean static state condition, if the
model or single line were to oscillate in that mode shape at that mode frequency. The mode loads therefore
correspond to the mode shape given in the Modes Table, and their magnitudes are affected by the normalisation of
the mode shape. The mode loads are therefore the changes obtained in line loads if the normalised mode shape was
applied as an offset about the mean position, with all non-linear effects ignored and with fluid damping effects
ignored (since it is an undamped modal analysis).
The mode loads are reported at both the line ends, as components in the line end node axes directions, and at each
mid-segment point, as components in the line axes directions at the mid-segment point.
w
Modal Analysis, Theory
433
When a whole system modal analysis has been performed, the mode loads for each line in the model are all
presented together in a single table, one line after another. The lines are ordered in the order in which they appear
in the model browser when view by types is used.
Note: The modal analysis assumes that the system is linear, but most systems are non-linear and the
OrcaFlex simulation includes non-linear effects. So the load variations obtained from an OrcaFlex
simulation in which the line positions are specified to follow the mode shape will not in general
match the mode loads exactly, since the OrcaFlex simulation results will usually include significant
non-linear contributions.
Loads Graph
The Loads Graph page displays the mode loads as range graphs against arc length along the lines. Separate graphs
are given for shear force, tension, bend moment and torque. The shear force and bend moment graphs include
separate curves for the line x- and y-direction components of the load. The tension and torque graphs present only
one curve, giving the tension or torque in the line axial direction.
If a whole system modal analysis has been performed and there are multiple lines included, then the curves for each
of the lines follow one another across the graph, in the same manner as the Modes Graph.
VIV
The VIV page provides a table of information that is useful for VIV analysis. This is currently only available for single
line modal analyses, and it is only available if the mode shapes are calculated and the line is at least partially under
the water and subject to a non-zero current (relative to any starting velocity specified for the static analysis).
The table reports modes in order of increasing mode number. Each row of the table refers to a single mode and
contains the following information:
- The mode number.
- The mode period and frequency.
- The mode type and offset distribution.
- Export to SHEAR7 Mds file specifies whether or not the mode will be included in the file exported by the
Export SHEAR7 Mds File button. The initial default selection is to export the transverse and mostly transverse
modes. For details see SHEAR7 Mds file.
You can use the Filter modes boxes to choose which types of modes are included in the table. For example, you
might wish to view only the transverse modes if you are studying transverse VIV.
7.2 THEORY
A modal analysis calculates the undamped natural modes of a system. These modes are given in increasing order
of frequency and are numbered starting from 1.
The analysis calculates the natural modes of the discretised model, not those of the real continuous system.
However, the discretised modes are close to the continuous ones and for a mode number the accuracy improves as
more and more elements are used to model the system. For any given level of discretisation the accuracy is better
for the lower modes and progressively worsens as you go to higher and higher modes. The highest numbered modes
are unlikely to be realistic since they are oscillations whose wavelengths are of the same order as the segment
length.
Outline Theory
Modal analysis is a standard technique that is well-documented in the literature, but here is a brief outline. First
consider a single degree of freedom system consisting of a mass attached to a linear spring. The undamped equation
of motion is:
Mx''(t) = -Kx(t)
where x(t) is the offset (at time t) from mean position, x''(t) is the acceleration, M is the mass and K is the stiffness of
the spring. Since this analysis neglects any damping the results are referred to as the undamped modes.
The solution of the equation is known to be simple harmonic, i.e. of the form x(t) = a.sin(t), where a and are
unknowns to be found by solving the equation. Differentiating x(t) gives:
x''(t) = -
2
.a.sin(t)
so when we substitute into the equation of motion we obtain:
-M.
2
.a.sin(t) = -K.a.sin(t)
(1)
which can be rearranged to give:
Modal Analysis, Theory
w

434
= (K/M)

.
This is the angular frequency of the oscillation and so the natural period T is given by:
T = 2(M/K)


For this simple harmonic oscillator there is just a single undamped natural mode, corresponding to the single degree
of freedom. For a continuous riser there are an infinite number of degrees of freedom, and hence an infinite number
of undamped natural modes, but computers work with discretised models with finite numbers of degrees of
freedom.
Consider a discretised line in OrcaFlex with N degrees of freedom. In this situation the above equations still apply,
but they now have to be interpreted as matrix/vector equations where and T remain scalars, a, x and x'' become
vectors with N elements, and M and K become NN matrices.
Equation (1) is an eigen-problem with N solutions, the i
th
solution being i and ai, say, where i is a scalar and ai is a
vector with N elements. This i
th
solution is called the i
th
natural mode. It is an oscillation of the line in which all the
degrees of freedom oscillate at the same angular frequency i. But different degrees of freedom oscillate with
different amplitudes, given by the components of ai. This amplitude variation is called the mode shape.
Eigen-solvers
Two eigen-solvers are used to perform modal analysis. The choice of which to use is made based on the number of
modes extracted, n, and the number of degrees of freedom, N.
If n N/3 and n 1000 then an iterative Lanczos algorithm will be used. Otherwise a direct method based on
tridiagonal matrix diagonalisation is used. For large problems the iterative Lanczos algorithm is much faster and
requires much less memory and so should be used if at all possible.
One final subtlety concerns the precise definition of n in the above inequalities. The Lanczos algorithm works by
finding the largest (or smallest) eigenvalue first, then the next largest (or smallest) and so on. Consequently if you
ask for modes 5 to 10 then the solver has to find modes 1 to 4 first and so the number of modes extracted, n, is 10.
Seabed friction
The theory outlined above requires that the mass and stiffness matrices are symmetric which is not always the case
in an OrcaFlex model. The most important example of this is the friction model. Friction is a non-conservative effect
and non-conservatism equates to non-symmetric terms in the stiffness matrix. Clearly this presents a problem.
The non-conservatism of the standard OrcaFlex friction model arises when a node is slipping, that is when the
deflection from its friction target position exceeds Dcrit. When performing modal analysis OrcaFlex assumes that
nodes on the seabed are restrained by a linear stiffness effect determined by the seabed's shear stiffness, Ks and the
node's contact area, A. This stiffness term corresponds to the stiffness of a linear spring acting in the plane of the
seabed, connecting the node and its target position, and with a stiffness of KsA.
This has the effect of restraining movement of the nodes on the seabed in the plane of the seabed, which is desirable
for a modal analysis of a system with seabed contact. This modification to the seabed friction model results in a
symmetric, conservative system and hence enables modal analysis to be performed successfully.
Stiffness terms due to fluid loading
As mentioned above, the modal analysis is an undamped analysis which means that damping terms (i.e. those
dependent on x') are neglected. So, for example, the effects of drag loading are neglected in the modal analysis.
However, fluid loads do contribute stiffness terms because perturbations of position and orientation can result in
changes of direction of the fluid load vector. These are stiffness terms, as opposed to damping terms, because they
arise from displacements even though the magnitude of the loads themselves are dependent on velocities. These
fluid load terms are neglected in the modal analysis.
Non-linear bend stiffness
Modal analysis inherently assumes linearity of the system under consideration. For non-linear, elastic bend stiffness
the local tangent stiffness is used. For small oscillations about the static configuration, such a system is linear and
modal analysis may be adequately accurate.
For hysteretic bend stiffness the situation is more complex. The local tangent stiffness is, in general, ill-defined
because it can be many-values depending on whether the perturbation increases or decreases curvature. In this
situation OrcaFlex uses an average of the possible stiffness values.
Yet another case to consider is externally calculated bend stiffness. The external function interface provides no
mechanism for specifying the local tangent bend stiffness. Hence OrcaFlex uses the nominal bend stiffness as
provided by the external function.
w
Modal Analysis, Theory
435
Clearly the modal analysis will be less accurate for hysteretic and externally calculated bend stiffness than it is for
the other bend stiffness options. However, it is often the case that tension, as opposed to bend stiffness, is the
dominant contribution to lateral stiffness and so the limitations described above are often not significant.
Vessel added mass
When performing a whole system modal analysis with vessel degrees of freedom included, the added mass of a
vessel is usually a significant factor in the analysis. However, if the vessel added mass and damping data are
specified as frequency dependent there is no easy way for the modal analysis to account for this dependence on
frequency. Therefore, for modal analysis, the program neglects added mass when the data are frequency dependent.
In order to perform a more accurate modal analysis you can use the constant option for added mass specification. In
this situation you provide a single added mass matrix which is included in the system-wide mass matrix. Because
you can only specify a single added mass matrix you must first assess what modes are of interest and choose
appropriate added mass values. If the added mass varies significantly with period, over the range of mode periods
under consideration, then you may need to perform multiple modal analyses with different added mass matrices.
Mode Offset Distribution
For VIV analysis purposes, OrcaFlex classifies modes according to how the mode shape is distributed between
inline, transverse, axial and rotational motion. See Mode Type.
For a given mode, let T be the translational part of the mode offset vector at a given node, let Ti, Tt and Ta be T's
components in the local inline, transverse and axial directions and let L be the length of line represented by that
node. Then OrcaFlex calculates the inline, transverse and axial components of the overall translation in the mode
shape as follows:
Mode shape inline component = Mi = ( LTi
2
)


Mode shape transverse component = Mt = ( LTt
2
)


Mode shape axial component = Ma = ( LTa
2
)


where the summations are over all nodes in the line.
The root sum of squares formulation used above is the multi-dimensional equivalent of the standard 3D formula |V|
= (Vi
2
+ Vt
2
+ Va
2
)

. The scaling by L is included so that the values are independent of the level of discretisation.
If the line includes torsion, then a further component Mr is required to represent the overall rotational content of the
mode shape. Components Ri, Rt and Ra are formed from the rotational part of the mode offset vector, and these are
then multiplied by the node's radius of gyration about the line axis, r, to give them dimensions of length. This allows
an appropriate comparison between the magnitude of translation and the magnitude of rotation. Again we sum over
all the line nodes, but we also sum the three components because all we require is a single measure of how much
rotational content is present in the mode offset vector. So:
Mode shape rotational component = Mr = ( L(rRi)
2
)

+ ( L(rRt)
2
)

+ ( L(rRa)
2
)


If the line does not include torsion then Mr=0.
OrcaFlex then expresses Mi, Mt, Ma and Mr components of the mode shape as percentages of their sum M = Mi + Mt +
Ma + Mr, and reports these percentages as offset distribution values. These values are only used to report some
measure of how inline, transverse, axial and rotational the mode is, and to set the initial default selection of whether
the mode should be exported to the SHEAR7 Mds file if that facility is used.
w
Fatigue Analysis, Introduction
437
8 FATIGUE ANALYSIS
8.1 INTRODUCTION
The OrcaFlex fatigue analysis is a post-processor which calculates fatigue damage using a variety of methods.
Damage is then collated and summed for specified load cases and then presented, either as plots or in tabular
fashion.
Damage can be calculated in a variety of ways:
- The S-N curve approaches recover stress using homogeneous pipe stress (for metal risers), stress factors (for
umbilicals and flexibles), or externally calculated stress (suitable for bespoke applications). Damage is then
calculated based on the specified S-N curve.
- Mooring line fatigue calculates damage from effective tension ranges using T-N curves.
Likewise, damage is summed in a variety of ways:
- Deterministic regular wave fatigue analysis.
- Deterministic irregular wave fatigue analysis using the rainflow cycle counting method.
- Stochastic irregular wave fatigue analysis using spectral methods.
The SHEAR7 option is rather different because damage is calculated external to OrcaFlex by SHEAR7. This option
allows you to collate fatigue damage from a number of SHEAR7 load cases.
The fatigue analysis tool is accessed by selecting the Fatigue Analysis command from the OrcaFlex Results menu. It
is essentially a self-contained sub-program within OrcaFlex, with its own menus, data and results.
The steps involved in performing a fatigue analysis are:
1. Use the normal OrcaFlex facilities to set up and run simulations that model the various load cases that the line
will experience. Alternatively, for a SHEAR7 analysis, create a set of SHEAR7 .plt output files to represent your
VIV load cases.
2. Open the fatigue analysis tool and set up the fatigue analysis data. This fatigue analysis data are held separately
from the other OrcaFlex data and can be saved in a separate file with the file extension .ftg.
3. Check the data for errors.
4. Calculate and collate the damage.
Notes: The calculation stage of a fatigue analysis can take a long time , especially a rainflow analysis with
a lot of load cases. To help with this there is an Estimate Calculation Time facility and fatigue
analyses can be run in batch mode. The calculation makes use of all available processor cores to
process load cases concurrently.
The fatigue calculation performance is often limited by disk access consequently it is important
that the disk access speed is as fast as possible. Usually this means that the simulation files should
be stored on a local disk of the machine performing the fatigue calculation.
Load Cases
Before the fatigue analysis can be performed you must first prepare a set of OrcaFlex simulation files that model the
same system but under the various load conditions that the system will experience in its lifetime.
The approach is to divide the range of sea states that the system will experience into a number of wave classes;
typically this is done with a wave scatter table.
For both regular and rainflow analysis you typically represent each wave class with a distinct OrcaFlex simulation
file. For regular analysis the simulation should use a regular wave representative of the wave class and for rainflow
analysis the simulation should use an irregular wave representative of the wave class.
For spectral analysis multiple wave classes with similar Hs values may be represented by a single response
calculation simulation. The reason this is possible is that the spectral response analysis provides information about
how the system responds to a range of wave frequencies. Typically you will have a range of simulations which cover
the range of Hs values in your wave scatter table.
For SHEAR7 fatigue analysis the load cases are specified by a set of SHEAR7 .plt output files. These are most easily
generated using the direct SHEAR7 interface, together with the standard OrcaFlex automation facilities the .plt
files are automatically exported if you run the direct SHEAR7 interface in batch mode.
Each load case is assigned an exposure level. For regular load cases this is the total number of occurrences of waves
within the wave class. For the other methods the exposure level is specified as the total time exposed to waves
within the wave class.
Fatigue Analysis, Commands
w

438
Choice of fatigue analysis method
As described above OrcaFlex can perform three different types of fatigue analysis: regular, rainflow or spectral.
Rainflow fatigue is the most accurate of the methods, but also the most time consuming and demanding of disk
storage. The time and storage requirements can be somewhat alleviated by careful selection of load cases. The other
factor which can be adjusted is the duration of the irregular wave load case simulations. In our experience it is often
possible to achieve accurate damage predictions with simulations of 20 minutes duration.
Regular wave fatigue analysis is much faster and requires much less disk storage than rainflow fatigue. The wave
scatter conversion facility provides an efficient and productive way to generate a regular wave scatter table from a
random sea scatter table. Provided that the regular wave bin discretisation is performed well, the results from a
regular wave fatigue analysis will generally agree well with an equivalent rainflow analysis.
The spectral fatigue analysis method was originally included to provide a very quick alternative to the other
methods. The spectral fatigue method in OrcaFlex is much more difficult to use effectively than the other methods.
This is largely due to weaknesses and limitations in the response calculation approach used to generate response
RAOs. If you do perform a spectral fatigue analysis in OrcaFlex then it is very important that you check that the
spectral response RAOs are smooth. The response calculation method often results in very noisy RAOs which in turn
result in gross over-predictions of damage. It is our experience that use of the spectral fatigue method usually
results in poor and inaccurate results.
Recommendations
The advent of multi-core processors and the wave scatter conversion facility mean that regular wave fatigue
analysis is often just as fast as spectral fatigue analysis, as well as giving much more reliable and accurate answers.
Because of this we no longer recommend the use of spectral fatigue analysis in OrcaFlex.
This then reduces the choice of methods to regular and rainflow. Because of the calculation time and disk storage
advantages it is clearly desirable to use regular wave fatigue. Certainly during system design these advantages are
significant because they allow for greater coverage and exploration of the design space.
Another effective strategy is to use regular fatigue analysis for the bulk of the time and switch to rainflow analysis
for a final, more detailed check. If the regular wave fatigue analysis predicts a system life significantly in excess of
the design life then this final detailed check could be omitted.
8.2 COMMANDS
File Menu
New
Clears previously entered Fatigue Analysis data and resets data to default values.
Open
Opens a Fatigue Analysis file. These files can be either binary format (.ftg) or text files (.yml).
- The .ftg extension is used for binary format files. If the file does contain results then these will be available
without having to perform the time-consuming calculation again.
- The .yml extension is used for the text file format. These are YAML files and are intended to be used for
automation purposes.
Just as is the case for OrcaFlex data files, the binary file has strong version compatibility features. For example, when
OrcaFlex attempts to open a binary .ftg file written by a later version of the program it is able to report informative
compatibility warnings. The program is not able to be as helpful and informative when working with text data files
across program versions. Whilst we strive to achieve as much compatibility as possible for text data files across
program versions, we cannot achieve the same level of compatibility as that for binary data files.
Save
Saves the data to the currently selected file name (shown in title bar of the window).
- If results have been calculated then these are also saved to the file. This allows you to view results at a later date
without having to perform the calculation again. Note that results can only be saved to the binary format file
(.ftg).
- If results have not been calculated then the file will contain input data only.
Save As
This is the same as Save, but allows you to specify the file name to save to.
w
Fatigue Analysis, Data
439
Open Data
If the file contains results and there are a large number of load cases then the file can take a long time to load. If you
want to work with just the input data then this command loads just the input data which is a much quicker process.
Most Recent Files List
A list of the most recently used files. Selecting an item on the list causes the file to be loaded. The size of the list can
be adjusted from the Preferences form.
Analysis Menu
Estimate Calculation Time
Gives an estimate of how long it will take to do the fatigue analysis and present the results. This is useful for long
analyses, e.g. rainflow analyses involving a lot of cases or long simulations.
Check
The Check command performs a preliminary check of the fatigue analysis data. For example it checks that all the
specified load case simulation files exist and that the named line and the specified arc length intervals exist in each
load case.
The Check command is generally much quicker that the fatigue analysis itself, so we recommend that the Check
command is used before the Fatigue Analysis is run, since the check can often detect data errors that would
otherwise only be found part way through what may be quite a long fatigue analysis. It is particularly important to
use the Check command when a new fatigue analysis has been first set up or when significant changes have been
made to the data.
Calculate
The Calculate command starts the Fatigue Analysis. The fatigue analysis can take a long time if there are many load
cases, or if there are many log samples in the load case simulations, or finally if there are a lot of segments in the arc
length intervals specified. A progress window is displayed and you can cancel the analysis if desired.
When the calculation is complete the results are displayed in a spreadsheet window.
8.3 DATA
Title
Used to label all output of the fatigue analysis.
Damage calculation
A variety of methods are available for calculating damage:
- Homogeneous pipe stress which assumes a pipe made of a straight, uniform, homogeneous, linear material.
The damage calculation is based on ZZ Stress. This option is appropriate for metal risers.
- An approach based on stress factors. Here the stress is assumed to comprise a tensile contribution
(proportional to either wall tension or effective tension) and a bending contribution (proportional to
curvature). This approach is commonly used for umbilicals but could also be used for unbonded flexibles.
- The mooring fatigue option calculates damage from effective tension ranges using T-N curves.
- The SHEAR7 option is rather different because damage is calculated external to OrcaFlex by SHEAR7. This
option allows you to collate fatigue damage from a number of SHEAR7 load cases.
- The final option, externally calculated stress, is very similar to the stress factor option. The difference is that
stress is calculated by means of an externally specified results variable. Please refer to the External Function
Examples for more details.
Analysis Type
Three types of fatigue analysis are available:
- Regular analysis must be based on a series of regular wave simulations that represent the various load cases
that will occur. For each of these load cases a single-occurrence damage value is calculated based on the last
wave cycle in the simulation. This damage value is then scaled up by the specified number of cycles expected to
occur during the structure's life, and this gives the total load case damage value. Finally these total load case
damage values are then summed for each load case to give the overall total damage.
- Rainflow analysis is normally based on a series of random wave simulations. It uses a cycle counting technique
to break down each random wave case into a series of half-cycles, and then sums the damage from each half-
cycle according to the Palmgren-Miner law. For details see the book by Maddox and the paper by Rychlik. This
Fatigue Analysis, Load Cases Data for Regular Analysis
w

440
gives the damage value for that load case, which is then scaled to the specified total exposure time. Finally these
total load case damage values are then summed for each load case to give the overall total damage.
- Spectral analysis calculates damage in the frequency domain using statistical methods. The method requires a
power spectral density function (PSD) for a particular load variable (stress or tension). The PSD is obtained
from a response calculation simulation. This calculates RAOs for the load variables of interest and these are then
combined with the load case wave spectrum to give PSDs for load. These PSDs are then used to calculate
damage using either Dirlik's formula or the Rayleigh distribution. The damage is scaled to the specified total
exposure time for the load case. Finally these total load case damage values are then summed for each load case
to give the overall total damage.
Units
The units to be used for the fatigue analysis, for both the fatigue analysis data and for its results. The units are
specified in the same way as elsewhere in OrcaFlex.
Note that the units specified for the fatigue analysis need not match the units that were used in the various load case
simulation files. If they do not match, then the results from that simulation file will automatically be converted to the
units specified for the fatigue analysis. This is useful, since it allows the fatigue analysis to be done using m and MN
as the length and force units (giving stresses in MN/m
2
= MPa), for example, even if the simulation load cases use m
and kN (which corresponds to stresses in kN/m
2
= kPa). Similarly, in US units, the fatigue analysis can use inches
(giving stresses in ksi) even if the simulation files use feet as the length unit.
If you change units, then all existing fatigue analysis data are automatically changed to match the new units. This is
useful if you want to enter data in some other set of units, since you can simply change to the units of the new data,
then enter the new data, and then change back to the original units again.
Cycle Range Distribution (spectral analysis only)
The spectral fatigue calculation assumes that cycle ranges follow a statistical distribution which is specified by this
data item. The distribution can be either Dirlik's formula or the Rayleigh distribution. The Rayleigh distribution
is appropriate if the variation of the response is a narrow banded random Gaussian process. Dirlik's formula is
applicable even if the variation of the response is not a narrow banded process. For this reason we recommend
using Dirlik's formula.
8.4 LOAD CASES DATA FOR REGULAR ANALYSIS
Simulation File Name
The name of the simulation file which represents the load case. You can either specify the full path or a relative path.
Line Name
The name, in this load case simulation file, of the line to be analysed.
Note: Normally the line name will be the same in all of the load cases (though this is not necessary).
However the named lines in the various load cases must, of course, all represent the same physical
line and use the same discretisation in the areas being analysed.
Number of Cycles
The number of wave cycles, of this particular set of load conditions, that the line will experience.
8.5 LOAD CASES DATA FOR RAINFLOW ANALYSIS
Simulation File Name
The name of the simulation file which represents the load case. You can either specify the full path or a relative path.
Line Name
The name, in this load case simulation file, of the line to be analysed.
Note: Normally the line name will be the same in all of the load cases (though this is not necessary).
However the named lines in the various load cases must, of course, all represent the same physical
line and use the same discretisation in the areas being analysed.
Simulation Period
The period of the pre-run simulation file that defines the load case.
Exposure Time
The total time the system is exposed to this load case.
w
Fatigue Analysis, Load Cases Data for Spectral Analysis
441
8.6 LOAD CASES DATA FOR SPECTRAL ANALYSIS
Simulation File Name
The name of the simulation file which represents the load case. You can either specify the full path or a relative path.
Line Name
The name, in this load case simulation file, of the line to be analysed.
Note: Normally the line name will be the same in all of the load cases (though this is not necessary).
However the named lines in the various load cases must, of course, all represent the same physical
line and use the same discretisation in the areas being analysed.
Exposure Time
The total time the system is exposed to this load case.
Spectral Form, Spectral Parameters
For spectral analysis the simulation file specifies a response calculation simulation file from which response RAOs
are derived. The spectral fatigue calculation then proceeds by combining these response RAOs with a wave
spectrum to produce power spectral density (PSD) functions.
Spectral Form can be one of JONSWAP, ISSC, Ochi-Hubble or Torsethaugen. This specifies the general form of the
wave spectrum.
The parameters for the chosen spectral form are specified as follows:
- If JONSWAP is selected then Spectral Parameters can be either Automatic, Partially Specified or Fully
Specified. This determines exactly how the spectral parameters for each load case are specified. For example, if
Automatic is selected then you specify Hs and Tz and the other JONSWAP parameters are calculated
automatically and reported. For details see Data for JONSWAP and ISSC Spectra.
- If ISSC is selected then you must specify Hs and Tz for each load case. You can also specify fm or Tp but since Tz,
T
p
and f
m
are tied together then setting any one of them changes the other two to match. For details see Data for
JONSWAP and ISSC Spectra.
- If Ochi-Hubble is selected then Spectral Parameters can be either Automatic, or Specified. Again, this
determines exactly how the spectral parameters for each load case are specified. If you select Automatic the
program calculates the parameters of the most probable spectrum, based on the overall significant wave height
Hs that you have specified. If you select Specified you must specify all 6 parameters and OrcaFlex then derives
and displays the corresponding overall Hs and Tz values. For details see Data for Ochi-Hubble Spectrum.
- If Torsethaugen is selected then you must specify Hs and Tp for each load case. You can also specify fm but since
Tp and fm are tied together then setting either one changes the other to match. For details see Data for
Torsethaugen Spectrum.
Setting up load cases for Spectral Analysis
When performing a spectral fatigue analysis you will typically have a wave scatter table describing the relative
probability of storm occurrence. This determines a number of wave classes, e.g. storms defined by Hs,Tz pairs.
The load cases data should be setup to match load cases with wave classes. For example, suppose that you were
working with the following (truncated) wave scatter table:
4-5 9 3
3-4 6 18 6
Hs 2-3 22 132 117
1-2 3 57 201 249
0-1 15 48 69 45
4-5 5-6 6-7 7-8
Tz
The values in the table represent joint probabilities in parts per thousand, so that a value of 201 represents a
probability of 0.201.
This wave scatter table gives 16 wave classes and so the fatigue analysis data in OrcaFlex would be set up with 16
corresponding load cases with appropriate Hs and Tz values.
Fatigue Analysis, Load Cases Data for Spectral Analysis
w

442
Simulation files for spectral fatigue analysis load cases
The simulation files used to represent a load case for spectral fatigue analysis should model all aspects of the system
and environment other than the wave spectrum. So you must specify vessel offset, current profile and direction,
wave direction and so on which are appropriate for the load case being analysed.
The wave type for the load case simulation file must be response calculation. This effectively calculates system
responses (i.e. RAOs) for a range of wave frequencies. The spectral fatigue analysis then combines these RAOs with
the load case wave spectra (i.e. the Hs,Tz pairs) to produce fatigue damage estimates for the load case.
Choice of Hs for response calculation simulation files
The Spectral Response Analysis method which is used to calculate system responses (RAOs) includes non-linear
effects such as hydrodynamic drag. In order for these non-linear effects to be well modelled the choice of Hs for the
response calculation simulation files is important. Essentially the RAOs can be considered as being dependent on
wave height. How significant this dependence is will vary from case to case. Certain systems are dominated by linear
physical effects and the RAOs may not in fact be dependent on wave height. To determine how significant this effect
is we would recommend sensitivity studies.
In the example above we might choose to run a response calculation simulation for each row of the wave scatter
table (assuming that the system had significant non-linearities). This would give 5 simulation files for Hs ranges 0-1,
1-2, 2-3, 3-4 and 4-5. There are 4 wave classes corresponding to the 0-1 Hs range. The load case corresponding to
each of these wave classes would then be represented by the same simulation file. The other Hs ranges are dealt
with similarly and so the load cases table would look as below:

Figure: Example load cases table
If the non-linearities in the system are not so significant then you may be able to obtain accurate results with fewer
simulation files. This may be desirable to reduce the amount of time taken to run the simulations. For example the
Hs1, Hs2 and Hs3 simulations could be combined into a single Hs2 simulation etc. Again, the accuracy of such a
simplification should be tested with sensitivity studies.
w
Fatigue Analysis, Load Cases Data for SHEAR7
443
Response calculation simulation duration
The other decision to make is over the length of the response calculation simulations. You need to simulate for long
enough to get accurate results. As for the issue of Hs discussed above we would recommend using sensitivity studies
to determine how long is required.
8.7 LOAD CASES DATA FOR SHEAR7
Load Case File Name
The name of the SHEAR7 .plt output file which represents the load case. You can either specify the full path or a
relative path.
Exposure Time
The total time the system is exposed to this load case. The damage for the load case is calculated by multiplying the
exposure time by the damage rate read from the load case .plt file.
8.8 COMPONENTS DATA
The Components Data page is only available when damage is calculated using stress factors or using externally
calculated stress.
You define a number of components for which damage is to be calculated. Components can be used to represent
different layers or components in the cross section of an umbilical or a flexible.
Component Name
This is used to identify the component in the results.
For externally calculated stress, this data item has an extra use: it is passed to the external function that calculates
stress in the ExternalResultText of the ObjectExtra structure, allowing you to pass parameters to the external
function. The most important use is to pass the value to the external function. The convention is that, before the
external function is called to derive a stress result, any occurrences of the text %theta% is replaced with the actual
value of theta, in degrees. So suppose that the component name was specified to be theta=%theta%. The actual
ExternalResultText strings passed to the external function would be of the form theta=0.0, theta=45.0 etc. Please
refer to the External Function Examples for more details.
Tension Variable (stress factors only)
Specifies wall tension or effective tension is used to calculate stress.
Tension and Curvature Stress Factors (stress factors only)
The stresses used to calculate damage are calculated according to the formula:
S = KtT + Kc(Cxsin - Cycos )
where
S is stress,
Kt and Kc are the tension and curvature stress factors, respectively,
T is either wall tension or effective tension, as specified by the tension variable data,
Cx and Cy are the components of curvature in the line's local x and y directions, respectively, and
is the circumferential location of the fatigue point.
In effect this formula defines stress to be the sum of contributions due to direct tensile strain and bending strain.
The circumferential variation (i.e. the terms which refer to ) is to account for the fact that bending strain varies
with . So, for a point in the plane of bending, stress is given by S = KtT Kc|C|, where C is the curvature vector (Cx,
Cy). Similarly, for a point at 90 to the plane of bending, stress is given by S = KtT.
The stress factors will typically be calculated from experimental data or from detailed analytic models of the
umbilical or riser cross section. Suppliers of such products are usually able to provide the necessary stress factors.
Stress Result (externally calculated stress only)
The name of the externally calculated result variable that provides the stress values.
S-N Curve
Specifies which S-N curve is used for damage calculations for this component.
8.9 ANALYSIS DATA
The Analysis Data page contains the following data items, which specify the parts of the line to be analysed.
Fatigue Analysis, S-N and T-N Curves
w

444
Critical Damage
Is a warning level. If the total damage at any fatigue point exceeds the Critical Damage then that damage figure will
be highlighted in the results.
Number of Thetas
The number of points (N) around the pipe circumference, at which fatigue analysis will be performed. There will be
N fatigue points uniformly distributed at 360/N intervals around the pipe circumference. A larger number of thetas
gives a more comprehensive analysis, but takes a little longer.
This value is not required, and hence not available, for mooring and SHEAR7 fatigue.
Line Length (SHEAR7 fatigue only)
Specifies the length of the line being consider by the SHEAR7 analysis. This data item is implemented solely to
provide some convenience to results reporting. A value of '~' results in arc lengths being reported as non-
dimensional x/L values, the native form for SHEAR7. If a value is specified for the line length then the x/L values are
re-dimensionalised using that specified value.
Arc Length Intervals
You define the parts of the line that are to be analysed by specifying a number of Arc Length Intervals in the form
of From and To arc length values. OrcaFlex will analyse cross sections at each line end and mid-segment whose arc
length z is in the range From z To.
For simple cases you can use just one arc length interval covering the whole line. However it is often clear which
part, or parts, of the line are liable to fatigue problems. If calculation time is significant then you can save calculation
time by analysing those parts of the line.
Warning: The included arc lengths must be the same in each load case, so the line to be analysed should have
the same number and distribution of segments in each of the load case simulations.
The arc length intervals can be overlapping. For example, this would be desirable if you wished to calculate damage
for both inner and outer fibres of a homogeneous pipe.
Radial Position (homogeneous pipe stresses only)
Specifies whether the fatigue analysis is performed at the inner or outer fibre of the pipe.
SCF and Thickness Correction Factor (homogeneous pipe stresses only)
When stress ranges are used with the S-N curve to calculate damage, the stress ranges are scaled by the Stress
Concentration Factor (SCF) and the Thickness Correction Factor before calculating damage.
If no stress correction is required then these factors should both be set to 1.
Notes: To use different stress correction factors for different parts of the line, you will need to specify
separate arc length intervals for those parts.
S-N Curve (homogeneous pipe stresses only)
Specifies which S-N curve is used for damage calculations in this arc length interval.
T-N Curve (mooring fatigue only)
Specifies which T-N curve is used for damage calculations in this arc length interval.
8.10 S-N AND T-N CURVES
S-N Curves
An S-N curve defines the number of cycles to failure, N(S), when a material is repeatedly cycled through a given
stress range S. OrcaFlex uses the S-N curve to calculate the damage in a fatigue analysis. If needed you can define a
number of different S-N curves and use them at different arc lengths along a line.
With each S-N curve you must also specify an associated stress endurance limit, FL, which is the stress range below
which no damage occurs.
The S-N curve itself can be specified either by parameters or by a table.
When the curve is specified by parameters the user specifies parameters, log10(a) and m, and the curve is then
given by either of the following equivalent formulae:
N = a S
-m

log10(N) = log10(a) - m log10(S)
The curve can be either linear or bi-linear, as determined by the region boundary data item. If this is set to Infinity
then the curve will be linear, otherwise a bi-linear curve is used.
w
Fatigue Analysis, Integration Parameters
445
A bi-linear curve, is specified by parameters log10(a1), m1 for the low-cycle region (N region boundary) and
log10(a2), m2 for the high cycle region (N > region boundary). Because the curve must be continuous, the value of
log10(a2) is determined by log10(a1), m1, m2 and the region boundary. Hence log10(a2) is reported, but cannot be
modified. The bi-linear S-N curve is thus specified by the following equations:
log10(N) = log10(a1) - m1 log10(S) for N region boundary
log10(N) = log10(a2) - m2 log10(S) for N > region boundary
When the curve is specified by a table the user gives a table of corresponding values of S and N. For other values of S
we use log linear interpolation or extrapolation to find the value of N.
Mean stress effects can be accounted for using Goodman, Soderberg or Gerber models.
For details of how the S-N curve is used to calculate the damage see How Damage is Calculated.
S-N Curve Units
The S-N curve parameters entered must be consistent with the fatigue analysis units. S-N curve parameters are
typically quoted with respect to stresses in MPa, but you might be doing the fatigue analysis using some other stress
units. You can handle this problem as follows. First change the fatigue analysis units and set the units system to be
'User', the length units to be 'mm' and the force units to be 'N'. This corresponds to stresses in MPa, so you can then
enter the S-N parameters in terms of MPa. Finally, restore the units to those that you want for the fatigue analysis.
The parameters will automatically be converted to allow for the change in units.
T-N Curves
For mooring fatigue damage is calculated with T-N curves. These define the number of cycles to failure, N(T), when a
material is repeatedly cycled through a given effective tension range T.
The T-N curve can be specified either by parameters or by a table.
When the curve is specified by parameters the user specifies three parameters, m, k and the reference breaking
strength (RBS). The curve is then given by the following formula:
N = k(T/RBS)
-m

When the curve is specified by a table the user gives a table of corresponding values of T and N. For other values of
T we use log linear interpolation or extrapolation to find the value of N.
For details of how the T-N curve is used to calculate the damage see How Damage is Calculated.
8.11 INTEGRATION PARAMETERS
Integration parameters are only available when the spectral fatigue analysis option is selected. Normally you should
not need to modify the parameters from their default values. However, if the spectral fatigue calculation has
problems with convergence then it may prove productive to try different values for these parameters.
We recommend that you contact Orcina for further details should you encounter problems with spectral fatigue
convergence.
8.12 RESULTS
Fatigue results are presented in a separate window. Results are available in either graphical or tabular form.
Graphical output
The graphical output produces plots of fatigue damage or fatigue life against arc length range graphs of fatigue.
We denote a damage value at arc length z and circumferential position as D(z,). This could be overall total damage
or the total exposure damage value for an individual load case. The damage graphs all plot D(z) = max D(z,), that is
the maximum damage value at a given arc length z.
The life graphs plot the corresponding life values T/D(z) where T is the exposure time. For individual load cases T is
the exposure time for the load case. For total life T is the total exposure time of all the load cases.
Graphs are available for:
- Total damage/life: the overall total damage/life.
- Individual load case damage/life: the total exposure damage/life from the specified load case.
- Worst cases: the total exposure damage value from the five most damaging load cases. By most damaging we
mean the load cases with the largest values of max
z,
D(z,), the maximum damage value over all z,.
The graphs can be customised in a number of ways:
- The arc length axis can be either horizontal or vertical, the latter option being more appropriate for vertical
risers.
Fatigue Analysis, Automation
w

446
- The arc length axis can be inverted. When it is inverted increasing values run from right to left (if it is
horizontal) and top to bottom (if it is vertical). Again this is particularly useful for vertical risers with arc length
values that increase from the top end to the bottom end.
- Fatigue damage/life can optionally be plotted on a logarithmic scale.
- Individual arc length intervals can be plotted.
Tabular output
The tabular output is presented in a spreadsheet that has one Damage Tables sheet, plus one Load Case sheet for
each load case. There is also a sheet echoing the S-N curve data.
Load Case sheets
The Load Case sheets contain the derived stress results for each fatigue point that has been analysed, together with
general information such as the environmental data that applied to that load case.
There is one table of stress results for each arc length covered by the specified arc length intervals. Each such table
contains a row of results for each fatigue point in that arc length cross section. These results are the stress ranges
(for each of the stress components), the maximum stress range and the resulting load case damage values.
In addition to the detailed tables a damage summary table is presented which tabulates the load case damage at
each fatigue point.
For mooring fatigue, tension results rather than stress results are reported. For SHEAR7 fatigue, since the damage
calculation has been performed by SHEAR7, only damage values are reported.
Damage Table sheet
The Damage Table sheet starts with an Excessive Damage table, which lists any fatigue points at which the overall
total damage has exceeded the specified critical damage value. Details of where on the line the worst total damage
occurred are also reported.
A table summarising the overall damage over total exposure for all arc lengths is presented.
Finally, the Damage Table sheet provides damage tables for each arc length cross section analysed. These report, for
each fatigue point in the cross section, the total exposure damage value from each load case and the overall total
damage.
In all of these tables, overall total damage values that exceed the specified critical damage value are highlighted in
red.
Printing and Exporting
To save the results you will need to export the spreadsheet as an Excel sheet. If you want to print the results then for
best results you should first export them and then use Excel to do the printing.
Customising results output
The tabular results output can be customised using the options on the Results page of the main fatigue form.
Output load case tables
If this option is deselected then the load case sheets are omitted from the fatigue results. This can significantly
reduce the time and memory required to generate the results tables.
Output detailed load case tables
If this option is deselected then the detailed tables on the load case sheets are omitted from the fatigue results. This
can significantly reduce the time and memory required to generate the results tables.
Load case damage units
Load case damage values are reported as damage per hour, damage per day or damage per year, according to the
value of this data item.
8.13 AUTOMATION
The fatigue analysis capabilities can be automated in a number of different ways.
YAML text files
The YAML format fatigue files can be used for automation in exactly the same manner as OrcaFlex data files. In
particular the OrcaFlex Spreadsheet provides a simple, yet effective, facility for automating the production of text
fatigue files.
A typical text fatigue file would load a base file, and then make a small number of modifications. For example:
w
Fatigue Analysis, Fatigue Points
447
# Type: Fatigue
BaseFile: base.ftg
RadialPosition[1]: Inner
Note: The comment line in the above example is needed if you are going to batch process YAML text files.
Without the comment line, the batch processing code assumes that the YAML file specifies an
OrcaFlex model rather than a fatigue analysis.
Batch script
The batch script facility includes a number of commands for fatigue analysis automation. The available commands
are: Select, Load, Save, Run and NewFatigue. Assignment using the Name = Value syntax is also supported.
The following contrived example illustrates all these commands.
NewFatigue
DamageCalculation = "Homogeneous pipe stress"
AnalysisType = Rainflow
ArclengthIntervalsCount = 1
FromArclength[1] = 0.0
ToArclength[1] = 30.0
SCF[0] = 1.5
SNcurveCount = 2
SNcurveName[2] = ProjectSteel
Select SNcurve ProjectSteel
SNDataEnduranceLimit = 0.0
Save fatigue.ftg

Load base.ftg
RadialPosition[1] = Outer
Run outer.ftg

Load base.ftg
RadialPosition[1] = Inner
Run inner.ftg
The OrcaFlex spreadsheet facility for automating script file generation can be used to generate batch script files for
fatigue.
OrcaFlex programming interface
The C/C++, Delphi, Python and MATLAB programming interfaces to OrcaFlex all support automation of fatigue
analysis. As with all other functionality, the Python and MATLAB interfaces are the easiest to use.
8.14 FATIGUE POINTS
Damage is calculated at a number of line end and mid-segment cross sections along the line, as specified by defining
Arc Length Intervals in the Analysis Data. Each included arc length defines a cross section through the pipe.
Damage calculated by homogeneous pipe stresses
Each cross section is described by polar coordinates (R, ) where R is the radial distance from the centre-line and
is measured from the line's local x-axis towards its y-axis.
OrcaFlex calculates the damage at either the inner or outer fibre of the pipe and so R is either ODstress/2 or IDstress/2.
For we calculate damage at equally spaced intervals determined by the specified Number of Thetas. For example, if
you specify 16 theta values, then they will be equally spaced at 360/16 = 22.5 intervals 0, 22.5, 45 etc.
Damage calculated by stress factors
For stress factor fatigue the radial position is implicit in the stress factors and so is not explicitly used in the
calculation. Damage is calculated at circumferential locations determined by the specified Number of Thetas, as
described above.
Mooring fatigue damage
For mooring fatigue there is no need to consider radial and circumferential variation and so there is one fatigue
point for each arc length considered.
8.15 HOW DAMAGE IS CALCULATED
For each load case and fatigue point OrcaFlex calculates damage values as follows:
Fatigue Analysis, How Damage is Calculated
w

448
- The time history of response, in that load case, at that fatigue point, is calculated. For homogeneous pipes the ZZ
stress variable is used. For stress factor fatigue then the stress is calculated based on the stress factors. For
mooring fatigue the response variable is effective tension.
- The damage value corresponding to the response time history is calculated see below for details. This value is
the damage value at that fatigue point due to one occurrence of that load case.
- The load case damage values are scaled to allow for the exposure associated with that load case.
- The above step gives the total exposure damage value from that load case at this fatigue point.
- Finally, these total exposure load case damage values are summed over all load cases to obtain the overall total
damage value at that fatigue point.
Damage Calculation using S-N curves
The S-N curve defines the number of cycles to failure, N(S), for stress range S, and also defines a endurance limit, FL,
below which no damage occurs. OrcaFlex uses these to calculate a damage value given by:
D(S) = 1/N(S) if S > FL
D(S) = 0 if S FL
This damage value can be thought of as the proportion of the fatigue life that is used up by 1 cycle of stress range S.
Mean stress effects
Mean stress effects are handled by modifying each stress range according to a formula dependent on the mean
stress level. Three models of mean stress effects are provided: Goodman, Soderberg and Gerber. Each method is
defined by a formula for Se, the equivalent stress, allowing for mean stress effects, to be used in the zero mean stress
S-N curve.
The Goodman model is:
Se = Sr / (1 - Sm/SMTS) for 0 < Sm < SMTS
Se = Sr for -SMTS < Sm 0
where Sr is the true stress range, Sm is the mean stress and SMTS is the ultimate tensile strength as specified in the S-
N data.
The Soderberg model is:
Se = Sr / (1 - Sm/SMYS) for 0 < Sm < SMYS
Se = Sr for -SMYS < Sm 0
where SMYS is the yield strength as specified in the S-N data.
The Gerber model is:
Se = Sr / (1 - [Sm/SMTS]
2
) for -SMTS < Sm < SMTS
The definition of mean stress, Sm, depends on the analysis method being used. For regular analysis, Sm is defined to
be the mean of the min and max stress values associated with the stress range Sr. For rainflow analysis, Sm is the
mean value of the local turning points in the stress time history. For spectral fatigue, Sm is the mean of the time
history used to determine the stress RAOs.
Regular analysis
The minimum and maximum values of stress over the last simulated wave cycle define a stress range S. The
associated single-occurrence load case damage value is then given by D(S) where is the product of the stress
concentration factor and the thickness correction factor. If mean stress effects are included then the equivalent
stress range Se is used.
Rainflow analysis
The stress time history is analysed using the rainflow cycle counting method. This gives a number of stress ranges
for half-cycles, say Si where i runs from 1 to the number of stress ranges. The associated single-occurrence load case
damage value is then given by D(Si) where the summation is over all the half-cycles. Note that the factor of one
half is present because the rainflow algorithm counts half-cycles rather than full-cycles. Again, if mean stress effects
are included, then the equivalent stress range Se is used.
Spectral analysis
For spectral analysis damage is calculated in the frequency domain using statistical methods. The calculation
requires a power spectral density function (PSD) for stress. The PSD is obtained from a response calculation
simulation. This calculates RAOs for stress which is then combined with the load case wave spectrum to give the
PSD for stress. These PSD are then used to calculate damage using either Dirlik's formula or the Rayleigh
w
Fatigue Analysis, How Damage is Calculated
449
distribution. The stress concentration factor, thickness correction factor and mean stress effects are all accounted
for in the spectral damage calculation.
For detailed references on how spectral fatigue analysis calculates damage from stress PSDs please refer to:
- Barltrop and Adams (1991) which has an excellent section on spectral fatigue analysis.
- Dirlik (1985) is the original reference for Dirlik's stress range distribution formula.
Damage Calculation using T-N curves
T-N curves are handled in a similar way. A T-N curve defines the number of cycles to failure, N(T), for effective
tension range T. There is no analog of endurance limit for T-N curves. Likewise there are no analogs of stress
concentration factor and thickness correction factor.
As for S-N curves, OrcaFlex defines damage as:
D(T) = 1/N(T)
The summation of damage is then performed in an identical manner to that performed for S-N curves.
Damage Calculation for SHEAR7 fatigue
SHEAR7 fatigue is rather different from the other fatigue methods because damage is calculated external to OrcaFlex
by SHEAR7. OrcaFlex merely provides a means to collate, sum and plot the damage from a number of different
SHEAR7 load cases in a convenient manner.
The SHEAR7 damage calculation is based on the damage rate output in the SHEAR7 .plt file. This value is multipled
by the load case exposure time to produce the damage associated with that load case.
w
VIV Toolbox, Frequency Domain Models
451
9 VIV TOOLBOX
The OrcaFlex VIV Toolbox provides analysis of vortex induced vibration (VIV) of lines. It offers a choice of various
alternative ways of modelling VIV, including both frequency and time domain approaches, and has been developed
in co-operation with academics in the UK and USA. The VIV Toolbox is included as standard in OrcaFlex.
A separate user guide for the time domain VIV models is available (Time Domain VIV Models.pdf).
Different VIV Models
The VIV Toolbox provides facilities for using the following different VIV models:
- VIVA. The VIV Toolbox provides a fully integrated link to VIVA. OrcaFlex automatically prepares the VIVA data
from the OrcaFlex data, calls VIVA and presents the results. To use this you will need a copy of VIVA, release
2.0.6 or later.
- SHEAR7. The VIV Toolbox provides facilities for exporting SHEAR7 structural data files and SHEAR7 .mds files
based on an OrcaFlex model. SHEAR7 can then be run manually using these files as input, or called directly from
OrcaFlex.
- Two wake oscillator models, the Milan model and the Iwan and Blevins model.
- Two vortex tracking models.
Of all these models, VIVA and SHEAR7 are the two main programs in current use in the industry. They are both
independent non-Orcina programs written and distributed by other companies, so to use them you need to
purchase and install them on your machine. They are both frequency domain models, so they only analyse steady
state conditions.
The other models are included in the VIV Toolbox within OrcaFlex, so no further software is needed. They are all
time-domain models, so they can analyse non-steady-state conditions. They do not yet have a track record in the
industry.
Using VIV Models
You choose which VIV model to use (if any) on the VIV page on the line data form. There are separate choices for the
static and dynamic analyses and so you do not have to use the same model for the two analyses. The time-domain
models are only applicable to the dynamic analysis.
9.1 FREQUENCY DOMAIN MODELS
9.1.1 VIVA
VIVA is an independent frequency domain program developed by Prof. M Triantafyllou at MIT and distributed by JD
Marine (formerly DTCEL).
Orcina was a participating member of a Joint Industry Project, started in 2000 and run by DTCEL and Prof.
Triantafyllou of MIT. As part of the project, a software link has been written between OrcaFlex and VIVA. The
software link allows a riser model to be built in OrcaFlex taking advantage of the existing interactive user interface.
OrcaFlex then calls VIVA which carries out a frequency domain calculation of VIV response based on an energy
balance. Results are reported in spreadsheet form for each single excited mode of vibration. A combined multi-mode
response is also reported. Results include amplitudes of vibration and mean effective drag coefficients. The drag
coefficients can be used by OrcaFlex to carry out a coupled steady-state VIV analysis.
OrcaFlex VIVA Interface
The OrcaFlex interface to VIVA requires VIVA to be installed on your machine and available in the form of a dynamic
link library (DLL) called v3ddll.dll. This DLL file, and the VIVA database files that it uses, must be located in the
OrcaFlex installation folder (the one containing the OrcaFlex.exe program file). The current version of OrcaFlex is
compatible, and has been tested with, the VIVA DLL version 2.0.6. Later versions of the DLL can be used OrcaFlex
checks for interface compatibility before calling the DLL, and reports an error if the DLL found is not compatible.
To use VIVA for VIV analysis of a line, set the line's Statics VIV data item to VIVA. Then set up the VIVA data that
appears.
VIVA will then be called when you perform the OrcaFlex static analysis, and the drag coefficients predicted by VIVA
(for the specified Target Mode) will be used instead of the user-specified drag coefficients from the line type form.
These VIVA drag coefficients, and other results calculated by VIVA, are available in OrcaFlex see VIVA Results.
VIV Toolbox, Frequency Domain Models
w

452
Calculation procedure
When Statics VIV is set to VIVA, OrcaFlex calculates the static position of the line using the drag coefficients
calculated by VIVA. A fully coupled statics calculation is performed since VIVA's analysis depends on the position of
the line and vice versa. The coupled static analysis is done as follows:
1. First OrcaFlex sets the line's drag coefficients to those specified on the OrcaFlex line type form.
2. OrcaFlex then calculates the static position of the line using those drag coefficients.
3. OrcaFlex then calls VIVA to analyse VIV for that position and the line drag coefficients are updated to those
calculated by VIVA for the specified Target Mode.
4. OrcaFlex then recalculates the static position of the line for those new drag coefficients.
5. Steps 3 and 4 are then repeated until the static position has converged.
The iteration is deemed to have converged when none of the nodes has changed position (compared with the
previous iteration) by more than Convergence Tolerance * NodeLength, where NodeLength is the length of line
represented by that node. The method usually requires only 2 or 3 coupling iterations to converge.
Limitations
When using the OrcaFlex interface to VIVA please note the following limitations:
- The VIVA analysis involves a modal analysis of the line. Currently this modal analysis is done by VIVA but this
has limitations see VIVA modal analysis limitations.
- There are difficulties in passing to VIVA details of attachments to the line (e.g. clumps, buoys, links, winches), so
attachment are ignored by the VIVA analysis.
- The VIVA DLL is not currently capable of handling multiple simultaneous use, so you should not use the VIVA
interface from more than one copy of OrcaFlex at a time running on a single machine.
- The VIVA DLL is only available in 32 bit format, so at present you must use the 32 bit version of OrcaFlex
(OrcaFlex.exe) to access the VIVA interface. The VIVA DLL is not compatible with the 64 bit version of OrcaFlex
(OrcaFlex64.exe).
VIVA Data
The VIVA data are the data that VIVA needs and which OrcaFlex cannot deduce automatically from the ordinary
OrcaFlex data. They are described below and appear on the VIV page on the line data form when you select VIVA for
Statics VIV.
When using VIVA please note the following:
- You should set up the line with End A at the top and End B at the bottom.
- All the sections in the line must have the same segment length. This is a requirement of VIVA.
- If the line touches down on the seabed then OrcaFlex passes only the suspended part of the line to VIVA for
analysis. The rest of the line is not passed to VIVA. By 'suspended part' here is meant the part between End A
and the first node in contact with the seabed. Note that if there are multiple touchdowns then the VIVA analysis
is only applied to the part of the line up to the first touchdown point.
- Likewise, if the line uses a P-y model, only the parts of the line that do not have attached P-y springs are passed
to VIVA for analysis.
- When there is seabed contact OrcaFlex tells VIVA to treat the touchdown point as pinned. This is as in the
touchdown example in the VIVA documentation.
- You need to use enough segments in the suspended part of the line. There is a lower limit in VIVA of 100
segments, and if the line has fewer than this then VIVA reports an error and no VIV calculation is done. If the
line has 100 or more segments then VIVA checks whether there are enough segments to reasonably model VIV;
and if not then VIVA gives a warning but the calculation continues. For details see the VIVA documentation.
- When modelling Vetco type risers (i.e. with auxiliary pipes attached), you need to set the OrcaFlex line end
orientation to match the orientation of the auxiliary pipes. For details see Modelling Vetco Risers.
- OrcaFlex passes VIVA the fluid density and viscosity at each node. For fully-submerged nodes OrcaFlex passes
the sea density and kinematic viscosity at that point. For a node out of the water OrcaFlex passes the air density
specified in the OrcaFlex data and a hard-coded viscosity value of 1.5e-5 m
2
/s (Source: Batchelor, page 594, air
at 20C). For a partially submerged node OrcaFlex interpolates between the two, based on the node's
Proportion Wet.
w
VIV Toolbox, Frequency Domain Models
453
Whole Line Properties
Target Mode
VIVA predicts which modes of oscillation might be excited and it gives separate VIV results for each possible excited
mode. In addition it gives VIV results for 'multi-mode' response, i.e. response that is a mixture of the possible modes.
You must specify which set of VIVA Cd results to use, based on the type of response you expect, by setting the Target
Mode data item. The Target Mode can be set to a mode number, meaning use the single mode results for that mode
number. Or it can be set to '~', meaning use the multi-mode results.
If you set the Target Mode to a mode number that VIVA does not predict will be excited then OrcaFlex will report a
warning and use the line type Cd values.
Convergence Tolerance
This data item only applies when Statics VIV is set to VIVA. It specifies the tolerance used in the statics iteration. For
details see VIVA in Static Analysis.
Transverse Damping Ratio
The structural damping ratio that VIVA should use. It is a single value that applies to the whole line. For details see
the VIVA documentation, where it is referred to as ZETA.
VIVA Z Axis Direction
This data item specifies the direction of the VIVA global Z-axis.
VIVA uses its own global, right-handed frame of reference, in which the X-axis is vertically upwards (i.e. in the
OrcaFlex global Z-axis direction) and the Y and Z axes are horizontal.
VIVA recommends that the VIVA Z-axis is chosen to be in the downstream flow direction, if that is well-defined. For
constant uniform flow there is a unique flow direction, so it is well-defined. If the flow direction varies along the line
then there is no unique flow direction. In this case it is probably best to set the VIVA Z-axis to be in the average flow
direction.
A value of '~' is interpreted to mean the current direction at the sea surface.
Use Relative Fluid Velocity
VIVA needs to know the flow velocity at each point along the line. You can choose either to use the relative velocity,
including the velocity of the line, or else use only the fluid velocity, ignoring any velocity of the line. Since VIVA is
only called from the OrcaFlex static analysis, this data item only has any effect if the model starting velocity is non-
zero. We recommend that the relative velocity should be used, since it is the total relative velocity that generates
vortices.
Section-Specific Properties
For each section of the line, you must specify the VIVA section type and its properties. The OrcaFlex line type and
length of the sections are displayed for information, but they are not editable (to edit them see the Structure page on
the OrcaFlex line data form).
VIV Diameter
The VIV diameter specifies the diameter used by the VIV model. Separate values can be specified for each section.
The value specified is used for all nodes in that section. For a node at the intersection of two sections the VIV
diameter of the following section is used. The VIV Diameter can be set to '~', which is taken to mean 'same as the
section normal drag diameter'.
Section Type
The VIVA section type can be one of:
- Smooth: No further VIVA section data are needed.
- Strake: You must also specify the height to diameter ratio for the strakes.
- Fairing: You must also specify the chord length and thickness of the fairing.
- Vetco: No further VIVA section data are needed, but the line orientation must match the orientation of the Vetco
riser. See Modelling Vetco Risers below.
For details of these VIVA data see the VIVA documentation.
Modelling Vetco Risers
Vetco risers have auxiliary pipes attached and VIVA needs to know the direction of the flow, relative to the
orientation of the auxiliary pipes. The diagram below shows a section through the line, looking towards End B. VIVA
needs to know the angle Alpha.
VIV Toolbox, Frequency Domain Models
w

454
OrcaFlex calculates this angle automatically by assuming that the auxiliary pipes are oriented, relative to the
OrcaFlex local x and y-direction, as shown in the diagram. You must therefore set up the line end orientation data so
that the line's local x and y-directions are oriented as shown. In other words you should set up the line end
orientation data so that the line local x-axis points through the larger of the two gaps between auxiliary pipes.

VIVA Results
The VIVA results are presented in OrcaFlex as extra worksheets in the Full Results tables. The worksheets give the
results from the latest VIVA call.
There is a separate worksheet for each excited mode, plus an extra worksheet for the multi-mode response. The
drag coefficients currently in use are those corresponding to the specified Target Mode.
The VIVA results are described briefly below. For details see the VIVA documentation.
Note: Amplitudes in VIVA results are single amplitudes, i.e. measured from the mean position to the peak.
Single Mode Results
The worksheet for a given single excited mode gives a table of Single Mode results as a function of arc length along
the line. These are results predicted by VIVA if single-mode VIV response occurs in that mode. They include:
Max Amplitude
The amplitude of predicted VIV motion at that point.
Max Bend Moment, Max Stress
The dynamic bend moment and stress amplitudes due to VIV. Note that they do not include the bend moment and
stress due to the mean position of the line.
Drag Coefficient
The predicted drag coefficient, allowing for VIV.
Multi-Mode Results
The Multi-Mode worksheet gives two tables. The second table is the multi-mode equivalent of the single mode
results table; it gives the same information, but this time for the case where multi-mode VIV response occurs.
The first table summarises the bending modes. It has the following columns:
Mode
This column shows which modes have been analysed. Those that VIVA calculates as possibly being excited are
marked with an asterisk.
Natural Mode Frequency With and Without VIV
These columns give the natural frequencies of the mode, as calculated by VIVA. Those Without VIV are calculated
using VIVA's own default added mass coefficients (not those specified in the OrcaFlex line type data). Whereas in
those With VIV the VIVA default added mass coefficients have been modified to allow for VIV.
Alpha
Flow
Direction
x
y
w
VIV Toolbox, Frequency Domain Models
455
Warning: VIVA's modal analysis calculates bending modes only and does not allow for the mean curvature.
This omission is equivalent to VIVA calculating the out-of-plane modes, since there is no mean
curvature component in the out-of-plane direction. The natural frequencies in the VIVA results
therefore correspond to the out-of-plane bending modes predicted by the OrcaFlex modal analysis.
These are correct modes to use for in-plane flow (since VIV will then be in the out-of-plane
direction), but they are not the right modes to use for out-of-plane flow, since the VIV will then be
in-plane. The difference between the in-plane and out-of-plane bending modes depends on the
magnitude of the curvature and the wave length of the mode.
Max Amplitude
The largest offset of any node in this mode.
9.1.2 SHEAR7
SHEAR7 is an independent program, developed by Prof. K Vandiver at MIT and distributed by AMOG. The link to
SHEAR7 is based around OrcaFlex's ability to export SHEAR7 data files (.dat) and SHEAR7 mode shape files (.mds).
Note: SHEAR7 must be licensed separately to OrcaFlex. Please contact AMOG for details.
When exporting a SHEAR7 data file the program assumes that you will also be using a mode shape file produced by
OrcaFlex. The procedure for linking SHEAR7 to your OrcaFlex model is as follows:
1. Build your OrcaFlex model as normal. SHEAR7 analyses VIV for one or more of your OrcaFlex Lines.
2. Input the appropriate values on the SHEAR7 data form.
3. Calculate the static position of the model.
4. Export a SHEAR7 data file and a SHEAR7 Mds file.
5. These files can now be used as inputs to SHEAR7.
Direct SHEAR7 interface
As an alternative to exporting files and running SHEAR7 manually, as described above, OrcaFlex is capable of calling
SHEAR7 directly. This capability is enabled by selecting the SHEAR7 statics VIV option on the VIV page of the Line
data form.
SHEAR7 executable file location, SHEAR7 lift file location
The direct SHEAR7 interface operates by executing the SHEAR7 executable file. In order to do this OrcaFlex must be
told where to locate the executable file. These data are specified on the SHEAR7 data form and is only available
when SHEAR7 is selected for the statics VIV option on the VIV page of the Line data form.
In addition SHEAR7 requires a file to specify lift coefficients, usually called "common.cl". Typically the lift file will be
the standard one supplied with SHEAR7. If the lift file location is left blank OrcaFlex attempts to use a file called
"common.cl" in the same directory as the executable file.
These file locations can be specified as either full paths or as paths relative to the directory containing the OrcaFlex
file.
SHEAR7 coupling method
The SHEAR7 direct interface performs a coupled statics calculation since the SHEAR7 analysis depends on the
position of the line and vice versa. The coupled static analysis is done as follows:
1. First OrcaFlex sets the line's drag coefficients to those specified on the OrcaFlex line type form.
2. OrcaFlex then calculates the static position of the line using those drag coefficients.
3. OrcaFlex then calls SHEAR7 to analyse VIV for that position and the line drag coefficients are updated.
4. OrcaFlex then recalculates the static position of the line for those new drag coefficients.
5. Steps 3 and 4 are then repeated until the static position has converged.
The iteration is deemed to have converged when none of the nodes has changed position (compared with the
previous iteration) by more than Convergence Tolerance * NodeLength, where NodeLength is the length of line
represented by that node. The method usually requires only 2 or 3 coupling iterations to converge.
The direct SHEAR7 interface offers a variety of coupling options which differ in how they handle the SHEAR7 .mds
file.
- The full coupling option generates a new .mds file at each coupling iteration, that is every time SHEAR7 is
called.
- The partial, automatic .mds file coupling option creates an .mds file on the first coupling iteration which is
then used in all subsequent coupling iterations.
VIV Toolbox, Frequency Domain Models
w

456
- The partial, user .mds file coupling option uses an .mds file specified on the data form for all coupling
iterations.
The fully coupled approach does have the disadvantage that generating an .mds file at each coupling iteration can be
time consuming, especially for more complex models, and so the partially coupled approach can be significantly
faster.
The partially coupled approaches are more akin to running SHEAR7 manually. However, the ultimate static solution
will differ because it does include the effect of drag enhancement. When running SHEAR7 manually the only way to
account for drag enhancement is to manually modify drag coefficients in the OrcaFlex model which is extremely
impractical.
First and last modes
These data items specify which modes are to be included in the .mds file. These data are not required if you select
the partial, user .mds file coupling option.
A value of '~' for the first mode is interpreted as the lowest numbered transverse mode. A value of '~' for the last
mode is interpreted as the highest numbered transverse mode. By transverse we mean that the modal analysis
classifies the mode as either Transverse or Mostly Transverse.
These data items are interpreted in exactly the same way as the FirstMode and LastMode parameters to the
SHEAR7MdsFile batch script command.
SHEAR7 .mds file
The location of the .mds file to be passed to SHEAR7. This value is only required if you select the partial, user .mds
file coupling option.
The location can be specified as either a full path or as a path relative to the directory containing the OrcaFlex file.
The .mds file must be generated separately which is normally done either form the modal analysis form or using
batch script.
Although SHEAR7 requires .mds files to be named "common.mds" that restriction does not apply to OrcaFlex's direct
interface to SHEAR7. This is a significant benefit of the direct interface to SHEAR7 because it allows you to have
multiple .mds files in the same directory.
Results output
When OrcaFlex calls SHEAR7 it captures output files and includes them in the Full Results tables for the Line. These
output files can also be exported from the SHEAR7 data form and by using the SHEAR7OutputFile batch script
command.
The output files are automatically exported if you run the static analysis in batch mode. The files are exported with
file names based on the model file name and the line name.
The enhanced drag coefficients can be obtained from a static state range graph of x-Drag Coefficient (or indeed y-
Drag Coefficient which is identical).
Technical details
The direct SHEAR7 interface operates by calling the SHEAR7 executable directly as follows:
1. A temporary directory is created to contain the SHEAR7 input and output files.
2. A SHEAR7 .dat file is generated in the temporary directory.
3. The SHEAR7 .mds file is created in the temporary directory and called "Common.mds". How this .mds file is
created is determined by the chosen coupling option as described above.
4. The specified lift file is copied to the temporary directory and renamed as "Common.cl".
5. The SHEAR7 executable is run and the SHEAR7 .out and .plt files are read by OrcaFlex.
6. The .plt file is parsed by OrcaFlex to find the drag enhancements factors Cf.
This process depends very heavily on the current implementation details of SHEAR7. We have developed and tested
the SHEAR7 direct interface with the SHEAR7 versions listed on the SHEAR7 data form. We cannot guarantee that
other versions of SHEAR7 will be compatible with the SHEAR7 direct interface.
OrcaFlex uses linear interpolation of the Cf values if the locations read from the .plt file do not correspond to the
node locations in the OrcaFlex model. This can occur if the discretisation of a user-supplied .mds file differs from
that of the OrcaFlex model.
w
VIV Toolbox, Frequency Domain Models
457
SHEAR7 data file
To export a SHEAR7 data files you must first provide extra data that SHEAR7 requires but which is not needed by
OrcaFlex. This is done from the SHEAR7 data form which can be opened from the Model Browser. Note that your
model must include at least one Line for the SHEAR7 data form to be available.
When you have input all the necessary data on the SHEAR7 data form you create the SHEAR7 data file by clicking on
the Export SHEAR7 Data File button. The model must be in Statics Complete state when you export the SHEAR7
data file but please note that data on the SHEAR7 data form is editable while in this state.
A more convenient way to work is to use the direct SHEAR7 interface which can automatically save the required
SHEAR7 input files, run SHEAR7, extract drag amplification factors and perform a coupled static analysis.
Include SHEAR7 data in text data file
By default the SHEAR7 data are not included in text data files saved by OrcaFlex. You can check this option to
override that default and ensure that SHEAR7 data are included in text data files.
If you are using the direct SHEAR7 interface then the SHEAR7 data are always included in text data files irrespective
of this setting.
Exporting from Batch Script
The SHEAR7 data file can be exported from an OrcaFlex batch script using the SHEAR7DataFile command.
SHEAR7 data
The majority of the information in a SHEAR7 data file can be derived from the data for an OrcaFlex Line. However,
there are a number of other values which SHEAR7 needs and these are documented below. Mostly these values are
given the same name as used by SHEAR7. For full details on how they are used please refer to the SHEAR7
documentation.
SHEAR7 File Version
Different versions of SHEAR7 use slightly different data file formats. This value specifies which version of the data
file is produced by OrcaFlex.
Output options (SHEAR7 version 4.5 and later, .str files require version 4.7 or later)
The options control whether or not SHEAR7 is instructed to output .anm, .dmg .fat and .str files.
Out file selection (SHEAR7 version 4.6 and later)
Specifies which out files (.out, .out1, .out2) are generated.
Line
Specifies the OrcaFlex Line to be described in the SHEAR7 data file.
Output summary Locations
These data specify the locations at which a summary of the response is given in the SHEAR7 .out file. A value of '~'
can be used for the Arc Length Range Start to mean 'End A'. Likewise, a value of '~' for Arc Length Range End
means 'End B'.
Bending Stress Curvature Load Factor (SHEAR7 version 4.7 and later)
Corresponds to the SHEAR7 data item of the same name. If this value is set to '~' Shear7 will use its own internally
calculated values.
Reduced Velocity Bandwidths
For SHEAR7 version 4.3/4.4 you specify the single-mode and multi-mode reduced velocity bandwidth.
For SHEAR7 version 4.5 you specify just a single value for reduced velocity bandwidth.
For SHEAR7 version 4.6 you specify a value for reduced velocity bandwidth for each section.
Structural Damping Ratio
Corresponds to the SHEAR7 data item of the same name.
Power Ratio Cutoff Level
Corresponds to the SHEAR7 data item of the same name. In SHEAR7 version 4.4 and earlier this data item was
named cutoff level.
Primary zone amplitude limit (SHEAR7 version 4.5 and later)
Corresponds to the SHEAR7 data item of the same name.
VIV Toolbox, Frequency Domain Models
w

458
Number of Lift Coefficient Tables (SHEAR7 version 4.3/4.4 only)
This is the number of tables you want SHEAR7 to read from the common.cl file.
Current Profile
The discretisation option allows you to control how the current profile is output. You can specify that the current
profile contains one entry for each node in the line. However this can give rise to numerical problems in SHEAR7,
especially for finely segmented models, and so it is preferable to discretise the current more coarsely using the
regular spacing option.
You also specify the probability of occurrence (a number between 0 and 1) of the flow profile and the flow profile ID.
The current speed is exported as zero for any part of the line which uses a P-y model. This allows for hydrodynamic
damping, using the still water coefficient, but excludes any excitation due to current.
Young's Modulus
Young's modulus for the strength member. SHEAR7 uses this for computing stress and damage rate.
For SHEAR7 version 4.6 you specify this value per section. For earlier SHEAR7 versions you specify a single global
value.
Power Ratio exponent (SHEAR7 version 4.5 and later)
Corresponds to the SHEAR7 data item of the same name.
Fatigue Calculation Method (SHEAR7 version 4.7 and later)
Corresponds to the SHEAR7 data item of the same name.
S-N Curves
Specifies the S-N curves to be used by SHEAR7 for its fatigue calculations. An endurance limit can be specified this
is called the "cutoff stress range" in the SHEAR7 documentation.
For SHEAR7 version 4.6 you can define multiple S-N curves each with an endurance limit and then select which one
to use on a section by section basis. For earlier SHEAR7 versions you specify a single S-N Curve and endurance limit
which apply to the entire line.
Stress Concentration Factors
Specify a global stress concentration factor for the line and optionally a number of local stress concentration factors.
VIV Diameter
The VIV diameter specifies the diameter used by the VIV model. Separate values can be specified for each section.
The value specified is used for all nodes in that section. For a node at the intersection of two sections the VIV
diameter of the following section is used. The VIV Diameter can be set to '~', which is taken to mean 'same as the
section normal drag diameter'.
Strouhal Type, Strouhal Number
The Strouhal type and number defines the relationship of flow velocity and cylinder diameter to the local vortex
shedding frequency. Strouhal Type can be Rough Cylinder or User Specified. Rough Cylinder corresponds to the
SHEAR7 Strouhal code 200. If User Specified is chosen then you must also specify a Strouhal Number.
Lift Coefficient Table, Lift Coefficient Factor
Lift Coefficient Table specifies which table is used from the common.cl file.
Lift Coefficient Factor corresponds to the SHEAR7 data item called Lift Coefficient Reduction Factor.
Reduced Velocity Damping Coefficients
Damping Coefficients for still water, low and high reduced velocity are specified.
SHEAR7 structural zones
When OrcaFlex generates the SHEAR7 data file it assumes a one-to-one mapping between OrcaFlex sections and
SHEAR7 structural zones. This has some implications for how you create your OrcaFlex model. Essentially,
anywhere on your line where you need SHEAR7 structural zone data to change you must ensure that there is an
OrcaFlex section boundary.
SHEAR7 structural zone data comprises the following:
- Hydrodynamic and strength diameters.
- Added mass coefficient, lift coefficient and Strouhal number.
- Area moment of inertia, mass per unit length and tension variation.
w
VIV Toolbox, Frequency Domain Models
459
- Hydrodynamic damping coefficients.
Since most of these properties are constant within an OrcaFlex section you will naturally introduce section
boundaries at the locations where they change. However, there are a few exceptions.
Lift coefficient, Strouhal number and hydrodynamic damping coefficients are SHEAR7 specific data which are
specified in OrcaFlex on the Section Data page of the SHEAR7 data form. You may need to introduce OrcaFlex section
boundaries which coincide with the locations where these properties change.
Area moment of inertia and tension variation are used by SHEAR7 to calculate modal frequencies. Typically these
parameters would not be used since OrcaFlex produces a modes file which is more accurate than the internal
SHEAR7 modal calculations.
The mass per unit length is also used by SHEAR7 to calculate modal frequencies and again this aspect of the SHEAR7
calculation would be bypassed when using a modes file produced by OrcaFlex. However, the mass per unit length is
used by SHEAR7 to compute damping ratio. For almost all situations in OrcaFlex the mass per unit length is constant
along a section.
One exception to this is a free-flooding line with sections that cross the water surface. Because SHEAR7 has a single
mass parameter for a structural zone this means that the mass is effectively smeared across the zone. A free-
flooding line has greater mass below the water surface because it is full of water. Quite often this issue is of little
significance but if you wish you can also change your OrcaFlex model to arrange that there is a section boundary at
the water surface. Similar issues arise when the slug flow contents method is specified.
The other modelling choice in OrcaFlex that leads to properties varying along the length of a section is when profiled
line types (e.g. stress joints) are used. Although it may be tempting to use many structural zones to represent the
variation of properties the SHEAR7 manual strongly recommends not doing so. Accordingly OrcaFlex outputs a
single structural zone for a profiled line type section which has the effect of smearing properties and we believe that
this is the correct approach to take in the vast majority of cases.
SHEAR7 Mds file
The SHEAR7 Mds file export facility is provided on the Modal Analysis form. To use it:
- You will need to create a SHEAR7 data file. The simplest way to do this is to use the built-in facility to export
SHEAR7 data files.
- Calculate the static position of the model.
- On the Results menu select the Modal Analysis.
- Do the modal analysis for the line you want to analyse. You must include calculation of the mode shapes and
include all modes that might to be needed by SHEAR7.
- Select the VIV page. For each mode, the VIV page reports the extent to which the mode is transverse (i.e. in the
VIV direction), inline (i.e. in the normal drag direction), axial, or some mixture. This helps you decide which
modes to export to SHEAR7. See Mode Selection Table below for details.
- The final column of the table shows which modes are currently selected to be exported to the .Mds file.
Whenever you calculate the modes OrcaFlex ticks just the Transverse and Mostly Transverse modes, but you
can then change the selection as required.
- Use the Export SHEAR7 Mds File button. A SHEAR7 .Mds file is generated for those modes that are currently
ticked for export. You are asked where to save the file. See Values Exported for details.
Warning: OrcaFlex does not calculate the mode slope; in its place OrcaFlex outputs zero. See Values Exported
for details.
Exporting from Batch Script
The SHEAR7 Mds file can be exported from an OrcaFlex batch script using the SHEAR7MdsFile command.
Mode Selection Table
VIV excitation occurs in the transverse direction. In SHEAR7 mode shapes are 1D since it assumes that all the modes
in the .Mds file are purely in that transverse direction. The OrcaFlex modal analysis is fully 3D, so in principle you
should therefore only export modes that are purely transverse.
In practice the natural modes do not always neatly divide into the transverse, inline and axial directions, so you will
sometimes have to export the modes that are nearest to being transverse. OrcaFlex therefore provides the mode
selection table to help you decide which modes should be exported to SHEAR7.
The table includes the following columns:
- Offset Distribution displays a measure of how inline, transverse and axial the mode is. For details see Offset
Distribution.
VIV Toolbox, Frequency Domain Models
w

460
- Mode Type classifies each mode according to the offset distribution. Transverse means that the transverse
component is more than 90% of the total, Mostly Transverse means that it is between 50% and 90%, and
similarly for Inline, Mostly Inline, Axial and Mostly Axial. Mixed means that none of the components are more
than 50% of the total.
- Export to SHEAR7 Mds File determines which modes will be exported to SHEAR7. When you calculate (or
recalculate) the modes OrcaFlex ticks just the Transverse and Mostly Transverse modes, but you can then
change the selection as required. See Discussion and Examples.
Values Exported
The first line in the .Mds file contains the number of selected modes and the number of nodes in the line. Then
follows a section giving the angular frequencies of the selected modes, in radians per second. Finally there follows a
section for each selected mode, giving the Mode Offset, Mode Slope and Mode Curvature.
Warning: OrcaFlex does not calculate the mode slope; in its place OrcaFlex outputs zero. The mode slope is
only used in SHEAR7 to correct the predicted RMS acceleration for a vertical riser, in the special
case where one is trying to model the gravitational contamination from tilt that a transversely
mounted accelerometer would measure. See the SHEAR7 documentation for details. The RMS
acceleration is listed in the SHEAR7 .plt plotting files.
Exported Mode Offset and Mode Curvature
The OrcaFlex modal analysis gives vector values, but SHEAR7 requires scalar values. These are calculated as follows.
Let:
V = the mode shape vector calculated by OrcaFlex at a given node,
Vi Vt and Va = V's inline, transverse and axial component vectors, respectively,
VL = lateral component vector of V, given by VL = Vi + Vt (vector sum),
m = maximum value of |VL| for any node,
C = curvature vector at the node, for the mean position (this is a vector in the direction normal to the plane
of curvature),
dC/dm = linear rate of change of C per unit maximum lateral mode offset. This rate of change (a vector)
equals the change in curvature vector at the node caused by applying the mode offsets V to all the nodes and
then dividing by m.
Then the scalar Mode Offset and Mode Curvature values exported by OrcaFlex to the Mds file are
Mode Offset = Sign(Vt).|VL| / m
Mode Curvature = Sign(inline component of dC/dm).|dC/dm|
The reasoning behind these formulae is as follows:
- SHEAR7 assumes that the exported mode offset is in the transverse direction. This assumption applies to the
power-in zone, since in this zone SHEAR7 assumes that the mode offset is in the direction of VIV excitation.
However SHEAR7's power-out calculation will still be valid providing the mode offset is lateral (i.e. no axial
component), since fluid drag and damping occur in any lateral direction.
- OrcaFlex should therefore ideally export the transverse component of mode offset for the power-in zone and
the lateral offset for the power-out zone. However OrcaFlex does not know the power-in and power-out zones,
since they are calculated inside SHEAR7, so it therefore outputs the lateral offset (suitably signed and
normalised) throughout. This correctly removes the axial component, and if there is no inline component then
no error is introduced.
- For a mode that has some inline components there will be an error introduced in the power-in calculation, since
SHEAR7 will assume that the lateral offset is in fact transverse. This error is equivalent to rotating the VIV
excitation to be in the lateral mode offset direction, so it should be conservative.
- The mode curvature values are used in SHEAR7 to calculate the dynamic bending stresses that are induced
when the mode is excited. Such stresses occur due to both transverse and inline oscillations, so it is appropriate
to export the whole of the dynamic curvature (dC), rather than just its transverse component.
- Finally, the exported values are signed and normalised as specified by SHEAR7. That is, the Mode Offset value
has maximum magnitude 1 and the Mode Curvature is the change in curvature caused by applying the mode
with that magnitude.
Discussion and Examples
The OrcaFlex modal analysis is fully 3D, so for a general line configuration a mode can be a mixture of axial (i.e.
tensile) and lateral (i.e. bending) motion. However for many configurations the modes broadly fall into one of three
w
VIV Toolbox, Time Domain Models
461
categories tensile modes, in-plane bending modes and out-of-plane bending modes. Here in-plane and out-of-plane
refers to the vertical plane of the catenary in which the line is hanging.
Vertical Riser
For an exactly straight vertical riser there is no unique such vertical plane. In this case the bending modes appear as
a series of twins, i.e. pairs of modes with identical (or near identical) amplitude and frequency, but in orthogonal
directions.
Warning: In such cases it is important that only one of the pair is exported to SHEAR7 the one that is
nearest to being in the transverse direction.
In practice, however, the current will make the riser bow out slightly in the current direction. This defines a vertical
plane for the static position, and the transverse direction is normal to this plane. The natural modes typically divide
neatly into modes that are virtually 100% transverse (the out-of-plane lateral modes), inline (the in-plane lateral
modes) or axial (the tensile modes). It is therefore clear cut as to which modes to export to SHEAR7, i.e. the
transverse modes, and OrcaFlex selects these for you.
U-shape Catenary, In-plane Current
For this case the transverse direction is the out-of-plane direction, so the transverse modes are the out-of-plane
modes. These typically have virtually 100% of their power in the transverse direction, whereas the remaining
modes have very little power in the transverse direction, so again it is clear cut as to which modes to export to
SHEAR7.
U-shape Catenary, Out-of-plane Current
For this case the transverse direction is in-plane and normal to the line axis. It therefore varies along the line and so
the transverse modes are some, but not all, of the in-plane modes.
The lowest in-plane mode is typically the in-plane fundamental 'swinging' mode. In the parts of the line that are
nearly vertical this mode is transverse, but near the bottom of the U the motion is near axial. This mode is therefore
often displayed as Mostly Transverse. OrcaFlex removes the axial components of the modes when exporting to
SHEAR7 (see Values Exported) so it is reasonable to export this mode.
Most of the remaining in-plane modes are bending modes in which the nodes oscillate laterally, with the wavelength
decreasing as the frequency increases. These are predominantly in the transverse direction and so are suitable for
export to SHEAR7.
However there are also some tensile in-plane modes present, in which the nodes oscillate in the axial direction,
causing alternating tension and compression in the line. These tend to be in amongst the higher frequency modes,
due to the typically high axial stiffness of a line.
U-shape Catenary, Oblique Current
If the current is at 10, say, to the plane of the catenary, then the transverse direction is at 80 to the plane. None of
the modes will be purely in this direction, but the out-of-plane modes are nearest to this direction, so they are the
best ones to choose.
SHEAR7 will assume that each exported mode is purely transverse, so an approximation is involved. This
approximation gets worse as the angle of the current to the plane increases up to 45. The approximation is worst
for the low modes. For the higher modes the out-of-plane modes and the in-plane lateral modes tend to have quite
similar frequencies and shapes, so the approximation is less of a problem.
9.2 TIME DOMAIN MODELS
There are four time domain models, two being wake oscillator models and two being vortex tracking models.
With all the time domain models, the vortex force applied in the static analysis is the standard Morison drag force.
Then, during the build-up stage of the simulation, the ramping function is used to smoothly change to the vortex
force given by the VIV model.
Note: This ramping is only applied for the components of vortex force which are calculated by the VIV
model. For example, the wake oscillator models only provide transverse vortex force. So, for the
wake oscillators, the ramping is done for the transverse component of force, but the inline
component of force is calculated using the standard Morison drag formulation.
The data described below are common to all the time domain models.
VIV Toolbox, Time Domain Models
w

462
Outer Time Step
For all the time domain models, it is important that the outer time step (on the General Data form) is set to a value
that is small compared with the Strouhal Period. The Strouhal Period (Ts) is defined as D/(S*V) where D is line
diameter, S is Strouhal number and V is the normal component of relative flow velocity.
Assuming a Strouhal number of 0.2, then the Strouhal period is given by 5D/V where D is the line diameter and V is
the relative flow velocity. The outer time step needs to be set to a fraction of this Strouhal period, the fraction to use
depending on which model is being used, as follows.
Wake oscillator models
The wake oscillator calculations are done every outer time step and experience so far suggests that the integration
of the wake oscillator loses accuracy if this time step is greater than about 1/200th of the Strouhal period. At the
start of the simulation OrcaFlex checks and warns if the outer time step exceeds this limit at any node on lines that
use a wake oscillator. Note that this check is against the Strouhal period for the flow velocity that applies in the
static analysis, so it does not take into account changes in Strouhal period during the simulation.
Vortex Tracking (1) Model
The outer time step determines how often the fluid forces on the line are updated. The model performs its
calculations using a variable time step. The calculations done in this variable time step are typically much more
time-consuming than the other calculations in the simulation, so the outer time step does not usually have much
effect on the simulation speed. We therefore recommend that the outer time step is set to a very small value,
preferably a lot less than the variable time step, so that the line has a chance to quickly react to changes in fluid
force.
Vortex Tracking (2) Model
The outer time step sets the time step used by the vortex tracking model, and also determines how often the fluid
forces on the line are updated. It should be small enough to discretise the VIV, but if it is too small then a lot of
vortices must be tracked and this significantly slows the model. Based on our experience so far, we recommend that
the outer time step is set to approximately 1/100th or 1/200th of the Strouhal period.
Note: The automated recommended time step feature in OrcaFlex implements the above
recommendation for the Wake oscillator models but does not implement the recommendations for
the Vortex Tracking models.
Data for the Whole Line
Filter Period
OrcaFlex uses a digital filter, with this filter cut-off period, to separate the mean motion of the node from the VIV
motion. For example, this filtering is needed with the wake oscillator models in order to allow non-VIV motion of the
node to contribute to VIV, without letting the VIV motion feed back into the velocity input into the wake oscillator
model.
Here is more detail. The node velocity vector is filtered and the resulting 'non-VIV' velocity is subtracted from the
fluid velocity to obtain a 'non-VIV' relative velocity vector. Then:
- For the wake oscillator models, the normal component of this 'non-VIV' relative velocity vector is used as the
velocity input to the wake oscillator model.
- For all the time domain models, the inline and transverse directions are based on the 'non-VIV' relative velocity
vector.
- The node position vector is also filtered and the resulting 'non-VIV node position' is used when calculating the
Transverse VIV Offset.
- For the Milan wake oscillator only, the 'non-VIV node position' is used as the mean position for the Milan
oscillator.
The filter tries to filter out motion whose period is below the filter period. So a filter period of zero gives an all-pass
filter, which isn't desirable since it allows VIV motion to feed back into the wake oscillator models and into the
definitions of the inline and transverse directions.
At the other extreme, a filter period of Infinity gives a no-pass filter, which filters out all oscillatory motion of the
line, leaving only any non-zero starting velocity. So if a filter period of Infinity is used then the only line velocity that
contributes to the inline and transverse directions is any non-zero starting velocity, and with the wake oscillator
models the only velocity input to the model will be any non-zero starting velocity.
w
VIV Toolbox, Time Domain Models
463
In practice, the filter period should be set to be significantly above, preferably by a factor of 10 or more, the period
of any expected VIV. However it should also be significantly below, again preferably by a factor of 10 or more, the
period of any line motion (e.g. due to towing or vessel motion) that you want to contribute to VIV.
For simple cases where VIV is excited only by fluid flow, not by line motion, the filter period can be set to a large
value that is at least 10 times the period of any expected VIV. For cases where line motion contributes to VIV it might
be harder to achieve the above recommended factors of 10, in which case it will be necessary to compromise by
setting the filter period to a value about half way between the two periods.
The reason a significant factor is recommended here is that the filter does not achieve a very sharp cut-off. Its
response is shown in the following graphs, which illustrate how it attenuates and lags frequencies that are near to
the filter period.

Warning: Note also that with the Milan wake oscillator, if you set the filter period to Infinity or a very high
value, then the node mean position used by the wake oscillator will remain at the node's starting
position found by the static analysis. In that case it is important that the line uses Full statics, since
otherwise that starting position might not be a sensible mean position for the Milan wake
oscillator model to use.
Data for Each Section
The following data can be set for each section of the line. A node at the junction between two sections uses the value
for the higher numbered section.
VIV Diameter
The VIV diameter specifies the diameter used by the VIV model. Separate values can be specified for each section.
The value specified is used for all nodes in that section. For a node at the intersection of two sections the VIV
diameter of the following section is used. The VIV Diameter can be set to '~', which is taken to mean 'same as the
section normal drag diameter'.
VIV Enabled
You can control which sections of the line the VIV model is applied to. All the time domain models analyse what goes
on at a single specified point on the line, so OrcaFlex creates one instance of the model for each node in each of the
enabled sections.
You can use this switch to disable VIV modelling where you think VIV excitation is not significant. For example:
- You might disable VIV modelling if the normal component of flow velocity is not significant, or the incidence
angle is near to being tangential
- You might disable VIV modelling if there are VIV suppression devices (e.g. strakes, fairings) and you believe they
will be effective.
- The vortex tracking model requires a lot of computing, so you could improve the speed of simulation by
disabling VIV modelling where you believe VIV will not be significant.
Inline Drag Amplification Factor
Only available for the wake oscillator models. The inline component of drag is multiplied by this value. The data can
be specified as a variable data item which varies with Transverse A/D, that is the amplitude of transverse oscillation
divided by the VIV diameter.
This is not available for the vortex tracking models since they include the effect of inline drag amplification.
0
0.2
0.4
0.6
0.8
1
1.2
0 1 2 3 4 5
Period / FilterPeriod
F
i
l
t
e
r

R
A
O

A
m
p
l
i
t
u
d
e
0
20
40
60
80
100
120
140
160
0 1 2 3 4 5
Period / FilterPeriod
F
i
l
t
e
r

R
A
O

P
h
a
s
e

L
a
g

(
d
e
g
)
VIV Toolbox, Time Domain Models
w

464
Vortex Force Factors
These factors allow you to scale the inline and transverse components of the vortex force. Set them both to 1 to use
the vortex force predicted by the VIV model, without adjustment.
If VIV suppression devices (e.g. strakes, fairings, shrouds) are fitted to a section of the line then you could allow for
their VIV-reduction effect by setting the transverse force factor to a value less than 1. The device is also likely to
affect the inline drag force, so you might also want to allow for this by adjusting the inline force factor. See Barltrop
and Adams page 372.
The inline force factor is not available for wake oscillator models, instead you should use the Inline Drag
Amplification Factor data.
Note: With the Milan wake oscillator model the transverse force generated by the model is not the whole
of the transverse force, since the Milan model requires the transverse component of standard drag
force to be added to give the total transverse force. The transverse vortex force factor is only
applied to the force generated by the model, not to the transverse component of the standard drag
force.
Sea Surface and Sea Bed
The time domain VIV models (wake oscillator and vortex tracking) make no allowance for surface-piercing or
seabed contact effects. OrcaFlex therefore handles these effects as follows:
- If a node comes completely out of the water, or comes into contact with the seabed, then the time domain wake
model is reset. For the wake oscillator models this means that the wake degree of freedom is reset to zero; for
the vortex tracking model all existing vortices are removed. If the node later comes back into the water, or
breaks contact with the seabed, then the model starts again from that reset state.
- If the node is partially submerged (i.e. the length of line represented by the node is surface-piercing) then the
time domain wake model continues to run but the forces it applies to the node are scaled by the node's
Proportion Wet.
VIV Directions
For the time domain VIV models, OrcaFlex calculates the following directions:
- The Axial direction is the local tangential direction, given by the node's local z-direction.
- The Transverse direction is normal to the axial direction and normal to the 'non-VIV' relative velocity vector.
- The Inline direction is normal to the Axial and Transverse directions. It is therefore normal to the line axis and
in the plane defined by that axis and the relative flow direction. It is the direction of the normal component of
the drag force (assuming Cdx=Cdy).
These directions are used for three purposes:
- The velocity input to the wake oscillator models is the inline component of the 'non-VIV' relative velocity.
- The transverse displacement input into the Milan wake oscillator model is the transverse component of the
node position relative to its 'non-VIV' node position.
- The inline and transverse components of the vortex force are available as results.
9.2.1 Wake Oscillator Models
The VIV Toolbox provides two wake oscillator models, the Milan model and the Iwan and Blevins model. These are
two of many different wake oscillator models that have been proposed by many different authors over the last
twenty years. We selected these two models after reviewing the literature and testing a number of different models.
We found that there are errors in some of the published models and that many of the wake oscillator models contain
disguised references to frequency domain concepts. This makes them difficult to implement in a true time domain
analysis, unless additional assumptions are made.
What is a Wake Oscillator Model?
A typical wake oscillator model is a heuristic model that uses a single degree of freedom, Q say, to represent the
wake behind a rigid cylinder. It models the oscillation of the wake by Q being a function of time that obeys a
differential equation that we will call the wake equation of motion.
The oscillation of the wake generates a lift force, i.e. a force that is normal to the cylinder axis and normal to the flow
direction. The model gives the lift force magnitude as a function of Q, and this force is applied to the cylinder and so
affects the motion of the cylinder. In return, the wake equation of motion involves terms that depend on the motion
of the cylinder. This couples the wake equation of motion to the cylinder equation of motion, so together the two
form a coupled non-linear system.
w
VIV Toolbox, Time Domain Models
465
Wake Equation of Motion
The wake equation of motion is typically a nearly linear, second order, ordinary differential equation. It is not
usually derived from physical laws, but is chosen to be one whose qualitative characteristics are known to be similar
to VIV. For example there are differential equations that are known to have solutions that are oscillatory, self
generating and self limiting.
The wake equation of motion involves parameters whose values are calibrated to match empirical results. This sort
of modelling ethos is commonly known as an inverse method. This is where one attempts to reproduce empirical
data without recourse to the fundamental physics of the system. Rather, one simply writes down a system of
equations that have the right sort of characteristics and then adjusts parameters in the equations to tune them to
best match the empirical data.
Almost universally, wake oscillator models only give the lift force and say nothing about the effect of VIV on the drag
force. The main aim behind the wake oscillator paradigm is to model the oscillating lift force.
Using a Wake Oscillator Model
Wake oscillator models are time-domain models and so can only be used in the dynamic analysis. To use a wake
oscillator model set the Dynamics VIV to that model.
When the simulation is run OrcaFlex creates and attaches a wake oscillator, of the chosen model, to each node in the
line. Each such oscillator then obeys the equations of the chosen model. There is no linkage between the wake
oscillators except through the structure. It is therefore effectively being assumed that the interaction between VIV at
different levels occurs predominantly through the structure, not through the fluid.
Lift Direction
The wake oscillator models are single degree of freedom models, i.e. they only model the transverse direction. Note
that this direction can change during the simulation, either because the line orientation changes or because of wave
motion changing the fluid velocity direction. When this happens the wake oscillator model is effectively being
rotated and there is an implicit assumption that this rotation does not significantly affect the wake.
Node Steady Motion Included
The wake oscillator models require the flow velocity as input. In OrcaFlex this input flow velocity is taken to be the
fluid velocity minus the filtered node velocity. This allows non-VIV motion, e.g. in a towed case, to contribute to VIV,
providing its period is significantly longer than the filter period. The filtering is necessary to prevent the VIV motion
itself feeding back into the input to the wake oscillator.
Current and Wave Motion Are Both Included
The input velocity to the wake oscillator models include the fluid velocity due to both current and any waves
specified. The models can therefore in principle be used to model the effect of waves on VIV. However please note
that the models were developed and calibrated for steady state conditions, so unsteady flow is outside their
intended area of application.
Inline drag amplification
The effect of inline drag amplification can be modelled by means of a table relating amplification factor to transverse
A/D.
Data Common to Wake Oscillator Models
Model Parameters
Both the Milan and the Iwan and Blevins models have various parameters that determine their properties. You can
choose to either use the Default set of values for these parameters or else choose to use your own Specified values.
Except for the Initial Value (see below), the Default values are the parameters given in the original published
papers, i.e. in the Milan and Iwan and Blevins papers. If the Specified option is chosen then you have complete
control over the model parameters.
Warning: The Specified option has been provided principally to allow users the option of calibrating the
model against other experimental results. If you are not doing this then we strongly recommend
that you use the Default parameters.
The following two model parameters are common to both wake oscillator models.
- Strouhal Number. Note that the Strouhal number interacts with the other model parameters, and the other
default published values are intended to be used with the default Strouhal number 0.2. Adjusting the Strouhal
number is therefore not recommended unless you are calibrating the model parameters against known results.
- Initial Value is the magnitude of the initial value given to the wake degree of freedom used by the models. The
wake oscillation can take a long time to build up if it is started from zero, so giving it a small non-zero initial
VIV Toolbox, Time Domain Models
w

466
value helps to start up the wake oscillation at the start of the simulation. The sign of the initial value is chosen
randomly for each node in the line. This avoids the situation where the nodes on a line all start by moving in the
same direction.
How well do wake oscillators model VIV?
Any wake oscillator model is very heavily tied to the data set used to calibrate it. One must ensure that the relevant
fluid dynamical and structural dimensionless parameters (for example, the Reynolds number) of the experimental
set-up used to generate the data are sufficiently similar to that of the situation that one wants to model. Otherwise,
one is relying on luck to provide the right answer. For example, if one wants to model the VIV of telephone wires in
air, then one should use a data set obtained from a wire vibrating in a wind tunnel. The experimental data are
usually obtained from a system with a constant fluid in-flow speed, so one cannot expect the model to be applicable
for currents that vary over the same time scale as that due to VIV. If the current variation is sufficiently slow then
the model should be valid.
In general, the authors of wake oscillators make no attempt to model the start-up of VIV. This is due to the nature of
the devised mathematical model. The modelling method used exploits the fact that the solution phase space of the
system contains limit cycles that correspond to stationary VIV. The parameters are set so that the limit cycles have
the right radius and that the system state tracks around them with the right frequency. To find the non-stationary
dynamical behaviour of the system far away from such critical regions in the phase space is extremely difficult
without simply integrating the equations of motion.
Milan Wake Oscillator Model
The Milan model is an implementation of the model developed by a group in Italy and documented in the paper by
Falco, Fossati and Resta. It is a wake oscillator model; see the wake oscillator models topic for information that
applies to all such models.
Results
The Vortex Force is available as a line force results variable. This reports the total lift and drag force. Note that this is
the sum of the force generated by the wake oscillator model, which is in the transverse direction but doesn't include
the drag force in that direction, plus the standard Morison drag force in the inline, transverse and axial directions.
Transverse VIV Offset is also available as a line position results variable.
Milan Model Implementation in OrcaFlex
In implementing the Milan model in OrcaFlex we came across the following issues.
Lift Force
In the Milan model the standard Morison drag force in the transverse direction must be added to the force
generated by the wake oscillator. OrcaFlex therefore calculates the drag forces as usual and then adds in the force
generated by the Milan wake oscillator. The line motion therefore depends significantly on the drag coefficient
specified for the transverse direction.
Notes: The Milan model was calibrated by assuming a transverse drag coefficient of 1.2 and a transverse
added mass coefficient of 1.0, so other values of these coefficients take the model outside its domain
of calibration.
The transverse force factor is only applied to the force generated by the Milan model, not to the
transverse component of the standard drag force.
Node Mean Position
The Milan model needs the node's offset in the lift direction, relative to its mean position, i.e. relative to the position
about which VIV is occurring. For this mean position OrcaFlex uses the filtered position of the node. This enables
OrcaFlex to handle cases such as towed lines, where the VIV excitation is due to motion of the line rather (or as well
as) fluid flow. It is important that the filter period is suitably set.
Our experience of the Milan Model
- If a line end node doesn't move at all (e.g. because it is fixed) then the wake oscillation does not develop and so
the Vortex Force decays to zero. The Milan model is therefore not suitable for predicting the vortex force on
fixed line end nodes.
- We have also run the Milan model for flexible riser cases and compared it against experimental results. The
results so far suggest that the Milan model is reasonable for cases where the flow velocity is uniform along the
riser, but the model is less satisfactory when the flow velocity varies a lot along the riser.
w
VIV Toolbox, Time Domain Models
467
Iwan and Blevins Wake Oscillator Model
This wake oscillator model is as published by Iwan and Blevins. In their paper the model is developed from
theoretical considerations of momentum, and the hidden wake degree of freedom is such that its rate of change is a
measure of the fluid momentum in the transverse direction.
The resulting model makes the wake degree of freedom obey a Van der Pol equation. This is a type of equation that
has been used in other wake oscillator models, and it is known to have VIV-type characteristics such as frequency
lock-in.
The authors calibrated the model against experimental results for fixed and forced cylinders, and then compared the
model's predictions against experimental results for spring-mounted cylinders.
In addition note that the force generated by the Iwan and Blevins model (unlike the Milan wake oscillator model)
includes the standard Morison drag force in the transverse direction. When this model is used OrcaFlex therefore
suppresses the transverse component of the usual drag force, so the drag coefficient specified for the transverse
direction is not used.
Results
The Vortex Force is available as a line force results variable. This reports the total lift and drag force. Note that this is
the sum of the force generated by the wake oscillator model, which is in the transverse direction but doesn't include
the drag force in that direction, plus the standard Morison drag force in the inline, transverse and axial directions.
Transverse VIV Offset is also available as a line position results variable.
9.2.2 Vortex Tracking Models
Overview
Two vortex tracking models are available in OrcaFlex, which we refer to by number: Vortex Tracking (1) and Vortex
Tracking (2). Both are based on the underlying physical equations of boundary layer theory and the Navier-Stokes
equation. As a result they introduce physical realism that is absent from the wake oscillator models.
Vorticity is a measure of a fluid's rotation and it is often advantageous to analyse fluid dynamics in terms of
vorticity. The reason for this is that the vorticity is often confined to narrow sheet-like regions and the important
fluid forces on a body in the flow are intimately related to the vorticity. One can focus on the sheet-like regions and
this is far more efficient from a computational point of view. Vortex methods are prevalent throughout
computational fluid dynamics.
The vortex tracking models are much more computationally demanding than the wake oscillator models. In fact they
are a type of computational fluid dynamic model, but they are much less computationally demanding than 'full'
Computational Fluid Dynamics (CFD). Work to date shows considerable promise, and we hope they will offer a
practical analysis technique which gives much of the realism of full CFD without the associated extremely long run
times.
The vortex tracking models model the full fluid flow field. In OrcaFlex the vortex tracking models are used to give
the force acting on the line, but they can also give other results, such as the fluid velocity and pressure at any point.
For example we have experimentally used them to calculate the pressure variations on the line surface due to VIV. If
other results such as these interest you then please contact Orcina for further details.
The vortex tracking models are based on the relative velocity of the flow past the line. They can therefore be used
both for cases where the excitation is due to current or waves, and also where the excitation is due to the line
moving, for example towed cases.
The models involve calculating and tracking many vortices for each node of the line. This can make the simulation
file very large, but this can be controlled by limiting the Maximum Number of Vortices Logged.
Note: We have done validation work comparing the VIV models with real measured results see the VIV
Validation section on the OrcaFlex Validation page of the Orcina website. This work showed that
the vortex tracking models tend to substantially overpredict VIV amplitudes. However we believe
they are useful for qualitative investigations, especially of inline VIV in low to moderate shear
conditions, since the other VIV models can not model this situation.
Features Common to both Vortex Tracking Models
This section describes the basic vortex tracking model on which both models are based.
Vortex Tracking Plane
The basic vortex tracking model is a 2D fluid model associated with a particular node on the line. It models the 2D
'slice' through the fluid normal to the line axis, which we call the vortex tracking plane. In this 2D slice the node is a
disc.
VIV Toolbox, Time Domain Models
w

468
To apply this 2D model to the 3D situation present in OrcaFlex, we attach a separate vortex tracking plane to each
node on the line where VIV modelling is enabled. Each node therefore models its own fluid interaction, by
generating and shedding vortices and then tracking them in its associated vortex tracking plane.
The drawing below shows a typical vortex plane, i.e. it is a cross section through the line, normal to the line axis. The
line itself is represented by the grey disc and the fluid flow is coming from the left.

Figure: Vortex Tracking Plane
The model has two main elements:
- A boundary layer theory is used to analyse the fluid very near to the disc surface, where viscosity plays a
dominant role. At each time step, the boundary layer theory gives the positions of the two separation points,
and a new vortex is created at each of these two points, to model the vorticity being generated there.
- The vortex tracking itself handles the rest of the fluid, where viscosity is much less important. The created
vortices are tracked downstream by solving the inviscid Navier Stokes equations (which are approximately
valid outside the boundary layer). This models the wake development, i.e. how the vorticity flows after leaving
the boundary layer.
Boundary Layer
When the flow meets the disc it has to flow around the disc circumference and a boundary layer is formed.
Boundary layer theory is used to model this region, where viscosity plays a crucial role. Sarpkaya and Shoaff
originally used the Polhausen boundary layer method, but since then this method has been superseded by simpler
and more accurate methods. OrcaFlex uses Thwaites' method (see Young 1989) for both models.
Some of the fluid flows around one side of the disc and some around the other, and the point where the flow splits is
called the stagnation point. As the fluid flows around the disc it initially remains in contact with the disc, but it
typically then reaches a point on each side where the flow separates. These are called the separation points, and at
these points vorticity is shed from the disc.
The boundary layer theory gives the position of each separation point and the strength of vorticity shed there in one
time step. A new vortex of this strength is then created at the separation point. The new vortex is placed at the
separation point but at a distance .R from the disc surface. In the model 2 is the Creation Clearance specified by
the user. In model 1, or if the Creation Clearance is set to '~', is calculated to be the value that results in the
tangential velocity contribution of the new vortex just cancelling out the existing tangential velocity at the
separation point.
In the drawing above (and in the OrcaFlex 3D view) the stagnation point is shown as a small triangle and the
separation points as small blobs, part way around the disc circumference. The vorticity shed from the two sides of
the disc is distinguished by being drawn in separate colours, to denote the difference in the direction of rotation
clockwise for vorticity shed from the upper side and anti-clockwise from the lower side, as seen in the drawing.
Vortex Tracking
After being shed from the boundary layer, the vorticity then flows downstream. In reality, the vorticity is shed
continuously and it is shed along the neighbouring parts of the line at the same time, so as it flows away it forms
sheets of vorticity, one on each side. In the above drawing these vortex sheets are shown as red and green lines,
since the drawing shows the intersection of the sheets with the vortex plane. The colour denotes the sign of the
vorticity.
flow
w
VIV Toolbox, Time Domain Models
469
For computation purposes the model has to discretise the vorticity being shed, so in the vortex tracking model the
vorticity is represented by discrete vortex points. The vortex sheet is therefore represented by a sequence of vortex
points, each one of which represents the vorticity of a short length of vortex sheet.
In the 3D view the individual vortex points are drawn as circles with their centres joined to represent the vortex
sheet line, with the colour indicating the sign of vorticity. A vortex sheet therefore appears as a linked sequence of
circles flowing away from the line.
Sarpkaya and Shoaff originally used singular vortex points, but in both vortex tracking models OrcaFlex uses
smeared vortex points.
Strouhal Number
The vortex tracking models do not have any Strouhal number built in. Instead the Strouhal period emerges directly
from the physics of the vortex dynamics and boundary layer.
Vortex Tracking (1) Model
The Vortex Tracking (1) model is our implementation and development of the vortex tracking model originally
developed by Sarpkaya and Shoaff. It shares many common features with the Vortex Tracking (2) model see
Features Common to both Vortex Tracking Models. It differs in the following ways:
- It uses a variable time step given by:
t = 0.2 . R / V
where R is the radius of the line and V is the fluid velocity relative to the node. Assuming a Strouhal number of 0.2,
this value is 1/50th of the (instantaneous) Strouhal period.
- Vortices shed from the same side of the disc are grouped to represent the vortex sheets coming off that side. The
model tries to detect a suitable point in the cycle at which to break the attached sheet away from the disc and
start a new attached sheet. See Sheet Detachment and Coalescing below.
- At each time step each sheet is rediscretised in a way that keeps the vortices at equally spaced arc lengths along
the sheet.
- At each time step the model searches for vortices from detached sheets that have moved in between the two
attached sheet. Such a vortex is 'entrained' into the attached sheet of opposite sign to its vorticity. See Wake
Line and Entrainment below.
Sheet Detachment and Coalescing
At any given time there are typically two vortex sheets being fed from the disc one from each side. These are called
the attached sheets.
As the flow progresses, an attached sheet can become detached and a new attached sheet then starts forming on that
side. Typically this happens first on one side of the disc, then on the other, etc., and this alternating behaviour is
typically synchronised with the oscillatory nature of the lift force.
In reality the vortex sheets form, become detached and flow downstream ad infinitum, but their effect becomes
much less as they move further away from the disc. OrcaFlex, of course, has to limit the number of vortices being
modelled. In model 1 this is done as follows:
- The two attached sheets and the one most recently detached sheet are modelled in detail, i.e. as linked
sequences of discrete vortex points.
- Older detached sheets (providing they are not still close to the disc) are simplified by 'coalescing' them to single
vortex points. In other words whenever a sheet becomes detached the previous detached sheet is usually
replaced by a single vortex point whose strength is the total vorticity in the sheet and whose position is the
centroid of the vorticity in that sheet. The sheet is then referred to as a coalesced sheet.
- When a coalesced sheet gets beyond a certain distance from the disc, its effect is assumed to have decayed to the
point where it is no longer significant and so it can be removed from the model. OrcaFlex does this by
transferring its vorticity to the nearest coalesced sheet of the opposite sign. Doing the removal in this way has
the advantage that the total vorticity present is preserved, and so vorticity is only being moved a small distance,
rather than being destroyed.
To summarise, the wake is modelled using:
- Detailed modelling of two attached vortex sheets and (usually) one detached vortex sheet, plus single vortex
modelling of a number of coalesced sheets. The two attached (one green, one red) and the most recent detached
sheet (red) can be seen as vortex lines in the drawing below.
- Single vortex point modelling of the earlier detached sheets, now coalesced. These are shown in the drawing as
circles, which is also how they appear in the OrcaFlex 3D view.
VIV Toolbox, Time Domain Models
w

470

Wake Line and Entrainment
In practice the tail end of the detached sheet trails into the spiral part of the preceding attached sheet. This can lead
to very contorted situations and to modelling problems if vortex points come very close to each other. Model 1
handles this as follows.
The model calculates the tangent line between the two attached sheets. This line, called the wake line, is the dashed
line in the drawing above.
The region between this wake line, the two attached sheets and the disc itself is called the wake region. Vortex
points in the detached sheet that trail into the wake region can then be absorbed into the attached sheet of the
opposite sign. We refer to this process as entrainment.
Vortex Tracking (2) Model
The Vortex Tracking (2) model is a simplified variant of the Vortex Tracking (1) model.
Warning: Model 2 has been developed more recently than model 1. It has undergone testing but has had
limited use so far.
Model 2 shares many features of model 1 see Features Common to both Vortex Tracking Models. It differs in the
following ways:
- It uses a constant time step, equal to the simulation outer time step. (Model 1 uses a variable time step.)
- It does not use sheet detachment to separate the vortices coming from one side of the disc into separate sheets.
- It does not use entrainment, nor rediscretisation to keep the vortices at equally spaced arc lengths along the
sheet.
- It uses a coalescing algorithm to control the number of vortices.
Coalescing
To keep down the number of vortices being tracked, model 2 tries, at each time step, to coalesce pairs of vortices
that have come very close to each other. This is done as follows:
- At each time step the model finds, for each vortex, the nearest neighbouring vortex. If two vortices are each
other's nearest neighbours then they are called 'mutually nearest neighbours', and such a pair are considered
for possible coalescing into one.
- Such a pair of mutually nearest neighbours are coalesced if their separation is less than Sc, where Sc is a
coalescing separation that depends on the distance D from the two vortices to the disc surface. Sc is given by:
Sc = .R if D2R
Sc = .R.(D/2R)
2
if D>2R
where R is the disc radius and is the coalescing threshold specified by the user. The threshold used depends on
whether the two vortices are of the same or opposite signs.
- These formulae for Sc mean that the user's data sets, in disc radius units, the coalescing separation for vortices
that are within 2 disc radii of the disc surface, and for vortices further away the coalescing separation increases
according to the square of the distance from the disc surface. The aim of this is to restrict coalescing near to the
disc but encourage it once the vortices have convected significantly away from the disc.
- If the two vortices are coalesced then they are replaced by one vortex whose strength is the sum of their signed
strengths and which is placed at their centroid of absolute vorticity.

flow
w
VIV Toolbox, Time Domain Models
471
Data and Results
Data
The following data needs setting for the vortex tracking models. See also the data that is common to all the time
domain VIV models.
Maximum Number of Vortices Logged (per side of the line)
This controls the maximum number of vortices that will be displayed and logged, for each side of the line. Note that
this setting only affects the display of vortices and does not affect the calculation itself in any way. Its purpose is
only to allow you to control the size of the log file (and hence the simulation file) and to control the speed of drawing
the 3D view. You can set the maximum number of vortices to one of:
- 0 is the default value, meaning 'log and draw no vortices'. The log file and simulation file are then as small as
possible and the replay as fast as possible. However the drawback of doing this is that you will not see any
vortices on the 3D view.
- '~', meaning 'log and draw all vortices'. There are typically up to several hundred vortices generated per node,
and each vortex needs to log its position and strength so that it can be drawn on the 3D view. So if all vortices
are logged then the log file and simulation file can therefore be quite large. Also the replay might be slower
because many vortices must be drawn for each frame of the replay.
- An intermediate value, 30 say, allows you to see the youngest 30 vortices per side of the line. Note that if you do
this then as new vortices are generated at the separation points you will see the oldest vortices (typically now
downstream) disappear from view. They have not been destroyed and will still be in the calculation, but their
position and strength is no longer available to the 3D view.
Model Parameters
If the Default option is chosen then appropriate default values for the model parameters are used. Alternatively the
Specified option can be selected which gives you complete control over the model parameters.
Warning: The Specified option has been provided principally to allow users the option of calibrating the
model against other experimental results. If you are not doing this then we strongly recommend
that you use the Default parameters.
Vortex Smear Factor
This setting controls the degree to which vortices are smeared. The original Sarpkaya and Shoaff model used point
vortices, i.e. the vorticity was concentrated at a single point. This is what arises in the formal mathematical solution
of the inviscid Navier Stokes equations (i.e. those ignoring fluid viscosity) but it means that each vortex is a
singularity, since the vorticity density at the point itself is actually infinity. In reality viscosity in the fluid spreads the
vorticity to some extent, and we have found that the model is more stable if the vortices are smeared to reflect this.
The smear factor is non-dimensional. Very small values make each vortex more concentrated into a single point,
whereas larger values spread the vorticity in the vortex over a region surrounding the point. The default value is 0.1
and in our experience this gives reasonable performance. The smear factor should not be set too high, since that
would be unrealistic. OrcaFlex warns if the value is more than 0.2.
Creation Clearance
This is a non-dimensional value that is only used by model 2. At each time step the model creates two new vortices,
one at each of the two separation points. This value controls how close to the disc surface these newly-created
vortices are placed. They are placed at the separation angle determined by the boundary layer model and at a
distance .R from the disc surface, where is the specified creation clearance and R is the disc radius (= half the line
outer diameter).
The Creation Clearance can also be set to '~', in which case the new vortices are placed using the same algorithm
as in model 1. This sets the factor to the value that results in the tangential velocity contribution of the new vortex
at the separation point just cancelling out the previous tangential velocity at that point.
Coalesce Same, Coalesce Opposite
These are non-dimensional thresholds that are only used for coalescing in model 2. They control how close to each
other two vortices have to be before they are allowed to be coalesced into one combined vortex. For details, see
Coalescing.
There are separate threshold values depending on whether the two vortices have equal or opposite signs of
vorticity. So if one of the two vortices is clockwise and the other is anti-clockwise then the opposite sign threshold
will be used, whereas if they are both clockwise or both anti-clockwise then the same sign threshold will be used.
VIV Toolbox, Time Domain Models
w

472
Reducing the thresholds makes the model coalesce vortices less often, so the model will have to keep track of more
vortices and the simulation will therefore be slower. Conversely, increasing the thresholds makes the model
coalesce more readily, so fewer vortices need to be tracked and the simulation is faster, but less accurate.
Our experience so far is that the default values of 0.04 for both thresholds gives a reasonable balance between
performance and accuracy. If the mass ratio (= mass of line / mass of water displaced) is low then the fluid forces
are more significant, and in these cases lower coalescing thresholds may be needed so that the fluid behaviour is
more accurately modelled.
Vortex Decay Constant, Vortex Decay Threshold 1, Vortex Decay Threshold 2
These data items set the rate of vortex strength decay in both vortex tracking models. The decay model is described
below. It is as in Sarpkaya and Shoaff's report (page 79) and the default values for these data are as given in that
report. We therefore recommend that the default values be used unless you wish to experiment with other values,
for example to calibrate the model.
Vortices are created at the separation points, with an initial vortex strength determined by the tangential velocity at
the separation point. The strength of each vortex then decays at a rate that depends on how far the vortex is away
from the centre of the disc, in the relative flow direction.
Let R be the disc radius (= half the line outer diameter) and D be the distance, measured in the relative flow
direction from the centre of the line to the vortex. In model 1, at each variable time step the vortex strength is scaled
by a factor that depends on D as follows:
- If D DecayThreshold1*R then = (1-DecayConstant)
- If D DecayThreshold2*R then = 1
- If DecayThreshold1*R < D < DecayThreshold2*R then varies linearly with D, from (1-DecayConstant) to 1.
The effect of this is that while the vortex is less than DecayThreshold1 radii downstream then the vortex loses
DecayConstant of its strength (e.g. DecayConstant=0.01 means 1% decay) per variable time step. While the vortex is
between DecayThreshold1 and DecayThreshold2 radii downstream its rate of decay falls linearly (as a function of
D) to zero. And when the vortex is more than DecayThreshold2 radii downstream then there is no decay.
Clearly DecayConstant must be in the range 0 to 1, and DecayThreshold1 must be less than DecayThreshold2. Note
that DecayThreshold1 and DecayThreshold2 can be set to Infinity. If either of them is Infinity then = 1-
DecayConstant always, so the vortices always lose DecayConstant of their strength per variable time step.
The same decay model is used in model 2, except that the factor is adjusted to allow for the fact that model 2 uses
the outer time step instead of the variable time step used in model 1. The adjustment results in the same rate of
decay per unit time.
Drag Coefficients
The vortex tracking model includes the drag effects in both the transverse and inline directions, but not in the axial
direction. When the vortex tracking model is used, OrcaFlex therefore suppresses the components of the usual
Morison drag force in the transverse and inline directions, but includes the component in the axial direction. The
drag coefficients for the normal directions are therefore not used, but the axial drag coefficient is used.
Results
The Vortex Force is available as line force results variables. This reports the total lift and drag force. Note that this is
the sum of the force generated by the vortex tracking model, which is in the inline and transverse directions and
already includes the drag force in those directions, plus the standard Morison drag force in the axial direction.
The stagnation and separation points are available as line angle results variables.
Transverse VIV Offset is also available as a line position results variable.
9.2.3 VIV Drawing
With the time-domain VIV models you can control how various aspects of VIV are drawn on the 3D view, by setting
data on the VIV Drawing page on the line data form.
Arc Length Intervals
You can control which nodes have VIV detail drawn, by specifying one or more Arc Length Intervals. An arc length
interval specifies a contiguous length of line From one specified arc length To another. The VIV details are drawn
for all nodes whose arc lengths fall in any one of the specified intervals. For convenience '~' in the From column
means End A of the line, and '~' in the To column means End B.
For example, to view the detail for one node only, specify 1 arc length interval and set both its From and To values
equal to the arc length of that node. Whereas to view the detail for the whole line specify 1 arc length interval and
set both its From and To values equal to '~'.
w
VIV Toolbox, Time Domain Models
473
What is Drawn
The following VIV details are drawn for all nodes whose arc lengths fall in any one of the specified arc length
intervals.
For all the time domain VIV models, the vortex force is drawn as a line radiating from the disc centre in the direction
of the vortex force. The line length is scaled so that a vortex force equal to the standard Morison drag force with
Cd=1 in a relative velocity of 1m/s, is represented by a line 1 disc radius long (i.e. just reaching the edge of the disc).
For the vortex tracking models only, and only if the maximum number of vortices logged is set greater than zero,
then the following extra details are drawn.
- The node is drawn as a disc (even if you have not specified nodes drawn as discs) and the stagnation and
separation points are drawn on the edge of the disc.
- The positive and negative vortices are drawn as circles whose areas are proportional to the vortex strengths.
The constant of proportionality can be controlled by setting Area per Unit Strength.
- The centre-lines of the positive and negative vortex sheets, and the wake line are drawn.
Note: The vortices and sheet centre-lines drawn are limited by the specified maximum number of vortices
logged.
For all these items you can control the pen used for drawing. With the vortex tracking models, for example, this
allows you to suppress (by setting the pen style to null) or downplay (by choosing a suitable colour) individual
aspects of the detail.

Vous aimerez peut-être aussi