Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1 Diferencias Finitas
En la discretizacion de las EDPs usamos formulas de diferencias finitas para las derivadas que
se derivan de las formulas de Taylor con error. A continuacion resumimos las diferencias finitas
que estaremos usando, formuladas para una funcion f de una variable. Mas adelante las usamos
para las derivadas parciales de una funcion de varias variables.
2 EDPs Parabolicas
Consideramos como ejemplo la ecuacion de difusion del calor en una barra de longitud `. La
temperatura u(x, t) como funcion del tiempo satisface la ecuacion diferencial parcial:
u 2u
(x, t) = 2 2 (x, t) para 0 < x < `, t > 0
t x
1
con condiciones iniciales y de frontera:
Esto significa que la barra se mantiene con temperaturas T0 y T1 en los extremos durante todo
el tiempo, y tiene una distribucion de temperatura f (x) a lo largo de la barra en tiempo t = 0.
Por simplicidad, en lo que sigue asumimos T0 = T1 = 0.
Discretizacion
La longitud ` se divide en m intervalos de longitud h = `/m y los puntos que los determinan son
xi = ih para i = 0, 1, 2, . . . , m. Para el tiempo, el paso es k y los tiempos discretos son tj = jk
donde j = 0, 1, 2, 3, . . .. Entonces la ecuacion diferencial en (xi , tj ) es
u 2u
(xi , tj ) = 2 2 (xi , tj )
t x
Estas derivadas se reemplazan entonces por diferencias finitas correspondientes. Diferentes posi-
bilidades resultan en diferentes metodos.
Las ecuaciones para i = 1 y i = m 1 son especiales porque involucran las variables w0,j y wm,j
en la frontera x = 0, `. En el caso de T0 = T1 = 0, estas son cero y las ecuaciones son
Se dice que este es un metodo explcito porque las ecuaciones resultantes expresan una sola
variable en tiempo tj+1 en terminos de variables en tj . Para j = 0, las variables wi,0 estan
determinadas por la funcion f (x):
wi,0 = f (xi ).
2
9
x 10
1 2.5
0.9
2
0.8
1.5
0.7
1
0.6
0.5
0.5
0.4
0.5
0.3
1
0.2
1.5
0.1
0 2
1 1
0.9 0.9
0.8 0.8
1 1
0.7 0.7
0.9 0.9
0.6 0.8 0.6 0.8
0.7 0.7
0.5 0.5
0.6 0.6
0.4 0.4
0.5 0.5
0.3 0.4 0.3 0.4
1: Ejemplo de la ecuacion del calor con ` = 1, = 0.5, y f (x) = sen (x). El resultado de la
izquierda para h = 0.1, k = 0.02 es un ejemplo de estabilidad (tiene factor 1 en la escala vertical),
mientras que el de la derecha para h = 0.05, k = 0.05 es un ejemplo de inestabilidad (tiene factor
109 en la escala vertical). Estos ejemplos corresponden a = 1/2 y = 5 respectivamente.
Con w(j) = [w1,j w2,j wm1,j ]T , se pueden expresar las ecuaciones de la siguiente forma
vectorial:
w(j+1) = Aw(j)
para j = 1, 2, 3, . . ., donde A es la matriz tridiagonal (m 1) (m 1):
1 2
1 2
1 2
A=
..
.
1 2
1 2
y con w0 determinado por la condicion inicial.
El metodo con diferencias progresivas es condicionalmente estable porque requiere que 1/2, es
decir
k2 1
= 2 .
h 2
para estabilidad. Esto se discute en la ultima seccion. Tal restriccion es indeseable porque restringe los
valores de h y k para los cuales se puede obtener estabilidad. En particular, note que si h se reduce a
la mitad, para mantener la condicion k se debe reducir a la cuarta parte, y as la computacion requiere
mas tiempo.
3
y de aqu que
wi1,j + (1 + 2)wi,j wi+1,j = wi,j1
para i = 1, 2, . . . , m 1 y j = 0, 1, 2, . . .. De nuevo, las ecuaciones para i = 1, m 1 son especiales
porque involucran la frontera
Se dice que este es un metodo explcito porque para determinar las variables para tj se necesita resolver
una sistema lineal entre ellas, en terminos de las variables para tj1 . Vectorialmente tenemos que
Bw(j) = w(j1)
4
2.4 Metodo de Crank-Nicolson
El siguiente metodo logra error O(h2 + k 2 ), estabilidad incondicional y sistemas tridiagonales. Se basa
en formular la ecuacion no en un punto de la malla sino en uno intermedio (xi , tj + k2 ). Usamos la
aproximacion con un promedio de punto medio
1
f (x) = (f (x + h) + f (x h)) + O(h2 )
2
la cual se obtiene de la aproximacion de Taylor. Entonces, aproximamos las derivadas de la siguiente
manera. La temporal con una diferencia finita centrada de segundo orden:
u k u(xi , tj + k) u(xi , tj )
xi , tj + = + O(k 2 )
t 2 2(k/2)
u(xi , tj + k) u(xi , tj )
= + O(k 2 )
k
y la temporal con un promedio de diferencias finitas centradas de segundo orden
2u
k
x ,
i jt + =
x2 2
1 2u 2u
= (xi , tj ) + 2 (xi , tj + k) + O(k 2 )
2 x2 x
1 u(xi1 , tj ) 2u(xi , tj ) + u(xi+1 , tj ) u(xi1 , tj+1 2u(xi , tj+1 ) + u(xi+1 , tj+1 )
= + + O(k 2 )
2 h2 h2
Entonces pasando a las variables de aproximacion wi,j , ignorando el error O(h2 + k 2 ), reemplazando el
parametro como antes,
wi,j+1 wi,j = ((wi1,j 2wi,j + wi+1,j ) + (wi1,j+1 2wi,j+1 + wi+1,j+1 ))
2
y separando los terminos con tiempo tj+1 de los terminos con tiempo tj , obetenemos
wi1,j+1 + (1 + ) wi,j+1 wi+1,j+1 = wi1,j + (1 ) wi,j+1 + wi+1,j
2 2 2 2
La formulacion matricial correspondiente es
Dw(j+1) = Ew(j)
donde D y E son las matrices tridiagonales (m 1) (m 1):
1 + 2 1
2
2 1 + 2
2 1 2
2 1 + 2
2 1
2
E= , E =
.. ..
.
.
1+
2
2
2 1 2
2 1+
2 1
Para computacion esta formulacion como un sistema tridiagonal es ventajoso. Para el proposito de
analizar la estabilidad podemos escribir
w(j+1) = D1 Ew(j)
y as la estabilidad depende del radio espectral de D1 E. El metodo resulta incondicionalmente estable
(ver ultima seccion).
5
2.5 Metodo ADI para 2D
Para el caso de dos dimensionales espaciales x y y, la ecuacion del calor que consideramos es
2
2u
u 2 u
(x, y; t) = (x, y; t) + 2 (x, y; t) para 0 < x < `x , 0 < y < `y , t > 0
t x2 x
Igual que con el caso 1D, se obtienen diferentes esquemas dependiendo de las diferencias finitas em-
pleadas en la aproximacion. Podemos derivar esquemas correspondientes a todos los discutidos para
el caso 2D, pero todos con el defecto de que los sistemas lineales resultantes no son tridiagonales. El
metodo que discutimos a continuacion, llamado ADI (por el nombre en ingles, alternating-dimension
implicit divide cada paso en dos pasos, y alterna en estos cual de las dimensiones espacial cuya derivada
esta formulada en forma implcita.
En cuanto a la discretizacion, usamos longitudes de intervalo hx y hy en las direcciones x y y, y k
en la el tiempo. Ademas mx = `x /hx y my = `y /hy . Con esto cada punto de la malla es de la forma
(xi , xj , tl ) donde xi = ihx , yj = jhy y tl = lk.
Esta tambien basado en una formulacion en un punto medio:
2
2u
u k 2 u k k
xi , yj ; tl + = xi , yj ; tl + + 2 xi , yj ; tl +
t 2 x2 2 x 2
para la derivada espacial con respecto a x se usa un promedio de las derivadas en tl y tl+1 (como en el
metodo de Crank-Nicolson):
2u
k
xi , yj ; tl + =
x2 2
1 u(xi1 , yj ; tl+1 ) 2u(xi , yj ; tl+1 ) + u(xi+1 , yj ; tl+1 ) u(xi1 , yj ; tl ) 2u(xi , yj ; tl ) + u(xi+1 , yj ; tl )
= +
2 h2x h2x
+O(h2x + k 2 )
(donde el termino de error O(k 2 ) aparece por el promedio) y para la derivada espacial con respecto a
y una diferencia centrada usual en tl + k/2, usando la convencion tl+1/2 = tl + k/2:
(l)
Pasando a las variables de aproximacion wi,j u(xi , xj ; tl ), ignorando el error obtenemos, y tomando
hx = hy = h por simplicidad, obtenemos la ecuacion de aproximacion
(l+1) (l) " (l+1) (l+1) (l+1) (l) (l) (l) !
wi,j wi,j 2 1 wi1,j 2wi,j + wi+1,j wi1,j 2wi,j + wi+1,j
= +
k 2 h2 h2
(l+1/2) (l+1/2) (l+1/2) #
wi,j1 2wi,j + wi,j+1
+
h2
6
884 FINITE DIFFERENCE: PARABOLIC EQUATIONS
Explicit
Implicit
tl + 1
yj + 1
yj t l + 1/2
yj 1
yj + 1 xi 1 xi xi + 1
FIGURE 30.10 yj tl
The two half-steps used in imple-
yj 1
menting the alternating-direction xi 1 xi xi + 1
implicit scheme for solving para-
bolic equations in two spatial (a) First half-step (b) Second half-step
dimensions.
2: Ilustracion de los dos pasos con la formulacion implcita alternando dimension para EDPs
increment
parabolicas en dos is executed
dimensiones in two steps
espaciales (Fig. 30.10).
(tomada For the
del libro S.first step, Eq.
Chapra and(30.18) is approxi-
R. Canale, Numerical
mated by
Methods for Engineers, 6th Ed. 2009)
l+1/2
! l l l l+1/2 l+1/2 l+1/2
"
Ti, j Ti,l j Ti+1, j 2Ti, j + Ti1, j Ti, j+1 2Ti, j + Ti, j1
=k + (30.19)
!t/2 (!x)2 (!y)2
la cual tiene error O(h2 + k 2 ).
Esta ecuacion es la suma de las siguientes dos ecuaciones:
Thus, the
(l+1/2) (l) approximation
" (l) of 2 T / x 2(l)is written
(l) explicitlythat
(l+1/2) is, at (l+1/2)
the base point t l where
(l+1/2) #
wof
wi,j values i,j temperature w
arei1,j 2w +
known. Consequently,
i,j w w
i+1,j only the 2w
three temperature
i,j1 i,j + w
termsi,j+1
in the ap-
= 2 +
proximation of 2 T / y 2 are unknown.
k/2 h2 For the case of a square grid (!y h2 = !x), this equa-
(l+1)
tion can be expressed" as(l+1)
(l+1/2) (l+1) (l+1) (l+1/2) (l+1/2) (l+1/2) #
wi,j wi,j l+1/2 2
w i1,j
l+1/2
2w i,j +
l+1/2
w i+1,j w i,j1 2w i,j + w i,j+1
l + l l
Ti, j1= + 2(1 + )Ti, j T = Ti1, j + 2(1 )Ti, j + T
k/2 h2 i, j+1 h2 i+1, j
(30.20)
Note que si estaswhich,
dos ecuaciones
when writtensefor
satisfacen,
the system,entonces
results in la ecuacion set
a tridiagonal anterior tambien equations.
of simultaneous se satisface y por
lo tanto el metodo obtenido con estas dos ecuaciones
l+1/2 l+1 tiene error local O(h2 + k 2 ). La ventaja de tener
For the second step from t to t , Eq. (30.18) is approximated by
dos pasos es que cada uno de estos resulta
! en sistemas tridiagonales: "
l+1/2 l+1/2 l+1/2 l+1/2
(l+1/2)
T l+1 T
i, j i, j
i, j (l+1/2) i+1, j (l+1/2) T l+1 2T l+1 + Ti1,
l+1
j(l) Ti, j+1 2Ti, j (l) + Ti, j1
(l)
wi,j1 + 2(1 + )wi,j = k wi,j+1 2 = wi1,j+ + 2(1 )wi,j + wi+1,j
!t/2 (!x) (!y)2
(l+1) (l+1) (l+1) (l+1/2) (l+1/2) (l+1/2)
wi1,j + 2(1 + )wi,j wi+1,j = wi,j1 + 2(1 )wi,j + w(30.21)
i,j+1
In contrast to Eq. (30.19), the approximation of 2 T / x 2 is now implicit. Thus, the bias
(l) (l) (l)
La figura ilustraintroduced by Eq. (30.19)
como se alternan will be partially
las variables x y y encorrected. For a Si
el metodo. square grid, Eq.
definimos w(30.21)
i, = [wcan wi,n1 ]T
i,1 be
(l) (l) written
(l) asT
y w,j = [w1,j wm1,j ] , con las consideraciones usuales en la frontera entonces podemos escribir esto
l+1 l+1 l+1 l+1/2 l+1/2 l+1/2
vectorialmente comoTi1, j + 2(1 + )Ti, j Ti+1, j = Ti, j1 + 2(1 )Ti, j + Ti, j+1
(l+1/2) (l) (l) (l) (30.22)
Fwi, = wi1, + 2(1 )wi, + wi+1,
Again, when
F0 wwritten for
(l+1)
= a two-dimensional
w,j1 + 2(1grid,
(l+1/2) the equation
)w
(l+1/2) results(l+1/2)
in a tridiagonal system
+ w,j+1
(Fig. 30.11). As,jin the following ,j
example, this leads to an efficient numerical solution.
para i = 1, 2, . . . , m 1 y j = 1, 2, . . . , n 1, donde F es la matriz tridiagonal (m 1) (m 1),
2(1 + )
2(1 + )
2(1 + )
F= .
. .
.
2(1 + )
2(1 + )
7
y F0 es similar pero (n 1) (n 1). El metodo ADI es incondicionalmente estable (no se justifica
aqu).
3 Estabilidad
En la mayor parte de los casos que consideramos se obtiene una ecuacion de avance de la forma
cuya solucion es
w(j) = Aj w0
Si se tiene un error e0 en la condicion inicial de tal manera que w(0) = w0 + e0 , entonces
w(j) = Aj (w0 + e0 ).
Para obtener estabilidad, es decir limitar el efecto del error, requerimos entonces que
kAk 1
Para el caso de A simetrica (lo que sucede en nuestros ejemplos), usando la norma vectorial euclideana,
la norma matricial natural correspondiente es
q
kAk2 = (AT A) = (A)
(A) 1.
Proposicion 1 Sea
d0 d1
d1 d0 d1
d1 d0 d1
A=
..
.
d1 d0 d1
d1 d0
una matriz m m tridiagonal donde d1 , d0 , d1 R, d1 , d1 6= 0. Entonces los valores propios de A
son,
p p
p (A) = d0 + 2d1 d1 /d1 cos para p = 1, 2, 3, . . . , m.
m+1
8
El vector propio vp (A) correspondiente a p tiene componentes
p j pj
vp,j (A) = d1 /d1 sen ,
m+1
para j = 1, 2, . . . , m. Si la matriz es simetrica, d1 = d1 , entonces los valores propios son
p
p (A) = d0 + 2d1 cos para p = 1, 2, 3, . . . , m.
m+1
Como caso particular, sea U la matriz
2 1
1 2 1
1 2 1
U=
..
.
1 2 1
1 2
De acuerdo con la proposicion, los valores propios de U son
2 p
p (U) = 2 2 cos(ph) = 4 sen ,
2(m + 1)
para p = 1, 2, . . . , m.
3.2 Ejemplos
Como aplicacion de lo anterior, analizamos la estabilidad de varios de los metodos para EDPs parabolicas
descritas. En cada caso podemos escribir las matrices correspondientes en terminos de la matriz U y
deducir sus valores propios basados en los valores propios de U.
Metodo con diferencias pogresivas: w(j+1) = Aw(j) con A = I U. Los valores propios de
A son entonces (note que la matriz aqu es (m 1) (m 1))
p
p (A) = 1 4sen 2
2m
2 p
donde p = 1, 2, . . . , m 1. Puesto que 0 < sen 2m < 1 pero tiende a 1 cuando m y p = m 1,
para obtener 1 p (A) 1 se require que 1/2 (condicionalmente estable).
Metodo con diferencias regresivas: Bw(j+1) = w(j) con B = I + U. Entonces los valores
propios de B son p
p (B) = 1 + 4sen 2 .
2m
con p = 1, 2, . . . , m 1. As que p (B) > 1 y por lo tanto 0 < p (B1 ) < 1. Conclumos que el metodo
con diferencias regresivas es siempre estable (incondicionalmente estable).
9
Referencias
- R. L. Burden y J. D. Faires, Analisis Numerico, 9a ed. Cengage, 2011.
- R. Leveque, Finite Diferences methods for Ordinary and Partial Differential Equations. SIAM,
2007.
10