Professional Documents
Culture Documents
Par 2
Par 2
close all
L=1100;
H1=80;
H2=5;
%forma de la curva
nx=101;
dx=L/(nx-1);
x=0:dx:L;
x1=300; x2=800;
a=(H2-H1)/(x2-x1);
b=H1-a*x1;
H=a*x+b;
H(x<x1)=H1;
H(x>x2)=H2;
%coordenadas de sigma
nsigma=11;
so=0; sf=1;
dsigma=(sf-so)/(nsigma-1);
sigma=so:dsigma:sf;
for j=1:nsigma
for i=1:nx
z(i,j)=sigma(j)*H(i);
xs(i,j)=x(i);
if i>1
dz=z(i,j)-z(i-1,j);
ag(i,j)=-atan(dz/dx);
dxp(i,j)=dx/cos(ag(i,j));
cost(i,j)=cos(ag(i,j));
end
end
end
ag(1,:)=ag(2,:);
dxp(1,:)=dxp(2,:);
cost(1,:)=cost(2,:);
%condiciones inicales
T(1:nx,1:nsigma,1)=18;
S(1:nx,1:nsigma,1)=35;
for j=1;nsigma
for i=1:nx
D(i,j,1)=calc_densidad(T(i,j,1),S(i,j,1))
end
end
%CONDICIONES DE SIMULACION
tf=3600;
CFL=0.85;
Hmax=max(H); g=9.81;
CEL=(g*Hmax)^0.5;
dt=CFL*dx/CEL;
km=floor(tf/dt)+1;
%coef. de difusion para la temperatura
Kh=0.03*dx^2/dt;
Kv=0.00001;
Mh=Kh;
Mv=Kv;
Mmp=Mh/cost(i,j);
DIFSX=Mmp*(S(i-1,j,k)-2*S(i,j,k)+S(i+1,j,k))/(dxp(i,j)^2);
Mvp=Mv/H(i)^2;
DIFSS=Mvp*(S(i,j-1,k)-2*S(i,j,k)+S(i,j+1,k))/dsigma^2;
S(i,j,k+1)=S(i,j,k)+dt*(DIFSX+DIFSS);
end
end
S(1,:,k+1)=S(2,:,k+1);
S(nx,:,k+1)=5;
S(:,1,k+1)=S(:,2,k+1);
S(:,nsigma,k+1)=S(:,nsigma-1,k+1);
T(1,:,k+1)=T(2,:,k+1);
T(nx,:,k+1)=22;
T(:,1,k+1)=T(:,2,k+1);
T(:,nsigma,k+1)=T(:,nsigma-1,k+1);
end
%area de grafico
figure
subplot(211)
plot(x,-H)
plot(xs,-z)
hold on
plot(xs,-z,'*')
subplot(212)
contourf(xs,-z,ag*180/pi)
colorbar
figure
tdips=0.5;
kdisp=floor(tdisp*3600/dt)+1;
for k=1:kdisp:km
subplot(311)
contourf(xs,-z,squeeze(T(:,:,k)));
colorbar;
for k=1:kdisp:km
subplot(312)
contourf(xs,-z,squeeze(S(:,:,k)));
colorbar;
for k=1:kdisp:km
subplot(313)
contourf(xs,-z,squeeze(D(:,:,k)));
colorbar;
M(k)=getframe;
end
end
end