ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . ....

301
ProteusDS Manual ProteusDS v2.29.2 September 6, 2016

Transcript of ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . ....

Page 1: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

ProteusDS Manual

ProteusDS v2.29.2

September 6, 2016

Page 2: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Copyright 2016 – Dynamic Systems Analysis Ltd.

ProteusDS 2015 Solver 2.29.3407

Dynamic Systems Analysis Ltd. (Head office)101 - 19 Dallas Rd

Victoria, BC, CanadaV8V5A6

phone: +1.250.483.7207

Dynamic Systems Analysis Ltd. (Halifax office)201 - 3600 Kempt Road

Halifax, NS, CanadaB3K4X8

ProteusDS support: [email protected]

Page 3: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Contents

1 Introduction 81.1 What is ProteusDS? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.2 What’s new in ProteusDS 2015? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.3 Who uses ProteusDS? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.4 What can ProteusDS do? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.5 Recommended computer hardware to run ProteusDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.6 Where to begin? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.7 Contact us . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2 ProteusDS Fundamentals 112.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.2 Installation and licensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2.1 License activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.3 DObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.3.1 List of DObjects in ProteusDS 2015 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.3.2 Custom DObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.4 Setting up a simulation / ProteusDS Simulation Toolbox (PST) . . . . . . . . . . . . . . . . . . . . . . . 132.5 Input files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.6 Decimal point convention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.7 Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.7.1 Master/follower properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.8 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.8.1 List of features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.9 Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.9.1 List of connections types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.10 Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.11 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.11.1 Integrator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.11.1.1 Runge-Kutta 4(5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.11.1.2 Runge-Kutta 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.12 ProteusDS Solver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.12.1 Running a simulation from PST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.12.2 Running simulations using PQM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.12.3 Running simulations from the command line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.13 Simulation output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.13.1 Simulation menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.13.2 Restarting a simulation using the TerminalIC folder . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.14 PostPDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.14.1 Loading simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.14.2 Graphics card configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.14.3 Playback and camera control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.14.4 Display options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

1

Page 4: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

2.14.5 Exporting videos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.14.6 Post-processing using Matlab or Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3 Environment 273.1 Coordinate system convention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.2 Discretised fluid domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.3 Current models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.4 Wave models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.4.1 Airy waves and irregular sea states . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.4.2 Higher order Stokes waves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.4.3 Wave validity warnings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.4.3.1 Steepness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.4.3.2 Wave and current interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.5 Wind models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.5.1 Wind spectra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.5.2 Wind profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.6 Seabed contact model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.6.1 Normal contact force . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.6.2 Tangential friction contact force . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.7 Best practices for creating bathymetry meshes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.8 Example input file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4 Cables 384.1 Overview of the finite-element cable model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.1.1 Key parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394.2 Finite-element cable model formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394.3 Hydrodynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.3.1 Hydrodynamic drag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.3.2 Added mass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.4 Von Mises stress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464.4.0.1 The principle stresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464.4.0.2 The internal forces of a cable or pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . 474.4.0.3 The stresses in a cable or pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

4.5 Guidance on specifying cable properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494.5.1 Mass and buoyancy properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.5.1.1 Computed from mass in air and weight in water . . . . . . . . . . . . . . . . . . . . . . 504.5.1.2 Computed from rope material SG and mass in air . . . . . . . . . . . . . . . . . . . . . . 504.5.1.3 Chain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.5.2 Axial stiffness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.5.2.1 Chain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.5.2.2 Wire rope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524.5.2.3 From percent elongation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4.5.3 Bending and torsional stiffness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534.5.4 Coefficients of added mass and drag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.5.4.1 Added mass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544.5.4.2 Drag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.6 Initial Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5 Rigid Bodies 565.1 Rigid body dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575.2 Cable rigid body connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605.3 Rigid body hydrodynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

5.3.1 Custom mesh feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625.3.1.1 Object surface discretisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

2

Page 5: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

5.3.1.2 Morison equation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635.3.1.3 The Froude-Krylov force . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635.3.1.4 Fluid drag forces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635.3.1.5 Added mass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665.3.1.6 Best practices for creating hydrodynamic meshes . . . . . . . . . . . . . . . . . . . . . . 685.3.1.7 Tips for converting CAD models into hydrodynamic meshes in Rhinoceros 5 . . . . . . . 70

5.3.2 Slender prism fluid loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715.3.3 Turbine feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

5.4 Initial Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

6 Nets 726.1 Finite-element net model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736.2 Initial Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

7 Point Masses 777.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777.2 Point mass dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777.3 Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787.4 Initial Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

8 Advanced DObjects 798.1 ABA Controller DObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798.2 ABA Frequency Controller DObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798.3 ABA Super Controller DObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798.4 DCable Tension Controller DObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

Appendix A ProteusDS Input Files 81A.1 Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

A.1.1 Input file properties (env.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81A.1.1.1 Air . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81A.1.1.2 Current . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81A.1.1.3 Discrete fluid domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86A.1.1.4 Fluid loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87A.1.1.5 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87A.1.1.6 Instrumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87A.1.1.7 Seabed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90A.1.1.8 Water . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92A.1.1.9 Wave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93A.1.1.10 Wind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

A.1.2 Features (lib.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103A.1.2.1 EnvironmentSoil feature properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103A.1.2.2 EnvironmentWave feature properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

A.2 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109A.2.1 Input file properties (sim.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

A.2.1.1 Instrumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109A.2.1.2 Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110A.2.1.3 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

A.2.2 Features (lib.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111A.2.2.1 Integrator feature properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

A.3 Cable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112A.3.1 Input file properties (*.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

A.3.1.1 Advanced damping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112A.3.1.2 Applied loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112A.3.1.3 Boundary constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113A.3.1.4 Fluid Loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

3

Page 6: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

A.3.1.5 Fluid loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119A.3.1.6 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120A.3.1.7 Instrumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120A.3.1.8 Mechanical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124A.3.1.9 Mesh control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128A.3.1.10 Numerical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130A.3.1.11 Seabed loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

A.3.2 Connections (lib.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130A.3.2.1 DCableDCablePointConnection properties . . . . . . . . . . . . . . . . . . . . . . . . . . 130A.3.2.2 DCableDCableEndConnection properties . . . . . . . . . . . . . . . . . . . . . . . . . . . 131A.3.2.3 DCableDNetPointConnection properties . . . . . . . . . . . . . . . . . . . . . . . . . . . 131A.3.2.4 DCableDNetEdgeConnection properties . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

A.3.3 Features (lib.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132A.3.3.1 ExtMass feature properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132A.3.3.2 ExtMassCylinder feature properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134A.3.3.3 ExtLoad feature properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137A.3.3.4 DCableSegment feature properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137A.3.3.5 DCableLinearQuadraticDrag feature properties . . . . . . . . . . . . . . . . . . . . . . . 148A.3.3.6 DCableRandolphSoilModel feature properties . . . . . . . . . . . . . . . . . . . . . . . . 149A.3.3.7 FluidCoefficientSeabedProximity feature properties . . . . . . . . . . . . . . . . . . . . . 150A.3.3.8 FluidCoefficientReynolds feature properties . . . . . . . . . . . . . . . . . . . . . . . . . 151A.3.3.9 FluidCoefficientKC feature properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

A.3.4 Data file (*.dat) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152A.4 Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

A.4.1 Input file properties (*.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154A.4.1.1 Applied loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154A.4.1.2 Boundary constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155A.4.1.3 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157A.4.1.4 Mechanical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

A.4.2 Connections (lib.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157A.4.2.1 DNetDNetEdgeConnection properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

A.4.3 Features (lib.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158A.4.3.1 ExtMassCylinder feature properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158A.4.3.2 ExtMass feature properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160A.4.3.3 ExtLoad feature properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162A.4.3.4 DNetPanel feature properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163A.4.3.5 FluidCoefficientReynolds feature properties . . . . . . . . . . . . . . . . . . . . . . . . . 165A.4.3.6 FluidCoefficientKC feature properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

A.4.4 Data file (*.dat) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166A.5 PointMass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

A.5.1 Input file properties (*.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167A.5.1.1 Fluid loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167A.5.1.2 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168A.5.1.3 Mechanical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168A.5.1.4 Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

A.5.2 Connections (lib.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169A.5.2.1 PointMassDCablePointConnection properties . . . . . . . . . . . . . . . . . . . . . . . . 169A.5.2.2 PointMassDNetPointConnection properties . . . . . . . . . . . . . . . . . . . . . . . . . 169A.5.2.3 PointMassPointMassPointConnection properties . . . . . . . . . . . . . . . . . . . . . . 170

A.5.3 Data file (*.dat) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170A.6 RigidBody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

A.6.1 Input file properties (*.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171A.6.1.1 Applied loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171A.6.1.2 Fluid loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

4

Page 7: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

A.6.1.3 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180A.6.1.4 Hydrodynamic features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180A.6.1.5 Instrumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182A.6.1.6 Mass properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183A.6.1.7 Numerical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

A.6.2 Connections (lib.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185A.6.2.1 RigidBodyDCablePointConnection properties . . . . . . . . . . . . . . . . . . . . . . . . 185A.6.2.2 RigidBodyDCableForceConnection properties . . . . . . . . . . . . . . . . . . . . . . . . 186A.6.2.3 RigidBodyDCableSlidingForceConnection properties . . . . . . . . . . . . . . . . . . . . . 187A.6.2.4 RigidBodyDCableVRollerConnection properties . . . . . . . . . . . . . . . . . . . . . . . 188A.6.2.5 RigidBodyDCableTensionerConnection properties . . . . . . . . . . . . . . . . . . . . . . 190A.6.2.6 RigidBodyDNetEdgeConnection properties . . . . . . . . . . . . . . . . . . . . . . . . . 191A.6.2.7 RigidBodyRigidBodyABAConnection properties . . . . . . . . . . . . . . . . . . . . . . . 191A.6.2.8 RigidBodyRigidBodyForceConnection properties . . . . . . . . . . . . . . . . . . . . . . . 195

A.6.3 Features (lib.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197A.6.3.1 RigidBodyAddedMass feature properties . . . . . . . . . . . . . . . . . . . . . . . . . . . 197A.6.3.2 RigidBodyRadDiffHydrodynamic feature properties . . . . . . . . . . . . . . . . . . . . . 198A.6.3.3 RigidBodyRAO feature properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199A.6.3.4 RigidBodyCuboid feature properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199A.6.3.5 RigidBodyEllipsoid feature properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203A.6.3.6 RigidBodyCylinder feature properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206A.6.3.7 RigidBodyLinearQuadraticDrag feature properties . . . . . . . . . . . . . . . . . . . . . . 210A.6.3.8 RigidBodyCustomMesh feature properties . . . . . . . . . . . . . . . . . . . . . . . . . . 210A.6.3.9 RigidBodyFoil feature properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214A.6.3.10 RigidBodyTurbine feature properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216A.6.3.11 RigidBodyThruster feature properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223A.6.3.12 RigidBodyABAConnectionJoint feature properties . . . . . . . . . . . . . . . . . . . . . . 224A.6.3.13 RigidBodyWaypoint feature properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227A.6.3.14 RigidBodyBallast feature properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

A.6.4 Data file (*.dat) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229A.6.5 Hydrodynamic database properties (*.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230A.6.6 RAO database properties (*.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236

A.7 SCable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238A.7.1 Input file properties (*.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238

A.7.1.1 Applied loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238A.7.1.2 Boundary constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238A.7.1.3 Fluid Loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244A.7.1.4 Fluid loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244A.7.1.5 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245A.7.1.6 Instrumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245A.7.1.7 Mechanical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246A.7.1.8 Mesh control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248A.7.1.9 Seabed loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250

A.7.2 Features (lib.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251A.7.2.1 ExtMass feature properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251A.7.2.2 ExtMassCylinder feature properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253A.7.2.3 ExtLoad feature properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255A.7.2.4 DCableSegment feature properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255A.7.2.5 DCableLinearQuadraticDrag feature properties . . . . . . . . . . . . . . . . . . . . . . . 266

A.8 MSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268A.8.1 Input file properties (*.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

A.8.1.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268A.8.1.2 Mechanical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

A.9 ABA Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269

5

Page 8: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

A.9.1 Input file properties (*.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269A.9.1.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269A.9.1.2 Mechanical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269A.9.1.3 Sampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269

A.9.2 Connections (lib.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269A.9.2.1 ABAControllerRigidBodyObserveConnection properties . . . . . . . . . . . . . . . . . . . 269A.9.2.2 ABAControllerRigidBodyControlConnection properties . . . . . . . . . . . . . . . . . . . 271A.9.2.3 RigidBodyRigidBodyABAConnection properties . . . . . . . . . . . . . . . . . . . . . . . 272

A.10 ABA Frequency Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276A.10.1 Input file properties (*.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276

A.10.1.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276A.10.1.2 Mechanical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276A.10.1.3 Sampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276

A.10.2 Connections (lib.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276A.10.2.1 ABAFControllerRigidBodyObserveConnection properties . . . . . . . . . . . . . . . . . . 276A.10.2.2 ABAFControllerRigidBodyControlConnection properties . . . . . . . . . . . . . . . . . . 278

A.11 ABA Super Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280A.11.1 Input file properties (*.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280

A.11.1.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280A.11.1.2 Mechanical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280A.11.1.3 Sampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280

A.11.2 Connections (lib.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280A.11.2.1 ABASuperControllerRigidBodyObserveConnection properties . . . . . . . . . . . . . . . . 280A.11.2.2 ABASuperControllerABAControllerControlConnection properties . . . . . . . . . . . . . . 282

A.12 DCable Movement Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284A.12.1 Input file properties (*.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284

A.12.1.1 Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284A.12.1.2 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285

A.12.2 Connections (lib.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285A.12.2.1 DCableMovementControllerDCableConnection properties . . . . . . . . . . . . . . . . . . 285

A.13 DCable End Node Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286A.13.1 Input file properties (*.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286

A.13.1.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286A.13.1.2 Node Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286

A.13.2 Connections (lib.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288A.13.2.1 DCableEndNodeControllerDCableConnection properties . . . . . . . . . . . . . . . . . . 288

A.14 DCable Tension Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289A.14.1 Input file properties (*.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

A.14.1.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289A.14.1.2 None . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

A.14.2 Connections (lib.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290A.14.2.1 DCableTensionControllerDCableConnection properties . . . . . . . . . . . . . . . . . . . 290

A.15 RigidBody DCable Traction Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291A.15.1 Input file properties (*.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

A.15.1.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291A.15.1.2 Mechanical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291A.15.1.3 None . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

A.15.2 Connections (lib.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292A.15.2.1 RBDCableTractionControllerRigidBodyObserveConnection properties . . . . . . . . . . . 292A.15.2.2 RBDCableTractionControllerRigidBodyControlConnection properties . . . . . . . . . . . . 293A.15.2.3 RBDCableTractionControllerDCableObserveConnection properties . . . . . . . . . . . . . 294A.15.2.4 RBDCableTractionControllerDCableControlConnection properties . . . . . . . . . . . . . 294

A.16 RigidBody Simple Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295A.16.1 Input file properties (*.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295

6

Page 9: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Contents ProteusDS 2015 Manual

A.16.1.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295A.16.1.2 Instrumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295A.16.1.3 Mechanical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295

A.16.2 Connections (lib.ini) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295A.16.2.1 RBSimpleControllerRigidBodyControlConnection properties . . . . . . . . . . . . . . . . 295A.16.2.2 RBSimpleControllerRigidBodyObserveConnection properties . . . . . . . . . . . . . . . . 296

Appendix B ProteusDS Output Files 298B.1 Cable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298B.2 PointMass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298B.3 Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298B.4 RigidBody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298

References 299

7

Page 10: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 1. Introduction ProteusDS 2015 Manual

Chapter 1. Introduction

1.1 What is ProteusDS?

ProteusDS is an advanced time-domain dynamics analysis software package developed by Dynamic Systems AnalysisLtd. (DSA) that is used to test virtual prototypes of many marine, offshore, and subsea systems and technologies.ProteusDS enables engineering and operational analysis of moorings, risers, pipelines, fish farms, towed bodies, waveenergy converters, and more, using a variety of advanced hydrodynamic and finite-element analysis techniques.

The ProteusDS software applications run on a Microsoft Windows PC. Simulations are created in ProteusDS using asuite of core applications. The core ProteusDS 2015 applications are:

• ProteusDS Simulation Toolbox (PST) - PST is used to setup simulations and pre-process simulation input data.

• ProteusDS Solver - The solver executes the simulations and creates data.

• ProteusDS Queuing Manager (PQM) - Simulations are run and managed using the PQM.

• PostPDS - PostPDS is used to visualize and post-process simulation data.

1.2 What’s new in ProteusDS 2015?

For users of ProteusDS 2013, several important enhancements have been made in ProteusDS 2015, including:

• Updated PST usability features such as one click resolving of master and follower properties, and one click navigationto desired feature.

• Creation of a pre-visualizer tool to view simulation in 3D window during simulation setup.

• Addition of spatially and temporally varying current profile.

• Improved turbine feature for quick setup of tidal turbines control schemes.

• Improved hydrodynamic database feature for better integration of ShipMo3D database files.

• Addition of feature specific output files.

• Addition of connection type allowing the connection of cable ends to one another.

• Addition of ballast feature

• Addition of automatic report tool that provides summary data and statistics for a simulation, including a customsingle leg mooring report template.

• Addition of ExtMassCylinder feature that can be used to model acoustic releases and other high aspect attachmentsto mooring lines that aren’t easily modeled as a sphere.

• New submergence probe for cables which indicates whether an end of a cable is submerged

8

Page 11: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 1. Introduction ProteusDS 2015 Manual

• New program icons

• New rotational stiffness capability for RigidBody force connections

• File input/output performance enhancements

1.3 Who uses ProteusDS?

ProteusDS is used by industry and academic users, including:

• Naval architects

• Marine engineers

• Ocean engineers

• Wave energy converter developers

• Tidal energy developers

• Mooring and buoy engineers

• Oceanographers

• Metocean data-collection specialists

• Aquaculture equipment manufacturers

• Standards and classification organizations

• Launch and recovery specialists

• Riser engineers

• Mechanical engineers

• Marine deck equipment manufacturers

• Subsea pipeline specialists

1.4 What can ProteusDS do?

ProteusDS can be used to analyze many types of systems and applications, including:

• Mooring system analysis and design

• Wave energy converter systems

• Risers

• Flexibles / SLHR

• Flowlines

• Floating wind turbine moorings

• Tidal energy converters / In-stream tidal power de-vices

• ROV tethers

• Subsea vehicle thrusters

• ROV controllers

• AUVs

• ROVs

• Single leg moorings

• Protective nets

• Aquaculture moorings and net cages

• Shellfish rafts

• Towed vehicles and towed bodies

• Tug boat winches and constant tension controls

• Pipelines

• Oceanographic moorings

• Shipborne cranes

• Subsea vehicle and autonomous vehicle docking

• Cable laying and subsea operations

1.5 Recommended computer hardware to run ProteusDS

• 64 bit Windows 7 Operating System

9

Page 12: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 1. Introduction ProteusDS 2015 Manual

• 2.5GHz dual or quad core processor (ideally quad core for complex or large models)

• 4GB RAM

• Microsoft .NET 4.0 or higher

• 512MB dedicated graphics card (AMD or NVidia), with updated drivers

1.6 Where to begin?

If you are new to ProteusDS, or are new to ProteusDS 2015, it is advised that you work through the ProteusDS 2015tutorials. The tutorials cover the basics required for most users of the software and will provide insight into how to usethis manual. This manual primarily contains details about ProteusDS input files and the theoretical basis for the variousmodels incorporated into the the ProteusDS solver. However, Chapter 2 provides key material and information regardingthe use of ProteusDS, and is a good place to begin.

1.7 Contact us

For any comments, questions, or concerns, contact Dynamic Systems Analysis or call between the hours of 9:00am -5:00pm PST, Monday to Friday:

Email: [email protected]

Phone: +1 250 483 7207

10

Page 13: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 2. ProteusDS Fundamentals ProteusDS 2015 Manual

Chapter 2. ProteusDS Fundamentals

2.1 Introduction

ProteusDS is a time-domain simulation tool used to analyze and design a variety of marine technologies and systems.ProteusDS simulations are commonly used to determine the response of systems to environmental conditions such aswaves, wind and currents. To configure and run a simulation, the following must be defined:

• The objects used in the simulation (e.g. nets, cables, buoys, vessels, etc.)

• The physical parameters and features of the objects (e.g. mass, length, etc.)

• The connections and nature of connections between the objects (e.g. connecting a cable to a buoy)

• The environmental conditions those objects are exposed to (wave height, current, etc.)

• The solution parameters and numerical integrator settings (time to run, etc.)

• The initial state of the objects (e.g. the initial position and orientation of a bouy)

The following chapter reviews how each of the above tasks are accomplished using the ProteusDS software.

2.2 Installation and licensing

DSA follows a Software as a Service (SaaS) licensing model for ProteusDS. All users purchase a one year subscriptionto ProteusDS; ProteusDS is not available as a perpetual license. This model ensures that all users are able to run thelatest version of ProteusDS. Therefore, only the most recent manual and tutorials are available1

ProteusDS is installed by first accessing the download page of the DSA website. The ProteusDS installation packageis a self-extracting installer. It is recommended that users accept the default installation directory.

To limit the impact of software piracy, DSA requires that a valid, DSA-issued license key be present on each computerthat runs ProteusDS. The generation of these keys requires a two-stage authentication consisting of a user downloadingand running a License Request Utility on each computer that is to run ProteusDS, sending the resulting license requestfile to DSA, and DSA replying with a valid license key. To obtain a license key please follow the instructions listed on theDSA website: http://dsa-ltd.ca/software/proteusds/license-files/

2.2.1 License activation

After downloading and installing the ProteusDS software, open the ProteusDS Simulation Toolbox. Once the toolboxis open locate Help in the top menu bar then Manage License. Next a secondary window will open, locate the license fileDSA has sent you then click install.

1If there are features or options discussed in the tutorials that are not available in the version that you are running, please check that youhave installed the latest version of the software.

11

Page 14: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 2. ProteusDS Fundamentals ProteusDS 2015 Manual

2.3 DObjects

In ProteusDS each dynamic object and its associated numerical model is defined as a DObject. A simulation can beconstructed with many potential DObjects (e.g. a mooring line, a vessel) which have states that define them (e.g. pitch,roll, yaw, global position or velocity). The forces and resulting motion are determined using a variety of numerical models.

Controllers that interact with DObjects in a simulation are also considered DObjects. The dynamics of controllers areoften important in assessing the dynamic response of a system. Controllers often do not have a state associated withthem.

2.3.1 List of DObjects in ProteusDS 2015

The following DObjects may be defined in ProteusDS:

• ABAController

• ABAFController

• ABASuperController

• Cable

• ConstantTensionWinch

• DCableEndNodeController

• DCableMovementController

• DCableTensionController

• MSD

• Net

• PointMass

• RBDCableTractionController

• RBDCableWinchController

• RBSimpleController

• RigidBody

• SCable

2.3.2 Custom DObjects

DSA does create custom DObjects for specific applications from time to time for clients. These DObjects may interactwith other DObjects. Applications include:

• Power take off systems for wave energy converters

• Tension controllers for heave compensation

• Kalman filters for dynamic positioning

• ROV controllers

• AUV/UUV controllers

12

Page 15: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 2. ProteusDS Fundamentals ProteusDS 2015 Manual

2.4 Setting up a simulation / ProteusDS Simulation Toolbox(PST)

ProteusDS simulations are executed using input files located in a directory. Each new simulation run with ProteusDSmust be located in its own directory. It is possible to define simulation input using a text editor, however, the ProteusDSSimulation Toolbox (PST) helps to rapidly setup and manage simulation input data. In PST, the user can create, modify,and connect DObjects and run a simulation.

To setup a simulation, launch PST from the Windows start menu. Create a project in PST. A PST project is definedby one *.PDSi file. A PST project can be launched by double-clicking the *.PDSi file.

It is necessary to create a new folder for each ProteusDS simulation. There should only be one *.PDSi in an inputdirectory.

The main components of PST are referred to throughout this manual and the tutorials. In reference to 2.1, they are:

1. Project Explorer

2. Property Documentation

3. Input File / Input Panel

Figure 2.1: PST layout and terminology

2.5 Input files

Every ProteusDS 2015 simulation requires three files be present in the simulation input directory:

13

Page 16: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 2. ProteusDS Fundamentals ProteusDS 2015 Manual

• env.ini - the environment input file

• sim.ini - the simulation configuration input file

• lib.ini - the simulation library file

In addition, each DObject in a simulation will have two associated files in the simulation input directory:

• *.ini - Each DObject must have a *.ini file named after the DObject

• *.dat - Each DObject must have a *.dat named after the DObject

For example, if a cable DObject is named cable 0, then the *.ini and *.dat file must be named ‘cable 0.ini’ and‘cable 0.dat’, respectively.

The *.ini input files rely on Properties, which are the simulation input parameters. The format and type of theseparameters varies and is presented in Section 2.7.

The *.dat files are simulation initial condition files that are used to store data associated with various DObjects. Theformat of the data files for each DObejct are presented in Appendix A. Each DObject will typically have a state thatdefines it. A section is written in the *.dat file which contains the state. For example, a cable object with two elements (3nodes), of 10 meters in length, will have a data file as shown in Listing 2.1. Most DObjects have at minimum a <state>section; however some DObjects and some models require additional data (e.g. <lengths>).

Listing 2.1: Sample *.dat file for a cable DObject. Note the <state> and <lengths> sections. <state >

0.0

0.0

0.0

0.0

0.0

0.0

0.0

5.0

0.0

0.0

0.0

0.0

0.0

10.0

0.0

0.0

0.0

0.0

0.0

</state >

<lengths >

5.0

5.0

</lengths > 2.6 Decimal point convention

ProteusDS presently uses only a point ’.’ as the decimal radix separator between integer and fractional numbers (e.g.3.14159). In countries where a comma ’,’ is used (e.g. 3,14159) as the decimal radix separator, within ProteusDS you

14

Page 17: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 2. ProteusDS Fundamentals ProteusDS 2015 Manual

must use the point convention instead.

2.7 Properties

ProteusDS relies on ASCII input files to configure simulations. These input files have the file extension *.ini. Modelparameters or properties are preceded by ’$’ sign. One property can be defined per line in an input file. PST enablesproperties to be edited directly.

Each property can have one of several specifiers that defines the type of input:

• number - a real number

• integer - an integer value

• string - a string (use quotations marks to enclose strings with white spaces)

Listing 2.2 shows single value properties named $NumberProp, $LargeNumberProp, $SmallNumberProp, $IntegerProp,$StringProp, and $StringWithSpacesProp with their associated values.

Listing 2.2: Example of number, integer, and string properties input in an input file. $IntegerProp 3 // comments may added on lines using ’//’

$NumberProp 3.14159

//A property which expects a number as input is interpreted

//by ProteusDS as a floating point value. Number properties

//can be entered using floating point notation. For example

//the value 3.14159 is equal to 0.314159 x 10^1, and could

//be entered as 0.314159 e1. This is useful for small and

//large numbers such as:

$LargeNumberProp 3.844e8 // distance to the moon = 384 ,400 km

$SmallNumberProp 1e-10 //1 Angstrom

$StringProp myFile.dat Properties in ProteusDS are not case sensitive.

On lines with a property on them, comments can be added using two forward slashes: ’//’ (as shown in Listing 2.2).

Additional type specifiers for properties are:

• optional - the property is optional (not required)

• vector - multiple values are expected as input; the values are space- or tab-delimited (see Listing 2.3).

• matrix - each row in a matrix is entered on a seperate line; the name of property must be listed on each line; therows are read in the order they are found in the input file (see Listing 2.3).

• variable number of rows - the number of rows (entries) is not fixed

• variable number of columns - the number of columns is not fixed

• unordered - if more than one entry for a property is allowed in a file (i.e. matrix) the order of entry in the input fileis not important

• experimental - the property has not been thoroughly validated and is subject to change

• feature reference - the property is used to load a feature contained in the simulation library (lib.ini)

15

Page 18: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 2. ProteusDS Fundamentals ProteusDS 2015 Manual

• string-double - the property is like a matrix property, where each row’s first column is a string property (see Listing2.3).

Listing 2.3: Examples of matrix, vector and string-double properties //A 3x3 unit matrix may be specified as:

$MatrixProp 1 0 0 //row 0

$MatrixProp 0 1 0 //row 1

$MatrixProp 0 0 1 //row 2

//A vector with six arguments

$VectorProp 1.5 2.0 0.0 1e-5 1e-4 1e-5

//A string -double property (variable number of rows):

$StringDouble mystring 1.0 2.0 3.0 4.0 5.0 6.0

$StringDouble mystring1 1.0 2.0 3.0 4.0 5.0 6.0 2.7.1 Master/follower properties

Integer properties are unique in that they may be a master property. If a master property has a certain value, followerproperties may be required or allowed to be defined as input. For example, when $WaveType is set to 1,2,... in theenvironment input file, $WaveHeight, $WavePeriod, etc., must also be defined. Follower properties can be of any type.

Master properties typically have options which specify a mode of operation. For example, setting $WaveType to 1indicates Airy wave model and setting $WaveType to 8 indicates a JONSWAP model. Follower properties are required toproperly define all of the input parameters for a selected option.

Master and follower properties ensure input files are configured so that ProteusDS interprets the simulation setupcorrectly.

Properties may have more than one master property. This means that two or more properties may need to be set fora follower property to be used.

For each property, the master properties for an object are shown as: ”Required when:” and ”Allowed when:” inAppendix A.

2.8 Features

• Properties of type string in an input file may refer to a feature which is contained in a central library file. Theseproperties are described as a library reference (see Appendix A).

• In PST, the features in the library may be viewed by selecting the Library entry in the tree. In PST a list of featuresis presented; the type of the feature and unique name for the feature are shown. Selecting the feature enablesproperties associated with the features to be edited.

• Each feature has a unique set of properties which define it.

• The type of the feature that a property will load is defined in the documentation for the property (see Appendix A).

• Features have the benefit that they can be referred to by multiple DObjects using features defined in the library.For example, cable properties defined by the CableSegment feature can be re-used by many DObjects. When theproperties of the feature are changed, all of the cable DObjects which refer to that feature are affected.

16

Page 19: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 2. ProteusDS Fundamentals ProteusDS 2015 Manual

• A feature section may be added to the ‘lib.ini’ file by defining the feature name and feature type using an XML stylesyntax.

• A sample feature with name myFeatureName of type DCableSegment can be seen in Listing 2.4. This feature isentered in ‘lib.ini’. The Cable input file that references this feature is shown in Listing 2.5.

• Features may be referenced from other connections (lib.ini), other features (lib.ini), DObject input files (*.ini), thesimulation input file (sim.ini), or the environment input file (env.ini).

Listing 2.4: Sample formatting of feature section <rope type=" DCableSegment">

// Fluid loading

$CDc 1

$CDt 0.01

$CAc 1

// Mechanical

$EA 1000000

$EI1 100

$EI2 100

$GJ 0

$Diameter 0.01

$Density 1100

$CID 100

$BCID 0

$TCID 0

$CE 1

</rope > Listing 2.5: Cable input file referencing rope feature

// Boundary constraints

$Node0Static 0

$NodeNStatic 0

$NodeNRing 0

// Mechanical

// references the feature of type "DCableSegment" named "rope"

$CableSegment rope 0 2.8.1 List of features

Table 2.1 on page 19 presents the list of available features in ProteusDS. They are organized by master DObject.

FeatureType: Loaded by Properties: in DObject input file or connection:

DCableLinearQuadraticDrag $LinearQuadraticDrag Cable

$LinearQuadraticDrag SCable

DCableRandolphSoilModel $RandolphSoilProperties Cable

$RandolphSoilProperties SCable

DCableSegment $CableSegment Cable

$CableSegment SCable

17

Page 20: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 2. ProteusDS Fundamentals ProteusDS 2015 Manual

DNetPanel $NetPanelProperties Net

EnvironmentSoil $SoilLayer Environment

$SoilProperties Environment

EnvironmentWave $WaveFeature Environment

ExtLoad $ExtLoad Cable

$ExtLoad Net

$ExtLoad SCable

ExtMass $ExtMass Cable

$ExtMass Net

$ExtMass PointMass

$ExtMass SCable

ExtMassCylinder $ExtMassCylinder Cable

$ExtMassCylinder SCable

FluidCoefficientKC $FluidCoefficientKCData Cable

$FluidCoefficientKCData Net

$FluidCoefficientKCData SCable

FluidCoefficientReynolds $FluidCoefficientReData Cable

$FluidCoefficientReData Net

$FluidCoefficientReData SCable

FluidCoefficientSeabedProximity $FluidCoefficientSeabedProximityData Cable

$FluidCoefficientSeabedProximityData SCable

Integrator $Integrator Simulation

RigidBodyABAConnectionJoint $PrismaticJointLinear RigidBodyRigidBodyABAConnection

$RevoluteJointAngular RigidBodyRigidBodyABAConnection

$CylindricalJointAngular RigidBodyRigidBodyABAConnection

$CylindricalJointLinear RigidBodyRigidBodyABAConnection

$PlanarJointLinear0 RigidBodyRigidBodyABAConnection

$PlanarJointLinear1 RigidBodyRigidBodyABAConnection

$SphericalJointAngular0 RigidBodyRigidBodyABAConnection

$SphericalJointAngular1 RigidBodyRigidBodyABAConnection

$SphericalJointAngular2 RigidBodyRigidBodyABAConnection

$UniversalJointAngular0 RigidBodyRigidBodyABAConnection

$UniversalJointAngular1 RigidBodyRigidBodyABAConnection

$HelicalJointAngular RigidBodyRigidBodyABAConnection

$HelicalLead RigidBodyRigidBodyABAConnection

RigidBodyAddedMass $AddedMass RigidBody

RigidBodyBallast $BallastTank RigidBody

RigidBodyCuboid $Cuboid RigidBody

RigidBodyCustomMesh $CustomMesh RigidBody

RigidBodyCylinder $Cylinder RigidBody

RigidBodyEllipsoid $Ellipsoid RigidBody

18

Page 21: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 2. ProteusDS Fundamentals ProteusDS 2015 Manual

RigidBodyFoil $Foil RigidBody

RigidBodyLinearQuadraticDrag $LinearQuadraticDrag RigidBody

RigidBodyRAO $RAODatabaseModel RigidBody

RigidBodyRadDiffHydrodynamic $RadDiffHydrodynamicModel RigidBody

RigidBodyThruster $Thruster RigidBody

RigidBodyTurbine $Turbine RigidBody

RigidBodyWaypoint $KinematicWaypoint RigidBody

Table 2.1: List of features in ProteusDS

2.9 Connections

Connections can be made between DObjects in a simulation. Each connection has a master and a follower. Forexample, in a connection between a RigidBody and a Cable DObject, the RigidBody DObject is the master and the Cableis the follower.

PST allows a user to create and modify connections. A list of all connections in a given simulation is available byselecting the Connections tab in the Project Explorer. Each connection has a name and type. When a connection iscreated, the connection has properties which modify the behaviour of the connection. For example, for a point connectionbetween a Rigid Body and a Cable, the following properties apply:

Listing 2.6: Point connection settings // Mechanical

$DCableFollowerNodeN 0 // indicates which end of the cable to connect to

$DCableFollowerLocation 0 0 0 // indicates where on the rigid body to connect Connections are written to the Library (lib.ini) file. They are written in a similar form to features, with the type of

connection listed as the fully qualified type. For example, the point connection provided in Listing 2.6 is written in lib.inias:

Listing 2.7: Point connection settings in lib.ini <RigidBody_2_Cable_1 type=" RigidBodyDCablePointConnection">

// Mechanical

$DCableFollowerNodeN 0 // indicates which end of the cable to connect to

$DCableFollowerLocation 0 0 0 // indicates where on the rigid body to connect

</RigidBody_2_Cable_1 > PST handles writing the connections, so users of PST must only configure the properties of the connection.

2.9.1 List of connections types

Table 2.2 on page 20 presents the list of possible connection types in ProteusDS. They are organized by master DObject.

19

Page 22: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 2. ProteusDS Fundamentals ProteusDS 2015 Manual

Master: Follower: Type: Fully Qualified Connection Type:

ABAController RigidBody Observe ABAControllerRigidBodyObserveConnection

RigidBody Control ABAControllerRigidBodyControlConnection

ABAFController RigidBody Observe ABAFControllerRigidBodyObserveConnection

RigidBody Control ABAFControllerRigidBodyControlConnection

ABASuperController RigidBody Observe ABASuperControllerRigidBodyObserveConnection

ABAController Control ABASuperControllerABAControllerControlConnection

ConstantTensionWinch DCable Winch ConstantTensionWinchDCableConnection

DCable DCable Point DCableDCablePointConnection

DCable End DCableDCableEndConnection

DNet Point DCableDNetPointConnection

DNet Edge DCableDNetEdgeConnection

DCableEndNodeController DCable Position DCableEndNodeControllerDCableConnection

DCableMovementController DCable Position DCableMovementControllerDCableConnection

DCableTensionController DCable Tension DCableTensionControllerDCableConnection

DNet DNet Edge DNetDNetEdgeConnection

PointMass DCable Point PointMassDCablePointConnection

DNet Point PointMassDNetPointConnection

PointMass Point PointMassPointMassPointConnection

RBDCableTractionController RigidBody Observe RBDCableTractionControllerRigidBodyObserveConnection

RigidBody Control RBDCableTractionControllerRigidBodyControlConnection

DCable Observe RBDCableTractionControllerDCableObserveConnection

DCable Control RBDCableTractionControllerDCableControlConnection

RBDCableWinchController RigidBody Observe RBDCableWinchControllerRigidBodyObserveConnection

RigidBody Control RBDCableWinchControllerRigidBodyControlConnection

RBSimpleController RigidBody Control RBSimpleControllerRigidBodyControlConnection

RigidBody Observe RBSimpleControllerRigidBodyObserveConnection

RigidBody DCable Point RigidBodyDCablePointConnection

DCable Force RigidBodyDCableForceConnection

DCable Sliding RigidBodyDCableSlidingForceConnection

DCable Roller RigidBodyDCableVRollerConnection

DCable Tensioner RigidBodyDCableTensionerConnection

DNet Edge RigidBodyDNetEdgeConnection

RigidBody ABA RigidBodyRigidBodyABAConnection

RigidBody Force RigidBodyRigidBodyForceConnectionTable 2.2: List of connections in ProteusDS

2.10 Environment

Each simulation must define environmental parameters to run. The environment (env.ini) input file defines:

• Air properties

20

Page 23: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 2. ProteusDS Fundamentals ProteusDS 2015 Manual

• Water properties

• Wave model properties (e.g. Airy, JONSWAP)

• Soil properties (e.g. stiffness, damping)

• Bathymetric properties (e.g. seabed terrain files, water depth)

• Wind model properties (e.g. wind spectrum type)

• Current profiles (e.g. uniform, time varying)

• Simulation constants (e.g. gravity)

Additional information on the environmental models and options available can be found in Chapter 3 and AppendixA.

2.11 Simulation

In addition to selecting and configuring the DObjects and the environmental conditions, the simulation parametersmust must also be configured. Simulation properties are contained in the sim.ini input file. In PST they may be edited byselecting ”Simulation” in the PST Project Explorer.

The simulation input file is used to set simulation start time, end time, the simulation data output interval.

The simulation input file is also used to define the active connections and the names of the DObjects currently in asimulation. PST hides these properties from the user, and manages creation of the appropriate $DObjects and $Connectionsproperties in ‘sim.ini’. Do not add the $DObjects and $Connections properties inside the Simulation Input Panel in PST.A ‘sim.ini’ file with $DObjects and $Connections defined is given in Listing 2.8.

Listing 2.8: Point connection settings in lib.ini // Instrumentation

$IntervalOutput 0.1

// Integration

$StartTime 0

$EndTime 1

$Integrator RK45

//NOTE:

//These are automatically generated by PST

// and do not appear in the Simulation Input Panel:

$DObjects RigidBody RigidBody_1

$DObjects RigidBody RigidBody_2

$DObjects Cable Cable_1

$Connections RigidBody_1 RigidBody_2 RigidBody_1_RigidBody_2

$Connections RigidBody_2 Cable_1 RigidBody_2_Cable_1 The $IntervalOutput property indicates the rate at which results are printed from simulation in terms of the simulation

time. Simulation time is the relative time within the simulation. For example, it may take 10 real time seconds to simulate1 simulation second so 1 real time second only gives the user 0.1 seconds of simulated time. Note that as the outputinterval decreases, the amount of information written to the output files increases. Care must be taken when setting thisproperty as writing to the hard drive frequently can significantly slow simulation execution speed and also rapidly fill upmemory. In addition to writing data to the output files, a notice will be written to the console window every time data is

21

Page 24: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 2. ProteusDS Fundamentals ProteusDS 2015 Manual

being written to the files. Regardless of the output interval, the console window prints a status update every 10 real timeseconds indicating simulation progress.

2.11.1 Integrator

Another key role of the simulation input file is to select the numerical integrator to use. The numerical integratorsettings are defined in a feature. The name of the integrator feature to load is defined by the $Integrator property in theSimulation Input Panel in PST(sim.ini).

Numerical integrators are used to advance a simulation through time. While the DObjects are responsible for calculatingtheir state variable derivatives (e.g. velocities and accelerations), the integrator is responsible for integrating these overtime to evolve the state vector. The current release version of ProteusDS uses two different numerical integration methodsin order to facilitate these time domain simulations:

• the 4th order Runge-Kutta (RK4)

• the adaptive 4th order Runge-Kutta method (RK 4(5) or Fehlberg method)

Implementation of the integrators in ProteusDS is based on algorithms and theory presented in [1, 2, 3].

2.11.1.1 Runge-Kutta 4(5)

The RK 4(5) integrator is among the most stable and accurate explicit integrators. However, if high frequency dynamicsare present, the time step will shrink automatically to avoid destabilization. Simulation with small time steps increasesexecution time. The integrator is designed to regulate error by adjusting the time step based on the error between the4th and 5th order approximation of the future state. This allows it to maintain a predetermined level of accuracy basedon the allowable truncation error property specified by the user. The smaller the truncation error, the more sensitive thenumerical integrator is to shrinking the time step to rapid changes in state acceleration.

It is recommended that the RK 4(5) be used for most simulations. The truncation error property can be reduced if asimulation is prone to destabilization. General truncation error guidelines are:

• Fast simulation speed - Truncation error = 1e-2 - risk of numerical destabilization and inaccurate results

• Reasonable simulation speed - Truncation error = 1e-4 - small risk of numerical destabilization

• Slower simulation speed - Truncation error = 1e-6 - little risk of numerical destabilization

It is important to note that a simulation may not be able to start, or may crash, if the initial time step is too large.

2.11.1.2 Runge-Kutta 4

The RK4 integrator is a constant time step integrator. There is no error control and only a 4th order approximationis used to compute the future state.

In some very specific cases, the RK4 integrator can be used with constant time steps while still maintaining stability andaccuracy, producing faster execution times. For example, the adaptive RK 4(5) integrator is sometimes overly sensitiveto cable contact and friction effects with the seabed and it may be worth exploring the use of RK 4 integrator as analternative.

2.12 ProteusDS Solver

The ProteusDS Solver is the core physics engine which is responsible for evaluating the dynamics of the DObjectsin response to the various environmental conditions models (e.g. wave, wind and current) and control algorithms in a

22

Page 25: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 2. ProteusDS Fundamentals ProteusDS 2015 Manual

simulation. The Solver is typically run in one of three ways:

• from within PST,

• using the ProteusDS Queuing Manager, or

• directly (from the command line or batch file).

2.12.1 Running a simulation from PST

A simulation may be run immediately from within PST once all input files and properties have been defined. Whenthe solver is run in PST the results are output to a directory named Results in the input directory.

2.12.2 Running simulations using PQM

Batches of simulations may be executed by adding individual simulations to the ProteusDS Queueing Manager (PQM).The PQM allows for drag and drop or browsing addition of simulations to the queue. This ensures that when large batchesof simulations are required, available computational resources are maximized. Simulations are executed off the queue listbased on the available cores on the machine and the number of parallel simulations opted to execute. Large queues ofsimulations can be saved and reloaded from PQM.

2.12.3 Running simulations from the command line

ProteusDS can also be run from the command line. A batch of simulations can also be run using a *.dat file. Typically,using batch files or running from the command line is not as convenient as using the ProteusDS Queuing Manager. It isrecommended to run ProteusDS from PST or using PQM.

ProteusDS has the following command line options:

• -help: Displays command line help information

• -eula: Displays end user license agreement

• -i: Input path e.g. -i ./Init Files

• -o: Output path e.g. -o ./Simulation Results

• -overwrite: on|[off] Suppresses file overwrite warnings e.g. -overwrite on

• -verbose: on|[off] Toggles additional file output. e.g. -verbose on

• -experimental: on|[off] Allows experimental parameters to be loaded.

Note that default selections are indicated in square brackets.

2.13 Simulation output

During each simulation, data is written to output files in the selected results folder.

Every DObject in a simulation will have its own sub-folder within Results. The ‘results.dat’ contains the time evolutionof the model state vector.

Each output file contains a specific header that describes the data contained within. For files that do not have anoutput file please contact DSA for a description of the file contents.

23

Page 26: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 2. ProteusDS Fundamentals ProteusDS 2015 Manual

By enabling the verbose command line option, more files will be written to the results folder for each DObject in thesimulation. The output files are written in ASCII characters and can be read in any text editor. The verbose option may

Each of the output files associated with a DObject and ProteusDS are outlined in Appendix B.

In addition to the DObject data, an Initial folder is created that contains all the required input files for the simulation.Input files not located in the input folder are copied to the Data folder in the Initial folder.

If a non-zero restart interval is indicated in the integrator initialization file, a Restart folder is created for ProteusDSto use when restarting the simulation from various points in time.

A TerminalIC folder is created after simulation completion, which generates the *.dat for all DObjects at the final timeof the simulation.

2.13.1 Simulation menu

When running simulations directly, the simulation menu can be activated with the space bar when the console windowis highlighted. The simulation is paused when the menu is displayed and options to print the state of the system, continue,or quit are presented. When managing simulations via PQM, these options are displayed graphically in the status pane foreach simulation.

2.13.2 Restarting a simulation using the TerminalIC folder

The TerminalIC folder can be written to the Results folder at anytime by pausing the simulation and selecting theWrite terminal IC option. However, the TerminalIC folder is automatically written at the end of every simulation. Itcontains a collection of initial condition (*.dat) files for each of the DObjects in the simulation. The initial conditions filescontain the final state of the objects in the simulation. The collection of *.dat files can be used to start a new simulationfrom where a previous simulation concluded.

It is common practice to set up a simulation with no current, wave or wind conditions present and let the simulationrun until all significant start-up transients disappear and the system reaches a steady state or equilibrium. The settledcondition can then be used as the starting point for all future studies. ProteusDS does not a have a static solver; thedynamic solver is instead used to determine the default starting condition for most simulations. By using a start-upsimulation’s TerminalIC files, simulation time for future simulations typically decrease because the simulation solver doesnot have to resolve the start-up transients.

To create a TerminalIC folder from a set of simulation files, follow these steps:

1. Begin with your simulation files set up in PST.

2. Turn off all environmental conditions such as current, waves, and wind.

3. Set the $EndTime property in the Integrator feature to be 10 seconds.

4. Run the simulation until completion.

To start a simulation from where a previously completed simulation ended using the TerminalIC folder, follow thesesteps:

1. Once the simulation has completed, close PST and locate the simulation input directory with Windows Explorer.

2. Within Windows Explorer, select and copy all the input files from the input directory.

3. Create a new directory in a convenient location that will hold the new ProteusDS input files that will be used torestart the simulation.

4. Paste the input files just copied into the new simulation input directory.

5. Locate the results directory which contains the TerminalIC directory.

24

Page 27: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 2. ProteusDS Fundamentals ProteusDS 2015 Manual

6. Copy the contents of the TerminalIC directory to the newly created input directory (copy and replace the old initialconditions files)

7. Open the new project directory in PST.

8. Run the simulation as usual in PST using the newly created input directory.

2.14 PostPDS

2.14.1 Loading simulations

Once the simulation is complete PostPDS can be used to visualize the results. PostPDS may be launched by double-clicking the *.PDSo file in the results directory of the simulation which has completed.

When loading a simulation, the load options window will appear; this allows the specification of parameters such asvisual cable thickness, the time period to load, and the number of zones to load. Each output time step is considered azone.

2.14.2 Graphics card configuration

PostPDS relies on OpenGL. If an error is encountered when attempting to load simulation results, open the “ProteusDSConfiguration Utility” from the ProteusDS 2015 programs folder in the Windows Start Menu and adjust the renderingdetail mode to a lower level. Errors are frequently caused by outdated graphics card (GPU) drivers or the lack of a discretegraphics card. A rendering detail level of “Compatibility” should eliminate all errors at the cost of visual fidelity.

If a discrete GPU is present and errors persist, an attempt should be made to update the GPU drivers to the latestversion. If this fails, it is likely that the GPU is of an unsupported model.

2.14.3 Playback and camera control

The playback function in PostPDS sequentially displays the simulated data that was loaded. The time slider at thebottom of the window allows the user to choose any desired time throughout the simulation. However, it is important tonote that PostPDS reads only the data written by the solver. Output intervals set too infrequently will result in insufficientinformation for PostPDS to use to fully visualize a time-domain record of the simulation. Conversely, output intervals settoo frequently may result in PostPDS being unable to present the detail in real-time.

The left side menu contains a tree of all the objects present in the simulation. Right-clicking on an item in the treemay result in additional options or information being available, such as opening an initialization file for a given DObject,adjusting the colour of a selected object, changing the currently active plot’s minimum and maximum limits, or accessingthe 2D plotting functionality.

There are a variety of ways to manipulate the camera: The right mouse button can be used to pan; The middle mousebutton can be used to rotate the camera; The mouse wheel can be used to modify the zoom level; The ’W’ key can beused to move the camera ’forward’ into the scene, ’S’ to move it ’backward’, while the ’S’ and ’D’ keys can be used topan the camera left and right respectively. Finally, the position and center of rotation values in the ’Camera’ panel in theapplication may be modified directly.

25

Page 28: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 2. ProteusDS Fundamentals ProteusDS 2015 Manual

2.14.4 Display options

At the top of the application window there are options to change the display type to rendered or engineering mode.In rendering mode, the shading and texture of the environment is present and in engineering mode, a representativemesh of the water surface is shown while shading and texturing is disabled. In engineering mode, the cable elementsare represented as straight line segments only. Note that the cubic-spline used by the finite-element cable model is onlydisplayed in rendered mode.

If there are cables or nets in the simulation, stresses and tensions in the cable can be displayed. The minimum andmaximum values for the stress and tension plots can be altered to any values in the text boxes at the top right of thewindow.

By selecting the settings tab at the top left of the window, the user can modify the appearance of the simulationenvironment. Perspective and orthographic projections are available. The density and colour of the air/water, the sizeof the environment origin widget, the colour of the engineering view water mesh, and the presence of shadows can beadjusted.

2.14.5 Exporting videos

To export videos from PostPDS, select the ProteusDS symbol in the upper-left corner of the application, and thenselect ’Export Video’. There are two options for exporting, ’Video’ and ’Individual Bitmaps’. Exporting straight to videomay be useful in some cases, but for higher-quality exports, exporting to individual bitmaps may be preferable. In theevent of exporting to bitmaps, a third-party tool will be necessary to stitch the resulting image files into a contigious video.In this case, the application VirtualDub http://www.virtualdub.org/ may be used to create the highest quality video bystitching together individual bitmaps. It is recommended simulations intended for video export are run with an outputinterval equivalent to no less than 24 frames per second, although 30 or 60 frames per second may be preferable.

2.14.6 Post-processing using Matlab or Excel

ProteusDS organizes the simulation output files into time-stamped rows of data so that it can be easily read2. Thisalso allows third party software packages to easily read, interpret, graph, and otherwise visualize the data. Files containheaders which are pre-pended with a #, this allows ProteusDS output files to be directly loaded into Matlab and Octaveusing the ’load’ command.

Files can be imported into Microsoft Excel using the ’Get External Data From Text’ option. Select ’All Files (*.*)’ inthe Import Text File dialog, then select the *.dat file to import. Load the file as a space/tab delimited file.

2ProteusDS uses Arabic numerals with a ’full-stop’ (period) as the decimal/radix separator (e.g., 3.141592654) versus a comma (e.g.,3,141592654) for all input/output. If attempting to use ProteusDS in a territory that uses a comma as the decimal/radix separator, pleaseconsult third-party application documentation to determine the most appropriate method of handling the data.

26

Page 29: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 3. Environment ProteusDS 2015 Manual

Chapter 3. Environment

Environmental conditions must be specified for every simulation. The range of conditions specified encompass wind,wave, current, and soil conditions. This information is used to resolve forces acting on entities that are simulated in theenvironment. The air density, wind spectrum, velocity, heading, and profile can be specified to match desired conditions.Different wind spectrums are available and are used to produce a mean and gusting wind speed effect. In a similar manner,water density, wave spectrum, significant wave height, and mean heading are used to produce the ocean wave condition.Steady water currents can also be specified with varying profiles, headings, and magnitudes through the water column.Bottom soil conditions are specified to indicate the soil stiffness and damping, which affects how much different bodiespenetrate into the soil. These conditions are all superimposed to establish the ocean state desired in a simulation scenario.All conditions are assumed to be unaffected by the presence of any simulated DObject in simulation.

The environment conditions are synthesized with distinct models for wind, current, waves, and seabed soil. This sectionreview fundamental features, theory, and implementation of each these models.

3.1 Coordinate system convention

The global reference frame is a right-handed system. The global reference frame origin elevation is fixed at the meansea surface at 0m. The principal axes directions are defined as follows:

• X axis - positive 0 North

• Y axis - positive 90 East

• Z axis - positive down toward the seabed

The principal reasons for this convention is:

• Subsea engineering conventions with increasing depth referred to as a positive number

• Harmonization of Euler angle definition in Section 5.1 with aerospace and naval conventions the heading, roll, andpitch of a vessel, with heading of 0 indicating the vehicle or body is heading North, and a heading of 90 indicatingthe vessel heading East.

3.2 Discretised fluid domain

The air and water fluid domain of the environment is discretised both in space and time. The domain is spatiallydiscretised into bins that specify uniform properties, such as fluid velocity or pressure. The order of magnitude bin size isdefined by the user and the finer the discretisation the more accurate the approximation of the continuous fluid domainwill be. The fluid properties in the bins are constant but are updated at a time interval specified by the user. Both thespatial and temporal discretisation should be fine enough to resolve the smallest reasonable ocean wave length and waveperiod present in simulation.

27

Page 30: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 3. Environment ProteusDS 2015 Manual

3.3 Current models

The current modeling options available are discussed in tutorial PDS-AAV.

3.4 Wave models

Ocean waves may have a range of frequencies and crest lengths. A long-crested swell wave with only one dominantfrequency can be represented with a single regular Airy wave, while irregular waves can be represented with the use of awave spectrum with crest lengths controlled by a spreading function. Irregular waves are modelled by super-positioningindividual regular waves of differing frequencies, amplitudes, and directions. The basic building block of modelling randomand irregular waves is the regular linear Airy wave or Stokes first order wave. More details on intermediate and deep waterwaves can be seen in [4].

Several wave models are available:

• Airy or Stokes first order wave

• Stokes second order wave

• Stokes second order wave

• Pierson-Moskowitz wave spectrum

• JONSWAP wave spectrum

3.4.1 Airy waves and irregular sea states

An irregular sea state is produced when wave spectrums are used. The spectrum is reconstructed with a finite numberof Airy waves with different heights, frequencies, and if a spreading function is used, headings. The ocean surfacedisplacement from a single Airy wave has the form:

ηi = Aicos(ωit−Ki(cos(θh)x+ sin(θh)y) + φ0) (3.1)

where ηi is the surface displacement, Ai is the wave amplitude, ωi is the wave angular frequency, K is the wavenumber, θh is the wave heading, and φ0 is the constant wave offset. The wave offset is randomly selected in the rangeof −π to pi using a random number generator initialized with a seed value provided by the user. The wave number iscomputed iteratively from the deepwater dispersion relationship using the reference water depth, dw provided by the user:

ω2i = gKitanh(Kidw) (3.2)

The amplitude of each wave segment is dictated by its frequency and the relationship to the spectrum. These wavesare super-positioned together to recreate the frequency spectrum. The amplitude of each discrete wave is computed by:

Ai =√

(2Sf (ωi)D(θh)dω) (3.3)

28

Page 31: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 3. Environment ProteusDS 2015 Manual

where Sf is the wave spectrum (spectral density), D is the spreading function magnitude, and dω is the discretizationof the wave spectrum. The wave spectrum discretization is defined as:

dω =ωmax − ωmin

ns(3.4)

where ωp is the spectrum peak angular frequency and ns is the number of discrete wave segments used to representthe spectrum. The maximum and minimum frequency limits, ωmax and ωmin respectively, that encompass the spectrumare set to a factor of 4 above and 4 below the spectrum peak frequency, respectively. Note that:

ωp =2π

Tp(3.5)

where Tp is the spectrum peak period. The frequency of each discrete wave that makes up the spectrum is selectedat a randomised interval within +/− 1

2dω to mitigate repetition of the sea surface in simulation at the interval of [5]:

Tl =2πns

ωmax − ωmin(3.6)

Special care must be taken to ensure the number of wave segments used for a simulation is adequate to avoid repetitionof the sea surface in an irregular sea state or at least to understand the implications of a repeating sea surface on thedynamic response of the system.

The spectrums used are defined based on those described in [4]. The Pierson-Moskowitz spectrum is defined as:

Spm(ω) =5

16H2sω

4pω−5 exp

(−5

4

ωp

]−4)

(3.7)

where Hs is the significant wave height. The JONSWAP spectrum is defined as:

SJ(ω) = AγSpm(ω)γexp

(−0.5

[ω−ωpσωp

]2)(3.8)

where γ is the non-dimensional peak shape parameter, σ is a spectral width parameter, and Aγ is a normalizingparameter. The spectral width parameters are set to:

σ =

0.07 for ω ≤ ωp0.09 for ω > ωp

(3.9)

The normalizing parameter is:

Aγ = 1− 0.287 ln(γ) (3.10)

29

Page 32: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 3. Environment ProteusDS 2015 Manual

The crest lengths of the waves are affected by the use of a spreading function. When the spreading function is used, thewaves are spread in headings between −π2 and π

2 around the mean spectrum heading. The directional spreading functionis described as:

D(θ) =Γ(1 + 0.5n)√

(π)Γ(0.5 + 0.5n)cosn(θ − θw) (3.11)

where Γ is the Gamma function, n is the spreading function constant that is set by the user, and θw is the meanspectrum heading, and |θ − θp| ≤ pi

2 [4].

3.4.2 Higher order Stokes waves

Both Airy and Stokes 2nd order waves are modelled using the equations of Table 3-1 found in [4]. The same dispersionrelationship is used for both Airy and Stokes 2nd order waves. Stokes 5th order waves are modelled using the Fourierseries methodology described in [6].

3.4.3 Wave validity warnings

3.4.3.1 Steepness

ProteusDS is set up to provide warnings via the PDS.warning output file to the user if the wave model used (Airy, Stokes2nd order, Stokes 5th order) violates the range of validity for the wave theory employed. Range of validity is normallyconstrained by an allowable steepness of the wave; the higher the order wave theory, the larger the wave steepness can berealized. The range of validity for the various wave theories can be found in Figure 3-2 in [4]. Due to the added complexityof forming an irregular sea surface from superimposed Airy waves, no warnings are computed for limiting steepness whenirregular waves are used.

If the wave parameters violate the bounds of Cnoidal theory limit (Ursell number limit), a warning is provided. Similarly,if the waves violate the bounds of the their respective theories, a warning is provided. There is are no warnings on thelimit for using 5th order waves for the moment but this is planned to be in a future release.

ProteusDS will halt with an error if the breaking limit is violated, i.e., if the wave height is higher than the maximumwave height[4]:

Hb = 0.1422π

ktanh(kd) (3.12)

This error can be overidden, forcing ProteusDS give a warning instead, by defining “$AllowExceedWaveBreakingLimit1” in the environment object.

3.4.3.2 Wave and current interaction

Ocean currents can affect the speed of an ocean wave. This affects the relationship between the observed wave periodand the wave length and the water particle velocities and accelerations. Generally, a current with the same heading as awave increases the speed of the wave and the wavelength, while an opposing wave and current slows the wave and reducesthe wave length [7].

30

Page 33: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 3. Environment ProteusDS 2015 Manual

The modified dispersion relationship relating wave period to wavelength in the presence of a uniform current is:

(w − kU)2 = gk tanh(kd) (3.13)

Note that the period T = 2π/w is that observed in terms of the global reference frame and is specified by “$Period”.The modified wave vector, k, is resolved from this relationship, which in turn provides the modified wavelength. Indeep water, this relationship also reveals a physical limit of opposing current magnitude before the wave breaks from thereduction in wavelength:

U < g/2(w + 1) (3.14)

This is an analytical limit and numerical solution procedures destabilize before reaching it. This relationship showshigh frequency or low period waves tend to be more susceptible changes from given current speed.

For uniform or linear shear current profiles, the surface velocity is used to compute the wave interaction effect onwave length. For other current systems like 3D spatially varying, Otherwise, the user must specify a representative value“$WaveReferenceCurrentSpeed” and “$WaveReferenceCurrentHeading” to use in the calculation of modified wave lengthsfor wave and current interaction.

3.5 Wind models

Time varying wind is generated with the use of different spectrums. The wind types available are:

• constant speed

• Ochi-Shin spectrum

• Froya/NPD spectrum

Variation in the wind speed with height is produced with a range of wind profiles. The wind profiles available are:

• uniform

• logarithmic

• power-law

• NPD

3.5.1 Wind spectra

The Ochi-Shin and Froya wind spectrums model the variability in wind speed and direction over time for large openmarine environments. ProteusDS discretises the wind speed frequency spectrum into individual frequencies which aremodelled as individual wind speed oscillations that are superimposed to approximate the continuous spectrum. Eachdiscrete wind speed oscillation amplitude is determined from the spectrum value at each frequency. The individual discretewind frequencies can be spread directionally about the main wind heading using the Cosine-Squared direction spreadingfunction, which provides directional variation. Typically, an average wind speed must be provided, which is the mean valuethe wind spectrum oscillates about. More details on the wind spectra are available in [4].

31

Page 34: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 3. Environment ProteusDS 2015 Manual

The Ochi-Shi wind spectrum is described by:

fS(f)

u∗2=

583f∗ for 0 ≤ f∗ ≤ 0.003

420f0.7∗

(1+f0.35∗ )11.5 for 0.003 < f∗ ≤ 0.1

838f∗(1+f0.35

∗ )11.5 for 0.1 > f∗

(3.15)

where

f∗ =f · zU10(z)

(3.16)

and f is the frequency of the spectrum, z is the height the wind is sampled at, U10(z) is the 10 minute average windspeed at a height of z. The friction velocity u∗ is determined as:

u∗ =√κU10 (3.17)

where κ is a surface friction coefficient while U10 is the 10 minute average wind speed at a height of 10 m. The surfaceroughness coefficient can be computed from the surface roughness parameter z0 as:

κ =k2a

lnHz0(3.18)

where ka = 0.4 is von Karman’s constant, and H = 10m is the reference height for the 10 minute average wind speedparameter. Some terrain roughness parameters for various terrain types can be found in [4].

The Frøya model spectrum is described by:

S(f) = 320

(U0

10

)2 ( z10

)0.45

(1 + fn)53n

(3.19)

where U0 is the 1-hour mean wind speed at a height of 10 m, n = 0.468, and f is defined as:

f = 172f( z

10

) 23

(U0

10

)−0.75

(3.20)

The wind spectrum is reconstructed similarly to the wave spectrum, as described in Section 3.4, using a finite numberof superimposed wind sinusoids with different amplitudes, and if a spreading function is used, different headings.

3.5.2 Wind profiles

Wind profiles describe the variation in wind speed with height due to the boundary layer and can be used with anyof the available wind spectra. Detailed discussion of these wind profiles can be found in [4, 8]. The uniform wind profileensures that the wind speed is independent of the sampling height and thus no detailed description is provided here. Thelogarithmic wind profile affects the wind speed as a function of sampling height according to:

U(z, t) = U(H, t)

(1 +

1

ka

√κ log

z

H

)(3.21)

where H = 10 m.

The power law wind profile affects the wind speed as a function of sampling height according to:

U(z, t) = U(H, t)( zH

)α(3.22)

while the Frøya/NPD wind profile model affects the wind speed as a function of sampling height according to:

U(z, t) = U(H, t)(

1 + C logz

H

)α(3.23)

C = 5.73× 10−2√

1 + 0.148U(H, t) (3.24)

32

Page 35: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 3. Environment ProteusDS 2015 Manual

Figure 3.1: A custom bathymetric polygonal mesh geometry.

3.6 Seabed contact model

A seabed contact resolution model applies forces on cables, rigid bodies, and point masses to prevent them from passingthrough the seabed. By default, a flat plane is used but a custom polygonal bathymetric mesh geometry can be specifiedlike that seen in Figure 3.1. All custom bathymetry meshes must have polygonal normals that point the half-space abovethe horizontal plane up toward the sea surface. Seabed a normal contact stiffness, damping, and tangential motion frictioncoefficients are specified. These soil properties are constant regardless of the object interacting with it. The effects ofthe DObject colliding with the seabed are neglected so only the seabed material properties are important for resolving thecontact forces.

If a DObject is in contact with the bathymetric mesh, contact forces will appear. The contact forces are resolved inthe form of a normal and tangential friction contact force. The normal and friction contact force models are described inSections 3.6.1 and 3.6.2, respectively.

3.6.1 Normal contact force

The normal contact force between a DObject and the soil is determined using penetration distance and its rate ofchange. DObjects can determine if a point on its geometry is interfering with the seabed bathymetry. If it is, the DObjectwill obtain the soil contact pressure at that location based on the penetration depth and penetration rate. The pressureacting on the DObject reference surface area produces the normal contact force.

DObjects have different methods of resolving soil contact loads. Point masses only query their center point location forsoil penetration. The reference area is that of a circle with the same radius as the point mass. A rigid body’s geometry isrepresented using a polygonal mesh. The penetration of mesh polygon area centroid is used to resolve the contact pressure.The reference area used to resolve the contact forces are the mesh polygon area. Cables have two methods available. Thefirst method uses the finite element node positions to query for penetration. The returned pressures are applied against anarea equal to the sum of half the element lengths lying on both sides of the node multiplied by its diameter. The secondmethod discretises the circumference of the cable at a finite element node and each discrete surface point is checked forsoil penetration. The reference area for resolving contact force is the circumferential arc length multiplied by the sum ofhalf the element lengths adjacent to the finite element node.

The example in Figure 3.2 shows a representative sea floor bathymetry. It is a 2D example, but the principles illustratedapply to 3D. A point mass lies directly within the projected area of polygon 3 (projects onto the X− Y plane) and thusthe shortest distance d between the infinite plane created by polygon 3 and the point mass is determined. If the queriedpoint is determined to lie under the polygon 3, the normal soil pressures σn are non-zero and are determined to be:

σn =

(Kd+ (C1 + C2d)upm · n)n if(Kd+ (C1 + C2d)upm · n) > 0

0 else(3.25)

33

Page 36: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 3. Environment ProteusDS 2015 Manual

Water Surface

Polygonal Sea

Polygon Normal

Y

Z

d

n1 n2 n3n4 n5 n6

Point Mass

fr

Floor Geometry

Figure 3.2: A representative, 2D, 6 polygon mesh, sea floor representation, showing the normal for each polygon as well asa point mass that has penetrated the floor geometry. The minimum translational distance to achieve separation betweenthe point mass and the sea floor d (in line with the polygon normal).

where K is the soil stiffness coefficient, d is the distance between an infinite plane co-planar with polygon 3 and the pointmass, C1 is the soil damping coefficient, C2 is the rate of change of the damping with respect to depth, n is the polygon3’s normal direction vector, and upm is the velocity of the point mass. This soil contact model is a modified version ofthe Hunt-Crossley contact model [9].

3.6.2 Tangential friction contact force

The friction force is modelled using a Karnopp style Coulomb friction model with a zero velocity dead-zone [10]. Agraphical representation of the behaviour of the friction model is shown in Figure 3.3. Friction forces are determinedsimilarly to the normal contact forces: when some point on a DObject is penetrating into the seabed and the relativevelocity between the point on the DObject and the soil is non-zero, then the friction shear stress τfric at the referencelocation is computed:

τfric =

µ|σn||vt|/vdzvt if |vt| < vdz

µ|σn|vt else(3.26)

where vt is the tangential velocity of the DObject reference point or in this case the point mass, vt is the unit vectorof the tangent velocity, vdz is the dead-zone velocity tolerance, and µ is the Coulomb friction coefficient. Sticking andviscous friction is neglected.

3.7 Best practices for creating bathymetry meshes

A wide variety of commercial and freely available meshing tools are available and it is assumed users have experiencewith these tools. This section provides guidelines for creating bathymetry and hydrodynamic meshes for reliable andaccurate simulation.

Bathymetry meshes are loaded by ProteusDS using an .obj file, which is a file format widely supported by many 3DCAD applications. Polygonal modelling CAD applications tend to be well suited for working with polygonal geometries.

34

Page 37: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 3. Environment ProteusDS 2015 Manual

vdz

µc|fn|

Velocity (ms )

Fri

ctio

nF

orce

(N)

Figure 3.3: The friction force as a function of relative tangential velocity for the dead-zone friction model.

There are numerous commercial and open source polygonal mesh modelling tools available. A few notable mesh modellingsoftware packages are:

• AutoDesk 3D Studio Max

• Lightwave

• Blender

• Wings3D

However, few CAD applications are natively polygonal modellers and those that are tend to not focus on engineeringapplications. Most non-polygonal modelling engineering CAD applications such as solid modelling or parametric modellingtools will convert their geometries to polygonal meshes during export, which is often an automatic process. The algorithmsused during these export processes often creates polygons poorly suited for use for simulation purposes. However, non-polygonal modelling packages can still be used to generate bathymetry meshes. Care is needed to ensure that the .objmesh produced is of good quality. A poor quality mesh could result in failure to detect collisions between objects and thesoil, an increase in simulation run time, destabilize simulations, or produce a poor quality visualization. The user shouldavoid creating meshes that have:

• normals whose Z component is pointing down (away from the sea surface for submerged meshes),

• strongly skewed, or high-aspect ratio polygons,

• holes or gaps in the connectivity or disconnected mesh groups,

• degenerate polygons,

• large variations in polygon surface area.

An important side-effect in requiring all bathymetry mesh polygons’ normals facing upwards is that ProteusDS cannotsupport bathymetry meshes with over-hangs, caves, or other topologies where any polygon, when projected to the XYplane, overlaps another polygon in the mesh.

An example of a well conditioned mesh is shown in Figure 3.4. In that figure, all of the polygons have a low aspectratio, similar polygonal areas, no strongly skewed polygons, no degenerate polygons, and all of the polygon normal arepointing up (indicated by light blue lines coming from the polygon centers). A degenerate polygon is a polygon with:

• less than three vertices or more than four,

• vertices that are not co-planar,

• a vertex that causes concavity,

35

Page 38: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 3. Environment ProteusDS 2015 Manual

• coincident vertices.

Figure 3.4: A well conditioned bathymetry mesh: the mesh has polygon normals pointing up toward the sea surface, lowaspect ratios polygons, no degeneracies, and no gaps in the connectivity.

Degenerate polygon cases are generally checked during loading, and if found, will be ignored. However, in some cases,this removal process may create a hole in the mesh so a warning is issued with the Cartesian coordinates and the polygonID of any degenerate polygons to help locate and repair the poorly constructed mesh.

Some mesh irregularities can not be ignored. In those cases, it is often best to repair the mesh manually. What followsare several common steps that can be taken to review mesh quality. Only general techniques used are discussed and notspecific commands for particular CAD/polygonal modelling applications.

Degenerate polygons can often be addressed by merging (sometimes called ’welding’) coincident verticies in a polygonalmodelling package. Alternatively, some packages will provide an option to extract or remove polygons with surface areasbelow a user-specified threshold, and because most degenerate polygons have areas approaching 0, setting an appropriatelylow threshold value will often suffice.

Highly skewed polygons, polygons with excessive surface areas relative to other polygons in the mesh, or polygons withexcessive aspect ratios are undesirable. Remeshing or subdividing the offending polygons is often useful in these cases.

Holes or gaps in the bathymetry mesh are tolerated in simulation. However, the user must take special care to avoidallowing DObjects from coming in close proximity to these holes. It is left to user judgement whether these holes (perhapscaused by missing data) should be filled in or avoided.

Non-planar polygons can sometimes occur in polygons comprised of more than 3 points. The most common situationoccurs when a polygonal modelling application creates a non-planar quadrilateral polygon (4-points) and does not explicitlysubdivide it. In these cases, non-planar polygons must be subdivided or remeshed.

Concave polygons are completely unsupported. In the event that concave polygons are produced as the result of apolygonal mesh generation tool, those polygons must be further subdivided (or the mesh regenerated) prior to use inProteusDS.

Finally, polygons whose normals are pointing down (+Z) must have their normals flipped prior to use in ProteusDS.Failure to do so can result in DObjects failing to detect collisions with the bathymetry mesh.

If the only bathymetry data available is in the form of a point cloud (with no polygonal connectivity information), asoftware called MeshLab has been used successfully in the past by DSA to produce polygonal meshes from point clouddata. However, this technique requires that the user ensure the final mesh be cleaned up in a polygonal modeller.

36

Page 39: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 3. Environment ProteusDS 2015 Manual

3.8 Example input file

Listing 3.1 provides the default environment input file that can be used in a simulation. It demonstrates the specificationof air, water, wind, wave, current, and soil properties as mentioned in the description of the environment.

Listing 3.1: Sample environment (env.ini) input file // Air

$AirDensity 1.29

$AirKinematicViscosity 1.568E-05

// Current

$CurrentProfile 0

// Seabed

$WaterDepth 1000

$CustomBathymetry 0

$SoilProperties defaultSoilProperties

$UseMultipleSoilLayers 0

// Water

$WaterDensity 1025

$WaterKinematicViscosity 1.8E-06

// Wave

$WaveType 0

$TRamp 1

37

Page 40: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 4. Cables ProteusDS 2015 Manual

Chapter 4. Cables

A cable can be used to model anything from a thread to a beam or steel pipe. The finite-element cable model isdiscretized into a finite number of elements by finite-element nodes. A cable can have elements with different properties.A group (typically 1 or more) of consecutive elements with the same mechanical and hydrodynamic properties are termeda cable segment. For example, in Figure 4.1, cable segment segment0, could be rope, segment1 could be chain, andsegment2 could be wire rope. In the input file, you will define the targeted cable segment length. The ProteusDS solverinterprets this when you a run a simulation and applies these properties to the cable elements that are defined.

Element 1

Node 0

Node N

Node 1

Element 2

Element N

Node N-1

Cable Segment: segment0

Cable Segment: segment1

Cable Segment: segment2

Figure 4.1: Cable terminology

In PST, the cable initial state (initial node positions and velocities) can be automatically generated. A basic cable is acable in either a straight line or a catenary curve. A polar cable is a cable that is connected to itself. Alternatively, customnode points can be specified.

Cables can be connected to other DObjects in the simulation to create complex configurations. Extra point loads and

38

Page 41: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 4. Cables ProteusDS 2015 Manual

lump masses can be applied to represent floats or other hardware along the span of a cable.

4.1 Overview of the finite-element cable model

ProteusDS features a cubic-spline lumped mass cable model. The finite-element model is described in detail in [11, 12].The cable model has been applied to simulate:

• moorings

• risers and umbilicals

• ROV umbilicals

• synthetic ropes

• chains

• structural beams

The benefits of the finite-element cable model used within ProteusDS are:

• the application of a cubic finite element allows more accurate results with longer element lengths than typical linearelements. This element choice allows element length increases of up to 50% over standard linear element methods[11];

• the use of larger elements for a given cable can lead to substantial execution speed increases through larger allowablenumerical time steps and fewer calculations per cable

• the use of a cubic spline to assist in cable dynamics evaluation significantly reduces the number of state variablesneeded to represent the line geometry, which increases simulation execution speed;

• including torsional and bending parameters allows accurate resolution of slack line and snap load events; and

• torsional mass inertia of the line itself is neglected and an instantaneous twist response results, which mitigateshigh frequency torsional dynamics noise from inducing small numerical integration time steps and slowing executionspeed.

4.1.1 Key parameters

To use the cable model within ProteusDS, the principle cable properties that need to be identified through experimentor extrapolated from manufacturer data sheets are:

• EI (Nm2) bending or flexural rigidity

• GJ (Nm2) torsional rigidity

• EA (N) axial rigidity

For synthetic lines and chains, the bending and torsional rigidities are often negligible and axial data can be readilyobtained. However, for simulations involving wire rope or armored communications cables in low tension situations, bendingand torsional effects can be significant and should be calculated or measured.

4.2 Finite-element cable model formulation

Consider the schematic in Figure 4.2, in which a low tension cable is connected between a crane and a generic payload.The cable path in space can be defined in terms of Cartesian coordinates, r(s), at some arc distance s along the span of

39

Page 42: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 4. Cables ProteusDS 2015 Manual

Figure 4.2: Schematic of a slack cable model developed in terms of a frame attached to the cable cross section and Frenetframe

the cable. The cable is discretized into N lumped mass nodes. A Frenet frame is defined at each node with the tangentialvector t aligned to the cable and a normal direction n that points to the center of curvature. The binormal vector bcompletes the local Frenet coordinate system. To determine the elastic torsion, a second local frame is defined that isfixed to the cable’s cross-section: (q, p1, p2). It is separated from the Frenet frame by an angle of twist, α.

The element state is defined by the node positions r(i) in terms of the global coordinate frame, as shown in Figure 4.3.The curvature values, which are needed to calculate flexural response, are determined by fitting a cubic spline throughthe node points. The cubic spline kinematically enforces continuity of slope across the span of the cable as a function ofnode positions. The time evolution of the cable state is found by determining the nodal linear accelerations from Newton’ssecond law; a numerical integration algorithm is used to evolve the resulting node positions through time.

The internal reaction forces required for Newton’s second law are found by considering a differential segment of cable.Internal reaction forces due to bending (κ), axial (ε), and torsion (τ) strains can be resolved with assistance of the Frenetframe after some manipulation as detailed in [11].

The cubic spline curvatures at the node points are used to establish bending strain. Axial element strains are calculatedfrom Green’s first order approximation to actual strain, which is a function of the straight-line distance between nodes,curvature at the nodes, and unstretched element lengths. Torsional deformations are quantified with the knowledge of theFrenet frame torsion and the assumption of negligible torsional inertia that provides a method to calculate the separationbetween mechanical frame and Frenet frame (by angle α) at the node points. Applying the Galerkin criterion transforms

40

Page 43: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 4. Cables ProteusDS 2015 Manual

Figure 4.3: A single cable element with the distributed gravitational and hydrodynamic forces w and h, respectively.

the continuous equations for internal reaction and externally applied distributed forces into a discrete form that can beimplemented numerically in a straightforward manner using linear algebra.

Before the Galerkin criterion can be applied, a trial solution to the system, which incorporates the shape functionsthat blend the discrete node values of the mesh into a continuum, must be selected. The trial solution for the continuouscable position, r(s), uses cubic shape functions and the positions and curvatures of the node points at the boundary ofthe element:

r(s) = r(0)φ1,1 + r′′(0)φ1,2 + r(1)φ1,3 + r′′(1)φ1,4 (4.1)

where the first element has four shape functions, φi,j , j = 1, 2, 3, 4, i = 1, 2, · · ·N :

φ1,1 =s(1) − sL

(1)u

φ1,2 =1

6

(φ3

1,1 − φ1,1

)(L(1)

u )2

φ1,3 =s− s(0)

L(1)u

φ1,4 =1

6

(φ3

1,3 − φ1,3

)(L(1)

u )2

Note the first subscript indicates the element number. The equation for an element produced from using these shapefunctions in conjunction with the Galerkin criterion produces the discrete cable element dynamics equations:

41

Page 44: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 4. Cables ProteusDS 2015 Manual

(Kε + Kκ + Kτ ) X + W + H = MCX (4.2)

where X is the assembly of node positions r(i) and curvatures r′′(i). The first element is bounded by nodes i = 0, 1,which results in a length 12 vector:

X = r(0)T r′′(0)T r(1)T r′′(1)T T (4.3)

The length 12 force vector W is combined weight and buoyancy and H is hydrodynamic load in terms of the globalreference frame. MC is the 12×12 consistent element mass matrix. Kε, Kκ and Kτ are the axial, bending, and torsionalstiffness 12× 12 matrices.

In order to simplify the system of equations for computational and model efficiency, a lumped mass assumption ismade. A direct result of lumping the mass at the element nodes is that no curvature inertia is available to couple forces tocurvature accelerations; these terms are dropped from equation 4.2 to form the reduced cable element dynamics equation:

(Kε G + Kκ G + Kτ G) r(0)T r′′(0)T r(1)T r′′(1)T T + WG + HG = MGRG (4.4)

where the length 6 force vector WG is combined weight and buoyancy and HG is hydrodynamic load in terms of theglobal reference frame. Finally, Kε G, Kκ G and Kτ G are the axial, bending, and torsional stiffness 6 × 12 matrices.Finally, as the curvatures are a function of node positions via the cubic spline, the reduced cable state can be written interms of node positions:

RG = r(0)T r(1)T T (4.5)

The kinematic curvature information is provided by fitting a cubic spline through the cable node points. The cubicspline equations, which are solely a function of the node positions and termination type (clamped or pinned), enforcecontinuous slope and curvature across the concatenated system of elements that form the entire cable. The lumped massmodel has substantially reduced computational overhead as the cable state vector is reduced by half. In addition, theblock-diagonal nature of the lumped mass matrix means that 3× 3 systems of equations are solved simultaneously insteadof the minimum block diagonal 12× 12 with the consistent mass matrix.

Hydrodynamic loading on the cable is resolved with the use of a hydrodynamic frame attached to the cable. Thisfacilitates resolving the components of the fluid velocity and acceleration normal and tangential to the element. Hydro-dynamic loading is assumed to vary linearly along the span of the cable with the distributed load evaluated at the nodepoints in the form of a Morison load. An ExtMass that is applied to a cable will resolve forces in the same manner as thepoint mass model. However, the resulting forces from the point mass are distributed on adjacent nodes according to thelinear component of the element shape functions.

As mentioned previously, the total mechanical torsion, τ , is found from the Frenet frame torsion, γ, which is a directfunction of node positions, and with assumption of negligible torsional inertia that guarantees a uniform mechanicaltorsional deformation along the entire cable length at any point in time. The mechanical torsion of the element is afunction of the Frenet frame torsion and the angle between the mechanical frame and Frenet frame, α:

42

Page 45: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 4. Cables ProteusDS 2015 Manual

τ = γ +dα

ds(4.6)

With the assumption of negligible element torsional inertia, the resulting torsion deformation of the entire cable mustbe uniform:

d (GJτ)

ds= 0 (4.7)

The resulting discrete equations produced from applying the Galerkin criterion are:

GJLGαG = GJ∆γG (4.8)

where LG is a tridiagonal matrix based on the element lengths, γG is a vector of Frenet frame torsions measured atthe node points, and αG is the vector of torsional deformation from the Frenet frame to the mechanical cable frame.Since the torsion of the Frenet frame is a known function of the cable node positions, solving the set of equations forαG produces the total mechanical torsion of the cable at any instance in time. Note that the matrix LG is singular andrequires boundary α values to be specified for the system of equations to be solved. This is a physical consequence fromassuming negligible torsional inertia: if either or both ends of the cable are torsionally unconstrained, an infinite numberof solutions exist for the cable torsion for any applied torques. As such, once boundary α values are obtained, the systemtorsion can be resolved from equation ref eq.torsion.

In the model implemented, torsion evolves through constraining the boundary mechanical frames, either via controlleror by a rigid body connection, which is a kinematic constraint that indirectly specifies the boundary α values. However,resolving the boundary α values is complicated by the fact that the Frenet frame torsion, while a function of the geometryof the cable, particularly the normal direction, is not defined in areas of no curvature or at inflection points. Note that aninflection point is a point on the cable where the curvature vector changes direction by 180 degrees. The α value at thefirst node of the cable, α0, is quantified from the angular separation about the tangent between the Frenet frame and thekinematically specified mechanical frame. If no curvature exists at that boundary (i.e. below a discrete threshold), thebinormal of the Frenet frame at the nearest downstream point that has nonzero curvature is used at the boundary withoutloss of generality. If the cable is completely straight, no Frenet frame can be defined and the boundary α value is zero;this effectively constrains the Frenet frame to the mechanical frame at node 0. Next, the α value at the other end of thecable, at the node N boundary, must be quantified. to the mechanical frame at node 0. Next, the α value at the otherend of the cable, at the node N boundary, must be quantified.

However, quantifying boundary α values must take in to account the effects of temporally evolving inflection points.Inflection points that exist along the span of the cable can introduce a maximum spatially instantaneous Frenet framerotation of π radians and can evolve naturally through the course of almost any simulation. Since a discrete curvaturetolerance is used to indicate a straight tether, an instantaneous Frenet frame torsion could occur on the next dynamicsevaluation and cause difficulties with numerical integration and introduce artificial torsion impulses.

An example of how such inflections can introduce an artificial torsion load is with a planar cable with identicallyorientated mechanical frames at the boundaries, with one inflection point. The Frenet frame torsion of π occurs at theinflection point, resulting in a flip of the Frenet normal and binormal direction. Quantifying the αN value in an analogousmanner to α0 for this case would lead to αN = π despite the fact that the tether profile is planar and no mechanical twisthas been induced by boundary mechanical frame movement. Without compensating for the presence of inflection points,artificial mechanical torsions will result when the discrete equations 4.8 are resolved. Inflection points that temporallyevolve are successfully compensated for with the use of past twist information.

43

Page 46: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 4. Cables ProteusDS 2015 Manual

Figure 4.4: a) Before temporal inflection: curvature and Frenet frame are well defined everywhere. b) After temporalinflection: inflection between nodes 3 and 4 introduces a Frenet frame twist of π radians and must be compensated for intorsion calculations. Note that the difference between states a) and b) can be merely one dynamics evaluation.

Before quantifying αN , the influence of any inflection point at node 0 is compensated for by simply quantifyingbenchmark values for α0 that are offset by increments of π; the new α0 value selected has a minimum difference betweenthe last physical time step value. Note that since only the spatial gradient of α is needed to quantify total torsion inequations 4.8, applying a compensating offset value in multiples of π will not affect the mechanical torsion calculated.

With the consistent α0 value quantified, αN is computed in a similar manner with a slight variation. The value ofαN must be consistent with α0 and the past mechanical twist state such that there is no extreme discontinuity in twistinduced by new temporally introduced inflection points. The initial estimate of αN is simply the value of α0 plus thespatial integral over the span of the cable of the past mechanical twist of each element (uniform) with the present Frenetframe torsion. This produces an estimate of what αN should be, α∗N , that incorporates the offset value introduced bya possible inflection at the first node, the expected position due to past (last physical time step) twist state, and thebehavior of the Frenet frame along the span of the cable. As with α0, the initial estimate of αN is produced from theangle between the Frenet frame and mechanical frame axis at node N. The initial value of αN is offset by increments ofπ such that the difference between αN and the estimate α∗N is minimized within a tolerance of π

2 .

In the planar cable example mentioned previously, this algorithm detects the instantaneous increase by π due to thetemporally evolved inflection and removes the effect from the boundary α estimate. This is a requirement to handle themany inflections that evolve and dissipate through a numerical simulation, especially in low tension events. With theboundary α values computed, the mechanical torsion is quantified and used in the torsion stiffness matrices to computethe resulting force on the cable nodes.

4.3 Hydrodynamics

Hydrodynamic loading on the cables is based on a Morison approach. The hydrodynamic effects from relative movementin the water column are presented.

44

Page 47: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 4. Cables ProteusDS 2015 Manual

4.3.1 Hydrodynamic drag

Hydrodynamic drag per unit length is resolved at each node i in the finite element mesh. The total relative velocityat each node is resolved and expressed in terms of a local frame that resolves the normal, vx and vy, and tangential, vz,components of the relative velocity as follows:

h = −1

2ρdfR

iIH

CDcfpvx

√v2x + v2

y

CDcfpvy√v2x + v2

y

CDtfqvz|vz|

(4.9)

where h is the hydrodynamic drag per unit length, ρ is the reference density, df is the fluid diameter, CDc is the normaldrag coefficient, CDt is the tangential drag coefficient, Ri

IH is the matrix that resolves the hydrodynamic load in termsof the global reference frame from the local body fixed reference frame, and fp and fq are hydrodynamic load coefficientsthat are a function of the angle α between the normal and tangential relative velocity components:

fp = 0.5− 0.1cos(α) + 0.1sin(α)− 0.4cos(2α)− 0.11sin(2α) (4.10)

fq = 2.008− 0.3858α+ 1.9159α2 − 4.1615α3 + 3.5064α4 − 1.1873α5 (4.11)

where α is defined as:

α = arcsin

( √(v2x + v2

y)√(v2x + v2

y + v2z)

)(4.12)

Hydrodynamic drag per unit length is assumed to vary linearly across the elements and the Galerkin criterion is usedto resolve the equivalent discrete forces that are applied at the nodes to drive the numerical model.

Note that the reference density and fluid velocity from which the relative velocity is computed may use water or airproperties depending on if the cable element node is above or below the water level.

4.3.2 Added mass

The added mass is a function of the orientation of the cable and the added mass coefficient, CAc:

MAG =1

4πρd2

bCAcRiIH

1 0 00 1 00 0 0

RTIH (4.13)

where db is the buoyancy diameter. This resolves the effect of added mass using the body fixed hydrodynamic frameand expresses the resulting matrix in terms of the global reference frame. It is assumed that tangential added mass isnegligible. The added mass of each element is lumped in with the physical mass before resolving the acceleration as afunction of all other external and internal loads. Note that the reference density may be of air or water depending on ifthe element is in the water or air.

45

Page 48: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 4. Cables ProteusDS 2015 Manual

4.4 Von Mises stress

This section discusses how the Von Mises stress is determined for the Cable model. Section 4.4.0.1 describes howprinciple stresses are determined and how they are used to obtain the Von Mises stress, Section 4.4.0.2 discusses theinternal forces acting on a Cable element and Section 4.4.0.3 describes the stresses in a differential element of a Cable incylindrical coordinates.

4.4.0.1 The principle stresses

X

Y

Z

σXX

σY Y

σZZσXY

σXZσZX

σZY

σY X

σY Z

Figure 4.5: The stress components for a differential element at a single point in a strained body

Using a free-body diagram to describe the stress at a point on a body as indicated in Figure 4.5, the 3D internalstresses about all three directions can be defined. The nine stress components are generally expressed as a stress tensor:

σ =

σXX σXY σXZσY X σY Y σY ZσZX σZY σZZ

(4.14)

The Von Mises stress accounts for the interactions of all stress components and is often used as a measure of whenyield occurs. To calculate the Von Mises stress, first the principle stresses are obtained by obtaining the Eigen values ofthe stress tensor: σ1, σ2 and σ3. The principle stresses form a stress tensor whose coordinate frame is rotated in such away that there is no shear stress in that frame. The Von Mises stress itself is described as:

σVM =

√(σ1 − σ2)2 + (σ2 − σ3)2 + (σ1 − σ3)2

2(4.15)

46

Page 49: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 4. Cables ProteusDS 2015 Manual

4.4.0.2 The internal forces of a cable or pipeline

The internal forces and moments that act on a Cable, and define the stresses, are described with respect to the Frenetframe as shown in Figure 4.6. The forces that act on a Cable element are the tensile force ft, the bending momentMB , the torsional moment MT and the shear forces from torsion and bending, fTs and fBs respectively. These forces aredetermined using the Cable element’s strain, the tensile force is

ft = EAεz, (4.16)

the bending moment is

MB = EId2r

ds2= EIκb, (4.17)

and the torsional moment is

MT = GJτ z, (4.18)

where E is Young’s modulus, A is the cross-sectional area, I is the area moment of inertia, ε is the axial strain, κ is thecurvature, J polar area moment of inertia, G is the shear modulus, and τ is torsional strain.

If the Cable element has non zero curvature, there will be a shear force appearing from r′′ from both torsion andbending, they are:

fTs = GJτκb (4.19)

and

fBs =dMB

ds= −(EIκn)′ = −EIκ′n− EIκ(κt + τ b) (4.20)

respectively.

ft

MT

n

b

n

bMB

MBMT

fBs

fTs

t

Figure 4.6: A Cable element’s Frenet frames, and the forces that can act on it to produce stress/strain.

47

Page 50: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 4. Cables ProteusDS 2015 Manual

r

θ

Z

σrr

σθθ

σZZσrθ

σrZσZr

σZθ

σθr

σθZ

Figure 4.7: The stress components for a differential element at a single point in a strained body described using a cylindricalcoordinate frame.

4.4.0.3 The stresses in a cable or pipeline

The stress in a cable is calculated using a cylindrical coordinate system as in Figure 4.8. The stresses at a point in thecable is described about three perpendicular directions: r,θ and z. The stresses in the cable, sampled at a radial distanceof r from the center of the cable and an angle θ from the n axis (see Figure 4.7) are defined as:

σzz =ftA

+MBrsin(θ)

Ib+

fBs · tA

(4.21)

σzθ =MT r

J+fTscos(θ)

A+

fBs · bsin(θ)

A(4.22)

σzr =fTsAcross

sin(θ) + fBs · ncos(θ) (4.23)

σrr =Pir

2i − Por2

o + (Pi − Po) r2i ro

2

r2

r2o − r2

i

(4.24)

σθθ =Pir

2i − Por2

o − (Pi − Po) r2i r

2o

r2

r2o − r2

i

(4.25)

where ri is the inner radius of the cable, ro is the outer radius of the cable, Pi is the absolute internal pressure of the cableand Po is the outer pressure of the cable. The external pressure Po is the fluid pressure acting on the external surfaceof the pipeline, the internal pressure Pi is defined using a known constant reference pressure at some location along thecable. The internal pressure varies along the cable from the reference pressure based on the elevation difference betweenthe reference pressure point and the point on the cable the pressure is sampled using Bernoulli’s principle, internal fluiddensity and gravitational acceleration.

48

Page 51: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 4. Cables ProteusDS 2015 Manual

The stress tensor, in cylindrical coordinates, is then defined as:

σ =

σrr σrθ σrzσθr σθθ σθzσzr σzθ σzz

. (4.26)

This is the stress tensor used to determine the principle stresses as well as the Von Mises stress in a cable or pipeline.Though ProteusDS does not ignore shear stress, in most cable and pipeline cases, shear stresses are negligible and cansafely be ignored. By ignoring all shear stresses, σrr,σθθ and σzz can be considered the principle stresses and used directlyto evaluate the Von Mises stress as in Equation 4.15.

zr

θ

Figure 4.8: A cylindrical coordinate system for a point on the surface of a cylinder.

4.5 Guidance on specifying cable properties

These suggestions are collected from experience and sources in the literature. These are useful for early stage designand some care must be taken to ensure the properties and methodologies used to compute them are applicable to thespecific materials actually used in practice.

4.5.1 Mass and buoyancy properties

ProteusDS uses the $Diameter, $BuoyancyDiameter1, and $Density properties in the DCableSegment feature to set theway the finite-element cable model determines mass and buoyancy. The following sections provide guidance on specifyingthese cable properties to ensure that mass and buoyancy effects are properly modeled. Table 4.1 gives a list of symbolsthat will be used in these sections.

The nominal cable diameter, dc, is set with the $Diameter property. In the case where the $FluidDiameter is notspecified, the nominal cable diameter is used to compute the hydrodynamic drag.

The effective cable density, ρ, is set with the $Density property. It is used to specify mass of the cable using thenominal diameter. Knowing the mass per unit length of a cable, density is calculated as:

ρ =4Ml

πd2c

(4.27)

The $Density and $Diameter property can always be used to check the dry mass per unit length of the cable.

The optional $BuoyancyDiameter parameter, db, can be used to change the distributed buoyancy and added massforce that is applied to the cable finite-element model. If the $BuoyancyDiameter parameter is not included in theDCableSegment feature definition, the buoyancy load is calculated based on $Diameter2.

1$BuoyancyDiameter is unique in this list of cable properties as it is an optional parameter.

2When $BuoyancyDiameter parameter is specified, the buoyancy force per unit length is calculated as Bl =ρwgπd

2b

4. When the $Buoyan-

cyDiameter parameter is not specified, the buoyancy force per unit length of cable is calculated in ProteusDS as, Bl =ρwgπd

2c

4

49

Page 52: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 4. Cables ProteusDS 2015 Manual

Symbol DCableSegment Property Units Description

dc $Diameter m Nominal diameter used for drag/added mass calculations inProteusDS

db $BuoyancyDiameter m Diameter used for buoyancy calculations in ProteusDS (optional)

df $FluidDiameter m Diameter used for drag calculations in ProteusDS (optional)

ρ $Density kg/m3 Effective cable density used to calculate mass per unit length inProteusDS

Ml - kg/m Mass per unit length

Mw - kg/m Apparent mass per unit length in water (may be salt or fresh)

Wl - N/m Weight per unit length in air; Wl = Ml · gWw - N/m Weight per unit length in water (may be salt or fresh);

Ww = Mw · gρw - kg/m3 Density of water (may be salt or fresh)

SGcm - - Cable/rope material specific gravity (ratio of material density tofresh water density)

ρcm - kg/m3 Cable/rope material density

g - N/kg Gravitational constant

Bl - N/m Buoyancy force per unit length

Table 4.1: Cable mass, diameter, and buoyancy properties and symbol definitions

4.5.1.1 Computed from mass in air and weight in water

Many line types that you may model with the finite-element cable model in ProteusDS (e.g. flexible risers, wire rope,fiber rope) do not have constant diameter along their length or may absorb water. Thus manufacturers often providemechanical properties in terms of their mass per unit length in air, apparent mass per unit length in water (or weight inwater) and a nominal diameter.

The $Diameter is set based on the nominal cable/rope diameter; this diameter is used for drag and added masscalculations.

The $Density of the cable is set according to Equation 4.27.

The $BuoyancyDiameter can be specified to correct the apparent mass per unit length in water as well as the cable’sadded mass and should be calculated according to:

db =

√4(Ml −Mw)

πρw(4.28)

4.5.1.2 Computed from rope material SG and mass in air

The mass properties of fiber ropes are often reported as in terms of the specific gravity of the rope material (or thematerial density), the nominal diameter, and the mass per unit length in air.

The $Diameter is set based on the nominal cable/rope diameter; this diameter is used for drag and added masscalculations.

The $Density of the cable is set according to Equation 4.27.

The $BuoyancyDiameter property is calculated using the SGcm3.

3If density of the rope material is specified, SGcm = ρcm/1000

50

Page 53: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 4. Cables ProteusDS 2015 Manual

db =

√4Ml

π · 1000 · SGcm(4.29)

4.5.1.3 Chain

To simulate chain with material density ρcm, $Diameter is calculated as:

dc =

√4Ml

ρcmπ(4.30)

The $Density of the cable is the chain material density ρ = ρcm.

The $BuoyancyDiameter property should not be specified.

4.5.2 Axial stiffness

The axial stiffness (or axial rigidity) of a cable element is specified by the $EA parameter in ProteusDS. The followingsection reviews guidelines for selecting this value.

4.5.2.1 Chain

Chain nominal diameter is specified as shown in Figures 4.9 and 4.10.

dc nominal chain diameter

Figure 4.9: Nominal diameter of studless chain

Chain is commonly constructed from steel classified by specified minimum ultimate tensile strength into several gradessuch as R3, R4, and R5. For preliminary design the effective elastic modulus applied in the mooring analysis may be takenas4:

• Stud chain R3/R4/R5: E >= 5.6 ∗ 1010N/m2

• Studless chain R3: E = (5.40− 0.0040 ∗ dc) ∗ 1010N/m2

4Data presented is adopted from the literature [13].

51

Page 54: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 4. Cables ProteusDS 2015 Manual

dc nominal chain diameter

Figure 4.10: Nominal diameter of studded chain

• Studless chain R4: E = (5.45− 0.0025 ∗ dc) ∗ 1010N/m2

• Studless chain R5: E = (6.00− 0.0033 ∗ dc) ∗ 1010N/m2

where dc is the nominal chain size (diameter) in mm for use in this equation.

To calculate the axial rigidity of stiffness ($EA) of chain, A is calculated as:

A = 2πd2c/4 (4.31)

where dc is the nominal chain size (diameter) in m for use in this equation.

4.5.2.2 Wire rope

For preliminary design the effective elastic modulus E applied in the mooring analysis may be taken as5:

• Stranded rope: E = 7.0 ∗ 1010N/m2

• Spiral rope: E = 1.13 ∗ 1010N/m2

To calculate the axial rigidity ($EA) of wire rope, A is calculated using the nominal rope diameter d:

A = πd2/4 (4.32)

4.5.2.3 From percent elongation

Often the axial elasticity of a rope is given in terms of its percent elongation at a given load, as shown in Figure 4.11.The axial stiffness is the slope of a load verses strain plot, as shown in Figure 4.12. This information can be used todetermine the axial stiffness EA (in N) at different working load ranges using:

EA =100Fζζ

(4.33)

5Data presented is adopted from the literature [13].

52

Page 55: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 4. Cables ProteusDS 2015 Manual

where ζ is the percent elongation at an applied load of Fζ (in N). In these cases, an intermediate area (A) shouldnot be calculated; EA should be treated as a bulk property. Sensitivity analysis should be done to determine theaffect of picking a given EA value. For example, using Figure 4.11, if the average strength of a rope is 1000N , EAat a working load in the cable at around 40% of the stregnth of the rope, calculated using Equation 4.33, would be:EA = 100 ∗ (0.4 ∗ 1000)/6 = 6.7× 104 N .

Figure 4.11: Example of percent elongation information for a polyester rope (source: http://www.cortlandcompany.com/products/synthetic-rope-and-strength-members/offshore-working-lifting-lines)

F

ε

EA

1

Figure 4.12: Relationship between applied axial load (F ), axial strain (ε = ∆LL ), and axial rigidity (EA), where L is a

unit length of the specimen under axial load.

4.5.3 Bending and torsional stiffness

Bending and torsional stiffness (EI and GJ) is often negligible for many applications. Fiber rope and chain often havevery low bending stiffness at low tensions, and may often be assumed to be zero.

For wire rope, pipes, risers, umbilicals or other cable types for which a manufacturer has not provided bending ortorsional stiffness data explicitly, these may approximated. For a circular cross-section with outer diameter d, the areamoment of inertia is:

I =π

64d4 (4.34)

and polar area moment of inertia of:

J =π

32d4 (4.35)

A pipe with inner diameter di (i.e. a hollow circular area) has an area moment of inertia of:

53

Page 56: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 4. Cables ProteusDS 2015 Manual

I =π

64(d4 − d4

i ) (4.36)

and a polar moment area of inertia of:

J =π

32(d4 − d4

i ) (4.37)

The shear modulus G of a material is likely to not be available, however one assumption that can be made is to use ashear modulus that is 50% of the elastic modulus, which for isotropic homogenous materials is generally true (G = E/3to G = E/2). For a circular cross section and G = E/2 this usually leads to GJ having the same magnitude as EI. Asalways, sensitivity analysis should be done to determine the affect of picking a given EI and GJ value when approximationsof these properties are being made.

4.5.4 Coefficients of added mass and drag

Data presented is adopted from the literature [4].

4.5.4.1 Added mass

Ropes, umbilicals, cables, and chain can be represented as long cylinders with an added mass coefficient ($CAc) of 1.0.In ProteusDS, the added mass is calculated with the $BuoyancyDiameter parameter. If this parameter is not specified,the added mass is calculated with the $Diameter parameter.

4.5.4.2 Drag

For cables and chains with Reynolds numbers within 104 − 107 the coefficients of drag ($CDc) can typically be in theranges provided below:

• Wire, six strand: CDc = 1.5 − 1.8

• Wire, spiral no sheating: CDc = 1.4 − 1.6

• Wire, spiral with sheating: CDc = 1.0 − 1.2

• Chain, stud (relative chain diameter): CDc = 2.2 − 2.6

• Chain studless (relative chain diameter): CDc = 2.0 − 2.4

For chain, tangential component of drag can be significant, and therefore requires a corresponding tangential dragcoefficient ($CDt), as provided below:

• Chain, stud (relative chain diameter): CDt = 1.4

• Chain studless (relative chain diameter): CDt = 1.15

In ProteusDS, the drag force is calculated using the $FluidDiameter parameter. If this parameter is not specified, drag forcesare calculated with the $Diameter value. The drag coefficients for chain are based on its nominal diameter. Therefore,the nominal chain diameter should be set to the $FluidDiameter parameter to avoid the incorrect use of $Diameter in thedrag force calculations.

54

Page 57: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 4. Cables ProteusDS 2015 Manual

4.6 Initial Conditions

The state of a cable is described by the nodal positions and velocities. Additional parameters needed to define thestate of the cable are the unstretched lengths between cable nodes. The state of a cable is comprised of a state sectionand a lengths section. The form of the *.dat file is reviewed in Section A.3.4.

55

Page 58: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 5. Rigid Bodies ProteusDS 2015 Manual

Chapter 5. Rigid Bodies

The RigidBody DObject represents an inelastic structure with 6 degrees of motion freedom. It can respond to envi-ronmental loading from current, wave, wind, soil, as well as other DObjects. Environmental forces are imparted to theRigidBody through the use of any number of various load features. Features are used to decompose a Rigidbody’s complexgeometry and hydrodynamics properties into primitive shapes with known hydrodynamics properties. For example, theRigidbody shown in Figure 5.1 can be represented using 4 individual cylindrical features and one box shaped feature.Because the drag and added mass coefficients for simple shapes are readily available from literature, it is convenient todecompose a complex geometry into simpler features whose properties are known. Then the environmental forces actingon each feature can be computed individually with aggregate forces and moments used for the computation of its resultingacceleration.

Figure 5.1: A sample rigid body showing geometric features that can be decomposed into 5 geometric primitives: 4cylinders and 1 box.

ProteusDS supports several methods of defining features: the cylinder feature and the mesh feature. For the meshfeature, a custom simple geometric shape can be defined using a polygonal mesh file created and supplied by the user.Hydrodynamic forces are integrated, or summed up, over the surface of the polygonal mesh. Some best practices oncreating polygonal meshes for hydrodynamics modelling can be found in Section 5.3.1.6. For modelling of a cylindricalfeature, the cylinder feature provides a computationally efficient method of computing the environmental forces acting onit without using a mesh. Similar results can be obtained by using a mesh feature with a cylindrical geometry. However,mesh features tend to be computationally expensive. The built in cylinder feature has a $VBuoy switch in its initializationfile which enables a variable buoyancy calculation for partial submergence. This method uses an auto-generated polygonalmesh to compute the buoyancy force only. Regardless of the state of $VBuoy, if the cylinder feature is submerged past

56

Page 59: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 5. Rigid Bodies ProteusDS 2015 Manual

some auto-determined threshold, polygonal mesh surface integration of the buoyancy force is bypassed and the buoyancyforce is instead computed using the known cylinder volume.

ProteusDS supports the following polygonal mesh formats:

.3DS - A binary file format commonly supported by 3D engineering packages. Supports only triangular meshes.

.OBJ - An ASCII file format supported by many modeling packages. Supports quad and triangle meshes. Requires avalid .MTL material file to be used with PostPDS.

5.1 Rigid body dynamics

ProteusDS features a 6 degree of freedom rigid body model to simulate solid objects with distributed mass. The rigidbody model has 6 degrees of freedom, 3 for linear motion and 3 for angular motion. The equations that govern themotion of the Rigid Body are presented in Section 5.1. The Rigid Body model can be attached to cables or net whichare kinematically constrained by the rigid body and impart forces to it, see Section 5.2. The hydrodynamic forces can bemodelled for the rigid body by building up the geometry from simple geometric features like boxes, spheres or cylindersor it can be modelled using a custom polyhedral mesh (closed polygon mesh). The hydrodynamics model is based on theMorison equation and is described in Section 5.3.

A rigid body responds to forces according to the Newton-Euler equations of motion. The Newton-Euler equations ofmotion state that the relationship between the acceleration of the center of gravity of a 6 degree of freedom (DOF) rigidbody and a force applied to it is:

GF =G MGacg (5.1)

where GF is a 6 DOF spatial vector that contains the three linear and three angular force components Gfx,G fy,G fz,-Gτx,

G τy,G τz and Gacg is the spatial acceleration vector that includes the three linear and three angular acceleration

components Gax,G ay,G az,G αx,G αy,G αz. The inertia matrix of a rigid body described about a frame aligned withthe global inertial reference frame G and located at the rigid body’s body-fixed frame is:

GM =

m 0 0 0 mGzB→cg −mGyB→cg0 m 0 −mGzB→cg 0 mGxB→cg0 0 m mGyB→cg −mGxB→cg 00 −mGzB→cg mGyB→cg Ixx Ixy Ixz

mGzB→cg 0 −mGxB→cg Iyx Iyy Iyz−mGyB→cg mGxB→cg 0 Izx Izy Izz

(5.2)

where m is the rigid body mass, Ixx, Iyy, and Izz are the mass moments of inertia, Ixy, Ixz, and Iyz are the associatedproducts of inertia and GPB→cg = GxB→cg,G yB→cg,G zB→cg is the location of the rigid body’s center of gravityrelative to the body frame B described about the global frame G.

The Newton-Euler equations of motion can be derived from the total rate of change of momentum:

GF =d

dt(GMGvcg) (5.3)

where Gvcg is the velocity of the rigid body in Plucker coordinates.

The Newton-Euler equations of motion describe the motion of a rigid body observed from a fixed global frame. Tofacilitate simulation, it is convenient to evaluate the dynamics with respect to a frame that is fixed to the rigid body. Anadvantage of this method is that the spatial inertia matrix, as well as other information like cable connection location,remains constant when expressed with respect to a body-fixed reference frame.

To develop the equations of motion of the rigid body with respect to the body fixed frame, the position and orientationof the rigid body with respect to the global frame G is first defined as GPcg = [GPx,

G Py,G Pz, φ, θ, ψ]T as shown in

Figure 5.2. The 6 × 1 array GPcg, contains three Cartesian space position components and a Z(ψ) − Y ′(θ) − X ′′(φ)

57

Page 60: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 5. Rigid Bodies ProteusDS 2015 Manual

X

Z

x

z

GVBBcg

GPB

G

GPB→cg

Figure 5.2: Frame B described with respect with to frame G

body-fixed Euler angle sequence set, where Z(ψ) represents a rotation about the Z axis of global coordinate system, Y ′(θ)is the rotation about the intermediate Y ′ axis, and X ′′(φ) is the rotation about the final X ′′ axis. Taking the derivativeof GPcg yields:

Gvcg =G ˙Pcg (5.4)

where Gvcg = [GPx,G Py,

G Pz, φ, θ, ψ]T is a 6 × 1 array that defines both the linear velocity of the rigid body’s centerof gravity expressed in relation to the global frame, G, and the rate of change of the body fixed coordinate system’sorientation or angular velocity. A special transformation matrix GTB is required to map the spatial velocity of the bodyin terms of the local frame to the non-Plucker Euler angle rate based velocity array, Gvcg:

Gvcg =G TBBvcg (5.5)

where Bvcg = u, v, w, p, q, r is a 6 DOF spatial velocity vector formed with the linear velocity vector components u, v,w and angular velocity vector components p, q, r of the rigid body described with respect to the body-fixed frame; ETB

is the 6× 6 transformation matrix that maps the linear velocity component from the body-fixed frame to the global frameand maps the angular velocity component from the body-fixed frame to the Euler angle rates as given in [14]:

GTB =

[R1 03×3

03×3 R2

](5.6)

Since the orientation of the body-fixed frame with respect to the global frame is described using the RZY ′X′′ Eulerangle set, R1 is [14]:

R1 =

cφcθ cφsθsψ − sφcψ sφsθcψ + sφsψsφcθ +sφsθsψ + cφcψ sφsθcψ − cφsψ−sθ cθsψ cθcψ

(5.7)

where cχ, sχ, and tχ are the sine, cosine, and tangent of an angle χ, and φ, θ, ψ are the roll, pitch, and yaw angles. The3 × 3 transformation matrix R2, which maps body-fixed frame angular velocity to the non-orthogonal Euler angle rates,is:

R2 =

1 sφtθ cφtθ0 cφ −sφ0 sφcθ cφ/cθ

(5.8)

Taking the time derivative of Bvcg will yield the acceleration Bacg. Since frame B is a moving and rotating frame,the total time rate of change of the velocity vector is:

Bacg =B vcg +B ωBBvcg (5.9)

58

Page 61: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 5. Rigid Bodies ProteusDS 2015 Manual

where Bacg is the absolute acceleration vector of the rigid body in terms of the body-fixed frame B and accounts forall rates of change and the effect of the rotating reference frame, and BωB is the skew-symmetric matrix form of thebody-fixed frame angular velocity vector. A 6 DOF form of the angular velocity skew symmetric matrix, BΩB , is;

BΩB =

∣∣∣∣ BωB 00 BωB

∣∣∣∣ =

∣∣∣∣∣∣∣∣∣∣∣∣

0 −ωz ωy 0 0 0ωz 0 −ωx 0 0 0−ωy ωx 0 0 0 0

0 0 0 0 −ωz ωy0 0 0 ωz 0 −ωx0 0 0 −ωy ωx 0

∣∣∣∣∣∣∣∣∣∣∣∣The Newton-Euler equations expressed with respect to frame B become:

BF = MBacg (5.10)

Substituting equation 5.9 into 5.10 yields:

BF = MBvcg +B ΩBMBvcg (5.11)

To evolve the dynamics of the rigid body requires solving equation 5.11 for Bvcg. To do this, the second term on theright hand side of equation 5.11, now called Fc, is a bias force that accounts for apparent accelerations resulting from theangular rotation of the frame:

Fc =B ΩBMBvcg (5.12)

such that the equation of motion is written as:

Bvcg = M−1(BF− Fc) (5.13)

Numerical integration of Bvcg will yield results that are not complete since frame B is moving with the center ofgravity of the rigid body. To properly integrate the dynamics and simulate the behavior of the payload, Bvcg must beexpressed with respect to the fixed global reference frame G. The acceleration of the rigid body in terms of frame E, the6× 1 array Gacg, is derived in terms of the global frame through differentiation of equation 5.5 as presented in [14]:

Gacg =G TBBvcg +G TB

Bvcg (5.14)

where the rate of change of spatial transformation matrix GTB is obtained as [15, 14, 16]:

GTB =

∣∣∣∣ R1 03×3

03×3 R2

∣∣∣∣ (5.15)

where R1 is:

R1 = ΩR1 (5.16)

and because the rotational components of Gacg are described about the axes of frame resolved through the non-orthogonal

Euler angle rotation sequence, R2 is:

R2 =

∣∣∣∣∣∣0 cφφtθ + (1 + t2θ)sφθ −sφφtθ0 −sφφ −cφφ0 (cφcθφ+ sφsθθ)/c2θ (−sφcθφ+ cφsθθ)/c2θ

∣∣∣∣∣∣ (5.17)

and Ω is a 3× 3 skew symmetric matrix of the body rotation rates. Now that the accelerations are quantified in terms ofthe global frame, the dynamics can be evolved through time with a numerical integrator.

ProteusDS uses the rigid body class to evaluate rigid body dynamics. The state and state derivatives provided by therigid body model are integrated through time by a numerical integrator to evolve the motion through time.

59

Page 62: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 5. Rigid Bodies ProteusDS 2015 Manual

Figure 5.3: The mechanical frame of a cable attached at a point BPA relative to the rigid body.

5.2 Cable rigid body connections

When a cable is attached, reaction loads are applied as external forces on the rigid body. The force that the cableimparts on the rigid body is the result of its elastic deformations and external loading. Tension, the result of axial strain,is the linear force component while pure moments are produced from flexural and torsional strains. If a swiveling pinjoint is used, the torsional and bending strains are always zero at the boundary of the cable. The connection point withrespect to the body-fixed frame, BPA, which is constant throughout the simulation, must be provided (see figure 5.3).Clamped connections require the cable mechanical frame be defined by the principle vectors P1 and P2, also in terms ofthe body-fixed frame. Note that the cross product of these principle vectors produces the tangent direction at that end ofthe cable.

The cable provides a spatial force vector, GFCable, described with respect to the global frame, which is provided tothe rigid body for its dynamics evaluation while the payload defines the position of the end of the cable to which it isattached.

5.3 Rigid body hydrodynamics

Hydrodynamic and aerodynamic forces for the rigid body model are modelled using a feature-based approach. In thisfeature-based approach, complex geometries are described by breaking them down into simpler geometric features. Takethe table-like object is shown in Figure 5.4. This complex geometry can be broken up into simpler geometric features: abox shaped feature and 8 cylindrical geometries. The drag and added mass coefficients for basic geometry types can befound in the literature [4]. The geometry of the rigid body is defined by the combination of multiple basic features eachwith their own drag and added mass coefficients. The hydrodynamic forces are evaluated for each feature independently,without respect to other features that may or may not envelope or intersect, and are summed up about the centroid ofthe rigid body to obtain the total hydrodynamic loads and added mass matrix.

Either built-in simple parametric shapes (cuboid, ellipsoid or cylinder) or a custom mesh can be provided for evaluatinghydrodynamic loads in this fashion. The hydrodynamic models for these features are described in 5.3.1 respectively.

60

Page 63: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 5. Rigid Bodies ProteusDS 2015 Manual

Small Cylinder FeatureLarge Cylinder Feature

Box Shaped Feature

Figure 5.4: A table like object identifying how it could be discretised into simpler geometric features.

61

Page 64: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 5. Rigid Bodies ProteusDS 2015 Manual

5.3.1 Custom mesh feature

The mesh feature consists of a custom convex closed polygon mesh (polyhedron). The hydrodynamic pressures actingon each individual polygon panel are resolved and the resulting loads are accrued over the entire polyhedron. This is adiscrete form of the surface integral of pressure over the wetted hull of the object.

5.3.1.1 Object surface discretisation

The fluid force acting on a rigid body’s mesh feature is determined as the integral of the fluid pressures acting onthe feature. The integration of fluid pressures acting on the feature’s surface is accomplished by discretising the feature’ssurface using a polygon mesh. The fluid forces acting on each polygon of the mesh are accumulated to obtain the totalfluid force acting on the feature. For example, a 3× 1 linear force f acting on the feature is:

f =

Npoly∑j=0

fj =

Npoly∑p=0

−p(Cp,j)Aj fj (5.18)

where Npoly is the number of polygons on the polyhedron, fj is a 3× 1 vector describing the force applied to the polygonface j, the pressure, p(Cp,j), is a function of the location of the polygon face centroid Cp,j , Aj is the area of polygon j,

and fj is the force direction at the centroid of polygon j.

The forces applied to each polygon face also produces a moment on the object:

τ =

Npoly∑j=0

τj =

Npoly∑j=0

Cp,j × fj (5.19)

where τ is the 3× 1 vector describing the total moment applied to the object, and τj is the torque applied to the objectfrom the force fj applied to polygon j.

+h

Wetted Area

X

Ys

h = 0

FaceNormal

FaceCentroid

p(s) = ρgh(s)

a) b)Figure 5.5: a) The fluid pressure distribution over the wetted surface of a cylinder from buoyancy in calm water. b) Thepolygonal mesh discretisation used for the surface integral of the pressure field over the body’s surface.

For floating objects in the ocean, some polygons will be exposed to water while others are exposed to air. This sectionwill only describe water loading though wind loading is calculated similarly. A polygon is considered to be wet if itscentroid is below the water surface. The wetted area of a polyhedron is approximated as the sum of the areas of thewetted polygons. The finer the polygon mesh, the more accurate the calculated wetted area. It should be noted that asthe number of polygons in a mesh grows, the number fluid force calculations required grows linearly. As such, the timerequired to determine the fluid forces can quickly become a significant bottleneck to any potential benefits that could begained from increased accuracy.

62

Page 65: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 5. Rigid Bodies ProteusDS 2015 Manual

5.3.1.2 Morison equation

Morison’s hypothesis is that the forces acting on a submerged body moving relative to a fluid can be reasonablyrepresented as the sum of drag and inertial forces [4]. The Morison equation describes the hydrodynamic force as:

fm = fd + ff−k + finertial (5.20)

where fd, ff−k, finertial are the 3× 1 drag force, Froude-Krylov force, and inertial or added mass force respectively. Theobjective of the proceeding is to examine how ProteusDS determines the Morison load acting on each panel of a discretizedmesh feature.

5.3.1.3 The Froude-Krylov force

The 3× 1 Froude-Krylov force is the result of the pressure field of the fluid acting on the body:

ff−k = −∫S

p(s)n(s)ds (5.21)

where S is the surface, p(s) is the pressure of the fluid at some point s on the surface, ds is the differential area and n(s) isthe surface normal at a point s on the surface of the object. The Froude-Krylov force is the surface integral of the pressurefield of the undisturbed fluid acting on the body [4]. The Froude-Krylov force uses the pressure field of waves undisturbedby the presence of any body and so wave radiation and diffraction effects are not accounted for. However, diffractionforces can be assumed to be negligible if the body characteristic length is small relative to the incident wavelength. Whenno waves are present, the Froude-Krylov force is equal to the buoyancy force acting on the body.

As mentioned above, ProteusDS uses a discretized mesh to represent a feature in the fluid; to calculate the Froude-Krylov force acting on this feature equation 5.21 becomes:

ff−k = −Npoly∑j=0

p(Cp,j)Ajnj (5.22)

where Aj is the area of polygon j and nj is the polygon face normal direction. For the case where the fluid is not still,such as in ocean waves, the pressure field is also a function of the fluid motion, which can be described using the velocitypotential function for irrotational inviscid flows.

ProteusDS defines the pressure field in ocean waves using the equations provided in Table 3-1 of [4].

5.3.1.4 Fluid drag forces

The drag force arises when a body moves relative to the fluid in which it is immersed as indicated in Figure 5.6.Fluid drag is a complicated nonlinear phenomenon that is not easily generalized. Approaches such as computationalfluid dynamics (CFD) resolve the fluid domain and the drag forces reasonably consistently for arbitrary geometries, butsimulation or analysis using these techniques is computationally expensive. Rather than rely on generalized techniques fordetermination of drag, empirical data exists that report drag coefficients for various shapes. The drag force acting on anobject is based typically on the frontal area of the object in the direction of the flow:

fd =1

2ρCdAprojv

2. (5.23)

where Cd is the drag coefficient, Aproj is the frontal projected area in the direction of relative fluid flow and v is therelative fluid velocity.

63

Page 66: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 5. Rigid Bodies ProteusDS 2015 Manual

h = 0

a)

fdragu

Figure 5.6: Experimental setup for the variable buoyancy validation test

The relationship between the drag force and relative velocity of the fluid is calculated as:

fd =

Npoly∑j=0

12ρAj,xCd,x(u(Cp,j)− v(Cp,j))|u(Cp,j)− v(Cp,j)| · i12ρAj,yCd,y(u(Cp,j)− v(Cp,j))|u(Cp,j)− v(Cp,j)| · j12ρAj,zCd,z(u(Cp,j)− v(Cp,j))|u(Cp,j)− v(Cp,j)| · k

(5.24)

where u(Cp,j) is the absolute fluid relative velocity at the centroid of polygon j, v(Cp,j) is the absolute velocity of theobject at the centroid of polygon j, Aj is the area of polygon j, Cd,x,Cd,y,Cd,z are the overall drag coefficients for eachof the 3 Cartesian flow directions and Aj,x, Aj,y and Aj,z are the projected areas of polygon i in the YZ plane, ZX planeand XY plane respectively:

Aj,x = Ajnj · i (5.25)

Aj,y = Ajnj · j (5.26)

Aj,z = Ajnj · k (5.27)

The drag coefficient is found by experiment for a single geometry and flow direction, since objects have different dragcoefficients acting on them depending on geometry and relative flow direction. For example, the drag coefficient for fluidflow across a cylinder would be different than the flow of fluid along it as in Figure 5.7. Aspect ratios of the geometryinfluence the drag coefficient as well. For the case of a cylinder whose central axis is aligned with the z axis, the coefficientsof drag in the x and y directions would be identical and likely different from the coefficient of drag in the z direction.

64

Page 67: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 5. Rigid Bodies ProteusDS 2015 Manual

Cd,across

Cd,along

u

u

Figure 5.7: Normal and tangential drag coefficients for a cylinder

The absolute velocity of the object, v(Cp,i), at the centroid of polygon i can be separated into two components:

v(Cp,i) = vbody + ωbody ×Cp,i (5.28)

where vbody is the linear absolute velocity of the body described about the body-fixed frame, and the ωbody angular velocityof the body. The angular velocity component of the drag force inherent in Equation 5.24 can then be separated leadingto:

fd =

Npoly∑i=0

12ρAi,projCd,x(u(Cp,i)− vbody|u(Cp,i)− vbody)|i12ρAi,projCd,y(u(Cp,i)− vbody)|u(Cp,i)− vbody |j12ρAi,projCd,z(u(Cp,i)− vbody)|u(Cp,i)− vbody|k

(5.29)

−Npoly∑i=0

12ρAi,projCd,x(ωbody ×Cp,i)|ωbody ×Cp,i |i12ρAi,projCd,y(ωbody ×Cp,i)|ωbody ×Cp,i |j12ρAi,projCd,z(ωbody ×Cp,i)|ωbody ×Cp,i|k

LimitationsThe above methodology for estimating the drag effect on rigid body mass features estimates the drag moments using

the translational drag coefficients. This is equivalent to finding the center of pressure on a face of a submerged object,calculating the drag force on that face, and computing the drag moment using the center of pressure location relativeto the center of mass and total drag force. This methodology is convenient because arbitrary geometries with knowntranslational drag coefficients can be readily used to simulate drag for bodies undergoing angular motion.

One limitation is that the rotational drag loads are an approximation since the translational drag coefficients areobtained from experiments using purely translational motion. Consider Figure 5.8; in this case, the discretized dragmoment as outlined in equation 5.29 is applied to the body using equation 5.19. For Figure 5.8 a), the flow across theslender object due to the rotation of the object can be considered linear however the flow across object in Figure 5.8b), the flow of fluid across the wider object takes a longer path than if the body was in pure translation. This exampleemphasizes how the translational drag coefficients are not completely adequate to estimate drag effects in rotation.

65

Page 68: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 5. Rigid Bodies ProteusDS 2015 Manual

ωbodyωbody

Practically linearacross Cylinder

Relative fluidflow path

Relative fluidflow path

Not linearacross Cylinder

Figure 5.8: The path of the flow of fluid across a) a slender rotating object and b) a non-slender rotating object.

5.3.1.5 Added mass

When an immersed body is accelerated relative to a fluid, the object must also accelerate some fluid around it. Thepressure force applied to the object as a result of the acceleration of the surrounding fluid affects the dynamics of theobject if the density of the fluid is significant. This effect is usually referred to as virtual or added mass, since it has theeffect of increasing the apparent mass of the accelerating object. For fully submerged rigid bodies in flows that are notaccelerating, the added mass is expressed as a symmetric 6×6 positive definitive added mass matrix, that is added to thebody’s mass such that equation 5.10 becomes:

Bf = (BM +B A)acg (5.30)

where BA is the added mass matrix. Morison’s approximation accounts for the effect of relative velocity and accelerationof an object with respect to ocean waves and current. The added mass effect is simplified such that it is expressed in termsof an added mass coefficient that is multiplied by the mass of the displaced fluid. Added mass coefficients for Morison’sapproach are well established in literature for simple geometries.

In ProteusDS, to develop the the linear fluid inertial force acting on a payload, first consider that the fluid inertial forcecan be expressed as:

fi =

Npoly∑j=0

Ca,xρwVdisp,j(u(Ct,j)− a(Ct,j)) · iCa,yρwVdisp,j(u(Ct,j)− a(Ct,j)) · jCa,zρwVdisp,j(u(Ct,j)− a(Ct,j)) · k

(5.31)

where ρw is the fluid density, Vdisp,j is the displaced fluid volume of a tetrahedron (for triangular polygons) created bythe surface polygon j and the center of the local frame, u(Ct,j) is the absolute fluid acceleration at the centroid of atetrahedron created by polygon j and the local frame origin, a(Ct,j) is the body absolute acceleration at the centroid ofa tetrahedron created by polygon j and the origin of the local frame, Ca,x, Ca,y and Ca,z are the added mass coefficientsin the 3 Cartesian directions.

The acceleration of the body a(Ct,j) at the centroid of a tetrahedron created by polygon j and the origin of the localframe is determined from the forces applied to the object. Typically, the component of added mass force proportional tothe body absolute acceleration in equation 5.31 is subtracted from both sides of equation 5.10 and lumped in with thephysical mass while the component of added mass proportional to absolute fluid acceleration remains lumped in with theforces applied to the body. This facilitates an explicit evaluation for time domain simulations [4] such that equation 5.10

66

Page 69: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 5. Rigid Bodies ProteusDS 2015 Manual

becomes equation 5.30, where BA is:

BA =

[ma 00 Ia

]. (5.32)

and ma is mass of the fluid that is accelerated when the body is accelerated and Ia describes the moment of inertia ofthe distributed added mass. The added mass matrix takes the form:

ma =

Npoly∑i=0

ma,i =

Npoly∑i=0

Ca,xρwVdisp,i 0 00 Ca,yρwVdisp,i 00 0 Ca,zρwVdisp,i

(5.33)

Moving the inertial force component to the other side of the Newton-Euler equation leaves the inertial force componentthat is dependent only on the absolute fluid velocity as:

fi =

Npoly∑i=0

Ca,xρwVdisp,iu(Ct,i) · iCa,yρwVdisp,iu(Ct,i) · jCa,zρwVdisp,iu(Ct,i) · k

(5.34)

The added mass moment of inertia matrix Ia is approximated by summing the mass moments of inertia of the waterdisplaced by a tetrahedral volume formed by every polygon and the center of gravity of the object. To simplify thiscalculation, the mass of each tetrahedron is lumped at its centroid and using the parallel axis theorem the followingrelation for the mass moment of inertia about the centroid of the body is developed:

Ia =

Npoly∑i=0

ma,i(Ct,i ·Ct,iI + Ct,i ⊗Ct,i) (5.35)

The added mass moment of inertia for bodies of revolution, such as cylinders or spheres, about their axis of revolutionwill likely be negligible since mostly only the boundary layer will get accelerated. The method discussed here distributesthe added mass uniformly over the geometry of the object. This allows for a good representation of the added massmoment of inertia for slender objects such as long cylinders, however it will likely over estimate the added mass momentof inertia in certain cases such as for bodies of revolution rotating about its axis of revolution. Due to the lack of availableexperimental data for objects with angular acceleration, the appropriateness of the included method for calculating theadded mass moment of inertia for more general objects or for bodies of revolution about their axis of revolution is currentlyunverified.

In order to account for the identified issues in mesh feature’s added mass modelling technique and to help modelmore general shapes, equations 5.34 and 5.35 have been modified to prevent the added mass force from being appliedin a direction tangential to the polygon normals. By doing this, the added mass moments and moments of inertia in therotational degree of freedom of the axis of revolution for bodies of revolution are effectly zeroed. Equation 5.34 becomes:

fi =

Npoly∑i=0

(Ca,xρwVdisp,iu(Ct,i) · ni)(ni · i)(Ca,yρwVdisp,iu(Ct,i) · ni)(ni · j)(Ca,zρwVdisp,iu(Ct,i) · ni)(ni · k)

(5.36)

while Equation 5.35 becomes:

Ia =

Npoly∑i=0

ma,i(Ct,i ·Ct,iI + Ct,i ⊗Ct,i)CI (5.37)

where CI is a scaling factor that ranges between 1 and 0. Its purpose is to scale the added mass moment of inertia ofthe polyhedron based how much acceleration tangential to the polygon there is caused by angular acceleration about its3 axes:

CI =Ct,i × ni|Ct,i|

(5.38)

67

Page 70: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 5. Rigid Bodies ProteusDS 2015 Manual

5.3.1.6 Best practices for creating hydrodynamic meshes

This section is not meant to serve as a manual on polygon mesh modelling. A wide range of commercial and freelyavailable meshing tools are available and it is assumed users have experience with these tools. This section serves as abest practices guideline for users who are new to creating hydrodynamics meshes. ProteusDS provides support for loadingpolygonal meshes either as a .3ds or a .obj file format. The use of .obj file format is recommended as it can supportthree and four-sided polygons while .3ds file format cannot and this can be important to avoid artificial asymmetries inhydrodynamic loading of non-triangular shaped hulls without using overly refined meshes.

Most 3D CAD programs, like AutoCAD R©or ALibre R©, will allow a user to export CAD model data to one of thetwo supported polygonal mesh file formats. Generally, these exported mesh files are usually poorly conditioned for hy-drodynamics modelling and some modifications are required to refine these meshes before employing them in ProteusDS.Figure 5.9 shows a poorly conditioned hydrodynamics mesh as directly exported from a CAD software package; notice thenon-uniform polygonal areas. Figure 5.10 on the other hand shows the same geometry as in Figure 5.9 however polygonalsare all quadrilaterals and generally of uniform area.

Figure 5.9: An example of a poorly conditioned polygonal mesh for the purpose of hydrodynamics modelling.

68

Page 71: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 5. Rigid Bodies ProteusDS 2015 Manual

Figure 5.10: An example of a well conditioned polygonal mesh for the purpose of hydrodynamics modelling.

There are numerous commercially available and free/open source polygonal mesh modelling tools available. A fewnotable polygonal mesh modelling software packages are:

• 3D Studio Max R©

• Maya R©

• Blender R©

• Wings 3D R©

• Rhinocerous 5.0 R©

Meshes do not have to be exported from CAD software and can be generated directly in these programs. Whenmodifying a mesh exported from CAD software or when creating a mesh from scratch, the following should be considered:

• The hydrodynamic polygonal mesh must be a closed convex mesh with no self-penetrations.

• Concave meshes have not been tested in ProteusDS and are therefore not recommended. However, an equivalentconcave hull can be generated by adding several separate convex hydrodynamics mesh features to a Rigid Body.

• The polygons of the mesh should avoid skewed aspect ratios with closely matching areas and side lengths whenpossible.

• All polygonal face normals must point outside of the object.

• Coarse meshes can be used to perform quick simulations during the simulation set up while more refined meshesshould be used to produce final simulation results. A quick sensitivity study may be necessary to establish a suitablemesh resolution that provides converged results while maintaining reasonable execution times.

• Mesh features should be basic shapes where hydrodynamics properties are known. Complex hull geometries can begenerated using multiple mesh features.

• Hydrodynamic shielding is not accounted for, which may result in larger than expected environmental loads forcollections of features.

69

Page 72: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 5. Rigid Bodies ProteusDS 2015 Manual

5.3.1.7 Tips for converting CAD models into hydrodynamic meshes in Rhinoceros 5

Rhinoceros 5 can be used to import different types of CAD models and convert them into hydrodynamic meshes foruse in ProteusDS. The following tips are intended to help create a polygonal mesh from an imported CAD model. Thesetips are meant to serve as a guideline, as the Rhinoceros meshing algorithms are complex and some level of trial and errormust be implemented for proper results.

• CAD models may appear as ’block instances’ once imported into Rhinoceros. These block instances can be brokeninto surfaces or polysurfaces using the ’ExplodeBlock’ command.

• In order to create proper hydrodynamic meshes, the model should consist of simple shapes. Chamfers, fillets andother surface curves can cause issues when meshing. It is best to avoid these and use sharp edged objects. Smalldetails such as these do not have a great effect on the hydrodynamics of the object and therefore can be left out ofthe mesh.

• Each surface should be meshed individually. Rhinoceros will then choose the most appropriate polygons for eachindividual surface. Meshing multiple surfaces at once may result in inappropriately sized and shaped polygons.

• Use the ’Extract Surface’ command to separate a solid model into it’s various surfaces.

• To mesh a surface, select the surface and use the ’Mesh’ command.

• The ’Polygon Mesh Detailed Options’ will appear. These options allow the user to choose several meshing optionsthat will help Rhinoceros form an appropriate polygonal mesh.

• The mesh can be previewed before accepting the changes by clicking the ’Preview’ button.

• For very simple shapes, the ’Simple Controls’ can be used. In this mode, Rhinoceros will handle the meshing optionsand the user will use a slider to determine the density of the mesh. However, these controls are inconsistent and notrecommended.

• Hydrodynamic meshes are most successful in ProteusDS if they consist of many equally shaped polygons. This canmost easily be achieved using equilateral triangular, square or rectangular polygons. To create a mesh of squaresand rectangles, set the Maximum angle to 90 degrees and set the Maximum aspect ratio to between 1 and 3. Thiswill force Rhinoceros to keep the polygons similar in size. This will also remove any strange obtuse triangles.

• Set the minimum and maximum edge length to a reasonable number based on the desired polygon size. This willforce large polygons to be broken down into smaller ones making the mesh more uniform. Changing these numberscan also reduce unwanted triangles from the mesh. Setting these numbers near to each other can force the meshinto equally sized square polygons for square or rectangular shaped surfaces.

• Ensure that ’Refine Mesh’ is selected. If this option is not active, Rhinoceros will ignore the maximum angle andlengths set.

• ’Jagged seams’ is not important if only one surface is being meshed at a time. If multiple surfaces are being meshed,set ’Jagged seams’ to active, this will ensure that the surfaces are meshed watertight by stitching them together.

• ’Simple planes’ should be disabled. If this option is enabled, the detailed options will be ignored and simple planeswill be meshed with as few polygons as possible. This is not desirable for a hydrodynamic mesh.

• If the polygon shapes are consistent, the density option can be used to make the mesh more or less dense. Usevalues between 0 and 1.

• Once the mesh meets the requirements, select ’OK’. The mesh will now be created. The original surface will remainand the new mesh will occupy the same space. Select the mesh by clicking on the surface and selecting ’Mesh’ fromthe selection menu that appears.

• It is good practice to move all meshes that have been created to their own layer. To do this, select the mesh andright click on a new layer in the layer toolbar and select ’Change Object Layer’. Now the meshes and the originalmodel can be viewed separately or together by hiding and showing the different layers. This will help to ensure thatall parts of the model are included in the hydrodynamic mesh and allow for easy inspection of the mesh.

70

Page 73: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 5. Rigid Bodies ProteusDS 2015 Manual

• A mesh can be reused for other surfaces that are very similar in size and shape by selecting the mesh and using the’ApplyMesh’ command. Caution should be used when using this command, as small differences in the surface willcause errors as the mesh shape is not changed at all when applied to the new surface. Similar but not identicalsurfaces can be meshed more successfully by using the normal meshing process for each individual surface butapplying the same meshing options.

• Once the entire model has been meshed, select all the separate meshes within the entire model. This can easily bedone by showing only the layer with the meshes in it and using the ’SelAll’ command. With all the meshes selected,click the ’Export Selected...’ button under the File menu. Provide a name for the mesh and save as type *.obj.Click ’Save’. The OBJ export options menu will appear. Ensure that ’Polygon mesh’ is selected, and end-of-linecharacters for Windows is selected. Rhino object names, Rhino layer/group names and vertex welding is not required.If a material has been chosen, ensure that ’Export material definitions’ is selected. The rest of the options can beleft as default.

• The *.obj file should now exist in the saved folder. This file can be referenced directly from ProteusDS for use as ahydrodynamic mesh.

5.3.2 Slender prism fluid loading

The slender prism fluid loading feature is designed to model the fluid dynamic forces acting on a cylinder. The dragand added mass coefficients for cylinders are automatically determined via look up table based on the cylinder dimensionsor explicit values defined by the user. Buoyancy and Froude-Krylov forces are determined in the same way as for a custommesh feature. However, the Morison drag and added mass loads are resolved by computing the loads on discrete cylinderslices along the span of the cylinder based on the relative velocity at the center of each slice.

5.3.3 Turbine feature

The turbine feature is modelled using thrust and torque tables that describe the loading behavior. The turbine featurecan be applied to a stationary rigid body and given a reference rotation velocity for tip speed ratio calculations. The turbinecan also be associated with a rotating body that creates angular velocity. The thrust and torque loads are calculated usingequations 5.39 and 5.40. The tip speed ratio is used for selecting the appropriate torque and thrust coefficient to beused.

Torque =1

2ρARCqV

2rel (5.39)

Thrust =1

2ρACtV

2rel (5.40)

5.4 Initial Conditions

The state of a rigid body is described by its position, orientation, velocity and angular velocity. The orientation may berepresented using a quaternion or Euler angles (roll, pitch, yaw). The state of a cable is defined by a single state section.The form of the *.dat file is reviewed in Section A.3.4.

If the rigid body is part of an ABA mechanism, the state vector of follower links are dependent on the number ofdegrees of freedom of the joint connection between the rigid body and its master. Two state vector elements are requiredper joint degree of freedom.

71

Page 74: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 6. Nets ProteusDS 2015 Manual

Chapter 6. Nets

Nets are represented with the finite element Net model. Material properties of the individual filaments must beprovided. A net element panel represents many parallel net twines based on the net twine count property so not every nettwine needs to be represented directly in simulation to account for drag loading and stiffness. In PST, the net initial statecan be created in 3 types of configurations: a panel that is described by 4 coplanar points, a polar circle net described bythe radius, and a cylindrical net described by the radius and direction of the net. The net can have as many segments inthe transverse or longitudinal direction as the user requires. Corner nodes or an entire edge of a net can be fixed in spaceor attached to other DObjects. Each edge and corner are labeled with the node position in the longitudinal direction andthe transverse direction. See figure 6.1 for an illustration of how net corners and edges are labeled. Extra point loads andlump masses can be applied to represent floats or other hardware along the span of a net.

72

Page 75: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 6. Nets ProteusDS 2015 Manual

Node (0,0) Node (0,N)

Node (M,N)Node (M,0)

Edge 0

Edge 2 Edge 3

Edge 1

column 0 column N

row 0

row M

element 1

element M

element 1 element N

Figure 6.1: Net panel edge and node definition

6.1 Finite-element net model

To model nets, ProteusDS employs a lumped-mass finite element approach that is a natural extension of the lumped-mass cubic finite element cable model. The net model and the hydrodynamic forces acting on it are modelled in a similarfashion to the consistent finite element net model developed by [17]. In general, a net is made up of longitudinal andtransverse filament as shown in Figure 6.2. It is typically impractical to physically model each filament because of the largenumber of finite elements required and the resulting computational burden that would result. Instead, the threads aremodeled in groups using the element shown in Figure 6.2 b), which highlights how a single net filament element representsseveral parallel physical net filaments.

a) b)Figure 6.2: a) 4 net panels, their cubic spline edges, and their shared lumped-mass nodes. b) A net element and thefilaments it represents.

73

Page 76: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 6. Nets ProteusDS 2015 Manual

To model net panels, an array of transverse and longitudinal net filament element are concatenated with a mesh of nodes.Longitudinal net filaments are given an i index and transverse filaments are given a j index. This provides a convenientnode numbering scheme and facilitates assembly of the net elements in to a panel as indicated in Figure 6.3. The positionof the net anywhere on the surface in between net filament elements is resolved using biquintic interpolation [18]. Biquinticinterpolation is used as it is the minimum order of surface interpolation that would guarantee continuous curvature acrossthe lateral boundaries of the net elements.

0, 0

0, j

0, N − 1

0, N

i, 0

..., 0

0, ...

M − 1, 0

M, 0

M, jM, ...

M,N − 1

i,N

..., N

M − 1, N

M,N

X

Z

Z

r(si, sj , t)

sjsi

Figure 6.3: The lumped mass finite element net model showing how nodes are numbered

As the net filament is closely related to the cable element, the equations are similar. The equation of motion for asingle net element is:

([KA]i + [KB ]i) Xi + Wi + Hi = [M]i Ri (6.1)

where [KA]i and [KB ]i are the axial and bending internal reaction stiffness matrices, Wi and Hi are weight and hydro-dynamic forces, and [M]i is the lumped mass matrix. The net element state vector, Xi, contains the positions of its twonodes, r(i) and r(i−1) as well as the curvature of the net element at that location r′′(i) and r′′(i−1):

Xi =[r(i−1) r′′(i−1) r(i) r′′(i)

]T(6.2)

The internal reaction stiffness matrices have the form:

[KA]i = nLupEAεi

Liu

[−I 0 I 0I 0 −I 0

](6.3)

[KB ]i = nLupEI

Liu

[0 I 0 −I0 −I 0 I

](6.4)

where I is a 3× 3 identity matrix, 0 is a 3× 3 zero matrix, εi is the strain in element i, EA is the element axial stiffness,EI is element flexural rigidity, Lup is the average adjacent perpendicular net element unstretched length, and n is the

74

Page 77: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 6. Nets ProteusDS 2015 Manual

filament count parameter, or the inverse of the half-mesh size. Together, nLup defines the number of filaments a typicalnet element represents.

When strain is present in one of the net elements, the stress and strain computed is the value of the group of filamentsit represents as shown in Figure 6.4 for axial stress.

straining of the element

Figure 6.4: The strain of an element is the average strain for the filaments it represents.

The hydrodynamic loading on the net is modeled in the same manner as the cable element model. A local hydrodynamicframe is resolved at the nodes, which is used to evaluate the normal and tangential fluid motion relative to the net filament.The distributed hydrodynamic load is assumed to vary linearly across the net filament elements with the hydrodynamicloading per unit length evaluated at the node points according to a Morison type equation. ExtMasses can also be appliedto a net and they act in the same manner as a point mass model. The resulting mass and forces resolved by the ExtMassare distributed by the linear shape functions of the net filaments, while the position of the ExtMass is resolved throughbiquintic interpolation.

6.2 Initial Conditions

Each net is described by a series of nodes and lengths similar to a cable. Each node is described in the state vectorsection by 3 position and 3 velocity values.

Each row (or column) in the net is listed in a vertical column. There is an entry in the lengths section with the elementlength for every net element. The net IC file can be compared to an array of individual cables or a grid of nodes.

An example IC file for a net is given in Listing 6.1. The top left node has a positon vector of [10, 0, 0] and a velocity of[0, 0, 0]. The bottom right node has a position vector of [0, 10, 0] and a velocity vector of [0, 0, 0]. The first column in thestate vector section corresponds to the row within the net that starts at position [10, 0, 0] and ends at position [10, 10, 0].

The lengths section lists the element lengths between each net node. The number of column corresponds to thenumber of elements in each row of the net. In this example there are 2 elements in each row. The lengths section lists allthe lengths in one direction and then lists all the lengths in the other direction.

An additional example is provided in Section A.4.4

Listing 6.1: Example *.dat file for a Net DObject <State >

0 0 0

10 5 0

0 0 0

0 0 0

0 0 0

0 0 0

0 0 0

10 5 0

0 0 0

5 5 5

0 0 0

0 0 0

75

Page 78: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 6. Nets ProteusDS 2015 Manual

0 0 0

10 5 0

0 0 0

10 10 10

0 0 0

0 0 0

</State >

<Lengths >

5 5

5 5

5 5

5 5

5 5

5 5

</Lengths >

76

Page 79: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 7. Point Masses ProteusDS 2015 Manual

Chapter 7. Point Masses

7.1 Description

The PointMass is used to model simple floats or weights. Rotational motion is ignored. Buoyancy, added mass, drag,and weight loads are computed using a reference sphere diameter and density. They are effective to serve as a connectionpoint for multiple cables and nets.

7.2 Point mass dynamics

ProteusDS features a point mass model, which has only three linear degrees of freedom compared to the rigid body sixlinear and rotational degrees of freedom. A point mass can be used as a convenient connection point for several cables ornets and it can act as either a float or a weight depending on its properties. To quantify buoyancy forces, an equivalentspherical volume is defined. The point mass is by design simple in comparison to the rigid body model. The dynamics ofa point mass are based on Newton’s Second Law:

The dynamics of a point mass are based on Newtons Second Law:

Gf =G MGa (7.1)

where f is a 3 DOF vector that contains the three linear force components fx, fy, fz and a is the linear accelerationvector that includes the three linear acceleration components ax, ay, az. The inertia matrix of a point mass whosebody-fixed frame is oriented with the Earth-fixed frame is:

GM =

m 0 00 m 00 0 m

(7.2)

where m is the mass.

The forces acting upon the point mass are:

• GfW (Weight)

• GfB (Buoyancy)

• GfD (Drag)

• GfA (Added Mass & Froude-Krylov)

The weight is the load due to the gravitational acceleration:

GfW =G MGg (7.3)

77

Page 80: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 7. Point Masses ProteusDS 2015 Manual

The buoyancy force is calculated using the reference spherical volume:

GfB = −ρV Gg (7.4)

where ρ is the density of the fluid, V is the volume of the representative sphere, and g is the acceleration due to gravity.

The drag force is calculated using:

GfD = −1

2ρCDA|Gvr|Gvr (7.5)

where CD is the drag coefficient, A is the affective area seen by the fluid flow calculated from the representative sphere,and Gvr is the relative velocity of the point mass with respect to the fluid.

The added mass and Froude-Krylov force are combined into one equation to produce:

GfA = −ρCAV Ga + ρ(1 + CA)V Gu (7.6)

where Ga is the acceleration of the point mass, Gu is the absolute fluid particle acceleration, V is the volume of therepresentative sphere and CA is the added mass coefficient. These forces in addition to any reaction forces provided bycables and nets are the only forces that the point mass experiences and resulting accelerations are derived from them.

It is common to lump the component of the added mass force that is dependent on the absolute acceleration of thepoint mass in with the physical mass in equation 7.1 resulting in:

Gf = (GM +G A)Ga (7.7)

where GA is the added mass matrix:

GA = I(ρCAVGa) (7.8)

leaving equation 7.6 as:

GfA = ρ(1 + CA)V Gu (7.9)

where I is a 3 × 3 identity matrix. This approach facilitates an explicit evaluation of the dynamics for time domainsimulations [4].

7.3 Example

The following example is a point mass initialization file that can be used in a simulation. It demonstrates the propertiesrequired to initialize a point mass.

Listing 7.1: Sample input file // Fluid loading

$CDc 1

$CAc 0.5

// Mechanical

$Density 500

$Diameter 0.25 The above point mass properties declarations describe a 0.25m diameter sphere with a density of 500kg/m3.

7.4 Initial Conditions

The state of a point mass is comprised of the global position and velocity of the object. The state vector in the datainpt file can be found in Section A.5.3.

78

Page 81: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 8. Advanced DObjects ProteusDS 2015 Manual

Chapter 8. Advanced DObjects

8.1 ABA Controller DObject

The ABAController is designed to provide the ability to control RigidBody DObjects whether they are independentor in ABA (articulated body algorithm) mode as part of a mechanism. The control regime used is PID with one inputand one output. A schematic of a typical PID control block can be seen in Figure 8.1. The inputs to an ABAControllerare an observation and the output is a control signal. The control signal is generated based on the error of the observedvalue from the desired set point in conjunction with the PID control block. In order to use an ABAController, connectionsto existing DObjects must be made. The connection type ABAControllerRigidBodyObserveConnection indicates that theABAController will be making observations from the connected RigidBody. An analogous connection type ABAController-RigidBodyControlConnection indicates which RigidBody the control actions will be applied to. The observed and controlledRigidBody do not have to be the same.

8.2 ABA Frequency Controller DObject

The ABAFController is the same as the ABAController except that it applies a sinusoidal control action signal. TheABAFController applies control actions to the body to reach a targeted sinusoidal amplitude and frequency set point.

8.3 ABA Super Controller DObject

The ABASuperController works in conjunction with an ABAController to enact cascade PID control. The ABASuper-Controller can make one or more observations from multiple rigid bodies and produce one or more control action signalsto the ABAControllers that are connected. The control action signals always take the form of changes to the set pointsof the ABAControllers. For example, an underwater vehicle may have control surfaces used adjust pitch and yaw. TheABAControllers would be used to observe the control surface position angle and apply control signals in the form of a ajoint torque to the ABA joint for actuation. The ABASuperController would observe the underwater vehicle depth andheading and make appropriate set point changes to the individual ABAControllers. As the control surface joint angles

RB/ABAjoint

PIDset point

errorsignal+

-

controlsignal

observe signalFigure 8.1: ABA Controller Block Diagram

79

Page 82: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Chapter 8. Advanced DObjects ProteusDS 2015 Manual

RB/ABAjoint

PIDset point

errorsignal+

-

controlsignal

observe signal

RB

PIDset point error signal

vector+

-

control signal vector

observe signal vector

RB/ABAjoint

PIDset point

errorsignal+

-

controlsignal

observe signal

ABAController 1

ABAController 2

ABASuperControllerPID control block

Figure 8.2: ABA Super Controller Block Diagram

change, the hydrodynamic lift forces act on the vehicle to adjust depth and heading accordingly.

8.4 DCable Tension Controller DObject

The Tension Controller is designed to provide the ability to control the tension in DCable Objects. The control regimeused is PID, similar to that used in the ABAController Section 8.1. The input to the Tension Controller is the tension inthe DCable at the point of connection between the DCable and the Tension Controller. The control signals are generatedbased on the error between the desired set point and the observed tension values, in conjunction with the PID controlblock. In order to use a Tension Controller, a connection to the existing DCable must then be made. The connection typeDCableTensionControllerDCableConnection instructs ProteusDS that the Tension Controller will be making observationsfrom the connected DCable.

80

Page 83: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Appendix A. ProteusDS Input Files

A.1 Environment

A.1.1 Input file properties (env.ini)

A.1.1.1 Air

$AbsPressSeaLevel

Description: Absolute pressure of atmosphere at sea level.Type: number, optionalDefault: 101 325Units: Pa

$AirDensityDescription: Air density.Type: numberDefault: 1.29Units: kg/m3

$AirKinematicViscosityDescription: Air kinematic viscosity.Type: numberDefault: 1.568×10−5

Units: m2/s

$AirTemperatureDescription: The reference environment air temperature used for heat transfer and thermal expansion calculations.Type: number, optionalDefault: 0Units: C

A.1.1.2 Current

$BottomCurrentStepDepthDescription: The threshold depth beneath the sea surface, above which there is no current.Type: numberDefault: 0Units: m

81

Page 84: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Required when: CurrentProfile is set to 3

$CurrentCustomProfileDataDescription: Custom water current profile data. Current properties are specified at different depths. The current is

linearly interpolated in between points provided.Type: matrix, variable number of rowsDefault:

[0 0 0

]Required when: CurrentProfile is set to 5Column 0:

Name DepthRange 0 to 1×107

Units mColumn 1:

Name Current speedRange 0 to 200Units m/s

Column 2:

Name HeadingRange −360 to 360Units degrees

$CurrentCustomProfileFileDescription: An external data file specifying a time varying current profile. The ASCII file must have tab or space

delimited rows formatted as: time(s) depth(m) speed(m/s) heading(degrees). Multiple rows with thesame time stamp are used to specify the profile for that time. ProteusDS will transition between thecurrent profiles.

Type: stringDefault: *.datRequired when: CurrentProfile is set to 9

$CurrentHeadingDescription: The heading that defines the water current vector.Type: numberDefault: 0Units: degRequired when: CurrentProfile is set to 1; or

CurrentProfile is set to 2; orCurrentProfile is set to 3; orCurrentProfile is set to 4; orCurrentProfile is set to 8

Tips: 0 - North (global frame X direction), 90 - East (global frame Y direction)

$CurrentPowerLawExponentDescription: Power law exponent.Type: numberDefault: 0.143Options: 0.067 1/15

0.1 1/100.143 1/7 (default)

Units: Dimensionless

82

Page 85: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Required when: CurrentProfile is set to 8

$CurrentPowerLawPercentDepthDescription: The power law profile will be applied between the seabed and the percent of depth height from the

seabed.Type: numberDefault: 100Options: 50 Half of water column

100 Entire water columnUnits: %Required when: CurrentProfile is set to 8Tips: The current speed will be 0 m/s at the seabed and equal to CurrentSpeed at the percent of depth

height from the seabed.

$CurrentProfileDescription: The type of water current profile applied.Type: integerDefault: 0

Options: # Description: Required follower properties:

0 No current

1 Uniform current $CurrentHeading, $CurrentSpeed,$InitialCurrentSpeed

2 Surface step current $CurrentHeading, $CurrentSpeed,$SurfaceCurrentStepDepth

3 Bottom step current $BottomCurrentStepDepth, $CurrentHeading,$CurrentSpeed

4 Linear shear current $CurrentHeading, $CurrentSpeed

5 Custom current profile $CurrentCustomProfileData,$WaveReferenceCurrentHeading,$WaveReferenceCurrentSpeed

6 3D Spatially varying current profile $CurrentSpatiallyVaryingProfileFile,$WaveReferenceCurrentHeading,$WaveReferenceCurrentSpeed

7 2.5D Spatially varying current profile $CurrentSpatiallyVaryingProfileFile,$WaveReferenceCurrentHeading,$WaveReferenceCurrentSpeed

8 Power law $CurrentHeading, $CurrentPowerLawExponent,$CurrentPowerLawPercentDepth, $CurrentSpeed,$InitialCurrentSpeed

9 Time varying custom current profile $CurrentCustomProfileFile,$WaveReferenceCurrentHeading,$WaveReferenceCurrentSpeed

$CurrentShieldingDescription: When enabled, hydrodynamic shielding effects are activated for nets. Hydrodynamic shielding is gener-

ated by steady currents and not influenced by wave effects.Type: integer, optional, experimentalDefault: 0

83

Page 86: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Options: 0 Disabled1 Enabled

$CurrentSpatiallyVaryingProfileFileDescription: The file name of the spatially/temporally varying current data.Type: stringDefault: *.iniRequired when: CurrentProfile is set to 6; or

CurrentProfile is set to 7

$CurrentSpeedDescription: The water current speed.Type: numberDefault: 0Units: m/sRequired when: CurrentProfile is set to 1; or

CurrentProfile is set to 2; orCurrentProfile is set to 3; orCurrentProfile is set to 4; orCurrentProfile is set to 8

Tips: For a linear shear current profile, this is the value of the current at the water surface.For a power law current profile this is current velocity at the water surface.For a step current profile this is the bottom or surface current.

$InitialCurrentSpeedDescription: A nonzero value the current profile will transition from during the ramping period at the start of a

simulation.Type: number, optionalDefault: 0Units: m/sOptional when: CurrentProfile is set to 1; or

CurrentProfile is set to 8

$SeabedBoundaryLayerAutoDescription: When enabled, the seabed boundary layer model’s boundary layer thickness, water depth, and reference

velocity are determined automatically by ProteusDS.Type: integerDefault: 1

Options: # Description: Required follower properties:

0 Disable $SeabedBoundaryLayerPowerLawU0, $SeabedBoundaryLayerPowerLawZ0,$SeabedBoundaryLayerThickness

1 Enable $SeabedBoundaryLayerPercentDepth

Required when: SeabedBoundaryLayerFluidVelocityScaling is set to 1

$SeabedBoundaryLayerFluidVelocityScalingDescription: When enabled, a boundary layer effect will be modelled between the current and the seabed.Type: integer, optionalDefault: 0

84

Page 87: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Options: # Description: Required follower properties:

0 Disabled

1 Enabled $SeabedBoundaryLayerAuto, $SeabedBoundaryLayerFollowSlope,$SeabedBoundaryLayerProfile

$SeabedBoundaryLayerFollowSlopeDescription: When enabled, water velocity vector direction near the seabed are influenced as a function of proximity

to align to the local seabed slope.Type: integer, optionalDefault: 0Options: 0 Disabled

1 Enabled

Optional when: SeabedBoundaryLayerFluidVelocityScaling is set to 1Tips: The water velocity vector will follow the seabed slope at the seabed and follow the current velocity one

boundary layer thickness from the seabed.Only the water velocity direction is affect. The magnitude of the velocity is unaffected by this option.

$SeabedBoundaryLayerPercentDepthDescription: Defines the seabed boundary layer thickness as a percent of the water depth ($Depth).Type: numberDefault: 10Options: 5 5% of water column

10 10% of water column20 20% of water column

Units: %Required when: SeabedBoundaryLayerAuto is set to 1 and seabedBoundaryLayerFluidVelocityScaling is set to 1Tips: The current speed will be 0 m/s at the seabed and equal to the free stream current velocity above the

height from the seabed specified as a percent of total depth by this parameter.A smooth transition from the power law profile to the free streem current speed is enforced.

$SeabedBoundaryLayerPowerLawExponentDescription: The seabed boundary layer power law profile’s exponent.Type: numberDefault: 0.143Units: DimensionlessRequired when: SeabedBoundaryLayerProfile is set to 1

$SeabedBoundaryLayerPowerLawU0Description: The freestream water velocity of the fluid used to define the seabed boundary layer profile.Type: numberDefault: 0Units: m/sRequired when: SeabedBoundaryLayerProfile is set to 1 and SeabedBoundaryLayerAuto is set to 0Tips: This value is not used when SeabedBoundaryAuto is enabled.

85

Page 88: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$SeabedBoundaryLayerPowerLawZ0Description: The seabed boundary water velocity scaling profile power law parameter Z0. This is the total height of

the scaled profileType: numberDefault: 10Units: mRequired when: SeabedBoundaryLayerProfile is set to 1 and SeabedBoundaryLayerAuto is set to 0Tips: This value is not used when SeabedBoundaryAuto is enabled.

$SeabedBoundaryLayerProfileDescription: This parameter defines the velocity profile to use to model the seabed boundary layer.Type: integerDefault: 0

Options: # Description: Required follower properties:

0 Parabolic

1 Power law $SeabedBoundaryLayerPowerLawExponent,$SeabedBoundaryLayerPowerLawU0, $SeabedBoundaryLayerPowerLawZ0

Required when: SeabedBoundaryLayerFluidVelocityScaling is set to 1

$SeabedBoundaryLayerThicknessDescription: This parameter specifies the thickness of the water velocity boundary layer adjacent to the seabed.Type: numberDefault: 5Units: mRequired when: SeabedBoundaryLayerAuto is set to 0Tips: This value is not used when SeabedBoundaryAuto is enabled.

$SurfaceCurrentStepDepthDescription: The threshold depth beneath the water surface, below which there is no current.Type: numberDefault: 0Units: mRequired when: CurrentProfile is set to 2

A.1.1.3 Discrete fluid domain

$FluidDomainPrecisionDescription: The digits of precision used to specify the fluid domain discrete bin size.Type: integer, optionalDefault: 2Units: DimensionlessTips: A fluid domain precision of 2 indicates a bin size of 0.01m

A fluid domain precision of 3 indicates a bin size of 0.001m

$FluidDomainUpdatePeriodDescription: The time period that the discretized fluid domain is updated.Type: number, optionalDefault: 0.1Units: s

86

Page 89: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Tips: This should be small enough to resolve the smallest wave periods or at least wave periods that mayinfluence system dynamics.If no significant wave action is present, larger update periods may be used to account for time varyingcurrent profiles.

A.1.1.4 Fluid loading

$WindDrivenCurrentDescription: Use the wind to generate an extra current, driven by the wind, that gets superimposed on top of the

current model specified by the user.Type: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 Off

1 Logarithmic (lakes) [Bye, 1965] $WindDrivenCurrentZeroCurrentDepth

2 Linear (deep offshore) [DNV RP C205] $WindDrivenCurrentZeroCurrentDepth

Optional when: WindProfile is set to 0; orWindProfile is set to 1; orWindProfile is set to 2

$WindDrivenCurrentZeroCurrentDepthDescription: The depth at which the wind driven current drops to zero.Type: numberDefault: 8

Required when: WindDrivenCurrent is set to 1; orWindDrivenCurrent is set to 2

A.1.1.5 General

$GravityDescription: Acceleration due to gravity.Type: number, optionalDefault: 9.81Units: m/s2

A.1.1.6 Instrumentation

$CurrentProfileProbeDescription: Specifies the X and Y location at which to report the current, as well as the number of samples between

the mean water level and the seabed.Type: matrix, variable number of rows, unordered, optionalDefault:

[0 0 10

]Column 0:

Name XInfo X-Position of the probe in global coordinates.

Range −10 000 to 10 000Units m

Column 1:

Name YInfo Y-Position of the probe in global coordinates.

Range −10 000 to 10 000Units m

87

Page 90: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Column 2:

Name Number of samplesInfo Number of samples between the mean water level and the seabed

Range 3 to 1000

$OutputEnvironmentalProbeDataDescription: Enables or disables file output for all environmental probes including user specified probes. If overall

file output is disabled, this flag will not enable any environment probe file output.Type: integer, optionalDefault: 1Options: 0 Off

1 On

$SeaHeightProbesDescription: Global frame X,Y locations at which sea height data should be output.Type: matrix, variable number of rows, unordered, optionalDefault:

[0 0

]Column 0:

Name XInfo X-Position of the probe in global coordinates.

Range −5×108 to 5×108

Units mColumn 1:

Name YInfo Y-Position of the probe in global coordinates.

Range −5×108 to 5×108

Units m

$WaterAccelerationProbeDescription: Global frame X,Y,Z location at which the water particle acceleration is recorded to a file.Type: matrix, variable number of rows, unordered, optionalDefault:

[0 0 0

]Column 0:

Name XInfo X-Position of the probe in global coordinates.

Range −5×108 to 5×108

Units mColumn 1:

Name YInfo Y-Position of the probe in global coordinates.

Range −5×108 to 5×108

Units mColumn 2:

Name ZInfo Z-Position of the probe in global coordinates.

Range −5×108 to 5×108

Units m

88

Page 91: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$WaterPressureProbeDescription: Global frame X,Y,Z location at which the water pressure is recorded to a file.Type: matrix, variable number of rows, unordered, optionalDefault:

[0 0 0

]Column 0:

Name XInfo X-Position of the probe in global coordinates.

Range −5×108 to 5×108

Units mColumn 1:

Name YInfo Y-Position of the probe in global coordinates.

Range −5×108 to 5×108

Units mColumn 2:

Name ZInfo Z-Position of the probe in global coordinates.

Range −5×108 to 5×108

Units m

$WaterVelocityProbeDescription: Global frame X,Y,Z location at which the water particle velocity is recorded to a file.Type: matrix, variable number of rows, unordered, optionalDefault:

[0 0 0

]Column 0:

Name XInfo X-Position of the probe in global coordinates.

Range −5×108 to 5×108

Units mColumn 1:

Name YInfo Y-Position of the probe in global coordinates.

Range −5×108 to 5×108

Units mColumn 2:

Name ZInfo Z-Position of the probe in global coordinates.

Range −5×108 to 5×108

Units m

$WaveStatsProbeDescription: Global frame X,Y location where wave data is logged and statistical information is recorded to a file.Type: matrix, variable number of rows, unordered, optionalDefault:

[0 0

]Column 0:

Name XInfo X-Position of the probe in global coordinates.

Range −5×108 to 5×108

Units mColumn 1:

89

Page 92: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Name YInfo Y-Position of the probe in global coordinates.

Range −5×108 to 5×108

Units m

$WindVelocityProbeDescription: Global frame X,Y,Z location at which the wind velocity is recorded to a file.Type: matrix, variable number of rows, unordered, optionalDefault:

[0 0 0

]Column 0:

Name XInfo X-Position of the probe in global coordinates.

Range −5×108 to 5×108

Units mColumn 1:

Name YInfo Y-Position of the probe in global coordinates.

Range −5×108 to 5×108

Units mColumn 2:

Name ZInfo Z-Position of the probe in global coordinates.

Range −5×108 to 5×108

Units m

A.1.1.7 Seabed

$BathymetryOffsetDescription: This vector that indicates the offset of the custom bathymetry relative to the global reference frame.

This step occurs after the mesh has been scaled.Type: vector, optionalDefault:

[0 0 0

]Optional when: CustomBathymetry is set to 1Column 0:

Name XInfo Offset in X-direction.

Range −1×107 to 1×107

Column 1:

Name YInfo Offset in Y-direction.

Range −1×107 to 1×107

Column 2:

Name ZInfo Offset in Z-direction.

Range −1×107 to 1×107

$BathymetryPointCloudMajorAxisDescription: This parameter defines the axis of major increment for meshing an ordered point cloud bathymetry

data. Choices are X or Y.Type: string, optionalDefault: XOptional when: CustomBathymetry is set to 1

90

Page 93: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$BathymetryScaleDescription: This scale factor is applied to the custom bathymetry mesh used.Type: vector, optionalDefault:

[1 1 1

]Units: DimensionlessOptional when: CustomBathymetry is set to 1Tips: A scale factor may be used to convert mesh file units.

The scale factor can be used to flip mesh reference frame axis.

$CustomBathymetryDescription: When enabled, a custom bathymetry geometry must be provided. Otherwise, a flat bottom is used.

Note that even when a variable bathymetry is used, the constant WaterDepth value is used as a referencefor computing wave properties.

Type: integerDefault: 0

Options: # Description: Required follower properties:

0 Disabled (Flat seabed)

1 Custom Mesh $BathymetryOffset, $BathymetryPointCloudMajorAxis,$BathymetryScale, $CustomBathymetryFile

$CustomBathymetryFileDescription: A custom bathymetry can be used by specifying an external file. The bathymetric mesh file can be a

.obj, .3ds or .bpc file. The origin of the mesh file is assumed coincident with the global reference frameposition.

Type: stringDefault: *.objRequired when: CustomBathymetry is set to 1

$SoilLayerDescription: The names and thicknesses of soil sections to use starting with the soil layer at the seabed or mudline.Type: string double, feature referenceDefault: defaultSoilProperties

[1]

Loads feature: EnvironmentSoilRequired when: UseMultipleSoilLayers is set to 1Column 0:

Name SoilLayer feature nameInfo The name of the section to load in the simulation library

Column 1:

Name ThicknessInfo The thickness of the soil layer

Range −1×1030 to 1×1030

Units m

$SoilPropertiesDescription: The names of soil section properties to use starting with the soil layer at the seabed or mudline.Type: string, feature referenceDefault: environmentSoilLoads feature: EnvironmentSoilRequired when: UseMultipleSoilLayers is set to 0

91

Page 94: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$UseMultipleSoilLayersDescription: When enabled, multiple soil layers with varying stiffness and damping characteristics are used.Type: integerDefault: 0

Options: # Description: Required follower properties:

0 Disabled $SoilProperties

1 Enabled $SoilLayer

$WaterDepthDescription: The water depth is used for wave calculations and to specify the mudline or seabed location.Type: numberDefault: 1000Units: mTips: When a custom bathymetry mesh is provided, set this value to the mean seabed depth for the domain

of interest, as this value is used for wave calculations, and will greatly affect results in shallow water.

A.1.1.8 Water

$ChangeMeanWaterLevelWithTrampDescription: When specified, the mean water level offset will change from InitialMeanWaterLevel to the offset value

MeanWaterLevel over Tramp.Type: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 Disabled

1 Enabled $InitialMeanWaterLevel

$InitialMeanWaterLevelDescription: Nominally the mean water level is at the global coordinate frame origin at Z = 0 (positive down). This

parameter is the mean water level offset from the origin. This is used as the initial offset value at thestart of environment condition ramping.

Type: numberDefault: 0Units: mRequired when: ChangeMeanWaterLevelWithTramp is set to 1

$MeanWaterLevelDescription: Nominally the mean water level is at the global coordinate frame origin at Z = 0 (positive down). This

parameter is the mean water level offset from the origin.Type: number, optionalDefault: 0Units: m

$WaterDensityDescription: Water density.Type: numberDefault: 1025

92

Page 95: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Options: 1000 Fresh water1025 Salt water

Units: kg/m3

$WaterKinematicViscosityDescription: Water kinematic viscosity.Type: numberDefault: 1.8×10−6

Units: m2/s

$WaterTemperatureDescription: The reference environment water temperature used for heat transfer and thermal expansion calculations.Type: number, optionalDefault: 0Units: C

A.1.1.9 Wave

$AllowExceedWaveBreakingLimitDescription: This flag prevents ProteusDS from halting when it detects the wave breaking limit was exceeded.

Instead ProteusDS will provide a warning.Type: integer, optionalDefault: 0Options: 0 Force halt

1 Allow exceeding of limit

$CustomSpectrumDescription: This provides the custom spectrum as a function of frequency.Type: matrix, variable number of rows, unorderedDefault:

[0 0

]Required when: WaveType is set to 10Column 0:

Name FrequencyInfo Spectrum frequency data point.

Range 0 to 1×1030

Units rad/sColumn 1:

Name Power Spectral DensityInfo Power spectral density.

Range 0 to 1×1030

Units m2 ∗ s/rad

$CustomWaveSegmentsDescription: This provides specific set of wave segments for the wave model to use.Type: matrix, variable number of rows, unorderedDefault:

[0 0 0 0 0

]Required when: WaveType is set to 9Tips: The input wave parameters are the same as the output to wave parameters.dat.Column 0:

93

Page 96: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Name HeightInfo Wave height.

Range 0 to 100Units m

Column 1:

Name Wave numberInfo Wave number.

Range 0 to 1×1030

Units 1/mColumn 2:

Name PeriodInfo Wave Period.

Range 0.01 to 1×1030

Units sColumn 3:

Name PhaseInfo Wave phase offset.

Range −360 to 360Units deg

Column 4:

Name HeadingInfo Wave heading.

Range −360 to 360Units deg

$PeakShapeConstantDescription: This is the nondimensional peak shape factor used by the JONSWAP spectrum. If no value is provided,

a recommended value will be computed based on the ratio of significant wave height and peak periodbased on existing standards.

Type: number, optionalDefault: −1Units: DimensionlessOptional when: WaveType is set to 8Tips: A value of 1 produces the Pierson-Moskowitz spectrum.

DNV RP C205 recommendations are used for the peak shape constant, which varies from 1 to 5 basedon the significant wave height and peak period provided.

$SpectrumMaximumPeriodDescription: This is the lower bound below which the wave spectrum will be truncated.Type: number, optionalDefault: −1Units: sOptional when: WaveType is set to 7; or

WaveType is set to 8Tips: If not specified, the default value is a factor of 4 more than the peak period.

The spectrum will be discretized between the minimum and maximum period range indicated.

$SpectrumMinimumPeriodDescription: This is the lower bound below which the wave spectrum will be truncated.Type: number, optionalDefault: −1

94

Page 97: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Units: sOptional when: WaveType is set to 7; or

WaveType is set to 8Tips: If not specified, the default value is a factor of 4 less than the peak period.

The spectrum will be discretized between the minimum and maximum period range indicated.

$SpreadingFunctionConstantDescription: This is the exponent of the cosine spreading function used by spectral wave models.Type: number, optionalDefault: 2Units: DimensionlessOptional when: WaveSpreadingFunction is set to 1

$TRampDescription: The transition period time interval through which environmental current, wind, and wave conditions

are ramped up to the desired level.Type: number, optionalDefault: 0Units: sTips: This can be used to mitigate artificially induced transient effects at the start of a simulation.

$WaveFeatureDescription: Adds a wave feature to the simulation. A wave feature can contain a single Airy wave or a single

spectrum. Multiple WaveFeatures can be provided; waves will be superpositioned.Type: matrix of strings, unordered, feature referenceDefault:

[waveFeature

]Loads feature: EnvironmentWaveRequired when: WaveType is set to 11

$WaveHeadingDescription: Wave propagation heading in degrees. If a spreading function is used with irregular waves, this is the

mean propagation heading.Type: numberDefault: 0Units: degRequired when: WaveType is set to 1; or

WaveType is set to 2; orWaveType is set to 5; orWaveType is set to 6; orWaveType is set to 7; orWaveType is set to 8; orWaveType is set to 10

Tips: The heading indicates the vector the waves propagate toward. A swell coming from the south andpropagating north has a wave heading of 0 degrees.

$WaveHeadingSpreadDescription: This indicates the number of discrete headings centered around the mean heading to consider in the

spectrum spread.Type: number, optionalDefault: 90

95

Page 98: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Units: degOptional when: WaveSpreadingFunction is set to 1Tips: Each directional bin contains an equal number of wave segments to equally accurately reconstruct the

spectrum accordingly.

$WaveHeadingSpreadBinsDescription: For spectrums, this defines the maximum possible spread from the mean heading waves will be gener-

ated.Type: integer, optionalDefault: 5Units: degOptional when: WaveSpreadingFunction is set to 1Tips: A wave spread of 15 degrees means that waves will be generated within +/-15 degrees from the mean

heading.

$WaveHeightDescription: The trough-to-crest wave height. For irregular waves, this is significant wave height.Type: numberDefault: 0Units: mRequired when: WaveType is set to 1; or

WaveType is set to 2; orWaveType is set to 5; orWaveType is set to 6; orWaveType is set to 7; orWaveType is set to 8

$WaveParametersFileDescription: NoneType: stringDefault: wave parameters.datRequired when: WaveType is set to 12

$WavePeriodDescription: The wave period. For irregular waves, this is the spectrum peak period.Type: numberDefault: 9Units: sRequired when: WaveType is set to 1; or

WaveType is set to 2; orWaveType is set to 5; orWaveType is set to 6; orWaveType is set to 7; orWaveType is set to 8

$WaveReferenceCurrentHeadingDescription: Reference current heading in degrees used to assess wave-current interaction effects.Type: numberDefault: 0

96

Page 99: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Units: degRequired when: CurrentProfile is set to 5 and WaveType is set to 1; or

CurrentProfile is set to 5 and WaveType is set to 2; orCurrentProfile is set to 5 and WaveType is set to 5; orCurrentProfile is set to 5 and WaveType is set to 7; orCurrentProfile is set to 5 and WaveType is set to 8; orCurrentProfile is set to 5 and WaveType is set to 9; orCurrentProfile is set to 5 and WaveType is set to 11; orCurrentProfile is set to 6 and WaveType is set to 1; orCurrentProfile is set to 6 and WaveType is set to 2; orCurrentProfile is set to 6 and WaveType is set to 5; orCurrentProfile is set to 6 and WaveType is set to 7; orCurrentProfile is set to 6 and WaveType is set to 8; orCurrentProfile is set to 6 and WaveType is set to 9; orCurrentProfile is set to 6 and WaveType is set to 11; orCurrentProfile is set to 7 and WaveType is set to 1; orCurrentProfile is set to 7 and WaveType is set to 2; orCurrentProfile is set to 7 and WaveType is set to 5; orCurrentProfile is set to 7 and WaveType is set to 7; orCurrentProfile is set to 7 and WaveType is set to 8; orCurrentProfile is set to 7 and WaveType is set to 9; orCurrentProfile is set to 7 and WaveType is set to 11; orCurrentProfile is set to 9 and WaveType is set to 1; orCurrentProfile is set to 9 and WaveType is set to 2; orCurrentProfile is set to 9 and WaveType is set to 5; orCurrentProfile is set to 9 and WaveType is set to 7; orCurrentProfile is set to 9 and WaveType is set to 8; orCurrentProfile is set to 9 and WaveType is set to 9; orCurrentProfile is set to 9 and WaveType is set to 11

Tips: The heading indicates the vector the reference current propagates toward. A current coming from thesouth and propagating north has a heading of 0 degrees.

$WaveReferenceCurrentSpeedDescription: Reference current magnitude used to assess wave-current interaction effects.Type: numberDefault: 0Units: m/s

97

Page 100: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Required when: CurrentProfile is set to 5 and WaveType is set to 1; orCurrentProfile is set to 5 and WaveType is set to 2; orCurrentProfile is set to 5 and WaveType is set to 5; orCurrentProfile is set to 5 and WaveType is set to 7; orCurrentProfile is set to 5 and WaveType is set to 8; orCurrentProfile is set to 5 and WaveType is set to 9; orCurrentProfile is set to 5 and WaveType is set to 11; orCurrentProfile is set to 6 and WaveType is set to 1; orCurrentProfile is set to 6 and WaveType is set to 2; orCurrentProfile is set to 6 and WaveType is set to 5; orCurrentProfile is set to 6 and WaveType is set to 7; orCurrentProfile is set to 6 and WaveType is set to 8; orCurrentProfile is set to 6 and WaveType is set to 9; orCurrentProfile is set to 6 and WaveType is set to 11; orCurrentProfile is set to 7 and WaveType is set to 1; orCurrentProfile is set to 7 and WaveType is set to 2; orCurrentProfile is set to 7 and WaveType is set to 5; orCurrentProfile is set to 7 and WaveType is set to 7; orCurrentProfile is set to 7 and WaveType is set to 8; orCurrentProfile is set to 7 and WaveType is set to 9; orCurrentProfile is set to 7 and WaveType is set to 11; orCurrentProfile is set to 9 and WaveType is set to 1; orCurrentProfile is set to 9 and WaveType is set to 2; orCurrentProfile is set to 9 and WaveType is set to 5; orCurrentProfile is set to 9 and WaveType is set to 7; orCurrentProfile is set to 9 and WaveType is set to 8; orCurrentProfile is set to 9 and WaveType is set to 9; orCurrentProfile is set to 9 and WaveType is set to 11

$WaveSeedDescription: This property sets the random number generator seed value. The seed value allows consistent consec-

utive random numbers to be generated and therefore repeatable simulation conditions. The randomnumber generator is used for setting various properties such as initial wave phase and heading forspectral sea state wave components.

Type: integerDefault: 12 345

Required when: WaveType is set to 7; orWaveType is set to 8; orWaveType is set to 10

$WaveSegmentsDescription: The number of discrete waves to use to reconstruct the desired wave spectrum. The spectrum is

constructed using randomly selected wave frequencies over a frequency range of 0.25*w p (w min) to4*w p (w max), where w p is the dominant or peak frequency determined using the peak period of thewave spectrum (w p=2*PI/Tp).

Type: integerDefault: 10

Required when: WaveType is set to 7; orWaveType is set to 8; orWaveType is set to 10

98

Page 101: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Tips: The number of discrete segments required to prevent a repeating sea surface is Simulation-Time/(2*PI)*(w max - w min).Wave segments are automatically added as needed to ensure equal wave segments in each heading bin.

$WaveSpreadingFunctionDescription: Indicates if a spreading function will be used for a specified wave spectrum.Type: integer, optionalDefault: 1

Options: # Description: Required follower properties:

0 No spreading

1 Cosine exponential $SpreadingFunctionConstant, $WaveHeadingSpread,$WaveHeadingSpreadBins

Optional when: WaveType is set to 10; orWaveType is set to 7; orWaveType is set to 8

Tips: No spreading results in long-crested irregular waves, while a spreading function results in short-crestedwaves.

$WaveTypeDescription: This indicates the wave model used.Type: integer, optionalDefault: 0

99

Page 102: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Options: # Description: Required follower properties:

0 No waves

1 Airy $WaveHeading, $WaveHeight,$WavePeriod,$WaveReferenceCurrentHeading,$WaveReferenceCurrentSpeed

2 Stokes second order $WaveHeading, $WaveHeight,$WavePeriod,$WaveReferenceCurrentHeading,$WaveReferenceCurrentSpeed

5 Stokes fifth order $WaveHeading, $WaveHeight,$WavePeriod,$WaveReferenceCurrentHeading,$WaveReferenceCurrentSpeed

7 Modified Pierson-Moskowitz / ISSC / Bretschneider $SpectrumMaximumPeriod,$SpectrumMinimumPeriod,$WaveHeading, $WaveHeight,$WavePeriod,$WaveReferenceCurrentHeading,$WaveReferenceCurrentSpeed,$WaveSeed, $WaveSegments,$WaveSpreadingFunction

8 JONSWAP $PeakShapeConstant,$SpectrumMaximumPeriod,$SpectrumMinimumPeriod,$WaveHeading, $WaveHeight,$WavePeriod,$WaveReferenceCurrentHeading,$WaveReferenceCurrentSpeed,$WaveSeed, $WaveSegments,$WaveSpreadingFunction

9 Custom wave segments $CustomWaveSegments,$WaveReferenceCurrentHeading,$WaveReferenceCurrentSpeed

10 Custom wave spectrum $CustomSpectrum, $WaveHeading,$WaveSeed, $WaveSegments,$WaveSpreadingFunction

11 Define via WaveFeature $WaveFeature,$WaveReferenceCurrentHeading,$WaveReferenceCurrentSpeed

12 Define via wave parameters.dat $WaveParametersFile

Tips: The use of the WaveFeature option allows the user to specify multiple wave features. This allows themodelling of multiple superimposed wave spectra.

A.1.1.10 Wind

$Wind10MinMeanSpeedDescription: The 10 minute average wind speed at 10 m required by the Ochi-Shin spectrum.Type: numberDefault: 0Units: m/s

100

Page 103: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Required when: WindSpectrum is set to 1

$Wind1hrMeanSpeedDescription: The 1 hour average wind speed at 10 m required for the Froya/NPD spectrum.Type: numberDefault: 0Units: m/sRequired when: WindSpectrum is set to 2

$WindAlphaDescription: Exponent for use for power law wind profile.Type: numberDefault: 0.12

Required when: WindProfile is set to 2

$WindCutOffFreqDescription: No wind frequency components are present above the specified cutoff frequency.Type: numberDefault: 0.2Units: HzRequired when: WindSpectrum is set to 1; or

WindSpectrum is set to 2

$WindHeadingDescription: The heading of the wind velocity. It is specified in degrees from north. 0 - North (global frame X

direction), 90 - East (global frame Y direction).Type: numberDefault: 0Units: degRequired when: WindProfile is set to 0; or

WindProfile is set to 1; orWindProfile is set to 2; orWindProfile is set to 3

Tips: The wind heading is 180 degrees opposite to wind direction.A wind direction blowing from east to west requires a WindHeading of 270.A blowing from north to south requires a WindHeading of 180.

$WindNumFreqDescription: The number of frequency components used to discretize the wind spectrum.Type: integerDefault: 50

Required when: WindSpectrum is set to 1; orWindSpectrum is set to 2

$WindProfileDescription: Wind profile type.Type: integer, optionalDefault: 4

101

Page 104: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Options: # Description: Required follower properties:

0 Uniform $WindDrivenCurrent, $WindHeading, $WindSpectrum

1 Logarithmic $WindDrivenCurrent, $WindHeading, $WindSpectrum,$WindSurfaceRoughness

2 Power law $WindAlpha, $WindDrivenCurrent, $WindHeading, $WindSpectrum

3 NPD $WindHeading, $WindSpectrum

4 Off

$WindSpectrumDescription: The wind spectrum type.Type: integerDefault: 10

Options: # Description: Required follower properties:

0 Constant wind $WindSpeed

1 Ochi-Shin spectrum $Wind10MinMeanSpeed, $WindCutOffFreq, $WindNumFreq,$WindSpreadingFunction, $WindSurfaceRoughness

2 Froya/NPD Spectrum $Wind1hrMeanSpeed, $WindCutOffFreq, $WindNumFreq,$WindSpreadingFunction

10 No Wind (default)

Required when: WindProfile is set to 0; orWindProfile is set to 1; orWindProfile is set to 2; orWindProfile is set to 3

$WindSpeedDescription: The wind speed used for a constant velocity wind.Type: numberDefault: 0Units: m/sRequired when: WindSpectrum is set to 0

$WindSpreadingFunctionDescription: The wind spectrum spreading function type.Type: integer, optionalDefault: 0Options: 0 No spread (uni-directional wind)

1 Cosine Squared Spread

Optional when: WindSpectrum is set to 1; orWindSpectrum is set to 2

$WindSurfaceRoughnessDescription: The surface roughness coefficient, which affects the vertical wind shear profile.Type: numberDefault: 0.001

Required when: WindProfile is set to 1; orWindSpectrum is set to 1

102

Page 105: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Tips: Open sea with waves corresponds to values between 0.0001-0.01.

A.1.2 Features (lib.ini)

A.1.2.1 EnvironmentSoil feature properties

$CNASoilDescription: Environment soil layer penetration damping for each soil layer. The normal damping value must be

multiplied by a reference area, which then produces a damping value in the normal direction to the soillocation. This value represents a damping constant in the current soil layer.

Type: numberDefault: 100Units: (Ns/m2)

$CNBSoilDescription: Environment soil layer penetration damping for each soil layer. The normal damping value must be

multiplied by a reference area, which then produces a damping value in the normal direction to the soillocation. This value represents the increase in damping constant with penetration depth in the currentsoil layer.

Type: number, optionalDefault: 0Units: (Ns/m2)/m2

$DeadZoneVelDescription: Defines the relative tangential velocity where sliding friction mode begins. Any tangential relative

velocity below the dead-zone is treated as if it were in Sticking Friction mode.Type: number, optionalDefault: 0.001Units: m/s

$KNSoilDescription: Environment soil layer penetration stiffness for each soil layer. The normal stiffness value must be

multiplied by a reference area, which then produces the stiffness of a normal reaction force as a functionof penetration depth. The normal reaction force pushes objects in the direction of the nearest normalof the bottom surface geometry.

Type: numberDefault: 10 000Units: (N/m)/m2

$MuNormalSoilDescription: Environment seabed soil coefficient of friction that scales resistance loads arising between normal surface

contact with the seabed.Type: number, optionalDefault: 0Units: Dimensionless

103

Page 106: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$MuSoilDescription: Environment seabed soil coefficient of friction that scales resistance loads arising between tangential

surface contact with the seabed.Type: numberDefault: 0.5Units: Dimensionless

A.1.2.2 EnvironmentWave feature properties

$CustomSpectrumDescription: This provides the custom spectrum as a function of frequency.Type: matrix, variable number of rows, unorderedDefault:

[0 0

]Required when: WaveType is set to 10Column 0:

Name FrequencyInfo Spectrum frequency data point.

Range 0 to 1×1030

Units rad/sColumn 1:

Name Power Spectral DensityInfo Power spectral density.

Range 0 to 1×1030

Units m2 ∗ s/rad

$CustomWaveSegmentsDescription: This provides specific set of wave segments for the wave model to use.Type: matrix, variable number of rows, unorderedDefault:

[0 0 0 0 0

]Required when: WaveType is set to 9Tips: The input wave parameters are the same as the output to wave parameters.dat.Column 0:

Name HeightInfo Wave height.

Range 0 to 100Units m

Column 1:

Name Wave numberInfo Wave number.

Range 0 to 1×1030

Units 1/mColumn 2:

Name PeriodInfo Wave Period.

Range 0.01 to 1×1030

Units sColumn 3:

Name PhaseInfo Wave phase offset.

Range −360 to 360Units deg

Column 4:

104

Page 107: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Name HeadingInfo Wave heading.

Range −360 to 360Units deg

$PeakShapeConstantDescription: This is the nondimensional peak shape factor used by the JONSWAP spectrum. If no value is provided,

a recommended value will be computed based on the ratio of significant wave height and peak periodbased on existing standards.

Type: number, optionalDefault: −1Units: DimensionlessOptional when: WaveType is set to 8Tips: A value of 1 produces the Pierson-Moskowitz spectrum.

DNV RP C205 recommendations are used for the peak shape constant, which varies from 1 to 5 basedon the significant wave height and peak period provided.

$SpectrumMaximumPeriodDescription: This is the lower bound below which the wave spectrum will be truncated.Type: number, optionalDefault: −1Units: sOptional when: WaveType is set to 7; or

WaveType is set to 8Tips: If not specified, the default value is a factor of 4 more than the peak period.

The spectrum will be discretized between the minimum and maximum period range indicated.

$SpectrumMinimumPeriodDescription: This is the lower bound below which the wave spectrum will be truncated.Type: number, optionalDefault: −1Units: sOptional when: WaveType is set to 7; or

WaveType is set to 8Tips: If not specified, the default value is a factor of 4 less than the peak period.

The spectrum will be discretized between the minimum and maximum period range indicated.

$SpreadingFunctionConstantDescription: This is the exponent of the cosine spreading function used by spectral wave models.Type: number, optionalDefault: 2Units: DimensionlessOptional when: WaveSpreadingFunction is set to 1

$WaveHeadingDescription: Wave propagation heading in degrees. If a spreading function is used with irregular waves, this is the

mean propagation heading.Type: numberDefault: 0

105

Page 108: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Units: degRequired when: WaveType is set to 1; or

WaveType is set to 2; orWaveType is set to 5; orWaveType is set to 7; orWaveType is set to 8; orWaveType is set to 10

Tips: The heading indicates the vector the waves propagate toward. A swell coming from the south andpropagating north has a wave heading of 0 degrees.

$WaveHeadingSpreadDescription: For spectrums, this defines the maximum possible spread from the mean heading waves will be gener-

ated.Type: number, optionalDefault: 90Units: degOptional when: WaveSpreadingFunction is set to 1Tips: A wave spread of 15 degrees means that waves will be generated within +/-15 degrees from the mean

heading.

$WaveHeadingSpreadBinsDescription: This indicates the number of discrete headings around the mean heading to consider in the spectrum

spread.Type: integer, optionalDefault: 5Units: −Optional when: WaveSpreadingFunction is set to 1Tips: Each directional bin contains an equal number of wave segments to equally accurately reconstruct the

spectrum accordingly.

$WaveHeightDescription: The trough-to-crest wave height. For irregular waves, this is significant wave height.Type: numberDefault: 0Units: mRequired when: WaveType is set to 1; or

WaveType is set to 2; orWaveType is set to 5; orWaveType is set to 7; orWaveType is set to 8

$WaveParametersFileDescription: NoneType: stringDefault: wave parameters.datRequired when: WaveType is set to 12

106

Page 109: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$WavePeriodDescription: The wave period. For irregular waves, this is the spectrum peak period.Type: numberDefault: 9Units: sRequired when: WaveType is set to 1; or

WaveType is set to 2; orWaveType is set to 5; orWaveType is set to 7; orWaveType is set to 8

$WaveSeedDescription: This property sets the random number generator seed value. The seed value allows consistent consec-

utive random numbers to be generated and therefore repeatable simulation conditions. The randomnumber generator is used for setting various properties such as initial wave phase and heading forspectral sea state wave components.

Type: integerDefault: 12 345

Required when: WaveType is set to 7; orWaveType is set to 8; orWaveType is set to 10

$WaveSegmentsDescription: The number of discrete waves to use to reconstruct the desired wave spectrum. The spectrum is

constructed using randomly selected wave frequencies over a frequency range of 0.25*w p (w min) to4*w p (w max), where w p is the dominant or peak frequency determined using the peak period of thewave spectrum (w p=2*PI/Tp).

Type: integerDefault: 10

Required when: WaveType is set to 7; orWaveType is set to 8; orWaveType is set to 10

Tips: The number of discrete segments required to prevent a repeating sea surface is Simulation-Time/(2*PI)*(w max - w min).

$WaveSpreadingFunctionDescription: Indicates if a spreading function will be used for a specified wave spectrum.Type: integer, optionalDefault: 1

Options: # Description: Required follower properties:

0 No spreading

1 Cosine exponential $SpreadingFunctionConstant, $WaveHeadingSpread,$WaveHeadingSpreadBins

Optional when: WaveType is set to 7; orWaveType is set to 8; orWaveType is set to 10

Tips: No spreading results in long-crested irregular waves, while a spreading function results in short-crestedwaves.

107

Page 110: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$WaveTypeDescription: This indicates the wave model used.Type: integerDefault: 0

Options: # Description: Required follower properties:

1 Airy $WaveHeading, $WaveHeight,$WavePeriod

7 Modified Pierson-Moskowitz / ISSC / Bretschneider $SpectrumMaximumPeriod,$SpectrumMinimumPeriod,$WaveHeading, $WaveHeight,$WavePeriod, $WaveSeed,$WaveSegments,$WaveSpreadingFunction

8 JONSWAP $PeakShapeConstant,$SpectrumMaximumPeriod,$SpectrumMinimumPeriod,$WaveHeading, $WaveHeight,$WavePeriod, $WaveSeed,$WaveSegments,$WaveSpreadingFunction

9 Custom wave segments $CustomWaveSegments

10 User-defined spectrum $CustomSpectrum, $WaveHeading,$WaveSeed, $WaveSegments,$WaveSpreadingFunction

12 Define via wave parameters.dat $WaveParametersFile

108

Page 111: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

A.2 Simulation

A.2.1 Input file properties (sim.ini)

A.2.1.1 Instrumentation

$IntervalOutputDescription: The time interval at which simulation information is printed out.Type: numberDefault: 0.1Units: sTips: The output interval must be selected carefully as small intervals can both artificially slow a simulation

by constraining the time step as well as result in rapid hard drive operations and also rapidly fill up ahard drive with data.If small output interval is required or large quantities of data, consider using binary mode. Binary datamay be extracted to ASCII using the PDS Extractor.exe tool.

$StateRestartOutputIntervalDescription: The time interval between state restart condition files are printed. State restart condition files can be

used directly as IC files to start a new simulation from.Type: number, optionalDefault: −1Units: sTips: The rate is specified in execution time (wall clock) seconds as opposed to simulation time seconds.

Setting the interval rate to zero will result in no restart states printed.Restart states can be useful in continuing long simulations or helping to diagnose simulation problemsat some specific point in time.

$StateRestartOutputIntervalSimTimeDescription: The simulation time interval between state restart condition files are printed. State restart condition

files can be used directly as IC files to start a simulation from.Type: number, optionalDefault: −1Units: sTips: The rate is specified in simulation time seconds as opposed to execution time (wall clock) seconds.

Setting the interval rate to zero will result in no restart states printed.Restart states can be useful in continuing long simulations or helping to diagnose simulation problemsat some specific point in time.

$StateRestartOutputToKeepDescription: The number of real-time state restart condition files to keep. use ’0’ for no limit.Type: integer, optionalDefault: 0

$StateRestartOutputToKeepSimTimeDescription: The number of sim-time state restart condition files to keep. Use ’0’ for no limit.Type: integer, optionalDefault: 0

109

Page 112: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

A.2.1.2 Integration

$EndTimeDescription: The time at which the simulation will terminate.Type: numberDefault: 1Units: sTips: This must be greater than the start time.

$IntegratorDescription: The name integrator library feature to load.Type: string, feature referenceDefault: integratorLoads feature: Integrator

$StartTimeDescription: The absolute time value at the start of the simulation. Set the value appropriately if continuing a

simulation that uses ocean waves as the wave phase is a function of time.Type: numberDefault: 0Units: sTips: This must be smaller than the end time.

A.2.1.3 Simulation

$ConnectionsDescription: Defines connections between DObjects. The properties associated with a connection are placed in the

master DObject ini file in a section of the form:Type: matrix of strings, variable number of rows, unordered, optionalDefault:Column 0:

Name Master DObject nameColumn 1:

Name Follower DObject nameColumn 2:

Name Connection name

$DObjectsDescription: Defines DObjects to use in a simulation.Type: matrix of strings, variable number of rows, unordered, optionalDefault:Column 0:

Name DObject typeColumn 1:

Name DObject name

$LibraryFileDescription: The full or relative path of a library file containing simulation features. Features are groups of properties

which can be referenced from ini files. Feature names and types must be unique.Type: matrix of strings, variable number of rows, unordered, optionalDefault:

110

Page 113: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

A.2.2 Features (lib.ini)

A.2.2.1 Integrator feature properties

$InitialTimeStepDescription: The size of the time step used to initiate temporal integration.Type: numberDefault: 0.0001Units: sTips: Adaptive timestep integrators will modify the step size to manage error.

$IntegrationTypeNumDescription: The integration type index number.Type: integerDefault: 1Options: 0 4th-Order Runge-Kutta

1 Adaptive 4th/5th Runge-Kutta

$MaximumTimeStepDescription: The maximimum time step allowable. Neither adaptive nor constant time step integrators can exceed

this limit.Type: numberDefault: 0.01Units: s

$MinimumTimeStepDescription: The minimum time step allowable. If the time step is lower than this, the simulation execution will

halt. A suitably low value may indicate that extremely high frequency dynamics are occurring and maybe due to set up or model error. This will require careful scrutiny of the initialization files to ensurethis is not the case.

Type: numberDefault: 1×10−15

Units: s

$TruncationErrorDescription: This is an indication of error tolerance in adaptive temporal integrators. The smaller the value the more

conservatively the time step shrinks to address high frequency dynamics.Type: numberDefault: 1×10−6

Tips: For simulation of cable dynamics, it is rare to use smaller than a value of 1e-8 and usually values of1e-5 will be much more efficient without significant change in error.

111

Page 114: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

A.3 Cable

A.3.1 Input file properties (*.ini)

A.3.1.1 Advanced damping

$CIDRampingPeriodDescription: The span of time over which axial strain damping is ramped from some fraction to the specified value.Type: number, optional, experimentalDefault: 0Units: sTips: This is used to help prevent destabilization from the use of very large damping values due to connectivity

adjustments at the start of a simulation

$CIDStartFactorDescription: The fraction of axial strain damping is ramped from this fraction to the user-specified value over the

span of time CIDRampingPeriod.Type: number, optional, experimentalDefault: 0Units: DimensionlessTips: This is used to help prevent destabilization from the use of very large damping values due to connectivity

adjustments at the start of a simulation

$NumericalDampingDescription: When enabled, a linearized axial cable dynamics model is integrated through an artificial time span

through a generalized-alpha implicit integrator to enact artificial high frequency damping effect.Type: integer, optional, experimentalDefault: 0

Options: # Description: Required follower properties:

0 Disabled

1 Enabled $NumericalDampingStep

$NumericalDampingStepDescription: The ratio of artificial time steps to nominal numerical integration time steps used to complete linear

generalized-alpha implicit integration to enact artificial high frequency damping.Type: number, optional, experimentalDefault: 1Units: DimensionlessOptional when: NumericalDamping is set to 1

A.3.1.2 Applied loading

$ExtLoadDescription: The property defines the ExtLoad feature to use to apply an external load to the cable at a specified

arclength.Type: string double, optional, feature referenceDefault: extLoad

[0]

Loads feature: ExtLoadColumn 0:

112

Page 115: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Name Extload feature nameInfo The name of the section to load in the simulation library

Column 1:

Name Arc lengthInfo The arc length along the cable at which the extload is applied

Range 0 to 100 000Units m

A.3.1.3 Boundary constraints

$Node0ClampedDescription: When enabled, the termination at node 0 is clamped in bending and torsion. When disabled, the

termination is pinned.Type: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 Disabled

1 Enabled $P10, $P20

Optional when: Node0Static is set to 1; orNode0Kinematic is set to 1

Tips: Bending and torsion moments and stress will always be zero at the termination if a pinned terminationis used.If the termination is clamped, the principal vectors P1 and P2 must be specified.

$Node0DeadbandPayoutSpeedDescription: The payout speed to use in the deadband.Type: number, optionalDefault: 0Units: NOptional when: Node0PayoutMode is set to 2

$Node0GroundDescription: When enabled, at simulation initialization, node 0 altitude is set to zero and fixed in space.Type: integer, optionalDefault: 0Options: 0 Disabled

1 Enabled

Optional when: Node0Static is set to 1Tips: This is used to fix the boundary node directly on the ground or seabed to avoid any air gap or significant

ground penetration.

$Node0KinematicDescription: When enabled, node 0 is kinematic and obeys constant velocity motion, ignoring all forces applied

otherwise. When disabled, the node is dynamic or otherwise free to be controlled by another DObject.Type: integer, optionalDefault: 0

113

Page 116: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Options: # Description: Required follower properties:

0 Disabled

1 Enabled $AverageForceWindowNode0, $AverageMomentWindowNode0,$AverageReactionPercentStartLoadNode0,$AverageReactionRampTimeNode0, $Node0Clamped

Tips: Use this if the boundary node is under control via API functionsConstant acceleration may also be used instead of constant velocity

$Node0PayoutModeDescription: Tension or payout speed control at DCable end at node 0 is enabled based on simple kinematic payout

velocity changes. More advanced control is available by using a DCableTensionController.Type: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 Off

1 Constant speed mode $Node0PayoutSpeed

2 Pretension mode $Node0DeadbandPayoutSpeed, $Node0Pretension,$Node0PretensionDeadbandPercentage,$Node0PretensionPayoutSpeed

Tips: This can be used to set a desired pretension during simulation setup.

$Node0PayoutRampTimeDescription: The time it takes to linearly ramp from 0 to Node0PayoutSpeed. The property may also used to ramp

commanded payout speed in pretension mode at the start of a simulation.Type: number, optionalDefault: 0Units: s

$Node0PayoutSpeedDescription: The payout speed at Node 0.Type: numberDefault: 1Units: m/sRequired when: Node0PayoutMode is set to 1

$Node0PretensionDescription: The Node0Pretension is the tension that the controller will attempt to maintain throughout the simu-

lationType: numberDefault: 1000Units: NRequired when: Node0PayoutMode is set to 2

114

Page 117: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$Node0PretensionDeadbandPercentageDescription: The percentage of the pretension value which to use as a deadband about the pretension setpoint; in

this band, the deadband payout speed is used.Type: number, optionalDefault: 5Units: %Optional when: Node0PayoutMode is set to 2

$Node0PretensionPayoutSpeedDescription: Node0PretensionPayoutSpeed is the payout speed to be used to achieve the pretension NodeNPretensionType: numberDefault: 0.1Units: m/sRequired when: Node0PayoutMode is set to 2Tips: Large payout speeds may result in tension oscillations that can destabilize a simulation.

If it is required to payin cable to decrease the tension, use a negative speed.

$Node0StaticDescription: When enabled, node 0 is fixed in space at the initial condition location. When disabled, the node is

dynamic or otherwise free to be controlled by another DObject.Type: integerDefault: 0

Options: # Description: Required follower properties:

0 Disabled

1 Enabled $Node0Clamped, $Node0Ground

$NodeNClampedDescription: When enabled, the termination at node N is clamped in bending and torsion. When disabled, the

termination is pinned.Type: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 Disabled

1 Enabled $P1N, $P2N

Optional when: NodeNStatic is set to 1; orNodeNKinematic is set to 1

Tips: Bending and torsion moments and stress will always be zero at the termination if a pinned terminationis used.If the termination is clamped, the principal vectors P1 and P2 must be specified.

$NodeNDeadbandPayoutSpeedDescription: The payout speed to use in the deadband.Type: number, optionalDefault: 0Units: NOptional when: NodeNPayoutMode is set to 2

115

Page 118: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$NodeNGroundDescription: When enabled, at simulation initialization, node 0 altitude is set to zero and fixed in space.Type: integer, optionalDefault: 0Options: 0 Disabled

1 Enabled

Optional when: NodeNStatic is set to 1Tips: This is used to fix the boundary node directly on the ground or seabed to avoid any air gap or significant

ground penetration.

$NodeNKinematicDescription: When enabled, node N is kinematic and obeys constant velocity motion, ignoring all forces applied

otherwise. When disabled, the node is dynamic or otherwise free to be controlled by another DObject.Type: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 Disabled

1 Enabled $AverageForceWindowNodeN, $AverageMomentWindowNodeN,$AverageReactionPercentStartLoadNodeN,$AverageReactionRampTimeNode0, $NodeNClamped

Tips: Use this if the boundary node is under control via API functionsConstant acceleration may also be used instead of constant velocity

$NodeNPayoutModeDescription: Tension or payout speed control at DCable end at node N is enabled based on simple kinematic payout

velocity changes. More advanced control is available by using a DCableTensionController.Type: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 Off

1 Constant speed mode $NodeNPayoutSpeed

2 Pretension mode $NodeNDeadbandPayoutSpeed, $NodeNPretension,$NodeNPretensionDeadbandPercentage,$NodeNPretensionPayoutSpeed

Tips: This can be used to set a desired pretension during simulation setup.

$NodeNPayoutRampTimeDescription: The time it takes to linearly ramp from 0 payout speed to NodeNPayoutSpeed. The property may also

be used to ramp commanded payout speed in pretension mode at the start of a simulation.Type: number, optionalDefault: 0Units: s

$NodeNPayoutSpeedDescription: The payout speed at node N.Type: numberDefault: 1

116

Page 119: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Units: m/sRequired when: NodeNPayoutMode is set to 1

$NodeNPretensionDescription: The NodeNPretension is the tension that the controller attempt to maintain throughout the simulationType: numberDefault: 1000Units: NRequired when: NodeNPayoutMode is set to 2

$NodeNPretensionDeadbandPercentageDescription: The percentage of the pretension value which to use as a deadband about the pretension setpoint; in

this band, the deadband payout speed is used.Type: number, optionalDefault: 5Units: %Optional when: NodeNPayoutMode is set to 2

$NodeNPretensionPayoutSpeedDescription: NodeNPretensionPayoutSpeed is the payout speed to be used to achieve the pretension NodeNPreten-

sionType: numberDefault: 0.1Units: m/sRequired when: NodeNPayoutMode is set to 2Tips: Large payout speeds may result in tension oscillations that can destabilize a simulation.

If it is required to payin cable to decrease the tension, use a negative speed.

$NodeNRingDescription: When enabled, node N is constrained by node 0 to produce continuous position, tangent, and curvature.Type: integer, optionalDefault: 0Options: 0 Disabled

1 Enabled

Optional when: NodeNStatic is set to 0

$NodeNStaticDescription: When enabled, node N is fixed in space at the initial condition location. When disabled, the node is

dynamic or otherwise free to be controlled by another DObject.Type: integerDefault: 0

Options: # Description: Required follower properties:

0 Disabled $NodeNRing

1 Enabled $NodeNClamped, $NodeNGround

117

Page 120: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$P10Description: The P1 principal unit vector at node 0. The vectors P1 and P2 are specified in terms of the global

reference frame and provide the boundary reference for constraint of tangent and torsion.Type: vectorDefault:

[0 0 0

]Units: DimensionlessRequired when: Node0Clamped is set to 1Tips: P1 and P2 are both in the plane of the cross-section of the DCable.

The cross product of P1 and P2 produces the tangent vector, which points positive direction from node0 toward node N.

$P1NDescription: The P1 principal unit vector at node N. The vectors P1 and P2 are specified in terms of the global

reference frame and provide the boundary reference for constraint of tangent and torsion.Type: vectorDefault:

[0 0 0

]Units: DimensionlessRequired when: NodeNClamped is set to 1Tips: P1 and P2 are both in the plane of the cross-section of the DCable.

The cross product of P1 and P2 produces the tangent vector, which points positive direction from node0 toward node N.

$P20Description: The P2 principal unit vector at node 0. The vectors P1 and P2 are specified in terms of the global

reference frame and provide the boundary reference for constraint of tangent and torsion.Type: vectorDefault:

[0 0 0

]Units: DimensionlessRequired when: Node0Clamped is set to 1Tips: P1 and P2 are both in the plane of the cross-section of the DCable.

The cross product of P1 and P2 produces the tangent vector, which points positive direction from node0 toward node N.

$P2NDescription: The P2 principal unit vector at node N. The vectors P1 and P2 are specified in terms of the global

reference frame and provide the boundary reference for constraint of tangent and torsion.Type: vectorDefault:

[0 0 0

]Units: DimensionlessRequired when: NodeNClamped is set to 1Tips: P1 and P2 are both in the plane of the cross-section of the DCable.

The cross product of P1 and P2 produces the tangent vector, which points positive direction from node0 toward node N.

A.3.1.4 Fluid Loading

$FluidCoefficientKCDataDescription: The property loads the FluidCoefficients feature that adds the effect of drag fluid coefficient variation

with KC number.Type: string, optional, feature referenceLoads feature: FluidCoefficientKC

118

Page 121: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$FluidCoefficientReDataDescription: The property loads the FluidCoefficients feature that adds the effect of drag fluid coefficient variation

with Reynolds number.Type: string, optional, feature referenceLoads feature: FluidCoefficientReynolds

$WindLoadingDescription: A flag that enables or disables wind loading. Set flag to 1 of enable and 0 for disable.Type: integer, optionalDefault: 1Options: 0 Disabled

1 Enabled

A.3.1.5 Fluid loading

$AngularDiscretizationDescription: The number of circumferential subsegments the DCable element or ExtMass is discretized into for more

accurate evaluation of buoyancy forcing.Type: integer, optionalDefault: 16

Optional when: FluidLoadingMode is set to 1; orSoilContactModel is set to 3

$AxialDiscretizationDescription: The number of subsegments a Cable or ExtMass is discretised into along the tangential axis. Affects

hydrostatic (buoyancy) loading only.Type: integer, optionalDefault: 10

Optional when: FluidLoadingMode is set to 1

$ExtMassDescription: The property defines the ExtMass feature to use to apply loading from a spherical point mass at a

specified arclength location.Type: string double, optional, feature referenceDefault: extMass

[0]

Loads feature: ExtMassColumn 0:

Name Extmass feature nameInfo The name of the section to load in the simulation library

Column 1:

Name Arc lengthInfo The arc length along the cable at which the extmass is applied

Range −100 000 to 100 000Units m

119

Page 122: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$ExtMassCylinderDescription: The ExtMassCylinder is a feature of a DCable object. An external cylinderical mass is applied to the

cableType: string double, optional, feature referenceDefault: extMassCylinder

[0]

Loads feature: ExtMassCylinderColumn 0:

Name ExtMassCylinder feature nameInfo The name of the section to load in the simulation library

Column 1:

Name Arc lengthInfo The arc length along the cable at which the extmass is applied

Range −100 000 to 100 000Units m

$FluidLoadingModeDescription: Controls how fluid loading is modelled. Either the volume of displaced water is used to compute

buoyancy when the centerpoint is below the water surface and distributed drag is based on nodemotions or a surface integral approach is taken.

Type: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 Constant volume

1 Surface Integral $AngularDiscretization, $AxialDiscretization

Tips: Floating pipes or booms with large diameters near the water surface should enable FluidLoadingMode.A DCable element that penetrates the water surface can have both buoyancy and water and air dragsimultaneously.This surface hydrodynamic loading algorithm behaves the same was as the simplified hydrodynamicmodel for the RigidBody for drag and added mass calculations.The cable element is further discretized in to angular and axial volume segments, specified by AxialD-iscretization and AngularDiscretization, to better quantify the buoyancy loading on the element.If activated, the circumference of the cable is discretized into angularSubSegments segments and thelocal hydrodynamic (if wet) or aerodynamic loading (if dry) is applied to each discrete panel.The subsurface pressure force due to hydrostatic and dynamic pressure is applied to the discrete hull.

A.3.1.6 General

$CategoryDescription: CategoryType: string, optional, experimental

A.3.1.7 Instrumentation

$ArcPointProbeDescription: For each arcpoint indicated, the 3D cartesian position with respect to the global reference frame and

printed to an output file.Type: matrix, variable number of rows, unordered, optionalDefault:

[0]

Units: m

120

Page 123: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$MaxCurvatureSpanProbeDescription: The maximum curvature is determined between the two user specified arclength locations and written

to an output file.Type: matrix, variable number of rows, unordered, optionalDefault:

[0 0

]Column 0:

Name Start spanInfo Arcspan location probe begins search for maximum curvature.

Range 0 to 1×107

Units mColumn 1:

Name End spanInfo Arcspan location probe ends search for maximum curvature.

Range 0 to 1×107

Units m

$MaxCurvatureSpanProbeSamplesDescription: This is the number of discrete sample points to check for the maximum curvature in the span indicated.Type: integer, optionalDefault: 20Units: Dimensionless

$MaxDNVPipeStressSpanProbeDescription: The maximum von Mises stress is determined between the two user specified arclength locations and

written to an output file.Type: matrix, variable number of rows, unordered, optional, experimentalDefault:

[0 0 0

]Column 0:

Name Start spanInfo Arcspan location probe begins search for maximum DNV pipe stress from.

Range −1×107 to 1×107

Units mColumn 1:

Name End spanInfo Arcspan location probe ends search for maximum DNV pipe stress.

Range −1×107 to 1×107

Units mColumn 2:

Name Stress diameterInfo Reference diameter used for computing the DNV pipe stress.

Range 0 to 100Units m

$MaxDNVPipeStressSpanProbeSamplesDescription: This is the number of discrete sample points to check for the DNV pipe stress in the span indicated.Type: integer, optional, experimentalDefault: 20Units: Dimensionless

121

Page 124: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$MaxVonMisesSpanProbeDescription: The maximum von Mises stress is determined between the two user specified arclength locations and

written to an output file.Type: matrix, variable number of rows, unordered, optionalDefault:

[0 0 0

]Column 0:

Name Start spanInfo Arcspan location probe begins search for maximum stress from.

Range −1×107 to 1×107

Units mColumn 1:

Name End spanInfo Arcspan location probe ends search for maximum stress.

Range −1×107 to 1×107

Units mColumn 2:

Name Stress diameterInfo Reference diameter used for computing the von Mises stress.

Range 0 to 100Units m

$MaxVonMisesSpanProbeSamplesDescription: This is the number of discrete sample points to check for the maximum stress in the span indicated.Type: integer, optionalDefault: 20Units: Dimensionless

$MinAltitudeSpanProbeDescription: The minimum altitude is determined between the two user specified arclength locations and written to

an output file.Type: matrix, variable number of rows, unordered, optionalDefault:

[0 0

]Column 0:

Name Start spanInfo Arcspan location probe begins search for minimum altitude.

Range 0 to 1×107

Units mColumn 1:

Name End spanInfo Arcspan location probe ends search for minimum altitude.

Range 0 to 1×107

Units m

$MinAltitudeSpanProbeSamplesDescription: This is the number of discrete sample points to check for the minimum altitude in the span indicated.Type: integer, optionalDefault: 20Units: m

122

Page 125: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$Node0AnchorDescription: This property indicates that Node 0 is at an anchor on the seabed, and triggers mooring line supple-

mental output to be written.Type: integer, optionalDefault: 0Options: 0 -

1 Node 0 is at an anchorUnits: DimensionlessTips: Set Node0Static to make the Node 0 fixed. This flag only triggers supplemental file output related to

anchors.

$Node0FairleadDescription: This property indicates that Node 0 is at the fairlead in a mooring line (i.e. the end of the mooring

connected to a floater), and triggers mooring line supplemental output to be written.Type: integer, optionalDefault: 0Options: 0 -

1 Node 0 is at a fairlead/floaterUnits: Dimensionless

$NodeNAnchorDescription: This property indicates that Node N is located at an anchor on the seabed, and triggers mooring line

supplemental output to be written.Type: integer, optionalDefault: 0Options: 0 -

1 Node N is at an anchorUnits: DimensionlessTips: Set NodeNStatic to make the Node N fixed. This flag only triggers supplemental file output related to

anchors.

$NodeNFairleadDescription: This property indicates that Node N is at the fairlead in a mooring line (i.e. the end of the mooring

connected to a floater), and triggers mooring line supplemental output to be written.Type: integer, optionalDefault: 0Options: 0 -

1 Node N is at a fairlead/floaterUnits: Dimensionless

$SubmergenceProbeDescription: Assigns a submergence probe at the provided arc length distance. Returns the submergence level of the

probe. A positive values for above water, a negative value for below.Type: matrix, variable number of rows, unordered, optionalDefault:

[0]

Units: m

123

Page 126: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$SupplementalOutputDescription: This property indicates if extra output indicating uplift at anchor and other parameters useful for pipelay

analysis, mooring design, etc are printed out through the simulation.Type: integer, optionalDefault: 0Options: 0 None

1 Mooring2 Pipes

Units: Dimensionless

$TensionProbeClampedDescription: For each arc location specified, the tension fixed on the DCable the tension is recorded and written to

an output file.Type: matrix, variable number of rows, unordered, optionalDefault:

[0]

Units: mTips: The arc location specifies a fixed location on the cable and arc location will change depending on payout

effects.If no points are specified, the files are not generated. The verbose flag does not need to be active forthis output.

$TensionProbeFixedArcNode0Description: For each constant arc location specified, the tension is recorded and written to an output file.Type: matrix, variable number of rows, unordered, optionalDefault:

[0]

Units: mTips: The arc location remains constant regardless of payout effects.

If no points are specified, the files are not generated. The verbose flag does not need to be active forthis output.

A.3.1.8 Mechanical

$AverageForceWindowNode0Description: The time window over which to average the boundary reaction force at end 0.Type: number, optionalDefault: 0.1Units: sOptional when: Node0Kinematic is set to 1

$AverageForceWindowNodeNDescription: The time window over which to average the boundary reaction force at end N.Type: number, optionalDefault: 0.1Units: sOptional when: NodeNKinematic is set to 1

$AverageMomentWindowNode0Description: The time window over which to average the boundary reaction moment at end 0.Type: number, optionalDefault: 0.1Units: s

124

Page 127: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Optional when: Node0Kinematic is set to 1

$AverageMomentWindowNodeNDescription: The time window over which to average the boundary reaction moment at end N.Type: number, optionalDefault: 0.1Units: sOptional when: NodeNKinematic is set to 1

$AverageP1P2WindowNode0Description: The time window over which to average the boundary principal normal vectors for clamped connections

at end 0.Type: number, optionalDefault: 0.1Units: s

$AverageP1P2WindowNodeNDescription: The time window over which to average the boundary principal normal vectors for clamped connections

at end N.Type: number, optionalDefault: 0.1Units: s

$AverageReactionPercentStartLoadNode0Description: The time over which the reaction loads are ramped up to full capacity at node 0.Type: number, optionalDefault: 1Units: %Optional when: Node0Kinematic is set to 1

$AverageReactionPercentStartLoadNodeNDescription: The time over which the reaction loads are ramped up to full capacity at node N.Type: number, optionalDefault: 1Units: %Optional when: NodeNKinematic is set to 1

$AverageReactionRampTimeNode0Description: The time over which the reaction loads are ramped up to full capacity at node 0.Type: number, optionalDefault: 0.1Units: sOptional when: Node0Kinematic is set to 1; or

NodeNKinematic is set to 1

125

Page 128: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$AverageReactionRampTimeNodeNDescription: The time over which the reaction loads are ramped up to full capacity at node N.Type: number, optionalDefault: 0.1Units: s

$CableSegmentDescription: Defines both the mechanical and hydrodynamic properties of cable elements by specifying a DCable-

Segment feature, and the desired unstretched length over which to assign the cable element properties.Type: string double, feature referenceDefault: segment0

[10]

Loads feature: DCableSegmentTips: Multiple cable segments may be used to define multiple line types (e.g. chain, rope, wire rope) with

distinct hydrodynamic and mechanical properties.If the length of the cable is greater than the sum of all cable segment lengths specified in the cableinput file, the properties of the last cable segment specified is applied to the end of the cable.

Column 0:

Name DCableSegment feature nameInfo The name of the DCableSegment feature to use.

Column 1:

Name Segment lengthInfo The unstretched length of the cable segment for which these mechanical properties apply

Range 0 to 1×109

Units m

$CableSegmentsSpecifiedFromNodeNDescription: When enabled, this flag indicates if material properties are specified in segment lengths starting from

node N. Otherwise, segment lengths are interpreted as specified from node 0.Type: integer, optionalDefault: 0Units: Dimensionless

$FluidCoefficientSeabedProximityDataDescription: This feature facilitates the effect of drag, added mass, and lift fluid coefficient variation with proximity

to seabed.Type: string, optional, feature referenceLoads feature: FluidCoefficientSeabedProximity

$InletTemperatureDescription: The specific heat of the fluid in the inner core.Type: number, optionalDefault: 0Units: CTips: The inlet is defined by the flow entering the domain.

$InnerMassFlowDescription: The incompressible steady state rate of fluid mass flow in the inner core.Type: number, optionalDefault: 0

126

Page 129: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Units: kg/sTips: Positive flow is from node 0 to node N.

Local flow velocity is computed based on local cross section area and density.

$InnerMassFlowSpecificHeatDescription: The specific heat of the fluid in the inner core.Type: number, optionalDefault: 0Units: J/kg/KTips: The specific heat is assumed constant.

$LinearQuadraticDragDescription: The property defines the linear and quadratic drag coefficients to apply distributed damping loads to

the line.Type: string double, optional, feature referenceDefault: linearQuadraticDrag

[ ]Loads feature: DCableLinearQuadraticDragColumn 0:

Name LinearQuadraticDrag feature nameInfo The name of the section to load in the simulation library

$PrecurveDescription: When enabled, the initial curvature of the DCable is fixed as the inherent curvature that serves as the

reference for zero flexural stress.Type: integer, optionalDefault: 0Options: 0 Disabled

1 Enabled

Tips: This can be used to model pipes or beams manufactured with curvatureThe initial curvature reference at each node point can also be provided by an initial conditions file.

$PrestrainDescription: When enabled, the initial strain of the DCable is fixed as the initial configuration or with strain values

provided as the zero tension and stress reference.Type: integer, optionalDefault: 0Options: 0 Disabled

1 Enabled

$RefInternalPressureDescription: The reference internal pressure of the pipeline at some arclength, the internal pressure along the rest

of the pipeline will be automatically computed.Type: number, optionalDefault: −1Units: Pa

127

Page 130: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$RefPressureArcLengthDescription: The arclength for which the reference internal pressure was defined.Type: number, optionalDefault: 0Units: Pa

A.3.1.9 Mesh control

$Node0AdvancedMeshingControlsDescription: When enabled, maximum and minimum boundary element lengths at which nodes are inserted or

removed during payout may be adjusted default values.Type: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 Disabled

1 Enabled $Node0ElementLengthMax, $Node0ElementLengthMin,$Node0TargetElementLength

$Node0ElementLengthMaxDescription: Maximum allowable element length. Violating these limits will result in an automatic remesh during

payout operation.Type: numberDefault: 1.5Units: mRequired when: Node0AdvancedMeshingControls is set to 1Tips: Avoid element length maximum and minimum values that are close in magnitude, as this may result in

toggling of adding and removing nodes during automatic remeshing.

$Node0ElementLengthMinDescription: Minimum allowable element length. Violating these limits will result in an automatic remesh during

payout operation.Type: numberDefault: 0.45Units: mRequired when: Node0AdvancedMeshingControls is set to 1Tips: Avoid short element lengths as they require small timesteps for stable numerical integration, which will

in turn reduce simulation execution speed.Avoid element length maximum and minimum values that are close in magnitude, as this may result intoggling of adding and removing nodes during automatic remeshing.

$Node0TargetElementLengthDescription: The target element length is used to set the size of the element immediately adjacent to payout at the

the DCable boundary. A node is inserted to split the boundary element in two when it reaches 1.5Xthe target element length. A node is removed when the boundary element reaches 0.45X the targetelement length.

Type: numberDefault: 1Units: mRequired when: Node0AdvancedMeshingControls is set to 1

128

Page 131: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Tips: An automatic target element length is automatically computed if no value is provided.Avoid short element lengths, which can cause slow simulations and toggling of automatic node insertionand removal.

$NodeNAdvancedMeshingControlsDescription: When enabled, maximum and minimum boundary element lengths at which nodes are inserted or

removed during payout may be adjusted default values.Type: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 Disabled

1 Enabled $NodeNElementLengthMax, $NodeNElementLengthMin,$NodeNTargetElementLength

$NodeNElementLengthMaxDescription: Maximum allowable element length. Violating these limits will result in an automatic remesh during

payout operation.Type: numberDefault: 1.5Units: mRequired when: NodeNAdvancedMeshingControls is set to 1Tips: Avoid element length maximum and minimum values that are close in magnitude, as this may result in

toggling of adding and removing nodes during automatic remeshing.

$NodeNElementLengthMinDescription: Minimum allowable element length. Violating these limits will result in an automatic remesh during

payout operation.Type: numberDefault: 0.45Units: mRequired when: NodeNAdvancedMeshingControls is set to 1Tips: Avoid short element lengths as they require small timesteps for stable numerical integration, which will

in turn reduce simulation execution speed.Avoid element length maximum and minimum values that are close in magnitude, as this may result intoggling of adding and removing nodes during automatic remeshing.

$NodeNTargetElementLengthDescription: When payout is turned on, the target element length is used to set the size of the element immediately

downstream/upstream of the boundary (i.e. newly created) element. The boundary element of a cableis split in two when it reaches 1.5X the target element length. It is removed removed when the boundaryelement reaches 0.45X the target element length.

Type: numberDefault: 1Units: mRequired when: NodeNAdvancedMeshingControls is set to 1Tips: An automatic target element length is automatically computed if no value is provided.

Avoid short element lengths as they require small timesteps for stable numerical integration, which willin turn reduce simulation execution speed.Avoid short element lengths as they may induce toggling of automatic node insertion and removal.

129

Page 132: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

A.3.1.10 Numerical

$VonMisesRadialSamplePointsDescription: The number of circumferential sample points around the cable outer diameter used when the von Mises

stress is calculated.Type: integer, optionalDefault: 12

Tips: Increase this number to increase the accuracy of the von Mises maximum stress estimate.

A.3.1.11 Seabed loading

$RandolphSoilPropertiesDescription: The name of the RandolphSoilModel section to load from the simulation library.Type: string, feature referenceLoads feature: DCableRandolphSoilModelRequired when: SoilContactModel is set to 2

$SoilContactCenterlineOffsetDescription: When activated, the centerline soil contact model is offset by the local radius of the cable to compute

soil contact loads.Type: integer, optionalDefault: 0Options: 0 Centerline reference is used for soil penetration calculations

1 Local radius offset from centerline is used for soil penetration calculations

Optional when: SoilContactModel is set to 1

$SoilContactModelDescription: Several soil contact models are available. All models can be used to provide restoring forces to prevent

penetration of the DCable into the soil layer.Type: integer, optionalDefault: 1

Options: # Description: Required follower properties:

0 Off

1 Centerline with multi-layer stiffness $SoilContactCenterlineOffset

2 Randolph non-linear repenetration and suction $RandolphSoilProperties

3 Discretized surface area with multi-layer stiffness $AngularDiscretization

A.3.2 Connections (lib.ini)

A.3.2.1 DCableDCablePointConnection properties

Connection Type: PointMaster: DCableFollower: DCable

$DCableFollowerLocationDescription: The arc length location along the master DCable where the follower DCable’s end node is attached.Type: numberDefault: 0

130

Page 133: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Units: m

$DCableFollowerNodeNDescription: This indicates what end of the follower DCable to connect to the master DCable.Type: integerDefault: 0Options: 0 Node 0

1 Node N

A.3.2.2 DCableDCableEndConnection properties

Connection Type: EndMaster: DCableFollower: DCable

$DCableFollowerNodeNDescription: This indicates what end of the follower DCable to connect to the master DCable.Type: integerDefault: 0Options: 0 Node 0

1 Node N

$DCableMasterNodeNDescription: This indicates what end of the master DCable to connect to the follower DCable end.Type: integerDefault: 0Options: 0 Node 0

1 Node N

A.3.2.3 DCableDNetPointConnection properties

Connection Type: PointMaster: DCableFollower: DNet

$DNetFollowerArcLocationDescription: Arc span location along the master Cable to attach the follower Net.Type: numberDefault: 0Units: m

$DNetFollowerEdgeDescription: This indicates the corresponding edge of the follower DNet that is attached to the master DCable.Type: integerDefault: 0

131

Page 134: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$DNetFollowerEdgeLocationDescription: The arc distance along the edge of the follower Net that is attached to the master Cable. The nearest

node to this location will be constrained.Type: numberDefault: 0Units: m

A.3.2.4 DCableDNetEdgeConnection properties

Connection Type: EdgeMaster: DCableFollower: DNet

$DNetFollowerEdgeDescription: This indicates the corresponding edge of the follower DNet that is attached to the master DCable.Type: integerDefault: 0

$DNetFollowerSpanDescription: The entire follower DNet edge is constrained by a section of the master DCable. This specifies the start

and end of the span on the master to use for the connection.Type: vectorDefault:

[0 0

]Column 0:

Name StartInfo The start arc span location along the master DCable.

Range 0 to 1×107

Column 1:

Name EndInfo The end arc span location along the master DCable.

Range 0 to 1×107

A.3.3 Features (lib.ini)

A.3.3.1 ExtMass feature properties

$ApparentMassInWaterDescription: Apparent mass or wet mass in a reference fluid.Type: numberDefault: 1Units: kgRequired when: ExtMassType is set to 1; or

ExtMassType is set to 3Tips: The apparent mass in water or reference fluid is the dry weight less the buoyancy divided by gravitational

acceleration.A negative value indicates buoyancy when in the reference fluid.

$ApparentMassWaterDensityDescription: The density of the reference fluid used when specifying the apparent mass in water.Type: numberDefault: 1025

132

Page 135: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Units: kg/m3

Required when: ExtMassType is set to 1; orExtMassType is set to 3

$CADescription: The added mass coefficient of the ExtMass. The reference volume for computing added mass is the

spherical volume defined by the Diameter.Type: numberDefault: 0.5

$CDDescription: The drag coefficient of the ExtMass. The reference area for computing drag is circular cross section

defined by the diameter. If extmass is a cylinder, the drag area is computed using the diameter andlength.

Type: numberDefault: 0.5

$DensityDescription: The density of the ExtMass.Type: numberDefault: 1025Units: kg/m3

Required when: ExtMassType is set to 0; orExtMassType is set to 0

$DiameterDescription: The diameter of the ExtMass.Type: numberDefault: 1Units: m

$DisplacedVolumeDescription: The volume of the ExtMass used to calculate buoyancy forces.Type: numberDefault: 1Units: m3

Required when: ExtMassType is set to 3Tips: The displaced volume is multiplied with the relative fluid density to establish the buoyancy of the

extmass.

$ExtMassTypeDescription: The ExtMass may be defined by setting the density, weight in air/water, or fluid/buoyancy diameter.Type: integer, optionalDefault: 0

133

Page 136: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Options: # Description: Required follower properties:

0 by density $Density

1 by mass in air, water $ApparentMassInWater,$ApparentMassWaterDensity, $Mass

3 by mass in water and displaced volume $ApparentMassInWater,$ApparentMassWaterDensity, $DisplacedVolume

$FluidLoadingModeDescription: When enabled, a variable hydrodynamic loading algorithm for the pointmass is used.Type: integer, optionalDefault: 1Options: 0 Disabled

1 Enabled

Tips: This should be enabled for all surface buoys.An ExtMass that penetrates the water surface can have both buoyancy and water and air drag simul-taneously.This model behaves the same was as the simplified hydrodynamic model for the RigidBody.To reduce computations and potentially speed up execution, disable this option for a fully submergedExtMass.If activated, the circumference of the PointMass is discretized into segments and the local hydrodynamic(if wet) or aerodynamic loading (if dry) is applied to each discrete panel.The subsurface pressure force due to hydrostatic and dynamic pressure is applied to the discrete hull.

$MassDescription: The mass of the ExtMass.Type: numberDefault: 1Units: kgRequired when: ExtMassType is set to 1Tips: This value can not be negative.

This is the value of ExtMass in air.

$NumSurfaceSamplePointsDescription: The number of sample points on the extmass surface to sample any hydrodynamics or soil contact

pressure.Type: integer, optionalDefault: 12

A.3.3.2 ExtMassCylinder feature properties

$ApparentMassInWaterDescription: Apparent mass or wet mass in a reference fluid.Type: numberDefault: 1Units: kgRequired when: ExtMassType is set to 1; or

ExtMassType is set to 3

134

Page 137: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Tips: The apparent mass in water or reference fluid is the dry weight less the buoyancy divided by gravitationalacceleration.A negative value indicates buoyancy when in the reference fluid.

$ApparentMassWaterDensityDescription: The density of the reference fluid used when specifying the apparent mass in water.Type: numberDefault: 1025Units: kg/m3

Required when: ExtMassType is set to 1; orExtMassType is set to 3

$CADescription: The added mass coefficient of the ExtMass. The reference volume for computing added mass is the

spherical volume defined by the Diameter.Type: numberDefault: 0.5

$CDDescription: The drag coefficient of the ExtMass. The reference area for computing drag is circular cross section

defined by the diameter. If extmass is a cylinder, the drag area is computed using the diameter andlength.

Type: numberDefault: 0.5

$CDtDescription: The drag coefficient of the cylinder ExtMass. The reference area for computing drag is circular cross

section defined by the Diameter.Type: numberDefault: 0.93

$DensityDescription: The density of the ExtMass.Type: numberDefault: 1025Units: kg/m3

Required when: ExtMassType is set to 0; orExtMassType is set to 0

$DiameterDescription: The diameter of the ExtMass.Type: numberDefault: 1Units: m

135

Page 138: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$DisplacedVolumeDescription: The volume of the ExtMass used to calculate buoyancy forces.Type: numberDefault: 1Units: m3

Required when: ExtMassType is set to 3Tips: The displaced volume is multiplied with the relative fluid density to establish the buoyancy of the

extmass.

$ExtMassTypeDescription: The ExtMass may be defined by setting the density, weight in air/water, or fluid/buoyancy diameter.Type: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 by density $Density

1 by mass in air, water $ApparentMassInWater,$ApparentMassWaterDensity, $Mass

3 by mass in water and displaced volume $ApparentMassInWater,$ApparentMassWaterDensity, $DisplacedVolume

$FluidLoadingModeDescription: When enabled, a variable hydrodynamic loading algorithm for the pointmass is used.Type: integer, optionalDefault: 1Options: 0 Disabled

1 Enabled

Tips: This should be enabled for all surface buoys.An ExtMass that penetrates the water surface can have both buoyancy and water and air drag simul-taneously.This model behaves the same was as the simplified hydrodynamic model for the RigidBody.To reduce computations and potentially speed up execution, disable this option for a fully submergedExtMass.If activated, the circumference of the PointMass is discretized into segments and the local hydrodynamic(if wet) or aerodynamic loading (if dry) is applied to each discrete panel.The subsurface pressure force due to hydrostatic and dynamic pressure is applied to the discrete hull.

$LengthDescription: The length assumed aligned to the reference tangent the cylinder is attached to.Type: numberDefault: 1Units: m

$MassDescription: The mass of the ExtMass.Type: numberDefault: 1Units: kgRequired when: ExtMassType is set to 1

136

Page 139: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Tips: This value can not be negative.This is the value of ExtMass in air.

$NumSurfaceSamplePointsDescription: The number of sample points on the extmass surface to sample any hydrodynamics or soil contact

pressure.Type: integer, optionalDefault: 12

A.3.3.3 ExtLoad feature properties

$ForceDescription: The constant force applied to a point along the span of the DCable or DNet with components expressed

in terms of the global coordinate system.Type: vectorDefault:

[0 0 0

]Units: N

A.3.3.4 DCableSegment feature properties

$AxialRigidityModeDescription: Axial rigidity mode of operation. Axial rigidity defines a material’s resistance to deformation under

loading, and is the slope of the load-elongation curve.Type: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 Linear axial rigidity $EA

1 Linear axial rigidty with hysteresis $EA, $EAN, $LoadingRateCutoffFrequency,$LoadingRateThreshold, $TimeConstantLoading,$TimeConstantUnloading,$UnloadingRateThreshold

2 Nonlinear axial rigidity $LoadElongationLoadingData,$LoadElongationMode, $PolynomialFitMode,$StrainPolynomialCoefficients,$StrainPolynomialFitRange

3 Nonlinear axial rigidity with hysteresis $LoadElongationLoadingData,$LoadElongationMode,$LoadElongationUnloadingData,$LoadingRateCutoffFrequency,$LoadingRateThreshold, $PolynomialFitMode,$StrainPolynomialCoefficients,$StrainPolynomialCoefficientsNegative,$StrainPolynomialFitRange,$TimeConstantLoading, $TimeConstantUnloading,$UnloadingRateThreshold

Tips: When using hysteresis, a different axial rigidity is used when loading and unloading a cable. Timeconstants are used to control the transition between loading and unloading the cable.When nonlinear rigidity is specified, a 9th order polynomial or load-elongation curve is specified.

137

Page 140: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$BCIDDescription: Flexural or bending coefficient of internal damping.Type: numberDefault: 0Units: N ∗ s ∗m2

Tips: This produces an internal reaction load proportional to the temporal rate of change of cable flexuralstrain.

$BuoyancyDiameterDescription: Hypothetical diameter used to compute the buoyancy force per unit length acting on the cable segment.Type: number, optionalDefault: −1Units: mTips: Buoyancy force is equal to the weight of the displaced water.

If not specified, the Diameter property is used for buoyancy calculations.

$CAcDescription: Added mass coefficient. Used for determination of added mass effects based on relative flow acceleration

normal to the cable.Type: numberDefault: 1Units: DimensionlessTips: Tangential added mass effects are neglected.

For chain, specify FluidDiameter as the chain size (bar diameter); set this property as the ratio of thecable segment Diameter property to chain size (assuming added mass coefficient of 1.0 for chain).

$CDcDescription: Normal drag coefficient. Used for calculation of hydrodynamic drag loading based on relative flow

normal to the cable segment using Morison approach.Type: numberDefault: 1Options: 1 Smooth cylinder

1.5 Wire or synthetic rope2.2 Studless chain2.4 Stud link chain

Units: DimensionlessTips: Force drag computation to use a different diameter by defining FluidDiameter. Important for chain

modelling.

$CDtDescription: Tangential drag coefficient. Used for calculation of cable loading due to relative flow tangential to the

cable.Type: numberDefault: 0.01Options: 1.15 Studless chain

1.4 Stud link chainUnits: DimensionlessTips: Force drag computation to use a different diameter by defining FluidDiameter. Important for chain

modelling.Tangential drag coefficient is based on diameter (frontal area) rather than circumference (surface area).

138

Page 141: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$CEDescription: The cable compressive elasticity.Type: numberDefault: 1Options: 0 Chain

1 Ropes, pipes, risers, unbilicalsUnits: DimensionlessTips: When set to 0, the cable elements do not compress. Tension can not go below zero.

Long slender elements or chain may require this to replicate the ease at which buckling occurs andavoid unrealistic compressive tension.

$CIDDescription: Coefficient of internal damping for axial strain rate.Type: numberDefault: 100Units: N ∗ sTips: This produces an internal reaction load proportional to the temporal rate of change of cable axial strain.

Simulation execution speed is very sensitive to this property.Commonly adjusted with changes in axial rigidity.

$DensityDescription: Used with Diameter property to specify mass per unit length.Type: numberDefault: 1000Units: kg/m3

Tips: Not to be confused with rope material density (or S.G.). The property should always be calculated forthe cable segment type (chain, wire rope, synthetic rope, etc.) using the nominal diameter and thecable mass per unit length.For pipes the mass per unit length is calculated taking into account optional properties InnerDiameterand InnerDensity.For chain the material density is used.

$DiameterDescription: Nominal diameter of the cable. Used with the Density property to set the mass per unit length of the

cable.Type: numberDefault: 0.01Units: mTips: Used for calculation of drag and added mass unless the FluidDiameter property is specified.

Used for calculation of buoyancy unless the BuoyancyDiameter property is specified.Assumes uniform circular cross section.For chain the property is calculated using the mass per unit length and chain material density.See also optional properties: FluidDiameter, BuoyancyDiameter, InnerDiameter

$EADescription: Axial rigidity.Type: numberDefault: 1×106

Units: N

139

Page 142: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Required when: AxialRigidityMode is set to 0; orAxialRigidityMode is set to 1

Tips: Best estimated from manufacturer supplied or experimentally determined axial stress-strain or percentelongation curves.For a cable segment of uniform material and cross-sectional area this is the material modulus of elasticity(E) multiplied by the cross-sectional area (A).EA may change based on the axial load applied and so care is required in using an appropriate EA forthe load range.

$EANDescription: Axial rigidity when rate of axial strain is negative. Axial stiffness of the segment is proportional to this

parameter.Type: numberDefault: 1×106

Units: NRequired when: AxialRigidityMode is set to 1

$EI1Description: Flexural rigidity (P1 direction). Bending stiffness of the segment is proportional to this parameter.Type: numberDefault: 1Units: N ∗m2

Tips: Set EI1 = EI2 for segments with circular cross-section or axis-symmetric bending properties such assynthetic rope, chain, wire rope, pipes, risers, and umbilicals.Many synthetic ropes and chains have negligible flexural rigidity: EI1 = EI2 = 0.For cables with non-axissymettric cross-sections (e.g. I-beam), EI1 is the flexural rigidity in the directionof the P1 principle vector. The area moment of inertia should be computed in the P1 principle vectordirection or about the P2 principle vector.For a cable of uniform material and cross-section, this is the modulus of elasticity (E) multiplied by thecross section area moment of inertia (I).Frequently unknown for wire rope and some umbilicals which may have significant flexural rigidity. Mustbe estimated based on assumed uniform cross-sectio and material.

$EI2Description: Flexural rigidity associated with P2 direction. Bending stiffness of the segment is proportional to this

parameter.Type: numberDefault: 1Units: N ∗m2

Tips: Set EI1 = EI2 for segments with circular cross-section or axis-symmetric bending properties such assynthetic rope, chain, wire rope, pipes, risers, and umbilicals.Many synthetic ropes and chains have negligible flexural rigidity: EI2 = EI2 = 0.For cables with non-axissymettric cross-sections (e.g. I-beam), EI2 is the flexural rigidity in the directionof the P2 principle vector. The area moment of inertia should be computed in the P1 principle vectordirection or about the P2 principle vector.For a cable type of uniform material and cross-section, this is the modulus of elasticity (E) multipliedby the cross section area moment of inertia (I).Frequently unknown for wire rope and some umbilicals which may have significant flexural rigidity. Mustbe estimated based on assumed uniform cross-section and material.

140

Page 143: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$ElasticModulusDescription: Modulus of elasticity of the material.Type: number, optionalDefault: −1Units: PaTips: If defined, this value is used to perform stress computations, otherwise it is approximated from EA.

Defining the modulus of elasticity will not affect mechanical or dynamic properties of the cable whichwill use axial and flexural rigidities EA, EI.

$ElongationLimitDescription: The strain threshold above which ElongationLimitEA axial rigidity is applied.Type: numberDefault: 1Units: −Required when: ElongationLimitMode is set to 1Tips: Effective for use as an end-stop condition for axial elongation.

$ElongationLimitEADescription: When the segment’s strain exceeds ElongationLimit, this axial rigidity dicdates the rate of increase in

tension relative to how much the strain exceeds the limit.Type: numberDefault: 1×108

Units: NRequired when: ElongationLimitMode is set to 1Tips: Effective for use as an end-stop condition for axial elongation.

$ElongationLimitModeDescription: If enabled, a strain limit is provided. If the segment’s strain limit is exceeded, any further strain will

contribute an increase in tension based on the overiding axial rigidty: ElongationLimitEA.Type: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 No limit to strain

1 Strain limit applies $ElongationLimit, $ElongationLimitEA

$FlexuralModulusDescription: Flexural modulus, the ratio of stress and strain during flexural deformation.Type: number, optionalDefault: −1Units: PaTips: If defined, this value is used to perform stress computations, otherwise it is approximated from EI1 and

EI2. Defining the flexural modulus will not affect mechanical or dynamic properties of the cable whichwill continue to use EI1 or EI2.

$FluidDiameterDescription: Diameter used to compute drag effects and added mass for cable segment based on Morison approach.Type: number, optionalDefault: −1

141

Page 144: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Units: mTips: If not specified the Diameter property is used.

For chain specify the chain size (bar diameter) for this property.

$GJDescription: Torsional rigidity. Torsional stiffness of the segment is proportional to torsional rigidity.Type: numberDefault: 0Units: N ∗m2

Tips: For a cable of uniform material and cross-section, this is the Shear Modulus (G) multiplied by the crosssection area polar area moment of inertia (J).Many ropes and chains have negligible torsional rigidity, and GJ may be set to 0.Both ends of the line must be clamped for torsion deflection to have any effect.

$InnerConvectionCoefficientDescription: The convection heat transfer coefficient on the inner diameter surface.Type: number, optionalDefault: 5000Units: W/m2/K

$InnerDensityDescription: The mass density of core section within the inner diameter.Type: number, optionalDefault: 0Units: kg/m3

Tips: If not specified, it is assumed zero.Mass per unit length is computed assuming circular cross section and considering Diameter and Densityfor the outer annulus and InnerDiameter and InnerDensity for the inner annulus.

$InnerDiameterDescription: The inner diameter formed from a finite wall thickness from the nominal diameter.Type: number, optionalDefault: 0Units: mTips: If not specified, it is assumed zero.

Mass per unit length is computed assuming circular cross section and considering Diameter and andDensity for the outer annulus and InnerDiameter and InnerDensity for the inner annulus.

$LinearThermalExpansionDescription: The bulk linear axial thermal expansion coefficient.Type: number, optionalDefault: 0Units: /KTips: This is used to compute the axial strain effects to change in material temperature from 20 deg C.

$LoadElongationLoadingDataDescription: Elongation and associated load. When hysteresis is used, this is interpreted as data for increasing load.Type: matrix, variable number of rowsDefault:

[0 0

]142

Page 145: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Required when: LoadElongationMode is set to 1 and AxialRigidityMode is set to 2; orLoadElongationMode is set to 1 and AxialRigidityMode is set to 3

Column 0:

Name LoadRange 0 to 1×1016

Units NColumn 1:

Name Percent elongationRange 0 to 1000Units Percent

$LoadElongationModeDescription: This flag indicates that nonlinear axial rigidity is provided using either a load-elongation data series or

using a high-order engineering strain polynomial.Type: integerDefault: 1

Options: # Description: Required follower properties:

1 Load-elongation data $LoadElongationLoadingData, $LoadElongationUnloadingData,$PolynomialFitMode, $PolynomialFitOrder

2 Polynominal $StrainPolynomialCoefficients,$StrainPolynomialCoefficientsNegative, $StrainPolynomialFitRange

Required when: AxialRigidityMode is set to 2; orAxialRigidityMode is set to 3

$LoadElongationUnloadingDataDescription: Elongation and assocated load during decreasing load when hysteresis is used.Type: matrix, variable number of rowsDefault:

[0 0

]Required when: LoadElongationMode is set to 1 and AxialRigidityMode is set to 3Column 0:

Name LoadRange 0 to 1×1016

Units NColumn 1:

Name Percent elongationRange 0 to 1000Units Percent

$LoadingRateCutoffFrequencyDescription: Cutoff frequency for low pass filter on loading rate.Type: number, optionalDefault: 20Units: HzOptional when: AxialRigidityMode is set to 1; or

AxialRigidityMode is set to 3

143

Page 146: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$LoadingRateThresholdDescription: Strain rate threshold that demarcates a transition to loading state from unloading.Type: number, optionalDefault: 0.0001Units: s−1Optional when: AxialRigidityMode is set to 1; or

AxialRigidityMode is set to 3

$OuterConvectionCoefficientDescription: The convection heat transfer coefficient on the outer diameter surface.Type: number, optionalDefault: 5000Units: W/m2/K

$PoissonRatioDescription: Average Poisson’s ratio for the material.Type: number, optionalDefault: 0Units: DimensionlessTips: This is used to compute the axial change in length due to external and internal pressurization effects

$PolynomialFitModeDescription: Indicate the function to use to interpolate load and elongation data. A polynomial will be fit to the

inputted load and elongation data. The degree of fit can be manually specified by the user, or willautomatically be determined by optimizing error between the polynomial and user data.

Type: integerDefault: 0

Options: # Description: Required follower properties:

0 Automatic polynomial fit

1 User specified degree of fit $PolynomialFitOrder

Required when: LoadElongationMode is set to 1 and AxialRigidityMode is set to 2; orLoadElongationMode is set to 1 and AxialRigidityMode is set to 3

Tips: ProteusDS fits a Green strain based polynomial to the load-elongation curve provided for computingthe tensions within the cable. This parameter controls whether the user specifies the order of thepolynomial being fit to the load-elongation curve or whether to let ProteusDS automically choose thepolynomial order with the least error.

$PolynomialFitOrderDescription: Used to specify the order of the polynomial to fit to the load-elongation data.Type: integerDefault: 5

Required when: PolynomialFitMode is set to 1 and LoadElongationMode is set to 1Tips: ProteusDS fits a Green strain based polynomial to the load-elongation curve provided for computing

the tensions within the cable. This parameter controls the order of the polynomial being fit to theload-elongation curve.

144

Page 147: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$ShearModulusDescription: Shear modulus, the ratio of stress and strain during shear deformation.Type: number, optionalDefault: −1Units: PaTips: If defined, this value is used to perform stress computations, otherwise it is approximated from GJ.

Defining the shear modulus will not affect mechanical or dynamic properties of the cable which willcontinue to use GJ.

$StrainPolynomialCoefficientsDescription: Axial rigidity when rate of axial engineering strain is positive. Axial rigidity is defined as a polynomial,

up to 9th order, in terms of the engineering strain.Type: vectorDefault:

[1e+ 006 0 0 0 0 0 0 0 0

]Required when: LoadElongationMode is set to 2 and AxialRigidityMode is set to 2; or

LoadElongationMode is set to 2 and AxialRigidityMode is set to 3Tips: Tension = EA*e + C2*eˆ2 + C3*eˆ3 + ... where e is the engineering strain.

Best estimated from manufacturer supplied or experimentally determined axial stress-strain or alterna-tively provide input via a percent elongation curve.For a cable segment of uniform material and cross-sectional area.

Column 0:

Name EAInfo Linear coefficient of axial rigidty: tension grows linear with strain.

Range 1×10−9 to 1×1016

Column 1:

Name C2Info Polynomial coefficient for 2rd order power of strain.

Range −1×1016 to 1×1016

Column 2:

Name C3Info Polynomial coefficient for 3rd order power of strain.

Range −1×1016 to 1×1016

Column 3:

Name C4Info Polynomial coefficient for 4th order power of strain.

Range −1×1016 to 1×1016

Column 4:

Name C5Info Polynomial coefficient for 5th order power of strain.

Range −1×1016 to 1×1016

Column 5:

Name C6Info Polynomial coefficient for 6th order power of strain.

Range −1×1016 to 1×1016

Column 6:

Name C7Info Polynomial coefficient for 7th order power of strain.

Range −1×1016 to 1×1016

Column 7:

Name C8Info Polynomial coefficient for 8th order power of strain.

Range −1×1016 to 1×1016

145

Page 148: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Column 8:

Name C9Info Polynomial coefficient for 9th order power of strain.

Range −1×1016 to 1×1016

$StrainPolynomialCoefficientsNegativeDescription: Axial rigidity when rate of axial engineering strain is negative. Axial rigidity is defined as a polynomial,

up to 9th order, in terms of the engineering strain.Type: vectorDefault:

[1e+ 006 0 0 0 0 0 0 0 0

]Required when: LoadElongationMode is set to 2 and AxialRigidityMode is set to 3Tips: Tension = EA*e + C2*eˆ2 + C3*eˆ3 + ... where e is the engineering strain.Column 0:

Name EAInfo Linear coefficient of axial rigidty: tension grows linear with strain.

Range −1×1016 to 1×1016

Column 1:

Name C2Info Polynomial coefficient for 2rd order power of strain.

Range −1×1016 to 1×1016

Column 2:

Name C3Info Polynomial coefficient for 3rd order power of strain.

Range −1×1016 to 1×1016

Column 3:

Name C4Info Polynomial coefficient for 4th order power of strain.

Range −1×1016 to 1×1016

Column 4:

Name C5Info Polynomial coefficient for 5th order power of strain.

Range −1×1016 to 1×1016

Column 5:

Name C6Info Polynomial coefficient for 6th order power of strain.

Range −1×1016 to 1×1016

Column 6:

Name C7Info Polynomial coefficient for 7th order power of strain.

Range −1×1016 to 1×1016

Column 7:

Name C8Info Polynomial coefficient for 8th order power of strain.

Range −1×1016 to 1×1016

Column 8:

Name C9Info Polynomial coefficient for 9th order power of strain.

Range −1×1016 to 1×1016

146

Page 149: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$StrainPolynomialFitRangeDescription: The maximum engineering strain value that the polynomial is fit to.Type: numberDefault: 0.25Units: DimensionlessRequired when: LoadElongationMode is set to 2 and AxialRigidityMode is set to 2; or

LoadElongationMode is set to 2 and AxialRigidityMode is set to 3Tips: Internally, ProteusDS computes stress, or tension, based on Green strain. ProteusDS must convert the

engineering strain coefficients to Green strain based coefficients by fitting a new polynomial to the oneprovided in terms of the engineering strain. This parameter limits the range for polynomial curve fitting.

$TCIDDescription: Torsional coefficient of internal damping.Type: numberDefault: 0Units: N ∗ s ∗m2

Tips: This produces an internal reaction load proportional to the temporal rate of change of cable torsionstrain.

$ThermalConductivityDescription: The material thermal conductivity.Type: number, optionalDefault: 20Units: W/m/K

$TimeConstantLoadingDescription: Time constant used in blending response of axial rigidity in transition to extension from loading (i.e.

transition to positive strain rate). The time required to achieve complete 63.2% of the change in state.Type: numberDefault: 0Units: sRequired when: AxialRigidityMode is set to 1; or

AxialRigidityMode is set to 3

$TimeConstantUnloadingDescription: Time constant used in blending response of axial rigidity in transition to contraction during unloading

(i.e. transition to negative strain rate). The time required to achieve complete 63.2% of the change instate.

Type: numberDefault: 0Units: sRequired when: AxialRigidityMode is set to 1; or

AxialRigidityMode is set to 3

$UnloadingRateThresholdDescription: Strain rate threshold that demarcates a transition to unloading state from loading.Type: number, optionalDefault: 1×10−5

Units: s−1

147

Page 150: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Optional when: AxialRigidityMode is set to 1; orAxialRigidityMode is set to 3

A.3.3.5 DCableLinearQuadraticDrag feature properties

$LinearNormalDragCoefficientDescription: Coefficient for linear drag applied using local line velocity in the normal direction.Type: numberDefault: 0Units: N ∗ s/m2

Required when: Mode is set to 0

$LinearTangentialDragCoefficientDescription: Coefficient for linear drag applied using local line velocity in the tangential direction.Type: numberDefault: 0Units: N ∗ s/m2

$ModeDescription: A switch that changes the mode of functionality of this feature.Type: integerDefault: 0

Options: # Description: Required follower properties:

0 Symmetrical Coefficients $LinearNormalDragCoefficient

$QuadraticNormalDragCoefficientDescription: Coefficient for quadratic drag applied using local line velocity in the normal direction.Type: numberDefault: 0Units: N ∗ s2/m3

$QuadraticTangentialDragCoefficientDescription: Coefficient for quadratic drag applied using local line velocity in the tangential direction.Type: numberDefault: 0Units: N ∗ s2/m3

$UseRelativeVelocityDescription: A flag to allow the use of relative velocity for computing the damping force. 0 (default) forces use of

absolute velocity, 1 forces use of relative velocity (relative to fluid).Type: integer, optionalDefault: 0Options: 0 No

1 Yes

Tips: 1 for relative, 0 for absolute.

148

Page 151: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

A.3.3.6 DCableRandolphSoilModel feature properties

$aDescription: A penetration resistance parameter of the Randolph model. This controls the variation of the bearing

factor with penetration.Type: number, optionalDefault: 0

$bDescription: A penetration resistance parameter of the Randolph model. This controls the variation of the bearing

factor with penetration.Type: number, optionalDefault: 0

$BuoyancyFactorDescription: Soil buoyancy factor. Buoyancy is computed as the submerged volume of the cable/pipe under the soil

times the density of the soil times the buoyancy factor.Type: number, optionalDefault: 1.5Units: Dimensionless

$FsucDescription: Suction resistance ratio of the soil.Type: number, optionalDefault: 0Units: Dimensionless

$KmaxDescription: Normalized maximum stiffness of the soil.Type: number, optionalDefault: 0Units: Dimensionless

$LambdaRepDescription: Normalised repenetration offset after uplift.Type: number, optionalDefault: 0Units: Dimensionless

$LambdaSucDescription: Normalised suction decay distance.Type: number, optionalDefault: 0Units: Dimensionless

149

Page 152: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$ShearStrDescription: The soil shear strength at the mudline.Type: number, optionalDefault: 0Units: Pa

$ShearStrGradientDescription: The soil shear strength gradient or the rate of change with respect to depth.Type: number, optionalDefault: 0Units: Pa/m

$SoilDensityDescription: Soil density for soil buoyancy calculation.Type: number, optionalDefault: 1.5Units: kg/m3

A.3.3.7 FluidCoefficientSeabedProximity feature properties

$CAcSeabedDescription: This allows specification of added mass coefficient variation with dimensionless gap width from seabed.

This is used as an augmentation factor on top of a nominal added mass coefficient.Type: matrix, variable number of rows, unordered, optionalDefault:

[0 0

]Column 0:

Name Gap widthRange −100 to 100Units Dimensionless

Column 1:

Name Added mass coefficientInfo The corresponding added mass coefficient at the specified gap width.

Range 0 to 1000Units Dimensionless

$CDcSeabedDescription: This allows specification of drag coefficient variation with dimensionless gap width from seabed. This

is used as an augmentation factor on top of a nominal drag coefficient.Type: matrix, variable number of rows, unordered, optionalDefault:

[0 0

]Column 0:

Name Gap widthRange −100 to 100Units Dimensionless

Column 1:

Name Drag coefficientInfo The corresponding drag coefficient at the specified gap width.

Range 0 to 1000Units Dimensionless

150

Page 153: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$CLcSeabedDescription: This allows specification of lift coefficient variation with dimensionless gap width from seabed. This is

used as an augmentation factor on top of a nominal lift coefficient.Type: matrix, variable number of rows, unordered, optionalDefault:

[0 0

]Column 0:

Name Gap widthRange −100 to 100Units Dimensionless

Column 1:

Name Lift coefficientInfo The corresponding lift coefficient at the specified gap width.

Range 0 to 1000Units Dimensionless

A.3.3.8 FluidCoefficientReynolds feature properties

$CDcReDescription: This allows specification of variation of drag coefficient with Reynolds number. This is used as an

augmentation factor on top of a static drag coefficient.Type: matrix, variable number of rows, unordered, optionalDefault:

[0 0

]Column 0:

Name Reynolds NumberRange 0 to 1×109

Units DimensionlessColumn 1:

Name Drag coefficientInfo The corresponding drag coefficient at the specified Reynolds number.

Range 0 to 1000Units Dimensionless

A.3.3.9 FluidCoefficientKC feature properties

$CAcKCDescription: This allows specification of variation of added mass coefficient with Keulegan-Carpenter number. This

is used as an augmentation factor on top of a static added mass coefficient.Type: matrix, variable number of rows, unordered, optionalDefault:

[0 0

]Column 0:

Name Keulegan-Carpenter NumberRange 0 to 1×109

Units DimensionlessColumn 1:

Name Added mass coefficientInfo The corresponding added mass coefficient at the specified Keulegan-Carpenter number.

Range 0 to 1000Units Dimensionless

151

Page 154: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$CDcKCDescription: This allows specification of variation of drag coefficient with Keulegan-Carpenter number. This is used

as an augmentation factor on top of a static drag coefficient.Type: matrix, variable number of rows, unordered, optionalDefault:

[0 0

]Column 0:

Name Keulegan-Carpenter NumberRange 0 to 1×109

Units DimensionlessColumn 1:

Name Drag coefficientInfo The corresponding drag coefficient at the specified Keulegan-Carpenter number.

Range 0 to 1000Units Dimensionless

$ReflectionKCDescription: This specifies the wave reflection coefficient as a function of incident period or Keulegan-Carpenter

number.Type: matrix, variable number of rows, unordered, optionalDefault:

[0 0

]Column 0:

Name KC or Period NumberRange 0 to 1×109

Units DimensionlessColumn 1:

Name Wave reflection coefficientInfo Indicates the magnitude of the wave that is reflected off the floating body.

Range 0 to 1Units Dimensionless

A.3.4 Data file (*.dat)

Required sections:• state• lengthsOptional sections:• precurve

Listing A.1: *.dat file for a Cable DObject <state >

0 //Node 0 velocity X (m/s)

0 //Node 0 position X (m)

0 //Node 0 velocity Y (m/s)

0 //Node 0 position Y (m)

0 //Node 0 velocity Z (m/s)

0 //Node 0 position Z (m)

0 //Node 1 velocity X (m/s)

0 //Node 1 position X (m)

0 //Node 1 velocity Y (m/s)

0 //Node 1 position Y (m)

0 //Node 1 velocity Z (m/s)

5 //Node 1 position Z (m)

0 //Node N velocity X (m/s) Note: (Node 3 is Node ’N’ for this example)

152

Page 155: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

0 //Node N position X (m)

0 //Node N velocity Y (m/s)

0 //Node N position Y (m)

0 //Node N velocity Z (m/s)

10 //NodeN position Z (m)

0 //twist

</state >

<lengths >

5 // element length (dat)

5 // element length (dat)

</lengths >

153

Page 156: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

A.4 Net

A.4.1 Input file properties (*.ini)

A.4.1.1 Applied loading

$ExtLoadDescription: The property defines the ExtLoad feature to use to apply an external load on the net at a given location.Type: string double, optional, feature referenceDefault: extLoadName

[0 0

]Loads feature: ExtLoadTips: The arcdistance from node 0,0 to the application point in the form [m,m] is specifiedColumn 0:

Name ExtLoad feature nameInfo The name of the ExtLoad feature to use.

Column 1:

Name Arc lengthInfo The arc length along the net at which the extload is applied

Range 0 to 1000Units m

Column 2:

Name Arc lengthInfo The arc length along the net at which the extload is applied

Range 0 to 1000Units m

$ExtMassDescription: The property defines the ExtMass feature to use to to apply loading to the net at a given arclength

location.Type: string double, optional, feature referenceDefault: extMassName

[0 0

]Loads feature: ExtMassTips: The arcdistance from node 0,0 to the application point in the form [m,m] is specifiedColumn 0:

Name ExtMass feature nameInfo The name of the ExtMass feature to use.

Column 1:

Name Arc lengthInfo The arc length along the net at which the extmass is applied

Range 0 to 1×1030

Units mColumn 2:

Name Arc lengthInfo The arc length along the net at which the extmass is applied

Range 0 to 1×1030

Units m

154

Page 157: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

A.4.1.2 Boundary constraints

$Edge0RingDescription: When enabled, both transverse edges are constrained and connected to each other with continuous

tangent and curvature.Type: integerDefault: 0Options: 0 Disabled

1 Enabled

Tips: This can be used to form a cylindrical net

$Edge0StaticDescription: When enabled, all nodes along edge 0 are fixed in space at the initial condition locations. When

disabled, all nodes along the edge are dynamic or free to be constrained by another DObject. Cornernodes are shared by adjacent edges and are constrained when either adjacent edge is constrained.

Type: integerDefault: 0Options: 0 Disabled

1 Enabled

Tips: Edge 0 is the first transverse edgeA connection conflict error will occur if all available nodes along an entire edge are constrained byanother entity.

$Edge1StaticDescription: When enabled, all nodes along edge 1 are fixed in space at the initial condition locations. When

disabled, all nodes along the edge are dynamic or free to be constrained by another DObject. Cornernodes are shared by adjacent edges and are constrained when either adjacent edge is constrained.

Type: integerDefault: 0Options: 0 Disabled

1 Enabled

Tips: Edge 1 is the last transverse edgeA connection conflict error will occur if all available nodes along an entire edge are constrained byanother entity.

$Edge2RingDescription: When enabled, both longitudinal edges are constrained and connected to each other with continuous

tangent and curvature.Type: integerDefault: 0Options: 0 Disabled

1 Enabled

Tips: This can be used to form a cylindrical net

$Edge2StaticDescription: When enabled, all nodes along edge 2 are fixed in space at the initial condition locations. When

disabled, all nodes along the edge are dynamic or free to be constrained by another DObject. Cornernodes are shared by adjacent edges and are constrained when either adjacent edge is constrained.

Type: integerDefault: 0

155

Page 158: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Options: 0 Disabled1 Enabled

Tips: Edge 2 is the first longitudinal edgeA connection conflict error will occur if all available nodes along an entire edge are constrained byanother entity.

$Edge3StaticDescription: When enabled, all nodes along edge 3 are fixed in space at the initial condition locations. When

disabled, all nodes along the edge are dynamic or free to be constrained by another DObject. Cornernodes are shared by adjacent edges and are constrained when either adjacent edge is constrained.

Type: integerDefault: 0Options: 0 Disabled

1 Enabled

Tips: Edge 3 is the last longitudinal edgeA connection conflict error will occur if all available nodes along an entire edge are constrained byanother entity.

$Node00StaticDescription: When enabled, that corner node 00 is fixed in space at the initial condition location. When disabled,

node is not fixed in space and is dynamic or otherwise free to be constrained by other DObjects.Type: integerDefault: 0Options: 0 Disabled

1 Enabled

Tips: Node 00 is the first node on the first transverse edge

$Node0NStaticDescription: When enabled, that corner node 0N is fixed in space at the initial condition location. When disabled,

node is not fixed in space and is dynamic or otherwise free to be constrained by other DObjects.Type: integerDefault: 0Options: 0 Disabled

1 Enabled

Tips: Note 0N is the last node on the first transverse edge

$NodeM0StaticDescription: When enabled, that corner node M0 is fixed in space at the initial condition location. When disabled,

node is not fixed in space and is dynamic or otherwise free to be constrained by other DObjects.Type: integerDefault: 0Options: 0 Disabled

1 Enabled

Tips: Note N0 is the first node on the last transverse edge

156

Page 159: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$NodeMNStaticDescription: When enabled, that corner node MN is fixed in space at the initial condition location. When disabled,

node is not fixed in space and is dynamic or otherwise free to be constrained by other DObjects.Type: integerDefault: 0Options: 0 Disabled

1 Enabled

Tips: Note MN is the last node on the last transverse edge

A.4.1.3 General

$CategoryDescription: CategoryType: string, optional, experimental

A.4.1.4 Mechanical

$FluidCoefficientKCDataDescription: The property loads the FluidCoefficients feature that adds the effect of drag fluid coefficient variation

with KC number.Type: string, optional, feature referenceLoads feature: FluidCoefficientKC

$FluidCoefficientReDataDescription: The property loads the FluidCoefficients feature that adds the effect of drag fluid coefficient variation

with Reynolds number.Type: string, optional, feature referenceLoads feature: FluidCoefficientReynolds

$NetPanelPropertiesDescription: The property loads the DNetPanel feature. The DNetPanel feature defines the mechanical properties

of the netType: string, feature referenceDefault: dNetPanelLoads feature: DNetPanel

A.4.2 Connections (lib.ini)

A.4.2.1 DNetDNetEdgeConnection properties

Connection Type: EdgeMaster: DNetFollower: DNet

$DNetFollowerArcSpanDescription: The entire follower DNet edge is constrained by a section of the master DNet edge. This specifies the

start and end of the span on the master to use for the connection.Type: vectorDefault:

[0 0

]Column 0:

157

Page 160: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Name StartInfo The start arc span location along the master DNet edge.

Range 0 to 1×107

Column 1:

Name EndInfo The end arc span location along the master DNet edge.

Range 0 to 1×107

$DNetFollowerEdgeDescription: This indicates which edges of the DNets are connected together.Type: vector of integersDefault:

[0 0

]Column 0:

Name Master IndexInfo Edge index of master DNet in the connection.

Range 0 to 3Column 1:

Name Follower IndexInfo Edge index of follower DNet kinematically constrained by the master in the connection.

Range 0 to 3

A.4.3 Features (lib.ini)

A.4.3.1 ExtMassCylinder feature properties

$ApparentMassInWaterDescription: Apparent mass or wet mass in a reference fluid.Type: numberDefault: 1Units: kgRequired when: ExtMassType is set to 1; or

ExtMassType is set to 3Tips: The apparent mass in water or reference fluid is the dry weight less the buoyancy divided by gravitational

acceleration.A negative value indicates buoyancy when in the reference fluid.

$ApparentMassWaterDensityDescription: The density of the reference fluid used when specifying the apparent mass in water.Type: numberDefault: 1025Units: kg/m3

Required when: ExtMassType is set to 1; orExtMassType is set to 3

$CADescription: The added mass coefficient of the ExtMass. The reference volume for computing added mass is the

spherical volume defined by the Diameter.Type: numberDefault: 0.5

158

Page 161: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$CDDescription: The drag coefficient of the ExtMass. The reference area for computing drag is circular cross section

defined by the diameter. If extmass is a cylinder, the drag area is computed using the diameter andlength.

Type: numberDefault: 0.5

$CDtDescription: The drag coefficient of the cylinder ExtMass. The reference area for computing drag is circular cross

section defined by the Diameter.Type: numberDefault: 0.93

$DensityDescription: The density of the ExtMass.Type: numberDefault: 1025Units: kg/m3

Required when: ExtMassType is set to 0; orExtMassType is set to 0

$DiameterDescription: The diameter of the ExtMass.Type: numberDefault: 1Units: m

$DisplacedVolumeDescription: The volume of the ExtMass used to calculate buoyancy forces.Type: numberDefault: 1Units: m3

Required when: ExtMassType is set to 3Tips: The displaced volume is multiplied with the relative fluid density to establish the buoyancy of the

extmass.

$ExtMassTypeDescription: The ExtMass may be defined by setting the density, weight in air/water, or fluid/buoyancy diameter.Type: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 by density $Density

1 by mass in air, water $ApparentMassInWater,$ApparentMassWaterDensity, $Mass

3 by mass in water and displaced volume $ApparentMassInWater,$ApparentMassWaterDensity, $DisplacedVolume

159

Page 162: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$FluidLoadingModeDescription: When enabled, a variable hydrodynamic loading algorithm for the pointmass is used.Type: integer, optionalDefault: 1Options: 0 Disabled

1 Enabled

Tips: This should be enabled for all surface buoys.An ExtMass that penetrates the water surface can have both buoyancy and water and air drag simul-taneously.This model behaves the same was as the simplified hydrodynamic model for the RigidBody.To reduce computations and potentially speed up execution, disable this option for a fully submergedExtMass.If activated, the circumference of the PointMass is discretized into segments and the local hydrodynamic(if wet) or aerodynamic loading (if dry) is applied to each discrete panel.The subsurface pressure force due to hydrostatic and dynamic pressure is applied to the discrete hull.

$LengthDescription: The length assumed aligned to the reference tangent the cylinder is attached to.Type: numberDefault: 1Units: m

$MassDescription: The mass of the ExtMass.Type: numberDefault: 1Units: kgRequired when: ExtMassType is set to 1Tips: This value can not be negative.

This is the value of ExtMass in air.

$NumSurfaceSamplePointsDescription: The number of sample points on the extmass surface to sample any hydrodynamics or soil contact

pressure.Type: integer, optionalDefault: 12

A.4.3.2 ExtMass feature properties

$ApparentMassInWaterDescription: Apparent mass or wet mass in a reference fluid.Type: numberDefault: 1Units: kgRequired when: ExtMassType is set to 1; or

ExtMassType is set to 3Tips: The apparent mass in water or reference fluid is the dry weight less the buoyancy divided by gravitational

acceleration.A negative value indicates buoyancy when in the reference fluid.

160

Page 163: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$ApparentMassWaterDensityDescription: The density of the reference fluid used when specifying the apparent mass in water.Type: numberDefault: 1025Units: kg/m3

Required when: ExtMassType is set to 1; orExtMassType is set to 3

$CADescription: The added mass coefficient of the ExtMass. The reference volume for computing added mass is the

spherical volume defined by the Diameter.Type: numberDefault: 0.5

$CDDescription: The drag coefficient of the ExtMass. The reference area for computing drag is circular cross section

defined by the diameter. If extmass is a cylinder, the drag area is computed using the diameter andlength.

Type: numberDefault: 0.5

$DensityDescription: The density of the ExtMass.Type: numberDefault: 1025Units: kg/m3

Required when: ExtMassType is set to 0; orExtMassType is set to 0

$DiameterDescription: The diameter of the ExtMass.Type: numberDefault: 1Units: m

$DisplacedVolumeDescription: The volume of the ExtMass used to calculate buoyancy forces.Type: numberDefault: 1Units: m3

Required when: ExtMassType is set to 3Tips: The displaced volume is multiplied with the relative fluid density to establish the buoyancy of the

extmass.

$ExtMassTypeDescription: The ExtMass may be defined by setting the density, weight in air/water, or fluid/buoyancy diameter.Type: integer, optionalDefault: 0

161

Page 164: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Options: # Description: Required follower properties:

0 by density $Density

1 by mass in air, water $ApparentMassInWater,$ApparentMassWaterDensity, $Mass

3 by mass in water and displaced volume $ApparentMassInWater,$ApparentMassWaterDensity, $DisplacedVolume

$FluidLoadingModeDescription: When enabled, a variable hydrodynamic loading algorithm for the pointmass is used.Type: integer, optionalDefault: 1Options: 0 Disabled

1 Enabled

Tips: This should be enabled for all surface buoys.An ExtMass that penetrates the water surface can have both buoyancy and water and air drag simul-taneously.This model behaves the same was as the simplified hydrodynamic model for the RigidBody.To reduce computations and potentially speed up execution, disable this option for a fully submergedExtMass.If activated, the circumference of the PointMass is discretized into segments and the local hydrodynamic(if wet) or aerodynamic loading (if dry) is applied to each discrete panel.The subsurface pressure force due to hydrostatic and dynamic pressure is applied to the discrete hull.

$MassDescription: The mass of the ExtMass.Type: numberDefault: 1Units: kgRequired when: ExtMassType is set to 1Tips: This value can not be negative.

This is the value of ExtMass in air.

$NumSurfaceSamplePointsDescription: The number of sample points on the extmass surface to sample any hydrodynamics or soil contact

pressure.Type: integer, optionalDefault: 12

A.4.3.3 ExtLoad feature properties

$ForceDescription: The constant force applied to a point along the span of the DCable or DNet with components expressed

in terms of the global coordinate system.Type: vectorDefault:

[0 0 0

]Units: N

162

Page 165: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

A.4.3.4 DNetPanel feature properties

$BCIDDescription: The flexural or bending coefficient of internal damping.Type: numberDefault: 0Units: N ∗ sTips: This produces an internal reaction load proportional to the temporal rate of change of net twine flexural

strain.

$CAcDescription: The added mass coefficient for relative flow acceleration normal to net twine.Type: numberDefault: 1Units: DimensionlessTips: Tangential added mass effects are neglected.

$CDcDescription: The drag coefficient used for relative flow normal to net twine.Type: numberDefault: 1Units: Dimensionless

$CDtDescription: The drag coefficient used for relative flow tangential to net twine.Type: numberDefault: 0.02Units: Dimensionless

$CEDescription: The filament compressive elasticity.Type: numberDefault: 0Units: DimensionlessTips: When set to 0, the net twine does not compress. Net twine tension can not go below zero.

Longer net elements with a thin twine diameter may require this to replicate the ease at which bucklingoccurs and avoid unrealistic compressive tension.

$CIDDescription: The coefficient of internal damping for axial strain rate.Type: numberDefault: 1Units: N ∗ sTips: This produces an internal reaction load proportional to the temporal rate of change of net twine axial

strain.

163

Page 166: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$DensityDescription: The net twine density.Type: numberDefault: 1500Units: kg/m3

$DiameterDescription: The nominal net twine diameter.Type: numberDefault: 0.001Units: m

$EADescription: The net twine axial rigidity.Type: numberDefault: 100 000Units: NTips: For a solid material, this is the Modulus of Elasticity multiplied by the cross section area.

An equivalent Modulus of Elasticity can usually be calculated for known stress-strain curves on technicalspecification sheets for many materials.An estimate of the cross section area may be the circular cross section area based on the filamentdiameter.

$EIDescription: The net twine flexural rigidity.Type: numberDefault: 0Units: N ∗m2

Tips: For a solid material, this is the Modulus of Elasticity multiplied by the cross section area moment ofinertia.An equivalent Modulus of Elasticity can usually be calculated for known stress-strain curves on technicalspecification sheets for many materials.An estimate of the cross section area moment of inertia may be that of a circular section defined bythe filament diameter.

$FilamentCountDescription: The net twine (filament) count represents the number of net twines per meter.Type: numberDefault: 10Units: 1/mTips: This is the inverse of the half-mesh size.

$SnDescription: The solidity or fraction of area covered by the net.Type: number, optionalDefault: 0Units: DimensionlessTips: If this is not provided, it is approximated as 2*(twine diameter)*(filament count)

164

Page 167: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

A.4.3.5 FluidCoefficientReynolds feature properties

$CDcReDescription: This allows specification of variation of drag coefficient with Reynolds number. This is used as an

augmentation factor on top of a static drag coefficient.Type: matrix, variable number of rows, unordered, optionalDefault:

[0 0

]Column 0:

Name Reynolds NumberRange 0 to 1×109

Units DimensionlessColumn 1:

Name Drag coefficientInfo The corresponding drag coefficient at the specified Reynolds number.

Range 0 to 1000Units Dimensionless

A.4.3.6 FluidCoefficientKC feature properties

$CAcKCDescription: This allows specification of variation of added mass coefficient with Keulegan-Carpenter number. This

is used as an augmentation factor on top of a static added mass coefficient.Type: matrix, variable number of rows, unordered, optionalDefault:

[0 0

]Column 0:

Name Keulegan-Carpenter NumberRange 0 to 1×109

Units DimensionlessColumn 1:

Name Added mass coefficientInfo The corresponding added mass coefficient at the specified Keulegan-Carpenter number.

Range 0 to 1000Units Dimensionless

$CDcKCDescription: This allows specification of variation of drag coefficient with Keulegan-Carpenter number. This is used

as an augmentation factor on top of a static drag coefficient.Type: matrix, variable number of rows, unordered, optionalDefault:

[0 0

]Column 0:

Name Keulegan-Carpenter NumberRange 0 to 1×109

Units DimensionlessColumn 1:

Name Drag coefficientInfo The corresponding drag coefficient at the specified Keulegan-Carpenter number.

Range 0 to 1000Units Dimensionless

165

Page 168: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$ReflectionKCDescription: This specifies the wave reflection coefficient as a function of incident period or Keulegan-Carpenter

number.Type: matrix, variable number of rows, unordered, optionalDefault:

[0 0

]Column 0:

Name KC or Period NumberRange 0 to 1×109

Units DimensionlessColumn 1:

Name Wave reflection coefficientInfo Indicates the magnitude of the wave that is reflected off the floating body.

Range 0 to 1Units Dimensionless

A.4.4 Data file (*.dat)

Required sections:• state• lengths

Listing A.2: *.dat file for a Net DObject <State >

0 0 0

10 5 0

0 0 0

0 0 0

0 0 0

0 0 0

0 0 0

10 5 0

0 0 0

5 5 5

0 0 0

0 0 0

0 0 0

10 5 0

0 0 0

10 10 10

0 0 0

0 0 0

</State >

<Lengths >

5 5

5 5

5 5

5 5

5 5

5 5

</Lengths >

166

Page 169: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

A.5 PointMass

A.5.1 Input file properties (*.ini)

A.5.1.1 Fluid loading

$CAcDescription: The added or virtual mass coefficient of the PointMass. The resulting added mass value is always

calculated as a spherical volume based on the specified characteristic diameter.Type: numberDefault: 0.5Units: DimensionlessRequired when: PointMassType is set to 0; or

PointMassType is set to 1

$CDcDescription: The drag coefficient of the PointMass. The frontal area of the PointMass is always calculated as a

circular area based on the specified characteristic diameter.Type: numberDefault: 0.5Units: DimensionlessRequired when: PointMassType is set to 0; or

PointMassType is set to 1

$ExtMassDescription: The property defines the ExtMass feature to use to apply loading from a spherical point massType: string, feature referenceDefault: extMassLoads feature: ExtMassRequired when: PointMassType is set to 2

$FluidLoadingModeDescription: When enabled, a variable hydrodynamic loading algorithm for the pointmass is used.Type: integer, optionalDefault: 1Options: 0 Disabled

1 Enabled

Optional when: PointMassType is set to 0; orPointMassType is set to 1

Tips: This should be enabled for all surface buoys.A PointMass that penetrates the water surface can have both buoyancy and water and air drag simul-taneously.This model behaves the same was as the simplified hydrodynamic model for the RigidBody.To reduce computations and potentially speed up execution, disable this option for a fully submergedPointMass.If activated, the circumference of the PointMass is discretized into segments and the local hydrodynamic(if wet) or aerodynamic loading (if dry) is applied to each discrete panel.The subsurface pressure force due to hydrostatic and dynamic pressure is applied to the discrete hull.

167

Page 170: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

A.5.1.2 General

$CategoryDescription: CategoryType: string, optional, experimental

A.5.1.3 Mechanical

$ApparentMassInWaterDescription: Apparent mass or wet mass in a reference fluid.Type: numberDefault: 1Units: kgRequired when: PointMassType is set to 1Tips: The apparent mass in water or reference fluid is the dry weight less the buoyancy divided by gravitational

acceleration.A negative value indicates the PointMass will be buoyant when in the reference fluid.

$ApparentMassWaterDensityDescription: The density of the reference fluid used to calculate the apparent mass.Type: numberDefault: 1025Units: kg/m3

Required when: PointMassType is set to 1

$DensityDescription: The density of the PointMass.Type: numberDefault: 500Units: kg/m3

Required when: PointMassType is set to 0

$DiameterDescription: The reference diameter of the PointMass. When PointMassType is set to 0, a sphere shape is assumed

that facilitates calculating mass, buoyancy, and hydrodynamic loading. When PointMassType is set to1, the diameter is only used for hydrodynamic calculations.

Type: numberDefault: 0.25Units: mRequired when: PointMassType is set to 0; or

PointMassType is set to 1

$MassDescription: The mass of the PointMass.Type: numberDefault: 1Units: kgRequired when: PointMassType is set to 1Tips: This value can not be negative.

This is the value of mass in air.

168

Page 171: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

A.5.1.4 Type

$PointMassTypeDescription: The PoinatMass may be defined by setting the density, the weight in air/water, or, using an ExtMass

feature in the library.Type: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 by density $CAc, $CDc, $Density, $Diameter, $FluidLoadingMode

1 by mass in air, water $ApparentMassInWater, $ApparentMassWaterDensity, $CAc, $CDc,$Diameter, $FluidLoadingMode, $Mass

2 by ExtMass feature $ExtMass

A.5.2 Connections (lib.ini)

A.5.2.1 PointMassDCablePointConnection properties

Connection Type: PointMaster: PointMassFollower: DCable

$DCableFollowerNodeNDescription: This indicates what end of the follower DCable is attached. When enabled, the end of at node N is

attached. Otherwise, the end at node 0 is attached.Type: integerDefault: 0Options: 0 Disabled

1 Enabled

A.5.2.2 PointMassDNetPointConnection properties

Connection Type: PointMaster: PointMassFollower: DNet

$DNetFollowerEdgeDescription: This indicates the corresponding edge of the follower net that is attached to the master PointMass.Type: integerDefault: 0

$DNetFollowerLocationDescription: The arc distance along the edge of the follower DNet that is attached to the master PointMass.Type: numberDefault: 0Units: m

169

Page 172: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

A.5.2.3 PointMassPointMassPointConnection properties

Connection Type: PointMaster: PointMassFollower: PointMass

A.5.3 Data file (*.dat)

Required sections:• state

Listing A.3: *.dat file for a PointMass DObject <state >

0.0 // X velocity (m/s)

0.0 // X position (m)

0.0 // Y velocity (m/s)

0.0 // Y position (m)

0.0 // Z velocity (m/s)

0.0 // X position (m)

</state >

170

Page 173: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

A.6 RigidBody

A.6.1 Input file properties (*.ini)

A.6.1.1 Applied loading

$ExtForceBodyDescription: This is a force that is applied to the rigid body. The force is constant and expressed in terms of the

body reference frame. The point of application on the body is ExtForceLocation, which is a positionvector also expressed in terms of the body frame.

Type: vector, optionalDefault:

[0 0 0

]Units: N

$ExtForceGlobalDescription: This is a force that is applied to the rigid body. The force is constant and expressed in terms of the

inertial reference frame. The point of application on the body is ExtForceLocation, which is a positionvector expressed in terms of the body frame.

Type: vector, optionalDefault:

[0 0 0

]Units: N

$ExtForceLocationDescription: This is the fixed point in terms of the RigidBody frame where a constant external force is applied.Type: vector, optionalDefault:

[0 0 0

]Units: m

$ExtForceMomentRampTimeDescription: When set to a time greater than 0.0, the ExtMomentGlobal, ExtForceGlobal, ExtMomentBody and

ExtForceBody loads will be ramped from 0.0 to the set value between time 0.0s and ExtForceMomen-tRampTime; otherwise no ramping is applied to externally applied forces or moments.

Type: number, optionalDefault: 0Units: s

$ExtMomentBodyDescription: This is a constant applied moment applied to the rigid body. This moment is specified by the user and

is constant when expressed in terms of the body reference frame.Type: vector, optionalDefault:

[0 0 0

]Units: Nm

$ExtMomentGlobalDescription: This is a constant applied moment applied to the rigid body expressed in terms of the global reference

frame.Type: vector, optionalDefault:

[0 0 0

]Units: Nm

171

Page 174: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$ExtSinusoidalForceGlobalDescription: This is the amplitude of a sinusoidal force that is applied to the rigid body. The force is expressed in

terms of the global reference frame with amplitude in the X, Y, and Z directions.Type: vector, optionalDefault:

[0 0 0

]Units: N

$ExtSinusoidalForceLocationDescription: This is the fixed point in terms of the RigidBody frame where a sinusoidal external force is applied.Type: vector, optionalDefault:

[0 0 0

]Units: m

$ExtSinusoidalForcePeriodDescription: This is the period of a sinusoidal force applied to the rigid body.Type: number, optionalDefault: 10Units: s

$ExtSinusoidalMomentGlobalDescription: This is the amplitude of a sinusoidal moment applied to the rigid body expressed in terms of the global

reference frame with amplitudes about the X, Y, and Z direction.Type: vector, optionalDefault:

[0 0 0

]Units: Nm

$ExtSinusoidalMomentPeriodDescription: This is the period of a sinusoidal moment applied to the rigid body.Type: number, optionalDefault: 10Units: s

A.6.1.2 Fluid loading

$AddedMassDescription: Specifies the RigidBodyAddedMass feature to load from the simulation library and the position and

orientation of the feature in the rigid body local coordinate system.Type: string double, optional, feature referenceDefault: rigidBodyAddedMass

[0 0 0 0 0 0

]Loads feature: RigidBodyAddedMassColumn 0:

Name feature nameInfo The name of the RigidBodyAddedMass feature to load

Column 1:

Name xInfo x axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

Column 2:

172

Page 175: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Name yInfo y axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

Column 3:

Name zInfo z axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

Column 4:

Name PhiInfo Roll angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

Column 5:

Name ThetaInfo Pitch angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

Column 6:

Name PsiInfo Heading angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

$BuoyancyDescription: This indicates the magnitude of an always-vertical force applied to a rigid body.Type: number, optionalDefault: 0Units: NTips: Note that if buoyancy is turned on for any included features all buoyancy forces will be cumulative.

The force set by Buoyancy is not the net force, or apparent wet weight, of an object in the water.To determine the net buoyancy force for a completely submerged object given the apparent massin water, subtract the apparent mass in water from the mass in air and multiply by gravitationalacceleration.The buoyancy force for a submerged object can be deteremine by calculating the mass of displacedwater volume.

$CBPositionDescription: Indicates the position in the local coordinate frame of the vertical force applied by use of the $Buoyancy

force property.Type: vector, optionalDefault:

[0 0 0

]Units: mTips: Note that if buoyancy is turned on for a custom mesh feature or cylinder, the CBPosition property does

not affect those features.

173

Page 176: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$CuboidDescription: Specifies the RigidBodyCuboid feature to load from the simulation library. The feature defines a

parametric cuboid numerical mesh that facilitates calculation of hydrodynamic and seabed contactloading on the rigid body.

Type: string double, optional, feature referenceDefault: rigidBodyCuboid

[0 0 0 0 0 0

]Loads feature: RigidBodyCuboidColumn 0:

Name feature nameInfo The name of the RigidBodyCuboid feature to load

Column 1:

Name xInfo x axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

Column 2:

Name yInfo y axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

Column 3:

Name zInfo z axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

Column 4:

Name PhiInfo Roll angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

Column 5:

Name ThetaInfo Pitch angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

Column 6:

Name PsiInfo Heading angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

$CustomMeshDescription: Specifies the RigidBodyCustomMesh feature to load from the simulation library. The feature defines a

custom numerical mesh that facilitates calculation of hydrodynamic and seabed contact loading on therigid body.

Type: string double, optional, feature referenceDefault: rigidBodyCustomMesh

[0 0 0 0 0 0

]Loads feature: RigidBodyCustomMeshColumn 0:

Name feature nameInfo The name of the RigidBodyCustomMesh feature to load

Column 1:

174

Page 177: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Name xInfo x axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

Column 2:

Name yInfo y axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

Column 3:

Name zInfo z axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

Column 4:

Name PhiInfo Roll angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

Column 5:

Name ThetaInfo Pitch angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

Column 6:

Name PsiInfo Heading angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

$CylinderDescription: Specifies the RigidBodyCylinder feature to load from the simulation library. The feature defines a

cylindrical numerical mesh that facilitates calculation of hydrodynamic and seabed contact loading onthe rigid body.

Type: string double, optional, feature referenceDefault: rigidBodyCylinder

[0 0 0 0 0 0

]Loads feature: RigidBodyCylinderColumn 0:

Name feature nameInfo The name of the RigidBodyCylinder feature to load

Column 1:

Name xInfo x axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

Column 2:

Name yInfo y axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

Column 3:

175

Page 178: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Name zInfo z axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

Column 4:

Name PhiInfo Roll angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

Column 5:

Name ThetaInfo Pitch angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

Column 6:

Name PsiInfo Heading angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

$EllipsoidDescription: Specifies the RigidBodyEllipsoid feature to load from the simulation library. The feature defines a

parametric ellipsoid numerical mesh that facilitates calculation of hydrodynamic and seabed contactloading on the rigid body.

Type: string double, optional, feature referenceDefault: rigidBodyEllipsoid

[0 0 0 0 0 0

]Loads feature: RigidBodyEllipsoidColumn 0:

Name feature nameInfo The name of the RigidBodyEllipsoid feature to load

Column 1:

Name xInfo x axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

Column 2:

Name yInfo y axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

Column 3:

Name zInfo z axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

Column 4:

Name PhiInfo Roll angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

Column 5:

176

Page 179: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Name ThetaInfo Pitch angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

Column 6:

Name PsiInfo Heading angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

$FoilDescription: Specifies the RigidBodyFoil feature to load from the simulation library. The feature is used to define

airfoil/hydrofoil properties. Uses strip theory approach. The foil feature frame is located along the mid-span of the foil on the leading edge with +x forward and +z aligned to the span of the foil. Positivecamber is by default in the +y direction, the root is in the -Z direction.

Type: string double, optional, feature referenceDefault: rigidBodyFoil

[0 0 0 0 0 0

]Loads feature: RigidBodyFoilColumn 0:

Name feature nameInfo The name of the RigidBodyFoil feature to load

Column 1:

Name xInfo x axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

Column 2:

Name yInfo y axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

Column 3:

Name zInfo z axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

Column 4:

Name PhiInfo Roll angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

Column 5:

Name ThetaInfo Pitch angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

Column 6:

Name PsiInfo Heading angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

177

Page 180: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$LinearQuadraticDragDescription: LinearQuadraticDragType: string double, optional, feature referenceDefault: rigidBodyLinearQuadraticDrag

[0 0 0 0 0 0

]Loads feature: RigidBodyLinearQuadraticDragColumn 0:

Name feature nameInfo Name of the RigidBodyLinearQuadraticDrag feature to load

Column 1:

Name xInfo x axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

Column 2:

Name yInfo y axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

Column 3:

Name zInfo z axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

Column 4:

Name PhiInfo Roll angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

Column 5:

Name ThetaInfo Pitch angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

Column 6:

Name PsiInfo Heading angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

$ThrusterDescription: Specifies the RigidBodyThruster feature to load from the simulation library. The feature is used to

apply thrust (as with an ROV) to a rigid body.Type: string double, optional, feature referenceDefault: rigidBodyThruster

[0 0 0 0 0 0

]Loads feature: RigidBodyThrusterColumn 0:

Name feature nameInfo The name of the RigidBodyThruster feature to load

Column 1:

178

Page 181: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Name xInfo x axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

Column 2:

Name yInfo y axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

Column 3:

Name zInfo z axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

Column 4:

Name PhiInfo Roll angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

Column 5:

Name ThetaInfo Pitch angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

Column 6:

Name PsiInfo Heading angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

$TurbineDescription: Specifies the RigidBodyTurbine feature to load from the simulation library. The feature is used to define

turbine thrust and torque properties.Type: string double, optional, feature referenceDefault: rigidBodyTurbine

[0 0 0 0 0 0

]Loads feature: RigidBodyTurbineColumn 0:

Name feature nameInfo The name of the RigidBodyTurbine feature to load

Column 1:

Name xInfo x axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

Column 2:

Name yInfo y axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

Column 3:

179

Page 182: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Name zInfo z axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

Column 4:

Name PhiInfo Roll angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

Column 5:

Name ThetaInfo Pitch angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

Column 6:

Name PsiInfo Heading angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

A.6.1.3 General

$CategoryDescription: CategoryType: string, optional, experimental

A.6.1.4 Hydrodynamic features

$BallastTankDescription: Specifies the RigidBodyBallast feature to load from the simulation library and location of area centroid

of the ballast tank’s floor relative to the RigidBody local frame.Type: string double, optional, feature referenceDefault: ballastTank

[0 0 0 0 0 0

]Loads feature: RigidBodyBallastTips: The feature provides the RigidBody with a ballast tank model that can be filled and drained. The

ballast tank will affect the mass/inertia of the ship and its weight.Column 0:

Name feature nameInfo The name of the RigidBodyAddedMass feature to load

Column 1:

Name xInfo x axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

Column 2:

Name yInfo y axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

Column 3:

Name zInfo z axis feature location in rigid body local coordinate frame

Range −10 000 to 10 000Units m

180

Page 183: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Column 4:

Name PhiInfo Roll angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

Column 5:

Name ThetaInfo Pitch angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

Column 6:

Name PsiInfo Heading angle which defines the feature orientation in the rigid body local coordinate frame

Range −360 to 360Units deg

$RadDiffHydrodynamicModelDescription: Specifies the RigidBodyRadDiffHydrodynamic feature to load from the simulation library and location

of baseline frame from RigidBody local frame.Type: string double, optional, feature referenceDefault: radDiffHydrodynamicDatabaseName

[0 0 0

]Loads feature: RigidBodyRadDiffHydrodynamicTips: The feature is used to define radiation damping and diffraction loading on the structure defined by the

feature. The feature loads a hydrodynamic database that resolves wave radiation, diffraction, incidentloads as well as other viscous and hydrostatic loads.

$RAODatabaseModelDescription: Specifies the RigidBodyRAO feature to load. The feature is used to define motions as a function of

incident wave properties. For an RAO that generates the motion of the CG of a floating structure, theRigidBodyRAO feature should be placed at the CG location in terms of the RigidBody local frame.

Type: string double, feature referenceDefault: rigidBodyRAO

[0 0 0

]Loads feature: RigidBodyRAORequired when: Kinematic is set to 3Tips: The feature is used to define motions as a function of incident wave properties in the sea state.

This function requires Kinematic mode to be set to 3.Ensure that the CG position defined by the program which generated the RAO matches the location ofthe CG defined in the rigid body.If an RAO defines the motions of a body not about an origin centered on the CG, but at an alternatelocation, ensure that the RigidBodyRAO feature frame is located at this alternate origin location.If the CG position of the rigid body is at (0,0,0) in the rigid body reference frame, the RigidBodyRAOfeature should also be placed at (0,0,0).

Column 0:

Name feature nameInfo The name of the RAO database feature to load

Column 1:

Name xInfo x axis feature location in rigid body local coordinate frame

Range −1×1030 to 1×1030

Units mColumn 2:

181

Page 184: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Name yInfo y axis feature location in rigid body local coordinate frame

Range −1×1030 to 1×1030

Units mColumn 3:

Name zInfo z axis feature location in rigid body local coordinate frame

Range −1×1030 to 1×1030

Units m

A.6.1.5 Instrumentation

$AbsFluidVelocityProbeDescription: This is a collection of fixed locations in terms of the RigidBody coordinate frame. The absolute fluid

velocity at the point is output to the absFluidVelocityProbes.dat file in terms of the RigidBody’s body-fixed reference frame.

Type: matrix, variable number of rows, unordered, optionalDefault:

[0 0 0

]Units: m

$AirGapProbeDescription: For each fixed location specified in terms of the RigidBody frame, the air gap and relative velocity

between that point and the water surface is written to an output file.Type: matrix, variable number of rows, unordered, optionalDefault:

[0 0 0

]Units: mTips: Negative air gap indicates submergence and the relative velocity at the moment of submergence should

be used for wave slam calculations.If no points are specified, the files are not generated. The verbose flag does not need to be active forthis output.

$BodyAccelProbeDescription: This is a collection of fixed locations in terms of the RigidBody coordinate frame. Acceleration is output

at the points in the body fixed reference frame.Type: matrix, variable number of rows, unordered, optionalDefault:

[0 0 0

]Units: m

$GlobalAccelProbeDescription: This is a collection of fixed locations in terms of the RigidBody coordinate frame. Acceleration is output

at the points in the global reference frame.Type: matrix, variable number of rows, unordered, optionalDefault:

[0 0 0

]Units: m

$PositionProbeDescription: This is a collection of fixed locations in terms of the RigidBody coordinate frame. Position of the point

in global reference frame is output to the positionProbes.dat file.Type: matrix, variable number of rows, unordered, optionalDefault:

[0 0 0

]Units: m

182

Page 185: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$RelativeVelocityProbeDescription: This is a collection of fixed locations in terms of the RigidBody coordinate frame. The relative fluid

velocity at the point is output to the relativeVelocityProbes.dat file in terms of the RigidBody’s body-fixed reference frame.

Type: matrix, variable number of rows, unordered, optionalDefault:

[0 0 0

]Units: m

A.6.1.6 Mass properties

$CGPositionDescription: This is the position of the rigid body center of gravity relative to the rigid body local coordinate frame.Type: vector, optionalDefault:

[0 0 0

]Units: m

$DefineInertiaAboutCGDescription: When enabled, the rigid body mass moment of inertia parameters are defined about a coordinate frame

located at the center of gravity.Type: integer, optionalDefault: 0Options: 0 Define inertia about local RigidBody coordinate frame

1 Define inertia about CG position

Tips: When defining inertia about the center of gravity, the coordinate axes must be aligned: rotationaltransformation of inertia is not supported.Inertia is always defined about the RigidBody local frame location coordinate frame unless this propertyis enabled.Inertia can be easily underestimated if directly specified at the RigidBody local frame when there is aCG location offset and this can result in simulation destabilization.

$IxDescription: The mass moment of inertia about the RigidBody local frame X-axis.Type: numberDefault: 1Units: kg ∗m2

$IxyDescription: The XY product of inertia expressed about the RigidBody local frame unless otherwise indicated.Type: numberDefault: 0Units: kg ∗m2

$IxzDescription: The XZ product of inertia expressed about the RigidBody local frame unless otherwise indicated.Type: numberDefault: 0Units: kg ∗m2

183

Page 186: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$IyDescription: The mass moment of inertia about the RigidBody local frame Y-axis.Type: numberDefault: 1Units: kg ∗m2

$IyzDescription: The YZ product of inertia expressed about the RigidBody local frame unless otherwise indicated.Type: numberDefault: 0Units: kg ∗m2

$IzDescription: The mass moment of inertia about the RigidBody local frame Z-axis.Type: numberDefault: 1Units: kg ∗m2

$MassDescription: The dry mass of the rigid body.Type: numberDefault: 1Units: kg

A.6.1.7 Numerical

$KinematicDescription: The flag that indicates if the RigidBody is kinematically controlled. When Kinematic is used, any forces

acting on the rigid body will be ignored (will not affect the bodies motion).Type: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 Disable

1 Enable $KinematicForceCalculations

3 RAO $KinematicForceCalculations, $RAODatabaseModel

4 Waypoint $KinematicForceCalculations, $KinematicWaypoint

Tips: When Kinematic is set to 1 any initial velocity will remain constant for the duration of the simulation.A zero initial velocity will result in a static RigidBody through the duration of the simulation.When Kinematic is set to 4, waypoints (including orientations) must be set for the rigid body to followusing the RigidBodyWaypoint feature which is set by the KinematicWaypoint property

$KinematicForceCalculationsDescription: When Kinematic mode is enabled all forces are ignored as the position and velocity of the rigid body

are set. This property when enabled ensures all forces are calcualted and output, these additionalcalculations may slow down simulations, so disable when possible.

Type: integer, optionalDefault: 1Options: 0 Disable

1 Enable

184

Page 187: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Optional when: Kinematic is set to 1; orKinematic is set to 3; orKinematic is set to 4

$KinematicWaypointDescription: This property is used when Kinematic is set to 4. It loads the RigidBodyWaypoint feature.Type: string, feature referenceDefault: rigidBodyWaypointLoads feature: RigidBodyWaypointRequired when: Kinematic is set to 4

$QuaternionDescription: The flag that indicates if quaternions are used in place of Euler angles to resolve RigidBody orientation.Type: integer, optionalDefault: 0

Tips: Note that if quaternions are in use, the state vector has one more value than Euler angle mode. Theadvantage to quaternions is that the 90 degree pitch singularity is not present.Note that when in quaternion mode the yaw, pitch, and roll angles are still printed to the position.datRigidBody output file, which is useful for post-processing and analysis

A.6.2 Connections (lib.ini)

A.6.2.1 RigidBodyDCablePointConnection properties

Connection Type: PointMaster: RigidBodyFollower: DCable

$DCableFollowerClampedDescription: Flag that indicates if the termination of the cable is fully clamped or pinned. If DCableFollowerClamped

is set to 1, DCableFollowerP1 and DCableFollowerP2 must be specified.Type: integer, optionalDefault: 0

$DCableFollowerLocationDescription: Location of the cable attachment point in terms of the rigid body frame. When expressed in terms of

the rigid body frame, this is a constant value and will remain constant throughout the simulation aslong as these entities are connected.

Type: vectorDefault:

[0 0 0

]

$DCableFollowerNodeNDescription: Flag that indicates if node N is attached to the rigid body. If this is set to 0, this implies node 0 is

connected.Type: integerDefault: 0

185

Page 188: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$DCableFollowerP1Description: Principal normal vector of the cable mechacnical frame, P1, in terms of the rigid body frame.Type: vectorDefault:

[1 0 0

]Required when: DCableFollowerClamped is set to 1

$DCableFollowerP2Description: Principal normal vector of the cable mechacnical frame, P2, in terms of the rigid body frame.Type: vectorDefault:

[0 1 0

]Required when: DCableFollowerClamped is set to 1

$DCableForceAverageWindowDescription: The size of the window in seconds to average the force over. Presently only used when cable and rigid

body are in different cellsType: number, optionalDefault: 0Units: s

$DCableMomentAverageWindowDescription: The size of the window in seconds to average the moment over. Presently only used when cable and

rigid body are in different cellsType: number, optionalDefault: 0Units: s

A.6.2.2 RigidBodyDCableForceConnection properties

Connection Type: ForceMaster: RigidBodyFollower: DCable

$CJointDescription: Damping coefficient of elastic force constraint.Type: numberDefault: 0Units: N ∗ s/m

$DCableFollowerArcLocationDescription: The arc location along the span of the cable that is constrained by a force to the corresponding location

on the RigidBody.Type: numberDefault: 0

$DCableFollowerLocationDescription: The location on the RigidBody, in terms of the RigidBody frame, that locates the point of constraint.Type: vectorDefault:

[0 0 0

]186

Page 189: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$KJointDescription: Stiffness coefficient of elastic force constraint.Type: numberDefault: 0Units: N/m

A.6.2.3 RigidBodyDCableSlidingForceConnection properties

Connection Type: SlidingMaster: RigidBodyFollower: DCable

$BrakeModeDescription: When enabled, motion is resisted with additional constraint force in the tangent direction up to the

MaxBrakeForce.Type: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 Sliding mode with Coulomb friction and no brake

1 Brake on and limited by max brake force $MaxBrakeForce

2 Brake on and no limit to brake force

$CJointDescription: Damping coefficient of elastic force constraint.Type: numberDefault: 0Units: N ∗ s/m

$DCableFollowerArcLocationDescription: The arc location along the span of the cable that is constrained by a force. This corresponds to the

location on the RigidBody and the arc location is automatically established based on the minimumseparation distance between the location specified in terms of the rigid body frame. This is required tofacilitate the sliding connection capability.

Type: numberDefault: 0Units: m

$DCableFollowerContactPlaneNormalDescription: Defines a normal vector, in terms of the local frame, for each half-plane that provides a resistive surface

at the contact surface.Type: matrix, variable number of rows, optionalDefault:

[0 0 0

]Units: DimensionlessTips: Contact arises when the cable profile pushes against the normal vector into the plane defined by the

contact point on the rigid body.Two contact planes could be used to create a trough for a cable or pipe to slide along.

187

Page 190: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$DCableFollowerLocationDescription: The location on the RigidBody, in terms of the local frame, of the constraint.Type: vectorDefault:

[0 0 0

]Units: m

$KJointDescription: Stiffness coefficient of elastic force constraint.Type: numberDefault: 0Units: N/m

$MaxBrakeForceDescription: Maximum friction load applied to the cable or rigid body. Rigid body will slide once the MaxBrakeForce

is exceeded.Type: numberDefault: 1×1012

Units: NRequired when: BrakeMode is set to 1; or

BrakeMode is set to 3

$MuJointDescription: Coefficient of friction for lateral sliding constraint support. Friction is not used when brake mode is

enabled.Type: number, optionalDefault: 0Units: Dimensionless

A.6.2.4 RigidBodyDCableVRollerConnection properties

Connection Type: RollerMaster: RigidBodyFollower: DCable

$CJointDescription: Damping coefficient of elastic force constraint.Type: numberDefault: 0Options: 0 AutoUnits: N ∗ s/mTips: When set to 0.0, the damping is auto-calculated as ’CJoint = KJoint/1e4’

$DCableFollowerArcLocationDescription: The arc location along the span of the cable that is constrained by a force. This corresponds to the

location on the RigidBody and the arc location is automatically established based on the minimumseparation distance between the location specified in terms of the rigid body frame. This is required tofacilitate the sliding connection capability.

Type: numberDefault: 0Units: m

188

Page 191: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$DCableFollowerLocationDescription: The location on the RigidBody, in terms of the local frame, at the base of the V.Type: vectorDefault:

[0 0 0

]Units: m

$KJointDescription: Stiffness coefficient of elastic force constraint.Type: numberDefault: 0Options: 0 AutoUnits: N/mTips: When set to 0.0, the stiffness is auto-calculated as ’KJoint = mc*g/1e-4’ where mc is the mass per

unit length in kg/m of the pipeline/cable object.

$MuJointDescription: Coefficient of friction for lateral sliding constraint support. Friction is not used when brake mode is

enabled.Type: number, optionalDefault: 0Units: Dimensionless

$OffsetModeDescription: By default, the roller is positioned such that that the base of the V lies at the point in the RigidBody

local frame specified by DCableFollowerLocation; this flag may be used to have DCableFollowerLocationspecify the desired centerline of the pipe or cable instead.

Type: integer, optionalDefault: 0Options: 0 Base of V

1 Pipe or cable centerline

$OrientationDescription: The orientation of the roller. By default, the negative z-axis in the RigidBody local frame is up. The

pipe is assumed to lay along the RigidBody local frame x-direction.Type: vector, optionalDefault:

[0 0 0

]Column 0:

Name RollInfo Adjusts the roll angle of the roller

Range −360 to 360Column 1:

Name PitchInfo Adjusts the pitch angle of the roller

Range −360 to 360Column 2:

Name YawInfo Adjusts the roll angle of the roller

Range −360 to 360

189

Page 192: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$RollerAngleDescription: The angle of the ’V’ between the rollers. The negative z-axis in the RigidBody local frame is always

up. The pipe is assumed to lay in the RigidBody local frame x-direction.Type: numberDefault: 90Units: deg

A.6.2.5 RigidBodyDCableTensionerConnection properties

Connection Type: TensionerMaster: RigidBodyFollower: DCable

$CJointDescription: Damping coefficient of elastic force constraint.Type: numberDefault: 0Options: 0 AutoUnits: N ∗ s/mTips: When set to 0.0, the damping is auto-calculated as ’CJoint = KJoint/1e4’

$DCableFollowerArcLocationDescription: The arc location along the span of the cable that is constrained by a force. This corresponds to the

location on the RigidBody and the arc location is automatically established based on the minimumseparation distance between the location specified in terms of the rigid body frame. This is required tofacilitate the sliding connection capability.

Type: numberDefault: 0Units: m

$DCableFollowerLocationDescription: The location on the RigidBody, in terms of the local frame, where the centerline of the cable or pipe

will lie.Type: vectorDefault:

[0 0 0

]Units: m

$KJointDescription: Stiffness coefficient of elastic force constraint.Type: numberDefault: 0Options: 0 AutoUnits: N/mTips: When set to 0.0, the stiffness is auto-calculated as ’KJoint = mc*g/1e-4’ where mc is the mass per

unit length in kg/m of the pipeline/cable object.

190

Page 193: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$MuJointDescription: Coefficient of friction for lateral sliding constraint support. Friction is not used when brake mode is

enabled.Type: number, optionalDefault: 0Units: Dimensionless

$TractionLengthDescription: Length of the tensioner unit over which the traction load is applied.Type: numberDefault: 0Options: 0 AutoUnits: mTips: The traction length is represented with two sliding connections.

$TractionLoadDescription: Constant traction load to apply in tangential vector direction.Type: numberDefault: 0Options: 0 AutoUnits: N

A.6.2.6 RigidBodyDNetEdgeConnection properties

Connection Type: EdgeMaster: RigidBodyFollower: DNet

$DNetFollowerEdgeDescription: Indicates double edge of the net is attached to this rigid body.Type: integerDefault: 0

$DNetFollowerSpanDescription: The points in terms of body coordinate system that define the edge connection to the attached net.

The connected edge is linear between the start and end points. Specify x,y,z start location and x,y,zend location in a single line for the property (6 values total).

Type: vectorDefault:

[0 0 0 0 0 0

]A.6.2.7 RigidBodyRigidBodyABAConnection properties

Connection Type: ABAMaster: RigidBodyFollower: RigidBody

191

Page 194: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$CylindricalJointAngularDescription: Specifies joint properties for the rotational degree of freedom of the cylinder joint.Type: string, feature referenceDefault: jointPropertiesLoads feature: RigidBodyABAConnectionJointRequired when: Joint is set to 2

$CylindricalJointLinearDescription: Specifies joint properties for the linear degree of freedom of the cylinder joint.Type: string, feature referenceDefault: jointPropertiesLoads feature: RigidBodyABAConnectionJointRequired when: Joint is set to 2

$FollowerConnectionLocationDescription: Static joint connection location and orientation on the follower (downstream) body with respect to the

follower body frame. Specify: x, y, z, roll, pitch, yaw from the rigid body frame. The angles are aboutthe X, Y, and Z joint frame axis and are established through a joint-frame-fixed rotation sequence thatmoves away from the parent frame about Z, Y’, and X”

Type: vectorDefault:

[0 0 0 0 0 0

]

$FollowerJointAxisDescription: The index number that indicates the axis of actuation of the joint with respect to the joint frame.Type: matrix of integers, variable number of rows, unorderedDefault:

[0]

Options: 0 X-axis1 Y-axis2 Z-axis

Required when: Joint is set to 0; orJoint is set to 1; orJoint is set to 2; orJoint is set to 3; orJoint is set to 6; orJoint is set to 7

Tips: For Joint type 0 (prismatic), one FollowerJointAxis property must be specified.For Joint type 1 (revolute), one FollowerJointAxis property must be specified.For Joint type 2 (cylindrical), one FollowerJointAxis property must be specified. This entry indicatesthe axis of rotation and translation of the joint, which are coincident for a cylinder joint.For Joint type 3 (planar), two FollowerJointAxis properties must be specified: one for each linear degreeof freedom of the joint. The first entry refers to PlanarJointLinear0’s axis of actuation, and secondentry refers to PlanarJoinLinear1’s axis of actuation.For Joint type 4 (spherical), no FollowerJointAxis property needs to be specified: all three rotationaldegrees of freedom are actuated.For Joint type 5 (universal), no FollowerJointAxis properties are specified: the x and y axes are fixedas the axes of rotation for the joint.For Joint type 6 (helical), one FollowerJointAxis properties must be specified. This entry indicates theaxis of rotation and translation of the joint, which are coincident for a helical joint.

192

Page 195: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$HelicalJointAngularDescription: Specifies joint properties for the angular degree of freedom of the helical joint.Type: string, feature referenceDefault: jointPropertiesLoads feature: RigidBodyABAConnectionJointRequired when: Joint is set to 6

$HelicalLeadDescription: This is the lead, or linear advance of the joint, with one full revolution about the helical axis.Type: number, feature referenceDefault: 0.1Units: m/revLoads feature: RigidBodyABAConnectionJointRequired when: Joint is set to 6

$JointDescription: The index number that corresponds to the type of joint.Type: integerDefault: 0

Options: # Description: Required follower properties:

0 Prismatic $FollowerJointAxis, $PrismaticJointLinear

1 Revolute $FollowerJointAxis, $RevoluteJointAngular

2 Cylindrical $CylindricalJointAngular, $CylindricalJointLinear, $FollowerJointAxis

3 Planar $FollowerJointAxis, $PlanarJointLinear0, $PlanarJointLinear1

4 Spherical $SphericalJointAngular0, $SphericalJointAngular1, $SphericalJointAngular2

5 Universal $UniversalJointAngular0, $UniversalJointAngular1

6 Helical $FollowerJointAxis, $HelicalJointAngular, $HelicalLead

Tips: The spherical joint suffers from Euler angle gymbal lock instability if the pitch angle reaches +/-90degreesThe universal joint fixed axis is always the joint frame Z axis.

$MasterConnectionLocationDescription: Static joint connection location and orientation on the master (upstream) body with respect to the

master body frame. Specify: x, y, z, roll, pitch, yaw from the rigid body frame. The angles are aboutthe X, Y, and Z joint frame axis and are established through a joint-frame-fixed rotation sequence thatmoves away from the parent frame about Z, Y’, and X”.

Type: vectorDefault:

[0 0 0 0 0 0

]

$PlanarJointLinear0Description: Specifies joint properties for the first linear degree of freedom of the planar joint.Type: string, feature referenceDefault: jointPropertiesLoads feature: RigidBodyABAConnectionJointRequired when: Joint is set to 3

193

Page 196: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$PlanarJointLinear1Description: Specifies joint properties for the second linear degree of freedom of the planar joint.Type: string, feature referenceDefault: jointPropertiesLoads feature: RigidBodyABAConnectionJointRequired when: Joint is set to 3

$PrismaticJointLinearDescription: Specifies joint properties for the single degree of freedom of the prismatic joint.Type: string, feature referenceDefault: jointPropertiesLoads feature: RigidBodyABAConnectionJointRequired when: Joint is set to 0

$RevoluteJointAngularDescription: Specifies joint properties for the single degree of freedom of the revolute joint.Type: string, feature referenceDefault: jointPropertiesLoads feature: RigidBodyABAConnectionJointRequired when: Joint is set to 1

$SphericalJointAngular0Description: Specifies joint properties associated with rotation about the joint x axis.Type: string, feature referenceDefault: jointPropertiesLoads feature: RigidBodyABAConnectionJointRequired when: Joint is set to 4

$SphericalJointAngular1Description: Specifies joint properties associated with rotation about the joint y axis.Type: string, feature referenceDefault: jointPropertiesLoads feature: RigidBodyABAConnectionJointRequired when: Joint is set to 4

$SphericalJointAngular2Description: Specifies joint properties associated with rotation about the joint z axis.Type: string, feature referenceDefault: jointPropertiesLoads feature: RigidBodyABAConnectionJointRequired when: Joint is set to 4

$UniversalJointAngular0Description: Specifies joint properties associated with rotation about the joint x axis.Type: string, feature referenceDefault: jointPropertiesLoads feature: RigidBodyABAConnectionJointRequired when: Joint is set to 5

194

Page 197: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$UniversalJointAngular1Description: Specifies joint properties associated with rotation about the joint y axis.Type: string, feature referenceDefault: jointPropertiesLoads feature: RigidBodyABAConnectionJointRequired when: Joint is set to 5

A.6.2.8 RigidBodyRigidBodyForceConnection properties

Connection Type: ForceMaster: RigidBodyFollower: RigidBody

$ActiveConstraintDirectionDescription: The vector that indicates what degrees of freedom are constrained.Type: vector of integersDefault:

[0 0 0 0 0 0

]Tips: For example, constraining the X-direction connection frame only results in a value of 1 0 0 0 0 0 and

a full pinned constraint would be 1 1 1 0 0 0.

$FCCJointDescription: Damping coefficient of elastic force constraint.Type: numberDefault: 0Units: N ∗ s/m

$FCKJointDescription: Stiffness coefficient of elastic force constraint.Type: numberDefault: 0Units: N/m

$FCNCJointDescription: Damping coefficient of elastic force constraint that is only activate when the distance between bodies

is negative.Type: number, optionalDefault: 0Units: N ∗ s/m

$FCNKJointDescription: Stiffness coefficient of elastic force constraint that is only active when the distance between the bodies

is negative.Type: number, optionalDefault: 0Units: N/m

195

Page 198: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$FCPCJointDescription: Damping coefficient of elastic force constraint that is only active when the distance between bodies is

positive.Type: number, optionalDefault: 0Units: N ∗ s/m

$FCPKJointDescription: Stiffness coefficient of elastic force constraint that is only active when the distance between bodies is

positive.Type: number, optionalDefault: 0Units: N/m

$FCRCJointDescription: Damping coefficient of elastic force constraint for rotation.Type: number, optionalDefault: 0Units: N ∗m ∗ s/rad

$FCRKJointDescription: Stiffness coefficient of elastic force constraint for rotation.Type: number, optionalDefault: 0Units: N ∗m/rad

$FCRNCJointDescription: Damping coefficient of elastic force constraint that is only activate when the rotation between bodies

is negative.Type: number, optionalDefault: 0Units: N ∗m ∗ s/rad

$FCRNKJointDescription: Stiffness coefficient of elastic force constraint that is only active when the rotation between the bodies

is negative.Type: number, optionalDefault: 0Units: N ∗m/rad

$FCRPCJointDescription: Damping coefficient of elastic force constraint that is only active when the rotation between bodies is

positive.Type: number, optionalDefault: 0Units: N ∗m ∗ s/rad

196

Page 199: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$FCRPKJointDescription: Stiffness coefficient of elastic force constraint that is only active when the rotation between bodies is

positive.Type: number, optionalDefault: 0Units: N ∗m/rad

$FCUFJointDescription: Coefficient of friction matrix that can be used to couple orthogonal joint degrees of freedom. Typically

this matrix should not be symmetric. Note that no check is made on this matrix to ensure it makesphysical sense.

Type: matrix, optional

Default:

0 0 00 0 00 0 0

Units: −

$FollowerConnectionLocationDescription: Static joint connection location and orientation on the follower (downstream) body with respect to the

follower body frame. Specify: x, y, z, roll, pitch, yaw from the rigid body frame. The angles are aboutthe X, Y, and Z joint frame axis and are established through a joint-frame-fixed rotation sequence thatmoves away from the parent frame about Z, Y’, and X”

Type: vectorDefault:

[0 0 0 0 0 0

]

$MasterConnectionLocationDescription: Static joint connection location and orientation on the master (upstream) body with respect to the

master body frame. Specify: x, y, z, roll, pitch, yaw from the rigid body frame. The angles are aboutthe X, Y, and Z joint frame axis and are established through a joint-frame-fixed rotation sequence thatmoves away from the parent frame about Z, Y’, and X”.

Type: vectorDefault:

[0 0 0 0 0 0

]A.6.3 Features (lib.ini)

A.6.3.1 RigidBodyAddedMass feature properties

$AddedMassDescription: The full dimensional 6x6 added mass matrix.Type: matrix

Default:

0 0 0 0 0 00 0 0 0 0 00 0 0 0 0 00 0 0 0 0 00 0 0 0 0 00 0 0 0 0 0

Units: kg, kg ∗m, kg ∗m2

197

Page 200: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

A.6.3.2 RigidBodyRadDiffHydrodynamic feature properties

$DiffractionLoadingDescription: When activated, sinusoidal diffraction wave loading is applied.Type: integer, optionalDefault: 1

$ExtraStiffnessDampingLoadingDescription: When activated, extra stiffness and damping loading effects are applied.Type: integer, optionalDefault: 1

$HydrodynamicDatabaseFileDescription: NoneType: stringDefault: *.ini

$HydrostaticLoadingDescription: When activated, this applies linear hydrostatic loads.Type: integer, optionalDefault: 1

$IncidentLoadingDescription: When activated, sinusoidal incident wave loading is applied.Type: integer, optionalDefault: 1

$LoadScalingDescription: When activated, the computed fluid inertial effects gets scaled down when the draft approaches zero.Type: integer, optionalDefault: 0

Tips: This is useful for handling non-linear buoyancy cases where the body that might occasionally leave thefluid.

$PercentDraftStartScalingDescription: The draft, as a fraction set between 0.0 and 1.0 of steady state draft, where linear scaling of radiation

and diffraction forces begins to occur.Type: number, optionalDefault: 0.3

Optional when: LoadScaling is set to 1

$ResistanceLoadingDescription: When activated, viscous and wave making forward resistance and lateral form drag effects are applied.Type: integer, optionalDefault: 1

198

Page 201: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$WaveRadiationLoadingDescription: When activated, fluid memory effects from wave radiation is applied.Type: integer, optionalDefault: 1

Tips: Also disables added mass matrix at infinite frequency.

A.6.3.3 RigidBodyRAO feature properties

$RAODatabaseFileDescription: The RAO database file defines the displacement RAO for a floating rigid body.Type: stringDefault: *.ini

A.6.3.4 RigidBodyCuboid feature properties

$CAxDescription: Added mass coefficient in the feature’s x-directionType: numberDefault: 1Units: Dimensionless

$CAyDescription: Added mass coefficient in the feature’s y-directionType: numberDefault: 1Units: Dimensionless

$CAzDescription: Added mass coefficient in the feature’s z-directionType: numberDefault: 1Units: Dimensionless

$CDtDescription: The skin drag coefficient associated with the relative flow tangential to the local mesh surface.Type: numberDefault: 0Units: DimensionlessRequired when: CDtMode is set to 0

$CDtModeDescription: NoneType: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 Uniform tangential drag coefficients $CDt

1 Independent tangential drag coefficients $CDtx, $CDty, $CDtz

199

Page 202: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$CDtxDescription: The skin drag coefficient associated with the surge component of the relative flow tangential to the

local mesh surface.Type: numberDefault: 0Units: DimensionlessRequired when: CDtMode is set to 1

$CDtyDescription: The skin drag coefficient associated with the sway component of the relative flow tangential to the

local mesh surface.Type: numberDefault: 0Units: DimensionlessRequired when: CDtMode is set to 1

$CDtzDescription: The skin drag coefficient associated with the heave component of the relative flow tangential to the

local mesh surface.Type: numberDefault: 0Units: DimensionlessRequired when: CDtMode is set to 1

$CDxDescription: Drag coefficient in the feature’s x-directionType: numberDefault: 1Units: Dimensionless

$CDxNDescription: Drag coefficient in the feature’s negative x-direction (asymmetric drag loading).Type: number, optionalDefault: 1Units: Dimensionless

$CDyDescription: Drag coefficient in the feature’s y-directionType: numberDefault: 1Units: Dimensionless

$CDyNDescription: Drag coefficient in the feature’s negative y-direction (asymmetric drag loading).Type: number, optionalDefault: 1Units: Dimensionless

200

Page 203: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$CDzDescription: Drag coefficient in the feature’s z-directionType: numberDefault: 1Units: Dimensionless

$CDzNDescription: Drag coefficient in the feature’s negative z-direction (asymmetric drag loading).Type: number, optionalDefault: 1Units: Dimensionless

$FluidCoefficientKCDataNameDescription: Specifies name of the fluid coefficient feature used to indicate fluid coefficient variation with period or

KC number.Type: string, optional

$HydroLoadingDescription: When enabled, the simplified hydrodynamics model uses a discretized Morison load approach to deter-

mine hydrodynamic drag and inertia loads when portions of the surface mesh are in the water.Type: integer, optionalDefault: 1

$HydrostaticFroudeKrylovDescription: Buoyancy and Froude-Krylov loads are computed by discrete surface integral of pressure over meshed

body. Deeply submerged bodies have static buoyancy loads that can be computed based on the volumeof displaced water. Alternatively, buoyancy and Froude-Krylov loads may be deactivated.

Type: integer, optionalDefault: 1Options: 0 No buoyancy or Froude-Krylov force

1 Nonlinear buoyancy and Froude-Krylov force2 Constant fully submerged buoyancy3 Nonlinear buoyancy and Froude-Krylov force when near surface, displacement based buoyancy when deeply submerged.

$LengthXDescription: Length of cuboid feature along the feature’s x-directionType: numberDefault: 1Units: m

$LengthYDescription: Length of cuboid feature along the feature’s y-directionType: numberDefault: 1Units: m

201

Page 204: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$LengthZDescription: Length of cuboid feature along the feature’s z-directionType: numberDefault: 1Units: m

$OutputPressureDistributionDescription: When enabled, the pressure acting on each face of this mesh-based hydrodynamic feature is reported

to output file.Type: integer, optionalDefault: 0Options: 0 Disabled

1 Enabled

$SegmentsXDescription: Number of segments to to divide the feature into in the x-direction for Froude-Krylov and variable drag

(wind/hydrodynamic) loadingType: integerDefault: 5Units: Dimensionless

$SegmentsYDescription: Number of segments to to divide the feature into in the y-direction for Froude-Krylov and variable drag

(wind/hydrodynamic) loadingType: integerDefault: 5Units: Dimensionless

$SegmentsZDescription: Number of segments to to divide the feature into in the z-direction for Froude-Krylov and variable drag

(wind/hydrodynamic) loadingType: integerDefault: 5Units: Dimensionless

$SoilLoadingDescription: When enabled, soil reaction loads are applied to the discrete surface panels of the mesh when in contact

with the seabed.Type: integer, optionalDefault: 1

$WaterlineMeshSplittingDescription: Enables or disables the splitting of mesh polygons that pierce the waterline.Type: integer, optionalDefault: 1Options: 0 Disabled

1 Enabled

202

Page 205: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$WindLoadingDescription: When enabled, the simplified hydrodynamics model uses a discretized Morison load approach to deter-

mine aerodynamic drag and inertia loads when portions of the surface mesh are in the air.Type: integer, optionalDefault: 1

A.6.3.5 RigidBodyEllipsoid feature properties

$CAxDescription: The added mass coefficient of the ellipsoid in the X direction.Type: numberDefault: 0.5Units: Dimensionless

$CAyDescription: The added mass coefficient of the ellipsoid in the Y direction.Type: numberDefault: 0.5Units: Dimensionless

$CAzDescription: The added mass coefficient of the ellipsoid in the Z direction.Type: numberDefault: 0.5Units: Dimensionless

$CDtDescription: The skin drag coefficient associated with the relative flow tangential to the local mesh surface.Type: numberDefault: 0Units: DimensionlessRequired when: CDtMode is set to 0

$CDtModeDescription: NoneType: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 Uniform tangential drag coefficients $CDt

1 Independent tangential drag coefficients $CDtx, $CDty, $CDtz

$CDtxDescription: The skin drag coefficient associated with the surge component of the relative flow tangential to the

local mesh surface.Type: numberDefault: 0Units: DimensionlessRequired when: CDtMode is set to 1

203

Page 206: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$CDtyDescription: The skin drag coefficient associated with the sway component of the relative flow tangential to the

local mesh surface.Type: numberDefault: 0Units: DimensionlessRequired when: CDtMode is set to 1

$CDtzDescription: The skin drag coefficient associated with the heave component of the relative flow tangential to the

local mesh surface.Type: numberDefault: 0Units: DimensionlessRequired when: CDtMode is set to 1

$CDxDescription: The reference drag coefficient for the ellipsoid in the X direction.Type: numberDefault: 0.5Units: Dimensionless

$CDxNDescription: Drag coefficient in the feature’s negative x-direction (asymmetric drag loading).Type: number, optionalDefault: 1Units: Dimensionless

$CDyDescription: The reference drag coefficient for the ellipsoid in the Y direction.Type: numberDefault: 0.5Units: Dimensionless

$CDyNDescription: Drag coefficient in the feature’s negative y-direction (asymmetric drag loading).Type: number, optionalDefault: 1Units: Dimensionless

$CDzDescription: The reference drag coefficient for the ellipsoid in the Z direction.Type: numberDefault: 0.5Units: Dimensionless

204

Page 207: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$CDzNDescription: Drag coefficient in the feature’s negative z-direction (asymmetric drag loading).Type: number, optionalDefault: 1Units: Dimensionless

$DiaXDescription: The diameter of the ellipsoid in the X axis.Type: numberDefault: 1Units: m

$DiaYDescription: The diameter of the ellipsoid in the Y axis.Type: numberDefault: 1Units: m

$DiaZDescription: The diameter of the ellipsoid in the Z axis.Type: numberDefault: 1Units: m

$FluidCoefficientKCDataNameDescription: Specifies name of the fluid coefficient feature used to indicate fluid coefficient variation with period or

KC number.Type: string, optional

$HydroLoadingDescription: When enabled, the simplified hydrodynamics model uses a discretized Morison load approach to deter-

mine hydrodynamic drag and inertia loads when portions of the surface mesh are in the water.Type: integer, optionalDefault: 1

$HydrostaticFroudeKrylovDescription: Buoyancy and Froude-Krylov loads are computed by discrete surface integral of pressure over meshed

body. Deeply submerged bodies have static buoyancy loads that can be computed based on the volumeof displaced water. Alternatively, buoyancy and Froude-Krylov loads may be deactivated.

Type: integer, optionalDefault: 1Options: 0 No buoyancy or Froude-Krylov force

1 Nonlinear buoyancy and Froude-Krylov force2 Constant fully submerged buoyancy3 Nonlinear buoyancy and Froude-Krylov force when near surface, displacement based buoyancy when deeply submerged.

205

Page 208: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$NumSubDivsDescription: Number of subdivisions used to discretise the ellipsoid’s mesh. NumSubDivs of 0 results in the base

icosahedron of 12 triangular faces.Type: integerDefault: 2Options: 0 12 polygon faces

1 48 polygon faces2 192 polygon faces3 768 polygon faces4 3072 polygon faces

$OutputPressureDistributionDescription: When enabled, the pressure acting on each face of this mesh-based hydrodynamic feature is reported

to output file.Type: integer, optionalDefault: 0Options: 0 Disabled

1 Enabled

$SoilLoadingDescription: When enabled, soil reaction loads are applied to the discrete surface panels of the mesh when in contact

with the seabed.Type: integer, optionalDefault: 1

$WaterlineMeshSplittingDescription: Enables or disables the splitting of mesh polygons that pierce the waterline.Type: integer, optionalDefault: 1Options: 0 Disabled

1 Enabled

$WindLoadingDescription: When enabled, the simplified hydrodynamics model uses a discretized Morison load approach to deter-

mine aerodynamic drag and inertia loads when portions of the surface mesh are in the air.Type: integer, optionalDefault: 1

A.6.3.6 RigidBodyCylinder feature properties

$AngularSegmentsDescription: Number of angular segmentsType: integerDefault: 8

206

Page 209: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$AxialSegmentsDescription: Number of axial segmentsType: integerDefault: 10

$CaAxialDescription: Axial added mass coefficientType: numberDefault: 1

$CaNormalDescription: Normal added mass coefficientType: numberDefault: 1

$CdAxialDescription: Axial drag coefficientType: numberDefault: 1Units: Dimensionless

$CdNormalDescription: Normal drag coefficientType: numberDefault: 1

$CDtDescription: The skin drag coefficient associated with the relative flow tangential to the local mesh surface.Type: numberDefault: 0Units: DimensionlessRequired when: CDtMode is set to 0

$CDtModeDescription: NoneType: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 Uniform tangential drag coefficients $CDt

1 Independent tangential drag coefficients $CDtx, $CDty, $CDtz

207

Page 210: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$CDtxDescription: The skin drag coefficient associated with the surge component of the relative flow tangential to the

local mesh surface.Type: numberDefault: 0Units: DimensionlessRequired when: CDtMode is set to 1

$CDtyDescription: The skin drag coefficient associated with the sway component of the relative flow tangential to the

local mesh surface.Type: numberDefault: 0Units: DimensionlessRequired when: CDtMode is set to 1

$CDtzDescription: The skin drag coefficient associated with the heave component of the relative flow tangential to the

local mesh surface.Type: numberDefault: 0Units: DimensionlessRequired when: CDtMode is set to 1

$DiameterDescription: Diameter of the cylinderType: numberDefault: 1Units: m

$FluidCoefficientKCDataNameDescription: Specifies name of the fluid coefficient feature used to indicate fluid coefficient variation with period or

KC number.Type: string, optional

$HydroLoadingDescription: When enabled, the simplified hydrodynamics model uses a discretized Morison load approach to deter-

mine hydrodynamic drag and inertia loads when portions of the surface mesh are in the water.Type: integer, optionalDefault: 1

$HydrostaticFroudeKrylovDescription: Buoyancy and Froude-Krylov loads are computed by discrete surface integral of pressure over meshed

body. Deeply submerged bodies have static buoyancy loads that can be computed based on the volumeof displaced water. Alternatively, buoyancy and Froude-Krylov loads may be deactivated.

Type: integer, optionalDefault: 1

208

Page 211: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Options: 0 No buoyancy or Froude-Krylov force1 Nonlinear buoyancy and Froude-Krylov force2 Constant fully submerged buoyancy3 Nonlinear buoyancy and Froude-Krylov force when near surface, displacement based buoyancy when deeply submerged.

$LengthDescription: Length of the cylinderType: numberDefault: 2Units: m

$OutputPressureDistributionDescription: When enabled, the pressure acting on each face of this mesh-based hydrodynamic feature is reported

to output file.Type: integer, optionalDefault: 0Options: 0 Disabled

1 Enabled

$RadialSegmentsDescription: Number of axial segmentsType: integerDefault: 3

$SlenderPrismFluidLoadingDescription: When enabled, the structure is assumed a slender prism and drag and added mass calculations are

lumped along discrete symmetric slices along the feature frame Z axis of the object.Type: integer, optionalDefault: 0

Tips: This can reduce computational cost of drag and added mass calculations, but can also reduces accuracyand precisionCombined simultaneous air and water loading is not possible on each axial sliceThis feature is only optional with the built-in primitive type cylinder

$SoilLoadingDescription: When enabled, soil reaction loads are applied to the discrete surface panels of the mesh when in contact

with the seabed.Type: integer, optionalDefault: 1

$WaterlineMeshSplittingDescription: Enables or disables the splitting of mesh polygons that pierce the waterline.Type: integer, optionalDefault: 1Options: 0 Disabled

1 Enabled

209

Page 212: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$WindLoadingDescription: When enabled, the simplified hydrodynamics model uses a discretized Morison load approach to deter-

mine aerodynamic drag and inertia loads when portions of the surface mesh are in the air.Type: integer, optionalDefault: 1

A.6.3.7 RigidBodyLinearQuadraticDrag feature properties

$LinearDragCoefficientsDescription: These are the linear hydrodynamic drag coefficients. These are only multiplied by the velocity compo-

nents to generate the resistive forces and moments.Type: matrix

Default:

0 0 0 0 0 00 0 0 0 0 00 0 0 0 0 00 0 0 0 0 00 0 0 0 0 00 0 0 0 0 0

Units: N ∗ s/morN ∗ s/radorN ∗ sorNm ∗ s/radTips: The units of the entries in the matrix change depending on whether they are multiplied by linear (m/s)

or rotational (rad/s) velocity.Please note the coefficients are in terms of radians for angular components.

$QuadraticDragCoefficientsDescription: These are the quadratic hydrodynamic drag parameters. These are only multiplied by the square of

the velocity component magnitude, to generate resistive forces and moments opposite to the velocitysense.

Type: matrix

Default:

0 0 0 0 0 00 0 0 0 0 00 0 0 0 0 00 0 0 0 0 00 0 0 0 0 00 0 0 0 0 0

Units: N ∗ s2/m2orN ∗ s2/rad2orN ∗ s2/morNm ∗ s2/rad2

Tips: Note that the units of the entries in the matrix change depending on whether they are multiplied bythe sqare of linear (m/s) or rotational (rad/s) velocity.Please note the coefficients are in terms of radians for angular components.

A.6.3.8 RigidBodyCustomMesh feature properties

$CAxDescription: Added mass coefficient in the feature’s x-directionType: numberDefault: 1Units: Dimensionless

$CAyDescription: Added mass coefficient in the feature’s y-directionType: numberDefault: 1Units: Dimensionless

210

Page 213: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$CAzDescription: Added mass coefficient in the feature’s z-directionType: numberDefault: 1Units: Dimensionless

$CDtDescription: The skin drag coefficient associated with the relative flow tangential to the local mesh surface.Type: numberDefault: 0Units: DimensionlessRequired when: CDtMode is set to 0

$CDtModeDescription: NoneType: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 Uniform tangential drag coefficients $CDt

1 Independent tangential drag coefficients $CDtx, $CDty, $CDtz

$CDtxDescription: The skin drag coefficient associated with the surge component of the relative flow tangential to the

local mesh surface.Type: numberDefault: 0Units: DimensionlessRequired when: CDtMode is set to 1

$CDtyDescription: The skin drag coefficient associated with the sway component of the relative flow tangential to the

local mesh surface.Type: numberDefault: 0Units: DimensionlessRequired when: CDtMode is set to 1

$CDtzDescription: The skin drag coefficient associated with the heave component of the relative flow tangential to the

local mesh surface.Type: numberDefault: 0Units: DimensionlessRequired when: CDtMode is set to 1

211

Page 214: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$CDxDescription: Drag coefficient in the feature’s x-directionType: numberDefault: 1Units: Dimensionless

$CDxNDescription: Drag coefficient in the feature’s negative x-direction (asymmetric drag loading).Type: number, optionalDefault: 1Units: Dimensionless

$CDyDescription: Drag coefficient in the feature’s y-directionType: numberDefault: 1Units: Dimensionless

$CDyNDescription: Drag coefficient in the feature’s negative y-direction (asymmetric drag loading).Type: number, optionalDefault: 1Units: Dimensionless

$CDzDescription: Drag coefficient in the feature’s z-directionType: numberDefault: 1Units: Dimensionless

$CDzNDescription: Drag coefficient in the feature’s negative z-direction (asymmetric drag loading).Type: number, optionalDefault: 1Units: Dimensionless

$CustomMeshFileDescription: The file name of the custom mesh. Both OBJ and 3DS file formats are supported. The mesh feature

aligns the feature frame to the OBJ/3DS frame. The full file name including *.OBJ or *.3DS must bespecified. The mesh file must be located in the input folder.

Type: stringDefault: *.obj

$FluidCoefficientKCDataNameDescription: Specifies name of the fluid coefficient feature used to indicate fluid coefficient variation with period or

KC number.Type: string, optional

212

Page 215: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$HydroLoadingDescription: When enabled, the simplified hydrodynamics model uses a discretized Morison load approach to deter-

mine hydrodynamic drag and inertia loads when portions of the surface mesh are in the water.Type: integer, optionalDefault: 1

$HydrostaticFroudeKrylovDescription: Buoyancy and Froude-Krylov loads are computed by discrete surface integral of pressure over meshed

body. Deeply submerged bodies have static buoyancy loads that can be computed based on the volumeof displaced water. Alternatively, buoyancy and Froude-Krylov loads may be deactivated.

Type: integer, optionalDefault: 1Options: 0 No buoyancy or Froude-Krylov force

1 Nonlinear buoyancy and Froude-Krylov force2 Constant fully submerged buoyancy3 Nonlinear buoyancy and Froude-Krylov force when near surface, displacement based buoyancy when deeply submerged.

$OutputPressureDistributionDescription: When enabled, the pressure acting on each face of this mesh-based hydrodynamic feature is reported

to output file.Type: integer, optionalDefault: 0Options: 0 Disabled

1 Enabled

$ScaleXDescription: Scales the mesh in the x direction for this amountType: number, optionalDefault: 1Units: Dimensionless

$ScaleYDescription: Scales the mesh in the x direction for this amountType: number, optionalDefault: 1Units: Dimensionless

$ScaleZDescription: Scales the mesh in the x direction for this amountType: number, optionalDefault: 1Units: Dimensionless

213

Page 216: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$SoilLoadingDescription: When enabled, soil reaction loads are applied to the discrete surface panels of the mesh when in contact

with the seabed.Type: integer, optionalDefault: 1

$WaterlineMeshSplittingDescription: Enables or disables the splitting of mesh polygons that pierce the waterline.Type: integer, optionalDefault: 1Options: 0 Disabled

1 Enabled

$WindLoadingDescription: When enabled, the simplified hydrodynamics model uses a discretized Morison load approach to deter-

mine aerodynamic drag and inertia loads when portions of the surface mesh are in the air.Type: integer, optionalDefault: 1

A.6.3.9 RigidBodyFoil feature properties

$ChordLengthDescription: The mean chord length of the foil. The aspect ratio is span / chord. The planform area can be reduced

to account for 3D flow effects as a function of aspect ratio.Type: numberDefault: 1Units: m

$ChordSlopeDescription: The linear variation of chord along the span of the foil. The chord length specified is the mean value

at mid span where the feature frame is located.Type: number, optionalDefault: 0Units: Dimensionless

$DragScaleFactorDescription: The scale factor is applied to all drag coefficients over all angles of attack and Reynolds number.Type: number, optionalDefault: 1

Tips: The scale factor is used to tweak performance due to differences in foil shape or other complex floweffects that can not be captured by simplicity of the model.

$FiniteSpanEffectsDescription: When enabled, the span to chord aspect ratio is used to reduce the effective planform area due to finite

span effects.Type: integerDefault: 0

214

Page 217: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$FoilCDDataFileDescription: The file contains a database drag coefficients as a function of angle of attack and Reynolds number for

the foil or blade. The foil data files should be located in the input folder.Type: stringDefault: *.datTips: First row of the data file indicates Reynolds number. First column in the file indicates angle of attack.

The corresponding row and column values in the table indicate coefficient variation. A zero (0) in thevery top left of the file is not used for anything; The 0 enables consistent spacing to prevent confusionbetween Re and angle of attack variation.

$FoilCLDataFileDescription: The file contains a database lift coefficients as a function of angle of attack and Reynolds number for

the foil or blade. The foil data files must be located in the input folder.Type: stringDefault: *.datTips: First row of the data file indicates Reynolds number. First column in the file indicates angle of attack.

The corresponding row and column values in the table indicate coefficient variation. A zero (0) in thevery top left of the file is not used for anything; The 0 enables consistent spacing to prevent confusionbetween Re and angle of attack variation.

$FoilCMDataFileDescription: The file contains a database pitch moment coefficients as a function of angle of attack and Reynolds

number for the foil or blade. The foil data files must be located in the input folder.Type: stringDefault: *.datTips: First row of the data file indicates Reynolds number. First column in the file indicates angle of attack.

The corresponding row and column values in the table indicate coefficient variation. A zero (0) in thevery top left of the file is not used for anything; The 0 enables consistent spacing to prevent confusionbetween Re and angle of attack variation.

$LiftScaleFactorDescription: The scale factor is applied to all lift and pitch moment coefficients over all angles of attack and Reynolds

number.Type: number, optionalDefault: 1

Tips: The scale factor is used to tweak performance due to differences in foil shape or other complex floweffects that can not be captured by simplicity of the model.

$NumChordSubDivsVizDescription: Number of elements to discritised the surface mesh into along the chordwise direction.Type: integer, optionalDefault: 30

$NumSpanSubDivsVizDescription: Number of elements to discritised the surface mesh into along the spanwise direction.Type: integer, optionalDefault: 10

215

Page 218: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$PitchSlopeDescription: The linear variation in pitch angle of the blade along the span of the foil relative to the feature frame.

The relative pitch angle at the feature frame location is zero.Type: number, optionalDefault: 0Units: deg/m

$SpanDescription: The span of the foil. The aspect ratio is the span / chord. The planform area is reduced to account

for 3D flow effects as a function of aspect ratio.Type: numberDefault: 1Units: m

$SpanSegmentsDescription: The span of the foil is discretized into the specified number of segments to approximate the lift and

drag variation along the foil.Type: integerDefault: 5

A.6.3.10 RigidBodyTurbine feature properties

$BrakingTransientResponseDampingRatioDescription: Defines the braking mode damping ratio for the 2nd order transient response model.Type: numberDefault: 1

Required when: TransientResponseModel is set to 1

$BrakingTransientResponseOvershootDescription: The turbine braking mode maximum overshoot for the 2nd order transient response modelType: numberDefault: 0.02Units: %Required when: TransientResponseModel is set to 2Tips: The maximum overshoot is a function of damping ratio: M o = eˆ(-pi*zeta/sqrt(1-zetaˆ2)) where zeta

is the damping ratio and M o is the maximum overshoot.The maximum overshoot, in conjunction with settling time, define the transient response model’snatural frequency and damping ratio.

$BrakingTransientResponsePeriodDescription: The turbine transient response model time constant when braking.Type: numberDefault: 1Units: sRequired when: TransientResponseModel is set to 1Tips: The natural frequency of the dynamic change constant is equal to 2*pi/tau where tau is the period.

216

Page 219: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$BrakingTransientResponseSettlingTimeDescription: The turbine braking mode settling time for the 2nd order transient response model.Type: numberDefault: 1Units: sRequired when: TransientResponseModel is set to 2Tips: The settling time assumes a 2% tolerance band: ts = 4/(zeta*omega n) where zeta is the damping

ratio and omega n is the natural frequency (rad/s).The settling time, in conjunction with maximum overshoot, define the transient response model’snatural frequency and damping ratio.

$ControlParentRBDescription: Allows the turbine feature to control the parent RB’s revolute joint velocity. Parent RB must be a

downstream ABA link joined by a revolute joint.Type: integer, optionalDefault: 0

$CutInSpeedDescription: The relative fluid velocity at the hub whether the Turbine cuts in to start extracting power.Type: number, optionalDefault: 0Units: m/sOptional when: mode is set to 2; or

mode is set to 0Tips: If the relative fluid velocity is below the CutInSpeed, the turbine is in braked mode.

$CutOutSpeedDescription: The relative fluid velocity at the hub whether the Turbine cuts out to stop extracting power (prevents

overload/overspeed). Turbine goes into emergency mode braking.Type: number, optionalDefault: 100Units: m/sOptional when: mode is set to 2; or

mode is set to 0Tips: If the relative fluid velocity is above the CutOutSpeed, the turbine is in braked mode.

$FreeWheelTransientResponseDampingRatioDescription: Defines the freewheel damping ratio for the 2nd order transient response model.Type: numberDefault: 1

Required when: ScheduleMode is set to 1 and TransientResponseModel is set to 1

$FreeWheelTransientResponseOvershootDescription: The turbine freewheel mode maximum overshoot for the 2nd order transient response model.Type: numberDefault: 0.02Units: %Required when: ScheduleMode is set to 1 and TransientResponseModel is set to 2

217

Page 220: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Tips: The maximum overshoot is a function of damping ratio: M o = eˆ(-pi*zeta/sqrt(1-zetaˆ2)) where zetais the damping ratio and M o is the maximum overshoot.The maximum overshoot, in conjunction with settling time, define the transient response model’snatural frequency and damping ratio.

$FreeWheelTransientResponsePeriodDescription: The turbine transient response model time constant when in Freewheel.Type: numberDefault: 1Units: sRequired when: ScheduleMode is set to 1 and TransientResponseModel is set to 1Tips: The natural frequency of the transient response model is equal to 2*pi/tau where tau is the period.

$FreeWheelTransientResponseSettlingTimeDescription: The turbine freewheel mode settling time for the 2nd order transient response model.Type: numberDefault: 1Units: sRequired when: ScheduleMode is set to 1 and TransientResponseModel is set to 2Tips: The settling time assumes a 2% tolerance band: ts = 4/(zeta*omega n) where zeta is the damping

ratio and omega n is the natural frequency (rad/s).The settling time, in conjunction with maximum overshoot, define the transient response model’snatural frequency and damping ratio.

$IsCrossFlowTurbineDescription: When enabled, the turbine is assumed to be a cross-flow turbine. The thrust loads are applied across

the turbine rotation axis. Otherwise, the turbine is an axial flow turbine and the thrust loads are appliedalong the turbine’s rotation axis.

Type: integerDefault: 0Units: Dimensionless

$ModeDescription: Sets the Turbine’s mode of operationType: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 Use prescribed tip speed ratio $RelativeFluidVelocities, $ThrustCoefficient,$TorqueCoefficient

1 Use parent RB angular velocity $RelativeFluidVelocities, $ThrustCoefficient,$TorqueCoefficient

2 Use constant reference angular velocity $RelativeFluidVelocities, $ThrustCoefficient,$TorqueCoefficient

Tips: If no dynamic rotor is used, the angular velocity can be held constant through the simulation. (mode0)If no dynamic rotor is used, the tip speed ratio can be held constant through the simulation. (mode 1)A dynamic rotor can be modelled by using a turbine feature attached to a rigidbody constrained by arevolute joint. The rigidbody and its inertia models the rotor. Requires the ControlParentRB parameterbe enabled. (mode 2)

218

Page 221: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$OperatingTransientResponseDampingRatioDescription: Defines the operating mode damping ratio for the 2nd order transient response model.Type: numberDefault: 1

Required when: TransientResponseModel is set to 1

$OperatingTransientResponseOvershootDescription: The turbine operating mode maximum overshoot for the 2nd order transient response model.Type: numberDefault: 0.02Units: %Required when: TransientResponseModel is set to 2Tips: The maximum overshoot is a function of damping ratio: M o = eˆ(-pi*zeta/sqrt(1-zetaˆ2)) where zeta

is the damping ratio and M o is the maximum overshoot.The maximum overshoot, in conjunction with settling time, define the transient response model’snatural frequency and damping ratio.

$OperatingTransientResponsePeriodDescription: The turbine transient response model time constant while operating.Type: numberDefault: 1Units: sRequired when: TransientResponseModel is set to 1Tips: The natural frequency of the transient response model is equal to 2*pi/tau where tau is the period.

$OperatingTransientResponseSettlingTimeDescription: The turbine operating mode settling time for the 2nd order transient response model.Type: numberDefault: 1Units: sRequired when: TransientResponseModel is set to 2Tips: The settling time assumes a 2% tolerance band: ts = 4/(zeta*omega n) where zeta is the damping

ratio and omega n is the natural frequency (rad/s).The settling time, in conjunction with maximum overshoot, define the transient response model’snatural frequency and damping ratio.

$PctThrustAlongAxisDescription: Determines the percentage of the thrust load acting in the axial direction, the remainder acts along the

direction of flow. Flow direction is linearly interpolated between axial and flow directions.Type: number, optionalDefault: 1

$PrescribedTSRDescription: A list of TSR to the turbine operates at, at steady state, for given relative fluid velocities at the hub

while operating and extracting power.Type: matrix, variable number of rowsDefault:

[0 0

]Required when: mode is set to 0Column 0:

219

Page 222: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Name CurrentSpeedInfo The current speed for a given TSR.

Range −100 to 100Units m/s

Column 1:

Name TSRInfo The TSR for a given current speed.

Range −100 to 100Units Dimensionless

$PrescribedTSRFWDescription: A list of TSR to the turbine operates at, at steady state, for given relative fluid velocities at the hub

while freewheeling.Type: matrix, variable number of rowsDefault:

[0 0

]Required when: ScheduleMode is set to 1Column 0:

Name CurrentSpeedInfo The current speed for a given TSR.

Range −100 to 100Units m/s

Column 1:

Name TSRInfo The TSR for a given current speed.

Range −100 to 100Units Dimensionless

$ReferenceAngularVelocityDescription: The reference angular velocity used for computing tip speed ratio for Mode 2.Type: numberDefault: 0Units: deg/sRequired when: mode is set to 2Tips: To set a counter-clockwise angular velocity, rotate the turbine feature by 180 degrees about the z axis.

$ReferenceDiameterDescription: The characteristic diameter of the turbine to dimensionalize parameters such as the velocity of the

turbine from tip speed ratio.Type: numberDefault: 0Units: m

$ReferenceSweptAreaDescription: The characteristic swept area of the turbine used to dimensionalize the thrust and torque data.Type: numberDefault: 0Units: m2

220

Page 223: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$RelativeFluidVelocitiesDescription: The relative axial (or cross-axial for cross-flow turbines) flow velocities at the hub that correspond to

each coefficient column of TorqueCoefficient and ThrustCoefficient matrices.Type: matrix, variable number of columns, variable number of rowsDefault:

[0]

Required when: Mode is set to 1; orMode is set to 2; orMode is set to 0

Tips: One column entry is required for each column of thrust/torque coefficients provided. For example, for3 columns of thrust/torque coefficients the entry would resemble: $RelativeFluidVelocities 0.0 1.0 2.0

$RotationAxisDescription: The index number that indicates the axis of rotation of the feature with respect to the feature frame.Type: integerDefault: 0Options: 0 Feature frame’s X axis

1 Feature frame’s Y axis2 Feature frame’s Z axis

Units: Dimensionless

$RotorInertiaDescription: The inertia of the rotor for applying Torque to the frame due to rotational acceleration.Type: number, optionalDefault: 0Units: kgm2

Optional when: mode is set to 0

$ScheduleDescription: Defines a time-based event. Triggers changes the turbine state. Turbine states can be operating/startup,

shutdown/braked and freewheel.Type: matrix, variable number of rowsDefault:

[0 0

]Required when: ScheduleMode is set to 1Column 0:

Name Schedule ModeInfo Which scheduling mode chosen: 0 = startup, 1 = shutdown, 2 = freewheel.

Range 0 to 2Units Dimensionless

Column 1:

Name Trigger TimeInfo Time which the triggered schedule mode begins.

Range 0 to 1×109

Units s

$ScheduleModeDescription: Enables the ability to schedule the turbine startups and shutdowns.Type: integerDefault: 0

221

Page 224: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Options: # Description: Required follower properties:

0 Disabled

1 Enabled $FreeWheelTransientResponseDampingRatio,$FreeWheelTransientResponseOvershoot,$FreeWheelTransientResponsePeriod,$FreeWheelTransientResponseSettlingTime, $PrescribedTSRFW, $Schedule

Units: dimensionless

$ThrustCoefficientDescription: The thrust coefficient variation with tip speed ratio and relative fluid velocity.Type: matrix, variable number of columns, variable number of rowsDefault:

[0 0

]Units: DimensionlessRequired when: Mode is set to 1; or

Mode is set to 2; orMode is set to 0

Tips: The first column is the tip speed ratio corresponding to that row of coefficients. Each consecutivefollowing column for that row is a thrust coefficient that corresponds to that tip speed ratio and therespective column entry of the RelativeFluidVelocities vector.

$TorqueCoefficientDescription: The torque coefficient variation with tip speed ratio and relative fluid velocity.Type: matrix, variable number of columns, variable number of rowsDefault:

[0 0

]Units: DimensionlessRequired when: Mode is set to 1; or

Mode is set to 2; orMode is set to 0

Tips: The first column is the tip speed ratio corresponding to that row of coefficients. Each consecutivefollowing column for that row is a torque coefficient that corresponds to that tip speed ratio and therespective column entry of the RelativeFluidVelocities vector.

$TransientResponseModelDescription: Controls the dynamic change model for the turbine. Time constants control the rate of change of the

turbine’s RPM from the current RPM to the expected steady state RPM for the given instantaneouscurrent.

Type: integerDefault: 0

222

Page 225: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Options: # Description: Required follower properties:

0 Off

1 2nd order defined using period and damping ratio $BrakingTransientResponseDampingRatio,$BrakingTransientResponsePeriod,$FreeWheelTransientResponseDampin-gRatio,$FreeWheelTransientResponsePeriod,$OperatingTransientResponseDampin-gRatio,$OperatingTransientResponsePeriod

2 2nd order defined using rise time and overshoot $BrakingTransientResponseOvershoot,$BrakingTransientResponseSettling-Time,$FreeWheelTransientResponseOver-shoot,$FreeWheelTransientResponseSettling-Time,$OperatingTransientResponseOver-shoot,$OperatingTransientResponseSettling-Time

Required when: mode is set to 0Tips: The dynamic change model is a 2nd order model that obeys: dˆ2x/dtˆ2 + 2*zeta*w o*dx/dt +w oˆ2*x

= 0, where x is the angular velocity of the rotor (rad/s), zeta is the damping ratio and w o is the naturalfrequency (rad/s) of the dynamic change model system.

A.6.3.11 RigidBodyThruster feature properties

$ModeDescription: Set the Turbine’s mode of operationType: integer, optionalDefault: 0Options: 0 Use set prop revolutions per second

Tips: A dynamic rotor can be modelled by attaching a turbine feature to a rigidbody constrained with arevolute joint. (mode 0)If no dynamic rotor is used, the angular velocity can be held constant through the simulation. (mode1)If no dynamic rotor is used, the tip speed ratio can be held constant through the simulation. (mode 2)

$PropRevolutionRateDescription: The reference angular velocity used for computing tip speed ratio for mode 1.Type: numberDefault: 0Units: rev/sRequired when: mode is set to 0

223

Page 226: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$ReferenceDiameterDescription: The characteristic diameter of the turbine to dimensionalize parameters such as the velocity of the

turbine from tip speed ratio.Type: numberDefault: 0Units: m

$ThrustCoefficientDescription: The thrust coefficient variation with adnance coefficient.Type: matrix, variable number of rowsDefault:

[0 0

]Column 0:

Name JInfo The corresponding advance coefficient associated with the thrust coefficient value.

Range 0 to 100Units Dimensionless

Column 1:

Name CTInfo The thrust coefficient value.

Range −100 to 100Units Dimensionless

$TorqueCoefficientDescription: The torque coefficient variation with advance coefficient.Type: matrix, variable number of rowsDefault:

[0 0

]Column 0:

Name JInfo The corresponding advance coefficient associated with the torque coefficient value.

Range −100 to 100Units Dimensionless

Column 1:

Name CQInfo The torque coefficient value.

Range −100 to 100Units Dimensionless

A.6.3.12 RigidBodyABAConnectionJoint feature properties

$CEJointDescription: End stop damping coefficient. End stop damping is only applied when the joint position moves past a

value of EJoint from the value of E0Joint. The end stop damping are applied in addition to the jointdamping, CJoint.

Type: numberDefault: 0

$CJointDescription: Joint damping coefficient.Type: numberDefault: 0

224

Page 227: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Units: N ∗ s/morNm ∗ s/rad

$E0JointDescription: The reference joint position about which the end stops are symmetrically placed.Type: numberDefault: 0

$EJointDescription: Symmetric joint end stop location. The end stops are symmetrically located relative to the initial joint

position E0Joint.Type: numberDefault: 0

$FRJointDescription: Constant resistive joint load. This constant load is applied against the direction of velocity of the joint.Type: numberDefault: 0

Tips: This may be useful for modeling friction effects

$FRNCJointDescription: Resistive force damping that is only applied when joint velocity is negative. When this value is nonzero,

FRNJoint specifies the maximum magnitude that will be applied.Type: vectorDefault:

[0 0

]

$FRNDeadBandDescription: Resistive joint force negative deadband threshold. This is the velocity magnitude value the joint must

attain in the negative direction before it will switch over to FRN forces.Type: numberDefault: 0

Tips: Setting this to a small nonzero value will emulate a sticking effect and also may help with numericalintegration efficiency.

$FRNJointDescription: Constant resistive joint force that only opposes negative joint velocity. If resistive force stiffness and

damping (FRNKJoint and FRNCJoint) are nonzero, this acts as an magnitude saturation bound on theforce that will be applied.

Type: numberDefault: 0

$FRNKJointDescription: Resistive force stiffness that is only applied when joint velocity is negative. When this value is nonzero,

FRNJoint specifies the maximum magnitude that will be applied.Type: numberDefault: 0

225

Page 228: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$FRPCJointDescription: Resistive force damping that is only applied when joint velocity is positive. When this value is nonzero,

FRPJoint specifies the maximum magnitude that will be applied.Type: vectorDefault:

[0 0

]

$FRPDeadBandDescription: Resistive joint force positive deadband threshold. This is the velocity magnitude the joint must attain

in the positive direction before it will switch over to FRP forces.Type: numberDefault: 0

Tips: Setting this to a small nonzero value will emulate a sticking effect and also may help with numericalintegration efficiency.

$FRPJointDescription: Constant resistive joint force that only opposes positive joint velocity. If resistive force stiffness and

damping (FRPKJoint and FRPCJoint) are nonzero, this acts as an magnitude saturation bound on theforce that will be applied.

Type: numberDefault: 0

$FRPKJointDescription: Resistive force damping that is only applied when joint velocity is positive. When this value is nonzero,

FRPJoint specifies the maximum magnitude that will be applied.Type: numberDefault: 0

$KEJointDescription: End stop stiffness coefficient. End stop stiffness is only applied when the joint position moves past a

value of EJoint from the value of E0Joint. These end stop stiffness is applied in addition to the jointstiffness, KJoint.

Type: numberDefault: 0

$KJointDescription: Joint stiffness coefficient.Type: numberDefault: 0Units: N/morNm/rad

$TaJointDescription: Sinusoidal joint actuation load amplitude.Type: numberDefault: 0

226

Page 229: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$TfJointDescription: Sinusoidal joint actuation load frequency.Type: numberDefault: 0

$TJointDescription: Constant joint actuation force.Type: numberDefault: 0

A.6.3.13 RigidBodyWaypoint feature properties

$VelocityDescription: Specify time, velocity and rotation rate of rigid body in terms of the global reference frameType: matrix, variable number of rows, unorderedDefault:

[0 0 0 0 0 0 0

]Required when: WaypointMode is set to 2Column 0:

Name TimeInfo Time to transition between points

Range 0 to 1×109

Units sColumn 1:

Name VxInfo X velocity of rigid body in global coordinate frame

Range −10 000 to 10 000Units m/s

Column 2:

Name VyInfo Y velcotiy of rigid body in global coordinate frame

Range −10 000 to 10 000Units m/s

Column 3:

Name VzInfo Z velocity of rigid body in global coordinate frame

Range −10 000 to 10 000Units m/s

Column 4:

Name Phi dotInfo Roll rate of rigid body

Range −10 000 to 10 000Units deg/s

Column 5:

Name Theta dotInfo Pitch rate of rigid body

Range −10 000 to 10 000Units deg/s

Column 6:

227

Page 230: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Name Psi dotInfo Heading rate of rigid body

Range −10 000 to 10 000Units deg/s

$WaypointDescription: Specify time, position and orientation in the global frame of reference: time(s) X(m) Y(m) Z(m)

phi(deg) theta(deg) psi(deg). The rigid body using these points will calculate the speed to transitionbetween these points through the simulation.

Type: matrix, variable number of rows, unorderedDefault:

[0 0 0 0 0 0 0

]Required when: WaypointMode is set to 0; or

WaypointMode is set to 1Column 0:

Name TimeInfo Time to transition between points

Range 0 to 1×109

Units sColumn 1:

Name XInfo X position of rigid body in global coordinate frame

Range −10 000 to 10 000Units m

Column 2:

Name YInfo Y position of rigid body in global coordinate frame

Range −10 000 to 10 000Units m

Column 3:

Name ZInfo Z position of rigid body in global coordinate frame

Range −10 000 to 10 000Units m

Column 4:

Name PhiInfo Roll of rigid body

Range −10 000 to 10 000Units deg

Column 5:

Name ThetaInfo Pitch of rigid body

Range −10 000 to 10 000Units deg

Column 6:

Name PsiInfo Heading of rigid body

Range −10 000 to 10 000Units deg

228

Page 231: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$WaypointModeDescription: Specifies which waypoint mode is being usedType: integerDefault: 0

Options: # Description: Required follower properties:

0 Position orientation waypoints $Waypoint

1 Position orientation waypoints, with ramping velocity $Waypoint

2 Velocity control $Velocity

A.6.3.14 RigidBodyBallast feature properties

$FillScheduleDescription: The time stamped ballast tank level schedule.Type: matrix, variable number of rowsDefault:

[0 0

]Tips: Must define at a minimum the fill level at a time of 0s.Column 0:

Name TimeInfo The time stamp

Range 0 to 1×106

Units sColumn 1:

Name Ballast levelInfo The ballast % fill level

Range 0 to 100Units %

$LxDescription: The length of the ballast tank.Type: numberDefault: 1Units: m

$LyDescription: The width of the ballast tank.Type: numberDefault: 1Units: m

$MaxFillLevelDescription: The fillable height of the ballast tank.Type: numberDefault: 1000Units: m

A.6.4 Data file (*.dat)

Required sections:• state

229

Page 232: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Listing A.4: *.dat file for a RigidBody DObject <state >

0.0 //X velocity (m/s)

0.0 //Y velocity (m/s)

0.0 //Z velocity (m/s)

0.0 //Roll angular velocity (deg/s)

0.0 // Pitch angular velocity (deg/s)

0.0 //Yaw angular velocity (deg/s)

0.0 // X position (m)

0.0 // Y position (m)

0.0 // Z position (m)

0.0 // Roll (deg)

0.0 // Pitch (deg)

0.0 // Yaw (deg)

</state > A.6.5 Hydrodynamic database properties (*.ini)

Hydrodynamics effects can be incorporated into simulation through the use of a hydrodynamic database. Ocean waveexcitation is incorporated by linear incident wave and diffraction load components based on relative heading, forwardspeed, an wave frequency. Wave radiation load effects can be specified by either frequency dependent added massand damping values, from which ProteusDS computes a kernel function, or by directly specifying the kernel function touse. Hydrostatic and extra stiffness matrices can be specified in addition to damping matrices. This serves as a facilityto import hydrodynamic data produced by external hydrodynamics programs, such as ShipMo3D, into ProteusDS timedomain simulation.

$AddedMassAtInfiniteFrequencyDescription: Nonzero entries of the added mass matrix at infinite frequency. row index, column index, and nonzero

coefficient value.Type: matrix of strings, optionalDefault:

[0 0 0

]$AddedMassMatrix

Description: Nonzero entries of the frequency-dependent added mass matrix. Specify forward speed (m/s), frequency(radians/sec), row index, column index, and nonzero coefficient value.

Type: matrix of strings, optionalDefault:

[0 0 0 0 0

]$BaselineBuoyancy

Description: This indicates the calm waterline static buoyancy provided by the hull.Type: number, optionalDefault: −1Units: NTips: If no value is provided, it will be approximated based on the draft of the body and the linear hydrostatic

matrix.If no value is provided and hydrostatic calculations are deactivated, no value will be used.

230

Page 233: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$CLPositionFromBaselineDescription: This parameter defines the vector position of the hydrodynamic coefficient’s reference frame (Center

of Loading/CL) relative to the feature frame.Type: vector, optionalDefault:

[0 0 0

]Units: mTips: The Z component is also used to compute are portion of the static draft.

$CLPositionFromWaterlineDescription: This gives the distance of the center of load frame from the water line in static conditions.Type: number, optionalDefault: 0Units: mTips: This is used for computing a portion of the static draft.

$ConstantAddedMassMatrixDescription: Nonzero entries of the frequency-independent zero forward speed added mass matrix. Specify row and

column index with nonzero coefficient value.Type: matrix of strings, optionalDefault:

[0 0 0

]$ConstantDampingMatrix

Description: Nonzero entries of the frequency-independent linear damping matrix. Specify row and column indexwith nonzero coefficient value. Frequency-dependent damping is supplied in a different property.

Type: matrix of strings, optionalDefault:

[0 0 0

]$ConstantHydrostaticStiffnessMatrix

Description: Nonzero entries of the frequency-independent zero forward speed hydrostatic stiffness matrix. Specifyrow and column index with nonzero coefficient value.

Type: matrix of strings, optionalDefault:

[0 0 0

]$ConstantQuadraticDampingMatrix

Description: Nonzero entries of the frequency-independent quadratic damping matrix. Specify row and columnindex with nonzero coefficient value. Frequency-dependent quadratic damping is supplied in a differentproperty.

Type: matrix of strings, optionalDefault:

[0 0 0

]$ConstantStiffnessMatrix

Description: Nonzero entries of the frequency-independent zero forward speed static stiffness matrix. Specify rowand column index with nonzero coefficient value.

Type: matrix of strings, optionalDefault:

[0 0 0

]

231

Page 234: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$ConstantStiffnessReferenceDescription: This is the feature frame position and orientation with respect to the global inertial frame that is used

as the reference (zero) point for the constant extra stiffness applied. The default value is assumed toalign with the inertial reference frame.

Type: vector, optionalDefault:

[0 0 0 0 0 0

]

$DampingAtInfiniteFrequencyDescription: Nonzero entries of the damping matrix at infinite frequency. row index, column index, and nonzero

coefficient value.Type: matrix of strings, optionalDefault:

[0 0 0

]$DampingMatrix

Description: Nonzero entries of the frequency-dependent linear damping matrix. Specify forward speed (m/s),frequency (radians/sec), row index, column index, and nonzero coefficient value.

Type: matrix of strings, optionalDefault:

[0 0 0 0 0

]$DiffractionLoadAtIncidentFrequency

Description: Diffraction load hydrodynamic database coefficients proportional to incident frequency. The first threevalues reference the hydrodynamic database index (forward speed, relative heading, incident frequency)and the following 12 values are the complex loading values proportional to incident frequency for eachdegree of freedom of the vessel.

Type: matrix, variable number of columns, unordered, optionalDefault:

[0]

$DiffractionLoadAtSpeedDescription: Diffraction load hydrodynamic database coefficients proportional to forward speed. The first three

values reference the hydrodynamic database index (forward speed, relative heading, incident frequency)and the following 12 values are the complex loading values proportional to forward speed for each degreeof freedom of the vessel.

Type: matrix, variable number of columns, unordered, optionalDefault:

[0]

$DragCoLateralDescription: The hull sway drag coefficient used to compute sway and resulting coupled roll and yaw viscous loading.Type: number, optionalDefault: 0.5Units: Dimensionless

$DragCosForResistDescription: The hull surge resistance coefficient variation with relative forward speed.Type: matrix, variable number of rows, optionalDefault:

[0 0

]Tips: Hull resistance is a combination of pressure and skin friction drag on the hull as well as wave making

resistance in the surge direction.

232

Page 235: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Column 0:

Name Relative forward speedInfo Hull relative speed to the water in the surge direction

Range 0 to 1000Units m/s

Column 1:

Name Resistance coefficientInfo The corresponding resistance coefficient at the reference relative speed to the water.

Range 0 to 1000Units Dimensionless

$ExcitationFrequencyDescription: Incident and diffraction wave loading hydrodynamic database range of discrete incident wave frequen-

cies. This is the wave angular frequency and not the encounter frequency.Type: matrix, variable number of columns, unordered, optionalDefault:

[0]

Units: rad/s

$ExcitationHeadingDescription: Incident and diffraction wave loading hydrodynamic database range of discrete relative wave headings.

Note that wave heading in this indicates the propagation vector of the wave relative to the heading ofthe body.

Type: matrix, variable number of columns, unordered, optionalDefault:

[0]

Units: degrees

$ExcitationPhaseOffsetDescription: Constant phase offset value to account for reference frame orientation change between inertial reference

frames used by this software and software used to generate the hydrodynamic database.Type: number, optionalDefault: 0Units: radiansordegrees

$ExcitationSpeedDescription: Incident and diffraction wave loading hydrodynamic database range of discrete vessel forward speeds.Type: matrix, variable number of columns, unordered, optionalDefault:

[0]

Units: m/s

$HullXZLatAreaAndWetAreaDescription: Station information for evaluating hull resistance: station x location (+bow), station draught area

centroid z-component (+keel), station lateral profile area, and station skin friction area.Type: matrix of strings, optionalDefault:

[0 0 0 0

]

233

Page 236: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$IncidentLoadAtIncidentFrequencyDescription: Incident load hydrodynamic database coefficients proportional to incident frequency. The first three

values reference the hydrodynamic database index (forward speed, relative heading, incident frequency)and the following 12 values are the complex loading values proportional to incident frequency for eachdegree of freedom of the vessel.

Type: matrix, variable number of columns, unordered, optionalDefault:

[0]

$IncidentLoadAtSpeedDescription: Incident load hydrodynamic database coefficients proportional to forward speed. The first three values

reference the hydrodynamic database index (forward speed, relative heading, incident frequency) andthe following 12 values are the complex loading values proportional to forward speed for each degree offreedom of the vessel.

Type: matrix, variable number of columns, variable number of rows, unordered, optionalDefault:

[0 0 0 0 0 0 0

]

$Kernel0Description: The forward-speed independent time-domain Kernel function. The first and second column indicate the

kernel matrix entry’s row column respectively. The remainder of columns hold the Kernel matrix entryas a function of time starting at t=0, ending at t = TimeDomainLength with each consecutive columncorresponding to one sample interval farther in time than the last.

Type: matrix, variable number of columns, unordered, optionalDefault:

[0]

Tips: Note that the time domain length and sample rate of the supplied kernel overrides the values specifiedin the properties file.

$KernelDampingTolDescription: This property is used to determine what magnitude frequency dependent damping is truncated at before

artificially imposing exponential decay to the kernel zero tolerance value.Type: number, optionalDefault: 0.1

Optional when: KernelHighFrequencyApproximation is set to 1Tips: This is used to numerically condition the kernel function and reduce high frequency ripple or destabilizing

(growing) ripples due to ill-conditioned frequency dependent damping values.

$KernelFromDampingDescription: When enabled, the Kernel used in the fluid memory force calculation is derived from frequency dependent

damping or added mass quantities.Type: integer, optionalDefault: 1

$KernelHighFrequencyApproximationDescription: When activated, an exponential decay function is used to approximate the frequency dependent damp-

ing values to ensure convergence to a small value without requiring the data to be specified in thehydrodynamic database.

Type: integer, optionalDefault: 1

234

Page 237: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Tips: This is used to numerically condition the kernel functions by ensuring frequency dependent dampingvalues converge to zero

$KernelUDescription: This allows the time-domain Kernel-U function to be specified directly. This is one of the data structures

needed for applications with nonzero forward speed (U).Type: matrix, variable number of columns, unordered, optionalDefault:

[0]

$KernelUUDescription: This allows the time-domain Kernel-UU function to be specified directly. This is one of the data

structures needed for applications with nonzero forward speed (U).Type: matrix, variable number of columns, unordered, optionalDefault:

[0]

$KernelZeroTolDescription: This property value sets the value the frequency dependent damping is forced to exponentially decay

to.Type: number, optionalDefault: 1×10−5

Optional when: KernelHighFrequencyApproximation is set to 1Tips: This is used to numerically condition the kernel functions computed from frequency dependent

$LengthScaleDescription: Reference length scale for use in dimensionalizing hydrodynamic data.Type: number, optionalDefault: 1

Optional when: NondimensionalInput is set to 1

$NondimensionalInputDescription: When enabled, this indicates the matrices supplied are nondimensionalized.Type: integer, optionalDefault: 0

$QuadraticDampingMatrixDescription: Nonzero entries of the frequency-dependent quadratic damping matrix. Specify forward speed (m/s),

frequency (radians/sec), row index, column index, and nonzero coefficient value.Type: matrix of strings, optionalDefault:

[0 0 0 0 0

]$RadiansInput

Description: Flag that indicates if the hydrodynamic coefficients use degrees or radians.Type: integer, optionalDefault: 1

235

Page 238: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$SpeedDampingMatrixDescription: Nonzero entries of the frequency-independent speed damping matrix. Specify row and column index

with nonzero coefficient value.Type: matrix of strings, optionalDefault:

[0 0 0

]$SpeedStiffnessMatrix

Description: Nonzero entries of the frequency-independent speed stiffness matrix. Specify row and column indexwith nonzero coefficient value.

Type: matrix of strings, optionalDefault:

[0 0 0

]$TimeDomainLength

Description: Specifies the length of time of fluid memory effect. This should only be as long as it takes for theimpulse response function of the body to reach a negligable response.

Type: number, optionalDefault: 30Units: s

$TimeDomainSampleRateDescription: Specifies the interval at which the kernel function and therefore kernel forces due to frequency domain

variations in hydrodynamic coefficients is resolved.Type: number, optionalDefault: 0.1Units: s

$UnitMatrixIndexDescription: Flag that indicates if the specified index values for matrix entries are unit or zero offset.Type: integer, optionalDefault: 0

A.6.6 RAO database properties (*.ini)

$ExcitationFrequencyDescription: Incident and diffraction wave loading hydrodynamic database range of discrete incident wave frequen-

cies. This is the wave angular frequency and not the encounter frequency.Type: matrix, variable number of columns, unorderedDefault:

[0]

Units: rad/s

$ExcitationHeadingDescription: Incident and diffraction wave loading hydrodynamic database range of discrete relative wave headings.

Note that wave heading in this indicates the propagation vector of the wave relative to the heading ofthe body.

Type: matrix, variable number of columns, unorderedDefault:

[0]

Units: degrees

236

Page 239: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$ExcitationPhaseOffsetDescription: Constant phase offset value to account for reference frame orientation change between inertial reference

frames used by this software and software used to generate the hydrodynamic database.Type: number, optionalDefault: 0Units: radiansordegrees

$ExcitationSpeedDescription: Incident and diffraction wave loading hydrodynamic database range of discrete vessel forward speeds.Type: matrix, variable number of columns, unorderedDefault:

[0]

Units: m/s

$LengthScaleDescription: Reference length scale for use in dimensionalizing RAO rotational motion by quotient of wave amplitude

and the length scale.Type: number, optionalDefault: 0

Tips: If no value is provided, the data is assumed to be nondimensionalized by the wave slope or the productof wave amplitude and wave number.

$PhaseLagDescription: When enabled, the RAO phase leads the wave phase. When disabled, the RAO phase lags the wave

phase.Type: integer, optionalDefault: 0Units: Dimensionless

$RAODescription: Response Amplitude Operator data. The first three values reference the RAO database index (forward

speed, relative heading, incident frequency) and the following 12 values are the motion amplitude andphase for each degree of freedom of the vessel.

Type: matrix, variable number of rows, unorderedDefault:

[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

]

237

Page 240: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

A.7 SCable

A.7.1 Input file properties (*.ini)

A.7.1.1 Applied loading

$ExtLoadDescription: The property defines the ExtLoad feature to use to apply an external load to the cable at a specified

arclength.Type: string double, optional, feature referenceDefault: extLoad

[0]

Loads feature: ExtLoadColumn 0:

Name Extload feature nameInfo The name of the section to load in the simulation library

Column 1:

Name Arc lengthInfo The arc length along the cable at which the extload is applied

Range 0 to 100 000Units m

A.7.1.2 Boundary constraints

$Node0ClampedDescription: When enabled, the termination at node 0 is clamped in bending and torsion. When disabled, the

termination is pinned.Type: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 Disabled

1 Enabled $P10, $P20

Optional when: Node0Static is set to 1; orNode0Kinematic is set to 1

Tips: Bending and torsion moments and stress will always be zero at the termination if a pinned terminationis used.If the termination is clamped, the principal vectors P1 and P2 must be specified.

$Node0DeadbandPayoutSpeedDescription: The payout speed to use in the deadband.Type: number, optionalDefault: 0Units: NOptional when: Node0PayoutMode is set to 2

$Node0GroundDescription: When enabled, at simulation initialization, node 0 altitude is set to zero and fixed in space.Type: integer, optionalDefault: 0Options: 0 Disabled

1 Enabled

238

Page 241: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Optional when: Node0Static is set to 1Tips: This is used to fix the boundary node directly on the ground or seabed to avoid any air gap or significant

ground penetration.

$Node0KinematicDescription: When enabled, node 0 is kinematic and obeys constant velocity motion, ignoring all forces applied

otherwise. When disabled, the node is dynamic or otherwise free to be controlled by another DObject.Type: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 Disabled

1 Enabled $AverageForceWindowNode0, $AverageMomentWindowNode0,$AverageReactionPercentStartLoadNode0,$AverageReactionRampTimeNode0, $Node0Clamped

Tips: Use this if the boundary node is under control via API functionsConstant acceleration may also be used instead of constant velocity

$Node0PayoutModeDescription: Tension or payout speed control at DCable end at node 0 is enabled based on simple kinematic payout

velocity changes. More advanced control is available by using a DCableTensionController.Type: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 Off

1 Constant speed mode $Node0PayoutSpeed

2 Pretension mode $Node0DeadbandPayoutSpeed, $Node0Pretension,$Node0PretensionDeadbandPercentage,$Node0PretensionPayoutSpeed

Tips: This can be used to set a desired pretension during simulation setup.

$Node0PayoutRampTimeDescription: The time it takes to linearly ramp from 0 to Node0PayoutSpeed. The property may also used to ramp

commanded payout speed in pretension mode at the start of a simulation.Type: number, optionalDefault: 0Units: s

$Node0PayoutSpeedDescription: The payout speed at Node 0.Type: numberDefault: 1Units: m/sRequired when: Node0PayoutMode is set to 1

239

Page 242: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$Node0PretensionDescription: The Node0Pretension is the tension that the controller will attempt to maintain throughout the simu-

lationType: numberDefault: 1000Units: NRequired when: Node0PayoutMode is set to 2

$Node0PretensionDeadbandPercentageDescription: The percentage of the pretension value which to use as a deadband about the pretension setpoint; in

this band, the deadband payout speed is used.Type: number, optionalDefault: 5Units: %Optional when: Node0PayoutMode is set to 2

$Node0PretensionPayoutSpeedDescription: Node0PretensionPayoutSpeed is the payout speed to be used to achieve the pretension NodeNPretensionType: numberDefault: 0.1Units: m/sRequired when: Node0PayoutMode is set to 2Tips: Large payout speeds may result in tension oscillations that can destabilize a simulation.

If it is required to payin cable to decrease the tension, use a negative speed.

$Node0StaticDescription: When enabled, node 0 is fixed in space at the initial condition location. When disabled, the node is

dynamic or otherwise free to be controlled by another DObject.Type: integerDefault: 0

Options: # Description: Required follower properties:

0 Disabled

1 Enabled $Node0Clamped, $Node0Ground

$NodeNClampedDescription: When enabled, the termination at node N is clamped in bending and torsion. When disabled, the

termination is pinned.Type: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 Disabled

1 Enabled $P1N, $P2N

Optional when: NodeNStatic is set to 1; orNodeNKinematic is set to 1

Tips: Bending and torsion moments and stress will always be zero at the termination if a pinned terminationis used.If the termination is clamped, the principal vectors P1 and P2 must be specified.

240

Page 243: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$NodeNDeadbandPayoutSpeedDescription: The payout speed to use in the deadband.Type: number, optionalDefault: 0Units: NOptional when: NodeNPayoutMode is set to 2

$NodeNGroundDescription: When enabled, at simulation initialization, node 0 altitude is set to zero and fixed in space.Type: integer, optionalDefault: 0Options: 0 Disabled

1 Enabled

Optional when: NodeNStatic is set to 1Tips: This is used to fix the boundary node directly on the ground or seabed to avoid any air gap or significant

ground penetration.

$NodeNKinematicDescription: When enabled, node N is kinematic and obeys constant velocity motion, ignoring all forces applied

otherwise. When disabled, the node is dynamic or otherwise free to be controlled by another DObject.Type: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 Disabled

1 Enabled $AverageForceWindowNodeN, $AverageMomentWindowNodeN,$AverageReactionPercentStartLoadNodeN,$AverageReactionRampTimeNode0, $NodeNClamped

Tips: Use this if the boundary node is under control via API functionsConstant acceleration may also be used instead of constant velocity

$NodeNPayoutModeDescription: Tension or payout speed control at DCable end at node N is enabled based on simple kinematic payout

velocity changes. More advanced control is available by using a DCableTensionController.Type: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 Off

1 Constant speed mode $NodeNPayoutSpeed

2 Pretension mode $NodeNDeadbandPayoutSpeed, $NodeNPretension,$NodeNPretensionDeadbandPercentage,$NodeNPretensionPayoutSpeed

Tips: This can be used to set a desired pretension during simulation setup.

241

Page 244: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$NodeNPayoutRampTimeDescription: The time it takes to linearly ramp from 0 payout speed to NodeNPayoutSpeed. The property may also

be used to ramp commanded payout speed in pretension mode at the start of a simulation.Type: number, optionalDefault: 0Units: s

$NodeNPayoutSpeedDescription: The payout speed at node N.Type: numberDefault: 1Units: m/sRequired when: NodeNPayoutMode is set to 1

$NodeNPretensionDescription: The NodeNPretension is the tension that the controller attempt to maintain throughout the simulationType: numberDefault: 1000Units: NRequired when: NodeNPayoutMode is set to 2

$NodeNPretensionDeadbandPercentageDescription: The percentage of the pretension value which to use as a deadband about the pretension setpoint; in

this band, the deadband payout speed is used.Type: number, optionalDefault: 5Units: %Optional when: NodeNPayoutMode is set to 2

$NodeNPretensionPayoutSpeedDescription: NodeNPretensionPayoutSpeed is the payout speed to be used to achieve the pretension NodeNPreten-

sionType: numberDefault: 0.1Units: m/sRequired when: NodeNPayoutMode is set to 2Tips: Large payout speeds may result in tension oscillations that can destabilize a simulation.

If it is required to payin cable to decrease the tension, use a negative speed.

$NodeNRingDescription: When enabled, node N is constrained by node 0 to produce continuous position, tangent, and curvature.Type: integer, optionalDefault: 0Options: 0 Disabled

1 Enabled

Optional when: NodeNStatic is set to 0

242

Page 245: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$NodeNStaticDescription: When enabled, node N is fixed in space at the initial condition location. When disabled, the node is

dynamic or otherwise free to be controlled by another DObject.Type: integerDefault: 0

Options: # Description: Required follower properties:

0 Disabled $NodeNRing

1 Enabled $NodeNClamped, $NodeNGround

$P10Description: The P1 principal unit vector at node 0. The vectors P1 and P2 are specified in terms of the global

reference frame and provide the boundary reference for constraint of tangent and torsion.Type: vectorDefault:

[0 0 0

]Units: DimensionlessRequired when: Node0Clamped is set to 1Tips: P1 and P2 are both in the plane of the cross-section of the DCable.

The cross product of P1 and P2 produces the tangent vector, which points positive direction from node0 toward node N.

$P1NDescription: The P1 principal unit vector at node N. The vectors P1 and P2 are specified in terms of the global

reference frame and provide the boundary reference for constraint of tangent and torsion.Type: vectorDefault:

[0 0 0

]Units: DimensionlessRequired when: NodeNClamped is set to 1Tips: P1 and P2 are both in the plane of the cross-section of the DCable.

The cross product of P1 and P2 produces the tangent vector, which points positive direction from node0 toward node N.

$P20Description: The P2 principal unit vector at node 0. The vectors P1 and P2 are specified in terms of the global

reference frame and provide the boundary reference for constraint of tangent and torsion.Type: vectorDefault:

[0 0 0

]Units: DimensionlessRequired when: Node0Clamped is set to 1Tips: P1 and P2 are both in the plane of the cross-section of the DCable.

The cross product of P1 and P2 produces the tangent vector, which points positive direction from node0 toward node N.

$P2NDescription: The P2 principal unit vector at node N. The vectors P1 and P2 are specified in terms of the global

reference frame and provide the boundary reference for constraint of tangent and torsion.Type: vectorDefault:

[0 0 0

]Units: DimensionlessRequired when: NodeNClamped is set to 1

243

Page 246: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Tips: P1 and P2 are both in the plane of the cross-section of the DCable.The cross product of P1 and P2 produces the tangent vector, which points positive direction from node0 toward node N.

A.7.1.3 Fluid Loading

$FluidCoefficientKCDataDescription: The property loads the FluidCoefficients feature that adds the effect of drag fluid coefficient variation

with KC number.Type: string, optional, feature referenceLoads feature: FluidCoefficientKC

$FluidCoefficientReDataDescription: The property loads the FluidCoefficients feature that adds the effect of drag fluid coefficient variation

with Reynolds number.Type: string, optional, feature referenceLoads feature: FluidCoefficientReynolds

$WindLoadingDescription: A flag that enables or disables wind loading. Set flag to 1 of enable and 0 for disable.Type: integer, optionalDefault: 1Options: 0 Disabled

1 Enabled

A.7.1.4 Fluid loading

$ExtMassDescription: The property defines the ExtMass feature to use to apply loading from a spherical point mass at a

specified arclength location.Type: string double, optional, feature referenceDefault: extMass

[0]

Loads feature: ExtMassColumn 0:

Name Extmass feature nameInfo The name of the section to load in the simulation library

Column 1:

Name Arc lengthInfo The arc length along the cable at which the extmass is applied

Range −100 000 to 100 000Units m

$ExtMassCylinderDescription: The ExtMassCylinder is a feature of a DCable object. An external cylinderical mass is applied to the

cableType: string double, optional, feature referenceDefault: extMassCylinder

[0]

Loads feature: ExtMassCylinderColumn 0:

Name ExtMassCylinder feature nameInfo The name of the section to load in the simulation library

244

Page 247: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Column 1:

Name Arc lengthInfo The arc length along the cable at which the extmass is applied

Range −100 000 to 100 000Units m

A.7.1.5 General

$CategoryDescription: CategoryType: string, optional, experimental

A.7.1.6 Instrumentation

$ArcPointProbeDescription: For each arcpoint indicated, the 3D cartesian position with respect to the global reference frame and

printed to an output file.Type: matrix, variable number of rows, unordered, optionalDefault:

[0]

Units: m

$SubmergenceProbeDescription: Assigns a submergence probe at the provided arc length distance. Returns the submergence level of the

probe. A positive values for above water, a negative value for below.Type: matrix, variable number of rows, unordered, optionalDefault:

[0]

Units: m

$TensionProbeClampedDescription: For each arc location specified, the tension fixed on the DCable the tension is recorded and written to

an output file.Type: matrix, variable number of rows, unordered, optionalDefault:

[0]

Units: mTips: The arc location specifies a fixed location on the cable and arc location will change depending on payout

effects.If no points are specified, the files are not generated. The verbose flag does not need to be active forthis output.

$TensionProbeFixedArcNode0Description: For each constant arc location specified, the tension is recorded and written to an output file.Type: matrix, variable number of rows, unordered, optionalDefault:

[0]

Units: mTips: The arc location remains constant regardless of payout effects.

If no points are specified, the files are not generated. The verbose flag does not need to be active forthis output.

245

Page 248: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

A.7.1.7 Mechanical

$AverageForceWindowNode0Description: The time window over which to average the boundary reaction force at end 0.Type: number, optionalDefault: 0.1Units: sOptional when: Node0Kinematic is set to 1

$AverageForceWindowNodeNDescription: The time window over which to average the boundary reaction force at end N.Type: number, optionalDefault: 0.1Units: sOptional when: NodeNKinematic is set to 1

$AverageMomentWindowNode0Description: The time window over which to average the boundary reaction moment at end 0.Type: number, optionalDefault: 0.1Units: sOptional when: Node0Kinematic is set to 1

$AverageMomentWindowNodeNDescription: The time window over which to average the boundary reaction moment at end N.Type: number, optionalDefault: 0.1Units: sOptional when: NodeNKinematic is set to 1

$AverageP1P2WindowNode0Description: The time window over which to average the boundary principal normal vectors for clamped connections

at end 0.Type: number, optionalDefault: 0.1Units: s

$AverageP1P2WindowNodeNDescription: The time window over which to average the boundary principal normal vectors for clamped connections

at end N.Type: number, optionalDefault: 0.1Units: s

$AverageReactionPercentStartLoadNode0Description: The time over which the reaction loads are ramped up to full capacity at node 0.Type: number, optionalDefault: 1Units: %

246

Page 249: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Optional when: Node0Kinematic is set to 1

$AverageReactionPercentStartLoadNodeNDescription: The time over which the reaction loads are ramped up to full capacity at node N.Type: number, optionalDefault: 1Units: %Optional when: NodeNKinematic is set to 1

$AverageReactionRampTimeNode0Description: The time over which the reaction loads are ramped up to full capacity at node 0.Type: number, optionalDefault: 0.1Units: sOptional when: Node0Kinematic is set to 1; or

NodeNKinematic is set to 1

$AverageReactionRampTimeNodeNDescription: The time over which the reaction loads are ramped up to full capacity at node N.Type: number, optionalDefault: 0.1Units: s

$CableSegmentDescription: Defines both the mechanical and hydrodynamic properties of cable elements by specifying a DCable-

Segment feature, and the desired unstretched length over which to assign the cable element properties.Type: string double, feature referenceDefault: segment0

[10]

Loads feature: DCableSegmentTips: Multiple cable segments may be used to define multiple line types (e.g. chain, rope, wire rope) with

distinct hydrodynamic and mechanical properties.If the length of the cable is greater than the sum of all cable segment lengths specified in the cableinput file, the properties of the last cable segment specified is applied to the end of the cable.

Column 0:

Name DCableSegment feature nameInfo The name of the DCableSegment feature to use.

Column 1:

Name Segment lengthInfo The unstretched length of the cable segment for which these mechanical properties apply

Range 0 to 1×109

Units m

$CableSegmentsSpecifiedFromNodeNDescription: When enabled, this flag indicates if material properties are specified in segment lengths starting from

node N. Otherwise, segment lengths are interpreted as specified from node 0.Type: integer, optionalDefault: 0Units: Dimensionless

247

Page 250: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$FluidCoefficientSeabedProximityDataDescription: This feature facilitates the effect of drag, added mass, and lift fluid coefficient variation with proximity

to seabed.Type: string, optional, feature referenceLoads feature: FluidCoefficientSeabedProximity

$LinearQuadraticDragDescription: The property defines the linear and quadratic drag coefficients to apply distributed damping loads to

the line.Type: string double, optional, feature referenceDefault: linearQuadraticDrag

[ ]Loads feature: DCableLinearQuadraticDragColumn 0:

Name LinearQuadraticDrag feature nameInfo The name of the section to load in the simulation library

$RefInternalPressureDescription: The reference internal pressure of the pipeline at some arclength, the internal pressure along the rest

of the pipeline will be automatically computed.Type: number, optionalDefault: −1Units: Pa

$RefPressureArcLengthDescription: The arclength for which the reference internal pressure was defined.Type: number, optionalDefault: 0Units: Pa

A.7.1.8 Mesh control

$Node0AdvancedMeshingControlsDescription: When enabled, maximum and minimum boundary element lengths at which nodes are inserted or

removed during payout may be adjusted default values.Type: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 Disabled

1 Enabled $Node0ElementLengthMax, $Node0ElementLengthMin,$Node0TargetElementLength

$Node0ElementLengthMaxDescription: Maximum allowable element length. Violating these limits will result in an automatic remesh during

payout operation.Type: numberDefault: 1.5Units: mRequired when: Node0AdvancedMeshingControls is set to 1

248

Page 251: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Tips: Avoid element length maximum and minimum values that are close in magnitude, as this may result intoggling of adding and removing nodes during automatic remeshing.

$Node0ElementLengthMinDescription: Minimum allowable element length. Violating these limits will result in an automatic remesh during

payout operation.Type: numberDefault: 0.45Units: mRequired when: Node0AdvancedMeshingControls is set to 1Tips: Avoid short element lengths as they require small timesteps for stable numerical integration, which will

in turn reduce simulation execution speed.Avoid element length maximum and minimum values that are close in magnitude, as this may result intoggling of adding and removing nodes during automatic remeshing.

$Node0TargetElementLengthDescription: The target element length is used to set the size of the element immediately adjacent to payout at the

the DCable boundary. A node is inserted to split the boundary element in two when it reaches 1.5Xthe target element length. A node is removed when the boundary element reaches 0.45X the targetelement length.

Type: numberDefault: 1Units: mRequired when: Node0AdvancedMeshingControls is set to 1Tips: An automatic target element length is automatically computed if no value is provided.

Avoid short element lengths, which can cause slow simulations and toggling of automatic node insertionand removal.

$NodeNAdvancedMeshingControlsDescription: When enabled, maximum and minimum boundary element lengths at which nodes are inserted or

removed during payout may be adjusted default values.Type: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 Disabled

1 Enabled $NodeNElementLengthMax, $NodeNElementLengthMin,$NodeNTargetElementLength

$NodeNElementLengthMaxDescription: Maximum allowable element length. Violating these limits will result in an automatic remesh during

payout operation.Type: numberDefault: 1.5Units: mRequired when: NodeNAdvancedMeshingControls is set to 1Tips: Avoid element length maximum and minimum values that are close in magnitude, as this may result in

toggling of adding and removing nodes during automatic remeshing.

249

Page 252: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$NodeNElementLengthMinDescription: Minimum allowable element length. Violating these limits will result in an automatic remesh during

payout operation.Type: numberDefault: 0.45Units: mRequired when: NodeNAdvancedMeshingControls is set to 1Tips: Avoid short element lengths as they require small timesteps for stable numerical integration, which will

in turn reduce simulation execution speed.Avoid element length maximum and minimum values that are close in magnitude, as this may result intoggling of adding and removing nodes during automatic remeshing.

$NodeNTargetElementLengthDescription: When payout is turned on, the target element length is used to set the size of the element immediately

downstream/upstream of the boundary (i.e. newly created) element. The boundary element of a cableis split in two when it reaches 1.5X the target element length. It is removed removed when the boundaryelement reaches 0.45X the target element length.

Type: numberDefault: 1Units: mRequired when: NodeNAdvancedMeshingControls is set to 1Tips: An automatic target element length is automatically computed if no value is provided.

Avoid short element lengths as they require small timesteps for stable numerical integration, which willin turn reduce simulation execution speed.Avoid short element lengths as they may induce toggling of automatic node insertion and removal.

A.7.1.9 Seabed loading

$RandolphSoilPropertiesDescription: The name of the RandolphSoilModel section to load from the simulation library.Type: string, feature referenceLoads feature: DCableRandolphSoilModelRequired when: SoilContactModel is set to 2

$SoilContactCenterlineOffsetDescription: When activated, the centerline soil contact model is offset by the local radius of the cable to compute

soil contact loads.Type: integer, optionalDefault: 0Options: 0 Centerline reference is used for soil penetration calculations

1 Local radius offset from centerline is used for soil penetration calculations

Optional when: SoilContactModel is set to 1

$SoilContactModelDescription: Several soil contact models are available. All models can be used to provide restoring forces to prevent

penetration of the DCable into the soil layer.Type: integer, optionalDefault: 1

250

Page 253: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Options: # Description: Required follower properties:

0 Off

1 Centerline with multi-layer stiffness $SoilContactCenterlineOffset

2 Randolph non-linear repenetration and suction $RandolphSoilProperties

3 Discretized surface area with multi-layer stiffness

A.7.2 Features (lib.ini)

A.7.2.1 ExtMass feature properties

$ApparentMassInWaterDescription: Apparent mass or wet mass in a reference fluid.Type: numberDefault: 1Units: kgRequired when: ExtMassType is set to 1; or

ExtMassType is set to 3Tips: The apparent mass in water or reference fluid is the dry weight less the buoyancy divided by gravitational

acceleration.A negative value indicates buoyancy when in the reference fluid.

$ApparentMassWaterDensityDescription: The density of the reference fluid used when specifying the apparent mass in water.Type: numberDefault: 1025Units: kg/m3

Required when: ExtMassType is set to 1; orExtMassType is set to 3

$CADescription: The added mass coefficient of the ExtMass. The reference volume for computing added mass is the

spherical volume defined by the Diameter.Type: numberDefault: 0.5

$CDDescription: The drag coefficient of the ExtMass. The reference area for computing drag is circular cross section

defined by the diameter. If extmass is a cylinder, the drag area is computed using the diameter andlength.

Type: numberDefault: 0.5

$DensityDescription: The density of the ExtMass.Type: numberDefault: 1025Units: kg/m3

251

Page 254: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Required when: ExtMassType is set to 0; orExtMassType is set to 0

$DiameterDescription: The diameter of the ExtMass.Type: numberDefault: 1Units: m

$DisplacedVolumeDescription: The volume of the ExtMass used to calculate buoyancy forces.Type: numberDefault: 1Units: m3

Required when: ExtMassType is set to 3Tips: The displaced volume is multiplied with the relative fluid density to establish the buoyancy of the

extmass.

$ExtMassTypeDescription: The ExtMass may be defined by setting the density, weight in air/water, or fluid/buoyancy diameter.Type: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 by density $Density

1 by mass in air, water $ApparentMassInWater,$ApparentMassWaterDensity, $Mass

3 by mass in water and displaced volume $ApparentMassInWater,$ApparentMassWaterDensity, $DisplacedVolume

$FluidLoadingModeDescription: When enabled, a variable hydrodynamic loading algorithm for the pointmass is used.Type: integer, optionalDefault: 1Options: 0 Disabled

1 Enabled

Tips: This should be enabled for all surface buoys.An ExtMass that penetrates the water surface can have both buoyancy and water and air drag simul-taneously.This model behaves the same was as the simplified hydrodynamic model for the RigidBody.To reduce computations and potentially speed up execution, disable this option for a fully submergedExtMass.If activated, the circumference of the PointMass is discretized into segments and the local hydrodynamic(if wet) or aerodynamic loading (if dry) is applied to each discrete panel.The subsurface pressure force due to hydrostatic and dynamic pressure is applied to the discrete hull.

252

Page 255: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$MassDescription: The mass of the ExtMass.Type: numberDefault: 1Units: kgRequired when: ExtMassType is set to 1Tips: This value can not be negative.

This is the value of ExtMass in air.

$NumSurfaceSamplePointsDescription: The number of sample points on the extmass surface to sample any hydrodynamics or soil contact

pressure.Type: integer, optionalDefault: 12

A.7.2.2 ExtMassCylinder feature properties

$ApparentMassInWaterDescription: Apparent mass or wet mass in a reference fluid.Type: numberDefault: 1Units: kgRequired when: ExtMassType is set to 1; or

ExtMassType is set to 3Tips: The apparent mass in water or reference fluid is the dry weight less the buoyancy divided by gravitational

acceleration.A negative value indicates buoyancy when in the reference fluid.

$ApparentMassWaterDensityDescription: The density of the reference fluid used when specifying the apparent mass in water.Type: numberDefault: 1025Units: kg/m3

Required when: ExtMassType is set to 1; orExtMassType is set to 3

$CADescription: The added mass coefficient of the ExtMass. The reference volume for computing added mass is the

spherical volume defined by the Diameter.Type: numberDefault: 0.5

$CDDescription: The drag coefficient of the ExtMass. The reference area for computing drag is circular cross section

defined by the diameter. If extmass is a cylinder, the drag area is computed using the diameter andlength.

Type: numberDefault: 0.5

253

Page 256: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$CDtDescription: The drag coefficient of the cylinder ExtMass. The reference area for computing drag is circular cross

section defined by the Diameter.Type: numberDefault: 0.93

$DensityDescription: The density of the ExtMass.Type: numberDefault: 1025Units: kg/m3

Required when: ExtMassType is set to 0; orExtMassType is set to 0

$DiameterDescription: The diameter of the ExtMass.Type: numberDefault: 1Units: m

$DisplacedVolumeDescription: The volume of the ExtMass used to calculate buoyancy forces.Type: numberDefault: 1Units: m3

Required when: ExtMassType is set to 3Tips: The displaced volume is multiplied with the relative fluid density to establish the buoyancy of the

extmass.

$ExtMassTypeDescription: The ExtMass may be defined by setting the density, weight in air/water, or fluid/buoyancy diameter.Type: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 by density $Density

1 by mass in air, water $ApparentMassInWater,$ApparentMassWaterDensity, $Mass

3 by mass in water and displaced volume $ApparentMassInWater,$ApparentMassWaterDensity, $DisplacedVolume

$FluidLoadingModeDescription: When enabled, a variable hydrodynamic loading algorithm for the pointmass is used.Type: integer, optionalDefault: 1Options: 0 Disabled

1 Enabled

254

Page 257: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Tips: This should be enabled for all surface buoys.An ExtMass that penetrates the water surface can have both buoyancy and water and air drag simul-taneously.This model behaves the same was as the simplified hydrodynamic model for the RigidBody.To reduce computations and potentially speed up execution, disable this option for a fully submergedExtMass.If activated, the circumference of the PointMass is discretized into segments and the local hydrodynamic(if wet) or aerodynamic loading (if dry) is applied to each discrete panel.The subsurface pressure force due to hydrostatic and dynamic pressure is applied to the discrete hull.

$LengthDescription: The length assumed aligned to the reference tangent the cylinder is attached to.Type: numberDefault: 1Units: m

$MassDescription: The mass of the ExtMass.Type: numberDefault: 1Units: kgRequired when: ExtMassType is set to 1Tips: This value can not be negative.

This is the value of ExtMass in air.

$NumSurfaceSamplePointsDescription: The number of sample points on the extmass surface to sample any hydrodynamics or soil contact

pressure.Type: integer, optionalDefault: 12

A.7.2.3 ExtLoad feature properties

$ForceDescription: The constant force applied to a point along the span of the DCable or DNet with components expressed

in terms of the global coordinate system.Type: vectorDefault:

[0 0 0

]Units: N

A.7.2.4 DCableSegment feature properties

$AxialRigidityModeDescription: Axial rigidity mode of operation. Axial rigidity defines a material’s resistance to deformation under

loading, and is the slope of the load-elongation curve.Type: integer, optionalDefault: 0

255

Page 258: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Options: # Description: Required follower properties:

0 Linear axial rigidity $EA

1 Linear axial rigidty with hysteresis $EA, $EAN, $LoadingRateCutoffFrequency,$LoadingRateThreshold, $TimeConstantLoading,$TimeConstantUnloading,$UnloadingRateThreshold

2 Nonlinear axial rigidity $LoadElongationLoadingData,$LoadElongationMode, $PolynomialFitMode,$StrainPolynomialCoefficients,$StrainPolynomialFitRange

3 Nonlinear axial rigidity with hysteresis $LoadElongationLoadingData,$LoadElongationMode,$LoadElongationUnloadingData,$LoadingRateCutoffFrequency,$LoadingRateThreshold, $PolynomialFitMode,$StrainPolynomialCoefficients,$StrainPolynomialCoefficientsNegative,$StrainPolynomialFitRange,$TimeConstantLoading, $TimeConstantUnloading,$UnloadingRateThreshold

Tips: When using hysteresis, a different axial rigidity is used when loading and unloading a cable. Timeconstants are used to control the transition between loading and unloading the cable.When nonlinear rigidity is specified, a 9th order polynomial or load-elongation curve is specified.

$BCIDDescription: Flexural or bending coefficient of internal damping.Type: numberDefault: 0Units: N ∗ s ∗m2

Tips: This produces an internal reaction load proportional to the temporal rate of change of cable flexuralstrain.

$BuoyancyDiameterDescription: Hypothetical diameter used to compute the buoyancy force per unit length acting on the cable segment.Type: number, optionalDefault: −1Units: mTips: Buoyancy force is equal to the weight of the displaced water.

If not specified, the Diameter property is used for buoyancy calculations.

$CAcDescription: Added mass coefficient. Used for determination of added mass effects based on relative flow acceleration

normal to the cable.Type: numberDefault: 1Units: DimensionlessTips: Tangential added mass effects are neglected.

For chain, specify FluidDiameter as the chain size (bar diameter); set this property as the ratio of thecable segment Diameter property to chain size (assuming added mass coefficient of 1.0 for chain).

256

Page 259: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$CDcDescription: Normal drag coefficient. Used for calculation of hydrodynamic drag loading based on relative flow

normal to the cable segment using Morison approach.Type: numberDefault: 1Options: 1 Smooth cylinder

1.5 Wire or synthetic rope2.2 Studless chain2.4 Stud link chain

Units: DimensionlessTips: Force drag computation to use a different diameter by defining FluidDiameter. Important for chain

modelling.

$CDtDescription: Tangential drag coefficient. Used for calculation of cable loading due to relative flow tangential to the

cable.Type: numberDefault: 0.01Options: 1.15 Studless chain

1.4 Stud link chainUnits: DimensionlessTips: Force drag computation to use a different diameter by defining FluidDiameter. Important for chain

modelling.Tangential drag coefficient is based on diameter (frontal area) rather than circumference (surface area).

$CEDescription: The cable compressive elasticity.Type: numberDefault: 1Options: 0 Chain

1 Ropes, pipes, risers, unbilicalsUnits: DimensionlessTips: When set to 0, the cable elements do not compress. Tension can not go below zero.

Long slender elements or chain may require this to replicate the ease at which buckling occurs andavoid unrealistic compressive tension.

$CIDDescription: Coefficient of internal damping for axial strain rate.Type: numberDefault: 100Units: N ∗ sTips: This produces an internal reaction load proportional to the temporal rate of change of cable axial strain.

Simulation execution speed is very sensitive to this property.Commonly adjusted with changes in axial rigidity.

$DensityDescription: Used with Diameter property to specify mass per unit length.Type: numberDefault: 1000Units: kg/m3

257

Page 260: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Tips: Not to be confused with rope material density (or S.G.). The property should always be calculated forthe cable segment type (chain, wire rope, synthetic rope, etc.) using the nominal diameter and thecable mass per unit length.For pipes the mass per unit length is calculated taking into account optional properties InnerDiameterand InnerDensity.For chain the material density is used.

$DiameterDescription: Nominal diameter of the cable. Used with the Density property to set the mass per unit length of the

cable.Type: numberDefault: 0.01Units: mTips: Used for calculation of drag and added mass unless the FluidDiameter property is specified.

Used for calculation of buoyancy unless the BuoyancyDiameter property is specified.Assumes uniform circular cross section.For chain the property is calculated using the mass per unit length and chain material density.See also optional properties: FluidDiameter, BuoyancyDiameter, InnerDiameter

$EADescription: Axial rigidity.Type: numberDefault: 1×106

Units: NRequired when: AxialRigidityMode is set to 0; or

AxialRigidityMode is set to 1Tips: Best estimated from manufacturer supplied or experimentally determined axial stress-strain or percent

elongation curves.For a cable segment of uniform material and cross-sectional area this is the material modulus of elasticity(E) multiplied by the cross-sectional area (A).EA may change based on the axial load applied and so care is required in using an appropriate EA forthe load range.

$EANDescription: Axial rigidity when rate of axial strain is negative. Axial stiffness of the segment is proportional to this

parameter.Type: numberDefault: 1×106

Units: NRequired when: AxialRigidityMode is set to 1

$EI1Description: Flexural rigidity (P1 direction). Bending stiffness of the segment is proportional to this parameter.Type: numberDefault: 1Units: N ∗m2

258

Page 261: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Tips: Set EI1 = EI2 for segments with circular cross-section or axis-symmetric bending properties such assynthetic rope, chain, wire rope, pipes, risers, and umbilicals.Many synthetic ropes and chains have negligible flexural rigidity: EI1 = EI2 = 0.For cables with non-axissymettric cross-sections (e.g. I-beam), EI1 is the flexural rigidity in the directionof the P1 principle vector. The area moment of inertia should be computed in the P1 principle vectordirection or about the P2 principle vector.For a cable of uniform material and cross-section, this is the modulus of elasticity (E) multiplied by thecross section area moment of inertia (I).Frequently unknown for wire rope and some umbilicals which may have significant flexural rigidity. Mustbe estimated based on assumed uniform cross-sectio and material.

$EI2Description: Flexural rigidity associated with P2 direction. Bending stiffness of the segment is proportional to this

parameter.Type: numberDefault: 1Units: N ∗m2

Tips: Set EI1 = EI2 for segments with circular cross-section or axis-symmetric bending properties such assynthetic rope, chain, wire rope, pipes, risers, and umbilicals.Many synthetic ropes and chains have negligible flexural rigidity: EI2 = EI2 = 0.For cables with non-axissymettric cross-sections (e.g. I-beam), EI2 is the flexural rigidity in the directionof the P2 principle vector. The area moment of inertia should be computed in the P1 principle vectordirection or about the P2 principle vector.For a cable type of uniform material and cross-section, this is the modulus of elasticity (E) multipliedby the cross section area moment of inertia (I).Frequently unknown for wire rope and some umbilicals which may have significant flexural rigidity. Mustbe estimated based on assumed uniform cross-section and material.

$ElasticModulusDescription: Modulus of elasticity of the material.Type: number, optionalDefault: −1Units: PaTips: If defined, this value is used to perform stress computations, otherwise it is approximated from EA.

Defining the modulus of elasticity will not affect mechanical or dynamic properties of the cable whichwill use axial and flexural rigidities EA, EI.

$ElongationLimitDescription: The strain threshold above which ElongationLimitEA axial rigidity is applied.Type: numberDefault: 1Units: −Required when: ElongationLimitMode is set to 1Tips: Effective for use as an end-stop condition for axial elongation.

$ElongationLimitEADescription: When the segment’s strain exceeds ElongationLimit, this axial rigidity dicdates the rate of increase in

tension relative to how much the strain exceeds the limit.Type: numberDefault: 1×108

259

Page 262: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Units: NRequired when: ElongationLimitMode is set to 1Tips: Effective for use as an end-stop condition for axial elongation.

$ElongationLimitModeDescription: If enabled, a strain limit is provided. If the segment’s strain limit is exceeded, any further strain will

contribute an increase in tension based on the overiding axial rigidty: ElongationLimitEA.Type: integer, optionalDefault: 0

Options: # Description: Required follower properties:

0 No limit to strain

1 Strain limit applies $ElongationLimit, $ElongationLimitEA

$FlexuralModulusDescription: Flexural modulus, the ratio of stress and strain during flexural deformation.Type: number, optionalDefault: −1Units: PaTips: If defined, this value is used to perform stress computations, otherwise it is approximated from EI1 and

EI2. Defining the flexural modulus will not affect mechanical or dynamic properties of the cable whichwill continue to use EI1 or EI2.

$FluidDiameterDescription: Diameter used to compute drag effects and added mass for cable segment based on Morison approach.Type: number, optionalDefault: −1Units: mTips: If not specified the Diameter property is used.

For chain specify the chain size (bar diameter) for this property.

$GJDescription: Torsional rigidity. Torsional stiffness of the segment is proportional to torsional rigidity.Type: numberDefault: 0Units: N ∗m2

Tips: For a cable of uniform material and cross-section, this is the Shear Modulus (G) multiplied by the crosssection area polar area moment of inertia (J).Many ropes and chains have negligible torsional rigidity, and GJ may be set to 0.Both ends of the line must be clamped for torsion deflection to have any effect.

$InnerConvectionCoefficientDescription: The convection heat transfer coefficient on the inner diameter surface.Type: number, optionalDefault: 5000Units: W/m2/K

260

Page 263: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$InnerDensityDescription: The mass density of core section within the inner diameter.Type: number, optionalDefault: 0Units: kg/m3

Tips: If not specified, it is assumed zero.Mass per unit length is computed assuming circular cross section and considering Diameter and Densityfor the outer annulus and InnerDiameter and InnerDensity for the inner annulus.

$InnerDiameterDescription: The inner diameter formed from a finite wall thickness from the nominal diameter.Type: number, optionalDefault: 0Units: mTips: If not specified, it is assumed zero.

Mass per unit length is computed assuming circular cross section and considering Diameter and andDensity for the outer annulus and InnerDiameter and InnerDensity for the inner annulus.

$LinearThermalExpansionDescription: The bulk linear axial thermal expansion coefficient.Type: number, optionalDefault: 0Units: /KTips: This is used to compute the axial strain effects to change in material temperature from 20 deg C.

$LoadElongationLoadingDataDescription: Elongation and associated load. When hysteresis is used, this is interpreted as data for increasing load.Type: matrix, variable number of rowsDefault:

[0 0

]Required when: LoadElongationMode is set to 1 and AxialRigidityMode is set to 2; or

LoadElongationMode is set to 1 and AxialRigidityMode is set to 3Column 0:

Name LoadRange 0 to 1×1016

Units NColumn 1:

Name Percent elongationRange 0 to 1000Units Percent

$LoadElongationModeDescription: This flag indicates that nonlinear axial rigidity is provided using either a load-elongation data series or

using a high-order engineering strain polynomial.Type: integerDefault: 1

261

Page 264: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Options: # Description: Required follower properties:

1 Load-elongation data $LoadElongationLoadingData, $LoadElongationUnloadingData,$PolynomialFitMode, $PolynomialFitOrder

2 Polynominal $StrainPolynomialCoefficients,$StrainPolynomialCoefficientsNegative, $StrainPolynomialFitRange

Required when: AxialRigidityMode is set to 2; orAxialRigidityMode is set to 3

$LoadElongationUnloadingDataDescription: Elongation and assocated load during decreasing load when hysteresis is used.Type: matrix, variable number of rowsDefault:

[0 0

]Required when: LoadElongationMode is set to 1 and AxialRigidityMode is set to 3Column 0:

Name LoadRange 0 to 1×1016

Units NColumn 1:

Name Percent elongationRange 0 to 1000Units Percent

$LoadingRateCutoffFrequencyDescription: Cutoff frequency for low pass filter on loading rate.Type: number, optionalDefault: 20Units: HzOptional when: AxialRigidityMode is set to 1; or

AxialRigidityMode is set to 3

$LoadingRateThresholdDescription: Strain rate threshold that demarcates a transition to loading state from unloading.Type: number, optionalDefault: 0.0001Units: s−1Optional when: AxialRigidityMode is set to 1; or

AxialRigidityMode is set to 3

$OuterConvectionCoefficientDescription: The convection heat transfer coefficient on the outer diameter surface.Type: number, optionalDefault: 5000Units: W/m2/K

$PoissonRatioDescription: Average Poisson’s ratio for the material.Type: number, optionalDefault: 0

262

Page 265: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Units: DimensionlessTips: This is used to compute the axial change in length due to external and internal pressurization effects

$PolynomialFitModeDescription: Indicate the function to use to interpolate load and elongation data. A polynomial will be fit to the

inputted load and elongation data. The degree of fit can be manually specified by the user, or willautomatically be determined by optimizing error between the polynomial and user data.

Type: integerDefault: 0

Options: # Description: Required follower properties:

0 Automatic polynomial fit

1 User specified degree of fit $PolynomialFitOrder

Required when: LoadElongationMode is set to 1 and AxialRigidityMode is set to 2; orLoadElongationMode is set to 1 and AxialRigidityMode is set to 3

Tips: ProteusDS fits a Green strain based polynomial to the load-elongation curve provided for computingthe tensions within the cable. This parameter controls whether the user specifies the order of thepolynomial being fit to the load-elongation curve or whether to let ProteusDS automically choose thepolynomial order with the least error.

$PolynomialFitOrderDescription: Used to specify the order of the polynomial to fit to the load-elongation data.Type: integerDefault: 5

Required when: PolynomialFitMode is set to 1 and LoadElongationMode is set to 1Tips: ProteusDS fits a Green strain based polynomial to the load-elongation curve provided for computing

the tensions within the cable. This parameter controls the order of the polynomial being fit to theload-elongation curve.

$ShearModulusDescription: Shear modulus, the ratio of stress and strain during shear deformation.Type: number, optionalDefault: −1Units: PaTips: If defined, this value is used to perform stress computations, otherwise it is approximated from GJ.

Defining the shear modulus will not affect mechanical or dynamic properties of the cable which willcontinue to use GJ.

$StrainPolynomialCoefficientsDescription: Axial rigidity when rate of axial engineering strain is positive. Axial rigidity is defined as a polynomial,

up to 9th order, in terms of the engineering strain.Type: vectorDefault:

[1e+ 006 0 0 0 0 0 0 0 0

]Required when: LoadElongationMode is set to 2 and AxialRigidityMode is set to 2; or

LoadElongationMode is set to 2 and AxialRigidityMode is set to 3Tips: Tension = EA*e + C2*eˆ2 + C3*eˆ3 + ... where e is the engineering strain.

Best estimated from manufacturer supplied or experimentally determined axial stress-strain or alterna-tively provide input via a percent elongation curve.For a cable segment of uniform material and cross-sectional area.

Column 0:

263

Page 266: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Name EAInfo Linear coefficient of axial rigidty: tension grows linear with strain.

Range 1×10−9 to 1×1016

Column 1:

Name C2Info Polynomial coefficient for 2rd order power of strain.

Range −1×1016 to 1×1016

Column 2:

Name C3Info Polynomial coefficient for 3rd order power of strain.

Range −1×1016 to 1×1016

Column 3:

Name C4Info Polynomial coefficient for 4th order power of strain.

Range −1×1016 to 1×1016

Column 4:

Name C5Info Polynomial coefficient for 5th order power of strain.

Range −1×1016 to 1×1016

Column 5:

Name C6Info Polynomial coefficient for 6th order power of strain.

Range −1×1016 to 1×1016

Column 6:

Name C7Info Polynomial coefficient for 7th order power of strain.

Range −1×1016 to 1×1016

Column 7:

Name C8Info Polynomial coefficient for 8th order power of strain.

Range −1×1016 to 1×1016

Column 8:

Name C9Info Polynomial coefficient for 9th order power of strain.

Range −1×1016 to 1×1016

$StrainPolynomialCoefficientsNegativeDescription: Axial rigidity when rate of axial engineering strain is negative. Axial rigidity is defined as a polynomial,

up to 9th order, in terms of the engineering strain.Type: vectorDefault:

[1e+ 006 0 0 0 0 0 0 0 0

]Required when: LoadElongationMode is set to 2 and AxialRigidityMode is set to 3Tips: Tension = EA*e + C2*eˆ2 + C3*eˆ3 + ... where e is the engineering strain.Column 0:

Name EAInfo Linear coefficient of axial rigidty: tension grows linear with strain.

Range −1×1016 to 1×1016

Column 1:

Name C2Info Polynomial coefficient for 2rd order power of strain.

Range −1×1016 to 1×1016

Column 2:

264

Page 267: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Name C3Info Polynomial coefficient for 3rd order power of strain.

Range −1×1016 to 1×1016

Column 3:

Name C4Info Polynomial coefficient for 4th order power of strain.

Range −1×1016 to 1×1016

Column 4:

Name C5Info Polynomial coefficient for 5th order power of strain.

Range −1×1016 to 1×1016

Column 5:

Name C6Info Polynomial coefficient for 6th order power of strain.

Range −1×1016 to 1×1016

Column 6:

Name C7Info Polynomial coefficient for 7th order power of strain.

Range −1×1016 to 1×1016

Column 7:

Name C8Info Polynomial coefficient for 8th order power of strain.

Range −1×1016 to 1×1016

Column 8:

Name C9Info Polynomial coefficient for 9th order power of strain.

Range −1×1016 to 1×1016

$StrainPolynomialFitRangeDescription: The maximum engineering strain value that the polynomial is fit to.Type: numberDefault: 0.25Units: DimensionlessRequired when: LoadElongationMode is set to 2 and AxialRigidityMode is set to 2; or

LoadElongationMode is set to 2 and AxialRigidityMode is set to 3Tips: Internally, ProteusDS computes stress, or tension, based on Green strain. ProteusDS must convert the

engineering strain coefficients to Green strain based coefficients by fitting a new polynomial to the oneprovided in terms of the engineering strain. This parameter limits the range for polynomial curve fitting.

$TCIDDescription: Torsional coefficient of internal damping.Type: numberDefault: 0Units: N ∗ s ∗m2

Tips: This produces an internal reaction load proportional to the temporal rate of change of cable torsionstrain.

$ThermalConductivityDescription: The material thermal conductivity.Type: number, optionalDefault: 20

265

Page 268: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Units: W/m/K

$TimeConstantLoadingDescription: Time constant used in blending response of axial rigidity in transition to extension from loading (i.e.

transition to positive strain rate). The time required to achieve complete 63.2% of the change in state.Type: numberDefault: 0Units: sRequired when: AxialRigidityMode is set to 1; or

AxialRigidityMode is set to 3

$TimeConstantUnloadingDescription: Time constant used in blending response of axial rigidity in transition to contraction during unloading

(i.e. transition to negative strain rate). The time required to achieve complete 63.2% of the change instate.

Type: numberDefault: 0Units: sRequired when: AxialRigidityMode is set to 1; or

AxialRigidityMode is set to 3

$UnloadingRateThresholdDescription: Strain rate threshold that demarcates a transition to unloading state from loading.Type: number, optionalDefault: 1×10−5

Units: s−1Optional when: AxialRigidityMode is set to 1; or

AxialRigidityMode is set to 3

A.7.2.5 DCableLinearQuadraticDrag feature properties

$LinearNormalDragCoefficientDescription: Coefficient for linear drag applied using local line velocity in the normal direction.Type: numberDefault: 0Units: N ∗ s/m2

Required when: Mode is set to 0

$LinearTangentialDragCoefficientDescription: Coefficient for linear drag applied using local line velocity in the tangential direction.Type: numberDefault: 0Units: N ∗ s/m2

$ModeDescription: A switch that changes the mode of functionality of this feature.Type: integerDefault: 0

266

Page 269: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Options: # Description: Required follower properties:

0 Symmetrical Coefficients $LinearNormalDragCoefficient

$QuadraticNormalDragCoefficientDescription: Coefficient for quadratic drag applied using local line velocity in the normal direction.Type: numberDefault: 0Units: N ∗ s2/m3

$QuadraticTangentialDragCoefficientDescription: Coefficient for quadratic drag applied using local line velocity in the tangential direction.Type: numberDefault: 0Units: N ∗ s2/m3

$UseRelativeVelocityDescription: A flag to allow the use of relative velocity for computing the damping force. 0 (default) forces use of

absolute velocity, 1 forces use of relative velocity (relative to fluid).Type: integer, optionalDefault: 0Options: 0 No

1 Yes

Tips: 1 for relative, 0 for absolute.

267

Page 270: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

A.8 MSD

A.8.1 Input file properties (*.ini)

A.8.1.1 General

$CategoryDescription: CategoryType: string, optional, experimental

A.8.1.2 Mechanical

$DampingRatioDescription: The damping ratio of the mass-spring-damper.Type: numberDefault: 0.25Units: DimensionlessTips: Damping ratio values larger than 1 result in no oscillation and values below 1 will result in an oscillating

response.

$MassDescription: This is the mass of the mass-spring-damper system and is only required to quantify stiffness and damping

forces acting on the system. For free vibration, the system is fully described by the natural frequencyand damping ratio properties provided.

Type: number, optionalDefault: 1Units: kg

$NaturalFrequencyDescription: The natural frequency of vibration of the mass-spring-damper system.Type: numberDefault: 3.141 59Units: rad/s

268

Page 271: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

A.9 ABA Controller

A.9.1 Input file properties (*.ini)

A.9.1.1 General

$CategoryDescription: CategoryType: string, optional, experimental

A.9.1.2 Mechanical

$MaxForceDescription: The maximum allowable magnitude of control force that can be applied.Type: number, optionalDefault: 1×1015

$MaxMomentDescription: The maximum allowable magnitude of control moment that can be applied.Type: number, optionalDefault: 1×1015

A.9.1.3 Sampling

$NfilterDescription: The number of past observations that are used in a time-averaging filter.Type: integer, optionalDefault: 1

Tips: This can be useful for filtering high frequency disturbances that the controller may react to.

$TsampleDescription: Sample period for control observations. This represents the finite sample period of the controller.Type: numberDefault: 1×10−5

Units: s

$TtoggleDescription: Time points for control system gains to be toggled. The controller is initially toggled on.Type: vector, optionalDefault:

[0]

Units: s

A.9.2 Connections (lib.ini)

A.9.2.1 ABAControllerRigidBodyObserveConnection properties

Connection Type: ObserveMaster: ABAControllerFollower: RigidBody

269

Page 272: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$GainScheduleToleranceDescription: The set point error tolerance value beyond which control will switch to an alternative set of gains: Kp1,

Ki1, Kd1.Type: number, optionalDefault: 0

$InitialSetPointDescription: The initial value to use for the set point. Control action is automatically applied to drive observed

values to the set point.Type: numberDefault: 0

$ObservedDescription: Index number of the RigidBody spatial velocity, position, or orientation to track control set point error

from. The ABAController can only observe one degree of freedom of a RigidBody.Type: integerDefault: 0Options: 0 Surge rate

1 Sway rate2 Heave rate3 Roll rate4 Pitch rate5 Yaw rate6 Surge7 Sway8 Heave9 Roll10 Pitch11 Yaw12 Joint velocity13 Joint position

Tips: These are valid regardless of whether the RigidBody is constrained in an ABA or completely free.An observe index of 12 and 13 indicates the first joint degree of freedom velocity and position and isonly valid when the RigidBody is in ABA mode

$ObservedDeadbandDescription: Deactivates the controller or maintains constant control signal when observed values are within this

error tolerance from the desired set point. Units depend on associated observed values.Type: vector, optionalDefault:

[0 0

]Tips: Setting the deadband to 0 0 will result in no deadband effect.

$ObservedDeadbandOverrideRestartTimeLimitDescription: The minimum duration of time that must pass before the restart time limit can be set and applied after

exiting the deadband.Type: number, optionalDefault: −1Units: s

270

Page 273: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Tips: This is to help encourage stalling the controller on the deadband location immediately after exiting thedeadband location.

$ObservedDeadbandOverrideTimeLimitDescription: After the observed values have left the deadband, the controller will remain on for this duration of time

even if the observed values re-enter the observation deadband region.Type: number, optionalDefault: −1

Tips: This temporarily overrides the function of the deadbandIf an activation time limit is imposed and is less than the duration of this time value, it will be imposedaccordingly.

$ObservedDeadbandRestartTimeLimitDescription: The duration of time that must pass before control action reactivates after the observed values move

in to the deadband region.Type: number, optionalDefault: −1Units: sTips: This can prevent control system stalling in the deadband location.

$ObservedDeadbandTimeLimitDescription: The duration of time control action continues each time the system emerges from the observation dead

band. Setting the time delay to 0 will result in no time delay effect.Type: number, optionalDefault: −1Units: s

A.9.2.2 ABAControllerRigidBodyControlConnection properties

Connection Type: ControlMaster: ABAControllerFollower: RigidBody

$feedForwardDescription: The feed forward magnitude is directly applied to the control signal. Units depend on the degree of

freedom controlled.Type: number, optionalDefault: 0

$Kd0Description: PID control derivative coefficient. Units depend on the degree of freedom controlled.Type: numberDefault: 0

271

Page 274: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$Kd1Description: PID control derivative coefficient used when error is larger than gain schedule tolerance from set point.

Units depend on the degree of freedom controlled.Type: numberDefault: 0

$Ki0Description: PID control integral coefficient. Units depend on the degree of freedom controlled.Type: numberDefault: 0

$Ki1Description: PID control integral coefficient used when error is larger than gain schedule tolerance from set point.

Units depend on the degree of freedom controlled.Type: numberDefault: 0

$Kp0Description: PID control proportional coefficient. Units depend on the degree of freedom controlled.Type: numberDefault: 0

$Kp1Description: PID control proportional coefficient used when error is larger than gain schedule tolerance from set

point. Units depend on the degree of freedom controlled.Type: numberDefault: 0

A.9.2.3 RigidBodyRigidBodyABAConnection properties

Connection Type: ABAMaster: RigidBodyFollower: RigidBody

$CylindricalJointAngularDescription: Specifies joint properties for the rotational degree of freedom of the cylinder joint.Type: string, feature referenceDefault: jointPropertiesLoads feature: RigidBodyABAConnectionJointRequired when: Joint is set to 2

$CylindricalJointLinearDescription: Specifies joint properties for the linear degree of freedom of the cylinder joint.Type: string, feature referenceDefault: jointPropertiesLoads feature: RigidBodyABAConnectionJoint

272

Page 275: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Required when: Joint is set to 2

$FollowerConnectionLocationDescription: Static joint connection location and orientation on the follower (downstream) body with respect to the

follower body frame. Specify: x, y, z, roll, pitch, yaw from the rigid body frame. The angles are aboutthe X, Y, and Z joint frame axis and are established through a joint-frame-fixed rotation sequence thatmoves away from the parent frame about Z, Y’, and X”

Type: vectorDefault:

[0 0 0 0 0 0

]

$FollowerJointAxisDescription: The index number that indicates the axis of actuation of the joint with respect to the joint frame.Type: matrix of integers, variable number of rows, unorderedDefault:

[0]

Options: 0 X-axis1 Y-axis2 Z-axis

Required when: Joint is set to 0; orJoint is set to 1; orJoint is set to 2; orJoint is set to 3; orJoint is set to 6; orJoint is set to 7

Tips: For Joint type 0 (prismatic), one FollowerJointAxis property must be specified.For Joint type 1 (revolute), one FollowerJointAxis property must be specified.For Joint type 2 (cylindrical), one FollowerJointAxis property must be specified. This entry indicatesthe axis of rotation and translation of the joint, which are coincident for a cylinder joint.For Joint type 3 (planar), two FollowerJointAxis properties must be specified: one for each linear degreeof freedom of the joint. The first entry refers to PlanarJointLinear0’s axis of actuation, and secondentry refers to PlanarJoinLinear1’s axis of actuation.For Joint type 4 (spherical), no FollowerJointAxis property needs to be specified: all three rotationaldegrees of freedom are actuated.For Joint type 5 (universal), no FollowerJointAxis properties are specified: the x and y axes are fixedas the axes of rotation for the joint.For Joint type 6 (helical), one FollowerJointAxis properties must be specified. This entry indicates theaxis of rotation and translation of the joint, which are coincident for a helical joint.

$HelicalJointAngularDescription: Specifies joint properties for the angular degree of freedom of the helical joint.Type: string, feature referenceDefault: jointPropertiesLoads feature: RigidBodyABAConnectionJointRequired when: Joint is set to 6

$HelicalLeadDescription: This is the lead, or linear advance of the joint, with one full revolution about the helical axis.Type: number, feature referenceDefault: 0.1Units: m/revLoads feature: RigidBodyABAConnectionJoint

273

Page 276: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Required when: Joint is set to 6

$JointDescription: The index number that corresponds to the type of joint.Type: integerDefault: 0

Options: # Description: Required follower properties:

0 Prismatic $FollowerJointAxis, $PrismaticJointLinear

1 Revolute $FollowerJointAxis, $RevoluteJointAngular

2 Cylindrical $CylindricalJointAngular, $CylindricalJointLinear, $FollowerJointAxis

3 Planar $FollowerJointAxis, $PlanarJointLinear0, $PlanarJointLinear1

4 Spherical $SphericalJointAngular0, $SphericalJointAngular1, $SphericalJointAngular2

5 Universal $UniversalJointAngular0, $UniversalJointAngular1

6 Helical $FollowerJointAxis, $HelicalJointAngular, $HelicalLead

Tips: The spherical joint suffers from Euler angle gymbal lock instability if the pitch angle reaches +/-90degreesThe universal joint fixed axis is always the joint frame Z axis.

$MasterConnectionLocationDescription: Static joint connection location and orientation on the master (upstream) body with respect to the

master body frame. Specify: x, y, z, roll, pitch, yaw from the rigid body frame. The angles are aboutthe X, Y, and Z joint frame axis and are established through a joint-frame-fixed rotation sequence thatmoves away from the parent frame about Z, Y’, and X”.

Type: vectorDefault:

[0 0 0 0 0 0

]

$PlanarJointLinear0Description: Specifies joint properties for the first linear degree of freedom of the planar joint.Type: string, feature referenceDefault: jointPropertiesLoads feature: RigidBodyABAConnectionJointRequired when: Joint is set to 3

$PlanarJointLinear1Description: Specifies joint properties for the second linear degree of freedom of the planar joint.Type: string, feature referenceDefault: jointPropertiesLoads feature: RigidBodyABAConnectionJointRequired when: Joint is set to 3

$PrismaticJointLinearDescription: Specifies joint properties for the single degree of freedom of the prismatic joint.Type: string, feature referenceDefault: jointPropertiesLoads feature: RigidBodyABAConnectionJointRequired when: Joint is set to 0

274

Page 277: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$RevoluteJointAngularDescription: Specifies joint properties for the single degree of freedom of the revolute joint.Type: string, feature referenceDefault: jointPropertiesLoads feature: RigidBodyABAConnectionJointRequired when: Joint is set to 1

$SphericalJointAngular0Description: Specifies joint properties associated with rotation about the joint x axis.Type: string, feature referenceDefault: jointPropertiesLoads feature: RigidBodyABAConnectionJointRequired when: Joint is set to 4

$SphericalJointAngular1Description: Specifies joint properties associated with rotation about the joint y axis.Type: string, feature referenceDefault: jointPropertiesLoads feature: RigidBodyABAConnectionJointRequired when: Joint is set to 4

$SphericalJointAngular2Description: Specifies joint properties associated with rotation about the joint z axis.Type: string, feature referenceDefault: jointPropertiesLoads feature: RigidBodyABAConnectionJointRequired when: Joint is set to 4

$UniversalJointAngular0Description: Specifies joint properties associated with rotation about the joint x axis.Type: string, feature referenceDefault: jointPropertiesLoads feature: RigidBodyABAConnectionJointRequired when: Joint is set to 5

$UniversalJointAngular1Description: Specifies joint properties associated with rotation about the joint y axis.Type: string, feature referenceDefault: jointPropertiesLoads feature: RigidBodyABAConnectionJointRequired when: Joint is set to 5

275

Page 278: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

A.10 ABA Frequency Controller

A.10.1 Input file properties (*.ini)

A.10.1.1 General

$CategoryDescription: CategoryType: string, optional, experimental

A.10.1.2 Mechanical

$MaxForceDescription: The maximum allowable magnitude of control force that can be applied.Type: number, optionalDefault: 1×1015

$MaxMomentDescription: The maximum allowable magnitude of control moment that can be applied.Type: number, optionalDefault: 1×1015

A.10.1.3 Sampling

$NfilterDescription: The number of past observations that are used in a time-averaging filter.Type: integer, optionalDefault: 1

Tips: This can be useful for filtering high frequency disturbances that the controller may react to.

$TsampleDescription: Sample period for control observations. This represents the finite sample period of the controller.Type: numberDefault: 1×10−5

Units: s

$TtoggleDescription: Time points for control system gains to be toggled. The controller is initially toggled on.Type: vector, optionalDefault:

[0]

Units: s

A.10.2 Connections (lib.ini)

A.10.2.1 ABAFControllerRigidBodyObserveConnection properties

Connection Type: ObserveMaster: ABAFControllerFollower: RigidBody

276

Page 279: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$GainScheduleToleranceDescription: The set point error tolerance value beyond which control will switch to an alternative set of gains: Kp1,

Ki1, Kd1.Type: number, optionalDefault: 0

$InitialSetPointDescription: The initial value to use for the set point. Control action is automatically applied to drive observed

values to the set point. There must be one set point for every observed value.Type: vectorDefault:

[0 0 0

]

$KForceDescription: Arbitrary stiffness force applied to the body that is proportional to the joint position.Type: vector, optionalDefault:

[0]

$ObservedDescription: Index number of the RigidBody spatial velocity, position, or orientation to track control set point error

from. The ABAFController can only observe one degree of freedom of a RigidBody.Type: integerDefault: 0Options: 0 Surge rate

1 Sway rate2 Heave rate3 Roll rate4 Pitch rate5 Yaw rate6 Surge7 Sway8 Heave9 Roll10 Pitch11 Yaw12 Joint velocity13 Joint position

Tips: These are valid regardless of whether the RigidBody is constrained in an ABA or completely free.An observe index of 12 and 13 indicates the first joint degree of freedom velocity and position and isonly valid when the RigidBody is in ABA mode

$ObservedDeadbandDescription: Deactivates the controller or maintains constant control signal when observed values are within this

error tolerance from the desired set point. Units depend on associated observed values.Type: vector, optionalDefault:

[0 0

]

277

Page 280: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

A.10.2.2 ABAFControllerRigidBodyControlConnection properties

Connection Type: ControlMaster: ABAFControllerFollower: RigidBody

$ControlledDescription: Sinusoidal control action is applied as loads to the associated degrees of freedom of the connected

RigidBody. The frequency of loading is set and a PID controller adjusts the amplitude of the sinusoidalcontrol action.

Type: integerDefault: 0Options: 0 Surge rate

1 Sway rate2 Heave rate3 Roll rate4 Pitch rate5 Yaw rate6 Surge7 Sway8 Heave9 Roll10 Pitch11 Yaw12 Joint velocity13 Joint position

Tips: These are valid regardless of whether the RigidBody is constrained in an ABA or completely free.An observe index of 12 and 13 indicates the first joint degree of freedom velocity and position and isonly valid when the RigidBody is in ABA mode

$Kd0Description: PID control derivative coefficient. Units depend on the degree of freedom controlled.Type: numberDefault: 0

$Kd1Description: PID control derivative coefficient used when error is larger than gain schedule tolerance. Units depend

on the degree of freedom controlled.Type: numberDefault: 0

$Ki0Description: PID control integral coefficient. Units depend on the degree of freedom controlled.Type: numberDefault: 0

278

Page 281: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$Ki1Description: PID control integral coefficient used when error is larger than gain schedule tolerance. Units depend

on the degree of freedom controlled.Type: numberDefault: 0

$Kp0Description: PID control proportional coefficient. Units depend on the degree of freedom controlled.Type: numberDefault: 0

$Kp1Description: PID control proportional coefficient used when error is larger than gain schedule tolerance from set

point. Units depend on the degree of freedom controlled.Type: numberDefault: 0

279

Page 282: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

A.11 ABA Super Controller

A.11.1 Input file properties (*.ini)

A.11.1.1 General

$CategoryDescription: CategoryType: string, optional, experimental

A.11.1.2 Mechanical

$MaxForceDescription: The maximum allowable magnitude of control force that can be applied.Type: number, optionalDefault: 1×1015

$MaxMomentDescription: The maximum allowable magnitude of control moment that can be applied.Type: number, optionalDefault: 1×1015

A.11.1.3 Sampling

$NfilterDescription: The number of past observations that are used in a time-averaging filter.Type: integer, optionalDefault: 1

Tips: This can be useful for filtering high frequency disturbances that the controller may react to.

$TsampleDescription: Sample period for control observations. This represents the finite sample period of the controller.Type: numberDefault: 1×10−5

Units: s

$TtoggleDescription: Time points for control system gains to be toggled. The controller is initially toggled on.Type: vector, optionalDefault:

[0]

Units: s

A.11.2 Connections (lib.ini)

A.11.2.1 ABASuperControllerRigidBodyObserveConnection properties

Connection Type: ObserveMaster: ABASuperControllerFollower: RigidBody

280

Page 283: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$GainScheduleToleranceDescription: The set point error tolerance value beyond which control will switch to an alternative set of gains: Kp1,

Ki1, Kd1.Type: number, optionalDefault: 0

$InitialSetPointDescription: Control action is applied in the form of changing set points to follower ABAControllers. A PID controller

adjusts the control action based on the error from the set point. There must be one set point for everyobserved value.

Type: numberDefault: 0

$ObservedDescription: Index number of the RigidBody spatial velocity, position, or orientation to track control set point error

from. The ABASuperController is designed to observe one or more degrees of freedom of any RigidBody.Type: integerDefault: 0Options: 0 Surge rate

1 Sway rate2 Heave rate3 Roll rate4 Pitch rate5 Yaw rate6 Surge7 Sway8 Heave9 Roll10 Pitch11 Yaw12 Joint velocity13 Joint position

Tips: These are valid regardless of whether the RigidBody is constrained in an ABA or completely free.An observe index of 12 and 13 indicates the first joint degree of freedom velocity and position and isonly valid when the RigidBody is in ABA mode

$ObservedDeadbandDescription: Deactivates the controller or maintains constant control signal when observed values are within this

error tolerance from the desired set point. Units depend on associated observed values.Type: vector, optionalDefault:

[0 0

]

$ObservedDeadbandActivateTimeLimitDescription: The duration of time control action continues each time the system emerges from the observation dead

band. Setting the time delay to 0 will result in no time delay effect.Type: number, optionalDefault: −1Units: s

281

Page 284: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$ObservedDeadbandOverrideRestartTimeLimitDescription: The minimum duration of time that must pass before the restart time limit can be set and applied after

exiting the deadband.Type: number, optionalDefault: −1Units: s

$ObservedDeadbandOverrideTimeLimitDescription: After the observed values have left the deadband, the controller will remain on for this duration of time

even if the observed values re-enter the observation deadband region.Type: number, optionalDefault: −1Units: sTips: This only overrides the utility of the deadband and if an activation time limit is imposed and is less

than the duration of this time value, it will be imposed accordingly.

$ObservedDeadbandRestartTimeLimitDescription: The duration of time that must pass before control action reactivates after the observed values move

in to the deadband region.Type: number, optionalDefault: −1Units: s

$ObservedOrderDescription: The PID coefficient matrix column index number that the observed value corresponds to. Each observed

value must be associated with only one column of the PID coefficient matrix.Type: integerDefault: 0

A.11.2.2 ABASuperControllerABAControllerControlConnection properties

Connection Type: ControlMaster: ABASuperControllerFollower: ABAController

$ControlledLimitDescription: Minimum and maximum limit of control action values allowed.Type: vector, optionalDefault:

[0 0

]Tips: The limit is useful to prevent detrimental control action if error grows too large.

$FeedForwardDescription: Feed forward term that is directly applied to control signal.Type: numberDefault: 0

282

Page 285: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$Kd0Description: PID derivative coefficient. Only one value (one control output) is supported.Type: matrix, variable number of columnsDefault:

[0]

$Kd1Description: PID derivative coefficient used when error is larger than gain schedule tolerance.Type: matrix, variable number of columnsDefault:

[0]

$Ki0Description: PID integral coefficient. Only one value (one control output) is supported.Type: matrix, variable number of columnsDefault:

[0]

$Ki1Description: PID integral coefficient used when error is larger than gain schedule tolerance.Type: matrix, variable number of columnsDefault:

[0]

$Kp0Description: PID proportional coefficient. Only one value (one control output) is supported.Type: matrix, variable number of columnsDefault:

[0]

$Kp1Description: PID proportional coefficient used when error is larger than gain schedule tolerance.Type: matrix, variable number of columnsDefault:

[0]

283

Page 286: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

A.12 DCable Movement Controller

A.12.1 Input file properties (*.ini)

A.12.1.1 Controller

$ControllerOnDescription: When enabled, the controller is active. Otherwise, no control action was taken.Type: integer, optionalDefault: 1

$ForceDirectionDescription: This is a unit vector that defines the line of action of the force.Type: vectorDefault:

[1 0 0

]Required when: UseForceDirection is set to 1

$IgnoreForceDirectionDescription: When any of the three flags for each global reference frame are enabled, the control action force in the

corresponding global reference frame direction (X,Y, or Z) is ignored.Type: vector of integers, optionalDefault:

[0 0 0

]

$KdDescription: The controller derivative gainType: numberDefault: 1

$KiDescription: The controller integral gainType: numberDefault: 1

$KpDescription: The controller proportional gain.Type: numberDefault: 1

$MaxControlForceDescription: MaxControlForce is the maximum control force used by the controllers in NewtonsType: numberDefault: 1×106

Units: N

284

Page 287: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$SetpointDescription: The setpoint (X,Y,Z) for the global position that the controller moves the cable arcpoint to.Type: vectorDefault:

[0 0 0

]

$TargetVelocityDescription: The target velocity at which to move the cable.Type: numberDefault: 0Units: m/sRequired when: VelocityControl is set to 1

$UseForceDirectionDescription: When enabled, the ForceDirection vector must be specified.Type: integerDefault: 0

$VelocityControlDescription: When enabled, the controller controls velocity rather than position.Type: integerDefault: 0

A.12.1.2 General

$CategoryDescription: CategoryType: string, optional, experimental

A.12.2 Connections (lib.ini)

A.12.2.1 DCableMovementControllerDCableConnection properties

Connection Type: PositionMaster: DCableMovementControllerFollower: DCable

$DCableArcLengthDescription: The arc length location along the follower DCable that is controlled.Type: numberDefault: 0Units: m

285

Page 288: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

A.13 DCable End Node Controller

A.13.1 Input file properties (*.ini)

A.13.1.1 General

$CategoryDescription: CategoryType: string, optional, experimental

A.13.1.2 Node Control

$ControlModeDescription: Node boundary condition function.Type: integerDefault: 0

Options: # Description: Required follower properties:

3 Straight tow $MaxA, $MaxV, $TowSpeed, $TowVector

6 Sea Follower

7 Waypoint control $Points

11 Straight tow with heave $MaxA, $MaxV, $OscillationAmplitude, $OscillationPeriod,$OscillationVector, $TowSpeed, $TowVector, $TtoggleOscillation,$TtoggleTowSpeed

$MaxADescription: Maximum allowable accelerationType: number, optionalDefault: 1000Units: m/s2

Optional when: ControlMode is set to 3; orControlMode is set to 11

$MaxVDescription: Maximum allowable velocityType: number, optionalDefault: 1000Units: m/sOptional when: ControlMode is set to 3; or

ControlMode is set to 11

$OscillationAmplitudeDescription: Node 0 oscillation amplitudeType: numberDefault: 1

Required when: ControlMode is set to 11

286

Page 289: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$OscillationPeriodDescription: Node 0 oscillation periodType: numberDefault: 7

Required when: ControlMode is set to 11

$OscillationVectorDescription: Node 0 oscillation unit vectorType: vectorDefault:

[0 0 0

]Required when: ControlMode is set to 11

$PointsDescription: Waypoints for node 0 to follow through time. Format: tX x y zType: matrix, variable number of rowsDefault:

[0 0 0 0

]Required when: ControlMode is set to 7

$TowSpeedDescription: Tow speed magnitude.Type: numberDefault: 0Units: m/sRequired when: ControlMode is set to 3; or

ControlMode is set to 11

$TowVectorDescription: Cartesian tow vector direction used when controlling node 0 of the cable. This vector will be converted

to a unit vector.Type: vectorDefault:

[1 0 0

]Required when: ControlMode is set to 3; or

ControlMode is set to 11

$TtoggleOscillationDescription: Time points to toggle heave oscillation motion on and off. The heave oscillations are always initially

on. Note that a cycloidal ramp of 2 oscillation periods is used.Type: matrix, variable number of rows, unorderedDefault:

[0]

Required when: ControlMode is set to 11

$TtoggleTowSpeedDescription: Time points to toggle heave oscillation motion on and off. The heave oscillations are always initially

on. Note that tow speed changes are subject to maximum allowable tow velocity acceleration.Type: matrix, variable number of rows, unorderedDefault:

[0]

287

Page 290: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Required when: ControlMode is set to 11

A.13.2 Connections (lib.ini)

A.13.2.1 DCableEndNodeControllerDCableConnection properties

Connection Type: PositionMaster: DCableEndNodeControllerFollower: DCable

$DCableFollowerNodeNDescription: This indicates what end of the follower DCable is controlled. When enabled, the end at node N is

controlled. Otherwise, the end at node 0 is controlled.Type: integerDefault: 0

288

Page 291: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

A.14 DCable Tension Controller

A.14.1 Input file properties (*.ini)

A.14.1.1 General

$CategoryDescription: CategoryType: string, optional, experimental

A.14.1.2 None

$FeedForwardDescription: FeedForward is used to apply a constant payout speed to the attached dcable; this is an offset speed

from the speed determined by the payout PID gains.Type: number, optionalDefault: 0

$KdDescription: Kd is the derivative gain for the controller which attempts to achieve the tension in the dcable using

payoutType: numberDefault: 1

$KiDescription: Ki is the integral gain for the controller which attempts to achieve the tension in the dcable using

payoutType: numberDefault: 1

$KpDescription: Kp is the proportional gain for the controller which attempts to achieve the tension in the dcable using

payoutType: numberDefault: 1

$MaxPayoutSpeedDescription: MaxPayoutSpeed is the maximum payout speed to be used to achieve the tensionType: numberDefault: 0.5

$PayoutRampTimeDescription: This will prevent instantaneous application of payout velocity by ramping to commanded payout velocity

over the set ramp time.Type: number, optionalDefault: 0Units: s

289

Page 292: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$TensionSetPointDescription: The TensionSetPoint is the tension that the controller will try to maintain throughout the simulationType: numberDefault: 0

A.14.2 Connections (lib.ini)

A.14.2.1 DCableTensionControllerDCableConnection properties

Connection Type: TensionMaster: DCableTensionControllerFollower: DCable

$DCableFollowerNodeNDescription: This indicates what end of the follower DCable is controlled. When enabled, tension at node N is

controlled. Otherwise, tension at node 0 is controlled.Type: integerDefault: 0

290

Page 293: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

A.15 RigidBody DCable Traction Controller

A.15.1 Input file properties (*.ini)

A.15.1.1 General

$CategoryDescription: CategoryType: string, optional, experimental

A.15.1.2 Mechanical

$MaxForceDescription: The maximum allowable magnitude of control force that can be applied.Type: number, optionalDefault: 1×1015

$MaxMomentDescription: The maximum allowable magnitude of control moment that can be applied.Type: number, optionalDefault: 1×1015

A.15.1.3 None

$NfilterDescription: Number of observations to be used in a time-averaging filter.Type: integer, optionalDefault: 1Units: Dimensionless

$StopSimControlDescription: If set to 1, the simulation will stop when the rigid body that is being controlled reaches the X value

specified in StopSimXValueType: integer, optional, experimentalDefault: 0

$StopSimXToleranceDescription: When the global X position of the conterolled rigid body is within +/-STopSimXTolerance of Stop-

SimXValue, the sim will stop.Type: number, experimentalDefault: 1Units: mRequired when: StopSimControl is set to 1

$StopSimXValueDescription: When the global X position of the controlled rigid body is within +/-StopSimXTolerance of StopSimX-

Value, the sim will stop.Type: number, experimentalDefault: 1

291

Page 294: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Units: mRequired when: StopSimControl is set to 1

$TsampleDescription: Period for controller observations to occur: this represents the finite sample period of the controller.Type: number, optionalDefault: 1×10−5

Units: s

A.15.2 Connections (lib.ini)

A.15.2.1 RBDCableTractionControllerRigidBodyObserveConnection properties

Connection Type: ObserveMaster: RBDCableTractionControllerFollower: RigidBody

$InitialSetPointDescription: The initial value to use for the set point. Control action is automatically applied to drive observed

values to the set point.Type: numberDefault: 0

$ObservedDescription: Index number of the RigidBody spatial velocity, position, or orientation to track control set point error

from.Type: integerDefault: 0Options: 0 Surge rate

1 Sway rate2 Heave rate3 Roll rate4 Pitch rate5 Yaw rate6 Surge7 Sway8 Heave9 Roll10 Pitch11 Yaw12 Joint velocity13 Joint position

Tips: These are valid regardless of whether the RigidBody is constrained in an ABA or completely free.An observe index of 12 and 13 indicates the first joint degree of freedom velocity and position and isonly valid when the RigidBody is in ABA mode

292

Page 295: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$ObservedOrderDescription: The PID coefficient matrix column index number that the observed value corresponds to. Each observed

value must be associated with only one column of the PID coefficient matrix.Type: integerDefault: 0

A.15.2.2 RBDCableTractionControllerRigidBodyControlConnection properties

Connection Type: ControlMaster: RBDCableTractionControllerFollower: RigidBody

$FeedForwardDescription: Feed forward term that is directly applied to control signal. Units depend on the degree of freedom

controlled.Type: number, optionalDefault: 0Units: N

$KdDescription: PID control derivative coefficient. Units depend on the degree of freedom controlled.Type: matrix, variable number of columnsDefault:

[0]

$KiDescription: PID control integral coefficient. Units depend on the degree of freedom controlled.Type: matrix, variable number of columnsDefault:

[0]

$KpDescription: PID control proportional coefficient. Units depend on the degree of freedom controlled.Type: matrix, variable number of columnsDefault:

[0]

$PowerLimitDescription: Maximum possible traction power (force multiplied by forward velocity) that can be exerted by the

traction controller.Type: number, optionalDefault: 0Units: W

$TractionLimitDescription: Maximum possible traction force that can be applied by the controller tangentially on the cable regardless

of forward speed.Type: number, optionalDefault: 1×1030

Units: N

293

Page 296: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

A.15.2.3 RBDCableTractionControllerDCableObserveConnection properties

Connection Type: ObserveMaster: RBDCableTractionControllerFollower: DCable

$InitialSetPointDescription: The initial tension value to use for the set point.Type: numberDefault: 0Units: N

$TensionMeasurementArcOffsetDescription: Discrete offset in measurement of tension from point of application.Type: number, optionalDefault: 0Units: mTips: Arc offset is measured from the point of force application and + offset indicates toward node N.

This can compensate for discretisation error introduced by constant mean tension along long elementlengths.

$TractionDirectionTowardNodeNDescription: Indicates if applying a traction force along the local tangent direction toward Node N will increase

tension.Type: integerDefault: 0Units: Dimensionless

A.15.2.4 RBDCableTractionControllerDCableControlConnection properties

Connection Type: ControlMaster: RBDCableTractionControllerFollower: DCable

$DCableFollowerArcLocationDescription: The arc location along the span of the cable where traction forces are applied. This coincides to the

location on the RigidBody. An initial guess is required and this value automatically updates as theRigidBody traverses the cable.

Type: numberDefault: 0Units: m

$DCableFollowerLocationDescription: The location on the RigidBody, in terms of the RigidBody frame, of the point of application of traction

force. This is the fairlead connection point on the RigidBody.Type: vectorDefault:

[0 0 0

]Units: m

294

Page 297: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

A.16 RigidBody Simple Controller

A.16.1 Input file properties (*.ini)

A.16.1.1 General

$CategoryDescription: CategoryType: string, optional, experimental

A.16.1.2 Instrumentation

$NfilterDescription: Number of observations to be used in a time-averaging filter.Type: integerDefault: 1

$TsampleDescription: Period for controller observations to occur: this represents the finite sample period of the controller.Type: numberDefault: 1×10−5

A.16.1.3 Mechanical

$MaxForceDescription: The maximum allowable magnitude of control force that can be applied.Type: number, optionalDefault: 1×1015

$MaxMomentDescription: The maximum allowable magnitude of control moment that can be applied.Type: number, optionalDefault: 1×1015

A.16.2 Connections (lib.ini)

A.16.2.1 RBSimpleControllerRigidBodyControlConnection properties

Connection Type: ControlMaster: RBSimpleControllerFollower: RigidBody

$ControlledDescription: Control action is applied in the form of loads to the attached RigidBody in one of 6DOF. A PID

controller adjusts the control action. Multiple degrees of freedom can be controlled at the same time.Type: integerDefault: 0

295

Page 298: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

Options: 0 Surge1 Sway2 Heave3 Roll4 Pitch5 Yaw

Tips: These are valid regardless of whether the RigidBody is constrained in an ABA or completely free.

$ControlPositionDescription: Position of application of control action in terms of the rigid body frame.Type: vector, optionalDefault:

[0 0 0

]

$FeedForwardDescription: Feed forward term that is directly applied to control signal.Type: numberDefault: 0

$KdDescription: PID derivative coefficient.Type: matrix, variable number of columnsDefault:

[0]

$KiDescription: PID integral coefficient.Type: matrix, variable number of columnsDefault:

[0]

$KpDescription: PID proportional coefficient.Type: matrix, variable number of columnsDefault:

[0]

A.16.2.2 RBSimpleControllerRigidBodyObserveConnection properties

Connection Type: ObserveMaster: RBSimpleControllerFollower: RigidBody

$InitialSetPointDescription: The initial value to use for the set point. Control action is automatically applied to drive observed

values to the set point.Type: numberDefault: 0

296

Page 299: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix A. ProteusDS Input Files ProteusDS 2015 Manual

$ObservedDescription: Index number of the RigidBody spatial velocity, position, or orientation to track control set point error

from. The ABASuperController is designed to observe one or more degrees of freedom of any RigidBody.Type: integerDefault: 0Options: 0 Surge rate

1 Sway rate2 Heave rate3 Roll rate4 Pitch rate5 Yaw rate6 Surge7 Sway8 Heave9 Roll10 Pitch11 Yaw12 Joint velocity13 Joint position

Tips: These are valid regardless of whether the RigidBody is constrained in an ABA or completely free.An observe index of 12 and 13 indicates the first joint degree of freedom velocity and position and isonly valid when the RigidBody is in ABA mode

$ObservedOrderDescription: The PID coefficient matrix column index number that the observed value corresponds to. Each observed

value must be associated with only one column of the PID coefficient matrix.Type: integerDefault: 0

297

Page 300: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

Appendix B. ProteusDS Output Files ProteusDS 2015 Manual

Appendix B. ProteusDS Output Files

B.1 Cable

curvature.dat Absolute curvature at each of the nodes.lengths.dat Element lengthsp1.dat p1 unit vectorp2.dat p2 unit vectorreactionLoads.dat Reaction loads at node 0 and node N in global reference frameresults.dat State vectortensions.dat Tensions in the cable elementsVonMises.dat Combined von Mises stress at cable nodes

B.2 PointMass

results.dat State vector

B.3 Net

results.dat State vectortensionsCols0-N.dat Tensions in net in rows 0 through MtensionsRows0-M.dat Tensions in net in columns 0 through N

B.4 RigidBody

forces.dat Net global forces acting on the rigid bodyresults.dat State vectorposition.dat Position and orientation of rigid body in global reference framevelocity.dat Velocity of rigid body in terms of local reference frame

298

Page 301: ProteusDS Manual · 2.14.5 Exporting videos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.14.6 Post-processing using Matlab or Excel

References ProteusDS 2015 Manual

References

[1] W. H. Press, S. A. Teukolsky, W. T. Vetterling, and B. P. Flannery, Numerical Recipes in C, The Art of ScientificComputing. Cambridge University Press, 1988.

[2] J. R. Cash and A. H. Karp, “A variable order Runge-Kutta method for initial value problems with rapidly varyingright-hand sides,” ACM transactions on mathematical software, vol. 16, pp. 201–222, September 1990.

[3] S. C. Chapra and R. P. Canale, Numerical methods for engineers. McGraw Hill, 6 ed., 2010.

[4] DNV, “Recommended practice DNV-RP-C205 environmental conditions and environmental loads,” 2014.

[5] O. M. Faltinsen, Sea loads on ships and offshore structures. New York, NY: Cambridge University Press, 1990.

[6] J. D. Fenton, Nonlinear Wave Theories. Chapter in ”The Sea Volume 9: Ocean Engineering Science”. Wiley: NewYork., 1990.

[7] T. S. Hedges and B. W. Lee, “The equivalent uniform current in wave-current computations,” Coastal Engineering,vol. 16, pp. 301–311, 1992.

[8] API, “RP 2SK: Design and analysis of station keeping systems for floating structures,” 2005.

[9] K. H. Hunt and F. R. E. Crossley, “Coefficient of restitution interpreted as damping in vibroimpact,” Journal ofApplied Mechanics, vol. 42, pp. 440–445, June 1975.

[10] H. Olsson, K. J. Astrom, C. C. De Wit, M. Gafvert, and P. Lischinsky, “Friction models and friction compensation,”European Journal of Control, vol. 4, no. 3, pp. 176–195, 1998.

[11] B. J. Buckham, Dynamics modelling of low-tension tethers for submerged remotely operated vehicles. PhD thesis,University of Victoria, 2003.

[12] B. Buckham, M. Nahon, and G. Cote, “Validation of a finite element model for slack ROV tethers,” in OCEANS2000 MTS/IEEE Conference and Exhibition, vol. 2, pp. 1129–1136 vol.2, 2000.

[13] DNV, “Offshore standard DNV-OS-E301 position mooring,” 2010.

[14] M. Nahon, “A simplified dynamics model for autonomous underwater vehicles,” in Proceedings of the 1996 IEEESymposium on Autonomous Underwater Vehicle Technology, pp. 373–379, 1996.

[15] S. Soylu, “Incorporation of the articulated-body equations into a model-based sliding-mode controller for the reductionof dynamic coupling effect in underwater-manipulator systems,” Master’s thesis, University of Victoria, 2002.

[16] R. Featherstone, Rigid body dynamics algorithms. Springer, 2008.

[17] I. Tsukrov, O. Eroshkin, D. Fredriksson, M. R. Swift, and B. Celikkol, “Finite element modeling of net panels usinga consistent net element,” Ocean Engineering, vol. 30, pp. 251–270, Feb. 2003.

[18] D. Kidner, M. Dorey, and D. Smith, “What’s the point? interpolation and extrapolation with a regular grid dem,” inproceedings of GeoComputation 99, 1999.

299