Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Integrantes:
PROBLEMA N°01
clc
clear all
close all
clear variables
% geometria del problema
L=700; %Longuitud del canal
H=680; %Ancho del canal
Pro=20; %profundidad del canal
Q1=10; %caudal en m3/s
q1=Q1/Pro; %caudal unitario
Uoo=q1/H; %velocidad del flujo
dx=5; %distancia entre nodos en x
dy=5; %distancia entre nodos en y
nx=L/dx+1; %numero de nodos en x
ny=H/dy+1; %numero de nodos en y
u(1:ny,1:nx)=0;
v(1:ny,1:nx)=0;
x=[1:dx:dx*nx];y=[1:dy:dy*ny];
[xx,yy]=meshgrid(x,y);
alpha=(dx/dy)^2;
A=1+alpha;
phi(1:ny,1:nx)=0;
phi(ny,1:nx)=q1;
phi(1,1:nx)=0;
%Ingresando espigones
phi(1:120,1:20)=0;
phi(14:ny,121:nx)=q1;
phi(21:ny,40:41)=q1;
phi(1:ny-20,60:61)=0;
phi(1:ny-20,100:101)=0;
phi(21:ny,80:81)=q1;
% phi(2:ny-1,nx)=Uoo*(1:ny-2)*dy;
Po=phi;
kmax=2000;
for k=1:kmax
for j=2:ny-1
for i=2:nx-1
phi(j,i)=(Po(j+1,i)+Po(j-1,i)+alpha*(Po(j,i+1)+Po(j,i-
1)))/(2*A);
end
end
%Ingresando espigones
phi(1:120,1:20)=0;
phi(14:ny,121:nx)=q1;
phi(21:ny,40:41)=q1;
phi(1:ny-20,60:61)=0;
phi(1:ny-20,100:101)=0;
phi(21:ny,80:81)=q1;
% phi(28:ny,1:nx)=q1;
for j=1:ny
for i=1:nx
P(j,i)=phi(ny+1-j,i);
end
end
for i=1:nx-1
for j=1:ny-1
u(j,i)=(P(j,i+1)-P(j,i))/dx;
v(j,i)=-(P(j+1,i)-P(j,i))/dy;
end
end
Po=phi;
end
figure
hold on
fill( xx((ny-1)/2+1:ny,10:11) , yy((ny-1)/2+1:ny,10:11) , 'g')
contourf(xx,yy,P,20)
colorbar('southoutside')
quiver(xx,yy,v,u,5,'k')
axis equal
hold off
%Transporte de sedimento
z0=Pro;z(1:ny,1:nx)=z0;
%condion de frontera
tf=6*24*3600; nt=6*24*36; dt=tf/(nt-1);
ccc=10^-4; %coeficiente de estabilidad
z00=z;
for t=1:nt
for j=2:ny-1
for i=2:nx-1
qx=(u(j,i)*z(j,i)*dy-u(j-1,i)*dy*z(j-1,i))/dx;
qy=(v(j,i)*z(j,i)*dx-v(j-1,i)*dx*z(j-1,i))/dy;
z(j,i)=z00(j,i)+ccc*dt*(qx+qy);
end
end
z(1,1:nx)=z00(2,1:nx);
z(ny,1:nx)=z00(ny-1,1:nx);
z(1:ny,1)=z00(1:ny,2);
z(1:ny,nx)=z00(1:ny,nx-1);
z00=z;
end
figure
hold on
contourf(xx,yy,z(:,:))
colorbar('southoutside')
quiver(xx,yy,v,u,5,'k')
axis equal
hold off
%divergencia
z2(1:ny,1:nx)=z0;
z3=z-z0;
figure
hold on
title('divergencia')
contourf(xx,yy,z3)
colorbar('southoutside')
quiver(xx,yy,v,u,5,'k')
axis equal
hold off
Las líneas de corriente se juntan en la entrada del canal, esto ocasiona un aumento de
velocidad en dicha sección.
Figura Nª01
Para visualizar las líneas de corriente en el programa, tuvimos que quitar los vectores
velocidad escribiendo "%" delante del comando quiver que aparece en el script en
total aparecen 3 y se desactivaron para tener esta imagen, que fue modificada en Paint
para apreciar mejor con líneas rojas las estructuras hidráulicas del canal
%quiver(xx,yy,v,u,5,'b')
axis equal
hold off
%Transporte de sedimento
z0=Pro;z(1:ny,1:nx)=z0;
%condion de frontera
tf=6*24*3600; nt=6*24*36; dt=tf/(nt-1);
ccc=10^-4; %coeficiente de estabilidad
z00=z;
for t=1:nt
for j=2:ny-1
for i=2:nx-1
qx=(u(j,i)*z(j,i)*dy-u(j-1,i)*dy*z(j-1,i))/dx;
qy=(v(j,i)*z(j,i)*dx-v(j-1,i)*dx*z(j-1,i))/dy;
z(j,i)=z00(j,i)+ccc*dt*(qx+qy);
end
end
z(1,1:nx)=z00(2,1:nx);
z(ny,1:nx)=z00(ny-1,1:nx);
z(1:ny,1)=z00(1:ny,2);
z(1:ny,nx)=z00(1:ny,nx-1);
z00=z;
end
figure
hold on
contourf(xx,yy,z(:,:))
colorbar('southoutside')
%quiver(xx,yy,v,u,5,'b')
axis equal
hold off
%divergencia
z2(1:ny,1:nx)=z0;
z3=z-z0;
figure
hold on
title('divergencia')
contourf(xx,yy,z3)
colorbar('southoutside')
%quiver(xx,yy,v,u,5,'b')
axis equal
hold off
Los vectores de velocidad:
Para visualizar los vectores de velocidad, tuvimos que quitar las líneas de corriente y el
contorno pintado del programa escribiendo "%" delante del comando contourf que
aparece en el script en total aparecen 3 y lo desactivamos, y tuvimos que activar el
comando quiver anulando el "%" y para visualizar mejor el color también se cambió de
'k' a 'b'
quiver(xx,yy,v,u,5,'b')
Y se cambió el color de negro a azul y con ayuda del Paint dibujamos las estructuras
hidráulicas del canal de color negro, para que se distingan mejor
La divergencia en toda la geometría:
Figura Nª03
La figura Nº03 nos muestra la divergencia del canal, que es la diferencia de cota entre el
instante simulado luego de 6 meses y el tiempo 0 cuando el canal tiene una cota de 20 m de
profundidad
SOLUCION:
clc
clear all
close all
clear variables
% geometria del problema
L=600; %Longuitud del canal
H=600; %Ancho del canal
Pro=10; %profundidad del canal
Q1=10; %caudal en m3/s
q1=Q1/Pro; %caudal unitario
Uoo=q1/H; %velocidad del flujo
dx=5; %distancia entre nodos en x
dy=5; %distancia entre nodos en y
nx=L/dx+1; %numero de nodos en x
ny=H/dy+1; %numero de nodos en y
u(1:ny,1:nx)=0;
v(1:ny,1:nx)=0;
x=[1:dx:dx*nx];y=[1:dy:dy*ny];
[xx,yy]=meshgrid(x,y);
alpha=(dx/dy)^2;
A=1+alpha;
phi(1:ny,1:nx)=0;
phi(ny,1:nx)=q1;
phi(1,1:nx)=0;
phi(40:ny,36:46)=q1;
phi(1:80,61:76)=0;
% phi(2:ny-1,nx)=Uoo*(1:ny-2)*dy;
Po=phi;
kmax=2000;
for k=1:kmax
for j=2:ny-1
for i=2:nx-1
phi(j,i)=(Po(j+1,i)+Po(j-1,i)+alpha*(Po(j,i+1)+Po(j,i-
1)))/(2*A);
end
end
%Ingresando espigones
phi(1:108,1:20)=0;
phi(12:ny,101:nx)=q1;
phi(40:ny,36:46)=q1;
phi(1:80,61:76)=0;
% phi(28:ny,1:nx)=q1;
for j=1:ny
for i=1:nx
P(j,i)=phi(ny+1-j,i);
end
end
for i=1:nx-1
for j=1:ny-1
u(j,i)=(P(j,i+1)-P(j,i))/dx;
v(j,i)=-(P(j+1,i)-P(j,i))/dy;
end
end
Po=phi;
end
figure
hold on
fill( xx((ny-1)/2+1:ny,10:11) , yy((ny-1)/2+1:ny,10:11) , 'g')
contourf(xx,yy,P,20)
colorbar('southoutside')
quiver(xx,yy,v,u,'k')
axis equal
hold off
%Transporte de sedimento
z0=Pro;z(1:ny,1:nx)=z0;
%condion de frontera
tf=6*24*3600; nt=6*24*36; dt=tf/(nt-1);
ccc=10^-4; %coeficiente de estabilidad
z00=z;
for t=1:nt
for j=2:ny-1
for i=2:nx-1
qx=(u(j,i)*z(j,i)*dy-u(j-1,i)*dy*z(j-1,i))/dx;
qy=(v(j,i)*z(j,i)*dx-v(j-1,i)*dx*z(j-1,i))/dy;
z(j,i)=z00(j,i)+ccc*dt*(qx+qy);
end
end
z(1,1:nx)=z00(2,1:nx);
z(ny,1:nx)=z00(ny-1,1:nx);
z(1:ny,1)=z00(1:ny,2);
z(1:ny,nx)=z00(1:ny,nx-1);
z00=z;
end
figure
hold on
contourf(xx,yy,z(:,:))
colorbar('southoutside')
quiver(xx,yy,v,u,5,'k')
axis equal
hold off
%divergencia
z2(1:ny,1:nx)=z0;
z3=z-z0;
figure
hold on
title('divergencia')
contourf(xx,yy,z3)
colorbar('southoutside')
quiver(xx,yy,v,u,5,'k')
axis equal
hold off
Las líneas de corriente sobre la geometría:
Para visualizar las líneas de corriente en el programa, tuvimos que quitar los vectores
velocidad escribiendo "%" delante del comando quiver que aparece en el script en
total aparecen 3 y se desactivaron para tener esta imagen, que fue modificada en Paint
para apreciar mejor con líneas rojas las estructuras hidráulicas del canal
figure
hold on
fill( xx((ny-1)/2+1:ny,10:11) , yy((ny-1)/2+1:ny,10:11) , 'g')
contourf(xx,yy,P,20)
colorbar('southoutside')
%quiver(xx,yy,v,u,'k')
axis equal
hold off
%Transporte de sedimento
z0=Pro;z(1:ny,1:nx)=z0;
%condion de frontera
tf=6*24*3600; nt=6*24*36; dt=tf/(nt-1);
ccc=10^-4; %coeficiente de estabilidad
z00=z;
for t=1:nt
for j=2:ny-1
for i=2:nx-1
qx=(u(j,i)*z(j,i)*dy-u(j-1,i)*dy*z(j-1,i))/dx;
qy=(v(j,i)*z(j,i)*dx-v(j-1,i)*dx*z(j-1,i))/dy;
z(j,i)=z00(j,i)+ccc*dt*(qx+qy);
end
end
z(1,1:nx)=z00(2,1:nx);
z(ny,1:nx)=z00(ny-1,1:nx);
z(1:ny,1)=z00(1:ny,2);
z(1:ny,nx)=z00(1:ny,nx-1);
z00=z;
end
figure
hold on
contourf(xx,yy,z(:,:))
colorbar('southoutside')
%quiver(xx,yy,v,u,5,'k')
axis equal
hold off
%divergencia
z2(1:ny,1:nx)=z0;
z3=z-z0;
figure
hold on
title('divergencia')
contourf(xx,yy,z3)
colorbar('southoutside')
%quiver(xx,yy,v,u,5,'k')
axis equal
hold off
Los vectores de velocidad:
Para visualizar los vectores de velocidad, tuvimos que quitar las líneas de corriente y el
contorno pintado del programa escribiendo "%" delante del comando contourf que
aparece en el script en total aparecen 3 y lo desactivamos, y tuvimos que activar el
comando quiver anulando el "%" y para visualizar mejor el color también se cambió de
'k' a 'b'
quiver(xx,yy,v,u,5,'b')
Y se cambió el color de negro a azul y con ayuda del Paint dibujamos las estructuras
hidráulicas del canal de color negro, para que se distingan mejor
La divergencia en toda la geometría:
Del script inicial al correr el programa, nos dejan 3 figuras: