Documente Academic
Documente Profesional
Documente Cultură
u(x, t) dx +
_
y denotemos f(u) = F
(u).
Denicin 2.1. Sea u (
1
una solucin de (2.1). Denimos las curvas caractersticas
(o, simplemente, las caractersticas) en R[0, T] como las curvas t (X(t), t) dadas por
la ecuacin diferencial
dX(t)
dt
= f(u(X(t), t)) (2.2)
La particularidad de las curvas caractersticas es que la solucin u es constante a lo
largo de ellas:
d
dt
u(X(t), t) =
dX
dt
u
x
(X, t) +u
t
(X, t) = (u
t
+f(u)u
x
)(X, t) = 0
6 Captulo 2. Leyes de conservacin escalares: herramientas analticas
donde la ltima igualdad no es ms que la aplicacin de la ley de conservacin. As pues,
u es constante a lo largo de cada X, tomando el valor u
0
(x
0
) con x
0
el punto inicial (en
t = 0) de la curva. Deducimos, adems, que las curvas son rectas dadas por:
X(t) = x
0
+t f(u
0
(x
0
)) (2.3)
Encontrar una solucin clsica u para (2.1) se reducir a resolver la ecuacin algebraica
x = x
0
+t f(u
0
(x
0
)) para cada (x, t) R[0, T] y tomar u(x, t) = u
0
(x
0
). Si u
0
es continua,
es sencillo probar la existencia de solucin usando el teorema del valor medio, pero no se
puede garantizar la unicidad. La siguiente proposicin concreta esto.
Proposicin 2.1. Sea u
0
(
1
(R) acotada y de derivada acotada. Sea
T
=
_
+, si f u
0
es creciente
1
nf(f u
0
)
, en otro caso
Entonces, (2.1) tiene una nica solucin de clase (
1
en R [0, T
) y no puede extenderse
ms all de T
.
Dem. Puede verse una demostracin en [37].
Sin embargo, lo que ms nos interesa es el hecho de que para la ley de conservacin
puede existir un instante T
uv
t
+F(u)v
x
dxdt +
_
u
0
v[
t=0
dx = 0 (2.4)
Denicin 2.2. Diremos que u L
y
+
. Sean u
(u
l
) > > F
(u
r
) (2.8)
Estas desigualdades forman la condicin de entropa. Puede verse como el anlogo al prin-
cipio de la termodinmica, que arma que la entropa fsica no puede disminuir a medida
que el tiempo aumenta. En el caso particular en que F es uniformemente convexa, es decir,
si existe > 0 tal que F
= fE.
La denicin anterior, nos va a permitir enunciar la condicin de entropa ms
general que mencionbamos.
Proposicin 2.3. (Condicin de entropa) Bajo las mismas hiptesis que en el lema
2.1, la solucin u de (2.1) satisface la siguiente desigualdad para todo par de entropa/ujo
de entropa (E, G) con E continua y convexa:
__
Q
(E(u)
t
+F(u)
x
) dxdt +
_
R
E(u
0
(x))(x, 0)dx 0 (2.10)
para toda D(R (, T)) y 0.
As, diremos que una solucin dbil u es una solucin entrpica (o admisible) si
satisface la condicin de entropa (2.10) para toda entropa continua y convexa E con ujo
G. Puede comprobarse que, en efecto, la condicin (2.8) no es ms que un caso particular
de este nuevo enunciado.
Tenemos ya las sucientes herramientas para enunciar el siguiente teorema, que,
como habamos anunciado inicialmente, nos garantiza la existencia y unicidad de la solucin
entrpica.
Teorema 2.1. (Teorema de Kruzkov) Para cada funcin u
0
medible y acotada en R,
existe una nica solucin entrpica de (2.1) en /
(Q)
= |u
0
|
L
(R)
.
Las demostraciones de esta seccin, tanto del teorema de Kruzkov como de los
enunciados anteriores, pueden encontrarse en [37].
2.4. El problema de Riemann
Ahora que ya tenemos los principales resultados referentes a las leyes de conserva-
cin escalares, vamos a presentar un ejemplo muy habitual a la hora de estudiarlas. Este,
denominado problema de Riemann, consiste en tomar como condicin inicial:
u
0
(x) =
_
u
l
si x < 0
u
r
si x > 0
(2.11)
10 Captulo 2. Leyes de conservacin escalares: herramientas analticas
donde u
l
, u
r
R con u
l
,= u
r
. Tambin consideraremos que F es uniformemente convexa
y (
2
(R), de manera que podemos escribir g = (F
)
1
.
En funcin de la relacin entre los dos parmetros u
l
y u
r
, es sencillo comprobar
que la nica solucin entrpica viene dada por una de las dos siguientes soluciones:
Si u
l
> u
r
, la nica solucin entrpica de (2.1)-(2.11) viene dada por:
u(x, t) =
_
u
l
si
x
t
<
u
r
si
x
t
>
(x R, t > 0) (2.12)
donde =
F(u
l
)F(u
r
)
u
l
u
r
, que determina la velocidad de desplazamiento de la onda de
choque.
En cambio, si u
l
< u
r
, la nica solucin entrpica de (2.1)-(2.11) viene dada por:
u(x, t) =
_
_
u
l
si
x
t
< F
(u
l
)
g(
x
t
) si F
(u
l
) <
x
t
< F
(u
r
)
u
r
si
x
t
> F
(u
r
)
(x R, t > 0) (2.13)
En este caso, la discontinuidad inicial desaparece, dando lugar a una curva denomi-
nada onda de rarefaccin en el intervalo (F
(u
l
), F
(u
r
)).
Evidentemente, en los intervalos en que son constantes, cumplen la ley de conser-
vacin en su forma variacional. Para la onda de rarefaccin, basta comprobar qu sucede
para soluciones del tipo u(x, t) = v
_
x
t
_
:
0 = u
t
+F(u)
x
= u
t
+F
(u)u
x
= v
_
x
t
_
x
t
2
+F
(v
_
x
t
_
)v
_
x
t
_
1
t
= v
_
x
t
_
1
t
_
F
(v
_
x
t
_
)
x
t
_
(2.14)
luego, asumiendo que v
(v(
x
t
)) =
x
t
, de donde, efectivamente,
obtenemos que u(x, t) = g(
x
t
) es solucin de la ecuacin y, adems, los lmites en ambos
puntos del salto por la derecha e izquierda coinciden. En cuanto a la condicin de entropa,
nos remitimos a [15] para un anlisis ms profundo, puesto que requiere una serie de
resultados de Lax y Oleinik que quedan fuera de nuestras necesidades. Recordemos que
habamos optado por la teora de Kruzkov para probar la existencia y unicidad de soluciones
entrpicas, pero estos dos autores siguieron otro camino relacionado con las ecuaciones de
Hamilton-Jacobi y la frmula de Hopf-Lax.
En las imgenes 2.1 y 2.2 podemos ver dibujadas las curvas caractersticas para
ambas soluciones. En el primer caso podemos ver cmo, a lo largo de la recta x = t, se
van juntando las rectas caractersticas, producindose una discontinuidad que se desplaza
2.4. El problema de Riemann 11
Figura 2.1: Caso u
l
> u
r
.
En rojo, la onda de choque de velocidad
= (F(u
l
) F(u
r
)/(u
l
u
r
)).
Figura 2.2: Caso u
l
< u
r
.
En verde, la onda de rarefaccin
u(x, t) = g(x/t).
con velocidad . En el otro, la discontinuidad inicial desaparece, dando lugar a la onda de
rarefaccin.
Este tipo de problemas suelen ser los primeros que se estudian a la hora de trabajar
con leyes de conservacin, sobre todo en una dimensin, pues dentro de su aparente sim-
plicidad, recogen los principales resultados y propiedades que hemos visto en este captulo.
En el ejemplo de control sobre la aplicacin de Burgers que realizamos en el captulo 4
ser, en efecto, la principal situacin a la que nos enfrentemos.
Captulo 3
Mtodos numricos
Ahora que ya disponemos de la base analtica suciente para la interpretacin de
las leyes de conservacin escalares, vamos a presentar varios mtodos numricos que nos
permitirn simular computacionalmente las soluciones de dichas ecuaciones. Como comen-
tbamos inicialmente, la bibliografa acerca de la aproximacin numrica de estas es muy
extensa, ya que se trata de un tema de gran importancia en el mundo de la ingeniera.
En esta seccin describiremos algunas de esas tcnicas, que usaremos ms adelante en las
aplicaciones que mostremos en los siguientes captulos.
Empezaremos con una breve introduccin al mtodo de volmenes nitos, que nos
servir para las simulaciones del captulo 4. Para ello utilizaremos como fuente los libros de
Godlewski [18] y de LeVeque [31]. Despus, presentaremos el mtodo de elementos nitos
y haremos hincapi en una variante, basada en las curvas caractersticas, que emplearemos
despus en el captulo 5. Como referencia usaremos, principalmente, los libros de Johnson
[26], de Glowinski [17] y de Quarteroni y Valli [36].
3.1. Esquemas conservativos: volmenes nitos
El mtodo de volumenes nitos es un mtodo numrico que permite la resolucin
de leyes de conservacin haciendo uso de dicha conservacin en las distintas celdas en las
que podemos dividir el dominio. Aunque en apariencia es similar al mtodo de diferencias
nitas, su origen es completamente distinto y es, precisamente, el uso de las propiedades
de este tipo de ecuaciones lo que permite que la simulacin de soluciones no regulares sea
ms precisa. Dado que emplearemos el mtodo de volmenes nitos para la simulacin de
la ecuacin de Burgers, que es unidimensional, nos centraremos nicamente en el desarrollo
de este en una nica variable espacial.
As pues, primero daremos una motivacin al uso de este mtodo y despus presen-
taremos algunos de los mtodos concretos que usaremos en el captulo 4.
3.1.1. Motivacin
A la hora de tratar con la simulacin de leyes de conservacin, lo primero a lo que
uno piensa en recurrir es al mtodo de diferencias nitas, sobre todo en una nica dimen-
14 Captulo 3. Mtodos numricos
sin espacial. Sin embargo, cuando las ecuaciones son no lineales, estos esquemas pierden
precisin. Aunque una linealizacin del problema permitira obtener algunos resultados de
convergencia para el mencionado mtodo, sigue habiendo un segundo inconveniente que
ya no podremos superar: las soluciones discontinuas (que, como ya hemos visto, no son
inusuales). El uso de diferencias nitas para la simulacin de estas puede llegar a ser tre-
mendamente inecaz, dando lugar a aproximaciones que distan mucho de ser correctas.
Por lo tanto, necesitaremos imponer algn requerimiento que garantice que el mtodo que
usemos converja correctamente; es decir, que no aparezcan distorsiones (en forma de oscila-
ciones, por ejemplo) y que no converja a funciones que no son solucin del correspondiente
problema.
Consideremos un mallado de R[0, ) con un ancho espacial x y un paso temporal
t (consideraremos que son constantes, aunque tambin podra suponerse que el mallado
no es uniforme e, incluso, sin estructura), sobre el que denimos los puntos (x
j
, t
n
) =
(jx, nt) con j Z y n = 0, 1, 2, ... Tambin ser til denir x
j+1/2
= x
j
+ x/2. Por
u
n
j
denotaremos el valor de la solucin exacta u en el punto (x
j
, t
n
), mientras que usaremos
U
n
j
para denotar la aproximacin. Por ltimo, deniremos la media de u(x, t
n
) en una celda
en torno a x
j
:
u
n
j
:=
1
x
_
x
j+
1
2
x
j
1
2
u(x, t
n
) dx (3.1)
que tambin utilizaremos, puesto que la forma integral de las leyes de conservacin describe
la evolucin en el tiempo de integrales como esa. Del mismo modo, podremos considerar
la condicin inicial bien como una simple evaluacin de u
0
en los nodos (U
0
j
= u
0
j
) o como
una media (U
0
j
= u
0
j
).
Con esa notacin, la imposicin que mencionbamos es que el esquema est en la
denominada forma conservativa:
U
n+1
j
= U
n
j
t
x
_
G
_
U
n
jp
, U
n
jp+1
, ..., U
n
j+q
_
G
_
U
n
jp1
, U
n
jp
, ..., U
n
j+q1
_
(3.2)
donde G es una funcin con p + q + 1 argumentos llamada funcin de ujo numrico. El
caso ms sencillo, que ser el que empleemos nosotros, se reduce a tomar p = 0 y q = 1,
de modo que
U
n+1
j
= U
n
j
t
x
_
G
_
U
n
j
, U
n
j+1
_
G
_
U
n
j1
, U
n
j
_
(3.3)
Denicin 3.1. Diremos que el esquema 3.3 es consistente con la ley de conservacin
original si la funcin de ujo numrico G coincide con F en el caso de que el ujo sea
constante.
Esta condicin tiene sentido en tanto en cuanto podemos ver U
n
j
como una aproxima-
cin de u
n
j
denida en (3.1). Sabemos que una solucin dbil u(x, t) satisface la formulacin
integral de la ley de conservacin:
_
x
j+
1
2
x
j
1
2
u(x, t
n+1
) dx =
_
x
j+
1
2
x
j
1
2
u(x, t
n+1
) dx
__
t
n+1
t
n
F(u(x
j+
1
2
, t)) dt
_
t
n+1
t
n
F(u(x
j
1
2
, t)) dt
_
(3.4)
3.1. Esquemas conservativos: volmenes nitos 15
Dividiendo por x y usando (3.1), obtenemos:
u
n+1
j
= u
n
j
1
x
__
t
n+1
t
n
F(u(x
j+
1
2
, t)) dt
_
t
n+1
t
n
F(u(x
j
1
2
, t)) dt
_
(3.5)
y si comparamos la frmula anterior con (3.3), podemos ver que el ujo numrico
G(U
n
j
, U
n
j+1
) acta como una media del ujo en torno a x
j+1/2
durante el intervalo de
tiempo [t
n
, t
n+1
]; es decir:
G(U
n
j
, U
n
j+1
)
1
t
_
t
n+1
t
n
F(u(x
j+
1
2
, t)) dt (3.6)
3.1.2. Conservatividad discreta
El principio bsico de una ley de conservacin es que la cantidad total de una variable
conservada solamente cambia en funcin del ujo en la frontera, tal como veamos en (1.2).
En el caso unidimensional, dicha formulacin integral puede escribirse de la siguiente forma:
_
b
a
u(x, t
2
) dx =
_
b
a
u(x, t
1
) dx
__
t
2
t
1
F(u(b, t)) dx
_
t
2
t
1
F(u(a, t)) dx
_
(3.7)
para cualquier a, b R y t
1
, t
2
0. En particular, si u es constante fuera de un intervalo
nito en el intervalo temporal [t
1
, t
2
], por ejemplo, u = u
si x a y u = u
+
si x b,
entonces obtenemos:
_
b
a
u(x, t
2
) dx =
_
b
a
u(x, t
1
) dx (t
2
t
1
) [F(u
+
) F(u
)] (3.8)
y si u
= u
+
(esto es, si la solucin tiene soporte compacto, en cuyo caso u
= 0),
entonces, los trminos de ujo se anulan entre s y concluimos que
_
b
a
u(x, t) dx es constante
en el tiempo siempre que la solucin sea constante en los extremos a y b.
A continuacin vamos a comprobar que los esquemas en forma conservativa tambin
cumplen una propiedad anloga. Por comodidad, denotaremos
G(U
n
; j) := G(U
n
jp
, U
n
jp+1
, ..., U
n
j+q
) (3.9)
el ujo numrico denido entorno al nodo j. Ahora, tomamos J y K enteros arbitrarios
(con J < K) y sumamos (3.2) sobre j:
x
K
j=J
U
n+1
j
= x
K
j=J
U
n
j
t
K
j=J
[G(U
n
; j) G(U
n
; j 1)] (3.10)
En el ltimo sumando se anulan muchos trminos entre s, quedando nicamente el ujo
numrico en los extremos, por lo que obtenemos el equivalente discreto a (3.7):
x
K
j=J
U
n+1
j
= x
K
j=J
U
n
j
t [G(U
n
; K) G(U
n
; J 1)] (3.11)
16 Captulo 3. Mtodos numricos
En particular, si u
0
es constante fuera de un intervalo nito, tambin lo ser U
n
,
ya que los mtodos numricos explcitos siempre tienen un dominio de dependencia nito.
Por tanto, para J y K lo sucientemente alejados, por la consistencia del ujo numrico
tenemos:
x
K
j=J
U
n+1
j
= x
K
j=J
U
n
j
t [F (u
+
) F (u
)] (3.12)
y aplicndolo de manera recursiva, para N > n llegamos a:
x
K
j=J
U
N
j
= x
K
j=J
U
n
j
(t
N
t
n
) [F (u
+
) F (u
)] (3.13)
que es el equivalente discreto de (3.8).
Finalmente, si como datos iniciales tomamos U
0
j
= u
0
j
y n sucientemente pequeo
para que la solucin sea constante en un entorno de x
J1/2
y x
K+1/2
, entonces:
x
K
j=J
U
n
j
=
_
x
K+
1
2
x
J
1
2
u(x, t
n
) dx (3.14)
De hecho, si tomamos la funcin a trozos denida por:
U
k
(x, t) = U
n
j
, para (x, t) [x
j
1
2
, x
j+
1
2
) [t
n
, t
n+1
) (3.15)
tendremos que
_
x
K+
1
2
x
J
1
2
U
k
(x, t
n
) dx =
_
x
K+
1
2
x
J
1
2
u(x, t
n
) dx, (3.16)
razn por la cual decimos que el mtodo de volmenes nitos es conservativo.
3.1.3. Ejemplos
Dado que para crear esquemas de volmenes nitos no hay mayor requerimiento que
el que estn en forma conservativa, lo primero que a uno se le ocurre es intentar discretizar la
correspondiente ecuacin mediante alguno de los mtodo de diferencias nitas ya existentes
y reordenarlo, de manera que cumplan dicha condicin. As, tenemos dos ejemplos claros:
Los esquemas upwind, que segn el lado que se elija son de una de las dos siguientes
formas:
U
n+1
j
= U
n
j
t
x
_
F
_
U
n
j
_
F
_
U
n
j1
_
(3.17)
U
n+1
j
= U
n
j
t
x
_
F
_
U
n
j+1
_
F
_
U
n
j
_
(3.18)
Estn, efectivamente, en forma conservativa. Basta considerar para ello G(v, w) =
F(v) en el primer caso y G(v, w) = F(w), en el segundo.
3.1. Esquemas conservativos: volmenes nitos 17
Lo mismo sucede con el esquema de Lax-Friedrichs. El mtodo de diferencias nitas
tendra la forma:
U
n+1
j
=
1
2
_
U
n
j1
+U
n
j+1
_
t
2x
_
F
_
U
n
j+1
_
F
_
U
n
j1
_
(3.19)
Para expresarlo en forma conservativa, se reordena y se toma:
G
LF
(v, w) =
t
2x
(v w) +
1
2
[F(v) +F(w)] (3.20)
Para poder usar el mtodo upwind correctamente, es necesario que no haya alter-
nancia de signo en los autovalores de la matriz del sistema que hay que resolver. Este
impedimento se puede salvar usando el mtodo de Lax-Friedrichs. Sin embargo, tiene la
desventaja de que, en general, es mucho ms disipativo que el upwind, por lo que con l
se obtienen soluciones menos precisas. Nos interesar, por tanto, conseguir un mtodo que
ane la capacidad que tiene el upwind de recoger la informacin que ofrecen las curvas
caractersticas y la exibilidad que permite el de Lax-Friedrichs.
En 1959, Godunov propuso un mtodo [20] que combinaba ambas caractersticas,
consistente en resolver problemas de Riemann a medida que se avanza en el tiempo. La
solucin de este tipo de problemas es sencilla de calcular, da cuantiosa informacin sobre
la estructura de caractersticas y, sobre todo, conduce a mtodos conservativos. Podemos
dividir el mtodo de Godunov en tres pasos para cada iteracin n = 0, 1, 2, ...:
1. A partir de la solucin numrica U
n
, denimos una funcin constante a trozos
u
n
(x, t
n
) que vale U
n
j
en la celda x
j1/2
< x < x
j+1/2
.
2. Con u
n
(x, t
n
) como condicin inicial, resolvemos la correspondiente secuencia de
problemas de Riemman, obteniendo u
n
(x, t) para t
n
t t
n+1
(he ah la diferencia
con la funcin U
k
(x, t
n
) de (3.15), que era constante en ese intervalo temporal). Dicho
intervalo deber ser lo sucientemente pequeo para que las curvas caractersticas de
una celda no se encuentren con las de las adyacentes (ver g. 3.1).
3. Calcular U
n+1
haciendo la media de u
n
(x, t) en t
n+1
:
U
n+1
j
=
1
x
_
x
j+
1
2
x
j
1
2
u
n
(x, t
n+1
) dx (3.21)
En la prctica, el ltimo paso puede simplicarse aplicando la forma integral (3.4)
de la ley de conservacin, que u
n
tambin cumple ya que suponemos que es una solucin
dbil exacta. As, teniendo en cuenta que u
n
(x, t
n
) = U
n
j
en la celda (x
j1/2
, x
j+1/2
), se
reduce a:
U
n+1
j
= u
n
j
t
x
_
G(U
n
j
, U
n
j+1
) G(U
n
j1
, U
n
j
)
(3.22)
siendo la funcin de ujo numrico:
G(U
n
j
, U
n
j+1
) =
1
t
_
t
n+1
t
n
F( u
n
(x
j+
1
2
, t)) dt (3.23)
18 Captulo 3. Mtodos numricos
Figura 3.1: Caractersticas de problemas de Riemann con la condicin inicial u(x, t
n
).
Puesto que u
n
es constante en x
j+1/2
(ya que la solucin del problema de Riemann es
autosemejante y constante en las rectas (xx
j+1/2
)/t), la integral anterior ser simplemente
el valor del ujo F para dicha constante, que denotaremos por u
(U
n
j
, U
n
j+1
):
U
n+1
j
= u
n
j
t
x
_
F(u
(U
n
j
, U
n
j+1
)) F(u
(U
n
j1
, U
n
j
))
(3.24)
De hecho, en el caso de las leyes de conservacin escalares puede saberse exactamente
ese valor. Sin entrar en grandes detalles (puede verse el desarrollo completo en [18]), diremos
que basta con considerar que las soluciones del paso 2 vienen dadas en la forma (2.12),
independientemente de la relacin entre u
l
y u
r
, de manera que:
u
(u
l
, u
r
) =
_
u
l
si > 0
u
r
si < 0
(3.25)
y:
G(u
l
, u
r
) =
_
F(u
l
) si 0
F(u
r
) si < 0
(3.26)
Estas siempre son soluciones dbiles, pero no siempre son soluciones entrpicas. El ujo
numrico as denido no importar en la mayora de los casos, pues a pesar de ser soluciones
del problema de Riemann no entrpicas, no siempre la solucin numrica ser no entrpica.
Pero si F
(u
l
) < 0 < F
(u
r
), puede darse esa situacin. Sin embargo, bastar con modicar
ligeramente el ujo numrico para obtener soluciones numricas entrpicas en todos los
casos:
G
G
(v, w) =
_
_
_
mn
vuw
F(u) si v w
max
wuv
F(u) si v > w
(3.27)
La desventaja que tiene el mtodo de Godunov es el coste numrico que implica su
uso, pues es necesario resolver un problema de Riemann para cada nodo del mallado. La
idea de los dos siguientes esquemas es similar a la de Godunov, pero utilizan una solucin
aproximada para dichos problemas. En [18] podemos encontrar cmo se deducen.
3.2. Elementos nitos: caractersticas-Galerkin 19
El mtodo de Murman-Roe toma como funcin de ujo numrico:
G
R
(v, w) =
_
F(v) si a(v, w) > 0
F(w) si a(v, w) < 0
(3.28)
donde
a(v, w) =
_
F(v)F(w)
vw
si v ,= w
F
(v) si v = w
(3.29)
Y que tambin puede escribirse de la siguiente forma:
G
R
(v, w) =
1
2
[F(v) +F(w) [a(v, w)[(w v)] (3.30)
El inconveniente de este esquema es que puede devolver soluciones dbiles no entr-
picas.
El esquema de Engquist-Osher, en cambio, evita esta contrariedad tomando el si-
guiente ujo numrico:
G
EO
(v, w) =
1
2
_
F(v) +F(w)
_
w
v
[F
()[ d
_
(3.31)
As pues, ya tenemos varios mtodos de volmenes nitos entre los que elegir para
realizar las simulaciones de la ecuacin de Burgers en el captulo siguiente. Para nalizar,
podemos apuntar que, al igual que el de Godunov, tambin obtienen soluciones entrpicas,
aunque ser necesario imponer ciertas restricciones sobre el grosor de la malla y el tamao
del paso temporal. En [31] se ofrece un anlisis ms profundo de estos aspectos.
3.2. Elementos nitos: caractersticas-Galerkin
Una de las tcnicas ms usadas en la simulacin en la ingeniera es el mtodo de
los elementos nitos (FEM). La idea original apareci publicada por primera vez en el
apndice de un artculo de Courant en 1943 (cf. [34]), hecho por el que se le conoce como
el padre de los elementos nitos. A nales de la dcada de los cincuenta, con la aparicin
de los recursos computacionales necesarios, comenz a usarse para la resolucin numrica
de ecuaciones en derivadas parciales en ingeniera estructural (ecuaciones de elasticidad,
ecuaciones de lminas...). Fue a mediados de los sesenta cuando su uso se generaliz a otras
reas, no solo de la ingeniera, sino de la ciencia en general, llegando a usarse en problemas
tan dispares como mecnica de uidos o procesos de reaccin-difusin.
3.2.1. FEM: conceptos bsicos
Si bien cada problema debe ser tratado de manera particular, la lnea que hay que
seguir en todos ellos para aplicar el mtodo de elementos nitos es siempre la misma. En
20 Captulo 3. Mtodos numricos
funcin de la dicultad del problema y de la precisin requerida se optar por unas variantes
u otras del mtodo, usando diferentes espacios de funciones, mtodos adaptativos etc.; pero,
en cualquier caso, dada una ecuacin o sistema de ecuaciones en derivadas parciales, esta
tcnica consiste, principalmente, en completar los siguientes cuatro pasos:
1. A partir de las ecuaciones del problema, se plantea la formulacin variacional de este,
obteniendo una nueva armacin que debe cumplirse para todas las funciones de un
determinado espacio V de dimensin innita.
2. Se construyen los espacios de dimensin nita V
h
sobre los que se calcularn las
aproximaciones.
3. Se discretiza y resuelve el problema variacional sobre V
h
.
4. Se implementa el mtodo en un ordenador.
A n de ilustrar el procedimiento, vamos a presentar un ejemplo en el que deta-
llaremos los tres primeros pasos. Consideremos el siguiente problema de contorno para la
ecuacin de Poisson:
_
u = f, en
u = 0, en
(3.32)
donde R
2
es un dominio abierto y acotado con frontera . Denotaremos por V el
espacio (de dimensin innita) de funciones admisibles, que, por el momento, deniremos
de la siguiente manera:
V := v [ v es continua en ,
v
x
1
y
v
x
2
son
continuas a trozos en y v = 0 en
(3.33)
La imposicin de la condicin v = 0 en es clara. En cuanto a las otras dos, nos
permitirn trabajar con derivadas parciales. Si ahora multiplicamos la ecuacin en (3.32)
por una funcin v V cualquiera e integramos sobre , obtenemos la siguiente ecuacin:
uv dx =
_
fv dx (3.34)
Sobre la integral de la izquierda podemos aplicar la siguiente frmula de Green:
_
uv dx =
_
v
u
n
dx
_
uv dx =
v|
=0
uv dx (3.35)
de manera que llegamos a la formulacin variacional que estbamos buscando:
Hallar u V tal que
_
uv dx =
_
fv dx, v V (3.36)
Es sencillo comprobar que toda solucin de (3.32) tambin es solucin de (3.36). El inverso
tambin es cierto, siempre que u sea lo sucientemente regular.
3.2. Elementos nitos: caractersticas-Galerkin 21
Ahora tenemos que construir un espacio V
h
V (esta inclusin no siempre es nece-
saria, pero la consideraremos por simplicidad) de dimensin nita. Supondremos tambin
que es una curva poligonal. Hacemos una triangulacin de , dividindolo en tringulos
K
1
, ..., K
m
T
h
de manera que =
m
j=1
K
j
sin solaparse y solo con uniones lado-lado o
vrtice-vrtice. En la siguiente gura tenemos un ejemplo de triangulacin vlida.
Figura 3.2: a
Por h entendemos la longitud del lado ms largo de entre todos los tringulos en
T
h
. Entonces, denimos V
h
de la siguiente forma:
V
h
:= v [ v es continua en , v[
K
es lineal K T
h
, v[
= 0 (3.37)
Claramente, V
h
V . Para determinar una funcin v V
h
, basta con elegir los valores de v
en los nodos interiores N
1
, ..., N
M
(en los exteriores vale siempre 0). As, podemos denir
la siguiente base para V
h
:
M
j=1
=
j
V
H
[
j
(N
i
) =
ij
i = 1, ..., M (3.38)
de tal modo que podemos expresar cualquier v V
h
como:
v(x) =
M
j=1
v(N
j
)
j
(x), x (3.39)
La siguiente gura muestra una de estas funciones bsicas:
Figura 3.3: a
Ya solamente nos queda formular el problema discreto acorde con los elementos
nitos que hemos denido. En este caso, la formulacin variacional discreta para (3.36)
22 Captulo 3. Mtodos numricos
queda:
Hallar u
h
V
h
tal que
_
u
h
v dx =
_
fv dx, v V
h
(3.40)
Dado que ahora las funciones son lineales y vienen determinadas por sus valores en los
nodos de la triangulacin, tal y como se expresa en (3.39), resolver el problema (3.40) es
equivalente a resolver un sistema de ecuaciones lineal A = b, donde:
A = (a
ij
) es una matriz M M que se llama matriz de rigidez y est formada por
los elementos a
ij
=
_
j
dx, con i, j = 1, ..., M.
= (
i
) es el vector de incgnitas, con los valores de u
h
en los M nodos interiores.
b = (b
i
) es el vector de masas, dado por b
i
=
_
f
i
dx
Es sencillo comprobar que la matriz A es simtrica y denida positiva, por lo que
es no singular y, en consecuencia, el sistema anterior tiene solucin nica. Tambin puede
probarse que la solucin u
h
obtenida as es la mejor aproximacin de u, en el sentido de
que
|u u
h
| |u v|, v V
h
(3.41)
donde |w| := (
_
w
2
dx)
1/2
. En particular, se cumple para la funcin interpolante u
h
V
h
(la que toma los valores exactos de u en los nodos). Las estimaciones del error cometido
pueden concretarse ms an, pudiendo demostrarse que
|u u
h
| C
1
h (3.42)
y que
|u u
h
| C
2
h
2
(3.43)
donde C
1
, C
2
R son constantes positivas que dependen solamente de la triangulacin.
Una vez especicados los tres primeros pasos del mtodo de elementos nitos para el
problema (3.32), solamente quedara implementarlo en un ordenador para su resolucin. Se
pueden usar los lenguajes de programacin genricos (Fortran, C++, Java...) o recurrir a
paquetes especcos. En [2], por ejemplo, se ofrece un sencillo cdigo en aproximadamente
50 lneas. Si se desea un software ms completo, una buena opcin es FreeFem++, desarro-
llado por Olivier Pironneau et al. [22]. Ser este ltimo el que usemos para las simulaciones
en el captulo 5.
Para nalizar, sealaremos que los resultados de convergencia (3.42) y (3.43) estn
basados en el denominado anlisis a priori, segn el cual un mtodo numrico converge si
es estable y consistente con el problema continuo. Sin embargo, en los ltimos tiempos se ha
dado un gran empuje desarrollando un rea con un enfoque distinto pero complementario:
el anlisis a posteriori, que dio lugar a los mtodos adaptativos. La idea fundamental
es la de, una vez realizado el clculo de una solucin, hallar una cota superior del error
en trminos de una constante (que se puede estimar rpidamente) multiplicada por los
residuos del problema (que son fcilmente calculables). A diferencia del anlisis a priori,
3.2. Elementos nitos: caractersticas-Galerkin 23
el anlisis a posteriori no necesita la consistencia del esquema con el problema continuo
para la convergencia, sino que requiere que los residuos tiendan a disiparse. La adaptacin
de malla que realizamos en el algoritmo del captulo 5 se basa en este tipo de anlisis del
error.
3.2.2. Mtodo Galerkin de las caractersticas
Como comentbamos en el apartado anterior, hay numerosas variantes del mtodo
de elementos nitos. Si bien todos siguen el esquema general presentado, cada uno de ellos
se acopla en cierta manera al problema que debe resolver. Nosotros nos vamos a centrar
en uno, descrito en [35], basado en una de las principales propiedades de las leyes de
conservacin: las curvas caractersticas. Veremos, adems, que este esquema nos ser muy
til en las simulaciones del captulo 5.
En el captulo 2 presentbamos este tipo de curvas, que en el caso de leyes de
conservacin escalares de la forma u
t
+ div F(u) = 0 son aquellas dadas por la ecuacin
diferencial ordinaria:
_
_
_
dX
dt
(t; s, x) = F
k=1
u
x
k
(X(t; 0, y), t)
dX
k
dt
(t; 0, y)
=
_
u
t
+F
(u) u
_
(X(t; 0, y), t)
(3.46)
Como podemos observar, en (3.45) aparecen trminos de la ecuacin de conveccin-difusin
similares a los que estudiaremos en el captulo 5, de ah nuestro inters por este mtodo.
Ahora solamente nos queda discretizar la derivada temporal. Para ello, podemos
considerar que se trata, simplemente, de una ecuacin diferencial ordinaria y aplicar un
esquema de Euler regresivo:
d u
dt
(y, t
n+1
)
u(y, t
n+1
) u(y, t
n
)
t
(3.47)
24 Captulo 3. Mtodos numricos
donde, tomando y = X(0; t
n+1
, x) y usando (3.45), queda:
d u
dt
(X(0; t
n+1
, x), t
n+1
)
u(X(0; t
n+1
, x), t
n+1
) u(X(0; t
n+1
, x), t
n
)
t
=
u(x, t
n+1
) u(X(t
n
; t
n+1
, x), t
n
)
t
(3.48)
Finalmente, sustituyendo en (3.46), obtenemos:
_
u
t
+F
(u) u
_
(x, t
n+1
)
u(x, t
n+1
) u(X(t
n
; t
n+1
, x), t
n
)
t
(3.49)
Ahora bien, X es, en general, una solucin no trivial de la ecuacin diferencial
ordinaria (3.44), por lo que normalmente no conoceremos su expresin. Por ello, tambin
tendremos que obtener una aproximacin de esta. Dado que se trata de una derivada
temporal y hemos semidiscretizado u en esa variable, podremos aproximar F
u en cada
iteracin:
dX
dt
(t; t
n+1
, x) = F
(u(X(t; t
n+1
, x), t)) (3.50)
Por ejemplo, podemos decantarnos de nuevo por un esquema de Euler regresivo:
F
(u(x, t
n+1
)) = F
(u(X(t
n+1
; t
n+1
, x), t
n+1
))
X(t
n+1
; t
n+1
, x) X(t
n
; t
n+1
, x)
t
(3.51)
de donde, usando (3.45), denimos la aproximacin:
X(t
n
; t
n+1
, x) X
n
(x) := x t F
(u(x, t
n+1
)) (3.52)
Tenemos, por tanto, el esquema semidiscretizado siguiente:
_
u
t
+F
(u) u
_
(x, t
n+1
)
u(x, t
n+1
) u(x t F
(u(x, t
n+1
)), t
n
)
t
(3.53)
El esquema anterior no es ms que otra forma de aproximar la derivada convectiva
(tambin denominada derivada sustancial o lagrangiana). Sin embargo, tiene la ventaja de
que nos permite usar sobre l elementos nitos. Por ejemplo, para la ecuacin de conveccin
u
t
+ a u = 0 (con a R
N
es la velocidad de conveccin), eligiendo un espacio V
h
apropiado, a partir de u
0
h
V
h
tendremos que buscar u
n+1
h
V
h
(con n = 0, 1, 2, ...) tal
que:
1
t
_
v(x) [u
n+1
h
(x) u
n
h
(x t a)]dx = 0, v V
h
(3.54)
Para terminar, nos remitiremos al artculo de Pironneau [35], en el que se realiza
un profundo anlisis de convergencia del mtodo Galerkin de las caractersticas para la
ecuacin del transporte lineal, tanto sin difusin como con ella. Adems, se da una cota del
error cometido, que es del orden x+t+x
2
/t en el caso de tomar elementos nitos de
tipo P1. En [36] tambin podemos encontrar otro estudio del mtodo, as como referencias
adicionales para su implementacin en otros tipos de problemas, como las ecuaciones de
Navier-Stokes incompresibles o problemas elpticos dominados por adveccin.
Captulo 4
Aplicaciones:
Problema de control unidimensional
En el Captulo 2 presentbamos los principales resultados sobre leyes de conserva-
cin escalares. Despus, en el Captulo 3 establecamos los mtodos ms generales para la
simulacin computacional de estas. En los dos siguientes captulos vamos a estudiar dos
problemas particulares, en los que podremos observar y usar las herramientas analticas y
numricas que hemos descrito anteriormente.
En esta primera aplicacin, como ejemplo de problema de control unidimensional,
consideraremos la ecuacin de Burgers viscosa junto con una condicin inicial u
0
y una
funcin objetivo u
.
4.1. Ecuacin de Burgers
La ecuacin de Burgers es uno de los ejemplos ms importantes entre las leyes de
conservacin. Aparece en numerosas situaciones de la mecnica de uidos, pues se trata
de una simplicacin de las ecuaciones de Navier-Stokes, y tambin es una ecuacin muy
recurrente en modelos de ujo de trco. En cualquier caso, se suele emplear para entender
mejor el comportamiento del problema general y para probar sobre l mtodos que poder
aplicar despus en situaciones ms complejas.
Esta ley de conservacin surge de considerar F(u) =
u
2
2
u
x
. La forma general de
la ecuacin viene dada por
u
t
+
x
_
u
2
2
_
=
2
u
x
2
(4.1)
donde podemos considerar u la velocidad del uido y el coeciente de viscosidad de
este. Se trata de la ecuacin en derivadas parciales ms simple que combina efectos de
propagacin no lineal y efectos de difusin. El caso particular en que = 0 tambin es de
gran inters, puesto que es el ms claro ejemplo de ecuacin en cuyas soluciones pueden
aparecer ondas de choque (recordemos que la solucin de este caso es, de hecho, el lmite
de (4.1) cuando 0). As pues, nosotros nos centraremos, sobre todo, en este ltimo.
u
t
+
x
_
u
2
2
_
= 0 (4.2)
26 Captulo 4. Aplicaciones: Problema de control unidimensional
Dado que se trata de una ley de conservacin escalar, podemos aplicar toda la teora
que presentamos en el captulo 2 en lo que respecta a curvas caractersticas y soluciones
clsicas, dbiles y entrpicas. As, podemos destacar las siguientes:
Las curvas caractersticas vienen dadas por X(t; x
0
) = x
0
+ t u
0
(x
0
) donde x
0
es
el pie de la curva caracterstica, cuando t = 0. Son rectas cuya pendiente la ja la
condicin inicial u
0
.
Las soluciones clsicas son de la forma u(x, t) = u
0
(x
0
), con x = x
0
+t u
0
(x
0
).
La condicin de Rankine-Hugoniot implica que la velocidad de una curva de discon-
tinuidad es la media de los valores a cada lado de esta ( = (u
l
+u
r
)/2).
La condicin de entropa requiere que si hay una discontinuidad que se propaga,
entonces el valor de la izquierda ha de ser mayor al de la derecha (u
l
> u
r
).
Pero, adems de ese enfoque hiperblico de la ecuacin, tambin es posible orientarlo
desde el punto de vista que empleamos con el teorema de Kruzkov. Es decir, podemos
suponer que nuestra ecuacin es (4.1), cuya solucin podremos obtener de otra manera que
veremos a continuacin, y despus hacer tender la viscosidad a 0. Este mtodo, denominado
enfoque de la viscosidad disipativa, es mucho ms natural desde el punto de vista fsico,
puesto que la ecuacin de Burgers es la idealizacin de modelos ms complejos en los que
cabe esperar que s exista algo de viscosidad.
La manera de resolver (4.1) fue descubierta por E. Hopf [23] y J. D. Cole [10] de
manera independiente y consiste en hacer un cambio de variable para obtener la ecuacin
del calor, cuya solucin es conocida. Para realizar la susodicha transformacin de Cole-
Hopf, tomamos:
u(x, t) = 2
x
(x, t)
(x, t)
(4.3)
de manera que el problema (4.1) se convierte en la siguiente ecuacin de difusin lineal:
_
xx
= 0, x R, t > 0
(x, 0) = e
1
2
x
0
u
0
() d
, x R
(4.4)
La solucin a este problema es de sobra conocida (ver, por ejemplo, [15]) y viene dada por:
(x, t) =
1
2
t
_
(y, 0)e
(yx)
2
4t
dy (4.5)
que, sustituyndolo en (4.3), nos devuelve la solucin de (4.1):
u(x, t) =
_
(y x)(y, 0)e
(yx)
2
4t
dy
t
_
(y, 0)e
(yx)
2
4t
dy
(4.6)
Como veremos en la siguiente seccin, esta forma de resolver (4.1) nos permitir desarrollar
otro mtodo numrico para obtener soluciones aproximadas.
4.2. Problema de control 27
4.2. Problema de control
En esta seccin plantearemos formalmente el problema de optimizacin que quere-
mos llevar a cabo, as como el procedimiento que realizaremos para solucionarlo. Se trata de
un problema de gran actualidad en la ingeniera aeronutica, pues es una representacin
simplicada de cmo llegan a la supercie terrestre las ondas de sonido producidas por
una aeronave al traspasar la barrera del sonido (el denominado boom snico). Al intentar
superar la velocidad del sonido, se genera una explosin cuya onda sonora, al llegar a tie-
rra, resulta peligrosa para la salud por su intensidad. Por ello, el Concorde, por ejemplo,
solamente volaba a velocidad supersnica cuando sobrevolaba el ocano Atlntico.
Figura 4.1: Grco de la presin ejercida so-
bre la supercie terrestre por el boom snico.
Los saltos en la lnea roja implican sendas ex-
plosiones.
Figura 4.2: Imagen de la explosin
producida por un avin al superar
la velocidad del sonido, en torno a
los 343m/s.
En [24] se puede encontrar un amplio estudio sobre el mencionado problema, sobre
el que se explican aspecto tanto tericos como prcticos. En nuestro caso, trataremos
una simplicacin de este. Partiendo de la ecuacin de continuidad, se asume que hay
equilibrio termodinmico, se desechan trminos de orden alto y se hace un cambio de
variables, obtenindose la ya conocida ecuacin de Burgers viscosa. En [29] puede verse el
razonamiento completo de esta simplicacin.
Ahora que se ha iniciado una nueva carrera por conseguir aviones comerciales de
tipo supersnico, encontrar soluciones al problema mencionado es de gran inters. Nuestro
planteamiento consistir en averiguar cmo modicar las condiciones iniciales (la geometra
del avin en una situacin real) con el n de conseguir una determinada solucin en un
instante prejado.
28 Captulo 4. Aplicaciones: Problema de control unidimensional
4.2.1. Planteamiento formal
Dadas una funcin u
d
/
2
(R) y un instante T, queremos encontrar una condicin
inicial u
0
|
ad
que nos minimice el siguiente funcional de coste:
J(u
0
) =
_
R
[u(x, T) u
d
(x)[
2
dx (4.7)
donde u(x, t) es la nica solucin entrpica de la ecuacin de Burgers no viscosa:
_
_
_
u
t
+
x
_
u
2
2
_
= 0, (x, t) R(0, T)
u(x, 0) = u
0
(x), x R
(4.8)
Por |
ad
denotamos el conjunto de condiciones iniciales admisibles. En nuestro caso, con-
sideraremos |
ad
= f /
C, siendo K R un intervalo
acotado y C > 0 una constante. En [7] podemos encontrar anlisis ms profundo de este
problema de minimizacin. En l se demuestra la existencia de minimizadores y se muestran
contraejemplos para la unicidad.
Ahora bien, en las aplicaciones prcticas (es decir, en los clculos computaciona-
les) uno no puede trabajar directamente con el problema continuo. Ser necesario que lo
discreticemos para poder trabajar con l. As pues, consideraremos el funcional:
J
(u
0
) =
x
2
j=
(U
N+1
j
U
d
j
)
2
(4.9)
donde u
0
= U
0
j
es la condicin inicial discretizada; U
d
= U
d
j
, la discretizacin de
u
d
(por ejemplo, la obtenida mediante (3.1), u
d
j
= u
d
j
); y U
N+1
= U
N+1
j
la solucin
en t = T obtenida mediante un esquema conservativo como los que mencionaremos en la
siguiente seccin. En el citado artculo tambin se puede encontrar una demostracin para
la existencia de solucin del problema
mn
u
0
U
ad,
J
(u
0
) (4.10)
siendo |
ad,
el conjunto de condiciones iniciales discretas admisibles (el equivalente discreto
al conjunto |
ad
). Este ser, por tanto, el problema de optimizacin que trataremos de
solucionar.
4.2.2. Optimizacin
La manera ms eciente de aproximar los mnimos de un funcional son los algoritmos
basados en el gradiente. Estos estn diseados para alcanzar un mnimo (sin garanta de
que sea local o global) de la funcin siguiendo la direccin negativa que determina el
gradiente en cada punto. Intuitivamente, se basan en bajar de una montaa siguiendo la
pendiente descendente. Matemticamente, consisten en, dado un funcional F y un punto
4.2. Problema de control 29
inicial x
0
, calcular sucesivamente x
n+1
= x
n
n
F(x
n
) (n 0), de manera que para
n
sucientemente pequeo, F(x
0
) F(x
1
) F(x
2
) ... Dependiendo del mtodo escogido,
la forma de aproximar el gradiente y de tomar un tamao de paso u otro sern distintas.
En nuestro caso, tendremos que buscar una manera de aplicar un algoritmo de ese
tipo al funcional (4.7). Habitualmente, se suelen considerar dos posibles aproximaciones:
el enfoque discreto, que consiste en discretizar primero y despus calcular el gradiente
discreto; o el enfoque continuo, en el que primero se obtiene el gradiente de manera analtica
y despus se discretiza. Existen otras opciones, como el mtodo de descenso alternante
planteado en [7], que a riesgo de aumentar el costo computacional de cada paso, obtienen
mejores resultados con soluciones discontinuas en un menor nmero de iteraciones.
As pues, el objetivo de este apartado ser encontrar la manera de determinar el
gradiente de J, para lo cual analizaremos la sensibilidad de este a los cambios en la condicin
inicial u
0
. Solamente consideraremos el enfoque discreto y no tendremos en cuenta posibles
discontinuidades en las soluciones.
Sea u
0
(
1
0
(R) una condicin inicial con soporte compacto dada, para la cual la
ecuacin (4.8) tiene solucin clsica u en R[0, T] para cierto T > 0. Supongamos tambin
que puede extenderse a un intervalo de tiempo mayor, [0, T +] con > 0. Por otro lado,
sea u
0
(
1
0
(R) una posible variacin de u
0
, que, dada la velocidad de propagacin nita,
solamente afectar a la solucin en [0, T]. Entonces, para un > 0 sucientemente pequeo,
la solucin u
(
1
(R(0, T)) como:
u
= u +u +o() (4.12)
con respecto a la topologa de (
1
y siendo u la solucin de la ecuacin linealizada:
_
t
u +
x
(uu) = 0, (x, t) R (0, T)
u(x, 0) = u
0
(x), x R
(4.13)
Antes de continuar, introduciremos el concepto de derivada de Gateaux, que gene-
raliza la nocin de derivada direccional.
Denicin 4.1. Sean X e Y dos espacios de Banach y sea F : U Y , con U X
abierto, una funcin. Denimos la derivada de Gateaux de F en un punto x U en la
direccin X como
dF(x, ) := lm
0
F(x +) F(x)
(4.14)
Diremos que F es diferenciable Gateaux si el lmite existe para todo X.
As pues, sea J la derivada de Gateaux de J en u
0
en la direccin u
0
. Esta vendr
dada por
J =
_
R
_
u(x, T) u
d
(x)
_
u(x, T) dx (4.15)
30 Captulo 4. Aplicaciones: Problema de control unidimensional
donde u resuelve el sistema (4.13). Esta expresin puede simplicarse haciendo uso del
sistema adjunto de (4.8):
_
t
p +u
x
p = 0, (x, t) R (0, T)
p(x, T) = u(x, T) u
d
(x), x R
(4.16)
Ahora, multiplicando (4.13) por p, integrando por partes y teniendo en cuenta que p satis-
face (4.16), obtenemos que:
J =
_
R
p(x, 0)u
0
(x) dx (4.17)
Esto nos permite calcular de manera sencilla una direccin de descenso en el mtodo del
gradiente, sin ms que tomar u
0
(x) = p(x, 0). Recordemos que, tal y como planteamos
estos tipos de algoritmos, habremos alcanzado un mnimo si el gradiente es cero. En el caso
de J, si estamos en un mnimo, J ser nulo y el integrando tambin si este no cambia de
signo, como sera si tomsemos u
0
como hemos mencionado.
No obstante, en la prctica esa direccin podra no resultar muy til, pues aunque
tomemos una u
0
suave, nada nos garantiza que la solucin vaya a seguir siendo clsica
durante el proceso iterativo. En ese sentido, es recomendable hacer un estudio ms avanzado
en el que se tengan en cuenta los posibles choques que puedan aparecer. Nosotros no
profundizaremos en ello, remitindonos a [7] para un mayor detalle al respecto.
4.2.3. Aproximaciones numricas
En el apartado anterior obtenamos una forma de calcular el gradiente de J de ma-
nera analtica. Sin embargo, como comentbamos inicialmente, en la prctica trabajaremos
con J
_
U
n+1
j
= u
n
j
t
x
_
1
G(U
n
; j) U
n
j
+
2
G(U
n
; j) U
n
j+1
1
G(U
n
; j 1) U
n
j1
2
G(U
n
; j 1) U
n
j
= 0,
j Z, n = 0, ..., N
(4.18)
Esto nos permite tambin escribir el sistema adjunto discreto de la siguiente forma:
_
_
_
P
n
j
= P
n+1
j
+
t
x
_
1
G(U
n
; j)(P
n+1
j+1
P
n+1
j
) +
2
G(U
n
; j 1)(P
n+1
j
P
n+1
j1
)
_
P
N+1
j
= P
T
j
, j Z, n = 0, ..., N
(4.19)
De hecho, multiplicando (4.18) por P
n+1
j
, sumando en j, usando (4.19) y tomando
P
T
j
= U
N+1
j
U
d
j
, obtenemos el equivalente discreto de (4.17):
J
= x
jZ
P
0
j
U
0
j
(4.20)
lo cual nos permite, de manera anloga al caso continuo, tomar como direccin de descenso
U
0
= P
0
.
As pues, ya tenemos la forma de aproximar numricamente, tanto la solucin de la
ecuacin de Burgers (4.8), como el sistema linealizado (4.13) y el adjunto (4.16), adems
de la direccin de descenso para el mtodo del gradiente.
En cuanto al esquema de Roe, no siendo diferenciable, no es posible calcular el
gradiente de J
n
j
(P
n+1
j+1
P
n+1
j
) +
n
j
(P
n+1
j
P
n+1
j1
)
_
P
N+1
j
= P
T
j
, j Z, n = 0, ..., N
(4.24)
donde
n
j
=
1
2
_
A(U
n
j
, U
n
j+1
) +[A(U
n
j
, U
n
j+1
)[
(4.25)
n
j
=
1
2
_
A(U
n
j
, U
n
j+1
) [A(U
n
j
, U
n
j+1
)[
(4.26)
32 Captulo 4. Aplicaciones: Problema de control unidimensional
Mediante el esquema anterior se obtiene, nuevamente, la direccin de descenso U
0
= P
0
,
aunque recordemos que en este caso no estamos hallando el gradiente de J
. Esta aproxi-
macin con pseudogradientes es muy habitual en el diseo ptimo en la aeronutica, en la
que los esquemas usados suelen ser no diferenciables.
Para nalizar esta seccin, introduciremos un esquema basado en la transformacin
de Cole-Hopf que presentamos al inicio de este captulo. El inconveniente de esta, por el
que la investigacin por esta va no ha sido muy productiva, es que la funcin (x, 0) puede
hacerse enorme o tremendamente pequea, por lo que muchos lenguajes de programacin
no podran manejarla correctamente. Sin embargo, autores como Ohwada, del que hemos
tomado este mtodo (cf. [33]), han desarrollado alternativas para poder emplear dicha
transformacin sin problemas de precisin.
En el caso citado se observa que, tomando los tamaos de paso temporal y espacial
adecuados, se puede determinar el valor de la solucin en cada nodo solamente con el valor
de (x, 0) en un entorno de este. Sin entrar en grandes detalles, bastara con tener en
cuenta el decaimiento exponencial en los trminos de los integrandos. As pues, solamente
quedara pendiente la aproximacin de la condicin inicial. Ohwada considera tres tipos de
interpolaciones polinmicas, de manera que las integrales pueden calcularse analticamente.
Nosotros consideraremos nicamente la de polinomios cbicos a trozos, que con la notacin
habitual queda:
u(x
j
+, 0)
U
0
j+1
2U
0
j
+U
0
j1
(x)
2
3
+
U
0
j+1
U
0
j1
2x
+U
0
j
, 0 < < x (4.27)
con la que se obtiene el siguiente esquema:
U
n+1
j
= u
n
j
+
s
1
t +s
2
t
2
+s
3
t
3
+s
4
t
4
k
0
+k
1
t +k
2
t
2
+k
3
t
3
+k
4
t
4
(4.28)
donde
s1 = 6ab + 12c
2
, s
2
= (18ab
2
+ 6a
2
c) + 24bc
2
,
s3 = 18ab
3
+ 12b
2
c
2
, a
4
bc 6(ab
4
+a
2
b
2
c)
k
0
= 6, k
1
= 24b, k
2
= (36b
2
+ 6ac),
k
3
= a
3
c + (24b
3
+ 12abc), k
4
= a
3
bc + 6(b
4
+ab
2
c),
(4.29)
siendo
a = U
n
j
, b =
U
n
j+1
U
n
j1
2x
, c =
U
n
j+1
2U
n
j
+U
n
j1
(x)
2
(4.30)
4.2.4. Implementacin
Ahora que ya disponemos de las herramientas numricas necesarias para resolver el
problema de optimizacin, vamos a detallar el algoritmo que emplearemos para calcular la
solucin. En el apndice A se incluye el cdigo de Matlab completo empleado para obtener
los resultados, mientras damos en el pseudocdigo (Burgers) de la pgina siguiente un
esquema sencillo de los pasos a seguir.
4.2. Problema de control 33
Pseudocdigo Burgers
Entrada: Condicin inicial u
0
, tiempo nal T, funcin objetivo u
d
y parmetros de la dis-
cretizacin (paso temporal dt, intervalo espacial [a,b], grosor del mallado dx, esquemas
numricos...) y del mtodo del gradiente (paso inicial ep, aumento ap>1, disminucin
an<1, tolerancias...).
1: Inicializacin:
2: u0 u
0
(a,a+dx, ...,bdx,b) // Discretizacin de la condicin inicial
3: uT u
d
(a,a+dx, ...,bdx,b) // Discretizacin de la funcin objetivo
4: solverburgers Esquema numrico para la ecuacin de Burgers
5: solveradj Esquema numrico para el adjunto
6: Fin Inicializacin
7: u solverburgers(u0) // Solucin de la ecuacin de Burgers
8: pT u(T,)-uT
9: p solveradj(pT,u) // Solucin del adjunto
10: func
1
2
dx
k
[uT(k)u(T,k)]
2
// Valor del funcional
11: gtv p(0,) // Valor del gradiente del funcional
12: resid (
k
gtv(k)
2
)
1
2
// Residuos
13: iter 0 // Contador de iteraciones
14: Mientras log(func) >tol y ep<epmin hacer
15: iter iter+1
16: u0new u0epgtv
17: u solverburgers(u0)
18: funcn
1
2
dx
k
[uT(k)u(T,k)]
2
19: Si func>funcn entonces
20: func funcn
21: ep epap
22: u0 u0new
23: pT u(T,)-uT
24: p solveradj(pT,u)
25: gtv p(0,)
26: Si no
27: ep epan
28: Fin Si
29: Fin Mientras
30: Devolver u0
Salida: Aproximacin u
0
.
34 Captulo 4. Aplicaciones: Problema de control unidimensional
4.3. Resultados
A continuacin, presentaremos los resultados obtenidos en las simulaciones. A n de
poder comparar los distintos mtodos, trabajaremos con los mismos parmetros de la dis-
cretizacin. As, salvo que indiquemos lo contrario, consideraremos t = 0,05 y t = 0,005
y el dominio [a, b] [0, T] = [4, 4] [0, 1]. En cuanto a la condicin inicial y funcin ob-
jetivo elegidas, tomaremos siempre funciones como las vistas en el problema de Riemann
en el apartado 2.4:
Condicin inicial u
0
(x; u
0
l
, u
0
r
, c
0
) =
_
u
0
l
si x < c
0
u
0
r
si x > c
0
Funcin objetivo:
Si u
d
l
> u
d
r
u
d
(x; u
d
l
, u
d
r
, c
d
) =
_
u
d
l
si x < c
d
u
d
r
si x > c
d
Si u
d
l
< u
d
r
u
d
(x; u
d
l
, u
d
r
) =
_
_
u
d
l
si x < u
d
l
x si u
d
l
< x < u
d
r
u
d
r
si x > u
d
r
Recordemos que para la condicin inicial u
0
, la nica solucin entrpica es una de las dos
anteriores, dependiendo de los valores de u
0
l
y u
0
r
(y teniendo en cuenta que t = 1). Adems,
en el mtodo del gradiente, como condiciones de paro usaremos el valor del funcional J
< 10
4
.
4.3. Resultados 35
Figura 4.4: A la derecha, el valor de la aproximacin de u en t = 1. A la
izquierda, la condicin inicial ptima obtenida. Criterio de paro: J
< 10
4
.
Como vemos, el esquema de Lax-Friedrichs es el que devuelve la solucin ms ines-
table. De hecho, como podremos ver a continuacin, es el que mayor nmero de iteraciones
necesita para conseguir una precisin aceptable. Los otros dos son mucho ms rpidos y
ofrecen soluciones menos oscilantes, aunque el de Roe se queda estancado en un mnimo
local.
J
10
3
10
4
10
5
10
6
10
7
10
8
Lax-Friedrichs 7 71 >10000
Osher 4 5 8 24 197 >10000
Roe 4 5 8 24 129 No se alcanza
Cuadro 4.1: Nmero de iteraciones necesarias para alcanzar el valor del funcional indicado
y evolucin del logaritmo de este en las 1000 primeras iteraciones.
36 Captulo 4. Aplicaciones: Problema de control unidimensional
El segundo experimento que realizaremos ser uno que tenga una onda de choque.
Para ello, tomaremos u
0
l
= 2, u
0
r
= 1 y c
0
= 0. Vamos a tratar de conseguir alcanzar
u
d
(x; 1, 0, 1).
Figura 4.5: A la derecha, el valor de la aproximacin de u en t = 1. A la izquierda,
la condicin inicial ptima obtenida. Criterio de paro: J
< 10
4
, salvo para Lax-
Friedrichs, que paramos en la iteracin 5000.
De nuevo, nos encontramos con soluciones muy oscilantes, con un comportamiento
similar al caso de la onda de rarefaccin. Cabe destacar que la discontinuidad hace que
la precisin que se puede obtener por el mtodo del gradiente ya no sea la misma que
en el primer experimento, lo cual coincide con lo que habamos predicho al presentar los
esquemas numricos.
4.3. Resultados 37
J
10
3
10
4
10
5
10
6
10
7
Lax-Friedrichs 10 >10000
Osher 5 27 115 555 >10000
Roe 7 30 No se alcanza
Cuadro 4.2: Nmero de iteraciones necesarias para alcanzar el valor del funcional indicado
y evolucin del logaritmo de este en las 1000 primeras iteraciones.
Finalmente, realizaremos un ltimo experimento, usando el esquema propuesto por
Ohwada para aproximar la solucin de la ecuacin de Burgers. Dado que no se conoce
ningn esquema anlogo para resolver el sistema adjunto, haremos uso de uno de los
conservativos que ya hemos empleado. En concreto, elegiremos el de Osher, por ser el que
mejores resultados ha arrojado hasta ahora. Esto no nos garantiza que la direccin de
descenso escogida sea la ptima, pero tambin debera devolver soluciones aceptables.
Como parmetros usaremos = 10
5
y, siguiendo la sugerencia planteada en el pro-
pio artculo [33], introduciremos en el algoritmo de clculo una modicacin que aumente
localmente la viscosidad cuando exista el riesgo de que aparezcan oscilaciones en la solucin.
En cuanto a los problemas, volveremos a considerar los dos planteados anteriormente.
Figura 4.6: Solucin para el problema de la onda de rarefaccin. A la derecha, el
valor de la aproximacin de u en t = 1. A la izquierda, la condicin inicial ptima
obtenida. Criterio de paro: J
< 10
4
.
38 Captulo 4. Aplicaciones: Problema de control unidimensional
Figura 4.7: Solucin para el problema de la onda de choque. A la derecha, el valor
de la aproximacin de u en t = 1. A la izquierda, la condicin inicial ptima
obtenida. Criterio de paro: J
< 10
4
.
Como se muestra en la tabla siguiente, el nmero de iteraciones necesarias mejora,
incluso, el del esquema de Osher. Sin embargo, esto se consigue a costa de emplear ms
tiempo en cada iteracin, ya que el esquema de Ohwada es ms lento. Adems, el algoritmo
alcanza un mnimo local en ambos casos. Por tanto, podra resultar interesante tratar de
obtener un esquema para el sistema adjunto que garantizara una direccin de descenso
adecuada.
J
10
3
10
4
10
5
Experimento 1 4 8 No se alcanza
Experimento 2 5 15 No se alcanza
Captulo 5
Aplicaciones: Comportamiento
asinttico multi-dimensional
En esta segunda aplicacin de las leyes de conservacin, vamos a considerar una
ecuacin escalar de conveccin-difusin con un trmino no lineal. Esta vendr dada de la
siguiente forma:
_
u
t
u = a (H(u)) en R
N
(0, )
u(x, 0) = u
0
(x) en R
N
(5.1)
donde a R
N
es un vector constante, H (
1
(R) tal que H(0) = 0 y u
0
/
1
(R
N
).
Esta ecuacin es un modelo para el efecto regularizador de la viscosidad en una ley de
conservacin hiperblica. Aparece, por ejemplo, en el desplazamiento de un uido a travs
de un medio poroso cuando se tiene en cuenta la capilaridad (cf. [4]) o en la contaminacin
entre lotes en el transporte mediante tuberas al usar la tcnica de produccin discontinua
(cf. [39]).
En esta ocasin, a diferencia del captulo anterior, nos interesa el comportamiento
de la ecuacin cuando el tiempo transcurrido es muy grande. Sobre este tema hay numerosa
bibliografa, entre las que podemos destacar [1], [6], [13] y [14].
A pesar de que los resultados son para dimensin N cualquiera, a la hora de realizar
las simulaciones, nosotros nos centraremos en un caso particular de estas, tomando N = 2,
a = (1, 0) y H(u) = [u[
q1
u, con q (1, ). La razn de considerar el caso bidimensional
es meramente prctico, puesto que nos interesa poder visualizar los resultados, mientras
que la eleccin de H responde al inters de estudiar una no linealidad homognea y el
diferente comportamiento de la solucin en funcin del exponente q. Cabe sealar tambin
que, salvo que se indique lo contrario, cuando nos reramos a (5.1), estaremos considerando
H(u) = [u[
q1
u.
Empezaremos comprobando que (5.1) se trata, en efecto, de una ley de conser-
vacin. Despus enunciaremos y demostraremos resumidamente los principales resultados
que trataremos de capturar numricamente. Finalmente, concretaremos el problema bi-
dimensional descrito anteriormente, lo aproximaremos numricamente y recogeremos los
resultados obtenidos en las simulaciones.
40 Captulo 5. Aplicaciones: Comportamiento asinttico multi-dimensional
5.1. Ley de conservacin
Lo primero que podemos observar en la ecuacin es que se trata, efectivamente, de
una ley de conservacin, ya que se conserva la masa de la solucin a lo largo del tiempo.
Podemos integrar la ecuacin en R
N
con respecto a las variables espaciales:
_
R
N
u
t
dx
_
R
N
udx =
_
R
N
x
([u[
q1
u) dx (5.2)
Ahora bien:
En el primer sumando, podemos sacar la derivada fuera:
_
R
N
u
t
dx =
d
dt
_
R
N
udx (5.3)
Los otros dos sumandos son nulos. Para probarlo, dado que la ecuacin (5.1) genera un
semigrupo de contracciones en /
1
(R
N
) (vase la proposicin 5.1 ms adelante), ser
suciente con vericarlo para un conjunto denso de funciones; por ejemplo, aquellas
que son (
_
B
R
0 udx +
_
B
R
u nd
_
= 0
(5.4)
donde B
R
es una bola abierta de radio R centrada en el origen con frontera B
R
y n es el vector normal a B
R
. En la segunda igualdad hemos aplicado integracin
por partes y la ltima igualdad es cierta ya que, siendo el soporte de las funciones
compacto, podemos encontrar un radio lo sucientemente grande para el que u se
anula en el exterior de la correspondiente bola y, por tanto, su gradiente tambin.
Del mismo modo:
_
R
N
a (H(u)) dx = lm
R
_
B
R
a (H(u)) dx
= lm
R
_
_
B
R
H(u)( a) dx +
_
B
R
aH(u) nd
_
= 0
(5.5)
donde hemos vuelto a aplicar integracin por partes. La integral sobre la frontera de
la bola tambin es nula, ya que H(0) = 0 y H (
1
(R
N
), por lo que H es localmente
Lipschitz y siempre podremos encontrar un radio sucientemente grande para que
[H(u)[ [u[, que se anular en el exterior de la correspondiente bola.
Por lo tanto, tal y como habamos enunciado, la solucin conserva su masa a lo
largo del tiempo:
d
dt
_
R
N
u(x, t) dx = 0 (5.6)
5.2. Resultados analticos existentes 41
y, en concreto:
_
R
N
u(x, t)dx =
_
R
N
u
0
(x)dx, t > 0 (5.7)
De aqu en adelante, denotaremos por M R esa masa constante.
De hecho, tambin podemos reescribir la ecuacin en (5.1) para que adquiera la for-
ma con la que denamos las leyes de conservacin en la introduccin. Como u = div(u),
tenemos:
0 = u
t
u a (H(u))
= u
t
div(u) + div(a H(u))
= u
t
+ div(u a H(u))
(5.8)
que es, precisamente, la forma de ecuacin que presentbamos en (1.1) con
Q(u) = u a H(u).
En las simulaciones que realicemos ser importante conseguir observar esta propie-
dad de conservatividad, que es, de hecho, la ms importante entre las que estudiaremos en
este trabajo, puesto que es la caracterstica principal en las leyes de conservacin.
5.2. Resultados analticos existentes
Adems de la conservacin de la masa, la ecuacin de conveccin-difusin (5.1)
cumple otras propiedades, relacionadas con su comportamiento asinttico y la distribucin
de la masa a lo largo del tiempo. En este apartado, enunciaremos las ms destacadas y
daremos una prueba esquemtica de alguno de ellos, haciendo referencia en cada caso a
la fuente original en la que encontrar las demostraciones completas. Por comodidad, en
muchos casos omitiremos la dependencia espacial de u e, incluso, la temporal, denotando
simplemente u(t) u(x, t) o u u(x, t).
Tal y como veremos ms adelante, el decaimiento de la norma usual | |
p
(con
1 p ) de la ecuacin cuando t puede ser estimado de manera general sin
depender del valor de q. Sin embargo, podemos observar un comportamiento distinto en
las soluciones de (5.1) en funcin de este parmetro. En realidad, podemos distinguir tres
casos:
El valor q = 1 + 1/N marca la frontera entre los distintos comportamientos. Para
dicho valor, la ecuacin admite soluciones autosemejantes de la forma
u(x, t) = t
N
2
f
_
x
t
_
(5.9)
siendo f una funcin en /
1
(R
N
). En [1, 13, 14] se demuestra que dicha funcin es la
nica solucin de
f
x f
2
N
2
f = a ([f[
1/N
f), x R
N
(5.10)
42 Captulo 5. Aplicaciones: Comportamiento asinttico multi-dimensional
de manera que
_
R
N
f(x)dx = M. Por tanto:
t
N
2
1
1
p
u =
x
1
([u[
q1
u), x R
N
(0, )
u(x, 0) = M, x R
2
(5.12)
donde
(R
N
) existe una nica solucin u (([0, ); /
1
(R
N
))/
(R
N
(R
N
), se tiene
|u(t) v(t)|
1
|u
0
v
0
|
1
, t > 0 (5.13)
por lo que (5.1) genera un semigrupo de contracciones en /
1
(R
N
).
De esta manera, adems de la existencia y unicidad de solucin, ya tenemos la
primera estimacin del decaimiento para la norma ||
1
. La demostracin puede encontrarse
en [14]. El siguiente teorema, tambin probado detalladamente en el citado artculo, nos
da la generalizacin del decaimiento para toda norma | |
p
con p [1, ].
Teorema 5.1. Para todo p [1, ], existe una constante positiva C
p
= C(p, N) > 0 tal
que:
|u(t)|
p
C
p
|u
0
|
1
t
N
2
(1
1
p
)
, t > 0 (5.14)
para toda solucin de (5.1) con dato inicial u
0
/
1
(R
N
) /
(R
N
), siendo | |
p
la norma
usual en /
p
(R
N
).
5.2. Resultados analticos existentes 43
Dem. Para el caso p = 1, basta tomar v(x, t) = v
0
(x) = 0 (x, y) R
N
y C
1
= 1 para
obtener la estimacin correspondiente a la norma | |
1
.
Consideremos ahora el caso p (1, ). Si multiplicamos la ecuacin en (5.1) por
[u[
p2
u e integramos en R
N
, obtenemos:
1
p
d
dt
_
R
N
[u(t)[
p
dx + (p 1)
_
R
N
[u(t)[
2
[u(t)[
p2
dx =
_
R
N
x
(Q
p
(u(t)))dx (5.15)
donde
Q
p
(z) =
_
z
0
H
(s)[s[
p2
sds (5.16)
En la propia demostracin de la proposicin 5.1 se comprueba que la integral a la derecha
de la igualdad en (5.15) es nula, por lo que podemos deducir:
1
p
d
dt
_
R
N
[u(t)[
p
dx +
4(p 1)
p
2
_
R
N
[([u(t)[
p/2
)[
2
dx = 0 (5.17)
Por otro lado, en [14] se prueba que para todo p > 1 existe una constante
C = C(p, N) > 0 tal que para todo v J
2,p
(R
N
) /
1
(R
N
) se tiene
|v|
(N(p1)+2)p
N(p1)
p
C|v|
2p
N(p1)
1
|([v[
p/2
)|
2
2
(5.18)
Combinando (5.17) y (5.18), obtenemos:
d
dt
(|u(t)|
p
p
) +
4(p 1)
Cp
|u(t)|
(N(p1)+2)p
N(p1)
p
|u(t)|
2p
N(p1)
1
0 (5.19)
de donde
d
dt
(|u(t)|
p
p
) +
4(p 1)
Cp
|u
0
|
2p
N(p1)
1
|u(t)|
N(p1)+p
N(p1)
p
0 (5.20)
Finalmente, se puede comprobar que las soluciones no negativas de la desigualdad
diferencial
(t) +((t))
0, t > 0 (5.21)
con > 0 y > 1 satisfacen
(t) (( 1)t)
1
1
, t > 0 (5.22)
por lo que, al aplicarlo para (5.20) y simplicando, llegamos a que
|u(t)|
p
|u
0
|
1
_
8
NCp
_
N
2
(1
1
p
)
t
N
2
(1
1
p
)
(5.23)
donde tomaremos C
p
=
_
8
NCp
_
N
2
(1
1
p
)
.
Nos queda probar el caso p = , puesto que no nos vale tomar el lmite en la
anterior constante. Para ello consideremos la desigualdad (5.18) para p = 2 (que, por
44 Captulo 5. Aplicaciones: Comportamiento asinttico multi-dimensional
densidad, puede extenderse a todo v 1
1
(R
N
) /
1
(R
N
)) y la igualdad (5.17) para
p = 2q. Entonces:
d
dt
(|u(t)|
2q
2q
) +
2(2q 1)
Cq
|u(t)|
2q(N+2)
N
2q
|u(t)|
4q
N
1
0 (5.24)
Multiplicando (5.1) por [u[
q2
u, se llega fcilmente a que |u(t)|
q
|u
0
|
q
, t > 0 y
q [1, ]. Usando eso en la expresin anterior y aplicando (5.22), se sigue que
|u(t)|
2q
_
NCq
4(2q 1)
_N
4q
|u
0
|
q
t
N
4q
(5.25)
y, como q/(2q 1) 1, deducimos que
|u(t)|
2q
_
NC
4
_N
4q
|u
0
|
q
t
N
4q
(5.26)
Ahora bien, (5.1) es invariante con respecto a traslaciones en t, por lo que la expresin
anterior se puede generalizar a
|u(t +s)|
2q
_
NC
4
_N
4q
|u(t)|
q
s
N
4q
(5.27)
En particular, dado > 0, eligiendo s = 2
(n+1)
y q = 2
n
, obtenemos
|u(t +2
(n+1)
)|
2
n+1
_
NC
4
_
2
(n+2)
N
2
N(n+1)2
(n+2)
|u(t)|
2
n (5.28)
Finalmente, por iteracin se concluye que
|u((2
1
+... + 2
n
))|
2
n+1 C
n
|u
0
|
1
(5.29)
con
C
n
=
_
NC
4
_
N
n1
j=0
2
(j+2)
(2
N
2
)
n1
j=0
(j+1)2
(j+1)
(5.30)
Pero, como 2
1
+... + 2
n
1 y |u(t)|
|u
0
|
|u
0
|
1
N
2
(5.32)
con C
=
_
NC
4
_
N
2
.
As pues, queda demostrado el teorema, con C
1
= 1, C
p
=
_
8
NCp
_
N
2
(1
1
p
)
para
p (1, ) y C
=
_
NC
4
_
N
2
.
5.3. Aproximaciones numricas 45
El teorema anterior recoge el comportamiento asinttico de (5.1), independiente-
mente del valor q del trmino de conveccin. Sin embargo, hay un caso particular en el
que todava puede obtenerse una mejor acotacin del decaimiento. El siguiente teorema se
demuestra en [12] para funciones no negativas y en general en [6]:
Teorema 5.2. Dado cualquier dato inicial u
0
/
1
(R
N
), existe una constante positi-
va que depende continuamente sobre |u
0
|
1
tal que la solucin de la ecuacin (5.1) con
a = (1, 0, ..., 0) y H(u) = [u[
q1
(1 < q 2) verica:
|u(t)|
C(|u
0
|
1
)t
N+1
2q
, t > 0 (5.33)
Tambin es posible obtener una estimacin para el decaimiento del gradiente de
la solucin de (5.1). La demostracin del siguiente teorema, que nos proporciona dicho
acotacin, tambin puede encontrarse en [14].
Teorema 5.3. Para todo p [1, ], existe una constante positiva C
p
= C(p, N) > 0 tal
que:
|u(t)|
p
C
p
|u
0
|
1
t
N
2
(1
1
p
)
1
2
, t > 0 (5.34)
para toda solucin de (5.1) con dato inicial u
0
/
1
(R
N
) /
(R
N
), siendo | |
p
la norma
usual en /
p
(R
N
).
Como ya hemos dicho, en nuestras simulaciones intentaremos conseguir que num-
ricamente se observen las propiedades que hemos enunciado en esta seccin.
5.3. Aproximaciones numricas
Una vez planteados el problema y los resultados analticos concernientes a este, va-
mos a proceder a plantear el problema variacional que nos permitir obtener las aproxima-
ciones numricas mediante elementos nitos. Como ya habamos comentado inicialmente,
consideraremos nicamente el caso bidimensional, con conveccin solamente en la direccin
de uno de los ejes y para H(u) = [u[
q1
u; es decir:
_
u
t
u =
x
1
([u[
q1
u) en R
2
(0, )
u(x
1
, x
2
, 0) = u
0
(x
1
, x
2
) en R
2
(5.35)
Es sencillo comprobar que el trmino de la conveccin puede expresarse tambin
como (q[u[
q1
, 0) u, siempre que u sea lo sucientemente regular. As pues, se trata de
una ecuacin con trminos similares a los que aparecan en (3.53), por lo que el mtodo de
caractersticas-Galerkin puede sernos til para simular la solucin de (5.35).
Siguiendo los pasos descritos en la seccin 3.2, primero multiplicaremos (5.35) por
una funcin test v 1
1
0
(R
2
) e integraremos sobre R
2
. Por simplicidad, denotaremos por
< u, v >
el producto escalar
_
uv dx:
< u
t
, v >
R
2 < u, v >
R
2=< (q[u[
q1
, 0) u, v >
R
2 (5.36)
46 Captulo 5. Aplicaciones: Comportamiento asinttico multi-dimensional
Ahora podemos reordenar la ecuacin, de manera que podamos aplicar el mtodo
de las caractersticas.
< u
t
+ (q[u[
q1
, 0) u, v >
R
2 + < u, v >
R
2= 0 (5.37)
El primer sumando ser el que aproximemos usando las curvas caractersticas, mientras
que sobre el segundo aplicaremos directamente integracin por partes para aproximar la
solucin mediante elementos nitos:
< D
t
u, v >
R
2 + < u, v >
R
2= 0 (5.38)
donde D
t
u := u
t
+ (q[u[
q1
, 0) u es la derivada convectiva. Por lo tanto, el problema
variacional consistir en encontrar u tal que para todo v 1
1
0
(R
2
) se cumpla:
_
< D
t
u, v >
R
2 + < u, v >
R
2= 0, t > 0
u(x
1
, x
2
, 0) = u
0
(x
1
, x
2
)
(5.39)
Para realizar la aproximacin numrica, primero vamos a discretizar la ecuacin en
la variable tiempo. Si t es el tamao del paso temporal, denotaremos u
n
:= u(x
1
, x
2
, nt)
la aproximacin de u en (x
1
, x
2
) R
2
en el instante t = nt, siendo n = 0, 1, 2, ... As,
obtenemos la semidiscretizacin:
< D
t
u
n
, v >
R
2 + < u
n
, v >
R
2= 0 (5.40)
Siguiendo, tal y como habamos comentado anteriormente, el mtodo de las caractersticas-
Galerkin, aproximaremos la derivada convectiva mediante las curvas caractersticas:
<
u
n+1
u
n
(X
n
)
t
, v >
R
2 + < u
n+1
, v >
R
2= 0 (5.41)
donde X
n
es la aproximacin de la curva caracterstica, que se dene de la siguiente manera:
_
dX
d
(; t, x
1
, x
2
) = (q[u(X(; t, x
1
, x
2
), )[
q1
, 0)
X(t; t, x
1
, x
2
) = (x
1
, x
2
)
(5.42)
Por comodidad, denotaremos x = (x
1
, x
2
) y X = (X
1
, X
2
). En la seccin 3.2.2 tombamos
la siguiente aproximacin:
X
n
(x) = (x
1
q[u
n+1
(x)[
q1
t, x
2
) (5.43)
Sin embargo, esta nos nos permitira aprovechar el comando convect que ofrece
FreeFem++. Es por ello por lo que intentaremos buscar una segunda aproximacin. Por
un lado, haciendo un desarrollo de Taylor y usando que X(t
n+1
; t
n+1
, x) = x tenemos:
u
n
(X(t
n
; t
n+1
, x)) = u
n
(x) t
2
k=1
u
n
x
k
(x)
X
k
t
(t
n+1
; t
n+1
, x) +O(t
2
)
= u
n
(x) t (q[u
n
(x)[
q1
, 0) u
n
(x) +O(t
2
)
(5.44)
5.4. Implementacin 47
Por otro, si en el instante t
n+1
consideramos u
n
(x) jo, obtenemos:
u
n
(x
1
+ t q[u
n
(x)[
q1
, x
2
) = u
n
(x) t (q[u
n
(x)[
q1
, 0) u
n
(x) +O(t
2
) (5.45)
As pues, podemos tomar la aproximacin:
u
n
(X
n
(x)) = u
n
(x
1
q[u
n
(x)[
q1
t, x
2
) (5.46)
que es, precisamente, la que nos ofrece FreeFem++ con convect([q[u[
q1
, 0], t, u
n
).
Por lo tanto, el esquema semidiscreto sobre el que aplicaremos el mtodo de ele-
mentos nitos ser:
_
1
t
< u
n+1
, v >
R
2
1
t
< u
n
(X
n
), v >
R
2 + < u
n+1
, v >
R
2= 0
X
n
(x
1
, x
2
) = (x
1
q[u
n
(x
1
, x
2
)[
q1
t, x
2
)
(5.47)
con n = 0, 1, 2, ... y con u
0
(x) = u
0
(x).
Siguiendo los pasos mencionados en 3.2.1, ahora tenemos que denir el espacio de
funciones V
h
sobre el que tomaremos nuestras aproximaciones. Nosotros trabajaremos con
elementos nitos P
1
y P
2
, que por ser conformes verican V
h
V = 1
1
0
(R
2
). Sea
h
una
triangulacin del dominio espacial, siendo h la longitud del lado ms largo de los tringulos
de
h
. Entonces, el problema variacional discreto consiste en determinar u
h
V
h
tal que
para todo v
h
V
h
:
_
1
t
< u
n+1
h
, v
h
>
h
1
t
< u
n
h
(X
n
h
), v
h
>
h
+ < u
n+1
h
, v
h
>
h
= 0
X
n
h
(x
1
, x
2
) = (x
1
q[u
n
h
(x
1
, x
2
)[
q1
t, x
2
)
(5.48)
5.4. Implementacin
Una vez obtenidas todas las herramientas numricas necesarias, solamente nos queda
implementar el mtodo en un ordenador. Como ya habamos anunciado, para realizar estas
simulaciones nos hemos decantado por el software de libre distribucin FreeFem++, creado
por Olivier Pironneau et al. (cf. [22]). Se trata de un producto integrado con su propio
lenguaje de programacin de alto nivel, basado en el mtodo de elementos nitos y que es
tremendamente verstil, de ah nuestra eleccin.
En el apndice A se incluye el cdigo completo empleado para obtener los resultados.
No obstante, en la siguiente pgina damos un resumen esquematizado de los pasos ms
importantes realizados.
La ventaja de FreeFem++ es que ya tiene implementadas la mayora de las opera-
ciones que mencionamos. Por ejemplo, la generacin de mallas se puede realizar automti-
camente, basndose en el algoritmo de Delaunay-Voronoi, sin ms que indicar la cantidad
de nodos en la frontera del dominio. As mismo, tambin cuenta con numerosos tipos de
elementos nitos triangulares y una funcin de adaptacin de malla. En los experimentos
aprovecharemos todas esas posibilidades, a n de lograr la mayor eciencia posible.
48 Captulo 5. Aplicaciones: Comportamiento asinttico multi-dimensional
Pseudocdigo Conv-Dif
Entrada: Condicin inicial u
0
, exponente q y parmetros de la discretizacin (paso tem-
poral t, tiempo nal T, malla espacial, espacio de elementos nitos...).
1: Inicializacin:
2: q q // Exponente de la no-linealidad
3: dt t // Paso temporal
4: M parte_entera(T/t) // Nmero de pasos temporales
5: Th generar_malla(n
o
de nodos,dominio) // Malla inicial
6: Vh generar_FE(malla,tipo FE) // Espacio de elementos nitos
7: Fin Inicializacin
8: Th adaptar(Th,u0) // Adaptacin manual de la malla
9: uold u
0
// Proyectar u
0
sobre la malla Th
10: convdiff Problema variacional
11: Para m=1 hasta m=M hacer
12: t mdt // Tiempo
13: u solucionar(convdiff,uold,dt) // Solucin en dt con uold inicial
14: Th adaptar(Th,u,error) // Adaptacin de la malla con un error mximo
15: mostrar(u) // Representar grcamente u en t
16: normas norma(u,[1, 2, ]) // Calcular las normas 1, 2 e de u en t
17: u remuestrear(u,Vh) // Remuestrear u en la nueva malla Th
18: u uold // Condicin inicial para el siguiente paso
19: Fin Para
20: Devolver u, normas
Salida: Aproximacin u
h
de la solucin de la ecuacin 5.35 y sus normas.
5.5. Experimentos y resultados 49
5.5. Experimentos y resultados
A continuacin resumiremos los distintos experimentos computacionales realizados,
detallando la condicin inicial escogida, as como los parmetros de la discretizacin. Res-
pecto a lo primero, vamos a considerar dos funciones distintas:
1. Una funcin regular:
u
1
0
(x, y) = 2 exp
_
1
4
_
x
2
+y
2
_
_
con (x, y) R
2
(5.49)
2. Una funcin indicatriz:
u
2
0
(x, y) =
[2,2][4,4]
(x, y) =
_
1, si (x, y) [2, 2] [4, 4]
0, en otro caso
(5.50)
Ambas funciones estn en /
1
(R
2
) /
(R
2
), por lo que estamos en las condiciones
del teorema 5.1. Es decir, que en ambos experimentos deberamos obtener un decaimiento
de las normas de la solucin de (5.35) segn la armacin de dicho teorema.
Otro parmetro que tenemos que escoger es el exponente de la no linealidad. Tal y
como hemos visto en la seccin 5.2, el comportamiento de la solucin es diferente en funcin
del valor de q respecto de la dimensin del problema. En nuestro caso, estamos trabajando
con la ecuacin bidimensional, el cambio lo marcar q = 3/2, por lo que optaremos por
tres valores de q representativos de las tres situaciones que se pueden plantear: q
1
= 1,25
para el intervalo (1, 3/2); q
2
= 3/2 y q
3
= 2 para el intervalo (3/2, ).
En cuanto a la discretizacin del problema, lo primero que podemos observar es que
necesitamos acotar tanto el dominio espacial como el intervalo temporal, a n de poder
trasladarlo al ordenador. Para lo segundo no hay mayor inconveniente, ya que nuestro
mtodo es iterativo, por lo que podemos ejecutarlo hasta el instante que deseemos. A
n de visualizar correctamente la evolucin de las soluciones, optaremos por truncar en
T = 100 o T = 1000, dependiendo de las necesidades. El tamao del paso, salvo que
indiquemos lo contrario, ser t = 0,1.
La acotacin del dominio espacial, en cambio, es ms delicada, puesto que gran par-
te de los resultados analticos se basan, precisamente, en el hecho de que el problema est
planteado en todo R
2
. Sin embargo, teniendo en cuenta las condiciones iniciales elegidas y
el comportamiento de estas descrito en 5.2, podemos elegir un rectngulo sucientemen-
te grande en cuya frontera la solucin ser nula durante el periodo de tiempo escogido.
As, tomaremos distintos tamaos de rectngulos, dependiendo tambin del objetivo de la
simulacin.
Por ltimo, tal y como adelantbamos en la seccin 5.3, recordemos que empleare-
mos dos tipos de elementos nitos: P
1
y P
2
.
50 Captulo 5. Aplicaciones: Comportamiento asinttico multi-dimensional
Lo primero que podemos observar en los experimentos (g. 5.1) es el veloz decai-
miento al que se ve sometido la funcin. Tanto u
1
0
como u
2
0
pierden rpidamente su cota
mxima inicial (2 y 1 respectivamente), para tender a cero rpidamente. Dado que se trata
de una ley de conservacin, esto se traduce en que el soporte (compacto) de ambas tambin
se expande en la misma proporcin, pues la masa ha de repartirse.
Figura 5.1: Condicin inicial u
1
0
(superior izquierda) y aproximacin de u en t = 5
para q = 1,25 (superior derecha), q = 1,5 (inferior izquierda) y q = 2. El dominio
es [20, 20]
2
y el tipo de elementos nitos, P
2
.
Hay que sealar tambin el efecto regularizante de laplaciano de (5.35) (ver g.
(5.2)). En el caso de u
1
0
apenas se nota, pues la propia funcin es regular. En el otro caso,
en cambio, a pesar de la discontinuidad inicial, tras la primera iteracin obtenemos ya una
funcin suave que poco tiene que ver con los saltos que haba inicialmente.
Figura 5.2: Aproximacin de u con condicin inicial u
2
0
en t = t para q = 1,25
(superior derecha), q = 1,5 (inferior izquierda) y q = 2. El dominio es [20, 20]
2
y el tipo de elementos nitos, P
2
.
En ese sentido, otro hecho a destacar es la inuencia del trmino de conveccin.
Como mencionbamos en la seccin 5.2, la solucin tena un comportamiento ms similar
al ncleo de Gauss si q > 3/2 y del tipo hiperblico para q < 3/2. Esto podemos verlo
reejado en las grcas de (5.3), en las que en el primer caso la solucin se estabiliza rpi-
damente en torno a un punto, mientras que en el segundo caso el soporte se va desplazando
5.5. Experimentos y resultados 51
progresivamente, siendo la difusin en el sentido del eje de las x marcado por la conveccin.
Figura 5.3: Aproximacin de u con condicin inicial u
2
0
en t = 10 y t = 100 para
q = 1,25 y q = 2 (de izquierda a derecha y de arriba a abajo). El dominio es
[200, 200]
2
y el tipo de elementos nitos, P
1
.
En cuanto a las normas de las soluciones y el decaimiento enunciado en el teorema
5.1, en las siguientes grcas podremos ver cmo las aproximaciones numricas tambin
capturan bien esa propiedad. Adems, quedar patente que las discontinuidades de la
condicin inicial no tienen por qu afectar a la solucin del problema.
Por un lado, en la gura 5.4 vemos que la norma | |
1
prcticamente se conserva,
lo cual va en consonancia con el teorema. Adems, puesto que se trata de una funcin
no negativa, dicha norma coincide con la integral de la solucin sobre el dominio espacial
(recordemos, la magnitud conservada, como veamos en (5.6)). Adems, este resultado es
independiente del valor de q.
En las siguientes grcas (ver g. 5.5) podemos comprobar que la norma | |
2
igualmente se comporta como era de esperar, teniendo un decaimiento proporcional a t
1
2
.
Tambin mostramos el comportamiento de la norma | |