You are on page 1of 7

clear all;

close all;
% input
% dl=input( '..Deck load-->');
% bl=input( '..Ballast Load-->');
% wh=input( '..Wave Height (metre)-->');
% T=input( '..Wave Period (sec) -->');
% di=input('..Water Depth (metre)-->');
% DR=input('..Density of the material-->');
% Th=input('..Thickness of tube-->');
% mt=input('..Maximum time-->');
% amx=input('..Model Acceleration in x direction-->');
% amy=input('..Model Acceleration in y direction-->');
dl=8;bl=0;wh=.15;T=1.9;di=.9;Th=.05;mt=10;amx=1000.2;amy=.8;Cm=1;p=1000;D=0
.1;Cd=2;iv=1;
%Modelling
nn=20;ne=20;ndf=6;ER=2.5e9;Mu=0.39;GR=ER/(2*(1+Mu));
te=1.4;
y=[0,0.23,0.55,0.87,1.2,0,0.23,0.55,0.87,1.2,0,0.23,0.55,0.87,1.2,0,0.23,0.
55,0.87,1.2,];
x=[-0.15,-0.15,-0.15,-0.15,-0.15,0.15,0.15,0.15,0.15,0.15,-0.15,-0.15,0.15,-0.15,-0.15,0.15,0.15,0.15,0.15,0.15];
z=[0.15,0.15,0.15,0.15,0.15,0.15,0.15,0.15,0.15,0.15,-0.15,-0.15,-0.15,0.15,-0.15,-0.15,-0.15,-0.15,-0.15,-0.15];
ei=[1,2,3,4,6,7,8,9,11,12,13,14,16,17,18,19,5,10,20,15];
ej=[2,3,4,5,7,8,9,10,12,13,14,15,17,18,19,20,10,20,15,5];
bcn=[1,2,3,4,5,6,28,29,30,31,32,33,34,35,36,58,59,60,61,62,63,64,65,66,88,8
9,90,91,92,93,94,95,96,118,119,120];bcni=zeros(1,36);
%Plotting basic figure
for ie=1:ne
ni=ei(ie);nj=ej(ie);xp(:,ie)=[x(ni);x(nj)];yp(:,ie)=[y(ni);y(nj)];zp(:,ie)=
[z(ni);z(nj)];
end;
figure
title ('Basic structure'); plot3(xp,yp,zp);ylabel ( 'HEIGHT');xlabel
('WIDTH');zlabel ('WIDTH');
%initialisation
URX=zeros(nn,1);URY=zeros(nn,1);UZ=zeros(nn,1);sdf=nn*ndf;def=zeros(sdf,1);
F=zeros((nn*ndf),1);Vmx=zeros(5,2);Vmy=zeros(5,2);
Amx=zeros(5,2);Amy=zeros(5,2);
sdf=nn*ndf;edf=12;k1=zeros(edf,edf);mc=k1;ml=k1;
ks=zeros(sdf,sdf);msc=zeros(sdf,sdf);
msl=zeros(sdf,sdf);
for ie=1:ne,ni=ei(ie);nj=ej(ie);xd=x(nj)-x(ni);yd=y(nj)-y(ni);
IR=1.688e-6;JR=1.688e-6;AR=.0015;DR=1190;
%element-cycle
le=[0.23,0.32,0.32,0.33,0.23,0.32,0.32,0.33,0.23,0.32,0.32,0.33,0.23,0.32,0
.32,0.33,0.3,0.3,0.3,0.3];
if ie==1
if bl==15
IR=1.688e-06+3.22e-06;JR=1.688e-06+3.22e06;AR=.0015+0.0064;DR=(DR+1000)/2;
elseif bl==25
IR=1.688e-06+(3.22e-06*2.6);JR=1.688e-06+(3.22e06*2.6);AR=.0015+0.0064;DR=(DR+2600)/2;
elseif bl==0
IR=1.688e-6;JR=1.688e-6;AR=.0015;

end;
end;
if ie==5
if bl==15
IR=1.688e-06+3.22e-06;JR=1.688e-06+3.22e06;AR=.0015+0.0064;DR=(DR+1000)/2;
elseif bl==25
IR=1.688e-06+(3.22e-06*2.6);JR=1.688e-06+(3.22e06*2.6);AR=.0015+0.0064;DR=(DR+2600)/2;
elseif bl==0
IR=1.688e-6;JR=1.688e-6;AR=.0015;
end;
end;
if ie==9
if bl==15
IR=1.688e-06+3.22e-06;JR=1.688e-06+3.22e06;AR=.0015+0.0064;DR=(DR+1000)/2;
elseif bl==25
IR=1.688e-06+(3.22e-06*2.6);JR=1.688e-06+(3.22e06*2.6);AR=.0015+0.0064;DR=(DR+2600)/2;
elseif bl==0
IR=1.688e-6;JR=1.688e-6;AR=.0015;
end;
end;
if ie==13
if bl==15
IR=1.688e-06+3.22e-06;JR=1.688e-06+3.22e06;AR=.0015+0.0064;DR=(DR+1000)/2;
elseif bl==25
IR=1.688e-06+(3.22e-06*2.6);JR=(3.22e06*2.6);AR=.0015+0.0064;DR=(DR+2600)/2;
elseif bl==0
IR=1.688e-6;JR=1.688e-6;AR=.0015;
end;
end;
if ie==17
if dl==0
IR=1.688e-06+1.5e-07;JR=1.688e-06+1.5e07;AR=.0015+0.0064;DR=(DR+1000)/2;
elseif dl==8
IR=1.688e-6;JR=1.688e-6;AR=.0015;
end;
end;
if ie==18
if dl==0
IR=1.688e-06+1.5e-07;JR=1.688e-06+1.5e07;AR=.0015+0.0064;DR=(DR+1000)/2;
elseif dl==8
IR=1.688e-6;JR=1.688e-6;AR=.0015;
end;
end;
if ie==19
if dl==0
IR=1.688e-06+1.5e-07;JR=1.688e-06+1.5e07;AR=.0015+0.0064;DR=(DR+1000)/2;
elseif dl==8
IR=1.688e-6;JR=1.688e-6;AR=.0015;
end;
end;
if ie==20
if dl==0

IR=1.688e-06+1.5e-07;JR=1.688e-06+1.5e07;AR=.0015+0.0064;DR=(DR+1000)/2;
elseif dl==8
IR=1.688e-6;JR=1.688e-6;AR=.0015;
end;
end;
ym=ER*ones(1,ne);aj=JR*ones(1,ne);aa=AR*ones(1,ne);ag=GR*ones(1,ne);
ai=IR*ones(1,ne);den=DR*ones(1,ne);
A=aa(ie);E=ym(ie);R=den(ie);I=ai(ie);J=aj(ie);G=ag(ie);l=le(ie);
a1=E*A/l;a2=12*E*I/(l^3);a3=(G*J/l);a4=4*E*I/l;a5=a2*l/2;a6=a5*l/3;
b1=R*A*l/2;b2=R*A*l/420;
c1=140*b2;c2=156*b2;c3=140*I*b2/A;c4=4*l*l*b2;c5=b2*3*l*l;c6=b2*22*l;c7=b2*
54;c8=b2*13*l;
m1=[c1+p*D*D,0,0,0,0,0,c1/2,0,0,0,0,0;
0,c2+p*D*D,0,0,0,c6,0,c7,0,0,0,-c8;
0,0,c2+p*D*D,0,-c6,0,0,0,c7,0,c8,0;
0,0,0,c3,0,0,0,0,0,c3/2,0,0;
0,0,-c6,0,c4,0,0,0,-c8,0,-c5,0;
0,c6,0,0,0,c4,0,c8,0,0,0,-c5;
c1/2,0,0,0,0,0,c1+p*D*D,0,0,0,0,0;
0,c7,0,0,0,c8,0,c2+p*D*D,0,0,0,-c6;
0,0,c7,0,-c8,0,0,0,c2+p*D*D,0,c6,0;
0,0,0,c3/2,0,0,0,0,0,c3,0,0;
0,0,c8,0,-c5,0,0,0,c6,0,c4,0;
0,-c8,0,0,0,-c5,0,-c6,0,0,0,c4];
m2=b1*diag([1+p*D*D,1+p*D*D,1+p*D*D,I/A,0,0,1+p*D*D,1+p*D*D,1+p*D*D,I/A,0,0
]);
ke=[a1,0,0,0,0,0,0,-a1,0,0,0,0;
0,a2,0,0,0,a5,0,-a2,0,0,0,a5;
0,0,a2,0,-a5,0,0,0,-a2,0,-a5,0;
0,0,0,a3,0,0,0,0,0,-a3,0,0;
0,0,-a5,0,a4,0,0,0,a5,0,a6,0;
0,a5,0,0,0,a4,0,-a5,0,0,0,a6;
0,0,0,0,0,0,a1,0,0,0,0,0;
-a1,-a2,0,0,0,-a5,0,a2,0,0,0,-a5;
0,0,-a2,0,a5,0,0,0,a2,0,a5,0;
0,0,0,-a3,0,0,0,0,0,a3,0,0;
0,0,-a5,0,a6,0,0,0,a5,0,a4,0;
0,a5,0,0,0,a6,0,-a5,0,0,0,a4];
%
ym=ER*ones(1,ne);aj=JR*ones(1,ne);aa=AR*ones(1,ne);ag=GR*ones(1,ne);
%
ai=IR*ones(1,ne);den=DR*ones(1,ne);
%
A=aa(ie);E=ym(ie);R=den(ie);I=ai(ie);J=aj(ie);G=ag(ie);l=le(ie);
%
a1=E*A/l;a2=12*E*I/(l^3);a3=(G*J/l);a4=4*E*I/l;a5=a2*l/2;a6=a5*l/3;
%
b1=R*A*l/2;b2=R*A*c7,0,c8,0;
%
0,0,0,c3,0,0,0,0,0,c3/2,0,0;
%
0,0,-c6,0,c4,0,0,0,-c8,0,-c5,0;
%
0,c6,0,0,0,c4,0,c8,0,0,0,-c5;
%
c1/2,0,0,0,0,0,c1+p*D*D,0,0,0,0,0;
%
0,c7,0,0,0,c8,0,c2+p*D*D,0,0,0,-c6;
%
0,0,c7,0,-c8,0,0,0,c2+p*D*D,0,c6,0;
%
0,0,0,c3/2,0,0,0,0,0,c3,0,0;
%
0,0,c8,0,-c5,0,0,0,c6,0,c4,0;
%
0,-c8,0,0,0,-c5,0,-c6,0,0,0,c4]

%
m2=b1*diag([1+p*D*D,1+p*D*D,1+p*D*D,I/A,0,0,1+p*D*D,1+p*D*D,1+p*D*D,I/A,0,0
]); l/420;
%
c1=140*b2;c2=156*b2;c3=140*I*b2/A;c4=4*l*l*b2;c5=b2*3*l*l;c6=b2*22*l;c7=b2*
54;c8=b2*13*l;
%
m1=[c1+p*D*D,0,0,0,0,0,c1/2,0,0,0,0,0;
%
0,c2+p*D*D,0,0,0,c6,0,c7,0,0,0,-c8;
%
0,0,c2+p*D*D,0,-c6,0,0,0,
k1=ke;
mc=m1;
ml=m2;
index=[ni*6-5,ni*6-4,ni*6-3,ni*6-2,ni*6-1,ni*6,nj*6-5,nj*64,nj*6-3,nj*6-2,nj*6-1,nj*6];
for id=1:edf ,ii=index(id);
%----------assembly-cycle------------for jd=1:edf, jj=index(jd);
ks(ii,jj)=ks(ii,jj)+k1(id,jd);
msc(ii,jj)=msc(ii,jj)+mc(id,jd);
msl(ii,jj)=msl(ii,jj)+ml(id,jd);
end;
end;
%-------------assembly-end--------------end;
%------------element-end----------------------------ksb=ks;
mscb=msc;
mslb=msl;
%------------Boundary conditions-----------bn=length(bcn);
for ib=1:bn
cb=bcn(ib);
for jd=1:sdf
ksb(cb,jd)=0;mscb(cb,jd)=0;mslb(cb,jd)=0;
ksb(jd,cb)=0;mscb(jd,cb)=0;mslb(jd,cb)=0;
end;
ksb(cb,cb)=1;mscb(cb,cb)=1;mslb(cb,cb)=1;
end
%damping matrix
A0=0.9198;A1=0.0021;
cs=ksb*A1+mscb*A0;
yy=zeros((nn*ndf),1);xx=zeros((nn*ndf),1);ac=zeros(nn*ndf,1);
for t=1:iv:mt
F2=zeros(120,1);ac2=zeros(120,1);
if t>1
F2=F;ac2=ac;
end;
F=zeros(120,1);
%Dead load
W=2*3.14/T;
d=D-2*Th;
for i=1:6:120;
F(i,1)=-190*9.81*3.14*(D*D-d*d)*l/4;
end;
%Wave force
L=9.81*T*T*sqrt(tanh((4*3.14*3.14*di)/(T*T*9.81)))/(2*3.14);
K=2*3.14/L;
k1(1)=K;
for i=1:1:100

k1(i+1)=W*W/(9.81*tanh(k1(i)*di));
if k1(i+1)==k1(i);
K=k1(i);
end; end;
%Model Velocity and Acceleration
a1=-amx/(W*W*sin(W*t));
vmx=-a1*W*cos(W*t);
a2=-amy/(W*W*sin(W*t));
vmy=-a2*W*cos(W*t);
Vmx(4,1)=Vmx(4,2)==(vmx*0.87)/1.2;
Vmx(3,1)=Vmx(3,2)==(vmx*0.55)/1.2;
Vmx(2,1)=Vmx(2,2)==(vmx*0.23)/1.2;
Vmx(1,1)=Vmx(1,2)==0;
Vmx(5,1)=Vmx(5,2)==0;
Amx(4,1)=Amx(4,2)==(amx*0.87)/1.2;
Amx(3,1)=Amx(3,2)==(amx*0.55)/1.2;
Amx(2,1)=Amx(2,2)==(amx*0.23)/1.2;
Amx(1,1)=Amx(1,2)==0;
Amx(5,1)=Amx(5,2)==0;
Vmy(4,1)=Vmy(4,2)==(vmy*0.87)/1.2;
Vmy(3,1)=Vmy(3,2)==(vmy*0.55)/1.2;
Vmy(2,1)=Vmy(2,2)==(vmy*0.23)/1.2;
Vmy(1,1)=Vmy(1,2)==0;
Vmy(5,1)=Vmy(5,2)==0;
Amy(4,1)=Amy(4,2)==(amy*0.87)/1.2;
Amy(3,1)=Amy(3,2)==(amy*0.55)/1.2;
Amy(2,1)=Amy(2,2)==(amy*0.23)/1.2;
Amy(1,1)=Amy(1,2)==0;
Amy(5,1)=Amy(5,2)==0;
y(1)=0.0;y(2)=0.23;y(3)=0.55;y(4)=0.9;y(5)=1.2;x(1)=0;x(2)=0.3;
for j=1:1:2
for i=1:1:5
%Velocity
Vcx(i,j)=W*wh*cosh(K*y(i))*cos(K*x(j)-W*t)/(2*sinh(K*di));
Vcy(i,j)=W*wh*sinh(K*y(i))*sin(K*x(j)-W*t)/(2*sinh(K*di));
%Acceleration
Acx(i,j)=W*W*wh*cosh(K*y(i))*sin(K*x(j)W*t)/(2*sinh(K*di));
Acy(i,j)=W*W*wh*sinh(K*y(i))*cos(K*x(j)W*t)/(2*sinh(K*di));
Vn(i,j)=sqrt((Vcx(i,j)-Vmx(i,j))*(Vcx(i,j)Vmx(i,j))+(Vcy(i,j)-Vmy(i,j))*(Vcy(i,j)-Vmy(i,j)));
Fx(i,j)=(Cm*p*3.14*D*D*Acx(i,j)/4-(Cm1)*p*3.14*D*D*Amx(i,j)/4+Cd*p*D*Vn(i,j)/4*(Vcx(i,j)-Vmx(i,j)));
Fy(i,j)=(Cm*p*3.14*D*D*Acy(i,j)/4-(Cm1)*p*3.14*D*D*Amy(i,j)/4+Cd*p*D*Vn(i,j)/4*(Vcy(i,j)-Vmy(i,j)));
if i==5
Fx(i,j)=0;
Fy(i,j)=0;
end;
if i==1
Fx(i,j)=0;
Fy(i,j)=0;
end;end;end;
for i=7:6:117
if i<=55
F(i,1)=F(i,1)+Fx(j,1)*3;
else
F(i,1)=F(i,1)+Fx(j,2)*3;
end;
j=j+1;

if j==6;
j=1;
end;
end;
for i=3:6:116;
if i<58
F(i,1)=F(i,1)+Fy(j,1)*3;
else
F(i,1)=F(i,1)+Fy(j,2)*3;
end;
j=j+1;
if j==6
j=1;
end;
end;
%------------Bending moment------------------------for i=5:6:120
if i<=60
F(i,1)=F(i,1)+Fx(j,1)*0.15*3;
else
F(i,1)=F(i,1)+Fx(j,2)*0.15*3;
end;
j=j+1;
if j==6;
j=1;
end;
end;
%----------------Bouyancy force--------------------By=p*9.81*3.14*D*D*di/4;
F(13,1)=F(13,1)+By;
F(43,1)=F(43,1)+By;
F(73,1)=F(73,1)+By;
F(103,1)=F(103,1)+By;
%----------------Deck load-------------------------F(25,1)=F(25,1)-dl/4;
F(55,1)=F(55,1)-dl/4;
F(85,1)=F(85,1)-dl/4;
F(115,1)=F(115,1)-dl/4;
for ib=1:bn; cb=bcn(ib);
F(cb,1)=bcni(ib);
end;
F;
% -------------Rangga kutta method------------------------% f=inv(mscb)*(F-cs*z-ksb*x);
% f2=z;
% K1=iv*f;
% L1=iv*f2;
% K2=iv*(inv(mscb)*(F-cs*(z+K1)-ksb*(x+iv)));
% L2=iv*(z+L1);
% z=z+0.5*(K1+K2);
% x=x+0.5*(L1+L2);
% a=inv(mscb)*(F-cs*z-ksb*x);
% MO=ER*x*26.6*10^3/l;
%----------------Wilson theeta method-----------------------A1=6/(te*t)^2;
A2=3/(te*t);
A3=2*A2;
A4=te*t/2;
A5=A1/te;
A6=-A3/te;
A7=1-(3/te);

A8=t/2;
A9=t*t/6;
ksbt=ksb+A1*mscb+A2*cs;
Ft=F2 + te*(F-F2) + mscb*(A1*xx + A3*yy + 2*ac)+ cs*(A2*xx + 2*yy + A4*ac);
xt=inv(ksbt)*Ft;
ac= (A5*(xt-xx) + A6*yy + A7*ac)
yy= yy + A8*(ac + ac2);
xx= ((xx + t*yy + A9*(ac+ 2*ac2))*1.2);
MO=-ER*IR*0.0025*(6*0.48462*xx-2*0.063843*xx);
end;

You might also like