166 Computational Modelling in Hydraulic and Coastal Engineering
h(i)=0;
u(i)=0;
un(i)=0;
end
% Definition of constant depth;
for i=2:nx-2
h(i)=ho;
end
z(nx-2)=zo;
% Main program;
for k=1:nt
for i=2:nx-2
z(i)=z(i)-Dt/
Dx*((h(i)+h(i+1))*u(i+1)-(h(i)+h(i-1))*u(i))/2;
end
% Definition of the spatial location to be analyzed;
% Note that nx/2 and nx/5 must be integers;
x(k)=z(nx/2);
x1(k)=z(nx/5);
for i=3:nx-2
if u(i)<0
adv=u(i)*(u(i+1)-u(i))/Dx*Dt;
else
adv=u(i)*(u(i)-u(i-1))/Dx*Dt;
end
un(i)=u(i)-adv-Dt/Dx*g*(z(i)-z(i-1))Dt*fb*u(i)*abs(u(i))/(h(i)+h(i+1))*2;
end
if h(nx-1)>0.1
un(nx-1)=z(nx-2)*sqrt(g/h(nx-2));
end
for i=2:nx-1
u(i)=un(i);
end
end
% Fourier series analysis at two selected spatial locations;
fser=fsero;
av=0;
av1=0;
for k=1:nt
av=av+x(k);
av1=av1+x1(k);
end
av=av/nt;
av1=av1/nt;
for k=1:nt
x(k)=x(k)-av;
x1(k)=x1(k)-av1;
end
% Fourier coefficient a;
h(i)=0;
u(i)=0;
un(i)=0;
end
% Definition of constant depth;
for i=2:nx-2
h(i)=ho;
end
z(nx-2)=zo;
% Main program;
for k=1:nt
for i=2:nx-2
z(i)=z(i)-Dt/
Dx*((h(i)+h(i+1))*u(i+1)-(h(i)+h(i-1))*u(i))/2;
end
% Definition of the spatial location to be analyzed;
% Note that nx/2 and nx/5 must be integers;
x(k)=z(nx/2);
x1(k)=z(nx/5);
for i=3:nx-2
if u(i)<0
adv=u(i)*(u(i+1)-u(i))/Dx*Dt;
else
adv=u(i)*(u(i)-u(i-1))/Dx*Dt;
end
un(i)=u(i)-adv-Dt/Dx*g*(z(i)-z(i-1))Dt*fb*u(i)*abs(u(i))/(h(i)+h(i+1))*2;
end
if h(nx-1)>0.1
un(nx-1)=z(nx-2)*sqrt(g/h(nx-2));
end
for i=2:nx-1
u(i)=un(i);
end
end
% Fourier series analysis at two selected spatial locations;
fser=fsero;
av=0;
av1=0;
for k=1:nt
av=av+x(k);
av1=av1+x1(k);
end
av=av/nt;
av1=av1/nt;
for k=1:nt
x(k)=x(k)-av;
x1(k)=x1(k)-av1;
end
% Fourier coefficient a;
