You are on page 1of 3

clear all

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;

%solucion de las ec. gobernantes


for k=1:km
for j=2:nsigma-1
for i=2:nx-1
Khp=Kh/cost(i,j);
DIFTX=Khp*(T(i-1,j,k)-2*T(i,j,k)+T(i+1,j,k))/(dxp(i,j)^2);
Kvp=Kv/H(i)^2;
DIFTS=Kvp*(T(i,j-1,k)-2*T(i,j,k)+T(i,j+1,k))/dsigma^2;
T(i,j,k+1)=T(i,j,k)+dt*(DIFTX+DIFTS);

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

You might also like