You are on page 1of 32

Bloque IV

Metodos de diferencias nitas


para ecuaciones de evoluci on
unidimensionales
Version 1.3-10-2002
http://matematicas.uclm.es/ind-cr/metmat/index.html
'
&
$
%
Metodos matem aticos
Segundo cuatrimestre
Curso 2002/2003
Tema 16
La ecuaci on del calor en
una dimensi on: Soluci on
exacta y semidiscretizaci on
Versi on 1.3-10-2002
Version 1.3-10-2002
http://matematicas.uclm.es/ind-cr/metmat/index.html
Version 1.3-10-2002
http://matematicas.uclm.es/ind-cr/metmat/index.html
La ecuaci on del calor: Soluci on exacta y semidiscretizaci on 16.1

Indice del tema


16.1 La ecuaci on del calor en una dimensi on: Soluciones exactas . . . . . 1
16.2 Semidiscretizaci on de la ecuaci on del calor en una dimensi on . . . . 2
16.1 La ecuaci on del calor en una dimensi on: Soluciones
exactas
Una de las ecuaciones de tipo parab olico sencillas y con mayor campo de aplicaci on es la ecuaci on
del calor o ecuaci on de difusi on. El problema es encontrar la funci on u(x, t) (que puede representar
una temperatura, concentraci on de una sustancia, etc.) que en el caso de que el coeciente de
trasmisi on de calor o de difusi on sea independiente del punto y en una sola dimensi on espacial
satisface
u
t


2
u
x
2
= s(x, t), 0 < x < 1, t > 0, (16.1a)
u(x, 0) = u
0
(x) 0 x 1, (16.1b)
u(0, t) = g(t) t 0, (16.1c)
u(L, t) = h(t) t 0, (16.1d)
de modo que conocemos las condiciones en los extremos en los distintos instantes de tiempo t y el
valor inicial u
0
(x) en todo el intervalo [0, L]. s(x, t) es un termino que tiene en cuenta las fuentes
del sistema.
Recordemos en primer lugar como operaba el metodo de separaci on de variables para resolver
la ecuaci on (16.1) en el caso m as sencillo de condiciones Dirichlet nulas. Se buscan soluciones de
la forma u(x, t) = X(x)T(t), se sustituyen en la ecuaci on y se divide por X(x)T(t) para obtener
XT

XT
=
X

T
XT
.
Tenemos igualadas dos expresiones que dependen de variables diferentes y esto s olo es posible si
ambas expresiones son constantes, esto es, si
T

T
=
X

X
= .
De aqu se llega a dos ecuaciones separadas para X(x) y T(t)
T

= T
T(0) = 1
_
(16.2a)
X

= X
X(0) = 0, X(L) = 0
_
(16.2b)
Version 1.3-10-2002
http://matematicas.uclm.es/ind-cr/metmat/index.html
16.2 Metodos Matem aticos
Para que el problema de contorno (16.2b) tenga soluciones reales que satisfagan las condiciones de
contorno es necesario que < 0. Entonces las soluciones de estas ecuaciones son de la forma
T(t) = e
t
,
X(x) = A

e
i

x
+ B

e
i

x
= Acos
_
x

_
+ B sen
_
x

_
.
Imponiendo las condiciones de contorno
X(0) = A + B = 0 A = B,
X(L) = 2iB sen(

L) = 0

L = m =
m
2

2
L
.
La soluci on del problema ser a una combinaci on lineal de estas soluciones, las autofunciones,
u
m
(x, t) = e

m
2

2
L
t
sen
m
L
x del tipo
u(x, t) =
+

m=0
a
m
e

m
2

2
L
2
t
sen
m
L
x =
+

m=
a
m
e

m
2

2
L
2
t
e
i
m
L
x
, (16.3)
siendo a

m
= a
m
y tal que u(x, 0) = g(x). Desarrollando g(x) en serie de senos e igualando
coecientes obtenemos los coecientes a
m
a
m
=
2
L
_
L
0
g(x)e
i
m
L
x
dx. (16.4)
M as tarde utilizaremos las ideas contenidas en este desarrollo en el contexto de la estabilidad. Un
primer resultado es que las soluciones cumplen lim
t
u(x, t) = 0 debido a que todos los modos
tienen un factor exponencialmente decreciente. En particular los modos de frecuencias m as altas
se amortiguan m as deprisa.
16.2 Semidiscretizaci on de la ecuaci on del calor en una di-
mensi on
Vamos a discretizar el intervalo [a, b] deniendo la malla x
1
= a, x
2
= a + h, ..., x
M
= b.
Al discretizar la ecuaci on diferencial en la variable espacial se obtiene un conjunto de ecua-
ciones diferenciales ordinarias para la evoluci on de los valores de la soluci on aproximada en los
nodos, esto es lo que se llama una semidiscretizaci on de la ecuaci on en derivadas parciales. Una
primera posibilidad sera resolver el problema semidiscreto como si fuese un problema de ecuaciones
diferenciales ordinarias. Sin embargo los metodos de diferencias nitas proceden discretizando de
nuevo la variable temporal con f ormulas de diferencias, forma de proceder que puede ser equivalente
a lo visto el tema de resoluci on de ecuaciones diferenciales ordinarias. El problema discretizado en
tiempo y en espacio se suele llamar problema completamente discreto.
Al discretizar la soluci on de la ecuaci on diferencial pasamos a la malla discreta. Llamaremos
U
n
j
a las aproximaciones de la soluci on en los puntos de la malla, esto es, U
n
j
u(jx, nt), j =
0, ..., M + 1; n = 0, ..., N, donde la malla temporal corresponde a la divisi on del intervalo [0, T]
Version 1.3-10-2002
http://matematicas.uclm.es/ind-cr/metmat/index.html
La ecuaci on del calor: Soluci on exacta y semidiscretizaci on 16.3
en N subintervalos, de longitud t = T/N que se denomina el paso en tiempo, o el di ametro de
la malla temporal. El ndice superior hace referencia al tiempo y el inferior a la variable espacial,
esta convenci on sirve para distinguir dos variables cuyo comportamiento es bien distinto; en cierto
modo para una de ellas el problema es de valores iniciales y para la otra de contorno, hablando de
modo un tanto rupestre.
Al igual que hicimos en el caso de las ecuaciones elpticas tenemos que discretizar de al-
guna forma la ecuaci on diferencial sobre la malla, esto es, elegir aproximaciones discretas para las
derivadas.
La manera m as inmediata de discretizar las derivadas espaciales es

2
u(t, x)
x
2
=
u(t, (j + 1)x) 2u(t, jx) + u(t, (j 1)x)
(x)
2

(x)
2
12

4
u(t, x)
x
4

z
(16.5)
donde z [(j 1)x, (j + 1)x]. Una vez realizada esta discretizaci on espacial y deniendo
u
j
(t) = u(jx, t), s
j
(t) = s(jx, t), obtenemos el problema semidiscreto aproximado siguiente
(salvo terminos de orden (x)
2
)
du
j
dt

1
(x)
2
(u
j+1
2u
j
+ u
j1
) + s
j
(t), j = 1, ..., M (16.6)
que es un problema de valores iniciales con u
j
(t) = u
0
(jx) para M ecuaciones diferenciales. Las
soluciones en los extremos son conocidas ya que u
0
(t) = g(t), u
M+1
(t) = h(t) por lo que en la
pr actica el problema se reduce a la soluci on de las M ecuaciones interiores.
Antes de iniciar el estudio de los metodos de diferencias nitas en mayor detalle observemos
que, cuando s(x, t) = 0 el problema es un problema de valores iniciales de la forma
dU
j
dt
=
1
(x)
2
(U
j+1
2U
j
+ U
j1
) , (16.7)
y supongamos que las condiciones en los extremos son nulas U
1
(t) = U
M
(t) = 0. Entonces (16.7)
puede escribirse en forma de sistema de ecuaciones lineales
dU
dt
= AU, (16.8)
deniendo
U =
_
_
_
_
_
U
1
U
2
.
.
.
U
M
_
_
_
_
_
, A =
1
(x)
2
_
_
_
_
_
_
_
_
2 1
1 2 1
.
.
.
.
.
.
.
.
.
1 2 1
1 2
_
_
_
_
_
_
_
_
.
Las propiedades de estas matrices se discuten en el apendice C siendo sus autovalores de la forma

k
(A) =
4
(x)
2
sen
2
_
k
2(M + 1)
_
, k = 1, ..., M. (16.9)
El autovalor m as peque no corresponde a k = 1 y su valor para M grande es

1
=
4
(x)
2
sen
2
_

2(M + 1)
_


2
(x)
2
(x)
2
= O(1)
Version 1.3-10-2002
http://matematicas.uclm.es/ind-cr/metmat/index.html
16.4 Metodos Matem aticos
El autovalor de mayor m odulo corresponde a k = M y entonces

M

4
(x)
2
= O
_
1
(x)
2
_
La conclusi on es que los autovalores varan en un rango comprendido entre O(1) y O(1((x)
2
), que
normalmente ser a muy grande y por lo tanto el sistema tiene muchas posibilidades de ser rgido y
por lo tanto inestable. M as tarde veremos aparecer esta inestabilidad en el lenguaje de los metodos
de diferencias nitas.
'
&
$
%
Metodos matem aticos
Segundo cuatrimestre
Curso 2002/2003
Tema 17
Un esquema explcito para
la ecuaci on del calor en una
dimensi on
Versi on 1.3-10-2002
Version 1.3-10-2002
http://matematicas.uclm.es/ind-cr/metmat/index.html
Version 1.3-10-2002
http://matematicas.uclm.es/ind-cr/metmat/index.html
Metodo explcito para la ecuaci on del calor 17.1

Indice del tema


17.1 Introducci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
17.2 El esquema explcito . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
17.3 Consistencia del esquema explcito . . . . . . . . . . . . . . . . . . . . 2
17.4 Convergencia del esquema explcito . . . . . . . . . . . . . . . . . . . 3
17.5 Implementaci on MATLAB del esquema explicito . . . . . . . . . . . 4
17.6 Ejemplo de aplicaci on del esquema explcito . . . . . . . . . . . . . . 6
17.7 Estabilidad del esquema explcito . . . . . . . . . . . . . . . . . . . . . 7
17.7.1 Concepto de estabilidad de Von Neumann . . . . . . . . . . . . . . . . . 7
17.7.2 Estabilidad Von Neumann del esquema explcito . . . . . . . . . . . . . 7
17.1 Introducci on
En el tema anterior realizamos una semidiscretizaci on de la ecuaci on del calor u
t
u
xx
= s(x, t) y
obtuvimos un conjunto de ecuaciones diferenciales ordinarias
dU
j
dt
=
1
(x)
2
(U
j+1
2U
j
+ U
j1
) + s
j
(t),
tras despreciar terminos de orden O
_
(x)
2
_
.
Este tema es el primero de una serie donde nos plantearemos formas de discretizar la derivada
temporal en la ecuaci on anterior, lo cual en el fondo no es m as que aplicar distintos esquemas de
resoluci on de ecuaciones diferenciales ordinarias al problema.
Vamos a comenzar con lo m as sencillo que es aplicar el metodo de Euler para resoluci on de
ecuaciones ordinarias.
17.2 El esquema explcito
A partir de la ecuaci on anterior lo m as inmediato es intentar una discretizaci on directa de la
derivada temporal por medio de la f ormula de diferencia adelantada
du
j
(t)
dt
=
u
j
((n + 1)t) u
j
(nt)
t

t
2
d
2
u
j
dt
2

, (17.1)
donde [nt, (n + 1)t]. Despreciando los terminos de orden t tenemos
u
j
((n + 1)t) u
j
(nt)
t

1
(x)
2
[u
j+1
(nt) 2u
j
(nt) + u
j1
(nt)] s
j
(nt), (17.2)
y por lo tanto
u
j
((n + 1)t) u
j
(nt) +
t
(x)
2
[u
j+1
(nt) 2u
j
(nt) + u
j1
(nt)] + s
j
(nt) t, (17.3)
Version 1.3-10-2002
http://matematicas.uclm.es/ind-cr/metmat/index.html
17.2 Metodos Matem aticos
Figura 17.1: Molecula computacional del esquema explcito.
que ahora es ya un problema completamente discreto. Deniendo U
n
j
como la soluci on de la
ecuaci on en diferencias anterior, que esperamos que satisfaga u
j
(nt) U
n
j
encontramos que debe
satisfacer la igualdad en la ecuaci on (17.2)
U
n+1
j
U
n
j
t

U
n
j+1
2U
n
j
+ U
n
j1
(x)
2
= s
n
j
, (17.4)
donde s
n
j
= s(jt, nx) y el an alogo para la ecuaci on (17.3)
U
n+1
j
= U
n
j
+
t
(x)
2
(U
n
j+1
2U
n
j
+ U
n
j1
) + (t)s
n
j
. (17.5)
A la cantidad r =
t
(x)
2
se le suele llamar n umero de Courant. Normalmente los esquemas en
diferencias nitas se representan por medio de las llamadas moleculas computacionales, que indican
los nodos de la malla en espacio y tiempo que se utilizan para calcular las aproximaciones a la
soluci on. Para el esquema (17.5) la molecula computacional es la que se presenta en la gura
17.1. As pues partiendo de U
0
j
y conocidos los valores de frontera U
1
0
y U
1
M+1
es posible calcular
directamente U
1
j
para cualquier valor de j usando (17.5); con estos se pueden calcular U
2
j
y as
sucesivamente. Por esta raz on se habla de un esquema explcito ya que las soluciones en el paso
n + 1 pueden obtenerse de manera sencilla de las soluciones en el paso n. Los esquemas explcitos
presentan como ventaja principal su sencillez, aunque tienen otros inconvenientes como veremos
m as tarde.
17.3 Consistencia del esquema explcito
Que error es de esperar que tengan las soluciones obtenidas mediante un esquema numerico?,
cu al es la diferencia entre la soluci on exacta u
n
j
u(jx, nt) sobre los puntos de la malla y la
soluci on aproximada U
n
j
?
Responder a esta pregunta no es trivial en general. Sin embargo, hay una pregunta de soluci on
m as sencilla que es si el esquema numerico se asemeja a la ecuaci on en derivadas parciales cuando
los par ametros de la ecuaci on x y t tienden a cero, lo que se denomina consistencia.
Denici on. Supongamos que estamos generando una aproximaci on al problema Lu = f donde
L es un operador diferencial, complementado con unas ciertas condiciones de contorno. La dis-
cretizaci on del problema lleva a L
h
U = f
h
siendo L
h
una aproximaci on discreta al operador
Version 1.3-10-2002
http://matematicas.uclm.es/ind-cr/metmat/index.html
Metodo explcito para la ecuaci on del calor 17.3
diferencial y f
h
y u las restricciones de f y u al espacio discreto donde se aproxima la soluci on.
Denimos entonces el error de truncaci on como
L
h
u f
h
= . (17.6)
Evidentemente el error de truncaci on es de nuevo, al igual que en el caso de las ecuaciones
ordinarias y las ecuaciones elpticas la cantidad por la cual la soluci on exacta no satisface el
problema numerico. Con esta denici on de error de truncaci on podemos formalizar la idea de la
consistencia expuesta anteriormente
Denici on. Diremos que un metodo es consistente con el problema en una cierta norma discreta
de lR
M
cuando t, x 0 y r =cte, si
lim
x0,t0
_
max
0ntT
{
n
}
_
= 0. (17.7)
Podemos analizar f acilmente la consistencia del esquema explcito ya que hemos visto que
u
t


2
u
x
2
=
u
n+1
j
u
n
j
t

t
2

2
u
t
2

u
n
j+1
2u
n
j
+ u
n
j1
(x)
2
+
(x)
2
12

4
u
x
4

z
= 0, (17.8)
con z [(j 1)x, (j + 1)x], [nt, (n + 1)t]. Evidentemente el error de truncaci on es

n
j
=
t
2

2
u
t
2

(x)
2
12

4
u
x
4

z
(17.9)
y por lo tanto si las derivadas est an acotadas se cumplir a que
= O(t + (x)
2
). (17.10)
De modo que el esquema es consistente con la ecuaci on en derivadas parciales.
17.4 Convergencia del esquema explcito
Denici on. Diremos que un esquema numerico es convergente si en un punto cualquiera del
dominio (x, t) (0, L) (0, T) se cumple que la soluci on aproximada en ese punto tiende a la
soluci on de la ecuaci on en derivadas parciales cuando x 0, y 0 para un valor jo de los
datos iniciales
Vamos a analizar la convergencia del esquema explcito (17.5). Denotemos por a una cota
para el error de truncaci on en un punto x
j
= jx, t
n
= nt, entonces |
n
j
| . Denotemos por
e
n
j
= U
n
j
u(x
i
, t
n
) al error de la aproximaci on. Por un lado U
n
j
satisface la ecuaci on discreta
(17.4) mientras que la soluci on exacta la satisface excepto por el termino del error de truncaci on
de modo que, restando las ecuaciones para U
n+1
j
y u
n+1
j
encontramos
e
n+1
j
= e
n
j
+ r
_
e
n
j+1
2e
n
j
+ e
n
j1
_

n
j
(t) = (1 2r) e
n
j
+ r
_
e
n
j+1
+ e
n
j1
_

n
j
(t). (17.11)
Supongamos que r
1
2
. El punto importante es que, bajo esta hip otesis, los coecientes en la
igualdad anterior son todos positivos y suman uno. Introduzcamos el error m aximo por paso
Version 1.3-10-2002
http://matematicas.uclm.es/ind-cr/metmat/index.html
17.4 Metodos Matem aticos
temporal como E
n
max{|e
n
j
|, j = 0, ..., M + 1} y tomemos valores absolutos en la ecuaci on
(17.11) para obtener
|e
n+1
j
| (1 2r)E
n
+ 2rE
n
+|
n
j
|t E
n
+ t (17.12)
Como la desigualdad se aplica a todos los puntos de la malla podremos hacer
E
n+1
E
n
+ t (17.13)
Como E
0
= 0 por partirse de un dato inicial supuestamente exacto (el error de redondeo se supone
despreciable en este caso) llegamos, por un argumento de inducci on a que E
n
n t y entonces
E
n

1
2
t
_
M
tt
+
1
6r
M
xxxx
_
T (17.14)
Donde M
tt
y M
xxxx
son cotas para las derivadas respectivas y aparecen al explicitar la cota para
el error de truncaci on. A medida que el paso temporal tiende a cero con r jo (lo cual implica
que el paso espacial tambien debe tender a cero) el error del c alculo tambien tiende a anularse.
En este sentido el esquema es convergente siempre que la malla se rene de modo que r sea
constante y satisfaga que r
1
2
, como exigimos anteriormente. Es importante darse cuenta de que
la cota obtenida es formal en el sentido de que es de esperar, al menos en el caso sin fuentes y
con condiciones de contorno nulas, que las soluciones exactas y numericas tiendan a anularse para
valores largos de tiempo con lo que el error tender a a ir decreciendo; sin embargo la cota crece
linealmente con T. Adem as hemos prescindido del efecto del error de redondeo, que es sabido que
maniesta su efecto al crecer el n umero de operaciones por lo que afectar a de manera importante
los c alculos con t y x demasiado peque nos.
Observemos que la condici on r
1
2
implica que dado un valor de x no podemos elegir
cualquier t si queremos garantizar la convergencia de las soluciones. En cierto modo este hecho
no debera extra narnos ya que estamos resolviendo un problema con una discretizaci on que da lugar
a ecuaciones rgidas seg un vimos en el tema 16 mediante un metodo explcito. Resulta muy normal
que aparezcan este tipo de cotas que no hacen m as que recordarnos la falta de Aestabilidad de
estos esquemas. De hecho la discretizaci on que hemos hecho de la ecuaci on del calor no es m as que
el metodo de Euler aplicado al sistema de ecuaciones diferenciales (16.7).
17.5 Implementaci on MATLAB del esquema explicito
Presentamos aqu un c odigo MATLAB que resuelve la ecuaci on del calor con condiciones de con-
torno Dirichlet nulas Es f acil generalizar este c odigo as como los que dem as que se presentan en
este captulo al caso de que las condiciones de contorno sean distintas.
function U = calorexplicito(x,dt,T,U0,sources);
%
% function U = calorexplicito(x,dt,T,U0,sources);
%
% Resuelve la ecuacion del calor u t - u xx = s(x,t)
% con condiciones de contorno nulas por el metodo explicito
Version 1.3-10-2002
http://matematicas.uclm.es/ind-cr/metmat/index.html
Metodo explcito para la ecuaci on del calor 17.5
%
% Variables de entrada:
% x: Vector de puntos que definen la malla espacial (debe ser equiespaciado)
% dt: Paso de integracion en t
% T: Valor final del tiempo de integracion
% U0: Vector con las condiciones iniciales
% sources: Funcion de t y x conteniendo las fuentes de calor
%
% Variables de salida
% U: Funcion u(x,T) (en tiempo final)
dx = x(2)-x(1); J = length(x); N = round(T/dt);
% Utiliza dos vectores para almacenar Un+1 y Un
U1=U0; U1(1) = 0; U1(M) = 0; U = zeros(size(U1)); t = 0;
r=dt/(dx*dx); dr=1-2*r;
% Ecuaciones del metodo explicito en forma de bucle.
for n=1:N
s = feval(sources,x,t);
for j=2:M-1
U(j) = dr*U1(j) + r*(U1(j+1)+U1(j-1)) + dt*s(j);
end;
t = t + dt;
% Estos comandos dibujan la salida en todas las iteraciones
% escalando todos los graficos en funcion de los datos iniciales
% esta eleccion puede no ser apropiada en algunos casos
plot(x,U); title(Soluciones de la ecuacion del calor);
axis([min(x) max(x) min(U0) max(U0)]);
xlabel(x,Fontsize,14); ylabel(u(x,t),Fontsize,14);
drawnow;
U1 = U;
end;
titulo = [Solucion en t = num2str(T)]; plot(x,U);
title(titulo); xlabel(x,Fontsize,14);
ylabel(u(x,t),Fontsize,14);
Este programa presenta salida gr aca en todos los pasos temporales, opci on esta que puede
relentizar la ejecuci on en algunos ordenadores m as antiguos en los cuales es mejor realizar la salida
gr aca cada cierto n umero de pasos temporales o incluso s olo al nal de la simuaci on.
Tambien se calcula la evoluci on mediante un bucle for que actua componente a componente
que es una opci on poco eciente computacionalmente.
Version 1.3-10-2002
http://matematicas.uclm.es/ind-cr/metmat/index.html
17.6 Metodos Matem aticos
17.6 Ejemplo de aplicaci on del esquema explcito
Consideremos el problema de resolver numericamente la ecuaci on del calor
u
t
=

2
u
x
2
0 < x < 1, t [0, 0.5], (17.15a)
u(x, 0) = sen x, 0 x 1, (17.15b)
u(0, t) = 0, u(1, t) = 0. (17.15c)
utilizando el metodo explcito. Su soluci on exacta es u(x, t) = e

2
t
senx. Al no haber fuentes
denimos f5 como es una funcion que devuelve un vector de ceros y hacemos
x = 0:0.05:1; U = calorexplicito(x,0.005,0.5,sin(pi*x),f5);
El dibujo de la soluci on en T = 0.5 nos lo da la gura 17.2(a) donde se observa que el resultado
es muy malo ya que la soluci on crece muy bruscamente en vez de decrecer.
(b) (a)
Figura 17.2: Simulaciones de la Ec. (17.15) con el esquema explcito en [0,1] con x = 0.05. (a)
t = 0.005, r = 2.0, (b) t = 0.0005, r = 0.2
Podra pensarse que este resultado err oneo es debido a un escaso n umero de puntos . Repi-
tiendo el c alculo con t = 0.0005 el resultado mejora como puede observarse en la gura 17.2(b).
x = 0:0.05:1; U = calorexplicito(x,0.0005,0.5,sin(pi*x),f5);
Las simulaciones numericas ponen de maniesto que no es suciente que un esquema sea
consistente para proporcionar resultados precisos. En particular en estos ejemplos se pone de
maniesto como tomando r = 0.2 < 0.5 tenemos soluciones estables (era de esperar a la vista de
la condici on de convergencia) pero tomando r = 2 > 0.5 las soluciones numericas no aproximan
correctamente las de la ecuaci on en derivadas parciales. En la pr oxima secci on profundizaremos
m as en el porque de este comportamiento.
Version 1.3-10-2002
http://matematicas.uclm.es/ind-cr/metmat/index.html
Metodo explcito para la ecuaci on del calor 17.7
17.7 Estabilidad del esquema explcito
17.7.1 Concepto de estabilidad de Von Neumann
El concepto de estabilidad es un concepto que ya ha aparecido antes en esta asignatura al estudiar
las soluciones de ecuaciones diferenciales. All se deni o la (A-)estabilidad como la capacidad de un
esquema numerico para aproximar cualitativamente las soluciones de un tipo particular de sistemas
de ecuaciones del tipo u = Au.
La idea de la estabilidad Von Neumann se basa en el estudio de las soluciones de tipo u(x, t) =
f(t)e
ikx
de la ecuaci on en derivadas parciales. Al sustituir en la misma encontraremos el valor de
f(t). Por ejemplo, en el caso de la ecuaci on del calor se encuentra u(x, t) = u
0
e
k
2
t
e
ikx
.
Una vez conocidas las propiedades de la ecuaci on original se trata de ver si el esquema en
diferencias cumple las propiedades discretas an alogas tomando soluciones discretas de la forma
U
n
j
= f
n
e
ikjx
. Dado que al pasar a la ecuaci on discreta se pierde el car acter exacto de la soluci on
l ogicamente tendremos una diferencia cuantitativa entre la soluci on numerica y la exacta. Lo que
se pretende con el an alisis de estabilidad es decidir si al menos las propiedades cualitativas de f(t)
son conservadas por su aproximaci on discreta f
n
. Por ejemplo para la ecuaci on del calor se tratar a
de ver si las soluciones son decrecientes de modo an alogo a las soluciones de la ecuaci on continua.
17.7.2 Estabilidad Von Neumann del esquema explcito
Las ecuaciones del esquema explcito pueden reescribirse en la forma
U
n+1
j
= rU
n
j1
+ (1 2r)U
n
j
+ rU
n
j+1
. (17.16)
Busquemos soluciones de las ecuaciones discretas U
n
j
= f
n
e
ikjx
. Sustituyendo encontramos que
f
n+1
e
ikjx
= rf
n
e
ik(j1)x
+ (1 2r)f
n
e
ikjx
+ rf
n
e
ik(j+1)x
, (17.17)
que es una ecuaci on en diferencias lineal de primer orden para f
n+1
y por lo tanto su soluci on ser a
del tipo f
n
= C
n
(ver el apendice D. Sustituyendo
C
n+1
e
ikjx
= C
n
_
e
ik(j1)x
+ (1 2r)e
ikjx
+ re
ik(j+1)x
_
,
= re
ikx
+ (1 2r) + re
ikx
= (1 2r) + 2r cos kx = 1 4r sen
2 kx
2
.
As pues = 1 4r sen
2 kx
2
. Por lo tanto si queremos asegurar que las soluciones discretas sean
decrecientes, al igual que las soluciones de la ecuaci on en derivadas parciales deber a cumplirse que
|| < 1 sea quien sea k y por lo tanto hay que imponer que r 1/2.
Esta es la misma cota que se obtuvo al estudiar la convergencia del esquema directamente y
justica la inestabilidad que obtuvimos con el esquema explcito en la secci on ya que ahora sabemos
que si r > 1/2 las soluciones discretas son crecientes lo cual contradice el comportamiento de las
soluciones exactas del problema.
Esta restricci on es un inconveniente fundamental del esquema explcito que hace que haya
que utilizar pasos temporales muy peque nos y por lo tanto realizar muchsimos pasos del esquema
numerico para llegar a la soluci on en tiempo T.
Version 1.3-10-2002
http://matematicas.uclm.es/ind-cr/metmat/index.html
17.8 Metodos Matem aticos
Ejercicios
17.1 Considerese el esquema en diferencias nitas explcito siguiente
U
n+1
j
U
n1
j
2t
=
U
n
j+1
2U
n
j
+ U
n1
j
(x)
2
1. Demostrar que el error de truncaci on es = O
_
(t)
2
+ (x)
2
_
.
2. Demostrar que la condici on de estabilidad de Von Neumann es
1/ = 8r sen
2
k
m
x
2
3. Resolver la ecuaci on anterior y obtener conclusiones sobre la estabilidad del esquema
de tres niveles.
17.2 El esquema de Dufort-Frenkel para la ecuaci on del calor es
U
n+1
j
U
n1
j
= r
_
U
n
j+1
U
n+1
j
U
n1
j
+ U
n
j1
_
1. Dibujar su molecula computacional y estudiar cu al es el orden de truncaci on del
esquema.
2. Estudiar la estabilidad de Von Neumann del esquema.
3. Formularlo de manera explcita. Puede utilizarse directamente este esquema para
resolver la ecuaci on del calor?
17.3 Halle el factor de amplicaci on de la condici on de estabilidad Von Neumann del siguiente
esquema en diferencias para la ecuaci on del calor:
U
n+1
j
=
1
2
(2 5r + 6r
2
)U
n
j
+
2
3
r(2 3r)(U
n
j+1
+ U
n
j1
)
1
12
r(1 6r)(U
n
j+2
+ U
n
j2
),
donde r = t/(x)
2
. Es estable el esquema para r = 1/2?
17.4 Considerese la ecuaci on del calor unidimensional u
t
= u
xx
con condici on inicial u(x, 0) =
1, 0 x 1. Supongamos que las condiciones de contorno son del tipo
u
x

x=0
= u,
u
x

x=1
= u.
Utilizar el esquema explcito y diferencias centradas en los bordes para aproximar la
soluci on exacta, que es u(x, t) =

n=1
_
sec
n
(3+4
2
n
)
e
4
2
n
t
cos 2
n
(x
1
2
_
, donde
n
son las
raices positivas de la ecuaci on tan =
1
2
.
'
&
$
%
Metodos matem aticos
Segundo cuatrimestre
Curso 2002/2003
Tema 18
Esquemas implcitos para
la ecuaci on del calor en una
dimensi on
Versi on 1.3-10-2002
Version 1.3-10-2002
http://matematicas.uclm.es/ind-cr/metmat/index.html
Version 1.3-10-2002
http://matematicas.uclm.es/ind-cr/metmat/index.html
Esquemas implcitos para la ecuaci on del calor en una dimensi on 18.1

Indice del tema


18.1 Introducci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
18.2 Esquema implcito simple . . . . . . . . . . . . . . . . . . . . . . . . . 1
18.2.1 Planteamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
18.2.2 Consistencia y estabilidad de Von Neumann del esquema implcito . . . 2
18.2.3 Implementaci on del esquema implcito . . . . . . . . . . . . . . . . . . . 3
18.3 Esquema de Crank-Nicholson . . . . . . . . . . . . . . . . . . . . . . . 4
18.3.1 Planteamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
18.3.2 Estabilidad de Von Neumann . . . . . . . . . . . . . . . . . . . . . . . . 5
18.3.3 Implementaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
18.4 Un ejemplo de aplicaci on de los metodos implcitos . . . . . . . . . . 6
18.5 Estabilidad matricial: El teorema de Lax-Richtmeyer . . . . . . . . 9
18.6 Tratamiento de condiciones de contorno Neumann . . . . . . . . . . 11
18.1 Introducci on
Los metodos explcitos para la soluci on del sistema de ecuaciones rgido que aparece al semidis-
cretizar la ecuaci on del calor tienen serias limitaciones, seg un hemos visto en el tema anterior.
En este tema, vamos a plantearnos la resoluci on de la ecuaci on del calor unidimensional mediante
metodos implcitos.
18.2 Esquema implcito simple
18.2.1 Planteamiento
Supongamos que en vez de utilizar la f ormula de diferencia adelantada para discretizar las derivadas
como hicimos en el tema 17 utilizamos la f ormula de diferencia retrasada para resolver el prob-
lema semidiscreto (16.6). Sera de esperar que esta elecci on solucionase el problema de resolver
numericamente el sistema de ecuaciones rgido que aparece al semidiscretizar la ecuaci on del calor.
Hagamos entonces
dU
j
(t)
dt
=
U
j
(nt) U
j
((n 1)t)
t

t
2
d
2
U
j
dt
2

, (18.1)
con [(n 1)t, nt]. Al discretizar as la derivada obtenemos el siguiente esquema, haciendo
ya U
j
n
U(nt),
U
n
j
U
n1
j
t

U
n
j+1
2U
n
j
+ U
n
j1
(x)
2
= s
n
j
, (18.2)
que de modo m as usual se escribe para los niveles n y n + 1
rU
n+1
j+1
+ (1 + 2r)U
n+1
j
rU
n+1
j1
= U
n
j
+ s
n+1
j
t, (18.3)
Version 1.3-10-2002
http://matematicas.uclm.es/ind-cr/metmat/index.html
18.2 Metodos Matem aticos
Figura 18.1: Molecula computacional del esquema implcito.
donde r es de nuevo el n umero de Courant. La molecula computacional del esquema es la que se
presenta en la gura 18.1.
Evidentemente ahora para calcular los valores de U
n+1
j
a partir de los U
n
i
no podemos de-
spejarlos directamente sino que hay que resolver un sistema de ecuaciones lineales con matriz del
sistema
_
_
_
_
_
_
_
_
1 + 2r r
r 1 + 2r r
.
.
.
.
.
.
r 1 + 2r r
r 1 + 2r
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
U
n+1
1
U
n+1
2
.
.
.
.
.
.
U
n+1
M
_
_
_
_
_
_
_
_
_
=
_
_
_
_
_
_
_
_
_
U
n
1
U
n
2
.
.
.
.
.
.
U
n
M
_
_
_
_
_
_
_
_
_
+
_
_
_
_
_
_
_
_
_
(t)s
n+1
1
+ rU
n+1
0
(t)s
n+1
2
.
.
.
.
.
.
(t)s
n+1
M
+ rU
n+1
M+1
_
_
_
_
_
_
_
_
_
,
(18.4)
donde los valores de frontera son conocidos U
n+1
0
= g ((n + 1)t) , U
n+1
M+1
= h((n + 1)t).
Este sistema de ecuaciones lineales tiene una estructura tridiagonal y por lo tanto es f acil de
resolver (en sentido de que el coste computacional de su resoluci on es de orden O(n) utilizando
metodos directos especcos). Por otro lado la matriz es simetrica y al ser diagonal dominante
se sigue inmediatamente que es denida positiva por lo que el metodo del gradiente conjugado
tambien ser a aplicable para su resoluci on.
18.2.2 Consistencia y estabilidad de Von Neumann del esquema implcito
La consistencia del esquema queda garantizada por el hecho de que al derivarlo hemos despreciado
terminos de la forma
= O
_
t + (x)
2
_
(18.5)
y por lo tanto 0, t, x 0 aunque el orden del esquema es bajo.
En cuanto a la estabilidad de Von Neumann sustituimos U
n
j
= f
n
e
ikjx
en las ecuaciones
(18.3) con s
j
= 0 y obtenemos inmediatamente que
rf
n+1
e
ik(j+1)x
+ (1 + 2r)f
n+1
e
ik(j+1)x
re
ik(j1)x
f
n+1
= f
n
e
ikjx
,
que es una ecuaci on en diferencias lineal de primer orden. Entonces su soluci on ser a de la forma
f
n
= f
0

n
donde satisface
re
ikx
+ (1 + 2r) re
ikx
= 1,
Version 1.3-10-2002
http://matematicas.uclm.es/ind-cr/metmat/index.html
Esquemas implcitos para la ecuaci on del calor en una dimensi on 18.3
=
1
1 + 2r (1 senkx)
, (18.6)
que efectivamente satisface la condici on de estabilidad de Von Neumann, siendo las soluciones
decrecientes para todo k.
18.2.3 Implementaci on del esquema implcito
El esquema implcito con condiciones de contorno Dirichlet nulas puede plantearse como sigue en
MATLAB
function U = calorimplicito(x,dt,T,U0,sources);
% function U = calorimplicito(x,dt,T,U0,sources);
%
% Resuelve la ecuacion del calor ut - uxx = s(x,t)
% con condiciones de contorno nulas por el metodo implicito
%
% Variables de entrada:
% x: Vector de puntos que definen la malla espacial (debe ser equiespaciado)
% dt: Paso de integracion en t
% T: Valor final del tiempo de integracion
% U0: Vector con las condiciones iniciales
% sources: Funcion de t y x conteniendo las fuentes de calor
%
% Variables de salida
% U: Funcion u(x,T) (en tiempo final)
dx = x(2)-x(1); M = length(x); N = round(T/dt);
% Utiliza dos vectores para almacenar la solucion nueva y la vieja
U1 = U0; U = zeros(size(U0)); t = 0; r=dt/(dx*dx); e = ones(M,1);
A = spdiags([-r*e (1+2*r)*e -r*e],-1:1,M-2,M-2);
for n=1:N
U(2:M-1)=A\U1(2:M-1);
% Estos comandos dibujan la salida en todas las iteraciones
% escalando todos los graficos en funcion de los datos iniciales
% esta eleccion puede no ser apropiada en algunos casos
plot(x,U); title(Soluciones de la ecuacion del calor);
axis([min(x) max(x) min(U0) max(U0)]);
xlabel(x,Fontsize,14); ylabel(u(x,t),Fontsize,14);
drawnow;
U1 = U;
end;
U(1) = U0(1); U(M) = U0(M);
titulo = [Solucion en t = num2str(T)]; plot(x,U); title(titulo);
Version 1.3-10-2002
http://matematicas.uclm.es/ind-cr/metmat/index.html
18.4 Metodos Matem aticos
Figura 18.2: Molecula computacional del esquema de Crank-Nicholson.
xlabel(x,Fontsize,14); ylabel(u(x,t),Fontsize,14);
De nuevo se ha utilizado matrices dispersas para optimizar el c odigo. Por lo dem as se aplican
las mismas consideraciones que al c odigo calorexplicito (tema 17).
18.3 Esquema de Crank-Nicholson
18.3.1 Planteamiento
El esquema numerico (18.3) es un esquema de orden bajo debido a la discretizaci on utilizada para
la derivada. Si en vez de usar la derivada atrasada utilizamos la regla de medio paso implcita para
resolver el sistema de ecuaciones (16.6) obtenemos el denominado esquema de Crank-Nicholson
para la ecuaci on del calor
U
n+1
j
U
n
j
t
=
1
2
_
U
n+1
j+1
2U
n+1
j
+ U
n+1
j
(x)
2
+ s
n+1
j
_
+
1
2
_
U
n
j+1
2U
n
j
+ U
n
j
(x)
2
+ s
n
j
_
. (18.7)
Multiplicando por t llegamos al esquema

r
2
U
n+1
j1
+ (1 + r)U
n+1
j

r
2
U
n+1
j+1
=
r
2
U
n
j1
+ (1 r)U
n
j
+
r
2
U
n
j+1
+
t
2
_
s
n+1
j
+ s
n
j
_
. (18.8)
Como la regla de medio paso implcita tiene un error de truncaci on de orden O((t)
2
) mejoramos
el comportamiento respecto a los esquemas anteriores que eeran O(t). De hecho, escribiendo los
desarrollos de Taylor es f acil ver que el esquema de Crank-Nicholson tiene error de truncaci on
= O((t)
2
+ (x)
2
). (18.9)
La molecula computacional se presenta en la gura 18.2.
Matricialmente, deniendo
U
n
=
_
_
_
U
n
1
.
.
.
U
n
M
_
_
_
Version 1.3-10-2002
http://matematicas.uclm.es/ind-cr/metmat/index.html
Esquemas implcitos para la ecuaci on del calor en una dimensi on 18.5

1 + r
r
2

r
2
1 + r
r
2
.
.
.
.
.
.
.
.
.

r
2
1 + r

U
n+1
=

1 r
r
2
r
2
1 r
r
2
.
.
.
.
.
.
.
.
.
.
.
.
r
2
1 r

U
n
+ t

s
n+1/2
1
.
.
.
.
.
.
s
n+1/2
M

+
r
2

U
n
0
+ U
n+1
0
0
.
.
.
0
U
n
M+1
+ U
n+1
M+1

. (18.10)
De nuevo se obtiene matrices tridiagonales, diagonalmente dominantes y simetricas que son muy
apropiadas para los distintos metodos de resoluci on numerica.
18.3.2 Estabilidad de Von Neumann
Probamos soluciones de la forma U
n
j
= e
ikjx
f
n
y se obtiene tras introducir en las ecuaciones
del esquema numerico y escribir la soluci on de la ecuaci on en diferencias lineal resultante como
f
n
= f
0

n
que
=
1 r (1 senkx)
1 + r (1 senkx)
, (18.11)
como 1 senkx > 0 entonces encontramos que || < 1 siempre por lo que el esquema de Crank-
Nicholson es incondicionalmente estable.
18.3.3 Implementaci on
Una implementaci on MATLAB del esquema de Crank-Nicholson es
function U = calorcn(x,dt,T,U0,sources);
% function U = calorcn(x,dt,T,U0,sources);
%
% Resuelve la ecuacion del calor ut - uxx = s(x,t)
% con condiciones de contorno nulas por el metodo de Crank-Nicholson
%
% Variables de entrada:
% x: Vector de puntos que definen la malla espacial (debe ser equiespaciado)
% dt: Paso de integracion en t
% T: Valor final del tiempo de integracion
% U0: Vector con las condiciones iniciales
% sources: Funcion de t y x conteniendo las fuentes de calor
%
% Variables de salida
% U: Funcion u(x,T) (en tiempo final)
Version 1.3-10-2002
http://matematicas.uclm.es/ind-cr/metmat/index.html
18.6 Metodos Matem aticos
dx = x(2)-x(1); M = length(x); N = round(T/dt);
% Utiliza dos vectores para almacenar la solucion nueva y la vieja
U1 = U0; U = zeros(size(U0)); t = 0; r=dt/(dx*dx); e = ones(M,1);
A = spdiags([-r/2*e (1+r)*e -r/2*e],-1:1,M-2,M-2); B =
spdiags([r/2*e (1-r)*e r/2*e],-1:1,M-2,M-2);
for n=1:N
U(2:M-1)=A\(B*U1(2:M-1));
% Estos comandos dibujan la salida en todas las iteraciones
% escalando todos los graficos en funcion de los datos iniciales
% esta eleccion puede no ser apropiada en algunos casos
plot(x,U); title(Soluciones de la ecuacion del calor);
axis([min(x) max(x) min(U0) max(U0)]);
xlabel(x,Fontsize,14); ylabel(u(x,t),Fontsize,14);
drawnow;
U1 = U;
end;
U(1) = U0(1); U(M) = U0(M);
titulo = [Solucion en t = num2str(T)]; plot(x,U); title(titulo);
xlabel(x,Fontsize,14); ylabel(u(x,t),Fontsize,14);
18.4 Un ejemplo de aplicaci on de los metodos implcitos
Vamos a aplicar los metodos implcito simple y de Crank-Nicholson al problema problema de
resolver la ecuaci on del calor que ya se estudi o en el tema 17
u
t
=

2
u
x
2
0 < x < 1, t [0, 0.5],
u(x, 0) = sen x, 0 x 1,
u(0, t) = 0, u(1, t) = 0,
cuya soluci on exacta es u(x, t) = e

2
t
senx. Para resolverlos con el esquema implcito y de
Crank-Nicholson hacemos
x = 0:0.01:1;
Uimpl=calorimplicito(x,0.01,1,sin(x*pi),f5);
Ucn=calorcn(x,0.01,1,sin(x*pi),f5);
En la gura 18.3 se observan los resultados donde, a diferencia de lo que se obtuvo con
el esquema explcito, no aparecen inestabilidades. Si dibujamos los errores de ambos esquemas
observamos que son de diferentes ordenes de magnitud (Fig. 18.4).
Version 1.3-10-2002
http://matematicas.uclm.es/ind-cr/metmat/index.html
Esquemas implcitos para la ecuaci on del calor en una dimensi on 18.7
(a)
(b)
Figura 18.3: Resultados del esquema (a) implcito y (b) Crank-Nicholson en T = 1 para x = 0.01, t =
0.01
Cuantitativamente e
Crank-Nicholson

= 3.7 10
7
mientras que para el esquema implcito
se encuentra que la norma del error en T = 1 es e
implicito

= 3 10
5
que es mucho peor. La
raz on es el mayor orden de truncaci on del esquema de Crank-Nicholson.
Ejercicios
18.1 Utilizar el esquema de Crank-Nicholson para resolver el problema
u
t

2
u
xx
= 0, 0 < x < 4, 0 < t,
con condiciones de contorno e iniciales
u(0, t) = u(4, t) = 0,
u(x, 0) =
_
1 + 2 cos
x
4
_
sen
x
4
.
Utilizar distintos pasos espaciales y temporales y comparar el error con la soluci on exacta
u(x, t) = sen
x
2
e
t
+ sen
x
4
e
t/4
.
18.2 Resolver el problema de contorno para la ecuaci on del calor siguiente:
u
t
= u
xx
, 0 < x < 1
u(0, t) = 0 , u(1, t) = cos t,
u(x, 0) = x , 0 x 1,
por medio de varios esquemas de diferencias nitas comparando la soluci on con la exacta,
que es
u(x, t) = xcos t +

n=1
T
n
(t) sen nx,
Version 1.3-10-2002
http://matematicas.uclm.es/ind-cr/metmat/index.html
18.8 Metodos Matem aticos
Figura 18.4: Errores de los esquemas implcito y de Crank-Nicholson en T = 1 con x = 0.01 y t = 0.01.
donde
T
n
(t) = (1)
n
2
n
_
1
0
e
(n)
2
(t)
send.
18.3 Considerese el problema de trasmisi on de calor con perdidas laterales siguiente
u
t
= u
xx
u + x, 0 < x < 1
u(0, t) = 0 , u(1, t) = 1
u(x, 0) = 0 , 0 x 1
Cuya soluci on exacta es (primeros terminos del desarrollo de Fourier)
u(x, t) = x
2

e
t
_
e

2
t
senx
1
2
e
(2)
2
t
sen2x + ...
_
Resolver la ecuaci on por medio de alg un esquema de diferencias nitas y comparar el
resultado con la soluci on exacta.
18.4 Repetir el ejercicio 17.4 utilizando alg un esquema implcito. Comparar los resultados
con los que se obtienen utilizando una discretizaci on en la frontera mediante diferencias
adelantadas.
Version 1.3-10-2002
http://matematicas.uclm.es/ind-cr/metmat/index.html
Esquemas implcitos para la ecuaci on del calor en una dimensi on 18.9
18.5 Estabilidad matricial: El teorema de Lax-Richtmeyer
A veces en vez de estabilidad de Von Neumann se habla de estabilidad matricial. La idea es
diferente ya que se basa en la observaci on de en los esquemas vistos hasta ahora la soluciones
numerica y exacta respectivamente satisfacen ecuaciones del tipo
AU
n+1
= BU
n
+F
n
(18.12a)
Au
n+1
= Bu
n
+F
n
+ t
n
(18.12b)
donde F
n
lleva informaci on sobre las fuentes, condiciones de contorno, etc.
Denici on. Diremos que el esquema numerico (18.12a) es estable para una norma matricial si para
todo 0 nt T y r = cte. se cumple que existen constantes K y C tales que (A
1
B)
n
K y
A
1
C. En otros terminos, cuando (A
1
B)
n
y A
1
son equiacotadas si x, t 0 y r =cte.
Es posible demostrar el siguiente teorema importante
Teorema (Lax-Richtmeyer). Un esquema numerico del tipo (18.12a) que sea consistente con
la ecuaci on y estable en sentido matricial es convergente.
Demostraci on: Restando las ecuaciones (18.12a) y (18.12b) obtenemos una ecuaci on para el error
e
n
= u
n
U
n
Ae
n+1
= Be
n
+ t
n
(18.13)
Aplicando la inversa de A
e
n+1
= A
1
Be
n
+ t A
1

n
= (A
1
B)
2
e
n1
+ t (A
1
B)A
1

n1
+ t A
1

n
= ... =
(A
1
B)
n+1
e
0
+ t [(A
1
B)
n
A
1

0
+ ... + (A
1
B)A
1

n1
+ A
1

n
]. (18.14)
Por la estabilidad existen constantes K y C tales que (A
1
B) K, 0 nt T y A
1

C, x/0 nr(x)
2
T. Tomando normas en la expresi on (18.14) llegamos a la acotaci on para
el error
e
n+1
Ke
0
+ t max
j=0,...,n

j
(n + 1)CK (18.15)
y tomando m aximos
max
0ntT
e
n+1
Ke
0
+ max
0ntT

_
T
t
+ 1
_
CKt
Podemos considerar que en los datos iniciales no cometemos error e
0
= 0, entonces por consis-
tencia
max
0ntT

T
t
CKt
x,t0
0
y con mayor motivo se cumple:
max
0ntT

n
CKt
x,t0
0
lo que implica
lim
x,t0
_
max
0ntT
e
n+1

_
= 0
y hay convergencia.
Version 1.3-10-2002
http://matematicas.uclm.es/ind-cr/metmat/index.html
18.10 Metodos Matem aticos
Vamos a presentar un ejemplo de c omo puede analizarse la estabilidad matricial, en particular
para el esquema implcito. La forma matricial es
_
_
_
_
_
_
_
_
_
_
_
_
1 + 2r r
r 1 + 2r r
.
.
.
.
.
.
.
.
.
.
.
.
r 1 + 2r
_
_
_
_
_
_
_
_
_
_
_
_
U
n+1
= U
n
+F
n
(18.16)
llamamos A a la matriz de la izquierda y en este caso B = I. La condici on de estabilidad dice que
tienen que estar acotadas uniformemente A
1
para x/0 n(x)
2
r T y (A
1
B)
n
, 0 nt
T si y s olo si (A
1
)
n
, 0 nt T y A
1
, x/0 n(x)
2
r T est an uniformemente acotadas.
Elegimos
2
. Utilizando el resultado del apendice C para los autovalores de A,
j
=
1 + 4 sen
2 j
2(M+1)
, j = 1, ..., M, que cumplen |
j
| 1 lo que implica que (A) 1 para todo r, y
entonces (A
1
) 1, ((A
1
)
n
) 1, que nos proporciona la acotaci on
(A
1
)
n

2
1 (18.17)
lo que implica que est an uniformemente acotadas y el esquema es matricialmente estable para
toda r. Este resultado unido al car acter consistente del esquema totalmente implcito aseguran su
convergencia
La estabilidad matricial es un concepto importante pero m as difcil de analizar que la es-
tabilidad de Von Neumann que nos ha permitido establecer una conexi on entre estabilidad y
convergencia. Es posible demostrar el siguiente teorema, que nos limitamos a exponer
Teorema. Las condiciones de estabilidad de Von Neumann y matricial son equivalentes para
esquemas numericos en diferencias escalares y de dos niveles.
Las ventajas de la formulaci on matricial radican en que puede extenderse f acilmente a prob-
lemas m as complicados como es el caso de coecientes de difusi on dependientes de la posici on,
condiciones de contorno complicadas, etc.
Ejercicios
18.5 El esquema de Douglas para la ecuaci on del calor u
t
u
xx
= 0, 0 x 1, t > 0 es
(1 6r)u
n+1
j1
+ (10 + 12r)u
n+1
j
+ (1 6r)u
n+1
j+1
=
(1 + 6r)u
n
j1
+ (10 12r)u
n
j
+ (1 + 6r)u
n
j+1
con j = 1, ..., M 1. Supuestos conocidos los valores de frontera para todo n demostrar
que las ecuaciones son estables en sentido matricial para cualquier valor de r.
Version 1.3-10-2002
http://matematicas.uclm.es/ind-cr/metmat/index.html
Esquemas implcitos para la ecuaci on del calor en una dimensi on 18.11
18.6 Tratamiento de condiciones de contorno Neumann
Supongamos que en x = 0 tenemos una condici on de contorno del tipo
u
x
(0) = (t)u + q(t), (t) > 0. (18.18)
Una posibilidad de realizar una discretizaci on de segundo orden es la que se vio en el tema 14 que
consiste en tomar una derivada centrada de la forma
U
n
1
U
n
1
2x
=
n
U
n
0
+ q
n
, (18.19)
que nos proporciona una ecuaci on adicional pero tambien una inc ognita m as. Para ecuaciones
adicionales se aplica el esquema en diferencias en x
1
y x
M
contando con el valor cticio en los
nodos x
0
, x
M+1
y se obtiene ya un sistema cerrado.
Es posible demostrar que esta forma de aproximar la condici on de contorno proporciona es-
quemas que son globalmente O((x)
2
) si el esquema discreto lo es. En cuanto a la discretizaci on
temporal puede ser interesante utilizar promedios de , U
0
y q entre n+1 y n para mantener mayor
consistencia con el esquema numerico de la parte continua.
Ejercicios
18.6 Escribir una funci on MATLAB que utilice una f ormula BDF para avanzar la soluci on
del sistema semidiscreto (16.6). Comparar el rendimiento del esquema con el de Crank-
Nicholson.
18.7 Considerese el esquema de Douglas para la ecuaci on del calor, que se present o en el
ejercicio 17.5. Demostrar que su error de truncaci on es del tipo = O
_
(x)
4
+ (t)
2
_
.
Estudiar su estabilidad de Von Neumnann.
18.8 Considerese la ecuaci on parab olica no lineal
u
t
= u
xx
u x
2
u
3
con condiciones de contorno u(0, t) = u(1, t) = 0 y dato inicial u
0
(x) = sen x.
1. Formular un esquema explcito para aproximarla y realizar el an alisis de estabilidad
para la parte lineal u
t
= u
xx
u. Comprobar si es aplicable a la ecuaci on completa
mediante simulaciones numericas de la misma.
2. Formular un metodo completamente implcito para resolverla en MATLAB.
3. Resolver la ecuaci on estacionaria utilizando alg un metodo para problemas de con-
torno
18.9 Considerese la ecuaci on en derivadas parciales
u
t
u
xxxx
= 0,
con condiciones de contorno u(0, t) = 0, u(1, t) = 0, u
xx
(0, t) = 0, u
xx
(1, t) = 0.
Version 1.3-10-2002
http://matematicas.uclm.es/ind-cr/metmat/index.html
18.12 Metodos Matem aticos
1. Dise nar un esquema numerico de tipo Crank-Nicholson para resolverla.
2. Escribir las ecuaciones del esquema numerico en forma matricial.
18.10 Considerese la ecuaci on
u
t
(u
2
)
xx
= 0
en [0,1] con condiciones iniciales u(x, 0) = 1 y de contorno u
x
(x = 0) = 0, u
x
(x = 1) =
u. Supongamos que se utiliza el esquema
1
t

t
u
n+
1
2
j
=
1
2(x)
2
_

2
x
(u
2
)
n+1
j
+
2
x
(u
2
)
n
j
_
y que se aproxima las derivadas en la frontera por la f ormula de diferencias centradas.
Deducir las ecuaciones de aproximaci on a la soluci on.
18.11 Los esquemas explcito, implcito y Crank-Nicholson de Crank-Nicholson para la ecuaci on
del calor, son casos particulares de una familia de metodos denominados metodos (o
metodo de media ponderada), que pueden escribirse como
U
n+1
j
U
n
j
t
=

2
x
U
n+1
(x)
2
+ (1 )

2
x
U
n
(x)
2
,
donde
2
x
U = U
j+1
2U
j
+ U
j1
. Estudiar la estabilidad de Von Neumann de estos
metodos en funci on del par ametro .
18.12 Tenemos la siguiente variante de la ecuaci on del calor
u
t
=

2
u
x
2
u
u(0, x) = g(x)
u(t, 0) = u(t, 1) = 0
_

_
, 0 x 1, 0
y pretendemos resolverla empleando un esquema en diferencias nitas del tipo
u
n1
j
= au
n
j+1
+ bu
n
j
+ cu
n
j1
,
donde a, b y c son n umeros reales a determinar.
1. Dibujar la molecula computacional.
2. Calcular las constantes a, b y c para que el esquema anterior resulte consistente,
estable y convergente. Dar el orden del error de truncaci on.
3. Estudiar la relaci on de recurrencia que nos da la solucion en un instante de tiempo
en funci on de los anteriores. Se puede aplicar directamente el metodo? Hay que
resolver alg un sistema de ecuaciones? En caso armativo detallar la estructura de
las matrices que surjan y discutir que metodo de resoluci on es preferible.

You might also like