Modelo Parabolico Para La Pluma de Contaminacion en Un Rio

17
Facultad de Ingeniería | Universidad de Buenos Aires 2do. Cuatrimestre | 2015 75.12 | Análisis Numérico I 95.10 | Modelación Numérica 95.13 | Métodos Matemáticos y Numéricos Trabajo Práctico #2 Modelo Parabólico para la Pluma de Contaminación en un Río Grupo Nº 19 Manuel Kronhaus 91749 Fecha Correcciones Docente Calificación Final Docente Fecha

description

Trabajo Práctico de Modelación Numérica de la Facultad de Ingeniería de la UBA.

Transcript of Modelo Parabolico Para La Pluma de Contaminacion en Un Rio

Page 1: Modelo Parabolico Para La Pluma de Contaminacion en Un Rio

Facultad de Ingeniería | Universidad de Buenos Aires

2do. Cuatrimestre | 2015

75.12 | Análisis Numérico I

95.10 | Modelación Numérica

95.13 | Métodos Matemáticos y Numéricos

Trabajo Práctico #2

Modelo Parabólico para la Pluma de Contaminación en un Río

Grupo Nº 19

Manuel Kronhaus 91749

Fecha Correcciones Docente

Calificación Final Docente Fecha

Page 2: Modelo Parabolico Para La Pluma de Contaminacion en Un Rio

Modelación Numérica 95.10 T.P. Nro. 2 Grupo Nro. 19

Página 1 de 16

Introducción

En el presente trabajo se analizó la pluma de contaminación 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 distribución espacial del

contaminante se halló resolviendo la siguiente ecuación diferencial:

� ∙ ���� = � ∙ ���� − ∙ �

�: "concentración media vertical del contaminante"

�: "velocidad media de la corriente"

�: "difusividad lateral" : "tasa de decaimiento"

La difusividad lateral se calculó con la siguiente expresión:

� = ∙ ℎ ∙ " ∙ �

ℎ: "profundidad" : "coeficiente de difusividad lateral"

": "factor de fricción"

La zona en estudio es un tramo relativamente recto de rio, representado como un rectángulo de largo

2 kilómetros y ancho 300 metros. Los valores de los parámetros se detallan a continuación:

ℎ = 10 &

� = 0.8 &)

= 0.3

" = 0.04

= 0.1 1,-.

�/ = 10 012 (concentración

en la desembocadura del emisario)

Planteo del problema

Para resolver la ecuación diferencial se discretizó el rio y se aplicó a cada nodo el método de Crank –

Nicolson (w = 0.5), un método de diferencias finitas usado para la resolución de ecuaciones en

derivadas parciales, junto con la condición inicial del emisario y los valores de frontera.

Condición inicial

�30, �5 = 6�/ � = 50 &0 � ≠ 50 &

Page 3: Modelo Parabolico Para La Pluma de Contaminacion en Un Rio

Modelación Numérica 95.10 T.P. Nro. 2 Grupo Nro. 19

Página 2 de 16

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;<,:;< =.>. - = 1

�9,:;< = �9?<,:;< =.>. - = @

Siendo n la cantidad de nodos en dirección transversal de la discretización.

A través de la ecuación de Crank – Nicolson y las condiciones de borde se llegó al sistema de

ecuaciones lineales a resolver, hallándose la matriz A del sistema A ∙ � = B.

Figura 1 Discretización implícita de Crank - Nicolson (en azul incógnitas).

� ∙ �9,:;< − �9,:∆� = � ∙ DE ∙ F�9?<,: − 2�9,: H �9;<,:∆� I H 31 − E5 ∙ F�9?<,:;< − 2�9,:;< H �9;<,:;<∆� IJ − ∙ �9,:

Separando de un lado las incógnitas y del otro lado los valores de la concentraciones en el paso

anterior, se obtiene la forma genérica de la matriz A y el vector b, respectivamente.

− �∆� ∙ 31 − E5 ∙ �9?<,:;< H K �∆� H 2�∆� ∙ 31 − E5L ∙ �9,:;< − �∆� ∙ 31 − E5 ∙ �9;<,:;< == �∆� ∙ E ∙ �9?<,: H F �∆� − 2�∆� ∙ E − I ∙ �9,: H �∆� ∙ E ∙ �9;<,:

Page 4: Modelo Parabolico Para La Pluma de Contaminacion en Un Rio

Modelación Numérica 95.10 T.P. Nro. 2 Grupo Nro. 19

Página 3 de 16

Representando en forma matricial el lado izquierdo de la igualdad e incluyendo la condición de borde:

MNNNNNNNNNNO

1 −1 0 0 0− �∆� ∙ 31 − E5 K �∆� H 2�∆� ∙ 31 − E5L − �∆� ∙ 31 − E5 0 0

0 − �∆� ∙ 31 − E5 K �∆� H 2�∆� ∙ 31 − E5L − �∆� ∙ 31 − E5 00 0 − �∆� ∙ 31 − E5 K �∆� H 2�∆� ∙ 31 − E5L − �∆� ∙ 31 − E5

⋯ 0

⋮ ⋱ ⋮0 ⋯ − �∆� ∙ 31 − E5 K �∆� H 2�∆� ∙ 31 − E5L − �∆� ∙ 31 − E5

0 1 −1 STTTTTTTTTTU

VWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWY

MNNNNNNNNO

�<,:;<�,:;<�Z,:;<�[,:;<⋮⋮�9,:;<⋮⋮�\?<,:;<�\,:;< STTTTTTTTU

A

De manera análoga con el lado derecho:

MNNNNNNNNO

0 0 0 0 0�∆� ∙ E F �∆� − 2�∆� ∙ E − I �∆� ∙ E 0 00 �∆� ∙ E F �∆� − 2�∆� ∙ E − I �∆� ∙ E 00 0 �∆� ∙ E F �∆� − 2�∆� ∙ E − I �∆� ∙ E

⋯ 0

⋮ ⋱ ⋮0 ⋯ �∆� ∙ E F �∆� − 2�∆� ∙ E − I �∆� ∙ E

0 0 0 STTTTTTTTU

VWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWY

MNNNNNNNNO

�<,:�,:�Z,:�[,:⋮⋮�9,:⋮⋮�\?<,:�\,: STTTTTTTTU

]

Así, el sistema de ecuaciones lineales a resolver para cada paso j será:

A ∙ �̂ ;<_______̀ = ] ∙ �̂___̀

Discretización y resolución del problema

Se discretizó el rio con un paso transversal y longitudinal de 5 metros, ya que se comprobó a base

de prueba y error que este paso es el que mejores resultados arroja.

Se resolvió el sistema hasta 1000 metros aguas abajo del emisario con distintos métodos de

resolución de S.E.L.

Para el método iterativo se tomó como criterio de corte que el error relativo entre iteraciones sea

menor o igual a 10-4.

Resultados

Eliminación Gaussiana:

Page 5: Modelo Parabolico Para La Pluma de Contaminacion en Un Rio

Modelación Numérica 95.10 T.P. Nro. 2 Grupo Nro. 19

Página 4 de 16

Factorización de Doolittle

Page 6: Modelo Parabolico Para La Pluma de Contaminacion en Un Rio

Modelación Numérica 95.10 T.P. Nro. 2 Grupo Nro. 19

Página 5 de 16

Método de Gauss-Seidel

Factorización de Cholesky

Una de las condiciones necesarias para realizar la factorización de Cholesky de una matriz es que

esa matriz sea definida positiva. Como la matriz de nuestro problema no es simétrica no se puede

realizar dicha factorización.

Comparación de resultados

Para lograr una comparación más clara de los resultados obtenidos con los distintos métodos 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 métodos directos coinciden

en un 100% mientras que los resultados obtenidos con el método iterativo de Gauss-Seidel difieren

de los otros dos. Esta diferencia se hace más pronunciada en zonas alejadas del emisario, esto se

debe a que las concentraciones allí son menores y los errores de redondeo presentes en los

métodos directos son mayores.

Page 7: Modelo Parabolico Para La Pluma de Contaminacion en Un Rio

Modelación Numérica 95.10 T.P. Nro. 2 Grupo Nro. 19

Página 6 de 16

Corte a 50 m

Page 8: Modelo Parabolico Para La Pluma de Contaminacion en Un Rio

Modelación Numérica 95.10 T.P. Nro. 2 Grupo Nro. 19

Página 7 de 16

Corte a 100 m

Page 9: Modelo Parabolico Para La Pluma de Contaminacion en Un Rio

Modelación Numérica 95.10 T.P. Nro. 2 Grupo Nro. 19

Página 8 de 16

Corte a 250 m

Corte a 500 m

Costo computacional

Se evaluó el costo computacional de cada método hallándose la cantidad de operaciones realizadas

y el tiempo en que tarda para dar los resultados.

La cantidad de operaciones en los métodos directos se aproximó con la siguiente formula:

�a)bac9defgh = F23 @Z H 32 @ − 76 @I ∙ &

Siendo n y m la cantidad de nodos transversales y laterales, respectivamente.

Page 10: Modelo Parabolico Para La Pluma de Contaminacion en Un Rio

Modelación Numérica 95.10 T.P. Nro. 2 Grupo Nro. 19

Página 9 de 16

En el método indirecto, la cantidad de operaciones está dada por la suma de todas las iteraciones en

cada paso.

Tabla 1 Costo Computacional.

Se observa que el costo computacional en el método indirecto es mucho menor que en los directos.

Distancia mínima del emisario a la costa

Para hallar esta distancia se decidió bajar la discretización a 2 metros para lograr una mayor

precisión.

Se fue acercando hacia la costa la desembocadura del emisario hasta encontrar la distancia mínima

en donde las concentraciones del contaminante sobre la costa no superen los 0.5 mg/l.

Se encontró que la distancia crítica es de 20 metros.

Distancia al emisario en donde la pluma es insignificante

Para este inciso se bajó la discretización en x a 1 metro para una mayor precisión en el resultado.

Se creó un algoritmo que para cada paso en x halle la máxima concentración del contaminante. Si

esa concentración es menor o igual a 0.005 mg/l el algoritmo para y da como resultado la distancia

pedida.

Se encontró que a unos 833 metros del emisario la pluma de contaminación resulta ser

insignificante.

Ensayos de sensibilidad de parámetros

Se resolvió el problema con el método de Gauss-Seidel haciendo variar distintos parámetros para

analizar su influencia en los resultados. En cada caso se compararon tres valores, el original del

problema, uno menor y otro mayor.

• Velocidad media del rio

Para la velocidad media, se tomaron el valor máximo de velocidad del rio Paraná de 5 km/h y

un valor mínimo de 1.8 km/h. Para comparar los resultados, se graficó la evolución de las

concentraciones máximas a lo largo del recorrido de la pluma. Los resultados para los

distintos valores de U no presentaron demasiada diferencia, demostrando así que no se

comete demasiado error al tomar como constante la velocidad de escurrimiento.

Método Tiempo [seg] Cantidad de operaciones

Eliminación Gaussiana 0.018815 31523031

Factorización de Doolittle 0.057109 31523031

Gauss-Seidel 0.363802 1005

Page 11: Modelo Parabolico Para La Pluma de Contaminacion en Un Rio

Modelación Numérica 95.10 T.P. Nro. 2 Grupo Nro. 19

Página 10 de 16

• Constante de decaimiento

Se procedió de manera análoga a la velocidad con la constante de decaimiento κ. Se

observó una pequeña variación en las concentraciones máximas para κ = 10 1/día.

Page 12: Modelo Parabolico Para La Pluma de Contaminacion en Un Rio

Modelación Numérica 95.10 T.P. Nro. 2 Grupo Nro. 19

Página 11 de 16

• Coeficiente de difusividad lateral

Se evaluó la evolución transversal de la concentración del contaminante a 100 metros de la

descarga del emisario para tres valores de eT. Se observó una gran variación entre los

resultados obtenidos para una pequeña variación en el valor del parámetro.

Page 13: Modelo Parabolico Para La Pluma de Contaminacion en Un Rio

Modelación Numérica 95.10 T.P. Nro. 2 Grupo Nro. 19

Página 12 de 16

Conclusiones Generales

La resolución de una pluma de contaminación en un rio nos permitió evaluar los distintos métodos

de resolución de sistema de ecuaciones lineales y al mismo tiempo conocer las características de un

problema común en la ingeniería sanitaria, como lo es el transporte y tratamiento de las aguas

residuales.

Con respecto a los métodos de resolución del problema, se concluyó que el método 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 rápida difusión longitudinal del

contaminante.

De los parámetros que influyen en la concentración del contaminante se encontró mediante un

ensayo de sensibilidad que la difusividad lateral es el que más influye en los resultados finales,

siendo éste el parámetro a modificar en un futuro si se requiere modificar la dispersión de las

concentraciones.

Page 14: Modelo Parabolico Para La Pluma de Contaminacion en Un Rio

Modelación Numérica 95.10 T.P. Nro. 2 Grupo Nro. 19

Página 13 de 16

Anexos: Códigos

1. Creación 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. Eliminación 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');

Page 15: Modelo Parabolico Para La Pluma de Contaminacion en Un Rio

Modelación Numérica 95.10 T.P. Nro. 2 Grupo Nro. 19

Página 14 de 16

C_0 = 10; % Triangulización (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 %Condición 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 %Sustitución 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. Factorización de Doolittle

clear all load('A.mat');load('B.mat');load('U.mat');load('multi.mat');

Page 16: Modelo Parabolico Para La Pluma de Contaminacion en Un Rio

Modelación Numérica 95.10 T.P. Nro. 2 Grupo Nro. 19

Página 15 de 16

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. Método 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');

Page 17: Modelo Parabolico Para La Pluma de Contaminacion en Un Rio

Modelación Numérica 95.10 T.P. Nro. 2 Grupo Nro. 19

Página 16 de 16

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)