Vous êtes sur la page 1sur 27

PROYECTO 2: Advección, Difusión y Reacción

MODELACIÓN HIDRÁULICA – COI 515

MENTOR: PATRICIO WINCKLER G.


AUTOR: DÁMARIS BERMÚDEZ S.

TRABAJO PREPARADO PARA EL CURSO MODELACIÓN MARÍTIMA


INGENIERÍA CIVIL OCEÁNICA – FACULTAD DE INGENIERÍA
UNIVERSIDAD DE VALPARAÍSO
VALPARAÍSO, CHILE, 25 OCTUBRE 2017.
Ingeniería Civil Oceánica, Universidad de Valparaíso PROYECTO 2: Advección, Difusión y Reacción

Contenido

1 Introducción ........................................................................................................................................... 3
2 DESARROLLo ....................................................................................................................................... 5
2.1 Parte 1 ........................................................................................................................................... 5
2.1.1 Problema de la difusión: Esquema explícito ......................................................................... 5
2.2 Parte 2 ......................................................................................................................................... 12
2.2.1 Problema de la difusión: Esquema implícito ....................................................................... 12
2.3 Parte 3 ......................................................................................................................................... 16
2.3.1 Problema de la reacción ...................................................................................................... 16
2.4 Parte 4 ......................................................................................................................................... 17
2.4.1 Problema de la difusión – reacción ..................................................................................... 17
3 Anexos ................................................................................................................................................. 19
3.1 Parte 1. Algoritmo esquema explícito. ......................................................................................... 19
3.2 Parte 2. Algoritmo esquema implícito .......................................................................................... 20
3.3 Parte 3. Algoritmo de la reacción ................................................................................................ 22
3.4 Algoritmo: Concentración con esquema explícito, implícito y suma de ambos esquemas. ...... 25
4 Referencias.......................................................................................................................................... 27

ILUSTRACIONES

Ilustración 1. Representación de la solución numérica de la función 𝑪𝒙, 𝒕.. _________________________________ 7


Ilustración 2. Representación de la solución numérica 𝑪𝒙, 𝒕 en 3D. _______________________________________ 8
Ilustración 3. Ilustración numérica de la concentración C(x,t). ___________________________________________ 8
Ilustración 4. Coeficiente de difusión D = 1.2 𝑚22 _____________________________________________________ 9
Ilustración 5. Coeficiente de difusión D = 1 𝑚22 ______________________________________________________ 9
Ilustración 6. Coeficiente de difusión D = 1.6 𝑚22 _____________________________________________________ 9
Ilustración 7. Coeficiente de difusión D = 1.4 𝑚22 _____________________________________________________ 9
Ilustración 8. Coeficiente de difusión D = 2 𝑚22 ______________________________________________________ 9
Ilustración 9. Coeficiente de difusión D = 1.8 𝑚22 _____________________________________________________ 9
Ilustración 10. Inestabilidad del modelo numérico ____________________________________________________ 11
Ilustración 11. Representación de la solución numérica 𝐂(𝐱, 𝐭). _________________________________________ 14
Ilustración 12. Solución numérica de la concentración 𝐂(𝐱, 𝐭). __________________________________________ 14
Ilustración 13. Resultados 𝐂(𝐱, 𝐭) con esquema implícito ______________________________________________ 15
Ilustración 14. Resultados 𝐂(𝐱, 𝐭).con esquema explícito ______________________________________________ 15
Ilustración 15. Solución numérica 𝑪𝒕. ______________________________________________________________ 16
Ilustración 16. Análisis de sensibilidad _____________________________________________________________ 17
Ilustración 17. Representación de la solución numérica 𝑪𝐱, 𝒕. __________________________________________ 18
Ilustración 18. Representación de la solución numérica C(x,t) __________________________________________ 18
Ilustración 19. Gráficos de la concentración con esquema explícito, implícito. _____________________________ 27

ECUACIONES

Ecuación 1. Ecuación de gobierno de difusión en una dimensión. _________________________________________ 5


Ecuación 2. Condiciones de borde. _________________________________________________________________ 5

2
Ingeniería Civil Oceánica, Universidad de Valparaíso PROYECTO 2: Advección, Difusión y Reacción

Ecuación 3. Condición inicial tipo Gaussiana _________________________________________________________ 5


Ecuación 4. Solución propuesta para la estabilidad del algoritmo _______________________________________ 10
Ecuación 5. Ecuación de reacción para un flujo incompresible. __________________________________________ 16

1 INTRODUCCIÓN

La necesidad de resolver ecuaciones diferenciales que describen el comportamiento de una función


objetivo en el tiempo y en el espacio, ha sido altamente demandado para el estudio de procesos físicos,
los cuales frecuentemente se presentan de forma irregular.
Es habitual abastecerse de información para identificar cómo se han desarrollado distintos procesos, pero
la meta que todos compartimos es la certera predicción de estos eventos.

Este informe utiliza técnicas numéricas mediante la discretización del espacio, el tiempo y algoritmos que
permiten definir magnitudes de concentraciones en un evento futuro. De esta forma las ecuaciones
propuestas más adelante se resuelven en puntos y no en un dominio que contemplen la infinidad de
puntos en el espacio.

Luego, el siguiente paso es determinar cómo se logra resolver estas ecuaciones de mayor orden
(identificación de un método numérico). En el campo de la modelación hay varios métodos a cuales
acudir, para este caso el mandante ha señalado el uso de las diferencias finitas.

El informe preparado para el curso de Modelación Hidráulica utiliza la ecuación de gobierno de difusión
en una dimensión, mediante dos esquemas numéricos (Esquema explícito y Esquema implícito).

𝜕𝐶 𝜕2𝐶
=𝐷 2
𝜕𝑡 𝜕𝑥

Para escribir la ecuación de gobierno de la difusión en diferencias finitas se recurre a la serie de Taylor:

𝜕𝑛 𝑓
𝑓 (𝑛) =
𝜕𝑥 2

La serie de Taylor es una serie que permite aproximar el valor de las funciones en un punto a partir de
valores dado de la función y de todas sus derivadas.

(1)
(𝑥 − 𝑎) (𝑥 − 𝑎)2 (𝑥 − 𝑎)𝑛
𝑓(𝑥) = 𝑓(𝑎) + 𝑓 (𝑎) + 𝑓 (2) (𝑎) + ⋯ = ∑ 𝑓 (𝑛) 𝑎
1! 2! 𝑛!
𝑛=0

Para la simplificación de la forma que adopta F(x) se describe la serie para dos puntos ubicados 𝑥 + ∆𝑥 y
𝑥 − ∆𝑦, se tiene:

𝑓(𝑥 + ∆𝑥) − 𝑓(𝑥)


𝑓 ′ (𝑥) = + 𝜗(∆𝑥 2 )
∆𝑥

𝑓(𝑥) − 𝑓(𝑥 − ∆𝑥)


𝑓 ′ (𝑥) = + 𝜗(∆𝑥 2 )
∆𝑥

𝑓(𝑥 + ∆𝑥) − 𝑓(𝑥 − ∆𝑥)


𝑓 ′ (𝑥) = + 𝜗(∆𝑥 2 )
∆𝑥

3
Ingeniería Civil Oceánica, Universidad de Valparaíso PROYECTO 2: Advección, Difusión y Reacción

Donde La primera expresión corresponde a la diferencia avanzada, la segunda expresión la diferencia


retrasada, y la tercera la diferencia centrada, las tres para la primera derivada.

1. ESQUEMA EXPLÍCITO
El esquema explícito es un esquema numérico que permite calcular un estado futuro a partir de estados
actuales conocidos.
Para el modelo de difusión en una dimensión se establecen los siguientes esquemas:
𝜕𝐶 𝐶(𝑥, 𝑡 + ∆𝑡) − 𝐶(𝑥, 𝑡)
(𝑥, 𝑡) = − 𝜗(∆𝑡)
𝜕𝑡 ∆𝑡

𝜕2𝐶 𝐶(𝑥 + ∆𝑥, 𝑡) − 2𝐶(𝑥, 𝑡) + 𝐶(𝑥 − ∆𝑥, 𝑡)


(𝑥, 𝑡) = − 𝜗(∆𝑥 2 )
𝜕𝑥 2 ∆𝑥 2

La primera expresión corresponde a la derivada temporal a partir de diferencias avanzadas, la siguiente


expresión corresponde a la derivada espacial mediante diferencias centradas.
A partir de los esquemas implementados es posible encontrar una expresión explícita para la
concentración en un tiempo futuro.
En la conformación del esquema explícito presenta una relación entre dos variables (∆𝑥 𝑦 ∆𝑡), esto se
debe a que presenta problemas de estabilidad numérica, entonces se limita el intervalo temporal cuando
se ha seleccionado un valor para el espaciamiento, más adelante se explica detalladamente.

2. ESQUEMA IMPLÍCITO
El esquema implícito es un esquema numérico que no presenta problemas en la estabilidad numérica,
por esto ∆𝑥 𝑦 ∆𝑡 son independientes, y al igual que en el caso anterior la derivada temporal se discretiza
mediante diferencias avanzadas y la derivada espacial por diferencias centradas, pero está última
evaluada en un tiempo futuro.

𝜕2𝐶 𝐶(𝑥 + ∆𝑥, 𝑡) − 2𝐶(𝑥, 𝑡) + 𝐶(𝑥 − ∆𝑥, 𝑡)


(𝑥, 𝑡) = − 𝜗(∆𝑥 2 )
𝜕𝑥 2 ∆𝑥 2

Luego, combinando la ecuación de gobierno de la difusión, la ecuación de diferencias finitas avanzada y


la ecuación de diferencias centrada se tiene:

𝐶𝑖 𝜏+1 − 𝐶𝑖 𝜏 𝐶𝑖+1 𝜏+1 − 2𝐶𝑖 𝜏+1 + 𝐶𝑖−1 𝜏+1


−𝐷( ) = 𝜗(∆𝑥 2 , ∆𝑡 2 )
∆𝑡 ∆𝑥 2

La expresión está descrita mediante la notación:

𝐶(𝑥, 𝑡) ↔ 𝐶𝑖 𝜏

Se recurre al álgebra lineal para resolver el algoritmo.


La formación de la estructura que contempla el esquema implícito se muestra en el desarrollo del informe.

4
Ingeniería Civil Oceánica, Universidad de Valparaíso PROYECTO 2: Advección, Difusión y Reacción

2 DESARROLLO

2.1 PARTE 1
2.1.1 Problema de la difusión: Esquema explícito

Se considera un problema de difusión de masa de una agente en el medio. El problema es simplificado


en una dimensión espacial en un dominio a < x < b, definido por la ecuación:

𝜕𝐶 𝜕2𝐶
=𝐷 2
𝜕𝑡 𝜕𝑥

Ecuación 1. Ecuación de gobierno de difusión en una dimensión.

Donde 𝐶(𝑥, 𝑡) es la concentración y 𝐷 el coeficiente de difusión. Las condiciones de bordes es de tipo


Dirichlet y con una condición inicial de tipo Gaussianna.

𝐶(𝑎, 𝑡) = 0 , 𝐶(𝑏, 𝑡) = 0

Ecuación 2. Condiciones de borde.

1 𝑥2
(− )
𝐶(𝑥, 0) = 𝑒 2𝜎 2
𝜎√2𝜋
Ecuación 3. Condición inicial tipo Gaussiana

Donde 𝜎 = (𝑏 − 𝑎)/20.
Utilizando un esquema de diferencias finitas explícito, de tipo avanzado en el tiempo y centrado en el
espacio (FTCS: forward in time, centered in space) se efectúa lo siguiente:

a) Se escribe el algoritmo en diferencias finitas del problema de difusión dado por la


Ecuación 1, 2 y 3.

El algoritmo comienza con la inicialización de variables mediante la discretización del espacio y del
tiempo, en ellos se señalan:
𝑚2
El valor del coeficiente de difusión D en .
𝑠
Límite espacial inferior (xmin [𝑚]).
Límite espacial superior (xmax en [𝑚]).
Intervalo de espacios (dx 𝑒𝑛 [𝑚]).
Vector espacial (límite inferior: espaciamiento: límite superior).
Número de nodos en el vector x.
Factor de seguridad (Fs).
Tiempo inicial [𝑠]
Tiempo final [𝑠]
Intervalo de tiempo [𝑠]
Vector temporal (tiempo inicial: intervalo: tiempo final).
Número de nodos.

La representación inicial del algoritmo es la siguiente:


5
Ingeniería Civil Oceánica, Universidad de Valparaíso PROYECTO 2: Advección, Difusión y Reacción

𝐷 = 1.6
𝑥𝑚𝑖𝑛 = 0
𝑥𝑚𝑎𝑥 = 3
𝑑𝑥 = 0.1
𝑥 = 𝑚𝑖𝑛 ∶ 𝑑𝑥 ∶ 𝑥𝑚𝑎𝑥
𝑚𝑎𝑥 − 𝑥𝑚𝑖𝑛
𝑁𝑥 = +1
𝑑𝑥
𝐹𝑆 = 0.3
𝑡𝑚𝑖𝑛 = 0
𝑡𝑚𝑎𝑥 = 0.2
𝑑𝑥 2
𝑑𝑡 = 𝐹𝑆 ∗ ∗𝐷
2
𝑡 = 𝑡𝑚𝑖𝑛 ∶ 𝑑𝑡 ∶ 𝑡𝑚𝑎𝑥
[𝑁𝑡 𝑎𝑢𝑥] = 𝑠𝑖𝑧𝑒(𝑡 ′ )

Donde el término 𝑠𝑖𝑧𝑒(𝑓) es una función que permite reemplazar la cantidad de elementos del vector
temporal t en una matriz [𝑁𝑡 𝑎𝑢𝑥].
Los valores empleados para la iteración han sido arbitrarios asegurando un factor de seguridad
𝐹𝑆 menor a 1 para garantizar la estabilidad del algoritmo.
El algoritmo del esquema explícito define el intervalo de tiempo 𝑑𝑡 a partir de un intervalo de espacios 𝑑𝑥
dado.

Luego de esto se inicializa la condición inicial:

𝑐𝑒 = 𝑧𝑒𝑟𝑜𝑠(𝑁𝑥, 𝑁𝑡)
𝐹 = (𝑥𝑚𝑎𝑥 − 𝑥𝑚𝑖𝑛)/20
1
𝐺=
𝐹 ∗ 𝑠𝑞𝑟𝑡(∗ 𝑝𝑖)
𝑑𝑡
𝐴=𝐷∗ 2
𝑑𝑥 2
𝑐𝑒 (: ,1) = 𝐺 ∗ 𝑒 (−((𝑥−1.5). ) /(2 ∗ 𝐹 2 ))

En este paso se crea una matriz 𝑐𝑒 (concentración con esquema explícito) de ceros de un tamaño
𝑁𝑥 × 𝑁𝑡 .
Se ha designado un desplazamiento del centro de la función hacia el lado derecho.

El siguiente paso corresponde al algoritmo de iteración del esquema explícito:

𝑓𝑜𝑟 𝑡𝑡 = 1 ∶ 𝑁𝑡 − 1
𝑐𝑒(1, 𝑡𝑡 + 1) = 0´
𝑐𝑒(𝑁𝑥, 𝑡𝑡 + 1) = 0
𝑓𝑜𝑟 𝑥𝑥 = 2 ∶ 𝑁𝑥 − 1
𝑐𝑒(𝑥𝑥, 𝑡𝑡 + 1) = 𝑐𝑒(𝑥𝑥, 𝑡𝑡) + 𝐴 ∗ ( 𝑐𝑒(𝑥𝑥 + 1, 𝑡𝑡) − 2 ∗ 𝑐𝑒(𝑥𝑥, 𝑡𝑡) + 𝑐𝑒(𝑥𝑥 − 1, 𝑡𝑡))
𝑒𝑛𝑑
𝑒𝑛𝑑
𝑓𝑜𝑟 𝑡𝑡 = 1 ∶ 𝑁𝑡 − 1
𝑝𝑙𝑜𝑡(𝑥, 𝑐𝑒(: , 𝑡𝑡),′ 𝑏𝑜−′ )
𝑦𝑙𝑖𝑚([0 3])
𝑥𝑙𝑎𝑏𝑒𝑙(′𝑥 [𝑚]′ )
𝑦𝑙𝑎𝑏𝑒𝑙(′𝑐𝑒[−]′ )
𝑒𝑛𝑑

6
Ingeniería Civil Oceánica, Universidad de Valparaíso PROYECTO 2: Advección, Difusión y Reacción

El algoritmo iterativo está formado por un ciclo 𝐹𝑜𝑟 donde se utiliza un contador desde 1 hasta 𝑁𝑡 − 1. Se
agregan las condiciones de borde dentro del ciclo para fijarlos en la matriz mientras avanza la iteración,
luego se agrega a la matriz la configuración de la concentración en un evento futuro utilizando valores
conocidos de un evento presente de la concentración.

b) Encontrar la solución numérica 𝑪(𝒙, 𝒕).

La solución numérica de la función 𝐶(𝑥, 𝑡) son todos aquellos puntos en el espacio que puede adquirir la
concentración en un tiempo acotado.

Ilustración 1. Representación de la solución numérica de la función 𝑪(𝒙, 𝒕)..

Fuente: Elaboración propia.

La Figura 1 representa el esquema numérico explícito utilizando las variables especificadas en el punto
anterior.
El eje horizontal indica el tiempo de duración en segundos (× 10−3 ), el eje vertical indica los límites
espaciales (límite inferior y superior, × 10−3 ) y la barra de colores muestra los valores que adquiere la
concentración en el espacio a medida que transcurre el tiempo.

El factor de seguridad asignado en el algoritmo cumple con la condición de Courant (Fs <1), por esto, la
solución numérica es estable en todo el dominio del tiempo.
En la figura 1 es posible visualizar el espaciamiento entre los nodos y el decrecimiento abrupta de la
concentración, esto último es debido a los valores designados a las variables inicializadas.

La concentración máxima obtenida a partir de los datos ingresados está por sobre los 2.5.

7
Ingeniería Civil Oceánica, Universidad de Valparaíso PROYECTO 2: Advección, Difusión y Reacción

Ilustración 2. Representación de la solución numérica 𝑪(𝒙, 𝒕) en 3D.

Fuente: Elaboración propia.

Otra forma de representar la solución numérica 𝐶(𝑥, 𝑡), es la Figura 2, donde el eje vertical indica la
magnitud de la concentración y en los ejes horizontales el vector espacial y el vector temporal.
Esta representación confirma el decrecimiento significativo de la concentración, dado que la forma que
adquiere la función 𝐶(𝑥, 𝑡) corresponde a un evento exponencial.
Es importante señalar que los valores obtenidos para la concentración coinciden con la física, o bien, con
eventos reales.

Ilustración 3. Ilustración numérica de la concentración C(x,t).

Fuente: Elaboración propia.

En la Ilustración 3 se visualiza la concentración en distintos instantes de tiempo.


El eje vertical indica la magnitud de la concentración, el eje horizontal presenta el límite inferior y superior
del espacio y la barra de colores muestra la cantidad de iteraciones en el tiempo para la concentración.
Las barras de color rojo corresponden a las últimas iteraciones (70) indicando una concentración de 0.5.

8
Ingeniería Civil Oceánica, Universidad de Valparaíso PROYECTO 2: Advección, Difusión y Reacción

c) Se efectúa un análisis de sensibilidad de los resultados ante variaciones en el coeficiente


de difusión.

𝑚2 𝑚2
Ilustración 5. Coeficiente de difusión D = 1 Ilustración 4. Coeficiente de difusión D = 1.2
2 2

𝑚2 𝑚2
Ilustración 7. Coeficiente de difusión D = 1.4 Ilustración 6. Coeficiente de difusión D = 1.6
2 2

𝑚2 𝑚2
Ilustración 9. Coeficiente de difusión D = 1.8 Ilustración 8. Coeficiente de difusión D = 2
2 2

9
Ingeniería Civil Oceánica, Universidad de Valparaíso PROYECTO 2: Advección, Difusión y Reacción

La Ilustración 3 hasta la Ilustración 7 muestran los valores de la concentración en el espacio a medida


que se va asignando un valor más alto al coeficiente de difusión.
Se visualiza que los valores que adquiere la concentración en el espacio disminuyen para cada caso
presentado.

Al utilizar un coeficiente de difusión menor indica que el flujo que se origina debido a las diferencias de
concentraciones en el fluido es bajo, es decir, las magnitudes de las concentraciones son muy parecidas
entre ellas a medida que transcurre el tiempo y disminuye lentamente, de esta forma el proceso de
m2
mezcla se hace más lento, en cambio en la Ilustración 7 con un coeficiente de difusión de 2 , el flujo
2
es mayor en ese instante de tiempo, es decir, la distancia entre concentraciones es muy alta indicando
una disminución abrupta de la concentración traduciéndose como un proceso de mezcla mucho más
rápido.

d) Se define la relación entre el salto de tiempo 𝒅𝒕 y la resolución espacial 𝒅𝒙 que garantice


la estabilidad del algoritmo.

La relación existente entre el intervalo espacial y de tiempo se debe a un análisis en el que se asume
una solución del siguiente tipo:

Ecuación 4. Solución propuesta para la estabilidad del algoritmo

𝐶(𝑥, 𝑡) = 𝐹(𝑡) ∗ exp(𝑖𝑘𝑥)

Donde 𝐶(𝑥, 𝑡) es una función que se describe a partir de la separación de la variable del tiempo y del
espacio, o bien la concentración depende del espacio exp(𝑖𝑘𝑥) y en forma separada del tiempo F(t).
2𝜋
k= (longitud de onda).
𝜆

La función que describe el espacio se encuentra acotada entre 0 y 1 dado a la solución de Euler que se
describe como 𝑒 𝑖𝑥 = cos 𝑥 + isin 𝑥. De esta forma se asegura que las perturbaciones que se van
introduciendo al sistema no escapan de estos rangos, vale decir, que no experimenta un acrecentamiento
indefinido.
Al correr el modelo considerando una función F(t) que crece al infinito, el algoritmo se vuelve inestable,

𝐹 𝜏+1
En el desarrollo analítico se construye un cociente , entonces se realiza el cálculo del tiempo actual
𝐹𝜏
y luego el cálculo del tiempo siguiente. Si la razón entre ambas es mayor a 1 entonces la función es
creciente y si es menor a 1 es decreciente.

𝐹 𝜏+1 𝐹 𝜏+1
| 𝜏 |<1 1≤ ≤1
𝐹 𝐹𝜏
Fuente: Modelado de procesos costeros (Patricio Winckler, 2017).

Luego se reemplaza la solución de la función 𝑒 𝑖𝑥 = cos 𝑥 + isin 𝑥 :

2𝐷∆𝑡 2𝐷∆𝑡
−1 ≤ 1 + [cos(𝑘∆𝑥) − 1] , 1 + [cos(𝑘∆𝑥) − 1] ≤ 1
∆𝑥 2 ∆𝑥 2

10
Ingeniería Civil Oceánica, Universidad de Valparaíso PROYECTO 2: Advección, Difusión y Reacción

2𝐷∆𝑡
La expresión a utilizar es −1 ≤ 1 + [cos(𝑘∆𝑥) − 1] , debido a que esta ordena una restricción al
∆𝑥 2
dominio del espacio y del tiempo a diferencia de la expresión del lado derecho.

Luego se obtiene
∆𝑥 2
∆𝑡 ≤
𝐷[1 − cos(𝑘∆𝑥)]

Para obtener un límite superior del intervalo temporal el denominador de la ecuación debe ser lo más
pequeño. Como presenta una función sinusoidal los valores que puede adquirir 𝑘∆𝑥 están entre el -1 y 1,
luego se utiliza este último valor (𝑘∆𝑥 = −1 ) y se tiene:

∆𝑥 2
∆𝑡 ≤
2𝐷

De esta forma la función F(t) se a sujeta a la restricción que asume el intervalo de espaciamiento.

e) Se comenta sobre cómo se manifiesta la inestabilidad cuando no se satisface la condición


de Courant.

La inestabilidad del modelo se presenta cuando no se cumple con la condición de seguridad (condición
de Courant).
𝐹𝑠 ≤ 1

Se ejemplifica la inestabilidad del algoritmo mediante ilustraciones:

Ilustración 10. Inestabilidad del modelo numérico

Fuente: Elaboración propia.

La inestabilidad del modelo se presenta cuando el intervalo de tiempo es creciente en todo su dominio,
vale decir, que incrementa esta variable indefinidamente. Esto genera que la concentración crezca a su
vez abruptamente, por lo tanto, es importante imponer la condición para que el algoritmo numérico no
siga incrementándose.
Físicamente no es aceptado este tipo de resultados ya que en la naturaleza no existen procesos de
mezcla en las que la concentración aumente al infinito, mas bien, ocurre todo lo contrario, la
concentración decrece a medida que fluye en el espacio.

11
Ingeniería Civil Oceánica, Universidad de Valparaíso PROYECTO 2: Advección, Difusión y Reacción

2.2 PARTE 2
2.2.1 Problema de la difusión: Esquema implícito

Utilizando un esquema de diferencias finitas implícito, efectúa las siguientes tareas:

f) Se escribe el algoritmo del problema de difusión dado por (1), (2) y (3).

Al igual que en el esquema explícito se definen las variables de inicialización mediante la discretización
del espacio y del tiempo:
𝑚2
El valor del coeficiente de difusión D en .
𝑠
Límite espacial inferior (xmin [𝑚]).
Límite espacial superior (xmax en [𝑚]).
Intervalo de espacios (dx 𝑒𝑛 [𝑚]).
Vector espacial (límite inferior: espaciamiento: límite superior).
Número de nodos en el vector x.
Tiempo inicial [𝑠].
Tiempo final [𝑠].
Intervalo de tiempo [𝑠].
Vector temporal (tiempo inicial: intervalo: tiempo final).
Número de nodos.
Factor de amplificación.

Para este esquema numérico no es necesario el factor de seguridad como en el caso anterior, por lo que
el intervalo de tiempo 𝑑𝑡 es independiente al intervalo espacial 𝑑𝑥 .
La representación inicial del algoritmo es la siguiente:

𝐷 = 1.6
𝑥𝑚𝑖𝑛 = 0
𝑥𝑚𝑎𝑥 = 3
𝑑𝑥 = 0.1
𝑥 = 𝑚𝑖𝑛 ∶ 𝑑𝑥 ∶ 𝑥𝑚𝑎𝑥
𝑚𝑎𝑥 − 𝑥𝑚𝑖𝑛
𝑁𝑥 = +1
𝑑𝑥
𝐹𝑆 = 0.3
𝑡𝑚𝑖𝑛 = 0
𝑡𝑚𝑎𝑥 = 0.2
𝑑𝑡 = 0.023
𝑡 = 𝑡𝑚𝑖𝑛 ∶ 𝑑𝑡 ∶ 𝑡𝑚𝑎𝑥
[𝑁𝑡 𝑎𝑢𝑥] = 𝑠𝑖𝑧𝑒(𝑡 ′ )
𝐴 = 𝐷 ∗ 𝑑𝑡/(𝑑𝑥 2 )

A continuación construye la matriz del esquema implícito:

𝐴𝐴 = 𝑧𝑒𝑟𝑜𝑠(𝑁𝑥, 𝑁𝑥)
𝐴𝐴(1,1) = 1
𝐴𝐴 (𝑁𝑥, 𝑁𝑥) = 1

12
Ingeniería Civil Oceánica, Universidad de Valparaíso PROYECTO 2: Advección, Difusión y Reacción

𝑓𝑜𝑟 𝑗 = 2 ∶ 𝑁𝑥 − 1
𝐴𝐴(𝑗, 𝑗) = 1 + 2 ∗ 𝐴
𝐴𝐴(𝑗, 𝑗 + 1) = −𝐴
𝐴𝐴(𝑗, 𝑗 − 1) = −𝐴
𝑒𝑛𝑑

Ya terminado el ingreso de los valores en la diagonal se agrega la condición inicial de 𝑐𝑖 (concentración


con esquema implícito):

𝑐𝑖 = 𝑍𝑒𝑟𝑜𝑠(𝑁𝑥, 𝑁𝑡);

𝑥𝑚𝑎𝑥 − 𝑥𝑚𝑖𝑛
𝐹= ;
20
1
𝐺 = ∗ 𝑠𝑞𝑟𝑡(2 ∗ 𝑝𝑖))
𝐹
(𝑥 − 1.5).2
𝑐𝑖(: ,1) = 𝐺 ∗ exp (− )
2 ∗ 𝐹2

A la matriz 𝑐𝑖 formada por ceros se le agrega las condiciones de borde e iniciales.

𝑓𝑜𝑟 𝑘 = 1 ∶ 𝑁𝑡 − 2
𝑐𝑖(1, 𝑘 + 1) = 0
𝑐𝑖(𝑁𝑥, 𝑘 + 1) = 0
𝑒𝑛𝑑
𝑓𝑜𝑟 𝑥𝑥 = 2 ∶ 𝑁𝑥 − 1
𝑐𝑖(: , 𝑘 + 1) = 𝐴𝐴\𝑐𝑖(: , 𝑘);
𝑒𝑛𝑑

𝑓𝑜𝑟 𝑡𝑡 = 2 ∶ 𝑁𝑡 − 1
𝑝𝑙𝑜𝑡(𝑥, 𝑐𝑖(: , 𝑡𝑡),′ 𝑏𝑜−′ )
𝑦𝑙𝑖𝑚([0 max(max(𝑐𝑖))])
𝑥𝑙𝑎𝑏𝑒𝑙(′𝑥 [𝑚]′ )
𝑦𝑙𝑎𝑏𝑒𝑙(′𝑐𝑖[−]′ )
𝑒𝑛𝑑

Por último se finaliza con un ciclo 𝐹𝑜𝑟 donde se utiliza un contador desde 2 hasta 𝑁𝑥 − 1, considerando
que la concentración en un evento futuro estará dada por la matriz de la concentración de 𝑐𝑖 en un
tiempo actual sobre la determinante de la matriz 𝐴𝐴.

13
Ingeniería Civil Oceánica, Universidad de Valparaíso PROYECTO 2: Advección, Difusión y Reacción

g) Encuentra la solución numérica 𝑪(𝒙, 𝒕)

Ilustración 11. Representación de la solución numérica 𝐂(𝐱, 𝐭).

Fuente: Elaboración propia.

La Ilustración 10 muestra la solución numérica de la concentración en un esquema implícito.


El eje en la vertical indica el vector espacial × 10−2 y el eje horizontal indica el vector temporal. El
esquema derecho muestra en el eje vertical la magnitud de la concentración y en los ejes horizontales el
vector espacial y temporal.
La concentración máxima es la misma que en la Ilustración 1 y 2 debido a que se utilizaron los mismos
valores en las variables.

Ilustración 12. Solución numérica de la concentración 𝐂(𝐱, 𝐭).

Fuente: Elaboración propia.

En la Ilustración 11 se visualiza la concentración en distintos instantes de tiempo.


El eje vertical indica la magnitud de la concentración, el eje horizontal presenta el límite inferior y superior
del espacio y la barra de colores muestra la cantidad de iteraciones en el tiempo para la concentración.
Entonces, las barras de color azul corresponden a las primeras 2 iteraciones con un valor aproximado
de 2.7, luego las concentración es menor y concuerda cada iteración del tiempo. Las barras de color rojo
muestra la concentración que corresponde a la última iteración en el tiempo y su magnitud es de
aproximadamente de 0.5.
14
Ingeniería Civil Oceánica, Universidad de Valparaíso PROYECTO 2: Advección, Difusión y Reacción

h) Comparar los resultados obtenidos mediantes los esquemas explícito e implícito

Ilustración 14. Resultados 𝐂(𝐱, 𝐭).con esquema explícito Ilustración 13. Resultados 𝐂(𝐱, 𝐭) con esquema implícito

Fuente: Elaboración propia.

Las Ilustraciones 13 y 14 muestran la cantidad de iteraciones de la matriz 𝑁𝑡. El esquema explícito


muestra una mayor cantidad de instantes en la que va disminuyendo la concentración que el esquema
implícito. Del esquema explícito se obtiene una cantidad de 72 iteraciones, en cambio el esquema
implícito se tiene 9 iteraciones.
La barra de colores indica la iteración que se está efectuando. Las líneas azulinas corresponden a las
primeras iteraciones y las rojas las últimas.
El esquema explícito requiere de una mayor cantidad de iteraciones para poder representar la
disminución de la concentración mientras avanza el tiempo, sin embargo los resultados de la Ilustración
14 indica que para este esquema no las requiere.

15
Ingeniería Civil Oceánica, Universidad de Valparaíso PROYECTO 2: Advección, Difusión y Reacción

2.3 PARTE 3
2.3.1 Problema de la reacción

Se considera un problema de reacción en una dimensión, en un dominio −𝐿 < 𝑥 < 𝐿, definido por la
ecuación:
𝜕𝐶
+ 𝑘𝐶 = 0
𝜕𝑡

Ecuación 5. Ecuación de reacción para un flujo incompresible.

Donde 𝑘 > 0 es el coeficiente de decaimiento. Se utilizan las condiciones de borde e iniciales (2) y (3) con
el algoritmo con esquema explícito (FTCS) para las siguientes tareas:

i) Encuentra la solución numérica 𝑪(𝒕).

Ilustración 15. Solución numérica 𝑪(𝒕).

Fuente: Elaboración propia.

La Ilustración 15 muestra la solución numérica para distintos valores de 𝑘.


El eje vertical indica la concentración, y sus magnitudes son adimensionales. El eje horizontal representa
el vector temporal definido en el algoritmo, véase en Anexo 3.
De la Ilustración 15 se infiere que el coeficiente 𝑘, es un parámetro que indica la rapidez en la que
disminuye la concentración. A medida que aumenta el coeficiente de decaimiento 𝑘, la concentración
disminuye de forma más acelerada.
Para 𝑘 = 1 el decrecimiento es lineal, pero a medida que aumenta el coeficiente 𝑘 la función empieza a
presentar una cierta curvatura hasta que su estructura se asimila a la función exponencial.

16
Ingeniería Civil Oceánica, Universidad de Valparaíso PROYECTO 2: Advección, Difusión y Reacción

j) Se efectúa un análisis de sensibilidad para diferentes valores del coeficiente de


decaimiento para 𝒌 > 𝟎. ¿Cómo es el comportamiento de la solución para valores
negativos o nulos de dicho coeficiente?

Ilustración 16. Análisis de sensibilidad

Fuente. Elaboración propia.

Se efectúa un análisis de sensibilidad con diferentes valores del coeficiente de decaimiento 𝑘.


Para valores negativos de 𝑘 la función es creciente y a medida que la magnitud de 𝑘 es más pequeña la
función 𝐶(𝑡) crece más rápido, es decir, que para 𝑘 << 0 la concentración aumenta de forma significativa
a medida que transcurre el tiempo, esto último físicamente no es posible.
Si el coeficiente de decaimiento es nulo eso indica que no existe variación de la concentración con
respecto al tiempo, o bien, es constante en todo el dominio. Este último caso se le denomina proceso
conservativo.

2.4 PARTE 4
2.4.1 Problema de la difusión – reacción

Considera un problema de difusión-reacción en una dimensión, en un dominio 𝑎 < 𝑥 < 𝑏, definido por la
ecuación:
𝜕𝐶 𝜕2𝐶
+ 𝑘𝐶 = 𝐷 2
𝜕𝑡 𝜕𝑥

Donde 𝐷 el coeficiente de difusión y 𝑘 > 0 el coeficiente de decaimiento, ambos considerados constantes.


Considera las condiciones de borde e iniciales (2) y (3). Utilizando el FTCS, efectúa las siguientes tareas:

17
Ingeniería Civil Oceánica, Universidad de Valparaíso PROYECTO 2: Advección, Difusión y Reacción

k) Encuentra la solución numérica 𝑪(𝒙, 𝒕).

Ilustración 17. Representación de la solución numérica 𝑪(𝐱, 𝒕).

Fuente: Elaboración propia.

La solución numérica de la Ilustración 17 muestra los valores de la concentración en la vertical. En el eje


horizontal se encuentran los ejes del vector espacial y temporal cuyos valores son [0 30][10−1 ] y [0
73][ 10−2 ].
Para obtener la solución numérica 𝐶(𝑥, 𝑡) se agrega al algoritmo un coeficiente B. Este valor es el
producto del intervalo temporal por el coeficiente de decaimiento 𝑘.
La Ilustración 17 muestra la disminución de la concentración considerando un coeficiente de decaimiento
𝑘 igual a 1.
Ilustración 18. Representación de la solución numérica C(x,t)

Fuente: Elaboración propia.

La Ilustración 18, al igual que la Ilustración anterior muestra la disminución de la concentración a medida
que transcurre el tiempo. El coeficiente de decaimiento 𝑘 se ha incrementado de forma importante para la
visualización de la variación de la concentración. Para este caso se ha seleccionado un valor 𝑘 igual a 15.
El comportamiento de la concentración que muestra la Ilustración 18 disminuye mucho más rápido.

18
Ingeniería Civil Oceánica, Universidad de Valparaíso PROYECTO 2: Advección, Difusión y Reacción

l) Discute los resultados.

A partir de las Ilustraciones 17 y 18 se determina que a medida que aumenta el coeficiente de


decaimiento 𝑘, la concentración disminuye más rápido, es decir, que el proceso de mezcla ocurre de
forma más acelerada.

3 ANEXOS

3.1 Parte 1. Algoritmo esquema explícito.

% ALGORITMO DE DIFUSIÓN EN 1D
% Creado por DBS
% Fecha: 12/10/2017
% Nombre: Proyecto 2
% Unidades sistema mks (metro, kilogramo, segundo).
%%
%Primeramente limpiar el Workspace (limpiar las variables)
clc; % Limpiar el comand window
clear all; % Borra las variables (workspace)
%Close all; % Borra las figuras
tic

%%
%%=========================================================
%Luego necesito inicializar las variables
%¿Qué necesito inicializar?
% =========================================================
D = 1.6; % Coeficiente de difusión en [m^2/s]

% Luego se necesita ingresar el delta x , para esto se requiere determinar el


% punto de inicio y término.
% Entonces, para la discretización del espacio se debe primeramente definir
% el límite inferior y superior.

%DISCRETIZACIÓN DEL ESPACIO

xmin = 0; % límite espacial inferior


xmax = 3; % Límite espacial superior
dx = 0.1; % Intervalo de espacios [m], al definir dx, Nx ya está fijo.
x = (xmin:dx:xmax); % [vector espacial] límite inferior: espaciamiento: límite superior.
Nx = (xmax-xmin)/dx + 1; % Números de nodos en x (espacial), Mientras más nodos se tenga, el delta x es más
chico
%DISCRETIZACIÓN DEL TIEMPO
FS = 0.9; % Se necesita garantizar la estabilidad del algoritmo se recurre a la condición de seguridad <
1
tmin = 0; % límite tiempo es cero. tiempo inicial [s]
tmax = 0.2; % Límite tiempo superior. tiempo final [s]
dt = FS*dx^2/(2*D); % Intervalo de tiempo. tiempo temporal [s]
t = (tmin:dt:tmax); % Vector temporal
[Nt aux] = size(t'); % (Número de nodos en t) calcular el tamaño de la matriz,

%Vector size permite que reemplace cantidad de elementos del vector t

19
Ingeniería Civil Oceánica, Universidad de Valparaíso PROYECTO 2: Advección, Difusión y Reacción

%% Condición inicial
% Inicialización de la concentración
ce = zeros(Nx, Nt); % Indica que la concentración es una matriz de puros ceros inicialmente,
% que tiene Nx elemntos en el espacio y Nt elementos en el tiempo //
F = (xmax-xmin)/20; % Desviación estandar
G = 1/(F*sqrt(2*pi));
A = D*dt/(dx^2); %Factor de amplificación
ce(:,1)= G*exp(-((x-1.5).^2)/(2*F^2)); % Condición inicial dada en la tarea
%ce(fix(Nx/2),1)df = 12; %(condicíón inicial cualquiera, la concentración en el tiempo 1 para un punto ubicado en
Nx/2.
%fix para que escoja el valor entero

%% =======================================================================
% ALGORITMO EXPLÍCITO
for tt = 1 : Nt-1;
ce(1,tt+1) = 0; % Condiciones de borde
ce(Nx,tt+1) = 0;
for xx = 2 : Nx-1;
ce(xx,tt+1) = ce(xx,tt) + A*ce(xx+1,tt)-2*A*ce(xx,tt)+A*ce(xx-1,tt); %concentración en un evento futuro
end
end
%% ===========================================================
%PLOTEO
figure(1)
for tt = 1 : Nt-1
plot(x, ce(:,tt),'mo-')
ylim([0 3]);
xlabel('x[m]');
ylabel('ce[-]');
text(.5,8,['t = ',num2str(t(tt)), ' [s] de ',num2str(tmax),' [s]' ])
pause(0.1)

end

toc % , Herramiienta para determinar el tiempo de cálculo /Cuanto se demora en correr (Elapsed = tiempo de
cómputo)

3.2 Parte 2. Algoritmo esquema implícito

% ALGORITMO DE DIFUSIÓN EN 1D
% Creado por DBS
% Fecha: 12/10/2017
% Nombre: Proyecto 2.2
% Unidades sistema mks (metro, kilogramo, segundo).
%%
%Primeramente necesito limpiar el Workspace (limpiar las variables)
clc; % Limpiar el comand window
clear all; % Borra las variables (workspace)
%Close all; % Borra las figuras
tic

%%

20
Ingeniería Civil Oceánica, Universidad de Valparaíso PROYECTO 2: Advección, Difusión y Reacción

%%=========================================================
%Luego necesito inicializar las variables
%¿Qué necesito inicializar?
% =========================================================
D = 1.6; % Coeficiente de difusión en [m^2/s]

% Luego se necesita ingresar el delta x , para esto se requiere determinar el


% punto de inicio y término.
% Entonces, para la discretización del espacio se debe primeramente definir
% el límite inferior y superior.

%DISCRETIZACIÓN DEL ESPACIO

xmin = 0; % límite espacial inferior


xmax = 3; % Límite espacial superior
dx = 0.1; % Intervalo de espacios [m], al definir dx, Nx ya está fijo.
Nx = (xmax - xmin)/dx + 1; % Números de nodos en x (espacial), Mientras más nodos se tenga, el delta x es más
chico
x = (xmin:dx:xmax); % [vector espacial] límite inferior: espaciamiento: límite superior.

%DISCRETIZACIÓN DEL TIEMPO


tmin = 0; % límite tiempo es cero. tiempo inicial [s]
tmax = 0.2; % Límite tiempo superior. tiempo final [s]
dt = 0.023; % Intervalo de tiempo. tiempo temporal [s]
t = (tmin:dt:tmax); % Vector temporal
[Nt aux] = size(t'); % (Número de nodos en t) calcular el tamaño de la matriz,

%Vector size permite que reemplace cantidad de elementos del vector t

A = D*dt/(dx^2); %Factor de amplificación

%% =======================================================================
% ALGORITMO IMPLÍCITO
%Acá no hay condición Courant por lo que el dx y dt no
%están relacionados (son independientes).
AA = zeros(Nx,Nx);
AA(1,1) = 1;
AA(Nx,Nx) = 1;

for j = 2:Nx-1
AA(j,j) = 1 + 2*A; % Valores en la diagonal
AA(j,j+1) = -A;
AA(j,j-1) = -A;
end

%% Condición inicial

ci = zeros(Nx, Nt); % Concentración


F = (xmax-xmin)/20; % Desviación estandar
G = 1/(F*sqrt(2*pi));
ci(:,1)= G*exp(-((x-1.5).^2)/(2*F^2)); % Condición inicial

%% PLOTEO
for k = 1: Nt-2
ci(1,k+1) = 0; % Condiciones de borde
ci(Nx,k+1) = 0;
for xx = 2 : Nx-1;
ci(:,k+1) =AA\ci(:,k);
21
Ingeniería Civil Oceánica, Universidad de Valparaíso PROYECTO 2: Advección, Difusión y Reacción

end
end
for tt = 1 : Nt-1
plot(x,ci(:,tt),'bo-')
ylim([0 3])
%xlim([0 40])
xlabel('x [m]')
ylabel('ci [-]')
text(.5,8,['t = ', num2str(t(tt)), ' [s] de ',num2str(tmax),' [s]' ])
pause(0.1)
end

3.3 Parte 3. Algoritmo de la reacción


i) % Inicialización de variables
% =========================================================================
clc;
clear all;
close all;
tic % optimizar
%% Condiciones iniciales

% Discretización del espacio


xmin=0;
xmax=3;
F=(xmax-xmin)/20;
tmax=0.4;
tmin=0;
dt=0.028;
t=tmin:dt:tmax;
[Nt aux]=size(t');

k = 1;
K = (1-k*dt);
ce = zeros(1,Nt);
ce(1)=(1/(sqrt(2*pi)))*exp(-(0^2)/(2*F^2));

k1 = 5;
K1 = (1-k1*dt);
ce1 = zeros(1,Nt);
ce1(1)=(1/(sqrt(2*pi)))*exp(-(0^2)/(2*F^2));

k2 = 10;
K2 = (1-k2*dt);
ce2 = zeros(1,Nt);
ce2(1)=(1/(sqrt(2*pi)))*exp(-(0^2)/(2*F^2));

k3 = 20;
K3 = (1-k3*dt);
ce3 = zeros(1,Nt);
ce3(1)=(1/(sqrt(2*pi)))*exp(-(0^2)/(2*F^2));

for cc=1:Nt-1
ce(cc+1)=K*ce(cc);
end
for tt=1:Nt-1
ce1(tt+1)=K1*ce1(tt);
end
22
Ingeniería Civil Oceánica, Universidad de Valparaíso PROYECTO 2: Advección, Difusión y Reacción

for nn=1:Nt-1
ce2(nn+1)=K2*ce2(nn);
end

for xx=1:Nt-1
ce3(xx+1)=K3*ce3(xx);
end

hold on
plot(t,ce,'ro-');
plot(t,ce1,'bo-');
plot(t,ce2,'mo-');
plot(t,ce3,'go-');
%ylim([0 max(max(ce))])
%xlim([0 0.4])
ylabel('Concentración')
xlabel('t [s]')
legend('k = 1','k = 5','k = 10','k = 20');

hold off

j) % Inicialización de variables
% =========================================================================
clc;
clear all;
close all;
tic % optimizar
%% Condiciones iniciales

% Discretización del espacio


xmin=0;
xmax=3;
F=(xmax-xmin)/20;
tmax=0.4;
tmin=0;
dt=0.028;
t=tmin:dt:tmax;
[Nt aux]=size(t');

k = 1;
K = (1-k*dt);
ce = zeros(1,Nt);
ce(1)=(1/(sqrt(2*pi)))*exp(-(0^2)/(2*F^2));

k1 = 5;
K1 = (1-k1*dt);
ce1 = zeros(1,Nt);
ce1(1)=(1/(sqrt(2*pi)))*exp(-(0^2)/(2*F^2));

k2 = 10;
K2 = (1-k2*dt);
ce2 = zeros(1,Nt);
ce2(1)=(1/(sqrt(2*pi)))*exp(-(0^2)/(2*F^2));

23
Ingeniería Civil Oceánica, Universidad de Valparaíso PROYECTO 2: Advección, Difusión y Reacción

k3 = 0;
K3 = (1-k3*dt);
ce3 = zeros(1,Nt);
ce3(1)=(1/(sqrt(2*pi)))*exp(-(0^2)/(2*F^2));

k4 = -1;
K4 = (1-k4*dt);
ce4 = zeros(1,Nt);
ce4(1)=(1/(sqrt(2*pi)))*exp(-(0^2)/(2*F^2));

k5 = -5;
K5 = (1-k5*dt);
ce5 = zeros(1,Nt);
ce5(1)=(1/(sqrt(2*pi)))*exp(-(0^2)/(2*F^2));

k6 = -10;
K6 = (1-k6*dt);
ce6 = zeros(1,Nt);
ce6(1)=(1/(sqrt(2*pi)))*exp(-(0^2)/(2*F^2));

for cc=1:Nt-1
ce(cc+1)=K*ce(cc);
end
for tt=1:Nt-1
ce1(tt+1)=K1*ce1(tt);
end

for nn=1:Nt-1
ce2(nn+1)=K2*ce2(nn);
end

for xx=1:Nt-1
ce3(xx+1)=K3*ce3(xx);
end

for q=1:Nt-1
ce4(q+1)=K4*ce4(q);
end

for r=1:Nt-1
ce5(r+1)=K5*ce5(r);
end

for p=1:Nt-1
ce6(p+1)=K6*ce6(p);
end
hold on
plot(t,ce,'ro-');
plot(t,ce1,'bo-');
plot(t,ce2,'mo-');
plot(t,ce3,'ko-');
plot(t,ce4,'Yo-');
plot(t,ce5,'co-');
plot(t,ce6,'go-');
ylim([0 2])
ylabel('Concentración')
xlabel('t [s]')
24
Ingeniería Civil Oceánica, Universidad de Valparaíso PROYECTO 2: Advección, Difusión y Reacción

legend('k = 1','k = 5','k = 10','k = 0','k = -1','k = -5','k = -10');

hold off

3.4 Algoritmo: Concentración con esquema explícito, implícito y suma de


ambos esquemas.

% Inicialización de variables
% =========================================================================
clc;
clear all;
close all;
tic

% Discretización del espacio


xmin = -3; % Límite izquierdo [m]
xmax = 3; % Límite derecho [m]
D = 1.6; % Coeficiente de difusión [m2/s]
dx = 0.1; % Intervalo espacial [m]
Nx = (xmax - xmin)/dx + 1; % Cantidad de nodos espaciales
x = xmin:dx:xmax; % Vector espacio [m]

% Discretización del tiempo


FS = 0.6; % Factor de seguridad para estabilidad del algortimo
dt = FS*dx^2/(2*D); % Intervalo temporal [s]
tmin = 0; % Tiempo inicial [s]
tmax = 1; % Tiempo final [s]
t = tmin:dt:tmax; % Vector tiempo [s]
[Nt aux] = size(t'); % Cantidad de nodos temporales
% Agregar los elementos del vecotr t en la matriz Nt
% Discretización de la concentración
dtt =dt;
A = D*dt/(dx^2);

%% ========================================================================
% Iteración mediante algoritmo explícito
% =========================================================================
ce = zeros(Nx,Nt); % Concentración
F = (xmax-xmin)/20; % Desviación estandar
G = 1/(F*sqrt(2*pi));
ce(:,1)= G*exp(-(x.^2)/(2*F^2)); % Condición inicial
% Condición inicial

for tt = 1 : Nt-1
ce(1,tt+1) = 0; % Condición de borde izquierda
ce(Nx,tt+1) = 0; % Condición de borde derecha
for xx = 2 : Nx-1;
ce(xx,tt+1) = ce(xx,tt) + A*( ce(xx+1,tt) - 2*ce(xx,tt) + ce(xx-1,tt) );
end
end

%% ========================================================================

25
Ingeniería Civil Oceánica, Universidad de Valparaíso PROYECTO 2: Advección, Difusión y Reacción

% Iteración mediante algoritmo implícito


% =========================================================================

B = D*dtt/(dx^2);
AA = zeros(Nx,Nx);
AA(1,1) = 1;
AA(Nx,Nx) = 1;
for k = 2:Nx-1
AA(k,k) = 1 + 2*B;
AA(k,k+1) = -B;
AA(k,k-1) = -B;
end

ci = zeros(Nx,Nt); % Concentración
ci(:,1)= G*exp(-(x.^2)/(2*F^2)); % Condición inicial
for l = 1: Nt-1

ci(:,l+1) = AA\ci(:,l); % AA\ci --> Corresponde a la inv(A)*ci .


%( matriz con varias columnas)
end

%% ========================================================================
% Ploteo
% =========================================================================

%if plotfigure1 == 1
%figure(1)
for tt = 1 : Nt-1
[tt Nt];

subplot(2,2,1)
hold off
plot(x,ce(:,tt),'mo-')
ylim([0 1.5])
xlim([-3 3])
xlabel('x [m]')
ylabel('C.Exp')
text(.5,8,['t = ', num2str(t(tt)), ' [s] de ',num2str(tmax),' [s]' ])

subplot(2,2,3)
hold off
plot(x,ci(:,tt),'bo-')
ylim([0 1.5])
xlim([-3 3])
xlabel('x [m]')
ylabel('C. Imp.')

subplot(2,2,2)
hold off
plot(x,ce(:,tt),'mo-')
hold on
plot(x,ci(:,tt),'b-')
ylim([0 1.5])
xlim([-3 3])
xlabel('x [m]')
ylabel('C.exp , C.imp')

subplot(2,2,4)
26
Ingeniería Civil Oceánica, Universidad de Valparaíso PROYECTO 2: Advección, Difusión y Reacción

hold off
plot(x,ce(:,tt)-ci(:,tt),'ro-')
ylim([-1.5 1.5])
xlim([-3 3])
xlabel('x [m]')
ylabel('C.exp - C.imp')
pause(0.1)
end

toc

Ilustración 19. Gráficos de la concentración con esquema explícito, implícito.

Fuente: Elaboración propia.

4 REFERENCIAS
Winckler,P.(2017). Modelado de procesos costeros (borrador).
Apuntes del curso de Modelación Hidráulica. Ingeniería Civil Oceánica. Universidad de Valparaíso

27

Vous aimerez peut-être aussi