Sei sulla pagina 1di 10

Solucion Numerica de

Ecuaciones Diferenciales Parciales Parabolicas

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.

1.1 Primera derivada


Dos puntos hacia adelante, O(h):
f (x + h) f (x)
f 0 (x) = + O(h)
h

Dos puntos hacia atras, O(h):


f (x) f (x h)
f 0 (x) = + O(h)
h

Tres puntos centrada (de punto medio), O(h2 ):


f (x + h) f (x h)
f 0 (x) = + O(h2 )
h

1.2 Segunda derivada


Tres puntos centrada (de punto medio), O(h2 ):
f (x + h) 2f (x) + f (x h)
f 00 (x) = + O(h2 )
h

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:

u(0, t) = T0 , u(`, t) = T1 para t > 0


u(x, 0) = f (x) para 0 < x < `

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.

2.1 Diferencias Progresivas


La derivada temporal usa la aproximacion de primer orden hacia adelante mientras que la
derivada espacial usa la aproximacion de segundo orden centrada:
u(xi , tj + h) u(xi , tj ) u(xi + h, tj ) 2u(xi , tj ) + u(xi h, tj )
+ O(k) = 2 + O(h2 ).
k h2
Usamos la variable wi,j para la aproximacion de u(xi , tj ). El metodo resulta de reemplazar las
variables wi,j correspondientes en la ecuacion e ignorar el error O(h2 + k). As se obtiene
wi,j+1 wi,j wi1,j 2wi,j + wi+1,j
= 2
k h2
para i = 1, 2, . . . , m 1 y j = 0, 1, 2, . . .. Reemplazando = 2 k/h2 y dejando la variable wi,j+1
sola en el lado izquierdo, obtenemos

wi,j+1 = wi,j + (wi1,j 2wi,j + wi+1,j )


= wi1,j + (1 2)wi,j + wi+1,j

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

w1,j+1 = (1 2)w1,j + w2,j


wm1,j+1 = wm2,j + (1 2)wm1,j

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

0.2 0.3 0.2 0.3


0.2 0.2
0.1 0.1
0.1 0.1
0 0 0 0

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.

2.2 Diferencias Regresivas


Usando para la derivada temporal la diferencia finita de dos puntos hacia atras, y reemplazando por las
variables wi,j , ignorando el error O(h2 + k) se obtienen las ecuaciones
wi,j wi,j1 wi1,j 2wi,j + wi+1,j
= 2
k h2

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

(1 + 2)w1,j w2,j = w1,j1


wm2,j + (1 + 2)wm1,j = wm1,j1

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)

para j = 1, 2, 3, . . ., donde A es la matriz tridiagonal (m 1) (m 1):



1 + 2
1 + 2

1 + 2
B=

..

.

1 + 2
1 + 2
y con condicion inicial w0 .
Este metodo es incondicionalmente estable (ver ultima seccion).

2.3 Diferencias Centradas (Metodo de Richardson)


Con el objetivo de obtener un metodo con error O(h2 + k 2 ) se usa para la derivada temporal la formula
de diferencias finitas de tres puntos centrada. Se obtiene la siguiente ecuacion ya reescrita en terminos
de las variables wi,j :
wi,j+1 wi,j1 wi1,j 2wi,j + wi+1,j
= 2
2k h2
y de aqu que
wi,j+1 = wi,j1 + 2(wi1,j 2wi,j + wi+1,j )
para i = 2, . . . , m 1 y j = 1, 1, 2, . . .. Note que es un metodo explcito, y de segundo orden en cuanto
wi,j+1 depende de las variables en tj y tj1 . Esto significa que ademas de los valores de wi,0 determinados
por la condicion inicial, el metodo necesita los valores de wi,1 para determinar sucesivamente los wi,2 ,
wi,3 , etc. As que se debe usar otro metodo para obtener los wi,1 . Se puede usar, por ejemplo, uno de
los metodos descritos, pero entonces se perjudica el error O(h2 + k 2 ). Vectorialmente estas relaciones
se pueden escribir como
w(j+1) = Cw(j) + w(j1)
donde
4 2
2 4 2

2 4 2
C= .

..

.

2 4 2
2 4
Este metodo resulta ser incondicionalmente inestable (esto no lo justificamos aqu).

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 temporal se usa:


 
u k u(xi , tj ; tl+1 ) u(xi , yj ; tl )
xi , yj ; tl + = + O(k 2 ),
t 2 k

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:

2u u(xi , yj1 ; tl+1/2 ) 2u(xi , yj ; tl+1/2 ) + u(xi , yj+1 ; tl+1/2 )


 
k
xi , yj ; tl + = + O(h2y )
y 2 2 h2y

(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

w(j) = Aw(j1) para j 1 y con condicion inicial w(0) = w0 ,

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 ).

As que el error en el paso j es Aj e0 , el cual se puede acotar de la siguiente manera,

kAj e0 k kAj k ke0 k kAkj ke0 k.

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)

donde () es el radio espectral. As que la condicion de estabilidad es entonces

(A) 1.

3.1 Valores propios de matrices tridiagonales


En nuestros casos de interes A es tridiagonal con un valor constante en cada una de las tres diagonales
principales. En este caso, los valores propios tienen expresiones cerradas sencillas dadas por la siguiente
proposicion (la verificacion es un ejercicio sencillo puesto que se dan los vectores propios tambien).

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).

Metodo de Crank-Nicolson: Dw(j+1) = Ew(j) con D = I + 2 U y E = I 2 U. Entonces


 p   p 
p (D) = 1 + 2sen 2 , p (E) = 1 2sen 2
2m 2m
con p = 1, 2, . . . , m 1. Puesto que estos tienen los mismos vectores propios, podemos concluir que
p 
1 1 2sen 2 2m
p (D E) = p 
1 + 2sen 2 2m
Pero entonces 1 < p (D1 E) < 1 y por lo tanto el metodo es incondicionamlemente estable.

9
Referencias
- R. L. Burden y J. D. Faires, Analisis Numerico, 9a ed. Cengage, 2011.

- S. Chapra y R. Canale. Numerical Methods for Engineers, 6 ed. Mcgraw-Hill, 2010.

- E. Isaacson y H. B. Keller, Analysis of Numerical Methods. Dover, 1994 (original de 1966).

- R. Leveque, Finite Diferences methods for Ordinary and Partial Differential Equations. SIAM,
2007.

10

Potrebbero piacerti anche