Sie sind auf Seite 1von 84

Facultad de Ingeniera

Escuela de Ingeniera de Sistemas


Departamento de Investigacin de Operaciones
Anlisis Numrico







Proyecto Final
Modelado de una Fuente de Contaminacin Puntual en un
Cuerpo de Agua







Por:

Br. Breytner Fernndez V-20851699
Br. Daniel Arismendi V-20345332





2014 Universidad de Los Andes Mrida, Venezuela




Descripcin del Problema

Se necesita modelar la dinmica del proceso de transporte de un contaminante en un
curso de agua de anchura W (m), desde un punto donde ocurre una descarga inicial,
hacia otros puntos transversales al curso, como se muestra en la figura.

Figura 1. Transporte de Contaminante en un Curso de Agua.


Tras hacer una discretizacin, descrita en el Anexo 8 (Ver este anexo para la
descripcin y anlisis preliminar completo del problema), se llega al siguiente
conjunto de ecuaciones diferenciales ordinarias que puede usarse para modelar el
sistema:


Donde:

es la concentracin del contaminante en el nivel del ro (g/L)


es la constante de decaimiento (s
-1
)
U es la velocidad de la corriente (m/s)

es el coeficiente de dispersin del contaminante (m


2
/s)

es el intervalo usado para discretizar el problema (m)




Las ecuaciones pueden reescribirse como


Donde

),

),

+,

) y
(

)

En este caso particular, se trabajar con valores constantes ,

; y con condiciones iniciales cero para


todas las concentraciones, excepto la del nivel 0 (


[ ] ,
Como



las ecuaciones , y pueden expresarse como el
sistema de ecuaciones diferenciales de orden +1 = 100+1= 101 que sigue:

[



Este sistema de Ecuaciones Diferenciales Ordinarias puede resolverse utilizando
diferentes mtodos de Anlisis Numrico. Los ms conocidos son los basados en los
mtodos de Runge-Kutta.
Es importante hacer notar que este sistema es rgido: los polos encontrados a travs
del paquete Matlab (Ver anexo 7) indican que tiene componentes en su solucin que
decaen muy rpidamente, mientras otras lo hacen ms lentamente. Esto ocasiona
problemas a la hora de intentar realizar una rutina de resolucin con cualquiera de los
mtodos de Anlisis Numrico, y por tanto, se prefiri utilizar la funcin
preprogramada ode15s() (Basada en Mtodos de Runge-Kutta) que est hecha
especialmente para este tipo de problemas y, adems, est muy bien depurada.

En adelante, se mostrarn los resultados y sus anlisis. Los cdigos utilizados para
llegar a ellos se incluyen en los anexos.

Concentracin de contaminante en cada nivel

para cualquier tiempo


posterior al vertido inicial.
Debido a que hay 101 niveles, desde el 0 (la orilla izquierda) hasta el 100 (la
orilla derecha), se ha decidido estudiar en esta seccin la concentracin de
contaminante en 6 niveles representativos, dejando el estudio para el resto de niveles
en el Anexo 1.
Los niveles escogidos como representativos son el 0, 20, 40, 60, 80, y 100, que
corresponden respectivamente a la orilla izquierda, 2.0 m desde la orilla izquierda, 4.0
m desde la orilla izquierda, 6.0 m desde la orilla izquierda, 8.0 m desde la orilla
izquierda y orilla derecha.

Grfica 1. Concentracin del Contaminante contra tiempo en seis niveles
representativos


La grfica 1 contiene a las curvas que representan la concentracin del
contaminante a lo largo del tiempo para los seis niveles descritos anteriormente. Se
observa que la curva correspondiente al nivel 0 decrece a medida que pasa el tiempo
desde su valor mximo 5 g/L hasta cero. Las curvas que representan los dems niveles
no tienen concentracin de contaminante en el instante de tiempo

y se puede
observar que cada una alcanza su valor mximo, que es cada vez ms pequeo, ms
tarde en el tiempo a medida que se incrementa el alejamiento desde la orilla
izquierda, esto como consecuencia de que el contaminante vertido se difunde
transversalmente a travs del ro.

Mximo Nivel de Contaminacin Alcanzado en Cada Nivel.

Recordando que la solucin obtenida por Matlab se presenta como una
matriz, donde la columna { } representa el nivel de contaminacin en
el nivel , desde el instante de tiempo

hasta

; se aplica el comando
max() a dicha matriz para obtener un vector fila que contiene el mximo elemento de
cada columna, esto es, el mximo nivel de contaminacin alcanzado en cada nivel.
El resultado obtenido se muestra en la tabla 1, donde se especifican el nivel y el
mximo nivel de contaminacin correspondiente.

Tabla 1. Mximo nivel de contaminacin en cada nivel

Nivel
Contaminacin
Mxima (g/L) Nivel
Contaminacin
Mxima (g/L) Nivel
Contaminacin
Mxima (g/L) Nivel
Contaminacin
Mxima (g/L)
0 5 26 2,7019 52 2,2127 78 1,9353
1 4,4387 27 2,6753 53 2,1996 79 1,9271
2 4,196 28 2,6496 54 2,1867 80 1,9181
3 4,0203 29 2,6248 55 2,1737 81 1,9098
4 3,8799 30 2,6008 56 2,1616 82 1,9013
5 3,7623 31 2,5775 57 2,1488 83 1,8924
6 3,6605 32 2,555 58 2,1374 84 1,8846
7 3,5709 33 2,5332 59 2,1253 85 1,8761
8 3,4906 34 2,5119 60 2,114 86 1,8676
9 3,4177 35 2,4911 61 2,1026 87 1,8598
10 3,3511 36 2,4714 62 2,0914 88 1,8512
11 3,29 37 2,4522 63 2,0807 89 1,8432
12 3,2331 38 2,4333 64 2,0696 90 1,8353
13 3,1801 39 2,4147 65 2,0594 91 1,8266
14 3,1304 40 2,3967 66 2,0485 92 1,8191
15 3,084 41 2,3795 67 2,0388 93 1,811
16 3,0401 42 2,3626 68 2,0285 94 1,8027
17 2,9987 43 2,3458 69 2,0186 95 1,7951
18 2,9592 44 2,3296 70 2,0091 96 1,7869
19 2,9219 45 2,3141 71 1,999 97 1,7792
20 2,886 46 2,2984 72 1,9901 98 1,7716
21 2,8519 47 2,2834 73 1,9803 99 1,7634
22 2,8196 48 2,2688 74 1,9715 100 1,7564
23 2,7885 49 2,2542 75 1,9623
24 2,7585 50 2,2401 76 1,9532
25 2,7297 51 2,2265 77 1,9446

En esta tabla se confirma la observacin hecha en la seccin anterior, donde se aseguraba que
la concentracin mxima del contaminante es cada vez ms pequea en la medida en que
crece el nivel, esto es, en la medida en que se aleja de la orilla izquierda; como es de esperarse
dada la naturaleza fsica del problema.


Tiempo en el que la Contaminacin Alcanza la Orilla Derecha

El nivel 100 corresponde a la orilla derecha. Se dir que la contaminacin
alcanza a la orilla derecha, cuando la concentracin de contaminante en este lugar
sobrepase los 0.05 g/L, que es 1% de la concentracin mxima alcanzada en la orilla
izquierda. Esto sucede aproximadamente a los 67,7 segundos luego del tiempo inicial.
Para hallar este valor del tiempo, se utiliz una rutina en Matlab para
recorrer el vector correspondiente a las concentraciones del contaminante en el nivel
100; cuando se detect que el valor sube la tolerancia permitida (0.05 g/L) se guarda
el nmero de fila en la variable i, y se obtiene a travs del vector del tiempo, la entrada
correspondiente a este nmero de fila.

Efectos de la Variacin de la Constante de Decaimiento a

Se hace variar la constante de decaimiento a a travs de los valores
{

}. Se muestran los efectos en seis


niveles representativos del sistema: nivel 0 (orilla izquierda), nivel 20, nivel 40, nivel
60, nivel 80 y nivel 100 (orilla derecha).

Los resultados se muestran en las siguientes grficas.

Grfica 2. Concentracin del Contaminante contra tiempo, s
-1







Grfica 3. Concentracin del Contaminante contra tiempo, s
-1



Grfica 4. Concentracin del Contaminante contra tiempo, s
-1






Grfica 5. Concentracin del Contaminante contra tiempo, s
-1



Grfica 6. Concentracin del Contaminante contra tiempo, s
-1






Grfica 7. Concentracin del Contaminante contra tiempo, s
-1


El comportamiento de las grficas indica que mientras ms grande sea la
constante de decaimiento, ms rpidamente desaparece la concentracin de
contaminante en cada nivel. As, por ejemplo, para un punto a 2.0 m de la orilla
izquierda (nivel 20), la concentracin del contaminante tarda aproximadamente 650 s
en volverse despreciable, cuando a = 0.01 s
-1
; 250 s cuando a = 0.06 s
-1
; y menos de
200 s cuando a = 0.10 s
-1
. Tambin, puede observarse que la concentracin mxima
de contaminante alcanzada en cada nivel distinto a la orilla izquierda decrece al
incrementar la constante de decaimiento. Por ejemplo, para el mismo nivel 20, la
concentracin mxima con a = 0.01 es aproximadamente 3 g/L; para a = 0.06 es 1.4
g/L y para a = 0.10 es 0.9 g/L. Mientras la constante sea cada vez ms grande, las
grficas alcanzan su valor mximo, de forma ms rpida. El razonamiento fsico es que
al decaer ms rpidamente la concentracin de contaminante inicialmente descargada
en la orilla izquierda, ste tiene menos tiempo para ser transportado hacia los niveles
superiores y por ende, una cantidad menor pasa a ellos, cantidad que a su vez, decae
tambin ms rpidamente.

Efectos de la Variacin de la Velocidad de la Corriente U

La velocidad de la corriente U vara a travs de los valores
,

-. Se muestran los efectos en seis niveles


representativos del sistema: nivel 0 (orilla izquierda), nivel 20, nivel 40, nivel 60,
nivel 80 y nivel 100 (orilla derecha). Los resultados se muestran en las siguientes
grficas.
Grfica 8. Concentracin del Contaminante contra tiempo, m/s

Grfica 9. Concentracin del Contaminante contra tiempo, m/s




Grfica 10. Concentracin del Contaminante contra tiempo, m/s


Grfica 11. Concentracin del Contaminante contra tiempo, m/s





Grfica 12. Concentracin del Contaminante contra tiempo, m/s


Grfica 13. Concentracin del Contaminante contra tiempo, m/s

Se observa que el aumento en la velocidad de la corriente de agua ocasiona un
incremento en el valor mximo de concentracin de contaminante en cada nivel, y un
decremento en la cantidad de tiempo necesaria para llegar a ese mximo. Por ejemplo,
para el nivel 40, el mximo de concentracin de contaminante es aproximadamente
2.4 g/L cuando U = 0.05 m/s, 2.8 g/L cuando U = 0.07 m/s y 3.3 g/L cuando
U = 0.10 m/s. Esto es debido a que a medida que el contaminante fluye ms rpido en
el sentido de la corriente del ro,este se mantiene ms tiempo en los niveles
establecidos en el sistema y de esta forma alcanza un mayor valor de concentracin
mxima de contaminante; adems de que con un flujo de corriente mayor, la
concentracin de contaminante descargada inicialmente en la orilla izquierda es
transportada ms rpidamente hacia los niveles superiores, de modo que no le da
tiempo de decaer tanto como lo hara en el caso en que la corriente fuese ms lenta.

Efectos del Coeficiente de Difusin



Se hace variar el coeficiente de difusin

a travs de los valores
,

-. Se muestran los efectos en seis


niveles representativos del sistema: nivel 0 (orilla izquierda), nivel 20, nivel 40, nivel
60, nivel 80 y nivel 100 (orilla derecha). Los resultados se muestran en las siguientes
grficas.

Grfica 14. Concentracin del Contaminante contra tiempo,








Grfica 15. Concentracin del Contaminante contra tiempo,




Grfica 16. Concentracin del Contaminante contra tiempo,







Grfica 17. Concentracin del Contaminante contra tiempo,





Grfica 18. Concentracin del Contaminante contra tiempo,



Grfica 19. Concentracin del Contaminante contra tiempo,




El principal efecto de incrementar el coeficiente de difusin es que el tiempo en el que
se alcanza el valor mximo de concentracin contaminacin en cada nivel disminuye.
Por ejemplo, para el nivel 80, este tiempo es aproximadamente 190 s, 150 s y 100 s,
cuando el coeficiente de difusin DL es igual a 0.05

, 0.15

y 0.30


respectivamente. El significado fsico de esto es que mientras ms rpidamente se
difunde el contaminante a travs del ro, ms rpidamente se alcanza su mxima
concentracin en cada punto desde la orilla izquierda, donde fue vertido. Tambin se
pueden notar un ligero efecto sobre los valores mximos: para reas cercanas al ro
(Por ejemplo, el nivel 20), el efecto es incrementar el valor mximo de concentracin
de contaminante, mientras que para reas ms cercanas a la orilla derecha (Por
ejemplo, el nivel 80,) el efecto es disminuirlo.

Efectos de la Adicin de una Fuente de Contaminacin Puntual a
W Unidades de Distancia desde la Orilla Izquierda.

Cuando se adiciona una fuente de contaminacin puntual que descarga una cantidad
de contaminante en el mismo instante inicial, deben modificarse las condiciones
iniciales utilizadas para hallar la solucin. En este caso particular, la fuente est
ubicada a

de distancia desde la orilla izquierda, y descarga una


cantidad de contaminante tal que la concentracin instantnea llega a

en

.
Como consecuencia, las condiciones iniciales quedan

para todo { } tal que



Grfica 20. Concentracin del Contaminante contra tiempo,




Una comparacin entre la grfica 20 y la grfica 1, donde se muestra el
comportamiento para seis niveles cuando la nica fuente de contaminacin inicial se
encuentra en la orilla izquierda devela que adicionar una nueva fuente a 1.6 m desde
dicha orilla, produce un incremento en los valores mximos de concentracin del
contaminante.
Aunque no se observa en la grfica -dadas sus dimensiones-, la concentracin mxima
de contaminantes en el nivel 16, donde fue incluida la nueva fuente, es de 5 g/L; de
acuerdo a los datos de la tabla 2. Esta concentracin se alcanza en el tiempo inicial,
cuando es vertido el contaminante. Segn la grfica, la dinmica de las dems
variables del sistema obliga a esta concentracin a disminuir muy rpidamente de
modo que en t = 0
+
, su valor se ubica en aproximadamente 0.5 g/L, y desde all su
comportamiento es similar al que tena cuando exista solo una fuente de
contaminacin: crece hasta un mximo, debido a la difusin del contaminante desde la
orilla izquierda, y luego comienza a decrecer cuando el contaminante es transportado
a niveles superiores. La explicacin es que la concentracin inicial de la nueva fuente
se distribuye muy rpidamente a travs de los niveles adyacentes, teniendo el efecto
neto de incrementar la concentracin de contaminante en todos los niveles.
Una comparacin de las tablas 1 y 2, muestra que para los niveles cercanos al
16(como por ejemplo, el 10, o el 25), donde est la nueva fuente, el mximo de
contaminacin se incrementa, mientras que para niveles un poco ms lejanos (como el
80 o el 60), la contaminacin mxima se mantiene aproximadamente sin cambios.
Tabla 2. Mximo nivel de contaminacin en cada nivel, tras la adicin de una fuente de
contaminacin puntual en el nivel 16

Nivel
Contaminacin
Mxima Nivel
Contaminacin
Mxima Nivel
Contaminacin
Mxima Nivel
Contaminacin
Mxima
0 5 26 2,7366 52 2,2438 78 1,9637
1 4,4461 27 2,7098 53 2,2304 79 1,9543
2 4,2123 28 2,6839 54 2,217 80 1,9461
3 4,0425 29 2,6589 55 2,2045 81 1,9374
4 3,906 30 2,6347 56 2,1916 82 1,9286
5 3,791 31 2,6112 57 2,1796 83 1,9204
6 3,6912 32 2,5884 58 2,1673 84 1,9115
7 3,6027 33 2,5664 59 2,1555 85 1,9035
8 3,5234 34 2,5453 60 2,1438 86 1,895
9 3,4515 35 2,5247 61 2,1323 87 1,8862
10 3,3854 36 2,5047 62 2,1212 88 1,8785
11 3,3244 37 2,485 63 2,1099 89 1,8701
12 3,2679 38 2,4656 64 2,0994 90 1,8616
13 3,2152 39 2,4475 65 2,0883 91 1,8538
14 3,1659 40 2,4296 66 2,0782 92 1,8453
15 3,1195 41 2,4119 67 2,0674 93 1,8373
16 5 42 2,3945 68 2,0577 94 1,8294
17 3,0341 43 2,378 69 2,0471 95 1,8208
18 2,9946 44 2,3618 70 2,0378 96 1,8133
19 2,9571 45 2,3457 71 2,028 97 1,8053
20 2,9215 46 2,3301 72 2,0182 98 1,7971
21 2,8872 47 2,3151 73 2,0092 99 1,7898
22 2,8544 48 2,2999 74 1,9993 100 1,7818
23 2,8231 49 2,2856 75 1,9906
24 2,7932 50 2,2714 76 1,9814
25 2,7644 51 2,2571 77 1,9722


Anexo 1
Concentracin de contaminante en cada nivel

para cualquier tiempo


posterior al vertido inicial.

Grfica A0. Concentracin del Contaminante en el nivel 0,



















Grfica A1. Concentracin del Contaminante en el nivel 1,



Grfica A2. Concentracin del Contaminante en el nivel 2,


Grfica A3. Concentracin del Contaminante en el nivel 3,



Grfica A4. Concentracin del Contaminante en el nivel 4,



Grfica A5. Concentracin del Contaminante en el nivel 5,


Grfica A6. Concentracin del Contaminante en el nivel 6,


Grfica A7. Concentracin del Contaminante en el nivel 7,



Grfica A8. Concentracin del Contaminante en el nivel 8,



Grfica A9. Concentracin del Contaminante en el nivel 9,



Grfica A10. Concentracin del Contaminante en el nivel 10,



Grfica A11. Concentracin del Contaminante en el nivel 11,



Grfica A12. Concentracin del Contaminante en el nivel 12,


Grfica A13. Concentracin del Contaminante en el nivel 13,



Grfica A14. Concentracin del Contaminante en el nivel 14,



Grfica A15. Concentracin del Contaminante en el nivel 15,



Grfica A16. Concentracin del Contaminante en el nivel 16,



Grfica A17. Concentracin del Contaminante en el nivel 17,



Grfica A18. Concentracin del Contaminante en el nivel 18,



Grfica A19. Concentracin del Contaminante en el nivel 19,



Grfica A20. Concentracin del Contaminante en el nivel 20,



Grfica A21. Concentracin del Contaminante en el nivel 21,



Grfica A22. Concentracin del Contaminante en el nivel 22,



Grfica A23. Concentracin del Contaminante en el nivel 23,



Grfica A24. Concentracin del Contaminante en el nivel 24,



Grfica A25. Concentracin del Contaminante en el nivel 25,



Grfica A26. Concentracin del Contaminante en el nivel 26,



Grfica A27. Concentracin del Contaminante en el nivel 27,



Grfica A28. Concentracin del Contaminante en el nivel 28,



Grfica A29. Concentracin del Contaminante en el nivel 29,



Grfica A30. Concentracin del Contaminante en el nivel 30,



Grfica A31. Concentracin del Contaminante en el nivel 31,



Grfica A32. Concentracin del Contaminante en el nivel 32,



Grfica A33. Concentracin del Contaminante en el nivel 33,



Grfica A34. Concentracin del Contaminante en el nivel 34,



Grfica A35. Concentracin del Contaminante en el nivel 35,



Grfica A36. Concentracin del Contaminante en el nivel 36,



Grfica A37. Concentracin del Contaminante en el nivel 37,



Grfica A38. Concentracin del Contaminante en el nivel 38,



Grfica A39. Concentracin del Contaminante en el nivel 39,



Grfica A40. Concentracin del Contaminante en el nivel 40,



Grfica A41. Concentracin del Contaminante en el nivel 41,



Grfica A42. Concentracin del Contaminante en el nivel 42,



Grfica A43. Concentracin del Contaminante en el nivel 43,



Grfica A44. Concentracin del Contaminante en el nivel 44,



Grfica A45. Concentracin del Contaminante en el nivel 45,



Grfica A46. Concentracin del Contaminante en el nivel 46,



Grfica A47. Concentracin del Contaminante en el nivel 47,



Grfica A48. Concentracin del Contaminante en el nivel 48,



Grfica A49. Concentracin del Contaminante en el nivel 49,


Grfica A50. Concentracin del Contaminante en el nivel 50,



Grfica A51. Concentracin del Contaminante en el nivel 51,



Grfica A52. Concentracin del Contaminante en el nivel 52,



Grfica A53. Concentracin del Contaminante en el nivel 53,



Grfica A54. Concentracin del Contaminante en el nivel 54,



Grfica A55. Concentracin del Contaminante en el nivel 55,



Grfica A56. Concentracin del Contaminante en el nivel 56,



Grfica A57. Concentracin del Contaminante en el nivel 57,



Grfica A58. Concentracin del Contaminante en el nivel 58,



Grfica A59. Concentracin del Contaminante en el nivel 59,



Grfica A60. Concentracin del Contaminante en el nivel 60,



Grfica A61. Concentracin del Contaminante en el nivel 61,



Grfica A62. Concentracin del Contaminante en el nivel 62,



Grfica A63. Concentracin del Contaminante en el nivel 63,



Grfica A64. Concentracin del Contaminante en el nivel 64,



Grfica A65. Concentracin del Contaminante en el nivel 65,



Grfica A66. Concentracin del Contaminante en el nivel 66,



Grfica A67. Concentracin del Contaminante en el nivel 67,



Grfica A68. Concentracin del Contaminante en el nivel 68,



Grfica A69. Concentracin del Contaminante en el nivel 69,



Grfica A70. Concentracin del Contaminante en el nivel 70,



Grfica A71. Concentracin del Contaminante en el nivel 71,



Grfica A72. Concentracin del Contaminante en el nivel 72,



Grfica A73. Concentracin del Contaminante en el nivel 73,



Grfica A74. Concentracin del Contaminante en el nivel 74,



Grfica A75. Concentracin del Contaminante en el nivel 75,



Grfica A76. Concentracin del Contaminante en el nivel 76,



Grfica A77. Concentracin del Contaminante en el nivel 77,



Grfica A78. Concentracin del Contaminante en el nivel 78,



Grfica A79. Concentracin del Contaminante en el nivel 79,



Grfica A80. Concentracin del Contaminante en el nivel 80,



Grfica A81. Concentracin del Contaminante en el nivel 81,



Grfica A82. Concentracin del Contaminante en el nivel 82,



Grfica A83. Concentracin del Contaminante en el nivel 83,



Grfica A84. Concentracin del Contaminante en el nivel 84,



Grfica A85. Concentracin del Contaminante en el nivel 85,



Grfica A86. Concentracin del Contaminante en el nivel 86,



Grfica A87. Concentracin del Contaminante en el nivel 87,



Grfica A88. Concentracin del Contaminante en el nivel 88,



Grfica A89. Concentracin del Contaminante en el nivel 89,



Grfica A90. Concentracin del Contaminante en el nivel 90,



Grfica A91. Concentracin del Contaminante en el nivel 91,



Grfica A92. Concentracin del Contaminante en el nivel 92,



Grfica A93. Concentracin del Contaminante en el nivel 93,



Grfica A94. Concentracin del Contaminante en el nivel 94,



Grfica A95. Concentracin del Contaminante en el nivel 95,



Grfica A96. Concentracin del Contaminante en el nivel 96,



Grfica A97. Concentracin del Contaminante en el nivel 97,



Grfica A98. Concentracin del Contaminante en el nivel 98,



Grfica A99. Concentracin del Contaminante en el nivel 99,



Grfica A100. Concentracin del Contaminante en el nivel 100,



Anexo 2
Cdigo Matlab para la Solucin de las Partes 1 y 2

NOMBRE DEL ARCHIVO: solucion.m

clear all

% ****************** DATOS ********************

global a alfa1 alfa2 alfa3 alfa4 beta n

% Anchura del rio en metros
W = 10;
% Tamanio del paso para la discretizacion de la anchura del rio en metros
Dx = 0.1;
% Numero de segmentos en los que se divide la anchura del rio
n = W/Dx;
% Velocidad de la corriente del rio en metros por segundo
U = 0.05;
% Coeficiente de difusion del contaminante en metros^(2) por segundo
DL = 0.05;
% Constante de decaimiento en segundos^(-1)
a = 0.01;
% Condiciones iniciales
C_o = zeros(n+1,1);
C_o(1) = 5;

% ************* ENTRADAS EN LA MATRIZ *************
alfa1 = U/Dx + DL/(Dx)^2;
alfa2 = U/Dx + 2*DL/(Dx)^2;
alfa3 = DL/(Dx)^2;
alfa4 = U/Dx - 2*DL/(Dx)^2;
beta = U/Dx - DL/(Dx)^2;

% Opciones de error y tolerancias
options = odeset('RelTol',1e-6,'AbsTol',1e-6);
% Respuesta. El vector T corresponde al tiempo. El vector Y a las
% concentraciones.
[T,Y] = ode15s('rigid_ode',[0 1100],C_o,options);

% Genera las graficas solucion de cada nivel. Descomentar para
generarlas.
% for i = 1:1:n+1
% figure(i)
% plot( T,Y(:,i) );
% xlabel('t (s)');
% ylabel('Concentracion Contaminante (g/L)');
% grid on;
% print('-dpng', i);
% end

% Genera la grafica solucion de niveles representativos
% figure(1);
% plot( T,Y(:,1), '-b', T,Y(:,17), '-r', T, Y(:,41), '-c' , T,Y(:,61), '-
k', T,Y(:,81), '-m', T,Y(:,101),'-g' );
% xlabel('t (s)');
% ylabel('Concentracion Contaminante (g/L)');
% grid on;
% print('-dpng' );

% Calcula la maxima contaminacion alcanzada en cada nivel y la escribe en
% un archivo separado por comas (csv)
max_contaminacion = max(Y);
niveles = 0:1:n;
csvwrite( 'max_contaminacion.dat', [niveles' max_contaminacion'] );

% Busca e imprime el tiempo en el que el contaminante llega a la orilla
% derecha
i = 1;
while( Y(i,101) < 0.01*(5) )
i = i+1;
end
print( 'El tiempo en que el contaminante llega a la orilla derecha es '
);
T(i)
NOMBRE DEL ARCHIVO: rigid_ode.m
% Sistema de Ecuaciones Diferenciales
function xdot = rigid_ode(t,x)

global a alfa1 alfa2 alfa3 alfa4 beta n

xdot(1) = -a*x(1);
for i = 2:n
xdot(i) = alfa1*x(i-1)-alfa2*x(i)+alfa3*x(i+1);
end
xdot(n+1) = alfa3*x(n-1)+alfa4*x(n)-beta*x(n+1);
xdot = xdot';














Anexo 3
Cdigo Matlab para la Solucin de las Partes 3a

NOMBRE DEL ARCHIVO: solucin_3a.m

clear all

% ****************** DATOS ********************

global a alfa1 alfa2 alfa3 alfa4 beta n

% Anchura del rio en metros
W = 10;
% Tamanio del paso para la discretizacion de la anchura del rio en metros
Dx = 0.1;
% Numero de segmentos en los que se divide la anchura del rio
n = W/Dx;
% Velocidad de la corriente del rio en metros por segundo
U = 0.05;
% Coeficiente de difusion del contaminante en metros^(2) por segundo
DL = 0.05;
% Constante de decaimiento en segundos^(-1)
a = 0.01;
% Condiciones iniciales
C_o = zeros(n+1,1);
C_o(1) = 5;

% ************* ENTRADAS EN LA MATRIZ *************
alfa1 = U/Dx + DL/(Dx)^2;
alfa2 = U/Dx + 2*DL/(Dx)^2;
alfa3 = DL/(Dx)^2;
alfa4 = U/Dx - 2*DL/(Dx)^2;
beta = U/Dx - DL/(Dx)^2;

for i=2:2:10
% Calcula y asigna nuevo valor a
a = 0.01*i;


options = odeset('RelTol',1e-6,'AbsTol',1e-6);
[T,Y] = ode15s('rigid_ode',[0 1100],C_o,options);

% Grafico Niveles Representativos
figure(i)
plot( T,Y(:,1), '-b', T,Y(:,21), '-r', T, Y(:,41), '-c' , T,Y(:,61),
'-k', T,Y(:,81), '-m', T,Y(:,101),'-g' );
xlabel('t (s)');
ylabel('Concentracion Contaminante (g/L)');
grid on;
print('-dpng', i );
end

NOMBRE DEL ARCHIVO: rigid_ode.m
% Sistema de Ecuaciones Diferenciales
function xdot = rigid_ode(t,x)

global a alfa1 alfa2 alfa3 alfa4 beta n

xdot(1) = -a*x(1);
for i = 2:n
xdot(i) = alfa1*x(i-1)-alfa2*x(i)+alfa3*x(i+1);
end
xdot(n+1) = alfa3*x(n-1)+alfa4*x(n)-beta*x(n+1);
xdot = xdot';

























Anexo 4
Cdigo Matlab para la Solucin de la Parte 3b

NOMBRE DEL ARCHIVO: solucin_3b.m

clear all

% ****************** DATOS ********************

global a alfa1 alfa2 alfa3 alfa4 beta n

% Anchura del rio en metros
W = 10;
% Tamanio del paso para la discretizacion de la anchura del rio en metros
Dx = 0.1;
% Numero de segmentos en los que se divide la anchura del rio
n = W/Dx;
% Velocidad de la corriente del rio en metros por segundo
U = 0.05;
% Coeficiente de difusion del contaminante en metros^(2) por segundo
DL = 0.05;
% Constante de decaimiento en segundos^(-1)
a = 0.01;
% Condiciones iniciales
C_o = zeros(n+1,1);
C_o(1) = 5;


for i=1:1:6

% Calculo y asignacion de U
U = 0.05 + 0.01*(i-1);

% ************* ENTRADAS EN LA MATRIZ *************
alfa1 = U/Dx + DL/(Dx)^2;
alfa2 = U/Dx + 2*DL/(Dx)^2;
alfa3 = DL/(Dx)^2;
alfa4 = U/Dx - 2*DL/(Dx)^2;
beta = U/Dx - DL/(Dx)^2;


options = odeset('RelTol',1e-6,'AbsTol',1e-6);
[T,Y] = ode15s('rigid_ode',[0 1100],C_o,options);

% Grafico Niveles Representativos
figure(i);
plot( T,Y(:,1), '-b', T,Y(:,21), '-r', T, Y(:,41), '-c' , T,Y(:,61),
'-k', T,Y(:,81), '-m', T,Y(:,101),'-g' );
xlabel('t (s)');
ylabel('Concentracion Contaminante (g/L)');
grid on;
print('-dpng',i );

end

NOMBRE DEL ARCHIVO: rigid_ode.m
% Sistema de Ecuaciones Diferenciales
function xdot = rigid_ode(t,x)

global a alfa1 alfa2 alfa3 alfa4 beta n

xdot(1) = -a*x(1);
for i = 2:n
xdot(i) = alfa1*x(i-1)-alfa2*x(i)+alfa3*x(i+1);
end
xdot(n+1) = alfa3*x(n-1)+alfa4*x(n)-beta*x(n+1);
xdot = xdot';























Anexo 5
Cdigo Matlab para la Solucin de la Parte 3c

NOMBRE DEL ARCHIVO: solucin_3c.m

clear all

% ****************** DATOS ********************

global a alfa1 alfa2 alfa3 alfa4 beta n

% Anchura del rio en metros
W = 10;
% Tamanio del paso para la discretizacion de la anchura del rio en metros
Dx = 0.1;
% Numero de segmentos en los que se divide la anchura del rio
n = W/Dx;
% Velocidad de la corriente del rio en metros por segundo
U = 0.05;
% Coeficiente de difusion del contaminante en metros^(2) por segundo
DL = 0.05;
% Constante de decaimiento en segundos^(-1)
a = 0.01;
% Condiciones iniciales
C_o = zeros(n+1,1);
C_o(1) = 5;


for i=1:1:6

% Caluclo y asignacion DL
DL = 0.05 + 0.05*(i-1);

% ************* ENTRADAS EN LA MATRIZ *************
alfa1 = U/Dx + DL/(Dx)^2;
alfa2 = U/Dx + 2*DL/(Dx)^2;
alfa3 = DL/(Dx)^2;
alfa4 = U/Dx - 2*DL/(Dx)^2;
beta = U/Dx - DL/(Dx)^2;


options = odeset('RelTol',1e-6,'AbsTol',1e-6);
[T,Y] = ode15s('rigid_ode',[0 1100],C_o,options);

% Grafico Niveles Representativos
figure(i);
plot( T,Y(:,1), '-b', T,Y(:,21), '-r', T, Y(:,41), '-c' , T,Y(:,61),
'-k', T,Y(:,81), '-m', T,Y(:,101),'-g' );
xlabel('t (s)');
ylabel('Concentracion Contaminante (g/L)');
grid on;
print('-dpng',i );
end

NOMBRE DEL ARCHIVO: rigid_ode.m
% Sistema de Ecuaciones Diferenciales
function xdot = rigid_ode(t,x)

global a alfa1 alfa2 alfa3 alfa4 beta n

xdot(1) = -a*x(1);
for i = 2:n
xdot(i) = alfa1*x(i-1)-alfa2*x(i)+alfa3*x(i+1);
end
xdot(n+1) = alfa3*x(n-1)+alfa4*x(n)-beta*x(n+1);
xdot = xdot';
























Anexo 6
Cdigo Matlab para la Solucin de la Parte 4

NOMBRE DEL ARCHIVO: solucion.m

clear all

% ****************** DATOS ********************

global a alfa1 alfa2 alfa3 alfa4 beta n

% Anchura del rio en metros
W = 10;
% Tamanio del paso para la discretizacion de la anchura del rio en metros
Dx = 0.1;
% Numero de segmentos en los que se divide la anchura del rio
n = W/Dx;
% Velocidad de la corriente del rio en metros por segundo
U = 0.05;
% Coeficiente de difusion del contaminante en metros^(2) por segundo
DL = 0.05;
% Constante de decaimiento en segundos^(-1)
a = 0.01;
% Condiciones iniciales
C_o = zeros(n+1,1);
C_o(1) = 5;
C_o(17) = 5;

% ************* ENTRADAS EN LA MATRIZ *************
alfa1 = U/Dx + DL/(Dx)^2;
alfa2 = U/Dx + 2*DL/(Dx)^2;
alfa3 = DL/(Dx)^2;
alfa4 = U/Dx - 2*DL/(Dx)^2;
beta = U/Dx - DL/(Dx)^2;

% Opciones de error y tolerancias
options = odeset('RelTol',1e-6,'AbsTol',1e-6);
% Respuesta. El vector T corresponde al tiempo. El vector Y a las
% concentraciones.
[T,Y] = ode15s('rigid_ode',[0 1100],C_o,options);

% Genera las graficas solucion de cada nivel. Descomentar para
generarlas.
% for i = 1:1:n+1
% figure(i)
% plot( T,Y(:,i) );
% xlabel('t (s)');
% ylabel('Concentracion Contaminante (g/L)');
% grid on;
% print('-dpng', i);
% end

% Genera la grafica solucion de niveles representativos
% figure(1);
% plot( T,Y(:,1), '-b', T,Y(:,17), '-r', T, Y(:,41), '-c' , T,Y(:,61), '-
k', T,Y(:,81), '-m', T,Y(:,101),'-g' );
% xlabel('t (s)');
% ylabel('Concentracion Contaminante (g/L)');
% grid on;
% print('-dpng' );

% Calcula la maxima contaminacion alcanzada en cada nivel y la escribe en
% un archivo separado por comas (csv)
max_contaminacion = max(Y);
niveles = 0:1:n;
csvwrite( 'max_contaminacion.dat', [niveles' max_contaminacion'] );

% Busca e imprime el tiempo en el que el contaminante llega a la orilla
% derecha
i = 1;
while( Y(i,101) < 0.01*(5) )
i = i+1;
end
print( 'El tiempo en que el contaminante llega a la orilla derecha es '
);
T(i)
NOMBRE DEL ARCHIVO: rigid_ode.m
% Sistema de Ecuaciones Diferenciales
function xdot = rigid_ode(t,x)

global a alfa1 alfa2 alfa3 alfa4 beta n

xdot(1) = -a*x(1);
for i = 2:n
xdot(i) = alfa1*x(i-1)-alfa2*x(i)+alfa3*x(i+1);
end
xdot(n+1) = alfa3*x(n-1)+alfa4*x(n)-beta*x(n+1);
xdot = xdot';
















Anexo 7
Cdigo Matlab para determinar si el sistema de Ecuaciones Diferenciales
es Rgido

NOMBRE DEL ARCHIVO: version1.m

clear all

% ****************** DATOS ********************

% Anchura del rio en metros
W = 10;
% Tamanio del paso para la discretizacion de la anchura del rio en metros
Dx = 0.1;
% Numero de segmentos en los que se divide la anchura del rio
n = W/Dx;
% Velocidad de la corriente del rio en metros por segundo
U = 0.05;
% Coeficiente de difusion del contaminante en metros^(2) por segundo
DL = 0.05;
% Constante de decaimiento en segundos^(-1)
a = 0.01;
% Condiciones iniciales
C_o = zeros(n+1,1);
C_o(1) = 5; C_o(17) = 5;

% ************* ENTRADAS EN LA MATRIZ *************
alfa1 = U/Dx + DL/(Dx)^2;
alfa2 = U/Dx + 2*DL/(Dx)^2;
alfa3 = DL/(Dx)^2;
alfa4 = U/Dx - 2*DL/(Dx)^2;
beta = U/Dx - DL/(Dx)^2;

% ************ ANALISIS USANDO TECNICAS DE CONTROL *************
% Obtener Matrices dx/dt = A_sys*x + B_sys*U; y = C_sys*x;
A_sys = double(zeros(n+1,n+1));
A_sys(1,1) = -a;
for row = 2:n
A_sys(row,row) = -alfa2;
A_sys(row,row-1) = alfa1;
A_sys(row,row+1) = alfa3;
end
A_sys(n+1,n+1) = -beta;
A_sys(n+1,n) = +alfa4;
A_sys(n+1,n-1) = alfa3;

B_sys = C_o;
C_sys = zeros(1, n+1);

% Recordar que C_sys es la matriz que da la salida del sistema.
var_salida = 17; %Probar con cualquier valor entre 1 y n+1
C_sys(var_salida) = 1;

%Obtener el sistema en Espacio Estados
sys = ss(A_sys,B_sys,C_sys,0);

% Imprimir polos sistema.
pole(sys)


% SALIDA DONDE SE OBSERVA QUE EL SISTEMA DE ECUACIONES DIFERENCIALES ES
% RIGIDO. HAY ELEMENTOS QUE DECAEN MUY RAPIDAMENTE (CONSTANTE DE TIEMPO
% GRANDE, POR EJEMPLO EL PRIMER POLO -20) Y OTROS QUE DECAEN MUY
% LENTAMENTE ( CONSTANTE DE TIEMPO MUY PEQUENA, POR EJEMPLO EL ULTIMO
POLO
% -0.01)

































Anexo 8
Planteamiento Completo del Problema y Anlisis Preliminar

Das könnte Ihnen auch gefallen