Professional Documents
Culture Documents
Grupo N
19
Manuel Kronhaus
Fecha
91749
Correcciones
Calificacin Final
Docente
Docente
Fecha
T.P. Nro. 2
Grupo Nro. 19
Introduccin
En el presente trabajo se analiz la pluma de contaminacin dejada por la descarga de aguas
negras desde un emisario al lecho de un rio.
Se tomaron datos representativos del rio Paran de las Palmas y la distribucin espacial del
contaminante se hall resolviendo la siguiente ecuacin diferencial:
: "tasa de decaimiento"
La difusividad lateral se calcul con la siguiente expresin:
=
"
: "profundidad"
La zona en estudio es un tramo relativamente recto de rio, representado como un rectngulo de largo
2 kilmetros y ancho 300 metros. Los valores de los parmetros se detallan a continuacin:
= 10 &
= 0.8
" = 0.04
&
)
= 0.1
= 0.3
1
,-.
= 10
01
2
(concentracin
= 50 &
50 &
Pgina 1 de 16
T.P. Nro. 2
Grupo Nro. 19
Condiciones de borde
3 , 05 =
3 , 3005 = 0
Estas condiciones implican que para los nodos i = 1 e i = n de cada paso se imponga la siguiente
igualdad:
9,:;<
9,:;<
9;<,:;<
9?<,:;<
=.>. - = 1
=.>. - = @
9,:;<
9,:
DE F
9?<,:
2 9,: H
9;<,:
I H 31 E5 F
9?<,:;<
9,:;<
9;<,:;<
IJ
Separando de un lado las incgnitas y del otro lado los valores de la concentraciones en el paso
anterior, se obtiene la forma genrica de la matriz A y el vector b, respectivamente.
2
31 E5L 9,:;<
31 E5
2
E 9?<,: H F
E I 9,: H
E 9;<,:
31 E5
9?<,:;<
H K
Pgina 2 de 16
9;<,:;<
9,:
T.P. Nro. 2
Grupo Nro. 19
O
N
N
N
N
N
N
N
N
N
N
2
K H
U
T O
T N
2
0
T N
K H
0
31 E5
31 E5L
31 E5
0
T N
TN
2
T N
K H
0
0
31 E5
31 E5L
31 E5
T N
T N
T N
2
31 E5 K H
31 E5L
31 E5T
M
M
S
VWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWY
0
1
1
31 E5
31 E5L
31 E5
<,:;<
,:;<
Z,:;<
[,:;<
9,:;<
\?<,:;<
\,:;<
U
T
T
T
T
T
T
T
T
S
E
O
N
N 0
N
N
N 0
N
N
N
2
F
2
F
U O
T N
T N
T N
TN
T N
T N
T N
T
E N
2
E F
E I
0
M
VWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWY
0
0
0 S M
<,:
,:
Z,:
[,:
9,:
\?<,:
\,:
Resultados
Eliminacin Gaussiana:
Pgina 3 de 16
U
T
T
T
T
T
T
T
T
S
T.P. Nro. 2
Factorizacin de Doolittle
Pgina 4 de 16
Grupo Nro. 19
T.P. Nro. 2
Grupo Nro. 19
Mtodo de Gauss-Seidel
Factorizacin de Cholesky
Una de las condiciones necesarias para realizar la factorizacin de Cholesky de una matriz es que
esa matriz sea definida positiva. Como la matriz de nuestro problema no es simtrica no se puede
realizar dicha factorizacin.
Comparacin de resultados
Para lograr una comparacin ms clara de los resultados obtenidos con los distintos mtodos se
grafic las concentraciones para distintos cortes transversales (50 m, 100 m, 250 m y 500 m aguas
debajo de la descarga). Se observ que los resultados obtenidos con los mtodos directos coinciden
en un 100% mientras que los resultados obtenidos con el mtodo iterativo de Gauss-Seidel difieren
de los otros dos. Esta diferencia se hace ms pronunciada en zonas alejadas del emisario, esto se
debe a que las concentraciones all son menores y los errores de redondeo presentes en los
mtodos directos son mayores.
Pgina 5 de 16
T.P. Nro. 2
Corte a 50 m
Pgina 6 de 16
Grupo Nro. 19
T.P. Nro. 2
Corte a 100 m
Pgina 7 de 16
Grupo Nro. 19
T.P. Nro. 2
Grupo Nro. 19
Corte a 250 m
Corte a 500 m
Costo computacional
Se evalu el costo computacional de cada mtodo hallndose la cantidad de operaciones realizadas
y el tiempo en que tarda para dar los resultados.
La cantidad de operaciones en los mtodos directos se aproxim con la siguiente formula:
2
3
7
a)bac9defgh = F @Z H @ @I &
3
2
6
Pgina 8 de 16
T.P. Nro. 2
Grupo Nro. 19
En el mtodo indirecto, la cantidad de operaciones est dada por la suma de todas las iteraciones en
cada paso.
Mtodo
Eliminacin Gaussiana
Factorizacin de Doolittle
Gauss-Seidel
Tiempo [seg]
0.018815
0.057109
0.363802
Cantidad de operaciones
31523031
31523031
1005
Tabla 1 Costo Computacional.
Se observa que el costo computacional en el mtodo indirecto es mucho menor que en los directos.
Pgina 9 de 16
T.P. Nro. 2
Grupo Nro. 19
Constante de decaimiento
Se procedi de manera anloga a la velocidad con la constante de decaimiento . Se
observ una pequea variacin en las concentraciones mximas para = 10 1/da.
Pgina 10 de 16
T.P. Nro. 2
Grupo Nro. 19
Pgina 11 de 16
T.P. Nro. 2
Grupo Nro. 19
Conclusiones Generales
La resolucin de una pluma de contaminacin en un rio nos permiti evaluar los distintos mtodos
de resolucin de sistema de ecuaciones lineales y al mismo tiempo conocer las caractersticas de un
problema comn en la ingeniera sanitaria, como lo es el transporte y tratamiento de las aguas
residuales.
Con respecto a los mtodos de resolucin del problema, se concluy que el mtodo indirecto de
Gauss-Seidel es el mejor debido a su poco gasto computacional y error en los resultados.
Se pudo verificar el correcto funcionamiento del emisario al no presentarse grandes concentraciones
de contaminante cerca de la orilla habitable y al lograr una rpida difusin longitudinal del
contaminante.
De los parmetros que influyen en la concentracin del contaminante se encontr mediante un
ensayo de sensibilidad que la difusividad lateral es el que ms influye en los resultados finales,
siendo ste el parmetro a modificar en un futuro si se requiere modificar la dispersin de las
concentraciones.
Pgina 12 de 16
T.P. Nro. 2
Grupo Nro. 19
Anexos: Cdigos
1. Creacin del S.E.L.
clear all
%Datos
h = 10; U = 1.4; e_T = 0.8; f = 0.04; k = 0.1/86400;
C_0 = 10; w = 0.5;
D_T = f*e_T*U*h;
largo = 1000;
ancho = 300;
Delta_x = 5;
Delta_y = 5;
n = ancho/Delta_y + 1;
m = largo/Delta_x + 1;
%Matriz A
for i = 1:n
for j = 1:n
if i ==1 && j ==1 ||i==n && j== n
A(i,j) = 1;
elseif i == 1 && j ==2 || i == n && j == n-1
A(i,j) = -1;
elseif i>= 2 && i<= n-1
A(i,i-1) = -D_T*(1-w)/(Delta_y)^2;
A(i,i) = 2*D_T*(1-w)/(Delta_y)^2 + U/Delta_x;
A(i,i+1) = -D_T*(1-w)/(Delta_y)^2;
end
end
end
%Matriz B
for i = 1:n
if i>= 2 && i<= n-1
B(i,i-1) = D_T*w/(Delta_y)^2;
B(i,i) = U/Delta_x - 2*D_T*w/(Delta_y)^2 - k;
B(i,i+1) = D_T*w/(Delta_y)^2;
else
B(i,i) = 0;
end
end
save('A','A');
save('B','B');save('Delta_x','Delta_x');save('Delta_y','Delta_y');
save('n','n');save('m','m');save('largo','largo');save('ancho','ancho')
2. Eliminacin Gaussiana
clear all
load('B.mat'); load('A.mat');
load('Delta_x.mat'); load('m.mat')
load ('largo.mat'); load('ancho.mat')
load('Delta_y.mat'); load('n.mat');
Pgina 13 de 16
T.P. Nro. 2
C_0 = 10;
% Triangulizacin (matriz U)
for i=2:n
U(1,:) = A(1,:);
multi(1,1) = 0;
multi(i,i-1) = A(i,i-1)/U(i-1,i-1);
U(i,:) = A(i,:) - multi(i,i-1)*U(i-1,:);
end
%Condicin inicial
for i=1:n
if i == 50/Delta_y + 1
C_Gauss(i,1) = C_0;
else
C_Gauss(i,1) = 0;
end
end
tic
%Sustitucin inversa
for j = 1:m-1
b(:,j) = B*C_Gauss(:,j);
for i = 1:n
if i==1
si(i,j) = b(1,j);
else
si(i,j) = b(i,j) - multi(i,i-1)*si(i-1,j);
end
end
C_Gauss(n,j+1) = si(n,j)/U(n,n);
for q = 1:n-1
suma = 0;
for k = 1:n
suma = suma + U(n-q,k)*C_Gauss(k,j+1);
end
C_Gauss(n-q,j+1) = (si(n-q,j) - suma)/U(n-q,n-q);
end
end
toc
Costo = (2/3*n^3 + 3/2*n^2 - 7/6*n)*m;
save('U','U');save('multi','multi');save('C_Gauss','C_Gauss')
X = 0:Delta_x:largo;
Y = 0:Delta_y:ancho;
surf(X,Y,C_Gauss)
3. Factorizacin de Doolittle
clear all
load('A.mat');load('B.mat');load('U.mat');load('multi.mat');
Pgina 14 de 16
Grupo Nro. 19
T.P. Nro. 2
Grupo Nro. 19
load('Delta_x.mat');load('Delta_y.mat');load('n.mat');load('m.mat');
load('ancho.mat');load('largo.mat');
C_0 = 10;
for j = 1:n
for i = 1:n
if i==j
L(i,i) = 1;
elseif i>= j+1
L(i,j) = multi(i,j);
end
end
end
for i=1:n
if i == 50/Delta_y + 1
C_Doolittle(i,1) = C_0;
else
C_Doolittle(i,1) = 0;
end
end
tic
for j=1:m-1
b(:,j) = B*C_Doolittle(:,j);
for i = 1:n
suma = 0;
for k =1:i-1
suma = suma + L(i,k)*y(k,j);
end
y(i,j) = b(i,j) - suma;
end
C_Doolittle(n,j+1) = y(n,j)/U(n,n);
for i = 1:n-1
suma = 0;
for k = n-i+1:n
suma = suma + U(n-i,k)*C_Doolittle(k,j+1);
end
C_Doolittle(n-i,j+1) = (y(n-i,j) - suma)/U(n-i,n-i);
end
end
toc
save('C_Doolittle','C_Doolittle')
X = 0:Delta_x:largo;
Y = 0:Delta_y:ancho;
surf(X,Y,C_Doolittle)
4. Mtodo de Gauss-Seidel
clear all
load('A.mat');load('B.mat');
load('Delta_x.mat');load('Delta_y.mat');load('n.mat');load('m.mat');
Pgina 15 de 16
T.P. Nro. 2
Grupo Nro. 19
load('ancho.mat');load('largo.mat')
C_0 = 10;
tolerancia = 0.0001;
d = 50;
for i=1:n
if i == d/Delta_y + 1
C_GS1(i,1) = C_0;
else
C_GS1(i,1) = 0;
end
end
tic
for j = 1:m-1
b(:,j) = B*C_GS1(:,j);
for k = 1:1000
GS(n,1) = 0;
for i=1:n
suma1 = 0;
suma2 = 0;
for q = 1:i-1
suma1 = suma1 + A(i,q)*GS(q,k+1);
end
for q = i+1:n
suma2 = suma2 + A(i,q)*GS(q,k);
end
GS(i,k+1) = (b(i,j) - suma1 - suma2)/A(i,i);
end
error = norm(GS(:,k+1) - GS(:,k),inf)/norm(GS(:,k+1),inf);
if error <= tolerancia
break
end
C_GS1(:,j+1) = GS(:,k);
end
end
toc
Costo = k*m;
save('C_GS1','C_GS1')
X = 0:Delta_x:largo;
Y = 0:Delta_y:ancho;
surf(X,Y,C_GS1)
Pgina 16 de 16