Академический Документы
Профессиональный Документы
Культура Документы
Apuntes UAM
Doble Grado Mat.Inf.
Cdigo en Github
ndice general
1
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
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
1.
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.
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
3 de 62
1.1.1.
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
A=0
K = m m Z
Bm e(m) t sin(mx)
m=1
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
Bm e(m) t sin(mx)
m=1
j=0
5 de 62
1.1.1.1.
Mtodo explcito
1
J
y t =
tf
N
...
xJ
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
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
Tenemos que:
u(xj+1 , tn ) = u(xj , tn ) + ux (xj , tn )x + uxx (xj , tn )
+ uxxx (xj , tn )
x2
2
x3
+ ...
3!
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 ) =
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
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 (j , tn )
2
12
1.1.1.1.3.
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.
9 de 62
1
2
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
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
10 de 62
1.1.1.1.5.
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
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
...
Ujn+1
11 de 62
xJ
=
Ujn
x
+
n
Uj+1
2Ujn
n
Uj1
1.1.1.1.6.
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
u(x, t) =
Bm e(m) t ei(m)x
m=
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
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=
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
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
t2 + O(t3 )
12
2
Vemos de nuevo que si =
1
6
1
)
2
1
2
Bm e(m) t eimx
m=
u(x, t) =
Bm eimx
m=
n (k)Bm eikjx
m=
Hallamos enj :
enj = Ujn unj =
2
Bm eikjx n (k) ek nt
m=
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
X
k2 nt
n
k2 nt
n
|Bm | | (k)| + e
|Bm | (k) e
+
|m|>m0
|m|m0
{z
{z
|m|m0
Sabiendo que nt tf
|m|m0
Si tomamos t
|m|m0
1
2C
llegamos a que
|enj |
1.1.1.1.7.
+ =
2 2
Efecto computacional
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.
16 de 62
Obteniendo:
1.1.1.3.1.
i
h
n+1
n+1
Ujn+1 = Ujn + Uj+1
2Ujn+1 + Uj1
Programacin del mtodo
n
1 + 2
U1
Un
2
.. =
.
n
UJ1
|
siguiente expresin:
U1n+1
n+1
..
..
U2
.
.
.
..
..
.
.
.
.
n+1
UJ1
1 + 2
{z
}
A
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
x = A\B;
17 de 62
J = 20;
nu = 0.4;
3
4
5
6
7
8
9
10
11
12
13
14
16
17
ed = eu ;
15
18
20
21
eu = [0 , eu ];
19
22
24
25
ed = [ ed , 0];
23
26
27
28
1.1.1.3.2.
18 de 62
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
Matricialmente, el
1 + 2
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
t
tN
..
.
t4
t3
t2
t1
t0
x0 x1 x2 x3 x 4
...
xJ
Figura 5: El -mtodo
1.1.1.4.2.
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
k
x
2
1 4(1 )sin
1 + 4sin2 k2 x
k
x
2
k
x
2
1.1.1.4.3.
"
#
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
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
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.
1.1.1.4.5.
#
1
1
t x2 = 0
uxxt
2
12
1
1
x2 x2 = 0
2
12
1
1
=
2
12
"
1
2
=
1
12
tiene la forma
1
1 1
t2 uttt +
x4 uxxxxt + . . . = O(t2 + O(x4 ))
12
12 20
1
2
Ya sabemos que si 0
=
1
12
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
Observacin: La condicin
1
12 12
1.1.1.6. Ejemplo:
mximo si 1.
1
2
1 1
2 1
1
2
23 de 62
1
2
el -mtodo verifica el
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.1.1.6.1.
mximo
24 de 62
tenemos que
n+1
(en+1
enj ) = (en+1
+ en+1
j
j+1 ej
j1 )
E0 = 0
E n ntT tf T
Caso = 1 O(t + (x)2 )
Caso =
1
2
O((t)2 + (x)2 )
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.
ut = a(x, t)uxx
u(0, t) = u(1, t) = 0
u(x, 0) = u0 (x)
26 de 62
1.1.2.2.
Segundo ejemplo
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.
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
2e
+
e
j
j
j+1
j
j1
j
i
h
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
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
29 de 62
1.2.0.4.
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
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
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
a
()
u
= uj +
a(Ujn )
unj+1
a
()
u
2unj
unj1
tTjn
enj qjn
h
i
n
n
n
uj+1 2uj + uj1
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
E tT
n
X
[1 + ktMxx ]j
j=0
32 de 62
1.3.
Ecuaciones hiperblicas
x
t
= a y x(t) = at + c.
Tomando ahora =
at
x
lo escribimos de la forma
n
Ujn+1 = (1 )Ujn + Uj1
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=
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
Ejemplo:
ut + aux = 0
u(x, 0) = u0 (x)
u(0, t) = 0
1.3.1.
Esquema upwind
at
:
x
1.3.1.1.
am eimx
m=
u(x, t) = u0 (x at) =
am eimat eimx
m=
u(xj , tn ) =
imat
am e
in
eimjx
m=
35 de 62
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
ujn+1 unj
unj unj1
=
+ anj
t
x
1
1
= (ut + tutt + a uxx xuxx + . . .)nj
2
2
1
1
Tjn = ut + aux + tutt xauxx
| {z } 2
2
0
36 de 62
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
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
(x xj1 )
(xj x)
+ u(C)
x
x
Ahora lo evaluamos en Q:
P (Q) = u(A)
QC
AQ
+ u(C)
x
x
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
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
p=
c1 =
c2 = 0
c3 = 1 (1 3)
6
y obtenemos
1
atan() = 1 (1 )(1 2) 2 + . . .
6
at
kx = at
x
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
1.3.2.
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
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
41 de 62
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
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
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
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 =
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
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
=0
m=
am eimx
am eimat eimx
m=
am eimant eimjx
m=
cos( 2 ) isin( 2 )
cos( 2 ) + isin( 2 )
at
kx = kat
x
12
Es decir, de orden 2.
1.3.4.
Esquema Leap-frog
1.3.4.2.
t
Anlisis de Fourier del mtodo Sea = a x
.
n
n
Ujn+1 = Ujn1 (Uj+1
Uj1
)
Obtenemos que
h
ikx
= 1 e
ikx
2isin(kx)
4 2 sin2 (kx) + 4
2
1
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
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
1.3.6.
1
.
u0
1
t
=
x
u0
47 de 62
Error en fase
)(1 2) 2
61 (1 2 ) 2
1
(1 2 ) 2
12
61 (1 2 ) 2
16 (1
2.
2.1.
Espacio de funciones
X
||k
sup |D u(x)|
x
L () = {u definida en con
|u|p dx < }
||u||Lp ()
||u||L2 ()
Z
1
= ( |u|p dx) p
Z
1
= ( |u|2 dx) 2
||u||
L ()
= sup |u(x)|
x
Desigualdad triangular
||u + v|| ||u||Lp () + ||v||Lp ()
48 de 62
2.1.1.3.
Entonces
Z
|
Espacios de Sobolev
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]
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
v(x)dx
1
2
49 de 62
Espacio de
Sobolev
H k ()
(u, v)H k () =
(D u, D v)L2 ()
||k
con
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
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
2.1.2.6.
Ejemplo:
Si u H01 () =
Z
Z
Z
2
2
2
ux + uy
u C
2.2.
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
= un = g en . Si g = 0, se denominan homogneas.
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
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 .
52 de 62
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
a(v, v) =
i,j=1
X
v v
aij
+
xi xj
i=1
v
bi
v+
xi
cv 2
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
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
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
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
||f ||L2
c0
f1 v v H01 ().
f2 v v H01 ().
(f1 , f2 )v v H01 ()
a(u1 u2 , v) =
Por la desigualdad
1
||f1 f2 ||L2
c0
||u1 u2 ||
u = f en
u=0
en 1
u = f
en 2
n
Ejemplo:
Z
uv =
fv v V
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
2.3.
uh (x) =
ui i (x)
i=1
u1
u2
..
.
uN (h)
con a(uh , vh ) = l(vh ) vh Vh . Podemos imponer que
N (h)
a(
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
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.
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
(2.1)
q(x)u(x)v(x)
0
f vdx
0
1
H0 (0, 1) con
||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
57 de 62
1
2
qu c
0
0 0
|a(u, v)| = |
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 =
1
particin uniforme )
N
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.
Encontrar
uh (x) =
N
X
ui i (x)
i=1
58 de 62
con
N
1
X
ui a(i , j ) = l(j )
i=1
u1
u2
A ..
.
1
R f 2
..
.
R
uN 1
f N 1
q(x)i j
[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
2
1
0 ... 0
h
h
1 2 1 . . . 0
h
. .h .h .
..
.
.
.
.
.
.
. .
K= .
.. . . . . 1
..
.
.
.
.
0
1
h
h
2
h
i i1 =
R xi
xi1
= h6 [0] +
4h 1
[ ]
6 4
+ h6 [0] =
59 de 62
h
6
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
+ 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
Apndice A
Cdigos
61 de 62
ndice alfabtico
Error de truncacion, 8
Espacio de Sobolev H k (), 50
Teorema de Godunov, 41
Teorema de Lax-Milgram, 52
62 de 62