Post on 08-Jul-2016
description
Tema 3: Resolucion Numerica de Ecuaciones Diferenciales:Problemas de Ecuaciones en Derivadas Parciales (EDP)
Curso 2015-16
R. Marta Garcıa
marta.garcia@unileon.es
12 de Mayo de 2016
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 1 / 47
Introduccion
Secciones
1 IntroduccionProblema 1Problema 2Problema 3
2 Ecuaciones elıpticas
3 Ecuaciones parabolicas
4 Ecuaciones hiperbolicas
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 2 / 47
Introduccion Problema 1
Problema 1 Ecuacion de Laplace en un rectangulo
Temperatura de una placa
Consideremos una placa rectangular de 5cm× 5cm.
Conservamos dos fronteras adyacentes a 0oC, mientras que el calor en las otras dosfronteras aumenta linealmente de 0o C a 100o C.
La distribucion de la temperatura u(x, y) en el interior de la placa viene dada por laexpresion
∂2u∂x2 (x, y) +
∂2u∂y2 (x, y) = 0
Se quiere calcular la temperatura en un punto interior de la placa.
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 3 / 47
Introduccion Problema 2
Problema 2: Ecuacion del calor
Temperatura de una barra
Consideremos una barra larga y delgada de longitud l situada en el eje OX.
Supongamos que la temperatura en los extremos se mantiene constante con valores T1 y T2.
Si u(x, t) es la temperatura en el punto x de la barra en el instante t, se verifica la ecuacion
ut(x, t) = c2uxx(x, t) para 0 < x < l, t > 0 (1)
con la condicion inicialu(x, 0) = f (x) (2)
y las condiciones de contorno
u(0, t) = T1 u(l, t) = T2 t > 0 (3)
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 4 / 47
Introduccion Problema 3
Problema 3: Ecuacion de ondas
La cuerda vibrante
Consideramos un cuerda cuyos extremos estan fijos en dos puntos x = a y x = b del ejeOX que soporta una tension F.
Si se desplaza la cuerda de la posicion de equilibrio y se suelta comienza a vibrar en unplano vertical. El desplazamiento vertical u(x, t) de un punto x en el tiempo t satisface laecuacion diferencial:
c2 ∂2u∂x2 (x, t) =
∂2u∂t2 (x, t) a < x < b t > 0
Supondremos unas condiciones iniciales:
u(x, 0) = f (x),∂u∂t
(x, 0) = g(x) a ≤ x ≤ b
y unas condiciones de contorno:
u(a, t) = l(t) u(b, t) = s(t) t > 0
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 5 / 47
Introduccion Problema 3
Metodo de las diferencias finitas
En este tema vamos a describir metodos numericos, para la resolucion de ecuaciones enderivadas parciales de una funcion u(x, y) con dos variables, basados en la aproximacion pordiferencias finitas.
1 La funcion u(x, y) estara definida en un rectangulo
R = {(x, y)/ a ≤ x ≤ b c ≤ y ≤ d}
2 Dividiremos el intervalo [a, b] en n subintervalos iguales de amplitud h = b−an y el
intervalo [c, d] en m subintervalos iguales de amplitud k = d−cm
3 lo anterior da como resultado una cuadrıcula en el rectangulo R cuyos puntos de red son dela forma (xi, yj) con xi = a + ih e yj = c + jk.
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 6 / 47
Introduccion Problema 3
Aproximaciones mediante diferencias finitas
∂u∂x
(x, y) ' u(x + h, y)− u(x, y)h
d. progresiva (4)
∂u∂y
(x, y) ' u(x, y + k)− u(x, y)k
d. progresiva (5)
∂u∂y
(x, y) ' u(x, y)− u(x, y− k)k
d. regresiva (6)
∂2u∂x2 (x, y) '
u(x + h, y)− 2u(x, y) + u(x− h, y)h2 d. centrada (7)
∂2u∂y2 (x, y) '
u(x, y + k)− 2u(x, y) + u(x, y− k)k2 d. centrada (8)
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 7 / 47
Introduccion Problema 3
Estudiaremos ecuaciones en derivadas parciales de la forma:
Auxx(x, y) + Buxy(x, y) + Cuyy(x, y) = f (x, y, u, ux, uy) (9)
donde A,B y C son constantes.
Estas ecuaciones se clasifican en tres tipos segun los valores de B2 − 4AC.
Si B2 − 4AC < 0 la ecuacion se llama elıptica. (10)
Si B2 − 4AC = 0 la ecuacion se llama parabolica. (11)
Si B2 − 4AC > 0 la ecuacion se llama hiperbolica. (12)
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 8 / 47
Ecuaciones elıpticas
Secciones
1 Introduccion
2 Ecuaciones elıpticas
3 Ecuaciones parabolicas
4 Ecuaciones hiperbolicas
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 9 / 47
Ecuaciones elıpticas
Problema 1
En el Problema 1 se presenta una ecuacion en derivadas parciales de tipo elıptico puesA = C = 1 y B = 0.
Un problema algo mas general que este se enunciara en la siguiente forma:
Sean u, f : R = [a, b]× [c, d] −→ R siendo las derivadas parciales segundas de u continuas enR. Calcular de forma aproximada la solucion de
∂2u∂x2 (x, y) + ∂2u
∂y2 (x, y) = f (x, y)u(a, y) = g1(y)u(b, y) = g2(y)u(x, c) = h1(x)u(x, d) = h2(x)
(13)
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 10 / 47
Ecuaciones elıpticas
Construccion de la ecuacion en diferencias (I)
Las formulas (7) y (8) en cada punto (xi, yj) de la cuadrıcula en que se ha dividido el rectanguloR son:
∂2u∂x2 (xi, yj) '
u(xi + h, y)− 2u(xi, yj) + u(xi − h, yj)
h2 =
=u(xi+1, y)− 2u(xi, yj) + u(xi−1, yj)
h2
∂2u∂y2 (xi, yj) '
u(xi, yj + k)− 2u(xi, yj) + u(xi, yj − k)k2 =
=u(xi, yj+1)− 2u(xi, yj) + u(xi, yj−1)
k2
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 11 / 47
Ecuaciones elıpticas
Construccion de la ecuacion en diferencias (II)
Sustituyendo en la ecuacion en derivadas parciales para i = 1, 2, ..., n− 1 y j = 1, 2, ...,m− 1obtenemos:
u(xi+1, yj)− 2u(xi, yj) + u(xi−1, yj)
h2 +u(xi, yj+1)− 2u(xi, yj) + u(xi, yj−1)
k2 = f (xi, yj)
u(x0, yj) = g1(yj) u(xn, yj) = g2(yj) para j = 0, 1, ...,m
u(xi, y0) = h1(xi) u(xi, ym) = h2(xi) para i = 0, 1, ..., n
Escribiendo ui,j = u(xi, yj) y agrupando terminos tenemos el sistema de (n− 1) · (m− 1)ecuaciones con las (n− 1) · (m− 1) incognitas ui,j i = 1, 2, ..., n− 1; j = 1, 2, ...,m− 1:
1h2 (ui+1,j + ui−1,j)− 2((
1h2 +
1k2 ))ui,j +
1k2 (ui,j+1 + ui,j−1) = fi,j (14)
en el que observamos aparece relacionada en cada ecuacion el valor de la solucion en los nodos:
(xi, yj), (xi−1, yj), (xi+1, yj), (xi, yj−1), (xi, yj+1)
.
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 12 / 47
Ecuaciones elıpticas
Solucion de la ecuacion en diferencias
Si despejamos ui,j para aplicar el metodo de Jacobi para resolver este sistema y llamamosλ = 2( 1
h2 + 1k2 )tenemos:
ui,j =ui+1,j + ui−1,j
λh2 +ui,j+1 + ui,j−1
λk2 − fi,j
λ(15)
Si asignamos un valor inicial u(0)i,j a las variables, la formula de iteracion por el metodo de
Jacobi es:
u(k+1)i,j =
u(k)i+1,j + u(k)
i−1,j
λh2 +u(k)
i,j+1 + u(k)i,j−1
λk2 − fi,j
λ(16)
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 13 / 47
Ecuaciones elıpticas
Figura: Malla y ecuacion en diferencias para la ecuacion de Laplace
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 14 / 47
Ecuaciones elıpticas
Ejemplo
Consideremos una placa cuadrada de 5 dm ×5 dm. Conservamos dos fronteras adyacentes a 0o
C, mientras que el calor en las otras dos fronteras aumenta linealmente de 0o C a 100o C. Ladistribucion de la temperatura u(x, y) en el interior de la placa viene dada por la expresion
∂2u∂x2 (x, y) +
∂2u∂y2 (x, y) = 0
Se quiere aproximar la temperatura en un punto interior de la placa.
Tomaremos
R = {(x, y)/ 0 ≤ x ≤ 0.5 0 ≤ y ≤ 0.5}h = k = 0.125
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 15 / 47
Ecuaciones elıpticas
La placa se divide en 16 cuadrados de lado 0.125 cm. Las condiciones de frontera en este casoson:
u(0, y) = 0, u(x, 0) = 0, u(x, 0.5) = 200x, u(0.5, y) = 200y
h = k = 0.125 = 1/8 y λ = 256 nos queda
4ui,j − ui+1,j − ui−1,j − ui,j+1 − ui,j−1 = 0
ui,j =ui+1,j + ui−1,j
4+
ui,j+1 + ui,j−1
4
Figura: Malla
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 16 / 47
Ecuaciones elıpticas
Tenemos las siguientes ecuaciones:
P1 : 4u1 − u2 − u4 = u03 + u14
P2 : 4u2 − u3 − u1 − u5 = u24
P3 : 4u3 − u2 − u6 = u43 + u34
P4 : 4u4 − u5 − u1 − u7 = u02
P5 : 4u5 − u6 − u4 − u2 − u8 = 0P6 : 4u6 − u5 − u3 − u9 = u42
P7 : 4u7 − u8 − u4 = u01 + u10
P8 : 4u8 − u9 − u7 − u5 = u20
P9 : 4u9 − u8 − u6 = u30 + u41
Sustituyendo los valores de la funcion en la frontera tenemos el siguiente sistema de ecuacioneslineales:
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 17 / 47
Ecuaciones elıpticas
4 −1 0 −1 0 0 0 0 0−1 4 −1 0 −1 0 0 0 00 −1 4 0 0 −1 0 0 0−1 0 0 4 −1 0 −1 0 00 −1 0 −1 4 −1 0 −1 00 0 −1 0 −1 4 0 0 −10 0 0 −1 0 0 4 −1 00 0 0 0 −1 0 −1 4 −10 0 0 0 0 −1 0 −1 4
u1
u2
u3
u4
u5
u6
u7
u8
u9
=
2550150
00
5000
25
Aplicando el metodo de Jacobi obtenemos:
i 1 2 3 4 5 6 7 8 9ui 18.7500 37.4999 56.2500 12.4999 24.9999 37.4999 6.2500 12.4999 18.7500
Las respuestas anteriores son exactas pues la verdadera solucion es u(x, y) = 400xy.
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 18 / 47
Ecuaciones parabolicas
Secciones
1 Introduccion
2 Ecuaciones elıpticas
3 Ecuaciones parabolicasMetodo explıcitoMetodo implıcitoMetodo de Crank-Nicholson
4 Ecuaciones hiperbolicas
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 19 / 47
Ecuaciones parabolicas Metodo explıcito
Ecuaciones parabolicas: Metodo explıcito
En el Problema 2 se presenta una ecuacion en derivadas parciales de tipo parabolico puesA = c2 y B = C = 0. Seleccionamos un paso del tiempo k > 0 y un paso de la longitud
h =ln> 0 con lo que el rectangulo
R = {(x, t) / 0 ≤ x ≤ l 0 ≤ t ≤ b}
queda dividido mediante los nodos (xi, tj) con xi = ih e tj = jk. En cada nodo interior se ha deverificar la ecuacion diferencial
ut(xi, tj) = c2uxx(xi, tj)
Sustituyendo las derivadas parciales por (5) y (7)
∂u∂t
(xi, tj) =u(xi, tj+1)− u(xi, tj)
k;∂2u∂x2 (xi, tj) =
u(xi+1, tj)− 2u(xi, tj) + u(xi−1, tj)
h2
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 20 / 47
Ecuaciones parabolicas Metodo explıcito
u(xi, tj+1)− u(xi, tj)
k= c2 u(xi+1, tj)− 2u(xi, tj) + u(xi−1, tj)
h2
Y utilizando la notacion ui,j = u(xi, tj)
ui,j+1 − ui,j
k= c2 ui+1,j − 2ui,j + ui−1,j
h2
Despejamos ui,j+1 y tenemos:
ui,j+1 = (1− 2kc2
h2 )ui,j + kc2
h2 (ui+1,j + ui−1,j) i = 1, 2, ..., n− 1; j = 1, 2, ... (17)
u(0, tj) = T1 u(l, tj) = T2 j = 0, 1, ...
u(xi, 0) = f (xi) i = 0, 1, ..., n
La expresion anterior nos proporciona la solucion en el instante tj+1 a partir de la solucion en el
instante anterior tj. Este esquema converge siempre que r =kc2
h2 ≤12
.
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 21 / 47
Ecuaciones parabolicas Metodo explıcito
Figura: Esquema de la ecuacion en diferencias para la ecuacion del calor
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 22 / 47
Ecuaciones parabolicas Metodo explıcito
En forma matricial podemos escribir:u1,j+1
u2,j+1
...un−1,j+1
=
1− 2r r 0 · · · 0 0
r 1− 2r r · · · 0 0...
......
. . ....
...0 0 0 · · · r 1− 2r
u1,j
u2,j
...un−1,j
+
ru0,j
0...
run,j
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 23 / 47
Ecuaciones parabolicas Metodo explıcito
Si u0,j = un,j = T1 = T2 = 0 y
u(0) = (f (x1), f (x2), ..., f (xn−1))′
yu(j) = (u1,j, u2,j, ..., un−1,j)
′ para toda j = 1, 2, ...
entonces la solucion aproximada viene dada por
u(j+1) = Au(j) para toda j = 0, 1, ...
A este metodo se le conoce con el nombre de metodo de diferencias progresivas porque ∂u∂y se
ha sustituido por la expresion (5) llamada diferencia progresiva y es de orden O(k + h2).Tambien se le conoce con el nombre de metodo explıcito porque calcula directamente lasolucion en el tiempo tj+1 a partir de la solucion en el instante tj. Tiene el inconveniente de quepara ser estable se ha de verificar que r ≤ 0.5.
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 24 / 47
Ecuaciones parabolicas Metodo implıcito
Ecuaciones parabolicas: Metodo Implıcito
Para obtener un metodo estable se utiliza la formula (6) llamada de diferencia regresiva y si sesustituye en la ecuacion en derivadas parciales junto con (7) tenemos:
u(xi, tj)− u(xi, tj−1)
k= c2 u(xi+1, tj)− 2u(xi, tj) + u(xi−1, tj)
h2
y utilizando la notacion ui,j = u(xi, tj)
ui,j − ui,j−1
k= c2 ui+1,j − 2ui,j + ui−1,j
h2
Multiplicando por k, llamando r =kc2
h2 y ordenando podemos escribir
(1 + 2r)ui,j − r(ui+1,j + ui−1,j) = ui,j−1 i = 1, 2, ..., n− 1 j = 1, 2, ...
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 25 / 47
Ecuaciones parabolicas Metodo implıcito
En este caso tenemos para cada j un sistema de ecuaciones lineales en las n− 1 incognitas ui,j
escrito en forma matricial:1 + 2r −r 0 · · · 0 0−r 1 + 2r −r · · · 0 0...
......
. . ....
...0 0 0 · · · −r 1 + 2r
u1,j
u2,j
...un−1,j
=
u1,j−1
u2,j−1
...un−1,j−1
+
rT1
0...
rT2
Este sistema siempre tiene solucion mediante el metodo de Jacobi o el de Gauss-Seidel porquela matriz es de diagonal estrictamente dominante. Aplicando el metodo de Jacobi podemosescribir:
u(k+1)i,j =
u(k)i,j−1 + r(u(k)
i−1,j + u(k)i+1,j)
1 + 2rPor el metodo de Gauss-Seidel tenemos que:
u(k+1)i,j =
u(k+1)i,j−1 + r(u(k+1)
i−1,j + u(k)i+1,j)
1 + 2r
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 26 / 47
Ecuaciones parabolicas Metodo implıcito
Figura: Esquema de Jacobi utilizando diferencias regresivas
Este metodo tiene el inconveniente de que el error local de truncamiento tiene una parte conorden O(k) lo cual requiere hacer mucho mas pequenos los subintervalos de tiempo que los deespacio.
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 27 / 47
Ecuaciones parabolicas Metodo de Crank-Nicholson
Ecuaciones parabolicas: Metodo de Crank-Nicholson
Para evitar este inconveniente surge el metodo de Crank-Nicholson que discretiza en dosinstantes y hace la media.En el instante tj aproxima ut(xi, tj) mediante una diferencia progresiva:
ui,j+1 − ui,j
k− c2 ui+1,j − 2ui,j + ui−1,j
h2 = 0
En el instante tj+1 aproxima ut(xi, tj+1) mediante una diferencia regresiva:
ui,j+1 − ui,j
k− c2 ui+1,j+1 − 2ui,j+1 + ui−1,j+1
h2 = 0
y haciendo la media resulta:
ui,j+1 − ui,j
k− c2
2
[ui+1,j − 2ui,j + ui−1,j
h2 +ui+1,j+1 − 2ui,j+1 + ui−1,j+1
h2
]= 0
para i = 1, 2, ..., n− 1 y j = 1, 2, ....
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 28 / 47
Ecuaciones parabolicas Metodo de Crank-Nicholson
Al despejar los terminos del instante j + 1 nos queda el sistema de ecuaciones lineales en lasn− 1 incognitas ui,j+1:
2(1 + r)ui,j+1 − r(ui+1,j+1 + ui−1,j+1) = 2(1− r)ui,j + r(ui+1,j + ui−1,j)
o en forma matricial:2(1 + r) −r 0 · · · 0 0
−r 2(1 + r) −r · · · 0 0...
......
. . ....
...0 0 0 · · · −r 2(1 + r)
u1,j+1u2,j+1
...un−1,j+1
=
=
2(1 − r) r 0 · · · 0 0
r 2(1 − r) r · · · 0 0...
...... · · ·
......
0 0 0 · · · r 2(1 − r)
u1,ju2,j
...un−1,j
+
2rT1
0...
2rT2
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 29 / 47
Ecuaciones parabolicas Metodo de Crank-Nicholson
La matriz de este sistema es de diagonal estrictamente dominante por lo que siempre se puederesolver.
Metodo de Jacobi:
u(k+1)i,j+1 =
2(1− r)u(k)i,j + r(u(k)
i−1,j + u(k)i+1,j) + r(u(k)
i−1,j+1 + u(k)i+1,j+1)
2(1 + r)
Metodo de Gauss-Seidel:
u(k+1)i,j+1 =
2(1 − r)u(k+1)i,j + r(u(k+1)
i−1,j + u(k+1)i+1,j ) + r(u(k+1)
i−1,j+1 + u(k)i+1,j+1)
2(1 + r)
i = 1, 2, ..., n − 1 j = 1, 2, ...
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 30 / 47
Ecuaciones parabolicas Metodo de Crank-Nicholson
Figura: Metodo de Jacobi para el metodo de Crank-Nicholson
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 31 / 47
Ecuaciones parabolicas Metodo de Crank-Nicholson
Ejemplo
Resuelve la ecuacion del calor
ut(x, t) = uxx(x, t) para 0 < x < 1 0 < t < 0.20
con las condiciones iniciales
u(x, 0) = f (x) = 4x− 4x2 para t = 0 0 ≤ x ≤ 1
y las condiciones de contorno
u(0, t) = 0 = u(1, t) para 0 ≤ t ≤ 0.20
Tomamos un paso h = 0.2 y k = 0.02.
La malla tendra 5 columnas de ancho y 10 de alto. Las formulas son:
ui,j+1 =ui−1,j + ui+1,j
2
La formula es estable pues r =c2kh2 =
12
.
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 32 / 47
Ecuaciones parabolicas Metodo de Crank-Nicholson
x1 = 0.00 x2 = 0.20 x3 = 0.40 x4 = 0.60 x5 = 0.80 x6 = 1.00t1 = 0.00 0.000000 0.640000 0.960000 0.960000 0.640000 0.000000t2 = 0.02 0.000000 0.480000 0.800000 0.800000 0.480000 0.000000t3 = 0.04 0.000000 0.400000 0.640000 0.640000 0.400000 0.000000t4 = 0.06 0.000000 0.320000 0.520000 0.520000 0.320000 0.000000t5 = 0.08 0.000000 0.260000 0.420000 0.420000 0.260000 0.000000t6 = 0.10 0.000000 0.210000 0.340000 0.340000 0.210000 0.000000t7 = 0.12 0.000000 0.170000 0.275000 0.275000 0.170000 0.000000t8 = 0.14 0.000000 0.137500 0.222500 0.222500 0.137500 0.000000t9 = 0.16 0.000000 0.111250 0.180000 0.180000 0.111250 0.000000t10 = 0.18 0.000000 0.090000 0.145625 0.145625 0.090000 0.000000t11 = 0.20 0.000000 0.072812 0.117813 0.117813 0.072812 0.000000
Resultados obtenidos con el metodo de las diferencias progresivas en una ecuacion parabolica para r = 0.5.
Si se toma k =130
el metodo no es estable.
Con Matlab
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 33 / 47
Ecuaciones hiperbolicas
Secciones
1 Introduccion
2 Ecuaciones elıpticas
3 Ecuaciones parabolicas
4 Ecuaciones hiperbolicasMetodo explıcitoMetodo implıcitoEjemplos con el metodo explıcito
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 34 / 47
Ecuaciones hiperbolicas Metodo explıcito
Ecuaciones hiperbolicas: Metodo explıcito
El Problema 3 presenta una ecuacion diferencial en derivadas parciales de tipo hiperbolico.
Senalamos un paso h =b− a
npara x y un paso k =
Tm
para t. Mediante los nodos (xi, tj) dondexi = a + ih y tj = jk tenemos una cuadrıcula o malla en el dominio donde queremos resolver laecuacion. En cualquier punto interior de la malla la ecuacion de la onda se transforma en:
c2 ∂2u∂x2 (xi, tj) =
∂2u∂t2 (xi, tj)
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 35 / 47
Ecuaciones hiperbolicas Metodo explıcito
Si usamos las formulas (7) (8) y la notacion u(xi, tj) = ui,j tenemos:
c2 ui+1,j − 2ui,j + ui−1,j
h2 =ui,j+1 − 2ui,j + ui,j−1
k2
Llamando α =ckh
y despejando ui,j+1 podemos escribir para i = 1, 2, ..., n− 1;j = 1, 2, ...,m− 1
ui,j+1 = α2(ui+1,j + ui−1,j) + 2(1− α2)ui,j − ui,j−1 (18)
La expresion (18) nos permite obtener la solucion en el instante tj+1 a partir de la solucion enlos instantes tj y tj−1.
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 36 / 47
Ecuaciones hiperbolicas Metodo explıcito
Figura: Esquema de la ecuacion en diferencias
Por lo tanto, para iniciar el proceso necesitamos la solucion en los instantes t0 y t1. De laprimera condicion inicial u(x, 0) = f (x), obtenemos la solucion en el instante t0, ui,0 = fi parai = 1, 2, ..., n− 1.
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 37 / 47
Ecuaciones hiperbolicas Metodo explıcito
Para ello, aproximamos la derivada ut mediante la diferencia centrada y utilizando la segundacondicion inicial ∂u
∂t (x, 0) = g(x)
ut(xi, tj) 'u(xi, tj + k)− u(xi, tj − k)
2k
Para j = 0 podemos escribir el valor en los nodos fantasma:
ui,−1 = ui,1 − 2kgi
que al sustituirla en (18) para j = 0 tenemos:
ui,1 = α2(ui+1,0 + ui−1,0) + 2(1− α2)ui,0 − ui,−1 =
= α2(ui+1,0 + ui−1,0) + 2(1− α2)ui,0 − ui,1 + 2kgi
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 38 / 47
Ecuaciones hiperbolicas Metodo explıcito
ui,1 = α2(ui+1,0 + ui−1,0) + 2(1− α2)fi − ui,1 + 2kgi
de donde
ui,1 =α2
2(ui+1,0 + ui−1,0) + (1− α2)fi + kgi
Obtenemos ası los valores de la funcion u en el instante t1. El metodo converge para α ≤ 1.
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 39 / 47
Ecuaciones hiperbolicas Metodo implıcito
Ecuaciones hiperbolicas: Metodo implıcito
Para obtener un esquema en diferencias implıcito, sustituimos la parcial segunda con respecto altiempo por la diferencia centrada (8) mientras que la derivada segunda respecto a x laaproximamos por la media de las diferencias centradas en tj−1 y tj+1. Obtenemos ası laexpresion:
ui,j+1 − 2ui,j + ui,j−1 =α2
2[(ui+1,j+1 − 2ui,j+1 + ui−1,j+1) + (ui+1,j−1 − 2ui,j−1 + ui−1,j−1)]
Agrupando en el primer miembro los valores del paso j + 1 y en el segundo los valores de pasosanteriores queda:
(1 + α2)ui,j+1 −α2
2(ui+1,j+1 + ui−1,j+1) = 2ui,j +
α2
2(ui+1,j−1 + ui−1,j−1)− (1 + α2)ui,j−1
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 40 / 47
Ecuaciones hiperbolicas Metodo implıcito
Para cada paso temporal fijo, resolveremos un sistema de n− 1 ecuaciones lineales del que seobtienen los valores de ui,j+1 para i = 1, 2, ..., n− 1. La matriz del sistema es tridiagonal yestrictamente dominante y por lo tanto el sistema se puede resolver para cualquier valor de α.Podemos simplificar su resolucion agrupando las incognitas en funcion de sus coeficientes demanera que el termino independiente se reduzca a un unico elemento y obtenemos:
1 + α2
2(ui,j+1 + ui,j−1)−
α2
4(ui+1,j+1 + ui+1,j−1)−
α2
4(ui−1,j+1 + ui−1,j−1) = ui,j
Al resolver el sistema en cada paso temporal fijo, obtenemos el valor de wi = ui,j+1 + ui,j−1
para i = 1, 2, ..., n− 1 y como en cada paso j se tiene resuelto el sistema para el paso j− 1podemos obtener ui,j+1 = wi − ui,j−1
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 41 / 47
Ecuaciones hiperbolicas Ejemplos con el metodo explıcito
Ejemplo
Una cuerda de un determinado instrumento musical mide 80 cm de longitud y pesa 1 g. Seestira con una tension de 40000 g. En un punto a 20cm de un extremo, se tira de la cuerda 0.6cm con respecto a la posicion de equilibrio y luego se suelta.
1 Tomando un paso espacial de 10 cm, determina la posicion de la cuerda en el instante t=1,utilizando el metodo explıcito con el paso temporal mas grande posible que garantice laconvergencia del metodo.
2 Representa la posicion de la cuerda en diferentes instantes de tiempo. ¿Es posibledeterminar en cuanto tiempo se completa un ciclo de movimiento?
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 42 / 47
Ecuaciones hiperbolicas Ejemplos con el metodo explıcito
La ecuacion que rige las vibraciones de la cuerda tensa estirada entre dos puntos fijos es:
utt =Fgw
uxx
donde F es la tension 40000 g, g es la gravedad 980 cm/s2 y w es el peso por unidad de longitud1/80 g/cm, por lo tanto la ecuacion que rige el movimiento es:
utt =40000g · 980cm/s2
1g/80cmuxx = 3136 · 106uxx
La condicion inicial del problema es:
u(x, 0) ={
0.03x 0 ≤ x ≤ 200.8− 0.01x 20 ≤ x ≤ 80
ut(x, 0) = 0
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 43 / 47
Ecuaciones hiperbolicas Ejemplos con el metodo explıcito
Como la cuerda esta sujeta en los extremos las condiciones de contorno son:
u(0, t) = u(80, t) = 0
Puesto que el metodo explıcito converge cuando α ≤ 1 y tenemos
α = (ck/h) = (√
3136 · 106 · k/10), por tanto, k ≤ 15600
luego el mayor valor de k es1
5600.
Fichero.m
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 44 / 47
Ecuaciones hiperbolicas Ejemplos con el metodo explıcito
Ejemplo
Consideremos la ecuacion de ondas:
utt(x, t) = uxx(x, t) 0 < x < 1, t > 0
con la condicion inicialu(x, 0) =
18
sen(πx), 0 ≤ x ≤ 1
ut(x, 0) = 0, 0 ≤ x ≤ 1
y las condiciones de contorno
u(0, t) = u(1, t) = 0, t > 0
1 Aproxima la solucion del problema en el instante t = 3, utilizando el metodo explıcito,tomando como paso espacial h = 0.1 y como paso temporal k = 0.025 y k = 0.15.
2 Aproxima la solucion del problema en el instante t = 3, utilizando el metodo implıcito,tomando los pasos como en el apartado anterior.
3 Compara los resultados obtenidos en los apartados 1) y 2) con la solucion exacta
u(x, t) =18
sen(πx)cos(πt)
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 45 / 47
Ecuaciones hiperbolicas Ejemplos con el metodo explıcito
Con Matlab
Creamos el fichero forma.m conteniendo la funcion f(x)> function fx=forma(x)> fx=(1/8)*sin(pi*x);
Creamos el fichero velocidad.m> function vx= velocidad(x)> vx = 0;
Contamos con el fichero finedif.mEn la Command Window tecleamos> U = finedif (@forma,@velocidad,1,1,1,9,39);> surf(U);
Fichero.m
marta.garcia@unileon.es (Dpto. Matematicas) Metodos Numericos I. Mecanica 12 de Mayo de 2016 46 / 47