Вы находитесь на странице: 1из 63

Mtodos Numricos para EDP

Guillermo Ruiz lvarez


UAM - 15/16 C1
11 de febrero de 2016 14:40

Apuntes UAM
Doble Grado Mat.Inf.
Cdigo en Github

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

ndice general
1

Mtodos en diferencias finitas . . . . . . . . . . . . . . . . . . . . . .


1.1
Ecuaciones parablicas en una dimensin espacial. . . . . . . .
1.1.1
La ecuacin del calor . . . . . . . . . . . . . . . . .
1.1.1.1
Mtodo explcito . . . . . . . . . . . . . . .
1.1.1.2
Ejemplo: . . . . . . . . . . . . . . . . . .
1.1.1.3
Mtodo implcito . . . . . . . . . . . . . .
1.1.1.4
El -mtodo . . . . . . . . . . . . . . . . .
1.1.1.5
Principio del mximo y convergencia para
(1 ) 12 . . . . . . . . . . . . . . . .
1.1.1.6
Ejemplo: . . . . . . . . . . . . . . . . . .
1.1.2
Otros modelos parablicos . . . . . . . . . . . . . .
1.1.2.1
Primer ejemplo . . . . . . . . . . . . . . .
1.1.2.2
Segundo ejemplo . . . . . . . . . . . . . . .
1.2
Ecuacin parablica general. Problemas de conveccin dominante
1.2.0.3
Caso particular . . . . . . . . . . . . . . . .
1.2.0.4
Esquema upwind . . . . . . . . . . . . . . .
1.2.0.5
Ejemplo: . . . . . . . . . . . . . . . . . .
1.2.1
Problemas no lineales . . . . . . . . . . . . . . . . .
1.3
Ecuaciones hiperblicas . . . . . . . . . . . . . . . . . . . . .
1.3.0.1
Ejemplo: . . . . . . . . . . . . . . . . . .
1.3.0.2
Condicin CFL (Courant-Friedrich-Levy) . .
1.3.0.3
Ejemplo: . . . . . . . . . . . . . . . . . .
1.3.1
Esquema upwind . . . . . . . . . . . . . . . . . . . .
1.3.1.1
Anlisis de Fourier (upwind) . . . . . . . . .
1.3.1.2
Anlisis de consistencia (upwind) . . . . . .
1.3.1.3
Anlisis de consistencia utilizando el principio del mximo . . . . . . . . . . . . . . .
1.3.1.4
El mtodo upwind visto como interpolacin
lineal . . . . . . . . . . . . . . . . . . . . .
1.3.1.5
Anlisis de Fourier del esquema upwind . . .
1.3.2
Esquema Lax-Wendroff . . . . . . . . . . . . . . . .
1.3.3
Esquema Box . . . . . . . . . . . . . . . . . . . . .
1.3.3.1
Condicin CFL . . . . . . . . . . . . . . . .
1.3.3.2
Anlisis de Fourier . . . . . . . . . . . . . .
1.3.4
Esquema Leap-frog . . . . . . . . . . . . . . . . . .
1.3.4.1
Condicin CFL . . . . . . . . . . . . . . . .
1.3.4.2
Anlisis de Fourier del mtodo . . . . . . .
1.3.5
Ecuacin de Burgers . . . . . . . . . . . . . . . . . .

Documento compilado el 11 de febrero de 2016 a las 14:40

1 de 62

3
3
4
6
16
16
19
23
23
26
26
27
27
28
30
31
31
33
33
33
35
35
35
36
37
38
39
41
43
44
44
45
45
45
46

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

1.3.6
Estudio comparativo de los mtodos vistos . . . . .
Mtodo de elementos finitos . . . . . . . . . . . . . . . . . . . . . .
2.1
Espacio de funciones . . . . . . . . . . . . . . . . . . . . . .
2.1.1
Espacios de funciones integrables . . . . . . . . . .
2.1.1.1
Desigualdad de Cauchy-Schwarz . . . . .
2.1.1.2
Desigualdad triangular . . . . . . . . . . .
2.1.1.3
Desigualdad de Holder . . . . . . . . . . .
2.1.2
Espacios de Sobolev . . . . . . . . . . . . . . . . .
2.1.2.1
Concepto de derivada dbil . . . . . . . .
2.1.2.2
Ejemplo: . . . . . . . . . . . . . . . . .
2.1.2.3
Ejemplo: . . . . . . . . . . . . . . . . .
2.1.2.4
Ejemplo: . . . . . . . . . . . . . . . . .
2.1.2.5
Desigualdad de Poincar . . . . . . . . . .
2.1.2.6
Ejemplo: . . . . . . . . . . . . . . . . .
2.2
Soluciones dbiles de problemas elpticos . . . . . . . . . . .
2.2.0.7
Concepto de solucin dbil. . . . . . . . .
2.2.0.8
Ejemplo: . . . . . . . . . . . . . . . . .
2.3
Aproximacin de problemas elpticos . . . . . . . . . . . . .
2.3.0.9
Mtodo de elementos finitos . . . . . . .
2.3.0.10
Forma prctica de encontrar la solucin . .
2.4
Funciones lineales a trozos en una dimensin espacial . . . .
2.4.0.11
Aproximacin por elementos ifnitos lineales
2.4.0.12
Mtodo de elementos finitos . . . . . . .
2.4.0.13
Caso particular . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

47
48
48
48
48
48
49
49
49
49
50
50
50
51
51
52
55
56
56
56
57
58
58
59

A Cdigos

61

ndice alfabtico

62

2 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

1.

Guillermo Ruiz lvarez

Mtodos en diferencias finitas

En esta seccin vamos a ver mtodos en diferencias finitas para distintos tipos
de ecuaciones. Estos mtodos se utilizan para calcular soluciones aproximadas a las
ecuaciones diferenciales aproximando derivadas.

1.1.

Ecuaciones parablicas en una dimensin espacial.

Las ecuaciones parablicas en una dimensin espacial son un tipo de ecuaciones


cuya solucin u(x, t) es una funcin de dos variables: la variable espacial x de una
dimensin y una variable temporal t. Estas ecuaciones tienen la siguiente forma para
x I y t > 0:



u
u
e(x, t)ut =
+ b(x, t) + c(x, t)u + d(x, t)
a(x, t)
x
x
x | {z } | {z }
{z
} | {z }
|
tn
tf
tc

td

donde I es un intervalo dado. Los trminos de la ecuacin son los siguentes:


a, b, c, d, e: funciones proporcionadas.
td : trmino de difusin.
tc : trmino conectivo.
tn : trmino de reaccin.
tf : trmino fuente.
Vamos a tratar con los siguientes tipos de condiciones de contorno: la condicin
de Dirichlet y la condicin de Neumann:
Condicin de Dirichlet: Una condicin de tipo Dirichlet tiene la siguiente
forma para dos funciones temporales f1 , f2 y dos puntos a, b:
(
u(a, t) = f1 (t)
u(b, t) = f2 (t)
Se denominan condiciones homogneas si f1 = f2 = 0.
Condicin de Neumann: Una condicin de tipo Neumann tiene la siguiente
forma para dos funciones temporales g1 , g2 y dos puntos a, b:
(
ux (a, t) = g1 (t)
ux (b, t) = g2 (t)
Se denominan condiciones homogneas si g1 = g2 = 0.

3 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

1.1.1.

Guillermo Ruiz lvarez

La ecuacin del calor

La ecuacin del calor es un caso particular de ecuacin parablica en una dimensin


espacial en la que u(x, t) representa el valor de la temperatura en el punto x en tiempo
t. La ecuacin es la siguiente:
ut = uxx
Supongamos que tenemos una barra unidimensional de cualquier material cuyos
extremos se localizan en los puntos 0 y 1 y que tiene como temperatura inicial en cada
punto la que indica una funcin proporcionada u0 (x). En este caso, el intervalo I se
define como I = (0, 1).
El problema es el siguiente:

x I, t > 0
ut = uxx
u(0, t) = u(1, t) = 0 Temperatura en los extremos.

u(x, 0) = u0 (x)
Temperatura en el tiempo inicial.
Vamos a utilizar el mtodo de separacin de variables para encontrar la solucin.
Para ello, supongamos que la solucin se puede representar como el producto de dos
funciones f (x) y g(t), es decir u(x, t) = f (x)g(t).
Como ut = uxx , derivando u(x, t) respecto a t una vez, respecto a x dos veces e
igualando trminos, obtenemos:
f (x)g(t)
= f(x)g(t)
de donde si despejamos obtenemos una igualdad en la que el trmino izquierdo depende
de t y el derecho de x. Si se deriva el trmino izquierdo respecto a x se obtiene cero
igualmente que si derivamos el derecho respecto a t. Con esto obtenemos que los
trminos no dependen ni de x ni de t, luego son iguales a una constante que por
comodidad para clculos posteriores denotaremos como K 2 :
f(x)
g(t)

=
= cte = K 2
g(t)
f (x)
Tenemos entonces dos ecuaciones diferenciales ordinarias:
(
f(x) = K 2 f (x)
g(t)
= K 2 g(t)
Al resolver las ecuaciones se obtiene
f (x) = Acos(Kx) + Bsin(Kx)
2
g(t) = eK t
Las condiciones de contorno establecan que u(0, t) = u(1, t) = 0. Dado que hemos
supuesto que u(x, t) = f (x)g(t) se esta imponiendo que f (0) = f (1) = 0, lo que
implica que
(
f (0) = Acos(0) + Bsin(0) = 0
f (1) = Acos(K) + Bsin(K) = 0
4 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

Esto slo puede ocurrir si


(

A=0
K = m m Z

Como la condicin se satisface m Z tenemos infinitas funciones fm , gm que cumplen


la condicin. Luego para cada m, se tiene que um (x, t) = fm (x)gm (t) es solucin del
problema de contorno. Por tanto tambin lo es
u(x, t) =

Bm e(m) t sin(mx)

m=1

donde Bm es una constante que depende de m.


Sin embargo, hasta ahora slo se han tenido en cuenta las condiciones de contorno
y no la condicin inicial. Hay que imponer dicha condicin para obtener una solucin
al problema. Dicha condicin establece que u(x, 0) = u0 (x) siendo u0 una funcin
proporcionada. Tenemos que:
u(x, 0) = u0 (x) =

Bm sin(mx)

m=1

Esto nos dice que los trminos Bm son los coeficientes del desarrollo en senos de la
serie de Fourier de u0 . Es decir, que:
Z 1
Bm
u0 (x)sin(mx) =
2
0
para cada m Z. Obteniendo as
1

Z
Bm = 2

u0 (x)sin(mx)
0

Finalmente, la solucin general al problema completo es:


u(x, t) =

Bm e(m) t sin(mx)

m=1

donde Bm tiene la expresin definida anteriormente.


En caso de que tuviesemos un dato inicial u0 y quisisemos hallar la solucin del
problema de la ecuacin del calor tendramos que
Hallar el valor aproximado de la serie, para lo cual se evalua cada trmino para
cada m y se trunca la serie cuando se considere que los trminos restantes
aportan un error insignificante al resultado.
Para lo anterior es necesario hallar el valor de Bm para cada iteracin, bien
de forma exacta si es posible o mediante mtodos numricos. Una opcin sera
utilizar cuadratura numrica:
Z b
k
X
f (x)
wj f (xj )
a

j=0

5 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

1.1.1.1.

Guillermo Ruiz lvarez

Mtodo explcito

En este apartado se va a describir una forma explcita del mtodo en diferencias


finitas para la ecuacin del calor. En primer lugar se construyen dos particiones para
cada variable, una para el intervalo (0, 1) y otra para el intervalo (0, tf ) donde tf
representa el tiempo final, de forma que x (0, 1) y t (0, tf ).
Cada particin se define a travs de los valores del paso, que son
x =

1
J

y t =

tf
N

donde J, N N, es decir, que se obtienen N + 1 puntos en (0, 1) y J + 1 puntos en


(0, tf ):
0 = x0 < x1 < . . . < xJ = 1
0 = t0 < t1 < . . . < tN = tf
En la figura 1 se puede ver el particionado del espacio para las variables de u(x, t).
En color rojo se muestran posicionados los datos de contorno, que en este caso son
todos 0 puesto que tenemos u(0, t) = u(1, t) = 0 como condicin inicial. En color azul
se muestran posicionados los datos iniciales, que corresponden para cada punto a los
valores de la funcin proporcionada u0 (x).
t
tN
..
.
t4
t3
t2
t1
t0
x0 x1 x2 x3 x 4

...

xJ

Figura 1: Datos iniciales y de contorno


Antes de estudiar el mtodo, vamos a definir qu notacin se va a utilizar durante
toda la descripcin del mismo.
Notacin:
Ujn representa el valor obtenido por el mtodo de la funcin u evaluada
en xj , tn .
unj representa el valor real de la funcin u evaluada en xj , tn .
Esta notacin va a utilizarse de aqu en adelante en todo lo que sigue.
Empezemos recordando que las condiciones de contorno eran las siguientes:
u(0, t) = u(1, t) = 0
6 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

lo que implica que nuestro mtodo ha de cumplir


(
U0n = un0 = 0, n 0
UJn = unJ = 0, n 0
Supongamos que u(x) es una solucin del problema de la ecuacin del calor con
los datos iniciales y las condiciones de contorno porporcionados. Podemos aproximar
las derivadas uxx y ut de la siguiente forma:
u(xj+1 ) 2u(xj , tn ) + u(xj1 , tn )
(x)2
u(xj , tn+1 ) u(xj , tn )
ut (xj , tn )
t

uxx (xj , tn )

Tenemos un valor aproximado para uxx y ut , luego sabiendo que la ecuacin del
calor es ut = uxx , podemos construir el siguiente mtodo:
n
n
Ujn+1 Ujn
Uj+1
2Ujn + Uj1
=
t
(x)2

para n 0 y j = 1, . . . , J 1.
A partir de aqu, se puede observar que en el mtodo anterior se puede despejar
el trmino que da el valor aproximado de la funcin en el punto j y en tiempo n + 1,
obteniendo el mtodo explcito:
Mtodo explcito


n
n
Ujn+1 = Ujn + Uj+1
2Ujn + Uj1
donde =

t
(x)2

En lo que sigue, utilizando el desarrollo de la serie Taylor, se va a estudiar qu


orden tiene esta aproximacin.
1.1.1.1.1.

Orden del mtodo explcito

Vamos a hallar el desarrollo de Taylor alrededor del punto xj , tn del trmino temporal del mtodo. Vemos que:
u(xj , tn+1 ) = u(xj , tn ) + ut (xj , tn )t +


utt (xj , tn ) 2
t + O (t)3
2

luego:

u(xj , tn+1 ) u(xj , tn )
t
= ut (xj , tn ) +
utt (xj , tn ) + O (t)2
t
|2
{z
}
error

Ahora vamos a repetir lo anterior, pero esta vez desarrollaremos la serie de Taylor
alrededor del punto xj , tn del trmino espacial del mtodo.
7 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

Tenemos que:
u(xj+1 , tn ) = u(xj , tn ) + ux (xj , tn )x + uxx (xj , tn )
+ uxxx (xj , tn )

x2
2

x3
+ ...
3!

y por otro lado


(x)2
2
(x)3
(x)4
uxxx (xj , tn )
+ uxxxx (xj , tn )
+ ...
3!
4!

u(xj1 , tn ) = u(xj , tn ) ux (xj , tn )x + uxx (xj , tn )

finalmente obtenemos:

u(xj+1 , tn ) 2u(xj , tn ) + u(xj1 , tn )
x2
4
=
u
(x
,
t
)
+
u
(x
,
t
)
+
O
(x)
xx
j
n
xxxx
j
n
(x)2
12
|
{z
}
error

Como conclusin tenemos que el mtodo explcito utiliza una diferencia finita de
primer orden para aproximar la derivada temporal y una diferencia finita de segundo
orden para aproximar la derivada espacial.
1.1.1.1.2.
Error de
truncacion

Error de truncacin

Definicin 1.1 Error de truncacion. Se llama error de truncacin del mtodo numrico al residuo que se obtiene cuando se aplica el mtodo a la solucin exacta.
El error de truncacin del mtodo explcito, atendiendo a la definicin anterior,
tiene la expresin:
T (xj , tn ) =

u(xj , tn+1 ) u(xj , tn ) u(xj+1 , tn ) 2u(xj , tn ) + u(xj1 , tn )

t
x2

Supongamos que u(x, t) es la solucin exacta del problema de la ecuacin del calor.
Vamos a hallar, mediante el desarrollo de Taylor, el error de truncacin del mtodo
explcito:
u(xj , tn+1 ) u(xj , tn ) u(xj+1 , tn ) 2u(xj , tn ) + u(xj1 , tn )

t
x2

t
= ut (xj , tn ) + utt (xj , tn )
+ O (t)2
2

x2
uxx (xj , tn ) + uxxxx (xj , tn )
+ O (x)4
12


t
x2
= utt (xj , tn )
uxxxx (xj , tn )
+ O (t)2 + O (x)4
2
12

T (xj , tn ) =

8 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

En el ltimo paso, se ha tenido en cuenta que ut = uxx . Otra forma escribir el error
de truncacin es la que sigue:




1
utt (xj , tn )
n

uxxxx (xj , tn ) + O (t)2 + O (x)4


Tj = t
2
12
Si tomamos n (tn , tn+1 ) y j (xj1 , xj+1 ) podemos eliminar los trminos para
la comparacin asinttica:


utt (xj , n )
1
n
Tj = t

uxxxx (j , tn )
2
12
1.1.1.1.3.

Cota para el error de truncacin

Si tomamos Mtt y Mxxxx como cota para utt y uxxxx , tenemos el error de truncacin
acotado como sigue:
|Tjn |


t

Mtt Mxxxx
+
2
12

Dado que la ecuacin del calor establece que ut = uxx , entonces, asumiendo regularidad en la solucin, se tiene que (ut )t = (ut )xx = uxxxx .
Como caso particular, si tomamos = 1/6 se cumple :



Tjn = t 0 + O (t)2 + O (x)4 = O (t)2
obteniendo as orden 2 para el error de truncacin.
1.1.1.1.4.

Convergencia del mtodo

El mtodo explcito es consistente porque el error de truncacin tiende a cero


cuando t 0. Adems es incondicionalmente consistente, lo que quiere decir que Tjn
tiende hacia cero independientemente de los valores de t y x (ms concretamente
t
de su relacin = (x)
2 ).
En esta seccin se va a estudiar la convergencia del mtodo, antes de ello, vamos
a ver qu necesitamos para demostrar que es convergente.
Proposicin 1.1.
Estabilidad + Consistencia Convergencia
A partir de esta proposicin y dado que el mtodo es incondicionalmente consistente, basta que sea estable para que sea convergente.
Proposicin 1.2.
El mtodo es estable

9 de 62

1
2

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

Demostracin.
Vamos a ver, utilizando el principio del mximo, que si < 12 , el mtodo es
estable. Tenemos que:
un+1
= unj + (unj+1 2unj + unj1 ) + Tjn t
j
n
n
)
2Ujn + Uj1
Ujn+1 = Ujn + (Uj+1

Denotamos con enj al residuo del mtodo, de forma que:


enj = Ujn unj
Calculamos el error de paso:
en+1
= enj + (enj+1 2enj + enj1 ) Tjn t
j
Operando y suponiendo que

1
2

queda:

en+1
= enj+1 + (1 2) enj + enj1 Tjn t
j
| {z }
0

Ahora definimos
E n = max |enj |
0jJ

y acotamos el error:
|en+1
| |enj+1 | + (1 2)|enj | + |enj1 | + Tt
j
E n + (1 2)E n + E n + Tt
= E n + Tt
Donde
T = t

Mtt Mxxxx
+
2
12

es decir, T es la cota para el error de truncacin.


Conclusin
Como E 0 = 0 y E n = (nT)t tf T, tenemos que
E n 0 cuando t 0
es decir, el mtodo es estable.
Dado que hemos obtenido que el mtodo es estable si < 21 e incondicionalmente
consistente, tenemos que bajo la misma condicin, el mtodo es convergente.

10 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

1.1.1.1.5.

Guillermo Ruiz lvarez

Programacin del mtodo

Sabemos que inicialmente tenemos los siguientes datos

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

u(x, 0) = u0 (x)
Es decir, que disponemos de los datos iniciales (en tiempo t = 0) y de contorno
(cuando x = 0 y x = 1). Partiendo de ellos podemos calcular el resto de datos como
ya hemos visto:
Ujn+1

Ujn

n
Uj+1

2Ujn

n
Uj1

El algoritmo vectorial tendra la siguiente forma:

n+1

U1
U1n
n
.. ..
U n+1
U2
.
.

2
.
.. =

... ...
.
.

.
n+1
n
UJ1
UJ1
1 2
Grficamente, lo que estamos realizando es obtener una aproximacin (utilizando
la aproximacin de las derivadas) del siguiente punto de la particin en la derivada
temporal a partir tres puntos en la derivada espacial (ver figura 2). De esta forma,
slo usando los datos iniciales y de contorno obtenemos un valor para cada uno de los
puntos del mallado.
t
tN
..
.
t4
t3
t2
t1
t0
x0 x1 x2 x3 x 4

...

Figura 2: Mtodo en diferencias finitas:

Ujn+1

11 de 62

xJ
=

Ujn

x
+

n
Uj+1

2Ujn

n
Uj1

Mtodos Numricos para EDP - 15/16 C1 - UAM

1.1.1.1.6.

Guillermo Ruiz lvarez

Anlisis de Fourier del mtodo explcito

Hemos visto que la solucin general para el problema de la ecuacin del calor tiene
la siguiente forma:

X
2
u(x, t) =
Bm e(m) t sin(mx)
m=1

Equivalentemente, podemos reescribir lo anterior del siguiente modo:

u(x, t) =

Bm e(m) t ei(m)x

m=

Para la solucin terica, los modos de Fourier ek


m = , . . . , , son soluciones particulares.

2t

y eikx definiendo k = m y

Para realizar el anlisis de Fourier del mtodo explcito vamos a definir un factor
(k) al que llamaremos factor de amplifiacin:
(k) ' ek

2 t

Ahora buscamos Ujn de la forma


Ujn = n eik(jx) '

h
in
2
ek t eik(jx)
2

= ek nt eik(jx)
2
= ek tn eikxj
Sustituyendo en el mtodo explcito tenemos que
h
i
n+1 eik(jx) = n eik(jx) + n eik(j+1)x 2n eik(jx) + n eik(j1)x
Dividiendo por n eik(jx)


(k) = 1 + eikx 2 + eikx

= 1 + 2cos(kx) 2



2 k
= 1 + 2 1 2sin ( 2 x) 2
h
i
= 1 + 4sin2 ( k2 x)
Tomando Ujn = (k)n eikjx se verifica el mtodo y como aproximacin tomamos
Ujn

Bm (k)n eikjx

m=

Comportamiento cualitativo de (k).


El mtodo presenta insestabilidad si |(k)| > 1 dado que
|(k)| > 1 = |(k)|n
12 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

Tenemos estabilidad si y slo si |(k)| 1. Esto es equivalente a decir que podemos


acotar dos aproximaciones numricas del mtodo en trminos de los datos iniciales.
Supongamos dos datos iniciales para t = 0:
(
P
(1)
1 ikx
u0 (x) =
m=1 Bm e
P
(2)
2 ikx
u0 (x) = m=1 Bm
e
Obtenemos las aproximaciones de la solucin los problemas partiendo de dichos
datos:
(
P
n ik(jx)
1
(Ujn )(1) = P
m= Bm (k) e

2
(Ujn )(2) = m= Bm
(k)n eik(jx)
La diferencia entre las dos aproximaciones es
(Ujn )(1)

(Ujn )(2)

1
2
(Bm
Bm
)(k)n eik(jx)

m=

Tomando normas




X
(1)

n (1)
(2)
n (2)
1
2
ik(jx)


(Bm Bm )e
(Uj ) (Uj )
= u0 (xj ) u0 (xj )
m=

Comportamiento cuantitativo de (k).
Vamos a comparar ek
ambos trminos:

2 t

y (k). Para ello, desarrollamos las series de Taylor de

1
= 1 k 2 t + k 4 t2 + O(t3 )
2
k
(k) = 1 4sin2 ( x)
2
"
#
2
4
k
1
k
= 1 4
x2
x4 + . . .
4
3 16

ek

2 t

= 1 k 2 t +

k4
tx2 + . . .
12

Obteniendo la diferencia
(k) ek
En general (k) ek
consistencia.

2 t

2 t

k 4 tx2 k 4 t2

+ O(t3 )
12
2

= O(t2 ), es decir, que el mtodo tiene orden 1 de

Se puede ver mejor si lo reescribimos de la forma:


"
#
4
4
k
k
2
(k) ek t =

t2 + O(t3 )
12
2
Vemos de nuevo que si =

1
6

se tiene orden 2 de consistencia.


13 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

Convergencia del mtodo explcito


Ya sabemos que
k
(k) = 1 4sin2 ( x)
2
y que tenemos estabilidad si y slo si |(k)| 1 .
Analizando (k) vemos que




k


|(k)| = 1 4sin2
x |1 4|


2
Vamos a distinguir dos casos
Si 1 4 0 = 1 4 1
Si 1 4 < 0 = |1 4| = 1 + 4 < 1 4 2
En el caso inestable ( >
obtienen oscilaciones:

1
)
2

1
2

la frecuencia ms inestable es k = J, donde se


1

n eikjx = n eiJj J = n eij = n cos(j)


Veamos otra forma para ver que el mtodo converge utilizando anlisis de Fourier.
Por un lado tenemos la solucin del problema
u(x, t) =

Bm e(m) t eimx

m=

Y por otro el dato inicial

u(x, t) =

Bm eimx

m=

En el mtodo explcito tenamos


Ujn =

n (k)Bm eikjx

m=

Hallamos enj :
enj = Ujn unj =



2
Bm eikjx n (k) ek nt

m=

Vamos a probar que > 0 t0 tal que si t t0 = |enj | < con la


condicin impuesta de que 21 .
14 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

Como hiptesis de regularidad asumimos que la serie de Fourier de u(x) es absolutamente convergente en [0, 1].
Fijamos y > 0. Existe un m0 tal que
X
|m|>m0

1
|Bm |
4

Vamos a analizar |enj | en dos partes:


|enj |






X
k2 nt
n
k2 nt
n
|Bm | | (k)| + e
|Bm | (k) e
+

|m|>m0

|m|m0

{z

{z

Antes de comenzar el anlisis es necesario enunciar el siguiente lema.


Lema 1.3.
|| 1 y || 1 = |n n | n| |
La demostracin de este lema se realiza por induccin. Ahora estudiamos los dos
trminos de la expresin para |enj |:
1. Utilizando que |(k)| 1 se acota (1) por
X
2|Bm |
|m|>m0

2. Usando el lema llegamos a que




X
X
2


|Bm | n (k) ek t
|Bm | n C()k 4 (t)2
|m|m0

|m|m0

Sabiendo que nt tf

|Bm | n C()k 4 (t)2

|m|m0

Si tomamos t

|Bm |tf C()k 4 t

|m|m0
1
2C

llegamos a que
|enj |

1.1.1.1.7.


+ =
2 2

Efecto computacional

De las infinitas frecuencias m = . . . slo hay un nmero finito de frecuencias


distintas a efectos del odenador. Tenemos que para la funcin eimx evaluada en una
malla, el ordenador ve los valores en J + 1 puntos desde j = 0 hasta j = J.
15 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

Si m1 = m2 + 2lJ con l = 1, 2, . . ., entonces eim1 x y eim2 x son indistinguibles en la malla (ver figura 3). En la prctica slo tenemos frecuencias distintas
para
j = (J 1), (J 2), . . . , 0, 1, . . . , J
Las frecuencias se llaman alias, y el error se llama error de aliasis.
eim1 jx = eim1 j/J = eim2 j/J |ei2lj
{z }
=1

Figura 3: En la figura se pueden observar que para dos frecuencias distintas, en los
puntos de la malla ambas tienen el mismo valor, por tanto son indistinguibles para el
ordenador.

1.1.1.2.

Ejemplo:
Ujn =

Bm (m)eimx

m=

Vamos a tomar una malla J = 20, es decir, tenemos 21 puntos en [0, 1]. Elegimos por
ejemplo m = 8. En la figura 3 se puede observar
En azul cos(8x).
En rojo cos(32x).
En todos los puntos de la malla, las funciones coinciden.
1.1.1.3.

Mtodo implcito
2

t
1
x
En el mtodo explcito tenemos la restriccin = x
. En
2 2 , es decir, t
2
la prctica, a medida que se refina la malla para la variable x, se tiene que aumentar
muchsimo el nmero de pasos en tiempo para llegar al tiempo final.

Vamos a construir un mtodo implcito mediante la siguiente expresin:


n+1
n+1
Ujn+1 Ujn
Uj+1
2Ujn+1 + Uj1
=
t
x2

16 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Obteniendo:

1.1.1.3.1.

Guillermo Ruiz lvarez

i
h
n+1
n+1
Ujn+1 = Ujn + Uj+1
2Ujn+1 + Uj1
Programacin del mtodo

Matricialmente, el mtodo tiene la


n
1 + 2
U1
Un

2
.. =

.
n
UJ1
|

siguiente expresin:

U1n+1
n+1
..
..
U2
.
.
.

..
..
.
.
.
.
n+1
UJ1
1 + 2
{z
}
A

En la figura 4 se puede observar cmo obtiene el mtodo los valores de un punto


a partir del resto.
t
tN
..
.
t4
t3
t2
t1
t0
x0 x1 x2 x3 x 4
Figura 4: Mtodo implcito: Ujn+1

xJ x
h
i
n+1
n+1
= Ujn + Uj+1
2Ujn+1 + Uj1
...

Hay que resolver el sistema lineal de la matriz A, para cada paso en el tiempo se
resuelve el sistema de la matriz tridiagonal, que es diagonalmente dominante, es decir:
|1 + 2| | | + | |
En MatLab, para introducir A, introducimos slo los 3 vectores de las diagonales
y resolvemos el sistema por eliminacin gaussiana, sin ser necesario utilizar pivotaje.
1

% Para resolver un sistema lineal Ax = B usamos

x = A\B;

Dado que la matrix A tiene dimensin (n 1) (n 1), el coste computacional


de resolver el sistema es O(3 (J 1)).

17 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

Veamos un ejemplo de como construir una matriz tridiagonal en MatLab.


1

% Elegimos el valor para J y para nu.

J = 20;
nu = 0.4;

3
4
5
6
7
8

% Creamos un vector columna de J1 elementos con todos


% los valores a 1 (diagonal).
e = ones ( J - 1 , 1);
e = (1 + 2* nu ) * e ;

9
10
11
12
13

% Creamos un vector columna de J2 elementos con todos


% los valores a 1 (diagonal superior)
eu = ones ( J - 2 , 1);
eu = - nu * eu ;

14

16

% Creamos un vector columna de J2 elementos con todos


% los valores a 1 (diagonal inferior)

17

ed = eu ;

15

18

20

% Agregamos un cero al principio de la diagonal superior


% (para que tenga J1 elementos)

21

eu = [0 , eu ];

19

22

24

% Agregamos un cero al final de la diagonal inferior


% (para que tenga J1 elementos)

25

ed = [ ed , 0];

23

26
27

% Creamos la matriz tridiagonal

28

A = spdiags ([ ed e eu ] , -1:1 , J -1 , J -1);

1.1.1.3.2.

Anlisis de Fourier del mtodo implcito

El mtodo implcito, como ya hemos visto, tiene la expresin:


h
i
n+1
n+1
Ujn+1 = Ujn + Uj+1
2Ujn+1 + Uj1
Buscamos Ujn de la forma:
Ujn = n eikjx
Sustituyendo en el mtodo, obtenemos:
h
i
n+1 eikjx = n eikjx + n+1 eik(j+1)x 2n+1 eikjx + n+1 eik(j1)x
Dividiendo por n eikjx obtenemos la siguiente expresin para (k):
h
i
(k) = 1 + eikx 2 + eikx
h
i
= 1 + eikx 2 + eikx


k
2
= 1 4sin
x
2

18 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

Resolviendo el sistema:
1

(k) =

1 + 4sin2

k
x
2

El mtodo implcito es incondicionalmente estable, lo que quiere decir que es siempre estable independientemente de los valores de t y x.
1.1.1.4.

El -mtodo

El -mtodo es un mtodo que combina el mtodo explcito y el mtodo implcito


de la siguiente forma, con 0 1:
"
#
"
#
n+1
n+1
n
n
Ujn+1 Ujn
Uj+1
2Ujn+1 + Uj1
2Ujn + Uj1
Uj+1
=
+ (1 )
t
(x)2
(x)2
Segn el valor de se tiene:
= 0 Mtodo explcito (estable si 21 ).
= 1 Mtodo implcito siempre de orden 1.
Otra forma de escribirlo es
h
i
h
i
n+1
n+1
n
n
Ujn+1 = Ujn + Uj+1
2Ujn+1 + Uj1
+ (1 ) Uj+1
2Ujn + Uj1
1.1.1.4.1.

Programacin del mtodo

Matricialmente, el

1 + 2

mtodo tiene la expresin:

U1n+1
n+1
..
..
U2
.
.
. =

..
..
.
.
.
.
n+1
UJ1
1 + 2
{z
}

|
A

1 (1 )2 (1 )

...
(1 )

...

...

U1n
U2n
..
.

...

(1 )
n
UJ1
(1 ) 1 (1 )2
{z
}
B

Hay que resolver el sistema lineal en el que A y B son matrices tridiagonales y


diagonalmente dominantes:
|1 + 2| > | | + | |
En la figura 5 se puede observar cmo obtiene el mtodo los valores de un punto
a partir del resto.
19 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

t
tN
..
.
t4
t3
t2
t1
t0
x0 x1 x2 x3 x 4

...

xJ

Figura 5: El -mtodo
1.1.1.4.2.

Anlisis de Fourier del mtodo

Buscamos Ujn de la forma Ujn = n eikjx


Los pasos a seguir, como ya hemos visto
1. Sustituimos Ujn en el mtodo por n eikjx .
2. Dividimos por n eikjx y despejamos (k).
Quedando como resultado, antes de despejar :
h
i
h
i
= 1 + eikx 2 + eikx + (1 ) eikx 2 + eikx
Recordamos que
ikx

ikx

2+e

= 4sin

k
x
2

Nos queda:



k
k
2
= 1 4sin
x 4(1 )sin
x
2
2
"

#


k
k
2
2
1 + 4sin
x
= 1 4(1 )sin
x
2
2
2

Luego como resultado tenemos:


2

k
x
2

1 4(1 )sin


1 + 4sin2 k2 x

En el caso en el que || > 1 ( 1 siempre, pero puede ocurrir el caso < 1)


tendramos inestabilidad. Vemos que esto ocurre si:




k
k
2
2
1 4(1 )sin
x < 1 4sin
x
2
2
20 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

que es equivalente a que ocurra que:


2 < 4(1 2)sin


k
x
2

k
x
2

El caso ms desfavorable es sin


= 1, lo que implica k = J. Es decir,
tenemos inestabilidad si y slo si 1 < 2(1 2). O lo que es lo mismo, tenemos
estabilidad si y slo si 21 (1 2)1 .
En conclusin:
0 21 : tenemos estabilidad 12 (1 2)1 .
1
2

1: tenemos estabilidad siempre.

1.1.1.4.3.

Error de truncacin del mtodo

Para analizar el error de truncacin del mtodo vamos a hacer el desarrollo de


Taylor en el punto (xj , tn+ 1 ). Tenemos que el error de truncacin tiene la forma:
2

"
#
 n

n+1
n+1
n+1
n+1
n
u

2u
+
u
u

u
uj+1 2unj + unj1
j
j+1
j
j1
j
n

(1 )
Tj =
t
(x)2
t
Comencemos con el desarrollo:
Paso 1:
"

un+1
j

1
1
= u + tut +
2
2

"

1
1
unj = u tut +
2
2
Obtenemos:

#n+ 12
2
3

1 1
1
t utt +
t utttt + . . .
2
6 2
j

1
t
2

2

1
utt
6

#n+ 12
3
1
t utttt + . . .
2
j


n+ 12
un+1
unj
1
j
= ut + (t)2 utttt + . . .
t
24
j

Paso 2:
un+1
j+1

2un+1
j

un+1
j1

unj+1 2unj + unj1

n+1
1
2
4
6
= x uxx + x uxxxx + x uxxxxxx + . . .
12
6!
j

n
1
2
= x2 uxx + x4 uxxxx + x6 uxxxxxx + . . .
12
6!
j


21 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

Paso 3: A partir de (1) y (2) obtenemos los desarrollos en (xj , tn+ 1 )


2

un+1
j+1

unj+1

2un+1
j

2unj

un+1
j1

unj1

1
2
= x uxx + x4 uxxxx + x6 uxxxxxx + . . .
12
6!

n+ 12

1
1
2
4
t x uxxt + x uxxxxt + . . .
+
2
12
j

2
1
 2
n+
1 1
t
x uxxtt + . . . j 2
+
2 2
2

n+ 21
j

n+ 21

2
1
4
6
2
= x uxx + x uxxxx + x uxxxxxx + . . .
12
6!
j

n+ 21

1
1
t x2 uxxt + x4 uxxxxt + . . .

2
12
j
2

 2
n+ 1
1 1
t
+
x uxxtt + . . . j 2
2 2

Paso 4:
"

#
 n

n+1
un+1
+ un+1
uj+1 2unj + unj1
j+1 2uj
j1

+ (1 )
=
x2
x2
n+ 21

2
1
2
4
ux x + x uxxxx + x uxxxxxx + . . .
12
6!
j

n+ 12
1
1
+( )t ux xt + x2 uxxxx
2
12
j
1 2
n+ 1
+ t [uxxtt ]j 2
8
Paso 5: Reordenamos los trminos de error
# 
"


1
1
1 2
1
2
2
n
tuxxt (x) uxxxx +
t uttt t uxxtt
Tj =
2
12
24
8
" 
#

1 1
2
+
tx2 uxxxxt x4 uxxxxxx
12 2
6!
El caso general es Tjn = O(t) consistencia de orden 1.
1.1.1.4.4.

El mtodo de Grank Nicolson

Es un caso particular del -mtodo en el que se toma = 12 .


Entonces
1
1
1
2
Tjn = x2 uxxxx + t2 uttt t2 uxxtt x4 uxxxxxx + . . . = O(x2 + t2 )
12
24
8
6!
El orden de consistencia del mtodo es 2 en t y x y es siempre estable. Por
tanto es convergente de orden 2 y se puede tomar x = t.
22 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

1.1.1.4.5.

Guillermo Ruiz lvarez

Minimizar el error de truncacin

Vamos a tratar de hacer cero la suma de los dos trminos.

#

1
1
t x2 = 0
uxxt
2
12


1
1
x2 x2 = 0
2
12


1
1
=
2
12
"

Nos queda que el error de truncacin es




1
1 1
2
n
2
Tj = t uttt +
tx2 uxxxxt x4 uxxxxxx
12
12 2
6!
Aplicando la condicin
Tjn =

1
2


=

1
12

tiene la forma

1
1 1
t2 uttt +
x4 uxxxxt + . . . = O(t2 + O(x4 ))
12
12 20
1
2

Vamos a ver si la condicin


estabilidad.
1
2

Ya sabemos que si 0


=

1
12

es compatible con la condicin de

tenemos estabilidad si y slo si

Si tomamos ( 21 ) =

1
12

1
1
2 (1 2)

entonces

(1 2) =

1
1 1
1 1
= =

6
6 1 2
2 1 2

Por lo que tenemos estabilidad siempre.


1.1.1.5.

Principio del mximo y convergencia para (1 )

Observacin: La condicin
1
12 12
1.1.1.6. Ejemplo:
mximo si 1.

1
2

1 1
2 1

1
2

es ms fuerte que la condicin de estabilidad

Siempre es estable pero slo verifica el principio del

23 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Teorema 1.4. Si se cumple la condicin (1 )


siguiente principio del mximo.

Guillermo Ruiz lvarez

1
2

el -mtodo verifica el

Umin Ujn U max


j, n donde
Umin = min{U0m , Uj0 , UJm } con 0 m n y 0 j J.
Umax = max{U0m , Uj0 , UJm } con 0 m n y 0 j J.
Es decir, el mximo y el mnimo se alcanzan siempre en la condicin inicial o en la
frontera.

Demostracin.
n+1
n+1
(1 + 2)Ujn+1 = (Uj1
+ Uj+1
)
n
n
+ (1 )(Uj1
+ Uj+1
)

+ [1 2(1 )]Ujn
Vamos a usar reduccin al absurdo, razonando con el mximo (la prueba para
el mnimo sera igual).
Supongo que el mximo se alcanza en Ujn+1 para n 0 y 1 j J 1.
n+1
n+1
n
n
Llamamos U = max{Uj1
, Uj+1
, Uj1
, Uj+1
, Ujn }

(1 + 2)Ujn+1 2U + 2(1 )U + [1 2(1 )]U


2 + 2(1 ) + 1 2(1 )
= 1 + 2(1 + 2)Ujn+1
(1 + 2)U = Ujn+1 U
Ujn+1 es el mximo y U = Ujn+1 .
n+1
Se acaba de probar que el mximo tambin se alcanza en Uj1
lo que es una
contradiccin.

1.1.1.6.1.
mximo

Prueba de la convergencia por la tcnica del principio del

Ya sabemos que error enj tiene la expresin:


enj = Ujn unj
Luego a partir de
n
n
n
n
(un+1
unj ) (un+1
2un+1
+ un+1
j
j
j
j1 ) (1 )(uj+1 2uj + uj1 ) = tTj

24 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

tenemos que
n+1
(en+1
enj ) = (en+1
+ en+1
j
j+1 ej
j1 )

+ (1 )(enj+1 2enj + enj1 ) tTjn


Despejando:
n+1
(1 + 2)en+1
= en+1
j
j+1 + ej1


+ 1 2(1 ) enj

+ (1 )enj+1 + (1 )enj1 tTjn


Condiciones para aplicar la tcnica del principio del mximo
1. Los coeficientes a la derecha tienen que ser positivos
1
(1 )1
2
2. La suma de coeficientes en el lado derecho tiene que ser menor o igual que el
coeficiente del lado izquierdo.
2 + 1 2(1 ) + 2(1 )
= 2 + 1 2 + 2 + 2 2
= 1 + 2
Dado que se cumplen las condiciones, aplicamos la tcnica del principio del mximo.
Llamamos
E n = max0jJ |enj | (cota para el error).
T = maxj,n (cota para el error de truncacin).
Y tenemos
(1 + 2)|en+1
| E n+1 + E n+1
j


+ 1 2(1 ) E n
+ (1 )E n + (1 )E n + tTjn
= (2)E n+1 + E n + tT
Para todo j se cumple
(1 + 2)|en+1
| (2)E n+1 + E n + tT
j
Por tanto
(1 + 2)E n+1 (2)E n+1 + E n + tT
Es decir
E n+1 E n + tT
Sabemos que
25 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

E0 = 0
E n ntT tf T
Caso = 1 O(t + (x)2 )
Caso =

1
2

O((t)2 + (x)2 )

Caso = 0 O(t + (x)2 )


Queda probada la convergencia.
Hasta ahora hemos supuesto que nuestra aproximacin nmerica tiene error cero
en la condicin inicial y en los valores frontera. Vamos a ver que resultado obtenemos
si no consideramos este supuesto.
Tenemos, para el -mtodo:

Uj0 = u0 (xj ) + j0
U0n = 0n

U n = n
J
J
donde j0 es el error en la condicin inicial y 0n , Jn los errores en los datos frontera.
Tenemos
enj = (enj )(1) + (enj )(2)
donde
(enj )(1) verifica la misma ecuacin del apartado anterior con error cero en datos
iniciales y frontera.
(enj )(2) verifica la ecuacin del mtodo en
(e0j )(2) = j0
(en0 )(2) = 0n
(enJ )(2) = Jn
Vamos a acotar (enj )(1) y (enj )(2) :
j, n tenemos (enj )(1) tF T
max |(enj )(2) | max{|j0 |, |0n |, |Jn |}
1.1.2.
1.1.2.1.

Otros modelos parablicos


Primer ejemplo

Consideramos el problema siguiente:

ut = a(x, t)uxx
u(0, t) = u(1, t) = 0

u(x, 0) = u0 (x)
26 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

Si quisisemos hallar el mtodo explcito, basta hallar aproximaciones de derivadas


de la siguiente forma:
n
n
Ujn+1 Ujn
Uj+1
2Ujn + Uj1
= a(xj , tn )
t
(x)2

Si lo analizramos, obtendramos que el esquema es estable si a(xj , tn ) 21 .


Si quisisemos hallar el -mtodo, procedemos de la misma forma:
n+1
n+1
n
n
Ujn+1 Ujn
Uj+1
2Ujn+1 + Uj1
Uj+1
2Ujn + Uj1
= a(xj , tn )
+ (1 )
t
(x)2
(x)2

Otra opcin con el mismo error es tomar


en lugar de a(xj , tn+ 1 ).

a(xj ,tn )+a(xj ,tn+1 )


2

= a(xj , tn+ 1 )+O((t)2 )


2

1.1.2.2.

Segundo ejemplo

Consideramos el problema siguiente:




ut = x p(x, t) x
u(0, t) = u(1, t) = 0

u(x, 0) = u0 (x)
Procedemos del mismo modo, de forma que aproximando derivadas, obtenemos el
siguiente mtodo:
n
i
Ujn+1 Uj+1
1 h n
n
n
n
n
n
=
(U

U
)

p
(U

U
)
p
1
j
j
j1
j 12
t
(x)2 j+ 2 j+1

1.2.

Ecuacin parablica general. Problemas de conveccin


dominante

Consideramos el problema siguiente:

ut = a(x, t)uxx + b(x, t)ux + c(x, t)u + d(x, t)


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

u(x, 0) = u0 (x)
Vamos a ver un primer mtodo para aproximar la solucin a este probema:
"
#
"
#
n
n
n
n
n
Ujn+1 Ujn
U

2U
+
U
U

U
j+1
j
j1
j+1
j1
= anj
+ bnj
+ cnj Ujn + dnj
t
(x)2
2x
Vamos a ver en que condiciones podemos aplicar el principio del mximo. Tenemos
=
=

t
(x)2
t
x

27 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

El error tiene la forma


enj = Ujn unj
Por tanto
h
i
n
n
n
n
n
en+1
=e
+
a
e

2e
+
e
j
j
j+1
j
j1
j
i
h

+ bnj enj+1 enj1


2
+ tcnj enj tTjn
Agrupando trminos
en+1
=(1 2anj + tcnj )enj
j

+ (anj + bnj )enj+1


2

+ (anj bnj )enj1


2
Tjn
Vamos a ver si se cumplen las hiptesis:
1. Coeficientes positivos:
1 2anj + tcnj 0

anj + bnj 0
2
n
n
n
aj bj 02aj tcnj 1
2
Condicin usual para estabilidad
1 n
|bj | anj
2
2. Suma de coeficientes menor o igual que 1 (c 0):
1 2anj + tcnj + anj +

La condicin

n
bj + anj
2
= 1 + tcnj

n
b
2 j
1

1 n
|b | anj
2 j

es propia de los problema de conveccin difusin (a 6= 0, b 6= 0).


1.2.0.3. Caso particular Los problemas de conveccin dominante son aquellos
en los que domina el trmino convectivo.
a(x, t) << b(x, t)
28 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

Tenemos que si b = 1 y a = , entonces


t
1 t

2 x
(x)2
Es decir
x 2
Si es muy pequeo, para que se cumpla el principio del mximo, se necesita una
malla muy fina.
Se cumplen las condiciones para el principio del mximo.

E n = max |enj |
j

|en+1
|
j

(1 2anj + tcnj )E n
1
+ (anj + bnj )E n
2
1
n
+ (aj + bnj )E n + tT
2
n
n
|en+1
|

(1
+
c
j )E + tT
j
E n+1

E n + tT
E n + tT

Tenemos
E n (nt)T tf T
Suma de coeficientes menor o igual que 1 (c 0): La suma de coeficientes es
(1 + tcnj ) > 1. Todava se puede obtener converencia
cnj = |cnj | C con C = cte
E n+1 (1 + Ct)E n + tT
Iterando
n

E t

n1
X

(1 + ct)j T

j=0

(1 + Ct)j eCtj eCtF


(1 + x)j exj
Y obtenemos la converfencia mediante
E n tneCtF T = tF eCtF T

29 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

1.2.0.4.

Guillermo Ruiz lvarez

Esquema upwind El esquema upwind tiene la siguiente forma


ut = a(x, t)uxx + b(x, t)ux

Para b > 0 la conveccin se mueve a la izquierda, y para b < 0, la conveccin se


mueve hacia la derecha.
En este esquema, si b > 0, se tiene una diferencia regresiva.
n
Ujn Uj1
ux
x
Para b < 0, se tiene una diferencia progresiva
n
Uj+1
Ujn
ux
x
Usando el esquema upwind, las condiciones para el principio del mximo son ms
debiles. Sin embargo, antes usbamos diferencias centrales con orden O((x)2 ), es
decir, orden 2, y con upwind usamos diferencias de orden O(x) para ux .
Vamos a suponer b > 0, el esquema es
n
n
Ujn+1 Ujn
2Ujn + Uj1
Uj+1
U n Ujn
n j+1
= anj
+
b
j
t
(x)2
x

Despejando:
h
i
h
i
n
n
n
Ujn+1 = Ujn + anj Uj+1
2Ujn + Uj1
+ bnj Uj+1
Ujn
El error tiene la forma
en+1
j

=enj

anj

enj+1

2enj

enj1

+
h
i
+ bnj enj+1 enj tTjn
+

Agrupando trminos
en+1
=(1 2anj bnj )enj
j
+ (anj + bnj )enj+1
+ anj enj1 Tjn
Coeficientes positivos. La nica condicin es
1 2aj bnj 0
El caso lmite es en el que anj = 0, quedando la condicin
1 bnj
es decir

1
bnj

En conclusin
Con las diferencias centrales, tenemos que anj = y x .
Con upwind, tenemos que x t.
30 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

1.2.0.5. Ejemplo:
Consideramos el problema siguiente, con una ecuacin de
conveccin-difusin, para > 0:
(
uxx + ux = 1
u(0, t) = u(1, t) = 0
En primer lugar consideramos la ecuacion homognea:
uxx + ux = 0
Cuya solucin general es

C1 e + C2
Como solucin particular, podemos ensayar up = ax, quedando a = 1 y por tanto
obteniendo la solucin particular up = x.
Obtenemos la solucin general para la ecuacin
x

C1 e + C2 + x
Ahora aplicamos las condiciones iniciales del problema para obtener los valores C1
y C2 , obteniendo
C1 =
C2 =

1
1

1 e
1

1 e

El problema es que si es muy pequeo, el primer trmino es como si no estuviese,


y la pendiente en el punto 1 se hace muy grande.
1.2.1.

Problemas no lineales

Consideramos la ecuacin
ut = a(u)uxx
El problema no es lineal porque la funcin a depende de u. Vamos a ver un mtodo
explcito para hallar la solucin:
n
n
Ujn+1 Ujn
Uj+1
2Ujn + Uj1
n
= a(Uj )
x
(x)2

O, escrito explcitamente
h
i
n
n
2Ujn + Uj1
Ujn+1 = Ujn + a(Ujn ) Uj+1
Vamos a hallar el error del mtodo:
h
i
n
n
n
n
n
n
un+1
=
u
+
a(u
)
u

2u
+
u
j
j
j+1
j
j1 + tTj
j
31 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

enj = Ujn unj


a(unj ) = a(Ujn ) enj

a
()
u

para un punto intermedio entre unj y Ujn .


Tenemos, llamando qjn =
un+1
j

= uj +

a(Ujn )

unj+1

a
()
u

2unj

unj1

tTjn

enj qjn

h
i
n
n
n
uj+1 2uj + uj1

Restando este valor a


h
i
n
n
n
n
n
n
un+1
=
u
+
a(u
)
u

2u
+
u
j
j
j+1
j
j1 + tTj
j
obtenemos
en+1
j

enj

a(Ujn )

enj+1

2enj

enj1

tTjn

enj qjn

h
i
n
n
n
uj+1 2uj + uj1

Suponemos que
|unj+1 2unj + unj1 | Mxx (x)2
y
|qjn | K
para K una constante y Mxx una constante.
Vamos a tratar de aplicar el principio del mximo, suponemos adems que
i 1
t h
n
max a(Uj )
x2
2
para estabilidad.
Llamamos E n = max |enj |
t
|en+1
| (1 2a(Ujn )) E n + a(Ujn )E n + a(Ujn )E n + tT + E n k
Mxx (x)2
j
x2
|
{z
}
0

con T = max |Tjn |.


Obtenemos
E n+1 (1 + ktMxx )E n + tT
Luego E 0 = 0.
n

E tT

n
X

[1 + ktMxx ]j

j=0

32 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

Obtenemos la cota de error


(1 + x)j ejx
(1 + ktMxx )j ektjMxx ektF Mxx
Obteniendo
E n ektF Mxx tF T

1.3.

Ecuaciones hiperblicas

Las ecuaciones hiperblicas tienen la forma


ut + a(x, t)ux = 0
Las curvas caractersticas son curvas de la ecuacin
x
= a(x, t)
t
Si a es lipschitziana, entonces las caractersticas no se cortan.
Sabiendo que u es solucin de la ecuacin hiperblica, vamos a calcular la derivada
de u a lo largo de una curva caracterstica, tomando entonces u(x(t), t)
u u x
u
=
+
= ut + ux a(x, t) = 0
t
t
x t
Es decir, que las soluciones son constantes a lo largo de las caractersticas. El
mtodo de las caractersticas consiste en utilizar que a lo largo de toda una curva
caracterstica, la solucin toma el mismo valor.
1.3.0.1. Ejemplo: Suponemos a constante, la solucin de ut + aux = 0 con
u(x, 0) = u0 (x) es u(x, t) = u0 (x at).
Tenemos que

x
t

= a y x(t) = at + c.

Si queremos hallar el valor de la funcin u(x , t ), hallamos su caracterstica x


at = C y en t = 0, tenemos que u0 = x at = C.
1.3.0.2. Condicin CFL (Courant-Friedrich-Levy) Un esquema explcito de
orden 1 para la ecuacin
n
Ujn+1 Ujn
Ujn Uj1
+a
=0
t
x

Tomando ahora =

at
x

lo escribimos de la forma
n
Ujn+1 = (1 )Ujn + Uj1

Sobre el eje x (t = 0), el valor de Ujn+1 depende de los valores de la condicin


inicial en {xjn1 , . . . , xj1 , xj }.
Lo que importa para que
sentido es que el punto Q = (xj
 el mtodo tenga

atn+1 , 0) est en el intervalo xjn1 , . . . , xj . Imaginemos que no es as (ver el dibujo).
33 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

La condicin CFL Es una condicin necesaria para la convergencia del esquema


numrico que dice que el dominiode dependencia terico (Q) est contenido en el
dominio de dependencia numrico xjn1 , . . . , xj .
La recta P Q tiene que quedar dentro del tringulo. P Q tiene pendiente a1 . La recta
t
que define el dominio de dependencia numrico tiene pendiente x
a1 .
Para este esquema, la condicin CFL es 1.
Vamos a probar que la condicin CFL es necesaria para la convergencia pero no
suficiente.
Usamos el esquema:
n
n
Ujn+1 Ujn a(Uj+1
Uj1
)
+
=0
t
2x

Llamando nu =

at
:
x

n
n
Ujn+1 = Ujn Uj+1
+ Uj1
2
2
Como a > 0, igual que antes, la condicin CFL es 1. Si a < 0, la CFL nos
a1 ,es decir, || 1. Luego la CFL que sigue vale para cualquier valor
queda t
x
de a:
|| 1
Vamos a ver que el mtodo no puede converger.

u0 (x) =

am eimx

m=

u(x, t) = u0 (x at) =

am eim(xat)

m=

Vamos a hacer el anlisis de Fourier del mtodo.


u(xj , tn ) =

am eimant eimjx

m=

Planteamos
Ujn = n eimjx
El factor de amplificacin es ahora una aproximacin a eimat , para la estabilidad es necesario que || 1.
Tomamos k = m y
Ujn = n eikjx
Sustituyendo el mtodo
n+1 eikjx n eikjx
eik(j+1)x eik(j1)x
+ an
=0
t
2x
34 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

Dividiendo por n eikjx


1
eikx eikx
+a
=0
t
2x
Sabemos que eikx eikx = 2isen(kx), luego
1 + 2isin(kx) = 0
1 isin(kx)
||2 = 1 + 2 sin2 (kx)
Tenemos que si la CFL es || 1, entonces || > 1 luego el mtodo no es estable.
1.3.0.3.

Ejemplo:

ut + aux = 0
u(x, 0) = u0 (x)

u(0, t) = 0

1.3.1.

Esquema upwind

El mtodo upwind tiene la siguiente expresin,con =

at
:
x

Para a < 0 (hacia la izquierda):


n
Ujn+1 Ujn
Ujn
Uj+1
+a
=0
t
x

Para a > 0 (hacia la derecha):


n
Ujn+1 Ujn
Ujn Uj1
+a
=0
t
x

1.3.1.1.

Anlisis de Fourier (upwind)


u0 (x) =

am eimx

m=

u(x, t) = u0 (x at) =

am eimat eimx

m=

u(xj , tn ) =

imat

am e

in

eimjx

m=

Suponemos a > 0 (a < 0 es anlogo).


n
Ujn+1 = (1 )Ujn + Uj1

35 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

Tomando k = m
Ujn = n eikjx
n + 1eikjx = (1 )n eikjx + n eik(j.1)x
Obteniendo


= (1 ) + eikx = (1 ) + cos(kx) + isin(kx)
Como siempre, tenemos estabilidad si y solo si || 1:


2
||2 = (1 ) + cos(kx) + 2 sin2 (kx)
= (1 )2 + 2 cos2 (kx) + 2(1 )cos(kx) + 2 sin2 (kx)
= (1 )2 + 2 + 2(1 )cos(kx)
= 1 2(1 )(1 cos(kx))


k
2
x
= 1 4(1 )sin
2

Eneste ejemplo coinciden la condicin de estabiidad y la condicin CFL.


|| 1 1 4(1 ) 1 1
1.3.1.2. Anlisis de consistencia (upwind) Seguimos considerando que a > 0,
luego el esquema es
n
Ujn+1 Ujn
Ujn Uj1
+ anj
=0
t
x
El error de truncacin tiene la forma
Tjn

ujn+1 unj
unj unj1
=
+ anj
t
x

Realizamos los desarrollos de Taylor.


un+1
unj
1
j
= (ut + tutt + . . .)nj
t
2
unj unj1
1
= (ux xuxx + . . .)nj
x
2
Nos queda que
Tjn



1
1
= (ut + tutt + a uxx xuxx + . . .)nj
2
2
1
1
Tjn = ut + aux + tutt xauxx
| {z } 2
2
0

36 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

Podemos simplificar la expresin utilizando que


ut = aux
utt = (aux )t
= a(ux )t
= a(ut )x
= a(aux )x
= a2 uxx
Simplificando la expresin para el error de truncacin
1
t
uxx axuxx + . . .
2
2
1
= auxx [at + x] + . . .
2
1
= auxx x(1 ) + . . .
2

Tjn = a2

El esquema es de orden 1 en x.
1.3.1.3. Anlisis de consistencia utilizando el principio del mximo Llamamos |T | a una cota para el error de truncacin.
1
T = (1 )|a|Mxx
2
donde Mxx es una cota para uxx .
Llamamos enj = Ujn unj
Restndole
un+1
= (1 )unj + unj1 + tTjn
j
a
n
Ujn+1 = (1 )Ujn + Uj1

tenemos
en+1
= (1 )enj + ej1 tTjn
j
Tenemos que comprobar
Coeficientes de la derecha positivos: 1 , .
Suma de coeficiente menor o igual que 1, (1 ) + = 1.

E n = max |enj |
j

|en+1
| (1 )E n + E n + tT = E n + tT j
j

37 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

E n+1 E n + tT
Luego tenemos que, cuando x 0
1
E n ntT tF T = tF |a|Mxx x 0
2
Hemos probado la convergencia suponiendo que u es de clase C 2 . Esto es pedir
mucha regularidad para la solucin.
En el caso parablico, aunque la condicin inicial tenga poca regularidad, en cualquier tiempo positivo la solucin se regulariza. Sin embargo, en el caso hiperblico, en
tiempo positivo, la solucin hallada es la misma que la inicial desplazada, luego si la
condicin inicial no es regular, tampoco lo ser la solucin.
1.3.1.4. El mtodo upwind visto como interpolacin lineal Seguimos considerando que a > 0, luego el esquema es
n
Ujn+1 = (1 )Ujn + Uj1

Consideramos los puntos P = (xj , tn+1 ), A = (xj , tn ), C = (xj1 , tn )


El esquema upwind nos da como aproximacin al valor de la solucin en el punto
P
Ujn+1 u(P ) (1 )u(A) + u(C)
La recta caracterstica es la recta que pasa por P y tiene pendiente a1 .
Por un lado sabemos que u(P ) = U (Q) donde Q es el punto de corte de la recta
caracterstica con la recta que pasa por A y C, ya que el valor de la solucin es
constante en toda la recta caracterstica.
Vamos a comprobar que el valor que nos da el esquema upwind se obtiene calculando el interpolante lineal de la funcin u en los nodos A y C y evalundolo en
Q.
El interpolante lo podemos escribir como
p(x) = u(A)

(x xj1 )
(xj x)
+ u(C)
x
x

Ahora lo evaluamos en Q:
P (Q) = u(A)

QC
AQ
+ u(C)
x
x

Sabemos que CA = x y AP = t. Luego

1
a

t
.
AQ

Tenemos entonces
AQ = at
QC = x AQ = x x = (1 )x
Luego, finalmente
p(Q) = u(A)(1 )

x
x
+ u(X)
= u(A)(1 ) + u(C)
x
x
38 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

1.3.1.5. Anlisis de Fourier del esquema upwind El anlisis de Fourier de los


distintos esquemas se centra en ver cual es el mdulo de y la fase de y el error en
ambos.
El error en mdulo en nos da un error en la amplitud de las ondas y el error en
la fase es un error en la velocidad de las ondas.
En el esquema upwind la onda se disipa mucho pero se sigue a velocidad correcta.
Esperamos por tanto un error grande en amplitud y un error ms pequeo en la fase.
El modo terico es eikat .
1.3.1.5.1. Error en el mdulo Hemos visto que (k) = 1 (1 eikx ).
Llamamos k = m y = kx.
Analizamos el mdulo de :
2

|(k)| = 1 4(1 )sin

kx
2

|(k)|2 1 4(1 ) = 1 (1 ) 2
4
Luego el error en ||2 es de orden 2 .
En el caso particular = 1 el error es cero porque es ir a travs de la caracterstica.
1.3.1.5.2.

Error en la fase


(k) = (1 ) + cos(kx) isin(kx)

La fase de es:


sin(kx)
F ase() = atan
(1 ) + cos(kx)

Vamos a comparar la fase de con la fase terica, pero primero vamos a enunciar
un lema.
Lema 1.5. Si q c1 p + c2 p2 + c3 p3 + . . . entonces
1
atan(q) = c1 p + c2 p2 + (c3 c31 )p3 + . . .
3
Vamos a desarrollar la fase de en potencias de .

"

F ase() = atan (
+ . . .)(1 2 + . . .)1
6
2


1
3
= atan (1 3) + . . .
6
39 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

Ahora aplicamos el lema con estas condiciones

p=

c1 =
c2 = 0

c3 = 1 (1 3)
6
y obtenemos


1
atan() = 1 (1 )(1 2) 2 + . . .
6

Recordamos que la fase real es


kat
Y observamos que
=

at
kx = at
x

El error relativo en fase


(kat) F ase()
1
=
(1 (1 2) 2 + . . .
(kat
6
El error relativo en fase es del orden de 2 , es decir de orden 2. Vamos a tratar de
buscar un segundo mtodo que tenga menor error en amplitud.
Dados los puntos

P = (xj , tn+1 )

A = (xj , tn )
B = (xj1 , tn )

C = (xj+1 , tn )
Sabemos que u(P ) = u(Q) donde Q es el punto de corte de la recta de pendiente
que pasa por P y AB. La idea es interpolar con los puntos A, B y C para obttener
un interpolante cuadrtico, en lugar de un interpolante lineal como ya hemos visto.
1
a

(xj x)(xj+1 x)
(xj xj1 )(xj+1 xj1 )
(x xj1 )(x xj+1 )
= u(A)
(xj xj1 )(xj xj+1 )
(x xj1 )(x xj )
= u(C)
(xj+1 xj1 )(xj+1 xj )

p(x) = u(B)

AQCQ
x2x
QB(CQ)
= u(A)
x(x)
QB(AQ)
= u(C)
2xx

p(Q) = u(B)

40 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

1.3.2.

Guillermo Ruiz lvarez

Esquema Lax-Wendroff

n
Ujn+1 = Uj1

(1 + )
n (1 )
+ Ujn (1 )(1 + ) + Uj+1
()
2
2

Ujn+1 = Ujn

i
i 2 h
h n
n
n
n
+
2Ujn + Uj1
Uj+1 Uj1
Uj+1
2
2

Si tomamos Ujn = n eikjx


=1

i 2 h
i
h ikx
e
eikx +
eikx 2 + eikx
2
2
k
= 1 isin(kx) 2 2 sin2 ( x)
2

k
= (1 2 2 sin2 ( x) isin(kx)
2
k
||2 = 1 4 2 (1 2 )sin4 ( x)
2
La estabilidad la tenemos si
|| 1 || 1
que coincide con la condicin CFL.
Tenemos un error en 2 del orden de 4 .
Vamos a ver el error en fase.
#
"
#
"
2
3

sin()
F ase() = atan
= tan (
+ . . .)(1 2 2 + . . .)1

2
2
6
4
1 2 sin ( 2
Aplicando el lema


1
F ase() = 1 (1 2 ) 2 + . . .
6

El error relativo en fase es


1
(1 2 ) 2 + . . .
6
Tenemos un error en fase del orden de 2 . Este esquema presenta un error en fase
del mismo orden que el esquema upwind y en mdulo de orden 4, al contrario que
upwind que es de orden 2. Sin embargo, al aumentar la precisin en el mdulo, el
mtodo se comporta mal en la prctica porque no cumple el principio del mximo.

41 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

Teorema 1.6 (Teorema de Godunov). Si un esquema lineal para


ut + aux = 0
cumple el principio del mximo, entonces no puede tener orden mayor que uno.

Hemos visto la definicin del esquema Lax-Wendroff cuando a no es constante. Es


decir, para:
ut + a(x, t)ux = 0
en lugar de la forma que vimos para el esquema vamos a estudiar otro forma de
implementar el esquema.
Se parte del desarrollo de Taylor siguiente:
1
u(x, t + t) = u(x, t) + tut (x, t) + (t)2 utt (x, t) + O((t)3 )
2
Por la ecuacin tenemos que
ut = aux
utt = at ux auxt
= at ux + a(aux )x
Sustituyendo en el desarrollo anterior utilizando:
"
#
n
n
n
n
n
n

xU
a

(a

(a

U
))

xU
1
0
x
x
x
0
j
j
j
j
j
j
+ (t)2 (at )nj
+
Ujn+1 Ujn = anj t
x
2
x
(x)2
donde
0 v(x) =


1
v(x + x) v(x x)
2

y
x v(x) = v(x +

x
x
) v(x
)
2
2

Vamos a desarrollar le mtodo:


0 xUjn =
anj x Ujn

i
1h n
n
Uj+1 Uj1
2
anj

h
i
n
n
Uj+ 1 Uj 1
2

h
i
h
i
h
i
n
n
x anj x Ujn = anj+ 1 Uj+1
Ujn anj 1 Ujn Uj1
2

Obtenemos

"
#
"
#

n
n
n
n
h
i
U

U
U

U
t
1
1
j+1
j1
j+1
j1
n+1
n
n
n
2
n
n
n
n
Uj Uj = aj (
)
+ (t) ((at )j
+aj
a 1 U Uj
x
2
2
2x
(x)2 j+ 2 j+1
42 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

Simplificacin:
1
n+ 1
anj + tat nj aj 2
2
t = x

Ujn+1 =

n+ 1
Ujn aj 2

"

#
n
n
i
Uj+1
Uj1
1 h
n
n
Ujn ) anj 1 (Ujn Uj1
)
+ anj aj+ 1 (Uj+1
2
2
2
2

Luego finalmente se obtiene

n+ 1
aj 2

1
n
+ anj anj 1 Uj1
2
2
2


1 n
n
n
+ 1 + aj (aj+ 1 aj 1 ) Ujn
2
2
2

1
n+
aj 2
1
n
+
+ anj anj+ 1 Uj+1
2
2
2

Ujn+1 =

Ahora el problema es como (si a > 0)

ut + aux = 0
u(x, 0) = u0 (x)

u(0, t) = 0
Hay que notar que ahora slo se tiene una condicin de contorno pues el resto viene
determinado por el valor en la recta caracterstica.
Si a < 0, entonces la condicin sera u(1, t) = 0 puesto que la pendiente de la
recta sera negativa y por tanto el valor a la izquierda vendra determinado por el valor
en la recta caracterstica.
1.3.3.

Esquema Box

Vamos a definir
1
1
x v(x) = v(x + x) v(x x)
2
2
1
1
t v(t) = v(t + t) v(t t)
2
2
La ecuacin es
ut + aux = 0

43 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

Y el esquema:

n+ 1
Uj 2

n+ 1
Uj+12

+
2t

+ ax

de otro modo
h
i h
i
n+1
n
Ujn+1 + Uj+1
Ujn + Uj+1
|

2t
{z

h
n+ 1

+aj+ 12

n+1
n
Uj+
1 + U
j+ 1
2

2x

=0

i h
i
n+1
n
Ujn + Ujn+1
Uj+1
+ Uj+1
2x
{z

ut (xj+ 1 ,tn+ 1 )+O((x)2 )+O((t)2 )


2

=0

ux (xj+ 1 ,tn+ 1 )+O((x)2 )+O((t)2 )

Para el error de truncacin del mtodo se realiza el desarrollo de Taylor en el punto


(xj+ 1 , tn+ 1 ) y se obtiene que
2

Tjn = O((x)2 ) + O((t)2 )


El esquema tiene orden de consistencia 2 en ambas variables, y se puede observar
que en la prctica, el esquema es explcito.
1.3.3.1. Condicin CFL La condicin CLFL nos dice que la recta caracterstica
est dentro del dominio numrico de dependencia.
En este esquema, la condicin CFL se cumple siempre porque todas las rectas
caractersticas entran dentro del dominio de dependencia, al ser este una caja.
1.3.3.2. Anlisis de Fourier Buscamos Ujn = n eikjx . Si u0 (x) =
y tenemos que u(x, t) = u0 (x at), entonces
u(x, t) =

m=

am eimx

am eimat eimx

m=

Dado que esto es igual a que


u(xj , tn ) =

am eimant eimjx

m=

Tenemos que el factor de amplificacin, tomando k = m, ser una aproximacin


a
eikaxt
El resultado que se obtiene tras la simplificacin es que, tomando = kx:
=

cos( 2 ) isin( 2 )
cos( 2 ) + isin( 2 )

Vemos que || 1, luego el mtodo es siempre estable y la condicin de estabilidad


coincide con la CFL. Al tener = 1, decimos que el esquema no tiene amortiguacin,
44 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

lo que quiere decir que la amplitud de la onda se mantiene. Para la velocidad de la


onda, nos interesa la fase (o argumento) de .
El argumento de , que se puede calcular haciendo las cuentas correspondientes,
queda

arg() = 2atan( tg( ))


2
Realizando un desarrollo de Taylor alrededor del punto , obtenemos


1
2 2
arg() = 1 + (1 ) + . . .
12
La fase terica es es kat, luego como
=

at
kx = kat
x

Obtenemos que el error relativo en la fase es


arg() ()
1
= (1 2 ) 2 + . . .

12
Es decir, de orden 2.
1.3.4.

Esquema Leap-frog

Este esquema es para la ecuacin


ut + aux = 0
El esquema es el siguiente
n
n
Ujn+1 Ujn1
Uj1
Uj+1
+ anj
=0
2t
2x

El primer trmino es una aproximacin a ut de orden O((t)2 ), y el segundo


aproxima ux con un orden de O((x)2 ).
El esquema involucra dos niveles de tiempo, lo que quiere decir que para poder
implementarlo, se utiliza otro mtodo de orden 2 (como LW o Box) para obtener Uj1 .
1.3.4.1.

Condicin CFL La condicin CFL es que || 1.

1.3.4.2.

t
Anlisis de Fourier del mtodo Sea = a x
.
n
n
Ujn+1 = Ujn1 (Uj+1
Uj1
)

Buscamos Ujn = n eikjx .


45 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

Obtenemos que
h

ikx

= 1 e

ikx

Escrito utilizando senos nos queda la ecuacin:


2 + 2isin(kx) 1 = 0
Hallando las soluciones:
=

2isin(kx)

4 2 sin2 (kx) + 4
2
1

= isin(kx) (1 2 sin2 (kc)) 2


Finalmente
= c ib
donde

c = (1 2 sin2 (kx)) 2
b = sin(kx)
Vamos a ver que mdulo tiene:
||2 = c2 + b2 = 1
Luego en este caso tenemos el mismo resultado que en el esquema Box, no tenemos
amortiguacin.
Vamos a estudiar ahora el argumento de estos nmeros complejos.
Sea 1 = c ib:
1
arg(1 ) = (1 (1 2 ) 2 + . . .)
6
Luego en error en fase para 1 es
1
arg(1 ) ()
= (1 2 ) 2

6
Es decir, orden 2 en .
2 va con la fase cambiada de signo y se multiplica por 1 a cada paso en tiempo.
Esto genera una onda espuria que a cada paso en tiempo va oscilando.
1.3.5.

Ecuacin de Burgers

Todos los mtodos que hemos visto se pueden aplicar tambin a


ut + (f (u))x = 0
46 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

Ya que
f (u)x =

f u
= a(u)ux
u x

Obteniendo
ut + a(u)ux = 0
La ecuacin de Burguers tiene la forma
ut + uux = 0
Que es equivalente a
1
ut + ( u2 )x = 0
2
Las caractersticas son las soluciones de
x
=a
t
Es decir

t
1
=
x
a

Las caractersticas son rectas con pendiente


En nuestro caso

1.3.6.

1
.
u0

1
t
=
x
u0

Estudio comparativo de los mtodos vistos


Error en ||
Upwind
(1 ) 2
Lax-Wendroff 41 2 (1 2 ) 4
Box
0
Leap-frog
0

47 de 62

Error en fase
)(1 2) 2
61 (1 2 ) 2
1
(1 2 ) 2
12
61 (1 2 ) 2

16 (1

Mtodos Numricos para EDP - 15/16 C1 - UAM

2.

Guillermo Ruiz lvarez

Mtodo de elementos finitos

2.1.

Espacio de funciones

Vamos a trabajar sobre un abierto Rd , d = 1, 2, 3. Sea = (1 , . . . , d ) Rd


y denotaremos como D u = x 1 1 x 2 2 . . . x d d .
Denotaremos como
ek () = {Funciones continuas y con D u continua con || k}
En cuanto a la norma en ek () es
||u||ek () =

X
||k

sup |D u(x)|
x

El soporte de una funcin continua en es la adherencia del conjunto {x


 u(x) 6= 0}.
Definimos
ek0 () = {u ek () con soporte compacto}
Si u ek0 (), u = 0en.
2.1.1.

Espacios de funciones integrables


Z

L () = {u definida en con

|u|p dx < }

L () = {funciones de cuadrado integrable}


L () = {funciones acotadas}

||u||Lp ()
||u||L2 ()

Z
1
= ( |u|p dx) p

Z
1
= ( |u|2 dx) 2

||u||

L ()

= sup |u(x)|
x

L2 () es un espacio de Hilbert: un espacio normado completo donde la norma


deriva de un producto interno.
2.1.1.1.
Desigualdad de Cauchy-Schwarz
Si u, v L2 () = u, v L1 ()
R
R
1
1
2
2
y ( |u| dx) 2 = ||u||L2 () y ( |v| ) 2 = ||v||L2 ()
2.1.1.2.

Desigualdad triangular
||u + v|| ||u||Lp () + ||v||Lp ()
48 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

2.1.1.3.

Guillermo Ruiz lvarez

Desigualdad de Holder Sean p, q con p1 + 1q = 1

Entonces

Z
|

u(x)v(x)dx| ||u||Lp () ||v||Lq ()

Si tomamos p = q = 2, entonces tenemos la desigualdad de Cauchy-Schwarz.


2.1.2.

Espacios de Sobolev

2.1.2.1. Concepto de derivada dbil Se dice que w (x) es la derivada D u en


sentido dbil si
Z
Z
||
w u(x)v(x)dx = (1)
u(x)Dv (x)dxv e
0 ()

Si existe D u entonces w = D u.
Z

Ejemplo:

u(x)D v

D u(x)v(x)dx = (1) |

w (x)v(x)dx =

2.1.2.2.

Sea la funcin
(
2x
x [0, 21 ]
u=
2 2x x [ 12 , 1]

La funcin u es continua pero no derivable. Existe la derivada dbil de u que es


(
2
x [0, 21 ]
1 (x) =
2 x [ 12 , 1]
Si 1 es la derivada dbil se debe cumplir que
Z 1
Z 1
1 (x)v(x) =
u(x)v 0 (x)v e
0 (0, 1)
0

Paso 1:
Z

Z
1 (x)v(x) = 2

1
2

Z
v(x)dx 2

v(x)dx
1
2

Paso 2:
Z

u(x)v (x)dx =
0

1
2

u(x)v 0 (x)dx

u(x)v (x)dx
1
2

Si integramos por partes, obtenemos


Z 1
Z
2
2
v(x)dx 2

v(x)dx
1
2

49 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Espacio de
Sobolev
H k ()

Guillermo Ruiz lvarez

Definicin 2.1 Espacio de Sobolev H k ().


H k () = {u definida en con D u L2 () con || k}
Nos referimos a funciones en L2 con derivadas hasta orden k en L2 . D u es la
derivada en sentido dbil.
Sea u H 1 (), si H k () es un espacio de Hilbert.
X
1
||u||H k () = (
||D u||2L2 () ) 2
||k

El producto interno es:


X

(u, v)H k () =

(D u, D v)L2 ()

||k

con

||u||( H k ()) = (u, u)H2 k ()


2.1.2.3.

Ejemplo:

Sea R2

Definimos
H 1 () = {u L2 , ux L2 , uy L2 }
||u||2H 1 ()

||u||2L2

||ux ||2L2

||uy ||2L2

Z
=

u +

u2x

Z
+

u2y

En H k () definimos tambin una seminorma:


X
1
|u|H k () = (
||D u||2L2 () ) 2
||=k

2.1.2.4.

Ejemplo:
|u|2H 1 ()

Z
=

u2x

Z
+

u2y

Si |u|H k () = 0 ; u = 0 en .
H01 () = {Funciones de H 1 () con u = 0 en }
2.1.2.5. Desigualdad de Poincar Sea Rd abierto acotado con frontera
suficientemente regular. Sea u H01 (), entonces existe una constante C () independiente de u tal que
Z
n Z
X
u 2
2
|u| dx c
|
| dx
xi

i=1
||u||2L2 () C ||u||2L2 ()
u
u
Siendo u = ( x
. . . x
)
1
d

50 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

2.1.2.6.

Ejemplo:

Guillermo Ruiz lvarez

Si u H01 () =

Z
Z
Z
2
2
2

ux + uy
u C

En H01 () son equivalentes la norma y la seminorma.


|u|H 1 () c1 ||u||H 1
||u||H 1 () c2 |u|H 1 ()

2.2.

Soluciones dbiles de problemas elpticos

Sea Rd un abierto acotado. Consideramos la ecuacion diferencial:


d
d
X
X
y

y
bi (x)

(aij (x)
)+
+ c(x)u = f (x)
| {z }
|{z}
x
x
x
j
i
i
i=1
i,j=1
Reaccin
Fuerza
|
{z
}
{z
}
|
Conveccin

Difusin

Con x y aij , bi , c, f funciones definidas en suficientemente regulares. Asumimos que se verifica la condicin de elipticidad uniforme, con c2 > c y c = cte:
d
X

aij (x)i j c

i,j=1

Esta condicin es

a11

 a21

1 . . . d ..
.
ad1

d
X

i2

i=1

lo mismo que:

1 ... 0 0
. . . a1d

1


0 1 . . . 0 .1
. . . a2d
..
2

..
.. . c 1 . . . d
.. . . . . .. ..
.
.
.
.

.
.
d
d
. . . add
0 ... 0 1

La ecuacin diferencial se acompaa de unas condiciones de contorno en .


Condiciones de contorno Dicihlet.
u = g en con g un dato. Si g = 0, se denominan homogneas.
Condiciones Neumann.
u
n

= un = g en . Si g = 0, se denominan homogneas.

Vamos a considerar el problema


( P
P
u
u
di,j=1 x j (aij (x) x
) + di=1 bi (x) x
+ c(x)u = f (x)
i
i
u = 0 en
Se dice que u es solucin clsica del problema si u e2 () satisface la ecuacin
diferencial en y u = 0 en .
51 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

2.2.0.7. Concepto de solucin dbil. Nos puede interesar aproximar las soluciones con menos regularidad que u e2 ().
Tomamos la ecuacin diferencial, integramos en y multiplicamos por una funcin
v e10 ().
Z
Z X
Z
Z X
d
d
u
u

f uv
(aij
)v +
v + cuv =

xi
i=1 xi

i,j=1 xj
Integrando por partes el primer trmino tenemos lo que se denomina la formulacin varacional de la ecuacin diferencial:
Z
Z X
Z X
Z
d
d
u v
u
aij
bi
fv
+
v + cuv =
xi xj
xi
i,j=1
i=1

Todas las integrales son finitas si u H01 ()yv H01 ().


Decimos que u es solucin dbil del problema (p) si u H01 y adems se tiene que
Z
Z
d Z
d Z
X
X
u v
u
aij
+
bi
v + cuv =
f v v H01 ()
x
x
x
i
j
i

i,j=1
i=1
El problema tiene una nica solucin fuerte para datos suficientemente regulares.
Veremos a continuacin que tambin existe una nica solucin dbil.
Si u es solucin fuerte, entonces u es solucin dbil. La implicacin en el sentido
contrario se tiene si u es de clase e2 .

Teorema 2.1 (Teorema de Lax-Milgram). Sea V un espacio de Hilbert con norma


|| ||V . Sea a(, ) una forma bilineal en v que satisface
Coercividad de la forma bilineal
c0 > 0  a(v, v) c0 ||v||2V v V
Continuidad de la forma bilineal
c1 > 0  |a(v, w)| c1 ||v||V ||w||V v, w V
Continuidad del operador l
c2 > 0  |l(v)| c2 ||v||V v V
donde l : V R es un funcional lineal.
Entonces existe una nica funcin u V verificando
a(u, v) = l(v)v V

52 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

Vamos a aplicar el teorema de Lax-Milgram para probar que existe una nica solucin dbil. Encontrar u H01 .
Nuestro espacio de Hilbert ser V = H01 ().
Definimos una forma bilineal a(u, v) : V V R:
a(u, v) =

d Z
X

X
u v
aij
+
xi xj

i=1

i,j=1

u
bi
v+
xi

cuv

Definimos un funcional lineal l que est definido como l : V R:


Z
fv
l(v) =

La solucin dbil es u H01 () verificando a(u, v) = l(v) v H01 ().


Si se cumplen las tres condiciones en el teorema, entonces existe una nica solucin
dbil.
Coercividad
d Z
X

a(v, v) =

i,j=1

X
v v
aij
+
xi xj

i=1

v
bi
v+
xi

cv 2

La condicin de elipticidad uniforme:


d Z
X
i,j=1

Z
d Z
X
v
v 2
2
aij
c
(
) + cv 2
xi
x
i

i=1
{z
}
|
||v||2 2

L ()

Nos da:
a(v, v)

c||v||2L2

d Z
X
i=1

v
v=
bi
xi

v
bi
v+
xi

cv 2



Z
1 2
1 bi 2
bi
v =
v
xi 2

2 xi

Aplicando la condicin de coercividad:


c

d
X
1 bi
i=1

2 xi

Obetenemos:

a(v, v) c||v||2L2 +

Z
c

53 de 62

d
X
1 bi
i=1

2 xi

v 2 c2 ||v||2L2

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

Lo que queremos probar es que a(v, v) c0 ||v||2V . en este caso queremos probar
que existe c0 > 0 con

Z
Z
2
2
2
a(v, v) c0 ||v||H 1 () = c0
v + (v)
0

Hemos probado que:


a(v, v) c2 ||v||2L2

c2
||v||2H 1 ()
(c + 1)

||u||2H 1 () (c + 1)|u|2H 1 ()
Continuidad En los apuntes que ha dado la profesora.
Continuidad de l
Queremos probar que existe c2 > 0 con
|l(v)| c2 ||v||V
tal que
Z
|

f v| c2 ||v||H 1 ()

Por Cauchy-Schwarz
Z
f v| ||f ||L2 ||v||L2 ||f ||L2 ||v||H 1

tenemos que c2 = ||f ||L2 , por tanto, por Lax-Milgram, existe una nica funcin
u H01 () verificando a(u, v) = l(v) v H01 ().
La nica solucin de u H01 () verifica que
||u||H01 ()

||f ||L2
c0

La demostracin es la siguiente: sea u solucin


a(u, v) = l(v) v H01 ()
Si v = u, por coercividad:
c0 ||u||2H 1 () a(u, u) = l(u) ||f ||L2 ||u||H 1
Luego
c0 ||u||H 1 ||f ||L2 = ||u||H 1

||f ||L2
c0

La desigualdad que acabamos de demostrar nos da la estabilidad o el carcter bien


puesto del problema.
54 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

Si u1 H01 () es solucin de a(u1 , v) =

f1 v v H01 ().

Si u2 H01 () es solucin de a(u2 , v) =

f2 v v H01 ().

Qu relacion hay entre u1 y u2 ?


u1 u2 H01 () verifica que
Z

(f1 , f2 )v v H01 ()

a(u1 u2 , v) =

Por la desigualdad
1
||f1 f2 ||L2
c0

||u1 u2 ||

Si f1 est muy prximo a f2 entonces tambin u1 est muy prximo a u2 .


2.2.0.8.

Consideremos el problema siguiente, con 1 2 = :

u = f en
u=0
en 1

u = f
en 2
n

Ejemplo:

El problema se puede formular en trminos del teorem de Lax-Milgram


V = {u H 1 () con u = 0 en 1 }
Esta es la formulacin varacional o problema en forma dbil.
Z

Z
uv =

fv v V

Integrando por partes


Z

Z
uv

Z
uv

u
v =
n

u
v
n

u
v =
n

u
v +
n

Z
2

Z
f v v V

u
v = 0 +
n

Z
gv =
2

fv

Z
uv =

gv
2

uv

Z
fv +

gv
2

R
R
1
R Por Lax-Migram Tenemos V = H0 (1 ), a(u, v) = uv y l(v) = f v +
gv, es decir, existencia y unicidad de la solucin dbil.
2
55 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

2.3.

Guillermo Ruiz lvarez

Aproximacin de problemas elpticos

Buscamos encontrar un u V verificando


a(u, v) = l(v) v V
La existencia de unicidad y solucin estn garantizadas por el teorema de LaxMilgram. Consideramos Vh V subsespacio finito dimensional de V .
Vh =< 1 , 2 , . . . , N (h) >
2.3.0.9.

Mtodo de elementos finitos Encontrar uh Vh verificando


a(uh , vh ) = l(vh ) vh Vh

Como Vh V hereda la estructura de espacio de Hilbert, la existencia y unicidad


de la solucin del problema discreto se deduce de aplicar el teorema de Lax-Milgram.
2.3.0.10.

Forma prctica de encontrar la solucin


N (h)

uh (x) =

ui i (x)

i=1

La aproximacin es combinacin lineal de los elementos de la base.


El vector de incgnitas con coeficientes en la base es

u1
u2

..
.
uN (h)
con a(uh , vh ) = l(vh ) vh Vh . Podemos imponer que
N (h)

a(

ui i (x), j (x)) = l(j )

i=1

con j = 1, . . . , N (h).
Que es lo mismo que
N (h)

ui a(i , j ) = l(j )

i=1

Sea A la matriz de tamao N (h) N (h) con elemento (i, j) igual a a(i , j ),
entonces, encontrar uh es equivalente a resolver el sistema lienal

u1
l(1 )
u2 l(2 )

A .. =

..
.

.
uN (h)
l(N (h) )
56 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

Guillermo Ruiz lvarez

En general A va a ser una matriz definida positiva y dispersa (tiene muchos elementos nulos). Se suelen usar mtodos iterativos para resolver el sistema.

2.4.

Funciones lineales a trozos en una dimensin espacial

Consideramos el problema: encontrar u : [0, 1] R verificando

(p(x)u0 )0 + q(x)u = f (x) x (0, 1)

u(0) = u(1) = 0
p, q e(0, 1), f L2

p(x) c > 0

q(x) 0
Tenemos
Z
a(u, v) =

1
0

p(x)u (x)v (x) +


0

(2.1)

q(x)u(x)v(x)
0

Siendo a : H01 (0, 1) H01 (0, 1) R


Y
H01 (0, 1) = {u L2 , u0 L2 , y u(0) = u(1) = 0}
R1

Siendo l(v) : H01 (0, 1) R con l(v) =


La solucin en forma dbil es u

f vdx

0
1
H0 (0, 1) con

a(u, v) = l(v) v H01 (0, 1)


Vamos a verificar que se cumplen las hiptesis de Lax-Milgram.
a coerciva
c0  a(u, u) c0 ||u||2H 1 (0,1)
0

EN H01 (0, 1) son equivalentes


Z
Z
1
2
( u + (u0 )2 ) 2 = (||u||2L2 + ||u0 ||2L2 )
y
0

||u ||L2

Z
a(u, u) =
0

Z
p(x)(u ) +
0 2

1
2

Z
1
= ( (u0 )2 ) 2

qu c

Z
(u ) +
0 2

a continua c1 con |a(u, v)| c1 ||u||H01 ||u||H01

57 de 62

1
2

qu c
0

(u0 )2 dx = c||u||2H 1 (0,1)


0

Mtodos Numricos para EDP - 15/16 C1 - UAM

0 0

|a(u, v)| = |

Guillermo Ruiz lvarez

p(x)u v dx +

q(x)uvdx|

0
1

0 0

p(x)u v dx| + |

|
0

q(x)uvdx|
0

||p|| ||u0 ||
No me da puto tiempo a copiar esta basura
l continua Ni esta tampoco
2.4.0.11. Aproximacin por elementos ifnitos lineales Defino una particin
en el intervalo (0, 1).
x0 = 0 < x1 < . . . < xN = 1
Si son equiespaciados (que no es necesario)
1
,N > 0
N

xj = jh, h =

Definimos h, que es el diametro de la particin, como


h = max |xi xi1 | (h =

1
particin uniforme )
N

Definimos el espacio de elementos finitos lineales con funciones continuas lineales


a trozos y condiciones Dirichlet homogneas.
Vh = {vh continua, vh(0) = vh(1) y vh / [xi1 , x1 ] = polinomio lineal i = 1, . . . , N }
Vamos a tener convergencia con h 0. Vamos a buscar una base de Vh que tiene
dimensin N 1.
Definimos
i (x) =

xxi1
xi xi1
xi+1 x
xi+1 xi

uh (x) =

N
X

x [xi1 , xi ]
x [xi , xi+1 ]
en el resto

ui i (x)

i=1

2.4.0.12.

Mtodo de elementos finitos Encontrar uh Vh con


a(uh , vh ) = l(vh ) vh Vh

Encontrar
uh (x) =

N
X

ui i (x)

i=1

58 de 62

Mtodos Numricos para EDP - 15/16 C1 - UAM

con

N
1
X

Guillermo Ruiz lvarez

ui a(i , j ) = l(j )

i=1

o de forma equivalente, resolver el

u1
u2

A ..
.

sistema lineal de matriz A(N 1)(N 1) siguiente


R

1
R f 2

..

.
R
uN 1
f N 1

El elemento (i, j) de la matriz A es


Z 1
Z
0 0
A(i,j) =
p(x)i j +
0

q(x)i j

Cuando no se puede calcular exactamente se usa una regla de cuadratura.


2.4.0.13. Caso particular
A = pK + qM con p, q constantes
donde K es
R 0 Sea
R
0
la matriz de rigidez K = ( i j ) y M la matriz de masa M = ( i j ).
Si consideramos una particin uniforme y h = xi xi1 :

[xi1 , xi ]
1/h
0
1/h [xi , xi+1 ]
i =

0
Resto.
Para la matriz k, en la fila i slo hay 3 integrales no nulas:
R1
0

R1
0

R1
0

0i 0i1 =
(0i )2 =

R xi

1 1
xi1 h h

R xi

( 1 )2
xi1 h

0i 0i+1 =

R xi+1
xi

= h 1
=
h2
R xi+1
xi

1
h

( 1
)2 =
h

1
( 1
) 1 = h 1
=
h h
h h

2
h
1
h

Podemos calcular ya la matriz K que es tridiagonal y diagonalmente dominante.

2
1
0 ... 0
h
h
1 2 1 . . . 0
h

. .h .h .
..
.
.
.
.

.
.
. .
K= .

.. . . . . 1
..
.
.
.

.
0

1
h

h
2
h

En la matriz M tenemos slo 3 elementos distintos de 0 en cada fila, utilizamos la


regla de Simpson para cuadratura:
R1
0

i i1 =

R xi
xi1

= h6 [0] +

4h 1
[ ]
6 4

+ h6 [0] =

59 de 62

h
6

Mtodos Numricos para EDP - 15/16 C1 - UAM

R1
0

R1
0

2i =

R xi

2 +
xi1 i

i i+1 =

R xi+1
xi

2i = 2[ h6 [0] +

4h 1
[ ]
6 4

Guillermo Ruiz lvarez

+ h6 [1]] =

h
6

Nos queda

2h
h3
6

M =

..
.
..
.

h
6
2h
3

...
h
...
6
.. .. ..
.
.
.
.. . . . .
.
.
.
h
0 0
6

60 de 62

0
0

..
.

2h
3

2h
3

Mtodos Numricos para EDP - 15/16 C1 - UAM

Apndice A
Cdigos

61 de 62

Guillermo Ruiz lvarez

Mtodos Numricos para EDP - 15/16 C1 - UAM

ndice alfabtico
Error de truncacion, 8
Espacio de Sobolev H k (), 50
Teorema de Godunov, 41
Teorema de Lax-Milgram, 52

62 de 62

Guillermo Ruiz lvarez

Вам также может понравиться