International Journal of Engineering and Modern Technology (IJEMT )
E-ISSN 2504-8848
P-ISSN 2695-2149
VOL. 11 NO. 2 2025
DOI: 10.56201/ijemt.vol.11.no2.
OLUSEGUN, Samuel Dare and BAYOPHILIP, Patrick
This study investigates the structural behavior of a jacketed offshore structure subjected to wave loading, focusing on the analysis of nodal forces, displacements, and member stresses. Wave forces were determined using the Morison equation, a widely accepted approach for calculating hydrodynamic loads on slender structures like those found in offshore jackets. The analysis encompasses a detailed examination of pile members, horizontal y-bracing, and diagonal front bracing, considering both the magnitude and distribution of forces and the resulting structural deformations. Key findings reveal significant variations in nodal forces, highlighting areas of high load concentration. Lateral forces on piles, particularly at nodes 2, 4, 7, and 10, reached magnitudes of 5.02e+04 N, emphasizing the importance of considering bending stresses. Axial forces, primarily observed at nodes 5, 8, and 11, peaked at 3.86e+05 N, crucial for assessing pile compressive and tensile capacity. Similar analyses for bracing members identified critical force magnitudes and distributions, with maximum values observed in members 13, 14, 15, and 18. Displacement analysis revealed that while deformations remained relatively small, specific locations, such as members 6, 7, and 13, experienced more pronounced movement. Stress analysis further pinpointed critical members, notably piles 6 and 7, as well as bracing members 13, 14, 15, and 18, where stress concentrations necessitate careful design considerations. These findings underscore the complex interplay of wave forces and structural response in offshore jacket platforms, emphasizing the need for comprehensive analysis to ensure structural integrity and operational safety. The study demonstrates the effectiveness of the Morison equation in predicting wave loads and its importance in the broader structural assessment of offshore structures.
Jacketed Offshore Structure, Wave Force, Nodal Displacement, Member Stress,
. Bhattacharyya, R. (2011). Dynamics of Marine Vehicles and Structures in Waves. CRC
Press.
. Chakrabarti, S. K. (2005). Handbook of Offshore Engineering. Elsevier.
.
DNV. (2020). Offshore Standard: Design of Offshore Steel Structures. Det Norske
Veritas.
.
Palaniswamy, K., et al. (2016). Fatigue Analysis in Offshore Structures. Journal of
Marine Structures, 45, 32–48.
.
MATLAB. (2023). MATLAB Documentation. The MathWorks, Inc. Retrieved from
https://www.mathworks.com/help/
.
Vinnem, J. E. (2014). Offshore Risk Assessment Vol. 1: Principles, Modeling, and
Applications of QRA Studies. Springer.
.
Olusegun Samuel Dare, Ibiba Emmanuel Douglas and Ezebuchi Akandu" Wave Forces,
Displacements and Stresses on Offshore Structures (Using Africa Waters)" American
Journal of Engineering Research (AJER), vol.8, no.02, 2019, pp.271-282
MATLAB CODE
%% FATIGUE FAILURE ASSESSMENT OF JACK UP DRILLING RIG
clc;
clear all;
Hs=7.5;
T=15;
d=50;
D=1.8;
g=9.81;
S=1025;
E=200*10^9;
Hmax=1.85*Hs;
L=g/(2*pi)*T^2;
if (d/L)>0.5
disp('Deep Water')
Ln=L;
elseif (d/L)<=0.5 && (d/L)>=0.05
disp('Transitional Water')
elseif (d/L)<0.05
disp('shallow Water')
end
i=2;
L0(i-1)=L;
L0(i)=g*(T^2)/(2*pi)*tanh(2*pi*d/L0(i-1));
Ln=L0(i);
while(abs((L0(i)-L0(i-1))/L0(i))*100)>0.1
i=i+1;
L0(i)=g*(T^2)/(2*pi)*tanh(2*pi*d/L0(i-1));
Ln=L0(i);
end
disp(Ln)
k=(2*pi)/Ln;
w=sqrt(g*k*tanh(k*d));
t= sqrt((2*pi*Ln)/g);
Umax=(Hmax*T*g)/(2*Ln);
Kc=(Umax*T)/D;
Re =(Umax*D)/S;
if Kc>25 &&Re>1.5*10^6
Cm=1.8, Cd=0.62
elseif Kc>25 && 10^5
elseif (5
Cm=1.8, Cd=0.62
elseif Kc<5
Cm=2.0, Cd=0
end
%% Total Forces on the Jacketed Structures
O= 0:5:720;%linspace(0,360,(360/30)+1);
A1=(pi*D)/(4*Hmax);
A2=((2*k*d)+(sinh(2*k*d) ))/(16*(sinh(k*d))^2 );
A3=(pi*D*1+(k*d*sinh(k*d))-cosh(k*d))/(4*Hmax*sinh(k*d));
A4=((2*k^2*d^2 )+(2*k*d*sinh(2*k*d))+1-cosh(2*k*d))/(64*(sinh(k*d))^2);
Fm=(D*pi*S*(Hmax)^2*Ln)/T^2 *A1*Cm.*sind(O);
Fd=(D*pi*S*(Hmax)^2*Ln)/T^2*(A2*Cd.*abs(cosd(O)).*cosd(O));
FT=Fm+Fd;
figure(1)
plot(O,Fm)
title('Inertia Force on Jecketed Structure Against Phase Angle');
ylabel('Inertia Forces_1 [N]');
xlabel('Phase Angle [Degree]');
figure(2)
plot(O,Fd)
title('Drag Force on Jecketed Structure Against Phase Angle');
ylabel('Drag Forces_1 [N]');
xlabel('Phase Angle [Degree]');
figure(3)
plot(O,FT)
title('Total Force on Jecketed Structure Against Phase Angle');
ylabel('Total Forces_1 [N]');
xlabel('Phase Angle [Degree]');
%% Pile Member Force computation
pile_member=[20,1.8,1.6,90,180,0,1,2,0,20,0,0,1;20,1.8,1.6,180,180,0,4,5,0,20,10,10,2;20,1.
8,1.6,180,180,0,7,8,0,20,10,10,3;20,1.8,1.6,90,180,0,10,11,0,20,0,0,4;20,1.8,1.6,90,180,0,2,3,
20,30,0,0,5;20,1.8,1.6,180,180,0,5,6,20,30,10,10,6;20,1.8,1.6,180,180,0,8,9,20,30,10,10,7;20,
1.8,1.6,90,180,0,11,12,20,30,0,0,8];
xi = pile_member(:,11);
xj = pile_member(:,12);
Fpt=zeros(6,6);
di= pile_member(:,9);
dj= pile_member(:,10);
Nodalpi=pile_member(:,7);
Nodalpj=pile_member(:,8);
Memberpile=pile_member(:,13);
zi=(k*xi)-(w*t);
zj=(k*xj)-(w*t);
Op=180;
Do=2.0;
A11i=sinh(k*(di+zi))/(2*k*sinh(k*di));
A11j=sinh(k*(dj+zj))/(2*k*sinh(k*dj));
A22i=(2*k*(di+zi)+sinh(2*di.*(di+zi)))./(32*(sinh(k*di)).^2);
A22j=(2*k*(dj+zj)+sin(2*dj.*(dj+zj)))./(32*(cosh(k*dj)).^2);
Fmpi=Cm*S*(pi*(Do)^2)/4*Hmax*w^2*A11i*sin(Op);
Fmpj=Cm*S*(pi*(Do)^2)/4*Hmax*w^2*A11j*sin(Op);
% Op is the Pile member angle Column D, E and F
Fdpi=(Cd*S*Do*w^2*(Hmax)^2)/k*A22i*abs(cos(Op))*cos(Op);
Fdpj=(Cd*S*Do*w^2*(Hmax)^2)/k*A22j*abs(cos(Op))*cos(Op);
FTpzzi=Fmpi+Fmpj;
FTpzi=FTpzzi(:,5);
% member angles of vriousoritenttion
Oxi = pile_member(:,4);
Oyi = pile_member(:,5);
Ozi = pile_member(:,6);
FTpxi=cosd(Oxi).*FTpzi;
FTpyi=sind(Oyi).*FTpzi;
Fmpjj=Fmpj(:,5);
FTpzj=(Fmpjj+Fdpj);
FTpxj=cosd(Oxi).*FTpzj;
FTpyj=sind(Oyi).*FTpzj;
Lp = pile_member(:,1);
Do = pile_member(:,2);
Di = pile_member(:,3);
Ap=(Do.^2-Di.^2)./4;
dispxi=(FTpxi.*Lp)./(E.*Ap);
dispyi=(FTpyi.*Lp)./(E.*Ap);
dispzi=(FTpzi.*Lp)./(E.*Ap);
dispxj=(FTpxj.*Lp)./(E.*Ap);
dispyj=(FTpyj.*Lp)./(E.*Ap);
dispzj=(FTpzj.*Lp)./(E.*Ap);
Ox = pile_member(:,4);
Oy = pile_member(:,5);
Oz = pile_member(:,6);
Cxpi=cosd(Ox);
Cypi=cosd(Oy);
Czpi=cosd(Oz);
Cxpj=sind(Ox);
Cypj=sind(Oy);
Czpj=sind(Oz);
STpm=(E./Lp).*((Cxpi.*dispxi)+(Cypi.*dispyi)+(Czpi.*dispzi)+(-Cxpj.*dispxj)+(-
Cypj.*dispyj)+(-Czpj.*dispzj));
% Pile Force Tabulated Results
Pile_memberxi=FTpxi;
Pile_memberyi=FTpyi;
Pile_memberzi=FTpzi;
Pile_memberxj=FTpxj;
Pile_memberyj=FTpyj;
Pile_memberzj=FTpzj;
Rresultspileforce=table(Memberpile,Nodalpi,Pile_memberxi,Pile_memberyi,Pile_memberzi,
Nodalpj,Pile_memberxj,Pile_memberyj,Pile_memberzj)
% Pile Nodal Displacement Tabulated Results
Pile_memberdxi=dispxi;
Pile_memberdyi=dispyi;
Pile_memberdzi=dispzi;
Pile_memberdxj=dispxj;
Pile_memberdyj=dispyj;
Pile_memberdzj=dispzj;
Rresultspiledisp=table(Memberpile,Nodalpi,Pile_memberdxi,Pile_memberdyi,Pile_memberd
zi,Nodalpj,Pile_memberdxj,Pile_memberdyj,Pile_memberdzj)
% Pile Member Stresses Tabulated Results
Pile_memberSTp=STpm;
RresultspileStress=table(Memberpile,Pile_memberSTp)
%% Horizontal Y Bracing Member
hy_bracing=[10,1.2,1,180,0,90,1,7,0,0,0,0,9;10,1.2,1,270,0,90,4,10,0,0,10,10,10;10,1.2,1,180
,0,90,2,8,20,20,0,0,11;10,1.2,1,270,0,90,5,11,20,20,10,10,12;10,1.2,1,180,0,90,3,9,30,30,0,0,
13;10,1.2,1,270,0,90,6,12,30,30,10,10,14];
xhi =hy_bracing(:,11);
xhj =hy_bracing(:,12);
Doh=hy_bracing(:,2);
Ch=Cd*S.*Doh./2;
Ka=Cm*S*(pi.*Doh)./4;
OHi=(k.*xhi)-(w*t);
OHj=(k.*xhj)-(w*t);
% is x first value from reference point corresponding to first nodal point Column K
zHi = Hmax/2*cos(OHi);
zHj = Hmax/2*cos(OHj);
dhi = hy_bracing(:,9);
dhj = hy_bracing(:,10);
Oxhi = hy_bracing(:,4);
Oyhi = hy_bracing(:,5);
Ozhi = hy_bracing(:,6);
Nodalhi=hy_bracing(:,7);
Nodalhj=hy_bracing(:,8);
Memberhy=hy_bracing(:,13);
% OH is the Horizontal y bracing member angle Column D, E and F
Vxhi=(pi*Hmax)/T*cosh(k*(dhi+zHi))/sinh(k*dhi)*cos(OHi);
Vzhi=(pi*Hmax)/T*sinh(k*(dhi+zHi))/sinh(k*dhi)*sin(OHi);
axhi=(2*pi^2*Hmax)/T^2*cosh(k*(dhi+zHi))/sinh(k*dhi)*sin(OHi);
Vnhi= sqrt((Vxhi.^2+Vzhi.^2));
Fhzi=(Ch.*abs(Vnhi).*Vnhi)+(Ka.*axhi);
Vxhj=(pi*Hmax)/T*cosh(k*(dhj+zHj))/sinh(k*dhj)*cos(OHj);
Vzhj=(pi*Hmax)/T*sinh(k*(dhj+zHj))/sinh(k*dhj)*sin(OHj);
axhj=(2*pi^2*Hmax)/T^2*cosh(k*(dhj+zHj))/sinh(k*dhj)*sin(OHj);
Vnhj= sqrt((Vxhj.^2+Vzhj.^2));
Fhzj=(Ch.*abs(Vnhj).*Vnhj)+(Ka.*axhj);
Fhxi=cosd(Oxhi).*Fhzi;
Fhyi=cosd(Oyhi).*Fhzi;
Fhxj=sind(Oxhi).*Fhzj;
Fhyj=sind(Oyhi).*Fhzj;
Lh = hy_bracing(:,1);
Dih = hy_bracing(:,3);
Ah=(Doh.^2-Dih.^2)./4;
disphxi=(Fhxi.*Lh)./(E.*Ah);
disphyi=(Fhyi.*Lh)./(E.*Ah);
disphzi=(Fhzi.*Lh)./(E.*Ah);
disphxj=(Fhxj.*Lh)./(E.*Ah);
disphyj=(Fhyj.*Lh)./(E.*Ah);
disphzj=(Fhzj.*Lh)./(E.*Ah);
Cxhi=cosd(Oxhi);
Cyhi=cosd(Oyhi);
Czhi=cosd(Ozhi);
Cxhj=sind(Oxhi);
Cyhj=sind(Oyhi);
Czhj=sind(Ozhi);
SThm=(E./Lh).*((Cxhi.*disphxi)+(Cyhi.*disphyi)+(Czhi.*disphzi)+(-Cxhj.*disphxj)+(-
Cyhj.*disphyj)+(-Czhj.*disphzj));
% Horizontal Y Bracing Force Tabulated Results
hy_bracingxi=Fhxi;
hy_bracingyi=Fhyi;
hy_bracingzi=Fhzi;
hy_bracingxj=Fhxj;
hy_bracingyj=Fhyj;
hy_bracingzj=Fhzj;
Rresultshorizontalforce=table(Memberhy,Nodalhi,hy_bracingxi,hy_bracingyi,hy_bracingzi,N
odalhj,hy_bracingxj,hy_bracingyj,hy_bracingzj)
% Pile Nodal Displacement Tabulated Results
hy_bracingdxi=disphxi;
hy_bracingdyi=disphyi;
hy_bracingdzi=disphzi;
hy_bracingdxj=disphxj;
hy_bracingdyj=disphyj;
hy_bracingdzj=disphzj;
Rresultshorizontaldisp=table(Memberhy,Nodalhi,hy_bracingdxi,hy_bracingd