You are on page 1of 138

PERFORMANCE OF CATENARY MOORING SYSTEM

FAISAL IKRAM BIN ABD SAMAD

UNIVERSITI TEKNOLOGI MALAYSIA


i

PERFORMANCE OF CATENARY MOORING SYSTEM

FAISAL IKRAM BIN ABD SAMAD

A dissertation submitted in partial fulfilment of the


requirements for the award of the degree of
Master of Engineering (Mechanical Marine Technology)

Faculty of Mechanical Engineering


Universiti Teknologi Malaysia

MAY 2009
iii

To my beloved mother Setariah bt Ahmad with her sincere prayers afforded me to

accomplish this work, to my dear supportive family members and my loving fianc
iv

ACKNOWLEDGEMENT

Bismillahirrahmanirrahim

Im so thankful and grateful to Allah All Mighty the Merciful, after all the
struggled and hard work that I was through finally the report is ready to submit

Secondly, I would like to express my deep and sincere gratitude to my


supervisor, Associate Professor Dr. Adi Maimun B. Abd. Malik, MRINA, Ph. D
(Marine Tech)., Deputy Dean, Faculty of Mechanical Engineering, Universiti
Teknologi Malaysia. His wide knowledge and his logical way of thinking have been
of great value for me. His understanding, encouraging and personal guidance have
provided a good basis for the present thesis.

My sincere thanks are due to my new friend from Indonesia Mr.


Rahimmudin, the one who give the full support and sharing the knowledge for the
MATLAB Programming.

I owe my most sincere and special gratitude to my family members, mother


Setariah bt Ahmad, sisters and brothers, whom never fail to encourage me.

During this work I have collaborated with many colleagues and friends for
whom I have great regard, and I wish to extend my warmest thanks to all those who
have helped me with my thesis.

Finally, I owe my loving thanks to my fianc, Azila Ayub. Without her


encouragement and understanding it would have been impossible for me to finish
this work.
v

ABSTRACT

The number of deep water moored offshore vessels is growing rapidly, and
hydrocarbon fields in water depths down to 3000 m are now seriously considered for
floating production development. The exploration drilling or offshore floating
production units with superior mooring capacity thus become a highly demand
factor. Concerning on this booming drilling activity has driven this research to be
carried out to analyze the mooring system requirement as well as the behaviour of
the floating structure when experiencing external forces such as wave and current
forces. The purpose of this study is to investigate the technical as well as
performance analysis of the catenary mooring system from the perspective of a Spar
platform drilling unit. The main part comprises an analysis and discussion on the
mooring configuration, material and weight, length of mooring line required to resist
the environmental loads and movement of the platform. This study will utilized the
finite element approach and the analysis will be carried out by using M-File
programming from MATLAB software package. The endeavour of this paper is to
develop theoretical methods for evaluation of Spar oil platform response with
catenary mooring lines and to carry out performance analysis of the catenary
mooring lines between static and dynamic mooring system. The performance of
mooring system is determined as the ability of the system to establish superior
station-keeping capabilities for the floating platform, so to ensure that horizontal
excursions of the platform are not so large as to cause damage to the production
risers or the sub-sea equipment and subsequently enabling production and export
risers to remain connected for the life of the field.
vi

ABSTRAK

Pertambahan bilangan pelantar minyak laut dalam yang pesat membangun


serta sumber hidrokarbon di ke dalaman laut yang mencecah sehingga 3000 m
memerlukan pembangunan penggunaan pelantar apungan secara lebih teliti. Pelantar
galian minyak atau pelantar apungan laut dalam dengan kapasiti ketahanan talian
tambatan yang kukuh menjadi faktor penting di dalam industri galian ini. Kepesatan
aktiviti galian ini menjadi faktor penyebab kajian ini dijalankan untuk menganalisa
keperluan sistem tambatan begitu juga tindakbalas struktur pelantar apungan apabila
berhadapan dengan daya luar seperti daya yang terhasil dari ombak dan juga arus.
Kajian ini bertujuan untuk menyelidik aspek teknikal serta analisis prestasi terhadap
sistem tambatan melengkung dari perspektif pelantar galian jenis Spar. Aspek paling
utama mengandungi analisis dan perbincangan mengenai konfigurasi talian
tambatan, jenis bahan dan beratnya, panjang talian tambatan yang diperlukan untuk
mengatasi daya sekitar dan pergerakan pelantar tersebut. Kajian ini akan
memanfaatkan pendekatan unsur terhingga dan analisis akan dilakukan
menggunakan pengaturcaraan M-File daripada pakej perisian MATLAB.
Penghasilan dokumen kajian ini adalah untuk mendapatkan kaedah serta teori yang
digunakan untuk menilai reaksi pelantar Spar dengan talian tambatan melengkung di
antara sistem statik dan dinamik. Prestasi sistem tambatan ini didefinasikan sebagai
keupayaan dan kekuatan sistem tersebut mengekalkan lokasi kedudukan pelantar
apungan. Ianya adalah untuk memastikan pergerakan mendatar pelantar tersebut
tidak terlalu besar dan ini akan menyebabkan kerosakan pada riser penyedut serta
peralatan lain dalam laut seterusnya membolehkan riser penyedut kekal berhubung
sepanjang operasi penggalian dijalankan.
vi

TABLE OF CONTENTS

CHAPTER TITLE PAGE

TITLE PAGE i
CERTIFICATE OF ORIGINALITY ii
DEDICATION iii
ACKNOWLEDGEMENT iv
ABSTRACT v
TABLE OF CONTENTS vi
LIST OF TABLES ix
LIST OF FIGURES x
LIST OF SYMBOLS xii
LIST OF APPENDICES xv

1 INTRODUCTION 1
1.1 Background 1
1.2 Problem Statement 2
1.3 Objective of the Research 3
1.4 Scope of the Research 3

2 LITERATURE SEARCH 4
2.1 Introduction 4
2.2 Fundamental of Mooring Systems 5
2.3 Catenary Moorings 8
vii

2.4 Numerical Models Analysis for Catenary Moorings 9


2.4.1 Mathematical Modelling 10
2.4.2 Quasi-static Modelling 10
2.4.3 Dynamic Modelling 11
2.4.4 Non-Linear Time Domain Analysis 11

3 RESEARCH METHODOLOGY 13
3.1 Introduction 13
3.2 Research Mechanism 14
3.3 Research Procedure Flow Chart 14
3.4 Research Scheduling 18

4 MATHEMATICAL FORMULATION 20
4.1 Introduction 20
4.2 Surface Area and Offset Calculation Method for
Spar Platform 20
4.3 Hydrodynamic forces 23
4.4 Equation of Motion of Spar Platform 27
4.5 Newton- Technique Time Step Integration 28
4.6 Coordinate Systems and Transformations 30
4.7 Mass and Added Mass for Spar 33
4.8 Damping Matrix for the Spar 39
4.9 Stiffness Forces on Spar 45
4.10 Mooring Stiffness 46
4.11 Mooring Cables Calculation 49
4.11.1 Two-Dimensional Problem 50
4.11.2 Segmentation and Nomenclature 52
4.11.3 Computation Process 52
4.12 Dynamics of Mooring Lines 56
4.12.1 Forces to Consider 56
4.12.2 Equation of Motion 60
viii

5 PROGRAMME DEVELOPMENT 61
5.1 Introduction 61
5.2 Introduction to MATLAB Software 61
5.3 Programming with MATLAB 62
5.4 Matrices in M-File 63
5.5 Programming Flow Charts 64
5.5.1 Flow Chart for Main Program 64
5.5.2 Flow Chart to Calculate Total Mass 66
5.5.3 Flow Chart to Calculate Damping 67
5.5.4 Flow Chart to Calculate Resultant Stiffness 68
5.5.5 Flow Chart for Static Mooring Program 69
5.5.6 Flow Chart for Dynamic Mooring Program 70
5.6 Programming Process 71
5.7 Overall Programming Description 71

6 RESULT AND DISCUSSION 73


6.1 Introduction 73
6.2 Spar Platform Characteristic 73
6.3 Mooring Line Properties 75
6.4 Segmentation of Side and Bottom Cylinder 76
6.5 Solution of the Equation of Motion 79
6.6 Response Behavior of the Spar Platform 81
6.7 Mooring Line Analysis 88
6.8 Analysis of Current Velocity on Mooring Line 92

7 CONCLUSION 94

REFERENCES 95
Appendices A H 97 - 121
x

LIST OF TABLE

TABLE NO. TITLE PAGE

3.1 Project 1 research scheduling 19


3.2 Project 1 research scheduling 19
4.1 Coordinate transformation matrix 32
6.1 Spar dimension and wave data 75
6.2 Mooring cable data 76
6.3 Behavior of mooring line due to increasing current speed 93
x

LIST OF FIGURES

FIGURE NO. TITLE PAGE

2.1 Schematic elevation of Spar platform 7


2.2 Components of a catenary mooring system at 1200 m
water depth 7
2.3 Force balance in a catenary mooring 8
2.4 The active hybrid mooring system being developed
at MARIN 9
3.1 Performance analysis flow chart 15
4.1 Tangent plane to non-flat surface consider as a normal
surface 22
4.2 Froud Krilov Force acting on segment surface of cylinder 22
4.3 Nomenclature for translatory and angular displacements 31
4.4 Definition diagram for added mass of a circular cylinder 34
4.5 Forces on cable element 51
4.6 Forces applied to first mooring segment 53
4.7 Forces to derive equation of motion of cable element 57
5.1 Main program flow chart 65
5.2 Total mass calculation flow chart 66
5.3 Damping calculation flow chart 67
5.4 Resultant stiffness calculation flow chart 68
5.5 Static mooring program flow chart 69
5.6 Dynamic mooring program flow chart 70
6.1 Mesh representing the surface normal element for Spar
platform 77
6.2 Normal forces acting on the segment center of the Spar 78
6.3 Six degree of freedom response of Spar platform
(Vc = 0.1m/s, Hw = 3m, Lw = 100 m) 82
xi

6.4 Six degree of freedom response of Spar platform


(Vc = 0.5m/s, Hw = 3m, Lw = 100 m) 83
6.5 Six degree of freedom response of Spar platform
(Vc = 1.0 m/s, Hw = 3m, Lw = 100 m) 84
6.6 Surge motion of Spar platform at current speed 0.1
and 1.0m/s 85
6.7 Sway motion of Spar platform at current speed 0.1
and 1.0m/s 85
6.8 Heave motion of Spar platform at current speed 0.1
and 1.0m/s 86
6.9 Roll motion of Spar platform at current speed 0.1
and 1.0m/s 86
6.10 Pitching motion of Spar platform at current speed 0.1
and 1.0m/s 87
6.11 Yaw motion of Spar platform at current speed 0.1
and 1.0m/s 87
6.12 Mooring Profile at (Vc = 0.1m/s, Hw = 3m, Lw = 100 m) 89
6.13 Mooring Profile at (Vc = 0.5 m/s, Hw = 3m, Lw = 100 m) 90
6.14 Mooring Profile at (Vc = 1.0 m/s, Hw = 3m, Lw = 100 m) 91
6.15 Comparison of mooring profile at different current speed 93
xii

LIST OF SYMBOLS

Ms Moments

Fh Horizontal force

WD , h Water depth

F FK
Foude-Krylov force

SW Wetted surface of the floating body


p Pressure in the undisturbed waves

n The bodys normal vector pointing into the water


F Normal force/Froud Krilov force
, w Water density

CD drag coefficient of cylinder


Aw Element wetted area

Vw Wave velocity

dX Segment length in x direction


dY Segment length in x direction
LW Wavelength

TW Period of wave

FD Drag force
W Wave frequency

g Acceleration due to gravity


a Wave amplitude

k Wave number
u& Velocities of water particles in horizontal direction
w& Velocities of water particles in vertical direction
xiii

UC Current velocity

Ms Spar mass or moment of inertia

Ma Added mass or added moment of inertia

{X } Structural displacement vector

{X& } Structural velocity vector

{X&&} Structural acceleration vector


Kh Hydrostatic restoring stiffness

Km Mooring Stiffness

F (t ) External forces
t Delta time
t Time
,, Constant

[A] Transformation matrix


mij Added mass matrix

bij Damping coefficient matrix

kij Stiffness matrix

Cm Added mass coefficient

x Global x coordinates
y Global y coordinates
z Global z coordinates
X Body X coordinates
Y Body Y coordinates
Z Body Z coordinates
K hy Hydrostatic stiffness matrix

D Diameter of the Spar platform


S cb Distance from the keel of the Spar platform to its

center of buoyancy
S cg Distance from the keel of the Spar platform to its

center of gravity
Td Draft of the Spar platform
xiv

x Small displacement

CDT Tangential drag coefficient


CDN Normal drag coefficient

T Mooring line tension


Inclination of mooring line
Rz Resultant force in z direction
Rx Resultant force in x direction
L Elongation of segment
L Segment length of mooring line
xiii

LIST OF APPENDICES

APPENDIX TITLE PAGE


A1 Main Program For Segment Surface 97
A2 Sub-Program For Trapezium Calculation 99
A3 Sub-Program For Triangle Calculation 100
B Sub-Program For Coordinate 101
Transformation
C1 Program For External Force Moment 102
C2 Program Forces And Moment 108
D Sub-Program For Mass And Added Mass 111
E1 Sub-Program For Mooring Stiffness 113
E2 Sub-Program For Spar Hydrostatic Stiffness 114
F Sub-Program For Damping Coefficient 115
G Spar Main Program 117

H Couple Mooring Line Program 120


CHAPTER 1

INTRODUCTION

1.1 Background

The rapidly growing offshore activity in deepwater, i.e. between 1500 and
3000m creates a high demand on the exploration drilling or offshore floating
production units with superior mooring capacity. The need to measure ocean currents
throughout the water column for extended periods in order to better understand ocean
dynamics was a driving force that led to the development of oceanographic
moorings.

Mooring system design is a trade-off between making the system compliant


enough to avoid excessive forces on the platform, and making it stiff enough to avoid
difficulties, such as damage to drilling or production risers, caused by excessive
horizontal excursions of the platform . This is relatively easy to achieve for moderate
water depths, but becomes more difficult as the water depth increases. There are also
difficulties in shallow water. Increasingly integrated mooring/riser system design
methods are being used to optimize the system components to ensure lifetime system
integrity.
2

The purpose of this study is to investigate the technical as well as


performance analysis of the catenary mooring system from the perspective of a spar
platform drilling unit. The study commences with a critical review on the subject of
deepwater mooring system. The main part comprises an analysis and discussion on
the mooring configuration, material and weight, dynamic mooring simulation result,
anchoring system, installation and inspection, cost-effectiveness of the
chain/wire/polyester catenary mooring system. The endeavour of this paper is to
develop theoretical methods for evaluation of spar oil platform response with
catenary mooring lines and to carry out performance analysis of the catenary
mooring lines between static and dynamic mooring, single leg and multi leg mooring
system.

1.2 Problem Statement

The number of deep water moored offshore vessels is growing rapidly, and
hydrocarbon fields in water depths down to 3000 m [1] are now seriously considered
for floating production development. With the requirement to operate in increasing
water depths, the suspended weight of mooring lines becomes a prohibitive factor.

Physical and numerical modelling of such vessels with their extensive


mooring lines and risers is a challenge to predict the ideal performance of catenary
mooring system without ignoring cost effectiveness. Several parameters need to be
considered:

i. Movement of platform
ii. Required length/weight of mooring line
iii. Suitable material
iv. Type of anchoring technique
3

At present, no physical model test facilities can accommodate all water


depths and mooring line spreads that are being developed today thus making
numerical modelling of deep water mooring systems poses large demands on
computer power for verification of moored systems [1]. So the development of
theoretical methods for evaluation of performance of catenary mooring lines using a
developed computer program is a highly relevant matter.

1.3 Objective of the Research

To evaluate the performance of a catenary mooring arrangement for Spar oil


platform design using developed computer programmed.

1.4 Scope of the Research

i. Analysis the performance of the catenary mooring between static &


dynamic mooring, single leg & multi leg mooring system.

ii. Several parameters of performance of catenary mooring arrangement for


spar oil platform design will be evaluate such as movement of the
platform, the required length of mooring line to resist the environmental
loads such as current, wave and wind force, suitable material for the
mooring line and type of the anchoring technique.
CHAPTER 2

LITERATURE SEARCH

2.1 Introduction

This chapter reviews the literature study of the mooring system performance
analysis and the discussion includes several researches that have been done
previously. Basic fundamentals of mechanics of mooring line will also be discussed
in order to conduct this research successfully. The aim of this chapter is to cover the
fundamental aspects especially on static and dynamic of mooring line and to explain
the several widely used methods to evaluate the performance of mooring line for spar
oil platform.
5

2.2 Fundamental of Mooring Systems

The mooring system consists of freely hanging lines connecting the surface
platform to anchors, or piles, on the seabed, positioned at some distance from the
platform. The mooring lines are laid out, often symmetrically in plan view, around
the vessel. Figure 2.1 shows wind, wave and current forces acting on spar platform
and the arrangement of mooring lines.

The primary objective of a mooring system is to establish superior station-


keeping capabilities for the floating platform, so to ensure that horizontal excursions
of the platform are not so large as to cause damage to the production risers or the
sub-sea equipment and subsequently enabling production and export risers to remain
connected for the life of the field. The environmental forces act in the horizontal
plane, and the resulting horizontal forces must be transferred to the seabed. Since
these forces are acting at different levels, they will introduce a moment Ms that is
proportional to water depth according to Fylling, 1992 [2].

M s = Fh WD
(2.1)

Where:

Fh - is the horizontal force and

WD - is the water depth.

A mooring line cannot transfer any moment, so the station-keeping moment


must be balanced by a vertical force couple.

The choice of hardware (shackles and links), line and flotation for a particular
application, as well as the size and design of the anchor, depends on the type of
mooring and the environment in which it is deployed. Steel-linked chain and wire
rope have conventionally been used for mooring floating platforms. Each of the lines
6

forms a catenary shape, relying on an increase or decreases in line tension as it lifts


off or settles on the seabed, to produce restoring force as the surface platform is
displaced by the environment. A spread of mooring lines thus generates a non-linear
restoring force to provide the station keeping function. The force increases with
vessel horizontal offset and balances quasi-steady environmental loads on the surface
platform. Figure 2.2 shows a typical catenary mooring system and its component.

Mooring system design is a trade-off between making the system compliant


enough to avoid excessive forces on the platform, and making it stiff enough to avoid
difficulties, such as damage to drilling or production risers, caused by excessive
offsets. This is relatively easy to achieve for moderate water depths, but becomes
more difficult as the water depth increases. There are also difficulties in shallow
water.

While the industry tends to focus on the ability to go deeper, precise position
and motion control of offshore floating platform, mooring systems and their
deployment are now seen by operators as a major technical constraint on the cost
effective development of deepwater fields. The industry is now highly focused on the
need for technical development in this area.
7

Figure 2.1: Schematic elevation of Spar platform.

Figure 2.2: Components of a catenary mooring system at 1200 m water


depth.
8

2.3 Catenary Moorings

A very good literature about the force balance in a catenary mooring lines can
be found in Fylling, 1992 [2]. According to Fylling, the buoyancy-corrected weight of
the suspended part of the mooring line must balance the station-keeping moment in a
catenary mooring system as shown in Figure 2.3.

Figure 2.3: Force balance in a catenary mooring (Fylling, 1992)

M s = wsa (2.2)

where w is the buoyancy-corrected weight per unit length, s is the line length, and a
is the horizontal distance from the fairlead to the centre of gravity of the suspended
line. The vertical force at the top will be equal to the buoyancy-corrected weight of
the suspended line.

The compliance to allow for wave frequency motions is ensured by a


combination of geometrical and axial elasticity of the lines. The large geometrical
variations make these systems susceptible to significant dynamic effects, mainly due
to transverse drag forces.
9

2.4 Numerical Models Analysis for Catenary Moorings

Currently, there is no physical model test facilities can accommodate all


water depths and mooring line spreads that are being developed today thus making
numerical modelling is getting increasingly important for verification of moored
systems [1]. Even if large enough model basins do exist, the designer will usually
benefit from a combined approach, using both numerical and physical modelling.
The combination of physical and numerical models contribute to the development of
hybrid model testing and from this combination, hybrid method takes its name.

Watts (1999) [3] has discussed the principles of hybrid hydrodynamic


modelling. Some promising results from an on-going joint industry project at Haslar
are presented. It is concluded that hybrid hydrodynamic modelling presents the only
viable alternative to the construction of ever deeper, more expensive wave basins.
Buchner et al. (1999) [4] have described the development of passive and active
hybrid model mooring systems, presently going on in connection with the
construction of the new Offshore Basin at MARIN. The basin measures 45 m by 36 m
with an overall depth of 10.5 m. It has a central pit of 30 m. The proposed active
hybrid system is seen in Figure 2.4.

Figure 2.4: The active hybrid mooring system being developed at MARIN
(Buchner et al., 1999)
10

2.4.1 Mathematical Modelling

The behaviour of a mooring system is directly influenced by the floater at the


top, with equations of motion as expressed by Lee et al. (1998) [5]:


M v + C RB (v )v + C A (v r )v r = F (t )memory + F (t )viscous + F (t )wind +
(2.3)
F (t )current + F (t )wave + F (t )mooring + F (t )thrust


With = J ( )v

where M is the mass matrix including added masses, while CRB( v) v and CA ( r )r
are the Coriolis force and the centripetal force, respectively. The velocity v is
referred to the body-fixed coordinates, which are transformed from the earth-fixed
coordinates through the relation given above with the help of the rotation matrix J=
(). The relative velocity vector is denoted by vr.

2.4.2 Quasi-static Modelling

Huang and Vassalos (1993) [6] have neglecting the dynamic excitation due to
waves, the variation of current in time and the vortex-induced vibration, mooring
lines may be treated statically. A number of different approaches have been
undertaken to solve the problem. The main issue hereby is the dimensionality, the
elasticity and the current drag. They developed a semi-analytical method, which
predicts the static behavior of a three-dimensional cable under a given distribution of
point loads, for example due to current. They derived an exact solution as a function
of the internal force vector at the end point along the cable. Since the internal force is
determined as the solution to the problem, this scheme must be implemented
iteratively.
11

Mooring lines basically show a three dimensional shape, but the assumption
of coplanar configuration reduces the complexity of geometric descriptions. The
static solution is often insensitive to elastic deformations and thus the cable may be
modelled as inelastic in many practical situations. The governing equations of an
inelastic cable are of course simpler than those of an elastic cable. The current drag
acting on the cable is proportional to the square of the relative velocity, and hence it
is nonlinear.

2.4.3 Dynamic Modelling

It is generally believed that the maximum attainable value of the dynamic


tension in deep water happens within the wave frequency range, and thus is invoked
by linear motions of a floater at the top. Therefore, the need to incorporate a dynamic
approach for mooring applications in deep water has been addressed in several
works, e.g. by Bergdahl and Rask (1987) [7] and Fylling et al. (1987) [8]. This work
has eventually led to a modification of the design rules and guidelines of various
organizations (DNV, 1989 and API, 1995). Based on the conclusions drawn by a task
group on this topic, API (1995) strongly recommended using a dynamic analysis for
permanent mooring systems in deep water. The task group undertook a parameter
study to compare predicted line tensions obtained from quasi-static and dynamic
analyses for various conditions.

2.4.4 Non-Linear Time Domain Analysis

Normally, the dynamics of the mooring cable is involved with non-linear


loadings and interactions among slowly varying drift motions, fast varying wave
12

induced motions, and vortex induced vibrations, which makes the dynamic analysis a
difficult task.

It is well-known that the dynamic analysis can be made either in the time
domain or in the frequency domain. All non-linear terms are properly accommodated
in the time domain analysis, whereas they must be more or less approximated by
equivalently linearized ones in the frequency domain.

Mavrakos et al. (1989) [9] compared experimental results with numerical


predictions based on both time and frequency domain analyses for deep water
mooring lines with submerged buoys. They found that the experimental data showed
good correlation with numerical predictions, particularly with those based on time
domain computation. They argued that discrepancies between theory and experiment
originate mainly from inaccurate treatment of the interaction between cable and
bottom.
CHAPTER 3

RESEARCH METHODOLOGY

3.1 Introduction

In order to accomplish this research objective, research methodology is very


important part which illustrate comprehensive step by step action that need to be
taken seriously. This section discusses the methodology of the research. The main
purpose of the research is to evaluate the performance of a catenary mooring
arrangement for Spar oil platform design using developed computer programmed.
The performance of mooring system is determined as the ability of the system to
establish superior station-keeping capabilities for the floating platform, so to ensure
that horizontal excursions of the platform are not so large as to cause damage to the
production risers or the sub-sea equipment and subsequently enabling production and
export risers to remain connected for the life of the field.
14

3.2 Research Mechanism

This research will utilize the qualitative research methodology. The data will
be obtained through the computer programmed that will be developed. Other
alternative data will also be taken through several applicable resources such as
books, journals, non-confidential documents and electronic resources from the
internet such as e-journal and websites.

3.3 Research Procedure Flow Chart

Figure 3.1 illustrate the adequate flow process on how this research will be
conducted.
15

Start

Identify

Define

Literature Search

Theoretical Method

Develop Computer Program

Take data and result generated from


previous student / any valid data

Parametric Studies

Analysis the Result

Figure 3.1: Performance analysis flow chart


16

The basic stages of the framework are explained below:

Identify

At this stage, the main problem facing by marine consultant to evaluate the
performance of mooring system is identified. The problem is, as the offshore oil
productions are growing rapidly and the hydrocarbon fields in water depth going
more deeper and deeper, it is essential for marine engineers to evaluate the
performance of catenary mooring system without ignoring cost effectiveness,
excessive horizontal offset that can damage to the production risers and safety of the
workers onboard the spar platform. Parameters considered to evaluate the
performance of mooring system are identified and the parameters are movement of
the platform, the required length and weight of mooring line, suitable material for the
mooring line and type of the anchoring techniques.

Define

The second stage is to identify the objective and scope of this study. The
objective and rationale of this study need to be clearly cited regarding the issues
mentioned in the problem statement. The research scope or the outline of the
research need to be determined according with the timeline given in order to
complete the research successfully. Gantt chart is made to guide the progress flow of
this study to avoid unfinished research activity.

Literature Review

Literature review had been make on the secondary data was obtained through
several different sources such as books, journals also electronic resources such as e-
17

journal, internet, websites and online materials. This part to give the more
information about offshore environment, calculation methods for catenary mooring
and selection of suitable calculation method which can be develop by computer
program.

Theoretical Method

After accomplishing the literature review, the Finite Element Method had
chosen method for computer program development. FEM have all of advantages
such as it consider almost all force acting on the cable element, more familiar to
computer programming language such as Fortran 77 and MATLAB also it can
consider the dynamic effect of the mooring line. In this part all the calculation
procedures have been understand and verify with reference sources.

Develop Computer Program

Here, the computer program using FEM will be developed using MATLAB.
The flow chart of the program had been construct first than the process of developing
program begin.

Data and Result generated from previous student / any valid data

Several input data for the computer program such as mooring line data and
Spar platform characteristic has been taken from several applicable resources such as
books, journals, non-confidential documents and electronic resources from the
internet such as e-journal and websites.
18

Parametric Studies

Parametric studies will be done in order to analyze the effect on the mooring
system performance when there are changes in parameters such as tension, drag,
water depth and mooring line geometry. Valid data will be used in order to
synchronize with real oceanographic situation such as wind, wave and current data.
The geometry of mooring line will also be taken from industrial standard usage and
according to the recognized standard rules such as API and DNV criteria.

Analysis the Result

The final task is to analysis the result between the static of mooring line and
dynamic of mooring line.

3.4 Research Scheduling

This Master Project will be carried out within a year and divided into two
sessions. The first sessions are Master Project 1 and Master Project 2. The research
scheduling is shown in Table 3.1 and Table 3.2.
19

Table 3.1: Project 1 research scheduling

Table 3.2: Project 2 research scheduling


CHAPTER 4

MATHEMATICAL FORMULATION

4.1 Introduction

This section discusses the theoretical method used to carry out analysis in this
study. Two parts need to be considered here. The first part is to understanding the
theoretical method used to calculate and determined the behavior of Spar platform
when experiencing wave or any forces acting on the Spar in the sea and the second
part is to understand the theoretical method used to calculate the performance of
mooring line when attach to the Spar platform.

4.2 Surface Area and Offset Calculation Method for Spar Platform

Spar platform is exactly having the same shape of long circular cylinder. In
this study, Froude-Krylov theory will be used to calculate the forces acting on the
spar. According to Froude-Krylov theory, evaluation of the force is performed by
calculating the wave induced pressure over an element of the body surface area,
21

multiplying it with the elemental area and then integrating the product to cover the
whole submerged surface. First we have to calculate pressure at the body surface
points (by Airy wave theory).

In fluid dynamics, the Froude-Krylov force sometimes also called the


FroudeKriloff force is a hydrodynamic force named after William Froude and
Alexei Krylov [11]. The Froude-Krylov force is the force introduced by the unsteady
pressure field generated by undisturbed waves. The Froude-Krylov force does,
together with the diffraction force, make up the total non-viscous forces acting on a
floating body in regular waves. The diffraction force is due to the floating body
disturbing the waves.

The Froude-Krylov force can be calculated from:

F FK
= p n ds (4.1)
SW

where

F FK
- Foude-Krylov force

SW - Wetted surface of the floating body


p - Pressure in the undisturbed waves and

n - The bodys normal vector pointing into the water

This assumption is not valid when high diffraction is expected. Note that the
Froude-Krylov theory is approximate, generally not used in rigorous design but
found to be good for submerged objects or objects with small diffraction.

A surface normal, or simply normal, to a flat surface is a vector which is


perpendicular to that surface. A normal to a non-flat surface at a point on the surface
is a vector perpendicular to the tangent plane to that surface at that point [12]. Figure
4.1 shows the normal surface for non-flat body such as side cylinder.
22

Figure 4.1: Tangent plane to non-flat surface consider as a normal surface

For Spar which can be represented by cylinder, this principle of normal


surface can be considered by dividing the side and bottom of the cylinder to the small
segment of area as shown on the Figure 4.2 below.

dX

Froud Krilov Forces, F dZ

Figure 4.2: Froud Krilov Force acting on segment surface of cylinder

In this research, the Froude Krilov theory is given by:


1
C D Aw Vw
2
F= (4.2)
2
where;
23

F = normal force/Froud Krilov force


= water density
CD = drag coefficient of cylinder
Aw = element wetted area
2
Vw = wave velocity

Hence for segment area shows on the Figure 4.2, the normal force acting on the
segment is

1
F= C D (dX dZ ) V 2 (4.3)
2

4.3 Hydrodynamic forces

Ocean surface waves refer generally to the moving succession of irregular


humps and hollows of ocean surface. They are generated primarily by the drag of the
wind on the water surface and hence are the greatest at any offshore site, when storm
conditions exist there. For analyzing the offshore structures, it is customary to
analyze the effects of the surface waves on the structures either by use of a single
design wave chosen to represent the extreme storm conditions in the area of interest
or by using the statistical representation of waves during extreme conditions. In
either case, it is necessary to relate the surface wave data to the water velocity,
acceleration and pressure beneath the waves. A unidirectional wave model is used for
computing the incident wave kinematics. The kinematics of the water particles has
been calculated by Airys wave theory.

Sinusoidal wave have been studied without placing any restriction on the
magnitude of water depth, h, relative to wavelength, and the wave velocity or celerity
has been found to be [13]
24

gLW 2h
VW = tanh (4.4)
2 LW

where VW is the wave velocity or celerity, LW is the wavelength, and h is the water
depth. However, if the water depth is very much less in magnitude than the
wavelength (i.e., h / LW 0 ), then

2h 2h
tanh = kh
LW LW

Substituting this relation in (4.4), we have

VW = gh (4.5)

This means that in shallow water all waves travel with the same velocity
regardless of their wavelengths. When the water depth becomes large in comparison
with the wavelength, that is, when h / LW is very large, then

gLW
VW = (4.6)
2

since tanh x 1 when x . Equation 4.6 shows that, unlike shallow water waves,
deep water waves propagate at speeds depending on their lengths.
Wavelength is measured from crest to crest. If TW is the time required for a particle at
a certain crest to reach the next crest, then

LW = VW TW (4.7)

where

LW = wavelength

VW = wave speed= gLW / 2


25

TW = wave period

or

2LW
TW = (4.8)
g

From the relationship of velocity, length and period of waves, the equation for the
sinusoidal wave can be expressed as

= a cos k ( x VW t )

2 gLW
= a cos(kx t (4.9)
LW 2

= a cos(kx W t )

since the wave frequency, W = 2 / TW

The radius of the orbit of a particle in deep water decreases rapidly with its depth
from the surface. This is expressed analytically as

z
= e kz (4.10)
a

where z = wave amplitude at a depth below surface


a = wave amplitude at the surface
z = mean depth of the particle below the surface
k = wave number = 2 / LW

Therefore,

z
= e [( 2 / L
W )z]
(4.11)
a
26

The expression for wave profile at any depth is therefore given as

= z cos k ( x VW t )

= a e kz cos k ( x VW t )

or by first approximation

= a e kz cos(kx W t ) (4.12)

The water particles on the surface during wave motion are not absolutely still
but possess a velocity of constant magnitude while rotating steadily. When a water
particle is on the wave crest, it moves forward with the wave, whereas a particle
moves backward, in the opposite direction of the wave motion, when it is in the
trough of a wave. The wave particles move vertically downward or upward when the
wave passes through the undisturbed water level.

In the case of deep water sinusoidal waves, which very small amplitude, the
paths of the water particles are circular, but for waves of finite amplitude the water
particle possess forward velocity for a longer period of time than backward velocity.
The velocities of water in the horizontal and vertical directions are given as

In the horizontal direction, u& = k aVW e kz cos k ( x VW t ) (4.13)

In the vertical direction, w& = k aVW e kz sin k ( x VW t ) (4.14)

The drag force, which includes the relative motion between the structure and the
wave, per unit of length is given by Morisons equation [14]

W C D D (U C + u& X& )u& X&


1
FD = (4.15)
2

where;
27

CD = drag coefficient
w = density of water

u& = velocity of the fluid in the horizontal direction as shown in equation (4.13)
X& = velocity of Spar platform
UC = current velocity

4.4 Equation of Motion of Spar Platform

The equation of motion of the Spar platform under regular wave is given below:

[M s + M a ]{X&& }+ [B]{X& }+ [K h + K m ]{X } = {F (t )} (4.16)


where,

{X }- Structural displacement vector


{X& }- Structural velocity vector
{X&&}- Structural acceleration vector
M s - Spar mass or moment of inertia

M a - Added mass or added moment of inertia

K h - Hydrostatic restoring stiffness

K m - Mooring Stiffness

F (t ) - External forces

The mass matrix represents the total mass of the Spar platform including the
mass of the soft tanks, hard tanks, deck, ballast and the entrapped water. The added
mass matrix is obtained by integrating the added mass term of Morisons equation
along the submerged draft of the Spar platform. Mass is taken as constant and it is
assumed that the masses are lumped at the center of gravity. The structural damping
28

matrix is taken to be constant and is dependent on mass and initial stiffness of the
structure. The stiffness matrix consists of two parts: the restoring hydrostatic force
and the stiffness due to mooring lines.

4.5 Newton- Technique Time Step Integration [15]

Solution of the equation of motion by frequency domain and modal


superposition techniques is only applicable to linear systems with harmonic
excitation, whereas the equations of motion for drag dominated structures can have
substantial non-linear character. This non-linear nature can be preserved by solving
the equations of motion through a time step procedure. This also permits the wave
kinematics to be more accurately represented by Stokes fifth order theory for regular
waves at least. The disadvantage of this approach is its complexity and the fact that
output results are available only as time histories. Time domain solutions are also
computationally expensive.

The equation of motion in a matrix form is taken as


M X + B X + KX = F (4.17)

in the usual notation; xi and xi +1 are taken to be the values of vector x at times i and

i + 1 such that t = t i +1 t i .

Newmark- technique assumes that the displacement and velocity at the end
of a time interval can be related to the displacement, velocity and acceleration at the
beginning of the time interval by the equation

1
(t ) X i + X i +1

X i +1 = X i + (4.18)
2
29

and


1
X i +1 = X i + (t ) X i + (t ) X i + (t ) X i +1
2 2
(4.19)
2

The variable does have physical significance, in that = in equation


(4.18 and 4.19) corresponds to a constant acceleration variation from i to i + 1
whereas = 1/6 converts the equation to apply for linearly varying acceleration.

Writing Equation (4.17) for time periods i 1 , i and i + 1 gives


M x i 1 + B x i 1 + Kxi 1 = Fi 1 (4.20)

M x i + B x i + Kxi = Fi (4.21)

M x i +1 + B x i +1 + Kxi +1 = Fi +1 (4.22)

Multiplying Equations (4.20) and (4.22) by (t ) , Equation (4.21) by


2

(1 2 )(t )2 and adding gives


(t )2 M x i +1 + 1 xi xi + 1 xi 1 + 1 xi + 1 x i 1 +

2 2 2 2

(t )2 B 1 x i + 1 x i 1 + x i +1 x i + 1 x i x i 1 +

(4.23)
2 2 2
(t )2 K [xi +1 + (1 2 )xi + xi 1 ] = (t )2 [Fi +1 + (1 2 )Fi + Fi 1 ]

Substituting from Equation (4.19), simplifying and rearranging gives

1
M + 2 (t )C + (t ) K xi +1 = (t ) [Fi +1 + (1 2 )Fi + Fi 1 ] +
2 2

(4.24)
[
] 1
2M (t ) (1 2 )K xi M (t )B + (t ) K xi +1
2

2
2

30

Thus the displacements at time i + 1 can be obtained from the displacement at times
i and i 1 . Displacement x1 at time t can be obtained by a special case of Equation
(4.24) obtained from Equations (4.22), (4.23) and (4.19) as

1 2 1 1 1
M 2 (t )B + (t ) K x1 = (t ) F1 + (t ) 2 I + 4 tBM Fo (4.25)
2 2


with x0 = x 0 = 0 at t = 0 .

The stability conditions are given by the equations

t
= 0.318 for = 0 (4.26)
Tn
t 1
= 0.450 for = (4.27)
Tn 8
t 1
= 0.551 for = (4.28)
Tn 6

Once the condition for stability is met for either method, the accuracy of the
solution must be investigated to ensure that a sufficiently small values of t is used
for accuracy but is yet too small that computation time is prohibitive.

4.6 Coordinate Systems and Transformations

The coordinate system used for the Spar platform is shown in the Figure 4.3
below. [16]
31

3
Y
2

X
y 1

Figure 4.3: Nomenclature for translatory and angular displacements

From Figure 4.3, translational and rotational motions are referred to in terms
of surge (X), sway(Y), heave (Z), roll 1 (X-axis), pitch 2 (Y-axis), and yaw 3 (Z-
axis). Two coordinate systems are presented. The (x,y,z) axis represents a global
coordinate system fixed in space and (X,Y,Z) represents a coordinate system fixed to
a rigid body.

A common problem in floating system design is the translation of motions


from one point on the body to another when the body is translating and rotating
relative to a fixed coordinate system. It is common to use the so-called Euler angles
to define these rotations.

Body coordinates in terms of global coordinates:

r r r
X = [ A].( x xi ) (4.29)

Global coordinates in terms of body coordinates:

r r r
x = [ A] . X + xi
T
(4.30)
32

r
Here [A] is a transformation matrix, and xi is the translation of the origin of
the body coordinate system with respect to the global coordinate system. The
coordinate transformation matrix for this coordinate system is shown in the Table
4.1.

Table 4.1: Coordinate transformation matrix

Coordinate System
A11 C2C3
A12 C2S3
A13 -S2
A21 S1S2C3 - C1S3
A22 S1S2S3 + C1C3
A23 C2S1
A31 C1S2C3 + S1S3
A32 C1S2S3 - S1C3
A33 C2C1

where;

C1 = cos (1)
C2 = cos (2)
C3 = cos (3)
S1 = sin (1)
S2 = sin (2)
S3 = sin (3)
33

4.7 Mass and Added Mass for Spar

The mass matrix represents the total mass of the Spar platform including the
mass of the soft tanks, hard tanks, deck, ballast and the entrapped water. The added
mass matrix is obtained by integrating the added mass term of Morisons equation
along the submerged draft of the Spar platform [15]. Mass is taken as constant and it
is assumed that the masses are lumped at the center of gravity.

The general added mass matrix of a circular cylinder with arbitrary end co-
ordinates can be calculated by assuming that only the components of acceleration
normal to the cylinder axis are significant. Thus, given the cylinder end coordinates,
diameter and applicable normal flow added mass coefficient, a generalized added
mass matrix for the cylinder can be readily evaluated.

Consider an arbitrary cylinder, FG, in a system of Cartesian coordinates, as


shown in Figure 4.4. The point F has coordinates (x1 , y1 , z1 ) and G has
coordinates (x 2 , y 2 , z 2 ) . The cylinder has a diameter d with an added mass
coefficient of C m for flow normal to the cylinder axis. Thus the cylinder length and
direction cosines are given by

L= (x 2 x1 )2 + ( y 2 y1 )2 + (z 2 z1 )2 (4.31)

x 2 x1 y y1 z z1
cos = , cos = 2 , cos = 2 (4.32)
L L L
34

Figure 4.4: Definition diagram for added mass of a circular cylinder

Now a unit acceleration parallel to the x axis will yield acceleration


components parallel and perpendicular to the cylinder axis. Only the acceleration
component perpendicular to the cylinder axis will have a significant added mass
force. The component of this normal flow added mass force in the three coordinate
directions and the moments of this force about Ox, Oy, and Oz make up the first (left
hand) column of the added mass matrix. Note that added mass equals added mass
force for unit acceleration.

Thus for unit acceleration parallel to Ox , the component perpendicular to the


cylinder axis is sin and the resultant added mass force in this direction is
k1 sin where k1 = Cmd 2 L / 4 . Then the component force k1 sin in the x direction

is k1 sin 2 and the component of k1 sin the y direction is

(k1 sin )cos = k1 sin ( cot cos ) = k1 cos cos (4.33)


35

and in the z direction is

(k1 sin )cos = k1 sin ( cot cos ) = k1 cos cos (4.34)

The angles and are defined in Figure 4.4 and are related to angles and
through the equations

OF = h cot
DF = CE = h cot cos
cos = cot cos
cos = cot cos

Thus the added masses due to linear accelerations parallel to the x, y and z axes are

k1 sin 2 k1 cos cos k1 cos cos



mij = k1 cos cos k1 sin 2 k1 cos cos (4.35)
k1 cos cos k1 cos cos k1 sin 2

The matrix components mij for i = 4 to 6 and j = 1 to 3 consist of added mass

force induced moments about Ox, Oy, Oz due to linear accelerations along the x, y
and z axes. These moments are computed by integrating the moments due to added
mass forces along the cylinder length. Note that the above matrix (Equation (4.35)) is
symmetric.

Unit acceleration parallel to Ox results in forces

m11dl m21dl m31dl


, ,
L L L

in the x, y and z axes directions, respectively, on a cylinder element of length dl. The
total moment of the forces about the x axis is
36

m31 L m L
m41 =
L 0
y dl 21 z dl
L 0
But
1 L y + y2
L 0
y dl = 1
2
= ym

and
1 L z +z

L 0
z dl = 1 2 = zm
2
(4.36)

for
y y1
y = y1 + 2 l
L
and
z z
z = z1 + 2 1 l
L

Thus
m41 = m31 ym m21 zm
m51 = m11 zm m31 xm
m61 = m21 xm m11 ym
m42 = m32 ym m22 zm
m52 = m12 zm m32 xm (4.37)
m62 = m22 xm m12 ym
m43 = m33 ym m32 zm
m53 = m31 zm m33 xm
m63 = m32 xm m31 ym

Now mij for i = 1 to 6 and j = 4 to 6 are added mass matrix terms due to angular

accelerations about the Ox, Oy, and Oz axes. In the same way as before, for unit
angular accelerations about Ox , the linear accelerations of element P with
coordinates (x, y, x ) are 0, z and + y along the Ox, Oy, and Oz axes respectively.

Then the added mass force components on an element of length dl due to


acceleration of z are

m12 zdl / L,m22 zdl / L,m32 zdl / L


37

parallel to the Ox, Oy, and Oz directions, and the force components due to
acceleration y are

m32 ydl / L, m23 ydl / L, m33 ydl / L

The integrated sum of these forces along the Ox, Oy, and Oz axis will give terms
m14 , m24 , m34 which are identical to the m41 , terms given by Equations (4.37) above
thus confirming the matrix symmetry.

Also the summed moment of these forces about the x axis gives
L m22 z 2 L m yz L m32 zy Lm y
2
m44 = dl 23
dl + dl + 33
dl
0 L 0 L 0 L 0 L
z2 L yz L y
2
= m22
L
dl 2 dl + m33 dl
0 L 0 L 0 L

Now

1 L 2
L 0
1
(
y dl = yn = y12 + y1 y2 + y22
3
)
1
L 0
L 1
(
z 2 dl = zn = z12 + z1 z2 + z22
3
) (4.38)

1 1
yz dl = ( yz )n = (2 y1 z1 + 2 y2 z2 + y1 z2 + z1 y2 )
L

L 0 6

using the function of y and z given in Equation (4.36). Then

m44 = m22 zn 2m23 ( yz ) n + m33 yn (4.39)

Taking moments about the Oy and Oz axes also yields

m54 = m 21 z n m 23 ( xy ) n + m31 ( yz ) n + m32 ( zx ) n


(4.40)
m 64 = m31 y n + m32 ( xy ) n + m 21 ( yz ) n m 22 ( zx ) n

where
38

(xy )n = 1 (2 x1 y1 + 2 x2 y2 + x1 y2 + x2 y1 )
6
(4.41)
(zx )n = 1 (2 z1 x1 + 2 z2 x2 + z1 x2 + z2 x1 )
6

Repeating the process of imposing unit angular accelerations about


the Oy and Oz axes yields the remaining results of

m55 = m33 xn 2m31 ( zx) n + m11 zn


m66 = m11 yn 2m21 ( xy ) n + m22 xn (4.42)
m65 = m32 xn m11 ( yz ) n + m21 ( zx) n + m31 ( xy ) n

where

1
xn = ( x12 + x1 x2 + x22 ) (4.43)
3

with the remaining terms known from matrix symmetry.

A simplified form of the added mass matrix can be obtained for a non-
elongated body. The derivation given below applies for an arbitrary non-elongated
body that has different added mass forces for acceleration components parallel to the
three reference axes directions. For a non-elongated body in a reference system Oxyz ,

the first three diagonal terms of added mass matrix can be written as

m11 = Cm1V
m22 = Cm 2V (4.44)
m33 = Cm 3V

where is fluid density, V is the body volume Cm1 , Cm 2 and Cm 3 are added mass

coefficients for body accelerations parallel to the Ox, Oy, and Oz axes respectively.
For a spherical body of radius a, however,
39

4 3
V = a and Cm1 = Cm 2 = Cm 3 = 0.5
3

The remaining terms of the added mass matrix are obtained by calculating the
acceleration reaction forces due to unit linear and angular acceleration along the
reference axes. For a body with centre of volume (x1 , y1 , z1 ) , this yields

m12 = m13 = m23 = 0


m14 = m25 = m36 = 0
m15 = m11 z1
m16 = m11 y1
m24 = m22 z1
m26 = m22 x1
m34 = m33 y1
(4.45)
m35 = m33 x1
m44 = m22 z12 + m33 y12
m55 = m33 x12 + m11 z12
m66 = m11 y12 + m22 x12
m45 = m33 x1 y1
m46 = m22 x1 z1
m56 = m11 y1 z1

4.8 Damping Matrix for the Spar

The fluid damping matrix, B, for the structure is evaluated in a similar


manner to the added mass matrix. The derivation of the generalized damping matrix
for an arbitrarily oriented circular cylinder depends on the assumption that only drag
forces normal to the cylinder axis are significant [15]. Unlike the added mass matrix,
the non-linear velocity square proportionality generates an asymmetric damping
matrix. Only the results of the damping matrix for circular cylinders and non-
elongated members are presented here for shortness.
40

The damping matrix relates the velocity square dependent drag force on an
immersed circular cylinder to the fluid structure relative velocity vector. An equation
of the form


Fi = bij x j x j (4.46)


describe the relation. The column vector x j of surge, sway and heave velocity and
angular velocities about these axes appear as individual vector element square terms.
The modulus sign exists to ensure that negative velocity corresponds to a negative
drag force. The notation is identical to that used before, with bij being the (6 x 6)

damping coefficient matrix. The velocity squared non-linearity generates a non-


symmetric matrix where all 36 elements need to be evaluated.

For a circular cylinder at an arbitrary orientation, taking an effective drag


coefficient of CD for flow normal to the cylinder axis, a constant k3 given by

1
k3 = CD Ld (4.47)
2

and other notation as above; it can be shown that


41

b11 = k3 sin 3
b21 = k3 cos cos sin
b31 = k3 cos cos sin
b12 = k3 cos cos sin
b22 = k3 sin 3
b32 = k3 cos cos sin
b13 = k3 cos cos sin
b23 = k3 cos cos sin
b33 = k3 sin 3
b41 = b31 ym b21 zm
b51 = b11 zm b31 xm
b61 = b21 xm b11 ym
b42 = b32 ym b22 zm
b52 = b12 zm b32 xm
b62 = b22 xm b12 ym
b43 = b33 ym b23 zm (4.48)
b53 = b13 zm b33 xm
b63 = b23 xm b13 ym

A set of further expressions have to be defined for the remaining terms. Now

(
x p = sgn ( xm ) x12 + x1 x2 + x22 / 3 ) for x1 x2 0
and (4.49)

xp =
(
sgn( x2 ) x13 + x23 ) for x1 x2 < 0
3( x2 x1 )

where sgn ( x2 ) is a function which returns the sign of x2 multiplied by 1. Similarly,

(
y p = sgn ( ym ) y12 + y1 y2 + y22 / 3 ) for y1 y2 0
sgn ( y )( y + y22
3
)
yp = 2 1
for x1 x2 < 0
3( y2 y1 )
and (4.50)
(
z p = sgn ( zm ) z + z1 z2 + z / 3 for
2
1
2
2 ) x1 x2 0
sgn ( z )(z + z22
3
)
zp = 2 1
for z1 z2 < 0
3( z2 z1 )
42

The numerical problems associated with ( x2 x1 ), ( y2 y1 ), or ( z2 z1 ) being equal to


zero are eliminated by adding an offset to one coordinate if a zero is detected. Also,

(
I x = sgn ( xm ) x13 + x12 x2 + x1 x22 + x23 / 4 ) for x1 x2 0

Ix = sgn ( x )
(x 3
1 + x12 x2 + x1 x22 +x )3
2
+
x14
for x1 x2 < 0
2( x2 x1 )
2
4
(
I y = sgn y13 + y12 y2 + y1 y22 + y23 / 4 ) for y1 y2 0

I y = sgn ( y2 )
(y 3
1 + y12 y2 + y1 y22 + y23
+
y14 ) for y1 y2 < 0
(4.51)
4 2( y2 y1 )
(
I z = sgn ( zm ) z13 + z12 z2 + z1 z22 + z23 / 4 ) for z1 z2 0

Iz = sgn ( z )
(z 3
1 + z12 z2 + z1 z22 +z )
+
3
2 z14
for z1 z2 < 0
2( z2 z1 )
2
4

The description of a number of other terms is simplified if variables q and r can each
denote either x, y or z. Thus, the expression

I qr r =
1
12
[ ( )
q 2 r12 + 2r1r2 + 3r22 + q1 3r12 + 2r1r2 + r22 ( )] if r1r2 0

and

I qr r =
1
12
( )
q 2 r12 + 2r1r2 + 3r22 + q1 3r12 + 2r1r2 + r22( ) (4.52)

r 3 (4q1r2 3q1r1 q 2r1 )


+ 1 if r1r2 < 0
6(r2 r1 )
2

can be used to create values for terms such as


I zx x if z1 = q1 , z2 = q2 , x1 = r1 and x2 = r2 .

Then, the remaining coefficients in the matrix are


43

b14 = b12 z n + b14 yn


b24 = b22 zn + b23 yn
b34 = b32 z n + b33 yn
b44 = b33 I y b32 I yz z b23 I yz y + b22 I z
b54 = b13 I yz y b12 I z b33 I xy y + b32 I zx z
b64 = b23 I xy y b22 I zx z b13 I y + b12 I yz z
b15 = b11 zn b13 xn
b25 = b21 zn b23 xn
b35 = b31 zn b33 xn
b45 = b31I zy z b33 I xy x b21I z + b23 I zx x
b55 = b11I z b13 I zx x b31I zx z + b33 I x
b65 = b21I zx z b23 I x b11I yz z + b13 I xy x
b16 = b12 xn b11 yn
b26 = b22 xn b21 yn
b36 = b32 xn b31 yn
b46 = b32 I xy x b31I y b22 I zx x + b21I yz y (4.53)
b56 = b12 I zx x b11I yz y b32 I x + b31I xy y
b66 = b22 I x b21I xy y b12 I xy x + b11I y

The corresponding matrices for the rectangular cylinder and non-elongated


body are evaluated as special cases of the circular cylinder. Results are presented
here for a non-elongated body with faces parallel to the Oxy, Oxz, Oyz planes. Taking
the coordinates (x1 , y1 , z1 ) as the centre of volume of the body; and p, q and r as
equivalent rectangular body, dimensions in the x, y and z directions gives
44

1
b11 = Cdx qr
2
1
b22 = Cdy pr
2
1
b33 = Cdz pr
2
b21 = b31 = b12 = b32 = b13 = b23 = 0
b51 = b11 z1
b61 = b11 y1
b42 = b22 z1
b62 = b22 x1
b43 = b33 y1
b53 = b33 x1
b41 = b52 = b63 = 0
b24 = b22 z z1
b34 = b33 y1 y1
3 3 3
b44 = b33 y1 + b22 z1 + b22 z1
b54 = b33 x1 y1 y1
b64 = b22 x1 z1 z1
b15 = b11 z1 z1
b35 = b33 x1 x1
b45 = b33 yx x
3 3
b55 = b11 z1 + b33 x1
b65 = b11 y1 z1 z1
b16 = b11 y1
b26 = b22 x1
b46 = b22 z1 y1 x1
b56 = b11 z1 y1 y1
3 3
b66 = b11 y1 + b22 x1
(4.54)
b14 = b25 = b36 = 0
45

4.9 Stiffness Forces on Spar

The stiffness matrix consists of two parts: the restoring hydrostatic force and
the stiffness due to mooring lines. The coefficients, Kij of the stiffness matrix of Spar
platform are derived as the force in degree-of-freedom i due to unit displacement in
the degree-of-freedom j, keeping all other degrees-of-freedom restrained. The
coefficients of the stiffness matrix have nonlinear terms. Further, the mooring line
tension change due to the motion of the Spar platform in different degrees-of-
freedom which makes the stiffness matrix response dependent.

Hydrostatic stiffness matrix K hy , will only arises in the heave, roll and pitch

degrees of freedom due to buoyancy forces in the water plane cutting members of the
hull. The hydrostatic stiffness is calculated based on the initial configuration of the
Spar platform and is given by

0 0 0 0 0 0
0 0 0 0 0 0

0 0
[K hydrostatic ] =
0 K 33hy 0 0
(4.55)
0 0 0 K 44hy 0 0
0 0 0 0 K 55hy 0

0 0 0 0 0 0

where,


K 33hy = wD2 (4.56)
4

K 44hy = K 33hy Td h1 wD4 (4.57)
64

K 55hy = K 33hy Td h1 wD4 (4.58)
64
h1 = S cb S cg (4.59)

D - is the diameter of the Spar platform


46

S cb - is the distance from the keel of the Spar platform to its center of buoyancy

S cg - is the distance from the keel of the Spar platform to its center of gravity

Td - is the draft of the Spar platform

w - is the weight density of water, 1025kg/m3

4.10 Mooring Stiffness

The resultant stiffness matrix is evaluated assuming that the surface platform
moves through small displacements relative to the cable lengths involve. Each cable
has a constant tension,T , an elastic stiffness, K, and is strung between
coordinates (x1 , y1 , z1 ) on the seabed and (x2 , y2 , z2 ) at the surface platform; both
relative to the platforms principal axes system, Oxyz .

The direction cosines are defined as follows:

x2 x1 y y1 z z
cos = , cos = 2 , cos = 2 1 (4.60)
L L L

where L is the cable length given by

L= (x2 x1 )2 + ( y2 y1 )2 + (z2 z1 )2

To evaluate the cable stiffness matrix, consider that the surface platform translates in
the positive x direction through a small distance, x

Let a = x2 x1 , b = y2 y1 , c = z2 z1 ; then to first order the new cable length


becomes
a
L + L = L + x (4.61)
L
47

Then the additional tension T in the cable due to extension L is

ke ( x2 x1 )
T = keL = x (4.62)
L

The resulting restoring force component along the x axis can be written as
T x = (T + T )cos 1 T cos , where T is the cable tension and 1 is given
by

x2 + x x1
cos 1 = (4.63)
L + L

Therefore

x
1+
x x x2 x1 T (x2 x1 )
Tx = (T + T ) 2 1
L 1 + L L
L (4.64)

x L T
= T cos +
x2 x1 L T

to first order. Since L = cos x

T Lx k (x x )
Tx = cos cos x + e 2 1 x
L x2 x1 T
(4.65)
T
= ke cos 2 + sin 2 x
L

In the limit as x 0

Tx Tx T
= = k11 = ke cos 2 + sin 2 (4.66)
x x L
48

which is the first term in the (6 x 6) stiffness matrix for Km. The remaining terms
corresponding to the restoring forces due to translations can be derived in a similar
fashion in terms of kij where i,j are row and column numbers respectively. These are

given by:

k21 = (ke + T / L )cos cos = k12


k31 = (ke + T / L )cos cos = k13
k22 = ke cos 2 + (T / L )sin 2 (4.67)
k32 = (ke + T / L )cos cos = k 23
k33 = ke cos 2 + (T / L )sin 2

The remaining 27 terms corresponding to restoring moments due to


translations, restoring forces due to rotations and restoring moments due to rotations
can all be expressed in terms of the first nine terms. These are given below for one-
half of the matrix below and including the leading diagonal:

k 41 = k31 y2 k21 z2
k51 = k11 z2 k31 x2
k61 = k21 x2 k11 y2
k 42 = k33 y2 k22 z2
k52 = k21 z2 k32 x2
k62 = k22 x2 k21 y2
k 43 = k33 y2 k32 z2
k53 = k31 z2 k33 x2
k63 = k32 x2 k31 y2
k 44 = k33 y22 2k32 y2 z2 + k22 z22
k54 = k31 y2 z2 k21 z22 k33 y2 x2 + k32 x2 z2
k64 = k32 x2 y2 k 22 x2 z2 k31 y22 + k 21 y2 z2
k55 = k11 z22 2k31 x2 z2 + k33 x22
k65 = k21 x2 z2 k32 x22 k11 y2 z2 + k31 x2 y2
(4.68)
k66 = k22 x22 2k 21 x2 y2 + k11 y22

The cable stiffness matrix is computed for each cable in a mooring system and
summed to yield a total mooring stiffness matrix, Km.
49

4.11 Mooring Cables Calculation

The analysis of cables, or mooring lines that maintain surface and subsurface
platform on station, is the study of the loads exerted on the lines by gravitational and
time-invariant current fields and of their resulting effects. This study allows one to
predict the geometry of the line between the Spar and its anchoring point and the
distribution of stresses from top to bottom.

Gravity forces, cable drag and line tension is the forces to consider for the
study of mooring lines immersed in steady-state currents. If only small currents are
present the mooring line of a surface platform hangs almost vertically, the tension at
any point being nearly equal to the immersed weight of the line below that point.
When strong currents prevail, however, considerable drag forces are exerted on the
platform and the mooring line assumes a new equilibrium configuration. Line tension
drastically increases and strong anchoring becomes necessary.

4.11.1 Two-Dimensional Problem

The study of mooring cable will first address the two-dimensional cases
where the line and the current can be assumed to be coplanar. Forces that need to be
considered are:

a) Cable Immersed Weight (P)

The immersed weight or the resultant gravity force per unit of cable length is
usually defined as

P = Bc Wc (4.69)
50

where

Bc - is cable buoyancy per foot that is the weight of the water displaced by one foot
of cable.
Wc - is air weight of one foot of cable.

If P is positive the cable is said to be buoyant. And if negative the cable is


said to be negatively buoyant. For example, polypropylene rope is buoyant cable and
wire rope consider as negatively buoyant cable.

b) Cable Drag

The hydrodynamic resistance due to current passing a cable element of


diameter, d , and length ds , when normal to the flow as shown in the Figure 4.5 is
given by

Rds = 1 C DN dV 2 ds (4.70)
2

where

C DN - Normal drag coefficient


V Current speed
51

Figure 4.5: Forces on cable element

If the cable element is at an angle from the current horizontal direction,


then its resistance can be considered to be made of two components: one normal and
one tangential to the cable

The normal component is given by

Dds = 1 C DN d V 2 sin 2 ds = R sin 2 ds (4.71)


2

and tangential component given by

Fds = 1 C DN (d ) V 2 cos 2 ds = R cos 2 ds (4.72)


2

where

C DT = C DN , the tangential drag coefficient

(d )ds = the skin or longitudinal area of the cable element


52

Normal and tangential drag coefficient vary with Reynolds numbers and
types of cable. For a smooth cable and below the critical Reynolds number, CDN
values are between 0.9 and 1.2. This value increases with cable roughness to 1.4.
Finally, if strumming induced by vortex shedding is present, a value as high as 1.8
may be appropriate.

4.11.2 Segmentation and Nomenclature

The computer solution uses a finite elements method which extrapolates the
conditions of equilibrium obtained for cable elements of infinitesimal length to cable
segments of finite lengths. To this end the mooring line is first divided in a number
of straights segments, the larger the number the better the model. Discrete packages
are also considered as segments, inserted at their proper place. Physical and
mechanical properties needed for sub-segment calculations are then assigned to the N
segments representing the entire mooring. Surface or subsurface buoy characteristics
are also compiled. This nomenclature process is the first programming operation.
When completed, the computer knows the name, diameter, immersed weight, drag
coefficient, elastic constants, etc. of each individual segment. A description of the
current profile a list of current values at a number of depths is often used and the
depth of the bottom is also part of the required input.

4.11.3 Computation Process

For both surface and subsurface platform systems the process starts at the
platform end. To initiate the computation the resultant of the forces applied to the
Spar must first be calculated [17]. In the case of the surface mooring, the draft of the
53

Spar is not known. It depends on how hard the mooring line pulls, which is precisely
what we want to establish. In the case of the subsurface mooring, the depth of the
Spar is not known either. Thus, assumptions must be made to start the computation
process.

To this end, for the surface Spar case, the Spar draft is arbitrarily set. Given
the hull geometry, the draft, and the current at the surface, the buoyancy of and the
drag on the buoy can be calculated.

It is the depth that is arbitrarily set in the subsurface buoy case. Given the
depth, the current at that depth is fixed and again the drag on the buoy can be
calculated. Thus, if BB and DB respectively, denote the initial, guessed values of
the buoyancy and drag forces and WB is the weight of either type of buoys, the
boundary conditions applied at the upper end of the mooring line are

RX (0) = DB (4.73)
RZ (0) = BB - WB (4.74)

Figure 4.6: Forces applied to first mooring segment (two dimensional model)
54

Consider next segment of the line immediately below the buoy (Figure 4.6).
For equilibrium to prevail the tension, T(1), in this segment must be

T (1) = [Rx (0) 2+Rz (0) 2]1/2 (4.75)

Knowing that this segment is in line with the tension vector at its upper end, its
inclination is given by

(1) = tan-1 [(Rz (0)/Rx (0)] (4.76)

Under the action of the pull T(1) the segment stretches to a length S(1)

S(1) = L(1) + L(1) (4.77)

Where L(1) = segment original length


L(1) = elongation resulting from the applied tension

The x and z coordinates of the segment lower end can now be computed using

Coordinate X(1) = S(1)cos(1) (4.78)

Coordinate Z(1) = S(1)sin(1) (4.79)

The external forces acting on our first segment are its immersed weight W(1),
and the normal and tangential components of the flow-induced resistance. To this
end the value of the current at mid-segment depth (i.e., at Z(1)) is found from the
current subroutine and D(1) and F(1) are evaluated using equation 4.71 and 4.72.

Next, the horizontal and vertical vector sums Fx(1) and Fz(1) of these external forces
are computed using

Fx(1) = D(1)sin(1) + F(1)cos(1) (4.80)


Fz(1) = F(1) sin (1) W(1) - D(1) cos(1) (4.81)
55

These sums represent the changes in the boundary conditions occurring over
the length of the first segment. The resultant force applied at the beginning of the
next, or second, segment will therefore have components:

Rx(1) = Rx(0) + Fx(1) (4.82)


Rz(1) = Rz(0) + Fz(1) (4.83)

The tension at the segment upper end and its inclination will be given by

T (2) = [Rx (1) 2+Rz (1) 2]1/2 (4.84)

and,

(2) = tan-1 [(Rz (1)/Rx (1)] (4.85)

These values are used to calculate the stretched length and the coordinates of
the segment end point. These in turn are used to evaluate the external forces applied
to the segment and their horizontal and vertical projections, following the procedure
just described.

The recurrence formulas for carrying out the computation process for the
resultant forces applied at the end of any segment n, the tension, the orientation
angles, the stretched length and the segment coordinates can now be formulated as:

Rx(n) = Rx(n-1) + Fx(n) (4.86)

Rz(n) = Rz(n-1) + Fz(n) (4.87)

T(n) = [Rx(n)2+Rz(n)2]1/2 (4.88)

(n) = tan-1 [(Rz(n-1)/Rx(n-1)] (4.89)

S(n) = L(n) + L(n) (4.90)


56

Coordinate X(n) = X(n-1) + S(n)cos(n) (4.91)

Coordinate Z(n) = Z(n-1) + S(n) sin(n) (4.92)

4.12 Dynamics of Mooring Lines

Assumptions

In the derivation of the general equation of motion for an element of an


elastic cable subjected to both gravity and three-dimensional hydrodynamic forces,
the following assumptions are made [10]:

a) No restriction is imposed on the nature of the three-dimensional velocity field



U acting on the cable
b) The mooring line is perfectly flexible, that is, the tension is always in the
direction of a vector tangent to the cable
c) The elastic behaviour of the line material is characterized by known equation
of state

4.12.1 Forces to Consider

Consider a strained cable element of length ds ' located at point P' . The
forces that one could consider to derive the equation of motion of the cable element
are shown in Figure 4.7. Their expressions are as follows:
57

a) Weight


The force due to gravity, W , is given by

W = gm' ds ' k (4.93)
where g is the gravity acceleration and m' the line mass per unit of length in the
s ' space

Figure 4.7: Forces to derive Equation of motion of cable element

b) Buoyancy


The buoyancy force, B , is given by


B = + g w Ads' k (4.94)
58

Where A is the reduced area of the cable cross section at the point P and is a
function of the tension, T, at that location, that is A = A(T ) , and w is the water mass
density.

c) Normal Drag


The normal drag, D , is given by

1
w C DN d U N V N U N V N ds'

D= (4.95)
2


Where U N is the component of the fluid velocity field normal to the cable, that is



U N = U U u u (4.96)


u being a unit vector tangent to the cable at point P. V N is the component of the
cable element velocity normal to the cable element, that is,



V N = V V u u (4.97)

C DN is the cable coefficient of normal drag, which could, if so required, account for
strumming effects; d is the cable effective diameter at point P and is a function of
the tension, T, at that point, that is,

d = d (T )
59

d) Tangential Drag


The tangential drag, F , is given by

1
w C DT d U T V T U T VT ds'

F= (4.98)
2


Where U T is the component of the fluid velocity field tangential to the cable, that is,



U T = U u u (4.99)


VT is the component of the cable element velocity tangential to the cable element,
that is,



VT = V u u (4.100)

C DT is the cable coefficient of tangential drag.

e) Inertial Force


The inertial force, I , due to the water added mass effect, can generally be expressed
by




U V
I = m' a ds ' (4.101)
t t

Where, m' a is the added mass per unit of length in the space s and is given by
60

s
m' a = m a = w AC m (4.102)
s '

With m' a the added mass per unit of length in the s space, and C m the added mass

coefficient of the cable. U t is the acceleration of the velocity field that would
occur under unsteady flow conditions. For example, one could consider a wave

velocity field superimposed to a steady-state current. V t is the acceleration of the
cable element.

f) Tension


The tension force at one end of the cable element is T ( s ' ) whereas at the other end

the tension is T (s '+ ds ') .

4.12.2 Equation of Motion


Applying Newtons law i F i = m a to the cable element of mass mds yields


V 1
1

m' = gds' (m'w A) k + wCDN d ds' Un Vn Un Vn + wCDTd ds' UT VT UT VT +
t 2 2



U V
m'a ds' + T (s'+ds') T (s')
t t

CHAPTER 5

PROGRAMME DEVELOPMENT

5.1 Introduction

The programming language was written and developed by the author of this
thesis by using the MATLAB-Functions (M-File) programming sheet. This
programmed is used to facilitate the calculation processes which are normally
involved in repeating computation and iteration before meet the convergence point.
This chapter will present and briefly discuss about the MATLAB-Functions (M-File)
as an alternative of programming software.

5.2 Introduction to MATLAB Software

MATLAB stands for matrix laboratory is a high-performance language for


technical computing [18]. It integrates computation, visualization, and programming
in an easy-to-use environment where problems and solutions are expressed in
familiar mathematical notation. Typical uses include:
62

i. Math and computation


ii. Algorithm development
iii. Modeling, simulation, and prototyping
iv. Data analysis, exploration, and visualization
v. Scientific and engineering graphics
vi. Application development, including graphical user interface building

MATLAB is an interactive system whose basic data element is an array that


does not require dimensioning. This allows us to solve many technical computing
problems, especially those with matrix and vector formulations, in a fraction of the
time it would take to write a program in a scalar non-interactive language such as C
or FORTRAN. In university environments, it is the standard instructional tool for
introductory and advanced courses in mathematics, engineering, and science. In
industry, MATLAB is the tool of choice for high-productivity research,
development, and analysis.

5.3 Programming with MATLAB

Programming in MATLAB is done by creating the source code in the M-File


worksheet. M-Files permit a more general use of functions. In this mooring
programming calculation, several flow controls has been used. In MATLAB the flow
control constructs normally used are:

i. if statements
ii. switch statements
iii. for loops
iv. while loops
v. continue statements
vi. break statements
63

The if statement evaluates a logical expression and executes a group of


statements when the expression is true. The optional elseif and else keywords
provide for the execution of alternate groups of statements. An end keyword, which
matches the if, terminates the last group of statements. The switch statement
executes groups of statements based on the value of a variable or expression. The
keywords case and otherwise delineate the groups. Only the first matching case is
executed. There must always be an end to match the switch.

The for loop repeats a group of statements a fixed, predetermined number


of times. A matching end delineates the statements. The while loop repeats a
group of statements an indefinite number of times under control of a logical
condition. A matching end delineates the statements. The continue statement
passes control to the next iteration of the for or while loop in which it appears,
skipping any remaining statements in the body of the loop. In nested loops, continue
passes control to the next iteration of the for or while loop enclosing it. The
break statement allow exit early from a for or while loop. In nested loops,
break exits from the innermost loop only.

5.4 Matrices in M-File

In this mooring programming, a lot of matrices need to be used such as in


calculating the added mass matrix, damping matrix and stiffness matrix. Creating
matrices using M-Files which are text files containing MATLAB code. The example
MATLAB command to represent added mass matrix is shown below.

A = [m11 m12 m13 m14 m15 m16


m21 m22 m23 m24 m25 m26
m31 m32 m33 m34 m35 m36
m41 m42 m43 m44 m45 m46
m51 m52 m53 m54 m55 m56
m61 m62 m63 m64 m65 m66],
64

5.5 Programming Flow Charts

Before developing any programming language, the flow charts need to be


made in order to facilitate the programming process.

5.5.1 Flow Chart for Main Program

The main program consist of the overall calculation from determining the
resultant forces acting on the Spar till obtaining the mooring line profile which are
attach to the Spar platform. Figure 5.1 shows the flow chart for the main program of
this mooring programming.
65

Figure 5.1: Main program flow chart


66

5.5.2 Flow Chart to Calculate Total Mass

Figure 5.2: Total mass calculation flow chart


67

5.5.3 Flow Chart to Calculate Damping

Figure 5.3: Damping calculation flow chart


68

5.5.4 Flow Chart to Calculate Resultant Stiffness

Figure 5.4: Resultant stiffness calculation flow chart


69

5.5.5 Flow Chart for Static Mooring Program

Start

Read
input data

Element elongation

Element wetted area

NO Current and Wave


Element drag Velocity

If Z equal to Summation of force Element Weight


water depth

YES Cable equation

N=1
Step = 1
Stop = 1000
Print result and
plotting

Figure 5.5: Static mooring program flow chart


70

5.5.6 Flow Chart for Dynamic Mooring Program

Start

Read
input data

Element elongation

Element wetted area

NO Current and Wave


Element drag Velocity

If Z equal to Summation of force Element Weight


water depth

Equation of motion
YES

Integral of equation of motion

Integral of equation of motion

Print result and Cable equation


plotting

N=1
Step = 1
Stop = 1000

Figure 5.6: Dynamic mooring program flow chart


71

5.6 Programming Process

The basic fundamental to carry out the programming and computation


process is the same as the calculation process stated in Chapter 4 of this report.
Subsection (i) to (viii) below shows step by step how the overall calculation and
programming of this study is carried out.

i. Cylinder segmentation and offset (Appendix A1, A2 and A3)


ii. Coordinate transformation (Appendix B)
iii. Forces and moment calculation on Spar (Appendix C1 and C2)
iv. Mass and added mass calculation (Appendix D)
v. Mooring and Spar stiffness calculation (Appendix E1 and E2)
vi. Damping coefficient (Appendix F)
vii. Main program (Appendix G)
viii. Couple mooring line program (Appendix H)

5.7 Overall Programming Description

The main objective in this research is to determining the suspended length of


mooring line required for Spar oil platform and the behavior of the Spar when
experiencing the external forces from current and wave forces. The programming
started to calculate the forces and moment acting on the Spar. A resultant force from
vertical and horizontal forces is then calculated. Initial tension on mooring line then
can be calculated in the equilibrium condition. This initial tension is determined as
maximum forces acting immediately below the Spar platform. Then the program will
calculate the element elongation, element wetted area and calculate the current force.
The current force will vary according to the water depth, means that the maximum
current will be on the surface of water and the value will reduce accordingly to water
depth. Element of drag and summation of force in normal and tangential direction
72

then can be calculated. The resultant force in vertical and horizontal direction at the
end of first segment will determine the angle and tension in mooring line for next
segment. This process will continue until the vertical coordinate of the element (Z)
equal with water depth than the program will terminate and plot the catenary
mooring graph and also complete with six degree of freedom motion surge, sway,
heave, roll, pitch and yaw.
CHAPTER 6

RESULT AND DISCUSSION

6.1 Introduction

This section will discuss on the result generated from the computer
programming which has been developed using MATLAB in the M-File
programming worksheet. In order to run this program, the initial value and all
parameters required need to be determined. Spar platform and mooring cable
characteristic is first need to be clarified. Then other environmental condition such as
water depth, wave forces and current speed are also act as important parameters
before any engineering analysis can be carried out. These parameters will be
mentioned in the next section in this Chapter.

6.2 Spar Platform Characteristic

The Spar platform can be translated as a rigid cylinder with six degrees-of-
freedom which consists of three linear motions Surge, Sway and Heave along X, Y
74

and Z axis and three rotational motion Roll, Pitch and Yaw about X, Y and Z axis at
its center of gravity, CG. The stability and stiffness is provided by a number of
mooring lines attached near the center of gravity for low dynamic positioning of the
Spar platforms. When the platform deflects the movement will take place in a plane
of symmetry of the mooring system, the resultant horizontal force will also occur in
this plane and the behavior will be 2-dimensional. It is the force and displacement
(excursion) at this attachment point that is of fundamental importance for the overall
analysis of the platforms.

It is assumed that the Spar platform is connected to the sea floor by four multi
component catenary mooring lines placed perpendicular to each other, which are
attached to the Spar platform at the fairleads. But to simplify the analysis, only single
catenary line is analyzed. The development of Spar platform model for dynamic
analysis involves the formulation of a nonlinear stiffness matrix considering mooring
line tension fluctuations due to variable buoyancy and other nonlinearities. Table 6.1
shows characteristic of the Spar platform and wave data using in this analysis.
75

Table 6.1: Spar dimension and wave data

SPAR DIMENSION AND WAVE


NO VALUE UNITS
DATA
1 Weight of Spar, WB = 2600000000.0000 N
2 Height of Spar, H = 216.4000 m
3 Working Draft, Td = 198.0000 m
4 Diameter of Spar, Ds = 40.5200 m
5 Area of the element, A = Ds2/4 1289.6892 m2
6 Distance of CG to buoyancy = 6.6700 m
7 Distance of CG from keel = 92.4000 m
8 Distance of CG to fairleads = 0.2000 m
9 Structural damping ratio = 0.1,0.05 and 0.03 dimensionless
10 Gravity acceleration = 9.8100 m/s2
11 Wave period, Tw = 12.5000 s
12 Wave height = 7.0000 m
13 Sea water density = 1025.0000 (kg/m3)

6.3 Mooring Line Properties

Table 6.2 shows the mooring line data used in this research. Type of mooring
line used is the wire rope. Other type of mooring line that normally used for moored
platform is chain and neutrally buoyant cable such as polyester cable. Water depth
value is 914.4 meters from the seabed.
76

Table 6.2: Mooring cable data

NO MOORING LINE DATA VALUE UNITS


1 Effective area of the mooring line = 0.0032 m2
2 Diameter of Cable, Dc = 0.0640 m
3 Weight of the mooring line, Wm = 30.0000 kg/m
4 Length of anchor line = 800.0000 m
5 Mean sea level = 914.4000 m
6 Height of fairlead point, Hf from seabed= 809.0000 m
7 Young modulus of the mooring line, E = 210000000000.0000 N/m2
8 Segment length, L(n) = 1.0000 (m)

6.4 Segmentation of Side and Bottom Cylinder

Prior calculating force and moment acting on the Spar body, segmentation of
side and bottom cylinder need to be carried out and determined. From this
segmentation the offset value of X, Y and Z nodes coordinate values on the cylinder
can be obtained. Then, mean value or center of segments also needs to be calculated
in order to calculate the forces acting at the center of the elements. This research is
using the Froude-Krilov theory to evaluate the initial vertical, horizontal forces and
pressures on the Spar, as per mentioned in previous Chapter 4. Figure 6.1 and
Figure 6.2 shows the segmentation and surface normal of the vertical cylinder
created using MATLAB programming. This normal surface can easily be created by
using MATLAB source code function in the M-File that is surfnorm (XmOff,
YmOff, ZmOff). Appendix A1 shows the complete programming for this surfnorm
function.
77

Figure 6.1: Mesh representing the surface normal element for Spar platform
78

Figure 6.2: Normal forces acting on the segment center of the Spar

According to Figure 6.2, the red lines represent the normal forces acting on
the Spar. Summed of the forces will give the total forces acting on the Spar platform.
Details on the forces and moments calculation calculated in the M-File programming
worksheet shown in Appendix B of the report.
79

6.5 Solution of the Equation of Motion

The equation of motion can be solved in time domain using numerical


integration technique, incorporating all the time dependent nonlinearities, stiffness
coefficient changes due to mooring line tension with time, added mass from
Morisons equation, and with evaluation of wave forces at the instantaneous
displaced position of the structure. Wave loading constitutes the primary loading on
offshore structures.

Prior designing the mooring system for any floating platform structures,
dynamic behaviour of the structures need to be studied first. Also, consideration on
the environmental conditions where the platform is going to operate is the most
important criteria before any engineering design can take place. Thus, the dynamic
behaviour of these structures is, therefore, of design interest.

The initial condition of the Spar or any type of platform operating in the sea
condition need to analyze prior selecting and designing the mooring system required
for that particular platform. After the initial conditions are known, then engineers can
start thinking on how to design their mooring system.

When the dynamic response predominates, the behaviour under wave loading
becomes nonlinear because the drag component of the wave load, according to
Morisons equation, varies with the square of the velocity of the water particle
relative to the structure [13]. At each step, the force vector is updated to take into
account the change in the mooring line tension. The equation of motion has been
solved by an iterative procedure using unconditionally stable Newmarks Beta
method. The algorithm based on Newmarks method for solving the equation of
motion is given below:

Step 1: The stiffness matrix [K ] , the damping matrix [C ] , the mass matrix [M ] , the

initial displacement vector {X o }, the initial velocity vector {X& o }are given as the

known input data.


80

Step 2: The force vector {F (t )} is calculated.

Step 3: The initial acceleration vector is then calculated as below:

{X&& } = M1 (F
o o CX& o KX o )

Step 4: = 0.5, = 0.25 (0.5 + ) and with the integration constants as:
2

(
a o = 1 / t 2 )
a1 = / t
a 2 = 1 / t
a3 = (1 / 2 ) 1
a 4 = ( / ) 1
a5 = (t / 2)[( / ) 2]
a 6 = t (1 )
a 7 = t

Step 5: K = K + a o M + a1C

Step 6: For each time step, the following are calculated

Ft + t = Ft + t + M (a o X t + a 2 X& t + a 3 X&& t ) + C (a1 X t + a 4 X& t + a5 X&& t )


X t + t = K 1 F t + t

X&& t + t = a o ( X t + t X t ) a 2 X& t a3 X&& t


X& t + t = X& t + a6 X&& t + a 7 X&& t + t

Step 7: The values of X , X& , X&& , which are calculated at the time step t + t are used
to evaluate Ft + t such that convergence is achieved to the accuracy of 0.01%, before

going to the next time step, otherwise iteration is carried out. Since the [K ] of the
Spar platform is response dependent, the new [K ] is generated and the difference
from the old [K ] is used from step No. 5 onwards by taking it to Ft + t . Appendix H
81

which is the main program for the whole programming shows how the iteration
procedure has been carried out.

6.6 Response Behavior of the Spar Platform

Coupled analysis between mooring line and the Spar platform has been
carried out in this programming. The motion of the Spar is analyzed in the six degree
of freedom motions which are Surge, Sway, Heave, Rolling, Pitching and Yawing.
Figure 6.3, 6.4 and 6.5 represent the result of the Spar platform motions amplitude
at the initial condition parameters value of current velocity, wave height and
wavelength.
82

SURGE SWAY HEAVING

ROLLING PITCHING YAWING

Y Axis: Amplitude (m), X Axis: Time (s)

Figure 6.3: Six degree of freedom response of Spar platform


(Vc = 0.1m/s, Hw = 3m, Lw = 100 m)
83

SURGE SWAY HEAVING

ROLLING PITCHING YAWING

Y Axis: Amplitude (m), X Axis: Time (s)

Figure 6.4: Six degree of freedom response of Spar platform


(Vc = 0.5m/s, Hw = 3m, Lw = 100 m)
84

SURGE SWAY HEAVING

ROLLING PITCHING YAWING

Y Axis: Amplitude (m), X Axis: Time (s)

Figure 6.5: Six degree of freedom response of Spar platform


(Vc = 1.0 m/s, Hw = 3m, Lw = 100 m)

To simplify the analysis, response of the Spar motions is taken at current


speed 0.1m/s and 1.0m/s. Figure 6.6, 6.7, 6.8, 6.9, 6.10 and 6.11 shows the behavior
of Spar platform in surge, sway, heave, rolling, pitching and yawing at current speed
0.1m/s and 1.0m/s.
85

Figure 6.6: Surge motion of Spar platform at current speed 0.1 and 1.0m/s

Figure 6.7: Sway motion of Spar platform at current speed 0.1 and 1.0m/s
86

Figure 6.8: Heave motion of Spar platform at current speed 0.1 and 1.0m/s

Figure 6.9: Roll motion of Spar platform at current speed 0.1 and 1.0m/s
87

Figure 6.10: Pitching motion of Spar platform at current speed 0.1 and 1.0m/s

Figure 6.11: Yaw motion of Spar platform at current speed 0.1 and 1.0m/s

When current speed increase, mostly, all amplitudes for each motion are very
small but from the result we can conclude that:

i. Three motions which much significantly affect the behavior of the Spar are
Heaving, Pitching and Surging This is because, the current speed is consider
to move horizontally to the x- axis of Spar coordinate system. Heaving
motion amplitude increase but heave below negative region, meaning that,
the mooring line pull more the spar downward the water depth. Surge and
pitching motions increase significantly.
88

ii. Sway, rolling and yaw motions are very small

iii. Since the movement of the platform is very small we can say that the stiffness
of the mooring line is compliant enough to resist the environmental loads.

iv. Since the Spar has a symmetrical shape, normally consideration only be made
on the surge or sway and pitching or rolling only. This explains in item (i)
and definitely proving the theory from A.K Argawal [14].

6.7 Mooring Line Analysis

This part will discuss the mooring line analysis when experienced increasing
current velocity to the dynamic of mooring line. Figure 6.12, 6.13 and 6.14 shows
the behavior of mooring line profile at different current speed.
89

Figure 6.12: Mooring Profile at (Vc = 0.1m/s, Hw = 3m, Lw = 100 m)


90

Figure 6.13: Mooring Profile at (Vc = 0.5 m/s, Hw = 3m, Lw = 100 m)


91

Figure 6.14: Mooring Profile at (Vc = 1.0 m/s, Hw = 3m, Lw = 100 m)


92

6.8 Analysis of Current Velocity on Mooring Line

Current speed is taken as variable parameters since it will increase and


decrease based on weather and environmental condition. In this analysis, three
samples of current values are taken. The current speeds start with 0.1 m/s, 0.5 m/s
and 1.0 m/s. Figure 6.12, Figure 6.13 and Figure 6.14 shows the behavior of
mooring line profile when experiencing an increasing of current speed. From the
graphs, obviously we can see the movement of mooring line is increase when the
current speed increases. It means that, the horizontal excursion of mooring line
distance is increasing simultaneously decreasing in line angle. Another logical
behavior from this analysis is that, the heights of fairlead point which attach the
mooring line to the platform keep on decrease downwards the seabed when there is
an increase of current speed. This means that, the mooring line pull the Spar platform
downward. Furthermore, the suspended length of mooring line also increase
simultaneously increases in line tension. This kind of behavior the same as theory
provided by S. Chakrabarti from his book Handbook of Offshore Engineering page
666 [16].

As per mentioned earlier in the previous chapter, the vertical movement and
the horizontal movement of floating platform give significant effect on the drilling
operations. Too much of vertical movement will damage the marine riser and the
horizontal movement will directly affect the stability of the platform and will cause
damage and threaten much on the workers working onboard. American Petroleum
Institute Recommended Practice for Design and Analysis of Stationkeeping Systems
for Floating Structures (API RP 2SK), [19] recommend that, 4 percent offset of the
water depth for drilling operation to continue and 8 to 12 percent to prevent damage
to marine riser. API RP 2SK is the standard procedures that need to be followed by
engineers before designing their mooring system. Table 6.3 shows the comparison of
mooring profile when experiencing currents 0.1 m/s, 0.5 m/s and 1.0 m/s.
93

Table 6.3: Behavior of mooring line due to increasing current speed

Suspended
Current Speed, Vc Height of Fairlead Horizontal
Length of
(m/s) (m) Excursion (m)
Mooring Line (m)
0.1 711.8 83.8 1006.7
0.5 657.2 221.4 1007.6
1.0 541.5 419.6 1008.5

From the result presenting in the Table 6.3, we can see that increasing in
current speed will definitely decrease the fairlead height from seabed, extend the
distance of downstream excursion and increase the length of suspended line means
decrease the length of mooring line laying on the seabed. The logically value
presented in this result principally validate the accuracy of the programming which
has been developed for this study. Figure 6.16 shows more clearly the differences of
mooring profile start from current speed 0.1m/s, 0.5m/s and 1.0m/s.

Figure 6.15: Comparison of mooring profile at different current speed


CHAPTER 7

CONCLUSION

As for conclusion, the objectives stated in this report are achieved. Mooring
behavior and it characteristics has been determined and computer programming has
been created to facilitate the calculation process. From the static analysis we can
determine the design parameter for catenary mooring system simply by using the
powerful MATLAB software programming package.

. Performance of catenary mooring line such as tension and the suspended


length required are obtained easily by entering the initial values into the input file
data and then the computation will easily be calculated.

Recommendations for future work research

i) Verify this program with model test


ii) Analyze the multi-component of mooring line properties which consist of
clump weight, floating buoy and etc
iii) Develop the mooring program that can evaluate the mooring system in
damaged and transient condition
95

REFERENCES

[1] The Specialist Committee on Deep Water Mooring, Final Report and
Recommendations to the 22nd ITTC, 1996.

[2] Fylling, I.J., 1992, Deep Water Mooring, FPS-2000 Mooring and
Positioning, Part 1.7 Deep Water Mooring, MARINTEK Report No.
513003.00.07, Trondheim.

[3] Watts, S., 1999, Hybrid Hydrodynamic Modelling, Journal of Offshore


Technology, The Institute of Marine Engineers, London, February 1999, pp.
13-17.

[4] Buchner, B., Wichers, J.E.W. and de Wilde, J.J., 1999, Features of the State-
of-the-art Deepwater Offshore Basin, Proc. of the 31st Offshore Technology
Conference, Houston, Texas, OTC 10841, 12 pp.

[5] Lee, D.H., Joo, S.M., Choi, H.S., Song, M.J. and Kim, Y.S., 1998, Control
Performance of a Turret-Moored Vessel Assisted by Dynamic Positioning
System, Proc. of the International Conference on Control Application in
Marine Systems, CAMS'98, pp. 107-112.

[6] Huang, S. and Vassalos, D., 1993, A Semi-Analytic Treatment of Three-


Dimensional Statics of Marine Cables, Ocean Engineering, Vol. 20, No. 4,
pp. 409-420.

[7] Bergdahl, L.M. and Rask, I., 1987, Dynamic vs. Quasi-Static Design of
Catenary Mooring System, Proc. of the 19th Offshore Technology
Conference, Houston, Texas, OTC 5530, Vol. 3, pp. 397-404.

[8] Fylling, I.J., Ottera, G.O. and Gottliebsen, F., 1987, Optimization and Safety
Consideration in the Design of Station-Keeping Systems, Proc. PRADS87
Symposium, Trondheim, Norway.
96

[9] Mavrakos, S.A., Papazoglou, V.J. and Triantafyllou, M.S. (1989), An


Investigation into the Feasibility of Deep Water Anchoring Systems, Proc.
of the 8th Int. OMAE Conference, OMAE89, The Hague, Vol. 1, pp. 683-
689.

[10] H.O. Berteaux, 1972, Buoy Engineering, Woods Hole Oceanographic


Institution, Massachusetts

[11] http://en.wikipedia.org/wiki/Surface_normal

[12] http://en.wikipedia.org/wiki/Surface_normal

[13] Bhattacharyya.R, 1978, Dynamics of Marine Vehicles, John Wiley &


Sons, New York

[14] A.K.Argawal, A.K. Jain, Dynamic behavior of offshore spar platforms under
regular sea waves

[15] Minoo H. Patel and Joel A. Witz, 1991, Compliant Offshore Structures,
Butterworth Heinemann.

[16] S.Chakrabarti, 2005, Handbook of Offshore Engineering, Vol 1, Elsevier.

[17] John B. Herbich, Editor, 1992, Handbook of Coastal and Ocean Engineering,
Vol 3, Gulf Publishing Company.

[18] MATLAB Student Version, Computation, Visualization and Programming,


Vol 6, 2001, The MathWorks Inc.

[19] Recommended Practice for Design and Analysis of Station Keeping Systems
for Floating Structures, API Recommended Practice 2SK, 2nd Edition, 1997
97

APPENDIX A

MATLAB M-FILE PROGRAMMING

A1 MAIN PROGRAM FOR SEGMENT SURFACE

Function
[XOff,YOff,ZOff,XWtrOff,YWtrOff,ZWtrOff,SegArea,XmOff,YmOff,ZmOff]=s
egment_surf(dS,dV,dR)
% Segmenation of side cylinder
global T D H
NoHSegment=floor(pi*D/dS);
NoVSegment=floor(H/dV);
NoAngle=NoHSegment;
dS=floor((pi*D)/NoHSegment)+((pi*D)/NoHSegment-
floor((pi*D)/NoHSegment));
% dAngle=dS/(0.5*D);
dH=floor(H/NoVSegment)+(H/NoVSegment-floor(H/NoVSegment));
R=0.5*D;
% Segmentation of bottom cylinder
NoRSegment=floor(0.5*D/dR);
dR=floor(R/NoRSegment)+(R/NoRSegment-floor(R/NoRSegment));
dAngle=dS/(0.5*D);
for j=1:NoRSegment+1
Ri=(j-1)*dR;
if Ri==0 Ri=0.001; end
Zi=-T;
for i=1:NoAngle+1;
Angle=((i-1)*dAngle);
Xi=Ri*cos(Angle);
Yi=sign(sin(Angle))*sqrt(Ri^2-Xi^2);
XOff(j,i)=Xi;
YOff(j,i)=Yi;
ZOff(j,i)=Zi;
end
end

% waterline offsets
for i=1:NoAngle+1;
Angle=((i-1)*dAngle);
Xi=Ri*cos(Angle);
Yi=sign(sin(Angle))*sqrt(Ri^2-Xi^2);
98

XWtrOff(j,i)=Xi;
YWtrOff(j,i)=Yi;
ZWtrOff(j,i)=0;
end

[NoSegment,NoElement]=size(XOff);
for j=1:NoVSegment+1
Zi=(j-1)*dH-T;
for i=1:NoAngle+1;
Angle=((i-1)*dAngle);
Xi=R*cos(Angle);
Yi=sign(sin(Angle))*sqrt(R^2-Xi^2);
XOff(j+NoSegment,i)=Xi;
YOff(j+NoSegment,i)=Yi;
ZOff(j+NoSegment,i)=Zi;
end
end

[NoSegment,NoElement]=size(XOff);
% Obtain ordinat on the center of elements
for j=1:NoSegment-1
for i=1:NoElement-1

if j<=NoRSegment
k=0;
else
k=1;
end
Ax=[XOff(j,i) YOff(j,i) ZOff(j,i)];
Bx=[XOff(j,i+1) YOff(j,i+1) ZOff(j,i+1)];
Cx=[XOff(j+1,i) YOff(j+1,i) ZOff(j+1,i)];
Dx=[XOff(j+1,i+1) YOff(j+1,i+1) ZOff(j+1,i+1)];

AC=(Ax+Cx)/2;
AB=(Ax+Bx)/2;
BD=(Bx+Dx)/2;
CD=(Cx+Dx)/2;
CSegment=(AC+AB+BD+CD)/4;
XmOff(j,i)=CSegment(1,1);
YmOff(j,i)=CSegment(1,2);
ZmOff(j,i)=CSegment(1,3);
[Ai,Ygx,Zgx]=trapesium(Ax,Bx,Cx,Dx,k);
SegArea(j,i)=Ai;
end
end
99

A2 SUB-PROGRAM FOR TRAPEZIUM CALCULATION

function [A,Yg,Zg]=trapesium(A,B,C,D,k)
% This function calculate the area and center of area of trapeZium
by
% separating into two triangle form
% k = 1 ; bidang berada pada YZ
% k = 0 ; bidang berada pada XY

if k==0

y1=A(1); y2=B(1); y3=D(1);


z1=A(2); z2=B(2); z3=D(2);
[A1,Yg1,Zg1]=triangle(y1,z1,y2,z2,y3,z3);

y1=A(1); y2=D(1); y3=C(1);


z1=A(2); z2=D(2); z3=C(2);
[A2,Yg2,Zg2]=triangle(y1,z1,y2,z2,y3,z3);

else

y1=A(2); y2=B(2); y3=D(2);


z1=A(3); z2=B(3); z3=D(3);
[A1,Yg1,Zg1]=triangle(y1,z1,y2,z2,y3,z3);

y1=A(2); y2=D(2); y3=C(2);


z1=A(3); z2=D(3); z3=C(3);
[A2,Yg2,Zg2]=triangle(y1,z1,y2,z2,y3,z3);

end

A=(A1+A2);
if A~=0
Yg=(A1*Yg1+A2*Yg2)/(A1+A2);
Zg=(A1*Zg1+A2*Zg2)/(A1+A2);
if abs(Yg)<0.000001 Yg=0; end
if abs(Zg)<0.000001 Zg=0; end
else
Yg=0; Zg=0;
end
100

A3 SUB-PROGRAM FOR TRIANGLE CALCULATION

function [A,Yg,Zg]=triangle(y1,z1,y2,z2,y3,z3)
A=abs(0.5*(y1*z3-y3*z1+y2*z1-y1*z2+y3*z2-y2*z3));
if A<0.000001 A=0; end

if A~=0
Y=[y1 y2 y3];
Z=[z1 z2 z3];

index=[1 2 3];
Yp=(Y(index(2))+Y(index(3)))/2; Zp=(Z(index(2))+Z(index(3)))/2;
Yq=(Y(index(1))+Y(index(3)))/2; Zq=(Z(index(1))+Z(index(3)))/2;

if xor((Yp-Y(index(1)))==0,(Yq-Y(index(2)))==0)
index=[2 3 1];
end

Yp=(Y(index(2))+Y(index(3)))/2; Zp=(Z(index(2))+Z(index(3)))/2;
Yq=(Y(index(1))+Y(index(3)))/2; Zq=(Z(index(1))+Z(index(3)))/2;

aAP=(Zp-Z(index(1)))/(Yp-Y(index(1))); bAP=(Z(index(1))-
Y(index(1))*aAP);
aBQ=(Zq-Z(index(2)))/(Yq-Y(index(2))); bBQ=(Z(index(2))-
Y(index(2))*aBQ);

Yg=-(bAP-bBQ)/(aAP-aBQ);
Zg=aAP*Yg+bAP;

else
Yg=0;
Zg=0;
end
101

APPENDIX B

MATLAB M-FILE PROGRAMMING

SUB-PROGRAM FOR COORDINATE TRANSFORMATION

function Ord=transformation(Ordinat,fi,te,ce,Xg,Yg,Zg,T)
% This function obtains the transformated offset. Original axis of
x,y,z ofsets are at
% the center of gravity. Original axis of Xg, Yg, Zg is measured
from after peak
% point.

te=-te; % Positive pitch is FP move up


[JmlData,Klm]=size(Ordinat);
TT1=[cos(ce) -sin(ce) 0; sin(ce) cos(ce) 0; 0 0 1];
TT2=[cos(te) 0 sin(te); 0 1 0; -sin(te) 0 cos(te)];
TT3=[1 0 0; 0 cos(fi) -sin(fi); 0 sin(fi) cos(fi)];
TTT=TT1*TT2*TT3;
for i=1:JmlData
orioff=Ordinat(i,:);
DataStation=[(Ordinat(i,1)-Xg); (Ordinat(i,2)-Yg);
(Ordinat(i,3)+(T+Zg))];
PP=TTT*DataStation;
Ord(i,:)=[PP(1,1) PP(2,1) PP(3,1)];
end
102

APPENDIX C

MATLAB M-FILE PROGRAMMING

C1 PROGRAM FOR EXTERNAL FORCE MOMENT

function
[Fx,Fy,Fz,Mx,My,Mz,Bx,By,Bz]=extforcemomen(Hw,Vw,Lw,fi,te,ce,time)
global grav NoRSegment NoAngle NoVSegment CdCoefConst CenterOffset
WtrSrfOffset OffsetSide OffsetBottom
global Xg Yg Zg T D rho

z=0;
k=2*pi/Lw;
W=sqrt(grav/(2*pi*Lw));
NewWtrOrdinat=transformation(WtrSrfOffset,fi,te,ce,Xg,Yg,Zg,T);
X=NewWtrOrdinat(:,1);
for i=1:NoAngle
x=X(i,1);
Zw(i,1)=Hw*exp(-k*z)*sin(k*x+W*time);
end
Z0=(max(Zw)+min(Zw))/2;
a=0.5*D;
if cos(te)==0
message('pitch or roll angle is imposible (teta= 90 deg)');
return
else
b=a/cos(te);
end

for j=1:NoVSegment+1
for i=1:NoAngle+1
Ordinat=OffsetSide(i,:,j);
NewSideOrdinat=transformation(Ordinat,fi,te,ce,Xg,Yg,Zg,T);
NewSideOffset(i,:,j)=NewSideOrdinat;
end
end

for j=1:NoRSegment+1
for i=1:NoAngle+1
Ordinat=OffsetBottom(i,:,j);
103

NewBottomOrdinat=transformation(Ordinat,fi,te,ce,Xg,Yg,Zg,T);
NewBottomOffset(i,:,j)=NewBottomOrdinat;
end
end

% Drag coefficients
TDi=T/D;
if TDi <= 40
TD=(CdCoefConst(1,:))';
CD=(CdCoefConst(2,:))';
Cd = interp1(TD,CD,TDi);
else
Cd=1.2;
end

% Force and moment calculation on side surface


Fxi=0; Fyi=0; Mxi=0; Myi=0; dAxx=0; dAyy=0; dAzz=0;
SurfSide=0;
for j=1:NoVSegment
for i=1:NoAngle
Ak=NewSideOffset(i,:,j);
Bk=NewSideOffset(i+1,:,j);
Ck=NewSideOffset(i,:,j+1);
Dk=NewSideOffset(i+1,:,j+1);
CheckX1=(Ak(1,1)+Bk(1,1))/2;
CheckX2=(Ck(1,1)+Dk(1,1))/2;
CheckY1=(Ak(1,2)+Bk(1,2))/2;
CheckY2=(Ck(1,2)+Dk(1,2))/2;
dX1=abs(Ak(1,1)-Bk(1,1));
dY1=abs(Ak(1,2)-Bk(1,2));
dZ1=abs(Ak(1,3)-Ck(1,3));
dX2=abs(Ck(1,1)-Dk(1,1));
dY2=abs(Ck(1,2)-Dk(1,2));
dZ2=abs(Bk(1,3)-Dk(1,3));
dX=0.5*(dX1+dX2);
dY=0.5*(dY1+dY2);
dZ=0.5*(dZ1+dZ2);
Xm1=(Ak(1,1)+Ck(1,1))/2;
Xm2=(Bk(1,1)+Dk(1,1))/2;
Ym1=(Ak(1,2)+Ck(1,2))/2;
Ym2=(Bk(1,2)+Dk(1,2))/2;
Xm=(Xm1+Xm2)/2;
Ym=(Ym1+Ym2)/2;

AC=(Ak+Ck)/2;
AB=(Ak+Bk)/2;
BD=(Bk+Dk)/2;
CD=(Ck+Dk)/2;

ABCD=(AC+AB+BD+CD)/4;

P1=[Xm1 Ym1]; P2=[Xm2 Ym2];


Xp=0.5*D/(tan(0.001));
[Ai,Yai,Zai]=trapesium(Ak,Bk,Ck,Dk);
Xai=(Ak(1,1)+Bk(1,1)+Ck(1,1)+Dk(1,1))/4;
P=[Xp (Ym1+Ym2)/2];
SurfSide=SurfSide+Ai;
104

[Pos]=position(P1,P2,P);
if Pos==1
KK=1;
else
KK=0;
end
% Horizontal Force and momen calculation
if Zai<=Z0
% Under water surface

%Vc=alpha*Zai+beta*Zai^2;
Vc=0;
V=(Vw+Vc);
dYXm=(BD(1,2)-AC(1,2))/(BD(1,1)-AC(1,1));
dZm=(CD(1,3)-AB(1,3))/(CD(1,1)-AB(1,1));
Ax=Ai*cos(dYdX);
Ay=Ai*sin(dYdX);
Fxs=KK*0.5*rho*Cd*Ax*V^2;
Fys=KK*0.5*rho*Cd*Ay*V^2;
if and(CheckX1>=CheckX2,CheckY1>=CheckY2)
Fzs=0.5*rho*Cd*(dX*dY)*V^2;
else
Fzs=0;
end
Fxi=Fxi+Fxs;
Fyi=Fyi+Fys;
Fzi=Fzi+Fzs;
Mxi=Mxi+Fys*(Xai-Xg);
Myi=Myi+Fxs*(Yai-Yg);
Mzi=Mzi+Fzs*(Zai-Zg);
dAxx=dAxx+KK*dY*dZ;
dAyy=dAyy+KK*dX*dZ;
dAzz=dAzz+KK*dY*dX;
else
% Upper water surface
Fxi=0;
Fyi=0;
Fzi=0;
Mxi=0;
Myi=0;
Mzi=0;
end

end
kkkk=0;
end

% Force and moment calculation on Bottom surface

Fxj=0; Fyj=0; Fzj=0; Mxj=0; Myj=0; Mzj=0; dAzz=0;


SurfBottom=0;
for j=1:NoRSegment
for i=1:NoAngle
Ax=NewBottomOffset(i,:,j);
Bx=NewBottomOffset(i+1,:,j);
Cx=NewBottomOffset(i,:,j+1);
Dx=NewBottomOffset(i+1,:,j+1);

dX1=abs(Ax(1,1)-Bx(1,1));
dY1=abs(Ax(1,2)-Bx(1,2));
105

dZ1=abs(Cx(1,3)-Dx(1,3));
dX2=abs(Ax(1,1)-Bx(1,1));
dY2=abs(Ax(1,2)-Bx(1,2));
dZ2=abs(Bx(1,3)-Dx(1,3));
dX=0.5*(dX1+dX2);
dY=0.5*(dY1+dY2);
dZ=0.5*(dZ1+dZ2);

[Aj,Xaj,Yaj]=trapesium(Ax,Bx,Cx,Dx);
Zaj=(Ax(1,3)+Bx(1,3)+Cx(1,3)+Dx(1,3))/4;
SurfBottom=SurfBottom+Aj;
%Vc=alpha*Zai+beta*Zai^2;
Vc=0;
V=(Vw+Vc);

% Horizontal Force and momen calculation

Fxs=0.5*rho*Cd*(dY*dZ)*V^2;
Fys=0.5*rho*Cd*(dX*dZ)*V^2;
Fzs=0.5*rho*Cd*(dX*dY)*V^2;
Fxj=Fxj+Fxs;
Fyj=Fyj+Fys;
Fzj=Fzj+Fzs;
Mxj=Mxj+Fys*(Xaj-Xg);
Myj=Myj+Fxs*(Yaj-Yg);
Mzj=Mzj+Fzs*(Zaj-Zg);
dAzz=dAzz+dX*dY;
end
end

Fx=Fxi+Fxj; Fy=Fyi+Fyj; Fz=Fzi+Fzj;


Mx=Mxi+Mxj; My=Myi+Mzj; Mz=Mzi+Mzj;

NewCenterOffset=transformation(CenterOffset,fi,te,ce,Xg,Yg,Zg,T);
Mx=0; My=0; Mz=0; Area=0;

ControlVert=true;
j=1;
while ControlVert
%for j=1:NoVSegment+1
X0=NewCenterOffset(j,1);
Y0=NewCenterOffset(j,2);
Z0=NewCenterOffset(j,3);

Ai=0; Mxi=0; Myi=0; Mzi=0;

ControlValue1=0; ControlValue2=0;
for i=1:NoHSegment
Zmin=min(NewSideOffset(:,3));
Zmax=max(NewSideOffset(:,3));
X1=NewSideOffset(i,1);
Y1=NewSideOffset(i,2);
Z1=NewSideOffset(i,3);
X2=NewSideOffset(i+1,1);
Y2=NewSideOffset(i+1,2);
Z2=NewSideOffset(i+1,3);

if and(Zmin>0,Zmax>0)
106

if Z0<0
% Calculate Triangle
if Z1>0
Y1=lineequ(Z0,Y0,Z1,Y1,0);
X1=lineequ(Z0,X0,Z1,X1,0);
Z1=0;
ControlValue1=ControlValue1+1;
end

if Z2>0
Y2=lineequ(Z0,Y0,Z1,Y2,0);
X2=lineequ(Z0,X0,Z1,X2,0);
Z2=0;
ControlValue2=ControlValue2+1;
end

[A,Ya,Xa]=triangle(Y0,X0,Y1,X1,Y2,X2);
[A1,Ya1,Za]=triangle(Y0,Z0,Y1,Z1,Y2,Z2);

elseif Z0>0

if Z1>0
Y3=lineequ(Z0,Y0,Z1,Y1,0);
X3=lineequ(Z0,X0,Z1,X1,0);
Z3=0;
ControlValue1=ControlValue1+1;
end

if Z2>0
Y4=lineequ(Z0,Y0,Z1,Y2,0);
X4=lineequ(Z0,X0,Z1,X2,0);
Z4=0;
ControlValue2=ControlValue2+1;
end
Ai=[X1 Y1]; Bi=[X2 Y2]; Ci=[X3 Y3]; Di=[X4
Y4];
[A,Xa,Ya]=trapesium(Ai,Bi,Ci,Di);
Ai=[Y1 Z1]; Bi=[Y2 Z2]; Ci=[Y3 Z3]; Di=[Y4
Z4];
[A1,Ya1,Za]=trapesium(Ai,Bi,Ci,Di);
else % Z0==0
if and(Z1<0,Z2<0)
[A,Ya,Xa]=triangle(Y0,X0,Y1,X1,Y2,X2);
[A1,Ya1,Za]=triangle(Y0,Z0,Y1,Z1,Y2,Z2);
else
A=0; Xa=0; Ya=0; Za=0;
end
end

else
[A,Ya,Xa]=triangle(Y0,X0,Y1,X1,Y2,X2);
[A1,Ya1,Za]=triangle(Y0,Z0,Y1,Z1,Y2,Z2);
end

Ai=Ai+A;
Mxi=Mxi+A*Xa;
Myi=Myi+A*Ya;
Mzi=Mzi+A*Za;
end
Xi=Mxi/Ai;
107

Yi=Myi/Ai;
Zi=Mzi/Ai;
SegArea(j,1)=Ai;
Center(j,:)=[Xi Yi Zi];

if and(ControlValue1~=0,ControlValue2~=0)
ControlVert=false;
end
j=j+1;
end

Volume=0; MxVol=0; MyVol=0; MzVol=0;


for i=1:2:NoVSegment
ddZ=(CenterOffset(i,3)+CenterOffset(i,3))/2;

Volume=Volume+1/3*ddZ*(SegArea(i,1)+4*SegArea(i+1,1)+SegArea(i+2,1))
;

MxVol=MxVol+1/3*ddZ*(SegArea(i,1)*Center(i,1)+4*SegArea(i+1,1)*Cente
r(i+1,1)+SegArea(i+2,1)*Center(i+2,1));

MyVol=MyVol+1/3*ddZ*(SegArea(i,1)*Center(i,2)+4*SegArea(i+1,1)*Cente
r(i+1,2)+SegArea(i+2,1)*Center(i+2,2));

MzVol=MzVol+1/3*ddZ*(SegArea(i,1)*Center(i,3)+4*SegArea(i+1,1)*Cente
r(i+1,3)+SegArea(i+2,1)*Center(i+2,3));
end

Bx=MxVol/Volume;
By=MyVol/Volume;
Bz=MzVol/Volume;

mass=rho*Volume;
function [Pos]=position(P1,P2,P)
% This function obtain the P point position to the line between P1
and P2
% Position=-1 indicates P at left of P1P2 line, 1 indicates P at
right and
% 0 indicates P at the P1P2 line
y=P(1,2); y0=P1(1,2); y1=P2(1,2);
x=P(1,1); x0=P1(1,1); x1=P2(1,1);
Pos=(y - y0)*(x1 - x0)-(x - x0)*(y1 - y0);
if Pos>0
Pos=-1;
elseif Pos<0
Pos=1;
end

function y0=lineequ(x1,y1,x2,y2,x0)
slope=(y2-y1)/(x2-x1);
intercept=y1-x1*slope;
y0=slope*x0+intercept;
108

C2 PROGRAM FORCES AND MOMENT

function
[FXtot,FYtot,FZtot,MXtot,MYtot,MZtot]=forcesmomen(SegArea,Heave,Wave
Course,Vc,Xdot,Zdot,Hw,Lw,phi,te,ce,time)
global XOff YOff ZOff XmOff YmOff ZmOff
global rho grav Xg Yg Zg T Weight CD WaterDepth

[NoSegment,NoElement]=size(XOff);
%for i=1:NoElement
% Offset=[XOff(:,i) YOff(:,i) ZOff(:,i)];
% Offset=transformation(Offset,phi,te,ce,Xg,Yg,Zg,T);
% NewXOff(:,i)=Offset(:,1);
% NewYOff(:,i)=Offset(:,2);
% NewZOff(:,i)=Offset(:,3)-Heave;
%end

for i=1:NoElement-1
CentOffset=[XmOff(:,i) YmOff(:,i) ZmOff(:,i)];
CentOffset=transformation(CentOffset,phi,te,ce,Xg,Yg,Zg,T);
SegCentX(:,i)=CentOffset(:,1);
SegCentY(:,i)=CentOffset(:,2);
SegCentZ(:,i)=CentOffset(:,3)-Heave;
end
[Nx,Ny,Nz]=surfnorm(SegCentX,SegCentY,SegCentZ);
RVector=sqrt(Nx.^2+Ny.^2+Nz.^2);
KKX=(Nx./RVector).*cos(WaveCourse);
KKY=(Ny./RVector).*cos(WaveCourse);
KKZ=((-Nz)./RVector).*cos(WaveCourse);

% Wave force and moment


if Lw==0
k=0;
w=0;
Vw=0;
else
k=2*pi/Lw;
Vw=sqrt(grav*Lw/(2*pi));
w=2*pi*Vw/Lw;
end

FXtot=0; FYtot=0; FZtot=0; MXtot=0; MYtot=0; MZtot=0; Fbtot=0;

for j=1:NoSegment-1
for i=1:NoElement-1
kkz=SegCentX(j,i);
kkzz=0.5*Hw*cos(k*(kkz-Vw*time));
Zai=kkzz+(T+Zg); % Wave profile measured
from Zg
Zi=SegCentZ(j,i);
Yi=SegCentY(j,i);
Xi=SegCentX(j,i);
if Zai>=Zi

KKKX=KKX(j,i);
KKKY=KKY(j,i);
109

KKKZ=KKZ(j,i);
ElementArea=SegArea(j,i);

KX=sign(KKKX);
KY=sign(KKKY);
KZ=sign(KKKZ);
NoX=1; NoY=1; NoZ=1;
if KX<=0
NoX=0;
end
if KY<=0
NoY=0;
end
if KZ<=0
NoZ=0;
end
Ax=ElementArea*KKKX;
Ay=ElementArea*KKKY;
Az=ElementArea*KKKZ;

% Current speed for spar


Z_Elmnt=-Zi+Zg;
BETA = Vc/(T+T^2);
Uc=BETA*Z_Elmnt + BETA*Z_Elmnt^2; % Z_Element
mrasure from waterline

udot=abs(k*Hw*Vw*exp(-k*(-Zi+105.6))*cos(k*Xi-w*time));
%vdot=0;
wdot=abs(k*Hw*Vw*exp(-k*(-Zi+105.6))*sin(k*Xi-w*time));

if abs(udot)<0.00000001 udot=0; end


if abs(wdot)<0.00000001 wdot=0; end

Fx=(0.5*rho*grav*CD*(Uc+udot-Xdot)*abs(Uc+udot-Xdot))*Ax*NoX;
Fy=(0.5*rho*grav*CD*(Uc+udot-Xdot)*abs(Uc+udot-Xdot))*Ay;
Fz=(0.5*rho*grav*CD*(wdot-Zdot)*abs(wdot-
Zdot))*Az*NoZ+rho*grav*(T+Zg-Zi)*Az*NoZ;

Mx=Fy*(SegCentZ(j,i))+Fz*(SegCentY(j,i))+Fz*(SegCentY(j,i));
My=Fx*(SegCentZ(j,i))+Fz*(SegCentX(j,i))+Fz*(SegCentX(j,i));
Mz=Fx*SegCentY(j,i)+Fy*SegCentX(j,i);

else
Fx=0; Fy=0; Fz=0; Mx=0; My=0; Mz=0;
end
if abs(Fx)<0.001 Fx=0; end
if abs(Fy)<0.001 Fy=0; end
if abs(Fz)<0.001 Fz=0; end
if abs(Mx)<0.001 Mx=0; end
if abs(My)<0.001 My=0; end
if abs(Mz)<0.001 Mz=0; end
FXtot=FXtot+Fx;
FYtot=FYtot+Fy;
FZtot=FZtot+Fz;
MXtot=MXtot+Mx;
MYtot=MYtot+My;
MZtot=MZtot+Mz;
end
end
110

if Weight==0;
dhX=0; dhY=0; dhZ=0;
else
dhX=MXtot/Weight;
dhY=MYtot/Weight;
dhZ=MZtot/Weight;
end
if abs(dhX)<0.0000001; dhX=0; end
if abs(dhY)<0.0000001; dhY=0; end
if abs(dhZ)<0.0000001; dhZ=0; end
MZtot=(Weight-FZtot)*dhZ;
FZtot=(Weight-FZtot);
111

APPENDIX D

MATLAB M-FILE PROGRAMMING

SUB-PROGRAM FOR MASS AND ADDED MASS

function M=addedmass(Weight,X1,Y1,Z1,X2,Y2,Z2)
global grav Xg Yg Zg T D H rho
%%% Added mass matrix for vertical cylinder :

Cm=2; %%% added mass coefficient for cylinder


ro=rho; %%% density of water
H1=H;
D1=D;
K1=ro*Cm*pi*(D1^2)*H1/4;
%X1=0.0;
%X2=0;
%Y1=0.0;
%Y2=0;
%Z1=-840;
%Z2=-92.4;
%alfa=pi/2;
%beta=pi/2;
%gama=0;
L=sqrt((X2-X1)^2+(Y2-Y1)^2+(Z2-Z1)^2);
alfa=acos((X2-X1)/L);
beta=acos((Y2-Y1)/L);
gama=acos((Z2-Z1)/L);

m11=K1*(sin(alfa))^2;
m12=-K1*cos(alfa)*cos(beta);
m13=-K1*cos(alfa)*cos(gama);
m21=-K1*cos(alfa)*cos(beta);
m22=K1*(sin(beta))^2;
m23=-K1*cos(beta)*cos(gama);
m31=-K1*cos(alfa)*cos(gama);
m32=-K1*cos(beta)*cos(gama);
m33=K1*(sin(gama))^2;

Ym=(Y1+Y2)/2;
Zm=(Z1+Z2)/2;
112

Xm=(X1+X2)/2;
m41=(m31*Ym)-(m21*Zm);
m51=(m11*Zm)-(m31*Xm);
m61=(m21*Xm)-(m11*Ym);
m42=(m32*Ym)-(m22*Zm);
m52=(m12*Zm)-(m32*Xm);
m62=(m22*Xm)-(m12*Ym);
m43=(m33*Ym)-(m32*Zm);
m53=(m31*Zm)-(m33*Xm);
m63=(m32*Xm)-(m31*Ym);
Yn=(Y1^2+Y1*Y2+Y2^2)/3;
Zn=((Z1^2)+(Z1*Z2)+(Z2^2))*(1/3);
Xn=(X1^2+X1*X2+X2^2)/3;
YZn=((2*Y1*Z1)+(2*Y2*Z2)+(Y1*Z2)+(Z1*Y2))/6;
XYn=((2*X1*Y1)+(2*X2*Y2)+(X1*Y2)+(X2*Y1))/6;
ZXn=((2*Z1*X1)+(2*Z2*X2)+(Z1*X2)+(Z2*X1))/6;
m44=m22*Zn-2*m23*YZn+m33*Yn;
m54=-m21*Zn-m33*XYn+m31*YZn+m32*ZXn;
m64=-m31*Yn+m32*XYn+m21*YZn-m22*ZXn;
m55=m33*Xn-2*m31*ZXn+m11*Zn;
m66=m11*Yn-2*m21*XYn+m22*Xn;
m65=-m32*Xn-m11*YZn+m21*ZXn+m31*XYn;

MA =[m11 m12 m13 m41 m51 m61


m21 m22 m23 m42 m52 m62
m31 m32 m33 m43 m53 m63
m41 m42 m43 m44 m54 m64
m51 m52 m53 m54 m55 m65
m61 m62 m63 m64 m65 m66];

Mstra=Weight/grav;

Ms=[Mstra 0 0 0 0 0
0 Mstra 0 0 0 0
0 0 Mstra 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0];
M=MA+Ms;
113

APPENDIX E

MATLAB M-FILE PROGRAMMING

E1 SUB-PROGRAM FOR MOORING STIFFNESS

function KM=mooringstiffness(X1,Y1,Z1,X2,Y2,Z2,FX,FY,FZ)

% The direction of cosines are defined as follows

KK=sign(FZ);
T=sqrt(FX^2+FY^2+KK*FZ^2);
E=210000000;
D=0.064;
A=pi*D^2/4;
L=sqrt((X2-X1)^2+(Y2-Y1)^2+(Z2-Z1)^2);
lambda=E*A/L;

alfa=acos((X2-X1)/L);
beta=acos((Y2-Y1)/L);
gama=acos((Z2-Z1)/L);

K11=lambda*cos(alfa)^2+(T/L)*sin(alfa)^2;
K12=(lambda+(T/L))*cos(alfa)*cos(beta);
K21=K12;
K13=(lambda+(T/L))*cos(alfa)*cos(gama);
K31=K13;
K22=lambda*cos(beta)^2+(T/L)*sin(beta)^2;
K23=(lambda+(T/L))*cos(beta)*cos(gama);
K32=K23;
K33=lambda*(cos(gama))^2+(T/L)*(sin(gama))^2;

K41=K31*Y2-K21*Z2; K14=0; K45=0;


K51=K11*Z2-K31*X2; K15=0; K46=0;
K61=K21*X2-K11*Y2; K16=0; K56=0;
K42=K32*Y2-K22*Z2; K24=0;
K52=K21*Z2-K32*X2; K34=0;
K62=K22*X2-K21*Y2; K25=0;
K43=K33*Y2-K32*Z2; K35=0;
K53=K31*Z2-K33*X2; K26=0;
K63=K32*X2-K31*Y2; K36=0;
114

K44=K33*Y2^2-2*K32*Y2*Z2+K22*Z2^2;
K54=K31*Y2*Z2-K21*Z2^2-K33*Y2*X2+K32*X2*Z2;
K64=K32*X2*Y2-K22*X2*Z2-K31*Y2^2+K21*Y2*Z2;
K55=K11*Z2^2-2*K31*X2*Z2+K33*X2^2;
K65=K21*X2*Z2-K32*X2^2-K11*Y2*Z2+K31*X2*Y2;
K66=K22*X2^2-2*K21*X2*Y2+K11*Y2^2;

KM=[K11 K12 K13 K14 K15 K16


K21 K22 K23 K24 K25 K26
K31 K32 K33 K34 K35 K36
K41 K42 K43 K44 K45 K46
K51 K52 K53 K54 K55 K56
K61 K62 K63 K64 K65 K66];

E2 SUB-PROGRAM FOR SPAR HYDROSTATIC STIFFNESS

function KH=stiffnes(fi,te,ce)
global grav rho T D KG
% Stiffnes Force and Moment
Hd=T;
h1=KG;
%a=0.5*D;

%b44=a/cos(fi);
%b55=a/cos(te);
%JL44=1/8*rho*pi*(a^2-b44^2)^2;
%JL55=1/8*rho*pi*(a^2-b55^2)^2;
%GM44=JL44/(pi*D^2/4*T);
%GM55=JL55/(pi*D^2/4*T);
%C33=rho*grav*pi*a*a;
%C44=rho*grav*GM44*(pi*D^2/4*T);
%C55=rho*grav*GM55*(pi*D^2/4*T);
C33=0.25*pi*rho*9.81*D^2;
C44=C33*Hd*h1-pi/64*(rho*grav)*D^4;
C55=C44;

KH=[0 0 0 0 0 0
0 0 0 0 0 0
0 0 C33 0 0 0
0 0 0 C44 0 0
0 0 0 0 C55 0
0 0 0 0 0 0];
115

APPENDIX F

MATLAB M-FILE PROGRAMMING

SUB-PROGRAM FOR DAMPING COEFFICIENT

function Bv=damping(X1,Y1,Z1,X2,Y2,Z2,CD)
global Xg Yg Zg T H D rho
ro=rho;
% CD=1; H=216.4; D=40.52;
H1=H; % =216.4;
D1=D; % =2*20.26;
K3=0.5*ro*CD*H1*D1;
%alfa=pi/2;
%beta=pi/2;
%gama=0;
%X1=Xg; % Coordinat center of bottom from CG
%X2=0; % Coordinat center of waterline from CG
%Y1=Yg;
%Y2=0;
%Z1=-Zg;
%Z2=T;
L=sqrt((X2-X1)^2+(Y2-Y1)^2+(Z2-Z1)^2);
alfa=acos((X2-X1)/L);
beta=acos((Y2-Y1)/L);
gama=acos((Z2-Z1)/L);
Ym=(Y1+Y2)/2;
Zm=(Z1+Z2)/2;
Xm=(X1+X2)/2;
b11=K3*abs((sin(alfa))^3);
b21=-K3*cos(alfa)*cos(beta)*abs(sin(alfa));
b31=-K3*cos(gama)*cos(alfa)*abs(sin(alfa));
b12=-K3*cos(alfa)*cos(beta)*abs(sin(beta));
b22=K3*abs((sin(beta))^3);
b32=-K3*cos(beta)*cos(gama)*abs(sin(beta));
b13=-K3*cos(alfa)*cos(gama)*abs(sin(gama));
b23=-K3*cos(beta)*cos(gama)*abs(sin(gama));
b33=K3*abs((sin(gama))^3);
b41=b31*Ym-b21*Zm;
b51=b11*Zm-b31*Xm;
b61=b21*Xm-b11*Ym;
b42=b32*Ym-b22*Zm;
116

b52=b12*Zm-b32*Xm;
b62=b22*Xm-b12*Ym;
b43=b33*Ym-b23*Zm;
b53=b13*Zm-b33*Xm;
b63=b23*Xm-b13*Ym;

if X1*X2>=0
Xp=sign(Xm)*(X1^2+X1*X2+X2^2)/3;
else
Xp=sign(X2)*(X1^3+X2^3)/(3*(X2-X1));
end

if Y1*Y2>=0
Yp=sign(Ym)*(Y1^2+Y1*Y2+Y2^2)/3;
else
Yp=sign(Y2)*(Y1^3+Y2^3)/(3*(Y2-Y1));
end

if Z1*Z2>=0
Zp=sign(Zm)*(Z1^2+Z1*Z2+Z2^2)/3;
else
Zp=sign(Z2)*(Z1^3+Z2^3)/(3*(Z2-Z1));
end

if X1*X2>=0
Ix=sign(Xm)*(X1^3+X2*X1^2+X1*X2^2+X2^3)/4;
else
Ix=sign(X2)*((X1^3+X2*X1^2+X1*X2^2+X2^3)/4)+(X1^4/(2*(X2-X1)));
end

if Y1*Y2>=0
Iy=sign(Ym)*(Y1^3+Y2*Y1^2+Y1*Y2^2+Y2^3)/4;
else
Iy=sign(Y2)*((Y1^3+Y2*Y1^2+Y1*Y2^2+Y2^3)/4)+(Y1^4/(2*(Y2-Y1)));
end

if Z1*Z2>=0
Iz=sign(Zm)*(Z1^3+Z2*Z1^2+Z1*Z2^2+Z2^3)/4;
else
Iz=sign(Z2)*((Z1^3+Z2*Z1^2+Z1*Z2^2+Z2^3)/4)+(Z1^4/(2*(Z2-Z1)));
end

if Z1*Z2>=0

Iyzz=(1/12)*((Y2*(Z1^2+(2*Z1*Z2)+(3*Z2^2)))+(Y1*(3*Z1^2+(2*Z1*Z2)+Z2
^2)));
else

Iyzz=((1/12)*Y2*(Z1^2+(2*Z1*Z2)+3*Z2^2))+(Y1*(3*Z1^2+(2*Z1*Z2)+Z2^2)
)+(Z1^3*(4*Y1*Z2-(3*Y1*Z1)-Y2*Z1))/(6*(Z2-Z1)^2);
end

if Y1*Y2>=0
Iyzy=(Z2*(Y1^2+2*Y1*Y2+3*Y2^2)+Z1*(Y2^2+2*Y1*Y2+3*Y1^2))/12;
else
Iyzy=(Z2*(Y1^2+2*Y1*Y2+3*Y2^2))/12+Z1*(Y2^2+2*Y1*Y2+3*Y1^2)...
+Y1^3*(4*Z1*Y2-3*Z1*Y1-Z2*Y1)/(6*(Y2-Y1)^2);
end

if Y1*Y2>=0
117

Ixyy=(X2*(Y1^2+2*Y1*Y2+3*Y2^2)+X1*(Y2^2+2*Y1*Y2+3*Y1^2))/12;
else
Ixyy=(X2*(Y1^2+2*Y1*Y2+3*Y2^2))/12+X1*(Y2^2+2*Y1*Y2+3*Y1^2)...
+Y1^3*(4*X1*Y2-3*X1*Y1-X2*Y1)/(6*(Y2-Y1)^2);
end

if Z1*Z2>=0
Izxz=(X2*(Z1^2+2*Z1*Z2+3*Z2^2)+X1*(Z2^2+2*Z1*Z2+3*Z1^2))/12;
else
Izxz=(X2*(Z1^2+2*Z1*Z2+3*Z2^2))/12+X1*(Z2^2+2*Z1*Z2+3*Z1^2)...
+Z1^3*(4*X1*Z2-3*X1*Z1-X2*Z1)/(6*(Z2-Z1)^2);
end

Izyz=Iyzz;

if X1*X2>=0
Ixyx=(Y2*(X1^2+2*X1*X2+3*X2^2)+Y1*(X2^2+2*X1*X2+3*X1^2))/12;
else
Ixyx=(Y2*(X1^2+2*X1*X2+3*X2^2))/12+Y1*(X2^2+2*X1*X2+3*X1^2)...
+X1^3*(4*Y1*X2-3*Y1*X1-Y2*X1)/(6*(X2-X1)^2);
end

if X1*X2>=0
Izxx=(Z2*(X1^2+2*X1*X2+3*X2^2)+Z1*(X2^2+2*X1*X2+3*X1^2))/12;
else
Izxx=(Z2*(X1^2+2*X1*X2+3*X2^2))/12+Z1*(X2^2+2*X1*X2+3*X1^2)...
+X1^3*(4*Z1*X2-3*Z1*X1-Z2*X1)/(6*(X2-X1)^2);
end

b14=-b12*Zp+b13*Yp;
b24=-b22*Zp+b23*Yp;
b34=-b32*Zp+b33*Yp;
b15=b11*Zp-b13*Xp;
b25=b21*Zp-b23*Xp;
b35=b31*Zp-b33*Xp;
b16=b12*Xp-b11*Yp;
b26=b22*Xp-b21*Yp;
b36=b32*Xp-b31*Yp;

b44=b33*Iy-b32*Iyzz-b23*Iyzy+b22*Iz;
b54=b13*Iyzy-b12*Iz-b33*Ixyy+b32*Izxz;
b64=b23*Ixyy-b22*Izxz-b13*Iy+b12*Iyzz;
b45=b31*Izyz-b33*Ixyx-b21*Iz+b23*Izxx;
b55=b11*Iz-b13*Izxx-b31*Izxz+b33*Ix;
b65=b21*Izxz-b23*Ix-b11*Iyzz+b13*Ixyx;
b46=b32*Ixyx-b31*Iy-b22*Izxx+b21*Iyzy;
b56=b12*Izxx-b11*Iyzy-b32*Ix+b31*Ixyy;
b66=b22*Ix-b21*Ixyy-b12*Ixyx+b11*Iy;

Bv =[b11 b12 b13 b14 b15 b16


b21 b22 b23 b24 b25 b26
b31 b32 b33 b34 b35 b36
b41 b42 b43 b44 b45 b46
b51 b52 b53 b54 b55 b56
b61 b62 b63 b64 b65 b66];
117

APPENDIX G

MATLAB M-FILE PROGRAMMING

SPAR MAIN PROGRAM

function SparMainProgram(Vc,Hw,Lw,shape,normsurf,LimitTime)
% main program of spar
clear Xg Yg Zg T D H rho KG Weight CD Zseabed
global grav XOff YOff ZOff XmOff YmOff ZmOff SegArea XWtrOff YWtrOff
ZWtrOff
global Xg Yg Zg T D H rho KG Weight CD Zseabed

dT=0.5; DeltaT=0.25;
alpha=0.25*(0.5+dT)^2;
a0=1/(alpha*(DeltaT)^2);
a1=dT/(alpha*DeltaT);
a2=1/(alpha*DeltaT);
a3=(1/(2*alpha))-1;
a4=(dT/alpha);
a5=(DeltaT/2)*((dT/alpha)-2);
a6=DeltaT*(1-dT);
a7=dT*DeltaT;

time=0;
%LimitTime=30;
Zseabed=-914;
KG=92.4;
grav=9.81; rho=1025;
T=198;
Xg=0; Yg=0; Zg=-105.6; % measure from waterline
%Vc=0.8;
%Hw=3; Lw=300;
WaveCourse=0; Lcat=840;
H=216.4; D=40.52; dS=2; dV=2; dR=2;
RatioCD=H/D;
CdCoefConst=[1 2 5 10 20 40; 0.63 0.68 0.74 0.82 0.90 0.98];
CdCoefConst=CdCoefConst';
CD=interp1(CdCoefConst(:,1)',CdCoefConst(:,2)',RatioCD);
FX=0; FY=0; FZ=0; dX=0;
phi=0; te=0; ce=0;
118

X1=0; Y1=0; Z1=-840;


X2=1; Y2=1; Z2=0;
X=zeros(6,1);
Xd=zeros(6,1);
Xdot=Xd(2,1);
Zdot=Xd(3,1);
NewX2=1;
NewY2=0;
NewZ2=0;

[XOff,YOff,ZOff,XWtrOff,YWtrOff,ZWtrOff,SegArea,XmOff,YmOff,ZmOff]=s
egment_surf(dS,dV,dR);
% This to obtain the intial weight of spar
Weight=0; Vc0=0;
[FXtot,FYtot,FZtot,MXtot,MYtot,MZtot]=forcesmomen(SegArea,Z2,WaveCou
rse,Vc0,Xdot,Zdot,Hw,Lw,phi,te,ce,time);
Weight=abs(FZtot);
M=addedmass(Weight,X1,Y1,Z1,NewX2,NewY2,NewZ2);
C=damping(X1,Y1,Z1,NewX2,NewY2,NewZ2,CD);
KM=mooringstiffness(X1,Y1,Z1,NewX2,NewY2,NewZ2,FX,FY,FZ);
KH=stiffnes(phi,te,ce);
K=KM+KH;

[FXtot,FYtot,FZtot,MXtot,MYtot,MZtot]=forcesmomen(SegArea,Z2,WaveCou
rse,Vc0,Xdot,Zdot,Hw,Lw,phi,te,ce,time);
F0=[FXtot; FYtot; FZtot; MXtot; MYtot; MZtot];
% End

FtdT0=F0;

invM=inv(M);
Xdd=invM*(F0-C*Xd-K*X);
time=0; j=1;
while time<=LimitTime
control=true;
iteration=1;
while control
% solution part
Khat=K+a0*M+a1*C;
FtdT1=FtdT0+M*(a0*X+a2*Xd+a3*Xdd)+C*(a1*X+a4*Xd+a5*Xdd);
XtdT=inv(Khat)*FtdT1;
XddT=a0*(XtdT-X)-a2*Xd-a3*Xdd;
XdT=Xd+a6*Xdd+a7*XddT;
phi=XtdT(4,1); te=XtdT(5,1); ce=XtdT(6,1);
X2=XtdT(1,1); Y2=XtdT(2,1); Z2=XtdT(3,1);
Xdot=XdT(1,1); Zdot=XdT(3,1);
FX=FtdT1(1,1); FY=FtdT1(2,1); FZ=FtdT1(3,1);
NewX2=NewX2+X2;
NewY2=NewY2+Y2;
NewZ2=NewZ2+Z2;
M=addedmass(Weight,X1,Y1,Z1,NewX2,NewY2,NewZ2);
C=damping(X1,Y1,Z1,NewX2,NewY2,NewZ2,CD);
KM=mooringstiffness(X1,Y1,Z1,NewX2,NewY2,NewZ2,FX,FY,FZ);
KH=stiffnes(phi,te,ce);
K=KH+KM;

[FXtot,FYtot,FZtot,MXtot,MYtot,MZtot]=forcesmomen(SegArea,NewZ2,Wave
Course,Vc,Xdot,Zdot,Hw,Lw,phi,te,ce,time);
119

NewFtdT1=[FXtot; FYtot; FZtot; MXtot; MYtot; MZtot];

error=(NewFtdT1-FtdT1);
X=XdT;
i=1; Cont=0;
while i<=6
if error(i,1)>0.01*FtdT1;
Cont=Cont+1;
i=i+1;
else
i=i+1;
end
end

if Cont>0
control=true;
FtdT0=NewFtdT1;
else
control=false;
FtdT0=NewFtdT1;
Frecord(j,:)=NewFtdT1';

end
iteration=iteration+1;

motions(:,j)=[time; X];

end
% end of solution

time=time+dT;
j=j+1;
end % end of main program
figure(1); subplot(2,3,1); plot(motions(1,:)',motions(2,:)');
subplot(2,3,2); plot(motions(1,:)',motions(3,:)');
subplot(2,3,3); plot(motions(1,:)',motions(4,:)');
subplot(2,3,4); plot(motions(1,:)',motions(5,:)');
subplot(2,3,5); plot(motions(1,:)',motions(6,:)');
subplot(2,3,6); plot(motions(1,:)',motions(7,:)');
[XX,ZZ]=mooring2D(FXtot,FZtot,Vc);
figure(2); plot(XX,ZZ,'o');
if shape==1
figure(3); surface(XOff,YOff,ZOff);
end
if normsurf==1
figure(4); surfnorm(XmOff,YmOff,ZmOff);
end
120

APPENDIX H

MATLAB M-FILE PROGRAMMING

COUPLE MOORING LINE PROGRAM

function [XX,ZZ]=mooring2D(dFX,dFZ,Vc)
global Zg T rho Zseabed
E=2100000000;
D=0.064;
WeightSpec=100;
TotalLength=1000;
massElmnt=pi*D^2/4*WeightSpec;

ZFairlead=0.2; % from G
CDT=0.01; % Tangential drag coefficient
CDN=1.54; % Normal drag coefficient
rho=1025; % Sea water density
% Weight of mooring line kg/m
grav=9.81; % gravity acceleration
% Initial value for coordinate X
% Initial value for coordinate X
% Initial length
HF=-Zseabed+Zg+ZFairlead;
massElmnt=30; % kg/m
FX=2000+dFX*0.01; FZ=106000+dFZ;

dL=5;
RX=FX;
Ztemp=0; TL=0;
Z=HF; X=0;
%TETA=atan(FZ/FX);
T=sqrt(FX^2+FZ^2); %105000;
ddT=FZ;
T=T+ddT;
TKXZ=T;
TETA=acos(RX/T);
j=1;
control=true;
while control
% Initial tension on first segment
121

A=pi*(D^2)/4; % Cable area


KS=E*A/dL; % Cable stiffness
%TETA=atan(FZ/FX); % Cable segment
orientation
d_dL=T/KS; % Cable elongation
S=dL+d_dL; % Total Suspended
Length S
Zm=0.5*dL*sin(TETA)+Ztemp;
Ztemp=dL*sin(TETA)+Ztemp;
%Current profile
dZ_Elmnt = HF-Zm;
BETA = Vc/(HF+HF^2);
Uz=BETA*dZ_Elmnt + BETA*dZ_Elmnt^2;
%Forces acting on mooring line calculation
Dt=0.5*rho*CDT*D*dL*Uz^2*(sin(TETA))^2; %FDS %
Tangential drag on cable
Dn=0.5*rho*CDN*D*dL*Uz^2*(cos(TETA))^2; %DDS %
Normal drag on cable
W=grav*massElmnt*dL; %
Immersed weight
Wn=W*cos(TETA);
Wt=W*sin(TETA);
P=Dt-Wt; % Total horizontal forces on
cable element
N=Dn+Wn; %+BElmnt; % Total vertical forces on cable
element
dTETA=-N/T;
dT=P;
TETA=TETA+dTETA;
T=T+dT;
if TETA <0
TETA=0;
end
if TL>=TotalLength
control=false;
end
TL=TL+S;
X=X-S*cos(TETA); % Coordinate X
Z=Z-S*sin(TETA); % Coordinate Z

XX(j,1)=X; ZZ(j,1)=Z;
j=j+1;
InitialZ=Z;
InitialX=X;
end
ZZ=ZZ-InitialZ;
XX=XX-InitialX;
%KKX=abs(TKXZ/InitialX);
%KKZ=abs(TKXZ/InitialZ);
%plot(XX,ZZ,'o');

You might also like