Está en la página 1de 7

%Programa Caso 6

clear all
close all
L=2000;
W=500;
W1=300;
h=5;
tf=6*30*24*60*60; %Tiempo Total
landa=0.0007; %Coeficiente de corrección
% H=5;
Q=10;
U00=Q/(W*h);
q=Q/W;

Q1=3;
U001=Q1/(W1*h);
q1=Q1/W1;
%Nodos
dx=10; nx=L/dx+1;
dy=10; ny=W/dy+1;
alpha=(dx/dy)^2;
%Caudal de entrada Ubicacion
Lei=850; ie1=(Lei/dx)+1;
Lef=1150; ie2=(Lef/dx)+1;

% Malla
for j=1:ny
for i=1:nx
x(i,j)=(i-1)*dx;
y(i,j)=(j-1)*dy;
end
end
%Matriz de la funcion Corriente "A"
A(1:nx,1:ny,1)=0;

kmax=1000;

for k=1:kmax
for j=2:ny-1
for i=2:nx-1
A(i,j,k+1)=((A(i+1,j,k)+A(i-1,j,k)+alpha*(A(i,j+1,k)+A(i,j-1,k)))/
(2*(1+alpha)));
end
end
%Condiciones de Frontera
%Arriba y Abajo
A(1:nx,ny,k+1)=q;
A(1:ie1,1,k+1)=0;
A(ie2:nx,1,k+1)=q1;
%Entrada
for j=10:32
A(1,j,k+1)=(j-10)*q/(32-10);
end
%SAlida
for j=40:51
A(nx,j,k+1)=q1-((40-j)*(q-q1))/(51-40);
end

%En la salida del Segundo Caudal


for i=ie1:ie2
A(i,1,k+1)=(i-ie1)*(q1)/(ie2-ie1);
end

%Espigones en forma triangular Abajo ""!!!!

ii=1; ix=70;
ii2=1; ix2=70;

for j=10:-1:1
for i=ii2:ix2
A(i,j,k+1)=0;
end
ii2=ii2 ; ix2=ix2+1;
end

ii=1; ix=50;
ii2=1; ix2=50;

for j=10:-1:1
for i=ii2:ix2
A(i,j,k+1)=0;
end
ii2=ii2 ; ix2=ix2+1;
end
%Espigones en forma triangular Ariba """"""

ii=1; ix=70;
ii2=1; ix2=70;

for j=32:1:51
for i=ii2:ix2
A(i,j,k+1)=q;
end
ii2=ii2 ; ix2=ix2+1;
end

ii=1; ix=50;
ii2=1; ix2=50;

for j=32:1:51
for i=ii2:ix2
A(i,j,k+1)=q;
end
ii2=ii2 ; ix2=ix2+1;
end
%Espigon cuadrangular Arriba 1
li=100; lf=180;
wi=32; wf=51;
for i=li:lf
for j=wi:wf
A(i,j,k+1)=q;
end
end
%Espigon cuadrangular Arriba 2
li=190; lf=201;
wi=20; wf=40;
for i=li:lf
for j=wi:wf
A(i,j,k+1)=q-q1;
end
end

%Espigon cuadrangular Abajo 1


li=121; lf=201;
wi=1; wf=25;
for i=li:lf
for j=wi:wf
A(i,j,k+1)=q-q1;
end
end
%Isla en forma de Rombo
ii=75; ix=81;
ii2=75; ix2=81;

for j=22:27
for i=ii:ix
A(i,j,k+1)=q/2;
end
ii=ii+1 ; ix=ix-1;
end

for j=21:-1:18
for i=ii2:ix2
A(i,j,k+1)=q/2;
end
ii2=ii2+1 ; ix2=ix2-1;
end
end

%Calculando las Velocidades


u(1:nx,1:ny)=0;
v(1:nx,1:ny)=0;

for j=2:ny
for i=2:nx
u(i,j)=(A(i,j,k)-A(i,j-1,k))/dy;
v(i,j)=-(A(i,j,k)-A(i-1,j,k))/dx;
end
end
%Calculando la sedimentacion o erosion de la superficie

z0=h; Z(1:nx,1:ny,1)=z0;

nt=100;
dt=tf/(nt-1); %Diferencial de Tiempo
Z00=Z;
for t=1:nt
for j=2:ny-1
for i=2:nx-1

qx=(u(i,j)*dy*Z(i,j)-u(i,j-1)*dy*Z(i,j-1))/dx;
qy=(v(i,j)*dx*Z(i,j)-v(i-1,j)*dx*Z(i-1,j))/dy;
Z(i,j)=Z00(i,j)+landa*((dt/h)*(qx+qy));
end

end
%Entrada y Salida
Z(1,1:ny)=Z00(2,1:ny);
Z(nx,1:ny)=Z00(nx-1,1:ny);

%Derecha e Izquierda
Z(1:nx,1)=Z00(1:nx,2);
Z(1:nx,ny)=Z00(1:nx,ny-1);

Z00=Z;
end

%Graficando Lineas de Corriente


figure
contour(x,y,A(:,:,kmax-1),20)
hold on
quiver(x,y,u,v,1.5)
axis equal

%divergencia
z2(1:nx,1:ny)=z0;
z3=Z-z0;

figure
hold on
title('divergencia')
contourf(x,y,z3)
colorbar('southoutside')
axis equal
%Grafica en 3D
figure
hold on
title('3D ')
surf(x,y,z3)
%Grafica en 3D
figure
hold on
title('3D ')
surf(x,y,z3)
shading interp
%Corte Transversal
figure
hold on
plot(y,Z(200,:))

También podría gustarte