w
OrcaFlex Manual Version 9.7a
Orcina Ltd. Daltongate Ulverston Cumbria LA12 7AJ UK Telephone: Fax: E-mail: Web Site:
+44 (0) 1229 584742 +44 (0) 1229 587191
[email protected] www.orcina.com
1
w
Contents
CONTENTS 1 INTRODUCTION 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10
11
Installing OrcaFlex Running OrcaFlex Parallel Processing Distributed OrcaFlex Orcina Licence Monitor Demonstration Version OrcaFlex Examples Validation and QA Orcina References and Links
11 13 14 15 15 15 15 15 15 16
2 TUTORIAL 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10
21
Getting Started Building a Simple System Adding a Line Adjusting the View Static Analysis Dynamic Analysis Multiple Views Looking at Results Getting Output Input Data
21 21 21 22 22 23 23 23 24 24
3 USER INTERFACE 3.1
3.2
3.3
25
Introduction
25
3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6
25 25 25 27 28 28
Program Windows The Model Model States Toolbar Status Bar Mouse and Keyboard Actions
OrcaFlex Model Files
31
3.2.1 3.2.2 3.2.3 3.2.4
31 32 38 39
Data Files Text Data Files Simulation Files Relative Paths
Model Browser
39
3.3.1 3.3.2
41 42
Model Browser Views Move Selected Objects Wizard
3
w
Contents
3.4 3.5
Libraries
43
3.4.1 3.4.2
43 46
Menus 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.5.6 3.5.7 3.5.8 3.5.9 3.5.10 3.5.11 3.5.12
3.6
3.7
3.8 3.9
Using Libraries Building a Library
46 File Menu Edit Menu Model Menu Calculation Menu View Menu Replay Menu Graph Menu Results Menu Tools Menu Workspace Menu Window Menu Help Menu
46 48 48 49 50 51 51 51 52 52 53 53
3D Views
53
3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.6.8 3.6.9 3.6.10
54 55 56 57 58 60 60 60 60 60
View Parameters View Control Navigating in 3D Views Shaded Graphics How Objects are Drawn Selecting Objects Creating and Destroying Objects Dragging Objects Connecting Objects Printing, Copying and Exporting Views
Replays
61
3.7.1 3.7.2 3.7.3 3.7.4
61 62 63 63
Replay Parameters Replay Control Custom Replays Custom Replay Wizard
Data Forms
64
3.8.1 3.8.2
65 66
Data Fields Data Form Editing
Results 3.9.1 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.8 3.9.9 3.9.10 3.9.11 3.9.12
67 Producing Results Selecting Variables Summary and Full Results Statistics Linked Statistics Offset Tables Line Clashing Report Time History and XY Graphs Range Graphs Offset Graphs Spectral Response Graphs Extreme Value Statistics Results
4
67 68 69 69 69 70 70 71 72 73 73 73
w 3.9.13
Contents
Presenting OrcaFlex Results
76
3.10 Graphs 3.10.1
3.11 3.12 3.13 3.14 3.15
76 Modifying Graphs
78
Spreadsheets Text Windows Workspaces Comparing Data Preferences
78 78 79 79 80
4 AUTOMATION 4.1 4.2
4.3
Introduction Batch Processing
83 83
4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.8
83 84 85 85 88 94 94 94
Introduction Script Files Script Syntax Script Commands Examples of setting data Handling Script Errors Obtaining Data Names Automating Script Generation
Text Data Files 4.3.1 4.3.2
4.4
83
96
Examples of setting data Automating Generation
96 103
Post-processing 4.4.1 4.4.2 4.4.3 4.4.4 4.4.5 4.4.6 4.4.7 4.4.8 4.4.9 4.4.10
104
Introduction OrcaFlex Spreadsheet Instruction Format Pre-defined commands Basic commands Time History and related commands Range Graph commands Data commands Instructions Wizard Duplicate Instructions
5 THEORY 5.1 5.2 5.3 5.4 5.5
5.6
119
Coordinate Systems Direction Conventions Object Connections Interpolation Methods Static Analysis 5.5.1 5.5.2 5.5.3
104 105 107 109 109 110 111 111 112 115
119 120 121 121 123
Line Statics Buoy and Vessel Statics Vessel Multiple Statics
123 127 127
Dynamic Analysis
127
5
w
Contents
5.6.1 5.6.2
5.7 5.8 5.9 5.10
Calculation Method Ramping
128 130
Friction Theory Spectral Response Analysis Extreme Value Statistics Theory Environment Theory
130 134 135 137
5.10.1 5.10.2 5.10.3 5.10.4 5.10.5 5.10.6
Buoyancy Variation with Depth Current Theory Seabed Theory Seabed Non-Linear Soil Model Theory Morison's Equation Waves
5.11 Vessel Theory 5.11.1 5.11.2 5.11.3 5.11.4 5.11.5 5.11.6 5.11.7 5.11.8 5.11.9 5.11.10
137 137 138 139 144 145
152
Vessel Rotations RAOs and Phases RAO Quality Checks Wave Drift and Sum Frequency Loads Sea State Disturbance Stiffness, Added Mass and Damping Impulse Response and Convolution Manoeuvring Load Other Damping Current and Wind Loads
152 153 155 156 161 162 164 165 166 167
5.12 Line Theory
169
5.12.1 5.12.2 5.12.3 5.12.4 5.12.5 5.12.6 5.12.7 5.12.8 5.12.9 5.12.10 5.12.11 5.12.12 5.12.13 5.12.14 5.12.15 5.12.16 5.12.17 5.12.18 5.12.19 5.12.20 5.12.21
169 170 171 172 173 175 175 176 176 177 177 178 179 180 181 182 185 186 186 187 187
Overview Structural Model Details Calculation Stages Calculation Stage 1 Tension Forces Calculation Stage 2 Bend Moments Calculation Stage 3 Shear Forces Calculation Stage 4 Torsion Moments Calculation Stage 5 Total Load Line End Orientation Line Local Orientation Treatment of Compression Contents Flow Effects Line Pressure Effects Pipe Stress Calculation Pipe Stress Matrix Hydrodynamic and Aerodynamic Loads Drag Chains Line End Conditions Interaction with the Sea Surface Interaction with Seabed and Shapes Clashing
5.13 6D Buoy Theory 5.13.1 5.13.2
190
Overview Lumped Buoy Added Mass, Damping and Drag
6
190 192
w 5.13.3 5.13.4 5.13.5 5.13.6
Contents
Spar Buoy and Towed Fish Added Mass and Damping Spar Buoy and Towed Fish Drag Slam Force Contact Forces
5.14 3D Buoy Theory 5.15 Winch Theory 5.16 Shape Theory
200 201 202
6 SYSTEM MODELLING: DATA AND RESULTS 6.1 6.2 6.3
Modelling Introduction Data in Time History Files Variable Data 6.3.1
6.4
6.5
External Functions
209
210
Statics Dynamics Integration & Time Steps Explicit Integration Implicit Integration Numerical Damping Response Calculation Results Post Calculation Actions Drawing Properties Report
211 212 213 214 215 216 216 216 217 221 221
Environment 6.5.1 6.5.2 6.5.3 6.5.4 6.5.5 6.5.6 6.5.7 6.5.8 6.5.9 6.5.10 6.5.11 6.5.12 6.5.13 6.5.14 6.5.15 6.5.16 6.5.17 6.5.18 6.5.19 6.5.20 6.5.21
205 205 206 208
General Data 6.4.1 6.4.2 6.4.3 6.4.4 6.4.5 6.4.6 6.4.7 6.4.8 6.4.9 6.4.10 6.4.11
193 195 197 199
222
Sea Data Sea Density Data Seabed Data Wave Data Data for Regular Waves Data for Random Waves Data for JONSWAP and ISSC Spectra Data for Ochi-Hubble Spectrum Data for Torsethaugen Spectrum Data for Gaussian Swell Spectrum Data for User Defined Spectrum Data for Time History Waves Data for User Specified Components Data for Response Calculation Waves Preview Modelling Design Waves Setting up a Random Sea Current Data Wind Data Drawing Data External Functions
7
222 223 223 227 228 228 230 230 231 231 231 232 233 233 233 234 235 238 239 240 241
w
Contents
6.5.22 6.5.23
6.6 6.7
246 247
Vessel Modelling Overview Vessel Data Vessel Types Importing Hydrodynamic Data Modelling Vessel Slow Drift Vessel Response Reports Vessel Results
248 249 258 283 292 293 296
Lines 6.8.1 6.8.2 6.8.3 6.8.4 6.8.5 6.8.6 6.8.7 6.8.8 6.8.9 6.8.10 6.8.11 6.8.12 6.8.13 6.8.14 6.8.15 6.8.16 6.8.17 6.8.18 6.8.19 6.8.20 6.8.21 6.8.22
6.9
241 242
Solid Friction Coefficients Data Vessels 6.7.1 6.7.2 6.7.3 6.7.4 6.7.5 6.7.6 6.7.7
6.8
Results Wave Scatter Conversion
299 Line Data Line Types Attachments Rayleigh Damping P-y Models Code Checks Line Contact Line Results Drag Chain Results Flex Joint Results Line Setup Wizard Line Type Wizard Chain Rope/Wire Line with Floats Homogeneous Pipe Hoses and Umbilicals Modelling Stress Joints Modelling Bend Restrictors Modelling non-linear homogeneous pipes Line Ends Modelling Compression in Flexibles
6D Buoys 6.9.1 6.9.2 6.9.3 6.9.4 6.9.5 6.9.6 6.9.7 6.9.8 6.9.9 6.9.10 6.9.11 6.9.12 6.9.13 6.9.14
301 316 327 330 333 335 346 354 365 365 365 367 368 372 374 378 380 381 383 386 387 390
391
Wings Common Data Applied Loads Wing Data Wing Type Data Lumped Buoy Properties Lumped Buoy Drawing Data Spar Buoy and Towed Fish Properties Spar Buoy and Towed Fish Drag & Slam Spar Buoy and Towed Fish Added Mass and Damping Spar Buoy and Towed Fish Drawing Shaded Drawing Other uses External Functions
8
392 393 395 395 396 397 399 399 401 401 403 403 405 405
w 6.9.15 6.9.16 6.9.17 6.9.18 6.9.19
Contents
Properties Report Results Buoy Hydrodynamics Hydrodynamic Properties of a Rectangular Box Modelling a Surface-Piercing Buoy
6.10 3D Buoys 6.10.1 6.10.2 6.10.3
414
Data Properties Report Results
414 415 415
6.11 Winches 6.11.1 6.11.2 6.11.3 6.11.4 6.11.5 6.11.6 6.11.7 6.11.8
416
Data Wire Properties Control Control by Stage Control by Whole Simulation Drive Unit External Functions Results
417 417 418 418 419 419 420 420
6.12 Links 6.12.1 6.12.2
421 Data Results
421 422
6.13 Shapes 6.13.1 6.13.2 6.13.3 6.13.4 6.13.5 6.13.6 6.13.7
423 Data Blocks Cylinders Curved Plates Planes Drawing Results
424 425 425 426 427 427 428
6.14 All Objects Data Form
428
7 MODAL ANALYSIS 7.1 7.2
431
Data and Results Theory
431 433
8 FATIGUE ANALYSIS 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9
405 406 408 409 411
437
Introduction Commands Data Load Cases Data for Regular Analysis Load Cases Data for Rainflow Analysis Load Cases Data for Spectral Analysis Load Cases Data for SHEAR7 Components Data Analysis Data
9
437 438 439 440 440 441 443 443 443
w
Contents
8.10 8.11 8.12 8.13 8.14 8.15
S-N and T-N Curves Integration Parameters Results Automation Fatigue Points How Damage is Calculated
444 445 445 446 447 447
9 VIV TOOLBOX 9.1
Frequency Domain Models 9.1.1 9.1.2
9.2
451 451
VIVA SHEAR7
451 455
Time Domain Models
461
9.2.1 9.2.2 9.2.3
Wake Oscillator Models Vortex Tracking Models VIV Drawing
464 467 472
10
w
Introduction, Installing OrcaFlex
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 1024×768. If you are using large fonts (120dpi) the screen resolution must be at least 1280×1024. 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 1280×1024 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'.
11
w
Introduction, Installing OrcaFlex
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.
12
w
Introduction, Running OrcaFlex
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:
13
w
Introduction, Parallel Processing
/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
\OrcFxAPI\Win32 and \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.
14
w
Introduction, Distributed OrcaFlex
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
15
w
Introduction, References and Links Telephone: +44 (0) 1229 584742 Fax: +44 (0) 1229 587191 E-mail: [email protected] 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.
16
w
Introduction, References and Links
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. 3rd 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.
17
w
Introduction, References and Links
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, LowFrequency 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, 215224. 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.
18
w
Introduction, References and Links
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: [email protected] VIVA
JD Marine 11777 Katy Freeway, Suite 434 South Houston, TX 77079 USA Tel: +1 281 531 0888 Email: [email protected]
19
w
Tutorial, Getting Started
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:
21
w
Tutorial, Adjusting the View 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 Selection window. You are offered the following choices:
22
. This opens a Results
w
Tutorial, Dynamic Analysis
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
23
w
Tutorial, Getting Output
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.
24
w
User Interface, Introduction
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.
25
w
User Interface, Introduction
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.
RESET Calculate Static Position Reset
Calculating Statics
Edit or Reset
STATICS COMPLETE Reset Run Pause SIMULATION UNSTABLE
Simulating
SIMULATION Reset PAUSED
Run Extend Simulation SIMULATION COMPLETE
Figure:
Reset
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.
26
w
User Interface, Introduction
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
27
w
User Interface, Introduction 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
28
w
User Interface, Introduction
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
29
w
User Interface, Introduction PGUP PGDN
Go up or down table several rows at a time 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) CTRL+Y
Show / Hide local axes
30
w
User Interface, OrcaFlex Model Files
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:
31
w
User Interface, OrcaFlex Model Files
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.
32
w Note:
User Interface, OrcaFlex Model Files 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]
33
w
User Interface, OrcaFlex Model Files - [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:
34
w
User Interface, OrcaFlex Model Files
# 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.
35
w
User Interface, OrcaFlex Model Files
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:
36
w
User Interface, OrcaFlex Model Files
- 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 counterintuitive 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).
37
w
User Interface, OrcaFlex Model Files
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 X≠0, 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)
XY, equivalent to the exponentiation operator X^Y
sqrt(X)
The square root of X
exp(X)
The exponential function, eX
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.
38
w
User Interface, Model Browser
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 (F6 to open the model browser).
or the Model | Model Browser menu item or use the keyboard shortcuts
39
w
User Interface, Model Browser
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.
40
w
User Interface, Model Browser
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.
41
w
User Interface, Model Browser
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.
42
w
User Interface, Libraries
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 F2. The model browser should look like:
or the Model | Model Browser menu item, or pressing
Now you open your file as a library. To do this click the open button file. Now the model browser will look like:
43
on the model browser and select your data
w
User Interface, Libraries
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:
44
w
User Interface, Libraries
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:
45
w
User Interface, Menus
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.
46
w
User Interface, Menus
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.
47
w
User Interface, Menus
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.
48
w
User Interface, Menus
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.
49
w
User Interface, Menus
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.
50
w
User Interface, Menus
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.
51
w
User Interface, Menus
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.
52
w
User Interface, 3D Views
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.
53
w
User Interface, 3D Views
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 nonin-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.
54
w
User Interface, 3D Views
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
55
w
User Interface, 3D Views Button + SHIFT
+ SHIFT
+ SHIFT
Menu Item
Shortcut
Action
View | Rotate Down
CTRL+ALT+↓
Decrease view elevation
View | Rotate Right
CTRL+ALT+→
Increase view azimuth
View | Rotate Left
CTRL+ALT+←
Decrease view azimuth
View | Zoom In
CTRL+I
Zoom in
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.
56
w
User Interface, 3D Views
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.
57
w
User Interface, 3D Views 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.
58
w
User Interface, 3D Views
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.
59
w
User Interface, 3D Views
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.
60
w
User Interface, Replays
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.
61
w
User Interface, Replays 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
+ SHIFT
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
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
62
w
User Interface, Replays
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.
63
w
User Interface, Data Forms 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
64
w
User Interface, Data Forms
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.
65
w
User Interface, Data Forms 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
0…9, A…Z
Edit (replace)
During Editing ← →, HOME, END
Move within field
End Editing ESC
Cancel edit
66
w
User Interface, Results
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.
67
w
User Interface, Results
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.
68
w
User Interface, Results
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/Tz2,
m4
fourth spectral moment estimated as m2/Tc2,
ε
spectral bandwidth parameter, estimated as (1-Tc2/Tz2)½,
To obtain a Linked Statistics report:
Select Linked Statistics. Select the required object and period. Select the variables of interest (see Selecting Variables).
69
w
User Interface, Results
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.
70
w
User Interface, Results
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 S 1 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 S 1 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 Xaxis 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.
71
w
User Interface, Results
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.
72
w
User Interface, Results
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.
73
w
User Interface, Results 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.
74
w
User Interface, Results
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.
75
w
User Interface, Graphs
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.
76
w
User Interface, Graphs
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.
77
w
User Interface, Spreadsheets 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.
78
w
User Interface, Workspaces
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.
79
w
User Interface, Preferences 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.
80
w
User Interface, Preferences
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).
81
w
User Interface, Preferences 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.
82
w
Automation, Introduction
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 isn’t 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 quadcore machine then 4 simulation files can be run concurrently.
83
w
Automation, Batch Processing
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.
84
w
Automation, Batch Processing
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
Opens the OrcaFlex file named . The file can be a data file, a simulation file or a fatigue analysis file. LoadData
Opens the data from the OrcaFlex data file named . RunStatics
Perform statics for the current model and save the resulting simulation to . After the file is saved the model is reset. RunDynamics
Run dynamics for the current model and save the resulting simulation to . 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 (OrcaFlex model active)
This command is identical to RunDynamics. Run (Fatigue active)
This command: 1. Performs the fatigue analysis. 2. Saves the results to which should have the .ftg extension. 3. Saves tabular results to an Excel workbook with the same name, but an .xls extension.
85
w
Automation, Batch Processing Save (OrcaFlex model active)
Save the current model to . 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 (Fatigue active)
Saves the fatigue model to which should have the .ftg extension. SaveData
Save the data from the current model to . 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 is a relative path then it is taken to be relative to the directory from which the script file was loaded. ExtendSimulation
Adds a new stage of length . 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 []
Creates a new object of type . The new object is automatically selected which means that subsequent assignment commands apply to this new object. The 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 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 parameter is included then the new object will be given that name. Delete
Deletes the object called . Select []
Specify the object to which subsequent assignment commands will apply. The parameter is optional, and by default is 'object', meaning select the named object. 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 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
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:
86
w
Automation, Batch Processing
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
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
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
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 2nd 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.
87
w
Automation, Batch Processing 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
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 [] SpectralResponseReport []
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
Exports to a SHEAR7 data file for the line named . SHEAR7MdsFile [ ]
Exports to a SHEAR7 Mds file for the line named . The and parameters are optional. If they are specified then mode numbers in the range to 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 to inclusive. SHEAR7OutputFile
Exports to the SHEAR7 output file for the line named . 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 . 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
88
w
Automation, Batch Processing
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 . For a wave
89
w
Automation, Batch Processing
train you replace with WaveTrain and replace 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
90
w
Automation, Batch Processing
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
91
w
Automation, Batch Processing
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
92
w
Automation, Batch Processing
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.
93
w
Automation, Batch Processing
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.
94
w
Automation, Batch Processing
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:
95
w
Automation, Text Data Files
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.
96
w
Automation, Text Data Files
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
97
w
Automation, Text Data Files 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
98
w
Automation, Text Data Files
# 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:
99
w
Automation, Text Data Files 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:
100
w
Automation, Text Data Files
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 SelectedPenetratorLocationsDataSet identifier: LineContactData: SelectedPenetratorLocationsDataSet: Locations1 Penetratorx[2]: 13.6 Penetratory[2]: -2.5 PenetratorContactArea[2]: 0.85
must
first
be
selected
using
the
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
101
w
Automation, Text Data Files 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]
102
w
Automation, Text Data Files
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.
103
w
Automation, Post-processing
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.
104
w
Automation, Post-processing
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.
105
w
Automation, Post-processing 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.
106
w Note:
Automation, Post-processing 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 addin can become disabled and needs to be re-enabled. The method for achieving this differs depending on the version of Excel. Excel 2003
1. 2. 3. 4. 5.
On the Excel Help menu, click About Microsoft Office Excel. Click Disabled Items which brings up the Disabled Items dialog. Select the OrcaFlex spreadsheet in the Disabled Items dialog and click Enable. Restart Excel. 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. 2. 3. 4. 5. 6.
Open the Excel Options dialog. Select the Add-ins page. Select COM Add-ins in the Manage drop-down list. Click the Go button which brings up the COM Add-ins dialog. Check the box next to the OrcaFlex spreadsheet and click OK. 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.
107
w
Automation, Post-processing 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.
108
w
Automation, Post-processing
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 "t 1 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
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.
109
w
Automation, Post-processing
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 G5…G504. 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.
110
w
Automation, Post-processing
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.
111
w
Automation, Post-processing
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 Simulation Variable Data Period
Select WaveTrain Environment
Wave2
Get Data
WaveTrainType
Environment
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:
112
w
Figure:
Automation, Post-processing
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
113
w
Automation, Post-processing 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:
114
w
Figure:
Automation, Post-processing
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:
115
w
Automation, Post-processing
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 instruction’s 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:
116
w
Figure:
Automation, Post-processing
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.
117
w
Theory, Coordinate Systems
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.
z
y
Sea Surface
x
V Z Vessel Axes
Y Global Axes
X
G 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:
119
w
Theory, Direction Conventions
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. 90 150
30 y
180
x
0
330
210 270
Figure:
Directions relative to axes
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 zdirection, 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.
120
w
Theory, Object Connections
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.
121
w
Theory, Interpolation Methods 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.
122
w
Theory, Static Analysis
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
123
w
Theory, Static Analysis
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.
124
w
Theory, Static Analysis
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. Y
Start of track
Track Section 1 Length = 150 Turn = 0
X Track section 2 Length = 100 Turn = -90
10
End A Azimuth = 10
Figure:
Track section 3 Length = 100 Turn = 90
Track Section 4 Length = 150 Turn = 0
Continuation of last track section
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.
125
w
Theory, Static Analysis
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.
126
w
Theory, Dynamic Analysis
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.
127
w
Theory, Dynamic Analysis
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.
Static Starting Position
End of Simulation
Build-up -10
Stage 1
Stage 2
0
Simulation Time t
15
30 Wave Train Time 0 Time-history Time
0 T=0 Global Time Origin Figure:
Global Time T Simulation Time Origin
Wave Train Time Origin
Time-history Time Origin
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.
128
w
Theory, Dynamic Analysis
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 userdefined 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
129
w
Theory, Friction Theory
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 = r3 (6r2 -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. 1 0.9
Ramping Factor
0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
r
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.
130
w
Theory, Friction Theory
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:
131
w
Theory, Friction Theory
Force R
Deflection
R
Force R
-Dcrit +Dcrit
Deflection
R
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.
132
w
Theory, Friction Theory
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.
Old Target position New Target position
Vector D
Contact position position
Figure:
Circle of radius Dcrit
Updating friction target positions during dynamics
133
w
Theory, Spectral Response Analysis 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 p×F, 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 f i = iΔf. 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
134
w
Theory, Extreme Value Statistics Theory
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-α})]½
135
w
Theory, Extreme Value Statistics Theory
Ochi derives this formula using Cramér'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 userspecified 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
136
w
Theory, Environment Theory
σ = 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,
137
w
Theory, Environment Theory
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 S b 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 D n 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
138
w
Theory, Environment Theory
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
Not in Contact Break contact
First contact only
Uplift Start of first uplift only
Initial Penetration
Figure:
Start of second or subsequent uplift
Second or subsequent contact
Start repenetrating when still in contact
Repenetration
Soil Model Penetration Modes
139
w
Theory, Environment Theory
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 s u(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 N c(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.
140
w
Theory, Environment Theory
Initial Penetration Mode For Initial Penetration mode the starting penetration and resistance values, z 0 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/K max). 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, z P=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*
141
w
Theory, Environment Theory
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 P 0 when this repenetration starts, and asymptotically approaches the ultimate penetration resistance P u(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 P max(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 ERP(z) is zero or negative, so ERP(z) ≤ 1. The expression for ERP(z) gives a value < 1, and so limits the repenetration resistance to be less than the ultimate penetration resistance P u(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.
142
w
Theory, Environment Theory
Ultimate penetration resistance, Pu Normal seabed reaction force (1) Initial penetration (6) Further repenetration (2) Uplift 1 2 3 4 5
15
10
O
20
Non-dimensional Penetration, ζ
(5) suction releases if repenetrates .. (4) .. or if uplift continues
-ve reaction (ie suction)
Figure:
25
(3) Further uplift is resisted by suction
Ultimate suction resistance, Pu-suc
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.
143
w
Theory, Environment Theory
ρ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 V disp(ρ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 nondimensional 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 P max(z) in equation (3b) in Repenetration mode merges with the bounding curve for initial penetration resistance, P IP(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
144
w
Theory, Environment Theory
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 a w. 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 PiersonMoskowitz), 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
145
w
Theory, Environment Theory
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 r min 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 f m- = fm+ = fm. For the OchiHubble spectrum, the spectral peak frequencies are data items named f m1 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 [f i-, 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 userspecified 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 δf max. 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, f i, 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 f m 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.
146
w
Theory, Environment Theory
Spectral Density (m^2/Hz)
50
40
30
20
10
0 0
0.05
0.1
0.15
0.2
0.25
0.3
Frequency (Hz)
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)cosn(θ-θ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 n d 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 n d 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).
147
w
Theory, Environment Theory
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 z≤0, 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 z≤0 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 Hs2 fm4 f -5 exp(-5/4 [f/fm] -4) where f is frequency. The other two parameters, the peak frequency f m 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) = (αg2/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.
148
w
Theory, Environment Theory
Example of Ochi-Hubble Spectrum 6
S(r) [m^2]
5 4 3 2 1 0 0
1
2
3
4
Relative Frequency r
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 OchiHubble. 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
149
w
Theory, Environment Theory
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 nonlinear 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ψ/∂x2 + ∂2ψ/∂z2 = 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 1st order Stokes' theory.
150
w
Theory, Environment Theory
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 = HL2 / 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!
151
w
Theory, Vessel Theory
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 C W. To calculate the fluid velocity V at any given point in time we must take into account the fluid velocity V W 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
152
w
Theory, Vessel Theory
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°.
153
w
Theory, Vessel Theory
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.
154
w Example:
Theory, Vessel Theory 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
155
w
Theory, Vessel Theory 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
156
w
Theory, Vessel Theory
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:
157
w
Theory, Vessel Theory
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 n2. 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 Q diag(β,τ) = 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 offdiagonal wave drift QTF values, Qd(β1, β2, τ1, τ2) where β1≠β2 or τ1≠τ2, 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 x≥0, -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.
158
w
Theory, Vessel Theory 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 n2. 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.
159
w
Theory, Vessel Theory 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, Q de(β,β,τ,τ), 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.
160
w
Theory, Vessel Theory
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 Q de 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.
161
w
Theory, Vessel Theory
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 a d(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.
162
w
Theory, Vessel Theory
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 M roll 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 freefloating 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
roll
(F.L)/L (F.L)/radian (F.L)/radian
pitch
(F.L)/L (F.L)/radian (F.L)/radian
F/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)
163
w
Theory, Vessel Theory
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/T2, 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.L2
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(2πft)] 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.
164
w
Theory, Vessel Theory
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/(2πfi) Integral(s=0 to Tc) IRF(s) sin(2πfis) 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=1…6 [ A2ju6uj - A3ju5uj ] F2 = Σj=1…6 [ A3ju4uj - A1ju6uj ] F3 = Σj=1…6 [ A1ju5uj - A2ju4uj ] F4 = Σj=1…6 [ A2ju3uj - A3ju2uj + A5ju6uj - A6ju5uj ]
165
w
Theory, Vessel Theory F5 = Σj=1…6 [ A3ju1uj - A1ju3uj + A6ju4uj - A4ju6uj ] F6 = Σj=1…6 [ 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=1…3) and low frequency angular velocity (j=4…6) 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 2nd 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 (A ij) 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 + A12u22 - A21u12 - 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 u62 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 wavefrequency 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|
166
w
Theory, Vessel Theory
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 wavefrequency 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 = ½CsurgeρV2Asurge Sway Force = ½CswayρV2Asway Yaw Moment = ½CyawρV2Ayaw 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 L2D for the yaw area moment for current loads, and LA sway 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.
167
w
Theory, Vessel Theory 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 Dδx and its sway velocity due to the yaw rate is ωx, so we can estimate the sway drag load on it by ½ρCdDδx(ω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)(CdDL4/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 K yaw corresponds to the bracketed term (CdDL4/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 = (CdDL4/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.
168
w
Theory, Line Theory
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.
Discretised Model
Actual Pipe End A
Node 1
Segment 1
Segment 1
Node 2
Segment 2
Segment 2
Node 3
Segment 3
Segment 3
End B 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.
169
w
Theory, Line Theory
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 halfsegment. Each line segment is divided into two halves and the properties (mass, weight, buoyancy, drag etc.) of each halfsegment 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.
170
w
Theory, Line Theory
Torsion spring + damper
Sx1 Sy1 Sz
Sx1
Axial spring + damper
Sx2
Sy2 Sz
2 Node
Nx Bending springs + dampers
Ny Nz (axial direction)
End B
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.
171
w
Theory, Line Theory 3. 4. 5.
Shear Forces. Torsion Moments. 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
172
w
Theory, Line Theory
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 = L 0(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:
173
w
Theory, Line Theory |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 = L 0(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.
M
C
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
174
w
Theory, Line Theory
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.
M
M
C
Figure:
C
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 M 1 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, M 1 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)
175
w
Theory, Line Theory 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 K nom 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.
176
w
Theory, Line Theory
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 π2EI/L02, where EI is the bending stiffness of the pipe and L 0 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.
177
w
Theory, Line Theory
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 midnode 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 nomoment 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 ρaisi2ui. Likewise the rate of output of momentum is ρaoso2uo. 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. ρaoso2uo - ρaisi2ui The resulting centrifugal force on the node must be equal and opposite to this, so Centrifugal Force on Node = ρ(aisi2ui - aoso2uo) 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 = ρas2(ui - uo) This result agrees with the centrifugal term included in equation 10 of Gregory & Paidoussis, 1996.
178
w
Theory, Line Theory
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 + 2ω×p' + ω×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 2ω×p' = 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 A i = π.StressID2/4 and Ao = π.StressOD2/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.
179
w
Theory, Line Theory 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.
Te
Te
PiAi
Tw
PiAi PoAo
node n
Figure: Notes:
Tw
PoAo
node n+1
segment mid-point
Tension and Pressure forces 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 P iAi 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, O z 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).
180
w
Theory, Line Theory
y
y (Theta=90)
R P C r
End A
Stress ID
O
z
Stress OD
Side View Figure:
Theta
O
x (Theta=0)
Cross-Section
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).(ODstress2 - IDstress2) Ixy = 2nd moment of stress area about Ox (or Oy) = (π/64).(ODstress4-IDstress4) Iz = 2nd 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.
181
w
Theory, Line Theory Radial and Hoop Stresses
σRR and σCC are due to the internal and external pressure. They are calculated using Lamé's equation for a thickwalled cylinder whose internal and external diameters are ID stress and ODstress, as specified on the line types form. This gives: σRR = Radial Stress = a - b/r2 σCC = Hoop Stress = a + b/r2 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 ID stress, and between ODstress and OD, is transparent to pressure. The internal pressure therefore applies right through to the ID stress 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 = C4τr/Iz + C3(Sycosθ - Sxsinθ)/A where C4 is the torsional stress loading factor. The contribution C4τr/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.
182
w Note:
Theory, Line Theory 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 V n, 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 D nL 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 πD aL where Da is the axial Drag / Lift diameter. There is a choice of the following three possible drag formulations for the drag force components (F x, 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| = Rsin2φ
|Fz| = Rμ.cos2φ
Pode:
|Fz| = Rμ
Eames:
|Fn| = Rsin2φ |Fn| =
R{(1-μ)sin2φ
+ μsin φ}
|Fz| = Rμcos φ
183
w
Theory, Line Theory 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/D n. 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 |u n × 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 F LIFT = (½ρ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.
184
w
Theory, Line Theory
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 C mMFAF, where AF is the component (in that direction) of the acceleration of the fluid (relative to the earth) and C m 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.
Vn V
A Va
Connection to Line
-90 Drag Chain
Wa
Wn W
Figure:
180-
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|
185
w
Theory, Line Theory 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 length 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
186
w
Theory, Line Theory
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. A B
Proportion Wet = B / (A+B)
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.
187
w
Theory, Line Theory 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 ≥ (r 1 + 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 p 1 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 p 1 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 S 1, 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 k 1 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 v≤0 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.
188
w
Theory, Line Theory
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.
189
w
Theory, 6D Buoy Theory 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 H wet. When the centre of volume is H/2 or more below the surface, then P W = 1 and the buoyancy force is the fullysubmerged 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.
190
w
Theory, 6D Buoy Theory
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.
191
w
Theory, 6D Buoy Theory 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 Cm are the reference hydrodynamic mass and Cm 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
192
w
Theory, 6D Buoy Theory
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 C aMf where Ca is the added mass coefficient specified for that direction of motion (normal or parallel to the cylinder axis), and M f 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 C mMfAf where Af is the component (in that direction) of the acceleration of the fluid (relative to the earth) and C m is the inertia force coefficient specified for that direction. Typically C m = 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 -PWIaΩc 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.
193
w
Theory, 6D Buoy Theory
Cmn, Cma = specified inertia force coefficients specified for the normal and axial directions, respectively. Mfn, Mfa, Ian, Iaa = instantaneous values of reference fluid mass (M f) 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, M fn, 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, M fa, 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.
194
w
Theory, 6D Buoy Theory
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
195
w
Theory, 6D Buoy Theory
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 L5. 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.W4) / 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.L4) / 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 = (D5) / 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α).V2 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 α.
196
w
Theory, 6D Buoy Theory
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 (C s) 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 buoy’s 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 buoy’s 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 A w = 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.
197
w
Theory, 6D Buoy Theory 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 Morison’s 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, V n, 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, A w. In DNV-RPH103 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.
198
w
Theory, 6D Buoy Theory
1.2
Slam force ramping
1
0.8
Idealised 0.6
Ramped 0.4 0.2 0 -0.2
0
0.2
0.4
0.6
0.8
1
1.2
Proportion Wet 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, A v. 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 A t 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.
199
w
Theory, 3D Buoy Theory
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 = PWρgV 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.
200
w
Theory, Winch Theory
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 L0 = 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 - CV2 if dL0/dt = 0: f(V) = f(0) if dL0/dt > 0: f(V) = f(0) + Deadband + BV + DV2
(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)
201
w
Theory, Shape Theory
f(V) = f(0) + Deadband 2 + B.V + D.V
Drive Force f
Deadband
f(0) = Nominal Tension + Stiffness (Payout since simulation started)
Deadband
0
Payout Speed V (-ve = hauling in)
f(V) = f(0) - Deadband 2 + A.V - C.V
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: Md2L0/dt2 = 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 p o 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
202
w
Theory, Shape Theory
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.
203
w
System Modelling: Data and Results, Modelling Introduction
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.
205
System Modelling: Data and Results, Data in Time History Files
w
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.
206
w
System Modelling: Data and Results, Data in Time History Files
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 20th 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.
207
w
System Modelling: Data and Results, Variable Data
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 downarrow 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.
208
w
System Modelling: Data and Results, Variable Data
Tabular Data Sources These data sources are specified by giving a table of corresponding values (x 1,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 y 1 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.
209
w
System Modelling: Data and Results, General Data 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.
210
w
System Modelling: Data and Results, General Data
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.
211
w
System Modelling: Data and Results, General Data
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.
212
w
System Modelling: Data and Results, General Data
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.
213
w
System Modelling: Data and Results, General Data 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.
214
w
System Modelling: Data and Results, General Data
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.
215
w
System Modelling: Data and Results, General Data
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
216
w
System Modelling: Data and Results, General Data
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.
217
w
System Modelling: Data and Results, General Data
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.
218
w
System Modelling: Data and Results, General Data
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
219
w
System Modelling: Data and Results, General Data 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 try…catch 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.
220
w
System Modelling: Data and Results, General Data
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.
221
w
System Modelling: Data and Results, Environment 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.
Datum Current Direction
Z
Wave Direction
Still water surface Surface Z-level
Y G
Water Depth
X Global Axes
Seabed Direction of Slope
Seabed Origin
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(α).
222
w
System Modelling: Data and Results, Environment
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.
223
w
System Modelling: Data and Results, Environment
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 wavesensitive 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.
224
w
System Modelling: Data and Results, Environment
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.
225
w
System Modelling: Data and Results, Environment 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.
226
w
System Modelling: Data and Results, Environment
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 anticlockwise 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 userspecified 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.
227
w
System Modelling: Data and Results, Environment
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 cosn spreading function where n is the specified spreading exponent. Full details are given in the wave theory topic.
228
w
System Modelling: Data and Results, Environment
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 (r min, 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 δf max. 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 - m22/(m0m4)}½. Mean period T1 = m0/m1. Note that T1 is sometimes denoted by Tm.
229
w
System Modelling: Data and Results, Environment
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 ith spectral moment, mi, of a process with spectrum S(f) is defined to be mi = ∫0∞ S(f)fi 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 H s 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.
230
w
System Modelling: Data and Results, Environment
User: In this case the user specifies the spectral parameters explicitly. The resulting H s 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 = (Hs12 + Hs22)½. 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, f m2. It is also recommended that fm2 is greater than 0.096. The significant wave height of the first component, H s1, 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 f m = 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, f m1 = 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 f m = 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
231
w
System Modelling: Data and Results, Environment
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.
232
w
System Modelling: Data and Results, Environment
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 H s 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 H s 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.
233
w
System Modelling: Data and Results, Environment 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, H s, and average zero up-crossing period, Tz, can then be estimated from equations given by Carter (1982): Fetch-limited
Hs = 0.0163U√X Tz = 0.439U0.4X0.3 Duration-limited
Hs = 0.0146(D5/7)(U9/7) Tz = 0.419(D3/7)(U4/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
234
w
System Modelling: Data and Results, Environment
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 T ass, 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 H s, 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. 2.
3.
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. 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. 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).
235
w
System Modelling: Data and Results, Environment
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, H s, 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 pseudorandom. 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.7H s, say. It is worth looking over a reasonably
236
w
System Modelling: Data and Results, Environment
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 H s 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 H s 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 H s 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 = (2πHs)/(gTz2) = 1/18 hence Tz = √[(2πHs)/(gSs)] = 3.39√Hs 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.
237
w
System Modelling: Data and Results, Environment 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.
238
w Note:
System Modelling: Data and Results, Environment 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 referencerelative 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.
239
w
System Modelling: Data and Results, Environment 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 -232 to +232-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.
240
w
System Modelling: Data and Results, Environment
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.
241
w
System Modelling: Data and Results, Environment 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.
242
w
System Modelling: Data and Results, Environment
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.
243
w
System Modelling: Data and Results, Environment
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.
244
w
System Modelling: Data and Results, Environment
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 Z l 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 D l 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 [Hilower, Hiupper] for i = 1, …, m. The first bin is taken to be [H1lower, H1upper] = [0, (H1+H2)/2]. It is clearly important that 0 is contained in the bin. However this also means that H 1 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 [Hmlower, Hmupper] = [(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 [Hilower, Hiupper] = [(Hi-1+Hi)/2, (Hi+Hi+1)/2] for i = 2, …, m-1. The wave period bins [Tjlower, Tjupper] for j = 1, …, n are chosen in an analagous fashion. We now have mn individual wave height and period bins which we denote by B ij for i = 1, …, m and j = 1, …, n. Each bin Bij represents individual waves whose heights and periods fall in the ranges [H ilower, Hiupper] and [Tjlower, Tjupper] 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 LonguetHiggins, 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(-R2{1 + [1 - 1/S]2/ν2}).2R2/(S2ν√π) where Z = spectrum of given random sea state, mi = ith spectral moment of Z, Tm = m0/m1, Tz = (m0/m2)½, S = T/Tm, Hrms = Hs/√2, R = H/Hrms, ν = (Tm2/Tz2 - 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
245
System Modelling: Data and Results, Solid Friction Coefficients Data
w
the integral is evaluated over the region Rilower ≤ R ≤ Riupper, Sjlower ≤ S ≤ Sjupper, Rilower = Hilower / Hrms, Riupper = Hiupper / Hrms, Sjlower = Tjlower / Tm and Sjupper = Tjupper / 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 O ij 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.
246
w
System Modelling: Data and Results, Vessels
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.
247
w
System Modelling: Data and Results, Vessels
vertex 3
edge joining 3 to 5
vertex 5
z (heave)
yaw
y (sway) pitch V
Figure:
x (surge)
roll
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
248
w
System Modelling: Data and Results, Vessels
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 1st 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 1st 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.
249
w
System Modelling: Data and Results, Vessels 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 R3. All times are scaled by R0.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 (R3).(R) / ((R0.5)2) = R3. 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.
250
w
System Modelling: Data and Results, Vessels
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.
251
w
System Modelling: Data and Results, Vessels 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 (1st order): Data are on the vessel type form Load RAOs page. Wave Drift Load (2nd 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 (2nd order) is also included. Sum Frequency Load (2nd 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 lowfrequency motion, and those components with shorter periods will contribute to the wave-frequency motion. Timedomain 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.
252
w Warning:
System Modelling: Data and Results, Vessels 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.
253
w
System Modelling: Data and Results, Vessels 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
254
w
System Modelling: Data and Results, Vessels
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:
255
w
System Modelling: Data and Results, Vessels
Y 90 deg
X
45 deg
135 deg
180 deg
0 deg 0m
20m 40m 60m 80m 100m
Vessel Initial Position
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.
256
w
System Modelling: Data and Results, Vessels
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.
257
w
System Modelling: Data and Results, Vessels
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.
258
w
System Modelling: Data and Results, Vessels
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.
259
w
System Modelling: Data and Results, Vessels 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.
260
w
System Modelling: Data and Results, Vessels
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/m2). 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 differencefrequency 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.
261
w
System Modelling: Data and Results, Vessels 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 1st 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 1st 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
262
w
System Modelling: Data and Results, Vessels
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 (2nd 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/L2). See Vessel Theory: Wave Drift and Sum Frequency Loads for details of how OrcaFlex calculates second order loads.
263
w
System Modelling: Data and Results, Vessels 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.
264
w
System Modelling: Data and Results, Vessels
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/L2 (for surge, sway, heave) or F.L/L2 (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 122.262 = 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:
265
w
System Modelling: Data and Results, Vessels
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), Q s 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
266
w
System Modelling: Data and Results, Vessels
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
267
w
System Modelling: Data and Results, Vessels
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.
268
w
System Modelling: Data and Results, Vessels
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=1…nθ}, {Tj, j=1…nT}, {xk, k=1…nx} , {yl, l=1…ny} and {zm, m=1…nz} 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=1…nθ} and {Tj, j=1…nT} 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
269
w
System Modelling: Data and Results, Vessels
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 (x k, yl, zm) positions specified in the table form a complete grid of positions. Instead, OrcaFlex will find the position (x k, 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=1…nθ} and periods {Tj, j=1…nT} 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.
270
w
System Modelling: Data and Results, Vessels
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.
271
w
System Modelling: Data and Results, Vessels 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.
272
w
System Modelling: Data and Results, Vessels
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.
273
w
System Modelling: Data and Results, Vessels 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.
274
w
System Modelling: Data and Results, Vessels
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.
275
w
System Modelling: Data and Results, Vessels
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 M rc 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.
276
w
System Modelling: Data and Results, Vessels
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.
277
w
System Modelling: Data and Results, Vessels
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.
278
w
Figure:
System Modelling: Data and Results, Vessels
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
279
w
System Modelling: Data and Results, Vessels
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.
280
w
System Modelling: Data and Results, Vessels
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.
R
0
0 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.
281
w
System Modelling: Data and Results, Vessels 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 xdirection 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 ydirection). Smooth graphs can only be expected if the data includes RAOs for reasonably closely spaced periods. As examples, consider the following three example graphs: 1.5
1.5
1.5
1
1
1
0.5
0.5
0.5
0
0
0
-0.5
-0.5
-0.5
-1
-1
-1
-1.5 -1.5
-1
-0.5
0
0.5
1
1.5
-1.5 -1.5
-1
-0.5
0
0.5
1
1.5
-1.5 -1.5
-1
-0.5
0
0.5
1
1.5
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.
282
w
System Modelling: Data and Results, Vessels
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
283
w
System Modelling: Data and Results, Vessels
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.
284
w
System Modelling: Data and Results, Vessels
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.
285
w
System Modelling: Data and Results, Vessels 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 nondimensionalise 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:
286
w
Figure:
System Modelling: Data and Results, Vessels
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 Lk, 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
287
w
System Modelling: Data and Results, Vessels
either method and OrcaFlex will import the data for that method only. The re-dimensionalising factor for load RAOs is ρgLk, 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 ρgLk, 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 = ρLkaij Bij = ρLkω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.
288
w
System Modelling: Data and Results, Vessels
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:
289
w
System Modelling: Data and Results, Vessels *** 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.
290
w
System Modelling: Data and Results, Vessels
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
291
w
System Modelling: Data and Results, Vessels 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 (2nd 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 2nd 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.
292
w
System Modelling: Data and Results, Vessels
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 (1st 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 (1st 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 wavefrequency 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 frequencydependent 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 2nd 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.
293
w
System Modelling: Data and Results, Vessels 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.
294
w
System Modelling: Data and Results, Vessels
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 FrequencyDependent. 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
295
w
System Modelling: Data and Results, Vessels
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.
296
w
System Modelling: Data and Results, Vessels
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.
297
w
System Modelling: Data and Results, Vessels 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 (1st order)
The force and moment on the vessel due to the wave load RAOs. Available only if Wave Load (1st Order) is in the vessel's Included Effects. Wave Drift Load (2nd order)
The wave drift force and moment exerted on the vessel. These results are available only if Wave Drift Load (2nd 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 (2nd order) result. Sum Frequency Load (2nd order)
The sum frequency wave force and moment exerted on the vessel. These results are available only if Sum Frequency Load (2nd 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.
298
w
System Modelling: Data and Results, Lines
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.
299
w
System Modelling: Data and Results, Lines
End positions and no-moment directions are defined relative to the objects to which the ends are connected and move with those objects.
z
y
End A z V
B
x
y x End B
section 1 (3 segments)
section 3 (9 segments)
Clump
section 2 (7 segments)
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.
300
w
System Modelling: Data and Results, Lines
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.
301
w
System Modelling: Data and Results, Lines
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 Zcoordinate 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.
302
w
System Modelling: Data and Results, Lines
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.
303
w
System Modelling: Data and Results, Lines
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
304
w
System Modelling: Data and Results, Lines
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.
305
w
System Modelling: Data and Results, Lines 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.
306
w
System Modelling: Data and Results, Lines
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.
307
w
System Modelling: Data and Results, Lines 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.
308
w
System Modelling: Data and Results, Lines
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.
309
w
System Modelling: Data and Results, Lines
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.
310
w
System Modelling: Data and Results, Lines
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.
311
w
System Modelling: Data and Results, Lines 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 wakegenerating 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.
312
w
System Modelling: Data and Results, Lines
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 k 3 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.
313
w
System Modelling: Data and Results, Lines
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 nondimensionalised 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/D u, 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/D u ≥ 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.
314
w
System Modelling: Data and Results, Lines
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].
315
w
System Modelling: Data and Results, Lines
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.
316
w
System Modelling: Data and Results, Lines
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.
317
w
System Modelling: Data and Results, Lines
The segment Euler load is given by π2EI/L02 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.
318
w
System Modelling: Data and Results, Lines
Linear Bend Stiffness
For normal simple linear behaviour, specify the bend stiffness to be the constant slope of the bend momentcurvature 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 midsegment 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.
319
w
System Modelling: Data and Results, Lines 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 momenttwist per unit length relationship. This slope is the equivalent GJ value for the line, where G is the shear modulus
320
w
System Modelling: Data and Results, Lines
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, C t, 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.
321
w
System Modelling: Data and Results, Lines 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 D nL and the axial drag area to be πD aL 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 ycoefficient 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+C a.
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.
322
w
System Modelling: Data and Results, Lines
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, T w: 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 Sliding Friction Coefficient Coefficient
Chain
Sand
0.98
0.74
Mud with sand
0.92
0.69
Mud/clay
0.90
0.56
0.98
0.25
Mud with sand
0.69
0.23
Mud/clay
0.45
0.18
Wire rope Sand
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.
323
w
System Modelling: Data and Results, Lines
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 = √(ODc2 + Σ 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 = √(IDc2 - Σ 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]
324
w
System Modelling: Data and Results, Lines
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 C4 e 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, C3 e, 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.
325
w
System Modelling: Data and Results, Lines 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 C max = ε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.
326
w
System Modelling: Data and Results, Lines
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,
327
w
System Modelling: Data and Results, Lines 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.
328
w
System Modelling: Data and Results, Lines
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 pinjointed. 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 ydirections. 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.
329
w
System Modelling: Data and Results, Lines 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 Stiffener Protected line attachment connection protected arc length arc length 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
330
w
System Modelling: Data and Results, Lines
λ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:
331
w
System Modelling: Data and Results, Lines
Mass and Stiffness
Mass term
Stiffness term
6%
Damping ratio
5% 4% 3% 2% 1% 0% 0
1
2
3
4
5
Response angular frequency (rad/s) (μ=0.025, λ=0.023)
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, f min 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 f min 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.
332
w
System Modelling: Data and Results, Lines
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:
333
w
System Modelling: Data and Results, Lines
Immediately prior to the static calculation each node on the line is assigned a nominal position, P 0. 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, P 0, 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 = √(dX2 + dY2). 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 P 0. The deflection and resistance at each node are available as results variables.
P0
y
P0 P
Inclination
Inclination
Ez End A
Ex
Ex
End B Ez
Figure:
P-y modelling
334
y
P
w
System Modelling: Data and Results, Lines
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
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.5εcD. 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 = C3DɣH 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.
335
w
System Modelling: Data and Results, Lines
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 t min 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 / (CfCaσy) 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 righthand side of the inequality used in the combined load design, see API RP 1111, section 4.3.1.2, equation 8.
336
w
System Modelling: Data and Results, Lines
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, p c, 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, p b 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, p b, 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 = π(ODstress2 - IDstress2)/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)
337
w
System Modelling: Data and Results, Lines g = 1/(1 + 20δ) Pc = PyPe/(Py2 + Pe2)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.
338
w
System Modelling: Data and Results, Lines
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 P min 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 |γFγcTeF + γETeE| and |γRFγcTeF + γETeE| The design moment effect, MSd, is given by the maximum of
339
w
System Modelling: Data and Results, Lines |γFγcMF + γEME| and
|γRFγcMF + γEME| The design compressive strain effect, εSd, is given by the maximum of γFγcεF + γEεE and γRFγcεF + γEεE 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/[30.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)(pc2-pp2) = pcpelppf0ODstress/t2 where pel = 2E(t2/ODstress)3/(1-ν2) and pp = fyαfab2t2/ODstress An analytical solution to this polynomial is given in Section 13, D 700, DNV OS F101. pc = y - b/3 where b = -pel c = -(pp2 + pppelf0ODstress/t2) d = Pelpp2 u = (-b2/3 + c)/3 v = 0.5[(2/27)b3 - bc/3 + d] Φ = cos-1[-v/(-u3)0.5] y = -2(-u)0.5cos(Φ/3 + π/3) DNV OS F101 Load Controlled
If Pi > Po the load controlled code check result is given by [γmγSC|MSd|/αcαpmMp + (γmγSCTeSd/α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)2t2 α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 [γmγSC|MSd|/αcαpmMp + (γmγSCTeSd/αcTep)2]2 + [γmγSC(Po - Pmin)/pc]2
340
w
System Modelling: Data and Results, Lines
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 Te Sd/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 + γmγSC(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. γcγmγSC, 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.
341
w
System Modelling: Data and Results, Lines 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 P min 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 t2 will be taken as (ODstress - IDstress)/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]/(31/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)(pc2-pp2) = pcpelppf0ODstress/t2 where pel = 2E(t2/ODstress)3/(1-ν2) and pp = fyαfab2t2/ODstress
342
w
System Modelling: Data and Results, Lines
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, L E(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,d2 + My,d2)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 γcγmγSC(γ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 γcγmγSC(Ted/Tk)2 + [(Pi - Po)/pb]2 Finally, if Pi ≤ Po then the LRFD code check result is given by (γcγmγSC)2[γcm|Md|/Mk + (Ted/Tk)2]2 + [γcγmγSC(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 = fyπαc(ODstress - t2)t2 Mk = fyαc(ODstress - t2)2t2 α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/31/2)(Pi - Po)/pb otherwise
343
w
System Modelling: Data and Results, Lines 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, p c; 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 still 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, p c. Ovalization, F0
This is the ovalization used in determining the elastic collapse pressure, p c, 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/(fdσy) where σA = (σh2 + σL2 - σhσL + 3τ2)0.5 where if ODstress/tnom > 20 σh = (Pi - Po)ODstress/(2tnom) otherwise σh = (Pi - Po)(ODstress2 + IDstress2)/(ODstress2 - IDstress2) and τ = |Torque|.ODstress / (2Iz) + 2S /A
344
w
System Modelling: Data and Results, Lines
where A is the pipe wall cross sectional area, i.e. A = (π/4)(ODstress2 - IDstress2) 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)tnomσy 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)2tnomσy 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.542τyατ if 1.5 ≤ ατ ≤ 9 τc = τy(0.813 + 0.068(ατ - 1.5)0.5) otherwise τ c = τy where τy = σy/30.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
345
w
System Modelling: Data and Results, Lines if Tw < 0 Fx = - Tw otherwise Fx = 0 and γ = 1 + 300tnomσhb/(ODstressσhcr) where σhb = ODstress(Po-Pi)/(2tnom) and if σhE ≤ (2/3)σy σhcr = σhE otherwise σhcr = σy{1-(1/3)[2σy/(3σhE)]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
346
w
System Modelling: Data and Results, Lines
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 clashchecked 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.
347
w
System Modelling: Data and Results, Lines
Spline
z y Splined Line Segment
x
Contact Surface
y x
z Penetrating Line Node and Penetrator
Line End Axes
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.
Spline
z y Splined Line Segment
x
Contact Surface
y x Line End Axes
Figure:
z Penetrating Line Node and Ring Penetrator
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.
348
w
System Modelling: Data and Results, Lines
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.
Spline
z y Splined Line Segment
x Contact Surface
Line End Axes
y x
z Penetrating Line Nodes
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.
349
w
System Modelling: Data and Results, Lines
Spline
z y Splined Line Segment
x
Contact Surface
y x
Offset Ring Penetrators
z
Line End Axes Penetrating Line Nodes 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.
Spline
z y Splined Line Segment
x
Contact Surface
y x
Offset Penetrators
z
Line End Axes Penetrating Line Nodes 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.
350
w
System Modelling: Data and Results, Lines
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.
Larger diameter line type Smaller diameter line type Contact diameter
10% of segment length
10% of segment length
Splined line node between line sections
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. Node Length Splined Line Node
Overlap Length
Penetrating Nodes
Segment Midpoint
Figure:
Assumed segment position
Scaling assumes that penetrator length is aligned with the splined line axis.
351
w
System Modelling: Data and Results, Lines 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 pullin 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.
352
w
System Modelling: Data and Results, Lines 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.
353
w
System Modelling: Data and Results, Lines 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.
354
w
System Modelling: Data and Results, Lines
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.
355
w
System Modelling: Data and Results, Lines
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.
356
w
System Modelling: Data and Results, Lines
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, T w, 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 ydirections, its component in the user specified local direction theta and its components in the in-plane and out-ofplane 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 ydirections, 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.
357
w
System Modelling: Data and Results, Lines
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 ydirections, its component in the user specified local direction theta and its components in the in-plane and out-ofplane 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.
358
w Warning:
System Modelling: Data and Results, Lines 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.
359
w
System Modelling: Data and Results, Lines
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, P i and Po. See Line Pressure Effects for details.
360
w
System Modelling: Data and Results, Lines
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.
361
w
System Modelling: Data and Results, Lines 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.
362
w Warning:
System Modelling: Data and Results, Lines 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.
363
w
System Modelling: Data and Results, Lines 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 GZForce etc.
364
w
System Modelling: Data and Results, Lines
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.
365
w
System Modelling: Data and Results, Lines
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.
366
w
System Modelling: Data and Results, Lines
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.
367
w
System Modelling: Data and Results, Lines
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.9D2
21.9D2 te/m for D in m
Axial stiffness
0.854x108D2
1.01x108D2 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
368
w
System Modelling: Data and Results, Lines
Geometry D = Nominal Diameter AFACE 3.35D (studless) 3.6D (studlink)
AEDGE
3.35D (studless) 3.6D (studlink) Figure:
6D
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.9D2 te/m (studless) or 21.9D2 te/m (studlink). The catalogue also gives the following value for the Young's Modulus of the chain that has been deduced from stressstrain relationships in which the cross sectional area of two bars is taken to be the load bearing area: E = 5.44 x 107 kN/m2 (studless) or 6.40 x 107 kN/m2 (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.D2.(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 proofloads.
369
w
System Modelling: Data and Results, Lines 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.6D3 te (studless) or 87 6D3 te (studlink). Assuming that the chain is made from steel, and using ρs as density of steel (= 7.8 te/m3), this then leads to: Volume per link = (M / N) / ρs = 10.2D3 m3 (studless) or 11.2D3 m3 (studlink). But, by considering the geometry of a link, we also have Volume = L . πD2/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 / (πD2/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 = πOD2/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(πD2 / 4) m2 leads to: EA = 0.854 x 108 D2 kN (studless) or 1.01 x 108 D2 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).
370
w
System Modelling: Data and Results, Lines
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.
371
w
System Modelling: Data and Results, Lines
6.8.14 Rope/Wire D = Nominal rope diameter
D
Fibre rope Figure:
Wire with Fibre core
Wire with Wire core
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 Marlow 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 D2 te/m (for Nylon ropes). Mass Per Metre = 0.7978 D2 te/m (for Polyester ropes). Mass Per Metre = 0.4526 D2 te/m (for Polypropylene ropes).
372
w
System Modelling: Data and Results, Lines
Mass Per Metre = 3.6109 D2 te/m (for Wire ropes with fibre core). Mass Per Metre = 3.9897 D2 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, πOD2/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 105 D2 kN (for Nylon ropes). Axial Stiffness = 1.09 x 106 D2 kN (for Polyester ropes). Axial Stiffness = 1.06 x 106 D2 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 108 kN/m2 (for Wire ropes with fibre core). E = 1.13 x 108 kN/m2 (for Wire ropes with wire core). and work on an assumed metallic area of: A = 0.455 (πD2/4) m2 (for both wire ropes).
373
w
System Modelling: Data and Results, Lines
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 107 D2 kN (for Wire ropes with fibre core). Axial Stiffness = 4.04 x 107 D2 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.D2 kN
Nylon ropes (wet)
139357.D2 kN
Polyester ropes
170466.D2 kN
Polypropylene ropes
105990.D2 kN
Wire ropes with fibre core
584175.D2 kN
Wire ropes with wire core
633358.D2 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 S f/2 before the float centre to S f/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 S f, 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.
374
w Warning:
System Modelling: Data and Results, Lines The values generated by the Wizard are based on current best practice, but more specific project data should be used where this is available.
Floats
Dp
Sf
Figure:
Sf
Df
Sf
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.
375
w
System Modelling: Data and Results, Lines 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 (Df2 - ODp2) 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.OD2 (equivalent line) Vol per unit length (V) = π/4.ODp2 + Vf /Sf (line with floats) This leads to:
376
w
System Modelling: Data and Results, Lines
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 S f 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 = ½ ρv2 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 = ½ ρv2 [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 = ½ ρv2 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 = ½ ρv2 [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 (Df2-ODp2)/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:
377
w
System Modelling: Data and Results, Lines 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 OD2 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 Df2 Lf/Sf and the reference volume per unit length for the exposed part of the line is given by: AMVolEXP LINE = π/4 ODp2 (Sf-Lf)/Sf Equating the expressions for added mass leads to: Can = (Canf AMVolFLOATS + Canp AMVolEXP LINE)/(π/4 OD2). 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 OD2).
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 O
N
N’
O’ 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.
378
w Note:
System Modelling: Data and Results, Lines 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) (OD2 - ID2) 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) (OD2 - ID2). 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) (OD4 - ID4). 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) (OD4 - ID4). 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.
379
w
System Modelling: Data and Results, Lines 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 = aXb, 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.
380
w
System Modelling: Data and Results, Lines
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 OD2 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 106 ID kN (for High Pressure) [40% 160%], Axial Stiffness = 3.40 x 104 ID kN (for Low Pressure), Axial Stiffness = 6.56 x 103 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 106 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 104 ID4 kN.m2 (for High Pressure) [45% 300%], Bending Stiffness = 6 x 102 ID3 kN.m2 (for Low Pressure), Bending Stiffness = 1 x 103 ID3 kN.m2 (for Fold-Flat). For the umbilicals the bending stiffness has been estimated as a function of outer diameter giving: Bending Stiffness = 3 x 103 OD3 kN.m2 (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:
381
w
System Modelling: Data and Results, Lines 1. 2. 3. 4.
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. Create a Line Type Outer Diameter variable data source which defines the stress joint profile. Set the line type outer diameter to refer to the variable data source of the profile. 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:
382
w
Figure:
System Modelling: Data and Results, Lines
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.
383
w
System Modelling: Data and Results, Lines 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 EI p 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 BM p = C.EIp and likewise for the stiffener line OrcaFlex reports BM s = C.EIs. It is straightforward to see that BMtotal = BMp + BMs.
384
w
System Modelling: Data and Results, Lines
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.
385
w
System Modelling: Data and Results, Lines 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.
386
w
System Modelling: Data and Results, Lines
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 nonlinear 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. Nonlinear 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:
No moment direction ( Az = 0, Dec = 160 )
No moment direction ( Az = 0, Dec = 45 )
End A
End B
z
Declination Angle
y
Azimuth Angle x
Figure:
Directions
387
w
System Modelling: Data and Results, Lines
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 underbuoy 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.
388
w
System Modelling: Data and Results, Lines
No moment direction M F
h T
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.
389
w
System Modelling: Data and Results, Lines 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 EzAngle 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 π2EI/L2. 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.
390
w
System Modelling: Data and Results, 6D Buoys
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 surfacepiercing 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
391
w
System Modelling: Data and Results, 6D Buoys
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 fullysubmerged 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 userspecified 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.
392
w
System Modelling: Data and Results, 6D Buoys
+ve lift Flow Velocity V (relative to wing)
Wy Chord
Wz
Principal Wing Axis
W Leading edge
Wx
Span -ve lift
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.
393
w
System Modelling: Data and Results, 6D Buoys
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.
394
w
System Modelling: Data and Results, 6D Buoys
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
395
w
System Modelling: Data and Results, 6D Buoys
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.V2 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.V2 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.V2.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
396
w
System Modelling: Data and Results, 6D Buoys
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 Vertices
z (heave)
yaw
y (sway) pitch
B (B=buoy origin)
Figure:
roll
x (surge)
Lumped Buoy
397
w
System Modelling: Data and Results, 6D Buoys
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.
398
w
System Modelling: Data and Results, 6D Buoys
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.L2. 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.
399
w
System Modelling: Data and Results, 6D Buoys
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. Buoy Axis Cylinder 1 OD
Cylinder 1 Length
z
Rotation 3
y Rotation 2
B (B=buoy origin)
x Rotation 1
Stack Base Position
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.
400
w
System Modelling: Data and Results, 6D Buoys
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:
401
w
System Modelling: Data and Results, 6D Buoys
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 C m 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.
402
w
System Modelling: Data and Results, 6D Buoys
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.L2. 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:
a
0
0
0
b
0
a
0
b
0
0
0
c
0
0
0
b
0
d
0
b
0
0
0
d
0
0
0
0
0
0 0 0 0 0 e
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.
403
w
System Modelling: Data and Results, 6D Buoys
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.
404
w
System Modelling: Data and Results, 6D Buoys
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.
405
w
System Modelling: Data and Results, 6D Buoys 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.
406
w
System Modelling: Data and Results, 6D Buoys
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
407
w
System Modelling: Data and Results, 6D Buoys
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.
408
w
System Modelling: Data and Results, 6D Buoys
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 O is the centre of the box
Z
Y
X
z
O
y Figure:
x
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 = ½.ρ.V2.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.
409
w
System Modelling: Data and Results, 6D Buoys
Z
dz z
O
Figure:
X
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.z3.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.z4/32) OrcaFlex calculates the drag moment by M = (½.ρ. ω.|ω| .Cdm).(AM) so we set Cdm = Cd, AM = x.z4/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.
410
w
System Modelling: Data and Results, 6D Buoys
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.z2 = 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 . y2. 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 = Δ(Y2 + Z2)/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 πb2 = 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 . b3)/(a . (a2+b2)) 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 fullysubmerged 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.
411
w
System Modelling: Data and Results, 6D Buoys 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).
412
w
System Modelling: Data and Results, 6D Buoys
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 (π.D2)/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 (π.d2)/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
413
w
System Modelling: Data and Results, 3D Buoys
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.
height/2
z B
Buoy Axes always aligned with Global Axes
y x
height/2
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.
414
w
System Modelling: Data and Results, 3D Buoys
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:
415
w
System Modelling: Data and Results, Winches 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.
Winch may pull via intermediate objects Drive Force f Winch Drive
t
t
Winch Inertia
t
Wire Tension t
Winch wire 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.
416
w
System Modelling: Data and Results, Winches
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 velocity2 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.ε
417
w
System Modelling: Data and Results, Winches 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 / r2 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.
418
w
System Modelling: Data and Results, Winches
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
419
w
System Modelling: Data and Results, Winches 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 velocity2 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.
420
w
System Modelling: Data and Results, Links
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.
Tether:
Spring-Damper:
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 piecewiselinear. 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.
421
w
System Modelling: Data and Results, Links 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 userspecified 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 L≤L0 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.
422
w
System Modelling: Data and Results, Shapes
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.
423
w
System Modelling: Data and Results, Shapes
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.
424
w
System Modelling: Data and Results, Shapes
6.13.2 Blocks
z
z-size
y Block Position B
x y-size
x-size
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
r = Inner Radius R = Outer Radius
R End 2 Position r End 1 Position A cylinder shape is a thick walled hollow pipe defined by giving: Inner and Outer Diameter. Length. Azimuth and Declination of the axis.
425
w
System Modelling: Data and Results, Shapes
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.
426
w
System Modelling: Data and Results, Shapes
6.13.5 Planes Direction of Maximum Slope Slope
Point on Plane 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.
427
System Modelling: Data and Results, All Objects Data Form
w
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 seethrough 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.
428
w
System Modelling: Data and Results, All Objects Data Form
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.
429
System Modelling: Data and Results, All Objects Data Form
w
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.
430
w
Modal Analysis, Data and Results
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.
431
w
Modal Analysis, Data and Results
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.
432
w
Modal Analysis, Theory
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:
433
w
Modal Analysis, Theory
ω = (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 N×N matrices. Equation (1) is an eigen-problem with N solutions, the ith solution being ωi and ai, say, where ωi is a scalar and ai is a vector with N elements. This ith solution is called the ith 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.
434
w
Modal Analysis, Theory
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 = (∑ LTi2)½ Mode shape transverse component = Mt = (∑ LTt2)½ Mode shape axial component = Ma = (∑ LTa2)½ 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| = (Vi2 + Vt2 + Va2)½. 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 = M i + 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.
435
w
Fatigue Analysis, Introduction
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.
437
w
Fatigue Analysis, Commands 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.
438
w
Fatigue Analysis, Data
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 halfcycle according to the Palmgren-Miner law. For details see the book by Maddox and the paper by Rychlik. This
439
w
Fatigue Analysis, Load Cases Data for Regular Analysis
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/m2 = MPa), for example, even if the simulation load cases use m and kN (which corresponds to stresses in kN/m2 = 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.
440
w
Fatigue Analysis, Load Cases Data for Spectral Analysis
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 H s and Tz for each load case. You can also specify fm or Tp but since Tz, Tp and fm 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 H s,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 3-4 Hs
6
2-3
9
3
18
6
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.
441
w
Fatigue Analysis, Load Cases Data for Spectral Analysis 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 H s 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.
442
w
Fatigue Analysis, Load Cases Data for SHEAR7
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 H s 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 = K tT ± 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.
443
w
Fatigue Analysis, S-N and T-N Curves 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 nondimensional 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.
444
w
Fatigue Analysis, Integration Parameters
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 maxz,θ 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.
445
w
Fatigue Analysis, Automation
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:
446
w
Fatigue Analysis, Fatigue Points
# 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:
447
w
Fatigue Analysis, How Damage is Calculated
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 SN 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, S m is defined to be the mean of the min and max stress values associated with the stress range S r. For rainflow analysis, Sm is the mean value of the local turning points in the stress time history. For spectral fatigue, S m 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 S e 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
448
w
Fatigue Analysis, How Damage is Calculated
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.
449
w
VIV Toolbox, Frequency Domain Models
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.
451
w
VIV Toolbox, Frequency Domain Models 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 m2/s (Source: Batchelor, page 594, air at 20°C). For a partially submerged node OrcaFlex interpolates between the two, based on the node's Proportion Wet.
452
w
VIV Toolbox, Frequency Domain Models
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 nonzero. 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.
453
w
VIV Toolbox, Frequency Domain Models
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.
Flow Direction Alpha x
y
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.
454
w Warning:
VIV Toolbox, Frequency Domain Models 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.
455
w
VIV Toolbox, Frequency Domain Models
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 yDrag 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 C f 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.
456
w
VIV Toolbox, Frequency Domain Models
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.
457
w
VIV Toolbox, Frequency Domain Models 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.
458
w
VIV Toolbox, Frequency Domain Models
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 freeflooding 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.
459
w
VIV Toolbox, Frequency Domain Models
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
460
w
VIV Toolbox, Time Domain Models
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.
461
w
VIV Toolbox, Time Domain Models 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 (T s) 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.
462
w
VIV Toolbox, Time Domain Models
Filter RAO Phase Lag (deg)
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.
Filter RAO Amplitude
1.2 1 0.8 0.6 0.4 0.2 0 0
1
2
3
4
80 60 40 20 0 0
5
Period / FilterPeriod
Warning:
160 140 120 100
1
2
3
4
5
Period / FilterPeriod
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.
463
w
VIV Toolbox, Time Domain Models 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.
464
w
VIV Toolbox, Time Domain Models
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
465
w
VIV Toolbox, Time Domain Models
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.
466
w
VIV Toolbox, Time Domain Models
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.
467
w
VIV Toolbox, Time Domain Models
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.
flow
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.
468
w
VIV Toolbox, Time Domain Models
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.
469
w
VIV Toolbox, Time Domain Models
flow
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 D≤2R 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.
470
w
VIV Toolbox, Time Domain Models
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.
471
w
VIV Toolbox, Time Domain Models
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 λ = 1DecayConstant 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 '~'.
472
w
VIV Toolbox, Time Domain Models
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.
473