Ecuaciones Parabólicas y Métodos Numéricos
Ecuaciones Parabólicas y Métodos Numéricos
Métodos Numéricos II
Ecuaciones en derivadas
parciales parabólicas (1)
Índice
Esquema. . . . . . . . . . . . . . . . . . . . . . . 2
Ideas clave . . . . . . . . . . . . . . . . . . . . . . 3
Métodos Numéricos II
2
Tema 5. Esquema
Ideas clave
Los métodos explícitos son consistentes y sencillos, pero inestables. Como veremos,
sólo bajo ciertas condiciones podremos asegurar su estabilidad y, por tanto, conver-
gencia. Estos serán el objetivo general del presente tema.
Métodos Numéricos II
3
Tema 5. Ideas clave
Los objetivos a alcanzar en este tema son:
Métodos Numéricos II
4
Tema 5. Ideas clave
sujeta a la condición inicial
y a las condiciones de contorno, que pueden ser de tipo Dirichlet (homogéneas o no)
ux (0, t) = γ, ux (L, t) = δ, ,
o bien mixtas.
Dadas las condiciones iniciales de (1), la distribución de nodos queda como se indica
en la Figura 1.
Métodos Numéricos II
5
Tema 5. Ideas clave
Figura 1: Distribución de nodos para las EDPs parabólicas
kα2
Llamando λ = y despejando las incógnitas del instante mayor
h2
Vemos que para obtener el elemento ui,j+1 necesitamos conocer únicamente los ele-
mentos correspondientes al instante anterior ui,j , ui+1,j y ui−1,j , por lo que estamos
Métodos Numéricos II
6
Tema 5. Ideas clave
ante un método explícito.
Con las condiciones de contorno de tipo Dirichlet conocemos la solución en los pares
de nodos u0,j y unx,j , ∀j. Con la condición inicial conocemos la solución ui,0 , ∀i. De
modo que, en base a la información de la Figura 1, debemos obtener las soluciones
ui,j+1 en la malla de valores i ∈ {1, 2, . . . , nx − 1}, j ∈ {0, 1, 2, . . . , nt − 1}. La
estrategia consiste en obtener una expresión fijando el valor de j.
I Para j = 0:
ui,1 = (1 − 2λ) ui,0 + λ (ui+1,0 + ui−1,0 ) .
I Para j = 1:
u1,2 = (1 − 2λ) u1,0 + λ (u2,0 + u0,0 )
u2,2 = (1 − 2λ) u2,0 + λ (u3,0 + u1,0 )
.. (3)
.
nx−1,2 = (1 − 2λ) unx−1,0 + λ (unx,0 + unx−2,0 )
u
Métodos Numéricos II
7
Tema 5. Ideas clave
Convergencia y estabilidad
Denotemos por U (x, t) a la solución exacta de la EDP y por ui,j a la solución exacta de
la ecuación en diferencias finitas F (ui,j ) = 0. Recordemos que, entonces, la diferencia
obtenemos
Desarrollamos por Taylor cada uno de los términos Ui,j que aparecen en la expresión:
h2
Ui+1,j = U (xi + h, tj ) = Ui,j + h (Ux )i,j + U (x
2 xx i
+ θ1 h, tj ),
h2
Ui−1,j = U (xi − h, tj ) = Ui,j − h (Ux )i,j + U (x
2 xx i
− θ2 h, tj ),
k2
Ui,j+1 = U (xi , tj + k) = Ui,j + k (Ut )i,j + 2
Utt (xi , tj + θ3 k),
Métodos Numéricos II
8
Tema 5. Ideas clave
donde θ1 , θ2 , θ3 ∈]0, 1[. Sustituyendo estos desarrollos en (4),
Como esto es cierto para un índice i arbitrario, también será cierto para máxi |ei,j+1 |,
luego
Ej+1 ≤ Ej + kM ≤ (Ej−1 + kM ) + kM = Ej−1 + 2kM,
Ej ≤ E0 + jkM = tj M, ya que E0 = 0.
λh2
Cuando h → 0, entonces k = → 0, y M tiende a (Ut − α2 Uxx )i,j . Como U es la
α2
solución de la EDP, entonces Ej tiende a cero. Además,
|Ui,j − ui,j | ≤ Ej ,
lo que nos permite afirmar que u converge a U cuando h tiende a cero y t es un valor
finito, siempre y cuando λ ≤ 1/2.
Además de la consistencia del método, hemos deducido una condición suficiente para
su estabilidad. Sin embargo, pueden probarse las siguientes afirmaciones:
Métodos Numéricos II
9
Tema 5. Ideas clave
I si λ ≤ 1/2, el método es estable y por tanto convergente; los errores no crecen
pero oscilan;
Implementación en Matlab
Generaremos una función que tenga como parámetros de entrada los valores de L,
T y α. Asimismo, necesitaremos conocer también el número de nodos espaciales y
temporales, de modo que será necesario introducir como parámetros de entrada nx
y nt, respectivamente. Además, es necesario que proporcionemos la función f (x) de
la condición inicial y las funciones h1 (t) y h2 (t), correspondientes a las condiciones de
contorno.
Métodos Numéricos II
10
Tema 5. Ideas clave
kα2
• Definimos el parámetro λ = h2
.
Debemos tener en cuenta que, mientras en nuestra notación teórica los índices co-
mienzan en cero, la primera componente de un vector en Matlab es la componente
uno. Por tanto, habrá siempre un desfase de una unidad entre los índices teóricos e im-
plementados. A continuación, mostramos una posible implementación y un ejemplo
resuelto.
CalorExpl.m
Métodos Numéricos II
11
Tema 5. Ideas clave
no son consistentes
u (1 ,1) =( c1t (1) + cix (1) ) /2;
u(end ,1) =( c2t (1) + cix (end) ) /2;
% Condicion de estabilidad / convergencia
lambda =k* alpha ^2/ h ^2;
if lambda >1/2
disp ('No se cumple el criterio de convergencia ')
else
disp ('sin problema ')
end
for j =1: nt
for i =2: nx
u(i,j +1) =(1 -2* lambda )*u(i,j)+ ...
lambda *(u(i+1 ,j)+u(i -1 ,j));
end
end
end
Métodos Numéricos II
12
Tema 5. Ideas clave
1
oscilen; dado que α = 1 y λ = 4
es equivalente a 4k ≤ h2 , consideraremos
h = 0.1 y k = 0.12 /4 = 0.0025. Obtendremos la solución en T = 0.03.
x u(x, 0.03)
0 0
0.1 0.229541
0.2 0.436613
0.3 0.600947
0.4 0.706455
0.5 0.742811
0.6 0.706455
0.7 0.600947
0.8 0.436613
0.9 0.229541
1 0
Ejemplo 2.
Consideremos el problema parabólico
2
cuya solución exacta es u(x, t) = e−π t sin πx. Buscamos la solución aproximada
en T = 0.5 mediante el método explícito utilizando los tamaños de paso
Utilizando el código del método explícito, obtenemos las soluciones que se mues-
tran en la Tabla 2. Basta calcular el valor de λ en cada caso para comprender por
Métodos Numéricos II
13
Tema 5. Ideas clave
qué encontramos convergencia a la solución solo en uno de los casos estudiados.
Métodos Numéricos II
14
Tema 5. Ideas clave
Figura 2: Distribución de nodos para las EDPs parabólicas con condiciones no Dirichlet
En la Figura 2, observamos como los nodos en los que se conoce la solución del proble-
ma (en color verde) se sitúan únicamente en la primera columna, manteniéndose en
rojo el resto de nodos del mallado. Esto hace que el esquema en diferencias resultante
de la discretización tenga mayor amplitud en los índices espaciales:
kα2
donde λ = . Por otra parte, las condiciones de contorno no afectan a la estabilidad
h2
del método, por lo que las condiciones bajo las cuales está asegurada la estabilidad del
mismo se mantienen.
Dado un indice temporal j fijo y arbitrario, la primera ecuación del esquema en dife-
rencias, que permite calcular el primer elemento de la columna j + 1 es
Observemos que en esta expresión aparece u−1,j , es decir, la función incógnita está
evaluada en un punto u(−h, tj ) que, evidentemente, no pertenece a su dominio. Para
evitar esta circunstancia, se utiliza la condición de contorno natural evaluada en el
Métodos Numéricos II
15
Tema 5. Ideas clave
instante tj ,
u1,j − u−1,j
ux (0, tj ) ≈ ,
2h
se obtiene una expresión que ya solo depende de valores conocidos. De forma análo-
ga se gestiona la última ecuación en diferencias, correspondiente a xnx , utilizando la
segunda condición de contorno no Dirichlet, con aproximaciones de segundo orden.
Ejemplo 3.
Consideremos la ecuación en derivadas parciales:
Métodos Numéricos II
16
Tema 5. Ideas clave
b) Aplica este esquema para determinar la solución en el instante T = 1, toman-
do h = 0.1 y k = 0.0005. Representa la solución.
Solución:
u1,j − u−1,j
0 = ux (0, tj ) ≈ ,
2h
unx+1,j − unx−1,j
0 = ux (1, tj ) + u(1, tj ) ≈ + unx,j ,
2h
Métodos Numéricos II
17
Tema 5. Ideas clave
CalorExplND.m
Métodos Numéricos II
18
Tema 5. Ideas clave
Implementamos este método en un archivo .m adaptando el que se hizo para
la ecuación del calor homogénea con condiciones Dirichlet. Tendremos que mo-
dificar la inicialización de la matriz u y el contenido del bucle, que debe incluir
expresiones específicas para la primera y última fila de la matriz u.
Métodos Numéricos II
19
Tema 5. Ideas clave
� Accede al vídeo: Resolución del Ejemplo paso a paso
4
ut − uxx = 0, x ∈ [0, 4], t ≥ 0,
π2
π π
u(x, 0) = sin x 1 + 2 cos x , x ∈ [0, 4],
4 4
π2
utilizando el método explícito en T = π 2 tomando h = 0.4 y k = 50
. Obtén el
error exacto absoluto en todos los nodos sabiendo que la solución analítica es
π π
u(x, t) = e−t sin x + e−t/4 sin x .
2 4
Indica en una tabla la solución numérica y el error absoluto en todos los nodos
espaciales en el instante final.
Solución.
Este es un problema en el que podemos aplicar de forma directa el algoritmo im-
plementado para condiciones de contorno de tipo Dirichlet. Así, basta con iden-
tificar el valor de las variables de entrada y ejecutar: α = π2 , h1 (t) = h2 (t) = 0,
L = 4, f (x) = sin π4 x 1 + 2 cos π4 x , nx = 10 T = π 2 y nt = 50.
Métodos Numéricos II
20
Tema 5. Ideas clave
xi ui,nt |ui,nt − u(xi , T )|
0.000000 0.000000 0.000000
0.400000 0.025151 0.001086
0.800000 0.047836 0.002061
1.200000 0.065831 0.002827
1.600000 0.077376 0.003309
2.000000 0.081342 0.003463
2.400000 0.077346 0.003278
2.800000 0.065784 0.002776
3.200000 0.047788 0.002010
3.600000 0.025121 0.001054
4.000000 0.000000 0.000000
Ejercicio 2.
Obtén la solución numérica a la EDP
π2 π2
mediante el método explícito en T = 4
tomando h = 0.1 y k = 100
. Obtén el
error absoluto en todos los nodos sabiendo que la solución analítica es
Indica en una tabla la solución numérica y el error absoluto en todos los nodos
Métodos Numéricos II
21
Tema 5. Ideas clave
espaciales.
Solución.
u(x, t) = 4t + x2 .
Métodos Numéricos II
22
Tema 5. Ideas clave
Indica en una tabla la solución encontrada y el error absoluto en todos los nodos
espaciales en el último instante T . Representa las solución aproximada.
Solución.
Consideramos los nodos espaciales xi = 0 + ih, i = 0, 1, . . . , nx y temporales
L T
tj = 0 + jk, j = 0, 1, . . . , nt, obtenidos con los pasos h = nx
yk = nt
. Como
en el caso de la ecuación del calor clásica, aplicamos diferencias progresivas en
ut y centrales en las derivadas respecto a x, ux y uxx . Evaluamos la expresión
resultante en los pares de nodos (xi , tj ), i = 1, 2, . . . , nx−1, j = 0, 1, . . . , nt−1,
2k
para i = 1, 2, . . . , nx − 1, j = 0, 1, . . . , nt − 1. Denotamos λ = , agrupamos
h2
y despejamos el instante mayor
9 7
ui,j+1 = (1 − 2λ − 4k)ui,j + λui+1,j + λui−1,j ) + 16ktj ,
8 8
for j =1: nt
for i =2: nx
u(i,j +1) =(1 -2* lambda -4* k)*u(i,j)+ ...
9/8* lambda *u(i+1 ,j) +7/8* lambda *u(i -1 ,j) ...
+16* k*t(j);
end
end
Métodos Numéricos II
23
Tema 5. Ideas clave
xi ui,nt |ui,nt − u(xi , Tmax )|
0.000000 4.0000 0
0.200000 4.0845 0.0445
0.400000 4.2274 0.0674
0.600000 4.4258 0.0658
0.800000 4.6815 0.0415
1.000000 5.0000 0
1 1
ut − uxx = − + 2π cos(2πt), x ∈ [0, 1], t ≥ 0,
8 4
Métodos Numéricos II
24
Tema 5. Ideas clave
Indica en una tabla la solución numérica y el error absoluto en todos los nodos
espaciales. Representa la solución aproximada.
Solución.
Sean xi = ih, i = 0, 1, . . . , nx y tj = jk, j = 0, 1, . . . , nt, con h = 1/nx y
k = 1/nt, siendo nx y nt el número de subintervalos en cada variable. De todos
los pares de nodos, en aquellos (xi , tj ) con i = 0, 1, . . . , nx − 1 y j = 1, 2, . . . , nt
no se conoce el valor de la función incógnita.
Aplicando diferencias progresivas en ut y simétricas en uxx , obtenemos
k
ui,j+1 = (1 − 2λ)ui,j + λ(ui+1,j + ui−1,j ) − + 2kπ cos(2πtj ),
4
k
para i = 1, 2, . . . , nx − 1, j = 0, 1, . . . , nt − 1, siendo λ = . En el caso
8h2
particular i = 0 aparece u−1,j , que no está definida. Para eliminar este elemento,
discretizamos la primera condición de contorno con aproximaciones de orden 2
en un instante tj ,
u1,j − u−1,j
u(0, t) − ux (0, t) = 1 ⇒ u0,j − = 1,
2h
k
u0,j+1 = (1 − 2λ − 2hλ)u0,j + 2λu1,j + 2hλ − + 2kπ cos(2πtj ),
4
k
ui,j+1 = (1 − 2λ)ui,j + λ(ui+1,j + ui−1,j ) − + 2kπ cos(2πtj ),
4
Métodos Numéricos II
25
Tema 5. Ideas clave
Ejer0504.m
Métodos Numéricos II
26
Tema 5. Ideas clave
En la Tabla 7 observamos que el método no ha logrado converger (notemos que
en este caso no se cumple la condición de convergencia, λ = 1.25. Sin embar-
go, utilizando k = 0.01, los resultados son buenos, a juzgar por el error exacto
cometido.
Métodos Numéricos II
27
Tema 5. Ideas clave
Ejercicio 5. Consideremos la ecuación en derivadas parciales parabólica
para i = 1, . . . , nx − 1 y j = 0, . . . , nt − 1.
En la implementación del método nos basaremos en la función básica del método
explícito. Basta con modificar la expresión en diferencias contenida en el bucle:
Al ejecutar esta función con las condiciones inicial y de contorno del problema
obtenemos la aproximación de la solución en t = 0.5 que se muestra en la Tabla
8.
Métodos Numéricos II
28
Tema 5. Ideas clave
xi u(x, 0.5)
0 1.000000
0.1 0.864310
0.2 0.739442
0.3 0.625790
0.4 0.523405
0.5 0.432082
0.6 0.351443
0.7 0.280997
0.8 0.220184
0.9 0.168399
1 0.125000
Tabla 8: Aproximación
2
u(x, t) = e−π t sin πx + x(1 − x),
Métodos Numéricos II
29
Tema 5. Ideas clave
Ejercicio 7. Consideremos la ecuación en derivadas parciales
I Sabiendo que la solución exacta es u(x, t) = sin xt, calcula el error máximo
cometido en cada uno de los instantes anteriores.
en el problema lineal
Métodos Numéricos II
30
Tema 5. Ideas clave
y k = 0.001.
con las condición inicial u(x, 0) = x2 sin (πx), 0 < x < 1, y las condiciones de
contorno u(0, t) = u(1, t) = 0 para t > 0.
Métodos Numéricos II
31
Tema 5. Ideas clave