Sei sulla pagina 1di 180

See

discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/317689740

Solucin numrica de la ecuacin vectorial de


Saint-Venant utilizando mtodos hbridos

Thesis June 2017


DOI: 10.13140/RG.2.2.14200.65288

CITATIONS READS

0 71

1 author:

Martha Leticia Ruiz Zavala


Universidad Michoacana de San Nicols de Hidalgo
4 PUBLICATIONS 0 CITATIONS

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Hybrid methods applied to obtain an approximation to the solution of Shallow Water Equations View
project

All content following this page was uploaded by Martha Leticia Ruiz Zavala on 20 June 2017.

The user has requested enhancement of the downloaded file.


Universidad Michoacana de San Nicolas
de Hidalgo
Facultad de Ciencias Fsico Matematicas
Mat. Luis Manuel Rivera Gutierrez

Tesis:

Solucion Numerica de la ecuacion


vectorial de Saint-Venant utilizando
Metodos Hbridos
que para obtener el grado de:
Licenciada en Ciencias Fsico Matematicas

presenta:

Martha Leticia Ruiz Zavala


mlruiz@fismat.umich.mx
1217642A

Asesor:
Doctor en Ciencias Matematicas
Francisco Javier Domnguez Mota
dmota@umich.mx

Morelia, Michoacan. Junio 2017


2
Ruego, que si no sobrevivo a esta tesis,
los futuros lectores cuiden que la prudencia
sea mayor que la audacia
e impidan que caiga bajo otros ojos.
Lovecraft, 1928
4
Agradecimientos

Gracias a todas las personas que fueron partcipes de este proceso, ya sea de manera
directa o indirecta, ya que su aporte se ve reflejado en la culminacion de esta licenciatura.
Agradezco a mis padres por el apoyo brindado durante tantos anos, al igual que a mis
amigos, los cuales me han soportado incluso durante esta primera tesis.
A mis companeros de licenciatura, sin los cuales este trayecto no hubiese sido tan
divertido.
A todos los profesores que me impulsaron a llegar a este punto, especialmente a los que
se tomaron el tiempo y el esfuerzo de leer mi tesis.
Al Dr. Francisco Javier Domnguez Mota por exigirme al punto de sacarme de mi zona
de confort y lograr que me sorprendiera de mis capacidades, y por su gran esfuerzo de
todos los das tratar de convencerme de que soy muy lista.
Finalmente agradezco al Dr. Hal Amesta, el cual me recomendo tomar te para sobrevivir
a la tesis sin intoxicarme de nuevo con cafe.

5
6
Indice general

Resumen 13

Abstract 15

Glosario 17

1. Introduccion 19
1.1. Ecuaciones Diferenciales Parciales . . . . . . . . . . . . . . . . . . . . . . . 19
1.1.1. Clasificacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.1.2. Condiciones iniciales y de frontera . . . . . . . . . . . . . . . . . . . 20
1.2. Metodos Numericos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.2.1. Diferencias Finitas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.2.2. Volumenes Finitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.2.3. Ejemplo: ecuacion del calor . . . . . . . . . . . . . . . . . . . . . . . 28

2. Antecedentes 33
2.1. Supuestos de las ecuaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.2. Ecuaciones de Navier-Stokes . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.2.1. Ecuacion diferencial de conservacion de masa . . . . . . . . . . . . . 35
2.2.2. Ecuacion diferencial de conservacion del momento . . . . . . . . . . 36
2.2.3. Ecuacion de continuidad para fluidos incompresibles . . . . . . . . . 39
2.3. Caractersticas dadas por las aguas someras . . . . . . . . . . . . . . . . . . 40
2.3.1. Condiciones de frontera en el fondo y en la superficie . . . . . . . . . 41
2.4. Ecuaciones de Saint-Venant . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.4.1. Ecuaciones en tres dimensiones . . . . . . . . . . . . . . . . . . . . . 43
2.4.2. Ecuaciones en dos dimensiones . . . . . . . . . . . . . . . . . . . . . 44

7
8 Indice general

3. Metodos Numericos 47
3.1. Mallas Estructuradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.1.1. Generacion de mallas estructuradas. . . . . . . . . . . . . . . . . . . 48
3.1.2. Calidad de la malla . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.2. Diferencias Finitas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.2.1. Diferencias finitas generalizadas . . . . . . . . . . . . . . . . . . . . . 58
3.2.2. Consistencia + Estabilidad = Convergencia . . . . . . . . . . . . . . 63
3.3. Volumenes Finitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.3.1. Tipos de solucion para sistemas de leyes de conservacion hiperbolicas 68
3.3.2. Metodo de Volumenes Finitos . . . . . . . . . . . . . . . . . . . . . . 69
3.3.3. Componentes necesarios para la convergencia . . . . . . . . . . . . . 72

4. Discretizacion de las ecuaciones de Saint-Venant 73


4.1. Esquema en Diferencias Finitas . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.1.1. Regiones rectangulares . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.1.2. Regiones elongadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.2. Esquema en Volumenes Finitos Hbridos . . . . . . . . . . . . . . . . . . . . 86
4.2.1. Regiones rectangulares . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.2.2. Regiones elongadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

5. Pruebas numericas y resultados 91


5.1. Condiciones iniciales y de frontera . . . . . . . . . . . . . . . . . . . . . . . 91
5.2. Region cuadrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.2.1. Soliton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.2.2. Ondas tipo Airy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
5.3. Region elongada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
5.3.1. Soliton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
5.3.2. Ondas tipo Airy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

6. Conclusiones 139

Apendice A 141

Bibliografa 177
Indice de figuras

1.1. Discretizacion uniforme del intervalo [a,b]. . . . . . . . . . . . . . . . . . . . 22


1.2. Ejemplo de diferencias finitas hacia adelante. . . . . . . . . . . . . . . . . . 22
1.3. Discretizacion uniforme del intervalo [0, a] [0, b]. . . . . . . . . . . . . . . . 25
1.4. Discretizacion uniforme del intervalo [0, a] [0, b] para volumenes finitos. . . 26
1.5. Celda i, j de volumenes finitos . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.6. Solucion de la ecuacion de calor en diferentes tiempos. . . . . . . . . . . . . 32

2.1. Volumen de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35


2.2. ij = Esfuerzo en la direccion j sobre la cara normal al eje i. . . . . . . . . 38
2.3. Seccion longitudinal del dominio ocupado por el flujo en el plano yz, con x
fijo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.1. Mapeo del Halcon Milenario. . . . . . . . . . . . . . . . . . . . . . . . . . . 48


3.2. Transformacion de las fronteras. . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.3. TFI de la herradura. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.4. Mallado con metodos diferenciales de la herradura. . . . . . . . . . . . . . . 51
3.5. Mallado con el generador de Poisson de la herradura. . . . . . . . . . . . . . 52
3.6. Mallado mediante metodos variacionales de la herradura. . . . . . . . . . . 55
3.7. Malla no uniforme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.8. Distribucion arbitraria de p0 y sus vecinos. . . . . . . . . . . . . . . . . . . 58
3.9. Estenciles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.10. Estencil con 3 puntos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.11. Celda i, j de volumenes finitos. . . . . . . . . . . . . . . . . . . . . . . . . . 70

4.1. Estencil FTCS con 4 puntos. . . . . . . . . . . . . . . . . . . . . . . . . . . 76


4.2. Region elongada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.3. Discretizacion de un dominio rectangular. . . . . . . . . . . . . . . . . . . . 88

9
10 Indice de figuras

5.1. Condiciones de frontera de la region fsica, vista en planta. . . . . . . . . . . 92


5.2. Malla del cuadrado 41 41 puntos. . . . . . . . . . . . . . . . . . . . . . . . 93
5.3. Condicion inicial para q2 vista desde planta. . . . . . . . . . . . . . . . . . . 94
5.4. Soliton como condicion inicial para q1 . . . . . . . . . . . . . . . . . . . . . . 95
5.5. Aproximacion del tirante q1 mediante FTCS. . . . . . . . . . . . . . . . . . 96
5.6. Aproximacion del gasto q2 mediante FTCS. . . . . . . . . . . . . . . . . . . 97
5.7. Aproximacion del gasto q3 mediante FTCS. . . . . . . . . . . . . . . . . . . 98
5.8. Aproximacion del tirante q1 mediante diferencias finitas con diferentes es-
quemas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.9. Aproximacion del gasto q2 mediante diferencias finitas con diferentes esquemas.100
5.10. Aproximacion del gasto q3 mediante diferencias finitas con diferentes esquemas.101
5.11. Aproximacion del tirante q1 aplicando mediante finitas con promedios de Lax.102
5.12. Aproximacion del gasto q2 mediante diferencias finitas con promedios de Lax.103
5.13. Aproximacion del gasto q3 mediante diferencias finitas con promedios de Lax.104
5.14. Aproximacion del tirante q1 mediante volumenes hbridos. . . . . . . . . . . 105
5.15. Aproximacion del gasto q2 aplicando volumenes hbridos. . . . . . . . . . . 106
5.16. Aproximacion del gasto q3 mediante volumenes hbridos. . . . . . . . . . . . 107
5.17. Ondas tipo Airy como condicion inicial para q1 . . . . . . . . . . . . . . . . . 108
5.18. Aproximacion del tirante q1 mediante FTCS. . . . . . . . . . . . . . . . . . 109
5.19. Aproximacion del gasto q2 mediante FTCS. . . . . . . . . . . . . . . . . . . 110
5.20. Aproximacion del gasto q3 mediante FTCS. . . . . . . . . . . . . . . . . . . 111
5.21. Aproximacion del tirante q1 mediante diferencias finitas con diferentes es-
quemas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
5.22. Aproximacion del gasto q2 mediante diferencias finitas con diferentes esquemas.113
5.23. Aproximacion del gasto q3 mediante diferencias finitas con diferentes esquemas.114
5.24. Aproximacion del tirante q1 mediante diferencias finitas con promedios de
Lax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
5.25. Aproximacion del gasto q2 mediante diferencias finitas con promedios de Lax.116
5.26. Aproximacion del gasto q3 mediante diferencias finitas con promedios de Lax.117
5.27. Aproximacion del tirante q1 mediante volumenes hbridos. . . . . . . . . . . 118
5.28. Aproximacion del gasto q2 mediante volumenes hbridos. . . . . . . . . . . . 119
5.29. Aproximacion del gasto q3 mediante volumenes hbridos. . . . . . . . . . . . 120
5.30. Malla de la region elongada 21 41 puntos. . . . . . . . . . . . . . . . . . . 121
5.31. Condicion inicial para los gastos vista desde planta. . . . . . . . . . . . . . . 122
5.32. Condicion inicial Soliton del tirante q1 . . . . . . . . . . . . . . . . . . . . . . 123
Indice de figuras 11

5.33. Aproximacion del tirante q1 mediante diferencias finitas generalizadas. . . . 124


5.34. Aproximacion del gasto q2 mediante diferencias finitas generalizadas. . . . . 125
5.35. Aproximacion del gasto q3 mediante diferencias finitas generalizadas. . . . . 126
5.36. Aproximacion del tirante q1 mediante volumenes hbridos generalizados. . . 127
5.37. Aproximacion del gasto q2 mediante volumenes hbridos generalizados. . . . 128
5.38. Aproximacion del gasto q3 mediante volumenes hbridos generalizados. . . . 129
5.39. Condicion inicial tipo Airy del tirante q1 . . . . . . . . . . . . . . . . . . . . 130
5.40. Aproximacion del tirante q1 mediante diferencias finitas generalizadas. . . . 131
5.41. Aproximacion del gasto q2 mediante diferencias finitas generalizadas. . . . . 132
5.42. Aproximacion del gasto q3 mediante diferencias finitas generalizadas. . . . . 133
5.43. Aproximacion del tirante q1 mediante volumenes hbridos generalizados. . . 134
5.44. Aproximacion del gasto q2 mediante volumenes hbridos generalizados. . . . 135
5.45. Aproximacion del gasto q3 mediante volumenes hbridos generalizados. . . . 136
12 Indice de figuras
Resumen

Las inundaciones y desbordamientos de canales son fenomenos que han venido afec-
tando a la sociedad a traves del tiempo, los cuales han incrementado con lluvias atpicas
provocadas por el cambio climatico. Para prevenir estos fenomenos se busca predecir el
comportamiento del cuerpo de agua, el cual se rige por las ecuaciones de Saint-Venant,
propuestas en 1871.
Las ecuaciones de Saint Venant son EDPS no lineales las cuales se derivan de la
ecuacion de conservacion de masa y de las ecuaciones de Navier Stokes. Hasta el momento
no se conoce la solucion analtica de las mismas en casos generales, por lo que haremos uso
de metodos numericos para obtener una aproximacion a ella.
Uno de los metodos numericos mas utilizados para aproximar derivadas, principalmente
en la industria, son las Diferencias Finitas, ya que pueden hacerse implementaciones con un
bajo costo computacional y son conceptualmente sencillas, a pesar de que tienen limitacio-
nes en zonas de alto gradiente de la solucion. Por otro lado existen metodos conservativos
como lo son los Volumenes Finitos, llamados as debido a que se basan en Leyes de Con-
servacion; dado que las ecuaciones de Navier Stokes surgen de conservacion de momentos,
junto con conservacion de masa, resulta natural elegir este tipo de metodos para buscar
una buena aproximacion. Ambos enfoques se complementan al emplearse como partes de
un metodo hbrido .
Por lo anterior, en este trabajo se presentaran diferentes esquemas en Diferencias Fi-
nitas y Volumenes Finitos aplicados en regiones rectangulares y elongadas. Se provara la
eficacia de los mismos y se compararan los resultados; ademas, se estima el costo compu-
tacional para cada simulacion. A partir de esta ejecucion se hace una evalcuacion y se
proponen mejoras para cada uno de ellos.

Palabras Clave: Leyes de Conservacion, ecuaciones de Saint-Venant, metodos numeri-


cos, Diferencias Finitas, Volumenes Finitos.

13
14 Indice de figuras
Abstract

The inundations and canals floods are physical phenomenon that have been affecting
society through time, which have increased with atypical rains caused by climate change.
In order to prevent these phenomenon we intend to predict the behavior of the waterbody,
which is governed by Saint-Venant equations, proposed in 1871.
The Saint-Venant equations are nonlinear Partial Differential Equations (PDE) which
are derived from the mass conservation equation and the Navier-Stokes equations. Up
to this moment, their analytical solution remains unknown for general cases, thats the
reason why we will implement numerical methods with the purpose of obtaining a good
approximation of it.
Finite Differences is one of the most popular numerical methods of approximations of
derivatives, mainly in the industry, since implementations can be made with low compu-
tational cost and they are conceptually simple, eventhough they have limitations for high-
gradient solutions. On the other hand there are conservative methods such as the Finite
Volume one, the are called that way because they are based in Conservation Laws; since
the Navier-Stokes equations arise from momentum conservation, along with mass conser-
vation, it is natural to choose this type of methods when aiming for a good aproximation.
Both approches complement eachother when used as part of an hybrid method.
Therefore, in this work several schemes of Finite Differences and Finite Volume will be
presented and applied in rectangular and elongated regions. Their eficacy their efficacy will
be proved and the results will be compared; we also estimate the computational cost of the
simulations. From this execution an evaluation is made and improvements are proposed
for each of them.

Key Words: Conservations Laws, Saint-Venant equations, numerical methods, Finite


Difference method, Finite Volume method.

15
16 Indice de figuras
Glosario


x Derivada parcial con respecto a x.


En cordenadas cartesianas = ( x , y , z ).

Indica la pertenencia de un elemento en un conjunto o intervalo.

C 0 [a, b] Es el espacio de las funciones continuas en el intervalo [a, b].

C j [a, b] Es el espacio de las funciones continuas y j -veces diferenciables, en el intervalo


[a, b].

O(hp ) Sea f (h) tal que f (h) = O(hp ) mientras h 0, si existe C tal que |f (h)| < C|hp |
entonces f (h) tiende a 0 al menos tan rapido como lo hace hp .

Denota la frontera del dominio .

Soporte compacto Es el espacio compuesto de funciones tal que valen 0 en todos lados, menos en un
compacto (en Rn , es un conjunto cerrado y acotado).

L1 [a, b] Es el espacio de las funciones integrables en el intervalo [a, b].

N0 Conjunto de los numeros naturales con el 0.

Ec. de estado Es aquella que describe como respondera un material ante esfuerzos en un sistema
hidrostatico.

f (x)|ba Denota la evaluacion de a a b en x, i.e., f (x)|ba = f (b) f (a).

Funcional Regla que asigna un numero real a cada vector de una funcion x, la cual pertenece
a un vector de funciones.

M+ Denota la pseudoinversa de Moore-Penrose de la matriz M.

17
18 Indice de figuras

Funcion regular La funcion f es regular si y solo si existe una sucesion (fn )nN de funciones esca-
lonadas que converge uniformemente a f .

N Newtons, unidad de fuerza.


Captulo 1

Introduccion

He de terminar mi tesis, en caso contrario, de que valdra haberla comenzado?


Albert Dussel, 1943

1.1. Ecuaciones Diferenciales Parciales

Una Ecuacion Diferencial Parcial (EDP) [Olver, 2014] es aquella que relaciona a la
funcion incognita y a sus derivadas parciales. Su orden se define como el orden mas alto de
las derivadas que aparecen en la ecuacion, y su grado esta dado por el exponente de mayor
orden de alguna derivada. Una EDP homogenea se dice lineal si la combinacion lineal de
sus soluciones es lineal, por ejemplo

u 2 u u
= + u,
t x2 y

es una EDP lineal de segundo orden, de grado 1, donde u = u(t, x, y).


En caso contrario se dice que una EDP es no lineal. Un ejemplo es la ecuacion de
Burgers con viscosidad
u u 2u
+u = 2,
t x x
la cual es una EDP de segundo orden, de grado 2, donde u = u(t, x, y) y > 0 es la
constante de viscosidad.
Nuestra suposicion es que las EDPs gobiernan un fenomeno fsico, por lo que las
utilizamos para modelarlo o simularlo mediante un conjunto o sistema de las mismas, las
cuales se desarrollan en alguna region del dominio en cierto lapso de tiempo.

19
20 Captulo 1. Introduccion

1.1.1. Clasificacion

Las EDPs lineales se clasifican en parabolicas, elpticas e hiperbolicas. En esta tesis tra-
bajaremos con un sistema de ecuaciones esencialmente hiperbolico, cuya definicion precisa
se proporcionara posteriormente. Sin embargo, la linealizacion de nuestras ecuaciones es
un sistema hiperbolico, el cual se define de la siguiente manera:

Definicion. Consideremos el sistema [LeVeque, 1992]

u
+ A u = 0,
t

u(x, 0) = u0 (x),

donde u : R R R y A Rmm es una matriz constante. Este es un sistema de leyes


de conservacion1 con la funcion de flujo f (u) = Au. Este sistema se dice hiperbolico si A
es diagonalizable con eigenvalores reales, tal que se puede descomponer en

A = RR1 ,

donde = (1 , 2 , ..., m ) es una matriz diagonal de eigenvalores y R = [r1 | r2 | ... | rm ]


es la matriz de eigenvectores derechos; de modo que

Arp = p rp , para p = 1, ..., m.

El sistema se dice estrictamente hiperbolico si i 6= j i, j [1, m], i 6= j.

1.1.2. Condiciones iniciales y de frontera

Un concepto importante es el buen planteamiento del problema, se dice que una EDP
este bien planteada cuando existe una unica solucion que depende continuamente de los
datos iniciales. Para cumplir con lo anterior, se deben satisfacer condiciones iniciales, las
cuales son dadas en un tiempo fijo o inicial, y condiciones de frontera, las cuales se satisfacen
en la frontera del dominio para todo tiempo.
Hay diferentes principales tipos de ecuaciones de frontera:

Condiciones de Dirichlet: las cuales especifican el valor de la solucion en la frontera


del dominio.
1
Estas Leyes seran explicadas a detalle en el captulo 3.
1.2. Metodos Numericos 21

Condiciones de Neumann: dichas condiciones nos dan el valor de la derivada


normal2 de la solucion evaluada en la frontera del dominio.

Condiciones de Robin: son una combinacion lineal de condiciones de Dirichlet y


de Neumann.

1.2. Metodos Numericos

Muchos de los problemas de interes de la ciencia y la ingeniera actual estan basadas


en problemas continuos, los cuales se resuelven y/o aproximan mediante algoritmos. El
estudio de estos algoritmos se realiza con ayuda del Analisis Numerico. Al contrario de
los problemas discretos de computo cientfico, la mayora de los problemas continuos no
pueden ser resueltos de manera analtica (incluso utilizando aritmetica exacta); por lo que
la mision principal del Analisis Numerico resulta ser calcular entidades tpicamente no
calculables desde el punto de vista analtico [Trefethen, 1992], buscando siempre la rapida
convergencia de las aproximaciones, y en media de lo posible, usando algoritmos eficientes.
La representacion del fenomeno fsico que se atacara en esta tesis es un problema
continuo, por lo que se pretende conseguir aproximaciones a las soluciones de las ecuaciones.
Una aproximacion se considerara razonable si el error estimado de la aproximacion es
menor a una cota dada.
Para obtener dichas aproximaciones existen ya muchos algoritmos de metodos numeri-
cos; en esta tesis trabajaremos con los metodos de Diferencias Finitas y Volumenes Finitos.

1.2.1. Diferencias Finitas

Las diferencias finitas han sido ampliamente utilizadas a traves de los anos, tanto en la
investigacion como en la industria, debido a su basta aplicabilidad y su bajo costo compu-
tacional. Dicho metodo actua reemplazando las derivadas de la ecuacion diferencial, en
un punto p0 , por combinaciones lineales de los valores de la funcion evaluada en puntos
cercanos a este; se puede aplicar tanto en problemas unidimensionales como multidimen-
sionales3 .
Para entender mejor la idea basica del metodo, veamos el ejemplo de la derivada de
primer orden de una EDO. Sea u(x) C 1 (a, b), aplicando diferencias finitas se tiene la
2
La derivada normal es una funcion dirigida en la direccion del vector normal tangente a la superficie,
u
en algun punto especfico. Ej: si n es el vector normal, entonces n = u n.
3
En esta tesis nos enfocaremos en esquemas en 1D y 2D, para mas dimensiones, la idea es analoga.
22 Captulo 1. Introduccion

aproximacion
du(x) u(x + h) u(x)
,
dx h
donde h es la distancia entre dos puntos seguidos de una discretizacion uniforme del interva-
lo [a, b] (ver figura 1.1). A esta expresion se le conoce como diferencia finita hacia adelante,
ya que toma valores del punto actual y el subsecuente para calcular la aproximacion de la
derivada en el punto actual [LeVeque, 2007].

h h

a xi 1 xi xi +1 b

Figura 1.1: Discretizacion uniforme del intervalo [a,b].

Es facil ver que si tomamos el lmite cuando h 0, regresamos a una igualdad; por lo
que si tomamos h R lo suficientemente pequeno, esperamos obtener una aproximacion
razonablemente buena a la derivada. Esto se puede ver en la figura 1.2.

Figura 1.2: Ejemplo de diferencias finitas hacia adelante.

Diferencias finitas unidimensionales

Para obtener diferentes esquemas en diferencias finitas, para ecuaciones diferenciales


de orden igual o mayor a 1, hacemos uso de la expansion en serie de Taylor.
1.2. Metodos Numericos 23

Teorema 1. Teorema de Taylor [Apostol, 1996]


Sea u C N (a, b), x0 (a, b), entonces, para cada x (a, b) tenemos que

N 1
X u(n) (x0 )
u(x) = (x x0 )n + R()
n!
n=0

en donde
dn u(x0 )
u(n) (x0 ) = ,
dxn
y el residuo R esta dado por

u(N ) ()
R() = (x x0 )N , (x0 , x).
N!

Se dice que la Serie de Taylor converge hacia u(x) cuando el residuo, R, tiende a 0, i.e.,

lm R() = 0.
N

Tomemos una funcion u(x) tal que satisfaga la hipotesis del Teorema de Taylor, por lo
que podemos hacer la expansion alrededor del punto xi+1 = x + h, obteniendo

dui
u(i+1) = ui + h + O(h2 ),
dx

donde ui+1 = u(xi+1 ) y O(h2 ) es una cota superior para el residuo. Haciendo simples
despejes obtenemos la expresion en diferencias hacia adelante para el punto xi , que se
ve como
dui ui+1 ui
= + O(h), (1.1)
dx h
la cual es una aproximacion de primer orden a la derivada, lo que quiere decir que el error
es proporcional a h; se dice que una aproximacion es de k-esimo orden cuando la cota
superior del residuo es O(hk ).
Ahora, si hacemos la expansion de la misma funcion al rededor del punto xi1 = x h,
y despejamos, obtenemos la expresion en diferencias hacia atras,

dui ui ui1
= + O(h), (1.2)
dx h

la cual tambien es una aproximacion de primer orden.


Existe otro esquema en diferencias finitas que resulta de la combinacion lineal de las
24 Captulo 1. Introduccion

expansiones en serie de Taylor, hasta tercer orden, en los puntos xi1 y xi+1 ; es decir,
tomemos
dui d2 ui
ui1 = ui 2h + (2h)2 + O(h3 ),
dx dx2
dui d2 ui
ui+1 = ui + 2h + (2h)2 + O(h3 );
dx dx2
que restand la primera de la segunda y despejamos, llegamos a la expresion en diferencias
centradas
dui ui+1 ui1
= + O(h2 ). (1.3)
dx 2h
Podemos ver que, a diferencia de las anteriores, las diferencias centradas proporcio-
nan una aproximacion de segundo orden a la derivada. Aproximaciones de este orden son
muy usadas ya que implican que si dividimos el tamano de paso por la mitad el error decre-
ce una cuarta parte, sin mencionar que usan una cantidad de evaluaciones relativamente
pequena teniendo as bajo costo computacional.

Diferencias finitas bidimensionales

Para aplicar diferencias finitas en dos dimensiones, primero tomemos la region [0, a]
[0, b] discretizandola de manera uniforme, donde x y y son los tamanos de paso, en x
y y respectivamente, no necesariamente iguales, como se muestra en la figura 1.3.
De manera analoga a como obtuvimos las ecuaciones (1.1 - 1.3) llegamos a las expre-
siones de las derivadas parciales con respecto a x y y,

ui+1,j ui,j


x + O(x) Diferencias hacia adelante
ui,j
ui,j ui1,j
= x + O(x) Diferencias hacia atras , (1.4)
x
u u

i+1,j i1,j + O((2x)2 ) Diferencias hacia adelante

2x


ui,j+1 ui,j


y + O(y) Diferencias hacia adelante
ui,j
= ui,j u
y
i,j1
+ O(y) Diferencias hacia atras , (1.5)
y
ui,j+1 ui,j1 + O((2y)2 ) Diferencias hacia adelante


2y

donde ui,j = u(xi , yj ), xi = ix y yj = jy.


Las expresiones (1.4, 1.5) son esquemas clasicos para la aproximacion a la solucion de
EDPs.
1.2. Metodos Numericos 25

(0,b) (a,b)

(0,0) (a,0)
x

Figura 1.3: Discretizacion uniforme del intervalo [0, a] [0, b].

1.2.2. Volumenes Finitos

Los volumenes finitos se disenaron para aproximar las soluciones de sistemas de Leyes
de Conservacion, los cuales, establecen que el cambio de magnitudes contenidas en una
region es igual al flujo que pasa a traves de su frontera [Cendon, 2014]. Si tomamos la
suma de pequenas contribuciones de todos estos cambios y flujos, se puede ver que se
plantea una correlacion entre integrales de superficie e integrales de area, lo cual nos lleva
al Teorema de la Divergencia de Gauss.

Teorema 2. Teorema de la divergencia de Gauss


El flujo de un campo vectorial a traves de una superficie cerrada es igual a la integral
de la divergencia, del mismo campo, sobre el volumen encerrado por la superficie.
Sea una region en el espacio y la superficie cerrada, orientada, que acota a .
Sea F un campo vectorial suave en . Entonces
Z Z
( F)dV = F dS.

[Jerrold E. Marsden, 1991].

Al aplicar el Teorema de Gauss, podemos ver que trabajaremos con la forma integral
26 Captulo 1. Introduccion

de las ecuaciones, cuya ventaja es que puede manejar las discontinuidades que llegasen
a tener nuestras ecuaciones; sin embargo, dichas EDPs no podran ser verificadas en el
sentido clasico para todos los puntos. El modo en el que se manejan estas discontinuidades
es usando la forma debil de la derivada.

Definicion. Sean u, v funciones en un espacio de soporte compacto, i.e., u L1 ([a, b]),


v L1 ([a, b]), v es la derivada debil de u si y solo si
Z b Z b
u0 = v.
a a

Para aplicar este metodo en dos dimensiones tomaremos una discretizacion uniforme
de la region [0, a][0, b] como en diferencias finitas, sin embargo, al trabajar sobre regiones
la funcion sera evaluada en los centroides de la celdas creadas con la discretizacion, como
se puede ver en la Figura 1.4.

(0,b) (a,b)

(0,0) (a,0)
x

Figura 1.4: Discretizacion uniforme del intervalo [0, a] [0, b] para volumenes finitos.

A fin de mostrar el funcionamiento de este metodo tomemos el ejemplo de adveccion


en 2D, cuya ecuacion tiene la forma

u u u u
+ Vx + Vy = + H = 0, (1.6)
t x y t
1.2. Metodos Numericos 27

donde u = u(t, x, y), Vx y Vy son velocidades en las direcciones x y y, respectivamente, y


H = Vx u + Vy u. Esta ecuacion, a pesar de verse inofensiva, cuenta con la mayora de los
problemas que surgen al discretizar ecuaciones hiperbolicas.
Pasando la ecuacion (1.6) a su forma integral, y aplicando el teorema de Gauss, tenemos
que
Z   Z Z
u u
+ H dV = dV + H ds. (1.7)
t t

Si la region en la que pretendemos realizar la aproximacion es como la de la Figura


1.5, la ecuacion (1.7) se puede escribir como

u X
xy + H ns = 0.
t

ni,j+1 Vy

Vx

ni1,j ni+1,j
y

Vx

Vy ni,j1

Figura 1.5: Celda i, j de volumenes finitos .

u
Aproximando t mediante diferencias finitas hacia adelante y realizando los productos
vectoriales, llegamos a que

uk+1 k
i,j ui,j
h
k k k k
i
xy + (Hi+1,j Hi1,j )y + (Hi,j+1 Hi,j1 )x = 0.
t

Finalmente, despejando uk+1


i,j y escribiendo las componentes H en terminos de u, Vx y
28 Captulo 1. Introduccion

Vy , obtenemos la aproximacion a la solucion en un paso de tiempo hacia adelante


" #
uki+1,j uki1,j uki,j+1 uki,j1
uk+1 k
i,j = ui,j t Vx + Vy = 0. (1.8)
x y

El tipo de esquema aplicado en el ejemplo anterior, se conoce como hacia adelante en


el tiempo, centrado en el espacio o FTCS (Forward-Time Central-Space), por sus siglas
en ingles el cual solo se puede aplicar cuando se tienen condiciones iniciales y de frontera,
debido a que utiliza informacion de dichos puntos.

1.2.3. Ejemplo: ecuacion del calor

Para ilustrar el funcionamiento de los metodos, tomemos la ecuacion del calor, tambien
conocida como difusion en 1D,
u 2u
= 2, (1.9)
t x
donde u = u(t, x), y es el coeficiente de difusion.
Veamos el caso donde tenemos una barra uniforme, aislada, de longitud 1 cuyos extre-
mos se mantienen a una temperatura de 0 grados con condiciones iniciales dadas por f (x);
de modo que nuestras condiciones iniciales y de frontera son:

u(t, 0) = 0, u(t, 1) = 0, t 0, (1.10)


u(0, x) = f (x), 0 x 1. (1.11)

Solucion analtica

Se puede verificar que la solucion analtica de dicho problema es



2 2 t
X
u(t, x) = Cn sin(nx)en ,
n=1

donde las constantes Cn estan dadas por


Z 1
Cn = 2 f (x) sin(nx)dx, n IN \ {0}. (1.12)
0

Consideramos el caso idealizado cuando el coeficiente de difusion = 1, y tomamos f (x) =


sin(x) sin(1)x como condicion inicial. Calculando los primeros coeficientes dados por la
1.2. Metodos Numericos 29

ecuacion (1.12) tenemos

C1 0.0604, C2 0.0070, C3 0.0020, C4 8.5349 104

C5 4.3599 104 , C6 2.5199 104 , C7 1.5857 104 , ...

de modo que la solucion a la ecuacion de calor, con las condiciones dadas es

2 2 2
u(t, x) 0.0604 sin(x)e t 0.0070 sin(2x)e4 t + 0.0020 sin(3x)e9 t ... (1.13)

Aproximacion mediante diferencias finitas

Empezamos con una particion uniforme de la region fsica [0, 1] con m puntos, de modo
que 0 = x1 < x2 < ... < xm = 1. Analogamente, discretizamos el dominio temporal tal que
0 = t0 < t1 < .... Debido a que tomamos una malla o particion uniforme, tenemos que

1
x = xi+1 xi = , t = tk+1 tk , i [1, m 1],
m1

por lo que xi = (i1)x, tk = kt; para simplificar la notacion, denotaremos la evaluacion


en el punto xi y tiempo tk como u(xi , tk ) = uki .
Empleando el esquema FTCS tenemos que la ecuacion (1.9) se aproxima por

uk+1 uki uk 2uki + uki+1


i
+ O(t) = i1 + O((x)2 ),
t (x)2

para asegurar que las aproximaciones en t y x tienen un orden similar, tomaremos t


(x)2 . Reagrupando terminos resulta que la aproximacion a la solucion, en un paso de
tiempo sucesivo, es el sistema lineal

uk+1
i = cuki1 + (1 2c)uki + cuki+1 , (1.14)

t
donde c = (x)2
. De modo que tenemos un esquema iterativo que aproxima una solucion
para los valores posteriores del tiempo partiendo de las condiciones iniciales.
La inicializacion de nuestro esquema viene dada por las condiciones iniciales, de modo
que
u0i = f (xi ), i [1, m].

Y dado que las condiciones en la frontera son 0, estas se reescriben como

uk1 = ukm = 0, k N0 .
30 Captulo 1. Introduccion

Si escribimos el sistema que genera el esquema (1.14) de manera vectorial tenemos que
k N0
uk+1 = Auk + bk , (1.15)

donde


uk2
1 2c c 0 0






c 1 2c c 0

..





0 c 1 2c c 0 .

.. .. ..
uk =

.
,A =
0 c . .
,
.. .. .. ..





. 0 . . . 0

.. ..
. . c
ukm1

m21 0 0 c 1 2c
m2m2

y bk Rm21 es tal que su primera y ultima entrada son las condiciones de frontera
izquierda y derecha, respectivamente. En nuestro caso bk = 0.

Aproximacion mediante volumenes finitos

Tomemos la misma discretizacion temporal/espacial que en diferencias finitas, de modo


que ahora tenemos m 1 celdas o volumenes denotados por Ci , en cuyo centroide realizare-
mos las evaluaciones y operaciones necesarias; para hacer una comparacion justa tomamos
los mismos tamanos de paso x y t que en diferencias.
Ahora, si pasamos la ecuacion (1.9) a su forma integral tenemos que

2u
Z   Z Z
u u
2 dx = dx 2 udx,
Ci t x t Ci Ci

y aplicando el teorema de Green [Jerrold E. Marsden, 1991] en la segunda integral, la


ecuacion anterior se convierte en
Z
u u
x ds = 0, (1.16)
t Ci n

donde Ci denota la frontera de nuestro dominio, en nuestro caso los puntos 0 y 1 de la


recta, y n es el vector normal en los puntos antes mencionados.
Ahora aplicamos diferencias finitas para aproximar las derivadas de la ecuacion (1.16),
1.2. Metodos Numericos 31

de modo que la expresion de la aproximacion es

uk+1 uki uk 2uki + uki+1


i
x + O(t) = i1 + O(x). (1.17)
t x

Haciendo simples operaciones llegaremos al siguiente sistema lineal, el cual aproxima


la solucion en de la ecuacion (1.9) en un paso sucesivo del tiempo,

uk+1
i = cuki1 + (1 2c)uki + cuki+1 , (1.18)

t
donde c = (x)2
.
Podemos ver que el esquema en volumenes finitos (1.18) es peculiarmente parecido al
esquema en diferencias finitas (1.14), de hecho resulta ser el mismo; sin embargo, no debe-
mos de olvidar que representan dos cosas diferentes, ya que volumenes finitos es un metodo
conservativo, el cual usa la forma integral de la ecuacion y trabaja sobre un volumen (seg-
mento comprendido entre dos puntos consecutivos de la malla), mientras que diferencias
finitas trabaja con la forma diferencial y evalua en los puntos de la discretizacion.

Comparacion de la solucion y las aproximaciones

Para evaluar las aproximaciones y la solucion analtica truncada, aplicamos las con-
diciones iniciales y de frontera dadas por (1.11) con = 1; tomando 11 puntos en la
discretizacion espacial y 101 en la temporal, i.e., m = 11, n = 101.
Sobreponiendo las graficas, como se ve en la figura 1.6, podemos comparar las soluciones
cualitativamente en diferentes tiempos y se puede ver que, conforme avanza el tiempo, las
aproximaciones se alejan rapidamente de la solucion.
Al ver el comportamiento de las aproximaciones, naturalmente surgen temores sobre
la veracidad y confiabilidad de las mismas, Sera suficiente tomar muchos puntos en la
discretizacion para que esto converja?, si la respuesta es s, cuantos puntos son muchos?,
y la pregunta principal, Como saber cuando una aproximacion representa la realidad?.
Dichas preguntas seran respondidas al analizar la Estabilidad, Consistencia y Convergencia
de nuestros esquemas en los captulos 3 y 4.
32 Captulo 1. Introduccion

0.07 0.07
Solucin Analtica Solucin Analtica
Diferencias Finitas Diferencias Finitas
Volmenes Finitos Volmenes Finitos
0.06 0.06

0.05 0.05

0.04 0.04
u(t,x)

0.03 0.03

0.02 0.02

0.01 0.01

0 0

0.01 0.01
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
x

(a) t = 0 (b) t = 0.05

0.07
Solucin Analtica
Diferencias Finitas
Volmenes Finitos
0.06

0.05

0.04
u(t,x)

0.03

0.02

0.01

0.01
0 0.2 0.4 0.6 0.8 1
x

(c) t = 0.1

Figura 1.6: Solucion de la ecuacion de calor en diferentes tiempos.


Captulo 2

Antecedentes

Podemos decir que el universo consiste en una sustancia y que a esta sustancia la
llamamos ((atomos)), o tambien ((monada)). Democrito la denomino atomo. Leibniz la
llamo monada. Por fortuna, los dos hombres jamas se conocieron, de lo contrario se
hubiera armado una discusion muy aburrida. Estas ((partculas)) fueron puestas en
movimiento por alguna causa o principio fundamental, o quizas algo se cayo en algun
lugar.
Woody Allen, 1966

El desbordamiento de ros y canales es un problema que ha afectado a la sociedad


a traves de los anos por lo que no es de sorprender que, en 1871, el matematico e in-
geniero Adhemar Jean Claude Barre de Saint-Venant propusiera un sistema de ecuacio-
nes para describir el comportamiento del agua en dichos fenomenos en una dimension
[de Saint-Venant, 1871]. Estas ecuaciones son conocidas como ecuaciones de Saint-Venant
o ecuaciones de aguas someras.
A pesar de que las ecuaciones de aguas someras tenan como proposito mimetizar un
fenomeno especfico, otros fenomenos -que no involucran directamente al agua- pueden
ser caracterizados por las mismas como: la prediccion de condiciones meteorologicas, el
estudio de partculas de sedimentos suspendidos, entre otras. La caracterstica general del
fluido modelado por dichas ecuaciones, es que la dimesion vertical sea mucho menor que
cualquiera de las dimensiones horizontales, de modo que la formulacion matematica se
simplifica al ser practicamente 2-dimensional.
Estas ecuaciones han sido ampliamente estudiadas y aproximadas mediante diferentes
metodos numericos [Cendon, 2014], [Guerrero, 2016], [J. Alavez, 2013], [Wesseling, 2009];
sin embargo, en esta tesis se presenta otra manera de aproximar sus soluciones, con la

33
34 Captulo 2. Antecedentes

esperanza de obtener mejores aproximaciones y que no resulten tan costosas computacio-


nalmente.

2.1. Supuestos de las ecuaciones


Al tratar con problemas de flujo existen dos puntos de vista para su analisis, si viesemos
el fluido como un conjunto de moleculas y siguiesemos el movimiento de cada una de
ellas, utilizaramos el metodo descriptivo lagrangiano. Sin embargo, recordemos que en 1
mililitro de agua se encuentran 3.3 1022 moleculas, por lo que si quisieramos realizar
una sola iteracion en cada una de ellas tomara alrededor de 10 millones de anos, lo cual
no sera practico. Por otro lado, si tomamos el fluido como un campo de flujo y vemos su
comportamiento mediante observadores fijos en diferentes puntos del espacio, emplearemos
la descripcion euleriana, de esta manera podemos predecir el comportamiento macroscopico
del fluido en un tiempo considerable.
Al no situarnos en cada una de las partculas para trabajar desde el punto de vista eule-
riano, tomamos la distribucion de masas descrita por el perfil de densidad de las moleculas
(r) en alguna region ( )
1 X
(r) = lm mi , (2.1)
V 0 V
i

donde V es el volumen y mi es la masa de la i-esima molecula. Decimos que se cumple la


Hipotesis del Continuo [Prieve, 2000] si el lmite dado por (2.1) converge mucho antes
de que el volumen decrezca al tamano de una molecula. Una definicion mas precisa sera
la siguiente:

Definicion. Hipotesis del Continuo.


La region a describir puede ser dividida en un conjunto de elementos (infinitesimales)
del volumen, los cuales deben de cumplir simultaneamente que:

es lo suficientemente pequeno para ser considerado uniforme, es decir, cualquier cam-


bio en las propiedades espaciales dentro del volumen no tiene relevancia;

es lo suficientemente grande para contener una numerosa cantidad de moleculas.

A todos los materiales que satisfacen la definicion anterior, se les dice que se comportan
como un Continuo.
Ya que hemos decidido utilizar la perspectiva euleriana, derivemos las ecuaciones de
Saint-Venant a partir de las ecuaciones que modelan fluidos en general, mejor conocidas
2.2. Ecuaciones de Navier-Stokes 35

como ecuaciones de Navier-Stokes. Para los propositos de esta tesis nos concentraremos en
fluidos incompresibles, los cuales satisfacen que su volumen no cambia al verse sometidos
a diversas presiones.

2.2. Ecuaciones de Navier-Stokes


Las ecuaciones de Saint-Venant son un caso particular de las ecuaciones de Navier-
Stokes, estas ecuaciones surgen de la conservacion del momento, junto con la ecuacion de
conservacion de masa.

2.2.1. Ecuacion diferencial de conservacion de masa

Tomemos un volumen de control infinitesimal fijo como el de la figura 2.1. Por un


lado, como no hay creacion ni desintegracion de masa con el paso del timpo, tenemos que

dm
= 0.
dt

Figura 2.1: Volumen de control .

Por otro lado, debido a que el flujo esta pasando a traves de , se debe de mantener el
36 Captulo 2. Antecedentes

balance de materia, i.e.,


Z  Z
dm d
= dV + (U n)dA, (2.2)
dt dt

donde es la densidad del fluido, denota la superficie , U = (u, v, w) es el vector


de velocidades en las direcciones (x, y, z), respectivamente, y n es el vector normal a la
superficie.
Fijando el volumen de modo que dx, dy, dz sean lo suficientemente pequenos, la
ecuacion (2.2) se escribe como

X X
dxdydz + (Ai Ui ) (Aj Uj ),
t
i j

donde las sumas denotan salidas y entradas de masas respectivamente, a traves de la super-
ficie de area Ai , con velocidad Ui . Sustituyendo valores y haciendo operaciones algebraicas
llegamos a la ecuacion


+ (u) + (v) + (w) = + (U) = 0, (2.3)
t x y z t

la cual se conoce como la ecuacion diferencial de la conservacion de masa.

2.2.2. Ecuacion diferencial de conservacion del momento

Ahora calculemos el momento lineal del fluido en nuestro volumen de control (figura
2.1), el cual se define como la cantidad de movimiento por unidad de volumen U sobre
, esto es Z
UdV.

Ahora, para determinar su cambio con respecto del tiempo calculamos su derivada, y
aplicamos el Teorema de Reynolds [Fay, 1996], de modo que
Z  Z
d
UdV + U(U n)dS. (2.4)
dt

Ya que dx, dy, dz son lo suficientemente pequenos, la ecuacion (2.4) se convierte en

X X
(U)dxdydz + Ui (Ai Ui ) Uj (Aj Uj ),
t
i j
2.2. Ecuaciones de Navier-Stokes 37

donde las sumas denotan la salida y entrada de la cantidad de flujo, respectivamente.


Sustituyendo los flujos de cantidad de movimiento que atraviesa cada cara y reagrupando
terminos tenemos que
   
U U U U U
+u +v +w dxdydz = + U U dxdydz. (2.5)
t x y z t

Esta ultima ecuacion denota la fuerza neta sobre el volumen de control , indicando que
esta debe ser infinitesimal y proporcional al volumen; dicha fuerza esta conformado por las
fuerzas volumetricas y las superficiales.
Las fuerzas volumetricas se deben a campos externos que actuan sobre la masa del
volumen. En este caso consideraremos la fuerza gravitacional en el eje vertical, y la de
Coriolis1 en los horizontales, lo cual denotaremos de la siguiente manera

fv
Fdxdydz, con F = f u , (2.6)

donde g es la fuerza de gravedad y f = 2 sin() el parametro de Coriolis ( es la frecuencia


angular de giro y la latitud geografica).
En el caso de las fuerzas superficiales,estas se deben a los esfuerzos ij que interactuan
con las caras de la superficie de control como se muestra en la figura 2.2. Estos esfuerzos
son suma de la presion hidrostatica p y de los esfuerzos viscosos ij que aparecen en el
movimiento con gradientes de velocidad, de modo que

p + xx yx zx  
ij Ui Uj
ij = xy pyy zy , con = + ,

xj xi
xz yz p + zz

donde es el coeficiente de viscocidad dinamica (m2 /s), x = (x, y, z) y U = (u, v, w).


Ya que los gradientes de estos esfuerzos son los causantes de una fuerza neta sobre la
superficie total del volumen, podemos ver que para la superficie en direccion de x, dicha
fuerza esta dada por
   
p
(xx ) + (yx ) + (zx ) dxdydz = + (xx ) + (yx ) + (zx ) dxdydz;
x y z x x x x

las fuerzas en la direccion de y y z se obtienen de forma analoga. De modo que la contri-


1
Indica el efecto de la rotacion de la tierra.
38 Captulo 2. Antecedentes

Figura 2.2: ij = Esfuerzo en la direccion j sobre la cara normal al eje i.

bucion de las fuerzas superficiales es

[p + ij ] dxdydz. (2.7)

Igualando la fuerza neta (2.5) a la suma de las fuerzas superficiales (2.7) con las fuerzas
volumetricas (2.6), y dividiendo entre el volumen dxdydz, obtenemos la ecuacion diferencial
de conservacion del momento
 
U
+ U U = p + ij + F, (2.8)
t

la cual resulta ser la famosa ecuacion vectorial de Navier-Stokes en su forma conservativa.


Escribiendo las componentes de forma explcita tenemos el sistema no lineal
 
u u u u p
+u +v +w = + (xx ) + (yx ) + (zx ) + f v,
t x y z x x x x
 
v v v v p
+u +v +w = + (xy ) + (yy ) + (zy ) f u,
t x y z y x x x
 
w w w w p
+u +v +w = + (xz ) + (yz ) + (zz ) g.
t x y z z x x x
(2.9)
2.2. Ecuaciones de Navier-Stokes 39

Dicho sistema es valido para describir fulano fluido con zutano movimiento, se puede
encontrar en cualquier libro de hidraulica basica.
Para nuestro proposito escribimos las ecuaciones de modo que el sistema sea estable,
lo que nos lleva a que las ecuaciones (2.9) se transforman en

p
(u) + (u2 ) + (uv) + (uw) = + (xx ) + (yx ) + (zx ) + f v,
t x y z x x x x
p
(v) + (uv) + (v 2 ) + (vw) = + (xy ) + (yy ) + (zy ) f u,
t x y z y x x x
p
(w) + (uw) + (vw) + (w2 ) = + (xz ) + (yz ) + (zz ) g.
t x y z z x x x
(2.10)

Es facil verificar que podemos ir del sistema de ecuaciones (2.10) al (2.9) aplicando la
regla de Leibniz en las derivadas y usando la ecuacion de conservacion de masa (2.3).

2.2.3. Ecuacion de continuidad para fluidos incompresibles

En general la densidad del agua depende de la presion p, la temperatura T y la


salinidad S. Si aplicamos la conservacion de masa en la sal disuelta, resulta que
 
S
(S) + (uS) + (vS) + (wS) D = 0, (2.11)
t x y z xj xj

donde D es el coeficiente de difusion de sal en el agua. Aplicando la regla de Leibniz, la


ecuacion (2.3) y tomando D lo suficientemente pequeno como para ser despreciable, en la
ecuacion (2.11), obtenemos la ecuacion de salinidad

S S S S
+u +v +w = 0,
t x y z

que quiere decir que la salinidad, en cierto bloque de agua, permanecera constante si nos
movemos con ella. Para la ecuacion de temperatura se aplica un analisis semejante.
Recordemos que estamos trabajando con fluidos incompresibles, lo que significa que su
densidad no depende de la presion. Esto no significa que su densidad sea constante, sino
que su ecuacion de estado se escribe como = f (T, S), ie., la densidad solo esta en funcion
de la temperatura y de la salinidad.
En nuestro caso, hablando de agua, la tomamos como incompresible para simplificar
el analisis de las ecuaciones; dicha suposicion no se encuentra tan alejada de la realidad,
puesto que se han realizado estudios donde se muestra que el cambio de la densidad de un
40 Captulo 2. Antecedentes

volumen, con respecto a la presion, es del orden de 108 kg/m2 [Avila, 1997].
Ahora bien, haciendo caso omiso a los efectos de la difusividad, tenemos que la tasa de
cambio de la densidad con respecto del tiempo es

d dT dS
= + = +u +v +w ,
dt T dt S dt t x y z

e igualando la ecuacion anterior a la de conservacion de masa (2.3), llegamos a la ecuacion


de continuidad para fluidos incompresibles

u v w
+ + = 0. (2.12)
x y z

Debido a que, en la realidad, las variaciones de temperatura y salinidad son pequenas,


dichos cambios no afectan a los terminos de las fuerzas volumetricas ni superficiales, por
lo que podemos tomar como una constante; sin embargo en el termino de la gravedad,
la densidad s es importante, por lo que se utiliza la densidad real. Este enfoque, donde se
ignoran las variaciones de densidad salvo que den lugar a fuerzas gravitacionales, se conoce
comunmente como aproximacion de Boussinesq.
En general, cuando un lquido fluye en un tubo a velocidad baja, fluye en lneas paralelas
a lo largo del eje del tubo, lo que se conoce como flujo laminar. En cambio, al aumentar
la velocidad este adquiere un movimiento de torbellino o flujo turbulento [J. Alavez, 2013].
Debido a la naturaleza aleatoria de un flujo turbulento y la elevada frecuencia con la que
vara en sus magnitudes, la descripcion matematica del movimiento del fluido aumenta su
dificultad enormemente, por lo que supondremos que las velocidades se pueden separar en
la suma de una velocidad promedio u y su cambio debido a la turbulencia u0 , de modo
que
u = u + u0 y uv = uv + u0 v 0 ,

donde Z t+ T2
1
u(x, t) = u(x, )d.
T t T2

2.3. Caractersticas dadas por las aguas someras


Las hipotesis fundamentales de este modelo son las siguientes:

El movimiento principal de las partculas ocurre en planos horizontales.

La aceleracion vertical de las partculas se considera despreciable frente a la acelera-


2.3. Caractersticas dadas por las aguas someras 41

cion de la gravedad.

Las fuerzas de masa que actuan son la gravedad en la direccion vertical y la fuerza
de Coriolis en el plano horizontal.

La pendiente del fondo es pequena, esto es que el cambio en la profundidad es gradual.

La distribucion de las velocidades tanto en x como en y son practicamente uniformes.

Aunado a estas, recordemos que el fenomeno a tratar en esta tesis se desarrolla en aguas
someras, las cuales se caracterizan por tener su escala vertical Sv mucho mas pequena que
la horizontal Sh ; en la teora se toma que, al menos, la escala horizontal sea 20 veces mayor
Sv
que la vertical, i.e., Sh < 0.05. En el caso de las velocidades horizontales u, v, usualmente
solo hay una escala interna Su .
Aplicando dichas escalas en la ecuacion de continuidad (2.12), tenemos que los terminos
u v Su
x , y son del orden de Sh ; sin embargo, usualmente estas no se cancelan entre s, por lo que
w
z debe de ser del mismo orden, de otro modo el equilibrio no sera posible. Asumiendo
que la escala vertical de la profundidad del agua es a, por consiguiente, la componente
aSu
vertical de la velocidad es del orden Sh .
Ahora veamos el efecto de las escalas en la conservacion del momento vertical (2.10c).
Al igual que con la ecuacion de continuidad, todos los terminos con derivadas parciales de
la ecuacion (2.10c) pueden ser estimados burdamente mediante las escalas, a excepcion del

gradiente de la presion, por lo que el termino de aceleracion local t (w) es del orden de
aSu Sh 2
TSh , donde T = a1/2
; los terminos advectivos x (uw), y (vw), z (w ) son del orden
2
de aS u
Sh 2
; y los terminos de los esfuerzos
x (xz ), x (yz ), x (zz ) son del orden de Sau2 .
Comparando dichas aproximaciones con el termino de la gravedad g podemos concluir que
son muy pequenas, por lo que solo queda el gradiente de la presion para lograr un balance,
de modo que la ecuacion (2.10c) se simplifica en la distribucion de persion hidrostatica
dada por
p
= g, (2.13)
z
donde esta en funcion de la salinidad y la temperatura. Dicha aproximacion resulta ser
la propiedad central en la teora de aguas bajas.

2.3.1. Condiciones de frontera en el fondo y en la superficie

Recordemos que para que una EDP tenga solucion unica, las condiciones de frontera son
primordiales. Denotaremos al fondo del cuerpo de agua por Zb = Zb (x, y), dicha funcion
42 Captulo 2. Antecedentes

describe la topografa del terreno; mientras que la superficie esta dada por h = h(t, x, y)
(ver figura 2.3).

Figura 2.3: Seccion longitudinal del dominio ocupado por el flujo en el plano yz, con x fijo.

Las condiciones de frontera, tanto en el fondo como en la superficie, se dividen en dos,


las primeras son las condiciones de frontera cinematicas, las cuales dicen que las partculas
del agua no cruzaran ninguna de las frontera. Para el fondo solido, esto implica que la
componente normal a Zb de las velocidades es 0, por lo que

Zb Zb
u +v w = 0. (2.14)
x y

Ahora, cuando nos posicionamos en la superficie tenemos que esta puede variar, por
lo que ahora la que desaparece es la componente normal relativa a h de la velocidad, de
modo que
h h h
+u +v w = 0. (2.15)
t x z
Por otra parte tenemos las condiciones de frontera dinamicas, las cuales hablan de las
fuerzas que actuan en las fronteras. En el fondo tomaremos condiciones de no deslizamiento,
esto quiere decir que el fluido viscoso se queda pegado al fondo, de modo que

u = v = 0. (2.16)
2.4. Ecuaciones de Saint-Venant 43

Mientras que en la superficie se asume que los esfuerzos en el agua justo debajo de la
superficie, son los mismos que los del agua en contacto con el aire, lo que significa que no se
toma en cuenta la tension superficial; de modo que nuestra presion es la presion atmosferica
Pa y el nivel de presion absoluta es tomado como 0 al no ser relevante. Sin embargo, en la
superficie pueden actuar esfuerzos cortantes generados por el viento, aquellos tangentes a
la superficie se escriben como

h h
sx = xx xy + xz ,
x y
h h
sy = yx yy + yz ,
x y
(2.17)

de modo que, si tomamos las ecuaciones (2.17) junto con la definicion de ij , obtenemos
una condicion de frontera para el campo de velocidades.

2.4. Ecuaciones de Saint-Venant

Recordemos que las ecuaciones de Navier-Stokes (2.10) describen el movimiento de un


fluido, ahora considerando las caractersticas y propiedades para aguas someras se obtienen
las ecuaciones de Saint-Venant.

2.4.1. Ecuaciones en tres dimensiones

Integrando la distribucion de presion hidrostatica (2.13), tomando en cuenta que la


presion en la superficie del agua es la presion atmosferica Pa tenemos que
Z h
p=g dz + Pa = g(h z) + Pa , (2.18)
z

esto debido a que, para propositos de este trabajo, tomaremos promedios en la profundidad
de modo que la densidad puede ser tomada como una constante con respecto a z. Por lo
que los gradientes de presion se expresan como

p h Pa p h Pa
= g + g(h z) + , = g + g(h z) + .
x x x x y y y y

Sustituyendo dichos valores en las ecuaciones de conservacion de momento en x y y


44 Captulo 2. Antecedentes

(2.10a,b) y dividiendo entre tenemos

u 2 h g 1 Pa
+ (u ) + (uv) + (uw) + g + (h z) + +
t x y z x 0 x 0 x
 
1
(xx ) + (xy ) + (xz ) f v = 0,
0 x x x
v 2 h g 1 Pa
+ (uv) + (v ) + (vw) + g + (h z) + +
t x y z y 0 y 0 y
 
1
(yx ) + (yy ) + (yz ) + f u = 0.
0 x x x
(2.19)

Este par de ecuaciones junto con la ecuacion de continuidad (2.12) forman el sistema
de ecuaciones conocido como Ecuaciones de Saint-Venant en 3D, donde las ecuaciones
(2.19) predicen el comportamiento de las velocidades horizontales u, v; mientras que la
componente vertical de la velocidad viene dada por (2.12) y h se obtiene de la condicion
de frontera en la superficie (2.15).

2.4.2. Ecuaciones en dos dimensiones

Ahora, para pasar de las ecuaciones en 3D a 2D, primero integremos la ecuacion de


continuidad (2.12) sobre la profundidad a = h Zb , aplicando el Teorema de Reynolds
(2.4) tenemos que
Z h 
u v h h Zb Zb
+ dz + w|hZb = (au) + (av) + w|hZb us vs + ub vb = 0,
Zb x y x y x y x y

donde u, v son velocidades promedio sobre el valor de la profundidad, us , vs son los terminos
de correcion de la superficie y ub , vb los del fondo, los cuales se obtienen por la integracion y
diferenciacion en las fronteras. Usando las condiciones dinamicas y cinematicas de frontera
(2.14, 2.16), llegamos a que los terminos referentes al fondo se cancelan y que los terminos de
la superficie describen la tasa de cambio del nivel de la superficie; de modo que obtenemos
la ecuacion
h
+ (au) + (av) = 0, (2.20)
t x y
a la cual tambien se puede llegar considerando el balance de masas en la columna vertical
del agua.
Del mismo modo integramos las ecuaciones de Saint-Venant en 3D (2.19). Para los
terminos advectivos el proceso es igual al anterior, de modo que los terminos en la superficie
2.4. Ecuaciones de Saint-Venant 45

y fondo se cancelan por las condiciones de frontera, sin embargo, obtenemos terminos no
lineales como: Z h Z h
uvdz = auv + (u u)(v v),
Zb Zb

donde la segunda integral describe el cambio de momento lateral debido a la diferencia de


velocidades en la profundidad del fluido, a la cual se le conoce como termino de adveccion
diferencial.

Para los terminos de las fuerzas volumetricas la integracion es directa, dejandonos


solo con los terminos de los esfuerzos. Integrando dichos terminos para el momento en la
direccion x, tenemos que
Z h 

(xx ) + (xy ) + (xz ) dz =
Zb x x x
Z h Z h  
h h h i
= xx dz + xy dz xx + xy xz + xx Z
x
b
+ xy
Zb
y xz ,
x Zb y Zb x y z=h z=Zb

se realiza un proceso analogo para el momento en la direccion y. Por lo que juntando los
terminos anteriores, resulta que la integracion sobre la profundidad de (2.19) es

h ga2 1
(au) + (au2 ) + (auv) + ga + bx (aTxx ) (aTxy ) f av = Fx ,
t x y x 20 x 0 x y
h ga2 1
(av) + (auv) + (av 2 ) + ga + by (aTxy ) (aTyy ) + f au = Fy ,
t x y y 20 y 0 x y
(2.21)

donde Tij denota los esfuerzos laterales, los cuales incluyen los terminos viscosos, de tur-
bulencia y de adveccion diferencial, y estan dados por
Z h   
1 ui uj
Tij = + u0i u0j + (ui ui )(uj uj ) dz.
a Zb xj xi

En conjunto, las ecuaciones (2.20) y (2.21) forman las ecuaciones de Saint-Venant en 2D;
sin embargo, las ecuaciones estandar de aguas someras se obtienen omitiendo algunas
complicaciones y adoptando algunas parametrizaciones en su lugar [Vreugdenhil, 1994].
Si omitimos los esfuerzos laterales y las fuerzas motrices, y asumimos una expresion mas
46 Captulo 2. Antecedentes

sencilla para el esfuerzo del fondo en las ecuaciones (2.20) y (2.21), tenemos el sistema

h
+ (au) + (av) = 0,
t x y
h p
(au) + (au2 ) + (auv) f av + ga + cf u u2 + v 2 = 0,
t x y x
h p
(av) + (auv) + (av 2 ) + f au + ga + cf v u2 + v 2 = 0. (2.22)
t x y y

Dichas ecuaciones son conocidas como ecuaciones conservativas para aguas someras, cuya
forma matricial esta dada de la siguiente manera

U f1 f2
+ + + s = 0, (2.23)
t x y

donde

h au
U = au , f1 = au2 + 12 gh2 ,

av auv

av 0

f2 = auv , s = f av + cf u u2 + v 2 .

1

av 2 + 2 gh2 f au + cf v u2 + v 2

Esta forma conservativa de las ecuaciones diferenciales de Saint-Venant se va a tratar


de manera analoga a la ecuacion (1.7) tomada como ejemplo en el captulo 1, no obstante
la discretizacion requiere considerar aspectos mas finos de la geometra como se discutira
en el siguiente captulo.
Captulo 3

Metodos Numericos

Mallita.- transformacion de una region fsica con geometra compleja a una mas simple,
proveniente del surestre de Mexico, la cual predijo que el mundo acabara en el 2012.
Patricio Monero, 2011

Como se menciona en el captulo 1, para resolver un problema contnuo numericamente,


debemos partir el dominio fsico en subdominios elementales para observar el fenomeno
medible de interes sobre cada uno de ellos. A este proceso se le conoce como generacion de
malla.

3.1. Mallas Estructuradas


Una malla estructurada, tambien conocida como malla de mapeo, es una biyeccion f
entre el espacio fsico (en el cual se presenta el fenomeno fsico) y el computacional (en el
cual calculamos la aproximacion); dicha biyeccion debe ser tal que satisfaga f (R) = H
preservando la orientacion, donde denota la frontera del dominio. Por lo anterior, el
problema de generacion de mallas se puede expresar como:
Dada una transformacion biyectiva y continua f entre la frontera del dominio compu-
tacional C(, ) = {(, )|0 , 1} y la del dominio fsico (x, y),


f
f : C ,

extenderla a una transformacion continua entre C y , de modo que

f
f : C , tal que f |c = f,

47
48 Captulo 3. Metodos Numericos

donde las lneas coordenadas estan dadas por la imagen de f (, 0 ) y f (0 , ) (ver figura
3.2).
Cuando la malla es estructurada podemos identificar rapidamente los nodos interiores
y exteriores de la malla, donde cada nodo interior cuenta con el mismo numero de nodos
adyacentes [Flores, 2016].
Cabe mencionar que no todo mapeo es util, una malla aceptable sobre debe de evitar
entrelazamiento de lneas y debe de mapear los lados del cuadrado C a cuatro segmentos
curvilneos sobre la frontera de , como se muestra en la figura 3.2. Un ejemplo de esto
se puede ver en la figura 3.1, donde f es la biyeccion entre el espacio fsico (el Halcon
Milenario H) y el computacional (R=[0, 1] [0, 1]); dicha malla fue creada con el programa
UNAMALLA [workgroup,
R 2011].

f(x ,y )
i j

R H

Figura 3.1: Mapeo del Halcon Milenario.

3.1.1. Generacion de mallas estructuradas.

Existen tres principales metodos de generacion de mallas estructuradas, los cuales son
algebraicos, diferenciales y variacionales.
3.1. Mallas Estructuradas 49

Metodos algebraicos

Estos metodos son muy usados debido a su simplicidad y rapidez computacional, sin
embargo, en general no generan mallas convexas en regiones no convexas; decimos que
una malla de mapeo es convexa si cada una de sus celdas es un cuadrilatero convexo y
no degenerado. Dichos metodos toman la parametrizacion de los segmentos de frontera
y sobre ellos consideran una interpolacion polinomica entre fronteras, dicha interpolacion
suele ser de tipo Lagrange o Hermite [S.D. Conte, 1980].
Un ejemplo tpico de un metodo algebraico con interpoladores de Lagrange es la Inter-
polacion Transfinita o TFI por sus siglas en ingles. Este metodo funciona de la siguiente
manera: supongamos que contamos con la descripcion de las fronteras de la region fsica
, esto es, las ecuaciones parametricas

xb (), xt (), 0 1,
xl (), xr (), 0 1,

donde los subndices b, t, l, r denotan abajo, arriba, izquierda y derecha respectivamente,


como se muestra en la figura 3.2. De modo que (, ) son las coordenadas computacionales
tales que cumplen con la propiedad de continuidad del mapeo, es decir

xb (0) = xl (0), xb (1) = xr (0),


xr (1) = xt (1), xt (0) = xl (1).

Aplicando interpolacion de Lagrange obtenemos que el mapeo generado por el metodo


de interpolacion transfinita [Knupp and Steinber, 1993] es

x(, ) = (1 )xb () + xt () + (1 )xl () + xr () +


[xt (1) + (1 )xb (1) + (1 )xt (0) + (1 )(1 )xb (0)] .

De este modo obtenemos una transformacion convexa, que va de la curva de la izquierda


a la derecha haciendo el barrido de 0 a 1, y de la inferior a la superior de igual manera.
No olvidemos que dicha transformacion esta dada por las fronteras, de modo que si lo
aplicamos a una region irregular, al extender de las fronteras al interior obtendremos una
malla doblada.
Para mostrar la eficacia del metodo tomemos una region no convexa como lo es una
50 Captulo 3. Metodos Numericos

Figura 3.2: Transformacion de las fronteras.

herradura, consecuentemente, resulta difcil obtener una buena malla, sin embargo en la
figura 3.3 se ve que mediante TFI se obtiene una malla suave y sin dobleces.

Metodos diferenciales

Como se vio al inicio de este captulo, la generacion de mallas puede plantearse como
un problema de valores a la frontera para encontrar las partes reales e imaginarias de una
funcion casi conforme. Esto significa que, dada una distribucion de puntos en la frontera, se
pueden generar mallas mediante una EDP que los satisfaga, las cuales suelen ser elpticas
e hiperbolicas; a dicho procedimiento se le conoce como metodo diferencial.
A diferencia de las mallas generadas de manera algebraica, al utilizar metodos diferen-
ciales se pueden obtener mallas mas suaves y con menos dobleces, por lo que se suelen
usar como suavizadores de las primeras; podemos ver un ejemplo de esto en la figura 3.4,
para la cual se uso como malla inicial generada mediante TFI (figura 3.3). Sin embargo,
debido a que resultan de la solucion numerica de una EDP, obtenemos una malla mas
suave con cada iteracion de la aproximacion por lo que el metodo no es tan rapido como
el primero.
De entre los metodos diferenciales elpticos el mas utilizado es el generador de Poisson,
3.1. Mallas Estructuradas 51

Figura 3.3: TFI de la herradura.

Figura 3.4: Mallado con metodos diferenciales de la herradura.


52 Captulo 3. Metodos Numericos

cuya distribucion de los puntos interiores viene dada por la solucion de las ecuaciones

2 2 2 2
+ = P (, ), + = Q(, ),
x2 y 2 x2 y 2

donde P y Q son funciones que controlan el espacio entre los puntos interiores del dominio;
tomando P = Q = 0 obtenemos el generador de Laplace [Joe F. Thompson, 1991].

Por otra parte estan los metodos hiperbolicos con los cuales se genera una malla a partir
de una inicial, propagandola en direccion normal a la superficie en el actual nivel de puntos
a uno nuevo. Estos metodos se utilizan en casos de dominios no acotados, en los cuales una
onda se va transportando por adveccion y se genera la malla. Las EDPs que se deben de
satisfacer para este metodo son

x x y y x x y y
+ = 0, = A(x, y),

donde A(x, y) es el area de la celda situada en el punto (x, y). Un ejemplo de este tipo de
mallas se puede ver en la figura 3.5.

Figura 3.5: Mallado con el generador de Poisson de la herradura.


3.1. Mallas Estructuradas 53

Metodos Variacionales

A diferencia de los dos metodos mencionados con anterioridad, los metodos variacio-
nales han sido usados relativamente poco en la industria debido a que maneja conceptos
matematicos un poco mas avanzados como lo es el calculo variacional [Elsgoltz, 1991].
La ventaja de este metodo es que, mediante el uso de funcionales, nos provee de control
sobre la longitud de los segmentos, el area y la ortogonalidad de los angulos de las celdas
pertenecientes a la malla generada.
La manera tradicional de resolver un funcional es obtener las ecuaciones de Euler-
Lagrange a partir de este, las cuales resultan ser transformaciones que minimizan el fun-
cional; empero, al aplicar un enfoque discreto para la creacion de mallas mediante el metodo
variacional haceindo uso del Metodo directo, ya que nos permite garantizar que se generan
mallas convexas en regiones irregulares. Dicho metodo se define de la siguiente manera:

Definicion. Metodo directo. [Knupp and Steinber, 1993]


Dado un funcional
Z 1Z 1  
x x y y
I[x] = G , , , dd,
0 0

donde G es una funcion suave de 4 vari ables, con x = (x, y) tal que x(, ) y y(, ) son
funciones suaves definidas en [0, 1] [0, 1].
Sea c un vector de funciones tal que x + c es el espacio de vectores de funciones dados
, entonces la primera variacion del funcional I en la direccion c en el punto x esta dada
por
d
Dc I[x] = I[x + c]|=0 ,
d
y la segunda variacion esta dada por

d
Dc2 I[x] = Dc I[x + c]|=0 .
d

De modo que para que I[x] alcance su mnimo en x, se debe cumplir que Dc2 I[x] 0 c.

Los funcionales que se aplican buscan uniformizar la malla en la medida de lo posible,


los mas utilizados son:

Funcional de longitud
!
1Z 1 x2 + y2 x2 + y2
Z
1
IL [x] = + dd.
2 0 0
54 Captulo 3. Metodos Numericos

Funcional de area
1Z 1
J2
Z
1
IA [x] = dd.
2 0 0

Funcional de ortogonalidad
Z 1Z 1
1
IO = (x x + y y )2 dd.
2 0 0

Funcional AO de Knupp (combina area y ortogonalidad)

1Z 1 (x2 + y2 )(x2 + y2 )
Z
1
IAO = dd.
2 0 0

x y
Donde xi = i , yi = i ; = (, ) > 0 y = (, ) > 0 son funciones de peso, las
cuales nos dan control sobre la malla; y J 2 = (x2 + y2 )(x2 + y2 ) (x x + y y )2 es el
Jacobiano de la transformacion.
Siguiendo con el ejemplo de la herradura, en la figura 3.6 podemos ver las mallas genera-
das por el software UNAMALLA [workgroup,
R 2011], obtenidas emplenado los funcionales
antes mencionados.

3.1.2. Calidad de la malla

Existen tantos generadores de mallas debido a que, para obtener una buena apro-
ximacion no es suficiente con hacer los tamanos de paso lo mas pequenos posibles, sin
mencionar que esto aumenta el numero de puntos de la malla lo cual lleva consigo un alto
costo computacional.
Un indicador de la calidad de la malla es que los tamanos de paso x, y sean lo
mas parecidos posibles, de otro modo se puede perder el orden de la aproximacion y se
incrementa el numero de condicion del problema discreto. Para ejemplificar lo anterior,
tomemos la ecuacion del calor en 1D (1.9)1 sobre una malla no uniforme, donde x =
xi+1 xi = hi , con hi distintos i [1, m 1] (ver figura 3.7).
Al hacer el desarrollo en serie de Taylor para la evaluacion en los puntos xi1 y xi+1 ,

1
Esta ecuacion se aproximo en una malla uniforme en el captulo 1.
3.1. Mallas Estructuradas 55

(a) Longitud. (b) Area.

(c) Ortogonalidad. (d) AO.

Figura 3.6: Mallado mediante metodos variacionales de la herradura.


56 Captulo 3. Metodos Numericos

Figura 3.7: Malla no uniforme.

respectivamente, tenemos que

uki 2 uki h2i1 3 uki h3i1


uki1 = uki hi1 + + (3.1)
x x2 2 x3 6
uk 2 uki h2i 3 uki h3i
uki+1 = uki + i hi + + + (3.2)
x x2 2 x3 6

Ya que los tamanos de paso son distintos no podemos solo sumar para eliminar terminos,
por lo que multiplicamos la ecuacion (3.1) por hi y la (3.2) por hi1 , sumando y despejando
la segunda derivada llegamos a que

2 uki uki+1 hi1 + uki1 hi uki (hi1 + hi ) 3 uki (hi hi1 )


= 2 +
x2 (hi + hi1 )hi hi1 x3 3
uk hi1 + uki1 hi uki (hi1 + hi )
= 2 i+1 + O(max{hi , hi1 }). (3.3)
(hi + hi1 )hi hi1

De la ecuacion anterior podemos ver que resulta una aproximacion de orden 1, mientras
que al utilizar una malla regular obtenemos una aproximacion de orden 2. Para la parcial
con respecto del tiempo aplicamos diferencias hacia adelante, de modo que la aproximacion
3.2. Diferencias Finitas 57

a la ecuacion (1.9) en una malla no regular esta dada por

uk+1 uki uk hi1 + uki1 hi uki (hi1 + hi )


i
+ O(t) = 2 i+1 + O(max{hi , hi1 }).
t (hi + hi1 )hi hi1

Despejando para un paso posterior en el tiempo, tenemos que la aproximacion a la solucion


es
     
t t t
uk+1
i = uki1 2 + uki 12 k
+ ui+1 2 (3.4)
hi1 (hi + hi1 ) hi1 hi hi (hi + hi1 )

De modo que, si escribimos el sistema (3.4) de manera vectorial tenemos que

uk+1 = Auk , (3.5)

donde

1 2 ht 2 h2 (ht

1 h2 1 +h2 )
0 0
2 h2 (ht 1 2 ht 2 h3 (ht 0

2 +h3 ) 2 h3 2 +h3 )

..

.. ..
2 h3 (ht 1 2 ht

0 . . .
3 +h4 ) 3 h4
.. ..
. 0 2 h4 (ht
4 +h5 )
.
A= ,

.. .. ..

. . .

.. ..

. . 0

.. .. t


. . 2 hm2 (hm2 +hm3 )


t t
0 0 2 hm2 (hm2 +hm1 ) 1 2 hm2 hm1

con uk como en (1.15). Sin embargo, al tomar diferentes tamanos de paso tenemos que las
entradas de la matriz A son diferente orden de magnitud, lo cual incrementa el numero de
condicion de la matriz. Esto es relevante ya que, si incrementa mucho esto se puede volver
un problema mal condicionado.

3.2. Diferencias Finitas

En el captulo 1 se dio una explicacion breve de lo que son las diferencias finitas y
como se aplican a regiones con mallas rectangulares regulares. Ya que en este trabajo nos
enfocaremos a regiones fsicas cuyo dominio es no regular, las cuales utilizan mallas como
las de la seccion anterior, aplicaremos el metodo de diferencias finitas generalizadas.
58 Captulo 3. Metodos Numericos

3.2.1. Diferencias finitas generalizadas

Para aproximar una EDP de segundo orden de manera general, tomamos el operador
lineal basico de segundo orden

2u 2u 2u u u
Lu = A + B + C +D +E + F u,
x2 xy y 2 x y

el cual buscamos aproximar en algun punto p0 utilizando aproximaciones a los valores de


u en algunos vecinos p1 , ..., pq (figura 3.8).

Pq

P2
P1

P0

Figura 3.8: Distribucion arbitraria de p0 y sus vecinos.

De modo que podemos escribir el esquema de diferencias finitas como la combinacion


lineal
L0 = 0 u(p0 ) + 1 u(p1 ) + ... + q u(pq ), (3.6)

donde i es constante para cada pi = (xi , yi ) i [0, q]. Para que este esquema cumpla que
la aproximacion se acerque a la solucion conforme los nodos vecinos se acerquen al nodo
central p0 , es necesario que se cumpla la condicion de consistencia:
q
X
Lu|p0 i u(pi ) 0. (3.7)
i=0

Ahora, tomando la aproximacion en serie de Taylor de u hasta segundo orden y reagru-


3.2. Diferencias Finitas 59

pando terminos, la condicion anterior puede reescribirse como


 2 q
2u 2u

u u u X
A 2 +B +C 2 +D +E + Fu i u(pi ) =
x xy y x y p0 i=0
q q
! !
X X u
F (p0 ) i u(p0 ) + D(p0 ) i xi |p +
x 0
i=0 i=0
q q
! !
X u X i (xi )2 2 u
E(p0 ) i yi |p + A(p0 ) |p +
y 0 2 x2 0
i=0 i=0
q q
! !
X 2u X i (yi )2 2 u
B(p0 ) i xi yi |p + C(p0 ) |p +
xy 0 2 y 2 0
i=0 i=0
O(max{xi , yi })4 , (3.8)

donde x y y son las distancias, tanto horizontales como verticales, del nodo central p0
a sus vecinos pi . Por lo que para que se satisfaga la condicion (3.7), es necesario que cada
uno de los coeficientes que se encuentran entre parentesis de la expresion (3.8) se anulen,
i.e.,
q
X q
X
F (p0 ) i = 0, D(p0 ) i xi = 0,
i=0 i=0
q q
X X i (xi )2
E(p0 ) i yi = 0, A(p0 ) = 0,
2
i=0 i=0
q q
X X i (yi )2
B(p0 ) i xi yi = 0, C(p0 ) = 0. (3.9)
2
i=0 i=0

De modo que si esto se satisface nuestra diferencia quedara acotada por una fun-
cion O(xi , yi ), la cual involucra a las derivadas de orden mayor y disminuye conforme
p1 , ..., pq p0 si la funcion es lo suficientemente suave.
Por simplicidad, podemos reescribir las condiciones dadas por (3.9) de manera matricial,
obteniendo as el sistema

1 1 1 0 F (p0 )

0
x1 xq 1 D(p0 )

0 y1 yq 2 E(p0 )

= ,

0 (x1 )2 (xq )2

2A(p0 )

0 x y
1 1 xq yq B(p0 )


0 (y1 )2 (yq )2 q 2C(p0 )
60 Captulo 3. Metodos Numericos

el cual tiene 6 ecuaciones con q + 1 incognitas. Esto quiere decir que en la mayora de los
casos el sistema no esta bien determinado.
Ahora bien, por inspeccion podemos ver que la primera ecuacion se puede calcular por
separado como
q
X
0 = F (p0 ) i , (3.10)
i=1

quedando por resolver el sistema


M = , (3.11)

donde

x1 xq 1 D(p0 )
y1 yq 2 E(p0 )


2 2 ,
M =
= y =
(x 1 ) (x q ) 2A(p 0 ) .

x1 y1 xq yq B(p0 )

(y1 )2 (yq )2 q 2C(p0 )

Recordemos que nos interesa saber los valores del vector para poder aplicar el esquema
(3.6) por lo que buscamos resolver el sistema (3.11). Esto se puede realizar tomandolo desde
diferentes enfoques:

Como un problema de algebra.


Ya que, en general, tenemos un sistema no completo por columnas con suficientes
grados de libertad -los cuales estan dados por las estructuras de datos elegida- existe
una solucion dada por
= M + ,

donde M + es la pseudoinversa de Moore-Penrose.

Como un problema de optimizacion.


Desde este enfoque tenemos el problema de
q
X
min 2i
i=1

sujeto a (3.11).

Una vez calculados los valores de tendremos los pesos de cada uno de los nodos
vecinos en el esquema, obteniendo as el esquema en diferencias finintas generalizadas
3.2. Diferencias Finitas 61

para cualquier estencil de puntos.


En cuanto a la eleccion de cuantos y cuales seras los nodos vecinos, sucede algo similar
a la famosa frase de Tolstoi Todas las familias felices se parecen, pero las infelices lo
son cada una a su manera. En nuestro caso, pretendemos aproximar la solucion a las
ecuaciones mediante diferencias finitas generalizadas; sin embrago no podemos aplicar el
mismo estencil a todas y esperar el mejor resultado para cada una, por lo que dependiendo
del problema se elige tanto el esquema como el estencil adecuado.
En general, entre mas puntos utilicemos el orden de la aproximacion es mayor, pero
al hacer esto aumenta el costo computacional. Algunos de los estenciles rectangulares
mas utilizados para diferencias centradas en el espacio son FTCS (Forward-Time Central-
Space) y BTCS (Back-Time Central-Space), mientras que para para diferencias hacia atras
y hacia adelante tenemos el esquema de Downwind y Upwind, respectivamente (ver figura
3.9). Utilizaremos estos mismos terminos en el caso de las diferencias en mallas irregulares.

A fin de describir la manera de aplicar el esquema definido anteriormente, tomemos el


ejemplo de la ecuacion de adveccion con velocidad a,

u u u
+a +a = 0.
t x y

Tomando el estencil de puntos como el mostrado en la figura 3.10, y aplicando el esquema


dado por (3.10, 3.11), tenemos que la discretizacion espacial para el punto p0 es

1 ! !
h h 0 1
2 = a
0 h h 1
3

con
0 = 1 2 3 .

Resolviendo este sencillo sistema de ecuaciones tenemos que el vector de pesos para-
metrizado, con un grado de libertad, es

a
h 1

1
= a
.

h
1
1
62 Captulo 3. Metodos Numericos

(a) FTCS con 9 puntos. (b) BTCS con 9 puntos.

(c) Upwind con 4 puntos. (d) Downwind con 4 puntos.

Figura 3.9: Estenciles.


3.2. Diferencias Finitas 63

Figura 3.10: Estencil con 3 puntos.

Para la derivada con respecto del tiempo aplicamos diferencias finitas hacia adelante,
de modo que la aproximacion para el punto p0 en un paso de tiempo posterior es
h a a i
uk+1
0 = uk
0 + t ( )u
1 0
k
+ uk
1 1 + ( )u
1 2
k
+ k
1 3 .
u
h h

3.2.2. Consistencia + Estabilidad = Convergencia

Al final del captulo 1 se planteo la cuestion de como garantizar que nuestra aproxima-
cion se acerca a la solucion exacta de la ecuacion, minimizando el error. Hasta el momento,
sabemos que una parte importante para obtener una buena aproximacion es tener una
buena malla, por lo cual uno pensara que basta con hacer t, x y y tender a 0 para
obtener convergencia en nuestra aproximacion, sin embargo no es tan sencillo.
Para responder a dicha pregunta estudiaremos el Teorema de equivalencia Lax, el cual
nos dice que a fin de obtener una aproximacion convergente, por una parte es necesario que
esta sea consistente con la ecuacion gobernante. Esto es, que el error local de truncamiento
se vaya a 0 en cada puno de la malla; y por otra parte, que el algoritmo utilizado para
resolver las ecuaciones algebraicas resultantes de la discretizacion sea estable.
Una primera estimacion del error es tomar la diferencia entre la aproximacion y la
evaluacion de la solucion en un mismo punto, de modo que definimos al vector de error
64 Captulo 3. Metodos Numericos

local E como
E = u u,

donde u denota la evaluacion de la funcion en los puntos de la malla, por lo que este vector
contiene los errores en cada uno de ellos; para poder acotar este vector debemos de tomar
alguna norma.

Consistencia

Se dice que la ecuacion algebraica resultante de la discretizacion es consistente con la


ecuacion gobernante si, al tomar el lmite cuando los tamanos de paso tienden a 0, el error
local de truncamiento se anula.
A manera de ejemplo tomemos de nuevo la ecuacion de difusion en 1D (1.9), cuya
aproximacion en diferencias finitas sobre una malla regular viene dada por

uk+1
i = cuki1 + (1 2c)uki + cuki+1 , (3.12)

t
donde c = (x)2
. Si sustituimos la evaluacion de la solucion u(t, x) en los puntos de la
malla, de tenemos que

u(tk+1 , xi ) = cu(tk , xi1 ) + (1 2c)u(tk , xi ) + cu(tk , xi+1 ).

Ahora, poniendo c en terminos de los tamanos de paso y de y desarrollando en serie de


Taylor alrededor del punto (tk , xi ) para los terminos de la ecuacion anterior, tenemos que

u(tk , xi ) (t)2 2 u(tk , xi ) 2 u(tk , xi ) (x)2 4 u(tk , xi )


t + = t + t + O((t)3 , (x)4 ).
t 2 t2 x2 12 x4

Finalmente, si dividimos entre t y reagrupamos, llegamos a la expresion

2 u(tk , xi ) t 2 u(k , i ) (x)2 4 u(k , i )


 
u(tk , xi )
+ = 0, (3.13)
t x2 2 t2 12 x4

donde el conjunto terminos que se encuentran entre parentesis se conoce como Error local
de truncamiento.
Por la ecuacion (1.9) sabemos que los primeros dos terminos se anulan, de modo que
se debe de satisfacer la relacion

t 2 u(k , i ) (x)2 4 u(k , i )


= 0.
2 t2 12 x4
3.2. Diferencias Finitas 65

Es facil ver que entre mas decrezcan los tamanos de paso, el error local de truncamiento
disminuira; de modo que si tomamos el lmite cuando t, x 0, este se anula. A esta
propiedad se le llama Consistencia.

Estabilidad

La estabilidad de un sistema se refiere al crecimiento o decaimiento de los errores


introducidos en cualquier etapa del algoritmo. Dichos errores surgen debido a errores de
redondeo o de truncamiento, por lo que la solucion algebraica del sistema de ecuaciones
uk+1
i difiere de la numerica uk+1
i .
Se dice que un metodo es estable si el efecto del conjunto de todos los errores generados
por cada iteracion del algoritmo es acotado. De modo que buscamos que nuestro esquema
sea lo suficientemente robusto, es decir, si nuestro algoritmo cuenta con errores pequenos
de entrada, estos se mantengan pequenos hasta la salida del mismo.
Continuando con el ejemplo de difusion en 1D, consideremos los errores

ik = |uki uki |,

generados en cada punto (tk , xi ), de modo que el error del esquema (3.12) para cada punto
es
ik+1 = ci1
k
+ (1 2c)ik + ci+1
k
. (3.14)

Asumiendo que los valores de las condiciones iniciales y de frontera estan dados, tenemos
que los errores iniciales i0 , y los de frontera 1k , m
k se anulan, i.e, 0 = 0 i [1, m] y
i
1k = m
k = 0 k [0, n]; lo cual nos lleva al sistema

k+1 = A k , (3.15)

donde

1 2c c 0 0


c 1 2c c 0


2k

.. .

0 c 1 2c c 0 .
..
.. ..

k = ik .

A = 0 c . . ,

.. .. .. .. ..


. 0 . . . 0 .
.. .. k
m1

. . c
0 0 c 1 2c
66 Captulo 3. Metodos Numericos

Podemos ver que la matriz A es de Toeplitz, de modo que sus valores propios estan dados
por  
j
j = 1 4c sin2 ,
2(m 1)
lo que nos indica que los errores desminuiran conforme k crece, si la transformacion A es
una contraccion. Esto implica que
 
2 j
1 1 4c sin 1, j [1, m 2],
2(m 1)

lo cual se cumple si, y solo si


 
2 j 1 1
c sin c .
2(m 1) 2 2

Por lo que diremos que el metodo es estable siempre y cuando se satisfaga que c 12 , a
dicha constante se le conoce como coeficiente de Courant-Friedrich-Levy o CFL, por sus
siglas.
Los metodos en los que se debe de cumplir alguna restriccion sobre el CFL se cono-
cen como condicionalmente estables, en caso contrario son incondicionalmente estables;
mientras que si nunca se cumple que |j | 1 son metodos incondicionalmente inestables.

Teorema de equivalencia de Lax

Ahora que conocemos los terminos Consistencia y Estabilidad podemos introducir el


Teorema de equivalencia de Lax, el cual caracteriza la Convergencia de un sistema a partir
de las condiciones anteriores.

Teorema 3. Teorema de equivalencia de Lax [Iserles, 1996]


Dada la EDP lineal que describa un problema bien planteado, y su discretizacion me-
diante algun metodo numerico, esta es convergente si, y solo si la discretizacion es estable
y consistente (de orden p 1).

Demostracion. Tomemos la relacion de recurrencia para los errores (3.15), dado que el
tamano de paso x es pequeno y que la solucion de la ecuacion diferencial es lo suficien-
temente suave, existe M = M (T ) tal que

|| n+1 || ||A|| || n || + M (x)p ,


3.3. Volumenes Finitos 67

procediendo por induccion, con la condicion de que 0 = 0, llegamos a que

|| n || < M (1 + ||A|| + + ||A||n1 )(x)p .

Recordemos que, al ser el metodo estable, se cumple que ||A|| 1, lo que nos lleva a que

T
|| n || < M n(x)p M (x)p .
t

Con lo cual se demuestra la convergencia del metodo.

3.3. Volumenes Finitos

Recordemos la mayor motivacion de los volumenes finitos son las Leyes de Conserva-
cion, las cuales se definen de forma general como

Definicion. Leyes de Conservacion [Cendon, 2014]


Sea D un subconjunto de Rp , y sean fj , j [1, d], d funciones regulares de D en Rp

fj : D Rp , j [1, d].

La forma diferencial general de un sistema de leyes de conservacion es

d
u X
+ (fj (u)) = 0, x = (x1 , , xd ) Rd , t > 0, (3.16)
t xj
j=1

y la forma integral es
Z xi
d
u(t, x) = fj (t, u(xi1 )) fj (t, u(xi )), (3.17)
dt xi1

donde el vector de las variables conservativas u = (u1 , , up ), es la funcion vectorial

u : [0, ) Rd D, (3.18)
(t, x1 , , xd ) (u1 , , up ) (3.19)

El conjunto D se llama conjunto de estados, y las funciones fj = (f1j , , fpj ) funcio-


nes de flujo (fij : D R).
68 Captulo 3. Metodos Numericos

Si incluimos la condicion inicial

u(0, x) = u0 (x), x Rd , (3.20)

donde u0 : x Rd u0 (x) D es una funcion dada, llegamos al Problema de Cauchy


para Leyes de Conservacion.

Algunos ejemplos de leyes de conservacion son la ecuacion de transporte, modelo de


flujo de trafico, ecuaciones de la acustica, ecuaciones de aguas someras, entre otras.
Recordando que las ecuaciones de interes de esta tesis generan un sistemas esencial-
mente hiperbolico, veamos las posibles soluciones para sistemas de leyes de conservacion
hiperbolicas.

3.3.1. Tipos de solucion para sistemas de leyes de conservacion hiperboli-


cas

Tomemos el problema de Cauchy dado por (3.16) con (3.20)

Definicion. Solucion clasica.


Diremos que una funcion u : [0, ) Rd D es una solucion clasica del Problema de
Cauchy si u es una funcion de clase C 1 que verifica (3.16)-(3.20) puntualmente.

Cabe mencionar que no existen en general soluciones en el sentido clasico, pues a partir
de un intervalo de tiempo finito pueden generarse discontinuidades. Un ejemplo claro de
esto son las ondas de choque, la cuales surgen en la dinamica de los gases.
La existencia de estas soluciones discontinuas nos conduce a introducir soluciones debi-
les del problema de Cauchy, para lo que es necesario escribir las leyes de conservacion en
su forma integral.
Sea C01 ([0, +)Rd ) el espacio de funciones C 1 con soporte compacto en [0, +)Rd .
Si u es una solucion clasica y C01 ([0, +)Rd )p , utilizando la formula de Green tenemos
que

Z Z d
u +
X
0= (fj (u)) dxdt =
0 R d t x j
j=1

Z Z d Z
u +
X
fj (u) dxdt u(0, x) (0, x)dx.
0 Rd t xj Rd
j=1
3.3. Volumenes Finitos 69

Por tanto, cualquier solucion clasica del problema de Cauchy verifica que C01 ([0, +)
Rd )p ,

Z Z d Z
u +
X
fj (u) dxdt + u(0, x) (0, x)dx = 0. (3.21)
0 R d t xj Rd
j=1

Cabe mencionar que (3.21) tiene sentido si u L d p


loc ([0, +)R ) , donde Lloc es el espacio
de funciones localmente acotadas.

Definicion. Solucion debil


Supongamos que u0 L d p d p
loc (R ) . Una funcion u Lloc ([0, +) R ) se dice que es
una solucion debil del problema de Cauchy (3.16)-(3.20) si verifica (3.21) para cualquier
funcion C01 ([0, +) Rd )p .

Por construccion cualquier solucion clasica del problema de Cauchy es una solucion
debil. Recprocamente, si u es de clase C 1 , tomando C01 ([0, +) Rd )p , entonces w
satisface (3.16) y es una solucion clasica; mas aun, integrando (3.21) por partes, (3.16) se
satisface puntualmente.
Ya que hemos descrito el tipo de soluciones que buscaremos, veamos como se aplica el
metodo de volumenes finitos para obtener una aproximacion.

3.3.2. Metodo de Volumenes Finitos


Los volumenes finitos estan estrechamente relacionados con las diferencias finitas, tanto
que se pueden interpretar directamente como diferencias (como se muestra en el ejemplo
del captulo 1); sin embargo, los volumenes finitos parten de la forma integral de las leyes
de conservacion, lo cual trae consigo muchas ventajas [LeVeque, 2002].
Al igual que en diferencias finitas debemos de subdividir el dominio en subregiones,
a las cuales llamaremos celdas; la idea principal es ver como vara la integral de cierta
magnitud conservada u en cada una de las celdas. A modo de ejemplo, podramos pensar
en una charola para hielos (la malla), al llenar un cubo (la celda) con el agua que vertamos
(la magnitud conservada), el resto se pasara a la celda contigua; de modo que, para cada
tiempo, tenemos una aproximacion al flujo que pasa de una celda a otra.
Denotemos la i-esima celda en 1D como

Ci = (xi1/2 , xi+1/2 ),

pensando que estamos en una malla regular, tendremos que el tamano de paso x es el
70 Captulo 3. Metodos Numericos

ni,j+1 Vy

Vx

ni1,j ni+1,j
y

Vx

Vy ni,j1

Figura 3.11: Celda i, j de volumenes finitos.

mismo para todas. El valor Qni aproximara el valor promedio sobre la i-esima celda, en el
instante tn de manera que
Z xi+1/2 Z
1 1
Qni u(tn , x)dx = u(tn , x)dx. (3.22)
x xi1/2 x Ci

Si la funcion u(t, x) es lo suficientemente suave, entonces (3.22) coincide con el valor


de la funcion en el punto medio de la celda, hasta un orden O((x)2 ).

Una de las propiedades importantes de los metodos numericos que surgen de leyes de
conservacion, como lo son los volumenes finitos, es que podemos asegurar que es un metodo
conservativo ya que imita el comportamiento de la solucion real, lo cual es en extremo
importante. Esto sucede debido a que N n
P
i=1 Qi x aproxima la integral de u sobre todo
el intervalo [a, b], y al usar un metodo que se encuentra en forma conservativa, la suma
discreta solo cambiara debido a los flujos en las frontera x = a y x = b. Fsicamente, esto
nos dice que la masa en el dominio computacional se conservara o, al menos, cambiara
conforme lo dicten las condiciones de frontera dadas.
3.3. Volumenes Finitos 71

Tomando la forma integral de la ley de conservacion (3.17) sobre la celda tenemos que
Z
d
u(t, x)dx = f (u(t, xi1/2 )) f (u(t, xi+1/2 )), (3.23)
dt Ci

de modo que mediante esta expresion podemos generar un esquema para aproximar el valor
de Qn+1
i , dado Qni . Integrando (3.23) en el tiempo, de tn a tn+1 tenemos que
Z Z Z tn+1 Z tn+1
u(tn+1 , x)dx u(tn , x)dx = f (u(t, xi1/2 ))dt f (u(t, xi+1/2 ))dt.
Ci Ci tn tn

Reagrupando y dividiento entre x tenemos que


Z Z
1 1
u(tn+1 , x)dx = u(tn , x)dx
Cix x Ci
Z tn+1 Z tn+1 
1
f (u(t, xi1/2 ))dt f (u(t, xi+1/2 ))dt . (3.24)
x tn tn

Esta relacion nos dice exactamente como cambiara el valor promedio de u sobre la i-esima
celda (3.22) en un paso de tiempo posterior. En general, no podemos evaluar las integrales
con respecto del tiempo de forma exacta, ya que el valor de u(t, xi1/2 ) vara con el tiempo
para cada frontera de la celda. Debido a que en los problemas hiperbolicos la informacion
se propaga con velocidad finita, es razonable que supongamos el valor del flujo numerico
en las fronteras a partir de Qni1 y Qni , de modo que tomaremos la aproximacion del flujo
promedio como Z tn+1
n 1
Fi1/2 = F(Qni1 , Qni ) f (u(t, xi1/2 )), (3.25)
t tn

donde F es una funcion de flujo numerico. Aplicando (3.22) y (3.25) en (3.24), el metodo
se escribe como
t
Qn+1
i = Qni [F(Qni , Qni+1 ) F(Qni1 , Qni )], (3.26)
x
de modo que obtenemos un metodo explcito que depende de como elijamos la funcion de
flujo numerico F.

Veamos el ejemplo de la ya muy conocida ecuacion de difusion en 1D (1.9), si la escri-


bimos como ley de conservacion llegamos a la ecuacion

u f (u) u
+ = 0, con f (u) = ,
t x x

donde la funcion f representa el flujo. Dados los valores promedios en dos celdas contiguas
72 Captulo 3. Metodos Numericos

Qi1 ,Qi (3.22), el flujo numerico F(Qi1 , Qi ) en la frontera entre ellas puede ser definido
de manera natural como
 
Qi Qi1
F(Qi1 , Qi ) = i1/2 ,
x

donde 11/2 (xi1/2 ), nos indica la difusividad en la frontera entre ambas celdas. Se
dice que es definido de manera natural ya que representa la interpretacion fsica de que
la magnitud conservada medida por u, que pasa de una celda a otra con una velocidad
proporcional a la diferencia entre los valores de los promedios Q de dichas celdas.
Sustituyendo el valor de F en nuestro metodo dado por (3.26), llegamos a la discreti-
zacion
t
Qn+1 = Qni + [ (Qn Qni ) i1/2 (Qni Qni1 )], (3.27)
i
(x)2 i+1/2 i+1
la cual es identica a la discretizacion estandar en diferencias finitas de la ecuacion de
difusion en 1D debido a la eleccion de F; en el caso de las ecuaciones no lineales, la eleccion
del flujo numerico no resulta tan natural. Ademas, no debemos olvidar que obtuvimos la
expresion (3.27) a traves de la forma integral de la ecuacion (1.9), obteniendo as un metodo
conservativo.

3.3.3. Componentes necesarios para la convergencia


Al igual que para el metodo de diferencias finitas, nos gustara garantizar que la aproxi-
macion que genere nuestro metodo de volumenes finitos se acerque a la solucion analtica.
Nuevamente, la aproximacion numerica debe de converger a la EDP gobernante mientras
los tamanos de paso x, y 0; para que la solucion converja, es necesario satisfacer las
condiciones de Consistencia y Estabilidad, las cuales fueron explicadas con anterioridad.
Una condicion extra a satisfacer es que el flujo numerico F debe de aproximar a la
integral (3.25), en particular, si la funcion u(t, x) = u es constante en x, u no cambiara con
el tiempo, por lo que dicha integral se reduce a f (u). Como resultado, si Qni1 = Qni = u,
entonces esperamos que el flujo numerico F se reduzca a f (u), i.e.,

F(u, u) = f (u) (3.28)

para cualquier valor de u.


Captulo 4

Discretizacion de las ecuaciones de


Saint-Venant

-Todo depende del sitio adonde quieras ir- contesto el Gato


-El sitio me importa poco..- dijo Alicia
-En ese caso, poco importa el camino que tomes- contesto el Gato.
Lewis Caroll, 1865

Una vez descritos los metodos numericos, haremos uso y abuso de los mismos para apro-
ximar la solucion de las ecuaciones de Saint-Venant en su version conservativa:

h
+ (au) + (av) = 0, (4.1)
t x y
h p
(au) + (au2 ) + (auv) f av + ga + cf u u2 + v 2 = 0, (4.2)
t x y x
h p
(av) + (auv) + (av 2 ) + f au + ga + cf v u2 + v 2 = 0. (4.3)
t x y y

Primeramente hacemos el cambio de las variables

q1 = h, q2 = au, q3 = av, (4.4)

de modo que cambiamos de las variables clasicas a las conservativas, trabajando ahora con
el tirante (q1 ) y los gastos (q2 , q3 ); lo que ademas simplifica la notacion. Es inmediato ver
que la ecuacion (4.1) se convierte en

q1 q2 q3
+ + = 0. (4.5)
t x y

73
74 Captulo 4. Discretizacion de las ecuaciones de Saint-Venant

Ahora veamos el caso de la ecuacion (4.2), la cual se puede escribir de la siguiente manera
r
(u2 + v 2 )a2
   
(au)(au) (au)(av) h
(au) + + f (av) + ga + cf u = 0.
t x a y a x a2

Recordemos que para el problema planteado el cambio en la batimetra Zb es muy pequeno,


lo cual nos indica que h y a son del mismo orden ya que h = a + zb (figura 2.3); de modo
que, haciendo un analisis asintotico, podemos escribir la ecuacion anterior como
   
(au)(au) (au)(av) h up
(au) + + f (av) + gh + cf (au)2 + (av)2 = 0.
t x h y h x a

Finalmente, reescribiendo en termino de las variables conservativas tenemos la ecuacion

q22 g 2
   
q2 q2 q3 q2
q
+ + q1 + f q3 + cf q22 + q32 = 0. (4.6)
t x q1 2 y q1 (q1 Zb )2

Haciendo un procedimiento analogo, tenemos que la ecuacion (4.3) se escribe como

q32 g 2
   
q3 q2 q3 q3
q
+ + + q1 + f q2 + cf q22 + q32 = 0. (4.7)
t x q1 y q1 2 (q1 Zb )2

De modo que aproximaremos el tirante q1 , y los gastos en las direcciones x y y, q2 y q3


respectivamente, mediante las ecuaciones (4.5 - 4.7), cuya forma vertorial es

Q Qx Qy
+ + + G = 0, (4.8)
t x y

donde

q1 q2
q2 g
Q = q2 , Qx = 2
q1 + 2 q1 ,
2

q2 q3
q3 q1

q3 0
q2 q3 q2
p
2 + q2

Qy =
2 q1
, G= f q3 + cf (q 1 Z )2 q 2 3 .
b p
q3 g 2 q3 2 2
q1 + q
2 1
f q2 + cf (q1 Z )2 q2 + q3
b
4.1. Esquema en Diferencias Finitas 75

4.1. Esquema en Diferencias Finitas

Nuestra primera aproximacion a la solucion sera mediante diferencias finitas, utilizando


un esquema centrado en el espacio y hacia adelante en el tiempo; teniendo presentes los
aspectos de estabilidad, los cuales van a verse reflejados fuertemente debido a la parte no
lineal de la ecuacion (2.8). Recordemos que las diferencias finitas surgen del desarrollo en
serie de Taylor, lo cual implica que nuestros esquemas seran consistentes por construccion.

4.1.1. Regiones rectangulares

Empezemos tomando el cuadrado unitario [0, 1] [0, 1] como la region fsica con una
discretizacion uniforme, de modo que los tamanos de paso x, y, t son constantes.

FTCS con 4 puntos

Al aplicar el esquema FTCS con un estencil de 4 puntos (figura 4.1) a las ecuaciones
(4.5 - 4.7), obtenemos el sistema que aproxima las incognitas para un paso posterior en
el tiempo. A partir de ahora, por simplicidad, denotaremos a la incognita evaluada en el
(k)
punto (i.j), en el tiempo k como ql(i,j) . De modo que tenemos el sistema

(k) (k) (k) (k)
(k+1) (k)
q2(i+1,j) q2(i1,j) q2(i,j+1) q2(i,j1)
q1(i,j) = q1(i,j) t + , (4.9)
2x 2y

(k) (k)
(k+1) (k) t (q2(i+1,j) )2 (q2(i1,j) )2 g 
(k) (k)

q2(i,j) = q2(i,j) (k)
(k) + (q1(i+1,j) )2 (q1(i1,j) )2
2x q1(i+1,j) q1(i1,j) 2

(k) (k) (k) (k)
t q2(i,j+1) q3(i,j+1) q2(i,j1) q3(i,j1) (k)
(k)
(k)
+ tf q3(i,j)
2y q1(i,j+1) q1(i,j1)

(k)
q2(i,j)
r
(k) (k)
t cf  2 (q2(i,j) )2 + (q3(i,j) )2 , (4.10)

(k)
q1(i,j) Zb(i,j)
76 Captulo 4. Discretizacion de las ecuaciones de Saint-Venant


(k) (k) (k) (k)
(k+1) (k) t q2(i+1,j) q3(i+1,j) q2(i1,j) q3(i1,j)
q3(i,j) = q3(i,j) (k)
(k)

2x q1(i+1,j) q1(i1,j)

(k) 2 (k)
t (q3(i,j+1) ) (q3(i,j1) )2 g  (k) (k)

(k)
(k) + (q1(i,j+1) )2 (q1(i,j1) )2
2y q1(i,j+1) q1(i,j1) 2

(k)
q
r
(k) 3(i,j) (k) (k)
tf q2(i,j) t cf  2 (q2(i,j) )2 + (q3(i,j) )2 . (4.11)

(k)
q1(i,j) Zb(i,j)

Figura 4.1: Estencil FTCS con 4 puntos.

Para corroborar la estabilidad del sistema anterior empecemos con verificar una condi-
cion necesaria, mas no suficiente, conocida como Analisis de Von Neumann. Dicho analisis
surge de resolver el problema de Cauchy para una EDP lineal haciendo uso de la transfor-
mada de Fourier. La razon principal por lo que esto funciona, es porque las funciones ex y

ey , con los numeros de onda constantes y , la amplitud de onda e = 1, son

eigenfunciones del operador diferencial x y y , respectivamente; de modo que el valor la
funcion desconocida de nuestra EDP, por ejemplo Q, evaluada en las coordenadas (xi , yj )
4.1. Esquema en Diferencias Finitas 77

en el n-esimo en el tiempo, esta dado por

(k)
Q(i,j) = k e(ix+jy) .

Definicion. Estabilidad de Von Neumann.


Decimos que el metodo es estable, bajo el Analisis de Von Neumann, si al escribir su
discretizacion como
(k+1) (k)
Q(i,j) = gQ(i,j) ,

se cumpla que la norma del factor de amplificacion g = g(, , , , , t, x, y) sea


menor que 1, i.e.,
||g|| 1.

De manera mas general, podemos permitir cierto crecimiento del factor de amplificacion
mediante la Estabilidad de Lax-Richtmyer.

Definicion. Estabilidad de Lax-Richtmyer.


El metodo es estable si para cada T existe una constante Cs y un t0 > 0 tales que

||g k || Cs , kt T, t < t0 .

De modo que si
||g|| 1 + bt, t < t0 ,

entonces
||g k || (1 + bt)k ebkt ebT , kt T.

Esto nos indica que el metodo es estable.

Debido a que nuestro sistema (4.8) es no lineal, tomaremos la linealizacion del mismo
para poder realizar el analisis de Von Neumann. Sean dadas, mediante series de Fourier,
las soluciones exactas de nuestras ecuaciones

(k)
q1(i,j) = k e(ix+jy) ,
(k)
q2(i,j) = k e(ix+jy) ,
(k)
q3(i,j) = k e(ix+jy) . (4.12)
78 Captulo 4. Discretizacion de las ecuaciones de Saint-Venant

Comencemos analizando la ecuacion (4.9), aplicando (4.12) tenemos que

t h k ((i+1)x+jy) i
(k+1) e(ix+jy) = k e(ix+jy) e k e((i1)x+jy)
2x
t h k (ix+(j+1)y) i
e k e(ix+(j1)y) .
2y

Dividiendo entre el factor en comun e(ix+jy) , obtenemos la relacion del factor de


amplificacion ,

t k ex ex t k ey ey
   
k+1 k
= . (4.13)
x 2 y 2

Para el siguiente esquema (4.10) tomaremos los valores de f y cf nulos ya que multipli-
can a evaluaciones de las funciones en puntos de la malla, cuando a nosotros nos interesa
estudiar el comportamiento de los errores de las aproximaciones para las derivadas; ademas,
ya que el analisis de Von Neumann se aplica a sistemas lineales, analizaremos el esquema
para la ecuaciones linealizadas, las cuales se obtienen mediante un analisis asintotico to-
mando la funcion qi como la suma de una constante Qi con una pequena perturbacion qi ,
i.e., qi = Qi + qi para i = 1, 2, 3. De modo que las ecuaciones (4.6) y (4.7) linealizadas,
respectivamente, se escriben como

q2 Q22 q1 Q2 q2 q1 Q2 Q3 q1 Q2 q3 Q3 q2
2 +2 + gQ1 + + = 0, (4.14)
t Q1 x Q1 x x Q21 y Q1 y Q1 y
q3 Q2 Q3 q1 Q2 q3 Q3 q2 Q23 q1 Q3 q3 q1
2 + + 2 +2 + gQ1 = 0. (4.15)
t Q1 x Q1 x Q1 x Q1 y Q1 y y

Ahora s podemos realizar el analisis de Von Neumann, tomamos la aproximacion me-


diante FTCS para la ecuacion (4.14) y aplicamos (4.12), obteniendo as que

k+1 e(ix+jy) = k e(ix+jy)


2
 
t (ix+jy) k Q2 k Q2

e 2 + 2 + gQ1 ex ex
k
2x Q1 Q1
 
t (ix+jy) k Q2 Q3 k Q2 k Q3 y y

e + + e e .
2y Q21 Q1 Q1

Dividiendo el factor comun e(ix+jy) y aplicando identidades trigonometricas, de


4.1. Esquema en Diferencias Finitas 79

la ecuacion anterior surge la relacion para el factor de amplificacion


2
  
k+1 k k Q2 k Q2 k sin (x)
= t 2 + 2 + gQ1
Q1 Q1 x
  
Q2 Q3 k Q2 k Q3 sin (y)
t k + + . (4.16)
Q21 Q1 Q1 y

De manera analoga, para la ecuacion (4.7), aproximamos mediante FTCS la ecuacion


lineal (4.15) y realizando el analisis de Von Neumann obtenemos la relacion para el factor

  
k+1 k k Q2 Q3 k Q2 k Q3 sin (x)
= t + +
Q21 Q1 Q1 x
2
  
Q Q3 sin (y)
t k 23 + k 2 + k gQ1 . (4.17)
Q1 Q1 y

Escribiendo las relaciones de los factores de amplificacion (4.13), (4.16) y (4.17) de


manera matricial, tenemos que
k+1 = A1 k , (4.18)

donde i es el vector que contiene los i-esimos factores de amplificacion y la matriz A1


indica el cambio de los mismos en cada iteracion. Estos estan dados por
i

i i
= ,
i

s1 s2

1 x y
Q2
h  i h i
s1
QQ2 Q2 3 y
s2
1 2Q2 s1 Q3 s2
Q 2 s2

A1 = Q22 + gQ1 x Q1 x + Q1 y Q1 y
,
h 1  2 1  i h i
Q
QQ2 Q2 3 x
s1
+ Q32 + gQ1 y s2
Q 3 s1
Q1 x 1 Q2 s1
Q1 x + 2Q 3 s2
Q1 y
1 1

con s1 = t sin (x) y s2 = t sin (y). Si tomamos x = y = h, podemos reescribir


la matriz como
t
I F1 ,
h
donde I es la matriz de identidad de 3 3 y la matriz F1 contiene a los factores restantes.
De modo que, aplicando la desigualdad del triangulo, obtenemos la cota para la matriz de
80 Captulo 4. Discretizacion de las ecuaciones de Saint-Venant

amplificacion
t t t
||I F1 || ||I|| + ||F1 || = 1 + ||F1 ||. (4.19)
h h h
Dado que tenemos control sobre t y h, podemos obtener una condicion para la estabi-
lidad lo que nos indica que tenemos un metodo condicionalmente estable; sin embargo,
no podemos olvidar que la cota depende de la norma que elijamos para F1 , lo mas con-
veniente resulta ser tomar || ||1 , de modo que si al tomar una cota mas holgada para
(4.19) obtenemos una buena aproximacion, se espera que con las otras se conserve esa cota
superior ya que esta norma es la que mas amplifica a los eigenvectores de cualquier matriz
[Lloyd N. Trefethen, 1990].

La razon por la que realizamos un analisis de nuestro sistema en su forma linealizada, es


debido a que se tiene muy poca informacion acerca de la estabilidad de esquemas no lineales.
Dentro del enfoque de Von Neumann se puede decir que la estabilidad de las ecuaciones
linealizadas, con coeficientes fijos, es necesaria para la estabilidad de las mismas en su
forma no lineal, pero ciertamente no suficiente [C.Hirsch, 1994]. Por lo anterior, podemos
afirmar que el esquema dado por (4.9), (4.10) y (4.11) no es incondicionalmente inestable.

Diferencias finitas con diferentes esquemas

Tomemos ahora dos esteciles diferentes para la aproximacion de las parciales en x y y los
1 1
cuales tienen los pesos Tx = 6x (0, 1, 1, 1, 0, 0, 1, 1, 1) y Ty = 6y (0, 1, 0, 1, 1, 1, 1, 0, 1)
respectivamente, podemos tomarlos as ya que satisfacen las ecuaciones (3.10) y (3.11); con
lo que obtenemos el siguiente esquema para aproximar el sistema (4.8).

(k+1) (k)
q1(i,j) = q1(i,j)
t h (k) (k) (k) (k) (k) (k)
i
q2(i1,j1) q2(i1,j) q2(i1,j+1) + q2(i+1,j1) + q2(i+1,j) + q2(i+1,j+1)
6x
t h (k) (k) (k) (k) (k) (k)
i
q3(i1,j1) q3(i1,j+1) + q3(i,j1) q3(i,j+1) + q3(i+1,j1) q3(i+1,j+1) ,
6y
(4.20)
4.1. Esquema en Diferencias Finitas 81

 2  2  2
(k) (k) (k)
t q2(i1,j1) q2(i1,j) q2(i1,j+1)
(k+1) (k)
q2(i,j) = q2(i,j) (k)

6x (k) (k)
q1(i1,j1) q1(i1,j) q1(i1,j+1)
 2  2  2
(k) (k) (k)
q
t 2(i+1,j1) q 2(i+1,j) q 2(i+1,j+1)
+ +

(k) (k) (k)
6x

q1(i+1,j1) q1(i+1,j) q1(i+1,j+1)
  2 
t g (k)
2 
(k)
2 
(k)
q1(i1,j1) q1(i1,j) q1(i1,j+1)
6x 2
 2 
t g  (k) 2 
(k)
2 
(k)
q1(i+1,j1) + q1(i+1,j) + q1(i+1,j+1)
6x 2

(k) (k) (k) (k) (k) (k)
q q
t 2(i1,j1) 3(i1,j1) q q
2(i1,j+1) 3(i1,j+1) q q
2(i,j1) 3(i,j1)
(k)
(k)
+ (k)
6y q1(i1,j1) q1(i1,j+1) q1(i,j1)

(k) (k) (k) (k) (k) (k)
q q
t 2(i,j+1) 3(i,j+1) q q
2(i+1,j1) 3(i+1,j1) q q
2(i+1,j+1) 3(i+1,j+1)
(k)
+ (k)
(k)
6y q q q
1(i,j+1) 1(i+1,j1) 1(i+1,j+1)
(k)
q2(i,j)
r
(k) (k) (k)
+ tf q3(i,j) tcf  2 (q2(i,j) )2 + (q3(i,j) )2 , (4.21)
(k)
q1(i,j) Zb(i,j)
82 Captulo 4. Discretizacion de las ecuaciones de Saint-Venant


(k) (k) (k) (k) (k) (k)
(k+1) (k) t q2(i1,j1) q3(i1,j1) q2(i1,j) q3(i1,j) q2(i1,j+1) q3(i1,j+1)
q3(i,j) = q3(i,j) (k)
(k)
(k)

6x q1(i1,j1) q1(i1,j) q1(i1,j+1)

(k) (k) (k) (k) (k) (k)
t q2(i+1,j1) q3(i+1,j1) q2(i+1,j) q3(i+1,j) q2(i+1,j+1) q3(i+1,j+1)
(k)
+ (k)
+ (k)
6x q1(i+1,j1) q1(i+1,j) q1(i+1,j+1)
 2  2  2
(k) (k) (k)
q
t 3(i1,j1) q 3(i1,j+1) q 3(i,j1)
+

(k) (k) (k)
6y

q1(i1,j1) q1(i1,j+1) q1(i,j1)
 2  2  2
(k) (k) (k)
t q3(i,j+1) q3(i+1,j1) q3(i+1,j+1)
(k) + (k)
(k)
6y

q 1(i,j+1) q q
1(i+1,j1) 1(i+1,j+1)
 2 
t g  (k) 2 
(k)
2 
(k)
q1(i1,j1) q1(i1,j+1) + q1(i,j1)
6y 2
  2 
t g (k)
2 
(k)
2 
(k)
q1(i,j+1) + q1(i+1,j1) q1(i+1,j+1)
6y 2
(k)
q3(i,j)
r
(k) (k) (k)
tf q2(i,j) tcf  2 (q2(i,j) )2 + (q3(i,j) )2 . (4.22)
(k)
q1(i,j) Zb(i,j)

Para verificar la estabilidad del sistema realizamos el analisis de Von Neumann de


manera analoga al mostrado con anterioridad, con lo que obtenemos la siguiente relacion
para los factores de amplificacion

k+1 = A2 k ,

donde el vector i es como en (4.18) y la matriz A viene dada por


t
1,2 t2,1
1 x y
h Q22 t1,2

t2,1
i h
2 t1,2 Q3 t2,1
i
Q2 t2,1
+ QQ2 Q2 3 y 1 2Q

A2 = Q2 + gQ1 x Q1 x Q1 y Q 1 y
,
h 1  2 1 i h i
Q2 Q3 t1,2 Q3 t2,1 Q3 t1,2 Q2 t1,2 Q3 t2,1
Q2 x + Q2 gQ1 y Q1 x 1 Q1 x + 2 Q1 y
1 1

con t1,2 = t t
3 sin (x)(2 cos (y)+1) y t2,1 = 3 sin (y)(2 cos (x)+1). Si tomamos
x = y = h, podemos reescribir la matriz como

t
I F2 ,
h
4.1. Esquema en Diferencias Finitas 83

por lo que la norma de la matriz A2 esta acotada por

t
||A2 || 1 + ||F2 ||,
h

lo cual nos indica que el esquema propuesto es condicionalmente estable si tomamos ta-
t
manos de paso tales que h sea lo suficientemente pequeno.

Diferencias finitas con diferentes esquemas y promedios tipo Lax-Friedrichs

Para mejorar la estabilidad del sistema con el esquema anterior seguimos la idea de
Lax-Friedrichs [LeVeque, 2007], de modo que aproximamos la funcion u en el punto (i, j)
en el k-esimo paso en el tiempo, con un promedio de la misma en el espacio,

(k+1) 1  (k) (k) (k) (k)



q1(i,j) = q + q1(i+1,j) + q1(i,j1) + q1(i,j+1)
4 1(i1,j)
t h
(k) (k) (k) (k) (k) (k)
i
q2(i1,j1) q2(i1,j) q2(i1,j+1) + q2(i+1,j1) + q2(i+1,j) + q2(i+1,j+1)
6x
t h (k) (k) (k) (k) (k) (k)
i
q3(i1,j1) q3(i1,j+1) + q3(i,j1) q3(i,j+1) + q3(i+1,j1) q3(i+1,j+1) ,
6y
(4.23)
84 Captulo 4. Discretizacion de las ecuaciones de Saint-Venant

(k+1) 1  (k) (k) (k) (k)



q2(i,j) = q2(i1,j) + q2(i+1,j) + q2(i,j1) + q2(i,j+1)
4  2  2  2
(k) (k) (k)
t q2(i1,j1) q2(i1,j) q2(i1,j+1)
(k) (k)
(k)
6x

q 1(i1,j1) q 1(i1,j)q 1(i1,j+1)
 2  2  2
(k) (k) (k)
q
t 2(i+1,j1) q 2(i+1,j) q 2(i+1,j+1)
+ +

(k) (k) (k)
6x

q1(i+1,j1) q1(i+1,j) q1(i+1,j+1)
  2 
t g (k)
2 
(k)
2 
(k)
q1(i1,j1) q1(i1,j) q1(i1,j+1)
6x 2
 2 
t g  (k) 2 
(k)
2 
(k)
q1(i+1,j1) + q1(i+1,j) + q1(i+1,j+1)
6x 2

(k) (k) (k) (k) (k) (k)
t q2(i1,j1) q3(i1,j1) q2(i1,j+1) q3(i1,j+1) q2(i,j1) q3(i,j1)
(k)
(k)
+ (k)
6y q1(i1,j1) q1(i1,j+1) q1(i,j1)

(k) (k) (k) (k) (k) (k)
q q
t 2(i,j+1) 3(i,j+1) q q
2(i+1,j1) 3(i+1,j1) q q
2(i+1,j+1) 3(i+1,j+1)
(k)
+ (k)
(k)
6y q q q
1(i,j+1) 1(i+1,j1) 1(i+1,j+1)
(k)
q2(i,j)
r
(k) (k) (k)
+ tf q3(i,j) tcf  2 (q2(i,j) )2 + (q3(i,j) )2 , (4.24)
(k)
q1(i,j) Zb(i,j)
4.1. Esquema en Diferencias Finitas 85

(k+1) 1  (k) (k) (k) (k)



q3(i,j) = q3(i1,j) + q3(i+1,j) + q3(i,j1) + q3(i,j+1)
4
(k) (k) (k) (k) (k) (k)
q q
t 2(i1,j1) 3(i1,j1) q q
2(i1,j) 3(i1,j) q q
2(i1,j+1) 3(i1,j+1)
(k)
(k)
(k)
6x q1(i1,j1) q1(i1,j) q1(i1,j+1)

(k) (k) (k) (k) (k) (k)
q q
t 2(i+1,j1) 3(i+1,j1) q q
2(i+1,j) 3(i+1,j) q q
2(i+1,j+1) 3(i+1,j+1)
(k)
+ (k)
+ (k)
6x q1(i+1,j1) q1(i+1,j) q1(i+1,j+1)
 2  2  2
(k) (k) (k)
t q3(i1,j1) q3(i1,j+1) q3(i,j1)
(k) (k)
+ (k)
6y

q1(i1,j1) q 1(i1,j+1) q 1(i,j1)
 2  2  2
(k) (k) (k)
t q3(i,j+1) q3(i+1,j1) q3(i+1,j+1)
(k) +

6y (k) (k)
q1(i,j+1) q1(i+1,j1) q1(i+1,j+1)
 2 
t g  (k) 2 
(k)
2 
(k)
q1(i1,j1) q1(i1,j+1) + q1(i,j1)
6y 2
  2 
t g (k)
2 
(k)
2 
(k)
q1(i,j+1) + q1(i+1,j1) q1(i+1,j+1)
6y 2
(k)
q3(i,j)
r
(k) (k) (k)
tf q2(i,j) tcf  2 (q2(i,j) )2 + (q3(i,j) )2 . (4.25)
(k)
q1(i,j) Zb(i,j)

Aplicando el analisis de Von Neumann del mismo modo en que lo hemos venido hacien-
do, obtenemos que la matriz que indica el comportamiento de los factores de amplificacion
A3 es
c1 +c2 t
1,2 t2,1
2 x y
Q22
h  i h i
2 + gQ1 tx 1,2
+ QQ2 Q2 3
t2,1 c1 +c2
2Q 2 t1,2 Q3 t2,1 Q2 t2,1

Q1 x
y i 2 Q1 y
,
h Q1  2 1 h Q1 y i
t1,2 Q t2,1 t1,2 Q2 t1,2 t2,1
QQ2 Q2 3 x + Q32 gQ1 y
Q3
Q 1 x
c1 +c2
2 Q1 x + 2Q
Q1
3
y
1 1

con t1,2 = t t
3 sin (x)(2 cos (y) + 1), t2,1 = 3 sin (y)(2 cos (x) + 1), c1 =
cos (x) y c2 = cos (y). Tomando x = y = h, reescribimos la matriz como

t
I F3 ,
h

cuya norma esta acotada por


t
||A3 || 1 + ||F3 ||,
h
86 Captulo 4. Discretizacion de las ecuaciones de Saint-Venant

por lo que el esquema tipo Lax-Friedrichs resulta ser condicionalmente estable.


Eligiendo los tamanos de paso t, x y y de modo que los tres esquemas propuestos
resulten ser estables, podemos decir que dichos esquemas son convergentes para el sistema
linealizado, lo cual es necesario para que lo sean en el caso no lineal. Al momento de
implementar nuestros esquemas en el captulo siguiente no podremos estabilizarlos, debido
a que no contamos con la suficiente capacidad computacional para implementarlos en
mallas lo suficientemente finas.

4.1.2. Regiones elongadas

Ya que este tipo de ecuaciones se pueden aplicar para el modelado de canales, tomare-
mos una region elongada para representar una seccion de un canal circular (ver figura 4.2);
cabe mencionar que dicha region se usa solo para ejemplificar el funcionamiento de los es-
quemas, ya que no representa una seccion hidraulica de maxima eficiencia [Chanson, 2004].
Una vez obtenidos los esquemas para regiones rectangulares, pasarlo a regiones elon-
gadas con simetra cilndrica o polar no significa mayor problema, sin embargo habra un
ligero cambio; tomaremos submallas de 3 3 para las cuales calcularemos explcitamente
el peso de los nodos (s) de dichas submallas. Ya que tomamos una region elongada en
la direccion del angulo polar, obtenemos un corte transversal axisimetrico, de modo que el
calculo de los coeficientes s se realiza una sola vez ya que resultan ser invariantes ante
trasnformaciones rgidas.
Tomando las consideraciones anteriores podemos aplicar los esquemas antes menciona-
dos para regiones rectangulares, cuyos analisis de estabilidad son analogos a los realizados
con anterioridad.

4.2. Esquema en Volumenes Finitos Hbridos

Ya que nuestro problema surge de Leyes de Conservacion (masa y momento), resulta


natural utilizar un metodo conservativo como lo son los Volumenes finitos. Primeramente,
escribimos el sistema (4.8) en su forma integral, por lo que tenemos
Z  
Q Qx Qy
+ + + G dA = 0, (4.26)
Ci,j t x y
4.2. Esquema en Volumenes Finitos Hbridos 87

Figura 4.2: Region elongada.

donde

q1 q2
q2 g
Q = q2 , Qx = 2
q1 + 2 q1 ,
2

q2 q3
q3 q1

q3 0
q2 q3 q2
p
2 2

Qy = f q3 + cf (q1 Zb )2p q2 + q3
, G= y
2 q1
q3 g 2 q3
q1 + 2 q1
f q2 + cf (q1 Z b)
2 q22 + q32
Ci,j = ((xi1/2 , xi+1/2 ) (yj1/2 , yj+1/2 )).

Si quisieramos aplicar el metodo clasico de volumenes finitos, reescribiramos la ecuacion


(4.26) de modo que se pudiese aplicar el Teorema de Green; en este trabajo proponemos
no seguir ese camino sino aplicar diferencias finitas en los centroides de los volumenes, con
lo que obtendremos un metodo hbrido para la aproximacion.

4.2.1. Regiones rectangulares

Primeramente desarrollaremos el esquema en regiones rectangulares de tal modo que


los tamanos de paso sean uniformes, por lo que la distancia entre los centroides de dos
88 Captulo 4. Discretizacion de las ecuaciones de Saint-Venant

celdas vecinas sea x en el eje de horizontal, y y en el vertical tambien lo son, como se


muestra en la figura 4.3.

Figura 4.3: Discretizacion de un dominio rectangular.

Empecemos por la primera ecuacion cuya forma integral es


Z  
q1 q2 q3
+ + dA = 0. (4.27)
Ci,j t x y

Aplicamos diferencias finitas para las parciales, teniendo as



(k+1) (k) (k) (k) (k) (k)
Z q1(i,j) q1(i,j) q2(i+1,j) q2(i1,j) q3(i,j+1) q3(i,j1)
+ + dA = 0;
Ci,j t 2x 2y

ya que todos los terminos que se encuentran entre parentesis son evaluaciones de las fun-
ciones, el valor de la integral es

(k+1) (k) (k) (k) (k) (k)
q1(i,j) q1(i,j) q2(i+1,j) q2(i1,j) q3(i,j+1) q3(i,j1)
+ + Aij = 0,
t 2x 2y
4.2. Esquema en Volumenes Finitos Hbridos 89

donde Aij denota el area de la celda Ci,j . Despejando para un paso posterior en el tiempo
obtenemos el esquema

(k) (k) (k) (k)
(k+1) (k)
q2(i+1,j) q2(i1,j) q2(i,j+1) q2(i,j1)
q1(i,j) = q1(i,j) t + , (4.28)
2x 2y

el cual se ve identico al primer esquema que obtuvimos mediante diferencias finitas, empero,
no debemos olvidar que este surge de la forma integral de la ecuacion y que las evaluaciones
se realizan en los centroides de las celdas, no en los nodos.

Para la segunda ecuacion tenemos que su forma integral esta dada por

q22 g 2
Z    
q2 q2 q3 q2
q
+ + q1 + f q3 + cf 2 2
q2 + q3 dA = 0. (4.29)
Ci,j t x q1 2 y q1 (q1 zb )2

Aplicamos diferencias finitas para las parciales e integramos, de modo que



(k+1) (k) (k) 2 (k)
q2(i,j) q2(i,j) 1 (q2(i+1,j) ) (q2(i1,j) )2 g  (k) (k)

Aij + (k)
(k) + (q1(i+1,j) )2 (q1(i1,j) )2 Aij
t 2x q1(i+1,j) q1(i1,j) 2

(k) (k) (k) (k)
1 q2(i,j+1) q3(i,j+1) q2(i,j1) q3(i,j1)
+ (k)
(k)
Aij
2y q1(i,j+1) q1(i,j1)

(k)
q2(i,j)
r
(k) (k) (k)
+ f q3(i,j) + cf  2 (q2(i,j) )2 + (q3(i,j) )2 Aij = 0.

(k)
q1(i,j) Zb(i,j)

Despejando para un paso de tiempo posterior resulta el esquema



(k) (k)
(k+1) (k) t (q2(i+1,j) )2 (q2(i1,j) )2 g 
(k) (k)

q2(i,j) = q2(i,j) (k)
(k) + (q1(i+1,j) )2 (q1(i1,j) )2
2x q1(i+1,j) q1(i1,j) 2

(k) (k) (k) (k)
t q2(i,j+1) q3(i,j+1) q2(i,j1) q3(i,j1)
(k)
(k)
2y q1(i,j+1) q1(i,j1)

(k)
q2(i,j)
r
(k) (k) (k)
t f q3(i,j) + cf  2 (q2(i,j) )2 + (q3(i,j) )2 . (4.30)

(k)
q1(i,j) Zb(i,j)
90 Captulo 4. Discretizacion de las ecuaciones de Saint-Venant

Finalmente, tomamos la forma integral de la tercera ecuacion

q32 g 2
Z    
q3 q2 q3 q3
q
+ + + q1 + f q2 + cf 2 2
q2 + q3 dA = 0, (4.31)
Ci,j t x q1 y q1 2 (q1 zb )2

y de manera analoga obtenemos el esquema



(k) (k) (k) (k)
(k+1) (k) t q 2(i+1,j) q 3(i+1,j) q 2(i1,j) q 3(i1,j)
q3(i,j) = q3(i,j)
(k)
(k)

2x q1(i+1,j) q1(i1,j)

(k) 2 (k) 2
(q
t 3(i,j+1) ) (q 3(i,j1) ) g 
(k) (k)

(k)
(k) + (q1(i,j+1) )2 (q1(i,j1) )2
2y q1(i,j+1) q1(i,j1) 2

(k)
q3(i,j)
r
(k) (k) (k)
t f q2(i,j) + cf  2 (q2(i,j) )2 + (q3(i,j) )2 . (4.32)

(k)
q1(i,j) Zb(i,j)

De modo que los esquemas (4.28), (4.30) y (4.32) nos dan una aproximacion a la
solucion del sistema (4.8), la cual sabemos que puede ser convergente en el caso del sistema
linealizado1 .
A diferencias del metodo de diferencias finitas, para volumenes finitos se han realizado
mayores estudios sobre las aproximaciones de ecuaciones no lineales, siendo el mas relevante
el metodo de Godunov [LeVeque, 1992].

4.2.2. Regiones elongadas


Al pasar de regiones rectangulares a elongadas habra un ligero cambio del mismo modo
en que sucedio al aplicar diferencias finitas, sin embargo, es posible utilizar la discretizacion
propuesta para regiones rectangulares. Recordemos que la expresion obtenida mediante
volumenes finitos resulto ser identica a la de diferencias finitas, a diferencia de que una se
evalua en los centroides de la celda y la otra en los nodos de la malla; siguiendo la analoga,
es de esperarse que se pueda hacer lo mismo, o bien algo sumamente parecido, al trabajar
sobre otras geometras.

1
Se realiza un analisis analogo al aplicado para el esquema en diferencias finitas (FTCS).
Captulo 5

Pruebas numericas y resultados

Alea iacta est


Julio Cesar, 44 a.C.

Una vez propuesto los esquemas pongamoslos en practica para estudiar su compor-
tamiento. Para esto realizaremos diversas pruebas numericas en diferentes regiones fsicas
-tanto rectangulares como elongadas- dentro del intervalo temporal [0,1]. Para dichas prue-
bas tomaremos las contribuciones de las fuerzas volumetricas como constantes, al igual que
el coeficiente de friccion en el fondo (para agua y lodo), tomando los valores

g = 9.81m/s2 , f = 2 sin() = 4.879 105 N, cf = 0.005,


donde la velocidad angular de la tierra es = 21600 rad/s y el angulo de latitud geografico
es = 19.61049828. Esto se puede ya que consideramos secciones pequenas de algun canal
cuyo fondo es de un mismo material.

5.1. Condiciones iniciales y de frontera


Para las pruebas numericas utilizaremos los esquemas propuestos anteriormente con
dos condiciones iniciales distintas para el tirante q1 , las cuales estan dadas por

(x0.5)2 (y0.5)2
q1 (x, y, 0) = 0.5 + 0.002e .001 ,
q1 (x, y, 0) = 0.5 + 0.003 sin (5(x + y)),

donde la primera representa un soliton y la segunda representa ondas tipo Airy, ambas
propuestas por [Mader, 2000]; mientras que como condicion de frontera tomaremos la pro-

91
92 Captulo 5. Pruebas numericas y resultados

fundida de un canal promedio de 0.5 metros.


Por otra parte, para los gastos q2 y q3 tomaremos condiciones de no deslizamiento
en los margenes izquierdo y derecho del canal (denotados por en la figura 5.1), lo
que quiere decir que las velocidades se anulan en dichas fronteras para todo tiempo, por
consiguiente tenemos gastos nulos en ellas. En cuanto a las fronteras por donde entra y
sale el flujo tomaremos un perfil parabolico para representar la distribucion de velocidades
v(x, y), cuya velocidad maxima es de 0.2m/s (denotado por en la figura 5.1), lo que
nos indica que para las regiones rectangulares el gasto generado por las velocidades sobre
el eje y, q3 , es nulo para todo tiempo, mientras el gasto generado por aquellas del eje x,
q2 , en dichas fronteras esta dado por
Z Z yi+1
vdA = v(x, y)dy,
yi

para todo tiempo; los gastos antes mencionados se tomaran como condicion inicial. Para las
regiones elongadas tomaremos el mismo perfil parabolico para representar la distribucion
de velocidades, sin embargo, en este caso el gasto sobre el eje y, q3 , no se anula sino que
esta dado por Z Z xi+1
vdA = v(x, y)dx;
xi

nuevamente, tomaremos los gastos antes mencionados como condicion inicial. No debemos
olvidar que las unidades fsicas de los gastos son de m3 /s, en la literatura, al hacer la
integracion en la direccion vertical (realizada en el captulo 2) se deja de escribir la unidad
de longitud correspondiente.

Figura 5.1: Condiciones de frontera de la region fsica, vista en planta.

Todas las pruebas numericas fueron realizadas mediante la implementacion de los esque-
5.2. Region cuadrada 93

mas numericos programados en MATLAB


c
R2012b, los cuales se adjuntan en el Apendice
A. Las simulaciones realizadas en este trabajo fueron ejecutadas en una computadora HP
Pavilion 23-Q143LA All-in-One bajo el sistema operativo Windows 10 de 64 bits, con un
procesador Intel Core i5 a 2GHz y 8GB de memoria RAM.
Cabe mencionar que los ndices para cada punto sobre los ejes x y y se invierten
en los codigos, esto debido a la estructura de datos ya dada por MATLAB
c
, lo cual a
su vez denota diferencia entre espacio fsico y computacional aun en regiones como el
cuadrado unitario. Otro de los retos para las implementaciones surge de que no conocemos
el coeficiente de Courant-Friedrich-Levy, por lo que lo elegimos en base a la experiencia,
as como lo realizo Alcrudo en 1992 [J. Alavez, 2013].

5.2. Region cuadrada


Tomemos primero la region del cuadrado unitario ([0, 1] [0, 1]) de modo que podemos
discretizar el dominio fsico de forma regular y uniformemente con 41 puntos por lado,
1
como se muestra en la figura 5.2, lo que nos indica que x = y = 40 . Para el dominio
temporal tomaremos el intervalo [0, 1]s con 105 subintervalos equiespaciados. En cuanto a
la batimetra zb , tomaremos un perfil de fondo plano cuya altura sea la constante 49/100,
esto para cumplir con las condiciones de las escalas.

Figura 5.2: Malla del cuadrado 41 41 puntos.

Teniendo en mente que las condiciones inicales solo cambiaran para el tirante q1 , si
94 Captulo 5. Pruebas numericas y resultados

graficamos la condicion inicial para el gasto sobre el eje x, q2 , vista desde planta obtenemos
la figura 5.3; recordemos que para el eje y, el gasto q3 es nulo en el tiempo inicial, por
lo que es innecesario incluir la grafica. En las graficas que mostraremos en las secciones
siguientes la escala vertical esta amplificada para realzar las caractersticas de la geometra
de la solucion, no obstante debe tenerse presente que las escalas reales corresponden a un
problema de aguas someras.
3
x 10
1

0.9 4.5

0.8 4

0.7 3.5

0.6 3

0.5 2.5
y

0.4 2

0.3 1.5

0.2 1

0.1 0.5

0 0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
x

Figura 5.3: Condicion inicial para q2 vista desde planta.

Para mostrar los resultados de las simulaciones, seleccionamos tres tiempos (0.05s, 0.1s,
0.15s) y graficamos las aproximaciones calculadas mediante todos los metodos en estos
tiempos, de esta forma se puede realizar una comparacion cualitativa entre los mismos; se
eligieron tiempo cercanos al tiempo inicial debido a la estabilidad de los sistemas, ademas de
que al acercarnos al tiempo final, en promedio, la superficie del agua queda practicamente
plana ya que las oscilaciones restantes suelen ser espurias; cada simulacion tomo menos de
2 horas para completarse.

5.2.1. Soliton
Para las primeras pruebas tomaremos como condicion inicial para el tirante q1 un soliton
situado a la mitad de la region fsica, cuya representacion grafica se puede observar en la
figura 5.4.

FTCS

Al aplicar el esquema de diferencias finitas (FTCS), obtenemos las siguientes aproxi-


maciones de nuestras incognitas. En la figura 5.5 podemos ver la evolucion temporal del
tirante cuya onda decrece en el eje vertical y se expande en el horizontal generando olas,
5.2. Region cuadrada 95

0.5025

0.502

0.5015
q1

0.501

0.5005

0.5
1
0.8 1
0.6 0.8
0.4 0.6
0.4
0.2
0.2
0 0
y
x

Figura 5.4: Soliton como condicion inicial para q1 .

como era de esperarse. Debido a que la velocidad maxima de nuestro perfil parabolico de
velocidades es de 0.2m/s, es normal que no se distinga el desplazamiento del pulso en los
tiempos seleccionados.
96 Captulo 5. Pruebas numericas y resultados

0.5005

0.5004

0.5003

0.5002

0.5001
q1

0.5

0.4999

0.4998

0.4997

0.4996
1

0.8
1
0.6 0.8

0.4 0.6
0.4
0.2
0.2
y 0 0 x

(a) t = 0.05s

0.5005

0.5004

0.5003

0.5002

0.5001
q1

0.5

0.4999

0.4998

0.4997

0.4996
1

0.8
1
0.6 0.8

0.4 0.6
0.4
0.2
0.2
y 0 0 x

(b) t = 0.1s

0.5005

0.5004

0.5003

0.5002

0.5001
q1

0.5

0.4999

0.4998

0.4997

0.4996
1

0.8
1
0.6 0.8

0.4 0.6
0.4
0.2
0.2
y 0 0 x

(c) t = 0.15s

Figura 5.5: Aproximacion del tirante q1 mediante FTCS.


5.2. Region cuadrada 97

Para los gastos sobre el eje x, q2 , podemos ver como se difunde en su mayora con la
misma direccion que las velocidades, mientras que los gastos que van en sentido contrario
son resultado del decrecimiento del tirante. Dicho comportamiento resulta ser consistente
con el comportamiento esperado.
3
x 10
1 6

0.9

5
0.8

0.7
4

0.6

0.5
y

0.4

2
0.3

0.2
1

0.1

0
0 0.2 0.4 0.6 0.8 1
x

(a) t = 0.05s
3
x 10
1

5
0.9

4.5
0.8

0.7
3.5

0.6
3

0.5
y

2.5

0.4
2

0.3
1.5

0.2
1

0.1 0.5

0 0
0 0.2 0.4 0.6 0.8 1
x

(b) t = 0.1s
3
x 10
1
5

0.9
4.5

0.8
4

0.7
3.5

0.6
3

0.5
y

2.5

0.4 2

0.3 1.5

0.2 1

0.1 0.5

0 0
0 0.2 0.4 0.6 0.8 1
x

(c) t = 0.15s

Figura 5.6: Aproximacion del gasto q2 mediante FTCS.


98 Captulo 5. Pruebas numericas y resultados

En el caso de los gastos sobre el eje y, q3 podemos ver como estos se difunden de manera
simetrica sobre el mismo eje, debido a que su unica contribucion resulta de la difusion del
tirante.
3
x 10
1

1
0.9
0.8

0.8
0.6

0.7
0.4

0.6 0.2

0.5 0
y

0.4 0.2

0.4
0.3

0.6
0.2

0.8
0.1
1

0
0 0.2 0.4 0.6 0.8 1
x

(a) t = 0.05s
4
x 10
1

0.9 4

0.8 3

0.7 2

0.6 1

0.5 0
y

0.4 1

0.3 2

0.2 3

0.1 4

0
0 0.2 0.4 0.6 0.8 1
x

(b) t = 0.1s
4
x 10
1

0.9 3

0.8
2

0.7

1
0.6

0.5 0
y

0.4
1

0.3

2
0.2

0.1 3

0
0 0.2 0.4 0.6 0.8 1
x

(c) t = 0.15s

Figura 5.7: Aproximacion del gasto q3 mediante FTCS.


5.2. Region cuadrada 99

Diferencias finitas con diferentes esquemas

Al tomar diferentes pesos sobre los nodos para la aproximacion de las parciales, obte-
nemos un comportamiento similar al dado por el esquema FTCS, sin embargo, el tirante
se difunde con mayor suavidad como se muestra en la figura 5.8.

0.5005

0.5

0.4995
q1

0.499

0.4985
1

0.8
1
0.6 0.8

0.4 0.6
0.4
0.2
0.2
y 0 0 x

(a) t = 0.05s

0.5005

0.5

0.4995

0.499

0.4985
1
1
0.8
0.5 0.6
0.4
0.2
0 0

(b) t = 0.1s

0.5005

0.5

0.4995
q1

0.499

0.4985
1

0.8
1
0.6 0.8

0.4 0.6
0.4
0.2
0.2
y 0 0 x

(c) t = 0.15s

Figura 5.8: Aproximacion del tirante q1 mediante diferencias finitas con diferentes esque-
mas.
100 Captulo 5. Pruebas numericas y resultados

En el caso de los gastos, q2 y q3 , tambien se obtienen un comportamiento consistente


con el esperado, pero este resulta ser mas suave que el obtenido con el esquema FTCS
debido a la contribucion del tirante.
3
x 10
1

0.9 5

0.8

4
0.7

0.6

3
0.5
y

0.4
2

0.3

0.2
1

0.1

0 0
0 0.2 0.4 0.6 0.8 1
x

(a) t = 0.05s
3
x 10
1

0.9 5

0.8

4
0.7

0.6

3
0.5
y

0.4
2

0.3

0.2
1

0.1

0 0
0 0.2 0.4 0.6 0.8 1
x

(b) t = 0.1s
3
x 10
1

5
0.9

4.5
0.8

0.7
3.5

0.6
3

0.5
y

2.5

0.4
2

0.3
1.5

0.2
1

0.1 0.5

0
0 0.2 0.4 0.6 0.8 1
x

(c) t = 0.15s

Figura 5.9: Aproximacion del gasto q2 mediante diferencias finitas con diferentes esquemas.
5.2. Region cuadrada 101

4
x 10
1 6

0.9

4
0.8

0.7
2

0.6

0.5 0

y 0.4

2
0.3

0.2
4

0.1

0 6
0 0.2 0.4 0.6 0.8 1
x

(a) t = 0.05s
4
x 10
1

6
0.9

0.8
4

0.7

2
0.6

0.5 0
y

0.4
2

0.3

4
0.2

0.1
6

0
0 0.2 0.4 0.6 0.8 1
x

(b) t = 0.1s
4
x 10
1
5

0.9
4

0.8 3

0.7 2

0.6 1

0.5 0
y

0.4 1

0.3 2

0.2 3

4
0.1

5
0
0 0.2 0.4 0.6 0.8 1
x

(c) t = 0.15s

Figura 5.10: Aproximacion del gasto q3 mediante diferencias finitas con diferentes esquemas.
102 Captulo 5. Pruebas numericas y resultados

Diferencias finitas con diferentes esquemas y promedios tipo Lax-Friedrichs

Recordemos que al seguir la idea de Lax-Friedrichs tomamos un promedio del valor


de la funcion en un punto mediante sus 4 vecinos, ya que al tomar el lmite obtenemos
la evaluacion deseada; para que esto funcione, se necesita que los tamanos de paso sean
lo suficientemente pequenos, por lo que nuestra aproximacion es un ejemplo claro de la
importancia de la eleccion de los mismos.

0.5

0.5

0.5

0.5

0.5

0.5
q1

0.5

0.5

0.5

0.5

0.5
1

0.8
1
0.6 0.8

0.4 0.6
0.4
0.2
0.2
y 0 0 x

(a) t = 0.05s

0.5

0.5

0.5

0.5

0.5

0.5
q1

0.5

0.5

0.5

0.5

0.5
1

0.8
1
0.6 0.8

0.4 0.6
0.4
0.2
0.2
y 0 0 x

(b) t = 0.1s

0.5

0.5

0.5

0.5

0.5

0.5
q1

0.5

0.5

0.5

0.5

0.5
1

0.8
1
0.6 0.8

0.4 0.6
0.4
0.2
0.2
y 0 0 x

(c) t = 0.15s

Figura 5.11: Aproximacion del tirante q1 aplicando mediante finitas con promedios de Lax.
5.2. Region cuadrada 103

Si observamos las graficas del tirante (figura 5.11), podemos ver que efectivamente se
conserva la masa; no se mueve debido a que la velocidad de malla no es lo suficientemente
pequena para que deje pasar a la fsica.
Ahora bien, ya que los gastos deben de ser iguales tanto en la entrada como en la salida
de flujo, viendo los resultados del tirante, es consistente que los gastos se acumulen en
dichas zonas, como se muestra en la figura 5.12.
3
x 10
1

0.9 4.5

0.8 4

0.7 3.5

0.6 3

0.5 2.5
y

0.4 2

0.3 1.5

0.2 1

0.1 0.5

0 0
0 0.2 0.4 0.6 0.8 1
x

(a) t = 0.05s
3
x 10
1

0.9 4.5

0.8 4

0.7 3.5

0.6 3

0.5 2.5
y

0.4 2

0.3 1.5

0.2 1

0.1 0.5

0 0
0 0.2 0.4 0.6 0.8 1
x

(b) t = 0.1s
3
x 10
1

0.9 4.5

0.8 4

0.7 3.5

0.6 3

0.5 2.5
y

0.4 2

0.3 1.5

0.2 1

0.1 0.5

0 0
0 0.2 0.4 0.6 0.8 1
x

(c) t = 0.15s

Figura 5.12: Aproximacion del gasto q2 mediante diferencias finitas con promedios de Lax.
104 Captulo 5. Pruebas numericas y resultados

Finalmente, dadas las aproximaciones para q1 y q2 , el gasto sobre el eje y mantiene la


simetra y la conservacion del momento.
7
x 10
1 1

0.9 0.8

0.8 0.6

0.7 0.4

0.6 0.2

0.5 0
y

0.4 0.2

0.3 0.4

0.2 0.6

0.1 0.8

0 1
0 0.2 0.4 0.6 0.8 1
x

(a) t = 0.05s
7
x 10
1 1

0.9 0.8

0.8 0.6

0.7 0.4

0.6 0.2

0.5 0
y

0.4 0.2

0.3 0.4

0.2 0.6

0.1 0.8

0 1
0 0.2 0.4 0.6 0.8 1
x

(b) t = 0.1s
7
x 10
1 1

0.9 0.8

0.8 0.6

0.7 0.4

0.6 0.2

0.5 0
y

0.4 0.2

0.3 0.4

0.2 0.6

0.1 0.8

0 1
0 0.2 0.4 0.6 0.8 1
x

(c) t = 0.15s

Figura 5.13: Aproximacion del gasto q3 mediante diferencias finitas con promedios de Lax.
5.2. Region cuadrada 105

Volumenes hbridos

Ahora aplicaremos el metodo de volumenes hbridos, cabe mencionar que este metodo
aproxima gastos y no derivadas. En la figura 5.14 podemos ver la evolucion del tirante, se
aprecia que el movimiento se concentra en la zona cercana al soliton.

0.5005

0.5004

0.5003

0.5002

0.5001

0.5
q1

0.4999

0.4998

0.4997

0.4996

0.4995
1

0.8
1
0.6 0.8

0.4 0.6
0.4
0.2
0.2
y 0 0 x

(a) t = 0.05s

0.5005

0.5004

0.5003

0.5002

0.5001

0.5
q1

0.4999

0.4998

0.4997

0.4996

0.4995
1

0.8
1
0.6 0.8

0.4 0.6
0.4
0.2
0.2
y 0 0 x

(b) t = 0.1s

0.5005

0.5004

0.5003

0.5002

0.5001

0.5
q1

0.4999

0.4998

0.4997

0.4996

0.4995
1

0.8
1
0.6 0.8

0.4 0.6
0.4
0.2
0.2
y 0 0 x

(c) t = 0.15s

Figura 5.14: Aproximacion del tirante q1 mediante volumenes hbridos.


106 Captulo 5. Pruebas numericas y resultados

Para los gastos, observamos un comportamiento muy semejante al obtenido con FTCS.

3
x 10
1

0.9
5

0.8

0.7 4

0.6

3
0.5
y

0.4

2
0.3

0.2
1

0.1

0 0
0 0.2 0.4 0.6 0.8 1
x

(a) t = 0.05s
3
x 10
1
5

0.9
4.5

0.8
4

0.7
3.5

0.6
3

0.5
y

2.5

0.4
2

0.3
1.5

0.2 1

0.1 0.5

0
0 0.2 0.4 0.6 0.8 1
x

(b) t = 0.1s
3
x 10
1 5

0.9 4.5

0.8 4

0.7 3.5

0.6 3

0.5
y

2.5

0.4 2

0.3 1.5

0.2 1

0.1 0.5

0 0
0 0.2 0.4 0.6 0.8 1
x

(c) t = 0.15s

Figura 5.15: Aproximacion del gasto q2 aplicando volumenes hbridos.


5.2. Region cuadrada 107

4
x 10
1
8

0.9
6

0.8

4
0.7

2
0.6

0.5 0

y 0.4
2

0.3
4

0.2

6
0.1

8
0
0 0.2 0.4 0.6 0.8 1
x

(a) t = 0.05s
4
x 10
1 4

0.9
3

0.8

2
0.7

1
0.6

0.5 0
y

0.4
1

0.3
2

0.2

3
0.1

0 4
0 0.2 0.4 0.6 0.8 1
x

(b) t = 0.1s
4
x 10
1
3

0.9

2
0.8

0.7
1

0.6

0.5 0
y

0.4

1
0.3

0.2
2

0.1

3
0
0 0.2 0.4 0.6 0.8 1
x

(c) t = 0.15s

Figura 5.16: Aproximacion del gasto q3 mediante volumenes hbridos.

Recordemos que todos los esquemas implementados representan el mismo sistema de


ecuaciones (4.8), sin embargo la solucion calculada no se comporta de la misma manera.
108 Captulo 5. Pruebas numericas y resultados

5.2.2. Ondas tipo Airy


Analogamente, al tomar como condicion inicial ondas tipo Airy para el tirante (figura
5.17) y aplicando los diferentes esquemas propuestos, obtenemos las siguientes aproxima-
ciones.

0.507

0.506

0.505

0.504

0.503

0.502
q1

0.501

0.5

0.499

0.498

0.497
1

0.8
1
0.6 0.8

0.4 0.6
0.4
0.2
0.2
y 0 0 x

Figura 5.17: Ondas tipo Airy como condicion inicial para q1 .


5.2. Region cuadrada 109

FTCS

0.51

0.508

0.506

0.504
q1

0.502

0.5

0.498

0.496
1

0.8
1
0.6 0.8

0.4 0.6
0.4
0.2
0.2
y 0 0 x

(a) t = 0.05s

0.51

0.508

0.506

0.504
q1

0.502

0.5

0.498

0.496
1

0.8
1
0.6 0.8

0.4 0.6
0.4
0.2
0.2
y 0 0 x

(b) t = 0.1s

0.51

0.508

0.506

0.504
q1

0.502

0.5

0.498

0.496
1

0.8
1
0.6 0.8

0.4 0.6
0.4
0.2
0.2
y 0 0 x

(c) t = 0.15s

Figura 5.18: Aproximacion del tirante q1 mediante FTCS.


110 Captulo 5. Pruebas numericas y resultados

3
x 10
1
8

0.9

6
0.8

0.7
4

0.6

2
0.5
y

0.4
0

0.3

2
0.2

0.1
4

0
0 0.2 0.4 0.6 0.8 1
x

(a) t = 0.05s
3
x 10
1

0.9 8

0.8 6

0.7
4

0.6
2

0.5
y

0
0.4

2
0.3

0.2 4

0.1
6

0
0 0.2 0.4 0.6 0.8 1
x

(b) t = 0.1s
3
x 10
1

0.9 8

0.8
6

0.7
4

0.6

0.5
y

0
0.4

2
0.3

0.2 4

0.1 6

0
0 0.2 0.4 0.6 0.8 1
x

(c) t = 0.15s

Figura 5.19: Aproximacion del gasto q2 mediante FTCS.


5.2. Region cuadrada 111

3
x 10
1

5
0.9
4

0.8
3

0.7
2

0.6
1

0.5
y 0

0.4 1

0.3 2

3
0.2

4
0.1

5
0
0 0.2 0.4 0.6 0.8 1
x

(a) t = 0.05s
3
x 10
1
8

0.9
6

0.8

4
0.7

0.6 2

0.5
y

0.4
2

0.3

4
0.2

0.1 6

0
0 0.2 0.4 0.6 0.8 1
x

(b) t = 0.1s
3
x 10
1

0.9 6

0.8
4

0.7

2
0.6

0
0.5
y

0.4 2

0.3
4

0.2
6

0.1

8
0
0 0.2 0.4 0.6 0.8 1
x

(c) t = 0.15s

Figura 5.20: Aproximacion del gasto q3 mediante FTCS.


112 Captulo 5. Pruebas numericas y resultados

Diferencias finitas con diferentes esquemas

0.51

0.508

0.506

0.504

0.502
q1

0.5

0.498

0.496

0.494
1

0.8
1
0.6 0.8

0.4 0.6
0.4
0.2
0.2
y 0 0 x

(a) t = 0.05s

0.508

0.506

0.504

0.502
q1

0.5

0.498

0.496
1

0.8
1
0.6 0.8

0.4 0.6
0.4
0.2
0.2
y 0 0 x

(b) t = 0.1s

0.508

0.506

0.504

0.502
q1

0.5

0.498

0.496
1

0.8
1
0.6 0.8

0.4 0.6
0.4
0.2
0.2
y 0 0 x

(c) t = 0.15s

Figura 5.21: Aproximacion del tirante q1 mediante diferencias finitas con diferentes esque-
mas.
5.2. Region cuadrada 113

3
x 10
1

8
0.9

0.8
6

0.7

0.6 4

0.5
y 2

0.4

0.3 0

0.2

2
0.1

0
0 0.2 0.4 0.6 0.8 1
x

(a) t = 0.05s
3
x 10
1

10
0.9

0.8 8

0.7
6

0.6

4
0.5
y

0.4 2

0.3
0

0.2

2
0.1

0
0 0.2 0.4 0.6 0.8 1
x

(b) t = 0.1s
3
x 10
1 10

0.9
8

0.8

6
0.7

0.6 4

0.5
y

0.4

0
0.3

0.2 2

0.1
4

0
0 0.2 0.4 0.6 0.8 1
x

(c) t = 0.15s

Figura 5.22: Aproximacion del gasto q2 mediante diferencias finitas con diferentes esquemas.
114 Captulo 5. Pruebas numericas y resultados

3
x 10
1

4
0.9

3
0.8

2
0.7

1
0.6

0
0.5
y

0.4 1

0.3 2

0.2
3

0.1
4

0
0 0.2 0.4 0.6 0.8 1
x

(a) t = 0.05s
3
x 10
1
6

0.9

4
0.8

0.7
2

0.6

0.5 0
y

0.4

2
0.3

0.2
4

0.1

6
0
0 0.2 0.4 0.6 0.8 1
x

(b) t = 0.1s
3
x 10
1

5
0.9

4
0.8

3
0.7
2

0.6
1

0.5
y

0.4 1

0.3 2

3
0.2

4
0.1
5

0
0 0.2 0.4 0.6 0.8 1
x

(c) t = 0.15s

Figura 5.23: Aproximacion del gasto q3 mediante diferencias finitas con diferentes esquemas.
5.2. Region cuadrada 115

Diferencias finitas con diferentes esquemas y promedios tipo Lax-Friedrichs

0.5

0.5

0.5

0.5

0.5

0.5
q1

0.5

0.5

0.5

0.5

0.5
1

0.8
1
0.6 0.8

0.4 0.6
0.4
0.2
0.2
y 0 0 x

(a) t = 0.05s

0.5

0.5

0.5

0.5

0.5

0.5

0.5

0.5

0.5

0.5

0.5
1

0.8
1
0.6 0.8

0.4 0.6
0.4
0.2
0.2
0 0

(b) t = 0.1s

0.5

0.5

0.5

0.5

0.5

0.5
q1

0.5

0.5

0.5

0.5

0.5
1

0.8
1
0.6 0.8

0.4 0.6
0.4
0.2
0.2
y 0 0 x

(c) t = 0.15s

Figura 5.24: Aproximacion del tirante q1 mediante diferencias finitas con promedios de
Lax.
116 Captulo 5. Pruebas numericas y resultados

3
x 10
1

0.9 4.5

0.8 4

0.7 3.5

0.6 3

0.5 2.5
y

0.4 2

0.3 1.5

0.2 1

0.1 0.5

0 0
0 0.2 0.4 0.6 0.8 1
x

(a) t = 0.05s
3
x 10
1

0.9 4.5

0.8 4

0.7 3.5

0.6 3

0.5 2.5
y

0.4 2

0.3 1.5

0.2 1

0.1 0.5

0 0
0 0.2 0.4 0.6 0.8 1
x

(b) t = 0.1s
3
x 10
1

0.9 4.5

0.8 4

0.7 3.5

0.6 3

0.5 2.5
y

0.4 2

0.3 1.5

0.2 1

0.1 0.5

0 0
0 0.2 0.4 0.6 0.8 1
x

(c) t = 0.15s

Figura 5.25: Aproximacion del gasto q2 mediante diferencias finitas con promedios de Lax.
5.2. Region cuadrada 117

7
x 10
1 1

0.9 0.8

0.8 0.6

0.7 0.4

0.6 0.2

0.5 0
y
0.4 0.2

0.3 0.4

0.2 0.6

0.1 0.8

0 1
0 0.2 0.4 0.6 0.8 1
x

(a) t = 0.05s
7
x 10
1 1

0.9 0.8

0.8 0.6

0.7 0.4

0.6 0.2

0.5 0
y

0.4 0.2

0.3 0.4

0.2 0.6

0.1 0.8

0 1
0 0.2 0.4 0.6 0.8 1
x

(b) t = 0.1s
7
x 10
1 1

0.9 0.8

0.8 0.6

0.7 0.4

0.6 0.2

0.5 0
y

0.4 0.2

0.3 0.4

0.2 0.6

0.1 0.8

0 1
0 0.2 0.4 0.6 0.8 1
x

(c) t = 0.15s

Figura 5.26: Aproximacion del gasto q3 mediante diferencias finitas con promedios de Lax.
118 Captulo 5. Pruebas numericas y resultados

Volumenes hbridos

0.508

0.506

0.504

0.502
q1

0.5

0.498

0.496

0.494

0.8
1
0.6 0.8

0.4 0.6
0.4
0.2
0.2
y 0 0 x

(a) t = 0.05s

0.508

0.506

0.504

0.502
q1

0.5

0.498

0.496

0.494

0.8
1
0.6 0.8

0.4 0.6
0.4
0.2
0.2
y 0 0 x

(b) t = 0.1s

0.508

0.506

0.504

0.502
q1

0.5

0.498

0.496

0.494

0.8
1
0.6 0.8

0.4 0.6
0.4
0.2
0.2
y 0 0 x

(c) t = 0.15s

Figura 5.27: Aproximacion del tirante q1 mediante volumenes hbridos.


5.2. Region cuadrada 119

3
x 10
1
8

0.9

6
0.8

0.7
4

0.6

2
0.5
y

0.4
0

0.3

2
0.2

0.1
4

0
0 0.2 0.4 0.6 0.8 1
x

(a) t = 0.05s
3
x 10
1

0.9 8

0.8
6

0.7
4

0.6

2
0.5
y

0.4 0

0.3
2

0.2
4

0.1

6
0
0 0.2 0.4 0.6 0.8 1
x

(b) t = 0.1s
3
x 10
1
10

0.9
8

0.8
6

0.7
4

0.6
2

0.5
y

0.4

2
0.3

4
0.2

6
0.1

8
0
0 0.2 0.4 0.6 0.8 1
x

(c) t = 0.15s

Figura 5.28: Aproximacion del gasto q2 mediante volumenes hbridos.


120 Captulo 5. Pruebas numericas y resultados

3
x 10
1 6

0.9

4
0.8

0.7

0.6

0.5
y

0.4

0.3 2

0.2

4
0.1

0
0 0.2 0.4 0.6 0.8 1
x

(a) t = 0.05s
3
x 10
1
6

0.9

4
0.8

0.7
2

0.6

0
0.5
y

0.4
2

0.3

4
0.2

0.1
6

0
0 0.2 0.4 0.6 0.8 1
x

(b) t = 0.1s
3
x 10
1

8
0.9

6
0.8

4
0.7

2
0.6

0
0.5
y

0.4 2

0.3 4

0.2 6

0.1 8

0
0 0.2 0.4 0.6 0.8 1
x

(c) t = 0.15s

Figura 5.29: Aproximacion del gasto q3 mediante volumenes hbridos.

Podemos ver que al aplicar el metodo de diferencias finitas con diferentes esquemas, de
nuevo, la malla no es lo suficientemente fina para permitir que la velocidad fsica pase. Por
otro lado, al aplicar los otros metodos podemos ver que estos reproducen la mecanica del
problema de manera satisfactoria.
En las aproximaciones de los gastos podra parecer que las olas rebotan, sin embargo
esto no fue programado, sino que resulta de errores computacionales al truncar la aproxi-
macion con las condiciones a las fronteras.
5.3. Region elongada 121

5.3. Region elongada

Ahora pondremos a prueba los metodos en la region elongada (figura 4.2) la cual no
se discretiza de manera uniforme, mas elegimos cierta cantidad de puntos por lado de
modo que nos den como resultado celdas casi rectangulares; tomaremos 21 puntos para las
fronteras de entrada y salida del flujo, y 41 para los margenes laterales como se muestra en
la figura 5.30. Para disminuir el error de la aproximacion se sugieren utilizar tamanos de
paso mas pequenos, sin embargo, para este tipo de regiones y para la version de MATLAB
c

utilizada, la estructura de datos es demasiado grande. Para el dominio temporal tomamos


el intervalo [0, 1]s con 105 subintervalos equiespaciados. En el caso de la batimetra zb ,
volveremos a utilizar el perfil de fondo plano con altura constante de 40/100 de modo que
se satifagan las condiciones de las escalas.

Figura 5.30: Malla de la region elongada 21 41 puntos.

Al igual que para las regiones rectangulares tomaremos como condiciones iniciales para
el tirante q1 un soliton u ondas tipo Airy. Recordemos que al graficar q1 , tanto para las
condiciones iniciales como para las aproximaciones, la escala vertical esta amplificada para
realzar las caractersticas de la geometra de la solucion, cuando en realidad las escalas
corresponden a un problema de aguas someras. Mientras que los gastos iniciales para todas
las simulaciones, tanto en x como en y, vistos desde planta se muestran en la figura 5.31.
122 Captulo 5. Pruebas numericas y resultados

3
x 10
2

9
1.8

8
1.6

7
1.4

6
1.2

5
1
y

4
0.8

3
0.6

0.4 2

0.2 1

0 0
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
x

(a) Gastos q2 .
3
x 10
2

9
1.8

8
1.6

7
1.4

6
1.2

5
1
y

4
0.8

3
0.6

0.4 2

0.2 1

0 0
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
x

(b) Gastos q3 .

Figura 5.31: Condicion inicial para los gastos vista desde planta.
5.3. Region elongada 123

Para mostrar los resultados obtenidos, seleccionamos tres tiempos y graficamos las apro-
ximaciones para cada uno de estos, de modo que se muestra la evolucion de las mismas,
tanto para el tirante como para los gastos dada por los diferentes metodos; se tomaron
valores del tiempo cercanos a la condicion incial debido a que, al tomar mallas no dis-
cretizadas de manera regular, los esquemas son estables para un intervalo de tiempo mas
pequeno. Cada simulacion tomo aproximadamente 10 horas para completarse, lo cual es
razonablemente bueno dada la potencia de la maquina y la cantidad de informacion ma-
nejada.

5.3.1. Soliton
Primeramente tomamos como condicion inicial un soliton (figura 5.32), el cual se descri-
be mendiante una exponencial; para ambas aproximaciones, tanto diferencias como volume-
nes, tomamos los tiempos 0.05s, 0.1s y 0.15s y graficamos las aproximaciones obtenidas.

0.5009

0.5008

0.5007

0.5006

0.5005
q1

0.5004

0.5003

0.5002

0.5001

0.5
2

1.5 0

0.5
1
1
0.5
1.5
0 2
y
x

Figura 5.32: Condicion inicial Soliton del tirante q1 .


124 Captulo 5. Pruebas numericas y resultados

Diferencias finitas generalizadas

0.51

0.508

0.506

0.504

0.502

0.5
q1

0.498

0.496

0.494

0.492

0.49
2

1.5 0

0.5
1
1
0.5
1.5
0 2
y
x

(a) t = 0.05s

0.51

0.508

0.506

0.504

0.502

0.5
q1

0.498

0.496

0.494

0.492

0.49
2

1.5 0

0.5
1
1
0.5
1.5
0 2
y
x

(b) t = 0.1s

0.51

0.508

0.506

0.504

0.502

0.5
q1

0.498

0.496

0.494

0.492

0.49
2

1.5 0

0.5
1
1
0.5
1.5
0 2
y
x

(c) t = 0.15s

Figura 5.33: Aproximacion del tirante q1 mediante diferencias finitas generalizadas.


5.3. Region elongada 125

3
x 10
2

9
1.8

8
1.6

7
1.4

6
1.2

5
1

y
4
0.8

3
0.6

0.4 2

0.2 1

0 0
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
x

(a) t = 0.05s
3
x 10
2

9
1.8

8
1.6

7
1.4

6
1.2

5
1
y

4
0.8

3
0.6

0.4 2

0.2 1

0 0
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
x

(b) t = 0.1s
3
x 10
2
10

1.8

8
1.6

6
1.4

1.2 4

1
y

0.8
0

0.6

2
0.4

4
0.2

0 6
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
x

(c) t = 0.15s

Figura 5.34: Aproximacion del gasto q2 mediante diferencias finitas generalizadas.


126 Captulo 5. Pruebas numericas y resultados

3
x 10
2

9
1.8

8
1.6

7
1.4

6
1.2

5
1
y

4
0.8

3
0.6

0.4 2

0.2 1

0
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
x

(a) t = 0.05s
3
x 10
2

1.8 12

1.6
10

1.4

1.2 8

1
y

0.8

0.6 4

0.4

0.2

0
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
x

(b) t = 0.1s
2

0.025
1.8

1.6 0.02

1.4
0.015

1.2
0.01

1
y

0.005
0.8

0
0.6

0.4 0.005

0.2 0.01

0
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
x

(c) t = 0.15s

Figura 5.35: Aproximacion del gasto q3 mediante diferencias finitas generalizadas.


5.3. Region elongada 127

Volumenes hbridos generalizados

0.515

0.51

0.505
q1

0.5

0.495

0.49
2

1.5 0

0.5
1
1
0.5
1.5
0 2
y
x

(a) t = 0.05s

0.515

0.51

0.505
q1

0.5

0.495

0.49
2

1.5 0

0.5
1
1
0.5
1.5
0 2
y
x

(b) t = 0.1s

0.515

0.51

0.505
q1

0.5

0.495

0.49
2

1.5 0

0.5
1
1
0.5
1.5
0 2
y
x

(c) t = 0.15s

Figura 5.36: Aproximacion del tirante q1 mediante volumenes hbridos generalizados.


128 Captulo 5. Pruebas numericas y resultados

3
x 10
2

9
1.8

8
1.6

7
1.4

6
1.2

5
1
y

4
0.8

3
0.6

0.4 2

0.2 1

0
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
x

(a) t = 0.05s
3
x 10
2
9

1.8
8

1.6
7

1.4
6

1.2 5

1 4
y

3
0.8

2
0.6

1
0.4

0
0.2
1

0
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
x

(b) t = 0.1s
2

1.8

0.01
1.6

1.4
0.005

1.2

1
y

0.8

0.6 0.005

0.4

0.01
0.2

0
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
x

(c) t = 0.15s

Figura 5.37: Aproximacion del gasto q2 mediante volumenes hbridos generalizados.


5.3. Region elongada 129

3
x 10
2

1.8
10

1.6

1.4 8

1.2

6
1

y
0.8

0.6

0.4
2

0.2

0 0
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
x

(a) t = 0.05s
3
x 10
2

16
1.8

1.6 14

1.4 12

1.2 10

1 8
y

0.8 6

0.6 4

0.4 2

0.2 0

0 2
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
x

(b) t = 0.1s
2

1.8
0.03

1.6

0.02
1.4

1.2
0.01

1
y

0
0.8

0.6
0.01

0.4

0.2 0.02

0
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
x

(c) t = 0.15s

Figura 5.38: Aproximacion del gasto q3 mediante volumenes hbridos generalizados.


130 Captulo 5. Pruebas numericas y resultados

Podemos observar que ambas aproximaciones son consistentes con la mecanica del
fenomeno, sin embargo, con el metodo de volumenes finitos se obtiene una transicion mas
suave.

5.3.2. Ondas tipo Airy


Ahora tomamos como condicion inicial ondas tipo Airy (figura 5.39), las cuales se
representan mediante funciones sinusoidales, y graficamos los tiempos 0.05s, 0.08s y 0.11s.

0.505

0.5
q1

0.495

1.8

1.6

1.4

1.2

0.8

0.6

0.4

y
0.2
0.2 0
0.6 0.4
1 0.8
0 1.4 1.2
1.8 1.6
2
x

Figura 5.39: Condicion inicial tipo Airy del tirante q1 .


5.3. Region elongada 131

Diferencias finitas generalizadas

0.65

0.6

0.55

0.5
q1

0.45

0.4

0.35
2

1.5 0

0.5
1
1
0.5
1.5
0 2
y
x

(a) t = 0.05s

0.65

0.6

0.55

0.5
q1

0.45

0.4

0.35
2

1.5 0

0.5
1
1
0.5
1.5
0 2
y
x

(b) t = 0.08s

0.65

0.6

0.55

0.5
q1

0.45

0.4

0.35
2

1.5 0

0.5
1
1
0.5
1.5
0 2
y
x

(c) t = 0.11s

Figura 5.40: Aproximacion del tirante q1 mediante diferencias finitas generalizadas.


132 Captulo 5. Pruebas numericas y resultados

2
0.02

1.8

0.015
1.6

1.4
0.01

1.2

0.005
1
y

0.8
0

0.6

0.005
0.4

0.2
0.01

0
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
x

(a) t = 0.05s
2

1.8
0.03

1.6

0.02
1.4

0.01
1.2

1
y

0.8
0.01

0.6

0.02
0.4

0.2 0.03

0
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
x

(b) t = 0.08s
2

0.1
1.8

1.6

0.05
1.4

1.2

1 0
y

0.8

0.6 0.05

0.4

0.2 0.1

0
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
x

(c) t = 0.11s

Figura 5.41: Aproximacion del gasto q2 mediante diferencias finitas generalizadas.


5.3. Region elongada 133

2
0.04

1.8
0.03

1.6

0.02
1.4

0.01
1.2

y
0

0.8
0.01

0.6

0.02

0.4

0.03
0.2

0 0.04
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
x

(a) t = 0.05s
2

1.8 0.1

1.6

1.4 0.05

1.2

1 0
y

0.8

0.6 0.05

0.4

0.2 0.1

0
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
x

(b) t = 0.08s
2

1.8
0.3

1.6

0.2
1.4

1.2 0.1

1
y

0.8

0.1
0.6

0.4
0.2

0.2

0.3
0
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
x

(c) t = 0.11s

Figura 5.42: Aproximacion del gasto q3 mediante diferencias finitas generalizadas.


134 Captulo 5. Pruebas numericas y resultados

Volumenes hbridos generalizados

0.6

0.58

0.56

0.54

0.52

0.5
q1

0.48

0.46

0.44

0.42

0.4
2

1.5 0

0.5
1
1
0.5
1.5
0 2
y
x

(a) t = 0.05s

0.6

0.58

0.56

0.54

0.52

0.5
q1

0.48

0.46

0.44

0.42

0.4
2

1.5 0

0.5
1
1
0.5
1.5
0 2
y
x

(b) t = 0.08s

0.6

0.58

0.56

0.54

0.52

0.5
q1

0.48

0.46

0.44

0.42

0.4
2

1.5 0

0.5
1
1
0.5
1.5
0 2
y
x

(c) t = 0.11s

Figura 5.43: Aproximacion del tirante q1 mediante volumenes hbridos generalizados.


5.3. Region elongada 135

2
0.02

1.8

0.015
1.6

1.4
0.01

1.2

1 0.005
y

0.8

0.6

0.4 0.005

0.2

0.01
0
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
x

(a) t = 0.05s
2

0.03
1.8

1.6 0.02

1.4
0.01

1.2

0
1
y

0.8
0.01

0.6

0.02
0.4

0.2
0.03

0
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
x

(b) t = 0.08s
2 0.1

1.8 0.08

1.6
0.06

1.4
0.04

1.2
0.02

1
y

0.8
0.02

0.6
0.04

0.4

0.06

0.2

0.08
0
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
x

(c) t = 0.11s

Figura 5.44: Aproximacion del gasto q2 mediante volumenes hbridos generalizados.


136 Captulo 5. Pruebas numericas y resultados

1.8
0.03

1.6

0.02
1.4

0.01
1.2

1
y

0.8

0.01

0.6

0.02
0.4

0.2
0.03

0
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
x

(a) t = 0.05s
2

0.1
1.8
0.08

1.6
0.06

1.4
0.04

1.2
0.02

1
y

0.8 0.02

0.6 0.04

0.06
0.4

0.08
0.2

0.1
0
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
x

(b) t = 0.08s
2
0.3

1.8

1.6 0.2

1.4

0.1

1.2

1
y

0.8

0.1
0.6

0.4
0.2

0.2

0 0.3
2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0
x

(c) t = 0.11s

Figura 5.45: Aproximacion del gasto q3 mediante volumenes hbridos generalizados.


5.3. Region elongada 137

Al tomar condiciones iniciales tipo Airy para el tirante q1 , podemos ver que las ondas se
disipan sobre la region mientras que los gastos se mueven en la direccion deseada, a pesar
de que la resolucion tomada no es la suficiente para que ambos esquemas sean estables
para todo el intervalo temporal deseado. Se tomo la mayor resolucion que la computadora
pudo manejar a fin de estabilizar, a medida de lo posible, los esquemas numericos.
138 Captulo 5. Pruebas numericas y resultados
Captulo 6

Conclusiones

[...] Y la gente murmurando te mira los calcetines (pues uno te esta faltando),
pensando que locura, que tremenda chifladura,
y del brillo de tus ojos y tus actos impulsivos
deducen que estas chalado de aqu hasta que seas anciano.
Mas ya termino el suplicio que casuso tanto desquicio,
pues en el blanco papel hay palabras en tropel,
y llega la diversion: has concluido otro cuento de ciencia ficcion.
Isaac Asimov, 1957

Al hacer la comparacion de las aproximaciones obtenidas mediante los metodos pro-


puestos, para el caso rectangular, podemos descartar el esquema que implica promedios
tipo Lax para mallas gruesas; mientras que con los otros esquemas nos brindan aproxi-
maciones consistentes con la mecanica del fenomeno para ciertos intervalos de tiempo.
Principalmente, el esquema planteado con volumenes hbridos nos dio las transiciones mas
suaves de las aproximaciones de las variables conservativas.
En resumen, se logro implementar un esquema que combinara la parte de conservacion
y una implementacion sencilla al juntar los metodos de volumenes y diferencias. Dicho es-
quema nos dio resultados satisfactorios, incluso en regiones no rectangulares, al aproximar
la solucion del sistema de ecuaciones no lineales dado por las ecuaciones de Saint-Venant.
Sin olvidar que el problema de aproximar EDPs numericamente no solo consta de dis-
cretizar y plantear uno o varios esquemas numericos, sino que tambien se deben realizar
estudios sobre la discretizacion del dominio fsico y computacional, garantizar que los es-
quemas se acerquen a una solucion analtica, y a falta de ella, que reproduzca la mecanica
real del fenomeno de estudio.

139
140 Captulo 6. Conclusiones

Dicho lo anterior, no se debe olvidar que para garantizar la efectividad de los metodos,
es importante realizar analisis de convergencia de malla, estabilidad para las ecuaciones no
linealizadas, y verificar que tanto los gastos como la masa se conservan, empero, estos es-
capan del alcance de este trabajo, por lo que se proponen como trabajo a futuro. Junto con
esto, tambien queda pendiente optimizar tanto el tiempo como el espacio computacional
necesario, esto se puede lograr utilizando algun otro lenguaje de programacion e imple-
mentandolo en un ordenador con mayor potencia. Todas estas mejoras se piensan para
poder implementar los esquemas a regiones no regulares con batimetras cuyas pendientes
sean suaves.
Apendice A

Descripcion de los programas

CalorDif.m

Codigo utilizado en el captulo 1 para aproximar, mediante Diferencias Finitas, la so-


lucion de la ecuacion de calor en 1D . Se encuentra programado en el lenguaje de progra-
macion MATLAB
c
[Moler, 2016].

function [x,U] = CalorDif(m,T,cfi,cfd,v,f)


%% Especificaciones
% Aproxima, mediante diferencias finitas, la eq de Calor en 1D
% U_t = v*U_{xx}
% m>0 n\umero de puntos en el intervalo [0,1] espacio
% T>0 n\umero de puntos en el intervalo [0,1] tiempo
% cfi condici\on de fontera izquierda
% cfd condici\on de frontera derecha
% v>0 constante de difusi\on
% f(x) funci\on de condiciones iniciales
% Martha Leticia Ruiz Zavala. Febrero 2017
% Ejemplo [x,U] = CalorDif(11,101,0,0,1,@f);

%% Inicializaci\on
x=linspace(0,1,m); % malla uniforme del intervalo [0,1] en el espacio
dx=x(2)-x(1); % tama\~no de paso en el espacio
dt=1/(T-1); % tama\~no de paso en el tiempo
U=zeros(m,T); % inicializaci\on de la soluci\on
c=v*dt/dx/dx;

141
142 Apendice A

% Condiciones inicales
U(:,1)=f(x,m);

%% Aproximaci\on
for k=2:T % un paso adelante en el tiempo
% puntos no contiguos a la frontera
for i=3:m-2
U(i,k)=U(i,k-1)+c*(U(i-1,k-1)-2*U(i,k-1)+U(i+1,k-1));
end
% punto contiguo a la frontera izquierda
i=2;
U(i,k)=U(i,k-1)+c*(cfi-2*U(i,k-1)+U(i+1,k-1));
% punto contiguo a la frontera derecha
i=m-1;
U(i,k)=U(i,k-1)+c*(U(i-1,k-1)-2*U(i,k-1)+cfd);
end
end
143

CalorVol.m
Codigo utilizado en el captulo 1 para aproximar,mediante Volumenes Finitos, la solu-
cion de la ecuacion de calor en 1D . Se encuentra programado en el lenguaje de programa-
cion MATLAB
c
[Moler, 2016].

function [X,U] = CalorVol(m,T,cfi,cfd,v,f)


%% Especificaciones
% Aproxima, mediante vol\umenes finitos, la eq de Calor en 1D
% U_t = v*U_{xx}
% m>0 n\umero de puntos en el intervalo [0,1] espacio
% T>0 n\umero de puntos en el intervalo [0,1] tiempo
% cfi condici\on de fontera izquierda
% cfd condici\on de frontera derecha
% v>0 constante de difusi\on
% f(x) funci\on de condiciones iniciales
% Martha Leticia Ruiz Zavala. Febrero 2017
% Ejemplo [Xv,Uv] = CalorVol(11,101,0,0,1,@f);

%% Inicializaci\on
x=linspace(0,1,m); % malla uniforme del intervalo [0,1] en el espacio
for i=1:m-1
X(i)=(x(i)+x(i+1))/2; %centroides de las celdas
end
dx=X(2)-X(1); % tama\~no de paso en el espacio
dt=1/(T-1); % tama\~no de paso en el tiempo
U=zeros(m-1,T); % inicializaci\on de la soluci\on
c=v*dt/dx/dx;
% Condiciones inicales
U(:,1)=f(X,m-1);

%% Aproximaci\on
for k=2:T % un paso adelante en el tiempo
% puntos no contiguos a la frontera
for i=3:m-3
U(i,k)=U(i,k-1)+c*(U(i-1,k-1)-2*U(i,k-1)+U(i+1,k-1));
end
144 Apendice A

% punto contiguo a la frontera izquierda


i=2;
U(i,k)=U(i,k-1)+c*(cfi-2*U(i,k-1)+U(i+1,k-1));
% punto contiguo a la frontera derecha
i=m-2;
U(i,k)=U(i,k-1)+c*(U(i-1,k-1)-2*U(i,k-1)+cfd);
end
end
145

tfihorseshoe.m
Codigo utilizado en el captulo 3 realizar una malla, mediante TFI, sobre una herra-
dura de caballo. Se encuentra programado en el lenguaje de programacion MATLAB
c

[Moler, 2016].

function [x,y]=tfihorseshoe(n,m)
%% Especificaciones
% Interpolaci\on transfinita sobre una herradura de caballo
% n n\umero de puntos en los lados izquierdo y derecho de la regi\on
% f\isica (xl, xr)
% m n\umero de puntos en los lados superior e inferior de la regi\on
% f\isica (xt, xb)
% Martha Leticia Ruiz Zavala. Enero 2017
% Ejemplo [x,y]=tfihorseshoe(11,21);

%% Inicializaci\on
if m>1 % tama\~nos de paso en xt, y xb
h1=1/(m-1);
end
if n>1 % tama\~nos de paso en xl, y xr
h2=1/(n-1);
end

%% Mapeo de TFI
for i=1:n
eta=(i-1)*h2;
for j=1:m
xi=(j-1)*h1;
v=(1-xi)*xl(eta)+xi*xr(eta)+(1-eta)*xb(xi)+eta*xt(xi)-...
(1-xi)*(1-eta)*xb(0)-(1-xi)*eta*xt(0)-(1-eta)*xi*xb(1)-...
eta*xi*xt(1);
x(i,j)=v(1);
y(i,j)=v(2);
end
end
end
146 Apendice A

%% Funciones que describen a la frontera del dominio f\isico


% Frontera inferior (bottom)
function xb=xb(xi)
xb=[sin(pi/2*(1-2*xi));cos(pi/2*(1-2*xi))];
end
% Frontera derecha (right)
function xr=xr(eta)
xr=[-1-eta;0];
end
% Frontera superior (top)
function xt=xt(xi)
xt=[2*sin(pi/2*(1-2*xi));2*cos(pi/2*(1-2*xi))];
end
%Frontera izquierda (left)
function xl=xl(eta)
xl=[1+eta;0];
end
147

tfic.m
Codigo utilizado en el captulo 5 realizar una malla, mediante TFI, sobre el cua-
drado unitario. Se encuentra programado en el lenguaje de programacion MATLAB
c

[Moler, 2016].

function [x,y]=tfic(m,n)
%% Especificaciones
% Interpolaci\on transfinita para un cuadrado de [0,1]x[0,1]
% m n\umero de puntos en el eje x
% n n\umero de puntos en el eje y
% Martha Leticia Ruiz Zavala. Diciembre 2016
% Ejemplo [x,y]=tfic(41,41)

%% Inicializaci\on
if m>1
h1=1/(m-1);
end
if n>1
h2=1/(n-1);
end

%% Mapeo de TFI
for i=1:n
eta=(i-1)*h2;
for j=1:m
xi=(j-1)*h1;
v=(1-xi)*xl(eta)+xi*xr(eta)+(1-eta)*xb(xi)+eta*xt(xi)-...
(1-xi)*(1-eta)*xb(0)-(1-xi)*eta*xt(0)-(1-eta)*xi*xb(1)-...
eta*xi*xt(1);
x(i,j)=v(1);
y(i,j)=v(2);
end
end
end

%% Funciones que describen a la frontera del dominio f\isico


148 Apendice A

% Frontera inferior (bottom)


function xb=xb(xi)
xb=[xi;0];
end
% Frontera derecha (right)
function xr=xr(eta)
xr=[1;eta];
end
% Frontera superior (top)
function xt=xt(xi)
xt=[xi;1];
end
%Frontera izquierda (left)
function xl=xl(eta)
xl=[0;eta];
end
149

SVFTCSR.m
Codigo utilizado en el captulo 5 para aproximar la solucion de las ecuaciones de Saint-
Venant, aplicando el esquema FTCS, en regiones rectangulares. Se encuentra programado
en el lenguaje de programacion MATLAB
c
[Moler, 2016].

function [q1,q2,q3]=SVFTCSR(x,y,z,t,Tf)
%% Especificaciones
% Aproxima, por medio de diferencias finitas (FTCS), las ecuaciones
% de Saint-Venant con condiciones de flujo continuo en las fonteras
% de entrada y salida, y de no deslizamiento en los m\argenes izquiedo y
% derecho; en regiones rectangulares.
% m n\umero de pasos en x
% n n\umero de pasos en y
% t n\umero de pasos en el tiempo en el intervalo [0,Tf]
% Tf tiempo final de la simulaci\on
% q1=h tirante
% q2=au gasto en x
% q3=av gasto en y
% Martha Leticia Ruiz Zavala. Abril 2017
% Ejemplo [q1,q2,q3]=SVFTCSR(x,y,z,1e5+1,1);

%% Inicializaci\on
close all
[n,m] = size(x);
T = linspace(0,Tf,t); % Crea el intervalo temporal
dt = T(2)-T(1); % Tama\~no de paso en el tiempo
dx = x(1,2)-x(1,1); % Tama\~no de paso en el eje x
dy = y(2,1)-y(1,1); % Tama\~no de paso en el tiempo eje y
q1 = zeros(n,m,t);
q2 = zeros(n,m,t);
q3 = zeros(n,m,t);
g = 9.81; % Fuerza de gravedad.
f = 4.879*10^(-5); % Aceleraci\on de Coriolis.
cf = 0.005; % Coeficiente de fricci\on en el fondo

%% Condiciones iniciales
150 Apendice A

for j=1:m
for i=1:n
% Condici\on inicial para el tirante (q1)
% Solit\on
q1(i,j,1) = .5 + 0.002*exp((-(x(i,j)-.5)^2 - (y(i,j)-.5)^2)/.001);
% Ondas tipo Airy
% q1(i,j,1) = .5 + 0.003*sin(5*pi*(x(i,j) + y(i,j)));
% Perfil parab\olico inicial para los gastos en x (q2)
q2(i,j,1)=-.8*(3*y(i,1)*dy*(y(i,1) + dy) + dy^3)/3 + ...
.4*(dy*(2*y(i,1) + dy));
end
end

%% Condiciones de frontera
for k = 1:t
% Margen izquierdo del canal
q1(n,:,k)=0.500;
q2(n,:,k)=0;
q3(n,:,k)=0;
% Margen derecho del canal
q1(1,:,k)=0.500;
q2(1,:,k)=0;
q3(1,:,k)=0;
% Entrada del flujo
q1(:,1,k)=0.500;
q2(1,1,k)=0;
for i=2:n-1
q2(i,1,k)= -.8*(3*y(i,1)*dy*(y(i,1) + dy) + dy^3)/3 + ...
.4*(dy*(2*y(i,1) + dy));
end
q2(n,1,k)=0;
q3(:,1,k)=0;
% Salida del flujo
q1(:,m,k)=0.500;
q2(1,m,k)=0;
151

for i=2:n-1
q2(i,m,k)= -.8*(3*y(i,m)*dy*(y(i,m) + dy) + dy^3)/3 + ...
.4*(dy*(2*y(i,m) + dy));
end
q2(n,m,k)=0;
q3(:,m,k)=0;
end

%% Aproximamos para un paso posterior en el tiempo


for k = 2:t
temp = mod(k,100);
if temp == 10
fprintf(t: %i \n,k)
end
for i=2:n-1
for j =2:m-1
% Aproximamos q1
q1(i,j,k) = q1(i,j,k-1) - dt*(...
(q2(i,j+1,k-1)-q2(i,j-1,k-1))/2/dx +...
(q3(i+1,j,k-1)-q3(i-1,j,k-1))/2/dy);

% Aproximamos q2
q2(i,j,k) = q2(i,j,k-1) - dt*(...
(q2(i,j+1,k-1)^2/q1(i,j+1,k-1) + g*q1(i,j+1,k-1)^2/2 -...
q2(i,j-1,k-1)^2/q1(i,j-1,k-1) - g*q1(i,j-1,k-1)^2/2)/2/dx +...
(q2(i+1,j,k-1)*q3(i+1,j,k-1)/q1(i+1,j,k-1) -...
q2(i-1,j,k-1)*q3(i-1,j,k-1)/q1(i-1,j,k-1))/2/dy -...
f*q3(i,j,k-1) + cf*q2(i,j,k-1)/...
(q1(i,j,k-1) - z(i,j))^2*(q2(i,j,k-1)^2 +...
q3(i,j,k-1).^2)^(1/2));

% Aproximamos q3
q3(i,j,k) = q3(i,j,k-1) - dt*(...
(q2(i,j+1,k-1)*q3(i,j+1,k-1)/q1(i,j+1,k-1) - ...
q2(i,j-1,k-1)*q3(i,j-1,k-1)/q1(i,j-1,k-1))/2/dx + ...
152 Apendice A

(q3(i+1,j,k-1)^2/q1(i+1,j,k-1) + g*q1(i+1,j,k-1)^2/2 - ...


q3(i-1,j,k-1)^2/q1(i-1,j,k-1) - g*q1(i-1,j,k-1)^2/2)/2/dy +...
f*q2(i,j,k-1) + cf*q3(i,j,k-1)/...
(q1(i,j,k-1) - z(i,j))^2*(q2(i,j,k-1)^2 +...
q3(i,j,k-1)^2)^(1/2));
end
end
end

%% Guarda los resultados


save(date, q1, q2, q3, x, y)
end
153

SVPesosR.m
Codigo utilizado en el captulo 5 para aproximar la solucion de las ecuaciones de
Saint-Venant, aplicando el diferencias finitas con diferentes pesos para los nodos, en regio-
nes rectangulares. Se encuentra programado en el lenguaje de programacion MATLAB
c

[Moler, 2016].

function [q1,q2,q3]=SVPesosR(x,y,z,t,Tf)
%% Especificaciones
% Aproxima, por medio de diferencias finitas usando un est\enciles
% diferenes para aproximar las parciales,las ecuaciones de Saint-Venant
% con condiciones de flujo continuo en las fonteras de entrada y salida,
% y de no deslizamiento en los m\argenes izquiedo y derecho; en
% regiones rectangulares.
% m n\umero de pasos en x
% n n\umero de pasos en y
% t n\umero de pasos en el tiempo en el intervalo [0,Tf]
% Tf tiempo final de la simulaci\on
% q1=h alturas para cada punto (x,y)
% q2=au gasto en x
% q3=av gasto en y
% Martha Leticia Ruiz Zavala. Abril 2017
% Ejemplo [q1,q2,q3]=SVPesosR(x,y,z,1e5+1,1);

%% Inicializaci\on
close all
[n,m] = size(x);
T = linspace(0,Tf,t); % Crea el intervalo temporal
dt = T(2)-T(1); % Tama\~no de paso en el tiempo
dx = x(1,2)-x(1,1); % Tama\~no de paso en el tiempo
dy = y(2,1)-y(1,1); % Tama\~no de paso en el tiempo
q1 = zeros(n,m,t);
q2 = zeros(n,m,t);
q3 = zeros(n,m,t);
g = 9.81; % Fuerza de gravedad.
f = 4.879*10^(-5); % Aceleraci\on de Coriolis.
cf = 0.005; % Coeficiente de fricci\on en el fondo
154 Apendice A

%% Condiciones iniciales
for j=1:m
for i=1:n
% Condici\on inicial para el tirante (q1)
% Solit\on
q1(i,j,1) = .5 + 0.002*exp((-(x(i,j)-.5)^2 - (y(i,j)-.5)^2)/.001);
% Ondas tipo Airy
%q1(i,j,1) = .5 + 0.003*sin(5*pi*(x(i,j) + y(i,j)));
% Perfil parab\olico inicial para los gastos en x (q2)
q2(i,j,1)=-.8*(3*y(i,1)*dy*(y(i,1) + dy) + dy^3)/3 + ...
.4*(dy*(2*y(i,1) + dy));
end
end

%% Condiciones de frontera
for k = 1:t
% Margen izquierdo del canal
q1(n,:,k)=0.500;
q2(n,:,k)=0;
q3(n,:,k)=0;
% Margen derecho del canal
q1(1,:,k)=0.500;
q2(1,:,k)=0;
q3(1,:,k)=0;
% Entrada del flujo
q1(:,1,k)=0.500;
q2(1,1,k)=0;
for i=2:n-1
q2(i,1,k)= -.8*(3*y(i,1)*dy*(y(i,1) + dy) + dy^3)/3 + ...
.4*(dy*(2*y(i,1) + dy));
end
q2(n,1,k)=0;
q3(:,1,k)=0;
% Salida del flujo
155

q1(:,m,k)=0.500;
q2(1,m,k)=0;
for i=2:n-1
q2(i,m,k)= -.8*(3*y(i,m)*dy*(y(i,m) + dy) + dy^3)/3 + ...
.4*(dy*(2*y(i,m) + dy));
end
q2(n,m,k)=0;
q3(:,m,k)=0;
end

%% Aproximaci\on para un paso posterior en el tiempo


for k = 2:t
temp = mod(k,100);
if temp == 10
fprintf(t: %i \n,k)
end
for i = 2:n-1
for j = 2:m-1
% Aproximamos q1
q1(i,j,k) = q1(i,j,k-1) - dt*( ...
(-q2(i-1,j-1,k-1) - q2(i,j-1,k-1) - q2(i+1,j-1,k-1) + ...
q2(i-1,j+1,k-1) + q2(i,j+1,k-1) + q2(i+1,j+1,k-1))/6/dx +...
(q3(i-1,j-1,k-1) - q3(i+1,j-1,k-1) + q3(i-1,j,k-1) - ...
q3(i+1,j,k-1) + q3(i-1,j+1,k-1) - q3(i+1,j+1,k-1))/6/dy);

% Aproximamos q2
q2(i,j,k) = q2(i,j,k-1) - dt*(...
(-q2(i-1,j-1,k-1)^2/q1(i-1,j-1,k-1) - ...
q2(i,j-1,k-1)^2/q1(i,j-1,k-1) - ...
q2(i+1,j-1,k-1)^2/q1(i+1,j-1,k-1) + ...
q2(i-1,j+1,k-1)^2/q1(i-1,j+1,k-1) + ...
q2(i,j+1,k-1)^2/q1(i,j+1,k-1) + ...
q2(i+1,j+1,k-1)^2/q1(i+1,j+1,k-1) + ...
g*(-q1(i-1,j-1,k-1)^2 - q1(i,j-1,k-1)^2 - ...
q1(i+1,j-1,k-1)^2 + q1(i-1,j+1,k-1)^2 + ...
156 Apendice A

q1(i,j+1,k-1)^2 + q1(i+1,j+1,k-1)^2)/2)/6/dx + ...


(q2(i-1,j-1,k-1)*q3(i-1,j-1,k-1)/q1(i-1,j-1,k-1) - ...
q2(i+1,j-1,k-1)*q3(i+1,j-1,k-1)/q1(i+1,j-1,k-1) + ...
q2(i-1,j,k-1)*q3(i-1,j,k-1)/q1(i-1,j,k-1) - ...
q2(i+1,j,k-1)*q3(i+1,j,k-1)/q1(i+1,j,k-1) + ...
q2(i-1,j+1,k-1)*q3(i-1,j+1,k-1)/q1(i-1,j+1,k-1) - ...
q2(i+1,j+1,k-1)*q3(i+1,j+1,k-1)/q1(i+1,j+1,k-1))/6/dy -...
f*q3(i,j,k-1) + ...
cf*q2(i,j,k-1)/(q1(i,j,k-1)-z(i,j))^2*(q2(i,j,k-1)^2+...
q3(i,j,k-1)^2)^(1/2));

% Aproximamos q3
q3(i,j,k) = q3(i,j,k-1) - dt*( ...
(-q2(i-1,j-1,k-1)*q3(i-1,j-1,k-1)/q1(i-1,j-1,k-1) - ...
q2(i,j-1,k-1)*q3(i,j-1,k-1)/q1(i,j-1,k-1) - ...
q2(i+1,j-1,k-1)*q3(i+1,j-1,k-1)/q1(i+1,j-1,k-1) + ...
q2(i-1,j+1,k-1)*q3(i-1,j+1,k-1)/q1(i-1,j+1,k-1) + ...
q2(i,j+1,k-1)*q3(i,j+1,k-1)/q1(i,j+1,k-1) + ...
q2(i+1,j+1,k-1)*q3(i+1,j+1,k-1)/q1(i+1,j+1,k-1))/6/dx +...
(q3(i-1,j-1,k-1)^2/q1(i-1,j-1,k-1) - ...
q3(i+1,j-1,k-1)^2/q1(i+1,j-1,k-1) + ...
q3(i-1,j,k-1)^2/q1(i-1,j,k-1) - ...
q3(i+1,j,k-1)^2/q1(i+1,j,k-1) + ...
q3(i-1,j+1,k-1)^2/q1(i-1,j+1,k-1) - ...
q3(i+1,j+1,k-1)^2/q1(i+1,j+1,k-1) + ...
g*(q1(i-1,j-1,k-1)^2 - q1(i+1,j-1,k-1)^2 + ...
q1(i-1,j,k-1)^2 - q1(i+1,j,k-1)^2 + ...
q1(i-1,j+1,k-1)^2 - q1(i+1,j+1,k-1)^2)/2)/6/dy + ...
f*q2(i,j,k-1) + ...
cf*q3(i,j,k-1)/(q1(i,j,k-1)-z(i,j))^2*(q2(i,j,k-1)^2+...
q3(i,j,k-1)^2)^(1/2));
end
end
end
157

%% Guarda los resultados


save(date, q1, q2, q3, x, y)
158 Apendice A

SVPromR.m
Codigo utilizado en el captulo 5 para aproximar la solucion de las ecuaciones de Saint-
Venant, aplicando el diferencias finitas con diferentes pesos para los nodos y siguiendo
la idea de Lax, en regiones rectangulares. Se encuentra programado en el lenguaje de
programacion MATLAB
c
[Moler, 2016].

function [q1,q2,q3]=SVPromR(x,y,z,t,Tf)
%% Especificaciones
% Aproxima, por medio de diferencias finitas usando est\enciles
% diferenes para aproximar las parciales,las ecuaciones de Saint-Venant
% con condiciones de flujo continuo en las fonteras de entrada y salida,
% y de no deslizamiento en los m\argenes izquiedo y derecho; en
% regiones rectangulares.
% Se sigue la idea de los promedios de Lax para mejorar la estabilidad.
% m n\umero de pasos en x
% n n\umero de pasos en y
% t n\umero de pasos en el tiempo en el intervalo [0,Tf]
% Tf tiempo final de la simulaci\on
% q1=h alturas para cada punto (x,y)
% q2=au gasto en x
% q3=av gasto en y
% Martha Leticia Ruiz Zavala. Abril 2017
% Ejemplo [q1,q2,q3]=SVPromR(x,y,z,1e5+1,1);

%% Inicializaci\on
close all
[n,m] = size(x);
T = linspace(0,Tf,t); % Crea el intervalo temporal
dt = T(2)-T(1); % Tama\~no de paso en el tiempo
dx = x(1,2)-x(1,1); % Tama\~no de paso en el tiempo
dy = y(2,1)-y(1,1); % Tama\~no de paso en el tiempo
q1 = zeros(n,m,t);
q2 = zeros(n,m,t);
q3 = zeros(n,m,t);
g = 9.81; % Fuerza de gravedad.
f = 4.879*10^(-5); % Aceleraci\on de Coriolis.
159

cf = 0.005; % Coeficiente de fricci\on en el fondo

%% Condiciones iniciales
for j=1:m
for i=1:n
% Condici\on inicial para el tirante (q1)
% Solit\on
q1(i,j,1) = .5 + 0.002*exp((-(x(i,j)-.5)^2 - (y(i,j)-.5)^2)/.001);
% Onda tipo Airy
% q1(i,j,1) = .5 + 0.003*sin(5*pi*(x(i,j) + y(i,j)));
% Perfil parab\olico inicial para los gastos en x (q2)
q2(i,j,1)=-.8*(3*y(i,1)*dy*(y(i,1) + dy) + dy^3)/3 + ...
.4*(dy*(2*y(i,1) + dy));
end
end

%% Condiciones de frontera
for k = 1:t
% Margen izquierdo del canal
q1(n,:,k)=0.500;
q2(n,:,k)=0;
q3(n,:,k)=0;
% Margen derecho del canal
q1(1,:,k)=0.500;
q2(1,:,k)=0;
q3(1,:,k)=0;
% Entrada del flujo
q1(:,1,k)=0.500;
q2(1,1,k)=0;
for i=2:n-1
q2(i,1,k)= -.8*(3*y(i,1)*dy*(y(i,1) + dy) + dy^3)/3 + ...
.4*(dy*(2*y(i,1) + dy));
end
q2(n,1,k)=0;
q3(:,1,k)=0;
160 Apendice A

% Salida del flujo


q1(:,m,k)=0.500;
q2(1,m,k)=0;
for i=2:n-1
q2(i,m,k)= -.8*(3*y(i,m)*dy*(y(i,m) + dy) + dy^3)/3 + ...
.4*(dy*(2*y(i,m) + dy));
end
q2(n,m,k)=0;
q3(:,m,k)=0;
end

%% Aproximaci\on para un paso posterior en el tiempo


for k = 2:t
temp = mod(k,100);
if temp == 10
fprintf(t: %i \n,k)
end
for i = 2:n-1
for j = 2:m-1
% Aproxima q1
q1(i,j,k) = (q1(i-1,j,k-1) + q1(i+1,j,k-1) + ...
q1(i,j+1,k-1) + q1(i,j-1,k-1))/4- dt*( ...
(-q2(i-1,j-1,k-1) - q2(i,j-1,k-1) - q2(i+1,j-1,k-1) + ...
q2(i-1,j+1,k-1) + q2(i,j+1,k-1) + q2(i+1,j+1,k-1))/6/dx +...
(q3(i-1,j-1,k-1) - q3(i+1,j-1,k-1) + q3(i-1,j,k-1) - ...
q3(i+1,j,k-1) + q3(i-1,j+1,k-1) - q3(i+1,j+1,k-1))/6/dy);

% Aproxima q2
q2(i,j,k) = (q2(i+1,j,k-1) + q2(i-1,j,k-1) + ...
q2(i,j+1,k-1) + q2(i,j-1,k-1))/4- dt*(...
(-q2(i-1,j-1,k-1)^2/q1(i-1,j-1,k-1) - ...
q2(i,j-1,k-1)^2/q1(i,j-1,k-1) - ...
q2(i+1,j-1,k-1)^2/q1(i+1,j-1,k-1) + ...
q2(i-1,j+1,k-1)^2/q1(i-1,j+1,k-1) + ...
q2(i,j+1,k-1)^2/q1(i,j+1,k-1) + ...
161

q2(i+1,j+1,k-1)^2/q1(i+1,j+1,k-1) + ...
g*(-q1(i-1,j-1,k-1)^2 - q1(i,j-1,k-1)^2 - ...
q1(i+1,j-1,k-1)^2 + q1(i-1,j+1,k-1)^2 + ...
q1(i,j+1,k-1)^2 + q1(i+1,j+1,k-1)^2)/2)/6/dx + ...
(q2(i-1,j-1,k-1)*q3(i-1,j-1,k-1)/q1(i-1,j-1,k-1) - ...
q2(i+1,j-1,k-1)*q3(i+1,j-1,k-1)/q1(i+1,j-1,k-1) + ...
q2(i-1,j,k-1)*q3(i-1,j,k-1)/q1(i-1,j,k-1) - ...
q2(i+1,j,k-1)*q3(i+1,j,k-1)/q1(i+1,j,k-1) + ...
q2(i-1,j+1,k-1)*q3(i-1,j+1,k-1)/q1(i-1,j+1,k-1) - ...
q2(i+1,j+1,k-1)*q3(i+1,j+1,k-1)/q1(i+1,j+1,k-1))/6/dy -...
f*q3(i,j,k-1) + ...
cf*q2(i,j,k-1)/(q1(i,j,k-1)-z(i,j))^2*(q2(i,j,k-1)^2+...
q3(i,j,k-1)^2)^(1/2));

% Aproxima q3
q3(i,j,k) = (q3(i+1,j,k-1) + q3(i-1,j,k-1) + ...
q3(i,j+1,k-1) + q3(i,j-1,k-1))/4 - dt*( ...
(-q2(i-1,j-1,k-1)*q3(i-1,j-1,k-1)/q1(i-1,j-1,k-1) - ...
q2(i,j-1,k-1)*q3(i,j-1,k-1)/q1(i,j-1,k-1) - ...
q2(i+1,j-1,k-1)*q3(i+1,j-1,k-1)/q1(i+1,j-1,k-1) + ...
q2(i-1,j+1,k-1)*q3(i-1,j+1,k-1)/q1(i-1,j+1,k-1) + ...
q2(i,j+1,k-1)*q3(i,j+1,k-1)/q1(i,j+1,k-1) + ...
q2(i+1,j+1,k-1)*q3(i+1,j+1,k-1)/q1(i+1,j+1,k-1))/6/dx +...
(q3(i-1,j-1,k-1)^2/q1(i-1,j-1,k-1) - ...
q3(i+1,j-1,k-1)^2/q1(i+1,j-1,k-1) + ...
q3(i-1,j,k-1)^2/q1(i-1,j,k-1) - ...
q3(i+1,j,k-1)^2/q1(i+1,j,k-1) + ...
q3(i-1,j+1,k-1)^2/q1(i-1,j+1,k-1) - ...
q3(i+1,j+1,k-1)^2/q1(i+1,j+1,k-1) + ...
g*(q1(i-1,j-1,k-1)^2 - q1(i+1,j-1,k-1)^2 + ...
q1(i-1,j,k-1)^2 - q1(i+1,j,k-1)^2 + ...
q1(i-1,j+1,k-1)^2 - q1(i+1,j+1,k-1)^2)/2)/6/dy + ...
f*q2(i,j,k-1) + ...
cf*q3(i,j,k-1)/(q1(i,j,k-1)-z(i,j))^2*(q2(i,j,k-1)^2+...
q3(i,j,k-1)^2)^(1/2));
162 Apendice A

end
end
end

%% Guarda los resultados


save(date, q1, q2, q3, x, y)
163

SVVolR.m
Codigo utilizado en el captulo 5 para aproximar la solucion de las ecuaciones de Saint-
Venant, aplicando volumenes finitos hbridos, en regiones rectangulares. Se encuentra pro-
gramado en el lenguaje de programacion MATLAB
c
[Moler, 2016].

function [q1,q2,q3,X,Y]=SVVolR(x,y,z,t,Tf)
%% Especificaciones
% Aproxima, por medio de vol\umenes finitos h\ibridos, las ecuaciones
% de Saint-Venant con condiciones de flujo continuo en las fonteras
% de entrada y salida, y de no deslizamiento en los m\argenes izquiedo y
% derecho; en regiones rectangulares.
% m n\umero de pasos en x
% n n\umero de pasos en y
% t n\umero de pasos en el tiempo en el intervalo [0,Tf]
% Tf tiempo final de la simulaci\on
% q1=h tirante
% q2=au gasto en x
% q3=av gasto en y
% Martha Leticia Ruiz Zavala. Abril 2017
% Ejemplo [q1,q2,q3,X,Y]=SVVolR(x,y,z,1e5+1,1);

%% Inicializaci\on
close all
[n,m] = size(x);
X = zeros(n-1,m-1);
Y = zeros(n-1,m-1);
% Calcula los centroides de las celdas
for i=1:n-1
for j=1:m-1
X(i,j)=(x(i,j)+x(i,j+1))/2;
Y(i,j)=(y(i,j)+y(i+1,j))/2;
end
end
T = linspace(0,Tf,t);
T = linspace(0,Tf,t); % Crea el intervalo temporal
dt = T(2)-T(1); % Tama\~no de paso en el tiempo
164 Apendice A

dX = X(1,2)-X(1,1); % Tama\~no de paso en el tiempo


dY = Y(2,1)-Y(1,1); % Tama\~no de paso en el tiempo
q1 = zeros(n-1,m-1,t);
q2 = zeros(n-1,m-1,t);
q3 = zeros(n-1,m-1,t);
g = 9.81; % Fuerza de gravedad.
f = 4.879*10^(-5); % Aceleraci\on de Coriolis.
cf = 0.005; % Coeficiente de fricci\on en el fondo

%% Condiciones iniciales
for j=1:m-1
for i=1:n-1
% Condici\on inicial para el tirante (q1)
% Solit\on
q1(i,j,1) = .5 + 0.002*exp((-(X(i,j)-.5)^2 - (Y(i,j)-.5)^2)/.001);
% Olas tipo Airy
%q1(i,j,1) = .5 + 0.003*sin(5*pi*(X(i,j) + Y(i,j)));
% Perfil parab\olico inicial para los gastos en x (q2)
q2(i,j,1)=-.8*(3*Y(i,1)*dY*(Y(i,1) + dY) + dY^3)/3 + ...
.4*(dY*(2*Y(i,1) + dY));
end
end

%% Condiciones de frontera
for k = 1:t
% Margen izquierdo del canal
q1(n-1,:,k)=0.500;
q2(n-1,:,k)=0;
q3(n-1,:,k)=0;
% Margen derecho del canal
q1(1,:,k)=0.500;
q2(1,:,k)=0;
q3(1,:,k)=0;
% Entrada del flujo
q1(:,1,k)=0.500;
165

q2(1,1,k)=0;
for i=2:n-2
q2(i,1,k)= -.8*(3*Y(i,1)*dY*(Y(i,1) + dY) + dY^3)/3 + ...
.4*(dY*(2*Y(i,1) + dY));
end
q2(n-1,1,k)=0;
q3(:,1,k)=0;
% Salida del flujo
q1(:,m-1,k)=0.500;
q2(1,m-1,k)=0;
for i=2:n-2
q2(i,m-1,k)= -.8*(3*Y(i,m-1)*dY*(Y(i,m-1) + dY) + dY^3)/3 + ...
.4*(dY*(2*Y(i,m-1) + dY));
end
q2(n-1,m-1,k)=0;
q3(:,m-1,k)=0;
end

%% Aproximaci\on para un paso posterior en el tiempo


for k = 2:t
temp = mod(k,100);
if temp == 10
fprintf(t: %i \n,k)
end
for i=2:n-2
for j =2:m-2
% Aproxima q1
q1(i,j,k) = q1(i,j,k-1) - dt*(...
(q2(i,j+1,k-1)-q2(i,j-1,k-1))/2/dX +...
(q3(i+1,j,k-1)-q3(i-1,j,k-1))/2/dY);

% Aproxima q2
q2(i,j,k) = q2(i,j,k-1) - dt*(...
(q2(i,j+1,k-1)^2/q1(i,j+1,k-1) + g*q1(i,j+1,k-1)^2/2 -...
q2(i,j-1,k-1)^2/q1(i,j-1,k-1) - g*q1(i,j-1,k-1)^2/2)/2/dX +...
166 Apendice A

(q2(i+1,j,k-1)*q3(i+1,j,k-1)/q1(i+1,j,k-1) -...
q2(i-1,j,k-1)*q3(i-1,j,k-1)/q1(i-1,j,k-1))/2/dY -...
f*q3(i,j,k-1) + cf*q2(i,j,k-1)/...
(q1(i,j,k-1) - z(i,j))^2*(q2(i,j,k-1)^2 +...
q3(i,j,k-1).^2)^(1/2));

% Aproxima q3
q3(i,j,k) = q3(i,j,k-1) - dt*(...
(q2(i,j+1,k-1)*q3(i,j+1,k-1)/q1(i,j+1,k-1) - ...
q2(i,j-1,k-1)*q3(i,j-1,k-1)/q1(i,j-1,k-1))/2/dX + ...
(q3(i+1,j,k-1)^2/q1(i+1,j,k-1) + g*q1(i+1,j,k-1)^2/2 - ...
q3(i-1,j,k-1)^2/q1(i-1,j,k-1) - g*q1(i-1,j,k-1)^2/2)/2/dY +...
f*q2(i,j,k-1) + cf*q3(i,j,k-1)/...
(q1(i,j,k-1) - z(i,j))^2*(q2(i,j,k-1)^2 +...
q3(i,j,k-1)^2)^(1/2));
end
end
end

%% Guarda los resultados


save(date, q1, q2, q3, X, Y)
end
167

tfiCanal.m
Codigo utilizado en el captulo 5 para realizar una malla, mediante TFI, sobre la re-
gion elongada 4.2. Se encuentra programado en el lenguaje de programacion MATLAB
c

[Moler, 2016].

function [x,y]=tfiCanal(m,n)
% Interpolaci\on transfinita del semiarco
% m n\umero de puntos sobre theta
% n n\umero de puntos sobre R
% Martha Leticia Ruiz Zavala. Abril 2017
% Ejemplo [x,y]=tfiCanal(41,21)

theta=linspace(pi,pi/2,m);
R=linspace(1,2,n);
x=R*cos(theta);
y=R*sin(theta);
line(x,y,Color,k);line(x,y,Color,k);
end
168 Apendice A

SVDFE.m
Codigo utilizado en el captulo 5 para aproximar la solucion de las ecuaciones de Saint-
Venant, aplicando diferencias finitas generalizadas, en regiones elongadas. Se encuentra
programado en el lenguaje de programacion MATLAB
c
[Moler, 2016].

function [q1,q2,q3]=SVDFE(x,y,z,t,Tf)
%% Especificaciones
% Aproxima, por medio de diferencias finitas, las ecuaciones
% de Saint-Venant con condiciones de flujo continuo en las fonteras
% de entrada y salida, y de no deslizamiento en los m\argenes izquiedo y
% derecho; sobre regiones elongadas.
% m n\umero de pasos en la entrada y salida
% n n\umero de pasos en los m\argenes
% t n\umero de pasos en el tiempo en el intervalo [0,Tf]
% Tf tiempo final de la simulaci\on
% q1=h tirante
% q2=au gasto en x
% q3=av gasto en y
% Martha Leticia Ruiz Zavala. Abril 2017
% Ejemplo [q1,q2,q3]=SVDFE(x,y,z,1e5+1,1);

%% Inicializaci\on
close all
[m,n] = size(x);
T = linspace(0,Tf,t);
dt = T(2)-T(1);
q1 = zeros(m,n,t)+.5;
q2 = zeros(m,n,t);
q3 = zeros(m,n,t);
G = zeros(m,n);
g = 9.81; % Fuerza de gravedad.
f = 4.879*10^(-5); % Aceleraci\on de Coriolis.
cf = 0.005; % Coeficiente de fricci\on en el fondo

%% Condiciones iniciales
dx=1/m;
169

for j=1:n
for i=1:m
% Solit\on
q1(i,j,1) = .5 + 0.002*exp((-(x(i,j)+1.5)^2 - (y(i,j)-.65)^2)/.001);
% Ondas tipo Airy
% q1(i,j,1) = .5 + 0.003*sin(5*pi*(x(i,j) + y(i,j)));
G(i,j)= -4*(3*x(i,1)*dx*(x(i,1) + dx) + dx^3)/15 - ...
12*(dx*(2*x(i,1) + dx))/10-8*dx/5;
q2(i,j,1)= sin(pi*(j-1)/2/(n-1))*G(i,j);
q3(i,j,1)= cos(pi*(j-1)/2/(n-1))*G(i,j);
end
end

%% Condiciones de frontera
for k = 1:t
% M\argen izquierdo
q1(m,:,k)=0.500;
q2(m,:,k)=0;
q3(m,:,k)=0;
% M\argen derecho
q1(1,:,k)=0.500;
q2(1,:,k)=0;
q3(1,:,k)=0;
% Entrada del flujo
q1(:,1,k)=0.500;
q2(:,1,k)=0;
q3(1,1,k)=0;
for i=2:m-1
q3(i,1,k)= -4*(3*x(i,1)*dx*(x(i,1) + dx) + dx^3)/15 - ...
12*(dx*(2*x(i,1) + dx))/10-8*dx/5;
end
q3(m,1,k)=0;
% Salida del flujo
q1(:,n,k)=0.500;
q2(1,n,k)=0;
170 Apendice A

for i=2:m-1
q2(i,n,k)= -4*(-3*y(i,n)*dx*(-y(i,n) + dx) + dx^3)/15 - ...
12*(dx*(-2*y(i,n) + dx))/10-8*dx/5;
end
q2(m,n,k)=0;
q3(:,n,k)=0;
end

%% Aproximaci\on para un paso posterior en el tiempo


for k = 2:t
temp = mod(k,100);
if temp == 10
fprintf(Sigo vivo! t: %i \n,k)
end
for i=2:m-1
for j =2:n-1
% Tomamos una submalla de 3x3 para calcular los pesos (Gammas)
u=x((i-1):(i+1),(j-1):(j+1));
v=y((i-1):(i+1),(j-1):(j+1));
I=setdiff(1:9,5);
dx=u(I)-u(5);dy=v(I)-v(5);
M=[dx;dy;dx.*dx;dx.*dy;dy.*dy];

% Calcula los pesos para la parcial en x


Betax=[1 0 0 0 0];
Gammax=pinv(M)*Betax;
Gammax=[-sum(Gammax);Gammax];
Gommax=reshape([Gammax(2:5);Gammax(1);Gammax(6:9)],3,3);

% Calcula los pesos para la parcial en y


Betay=[0 1 0 0 0];
Gammay=pinv(M)*Betay;
Gammay=[-sum(Gammay);Gammay];
Gommay=reshape([Gammay(2:5);Gammay(1);Gammay(6:9)],3,3);
171

% Aproxima q1
q1(i,j,k) = q1(i,j,k-1) - dt*(...
sum(sum(Gommax.*q2(i-1:i+1,j-1:j+1,k-1))) + ...
sum(sum(Gommay.*q3(i-1:i+1,j-1:j+1,k-1))));

% Aproxima q2
q2(i,j,k) = q2(i,j,k-1) - dt*(...
sum(sum(Gommax.*q2(i-1:i+1,j-1:j+1,k-1).^2./...
q1(i-1:i+1,j-1:j+1,k-1) + ...
Gommax*g*q1(i-1:i+1,j-1:j+1,k-1).^2/2)) + ...
sum(sum(Gommay.*q2(i-1:i+1,j-1:j+1,k-1).*...
q3(i-1:i+1,j-1:j+1,k-1)./q1(i-1:i+1,j-1:j+1,k-1)))-...
f*q3(i,j,k-1) + cf*q2(i,j,k-1)/...
(q1(i,j,k-1) - z(i,j))^2*(q2(i,j,k-1)^2 +...
q3(i,j,k-1)^2)^(1/2));

% Aproxima q3
q3(i,j,k) = q3(i,j,k-1) - dt*(...
sum(sum(Gommax.*q2(i-1:i+1,j-1:j+1,k-1).*...
q3(i-1:i+1,j-1:j+1,k-1)./q1(i-1:i+1,j-1:j+1,k-1)))+...
sum(sum(Gommay.*q3(i-1:i+1,j-1:j+1,k-1).^2./...
q1(i-1:i+1,j-1:j+1,k-1) + ...
Gommay*g*q1(i-1:i+1,j-1:j+1,k-1).^2/2)) + ...
f*q2(i,j,k-1) + cf*q3(i,j,k-1)/...
(q1(i,j,k-1) - z(i,j))^2*(q2(i,j,k-1)^2 +...
q3(i,j,k-1)^2)^(1/2));
end
end
end

%% Guarda los resultados


save(date, q1, q2, q3, x, y)
end
172 Apendice A

SVVolE.m
Codigo utilizado en el captulo 5 para aproximar la solucion de las ecuaciones de Saint-
Venant, aplicando volumenes hbridos generalizados, en regiones elongadas. Se encuentra
programado en el lenguaje de programacion MATLAB
c
[Moler, 2016].

function [q1,q2,q3,X,Y]=SVVolE(x,y,z,t,Tf)
%% Especificaciones
% Aproxima, por medio de vol\umenes h\ibridos generalizados, las ecuaciones
% de Saint-Venant con condiciones de flujo continuo en las fonteras
% de entrada y salida, y de no deslizamiento en los m\argenes izquiedo y
% derecho; sobre regiones elongadas.
% m n\umero de pasos en la entrada y salida
% n n\umero de pasos en los m\argenes
% t n\umero de pasos en el tiempo en el intervalo [0,Tf]
% Tf tiempo final de la simulaci\on
% q1=h tirante
% q2=au gasto en x
% q3=av gasto en y
% Martha Leticia Ruiz Zavala. Abril 2017
% Ejemplo [q1,q2,q3,X,Y]=SVVolE(x,y,z,1e5+1,1);

%% Inicializaci\on
close all
[m,n] = size(x);
% Calculamos los centroides de las celdas
X = (x(1:m-1,1:n-1) + x(2:m,2:n) + x(1:m-1,2:n) + x(2:m,1:n-1))/4;
Y = (y(1:m-1,1:n-1) + y(2:m,2:n) + y(1:m-1,2:n) + y(2:m,1:n-1))/4;
T = linspace(0,Tf,t); % Crea un intervalo temporal
dt = T(2)-T(1); % Tama\~no de paso en el tiempo
q1 = zeros(m-1,n-1,t)+.5;
q2 = zeros(m-1,n-1,t);
q3 = zeros(m-1,n-1,t);
G = zeros(m-1,n-1);
g = 9.81; % Fuerza de gravedad
f = 4.879*10^(-5); % Aceleraci\on de Coriolis
cf = 0.005; % Coeficiente de fricci\on en el fondo
173

%% Condiciones iniciales
dx=1/m;
for j=1:n-1
for i=1:m-1
% Solit\on
q1(i,j,1) = .5 + 0.002*exp((-(X(i,j)+1.5)^2 - (Y(i,j)-.65)^2)/.001);
% Ondas tipo Airy
%q1(i,j,1) = .5 + 0.003*sin(5*pi*(X(i,j) + Y(i,j)));
% Perfil de gastos
G(i,j)= -4*(3*X(i,1)*dx*(X(i,1) + dx) + dx^3)/15 - ...
12*(dx*(2*X(i,1) + dx))/10-8*dx/5;
% Gasto en x
q2(i,j,1)= sin(pi*(j-1)/2/(n-1))*G(i,j);
% Gasto en y
q3(i,j,1)= cos(pi*(j-1)/2/(n-1))*G(i,j);
end
end

%% Condiciones de frontera
for k = 1:t
% M\argen izquierdo
q1(m-1,:,k)=0.500;
q2(m-1,:,k)=0;
q3(m-1,:,k)=0;
% M\argen derecho
q1(1,:,k)=0.500;
q2(1,:,k)=0;
q3(1,:,k)=0;
% Entrada del flujo
q1(:,1,k)=0.500;
q2(:,1,k)=0;
q3(1,1,k)=0;
for i=2:m-2
q3(i,1,k)= -4*(3*X(i,1)*dx*(X(i,1) + dx) + dx^3)/15 - ...
174 Apendice A

12*(dx*(2*X(i,1) + dx))/10-8*dx/5;
end
q3(m-1,1,k)=0;
% Salida del flujo
q1(:,n-1,k)=0.500;
q2(1,n-1,k)=0;
for i=2:m-2
q2(i,n-1,k)= -4*(-3*Y(i,n-1)*dx*(-Y(i,n-1) + dx) + dx^3)/15 - ...
12*(dx*(-2*Y(i,n-1) + dx))/10-8*dx/5;
end
q2(m-1,n-1,k)=0;
q3(:,n-1,k)=0;
end

%% Aproximaci\on para un paso posterior en el tiempo


for k = 2:t
temp = mod(k,100);
if temp == 10
fprintf(t: %i \n,k)
end
for j=2:n-2
for i=2:m-2
% Tomamos una submalla de 3x3 para calcular los pesos (Gammas)
u=X((i-1):(i+1),(j-1):(j+1));
v=Y((i-1):(i+1),(j-1):(j+1));
I=setdiff(1:9,5);
dX=u(I)-u(5);dY=v(I)-v(5);
M=[dX;dY;dX.*dX;dX.*dY;dY.*dY];

% Calcula los pesos para la parcial en x


Betax=[1 0 0 0 0];
Gammax=pinv(M)*Betax;
Gammax=[-sum(Gammax);Gammax];
Gommax=reshape([Gammax(2:5);Gammax(1);Gammax(6:9)],3,3);
175

% Calcula los pesos para la parcial en y


Betay=[0 1 0 0 0];
Gammay=pinv(M)*Betay;
Gammay=[-sum(Gammay);Gammay];
Gommay=reshape([Gammay(2:5);Gammay(1);Gammay(6:9)],3,3);

% Aproxima q1
q1(i,j,k) = q1(i,j,k-1) - dt*(...
sum(sum(Gommax.*q2(i-1:i+1,j-1:j+1,k-1))) + ...
sum(sum(Gommay.*q3(i-1:i+1,j-1:j+1,k-1))));

% Aproxima q2
q2(i,j,k) = q2(i,j,k-1) - dt*(...
sum(sum(Gommax.*q2(i-1:i+1,j-1:j+1,k-1).^2./...
q1(i-1:i+1,j-1:j+1,k-1) + ...
Gommax*g*q1(i-1:i+1,j-1:j+1,k-1).^2/2)) + ...
sum(sum(Gommay.*q2(i-1:i+1,j-1:j+1,k-1).*...
q3(i-1:i+1,j-1:j+1,k-1)./q1(i-1:i+1,j-1:j+1,k-1)))-...
f*q3(i,j,k-1) + cf*q2(i,j,k-1)/...
(q1(i,j,k-1) - z(i,j))^2*(q2(i,j,k-1)^2 +...
q3(i,j,k-1)^2)^(1/2));

% Aproxima q3
q3(i,j,k) = q3(i,j,k-1) - dt*(...
sum(sum(Gommax.*q2(i-1:i+1,j-1:j+1,k-1).*...
q3(i-1:i+1,j-1:j+1,k-1)./q1(i-1:i+1,j-1:j+1,k-1)))+...
sum(sum(Gommay.*q3(i-1:i+1,j-1:j+1,k-1).^2./...
q1(i-1:i+1,j-1:j+1,k-1) + ...
Gommay*g*q1(i-1:i+1,j-1:j+1,k-1).^2/2)) + ...
f*q2(i,j,k-1) + cf*q3(i,j,k-1)/...
(q1(i,j,k-1) - z(i,j))^2*(q2(i,j,k-1)^2 +...
q3(i,j,k-1)^2)^(1/2));
end
end
end
176 Apendice A

%% Guarda los resultados


save(date, q1, q2, q3, X, Y)
end
Bibliografa

[Apostol, 1996] Apostol, T. M. (1996). Analisis matematico. Editorial Reverte, 2 edition.

[Avila, 1997] Avila, G. S. (1997). Hidraulica general Vol.1. Editorial Limusa, 1 edition.

[Cendon, 2014] Cendon, M. E. V. (2014). Introduccion al metodo de volumenes finitos.


Universidade de Santiago de Compostela.

[Chanson, 2004] Chanson, H. (2004). Enviromental Hydraulics for Open Channel Flow.
Elsevier Butterworth-Heinemann, 1 edition.

[C.Hirsch, 1994] C.Hirsch (1994). Numerical computation of internal and external flows.
John Wiley & Sons, 1 edition.

[de Saint-Venant, 1871] de Saint-Venant, M. (1871). Theorie du mouvement non perma-


nent des euax, avec application aux crues des rivieres et a lintroduction des marees
dans leur lit. Comptes Rendus Hebdomadaires des Seances de lAcademie des Sciences,
10:147154.

[Elsgoltz, 1991] Elsgoltz, L. (1991). Ecuaciones diferenciales y calculo variacioanal. Edi-


torial Mir, 1 edition.

[Fay, 1996] Fay, J. A. (1996). Mecanica de fluidos. Editorial Continental, 1 edition.

[Flores, 2016] Flores, G. F. G. (2016). Un sistema automatico para la generacion numerica


de mallas basado en los nuevos funcionales de area y suavidad.

[Guerrero, 2016] Guerrero, G. T. (2016). Modelado de problemas de aguas someras en


regiones irregulares utilizando un esquema de diferencias finitas generalizadas.

[Iserles, 1996] Iserles, A. (1996). A first course in the numerical analysis of differential
equations. Cambridge University Press, 1 edition.

177
178 Bibliografa

[J. Alavez, 2013] J. Alavez, J. Lopez, J. H. y. D. D. l. F. (2013). Modelacion matematica y


computacional de una inundacion. Universidad Juarez Autonoma de Tabasco, 1 edition.

[Jerrold E. Marsden, 1991] Jerrold E. Marsden, A. J. T. (1991). Calculo vectorial.


Addison-Wesley, 3 edition.

[Joe F. Thompson, 1991] Joe F. Thompson, Bharat K. Soni, N. P. W. (1991). Handbook


of grid generation. CRC Press, 1 edition.

[Knupp and Steinber, 1993] Knupp, P. and Steinber, S. (1993). Fundamentals of grid ge-
neration. CRC Press.

[LeVeque, 1992] LeVeque, R. J. (1992). Numerical methods for conservation laws. ETH
Zurich.

[LeVeque, 2002] LeVeque, R. J. (2002). Finite-Volume methods for hyperbolic problems.


Cambridge University Press, 1 edition.

[LeVeque, 2007] LeVeque, R. J. (2007). Finite difference methods for ordinary and partial
differential equations. SIAM.

[Lloyd N. Trefethen, 1990] Lloyd N. Trefethen, David Bau, I. (1990). Numerical Linear
Algebra. SIAM, 1 edition.

[Mader, 2000] Mader, C. L. (2000). Numerical modeling of water waves. CRC Press, 2
edition.

[Moler, 2016] Moler, C. R. (2016). Matlab: The language of technical computig.

[Olver, 2014] Olver, P. J. (2014). Introduction to partial differential equations. Springer.

[Prieve, 2000] Prieve, D. C. (2000). A course in fluid mechanics with vector field theory.
Carnegie Mellon University.

[S.D. Conte, 1980] S.D. Conte, C. d. B. (1980). Elementary numerical analysis. An algo-
rithmic approach. McGraw-Hill, 3 edition.

[Trefethen, 1992] Trefethen, L. N. (1992). The definition of numerical analysis.

[Vreugdenhil, 1994] Vreugdenhil, C. B. (1994). Numerical methods For shallow-water flow.


Kluwer Academic Publishers.
Bibliografa 179

[Wesseling, 2009] Wesseling, P. (2009). Principles of computational fluid dynamics. Sprin-


ger, 1 edition.

[workgroup, 2011] workgroup, U. (2011). An automatic package for numerical grid gene-
ration.

View publication stats

Potrebbero piacerti anche