Академический Документы
Профессиональный Документы
Культура Документы
Submitted by
ALDRIN BENHER
of
KADAYIRUPPU, KOLENCHERY
OCTOBER 2019
1
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
CERTIFICATE
This is to certify that the seminar report TENSION FATIGUE ANALYSIS OF MOORING
LINES IN OFFSHORE STRUCTURES is the bona fide work done by ALDRIN BENHER
(SNG16NS005) in partial fulfilment of award of B.Tech Degree (2016-2020 Batch) in NAVAL
ARCHITECTURE AND SHIP BUILDING ENGINEERING under Kerala Technological
University, Ernakulam.
2
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
ACKNOWLEDGEMENT
I hereby thank the department of Naval Architecture & Ship Building for giving me the opportunity
to present the topic “Tension Fatigue Analysis of Mooring Lines in Offshore Structures”. I would
like to express my sincere gratitude to my seminar guide Dean SNGCE, Prof.Dr. P.G. Sunil Kumar
for providing invaluable guidance, comments and suggestions throughout the course of the seminar
report.
I am thankful to the Head of the Department, Prof.Dr. Satheesh Babu P K for providing with the
resources, facilities & guide lines required for the seminar to be conducted. I would also like to
thank all the teaching staff of the department who has helped me in this seminar.
3
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
ABSTRACT
KEYWORDS: Simple Summation; Combined Spectrum; Dual Narrow Band; Low Frequency;
Wave Frequency
4
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
TABLE OF CONTENTS
Acknowledgement i
Abstract ii
Chapter 1. Introduction
Chapter 6. Conclusion
References
5
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
LIST OF TABLES
Sl.No. Table No. Title Page No.
6
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
LIST OF FIGURES
7
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
CHAPTER 1
INTRODUCTION
MOORING SYSTEMS
Any marine structure at sea will be subject to variety of forces which include those from winds,
waves and currents. These make positioning of structures like offshore platforms for drilling or
other operations quite difficult. To solve this mooring lines and mooring systems are used. A
mooring system is made up of a mooring line, anchor and connectors, and is used for station
keeping of a ship or floating platform in all water depths. A mooring line connects an anchor on
the seafloor to a floating structure.
Due to the various forces acting on these structures, mooring lines experience
tension in cycles. As such Tension Fatigue occurs and it can cause progressive damage to the
mooring lines eventually leading to its failure. As such it is imperative to analyse the fatigue
strength of the mooring lines to ensure proper functioning at sea.
This report will showcase the various methods of fatigue analysis used for
mooring lines and a C program developed for the same. All calculations and procedures are done
based on API RP 2SK. API (American Petroleum Institute ) was formed in 1919 as a standards-
setting organization and is the global leader in convening subject matter experts across segments
to establish, maintain, and distribute consensus standards for the oil and gas industry. In its first
100 years, API has developed more than 700 standards to enhance operational safety,
environmental protection and sustainability across the industry, especially through these standards
being adopted globally.
8
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
CHAPTER 2
HISTORY OF FATIGUE
Beginning in the first half of the 19th century, mechanical failures were observed to take place in
metals and materials subject to repetitive stress well below their yield strength. The theory came
to be that the metal became "tired" or "fatigued", hence the term "fatigue". The first person to
observe and report what we now know as metal fatigue was a German mining administrator
named Wilhelm Albert. He investigated the failure of mine hoist chains. He then built a
machine which subjected lengths of chain to repeated loads of up to 100,000 cycles. He authored
the first paper on metal fatigue in 1838.
The most influential person at the beginning of the systematic study of fatigue was August
Wöhler. He designed and built many different types of fatigue testing machines, and performed
many different types of tests. He was the first to understand the importance of both stress
amplitude and mean stress on the fatigue life of components. The next significant contributor to
our understanding of fatigue was Johann Bauschinger. His main contribution was the discovery
and description in 1886 of the effect which bears his name. The Bauschinger effect is the effect
whereby induced strains beyond the elastic limit in one loading direction decreases the elastic
limit in the opposite direction.
Recent offshore industry studies have found that fatigue is one of the primary reasons for
offshore mooring failure. Therefore, fatigue analysis plays an essential role in the mooring
design.
9
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
CHAPTER 3
FATIGUE ANALYSIS
Two approaches are commonly employed for fatigue damage evaluation and life prediction of
bridge structures. The first approach is the traditional S-N curve method, in which the
relationship between the constant-amplitude stress range, S, and the number of cycles to failure,
N, is determined by appropriate fatigue experiments and described by an S-N curve. The
Palmgren-Miner linear damage hypothesis, also called Miner’s rule, extends this approach to
variable-amplitude loadings. The second method is the fracture mechanics approach which is
dominantly dedicated to exploring the features and disciplines of crack initiation and growth in
consideration of stress field at the crack tip. In general, the two approaches are applied
sequentially, with the curve method being used for preliminary evaluation of fatigue life and the
fracture mechanics approach for more refined crack-based remaining fatigue life assessment or
effective decision-making on inspection and maintenance strategies.
In the case of mooring lines, fatigue analysis starts with the calculation of T-N curves, which
give the number of cycles to failure for a specific mooring component as a function of
normalized tension range. The Miners rule is used to calculate annual cumulative fatigue damage
ratio D:
𝑛𝑖
𝐷=∑ …. Eqn. 3.1
𝑁𝑖
Where,
Ni = number of cycles to failure at normalized tension range i as givenby the appropriated T-N
curves.
The design fatigue life, which is 1/D, should be greater than the field service life multiplied by a
factor of safety of 3.
T-N curves presented in the below equation can be used for calculating nominal tension fatigue
lives of mooring components:
𝑁𝑅 𝑀 = 𝐾 …. Eqn. 3.2
Where,
N = Number of cycles.
10
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
Let Lm = Ratio of mean load to reference breaking strength for wire rope, M and K values are
provided in the Table 3.1:
Component M K
The annual fatigue damage, accumulated in a mooring line component as a result of cyclic
loading, is summed up from the fatigue damage arising in a set of environmental states chosen to
discretize the long-term environment that the mooring system is subjected to:
𝐷 = ∑𝑖=𝑛
𝑖=1 𝐷𝑖 …. Eqn. 3.3
Where,
The discretization into i = 1…n environmental states should be sufficiently detailed to avoid any
significant error in the total. Each environmental state is defined in terms of the wind, wave and
current parameters and directions required to compute mooring system responses. The
probability of occurrence, Pi, is required for each environmental state. The calculated fatigue life
of the mooring system is:
11
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
The annual fatigue damage accumulated in an individual state may be computed as:
𝑛𝑖
𝐷𝑖 = 𝐸[𝑅𝑖𝑀 ] …. Eqn. 3.5
𝐾
Where,
E[RiM] = the expected value of the normalized tension range Ri raised to the power M, in the
state i.
The number of tension cycles per year in each state can be determined as:
Where,
vi = the zero up-crossing frequency (hertz) of the tension spectrum in the environmental state i,
The normalized tension ranges should be computed taking into account the effects of pretension
and effects of the environmental loads due to wind, waves and current. Although the cumulative
effect of the tension cycles is required in the fatigue analysis, rather than the extreme tension, it
is still necessary to take care to compute the dynamic response of the mooring line to wave-
frequency loads at a representative offset for each environmental state.
12
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
CHAPTER 4
1) Simple Summation (SS) – In this approach, Low Frequency (LF) and Wave Frequency
(WF) fatigue damages are calculated independently. The total damage is assumed to be
the sum of the two.
2) Combined Spectrum (CS) – In this approach, the combined LF and WF spectrum is first
calculated. The total damage is then calculated using the standard deviation of the
combined spectrum.
3) Combined Spectrum with Dual Narrow-Banded Correction Factor – In this approach, a
correction factor is applied to the result of the combined spectrum method (method 2).
Simple Summation will generally give an acceptable estimate of fatigue life however it may
underestimate fatigue damage. The Combined Spectrum method is always conservative and may
significantly overestimate the actual fatigue damage. Method 3 on the other hand is an
improvement, which yields fewer conservative predictions than Method 2. It is suitable for cases
where both LF and WF tensions cause significant fatigue damage.
13
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
Where,
nwi = number of wave frequency tension cycles per year for environmental state i, from eqn. 6.
Rw𝜎𝑖 = ratio of standard deviation of WF tension range to RBS. The standard deviation of the
tension range should be taken as twice the standard deviation of tension.
𝛤 = Gamma function.
nLi = number of wave frequency tension cycles per year for environmental state i, from eqn. 6.
RL𝜎𝑖 = ratio of standard deviation of LF tension range to RBS. The standard deviation of the
tension range should be taken as twice the standard deviation of tension.
𝑅𝜎𝑖 is calculated from LF and WF tension ranges standard deviations with the following
equation,
2 + 𝑅2
𝑅𝜎𝑖 = √𝑅𝑤 …. Eqn. 4.3
𝜎 𝐿𝜎𝑖
𝑖
The number of cycles, ni, in the combined spectrum is calculated from equation 6 with the zero
up-crossing frequency (hertz) of the combined spectrum, 𝑣𝑐𝑖 , given by,
Where,
Vwi = the zero up-crossing frequency of the WF tension spectrum in environmental state i.
14
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
VLi = the zero up-crossing frequency of the LF tension spectrum in environmental state i.
𝑅𝐿2 2
𝑅𝑤
𝜆𝐿𝑖 = 𝑅2 +𝑅𝑖 2 , 𝜆𝑤𝑖 = 𝑅2 +𝑅𝑖 2 …. Eqn. 4.5, Eqn. 4.6
𝐿𝑖 𝑊𝑖 𝐿𝑖 𝑤𝑖
Where the subscript e refers to the envelope of the combined tension process, and the mean up-
crossing frequency of the envelope of the normalized tension process, 𝑣𝑒𝑖 , is given by,
Where,
𝛿𝑤𝑖 = the bandwidth parameter for the wave frequency part of the normalized tension process,
which may be taken as equal to 0.1.
15
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
CHAPTER 5
#include<math.h>
#include<string.h>
#include<stdlib.h>
void main()
FILE *fp,*fp1,*fp2,*fp3,*fp4;
int cl,proc,NS,ND,NL,i=0,j=0,k,m=0,n=0;
float
M,K,kkji[331],Lmkji[331],nom_dia,rbs,s[331][9],f[331][6],P[331],P_Sum=0,PSUM_N=0,PSU
M_NE=0,PSUM_E=0,PSUM_SE=0,PSUM_S=0,PSUM_SW=0,PSUM_W=0,PSUM_NW=0,Ga
mma[331],Hs1[331],Tp1[331],Dir_wave[331],Dir_wind[331],Dir_current[331],Uw[331],Uc[33
1],TLF[331],TWF[331],SLF[331],SWF[331],Tmean[331],DAF[331];
float
all,GF,GF1,GF2,Rw[331],Vw[331],nw[331],Rl[331],Vl[331],nl[331],Dss[331],Dss100[331][33
1];
float Rc[331],Ll[331],Lw[331],Vc[331],nc[331],Dcs[331],Dcs100[331][331];
float Dw=0.1,Ve[331],Pk[331],Ddnb[331],Ddnb100[331][331],nd[331],d=0.0;
float dss[331],dcs[331],ddnb[331],Lss[331],Lcs[331],Ldnb[331];
char data[30],prob[25];
char* token;
scanf("%d",&proc);
if(proc==1)
16
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
here:
printf("1) Studlink Chain \n2) Studless Link Chain \n3) Baldt and Kenter Connecting Link \n4)
Six Strand/Multi Strand Rope \n5) Spiral Strand Rope \n");
scanf("%d",&cl);
switch(cl)
case 1: M=3.0;K=1000;
break;
case 2: M=3.0;K=316;
break;
case 3: M=3.0;K=178;
break;
case 4: M=4.09;//K=pow(10,(3.20-2.79*Lm));
break;
case 5: M=5.05;//K=pow(10,(3.25-3.43*Lm));
break;
default : system("cls");
goto here;
break;
fp=fopen("output.txt","w");
scanf("%f",&nom_dia);
17
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
scanf("%f",&rbs);
system("cls");
switch(cl)
break;
break;
break;
break;
break;
}
18
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
scanf("%d",&ND);
scanf("%d",&NL);
fp3=fopen("draft.csv","r");
while(fgets(data,30,fp3)!=NULL)
i=0;
token=strtok(data,",");
i++;
j++;
if(i==3&&j>10&&n!=ND)
strcpy(prob,token);
nd[n]=atof(prob);
d=d+atof(prob);
//printf("\n%f",nd[n]);
n++;
19
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
if(d<99.9||d>100.1)
fclose(fp3);
d=0.0;
j=0;
n=0;
fp4=fopen("mooring.csv","r");
while(fgets(data,30,fp4)!=NULL)
i=0;
token=strtok(data,",");
i++;
j++;
if(i==5&&j>13&&n!=NL)
strcpy(prob,token);
//printf("\n%s",prob);
d=d+atof(prob);
n++;
20
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
if(d>360)
fclose(fp4);
scanf("%d",&NS);
fp1=fopen("seastates.txt","r");
fp2=fopen("fatigue_load.txt","r");
for(i=0;i<331;i++)
for(j=0;j<9;j++)
fscanf(fp1,"%s",data);
s[i][j]=atof(data);
for(i=0;i<331;i++)
21
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
for(j=0;j<6;j++)
fscanf(fp2,"%s",data);
f[i][j]=atof(data);
for(i=0;i<331;i++)
for(j=0;j<9;j++)
switch(j)
case 0: P[i]=s[i][j];
break;
case 1: Gamma[i]=s[i][j];
break;
case 2: Hs1[i]=s[i][j];
break;
case 3: Tp1[i]=s[i][j];
break;
case 4: Dir_wave[i]=s[i][j];
break;
case 5: Uw[i]=s[i][j];
break;
case 6: Dir_wind[i]=s[i][j];
22
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
break;
case 7: Uc[i]=s[i][j];
break;
case 8: Dir_current[i]=s[i][j];
break;
for(i=0;i<331;i++)
for(j=0;j<6;j++)
switch(j)
case 0: TLF[i]=f[i][j];
break;
case 1: TWF[i]=f[i][j];
break;
case 2: SLF[i]=f[i][j];
break;
case 3: SWF[i]=f[i][j];
break;
case 4: Tmean[i]=f[i][j];
break;
case 5: DAF[i]=f[i][j];
23
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
break;
for(i=0;i<=NS;i++)
//printf("\n%f",P[i]);
printf("\nProbability: %f",P_Sum);
fprintf(fp,"\nProbability: %f\n",P_Sum);
if(P_Sum<0.99)
else if(P_Sum>1.01)
for(i=0;i<=NS;i++)
24
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
if((Dir_wave[i]>=337.5)&&(Dir_wave[i]<360))
PSUM_N+=P[i];
if((Dir_wave[i]>=0)&&(Dir_wave[i]<22.5))
PSUM_N+=P[i];
if((Dir_wave[i]>=22.5)&&(Dir_wave[i]<67.5))
PSUM_NE+=P[i];
if((Dir_wave[i]>=67.5)&&(Dir_wave[i]<112.5))
PSUM_E+=P[i];
if((Dir_wave[i]>=112.5)&&(Dir_wave[i]<157.5))
PSUM_SE+=P[i];
if((Dir_wave[i]>=157.5)&&(Dir_wave[i]<202.5))
PSUM_S+=P[i];
if((Dir_wave[i]>=202.5)&&(Dir_wave[i]<247.5))
PSUM_SW+=P[i];
if((Dir_wave[i]>=247.5)&&(Dir_wave[i]<292.5))
PSUM_W+=P[i];
if((Dir_wave[i]>=292.5)&&(Dir_wave[i]<337.5))
PSUM_NW+=P[i];
printf("\nN : %f",PSUM_N);
fprintf(fp,"\nN : %f",PSUM_N);
printf("\nNE : %f",PSUM_NE);
fprintf(fp,"\nNE : %f",PSUM_NE);
printf("\nE : %f",PSUM_E);
fprintf(fp,"\nE : %f",PSUM_E);
25
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
printf("\nSE : %f",PSUM_SE);
fprintf(fp,"\nSE : %f",PSUM_SE);
printf("\nS : %f",PSUM_S);
fprintf(fp,"\nS : %f",PSUM_S);
printf("\nSW : %f",PSUM_SW);
fprintf(fp,"\nSW : %f",PSUM_SW);
printf("\nW : %f",PSUM_W);
fprintf(fp,"\nW : %f",PSUM_W);
printf("\nNW : %f",PSUM_NW);
fprintf(fp,"\nNW : %f",PSUM_NW);
all=PSUM_N+PSUM_NE+PSUM_E+PSUM_SE+PSUM_S+PSUM_SW+PSUM_W+PSUM_N
W;
printf("\nALL : %f",all);
fprintf(fp,"\nALL : %f",all);
for(k=1;k<=ND;k++)
for(j=1;j<=NL;j++)
for(i=0;i<=NS;i++)
switch(cl)
case 1: M=3.0;K=1000;GF=1.32934;GF1=1;GF2=1.329345;
break;
case 2: M=3.0;K=316;GF=1.32934;GF1=1;GF2=1.329345;
26
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
break;
case 3: M=3.0;K=178;GF=1.32934;GF1=1;GF2=1.329345;
break;
case 4: M=4.09;Lmkji[k]=Tmean[k]/rbs;kkji[k]=pow(10,(3.20-
2.79*Lmkji[k]));GF=2.08567;GF1=1.36771;GF2=2.08567;
break;
case 5: M=5.05;Lmkji[k]=Tmean[k]/rbs;kkji[k]=pow(10,(3.25-
3.43*Lmkji[k]));GF=3.41668;GF1=2.04697;GF2=3.41668;
break;
Rw[i]=(2*SWF[i]*DAF[i])/rbs;
Vw[i]=1/TWF[i];
nw[i]=Vw[i]*P[i]*3.15576*(pow(10,7));
Rl[i]=(2*SLF[i])/rbs;
Vl[i]=1/TLF[i];
nl[i]=Vl[i]*P[i]*3.155768*(pow(10,7));
if(cl==1||cl==2||cl==3)
Dss[i]=pow((nw[i]/K)*(sqrt(2)*Rw[i]),M)*GF+pow((nl[i]/K)*(sqrt(2)*Rl[i]),M)*GF;
if(cl==4||cl==5)
Dss[i]=pow((nw[i]/kkji[i])*(sqrt(2)*Rw[i]),M)*GF+pow((nl[i]/kkji[i])*(sqrt(2)*Rl[i]),M)*GF;
Dss100[j-1][k-1]+=Dss[i];
27
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
Rc[i]=sqrt(pow(Rw[i],2)+pow(Rl[i],2));
Ll[i]=(pow(Rl[i],2)/(pow(Rw[i],2)+pow(Rl[i],2)));
Lw[i]=(pow(Rw[i],2)/(pow(Rw[i],2)+pow(Rl[i],2)));
Vc[i]=sqrt(Ll[i]*pow(Vl[i],2)+Lw[i]*pow(Vw[i],2));
nc[i]=Vc[i]*P[i]*3.15576*pow(10,7);
if(cl==1||cl==2||cl==3)
Dcs[i]=pow((nc[i]/K)*(sqrt(2)*Rc[i]),M)*GF;
if(cl==4||cl==5)
Dcs[i]=pow((nw[i]/kkji[i])*(sqrt(2)*Rw[i]),M)*GF;
Dcs100[j-1][k-1]+=Dcs[i];
Ve[i]=sqrt(pow(Ll[i],2)*pow(Vl[i],2)+Ll[i]*Lw[i]*pow(Vw[i],2)*pow(Dw,2));
Pk[i]=(Ve[i]/Vc[i])*(pow(Ll[i],(M/2)+2)*(1-
sqrt(Lw[i]/Ll[i]))+sqrt((22/7)*Ll[i]*Lw[i])*(M*GF1/GF2))+(Vw[i]/Vc[i])*pow(Lw[i],M/2);
Ddnb[i]=Pk[i]*Dcs[i];
Ddnb100[j-1][k-1]+=Ddnb[i];
fprintf(fp,"\n\nDamage-SS\tDamage-CS\tDamage-DNB\tFatigue-SS\tFatigue-CS\tFatigue-
DNB\n");
for(i=0;i<NL;i++)
28
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
for(j=0;j<ND;j++)
Dss100[i][j]=Dss100[i][j]*nd[i];
dss[i]+=Dss100[i][j];
Lss[i]=1/dss[i];
Dcs100[i][j]=Dcs100[i][j]*nd[i];
dcs[i]+=Dcs100[i][j];
Lcs[i]=1/dcs[i];
Ddnb100[i][j]=Ddnb100[i][j]*nd[i];
ddnb[i]+=Ddnb100[i][j];
Ldnb[i]=1/ddnb[i];
fprintf(fp,"\n%f\t%f\t%f\t%f\t%f\t%f",dss[i],dcs[i],ddnb[i],Lss[i],Lcs[i],Ldnb[i]);
fclose(fp);
fclose(fp1);
fcl#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
void main()
FILE *fp,*fp1,*fp2,*fp3,*fp4;
int cl,proc,NS,ND,NL,i=0,j=0,k,m=0,n=0;
29
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
float
M,K,kkji[331],Lmkji[331],nom_dia,rbs,s[331][9],f[331][6],P[331],P_Sum=0,PSUM_N=0,PSU
M_NE=0,PSUM_E=0,PSUM_SE=0,PSUM_S=0,PSUM_SW=0,PSUM_W=0,PSUM_NW=0,Ga
mma[331],Hs1[331],Tp1[331],Dir_wave[331],Dir_wind[331],Dir_current[331],Uw[331],Uc[33
1],TLF[331],TWF[331],SLF[331],SWF[331],Tmean[331],DAF[331];
float
all,GF,GF1,GF2,Rw[331],Vw[331],nw[331],Rl[331],Vl[331],nl[331],Dss[331],Dss100[331][33
1];
float Rc[331],Ll[331],Lw[331],Vc[331],nc[331],Dcs[331],Dcs100[331][331];
float Dw=0.1,Ve[331],Pk[331],Ddnb[331],Ddnb100[331][331],nd[331],d=0.0;
float dss[331],dcs[331],ddnb[331],Lss[331],Lcs[331],Ldnb[331];
char data[30],prob[25];
char* token;
scanf("%d",&proc);
if(proc==1)
here:
printf("1) Studlink Chain \n2) Studless Link Chain \n3) Baldt and Kenter Connecting Link \n4)
Six Strand/Multi Strand Rope \n5) Spiral Strand Rope \n");
scanf("%d",&cl);
switch(cl)
case 1: M=3.0;K=1000;
break;
case 2: M=3.0;K=316;
break;
30
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
case 3: M=3.0;K=178;
break;
case 4: M=4.09;//K=pow(10,(3.20-2.79*Lm));
break;
case 5: M=5.05;//K=pow(10,(3.25-3.43*Lm));
break;
default : system("cls");
goto here;
break;
fp=fopen("output.txt","w");
scanf("%f",&nom_dia);
scanf("%f",&rbs);
system("cls");
switch(cl)
break;
31
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
break;
break;
break;
break;
scanf("%d",&ND);
scanf("%d",&NL);
fp3=fopen("draft.csv","r");
while(fgets(data,30,fp3)!=NULL)
32
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
i=0;
token=strtok(data,",");
i++;
j++;
if(i==3&&j>10&&n!=ND)
strcpy(prob,token);
nd[n]=atof(prob);
d=d+atof(prob);
//printf("\n%f",nd[n]);
n++;
if(d<99.9||d>100.1)
fclose(fp3);
d=0.0;
33
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
j=0;
n=0;
fp4=fopen("mooring.csv","r");
while(fgets(data,30,fp4)!=NULL)
i=0;
token=strtok(data,",");
i++;
j++;
if(i==5&&j>13&&n!=NL)
strcpy(prob,token);
//printf("\n%s",prob);
d=d+atof(prob);
n++;
if(d>360)
34
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
fclose(fp4);
scanf("%d",&NS);
fp1=fopen("seastates.txt","r");
fp2=fopen("fatigue_load.txt","r");
for(i=0;i<331;i++)
for(j=0;j<9;j++)
fscanf(fp1,"%s",data);
s[i][j]=atof(data);
for(i=0;i<331;i++)
for(j=0;j<6;j++)
fscanf(fp2,"%s",data);
f[i][j]=atof(data);
for(i=0;i<331;i++)
35
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
for(j=0;j<9;j++)
switch(j)
case 0: P[i]=s[i][j];
break;
case 1: Gamma[i]=s[i][j];
break;
case 2: Hs1[i]=s[i][j];
break;
case 3: Tp1[i]=s[i][j];
break;
case 4: Dir_wave[i]=s[i][j];
break;
case 5: Uw[i]=s[i][j];
break;
case 6: Dir_wind[i]=s[i][j];
break;
case 7: Uc[i]=s[i][j];
break;
case 8: Dir_current[i]=s[i][j];
break;
36
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
for(i=0;i<331;i++)
for(j=0;j<6;j++)
switch(j)
case 0: TLF[i]=f[i][j];
break;
case 1: TWF[i]=f[i][j];
break;
case 2: SLF[i]=f[i][j];
break;
case 3: SWF[i]=f[i][j];
break;
case 4: Tmean[i]=f[i][j];
break;
case 5: DAF[i]=f[i][j];
break;
for(i=0;i<=NS;i++)
37
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
//printf("\n%f",P[i]);
printf("\nProbability: %f",P_Sum);
fprintf(fp,"\nProbability: %f\n",P_Sum);
if(P_Sum<0.99)
else if(P_Sum>1.01)
for(i=0;i<=NS;i++)
if((Dir_wave[i]>=337.5)&&(Dir_wave[i]<360))
PSUM_N+=P[i];
if((Dir_wave[i]>=0)&&(Dir_wave[i]<22.5))
PSUM_N+=P[i];
if((Dir_wave[i]>=22.5)&&(Dir_wave[i]<67.5))
PSUM_NE+=P[i];
if((Dir_wave[i]>=67.5)&&(Dir_wave[i]<112.5))
PSUM_E+=P[i];
38
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
if((Dir_wave[i]>=112.5)&&(Dir_wave[i]<157.5))
PSUM_SE+=P[i];
if((Dir_wave[i]>=157.5)&&(Dir_wave[i]<202.5))
PSUM_S+=P[i];
if((Dir_wave[i]>=202.5)&&(Dir_wave[i]<247.5))
PSUM_SW+=P[i];
if((Dir_wave[i]>=247.5)&&(Dir_wave[i]<292.5))
PSUM_W+=P[i];
if((Dir_wave[i]>=292.5)&&(Dir_wave[i]<337.5))
PSUM_NW+=P[i];
printf("\nN : %f",PSUM_N);
fprintf(fp,"\nN : %f",PSUM_N);
printf("\nNE : %f",PSUM_NE);
fprintf(fp,"\nNE : %f",PSUM_NE);
printf("\nE : %f",PSUM_E);
fprintf(fp,"\nE : %f",PSUM_E);
printf("\nSE : %f",PSUM_SE);
fprintf(fp,"\nSE : %f",PSUM_SE);
printf("\nS : %f",PSUM_S);
fprintf(fp,"\nS : %f",PSUM_S);
printf("\nSW : %f",PSUM_SW);
fprintf(fp,"\nSW : %f",PSUM_SW);
printf("\nW : %f",PSUM_W);
fprintf(fp,"\nW : %f",PSUM_W);
39
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
printf("\nNW : %f",PSUM_NW);
fprintf(fp,"\nNW : %f",PSUM_NW);
all=PSUM_N+PSUM_NE+PSUM_E+PSUM_SE+PSUM_S+PSUM_SW+PSUM_W+PSUM_N
W;
printf("\nALL : %f",all);
fprintf(fp,"\nALL : %f",all);
for(k=1;k<=ND;k++)
for(j=1;j<=NL;j++)
for(i=0;i<=NS;i++)
switch(cl)
case 1: M=3.0;K=1000;GF=1.32934;GF1=1;GF2=1.329345;
break;
case 2: M=3.0;K=316;GF=1.32934;GF1=1;GF2=1.329345;
break;
case 3: M=3.0;K=178;GF=1.32934;GF1=1;GF2=1.329345;
break;
case 4: M=4.09;Lmkji[k]=Tmean[k]/rbs;kkji[k]=pow(10,(3.20-
2.79*Lmkji[k]));GF=2.08567;GF1=1.36771;GF2=2.08567;
break;
case 5: M=5.05;Lmkji[k]=Tmean[k]/rbs;kkji[k]=pow(10,(3.25-
3.43*Lmkji[k]));GF=3.41668;GF1=2.04697;GF2=3.41668;
break;
40
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
Rw[i]=(2*SWF[i]*DAF[i])/rbs;
Vw[i]=1/TWF[i];
nw[i]=Vw[i]*P[i]*3.15576*(pow(10,7));
Rl[i]=(2*SLF[i])/rbs;
Vl[i]=1/TLF[i];
nl[i]=Vl[i]*P[i]*3.155768*(pow(10,7));
if(cl==1||cl==2||cl==3)
Dss[i]=pow((nw[i]/K)*(sqrt(2)*Rw[i]),M)*GF+pow((nl[i]/K)*(sqrt(2)*Rl[i]),M)*GF;
if(cl==4||cl==5)
Dss[i]=pow((nw[i]/kkji[i])*(sqrt(2)*Rw[i]),M)*GF+pow((nl[i]/kkji[i])*(sqrt(2)*Rl[i]),M)*GF;
Dss100[j-1][k-1]+=Dss[i];
Rc[i]=sqrt(pow(Rw[i],2)+pow(Rl[i],2));
Ll[i]=(pow(Rl[i],2)/(pow(Rw[i],2)+pow(Rl[i],2)));
Lw[i]=(pow(Rw[i],2)/(pow(Rw[i],2)+pow(Rl[i],2)));
Vc[i]=sqrt(Ll[i]*pow(Vl[i],2)+Lw[i]*pow(Vw[i],2));
nc[i]=Vc[i]*P[i]*3.15576*pow(10,7);
if(cl==1||cl==2||cl==3)
Dcs[i]=pow((nc[i]/K)*(sqrt(2)*Rc[i]),M)*GF;
41
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
if(cl==4||cl==5)
Dcs[i]=pow((nw[i]/kkji[i])*(sqrt(2)*Rw[i]),M)*GF;
Dcs100[j-1][k-1]+=Dcs[i];
Ve[i]=sqrt(pow(Ll[i],2)*pow(Vl[i],2)+Ll[i]*Lw[i]*pow(Vw[i],2)*pow(Dw,2));
Pk[i]=(Ve[i]/Vc[i])*(pow(Ll[i],(M/2)+2)*(1-
sqrt(Lw[i]/Ll[i]))+sqrt((22/7)*Ll[i]*Lw[i])*(M*GF1/GF2))+(Vw[i]/Vc[i])*pow(Lw[i],M/2);
Ddnb[i]=Pk[i]*Dcs[i];
Ddnb100[j-1][k-1]+=Ddnb[i];
fprintf(fp,"\n\nDamage-SS\tDamage-CS\tDamage-DNB\tFatigue-SS\tFatigue-CS\tFatigue-
DNB\n");
for(i=0;i<NL;i++)
for(j=0;j<ND;j++)
Dss100[i][j]=Dss100[i][j]*nd[i];
dss[i]+=Dss100[i][j];
Lss[i]=1/dss[i];
Dcs100[i][j]=Dcs100[i][j]*nd[i];
dcs[i]+=Dcs100[i][j];
Lcs[i]=1/dcs[i];
42
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
Ddnb100[i][j]=Ddnb100[i][j]*nd[i];
ddnb[i]+=Ddnb100[i][j];
Ldnb[i]=1/ddnb[i];
fprintf(fp,"\n%f\t%f\t%f\t%f\t%f\t%f",dss[i],dcs[i],ddnb[i],Lss[i],Lcs[i],Ldnb[i]);
fclose(fp);
fclose(fp1);
fclose(fp2);
43
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
CHAPTER 5
CONCLUSION
This study helps to understand the uses and importance of mooring systems in the offshore
industry. It is vital to carry out fatigue analysis on the mooring lines used in these systems to
determine if they will be able to withstand the damage caused by environmental factors such as
wind, current, wave etc to a certain extent. International societies such as DNV GL, API etc have
established various minimum standards for mooring lines to be used and methods for fatigue
analysis of these lines. The methods used by API (American Petroleum Industry) have been
discussed which include – Simple Summation approach, Combined Spectrum approach and
Combined Spectrum with Dual Narrow-Banded Correction Factor. All three methods involve the
processing of the Low Frequency and Wave Frequency values obtained by analysis environmental
states occurring within a specified time limit. Out of these three methods the Dual Narrow-Banded
approach yields the most accurate values of fatigue damage.
Moving forward the development of the above coding is to be don according to the methods and
standards adopted by other societies such as DNV GL, ABS etc. and the results obtained from each
can be compared to establish a set of values which may provide a more accurate depiction of the
actual fatigue values experienced and find out which is the more suitable method.
44
TENSION FATIGUE ANALYSIS OF MOORING LINES IN OFFSHORE STRUCTURES
REFERENCES
[1] Dongsheng Qiao, Jun Yan, Jinping Ou,” Fatigue analysis of deepwater hybrid
mooring line under corrosion effect “Deepwater Engineering Research Center, Dalian
University of Technology, Dalian, China, State Key Laboratory of Coastal and
Offshore Engineering, Dalian University of Technology, Dalian, China.
[2] Chanhoe Kang, Changhyun Lee, Seock-Hee Jun, Yeong-Tae Oh, ” Fatigue Analysis
of Spread Mooring Lin”, World Academy of Science, Engineering and Technology
International Journal of Geological and Environmental Engineering Vol:10, No:5,
2016
45