Sie sind auf Seite 1von 129

PPGMAP .

ETODOS NUM

ERICOS PARA EQUAC



OES DIFERENCIAIS
.
Dagoberto Adriano Rizzotto Justo
Tabela de Conte udo
1. Introducao
1.1. Objetivos
1.1.1. Sub-objetivos
1.2. Avaliacao
1.3. Bibliograa
2. Aritmetica no computador
2.1. Processo Iterativo
2.2. Representacao de numeros
2.3. Bits, bytes e palavras
2.4. Representacao de numeros inteiros
2.5. Representacao de numeros reais
2.5.1. Precisao (IEEE754)
2.6. Arredondamento
2.6.1. Erro absoluto e relativo
2.6.2. Arredondamento por corte
2.6.3. Arredondamento por proximidade
2.6.4. Caracterizacao de uma representacao
2.7. Operacoes em ponto utuante
2.7.1. Cancelamento catastroco
2.7.2. A comutatividade nao e valida
2.7.3. A distributividade nao e valida
3. Aproximacoes
3.1. Aproximacao de ordem p
3.2. Aproximacao em diferencas nitas
3.3. Integracao Numerica, quadratura
3.4. Quadratura Gaussiana
Tabela de Conte udo (cont.) 2
3.5. Ordem de aproximacao
3.5.1. Integracao
4. Equacoes Diferenciais Ordinarias
4.1. Teoria de equac oes diferenciais
4.1.1. Dependencia na condicao inicial
5. Metodo de Euler
5.1. Erro de truncamento
5.1.1. Erro de truncamento Local
5.1.2. Erro de truncamento Global
5.1.3. Convergencia
5.1.4. Paradoxo da ordem
5.2. A regra do trapezio
5.3. O metodo theta
5.4. O metodo de Taylor
6. Metodos de Passo Multiplo
6.1. O metodo de Adams-Bashforth
6.1.1. Codigo
6.2. Ordem e convergencia de metodos de passo multiplo
6.2.1. Convergencia de metodos de passo multiplo
6.2.2. Teorema de equivalencia de Dahlquist
6.2.3. A primeira barreira de Dahlquist
6.3. O metodo de Adams-Moulton
6.4. Metodo BDF
7. Metodos de Runge-Kutta
7.1. Metodo de Runge-Kutta Explcito
7.2. Metodo de RK = 2
7.3. Metodo de Runge-Kutta implcito (IRK)
7.4. Estimativa da ordem de convergencia
7.4.1. Metodo 1
7.4.2. Metodo 2
8. Domnio de Estabilidade
8.1. Equacoes Sti
8.2. Domnio de Estabilidade Linear
8.3. Estabilidade dos metodos de Taylor
8.4. Estabilidade dos metodos de Runge-Kutta
8.5. Estabilidade dos metodos de passo multiplo
9. Equacoes Diferenciais Parciais hiperbolicas
9.1. Equacao da onda unidirecional
9.2. Sistemas de EDPs hiperbolicas
Tabela de Conte udo (cont.) 3
9.3. Condicoes de contorno
Problemas periodicos
9.4. Diferencas nitas
9.4.1. Codigos
9.5. Convergencia e consistencia
9.6. Estabilidade
9.7. Teorema de equivalencia de Lax-Richtmyer
9.8. Condicao CFL
10. Analise de esquemas de diferencas nitas
10.1. Analise de Fourier
10.1.1. Analisando EDPs
10.1.2. Em mais que uma dimensao
10.2. Analise de Von Neumann
10.2.1. A condicao de estabilidade
10.3. Comentarios sobre instabilidade e estabilidade
10.3.1. Condicoes de estabilidade para coecientes variaveis
10.3.2. Estabilidade numerica e estabilidade dinamica
11. Ordem de Precisao
11.1. Esquema Lax-Wendro
11.2. Esquema Cranck-Nicolson
11.3. O smbolo de um esquema de DF
11.4. Ordem de precisao da solucao
11.5. Estabilidade LW e CN
11.6. Condicoes de contorno
11.7. Sistemas Tridiagonais
12. Estabilidade para esquemas de passo multiplo
12.1. Estabilidade do esquema leapfrog
12.1.1. Inicializando o esquema leapfrog
12.1.2. Notacao de Diferencas
12.2. Estabilidade para esquemas de passo multiplo
13. Equacoes Diferenciais Parciais Parabolicas
13.1. Equacao do calor
13.2. Sistemas parabolicos
13.3. Diferencas nitas
13.3.1. Mais alguns esquemas
13.4. Dissipacao e suavidade
13.5. Condicao de contorno
Tabela de Conte udo (cont.) 4
13.6. Equacao de conveccao-difusao
13.6.1. Esquema FTCS
13.6.2. Esquema upwind
14. Sistemas Bidimensionais e Tridimensionais
14.1. Estabilidade para sistemas de EDPs
14.2. Esquemas de passo multiplo
14.3. Duas e tres dimensoes
14.3.1. Introducao
14.3.2. Analise
14.4. Time-Split
15. Esquema ADI
15.1. Algoritmo de Peaceman-Rachford
15.2. Condicao de contorno
15.2.1. Estabilidade
15.3. Implementacao
16. Equacoes de segunda ordem
16.1. Equacao da Onda
16.2. Diferencas nitas
16.2.1. O primeiro passo
16.3. Condicoes de contorno
16.4. Equacao de segunda ordem em 2 e 3 dimensoes
17. Equacoes Diferenciais Parciais Elpticas
17.1. Equacao de Poisson
17.1.1. Princpio do Maximo
17.2. Esquemas de Diferencas Finitas
17.3. Sistema Unidimensional
17.4. Sistema Bidimensional
17.4.1. Metodo de Jacobi
17.4.2. Metodo de Gauss-Seidel
17.4.3. Metodo SOR
1
Aula 1 .
Introdu cao
.
.
Captulo 1:
Introducao
1.1. Objetivos
resolver numericamente equa coes diferenciais
explorar diferentes metodos numericos
entender quando metodos numericos funcionam
1.1.1. Sub-objetivos
experimento - hipoteses - teoria
literatura ingles
latex (WinEdt)
Matlab (ou Scilab
1
) ou Fortran ou C
pesquisa bibliograca (biblioteca e internet)
1.2. Avalia cao
Temas de casa e trabalhos parciais. IMPORTANTE: respeitar datas de entrega.
Digitados em latex.
Possibilidade de apresenta cao de trabalhos.
Participa cao.
Trabalho Final.
1.3. Bibliograa
Parte I:
Iserles, A., A First Course in the Numerical Analysis of Dierential Equations,
Cambridge University Press, 1996.
Butcher, J.C. The Numerical Analysis of Ordinary Dierential Equations: Runge-
Kutta and General Linear Methods. John Wiley & Sons, 1987.
Parte II:
1
www.scilab.org
Se c ao 1.3: Bibliograa 2
Strikwerda, J.C. Finite Dierence Schemes and Partial Dierential Equations,
Chapman & Hall, 1989
Complementares:
Anderson, D.A., Tannehill, J.C., Pletcher, R.H.. Computational Fluid Mechanics
and Heat Transfer. McGraw-Hill, 1984.
Belytschko, T., Hughes, T.J.R. Computational Methods for Transient Analysis.
North-Holland, 1986.
Burden, R.L., Faires, J.D. Numerical Analysis, PWS Publishing, 1993.
Cook, R.D. Concepts and Applications of Finite Element Analysis. John Wiley &
Sons, 1981.
Hairer, E., Norsett, S.P., Warner, G. Solving Ordinary Dierential Equations I,
Springer, New York, 1987.
Huebner, K.H. The Finite Element Method for Engineers. John Wiley & Sons,
New York, 1975.
Ortega, J.M., Poole Jr., W.G. Numerical Methods for Dierential Equations.
Pitman Publishing Inc. Massachusetts, 1981.
Sod, G.A. Numerical Methods in Fluid Dynamics. Cambridge University Press,
Cambridge, 1985.
Livros em calculo numerico:
Cunha, Cardoso, Bortoli, Facchin. Introdu cao ao Calculo Numerico
2
.
2
link: www.mat.ufrgs.br/dago
3
Captulo 2:
Aritmetica no computador
2.1. Processo Iterativo
Veja [9]. Considere uma transforma cao
T :

V V
x T(x) = y
. (2.1.1)
Aplique a transforma cao sucessivamente, partindo de x
0
:
x
1
= T(x
0
)
x
2
= T(x
1
)
x
3
= T(x
2
)
.
.
.
x
k+1
= T(x
k
)
Um ponto x
p
tal que T(x
p
) = x
p
e chamado de ponto xo, caso ele exista.
Este procedimento pode ou nao convergir. Quando converge temos
lim
k
x
k
= x
p
A convergencia pode depender do ponto inicial x
0
.
Exerccio 2.1. Considere T(x) = x(3 x
2
)/2. Efetue o processo iterativo partindo
de diferentes valores iniciais.
Verique a convergencia para os pontos xos x = 1, x = 1 (estes sao estaveis)e
x = 0 (este e instavel).
Fa ca um esbo co do eixo real marcando os pontos xos e as bacias de atra cao.
%------------------------------
function [x]=iteracao(x0)
x(1)=x0;
for k=1:100
x(k+1)=x(k)*(3-x(k)^2)/2;
end
plot(x,*-)
%------------------------------
Exerccio 2.2. O conjunto de Mandelbrot. Considere a equa cao para z (C),
z
0
= 0; (2.1.2)
z
k+1
= z
2
k
+ c (2.1.3)
O conjunto de Maldelbrot e o conjunto de todos c C, tais que a itera cao acima tenha
sempre |z
k
| < 2. Considere a fun cao
%------------------------------
function [c]=mandelbrot(Total)
c =(rand-0.5+i*(rand-0.5))*3;
Se c ao 2.2: Representa c ao de n umeros 4
z(1)=0;
k =1;
while(k<Total)&&(abs(z(k)<2))
z(k+1)=z(k)^2+c;
k =k+1;
end
if(abs(z(k))<2)
plot(c,.r);hold on
end
%------------------------------
Cada vez que o programa e rodado, um c aleatorio e escolhido, e sera plotado caso
perten ca ao conjunto de Mandelbrot. Rode o programa com a linha
for k=1:1000; mandelbrot(100); end;
Qual a inuencia da variavel Total?
2.2. Representa cao de n umeros
Veja [2, 3].
Representa cao de numeros, por exemplo, representa cao decimal:
(123.456)
10
= 110
2
+ 210
1
+ 310
0
+ 410
1
+ 510
2
+ 610
3
(2.2.1)
onde a base e = 10 e os dgitos possveis sao {0, 1, . . . , 8, 9}.
Representa cao binaria:
(1001.101)
2
= 12
3
+ 02
2
+ 02
1
+ 12
0
+ 12
1
+ 02
2
+ 12
3
(2.2.2)
= 2
3
+ 2
0
+ 2
1
+ 2
3
(2.2.3)
= 8 + 1 + 0.5 + 0.125 (2.2.4)
= (9.625)
10
(2.2.5)
onde a base e = 2 e os dgitos possveis sao {0, 1}.
2.3. Bits, bytes e palavras
Um bit e a menor unidade de informa cao, podendo representar 0 ou 1.
Um byte e um conjunto de 8 bits, por exemplo, 00101101.
Um computador e normalmente estruturado de tal forma a ler/escrever uma
palavra por endere co de memoria. Tipicamente uma palavra e um conjunto de 32 bits.
Na realidade o padrao atual (com o Windows Vista) e 64 bits.
2.4. Representa cao de n umeros inteiros
Usando 32 bits, reservando um bit para o sinal, podemos representar somente 2
32
numeros, metade deles positivos e metade negativos.
Se c ao 2.5: Representa c ao de n umeros reais 5
2.5. Representa cao de n umeros reais
Algumas possibilidades sao representa cao fracionaria, representa cao em ponto-xo e
representa cao em ponto utuante. Utilizando ponto utuante, cada numero x e repre-
sentado como
x = M2
E
,
1
2
M < 1 (2.5.1)
onde a mantissa e da forma
M = (0.b
0
b
1
b
2
b
3
. . .)
2
, b
0
= 1 (2.5.2)
Como b
0
= 1, o zero deve ser representado por conven cao, de forma diferente - por
exemplo utilizar o menor numero representavel como sendo o zero.
Exemplo 1.
O numero (11.75)
10
= (0.101111)
2
2
(+100)2
.
2.5.1. Precisao (IEEE754)
Em simples precisao (32 bits) temos F(2, 23, 8) onde a base e = 2, M = 23 bits sao
usados na mantissa (mais um para o sinal) e E = 8 bits para o expoente.
Figura 2.1: Simples Precisao
Em dupla precisao (64 bits) temos F(2, 52, 11) onde a base e = 2, M = 52
bits sao usados na mantissa (mais um para o sinal) e E = 11 bits para o expoente.
Figura 2.2: Dupla Precisao
Em quadrupla precisao (128 bits) temos F(2, 112, 15) onde a base e = 2,
M = 112 e e E = 15.
2.6. Arredondamento
Como um computador possui precisao nita, ao representar x = 2/3 = (0.66666)
10
(que em binario e x = (0.10101010 . . .)
2
) no computador precisamos arredondar o
numero. Porem, x = (0.10101010 . . .)
2
esta entre dois numeros representaveis:
Se c ao 2.6: Arredondamento 6
(0.1010 . . . 1010)
2
(0.1010 . . . 1011)
2
2.6.1. Erro absoluto e relativo
Sendo x um numero real e x a representa cao desse numero, o erro absoluto e denido
como
E
abs
= |x x| (2.6.1)
e o erro relativo e denido como
E
rel
=
|x x|
|x|
. (2.6.2)
2.6.2. Arredondamento por corte
Supondo p = 24, podemos ignorar os bits b
24
b
25
. . . em diante obtendo
x x = (0.1010 . . . 1010)
2
. (2.6.3)
O erro maximo no arredondamento por corte sera a distancia entre dois numeros repre-
sentaveis,

corte
=
p+1
= 2
23
= 0.11920910
6
. (2.6.4)
2.6.3. Arredondamento por proximidade
Vericando o bit b
24
podemos arredondar para cima se b
24
= 1 e para baixo se b
24
= 0.
(Na verdade, adiciona-se 1 ao bit b
24
e arredonda-se por corte 0.b
0
. . . b
23
).
O erro maximo no arredondamento por proximidade sera a metade do arredon-
damento por corte,

prox
=
corte
/2 = 2
23
/2 = 0.59604610
7
. (2.6.5)
fornecendo aproximadamente 7 dgitos de precisao decimal.
Exerccio 2.3. Quantos dgitos de precisao decimal temos aproximadamente em dupla
precisao?
2.6.4. Caracteriza cao de uma representa cao
p: a precisao e a quantidade de bits disponvel para representar o numero;
MINR: o menor numero representavel em modulo;
MAXR: o maior numero representavel em modulo;
: o epsilon de maquina e o menor numero representavel tal que 1 + = 1; (ou
ainda,
p+1
)
Exemplo 2.
Utilizando simples precisao temos uma precisao de p = 23 +1 = 24 bits (mais um pois
b
0
= 1 sempre).
Se c ao 2.7: Opera c oes em ponto utuante 7
MINR = (0.1000 . . . 0000)
2
2
(1111111)2
(2.6.6)
= 2
1
2
127
(2.6.7)
(2.93873510
39
)
10
(2.6.8)
MAXR = (0.1111 . . . 1111)
2
2
(+1111111)2
(2.6.9)
= (2
1
+ . . . 2
24
)2
+127
(2.6.10)
(1.7014110
38
)
10
(2.6.11)
= 2
p
= 2
24
(2.6.12)
(0.59604610
7
)
10
(2.6.13)
utilizando arredondamento por proximidade.
2.7. Opera coes em ponto utuante
Dizemos que cada opera cao em ponto utuante ( = +, , , ) apresenta um erro
da ordem do epsilon de maquina,
fl(x y) = x y(1 + ), || (2.7.1)
A seguir temos exemplo de adi cao e subtra cao em ponto utuante. Multiplica cao e
divisao sao feitas de modo semelhante.
Exemplo 3.
Seja x = 123456.7 e y = 101.7654 e uma precisao de 7 dgitos.
x = 1.23456710
5
(2.7.2)
+y = 1.01765410
2
(2.7.3)
x = 1.23456710
5
(2.7.4)
+y = 0.00101765410
5
(2.7.5)
(2.7.6)
z = 1.23558465410
5
(2.7.7)
que e o valor exato. Arredondando e normalizando
z = 1.23558510
5
(2.7.8)
Erro relativo:
E
rel
=
|z z|
|z|
(2.7.9)
=
|1.23558465410
5
1.23558510
5
|
|1.23558465410
5
|
(2.7.10)
5.2930408110
7
< 10
6
=
corte
(2.7.11)
Se c ao 2.7: Opera c oes em ponto utuante 8
Exemplo 4.
Seja x = 123456.7 e y = 0.009876543 e uma precisao de 7 dgitos.
x = 1.23456710
5
(2.7.12)
+y = 9.87654310
3
(2.7.13)
x = 1.234567 10
5
(2.7.14)
+y = 0.0000000987654310
5
(2.7.15)
(2.7.16)
z = 1.2345670987654310
5
(2.7.17)
z = 1.23456710
5
(2.7.18)
A adi cao nao fez nenhum efeito.
2.7.1. Cancelamento catastroco
Quando dois numeros sao muito proximos e uma subtra cao e realizada, pode acontecer
um cancelamento catastroco.
Exemplo 5.
Considere p = 7 e os numeros x = 123457.1467 e y = 123456.659 com representa c oes
x = 123457.1 e y = 123456.7. Calculando z = x y temos:
x = 1.23457110
5
(2.7.19)
y = 1.23456710
5
(2.7.20)
(2.7.21)
z = 0.00000410
5
(2.7.22)
z = 4.00000010
1
(2.7.23)
O resultado verdadeiro e z = 4.87710
1
, portanto um erro relativo de
E
rel
=
|4.87710
1
410
1
|
|4.87710
1
|
0.1798 . . . (2.7.24)
o que fornece uma diferen ca relativa de 17.98%.
2.7.2. A comutatividade nao e valida
Opera coes em ponto utuante nao sao comutativas:
(x + y) + z = (1234.567 + 45.67844) + 0.0004 (2.7.25)
= (1280.245) + 0.0004 (2.7.26)
= 1280.245 (2.7.27)
mas
x + (y + z) = 1234.567 + (45.67844 + 0.0004) (2.7.28)
= 1234.567 + (45.67884) (2.7.29)
= 1280.246 (2.7.30)
Se c ao 2.7: Opera c oes em ponto utuante 9
2.7.3. A distributividade nao e valida
Opera coes em ponto utuante nao sao distributivas:
(x z) + (y z) = (1234.5673.333333) + (1.2345673.333333) (2.7.31)
= (4115.223) + (4.115223) (2.7.32)
= 4119.338 (2.7.33)
mas
(x + y) z = (1234.567 + 1.234567)3.333333 (2.7.34)
= 1235.8023.333333 (2.7.35)
= 4119.340 (2.7.36)
Exerccio 2.4. Calculos podem ser rearranjados de tal forma a reduzir alguns tipos
de erros. Archimedes aproximou calculando o permetro de polgonos inscritos e
circunscritos em um crculo, iniciando com hexagonos e dobrando o numero de lados.
A formula de recorrencia e
t
0
=
1

3
(2.7.37)
t
i+1
=

t
2
i
+ 1 1
t
i
(2.7.38)
62
i
t
i
, (2.7.39)
Calcule a sequencia que aproxima imprimindo as aproxima coes e o erro relativo a cada
itera cao. Essa forma apresenta um cancelamento catastr oco. Reescreva a formula de
itera cao e recalcule a sequencia.
Exerccio 2.5. Escreva um algoritmo (em Matlab, Fortran ou C) que calcule o valor
do epsilon de maquina. Rode o programa e imprima os resultados.
Exerccio 2.6. Escreva um algoritmo que calcule MINR, o menor numero repre-
sentavel. Rode o programa e imprima os resultados.
Exerccio 2.7. Sabemos do calculo que
lim
n
(1 +
1
n
)
n
= e (2.7.40)
Aproxime o valor de e usando Matlab. Qual o limite da maquina? Explique.
Exerccio 2.8. A constante de Euler dada por
= .57721566490153286 . . . (2.7.41)
e denida como o limite
= lim
n

n
, (2.7.42)

n
= 1 +
1
2
+
1
3
+ . . . +
1
n
ln n. (2.7.43)
Assumindo que
n
cn
d
, n , para alguma constante c, d > 0, tente
determinar c e d experimentalmente usando um computador.
10
Aula 2 e 3 .
Aproxima coes
.
Cunha, Bortoli et al
Captulo 3:
Aproximacoes
3.1. Aproxima cao de ordem p
Objetivo:
Aproximar a fun cao f(t) C(R) por um polinomio q(t)
de ordem p.
O polinomio pode ser expresso como a combina cao linear de p polinomios
k
(t)
que formam uma base para o espa co polinomial, de tal forma que q(t) = c
0

0
(t) +
c
1

1
(t) + . . . + c
p

p
(t).
Um possvel maneira de obter tal polinomio e impor p + 1 condi coes de compa-
tibilidade, como por exemplo, podemos exigir que
f(t
0
) = q(t
0
), . . . , f(t
p
) = q(t
p
). (3.1.1)
Fixe a base
k
(t) = t
k
, k = 0, . . . , p. Note que o polinomio q(t) que satisfaz
3.1.1 e unico e nao depende da escolha da base.
O problema entao torna-se encontrar q(t) = c
0
+c
1
t +. . . +c
p
t
p
f(t) tal que
3.1.1 seja satisfeito. Assim obtemos o sistema
f(t
0
) = c
0
+ c
1
t
0
+ c
2
t
2
0
+ . . . + c
p
t
p
0
(3.1.2)
f(t
1
) = c
0
+ c
1
t
1
+ c
2
t
2
1
+ . . . + c
p
t
p
1
(3.1.3)
.
.
. =
.
.
. (3.1.4)
f(t
p
) = c
0
+ c
1
t
p
+ c
2
t
2
p
+ . . . + c
p
t
p
p
(3.1.5)
que pode ser escrito na forma matricial

1 t
0
. . . t
p
0
1 t
1
. . . t
p
1
.
.
.
.
.
.
.
.
.
1 t
p
. . . t
p
p

c
0
c
1
.
.
.
c
p

f(t
0
)
f(t
1
)
.
.
.
f(t
p
)

(3.1.6)
onde a matriz apresentada e a matriz de Vandermonde. Resolvendo o sistema obtemos
os coecientes c
k
para a interpola cao polinomial.
Exerccio 3.1. Fixe t
k
= k e monte matrizes de Vandermonde de tamanho n =
1, 2, . . . , 30 plotando um graco do numero de condicionamento da matriz de Vander-
monde com respeito a n (utilize a fun cao cond do Matlab).
Se c ao 3.2: Aproxima c ao em diferen cas nitas 11
3.2. Aproxima cao em diferen cas nitas
Objetivo:
Obter uma discretiza cao para a fun cao f

(t) em t = t

de ordem p.
Dados p + 1 pontos [t
0
, t
1
, . . . , t
p
], queremos obter uma aproxima cao para a
derivada de f(t) calculada em t

do tipo
f

(t

) c
0
f(t
0
) + c
1
f(t
1
) + . . . + c
p
f(t
p
) (3.2.1)
que seja exata para polinomios ate ordem p.
Por exemplo, podemos aproximar a derivada de f(t) como
f

(t
0
) =
f(t
0
+ h) f(t
0
)
h
(3.2.2)
=
1
h
f(t
1
)
1
h
f(t
0
) (3.2.3)
Seja q(t) = c
0

0
(t)+c
1

1
(t)+. . .+c
p

p
(t) o polinomio de ordem p que aproxima
f(t). Fixe a base
k
(t) = t
k
. Como a regra (3.2.1) deve ser exata para qualquer q(t)
ate ordem p, entao tambem deve ser exata para qualquer fun cao da base. Substituindo
f(t) por
0
(t) = 1 em (3.2.1) obtemos

0
(t)|
t
= (1)

|
t
= c
0

0
(t
0
) + c
1

0
(t
1
) + . . . + c
p

0
(t
p
) (3.2.4)
0 = c
0
+ c
1
+ . . . + c
p
(3.2.5)
Da mesma forma para k = 1, . . . , p, obtemos
(t)

t
= 1 = c
0
t
0
+ c
1
t
1
+ . . . + c
p
t
p
(3.2.6)
(t
2
)

t
= 2t

= c
0
t
2
0
+ c
1
t
2
1
+ . . . + c
p
t
2
p
(3.2.7)
(t
3
)

t
= 3(t

)
2
= c
0
t
3
0
+ c
1
t
3
1
+ . . . + c
p
t
3
p
(3.2.8)
.
.
. =
.
.
. (3.2.9)
(t
p
)

t
= p(t

)
p1
= c
0
t
p
0
+ c
1
t
p
1
+ . . . + c
p
t
p
p
(3.2.10)
que pode ser escrito na forma matricial

1 1 . . . 1
t
0
t
1
. . . t
p
t
2
0
t
2
1
. . . t
2
p
.
.
.
.
.
.
.
.
.
t
p
0
t
p
1
. . . t
p
p

c
0
c
1
c
2
.
.
.
c
p

0
1
2t

.
.
.
p(t

)
p1

(3.2.11)
Resolvendo o sistema obtemos os coecientes c
k
para a regra de diferencia cao.
Exemplo 6.
Seja p = 2, [t
0
, t
1
, t
2
] = [h, 0, h] e t

= t
1
= 0, obtenha uma regra de diferencia cao
para aproximar f

(t

).
Se c ao 3.3: Integra c ao Numerica, quadratura 12
Solu cao: A regra tera a forma
f

(t

) c
0
f(t
0
) + c
1
f(t
1
) + c
2
f(t
2
) (3.2.12)
c
0
f
0
+ c
1
f
1
+ c
2
f
2
(3.2.13)
Considere a base polinomial [
0
(t),
1
(t),
2
(t)] = [1, t, t
2
] e substitua f(t) por
k
(t)
obtendo
(1)

t=0
= 0 = c
0
(1) + c
1
(1) + c
2
(1) (3.2.14)
(t)

t=0
= 1 = c
0
(h) + c
1
(0) + c
2
(h) (3.2.15)
(t
2
)

t=0
= 0 = c
0
(h)
2
+ c
1
(0)
2
+ c
2
(h)
2
(3.2.16)
que pode ser escrito na forma matricial

1 1 1
h 0 h
h
2
0 h
2

c
0
c
1
c
2

0
1
0

(3.2.17)
Resolvendo o sistema obtemos [c
0
, c
1
, c
2
] = [
1
2h
, 0,
1
2h
] fornecendo a regra
f

|
t=t1

1
2h
f
0
+
1
2h
f
2
(3.2.18)
=
f
2
f
0
2h
(3.2.19)

Exerccio 3.2. Seja [t


0
, t
1
, t
2
] = [0, h, 2h] e t

= t
0
= 0, obtenha uma regra unilateral
de diferencia cao para aproximar f

(t
0
).
Exerccio 3.3. Seja [t
0
, t
1
, t
2
] = [h, 0, h] e t

= t
1
= 0, obtenha uma regra de
diferencia cao para aproximar f

(t

).
Exerccio 3.4. Seja [t
0
, t
1
, . . . , t
4
] = [2h, h, 0, h, 2h] e t

= 0, obtenha uma regra


de diferencia cao para aproximar f

(t

).
Exerccio 3.5. Seja [t
0
, t
1
, . . . , t
4
] = [2h, h, 0, h, 2h] e t

= 0, obtenha uma regra


de diferencia cao para aproximar f

(t

).
Exerccio 3.6. Seja [t
0
, t
1
, . . . , t
4
] = [0, h, 3h, 6h, 10h] e t

= 0, obtenha uma regra


de diferencia cao para aproximar f

(t

).
3.3. Integra cao Numerica, quadratura
Objetivo:
Obter uma regra para integra cao para a fun cao f(t) em
[a, b] de ordem p .
Se c ao 3.3: Integra c ao Numerica, quadratura 13
Dados p + 1 pontos [t
0
, t
1
, . . . , t
p
], queremos obter uma aproxima cao para

b
a
f(t) dt c
0
f(t
0
) + c
1
f(t
1
) + . . . + c
p
f(t
p
) (3.3.1)
que seja exata para polinomios ate ordem p.
Aproxime f(t) pelo polinomio q(t) = c
0

0
(t) +c
1

1
(t) +. . . +c
p

p
(t) de ordem
p. Escolha uma base, por exemplo,
k
(t) = t
k
. Como a regra (3.3.1) deve ser exata
para qualquer q(t) ate ordem p, entao tambem deve ser exata para qualquer fun cao da
base. Substituindo f(t) por
0
(t) = 1 em (3.3.1) obtemos a identidade

b
a

0
(t) dt = t|
b
a
= c
0

0
(t
0
) + c
1

0
(t
1
) + . . . + c
p

0
(t
p
) (3.3.2)
b a = c
0
+ c
1
+ . . . + c
p
(3.3.3)
Da mesma forma para
k
(t), k = 1, . . . , p, obtemos
(t
2
/2)|
b
a
=
b
2
a
2
2
= c
0
t
0
+ c
1
t
1
+ . . . + c
p
t
p
(3.3.4)
(t
3
/3)|
b
a
=
b
3
a
3
3
= c
0
t
2
0
+ c
1
t
2
1
+ . . . + c
p
t
2
p
(3.3.5)
.
.
. =
.
.
. (3.3.6)
b
p+1
a
p+1
p + 1
= c
0
t
p
0
+ c
1
t
p
1
+ . . . + c
p
t
p
p
(3.3.7)
que pode ser escrito na forma matricial

1 1 . . . 1
t
0
t
1
. . . t
p
t
2
0
t
2
1
. . . t
2
p
.
.
.
.
.
.
.
.
.
t
p
0
t
p
1
. . . t
p
p

c
0
c
1
c
2
.
.
.
c
p

b a
b
2
a
2
2
b
3
a
3
3
.
.
.
b
p+1
a
p+1
p+1

(3.3.8)
Resolvendo o sistema obtemos os coecientes c
k
para a regra de integra cao.
Exemplo 7.
Seja p = 2, [t
0
, t
1
, t
2
] = [0, h/2, h] e [a, b] = [t
0
, t
2
], obtenha uma regra de integra cao
para aproximar

b
a
f(t) dt.
Solu cao: A regra tera a forma

b
a
f(t) dt c
0
f(t
0
) + c
1
f(t
1
) + c
2
f(t
2
) (3.3.9)
c
0
f
0
+ c
1
f
1
+ c
2
f
2
(3.3.10)
Considere a base polinomial [
0
(t),
1
(t),
2
(t)] = [1, t, t
2
] e substitua f(t) por
k
(t)
Se c ao 3.4: Quadratura Gaussiana 14
obtendo

h
0
1 dt = h = c
0
(1) + c
1
(1) + c
2
(1) (3.3.11)

h
0
t dt = h
2
/2 = c
0
(0) + c
1
(h/2) + c
2
(h) (3.3.12)

h
0
t
2
dt = h
3
/3 = c
0
(0)
2
+ c
1
(h/2)
2
+ c
2
(h)
2
(3.3.13)
que pode ser escrito na forma matricial

1 1 1
0 h/2 h
0 h
2
/4 h
2

c
0
c
1
c
2

h
h
2
/2
h
3
/3

(3.3.14)
Resolvendo o sistema obtemos [c
0
, c
1
, c
2
] = [
h
6
,
4h
6
,
h
6
] fornecendo a regra

h
0
f(t) dt
h
6
f
0
+
4h
6
f
1
+
h
6
f
2
(3.3.15)
=
f
0
+ 4f
1
+ f
2
6
h (3.3.16)

Exerccio 3.7. Seja [t


0
, t
1
, t
2
, t
3
] = [0, h/3, 2h/3, h] e [a, b] = [0, h], obtenha uma
regra de integra cao para aproximar

h
0
f(t) dt.
Exerccio 3.8. Uma regra que nao utiliza os extremos. Seja [t
1
, t
2
, t
3
] = [h/4, h/2, 3h/4]
e [a, b] = [0, h], obtenha uma regra de integra cao para aproximar

h
0
f(t) dt.
Exerccio 3.9. Seja [t
0
, t
1
, . . . , t
4
] = [0, h/4, h/2, 3h/4, h] e [a, b] = [0, h], obtenha
uma regra de integra cao para aproximar

h
0
f(t) dt.
3.4. Quadratura Gaussiana
Objetivo:
Obter uma regra para integra cao para a fun cao f(t) em
[a, b] podendo variar a posi cao dos nos.
Queremos encontrar a melhor posi cao de p pontos [t
1
, . . . , t
p
] e os melhores pesos
w
k
tal que a aproxima cao

b
a
f(t) dt w
1
f(t
1
) + . . . + w
p
f(t
p
) (3.4.1)
possua ordem maxima de aproxima cao.
Para obter os coecientes classicos, tome [a, b] = [1, 1]. (Para outros intervalos,
basta fazer uma mudan ca de intervalo na integral.)
Se c ao 3.5: Ordem de aproxima c ao 15
Note que temos p nos e p pesos para determinar. Portanto podemos aproximar
f(t) pelo polinomio q(t) = c
0
+ c
1
t + . . . + c
m
t
m
onde m = 2p 1. A regra (3.4.1)
deve ser exata para qualquer
k
(t) polinomio da base. Substituindo f(t) por
0
(t) = 1
em (3.3.1) obtemos a identidade

1
1

0
(t) dt = t|
1
1
= w
1

0
(t
1
) + . . . + w
p

0
(t
p
) (3.4.2)
2 = w
1
+ . . . + w
p
(3.4.3)
Da mesma forma para
k
(t), k = 1, . . . , m, obtemos
(t
2
/2)|
1
1
= 0 = w
1
t
1
+ . . . + w
p
t
p
(3.4.4)
(t
3
/3)|
1
1
= 2/3 = w
1
t
2
1
+ . . . + w
p
t
2
p
(3.4.5)
(t
4
/4)|
1
1
= 0 = w
1
t
3
1
+ . . . + w
p
t
3
p
(3.4.6)
.
.
. =
.
.
. (3.4.7)
(1)
m+1
(1)
m+1
p + 1
= w
1
t
m
1
+ . . . + w
p
t
m
p
(3.4.8)
que e um sistema nao linear com 2p equa coes e incognitas w
k
, t
k
, k = 1, . . . , p.
Exerccio 3.10. Calcule os nos e pesos para a quadratura de Gauss utilizando 2 nos
no intervalo [1, 1].
Exerccio 3.11. Calcule os nos e pesos para a quadratura de Gauss utilizando 3 nos
no intervalo [1, 1].
3.5. Ordem de aproxima cao
Considere a deni cao da derivada de f(x) como
f

(x)
f(x + h) f(x)
h
(3.5.1)
Se f e linear (f(x) = ax + b), entao a equa cao acima e exata. Caso contrario a
aproxima cao possui um erro.
Expandindo em serie de Taylor temos,
f(x + h) = f(x) + hf
x
(x) +
h
2
2
f
xx
(x) +O(h
3
) (3.5.2)
A nota cao f(x) = O(g(x)) quando x a signica que
|f(x)| C|g(x)| (3.5.3)
para uma constante C (normalmente consideramos x 0 ou x ).
Isolando f
x
(x) na serie de Taylor obtemos
f

(x) =
f(x + h) f(x)
h

h
2
f
xx
(x) +O(h
2
) (3.5.4)
=
f(x + h) f(x)
h
+O(h) (3.5.5)
Quando h 0, o erro na aproxima cao e da ordem h.
Se c ao 3.5: Ordem de aproxima c ao 16
Exerccio 3.12. Para a fun cao f(x) = sin(x), aproxime f

(1) utilizando a derivada


pra frente para valores h = 10
1
, 10
2
, 10
3
, . . .. Plote o erro relativo na aproxima cao
na escala logartmica, utilizando o comando loglog. Use h no eixo x e o erro relativo
Er(h) no eixo y. Identique a ordem 1 do metodo na curva plotada e explique o que
acontece no graco.
Exerccio 3.13. Obtenha a expressao para o erro da derivada central f

(x)
f(x+h)f(xh)
2h
,
utilizando a serie de Taylor. Repita o exerccio anterior utilizando derivada central. Iden-
tique a ordem do metodo no graco.
3.5.1. Integra cao
Exemplo 8.
Aproxime

0
sin(x)dx utilizando 10 subintervalos iguais e a regra trapezoidal

xi+1
xi
f(t) dt
f
i
+ f
i+1
2
h (3.5.6)
. Aproxime tambem para 10
2
, 10
3
, 10
4
intervalos.
Solu cao: Note que h =
0
10
=

10
.
%------------------------
function [S]=trapezio(N)
h = (pi-0)/N % subintervalos
x = 0:h:pi; % dominio
f = sin(x);
S = 0; % Inicia com 0
for i=1:N-1
ds = h*(f(i)+f(i+1))/2; % subarea
S = S + ds; % acumula
end
end
%------------------------
Rode
T(1)=trapezio(10)
T(2)=trapezio(100)
T(3)=trapezio(1000)
T(4)=trapezio(10000)
semilogy(T)

Exerccio 3.14. Aproxime

0
sin(x)dx utilizando N subintervalos iguais e a regra de
Simpson

xi+2
xi
f(t) dt
f
i
+ 4f
i+1
+ f
i+2
6
h (3.5.7)
17
. Aproxime tambem para N = 10
2
, 10
3
, 10
4
intervalos. (Note que em cada subintervalo
existem 3 nos consecutivos, fazendo com que o for pule de 2 em 2 nos. Por que?)
Plote o erro na escala logartmica em y.
Exerccio 3.15. Aproxime

0
sin(x)dx utilizando N subintervalos iguais e a uma
quadratura de Gauss com 2 nos em cada subintervalo (veja como obter os nos na se cao
anterior ou na literatura). Note que os nos devem ser transladados para o subintervalo ja
que eles sao fornecidos no intervalo (1, 1). Aproxime tambem para N = 10
2
, 10
3
, 10
4
intervalos. Plote o erro na escala logartmica em y.
Aula 4 e 5 .
Equa coes Diferenciais Ordinarias e Metodo de Euler
.
Butcher, Iserles
Captulo 4:
Equacoes Diferenciais Ordinarias
Bibliograa: Cap.1 [5], Sec.11,20,21,22 e [1]
Objetivo:
Resolver ou aproximar a solu cao de uma equa cao dife-
rencial ordinaria (EDO).
Considere a EDO de 1.a ordem,
u

(t) = f(t, u(t)) (4.0.1)


u(t
0
) = a (4.0.2)
onde u(t) : R R, e u(t
0
) = a e chamada de condicao inicial, e o problema e
chamado de Problema de Valor Inicial (PVI).
Usando a mesma terminologia podemos representar fun coes vetoriais, i.e., caso
u(t) R
N
,
u

(t) = f(t, u(t)) (4.0.3)


u(t
0
) = a (4.0.4)
18
onde u(t) = [u
1
(t), u
2
(t), . . . , u
N
(t)] : R R
N
e a = [a
1
, . . . , a
N
] R
N
. Ou seja,
u

1
(t) = f
1
(t, u
1
(t), . . . , u
N
(t)) (4.0.5)
u

2
(t) = f
2
(t, u
1
(t), . . . , u
N
(t)) (4.0.6)
.
.
. =
.
.
. (4.0.7)
u

N
(t) = f
N
(t, u
1
(t), . . . , u
N
(t)) (4.0.8)
e condi coes iniciais
u
1
(t
0
) = a
1
(4.0.9)
u
2
(t
0
) = a
2
(4.0.10)
.
.
. =
.
.
. (4.0.11)
u
N
(t
0
) = a
N
(4.0.12)
Note que dependendo do problema, podemos ter condicoes de contorno.
Exemplo 9.
du
dt
= t (4.0.13)
u(0) = a (4.0.14)
Exemplo 10.
du
dt
= u (4.0.15)
u(0) = a (4.0.16)
Exemplo 11.
du
dt
= u + t (4.0.17)
u(0) = a (4.0.18)
Exemplo 12.
du
dt
= sin(u
2
+ sin(t)) (4.0.19)
u(0) = a (4.0.20)
Se c ao 4.1: Teoria de equa c oes diferenciais 19
Exemplo 13.
du
1
dt
= u
2
(4.0.21)
du
2
dt
= u
1
/(u
2
+ u
3
) (4.0.22)
du
3
dt
= u
2
+ t (4.0.23)
u
1
(0) = 4 (4.0.24)
u
2
(0) = 5 (4.0.25)
u
3
(0) = 6 (4.0.26)
Exemplo 14.
Modelo presa-predador (Lotka-Volterra)
u

= u(2 v) (4.0.27)
v

= v(u 1) (4.0.28)
Exerccio 4.1. Dado o problema de valor inicial
u

3u

+ 2uu

= 0, u(l) = 2, u

(l) = 1, u

(l) = 4, (4.0.29)
mostre como reformular este problema na forma
y

= f(y), y(t
0
) = y
0
(4.0.30)
onde y(t) = [y
1
(t), y
2
(t), y
3
(t)], f : R
3
> R
3
.
Exerccio 4.2. Considere o PVI nao autonomo,
u

= tu + t
2
v, u(0) = 3, (4.0.31)
v

= u v + 2tw, v(0) = 2, (4.0.32)


w

= u +
v
1 + t
w(0) = 5. (4.0.33)
Reescreva-o como um problema autonomo (sem dependencia explcita na variavel inde-
pendente t).
4.1. Teoria de equa coes diferenciais
Uma questao fundamental em matematica aplicada e analisar se um modelo matematico
dado por um PVI e util para predizer o comportamento temporal do objeto de estudo.
Ou seja, o problema proposto e bem posto(well-posed)? Dividindo a pergunta
em tres partes:
Existe uma solu cao para o PV I?
A solu cao e unica?
Quao sensvel e a solu cao a pequenas perturba coes nas condi coes iniciais?
20
Deni cao 4.1.1. A fun cao f : [a, b]R
N
R
N
e Lipschitz (na segunda
variavel) se constante L, tal que t [a, b] e u, v R
N
,
f(, u) f(, v) Lu v.
Deni cao 4.1.2. Seja (M, ) um espa co metrico com metrica . A fun c ao
: M M e dita uma contra cao se k, 0 k < 1 tal que , M,
((), ()) k(, ). (4.1.1)
Lema 4.1.3. Seja (M, ) um espaco metrico completo e : M M uma con-
trac ao. Ent ao ! M tal que () = .
Teorema 4.1.4. Seja f : [a, b]R
N
R
N
contnua na primeira vari avel e Lips-
chitz na segunda vari avel. Ent ao uma unica soluc ao para o PVI
u

(t) = f(t, u(t)) (4.1.2)


u(t
0
) = a. (4.1.3)
Veja a prova em Butcher.
4.1.1. Dependencia na condi cao inicial
Se u(t) e v(t) sao solu coes do PVI com f Lipschitz com u(t
0
) = u
0
, v(t
0
) = v
0
, entao
d
dt
u(t) v(t) Lu(t) v(t)
Multiplicando por e
Lt
,
d
dt
(e
Lt
u(t) v(t)) 0
implicando que
u(t) v(t) e
L(tt0)
u
0
v
0
.
Captulo 5:
Metodo de Euler
Seja o PVI
u

(t) = f(t, u(t)) (5.0.1)


u(t
0
) = a (5.0.2)
Ao inves de solucionar o problema para qualquer t > t
0
, (achar u(t)), iremos aproximar
u(t) em t
1
= t
0
+ h.
Integre (5.0.1) de t
0
ate t
1
e obtenha:

t1
t0
u

(t) dt =

t1
t0
f(t, u(t)) dt (5.0.3)
u(t
1
) u(t
0
) =

t1
t0
f(t, u(t)) dt (5.0.4)
21
Supondo f(t, u(t)) f(t
0
, u(t
0
)) (constante) no intervalo pequeno,
u(t
1
) u(t
0
) f(t
0
, u(t
0
))

t1
t0
dt (5.0.5)
u(t
1
) u(t
0
) + f(t
0
, u(t
0
))

t1
t0
dt (5.0.6)
u(t
1
) u(t
0
) + f(t
0
, u(t
0
))(t
1
t
0
) (5.0.7)
u(t
1
) u(t
0
) + hf(t
0
, u(t
0
)) (5.0.8)
Para simplicar a nota cao, denote por u
n
u(t
n
) a solu cao aproximada em t
n
e temos
u
1
u
0
+ hf(t
0
, u
0
) (5.0.9)
Este procedimento pode ser estendido para t
2
, t
3
, . . ., onde
t
n+1
= t
n
+ h = t
0
+ nh, n = 1, 2, . . .
obtendo o metodo de Euler,
Metodo de Euler
u
n+1
= u
n
+ h f(t
n
, u
n
) (5.0.10)
para n = 0, 1, 2 . . .. (Note que o passo h e constante, entretanto poderia ser variavel:
h
n
= t
n
t
n1
.)
Exemplo 15.
Aproxime a solu cao do PVI
du
dt
= 0.5u + 2 + t (5.0.11)
u(0) = 8 (5.0.12)
Teste para h = 1.6, 0.8, 0.4, 0.2, 0.1.
Note que a solu cao exata do problema e
u(t) = 2t + 8e
t/2
(5.0.13)
Itere a formula
u
n+1
= u
n
+ h(0.5u
n
+ 2 + t
n
), u
0
= 3 (5.0.14)
atraves do codigo abaixo:
%---------------------------
function [u,t]=euler(h,Tmax)
u(1)= 8;
t(1)= 0;
itmax = Tmax/h;
for n=1:itmax
t(n+1)= t(n) + h;
22
0 1 2 3 4 5
6
6.5
7
7.5
8
8.5
9
9.5
10
10.5
11
Solucao do PVI
t
u
u(n+1)= u(n) + h*(-0.5*u(n)+2+t(n));
exata(n+1)= 2*t(n+1)+8*exp(-t(n+1)/2);
erro(n+1) = abs(exata(n+1)-u(n+1))/abs(exata(n+1));
end
figure(1); plot(t,u,g*-);
title(Solucao do PVI)
xlabel(t);ylabel(u); hold on
figure(2); plot(t,erro,b*-);
title(Erro); hold on
%---------------------------
Veja abaixo a solu cao para h = 1, 0.5, 0.1, 0.05:
Exerccio 5.1. Aproxime a solu cao do PVI
du
dt
= sin t (5.0.15)
u(0) = 1 (5.0.16)
para t [0, 10].
a. Plote a solu cao para h = 0.16, 0.08, 0.04, 0.02, 0.01.
b. Utilizando a solu cao exata, plote um graco do erro em escala logartmica. Co-
mente os resultados.
Se c ao 5.1: Erro de truncamento 23
c. Para t = 10, qual a rela cao entre o erro e h (erro = f(h)). Comente.
Exerccio 5.2. Aproxime a solu cao do PVI
du
dt
=
t
2
1 u
2
(5.0.17)
u(0) = 0 (5.0.18)
para t > 0.
a. Plote a solu cao para h = 0.5 e t [0, 20].
b. Tente aproximar melhor a solu cao diminuindo h.
c. Note que existe T

tal que a solu cao deixa de existir para t > T

. Forne ca uma
justicativa para este fato e encontre T

.
5.1. Erro de truncamento
Sendo u(t
n
) a solu cao exata em t
n
e u
n
a solu cao aproximada, dena o erro numerico
como e
n
= u
n
u(t
n
).
Expandindo em serie de Taylor
u(t
n+1
) = u(t
n
) + hu

(t
n
) + h
2
u

(t
n
)/2 + O(h
3
) (5.1.1)
e utilizando a equa cao diferencial,
u(t
n+1
) = u(t
n
) + hf(t
n
, u
n
) + h
2
u

(t
n
)/2 +O(h
3
) (5.1.2)
Subtraindo (5.1.2) do metodo de Euler
u
n+1
= u
n
+ h f(t
n
, u
n
) (5.1.3)
temos
u
n+1
u(t
n+1
) =u
n
u(t
n
) (5.1.4)
+ h(f(t
n
, u(t
n
) + e
n
) f(t
n
, u(t
n
))) +O(h
2
) (5.1.5)
e
n+1
=e
n
+ h(f(t
n
, u(t
n
) + e
n
) f(t
n
, u(t
n
))) +O(h
2
) (5.1.6)
Usando a condi cao de Lipschitz em f temos
e
n+1
e
n
+ hf(t
n
, u(t
n
) + e
n
) f(t
n
, u(t
n
)) + ch
2
(5.1.7)
e
n
+ hLu(t
n
) + e
n
u(t
n
) + ch
2
(5.1.8)
e
n
+ hLe
n
+ ch
2
(5.1.9)
(1 + hL)e
n
+ ch
2
(5.1.10)
5.1.1. Erro de truncamento Local
O Erro de Truncamento Local e o erro cometido em uma itera cao do metodo numerico
supondo que a solu cao exata e conhecida no passo anterior.
Assim, supondo que a solu cao e exata em t
n
, obtemos que o ETL e
ETL
n+1
Euler
= h
2
/2u

(t
n
) + O(h
3
)
Se c ao 5.1: Erro de truncamento 24
5.1.2. Erro de truncamento Global
Seja T = t
n+1
t
0
= h(n + 1), temos dois casos: se L = 0 entao
e
n+1
e
n
+ ch
2
(5.1.11)
e
n1
+ ch
2
+ ch
2
(5.1.12)
e
n2
+ ch
2
+ ch
2
+ ch
2
(5.1.13)
. . . (5.1.14)
e
0
+ (n + 1)ch
2
(5.1.15)
e
0
+ Tch (5.1.16)
e se L = 0 entao
e
n+1
(1 + hL)e
n
+ ch
2
(5.1.17)
e
n+1
+ ch/L (1 + hL)e
n
+ ch/L + ch
2
(5.1.18)
e
n+1
+ ch/L (1 + hL)e
n
+ (1 + hL)ch/L (5.1.19)
e
n+1
+ ch/L (1 + hL)(e
n
+ ch/L) (5.1.20)
e
n+1
+ ch/L (1 + hL)
n+1
(e
0
+ ch/L) (5.1.21)
e
n+1
+ ch/L e
(n+1)hL
(e
0
+ ch/L) (5.1.22)
e
n+1
e
TL
(e
0
+ ch/L) ch/L (5.1.23)
e
n+1
e
TL
e
0
+ e
TL
ch/L ch/L (5.1.24)
e
n+1
e
TL
e
0
+ (e
TL
1)ch/L (5.1.25)
O Erro de Truncamento Global e o erro cometido durante varias itera c oes do
metodo numerico.
Supondo que a solu cao exata e conhecida em t
0
, temos e
0
= 0 e ETG e
ETG
n+1
Euler
= O(h)
5.1.3. Convergencia
Um metodo e dito convergente se para toda EDO com f Lipschitz e todo T > 0
temos que
lim
h>0
max
n
u
n
u(t
n
) = 0
Convergencia signica que a solu cao numerica tende a solu cao verdadeira
Teorema 5.1.1. O metodo de Euler e convergente.
Supondo que o erro em t
0
e zero temos T > t
0
e f Lipschitz
lim
h>0
e
n+1
= lim
h>0
(e
TL
1)ch/L = 0 (5.1.26)
O metodo de Euler possui ETL = O(h
2
) e e um metodo de ordem 1.
Se c ao 5.2: A regra do trapezio 25
5.1.4. Paradoxo da ordem
Contnuo: u(t) resolve exatamente u

(t) = f(t, u(t)).


Discreto: u
n+1
resolve exatamente u
n+1
=
F(f, t, u
n
, . . . , u
0
).
Porem
u
n+1
resolve aproximadamente u

(t) = f(t, u(t)),


ou seja, u
n+1
u(t
n
) = O(h
p+1
).
u(t) resolve aproximadamente
u(t
n+1
) F(f, t, u(t
n
), . . . , u(t
0
)) = O(h
p+1
).
Alternativamente, um metodo e chamado de ordem p se recupera exatamente
toda solu cao polinomial de ordem p.
Sob certas condi coes, como ETL = O(h
p+1
), quando o numero de passos
aumenta como O(n) = O(h
1
) temos que ETG = O(h
p
).
5.2. A regra do trapezio
O metodo de Euler aproxima f como uma constante f(t
0
, u
0
) no intervalo [t
0
, t
1
].
Podemos melhorar isso usando a regra do trapezio,
u(t
1
) = u(t
0
) +

t1
t0
f(t, u(t)) dt (5.2.1)
u(t
1
) u(t
0
) + (t
1
t
0

1
2
f(t
0
, u(t
0
)) +
1
2
f(t
1
, u(t
1
))

(5.2.2)
motivando o
metodo trapezoidal
u
n+1
= u
n
+
h
2
(f(t
n
, u
n
) + f(t
n+1
, u
n+1
)) (5.2.3)
O erro de truncamento local e
ETL
n+1
Trap
= O(h
3
)
portanto o metodo e de ordem 2. Pode ser mostrado que o erro de truncamento global
e
ETG
n+1
Trap
= O(h
2
)
Se c ao 5.3: O metodo theta 26
(entretanto nao deve se concluir que ETG = ETL/h)
O metodo trapezoidal e dito implcito, pois para obter u
n+1
e necessario calcular
f(t
n+1
, u
n+1
). Para resolver esse problema devemos resolver a equa cao para u
n+1
(ou
ainda um sistema algebrico de equa coes).
Inspirado no metodo anterior, ao inves de aproximar
u

(t)
1
2
[f(t
n
, u
n
) + f(t
n+1
, u
n+1
)] (5.2.4)
podemos aproximar
u

(t) f(t
n
+
h
2
,
1
2
(u
n
+ u
n+1
)). (5.2.5)
levando ao
metodo do ponto medio
u
n+1
= u
n
+ hf(t
n
+
h
2
,
1
2
(u
n
+ u
n+1
)). (5.2.6)
Exerccio 5.3. Mostre que o metodo do ponto medio e convergente e de ordem 2.
5.3. O metodo theta
Tanto o metodo de Euler quanto o metodo trapezoidal se encaixam no metodo
u
n+1
= u
n
+ h(f(t
n
, u
n
) + (1 )f(t
n+1
, u
n+1
)) (5.3.1)
com = 1 e =
1
2
respectivamente. O metodo e explcito somente para = 1. Para
= 0, temos um metodo implcito de primeira ordem chamado
metodo de Euler implcito
u
n+1
= u
n
+ hf(t
n+1
, u
n+1
). (5.3.2)
Exerccio 5.4. O sistema linear u

= Au, u(0) = u
0
, onde A e uma matriz simetrica
e resolvido pelo metodo de Euler.
a. Seja e
n
= u
n
u(nh), n = 0, 1, . . ., prove que
e
n

2
u
0

2
max
(A)
|(1 + h)
n
e
nh
|, (5.3.3)
onde (A) e o conjunto dos autovalores de A e
2
e a norma euclidiana.
b. Demonstre que para 1 x 0 e n = 0, 1, . . . e valida a expressao
e
nx

1
2
nx
2
e
(n1)x
(1 + x)
n
e
nx
. (5.3.4)
(Dica: Prove que 1 + x e
x
, 1 + x +
1
2
x
2
e
x
, para todo x 0 e argumente
que, se |a 1| e |b| sao pequenos, e verdade que (a b)
n
a
n
na
n1
b.
Se c ao 5.4: O metodo de Taylor 27
c. Suponha que o maior autovalor de A e
max
< 0. Prove que, quando h > 0 e
nh > t [0, t

],
e
n

2

1
2
t
2
max
e
maxt
u
0

2
h
1
2
t

2
max
u
0

2
h (5.3.5)
5.4. O metodo de Taylor
Uma maneira simples de aumentar a ordem do metodo e utilizar diretamente a serie de
Taylor. Considere a expansao
u(t + h) = u(t) + hu

(t) +
h
2
2!
u

(t) +
h
3
3!
u

(t) + . . . (5.4.1)
Utilizando dois termos temos o metodo de Euler. Utilizando os tres primeiros
termos da serie e substituindo u

(t) = f(t, x) e u

(t) = f
t
(t, x) temos o
metodo de Taylor de ordem 2
u
n+1
= u
n
+ hf(t
n
, u
n
) +
h
2
2!
f
t
(t
n
, u
n
) (5.4.2)
metodo de Taylor de ordem 3
u
n+1
= u
n
+ hf(t
n
, u
n
) +
h
2
2!
f
t
(t
n
, u
n
) +
h
3
3!
f
tt
(t
n
, u
n
)
Exerccio 5.5. Aproxime a solu cao do PVI
du
dt
= sin t (5.4.3)
u(0) = 1 (5.4.4)
para t [0, 10].
a. Plote a solu cao para h = 0.16, 0.08, 0.04, 0.02, 0.01 para o metodo de Taylor de
ordem 1, 2 e 3. (Plote todos de ordem 1 no mesmo graco, ordem 2 em outro
graco e ordem 3 outro graco separado.)
b. Utilizando a solu cao exata, plote um graco do erro em escala logartmica. Co-
mente os resultados (novamente, em cada graco separado para cada metodo
repita os valores acima)
c. Fixe agora o valor h = 0.02 e plote no mesmo graco uma curva para cada
metodo.
d. Plote em um graco o erro em t = 10 para cada um dos metodos (uma curva
para cada ordem) a medida que h diminui. (Use escala loglog)
Exerccio 5.6. Aproxime a solu cao do modelo presa-predador (Lotka-Volterra)
x

= x(2 y), x(0) = 1 (5.4.5)


y

= y(x 1), y(0) = 1 (5.4.6)


28
utilizando o metodo de Euler. Escolha apropriadamente h e ilustre gracamente a
convergencia. Plote solu coes no plano de fase (plano xy).
Exerccio 5.7. Aproxime a solu cao do PVI
du
dt
=
cos(t + u)
1 + u
2
(5.4.7)
u(0) = 0 (5.4.8)
utilizando o metodo do trapezio. Escolha apropriadamente h e ilustre gracamente a
convergencia.
Para resolver o metodo implcito, utilize por exemplo itera cao de ponto xo ou
o metodo de Newton.
a. Plote a solu cao para diferentes valores de h.
b. Para h = 0.01 e T = 10 conte o numero total de itera coes necessarias de cada
passo do metodo implcito para obter a solu cao usando uma tolerancia de 10
15
na solu cao do problema implcito.
c. Repita o exerccio anterior com h = 0.01, T = 10 e tolerancia de 10
8
.
d. Repita o exerccio anterior com h = 0.01, T = 10 e tolerancia de 10
4
.
e. Repita o exerccio anterior utilizando o metodo de Euler com diferentes valores de
h, ate T = 10 de tal forma que a solu cao seja tao proxima da solu cao do metodo
do trapezio quanto possvel. Conte as itera coes necessarias para obter a solu cao
com o metodo de Euler com o mesmo erro que o metodo do trapezio.
f. Compare, para esse exerccio, o metodo de Euler e o do trapezio.
Aula 6 e 7 .
Metodos de passo multiplo
.
Butcher, Iserles
Captulo 6:
Metodos de Passo M ultiplo
Bibliograa: Cap.2 [5], e Sec.24 [1].
Seja a EDO
u

(t) = f(t, u(t)) (6.0.1)


u(t
0
) = a (6.0.2)
Se c ao 6.1: O metodo de Adams-Bashforth 29
Integrando a EDO em [t
n+1
, t
n
] obtemos
u
n+1
= u
n
+

tn+1
tn
f(t, u(t)) dt (6.0.3)
Denote por f
n
f(t
n
, u
n
). Um metodo de passo simples utiliza f
n+1
e f
n
. Um
metodo de passo multiplo utiliza tambem s valores anteriores ja calculados como
f
n1
, f
n2
, . . . , f
ns
, onde s 1 inteiro.
u
n+1
= u
n
+ h[b
s
f
n+1
+ b
s1
f
n
+ . . . + b
1
f
ns+2
+ b
0
f
ns+1
] (6.0.4)
Para conformidade com [5], translade s 1 ndices,
u
n+s
= u
n+s1
+ h[b
s
f
n+s
+ b
s1
f
n+s1
+ . . . + b
1
f
n+1
+ b
0
f
n
] (6.0.5)
e teremos
u
n+s
= u
n+s1
+ h
s

m=0
b
m
f
n+m
(6.0.6)
De forma geral
um metodo de passo multiplo sera
s

m=0
a
m
u
n+m
= h
s

m=0
b
m
f
n+m
(6.0.7)
6.1. O metodo de Adams-Bashforth
Quando a
s
= 1, a
s1
= 1, a
m
= 0 para m = s 2, . . . , 0, b
s
= 0 temos um metodo
de Adams-Bashforth do tipo
u
n+s
= u
n+s1
+ h
s1

m=0
b
m
f
n+m
(6.1.1)
Note que os metodos de Adams-Bashforth sao explcitos pois b
s
= 0.
Exemplo 16.
Vamos obter o metodo de Adams-Bashforth para s = 4 como
u
n+4
= u
n+3
+

tn+4
tn+3
f(t, u(t)) dt (6.1.2)
u
n+4
= u
n+3
+ h
3

m=0
b
m
f
n+m
(6.1.3)
u
n+4
= u
n+3
+ h[b
3
f
n+3
+ b
2
f
n+2
+ b
1
f
n+1
+ b
0
f
n
] (6.1.4)
Para isso devemos obter [b
3
, b
2
, b
1
, b
0
] tal que o metodo seja exato para polinomios ate
ordem 3. Podemos obter esses coecientes de maneira analoga a obter os coecientes
de um metodo para integra cao como em 3.1.
Se c ao 6.1: O metodo de Adams-Bashforth 30
Supondo que os nos t
k
estejam igualmente espa cados, e para facilidade dos
calculos, como o intervalo de integra cao e [t
n+3
, t
n+4
], translade t
n+3
para a origem
tal que [t
n
, t
n+1
, . . . , t
n+4
] = [3h, 2h, h, 0, h].
Considere a base [
0
(t), . . . ,
3
(t)] = [1, t, t
2
, t
3
] e substitua f(t) por
k
(t) ob-
tendo

h
0
1 dt = h = h(b
0
(1) + b
1
(1) + b
2
(1) + b
3
(1))

h
0
t dt =
h
2
2
= h(b
0
(0) + b
1
(h) + b
2
(2h) + b
3
(3h))

h
0
t
2
dt =
h
3
3
= h(b
0
(0)
2
+ b
1
(h)
2
+ b
2
(2h)
2
+ b
3
(3h)
2
)

h
0
t
3
dt =
h
4
4
= h(b
0
(0)
3
+ b
1
(h)
3
+ b
2
(2h)
3
+ b
3
(3h)
3
)
que pode ser escrito na forma matricial

1 1 1 1
0 1 2 3
0 1 4 9
0 1 8 27

b
0
b
1
b
2
b
3

1
1/2
1/3
1/4

(6.1.5)
Resolvendo o sistema obtemos
[b
0
, b
1
, b
2
, b
3
] = [
9
24
,
37
24
,
59
24
,
55
24
]
fornecendo
o metodo de Adams-Bashforth de 4 estagios
u
n+4
= u
n+3
+
h
24
[55f
n+3
59f
n+2
+ 37f
n+1
9f
n
]
(6.1.6)
Dica: Para encontrar coecientes no formato fracionario utilize format rat no
Matlab.
Exerccio 6.1. Mostre que o metodo de Adams-Bashforth para s = 2 e dado por
u
n+2
= u
n+1
+
h
2
[3f
n+1
f
n
] (6.1.7)
Exerccio 6.2. Mostre que o metodo de Adams-Bashforth para s = 3 e dado por
u
n+3
= u
n+2
+
h
12
[23f
n+2
16f
n+1
+ 5f
n
] (6.1.8)
Se c ao 6.2: Ordem e convergencia de metodos de passo m ultiplo 31
6.1.1. Codigo
%---------------------------
function [u]=adamsbashforth3(h,itmax)
t(1)=0; u(1)=2; f(1)= func( t(1), u(1) );
t(2)=t(1)+h; u(2)=u2; f(2)= func( t(2), u(2) );
t(3)=t(2)+h; u(3)=u3; f(3)= func( t(3), u(3) );
for n=3:itmax
t(n+1)= t(n) + h;
u(n+1)= u(n) + h/12*(23*f(n)-16* f(n-1) +5*f(n-2));
f(n+1)= func( t(n+1), u(n+1) );
end
end
%---------------------------
function [fu]=func(t,u)
fu = u+t
end
%---------------------------
Note a deni cao da fun cao f em na fun cao func.
6.2. Ordem e convergencia de metodos de passo m ultiplo
Mais geralmente, um metodo de passo multiplo sera da forma
s

m=0
a
m
u
n+m
= h
s

m=0
b
m
f
n+m
(6.2.1)
Por conven cao normalizamos a equa cao acima tomando a
s
= 1. Quando b
s
= 0 temos
um metodo explcito e quando b
s
= 0 temos um metodo implcito.
O metodo sera de ordem p se o ETL(u(t)) = (u(t)) = O(h
p+1
) para u(t)
sucientemente suave, ou ainda, a solu cao exata resolve aproximadamente (6.2.1), tal
que,
(u(t)) :=
s

m=0
a
m
u(t + mh) h
s

m=0
b
m
u

(t + mh) (6.2.2)
=O(h
p+1
), h 0 (6.2.3)
Dois polinomios sao usados para estudar o metodo (6.2.1):
(w) =
s

m=0
a
m
w
m
, (w) =
s

m=0
b
m
w
m
, (6.2.4)
Teorema 6.2.1. O metodo de passo m ultiplo e de ordem p 1 se e somente se
(w) (w) ln w = O(|w 1|
p+1
) w 1
Se c ao 6.2: Ordem e convergencia de metodos de passo m ultiplo 32
Demonstrac ao. Expandindo u(t + mh) e u

(t + mh) como serie de Taylor,


u(t + mh) =

k=0
u
(k)
(t)
k!
m
k
h
k
(6.2.5)
u

(t + mh) =

k=0
u
(k+1)
(t)
k!
m
k
h
k
(6.2.6)
u

(t + mh) =

k=1
u
(k)
(t)
(k 1)!
m
k1
h
k1
(6.2.7)
Assumindo que u(t) e analtica temos
(u(t)) =
s

m=0
a
m
u(t + mh) h
s

m=0
b
m
u

(t + mh)
=
s

m=0
a
m

k=0
u
(k)
(t)
k!
m
k
h
k
h
s

m=0
b
m

k=1
u
(k)
(t)
(k 1)!
m
k1
h
k1
=(
s

m=0
a
m
)u(t) +

k=1
s

m=0
a
m
u
(k)
(t)
k!
m
k
h
k
hb
m
u
(k)
(t)
(k 1)!
m
k1
h
k1
=(
s

m=0
a
m
)u(t) +

k=1
u
(k)
(t)
k!
h
k
s

m=0
(a
m
m
k
b
m
km
k1
)
Para o metodo ser de ordem p e necessario e suciente que todos termos ate ordem
h
p
sejam zero, ou seja,
s

m=0
a
m
= 0 (6.2.8)
s

m=0
(a
m
m
k
b
m
km
k1
) = 0, k = 1, . . . , p (6.2.9)
Por outro lado, fazendo w = e
z
(quando z > 0 temos w > 1), e expan-
Se c ao 6.2: Ordem e convergencia de metodos de passo m ultiplo 33
dindo em serie de Taylor
(e
z
) z(e
z
) =
s

m=0
a
m
e
mz
z
s

m=0
b
m
e
mz
(6.2.10)
=
s

m=0
(a
m
zb
m
)e
mz
(6.2.11)
=
s

m=0
(a
m
zb
m
)(

k=0
m
k
z
k
k!
) (6.2.12)
=

k=0
z
k
k!
s

m=0
a
m
m
k
zb
m
m
k
(6.2.13)
=

k=0
z
k
k!
s

m=0
a
m
m
k
b
m
km
k1
(6.2.14)
Temos entao que
(e
z
) z(e
z
) = O(z
p+1
), z > 0 (6.2.15)
(w) ln w(w) = O(|w 1|
p+1
), w > 1 (6.2.16)
se e somente se o metodo e de ordem p, ou seja, as condi coes (6.2.8) sao validas.
6.2.1. Convergencia de metodos de passo m ultiplo
Alternativamente,
(u(t)) = O(h
p+1
)
para u(t) arbitraria se e somente se (q(t)) = 0 q(t) P
p
.
Isto e equivalente a (
k
(t)) = 0 para a base polinomial
k
(t) = t
k
, k =
0, . . . , p.
Por exemplo, para
0
(t) = 1 obtemos
(
0
) =
s

m=0
a
m

0
(t + mh) h
s

m=0
b
m

0
(t + mh) (6.2.17)
=
s

m=0
a
m
= 0 (6.2.18)
e para
k
(t) = t
k
, obtemos
(
k
) =
s

m=0
a
m

k
(t + mh) h
s

m=0
b
m

k
(t + mh) (6.2.19)
=
s

m=0
a
m
(mh)
k
h
s

m=0
b
m
k(mh)
k1
(6.2.20)
= h
k
s

m=0
a
m
m
k
b
m
km
k1
(6.2.21)
(6.2.22)
Se c ao 6.2: Ordem e convergencia de metodos de passo m ultiplo 34
que e igual a zero para k = 1, . . . , p sob a condi cao (6.2.8).
Exemplo 17.
Considere o metodo (6.1.7) de Adams-Bashforth de ordem 2.
u
n+2
= u
n+1
+
h
2
[3f
n+1
f
n
] (6.2.23)
Podemos calcular (fa ca = w 1),
(w) (w) ln w = (w
2
w) (
3
2
w
1
2
) ln w (6.2.24)
= (
2
+ ) (1 +
3
2
)(
1
2

2
+
1
3

3
+ . . .) (6.2.25)
=
5
12

3
+ O(
4
) (6.2.26)
o qual valida a ordem 2 para o metodo.
Exerccio 6.3. Verique que o metodo (6.1.8) de Adams-Bashforth para s = 3 e
realmente de ordem 3.
Exerccio 6.4. Verique que o metodo (6.1.6) de Adams-Bashforth para s = 4 e
realmente de ordem 4.
Exerccio 6.5. Verique que o metodo
u
n+2
3u
n+1
+ 2u
n
=
h
12
[13f
n+2
20f
n+1
5f
n
] (6.2.27)
possui ordem 2, porem nao e convergente (sem usar o proximo teorema). (Dica: use a
EDO u

(t) = 0, u(0) = 1).


6.2.2. Teorema de equivalencia de Dahlquist
Dizemos que um polin omio obedece a condi cao da raiz se todas suas razes possuem
|z| 1 e as razes com |z| = 1 sao simples.
Teorema 6.2.2 (Teorema de equivalencia de Dahlquist). Suponha que o erro em
u
1
, . . . , u
s1
tende a zero quando h > 0. O metodo de passo m ultiplo e convergente
se e somente se o erro e de ordem p 1 e (z) obedece a condic ao da raiz.
Por exemplo o metodo (6.2.27) possui
(w) = (w 1)(w 2) (6.2.28)
violando a condi cao da raiz.
Exemplo 18.
Prove que o metodo de passo 3
u
n+3
+
27
11
u
n+2

27
11
u
n+1
u
n
= (6.2.29)
=
h
11
[3f
n+3
+ 27f
n+2
+ 27f
n+1
+ 3f
n
] (6.2.30)
Se c ao 6.3: O metodo de Adams-Moulton 35
possui ordem 6 porem nao e convergente.
Solu cao: Verique que o metodo e ordem 6. Entretanto o polinomio
(w) = w
3
+
27
11
w
2

27
11
w 1 (6.2.31)
= (w 1)

w +
19 + 4

15
11

w +
19 4

15
11

(6.2.32)
que falha na condi cao da raiz.
Exerccio 6.6. Prove que todos os metodos de Adams-Bashforth satisfazem a condi cao
da raiz.
6.2.3. A primeira barreira de Dahlquist
Um metodo de passo multiplo possui 2s + 1 coecientes a
m
,b
m
. Poderamos denir
tais coecientes de tal forma a obter ordem maxima.
Conclusao? Poderamos obter metodos com s estagios e ordem 2s.
Entretanto tal metodo (implcito de passo s e ordem 2s) nao e convergente para
s 3 (como o metodo (6.2.29) visto acima).

E possvel provar que a ordem maxima de convergencia para um metodo de


passo multiplo s e no maximo 2(s + 2)/2 para metodos implcitos e s para metodos
explcitos. Esta e a primeira barreira de Dahlquist.
6.3. O metodo de Adams-Moulton
Quando a
s
= 1, a
s1
= 1, a
m
= 0 para m = s 2, . . . , 0, b
s
= 0 temos um metodo
de Adams-Moulton do tipo
u
n+s
= u
n+s1
+ h
s

m=0
b
m
f
n+m
(6.3.1)
Note que os metodos de Adams-Moulton sao implcitos pois b
s
= 0.
Exemplo 19.
Vamos obter o metodo de Adams-Moulton para s = 3 como
u
n+3
= u
n+2
+

tn+4
tn+3
f(t, u(t)) dt (6.3.2)
u
n+3
= u
n+2
+ h
3

m=0
b
m
f
n+m
(6.3.3)
u
n+3
= u
n+2
+ h[b
3
f
n+3
+ b
2
f
n+2
+ b
1
f
n+1
+ b
0
f
n
] (6.3.4)
Para isso devemos obter [b
3
, b
2
, b
1
, b
0
] tal que o metodo seja exato para polinomios ate
ordem 3. Podemos obter esses coecientes de maneira analoga a obter os coecientes
de um metodo para integra cao como em 3.1.
Se c ao 6.4: Metodo BDF 36
Supondo que os nos t
k
estejam igualmente espa cados, e para facilidade dos
calculos, como o intervalo de integra cao e [t
n+2
, t
n+3
], translade t
n+2
para a origem
tal que [t
n
, t
n+1
, . . . , t
n+3
] = [2h, h, 0, h].
Considere a base [
0
(t), . . . ,
3
(t)] = [1, t, t
2
, t
3
] e substitua f(t) por
k
(t) ob-
tendo

h
0
1 dt = h = h(b
0
(1) + b
1
(1) + b
2
(1) + b
3
(1))

h
0
t dt =
h
2
2
= h(b
0
(h) + b
1
(0) + b
2
(h) + b
3
(2h))

h
0
t
2
dt =
h
3
3
= h(b
0
(h)
2
+ b
1
(0)
2
+ b
2
(h)
2
+ b
3
(2h)
2
)

h
0
t
3
dt =
h
4
4
= h(b
0
(h)
3
+ b
1
(0)
3
+ b
2
(h)
3
+ b
3
(2h)
3
)
que pode ser escrito na forma matricial

1 0 1 1
1 0 1 2
1 0 1 4
1 0 1 8

b
0
b
1
b
2
b
3

1
1/2
1/3
1/4

(6.3.5)
Resolvendo o sistema obtemos
[b
0
, b
1
, b
2
, b
3
] = [
1
24
,
5
24
,
19
24
,
9
24
, ]
fornecendo a regra
u
n+3
= u
n+2
+
h
24
[9f
n+3
+ 19f
n+2
5f
n+1
+ f
n
] (6.3.6)
Exerccio 6.7. Encontre o metodo de Adams-Moulton para s = 2.
Exerccio 6.8. Encontre o metodo de Adams-Moulton para s = 3.
Exemplo 20.
Um metodo de ordems explcito e chamado de metodo de Nystron se (w) = w
s2
(w
2

1).
Exemplo 21.
Um metodo de ordem s + 1 implcito e chamado de metodo de Milne se (w) =
w
s2
(w
2
1).
6.4. Metodo BDF
Um metodo de ordem s com s estagios e chamado de metodo BDF-Backward Dif-
ferentiation Formula se (w) = b
s
w
s
, onde b
s
R.
Se c ao 6.4: Metodo BDF 37
Lema 6.4.1. Para um metodo BDF temos
b
s
=

m=1
1
m

1
, (w) = b
s
s

m=1
1
m
w
sm
(w 1)
m
(6.4.1)
Demonstrac ao. Sendo p = s a ordem, o teorema 6.2.1 implica que
(w) b
s
w
s
ln w = O(|w 1|
s+1
), w > 1
Substituindo v = 1/w,
(
1
v
)
b
s
v
s
ln(
1
v
) = O(|
1
v
1|
s+1
), v > 1
v
s
(
1
v
) + b
s
ln v = O(|1 v|
s+1
), v > 1
Como
ln v = ln [1 + (v 1)] =
s

m=1
(1)
m1
m
(v 1)
m
+ O(|v 1|
s+1
)
deduzimos que
v
s
(1/v) = b
s
s

m=1
(1)
m1
m
(v 1)
m
Portanto
(w) = b
s
v
s
s

m=1
(1)
m
m
(v 1)
m
(6.4.2)
= b
s
s

m=1
(1)
m
m
w
s
(w
1
1)
m
(6.4.3)
= b
s
s

m=1
1
m
w
sm
(w 1)
m
(6.4.4)
Para completar a prova, falta derivar a forma explcita para b
s
, que segue impondo
a
s
= 1 em (w).
Exemplo 22.
Mostre que o metodo BDF com s = 3 e
u
n+3

18
11
u
n+2
+
9
11
u
n+1

2
11
u
n
=
6
11
hf
n+3
(6.4.5)
Solu cao: Para s = 3 temos que
b
s
=
1
1 +
1
2
+
1
3
=
6
11
e
(w) =
6
11
[w
2
(w 1) +
1
2
w(w 1)
2
+
1
3
(w 1)
3
] (6.4.6)
= w
3

18
11
w
2
+
9
11
w
2
11
(6.4.7)
38

Teorema 6.4.2. O polin omio (w) em (6.4.1) satisfaz a condic ao da raiz e o metodo
BDF e convergente se e somente se 1 s 6.
Exerccio 6.9. Mostre que o metodo BDF com s = 1 e o metodo de Euler implcito.
Exerccio 6.10. Mostre que o metodo BDF com s = 2 e
u
n+2

4
3
u
n+1
+
1
3
u
n
=
2
3
hf
n+2
(6.4.8)
Exerccio 6.11. Mostre que os metodos BDF com s = 2 e s = 3 sao convergentes.
Exerccio 6.12. Determine a ordem do metodo de passo 3,
u
n+3
u
n
=
h
8
[3f
n+3
+ 9f
n+2
+ 9f
n+1
+ 3f
n
] (6.4.9)
Este metodo e convergente?
Exerccio 6.13. Aproxime a solu cao do PVI
du
dt
= sin t (6.4.10)
u(0) = 1 (6.4.11)
para t [0, 10]. Utilize o metodo de Adams-Bashforth com s = 3 e plote os resultados
como nos exerccios anteriores. Compare os resultados utilizando nos passos iniciais o
metodo de:
a. Euler;
b. Taylor;
c. Runge-Kutta.
Aula 8 .
Metodos de Runge-Kutta
.
Butcher, Iserles
Captulo 7:
Metodos de Runge-Kutta
Bibliograa: Cap.3 [5], Sec.23 [1].
Se c ao 7.1: Metodo de Runge-Kutta Explcito 39
7.1. Metodo de Runge-Kutta Explcito
Seja a EDO
u

(t) = f(t, u(t)) (7.1.1)


u(t
0
) = a (7.1.2)
Integrando a EDO em [t
n
, t
n+1
] obtemos
u
n+1
= u
n
+

tn+1
tn
f(t, u(t)) dt (7.1.3)
Um metodo de passo simples utiliza f
n
e f
n+1
. Queremos aumentar a ordem do metodo,
porem utilizando somente valores de f entre [t
n
, t
n+1
].
u
n
u
n+1
| |
t
n
t
n+1

1

2

u
n+1
= u
n
+

tn+1
tn
f(t, u(t)) dt (7.1.4)
= u
n
+ h

1
0
f(t
n
+ h, u(t
n
+ h)) d (7.1.5)
= u
n
+ h

j=1
b
j
f(t
n
+ c
j
h, u(t
n
+ c
j
h)) (7.1.6)
Denote por
j
= t
n
+ c
j
h, U
j
u(
j
) e F
j
f(
j
, U
j
), j = 1, . . . , . Inicie
com U
1
= u
n
(c
1
= 0) como a solu cao no passo anterior e aproxime U
j
, j = 2, . . . , ,
com uma combina cao linear de F
1
, . . . , F
j1
, ou seja,
U
1
= u
n
(7.1.7)
U
2
= u
n
+ ha
21
F
1
(7.1.8)
U
3
= u
n
+ ha
31
F
1
+ ha
32
F
2
(7.1.9)
= . . . (7.1.10)
U

= u
n
+ h
1

i=1
a
i
F
i
(7.1.11)
u
n+1
= u
n
+ h

i=1
b
i
F
i
(7.1.12)
onde A = (a
ij
) e a matriz de RK (triangular inferior com diagonal zero), b
j
sao os
pesos RK e c
j
sao os nos RK.
Os coecientes podem ser resumidos em uma tabela na forma
c A
b
T
=
c
1
a
11
a
12
c
2
a
21
a
22
b
1
b
2
Se c ao 7.2: Metodo de RK = 2 40
7.2. Metodo de RK = 2
Assumindo suavidade suciente em f, expanda em serie de Taylor
F
2
= f(t
n
+ c
2
h, U
2
) (7.2.1)
= f(t
n
+ c
2
h, u
n
+ a
21
hf
n
) (7.2.2)
= f
n
+ h[c
2
f
n
t
+ a
21
f
n
u
f
n
] + O(h
2
) (7.2.3)
fazendo com que (7.1.12) se torne
u
n+1
= u
n
+ h[b
1
F
1
+ b
2
F
2
] (7.2.4)
= u
n
+ h(b
1
+ b
2
)f
n
+ h
2
b
2
[c
2
f
n
t
+ a
21
f
n
u
f
n
] + O(h
3
) (7.2.5)
Usando a EDO e derivando-a obtemos
u
t
= f(t, u) (7.2.6)
u
tt
= f
t
+ f
u
u
t
= f
t
+ f
u
f (7.2.7)
e expandindo em serie de Taylor a solu cao exata em t
n+1
,
u(t
n+1
) = u
n
+ hu
t
+
h
2
2
u
tt
+ O(h
3
) (7.2.8)
= u
n
+ hf
n
+
h
2
2
[f
t
+ f
u
f] + O(h
3
) (7.2.9)
e comparando com (7.2.5) obtemos as condi coes para ordem p 2,
b
1
+ b
2
= 1, b
2
c
2
=
1
2
a
21
= c
2
(7.2.10)
O sistema possui mais de uma solu cao. Algumas escolhas comuns sao
0
1
2
1
2
0 1
,
0
2
3
2
3
1
4
3
4
e
0
1 1
1
2
1
2
onde a ultima tabela fornece o metodo de Heun (ou Euler modicado):
U
1
= u
n
(7.2.11)
U
2
= u
n
+ hF
1
(7.2.12)
u
n+1
= u
n
+ h[
1
2
F
1
+
1
2
F
2
] (7.2.13)
Note que o metodo e de ordem p = 2 pois os termos que sobraram sao de O(h
3
).
Seguindo um procedimento similar (veja [5],p39-40), podemos obter as condi c oes
para um metodo com = 3 e ordem p = 3, que sao
b
1
+ b
2
+ b
3
= 1,b
2
c
2
+ b
3
c
3
=
1
2
(7.2.14)
b
2
c
2
2
+ b
3
c
2
3
=
1
3
,b
3
a
32
c
2
=
1
6
(7.2.15)
Alguns exemplos de metodos de RK de 3 estagios sao o metodo classico de
Runge-Kutta
Se c ao 7.3: Metodo de Runge-Kutta implcito (IRK) 41
0
1
2
1
2
1 1 2
1
6
4
6
1
6
e o metodo de Nystrom
0
2
3
2
3
2
3
0
2
3
2
8
3
8
3
8
Com paciencia e a ajuda de um software algebrico (como Maple) e possvel
encontrar um metodo de quarta ordem e = 4 estagios como
0
1
2
1
2
1
2
0
1
2
1 0 0 1
1
6
2
6
2
6
1
6
7.3. Metodo de Runge-Kutta implcito (IRK)
No conjunto de equa coes (7.1.7)-(7.1.12), U
k
depende em valores conhecidos F
1
, . . . , F
k1
tornando o metodo explcito.
Entretanto se U
k
depender de F
1
, . . . , F

temos um metodo implcito como


U
j
= u
n
+ h

i=1
a
ji
F
i
, j = 1, . . . , (7.3.1)
u
n+1
= u
n
+ h

i=1
b
i
F
i
(7.3.2)
onde A = (a
ij
) e a matriz de RK.

E necessario que

i=1
a
ji
= c
j
, j = 1, . . . , (7.3.3)
para que o metodo possua ordem p 1.
Exemplo 23.
Um metodo de Runge-Kutta Implcito (IRK) de dois estagios e dado por
U
1
= u
n
+ h/4[f(t
n
, U
1
) f(t
n
+
2
3
h, U
2
)] (7.3.4)
U
2
= u
n
+ h/12[3f(t
n
, U
1
) + 5f(t
n
+
2
3
h, U
2
)] (7.3.5)
u
n+1
= u
n
+ h/4[f(t
n
, U
1
) + 3f(t
n
+
2
3
h, U
2
)] (7.3.6)
que possui uma tabela como
0
1
4

1
4
2
3
1
4
5
12
1
4
3
4
Se c ao 7.4: Estimativa da ordem de convergencia 42
Exerccio 7.1. Mostre que o metodo IRK com 2 estagios do exemplo anterior e de
ordem 3.
Exerccio 7.2. Aproxime a solu cao do PVI
du
dt
=
cos(t + u)
1 + u
2
(7.3.7)
u(0) = 0 (7.3.8)
utilizando o metodo de Runge Kutta de 4 estagios. Escolha apropriadamente h e ilustre
gracamente a convergencia.
a. Plote a solu cao para diferentes valores de h.
b. Repita o exerccio anterior utilizando o metodo de Euler com diferentes valores
de h, ate T = 10 de tal forma que a solu cao seja tao proxima da solu cao obtiva
via RK quanto possvel.
c. Compare o numero de itera coes, para esse exerccio, entre o metodo de Euler e o
de Runge-Kutta.
Exerccio 7.3. Aproxime a solu cao do PVI
u

+ 0.125u

+ u = 0 (7.3.9)
u(0) = 2 u

(0) = 0 (7.3.10)
para t [0, 20]. Utilize o metodo de Runge Kutta de 4 estagios. Escolha apropriada-
mente h e ilustre gracamente a convergencia.
a. Transforme o PVI num sistema de EDOs de primeira ordem nas variaveis [y
1
(t), y
2
(t)] =
[u(t), u

(t)].
b. Plote a solu cao u(t).
c. Plote a solu cao no espa co de fases [y
1
, y
2
].
7.4. Estimativa da ordem de convergencia
Ferziger and Peric, Computational Methods for Fluid Dynamics, p.335.
Raramente temos a solu cao exata u(t) para calcular o erro obtido na solu cao
numerica. Entretanto, se a solu cao e suave o suciente e o espa camento h e pe-
queno sucientemente, podemos usar o seguinte procedimento para estimar a ordem do
metodo (ou ainda, o erro na solu cao).
Como visto nos exemplo numericos anteriores, em gracos na escala loglog, se
h e grande nao obtemos a ordem de convergencia utilizada (por exemplo, encontramos
que o metodo de Euler possui ordem p 0.7 onde deveria ser 1). A medida que
h decresce se aproximando de 0, a ordem de convergencia tende a se aproximar de
p 1. (Entretanto h nao pode car muito pequeno a ponto que as opera coes de ponto
utuante atrapalhem na convergencia).
Portanto existe uma faixa h
min
< h < h
max
onde o metodo apresenta a ordem
desejada. Essa regiao depende do metodo e do PVI estudado.
43
Mas se estivermos nessa regiao podemos aproximar a ordem do metodo da se-
guinte forma: Considere a solu cao para um determinado t = T

xo, u(T

). Considere
tambem as aproxima coes das solu coes obtidas com espacamento h, denotada por u
h
; a
aproxima cao obtida com espa camento dividido por 2, h/2, denotada por u
h/2
; a apro-
xima cao obtida com espa camento h/4, denotada por u
h/4
,. . . e assim por diante, todas
calculadas em t = T

.
7.4.1. Metodo 1
Podemos utilizar uma solu cao bem renada, por exemplo, u
h/16
como sendo uma boa
aproxima cao da solu cao exata e supormos que u

= u
h/16
. Desta forma podemos
aproximar o erro por e
h
= u
(h)
u

e a ordem do metodo e estimada como


p
log(e
h
) log(e
h/2
)
log(h) log(h/2)
(7.4.1)

log

e
h
e
h/2

log(h/(h/2))
(7.4.2)

log

e
h
e
h/2

log(2)
(7.4.3)

log

u
h
u

u
h/2
u

log(2)
(7.4.4)
(7.4.5)
7.4.2. Metodo 2
Segundo Ferziger/Peric/Roache, podemos tambem estimar p diretamente de
p
log

u
h/2
uh
u
h/4
uh/2

log(2)
(7.4.6)
(7.4.7)
Aula 9, 10 e 11 .
Regioes de Estabilidade
.
Butcher, Iserles
Captulo 8:
Se c ao 8.1: Equa c oes Sti 44
Domnio de Estabilidade
8.1. Equa coes Sti
A deni cao nao e exatamente clara:
Uma equa cao diferencial e sti se alguns metodos numericos sao numerica-
mente instaveis, a menos que o passo seja extremamente pequeno.
Considere a EDO linear
u

= Au, u(0) = u
0
, A =

100 1
0 1/10

(8.1.1)
com a decomposi cao A = V V
1
onde
V =

1 1
0 999/10

, =

100 0
0 1/10

(8.1.2)
A solu cao exata e
u(t) = e
At
u
0
= V e
t
V
1
u
0
, e
t
=

e
100t
0
0 e
0.1t

(8.1.3)
Ou seja, existem vetores x
1
e x
2
dependentes de u
0
(exerccio 8.1) tal que
u(t) = e
100t
x
1
+ e
0.1t
x
2
, t 0 (8.1.4)
Note que a medida que t avan ca o termo e
100t
cai rapidamente enquanto que e
0.1t
e um pouco mais lento levando a u(t) e
0.1t
x
2
.
Aplicando o metodo de Euler obtemos solu cao aproximada
u
1
= u
0
+ hAu
0
= (I + hA)u
0
, (8.1.5)
u
2
= (I + hA)u
1
= (I + hA)
2
u
0
, (8.1.6)
.
.
. =
.
.
. (8.1.7)
u
n
= (I + hA)
n
u
0
(8.1.8)
u
n
= V (I + h)
n
V
1
u
0
(8.1.9)
u
n
= V

(1 100h)
n
0
0 (1 0.1h)
n

V
1
u
0
(8.1.10)
de onde segue que a solu cao aproximada e dada por
u
n
= (1 100h)
n
x
1
+ (1 0.1h)
n
x
2
(8.1.11)
onde x
1
e x
2
sao os mesmos vetores que aparecem na solu cao exata.
Suponha que h > 1/50. Entao |1 100h| > 1 e a solu cao aproximada cresce
geometricamente (diferente da solu cao exata).
Suponha que escolhemos a condi cao inicial igual ao autovetor
u
0
=

1
999/10

correspondente a
2
= 0.1. Entao x
1
= 0, x
2
= u
0
e
u
n
= (1 0.1h)
n
u
0
, n = 1, 2, . . . (8.1.12)
Se c ao 8.1: Equa c oes Sti 45
que converge para 0 quando n e h < 20.
Suponha que utilizamos h = 1. O metodo deveria convergir (pois h < 20)
entretanto pequenos erros de arredondamento cometidos pela maquina a cada itera cao
sao amplicados pelo termo (1 100h)
n
que rapidamente destroi a solu cao.
Exemplo 24.
Resolva o sistema (8.1.1) utilizando o metodo de Euler no Matlab e verique as ob-
serva coes.
Nem todo metodo numerico possui tal comportamento. Considere a regra tra-
pezoidal aplicada
1
em u

= Au,

I
1
2
hA

u
1
=

I +
1
2
hA

u
0
(8.1.13)
u
1
=

I +
1
2
hA
I
1
2
hA

u
0
(8.1.14)
u
2
=

I +
1
2
hA
I
1
2
hA

u
1
=

I +
1
2
hA
I
1
2
hA
2
u
0
(8.1.15)
.
.
. =
.
.
. (8.1.16)
u
n
=

I +
1
2
hA
I
1
2
hA
n
u
0
(8.1.17)
e substituindo a fatora cao deduzimos
u
n
=

1 50h
1 + 50h

n
x
1
+

1 h/20
1 + h/20

n
x
2
(8.1.18)
Como

1 50h
1 + 50h

< 1 e

1 h/20
1 + h/20

< 1 (8.1.19)
para todo h > 0, conclumos que u
n
0 quando n . Isto recupera o correto
comportamento assintotico da EDO sem depender da escolha de h.
A regra trapezoidal nao requer restri cao no passo h para evitar instabilidade
(ainda assim e necessario escolher h > 0 pequeno tal que o erro local seja razoavel).
Assim a equa cao (8.1.1) e um exemplo de uma equa cao sti. Note que esta
deni cao nao e precisa e varia na literatura.
Deni cao 8.1.1. A razao
|1|
|n|
entre o maior e menor autovalor (em modulo)
do sistema de EDOs (ou dos autovalores da matriz Jacobiana de um sistema
geral) e chamada stiness ratio.
No exemplo discutido a stiness ratio e
|100|
|1/10|
= 10
3
. Note que para o caso nao
linear a analise pode se tornar complicada.
1
(exerccio 8.2)
Se c ao 8.2: Domnio de Estabilidade Linear 46
Exerccio 8.1. Encontre os vetores x
1
e x
2
dependentes de u
0
e independentes de t
discutidos no texto.
Exerccio 8.2. No exemplo do metodo do trapezio obtemos a expressao

I + B
I B

n
(8.1.20)
a. Verique que tal expressao faz sentido somente se (I +B) e (I B)
1
comutam.
b. Prove que (I + B) e (I B)
1
comutam.
8.2. Domnio de Estabilidade Linear
Suponha que um metodo numerico seja aplicado em
u

= u, t 0, u(0) = 1, (8.2.1)
onde C que possui solu cao exata u(t) = e
t
. Note que lim
t0
u(t) = 0 se e
somente se < 0. Nao estamos interessados no momento em solu coes que crescem
rapidamente ( > 0).
Deni cao 8.2.1. O domnio de estabilidade linear D do metodo numerico
e o conjunto de todos h C tal que lim
n
u
n
= 0.
Ou seja, D e o conjunto de todos h para o qual o correto comportamento
assintotico de (8.2.1) e recuperado, tal que essa equa cao seja estavel.
Exemplo 25.
Utilizando o Metodo de Euler para solucionar (8.2.1) obtemos
u
n
= (1 + h)
n
, n = 0, 1, . . . (8.2.2)
Portanto lim
n
u
n
= 0 se e somente se |1 + h| < 1. Conclumos entao que
D
Euler
= {z C : |1 + z| < 1} (8.2.3)
e o interior de um disco no plano complexo de raio 1 e centro em z = 1 como na
Fig.8.1.
Caso tenhamos um sistema de EDOs,
u

= Au, u(0) = u
0
, (8.2.4)
podemos obter que
u
n
=
d

k=1
(1 + h
k
)
n
x
k
, n = 0, 1, . . . (8.2.5)
onde A = V V
1
, V e a matriz dos autovetores e = diag(
1
, . . . ,
d
).
Deni cao 8.2.2. O sistema de EDOs (8.2.4) e assintoticamente estavel
se e somente se
k
< 0, k = 1, . . . , d.
Se c ao 8.2: Domnio de Estabilidade Linear 47
3 2 1 0 1
2
1.5
1
0.5
0
0.5
1
1.5
2
Figura 8.1: Regiao de estabilidade para o metodo de Euler, |1 + z| < 1
Para que o metodo de Euler seja estavel, e necessario que h seja escolhido tal
que |1 + h
k
| < 1, k. Ou seja, todos os produtos h
k
devem estar em D
Euler
. Ou
seja, h deve ser escolhido de acordo com os autovalores do sistema
2
.
Tal analise pode ser facilmente estendida para o sistema nao homogeneo u

=
Au + b (veja exerccios).
Para o caso EDO nao-linear, seja
u

= f(t, u), t t
0
, u(t
0
) = u
0
(8.2.6)
e comum requerer que no passo n
h
n,1
, h
n,2
, . . . , h
n,d
D (8.2.7)
onde
n,k
sao os autovalores da matriz Jacobiana
J
n
:=
f(t
n
, u
n
)
u
,
baseado na hipotese que o comportamento local da EDO e modelado por
u

= u
n
+ J
n
(u u
n
) (8.2.8)
Esta pratica nao e exata e fornece apenas uma ideia local do comportamento da EDO
(podendo levar a conclusoes erroneas).
Exemplo 26.
2
Note que estamos assumindo que existe a decomposi c ao em autovalores. Poderamos usar a
forma de Jordan o que dicultaria a demonstra c ao.
Se c ao 8.3: Estabilidade dos metodos de Taylor 48
Utilizando o metodo trapezoidal para solucionar (8.2.1) obtemos
u
n
=

1 + h/2
1 h/2

n
, n = 0, 1, . . . (8.2.9)
Conclumos entao que
D
Tr
= {z C :

1 + z/2
1 z/2

< 1} (8.2.10)
Note que D
Tr
= C

, o semiplano negativo. Portanto o metodo do trapezio imita a


estabilidade assintotica da EDO linear sem restri cao no passo h.
Deni cao 8.2.3. Um metodo numerico e chamado A-estavel se
{z C : z < 0} D
Exemplo 27.
A regra do trapezio e A-estavel (incondicionalmente estavel) e o metodo de Euler e
estavel somente para |1 + h| < 1.
Exerccio 8.3. Mostre que o metodo theta e A-estavel se e somente se 0
1
2
.
8.3. Estabilidade dos metodos de Taylor
Exerccio 8.4. Prove que para um metodo de Taylor de ordem p para a EDO (8.2.1)
temos
p(z) = 1 + z +
z
2
2!
+
z
3
3!
+ . . . +
z
p
p!
(8.3.1)
onde u
n
= (p(z))
n
u
0
e a regiao de estabilidade e dada por
D
T
= {z C : |p(z)| < 1} (8.3.2)
Plote as regioes de estabilidade para o metodo de Taylor para p = 1, . . . , 6 no
mesmo graco.
8.4. Estabilidade dos metodos de Runge-Kutta
Denote

U :=

U
1
.
.
.
U

,

1 :=

1
.
.
.
1

(8.4.1)
Se c ao 8.4: Estabilidade dos metodos de Runge-Kutta 49
4 3 2 1 0 1 2 3 4
4
3
2
1
0
1
2
3
4
Figura 8.2: Regiao de estabilidade paras os metodos de Taylor de ordem 1, . . . , 4
(interior as curvas). A curva mais interna e para p = 1
Aplicando o metodo de Runge-Kutta (7.3.1) na EDO linear (8.2.1) obtemos
U
j
= u
n
+ h

i=1
a
ji
F
i
, j = 1, . . . , (8.4.2)
U
j
= u
n
+ h

i=1
a
ji
U
i
, (8.4.3)

U =

1u
n
+ hA

U, (8.4.4)
(I hA)

U =

1u
n
, (8.4.5)

U = (I hA)
1

1u
n
, (8.4.6)
e assumindo que I hA nao e singular,
u
n+1
= u
n
+ h

j=1
b
j
U
j
(8.4.7)
u
n+1
= (1 + hb
T
(I hA)
1

1)u
n
, n = 0, 1, . . . (8.4.8)
Denote por P

o conjunto de todos polinomios ate grau e por P


/
o conjunto
de todas fun coes racionais p/q onde p P

e q P

.
Lema 8.4.1. Para todo metodo de Runge-Kutta (7.3.1) existe r P
/
tal que
u
n
= [r(h)]
n
, n = 0, 1, . . . .
Alem disso, se o metodo de Runge-Kutta e explcito ent ao r P

Se c ao 8.4: Estabilidade dos metodos de Runge-Kutta 50


Demonstrac ao. Veja prova em [5], p. 60.
Lema 8.4.2. Suponha que um metodo numerico aplicado a (8.2.1) produz uma
seq uencia u
n
= [r(h)]
n
, n = 0, 1, . . . onde r e uma func ao arbitr aria. Ent ao
D = {z C : |r(z)| < 1}.
Demonstrac ao. A prova segue direto da deni cao de D.
Corolario 1. Nenhum metodo de Runge-Kutta explcito (ERK) pode ser A-est avel.
Demonstrac ao. Dado um metodo ERK, o lema 8.4.2 fornece que r P

e
r(z) := 1 + zb
T
(I zA)
1

1 (8.4.9)
o que implica que r(0) = 1. Nenhum polinomio, com exce cao r(z) c (1, 1)
pode ser limitado por 1 no semiplano negativo z < 0, o que exclui A-estabilidade.
Exemplo 28.
Considere o metodo IRK com tabela
0
1
4

1
4
2
3
1
4
5
12
1
4
3
4
Substituindo em (8.4.9) obtemos a fun cao
r(z) =
1 +
1
3
z
1
2
3
z +
1
6
z
2
(8.4.10)
Para checar A-estabilidade, representamos z = e
i
, > 0,
1
2
< <
3
2
e checamos
se |r(e
i
) < 1|:

1 +
1
3
z
1
2
3
z +
1
6
z
2

< 1 (8.4.11)

1 +
1
3
z

<

1
2
3
z +
1
6
z
2

(8.4.12)

1 +
1
3
e
i

2
<

1
2
3
e
i
+
1
6

2
e
2i

2
(8.4.13)
Se c ao 8.4: Estabilidade dos metodos de Runge-Kutta 51
como |w|
2
= w w,
1 +
2
3
cos +

2
9
<1
4
3
cos +
2
(
cos 2
3
+
4
9
)
2
9

3
cos +

4
36
(8.4.14)
6
3
cos +
2
9

3
cos <
2
(
1
3
cos 2 +
3
9
) +
1
36

4
(8.4.15)
2 cos +
2
9

3
cos <

2
3
(cos 2 + 1) +

4
36
(8.4.16)
2 cos (1 +
1
9

2
) <
2
2
3
cos
2
+

4
36
(8.4.17)
2 cos (9 +
2
) < 6
2
cos
2
+

4
4
(8.4.18)
A inequa cao e verdadeira para z C

, pois temos
1
2
< <
3
2
cos < 0
e os outros termos sao positivos.
O que demonstra que o metodo e A-estavel.
Exemplo 29.
O metodo IRK com tabela
1
3
5
12

1
12
1
3
4
1
4
3
4
1
4
possui a mesma fun cao
r(z) =
1 +
1
3
z
1
2
3
z +
1
6
z
2
(8.4.19)
que o metodo anterior, portanto tambem e A-estavel. Sua regiao de estabilidade e
exterior a curva da gura 8.3.
Lema 8.4.3. Seja r uma func ao racional que n ao e constante. Ent ao z C

temos |r(z)| < 1 se e somente se todos os p olos de r tem parte real positiva e t R
temos |r(it)| 1.
Exemplo 30.
Os polos de
r(z) =
1 +
1
3
z
1
2
3
z +
1
6
z
2
(8.4.20)
sao 2i

2; que estao no semiplano complexo com parte real positiva. Alem disso,
|r(it)| 1, t R pois

1 +
1
3
it

1
2
3
it
1
6
t
2

2
, t R, (8.4.21)
1 +
1
9
t
2
1 +
1
9
t
2
+
1
36
t
4
, t R. (8.4.22)
Se c ao 8.4: Estabilidade dos metodos de Runge-Kutta 52
6 4 2 0 2 4 6
6
4
2
0
2
4
6
Figura 8.3: Regiao de estabilidade (exterior a curva) para o metodo IRK com
polinomio r(z) =
1+
1
3
z
1
2
3
z+
1
6
z
2
implicando que o metodo e A-estavel.
Exerccio 8.5. Prove o lema anterior.
Exerccio 8.6. Prove que para um metodo Runge-Kutta explcito de estagios possui
r(z) = 1 + z +
z
2
2!
+
z
3
3!
+ . . . +
z
p
p!
(8.4.23)
onde a regiao de estabilidade e dada por
D
T
= {z C : |r(z)| < 1} (8.4.24)
Plote as regioes de estabilidade para os metodos de Runge-Kutta para =
1, . . . , 6 no mesmo graco.
Exerccio 8.7. Calcule explicitamente a fun cao r(z) para os metodos de Runge-Kutta
dados pelas tabelas abaixo,
a.
0 0 0
2
3
1
3
1
3
1
4
3
4
b.
1
6
1
6
0
5
6
2
3
1
6
1
2
1
2
Se c ao 8.5: Estabilidade dos metodos de passo m ultiplo 53
c.
0 0 0 0
1
2
1
4
1
4
0
1 0 1 0
1
6
4
6
1
6
Estes metodos sao A-estaveis? Plote a regiao de estabilidade de cada metodo.
8.5. Estabilidade dos metodos de passo m ultiplo
Suponha que um metodo de passo multiplo (6.2.1) seja aplicado a EDO linear (8.2.1)
obtendo
s

m=0
a
m
u
n+m
= h
s

m=0
b
m
f
n+m
(8.5.1)
s

m=0
a
m
u
n+m
= h
s

m=0
b
m
u
n+m
(8.5.2)
que pode ser escrita como
s

m=0
(a
m
hb
m
)u
n+m
= 0, (8.5.3)
s

m=0

m
u
n+m
= 0, n = 0, 1, . . . (8.5.4)
Similarmente a equa coes diferenciais, a equa cao `a diferen cas possui solu cao como o
polinomio caracterstico
(w) :=
s

m=0

m
w
n
. (8.5.5)
Sejam w
1
, . . . , w
q
as razes de (w) com multiplicidade k
1
, . . . , k
q
, onde

k
i
= s. A
solu cao da equa cao a diferen cas e
u
n
=
q

i=1
(
ki1

j=0
c
ij
n
j
)w
n
i
, n = 0, 1, . . . (8.5.6)
onde as constantes c
ij
sao unicamente determinadas pelos valores iniciais u
0
, . . . , u
s1
.
Lema 8.5.1. Suponha que as razes (em func ao de w) de
(z, w) :=
s

m=0
(a
m
b
m
z)w
m
, z C (8.5.7)
s ao w
1
(z), . . . , w
q(z)
(z) com multiplicidade k
1
(z), . . . , k
q(z)
(z) respectivamente. O
metodo de passo m ultiplo e A-est avel se e somente se
|w
i
(z)| < 1, i = 1, . . . , q(z), z C

. (8.5.8)
Se c ao 8.5: Estabilidade dos metodos de passo m ultiplo 54
Lema 8.5.2. O metodo de passo m ultiplo e A-est avel se e somente se b
s
> 0 e
|w
1
(it)|, . . . , |w
q(it)
(it)| 1, t R (8.5.9)
onde w
k
s ao as razes de (z, ) do lema 8.5.1.
Teorema 8.5.3. O metodo BDF de 2 est agios e A-est avel.
Teorema 8.5.4 (A segunda barreira de Dahlquist). A ordem m axima de um metodo
de passo m ultiplo A-est avel e dois.
Exemplo 31.
O metodo BDF de 2 estagios
u
n+2

4
3
u
n+1
+
1
3
u
n
=
2
3
hf
n+2
(8.5.10)
para o PVI u

= u, que possui polinomio caracterstico


w
2

4
3
w +
1
3
=
2
3
h(w
2
) (8.5.11)
ou
(w) := (1 z
2
3
)w
2

4
3
w +
1
3
. (8.5.12)
O polinomio (w) possui duas razes (encontradas com o Maple)
w
1
=
4 + 2(1 + 2z)
1/2
6 + 4z
, (8.5.13)
w
2
=
4 2(1 + 2z)
1/2
6 + 4z
(8.5.14)
Para que o metodo seja estavel, e necessario que |w
1
| < 1 e |w
2
| < 1.
Tal condi cao e satisfeita para a regiao dentro da curva na gura 8.4.
Exemplo 32.
Plote a regiao de estabilidade do metodo de BDF de ordem 2 e 3.
Exemplo 33.
Plote a regiao de estabilidade do metodo de Adams-Bashforth de ordem 2 e 3.
Exemplo 34.
Plote a regiao de estabilidade do metodo de Adams-Moulton de ordem 2 e 3.
Aula 12-15 .
Equa coes Diferenciais Parciais Hiperbolicas
.
Strikwerda: Cap. 1
55
y~
1
2
0
-2
-1
x~
4 3 2 0 1
Figura 8.4: Regiao de estabilidade (exterior a curva) para o metodo BDF s = 2
Captulo 9:
Equacoes Diferenciais Parciais hiperbolicas
9.1. Equa cao da onda unidirecional
Considere a equa cao da onda unidirecional (ou equa cao de advec cao)
u
t
+ au
x
= 0 (9.1.1)
u(t = 0, x) = u
0
(x) (9.1.2)
como exemplo mais simples de EDP hiperbolica. Este e um Problema de Valor Inicial-
PVI.
A solu cao desta equa cao e
u(t, x) = u
0
(x at) (9.1.3)
A solu cao tem a mesma forma t.

E um deslocamento a direita se a > 0 ou a esquerda
se a < 0.
As linhas no plano (x, t) no qual = x at e constante sao chamadas carac-
tersticas.
O parametro a e a velocidade de propaga cao da onda ao longo da caracterstica.
Apesar da equa cao fazer sentido somente se u e diferenciavel, u
0
nao precisa ser
diferenciavel. Em geral, solu coes descontnuas sao permitidas.
Se c ao 9.2: Sistemas de EDPs hiperb olicas 56
Considere o problema mais geral
u
t
+ au
x
= bu + f(t, x) (9.1.4)
u(0, x) = u
0
(x) (9.1.5)
Fazendo a substitui cao t = e x = + a, e u(, ) = u(t, x). Assim
u

= u
t
t

+ u
x
x

(9.1.6)
= u
t
+ u
x
a (9.1.7)
= b u + f(, + a) (9.1.8)
ou seja,
u

= b u + f(, + a) (9.1.9)
Esta EDO possui solu cao
u(, ) = u
0
()e
b
+


0
f(, + a)e
b()
d (9.1.10)
que retornando para (x, t) temos
u(t, x) = u
0
(x at)e
bt
+

t
0
f(s, x a(t s))e
b(ts)
ds (9.1.11)
A solu cao depende somente em (t

, x

) tal que x

at

= xat, i.e., somente os valores


de u e f na caracterstica (t, x) para 0 t

t.
9.2. Sistemas de EDPs hiperbolicas
Um sistema da forma
u
t
+ Au
x
+ Bu = F(t, x) (9.2.1)
e hiperbolico se a matriz A e diagonalizavel com autovalores reais.
Diagonalizavel implica que
= PAP
1
=

1
.
.
.

(9.2.2)
Fazendo a substitui cao w = Pu (no caso que B = 0),
w
t
+ w
x
= PF(t, x) =

F(t, x) (9.2.3)
ou
w
i
t
+
i
w
i
x
= f
i
(t, x) (9.2.4)
reduzindo o sistema a um conjunto de equa coes independentes. Se B = 0 entao o
sistema e acoplado, mas somente para os termos sem derivadas.
O termo Bu causa crescimento, decaimento ou oscila coes, mas nao causa mu-
dan cas na forma com que a solu cao se move ao longo das caractersticas.
Se c ao 9.2: Sistemas de EDPs hiperb olicas 57
Exemplo 35.
O sistema

u
v

t
+

2 1
1 2

u
v

x
= 0 (9.2.5)
com dado inicial
u(x, 0) = u
0
(x) =

1, |x| 1
0, |x| > 1
(9.2.6)
v(x, 0) = 0 (9.2.7)
Somando e subtraindo as equa coes obtemos
(u + v)
t
+ 3(u + v)
x
= 0 (9.2.8)
(u v)
t
+ (u v)
x
= 0 (9.2.9)
ou
w
1
t
+ 3w
1
x
= 0, w
1
(0, x) = u
0
(x) (9.2.10)
w
2
t
+ w
2
x
= 0, w
2
(0, x) = u
0
(x) (9.2.11)
onde a matriz para essa transforma cao e
P =

1 1
1 1

, P
1
=

1
2
1
2
1
2

1
2

. (9.2.12)
A solu cao e
w
1
(t, x) = w
1
0
(x 3t) = u
0
(x 3t) (9.2.13)
w
2
(t, x) = w
2
0
(x t) = u
0
(x t) (9.2.14)
ou nas variaveis u e v,
u(t, x) =
1
2
(w
1
+ w
2
) =
1
2
[u
0
(x 3t) + u
0
(x t)] (9.2.15)
v(t, x) =
1
2
(w
1
w
2
) =
1
2
[u
0
(x 3t) u
0
(x t)] (9.2.16)
Note que a solu cao depende de duas partes independentes, uma onda propagando-
se com velocidade 3 e outra com velocidade 1.
Observacao: Caso a equa cao
u
t
+ a(t, x)u
x
= 0 (9.2.17)
tenha velocidade de propaga cao a(t, x) variavel ou seja um sistema do tipo
u
t
+ A(t, x)u
x
+ B(t, x)u = F(t, x) (9.2.18)
as caractersticas nao sao necessariamente linhas retas.
Para um exemplo online do metodo das caractersticas veja
http://www.scottsarra.org/shock/shockApplet.html
Se c ao 9.3: Condi c oes de contorno 58
Exerccio 9.1. Mostre que o PVI
u
t
+ (1 + x
2
)u
x
= 0 (9.2.19)
nao e bem denido. (Considere a regiao originando no eixo x.)
Exerccio 9.2. Obtenha a solu cao do sistema
u
t
+ u
x
+ v
x
= 0, u(x, 0) = u
0
(x) (9.2.20)
v
t
+ u
x
v
x
= 0, v(x, 0) = v
0
(x) (9.2.21)
9.3. Condi coes de contorno
Considere a equa cao (veja a gura 9.1)
u
t
+ au
x
= 0, 0 x 1, t > 0 (9.3.1)
0
x
t
Figura 9.1: Curvas caractersticas para a > 0.
Se a > 0 as caractersticas se propagam para a direita. Vemos que a solu cao
deve ser especicada no contorno x = 0. Alem disso, nenhuma condi cao de contorno
deve ser dada em x = 1.
Para a condi cao inicial u(0, x) = u
0
(x) e condi cao de contorno u(t, 0) = g(t) a
solu cao e dada por
u(t, x) =

u
0
(x at), x at > 0
g(t x/a), x at < 0
(9.3.2)
Em x at = 0 havera uma descontinuidade se u
0
(0) = g(0). Se a < 0 o papel dos
contornos e trocado.
Exemplo 36.
Considere o sistema

u
v

t
+

a b
b a

u
v

x
= 0 (9.3.3)
em 0 x 1. Os autovalores sao a + b e a b. Consideremos o caso onde a, b > 0.
Se c ao 9.3: Condi c oes de contorno 59
0
x
t
0
x
t
Figura 9.2: Curvas caractersticas para 0 < b < a e 0 < a < b.
Se 0 < b < a entao ambas as caractersticas se propagam para a direita (veja
a gura 9.2). Isto signica que u e v devem ser especicadas em x = 0. Note que a
declividade da curva caracterstica e a inversa da velocidade.
Se 0 < a < b, entao as caractersticas se movem em dire cao opostas (ja que a

2
= a b < 0).
Transformando o sistema encontramos
(u + v)
t
+ (a + b)(u + v)
x
= 0 (9.3.4)
(u v)
t
+ (a b)(u v)
x
= 0 (9.3.5)
Assim devemos especicar a condi cao de contorno u +v em x = 0 (pois move-se para
a direita) e u v em x = 1. De forma geral, as condi coes de contorno devem ser da
forma
u + v =
0
(u v) +
0
(t), x = 0 (9.3.6)
u v =
1
(u + v) +
1
(t), x = 1 (9.3.7)
para o problema ter uma unica solu cao (dito um problema bem-posto). Note que tal
condi cao de contorno especica a caracterstica incoming em termos da caracterstica
outgoing.
Note que:
especicar u ou v em x = 0 e especicar u ou v em x = 1 torna o sistema
bem-posto;
especicar u v em x = 0 torna o sistema mal-posto;
especicar u + v em x = 1 torna o sistema mal-posto;
o numero de condi coes de contorno e igual ao numero de caractersticas incoming.
Problemas periodicos
Podemos tambem fornecer condi coes de contorno periodicas como
u(t, 0) = u(t, 1) (9.3.8)
que na verdade nao e uma condi cao de contorno, ja que num problema periodico nao
ha contornos.
Se c ao 9.4: Diferen cas nitas 60
Exerccio 9.3. Considere o problema (9.3.3) com a = 0 e b = 1, e condi c oes de
contorno
u(t, 0) = 0 v(t, 1) = 1 (9.3.9)
Mostre que se a condi cao inicial e
u(0, x) = x v(0, x) = 1 (9.3.10)
entao a solu cao e u(t, x) = x e v(t, x) = 1 t, para t 0, 0 x 1.
Exerccio 9.4. Considere o problema (9.3.3) com a = 0 e b = 1, e condi c oes de
contorno
u(t, 0) = 0 v(t, 1) = 1 + t (9.3.11)
Mostre que se a condi cao inicial e
u(0, x) = x v(0, x) = 1 (9.3.12)
entao para 0 x + t 3 a solu cao e

u
v

x
1 t

, 0 t < 1 x,

2x + t 1
2 x 2t

, 1 x t < 1 + x,

3x
3 3t

, 1 + x t < 3 x.
(9.3.13)
9.4. Diferen cas nitas
Deni cao 9.4.1. Sejam 0 < h, k 1, uma malha ou grid sera os pontos
(t
n
, x
i
) = (nk, ih) para arbitrarios n, i inteiros.
Denotamos
v
n
i
v(t
n
, x
i
) (9.4.1)
o valor de v no ponto (t
n
, x
i
).
A ideia basica do metodo de diferen cas nitas e substituir as derivadas por dife-
ren cas nitas. Por exemplo, a derivada forward e
u
t
(nk, ih)
u((n + 1)k, ih) u(nk, ih)
k
(9.4.2)
e a derivada central e
u
t
(nk, ih)
u((n + 1)k, ih) u((n 1)k, ih)
2k
(9.4.3)
Considerando a equa cao de advec cao
u
t
+ au
x
= 0 (9.4.4)
podemos obter os seguintes esquemas/metodos
Se c ao 9.4: Diferen cas nitas 61
Forward-Time Forward-Space (FTFS)
v
n+1
i
v
n
i
k
+ a
v
n
i+1
v
n
i
h
= 0 (9.4.5)
Forward-Time Backward-Space (FTBS)
v
n+1
i
v
n
i
k
+ a
v
n
i
v
n
i1
h
= 0 (9.4.6)
Forward-Time Central-Space (FTCS)
v
n+1
i
v
n
i
k
+ a
v
n
i+1
v
n
i1
2h
= 0 (9.4.7)
Leapfrog
v
n+1
i
v
n1
i
2k
+ a
v
n
i+1
v
n
i1
2h
= 0 (9.4.8)
Lax-Friedrichs
v
n+1
i

1
2
(v
n
i+1
+ v
n
i1
)
k
+ a
v
n
i+1
v
n
i1
2h
= 0 (9.4.9)
Qual desses esquemas funciona? Qual e mais preciso? Qual e mais eciente?
Cada um deles pode ser reescrito isolando v
n+1
i
. O primeiro se torna
v
n+1
i
= v
n
i
a
k
h
(v
n
i+1
v
n
i
) (9.4.10)
onde = k/h. Note que e um esquema de passo simples. Conhecidos v
0
i
e possvel
determinar v
n
i
para todo n.
Entretanto para usar o esquema Leapfrog (9.4.8) (que e de passo multiplo), e
necessario fornecer os valores de v
0
i
e v
1
i
, e usar o esquema para n 2.
9.4.1. Codigos
Para utilizar o esquema com diferen cas pra frente no tempo e no espa co (9.4.5) nao
precisamos armazenar a solu cao para todos os valores de tempo n, apenas os mais
recentes. A ideia e usar um vetor v(i) para armazenar a solu cao no tempo n, v
n
i
, e
um vetor vnew(i) para o tempo n + 1, v
n+1
i
.
Os valores de vnew sao calculados a partir do tempo anterior v. Depois que vnew
esta calculado, os valores de v sao atualizados com esses valores e o passo de tempo e
incrementado.
Se c ao 9.4: Diferen cas nitas 62
Note no codigo que temos N intervalos iguais e N+1 pontos de x
1
ate x
N+1
.
function [v]=adveccao(N,Tfinal)
L = 1; % extremo direito
a = 1; % velocidade
h = L/N; % passo
k = 0.8*h; % passo de tempo
x = linspace(0,L,N+1); % dominio
v = exp(-8*(x-0.5).^2) % cond. inicial
ItTotal = Tfinal/k;
for n=1:ItTotal
for i=2:N;
vnew(i)=v(i) +a*k*(v(i+1)-v(i))/h;
end
vnew(1 ) = 0; % cond.contorno
vnew(N+1) = 0; % cond.contorno
v = vnew;
end
plot(x,v,r*-);xlabel(x);ylabel(v);
title(Solucao em t=2)
Exemplo 37.
Compute a solu cao de u
t
+ u
x
= 0 para 3 x 3 e t 0 com condi coes
u
0
(x) =

1 |x|, |x| 1
0, c.c.
(9.4.11)
u(x, 3) = 0 (9.4.12)
usando h = 0.1 e = 0.8 usando o metodo (9.4.5)
v
n+1
i
v
n
i
k
+ a
v
n
i+1
v
n
i
h
= 0. (9.4.13)
Plote a solu cao aproximada para o tempo t = 1.6 juntamente com a solu cao
exata.
Repita o calculo com h = 0.05 e = 0.8.
Repita o calculo com h = 0.1 e = 1.6.
Talvez reduzindo o valor de h. Repita o calculo com h = 0.05 e = 1.6.
Exemplo 38.
Repita o exerccio anterior, porem utilizando o metodo de Lax-Friedrichs,
v
n+1
i

1
2
(v
n
i+1
+ v
n
i1
)
k
+ a
v
n
i+1
v
n
i1
2h
= 0. (9.4.14)
Note que e necessario fornecer uma condi cao extra no extremo direito x = 3, tal como,
v
n+1
N
= v
n+1
N1
.
Se c ao 9.4: Diferen cas nitas 63
Exemplo 39.
Repita o exerccio anterior, porem utilizando o metodo de Leapfrog,
v
n+1
i
v
n1
i
2k
+ a
v
n
i+1
v
n
i1
2h
= 0. (9.4.15)
Aqui tambem e necessario fornecer uma condi cao extra no extremo direito x = 3, tal
como, v
n+1
N
= v
n+1
N1
. Alem disso, esse esquema requer que outro esquema seja usado
para calcular a solu cao em n = 1 (pode ser necessario armazenar tres passos de tempo
consecutivos).
Exerccio 9.5. Para x [1, 3] e t [0, 2.4], resolva
u
t
+ u
x
= 0 (9.4.16)
u(0, x) =

cos
2
(x), |x|
1
2
0, c.c.
(9.4.17)
u(t, 1) = 0. (9.4.18)
Use quatro esquemas:
a. (FTBS) com = 0.8 e h =
1
10
,
1
20
,
1
40
.
b. (FTCS) com = 0.8 e h =
1
10
,
1
20
,
1
40
.
c. (Lax-Friedrichs) com = 0.8, = 1.6 e h =
1
10
,
1
20
,
1
40
.
d. (Leapfrog) com = 0.8 e h =
1
10
,
1
20
,
1
40
.
Para os esquemas (b), (c) e (d) utilize a condi cao a direita v
n+1
N
= v
n+1
N1
em x = 3.
Para o esquema (d) use o esquema (b) para calcular a solu cao em n = 1.
Para cada esquema determine se o esquema e util/inutil (a solu cao nao pode
crescer demais). Fa ca varios gracos. Relate o que acontece ao diminuir h para os
esquemas inuteis. Existe um padrao? Para os casos uteis, como o erro decresce quando
o espa camento da malha decresce, i.e, quando h diminui pela metade, como o erro e
reduzido?
Exerccio 9.6. Resolva o sistema
u
t
+
1
3
(t 2)u
x
+
2
3
(t + 1)w
x
+
1
3
u = 0 (9.4.19)
w
t
+
1
3
(t + 1)u
x
+
1
3
(2t 1)w
x

1
3
w = 0 (9.4.20)
pelo metodo de Lax-Friedrichs. Cada equa cao e aproximada como no caso escalar e
iterada passo a passo. As condi coes iniciais sao
u(0, x) = max(0, 1 |x|) (9.4.21)
w(0, x) = max(0, 1 2|x|) (9.4.22)
Considere x [3, 3] e t [0, 2]. Fa ca h = 1/20 e =
1
2
. Use as condi coes de
contorno
unew(1)=0; unew(N)=0;
wnew(1)=wnew(2); wnew(N)=wnew(N-1);
Se c ao 9.5: Convergencia e consistencia 64
Descreva o comportamento da solu cao para t [1.5, 2]. Fa ca alguns gracos.
Exerccio 9.7. Resolva
u
t
+
1
3
(t 2)u
x
+
2
3
(t + 1)w
x
= 0 (9.4.23)
w
t
+
1
3
(t + 1)u
x
+
1
3
(2t 1)w
x
= 0 (9.4.24)
como no exerccio anterior. Examinando a solu cao numerica obtenha uma solu cao
analtica para o problema.
9.5. Convergencia e consistencia
Considere EDPs lineares da forma
P(
t
,
x
)u = f(t, x) (9.5.1)
de 1.a ordem no tempo. Assuma que dada uma condi cao inicial u(0, x) a solu cao e
unicamente determinada. Veja os exemplos:
u
t
bu
xx
+ au
x
= 0 (9.5.2)
u
t
cu
txx
+ bu
xxxx
= 0 (9.5.3)
u
t
+ cu
tx
+ au
x
= 0 (9.5.4)
Para um metodo numerico ser util e necessario que sua solu cao aproxime a
solu cao da EDP e que a aproxima cao melhore quando h, k tendem a zero.
Deni cao 9.5.1. Um esquema de diferen cas nitas de passo simples que apro-
xima uma EDP e convergente se para qualquer u(t, x) exata e u
n
i
aproximada,
tal que u
0
m
converge para u
0
(x) quando h 0, entao u
n
i
converge para u(t, x)
quando h, k convergem para zero.
Para metodos de passo multiplo onde e necessario especicar os primeiros nveis,
a deni cao e alterada requerendo que u
j
i
convirja para u
0
(x
j
) para 0 j J.
Exemplo 40.
Nos exemplos anteriores, os esquemas de Lax-Friedrichs e leapfrog sao convergentes
para = 0.8. Quando h, k decrescem, as solu coes se tornam melhores. Quando
= 1.6 o esquema de Lax-Friedrichs nao e convergente.
Deni cao 9.5.2. Dada uma EDP Pu = f e um esquema em diferen cas nitas
P
h,k
v = f, dizemos que o esquema e consistente com a EDP se para qualquer
(t, x) suave
P P
h,k
0 quando k, h 0, (9.5.5)
a convergencia sendo pontual em cada ponto da malha.
Pode ser necessario restringir a maneira que h e k tendem a zero.
Se c ao 9.5: Convergencia e consistencia 65
Exemplo 41.
Considere o esquema FTFS com operador de diferen cas dado por
P
k,h
=

n+1
i

n
i
k
+ a

n
i+1

n
i
h
(9.5.6)
associado ao operador contnuo
P =
t
+ a
x
. (9.5.7)
onde

n
i
= (nk, ih) (9.5.8)
Expandindo em serie de Taylor para t e x obtemos,

n+1
i
=
n
i
+ k
t
+
1
2
k
2

tt
+ O(k
3
) (9.5.9)

n
i+1
=
n
i
+ h
x
+
1
2
h
2

xx
+ O(h
3
) (9.5.10)
onde as derivadas sao calculadas em (t
n
, x
i
), e assim
P
k,h
=
t
+ a
x
+
1
2
k
tt
+
1
2
h
xx
+ O(k
2
) + O(h
2
) (9.5.11)
levando a
P P
k,h
=
1
2
k
tt

1
2
h
xx
+ O(k
2
) + O(h
2
) (9.5.12)
=0 quando k, h 0 (9.5.13)
Portanto, o esquema e consistente.
Exemplo 42.
Para o esquema de Lax-Friedrichs
P
k,h
=

n+1
i

1
2
(
n
i+1
+
n
i1
)
k
+ a

n
i+1

n
i1
2h
(9.5.14)
usando a serie de Taylor

n
i+1
=
n
i
+ h
x
+
1
2
h
2

xx
+
1
6
h
3

xxx
+ O(h
4
) (9.5.15)

n
i1
=
n
i
h
x
+
1
2
h
2

xx

1
6
h
3

xxx
+ O(h
4
) (9.5.16)
onde as derivadas sao calculadas em (t
n
, x
i
); obtendo
1
2
(
n
i+1
+
n
i1
) =
n
i
+
1
2
h
2

xx
+ O(h
4
) (9.5.17)
e

n
i+1

n
i1
2h
=
x
+
1
6
h
2

xxx
+ O(h
4
) (9.5.18)
Se c ao 9.6: Estabilidade 66
Substituindo no esquema obtemos
P
k,h
=
t
+ a
x
+
1
2
k
tt

1
2
k
1
h
2

xx
(9.5.19)
+
1
6
ah
2

xxx
+ O(h
4
+ k
1
h
4
+ k
2
) (9.5.20)
Assim, P P
k,h
0 quando h, k 0 e e consistente se k
1
h
2
0.
Consistencia implica que a solu cao da EDP, se for suave, e uma solu cao aproxi-
mada do problema discreto. Similarmente, conergencia signica que a solu cao discreta
aproxima a solu cao da EDP. Consistencia e uma condi cao necessaria para convergencia,
mas um esquema pode ser consistente e nao convergente.
Exemplo 43.
Considere a equa cao u
t
+ u
x
= 0 com o esquema
u
n+1
i
u
n
i
k
+ a
u
n
i+1
u
n
i
h
= 0 (9.5.21)
que pode ser reescrito como
u
n+1
i
= u
n
i

k
h
(u
n
i+1
u
n
i
) (9.5.22)
= (1 + )u
n
i
u
n
i+1
(9.5.23)
onde = k/h. Este esquema e consistente (exemplo anterior). Considere a condi cao
inicial
u
0
(x) =

1, 1 x 0
0, c.c.
(9.5.24)
A solu cao e uma transla cao de u
0
da esquerda para a direita, ou seja, a informa cao esta
se movendo nessa dire cao. Entretanto o esquema (9.5.23) calcula a solu cao em (t
n
, x
i
)
utilizando somente informa cao de pontos a direita x
i
e x
i+1
em tempos anteriores.
Assim a solu cao sera v
n
i
= 0 para i > 0 e n > 0, nao podendo convergir para
u(t, x).
Exerccio 9.8. Mostre que o esquema FTCS (9.4.7) e consistente com u
t
+u
x
= 0.
Exerccio 9.9. Mostre que o esquema leapfrog (9.4.8) e consistente com u
t
+u
x
= 0.
Exerccio 9.10. Mostre que o esquema
v
n+1
i
v
n
i
k
+ c
v
n+1
i+1
v
n+1
i1
v
n
i+1
+ v
n
i1
2kh
+ a
v
n
i+1
v
n
i1
2h
= f
n
i
(9.5.25)
e consistente com a equa cao u
t
+ cu
tx
+ au
x
= f.
9.6. Estabilidade
O ultimo exemplo mostra que consistencia nao e suciente para garantir convergencia.
Considere EDPs homogeneas, f = 0.
Se c ao 9.6: Estabilidade 67
Deni cao 9.6.1. A norma L
2
na malha e denida como
w
h
:= (h

i=
|w
i
|
2
)
1
2
(9.6.1)
Deni cao 9.6.2. Um esquema em diferen cas nitas P
k,h
v
n
i
= 0 para uma
equa cao de 1.a ordem e estavel numa regiao se J inteiro tal que T > 0,
C
T
tal que
v
n

h
C
T
J

j=0
v
j

2
h
(9.6.2)
para 0 nk T, com (k, h) .
Isto signica que para ser estavel a solu cao em t [0, T] deve permanecer
limitada por C
T
vezes a norma dos J +1 dados iniciais (J = 0 para metodos de passo
simples e J > 0 para passo multiplo).
Uma regiao de estabilidade R
2
e limitada, contem a origem e uma sequencia
(k

, h

) (0, 0) quando . Um exemplo comum e uma regiao da forma


{(k, h) : 0 < k ch C}, para algum c, C > 0.
Exemplo 44.
Mostre que um esquema da forma
u
n+1
i
= u
n
i
+ u
n
i+1
(9.6.3)
e estavel se || +|| 1.
Solu cao: Calculando a norma de u
n+1
, temos

i=
|u
n+1
i
|
2
=

i=
|u
n
i
+ u
n
i+1
|
2
(9.6.4)

i=
||
2
|u
n
i
|
2
+ 2|||||u
n
i
||u
n
i+1
| +||
2
|u
n
i+1
|
2
(9.6.5)

|
2
|u
n
i
|
2
+||||(|u
n
i
|
2
+|u
n
i+1
|
2
) +||
2
|u
n
i+1
|
2
(9.6.6)
=

(||
2
+ 2|||| +||
2
)|u
n
i
|
2
(9.6.7)
=(|| +||)
2

i=
|u
n
i
|
2
(9.6.8)
onde usamos 2xy x
2
+ y
2
. Assim
u
n+1

h
(|| +||)u
n

h
(9.6.9)
Se c ao 9.7: Teorema de equivalencia de Lax-Richtmyer 68
e o metodo e estavel se || +|| 1.
Exemplo 45.
Note que o metodo forward-time forward-space
v
n+1
i
v
n
i
k
+ a
v
n
i+1
v
n
i
h
= 0 (9.6.10)
ou transformando,
v
n+1
i
= v
n
i
ak
v
n
i+1
v
n
i
h
(9.6.11)
v
n+1
i
= (1 + a)v
n
i
av
n
i+1
(9.6.12)
com = k/h, se enquadra no exemplo anterior. Assim tal metodo e estavel se
|1 + a| +|a| 1 (9.6.13)
ou
1 a 0 (9.6.14)
Veremos adiante que esta e uma condi cao necessaria.
Deni cao 9.6.3. O PVI de 1.a ordem Pu = 0 e bem-posto se T 0, C
T
tal que

|u(t, x)|
2
dx C
T

|u(0, x)|
2
dx, (9.6.15)
para 0 t T.
9.7. Teorema de equivalencia de Lax-Richtmyer
Teorema 9.7.1 (Teorema de equivalencia de Lax-Richtmyer). Um esquema de
diferencas nitas consistente para um PVI bem-posto e convergente se e somente
se ele e est avel.
Determinar se um esquema e convergente diretamente da deni cao, pode ser
complicado. Entretanto, determinar consistencia e simples, e estabilidade e facil tambem
como veremos. Entao convergencia segue pelo teorema.
Note que, pelo teorema, esquemas instaveis nao devem ser considerados pois nao
serao convergentes.
Exerccio 9.11. Mostre que esquemas da forma
u
n+1
i
= u
n
i+1
+ u
n
i1
(9.7.1)
sao estaveis se || + || 1. Conclua que o esquema de Lax-Friedrichs e estavel se
|a| 1.
Se c ao 9.8: Condi c ao CFL 69
Exerccio 9.12. Multiplicando o esquema Leapfrog (9.4.8) por u
n+1
i
+ u
n1
i
e so-
mando em i = . . . , obtemos

|v
n+1
i
|
2
+|v
n
i
|
2
+ a(v
n+1
i
v
n
i+1
v
n+1
i+1
v
n
i
) (9.7.2)
=

|v
n
i
|
2
+|v
n1
i
|
2
+ a(v
n
i
v
n1
i+1
v
n
i+1
v
n1
i
) (9.7.3)
=

|v
1
i
|
2
+|v
0
i
|
2
+ a(v
1
i
v
0
i+1
v
1
i+1
v
0
i
) (9.7.4)
Use a desigualdade
1
2
(x
2
+ y
2
) xy
1
2
(x
2
+ y
2
) para mostrar que
(1 |a|)

i=
|v
n+1
i
|
2
+|v
n
i
|
2
(1 +|a|)

i=
|v
1
i
|
2
+|v
0
i
|
2
(9.7.5)
e conclua que o esquema e estavel para || < 1.
Exerccio 9.13. Multiplique o esquema (9.5.25) com f
n
i
= 0 por
1. v
n+1
i
+ v
n
i
, some em i = . . . e conclua que o esquema e estavel para
a < 1.
2. v
n+1
i+1
+ v
n
i1
, some em i = . . . e conclua que o esquema e estavel para
a > 1.
9.8. Condi cao CFL
Deni cao 9.8.1. O domnio de dependencia de u
t
+au
x
= 0 para o ponto
(t, x) e dado pela curva caracterstica x at = .
Deni cao 9.8.2. O domnio de dependencia numerica de um metodo
explcito do tipo
u
n+1
i
= u
n
i1
+ u
n
i
+ u
n
i+1
(9.8.1)
e dado por um triangulo envolvendo todos os pontos abaixo do ponto (x
i
, t
n
),
se propagando ate a condi cao inicial de u
0
in
ate u
0
in
.
Teorema 9.8.3. Uma condic ao necess aria para estabilidade de um esquema explcito
da forma u
n+1
i
= u
n
i1
+u
n
i
+u
n
i+1
para u
t
+au
x
= 0 com = k/h constante e
a condic ao Courant-Friedrichs-Lewy (CFL),
|a| 1. (9.8.2)
Para sistemas, onde u e um vetor, e A, , , s ao matrizes, devemos ter |a
i
| 1
para todos autovalores a
i
de A.
Demonstrac ao. Para que o esquema seja estavel e necessario que domnio de de-
pendencia da EDP esteja contido no domnio de dependencia numerico.
Considere o ponto (t, x) = (1, 0). A curva caracterstica que passa por (1, 0) e
tem = 0a1 = a com equa cao a = xat. Portanto solu cao u(1, 0) depende do
Se c ao 9.8: Condi c ao CFL 70
ponto inicial com t = 0 na equa cao caracterstica obtemos a = x a0 implicando
x = a.
Porem usando o esquema de diferen cas nitas, u
n
0
depende dos valores da
condi cao inicial u
0
i
, para n i n. Ou seja, o domnnio de dependencia numerica
se propaga ate a condi cao inicial no intervalo x [nh, nh]. Temos que t
n
= 1 = nk,
implicando n =
1
k
. Assim o domnio de dependencia numerica e x [
h
k
,
h
k
] =
[
1
,
1
].
Assim para que o metodo seja estavel e necessario que a [
1
,
1
], ou
seja, |a|
1
, ou |a| 1.
Para sistemas, u(1, x) depende de u
0
(x) em x [a, a] onde a = max(a
i
)
e a maior velocidade caracterstica. Se |a| 1 entao |a
i
| 1 e todas curvas
caractersticas pertencem ao domnio de dependencia numerica.
Veja a pagina http://www.cse.uiuc.edu/iem/pde/wavecfl/ para uma ex-
plica cao iterativa da condi cao CFL.
Teorema 9.8.4. Nenhum esquema explcito consistente e incondicionalmente est avel
para sistemas de EDPs hiperb olicas.
Exemplo 46.
O esquema implcito
1
Backward-Time Backward-Space,
v
n+1
i
v
n
i
k
+ a
v
n+1
i
v
n+1
i1
h
= 0 (9.8.3)
e incondicionalmente estavel para qualquer (porem a > 0).
Temos
(1 + a)v
n+1
i
= v
n
i
+ av
n+1
i1
(9.8.4)
e elevando ao quadrado,
(1 + a)
2
|v
n+1
i
|
2
|v
n
i
|
2
+ 2a|v
n
i
||v
n+1
i1
| + (a)
2
|v
n+1
i1
|
2
(9.8.5)
(1 + a)|v
n
i
|
2
+ (a + (a)
2
)|v
n+1
i1
|
2
(9.8.6)
Somando em i, obtemos
(1 + a)
2

|v
n+1
i
|
2
(1 + a)

|v
n
i
|
2
+ (a + (a)
2
)

|v
n+1
i1
|
2
(9.8.7)
que fornece a estimativa

|v
n+1
i
|
2

|v
n
i
|
2
(9.8.8)
e mostra que o esquema e estavel para qualquer quando a > 0.
Note que o esquema e estavel independente de porem a precisao ainda depende
de .
1
Note que o teorema n ao se aplica aqui por este ser implcito.
71
Exerccio 9.14. Mostre que esquemas da forma
v
n+1
m+1
+ v
n+1
m1
= v
n
m
(9.8.9)
sao estaveis se ||| ||| 1. Conclua que o esquema de Lax-Friedrichs reverso
1
2
(v
n+1
m+1
+ v
n+1
m1
) v
n
m
k
+ a
v
n+1
m+1
v
n+1
m1
2h
= 0 (9.8.10)
e estavel se |a| 1.
Aula 16, 17 .
Analise de Esquemas de Diferen cas Finitas
.
Strikwerda: Cap. 2
Captulo 10:
Analise de esquemas de diferencas nitas
10.1. Analise de Fourier
Seja R o eixo real contnuo, Z os inteiros e hZ = {hi : i Z} uma malha de inteiros.
Para u(x) R, a transformada de Fourier e sua inversa sao denidas como
u() =
1

e
ix
u(x) dx (10.1.1)
u(x) =
1

e
ix
u() d (10.1.2)
Se v e uma fun cao denida na malha hZ para m Z, a transformada de Fourier
(e sua inversa) sao denidas como
v() =
1

i=
e
im
v
m
(10.1.3)
v
m
=
1

e
im
v() d (10.1.4)
para [, ] e v() = v().
Note que v
m
pode ser interpretada como uma superposi cao de ondas v().
Se c ao 10.1: An alise de Fourier 72
Se h e o espa camento da malha, podemos mudar as variaveis e obter
v() =
1

i=
e
imh
v
m
h (10.1.5)
v
m
=
1

/h
/h
e
imh
v() d (10.1.6)
para [/h, /h].
Dena as normas
Deni cao 10.1.1. norma L
2
de u(x):
u
2
:=

|u(x)|
2
dx

1/2
(10.1.7)
norma L
2
na malha de v:
v
h
:=

|v
m
|
2

1/2
(10.1.8)
Rela coes de Parseval:
u
2
2
=

|u(x)|
2
dx =

| u()|
2
d = u
2
2
(10.1.9)
e
v
2
h
=

/h
/h
| v()|
2
d =

|v
m
|
2
h = v
2
h
(10.1.10)
Esta rela cao sera util para substituir a estimativa na estabilidade pela forma
equivalente
v
n

h
C
T
J

j=0
v
j

h
(10.1.11)
Note que nao existe tal rela cao se usarmos
1
a norma innito.
Diferenciando a transformada inversa
u(x) =
1

e
ix
u() d (10.1.12)
com rela cao a x obtemos
u
x
(x) =
1

e
ix
i u() d (10.1.13)
u
x
(x) =
1

e
ix
u
x
() d (10.1.14)
e com isso conclumos
1
n ao diretamente [11].
Se c ao 10.1: An alise de Fourier 73
u
x
() = i u()
10.1.1. Analisando EDPs
Isolando u
x
na equa cao da onda
u
t
+ au
x
= 0, (10.1.15)
obtemos u
x
=
1
a
u
t
. Substituindo em (10.1.13),

1
a
u
t
= u
x
(t, x) =
1

e
ix
i u(t, ) d (10.1.16)
u
t
(t, x) =
1

e
ix
ia u(t, ) d (10.1.17)
Ou seja, u satisfaz a EDO
u
t
= ia u (10.1.18)
cuja solu cao e
u(t, ) = e
iat
u
0
() (10.1.19)
Usando a rela cao de Parseval e o fato que
|e
iat
| = | cos(at) i sin(at)| = 1,
temos
u
2
=

|u(t, x)|
2
dx (10.1.20)
=

| u(t, )|
2
d (10.1.21)
=

|e
iat
u
0
()|
2
d (10.1.22)
=

| u
0
()|
2
d (10.1.23)
=

|u
0
(x)|
2
dx (10.1.24)
= u
0

2
(10.1.25)
mostrando que o PVI e bem-posto. Mostra ainda que a norma da solu cao e constante.
10.1.2. Em mais que uma dimensao
A transformada de Fourier e denida em R
d
como
u() =
1
(2)
d/2

R
d
e
ix
u(x) dx (10.1.26)
u(x) =
1
(2)
d/2

R
d
e
ix
u() d (10.1.27)
Se c ao 10.2: An alise de Von Neumann 74
onde x e o produto interno em R
d
.
Exerccio 10.1. Mostre utilizando transformada de Fourier que o PVI u
t
= u
xxx
e
bem-posto.
Exerccio 10.2. Mostre utilizando transformada de Fourier que o PVI u
t
+u
x
+bu = 0
e bem-posto.
Exerccio 10.3. Mostre utilizando transformada de Fourier que o PVI u
t
+au
x
+bu
y
=
0 e bem-posto.
10.2. Analise de Von Neumann
Usando transformada de Fourier vamos estudar a estabilidade de um esquema de dife-
ren cas nitas. Considere o esquema FTBS
v
n+1
m
v
n
m
k
+ a
v
n
m
v
n
m1
h
= 0 (10.2.1)
que pode ser reescrito como
v
n+1
m
= (1 a)v
n
m
+ av
n
m1
, (10.2.2)
onde = k/h. Usando a transformada de Fourier inversa para v
n
obtemos,
v
n
m
=
1

/h
/h
e
imh
v
n
() d (10.2.3)
que substituindo na equa cao anterior para v
n
m
e v
n
m1
,
v
n+1
m
=(1 a)
1

/h
/h
e
imh
v
n
() d (10.2.4)
+ a
1

/h
/h
e
i(m1)h
v
n
() d (10.2.5)
=
1

/h
/h
e
imh
[(1 a) + ae
ih
] v
n
() d (10.2.6)
e comparando com a f ormula da transformada inversa, obtemos
v
n+1
() = [(1 a) + ae
ih
] v
n
() (10.2.7)
= g(h) v
n
() (10.2.8)
onde
g(h) = (1 a) + ae
ih
(10.2.9)
e o fator de amplica cao. Note que avan car um passo no tempo e equivalente a
multiplicar cada frequencia v
n
() pelo fator de amplica cao. Desta forma obtemos
2
v
n
() = g(h)
n
v
0
() (10.2.10)
2
note que g(h)
n
est a elevado na potencia n e v
0
() est a na itera c ao 0.
Se c ao 10.2: An alise de Von Neumann 75
Tal formula e usada para estudar a estabilidade do metodo de diferen cas nitas,
similarmente a analise anterior do PVI ser bem posto. Pela rela cao de Parseval, se
|g(h)| < 1 entao
v
n

2
h
= h

|v
n
m
|
2
(10.2.11)
=

/h
/h
| v
n
()|
2
d (10.2.12)
=

/h
/h
|g(h)|
2n
| v
0
()|
2
d (10.2.13)

/h
/h
| v
0
()|
2
d (10.2.14)
= h

|v
0
m
|
2
(10.2.15)
= v
0

2
h
(10.2.16)
mostrando que o sistema e estavel por deni cao.
Resta mostrar sob quais condi coes que |g(h)| < 1. Tomando = h,
|g()|
2
= |(1 a) + ae
i
|
2
(10.2.17)
= (1 a + acos )
2
+ a
2

2
sin
2
(10.2.18)
= (1 2asin
2

2
)
2
+ 4a
2

2
sin
2

2
cos
2

2
(10.2.19)
= 1 4asin
2

2
+ 4a
2

2
sin
4

2
+ 4a
2

2
sin
2

2
cos
2

2
(10.2.20)
= 1 4a(1 a) sin
2

2
(10.2.21)
de onde temos que |g()| e limitado por 1 se 0 a 1.
Entretanto se a / [0, 1] e e xo quando h 0 e k 0, entao |g()| > 1
para alguns e o esquema e instavel, como mostraremos.
10.2.1. A condi cao de estabilidade
Teorema 10.2.1. Um esquema de diferencas nitas de passo simples (com coe-
cientes constantes) e est avel se e somente se K (independente de , k e h) e
espa camentos h
0
, k
0
> 0 tais que
|g(, k, h)| 1 + Kk (10.2.22)
, 0 < k k
0
,0 < h h
0
. Se g = g(), ent ao a condic ao de estabilidade e
|g()| 1. (10.2.23)
Demonstrac ao. Veja [11], p.44.
Se c ao 10.2: An alise de Von Neumann 76
Este teorema mostra que para determinar a estabilidade devemos considerar
g(h) (esta observa cao e chamada de analise de von Neumann).
Exemplo 47.
Considere o esquema FTFS para o qual
g(h) = 1 + a ae
ih
(10.2.24)
onde a > 0 e e constante. Temos que
|g|
2
= 1 + 4a(1 + a) sin
2

2
. (10.2.25)
Se e constante, podemos usar a condi cao |g()| 1, e temos que |g| > 1 para = 0,
o que implica que o esquema e instavel. Lembre que pelo exemplo 43, sabemos que tal
esquema nao e convergente.
Podemos tambem obter expressoes para g sem escrever as integrais. Basta
substituirmos v
n
m
por g
n
e
im
(tal procedimento e apenas um atalho para o metodo
anterior).
Exemplo 48.
Usaremos o esquema FTCS
v
n+1
m
v
n
m
k
+ a
v
n
m+1
v
n
m1
2h
= 0 (10.2.26)
para mostrar tal procedimento. Substitua v
n
m
por g
n
e
imh
e obtenha
g
n+1
e
im
g
n
e
im
k
+ a
g
n
e
i(m+1)
g
n
e
i(m1)
2h
(10.2.27)
=g
n
e
im

g 1
k
+ a
e
i
e
i
2h

= 0 (10.2.28)
que fornece
g = 1 iasin() (10.2.29)
com = k/h. Se e constante, entao g e independente de h e k e
|g()|
2
= 1 + a
2

2
sin
2
() (10.2.30)
Como |g| > 1 para = 0 ou = , pelo teorema anterior, este esquema e instavel.
Exemplo 49.
Considere o metodo de Lax-Friedrichs
v
n+1
m

1
2
(v
n
m+1
+ v
n
m1
)
k
+ a
v
n
m+1
v
n
m1
2h
v
n
m
= 0 (10.2.31)
para a equa cao
u
t
+ au
x
u = 0 (10.2.32)
O fator de amplica cao e
g(, k, h) = cos() iasin() + k (10.2.33)
Se c ao 10.2: An alise de Von Neumann 77
e
|g|
2
= (cos() + k)
2
+ a
2

2
sin
2
() (10.2.34)
(1 + k)
2
(10.2.35)
se |a| 1. Note que como o PVI possui solu coes que crescem com o tempo, qualquer
esquema consistente e estavel para este PVI deve ter |g| > 1 para alguns .
Corolario 2. Se um esquema como no teorema 10.2.1 e modicado tal que a di-
ferenca resulta somente na adic ao de termos em g que s ao O(k) uniformemente
em , ent ao o esquema modicado e est avel se e somente se o esquema original e
est avel.
Demonstrac ao. Se g e o fator de amplica cao para o esquema e |g| 1 +Kk, entao
o fator de amplica cao do esquema modicado, g

, satisfaz
|g

| = |g +O(k)| 1 + Kk + Ck = 1 + K
1
k (10.2.36)
Da o esquema modicado e estavel se o esquema original e estavel, e vice-versa.
Teorema 10.2.2. Um esquema consistente de passo simples para
u
t
+ au
x
+ bu = 0 (10.2.37)
e est avel se e somente se ele e est avel quando b = 0. Alem disso, quando k = h e
e constante, a condic ao de estabilidade se torna
|g(, 0, 0)| 1 (10.2.38)
Demonstrac ao. Pela consistencia, o termo bu adiciona um termo O(k) a g. Pelo
corolario anterior tal termo nao afeta estabilidade.
Expandindo em serie de Taylor em k e h,
g(, k, h) = g(, 0, 0) +O(h) +O(k), (10.2.39)
e se h =
1

k, entao h = O(k). Alem disso, se [, ], o termo O(k) e uniforme-


mente limitado. Assim, pelo corolario, a condi cao de estabilidade e
|g(, 0, 0)| 1 + Kk, (10.2.40)
para algum K. Como o lado esquerdo nao depende de k e 0 < k 1, temos que a
estimativa
3
e valida se e somente se
|g(, 0, 0)| 1. (10.2.41)
Note que |g| 1 + Kk e equivalente a |g|
2
1 + K
1
k.
Exerccio 10.4. Fa ca a analise de Von Neumann para o metodo de Lax-Friedrichs do
exemplo 49. Utilize o teorema anterior e analise a equa cao sem o termo bu.
3
Similarmente e provado a ultima parte do teorema.
Se c ao 10.2: An alise de Von Neumann 78
Exemplo 50.
Considere o esquema em dois estagios composto pelo esquema FTCS e um operador
suavizante:
v
n+1
m
= v
n
m

1
2
a(v
n
m+1
v
n
m1
) + kf
n
m
(10.2.42)
v
n+1
m
=
1
4
( v
n+1
m+1
+ 2 v
n+1
m
+ v
n+1
m1
) (10.2.43)
Para aplicar a analise de Von Neumman, poderamos reescrever esse metodo
como uma unica equa cao eliminando v. Entretanto, aplicando um procedimento similar,
substitumos v
n+1
m
por gg
n
e
im
e v
n
m
por g
n
e
im
. Obtemos
g = 1 iasin (10.2.44)
g =
1
2
(1 + cos ) g = g cos
2

2
(10.2.45)
e
|g|
2
= | g|
2
cos
4

2
= (1 + a
2

2
sin
2
()) cos
4

2
(10.2.46)
Para estabilidade devemos ter
(1 + a
2

2
sin
2
()) cos
4

2
1 (10.2.47)
(1 + 4a
2

2
sin
2

2
cos
2

2
) cos
4

2
1 (10.2.48)
4a
2

2
sin
2

2
cos
6

2
1 cos
4

2
(10.2.49)
(1 cos
2

2
)(1 + cos
2

2
) (10.2.50)
sin
2

2
(1 + cos
2

2
) (10.2.51)
4a
2

2
cos
6

2
1 + cos
2

2
(10.2.52)
que deve ser verdade .
Quando = 0, a condi cao necessaria se torna
a
2

1
2
(10.2.53)
Assumindo isto e que cos e limitado por 1 obtemos
4a
2

2
cos
6

2
2 cos
2

2
1 + cos
2

2
(10.2.54)
Assim, o esquema e estavel se e somente se
|a|
1

2
(10.2.55)
Note que esse esquema requer mais trabalho por passo de tempo e possui uma
condi cao de estabilidade mais restrita que o esquema de Lax-Friedrichs. Note tambem
que o esquema FTCS e instavel sem o termo dissipativo.
Se c ao 10.3: Coment arios sobre instabilidade e estabilidade 79
Exemplo 51.
Considere a equa cao u
t
+ au
xxx
= f e o esquema
v
n+1
m
=
v
n
m+1
+ v
n
m1
2
(10.2.56)

1
2
akh
3
(v
n
m+2
2v
n
m+1
+ 2v
n
m1
v
n
m2
) + kf
n
m
(10.2.57)
Esse esquema e consistente com o PVI se k
1
h
2
0 com k, h 0 (veja os exerccios).
O fator de amplica cao e
g() = cos + 4akh
3
i sin sin
2

2
(10.2.58)
e o esquema e estavel se e somente se
4|a|kh
3
(10.2.59)
e limitado. A condi cao de consistencia e de estabilidade nao podem ser ambas satisfei-
tas. Assim o esquema nao e convergente, pois nao pode ser consistente e estavel.
Exerccio 10.5. Mostre que o esquema BTCS (??) e consistente com u
t
+ au
x
= 0
e e incondicionalmente estavel.
Exerccio 10.6. Verique a condi cao de estabilidade para o exemplo 51.
Exerccio 10.7. Mostre que o esquema box
(v
n+1
m
+ v
n+1
m+1
) (v
n
m
+ v
n
m+1
)
2k
+ a
(v
n+1
m+1
v
n+1
m
) + (v
n
m+1
v
n
m
)
2h
= f
n
m
(10.2.60)
e consistente com u
t
+ au
x
= f e e estavel para todo .
Exerccio 10.8. Determine a estabilidade do esquema
v
n+
1
2
m
= v
n
m

a
2
(v
n
m+1
v
n
m1
) + kf
n
m
(10.2.61)
v
n+1
m
= v
n
m

a
2
(v
n+
1
2
m+1
v
n+
1
2
m1
) + kf
n+1
m
(10.2.62)
onde v
n+
1
2
m
e uma variavel temporaria, como v.
Exerccio 10.9. Usando analise de von Neumann, mostre que o esquema de Lax-
Friedrichs reverso do exerccio 9.8.10 e estavel para |a| 1.
10.3. Comentarios sobre instabilidade e estabilidade
Instabilidade numerica esta relacionada com oscila coes de altas frequencias.
Considere o esquema de Lax-Friedrichs, com a = 1.6. Temos que |g()|
2
=
cos
2
+ a
2

2
sin
2
, que possui maximo em |a| = 1.6, quando = /2. A
razao v
n+1

h
/v
n

h
1.6.
Instabilidade pode ser vista como rapido crescimento dos modos de altas frequencias.
Instabilidade aparece mais cedo com dados iniciais que apresentem modos de altas
frequencias.
Se c ao 10.3: Coment arios sobre instabilidade e estabilidade 80
Instabilidade e um fenomeno essencialmente local, que se espalha globalmente.
Demonstra coes requerem um bom entendimento de analise de Fourier.
Entender instabilidade numerica ajuda a diferenciar entre erros de programa cao e
instabilidade do esquema numerico.
10.3.1. Condi coes de estabilidade para coecientes variaveis
A analise nao se aplica diretamente!! Entretanto, considere a equa cao u
t
+a(t, x)u
x
=
0 com o esquema de Lax-Friedrichs
v
n
m
=
1
2
(v
n
m+1
+ v
n
m1
)
1
2
a(t
n
, x
n
)(v
n
m+1
v
n
m1
) (10.3.1)
A condi cao de estabilidade se torna |a(t
n
, x
m
)| 1, (t
n
, x
m
) no domnio.
O procedimento geral e considerar cada problema em cada passo de tempo se-
paradamente, congelando os coecientes. Se cada problema com coecientes xos e
estavel, entao esperamos que o problema com coecientes variaveis tambem seja estavel.
Veja [11], p. 51 para referencias.
10.3.2. Estabilidade numerica e estabilidade dinamica
A deni cao 9.6.2 e a de estabilidade numerica.
A estabilidade dinamica refere-se a propriedade de pequenas perturba coes sobre
o estado inicial de um sistema gerarem pequenas varia coes no estado nal deste
sistema (havera decaimento nas varia coes, ou pelo menos nao crescimento, quanto
t cresce).
Portanto estabilidade dinamica refere-se ao comportamento das solu coes quando
t e estabilidade numerica refere-se ao comportamento da solu coes sobre
um intervalo de tempo nito quando a malha e renada.
Considere a equa cao, para x R, t > 0,
u
t
+ au
x
+ bu = 0 (10.3.2)
Se b > 0 entao a solu cao e dinamicamente estavel, ja que qualquer solu cao decai
com o tempo.
Se b < 0, entao e dinamicamente instavel, pois cresce sem limites quando t
aumenta.
Para um esquema numerico, a estabilidade numerica nao depende de b (teorema
10.2.2). Podemos usar qualquer esquema convergente para computar a solu cao
do PVI; entretanto um esquema numericamente instavel aplicado a uma equa cao
dinamicamente instavel nao achara solu coes convergentes.
Exerccio 10.10. Aproxime a solu cao da equa cao
u
t
+ u
x
= 0, 1 x 3, 0 t 1 (10.3.3)
u(0, x) =

1 |x|, |x| 1
0, c.c.
(10.3.4)
u(t, 1) = 0 (10.3.5)
81
com o esquema FTFS 9.4.5. Use h = 0.1 e = 0.8. Demonstre que a instabilidade
numerica cresce por um fator de |g()| por unidade de tempo. Comente o aparecimento
da instabilidade no graco de v
n
m
. Utilize a condi cao de contorno u
n+1
M
= u
n+1
M1
em
x = 3.
Exerccio 10.11.
a. Aproxime a solu cao da equa cao
u
t
+ u
x
= 0, 1 x 3, 0 t 4 (10.3.6)
u
1
(0, x) =

1 |x|, |x| 1
0, c.c.
(10.3.7)
u(t, 1) = 0 (10.3.8)
usando o esquema FTCS 9.4.7. Use h = 0.1 e = 0.8. Use u
n+1
M
= u
n+1
M1
em
x = 3.
b. Repita o item a. com
u
2
(0, x) = sin(x) (10.3.9)
u(t, 1) = sin(1 + t) (10.3.10)
c. Demonstre que a instabilidade e evidente mais cedo para u
1
(x) do que para
u
2
(x). Mostre que o crescimento da instabilidade e aproximadamente |g(/2)|.
Use u
n+1
M
= u
n+1
M1
para o contorno direito.
Exerccio 10.12. Resolva numericamente a equa cao
u
t
+ (1 + x)u
x
= 0, 3 x 3, 0 t 2 (10.3.11)
(10.3.12)
u(0, x) =

1 |x|, |x| 1
0, c.c.
(10.3.13)
u(t, 3) = 0 (10.3.14)
usando o esquema de Lax-Friedrichs (10.3.1) com = 0.5 e = 1. Demonstre que
a instabilidade ocorre quando |(1 + x
m
)| > 1. Use u
n+1
M
= 0.
Aula 18, 19, 20 .
Ordem de precisao
.
Strikwerda: Cap. 3
Captulo 11:
Se c ao 11.1: Esquema Lax-Wendro 82
Ordem de Precisao
Nos captulos anteriores analisamos os esquemas somente quanto a convergencia. Uti-
lizando o teorema de Lax-Richtmeyer consideramos a estabilidade e a consistencia.
Antes de denir precisao considere os seguintes esquemas.
11.1. Esquema Lax-Wendro
Para obter o esquema de Lax-Wendro para a equa cao
u
t
= au
x
+ f (11.1.1)
utilizamos a serie de Taylor
u(t + k, x) = u(t, x) + ku
t
(t, x) +
k
2
2
u
tt
(t, x) +O(k
3
). (11.1.2)
Usando a equa cao diferencial obtemos
u
tt
= au
tx
+ f
t
= a
2
u
xx
af
x
+ f
t
(11.1.3)
e substituindo na serie obtemos
u(t + k, x) = u(t, x) + ku
t
(t, x) +
k
2
2
u
tt
(t, x) +O(k
3
)
=u(t, x) + k(au
x
+ f) +
k
2
2
(a
2
u
xx
af
x
+ f
t
) +O(k
3
)
=u(t, x) aku
x
+
a
2
k
2
2
u
xx
+ kf
ak
2
2
f
x
+
k
2
2
f
t
+O(k
3
)
Trocando as derivadas em x por diferen cas nitas de segunda ordem e f
t
por uma
diferen ca pra frente obtemos
u
n+1
m
= u
n
m
ak
u
n
m+1
u
n
m1
2h
+
a
2
k
2
2
u
n
m+1
2u
n
m
+ u
n
m1
h
2
+ k
f
n+1
m
+ f
n
m
2

ak
2
2
f
n
m+1
f
n
m1
2h
+O(kh
2
) +O(k
3
)
fornecendo o esquema de Lax-Wendro
u
n+1
m
u
n
m
k
a
u
n
m+1
u
n
m1
2h

a
2
k
2
u
n
m+1
2u
n
m
+ u
n
m1
h
2
(11.1.4)
=
f
n+1
m
+ f
n
m
2

ak
2
f
n
m+1
f
n
m1
2h
(11.1.5)
ou ainda
u
n+1
m
= u
n
m

a
2
(u
n
m+1
u
n
m1
) +
a
2

2
2
(u
n
m+1
2u
n
m
+ u
n
m1
) (11.1.6)
+
k
2
(f
n+1
m
+ f
n
m
)
ak
4
(f
n
m+1
f
n
m1
) (11.1.7)
Se c ao 11.2: Esquema Cranck-Nicolson 83
11.2. Esquema Cranck-Nicolson
Para derivar esse esquema come camos com a formula
(u
t
)
n+
1
2
m
=
u
n+1
m
u
n
m
k
+O(k
2
) (11.2.1)
para u
t
calculado em (t +
1
2
k, x). Tambem usamos a rela cao
(u
x
)
n+
1
2
m
=
(u
x
)
n+1
m
+ (u
x
)
n
m
2
+O(k
2
) (11.2.2)
=
1
2

u
n+1
m+1
u
n+1
m1
2h
+
u
n
m+1
u
n
m1
2h

(11.2.3)
+O(k
2
) +O(h
2
) (11.2.4)
obtendo o metodo de Crank-Nicolson
u
n+1
m
u
n
m
k
+ a
u
n+1
m+1
u
n+1
m1
+ u
n
m+1
u
n
m1
4h
=
f
n+1
m
+ f
n
m
2
(11.2.5)
ou ainda,
a
4
u
n+1
m+1
+ u
n+1
m

a
4
u
n+1
m1
= (11.2.6)

a
4
u
n
m+1
+ u
n
m
+
a
4
u
n
m1
+
k
2
(f
n+1
m
+ f
n
m
) (11.2.7)
Uma EDP (contnua) Pu = f pode ser aproximada por um esquema (discreto)
como P
k,h
u = R
k,h
f onde cada expressao calculada no ponto (t
n
, x
m
) envolve somente
uma soma nita de pontos vizinhos.
Deni cao 11.2.1. Um esquema P
k,h
u = R
k,h
f consistente com a EDP Pu =
f possui ordem de precisao p no tempo e ordem q no espa co se para qualquer
(t, x) suave
T = P
k,h
R
k,h
P = O(k
p
) +O(h
q
). (11.2.8)
Dizemos que o esquema e de ordem (p, q).
Note a correla cao entre consistencia e ordem de precisao: o operador R
k,h
deve
ser uma aproxima cao do operador identidade para que P
k,h
seja consistente com P.
Deni cao 11.2.2. O erro de truncamento e denido como T = P
k,h

R
k,h
P.
Exemplo 52.
Mostraremos que o metodo de Lax-Wendro e de ordem (2, 2). Usando serie de Taylor,
para o lado esquerdo de (11.1.4) calculado em (t
n
, x
m
) obtemos

t
+
k
2

tt
+ a
x

a
2
k
2

xx
+O(k
2
) +O(h
2
). (11.2.9)
Se c ao 11.3: O smbolo de um esquema de DF 84
Para uma fun cao suave f(t, x) o lado direito se torna
f +
k
2
f
t

ak
2
f
x
+O(k
2
) +O(h
2
) (11.2.10)
e se f =
t
+ a
x
= P, temos

t
+ a
x
+
k
2

tt
+
k
2
a
xt

ak
2

xt

a
2
k
2

xx
+O(k
2
) +O(h
2
). (11.2.11)
que e da mesma ordem que (11.2.9) ate ordem O(k
2
) +O(h
2
). Portanto o esquema e
de ordem (2, 2).
Por outro lado, se no esquema de Lax-Wendro usarmos R
h,k
f
n
m
= f
n
m
, i.e.,
u
n+1
m
= u
n
m

a
2
(u
n
m+1
u
n
m1
) (11.2.12)
+
a
2

2
2
(u
n
m+1
2u
n
m
+ u
n
m1
) + kf
n
m
(11.2.13)
possui ordem de precisao (1, 2).
Note que para determinar a ordem da precisao usamos a forma (11.1.4) ao inves
de (11.1.6) que e obtida multiplicando por k a primeira expressao.
A deni cao de precisao nao pode ser aplicada diretamente ao metodo de Lax-
Friedrichs, por exemplo, pois contem O(h
2
k
1
). Assumindo que k depende de h,
k = (h), onde e uma fun cao suave de h e (0) = 0.
Deni cao 11.2.3. Um esquema P
k,h
u = R
k,h
f, com k = (h), consistente
com a EDP Pu = f possui ordem de precisao r se para qualquer (t, x) suave,
P
k,h
R
k,h
P = O(h
r
). (11.2.14)
Tomando (h) = h, o esquema de Lax-Friedrichs e consistente com a equa cao
da onda unidirecional de acordo com a ultima deni cao.
11.3. O smbolo de um esquema de DF
Deni cao 11.3.1. O smbolo p
k,h
(s, ) de um operador de diferen cas P
k,h
e
denido por
P
k,h
(e
skn
, e
imh
) = p
k,h
(s, )e
skn
e
imh
(11.3.1)
Isto e, o smbolo e a quantidade multiplicando a fun cao
n
m
= e
skn
e
imh
na
malha depois de aplicar o operador de diferen cas P
k,h
em
n
m
.
Exemplo 53.
O operador de diferen cas para o esquema de Lax-Wendro e
p
k,h
(s, ) =
e
sk
1
k
+
ia
h
sinh + 2
a
2
k
h
2
sin
2
(
1
2
h) (11.3.2)
Se c ao 11.3: O smbolo de um esquema de DF 85
e
r
k,h
(s, ) =
1
2
(e
sk
+ 1)
iak
2h
sin h (11.3.3)
Deni cao 11.3.2. O smbolo p(s, ) do operador diferencial P e denido por
P(e
st
e
ix
) = p(s, )e
st
e
ix
(11.3.4)
Isto e, o smbolo e a quantidade multiplicando a fun cao (t, x) = e
st
e
ix
depois
de aplicar o operador P em (t, x).
Teorema 11.3.3. Um esquema P
k,h
u = R
k,h
f consistente com a EDP Pu = f
possui ordem de precis ao (p, q) se e somente se para cada s e ,
p
k,h
(s, )
r
k,h
(s, )
p(s, ) = O(k
p
) +O(h
q
). (11.3.5)
Demonstrac ao. Segue diretamente das deni coes de consistencia e dos smbolos.
Tambem e necessario expandir P
k,h
em serie de Taylor, veja [11], p. 57.
Na prova do teorema, obtemos que
p
k,h
(s, ) r
k,h
(s, )p(s, ) = O(k
p
) +O(h
q
). (11.3.6)
que e utilizada na pratica para mostrar ordem de precisao.
Corolario 3. Um esquema P
k,h
u = R
k,h
f consistente com a EDP Pu = f onde
k = (h) possui ordem de precis ao r se e somente se para cada s e ,
p
k,h
(s, )
r
k,h
(s, )
p(s, ) = O(h
r
). (11.3.7)
Exemplo 54.
Vamos provar que o metodo de Crank-Nicolson e de ordem (2, 2). Utilizando (11.2.5)
u
n+1
m
u
n
m
k
+ a
u
n+1
m+1
u
n+1
m1
+ u
n
m+1
u
n
m1
4h
=
f
n+1
m
+ f
n
m
2
(11.3.8)
u
n+1
m
u
n
m
k
+ a
u
n+1
m+1
u
n+1
m1
+ u
n
m+1
u
n
m1
4h
=
f
n+1
m
+ f
n
m
2
(11.3.9)
obtemos
p
k,h
(s, ) =
e
sk
1
k
+ ia
e
sk
+ 1
2
sin(h)
h
(11.3.10)
e
r
k,h
(s, ) =
e
sk
+ 1
2
(11.3.11)
Temos entao que o lado esquerdo de (11.3.6) torna-se
e
sk
1
k
+ ia
e
sk
+ 1
2
sin(h)
h

e
sk
+ 1
2
(s + ia) (11.3.12)
Se c ao 11.4: Ordem de precis ao da solu c ao 86
Devemos expandir em serie de Taylor, mas antes
1
, multiplique por e
sk/2
= O(1) temos
e
sk/2
e
sk/2
k
+ ia
e
sk/2
+ e
sk/2
2
sin(h)
h

e
sk/2
+ e
sk/2
2
(s + ia) (11.3.13)
Utilizando as expansoes em serie de Taylor,
e
sk/2
e
sk/2
k
= s +
s
3
k
2
24
+O(k
4
) (11.3.14)
e
sk/2
+ e
sk/2
2
= 1 +
s
2
k
2
8
+O(k
4
) (11.3.15)
sin(h)
h
=

3
h
2
6
+O(h
4
) (11.3.16)
obtemos
[s +
s
3
k
2
24
+O(k
4
)] + ia[1 +
s
2
k
2
8
+O(k
4
)][

3
h
2
6
+O(h
4
)]
[1 +
s
2
k
2
8
+O(k
4
)](s + ia)
=s +
s
3
k
2
24
+ ia[1 +
s
2
k
2
8
][

3
h
2
6
]
[1 +
s
2
k
2
8
](s + ia) +O(k
4
+ h
4
+ k
2
h
2
)
=
k
2
s
3
12
ia

3
h
2
6
+O(k
4
+ h
4
+ k
2
h
2
)
=O(k
2
+ h
2
)
O que implica que o metodo e de ordem (2, 2).
11.4. Ordem de precisao da solu cao
Nas se coes anteriores tratavamos da ordem de precisao de um esquema de diferen cas
nitas. Este se relaciona com a ordem de precisao da solu cao, que pode ser calculada
da solu cao obtida numericamente.
Deni cao 11.4.1. Seja u(t, x) a solu cao do PVI e um esquema de DF com
u
0
m
= u(0, x
m
). Assuma que k = (h). O erro em t = nk e calculado por
Error(t) = u(t, ) u
n

h
(11.4.1)
= (h

m=
|u(t, x
m
) u
n
m
|
2
)
1
2
= O(h
r
) (11.4.2)
A ordem de precisao da solu cao e denida pelo n umero r, caso exista.
Se o dado inicial e suave, entao a ordem de precisao do esquema e a numerica
sao iguais (Cap.10 [11]). Se o erro e medido com outra norma, a ordem da precisao
pode ser diferente.
1
Podemos expandir diretamente em serie de Taylor essa ultima express ao
Se c ao 11.5: Estabilidade LW e CN 87
11.5. Estabilidade LW e CN
Exemplo 55.
O esquema de Lax-Wendro para u
t
+ au
x
= 0 e
u
n+1
m
= u
n
m

a
2
(u
n
m+1
u
n
m1
) +
a
2

2
2
(u
n
m+1
2u
n
m
+ u
n
m1
) (11.5.1)
que possui fator de amplica cao
g() = 1
a
2
(e
i
e
i
) +
a
2

2
2
(e
i
2 + e
i
) (11.5.2)
= 1 iasin a
2

2
(1 cos ) (11.5.3)
= 1 2a
2

2
sin
2

2
iasin (11.5.4)
com magnitude
|g()|
2
= (1 2a
2

2
sin
2

2
)
2
+ (2asin

2
cos

2
)
2
(11.5.5)
= 1 4a
2

2
sin
2

2
2
+ 4a
4

4
sin
4

2
+ 4a
2

2
sin
2

2
cos
2

2
(11.5.6)
= 1 4a
2

2
(1 a
2

2
) sin
4

2
(11.5.7)
Assim, o esquema de Lax-Wendro e estavel (|g()| 1) se e somente se |a| 1.
Exemplo 56.
Para o metodo de Crank-Nicolson (11.2.5), obtemos
g() =
1 i
1
2
asin
1 + i
1
2
asin
(11.5.8)
e
|g()|
2
=
1 + (
1
2
asin )
2
1 + (
1
2
asin )
2
= 1 (11.5.9)
O que implica que o esquema e estavel , ou seja, incondicionalmente estavel.
Exerccio 11.1. Mostre que o esquema MacCormack
u
n+1
m
= u
n
m
a(u
n
m+1
u
n
m
) + kf
n
m
(11.5.10)
u
n+1
m
=
1
2
(u
n
m
+ u
n+1
m
a( u
n+1
m
u
n+1
m1
) + kf
n+1
m
) (11.5.11)
possui segunda ordem de precisao para u
t
+ au
x
= 0. Mostre que para f = 0, o
esquema e identico ao esquema de Lax-Wendro.
Exerccio 11.2. Mostre que o esquema box
1
2k
[(u
n+1
m
+ u
n+1
m+1
) (u
n
m
+ u
n
m+1
)] (11.5.12)
+
a
2h
[(u
n+1
m+1
u
n+1
m
) + (u
n
m+1
u
n
m
)] (11.5.13)
=
1
4
(f
n+1
m+1
+ f
n+1
m
+ f
n
m+1
+ f
n
m
) (11.5.14)
Se c ao 11.5: Estabilidade LW e CN 88
possui ordem de precisao (2, 2) para u
t
+ au
x
= f. Mostre que e estavel para todo .
Exerccio 11.3. Usando o esquema box (exerccio anterior), resolva
u
t
+ u
x
= sin(x t), 0 x 1, 0 t 1.2 (11.5.15)
u(0, x) = sin(x) (11.5.16)
u(t, 0) = (1 + t) sin(t) (11.5.17)
Demonstre que a solu cao e de segunda ordem de precisao usando = 1.2, h =
1
10
,
1
20
,
1
40
e
1
80
. Compute o erro na norma L
2
e L

. Mostre que o esquema box em (10.2.60)


e de primeira ordem. Para implementar o esquema box, note que u
n+1
0
e dado pela
condi cao de contorno e u
n+1
m+1
pode ser determinado pelo esquema.
Exerccio 11.4. Resolva numericamente a equa cao
u
t
+ u
x
= 0, 1 x 1, 0 t 1.2 (11.5.18)
u(0, x) = sin(2x) (11.5.19)
u(t, 1) = u(t, 1) (11.5.20)
Use dois metodos:
a. FTBS com = 0.8.
b. Lax-Wendro com = 0.8.
Demonstre que a solu cao de a. e de primeira ordem e de b. e de segunda ordem de
precisao usando h =
1
10
,
1
20
,
1
40
e
1
80
. Compute o erro na norma L
2
e L

. (Nao some
ambos os extremos da malha).
Exerccio 11.5. Resolva numericamente u
t
+ u
x
= cos
2
u com o esquema (11.2.12)
tratando cos
2
u como f(t, x). Mostre que o esquema e de primeira ordem. A solu cao
exata e dada por
tan[u(t, x)] = tan[u
0
(x t)] + t (11.5.21)
Use uma fun cao suave, tal como sin(x t), como condi cao inicial e de contorno.
Exerccio 11.6. Modique o esquema do exerccio anterior para ser de segunda ordem
e explcito. Existem varias maneiras de fazer isso. Pode-se usar cos
2
u
n+1
m
= cos
2
(u
n
m
)
sin(2v
n
m
)(v
n+1
m
v
n
m
) +O(k
2
). Outro modo e calcular explicitamente f
t
na deriva cao
do esquema de Lax-Wendro e eliminar todos as derivadas em t usando a equa cao
diferencial.
Exerccio 11.7. Determine a precisao e a estabilidade do esquema abaixo para u
t
+
u
tx
+ au
x
= f,
u
n+1
m
+ (1 +
ka
2
)
u
n+1
m+1
u
n+1
m1
2h
= (11.5.22)
u
n
m
+ (1
ka
2
)
u
n
m+1
u
n
m1
2h
+
k
2
(f
n+1
m
+ f
n
m
) (11.5.23)
Dica: Note que o esquema e simetrico em n+
1
2
, tal como o esquema de Crank-Nicolson.
Se c ao 11.6: Condi c oes de contorno 89
Exerccio 11.8. Mostre que o esquema do exemplo 51 possui smbolo
g() =
e
sk
cos h
k
+ 4ai
sin
2
(
1
2
h) sin(h)
h
3
(11.5.24)
e comente sobre a precisao do esquema.
11.6. Condi coes de contorno
Ao resolver um problema de valor inicial e de contorno numericamente devemos discre-
tizar tambem as condi coes de contorno do problema contnuo. Muitos esquemas re-
querem tambem condi coes de contorno numericas adicionais, para determinar a solu cao
unicamente.
Considere o esquema de Lax-Wendro e o PVIC u
t
+ au
x
= 0, 0 x 1. Tal
esquema pode ser aplicado somente nos ponto interiores e nao nos pontos do contorno,
pois, por exemplo, para calcular u
n+1
m
em x
m
sao necessarios os valores de u em x
m1
e x
m+1
(que nao estao disponveis ora num extremo, ora no outro). Veja o estencil do
esquema abaixo.
u
n+1
m
n + 1
|
n
u
n
m1
u
n
m
u
n
m+1
Assumindo a > 0, a onda esta viajando para a direita, assim u
n
0
deve dado de
acordo com PVIC. Entretanto em x
M
, o ultimo ponto da malha a direita, devemos
calcular de outro modo u
n
M
, pois usando o esquema necessitaramos de u em x
M+1
que
nao esta disponvel. Nesse caso uma condi cao de contorno numerica adicional deve ser
fornecida.
Uma possibilidade e extrapolar o valor no contorno de acordo com o valor no
interior. Por exemplo cada uma das condi coes de contorno numericas seguintes:
u
n+1
M
= u
n+1
M1
(11.6.1)
u
n+1
M
= 2u
n+1
M1
u
n+1
M2
(11.6.2)
u
n+1
M
= u
n
M1
(11.6.3)
u
n+1
M
= 2u
n
M1
u
n1
M2
(11.6.4)
As duas primeiras formulas sao extrapola coes da solu cao nos pontos interiores
para o contorno. As duas ultimas sao chamadas extrapola coes quasi-caractersticas,
pois a extrapola cao e feita atraves de pontos proximos as caractersticas.
Condi coes de contorno numericas geralmente tomam a forma de formulas de
diferen cas laterais. Poderamos ter
u
n+1
M
= u
n
M
a(u
n
M
u
n
M1
) (11.6.5)
Entretanto esta formula pode ser obtida aplicando o esquema de Lax-Wendro para
u
n+1
M
e utilizar
u
n+1
M+1
= 2u
n+1
M
u
n+1
M1
(11.6.6)
Se c ao 11.7: Sistemas Tridiagonais 90
Este exemplo ilustra o uso de pontos extras ou pontos fantasmas ou pontos ctcios
fora do domnio para auxiliar na determina cao de valores nos contornos.
Diculdades extras aparecem com condi coes de contorno numericas, pois certas
condi coes de contorno podem causar instabilidades quando utilizadas com determi-
nados esquemas. Por exemplo, (11.6.1) e (11.6.2) juntas com o esquema leapfrog
sao instaveis, onde (11.6.3) e (11.6.4) sao estaveis. Para o esquema Crank-Nicolson,
(11.6.3) e (11.6.4) sao instaveis quando a > 2, porem (11.6.1) e (11.6.2) sao estaveis
(Cap.11, [11]).
A analise da instabilidade devida a condi cao de contorno numerica adicional pode
se tornar algebricamente longa. Na pratica, em caso de suspeita de tal instabilidade, e
mais facil implementar outra condi cao de contorno.
Exerccio 11.9. Resolva numericamente u
t
+ u
x
= 0, 0 x 1 com o esquema
leapfrog e as seguintes condi coes de contorno. Somente d. deveria funcionar. Por que?
a. Em x = 0, u especicado; em x = 1 use (11.6.2).
b. Em x = 0, u especicado; em x = 1, u = 0.
c. Em x = 0, (11.6.2); em x = 1 use (11.6.3).
d. Em x = 0, u especicado; em x = 1 use (11.6.3).
11.7. Sistemas Tridiagonais
Para usar esquemas como o Crank-Nicolson (e outros esquemas implcitos) devemos
resolver um sistema tridiagonal de equa coes. Podemos usar o algoritmo de Thomas
abaixo para isso. Como o sistema e tridiagonal, podemos fornecer apenas tres vetores
com os coecientes a
i
, b
i
e c
i
do sistema tridiagonal
b
1
x
1
+ c
1
x
2
= d
1
(11.7.1)
a
i
x
i1
+ b
i
x
i
+ c
i
x
i+1
= d
i
, 2 i N 1 (11.7.2)
b
N
x
N1
+ c
N
x
N
= d
N
(11.7.3)
Veja o algoritmo de Thomas, que resolve um sistema tridiagonal, incluindo as
equa coes para os contornos por elimina cao Gaussiana.
%%%%%%%%%%%%%%%%%%%%%%
% algoritmo de Thomas, resolve sistema tridiagonal
% a(i)*x(i-1) + b(i)*x(i) + c(i)*x(i+1) + d(i) = 0
%%%%%%%%%%%%%%%%%%%%%%
function [x]=thomas(a,b,c,d)
n=length(a);
c(1) = c(1)/b(1);
d(1) = d(1)/b(1);
for i = 2:n
id = (b(i) - c(i-1)*a(i));
c(i)=c(i)/id; % ultimo valor nao usado
91
d(i)=(d(i) - a(i)*d(i-1))/id;
end
x(n) = d(n); %retrosubstituicao
for i= n-1:-1:1
x(i) = d(i) - c(i)*x(i+1);
end
%%%%%%%%%%%%%%%%%%%%%%
Note que os pontos interiores da malha estao entre 2 i n 1. A primeira
linha e reservada para a condi cao de contorno em x
1
e a ultima linha para x
N
.
Para o algoritmo de Thomas ser bem condicionado, e suciente que a matriz
obtida seja diagonal dominante (|a
i
| +|c
i
| |b
i
|).
Para o caso periodico, e necessario uma extensao desse algoritmo que e obtido
atraves de um caso especial da formula de Sherman-Morrison.
Exerccio 11.10. Resolva numericamente a equa cao
u
t
+ u
x
= 0, 1 x 1, 0 t 1.2 (11.7.4)
u(0, x) =

1 |x|, |x| 1
0, c.c.
(11.7.5)
u(t, 1) = 0 (11.7.6)
Use o metodo de Cranck-Nicolson. Utilize h =
1
10
,
1
20
,
1
40
e
1
80
. Compute o erro na
norma L
2
e L

.
Aula 21, 22 .
Estabilidade para Passo Multiplo
.
Strikwerda: Cap. 4
Captulo 12:
Estabilidade para esquemas de passo m ultiplo
12.1. Estabilidade do esquema leapfrog
Considere a equa cao u
t
+ au
x
= 0 e o esquema Leapfrog
v
n+1
i
v
n1
i
2k
+ a
v
n
i+1
v
n
i1
2h
= 0 (12.1.1)
Aplicando a transformada inversa de Fourier obtemos

/h
/h
e
imh
( v
n+1
() + 2iasin(h) v
n
() v
n1
()) d = 0 (12.1.2)
Se c ao 12.1: Estabilidade do esquema leapfrog 92
o que implica que
v
n+1
() + 2iasin(h) v
n
() v
n1
() = 0 (12.1.3)
Para resolver essa equa cao de recorrencia, tomamos
1
v
n
= g
n
. Assim obtemos
g
2
+ 2iasin(h)g 1 = 0 (12.1.4)
que possui razes
g
1,2
(h) = iasin(h)

1 a
2

2
sin
2
(h) (12.1.5)
de onde temos dois casos:
Quando as razes sao diferentes, a solu cao e
v
n
() = C
1
()g
n
1
(h) + C
2
()g
n
2
(h) (12.1.6)
Usando a deni cao 9.6.2 (com J = 1), para estabilidade devemos ter
v
n

h
C
T
(v
0

2
h
+v
1

2
h
) (12.1.7)
o que implica que (teorema 10.2.1)
|g
1
(h)| 1 + Kk e |g
2
(h)| 1 + Kk (12.1.8)
deve ser satisfeita. Tomando constante podemos usar a condi cao de estabilidade
|g
1
(h)| 1 e |g
2
(h)| 1 (12.1.9)
De (12.1.5), tomando |a| 1 obtemos
|g
1
|
2
= |g
2
|
2
(12.1.10)
= (asin(h))
2
+ (1 (a)
2
sin
2
(h)) (12.1.11)
= 1 (12.1.12)
Se |a| > 1 o esquema e instavel, pois para h = /2 temos
|g
2
| = |a| +

(a)
2
1 > 1 (12.1.13)
Quando as razes sao iguais a solu cao e
v
n
() = C
1
()g
n
(h) + C
2
()ng
n
(h) (12.1.14)
Isto acontece somente se |asin | = 1. Pela analise anterior temos que |a| 1
para ser estavel. Assim, somente quando |a| = 1 e = /2 temos que
g
1
= g
2
= i.
Nesse caso a solu cao e
v
n
() = C
1
(

2h
)(i)
n
+ C
2
(

2h
)n(i)
n
(12.1.15)
que em geral
2
cresce linearmente com n, tornando o sistema instavel para |a| = 1
e = /2.
1
Em v
n
, n representa um ndice e em g
n
, n representa a potencia.
2
quando as condi c oes iniciais tornam C
2
= 0 a solu c ao n ao cresce
Se c ao 12.1: Estabilidade do esquema leapfrog 93
Assim a condi cao de estabilidade necessaria e suciente para o esquema leapfrog
e
|a| < 1. (12.1.16)
12.1.1. Inicializando o esquema leapfrog
Para os passos iniciais de um esquema de passo multiplo podemos utilizar qualquer
outro metodo de passo simples. Ate mesmo um esquema instavel, desde que seja
consistente. O pequeno crescimento na solu cao sera mantido sem ser amplicado devido
a estabilidade do esquema leapfrog ou outro esquema de passo multiplo.
Se e constante o esquema de inicializa cao pode ser uma ordem de precisao
a menos que o esquema de passo multiplo sem comprometer a precisao do esquema
(Cap.10, [11]).
Por exemplo, usar o esquema FTCS para inicializar o esquema leapfrog nao
afeta a estabilidade ou a precisao do esquema leapfrog.
Vamos examinar novamente a solu cao anterior, que depende de g
1
e g
2
. Assuma
que utilizamos o esquema FTCS para obter v
1
como
v
1
() = (1 iasin(h)) v
0
() (12.1.17)
Utilizando as condi coes iniciais em (12.1.6) obtemos
v
0
() = C
1
+ C
2
(12.1.18)
v
1
() = C
1
g
1
(h) + C
2
g
2
(h) (12.1.19)
e resolvendo o sistema obtemos as constantes
C
1
=
g
2
v
0
v
1
g
1
g
2
(12.1.20)
C
2
=
g
1
v
0
v
1
g
1
g
2
(12.1.21)
e usando a condi cao inicial
C
1
=
g
2
v
0
(1 iasin(h)) v
0
g
1
g
2
(12.1.22)
C
2
=
g
1
v
0
(1 iasin(h)) v
0
g
1
g
2
(12.1.23)
C
1
=
g
2
1 + iasin
g
1
g
2
v
0
(12.1.24)
C
2
=
g
1
1 + iasin
g
1
g
2
v
0
(12.1.25)
C
1,2
=
1

1 a
2

2
sin
2

g
1
g
2
v
0
(12.1.26)
C
1,2
=
1 +

1 a
2

2
sin
2

g
1
g
2
v
0
(12.1.27)
Se c ao 12.1: Estabilidade do esquema leapfrog 94
e como
g
1
g
2
= 2

1 a
2

2
sin
2
(12.1.28)
obtemos
C
1,2
=
1 +

1 a
2

2
sin
2

1 a
2

2
sin
2

v
0
(12.1.29)
Expandindo a raiz em serie de Taylor

1 a
2

2
sin
2
= 1
1
2
a
2

2
+

a
2

2
6

a
4

4
8

4
+O(
6
) (12.1.30)
= 1
1
2
a
2

2
+O(
4
) (12.1.31)
obtemos a magnitude das constantes C
1
e C
2
como
C
1,2
=
1 + (1
1
2
a
2

2
+O(
4
))
2 +O(
2
)
v
0
(12.1.32)
C
1,2
=
1 + 1 +O(
2
)
2 +O(
2
)
v
0
(12.1.33)
C
1
= O(
0
) v
0
(12.1.34)
C
2
= O(
2
) v
0
(12.1.35)
Esta ultima formula nos mostra que para |h| pequeno, teremos C
2
tambem
pequeno e a solu cao se comporta como a de um metodo de passo simples com fator de
amplica cao g
1
.
A parte da solu cao associada com g
2
e chamada modo parasita. Com = 0,
temos g
2
= 1 implicando que o modo parasita oscila rapidamente (alem disso ele viaja
na dire cao oposta da onda, Cap.5 [11]).
Exemplo 57.
Considere a solu cao do problema
u
t
+ au
x
= 0, 1 x 1 (12.1.36)
u(0, x) =

cos
2
(x
m
), |x|
1
2
0, c.c.
(12.1.37)
com a = 1, = 0.9. Utilize FTCS para calcular u
1
m
. Fixe u
n
= 0 em ambos
os contornos, note que a direita e inconsistente com a EDP. Essa inconsistencia sera
aumentada pelo modo parasita.
Plotando o graco para t = 0.45 temos que a solu cao esta se movendo para
a direita e para t = 1.80 esta se movendo para a esquerda. A condi cao de contorno
inconsistente gera um modo parasita oscilatorio e se movendo na dire cao errada. Em
t = 3.6 o modo parasita foi convertido para o pulso original pela condi cao de contorno
a esquerda.
Em qualquer calculo com metodos de passo multiplo, existirao modos parasi-
tas. Em muitos casos eles devem ser eliminados ou reduzidos. Podemos reduzir eles
utilizando dissipa cao.
Se c ao 12.1: Estabilidade do esquema leapfrog 95
Exemplo 58.
Considere o esquema leapfrog de ordem (2, 4)
v
n+1
i
v
n1
i
2k
+ a
v
n
i+2
+ 8v
n
i+1
8v
n
i1
+ v
n
i2
12h
= 0 (12.1.38)
onde a equa cao para o fator de amplica cao e
g
2
+ 2gia(1 +
2
3
sin
2

2
) sin 1 = 0 (12.1.39)
g
2
+ 2gia(
4 cos
3
) sin 1 = 0 (12.1.40)
que possui fatores de amplica cao
g
1,2
= ia
4 cos
3
sin

1 a
2

2
(
4 cos
3
)
2
sin
2
(12.1.41)
A condi cao para estabilidade (e razes diferentes) e
4 cos
3
|a|| sin | < 1 (12.1.42)
para . O extremo dessa fun cao ocorre quando
d
d
[(4 cos ) sin ] = 1 + 4 cos 2 cos
2
= 0 (12.1.43)
ou seja, quando
cos = 1

3
2
(12.1.44)
Substituindo em (12.1.42) obtemos que a condi cao necessaria e suciente para estabi-
lidade e
|a| <

1 +
1

6
3
2

1
2
. (12.1.45)
12.1.2. Nota cao de Diferen cas

+
v
m
=
v
m+1
v
m
h
(12.1.46)

v
m
=
v
m
v
m1
h
(12.1.47)

0
v
m
=
v
m+1
v
m1
2h
(12.1.48)
Se c ao 12.2: Estabilidade para esquemas de passo m ultiplo 96

2
v
m
=
v
m+1
2v
m
+ v
m1
h
2
(12.1.49)
Note que
0
= (
+

)/2 e
2
= (
+

)/h.
Exerccio 12.1. Mostre que o esquema leapfrog (2, 2) para u
t
+au
xxx
= f dado por
v
n+1
m
v
n1
m
2k
+ a
2

0
v
n
m
= f
n
m
(12.1.50)
com = k/h
3
constante e estavel se e somente se
|a| <
2
3
3/2
(12.1.51)
12.2. Estabilidade para esquemas de passo m ultiplo
A estabilidade do esquema de passo multiplo
P
k,h
v = R
k,h
f (12.2.1)
e determinada pelas razes do polinomio de amplica cao (g, ) dado por
(g, ) = kp
k,h

ln g
k
,

h

(12.2.2)
ou equivalentemente,
(e
sk
, h) = kp
k,h
(s, ) (12.2.3)
Podemos obter assumindo que
v
n
m
= g
n
e
im
(12.2.4)
e solu cao de (12.2.1) com f = 0.
Exemplo 59.
Considere o esquema de passo multiplo para u
t
+ au
x
= 0 dado por
3v
n+1
m
4v
n
m
+ v
n1
m
2k
+ a
v
n+1
m+1
v
n+1
m1
2h
= f
n+1
m
(12.2.5)
O polinomio para o fator de amplica cao e
(g, ) = k

3g
2
4g + 1
2k
+
2ia sin
2h

(12.2.6)
(g, ) =
1
2
(3 + 2iasin)g
2
2g +
1
2
(12.2.7)
A estabilidade desse metodo depende das razes desse polinomio (esse esquema possui
ordem de precisao (2, 2) e e incondicionalmente estavel).
Se c ao 12.2: Estabilidade para esquemas de passo m ultiplo 97
Para um metodo de passo simples, (g, ) e um polinomio de grau 1 e possui
solu cao geral dada por (10.2.10). Para um metodo de passo multiplo, e um polinomio
de grau J, e se as razes sao distintas a solu cao geral
3
e
v
n
() =
J

=1
C

()g

(h)
n
(12.2.8)
A condi cao de estabilidade e que
|g

(h)| 1 + Kk, = 1, . . . , J (12.2.9)


ou quando (g, ) e independente de k e h,
|g

(h)| 1, = 1, . . . , J (12.2.10)
Caso as razes sejam multiplas, por exemplo, g
j
possui multiplicidade m
j
= 3, a solu cao
geral possui um termo da forma
C
j0
()g
j
(h)
n
+ C
j1
()ng
j
(h)
n
+ C
j2
()n
2
g
j
(h)
n
(12.2.11)
Se |g
j
| < 1 entao a quantidade e limitada.
Teorema 12.2.1. Se o polin omio de amplicac ao (g, ) e independente de k e h,
ent ao o esquema de diferencas nitas e est avel se e somente se todas as razes g

de satisfazem
a. |g

()| 1 e
b. se g

() = 1, ent ao g

() deve ser uma raiz simples.


Exerccio 12.2. Mostre que o metodo de segunda ordem para u
t
+ au
x
= 0 dado
por
7v
n+1
m
8v
n
m
+ v
n1
m
6k
+ a
0

2v
n+1
m+1
+ v
n+1
m1
2h

= f
n+2/3
m
(12.2.12)
possui polinomio de amplica cao
(g) = (7 + 4i)g
2
(8 2i)g + 1 (12.2.13)
onde = asin . Calcule as razes g
1
(, a) e g
2
(, a) e plote a regiao de estabilidade
(eixos coordenados e a).
Exerccio 12.3. Um certo esquema com ordem de precisao (3, 4) possui polinomio
de amplica cao
= (23 12 + 12i)g
3
(21 12 12i)g
2
3g + 1 (12.2.14)
=
a
2

2
sin
2
(/2)
1
2
3
sin
2
(/2)
(12.2.15)
=
asin()
1
2
3
sin
2
(/2)
(12.2.16)
3
Os coecientes C() s ao determinados pelos dados iniciais nos nveis n = 0 a J 1 e podem
ser limitados por C

J1
0
|v
j
|.
98
Calcule as razes desse polinomio. Plote a regiao de estabilidade. Verique numerica-
mente que o esquema e estavel se e somente se
|a|

5
3
(12.2.17)
Aula 23, 24 .
Equa coes Diferenciais Parciais Parabolicas
.
Strikwerda: Cap. 6
Captulo 13:
Equacoes Diferenciais Parciais Parabolicas
13.1. Equa cao do calor
Considere a equa cao do calor (ou equa cao de difusao)
u
t
= bu
xx
(13.1.1)
u(t = 0, x) = u
0
(x) (13.1.2)
como exemplo mais simples de EDP parabolica, onde b > 0.
Aplicando a transformada de Fourier obtemos
u
t
= b
2
u (13.1.3)
que possui solu cao
u(t, ) = e
b
2
t
u
0
() (13.1.4)
e aplicando a transformada inversa obtemos a solu cao
u(t, x) =
1

e
ix
e
b
2
t
u
0
() d (13.1.5)
A solu cao mostra que u(t, x) e obtida pelo amortecimento dos modos de alta frequencia
de u
0
.
Utilizando a condi cao inicial
u
0
=
1

e
iy
u
0
(y) dy (13.1.6)
na solu cao obtemos
u(t, x) =
1

e
ix
e
b
2
t
1

e
iy
u
0
(y) dy d (13.1.7)
=
1

e
ix
e
b
2
t
e
iy
d u
0
(y)dy (13.1.8)
Se c ao 13.2: Sistemas parab olicos 99
onde calculando a integral interna,
obtemos a solu cao geral
u(t, x) =
1

4bt

e
(xy)
2
/4bt
u
0
(y)dy (13.1.9)
Note os seguintes fatos sobre a solu cao:
Podemos interpretar u(t, x) como uma media ponderada de u
0
;
A solu cao e innitamente diferenciavel;
Se u
0
0 entao u(t, x) 0, t.

u(t, )

u(t

, )

, t > t

. (13.1.10)
13.2. Sistemas parabolicos
Considere u R
p
. O sistema de equa coes diferenciais
u
t
= Bu
xx
+ Au
x
+ Cu + F(t, x) (13.2.1)
e parabolico se todos os autovalores de B tem parte real positiva (B nao e necessaria-
mente diagonalizavel e nenhuma restri cao e feita em A e B).
Teorema 13.2.1. O PVI (13.2.1) e bem-posto no sentido da denic ao 9.6.3. Tambem,
para cada T > 0, C
T
tal que

|u(t, x)|
2
dx +

t
0

|u
x
(s, x)|
2
dx ds (13.2.2)
C
T

|u(0, x)|
2
dx +

t
0

|F(s, x)|
2
dx ds

(13.2.3)
para 0 t T.
Note que a estimativa acima e mais forte que a da deni cao pois fornece um cota
superior para a u
x
. Um sistema parabolico com p equa coes denido em x = [x
0
, x
M
]
requer p condi coes de contorno em cada extremo.
Exerccio 13.1. Prove a estimativa (13.2.2) para o caso escalar (13.1.1) pelo metodo
da energia, i.e., multiplique (13.1.1) por u(t, x) e use integra cao por partes em t e x.
13.3. Diferen cas nitas
Considere o esquema FTCS para a equa cao de difusao
FTCS
v
n+1
m
v
n
m
k
= b
v
n
m+1
2v
n
m
+ v
n
m1
h
2
(13.3.1)
Se c ao 13.3: Diferen cas nitas 100
ou
v
n+1
m
= (1 2b)v
n
m
+ b(v
n
m+1
+ v
n
m1
) (13.3.2)
onde = k/h
2
. O esquema e claramente de 1.a ordem no tempo e 2.a ordem no
espa co. A analise da estabilidade e feita da mesma forma que anteriormente, ou seja,
substitumos v
n
m
por g
n
e
im
. O fator de amplica cao satisfaz
g 1
k
= b
e
i
2 + e
i
h
2
(13.3.3)
g = 1 +
bk
h
2
(e
i
+ e
i
2) (13.3.4)
g = 1 4bsin
2
(

2
) (13.3.5)
Como g e real, a condi cao de estabilidade |g| < 1 e equivalente a
4bsin
2
(

2
) 2 (13.3.6)
que e satisfeita se e somente se
b
1
2
(13.3.7)
Note que quanto |g| < 1 implica em um decrescimento da solu cao, uma propriedade
desejada para esquemas parabolicos, ja que a solu cao numerica se tornara mais suave
com o tempo, semelhante a EDP.
A condi cao de estabilidade implica que k < h
2
/(2b), o que pode tornar-se muito
severo a medida que h diminui.
13.3.1. Mais alguns esquemas
Backward-Time Central-Space (BTCS)
v
n+1
m
v
n
m
k
= b
v
n+1
m+1
2v
n+1
m
+ v
n+1
m1
h
2
+ f
n
m
(13.3.8)
Este esquema e implcito e incondicionalmente estavel. Possui ordem (1, 2) e e dissipa-
tivo quando > > 0.
Crank-Nicolson
v
n+1
m
v
n
m
k
=
b
2
v
n+1
m+1
2v
n+1
m
+ v
n+1
m1
h
2
+
b
2
v
n
m+1
2v
n
m
+ v
n
m1
h
2
+
f
n+1
m
+ f
n
m
2
(13.3.9)
Se c ao 13.3: Diferen cas nitas 101
Este esquema e implcito, incondicionalmente estavel e de segunda ordem, i.e., ordem
de precisao (2, 2).

E dissipativo de ordem 2 se e constante, mas nao dissipativo se
e constante.
Leapfrog
v
n+1
m
v
n1
m
2k
= b
v
n
m+1
2v
n
m
+ v
n
m1
h
2
+ f
n
m
(13.3.10)
Este esquema e instavel .
Esquema Du Fort-Frankel
v
n+1
m
v
n1
m
2k
= b
v
n
m+1
(v
n+1
m
+ v
n1
m
) + v
n
m1
h
2
+ f
n
m
(13.3.11)
Pode ser visto como uma modica cao do esquema leapfrog. O esquema e explcito,
incondicionalmente estavel e possui ordem O(h
2
) + O(k
2
) +O(k
2
h
2
). O esquema e
nao-dissipativo, o que limita sua utilidade. Pode ser reescrito como
(1 + 2b)v
n+1
m
= 2b(v
n
m+1
+ v
n
m1
) + (1 2b)v
n1
m
(13.3.12)
O polinomio de amplica cao e
(1 + 2b)g
2
4bcos g (1 2b) = 0 (13.3.13)
que possui solu cao
g
1,2
=
2bcos

1 4b
2

2
sin
2

1 + 2b
(13.3.14)
Se 1 4b
2

2
sin
2
0, entao
|g
1,2
|
2b| cos | +

1 4b
2

2
sin
2

1 + 2b
(13.3.15)

2b + 1
1 + 2b
= 1 (13.3.16)
e se 1 4b
2

2
sin
2
< 0, entao
|g
1,2
|
2
=
(2bcos )
2
+ 4b
2

2
sin
2
1
(1 + 2b)
2
(13.3.17)
=
4b
2

2
1
4b
2

2
+ 4b + 1
< 1 (13.3.18)
Assim, , temos |g
1,2
| < 1. Alem disso quando g
1
= g
2
ambos sao menores que 1
implicando estabilidade.
Entretanto o esquema Du Fort-Frankel e consistente somente se k/h tende a
zero com k e h.
Se c ao 13.4: Dissipa c ao e suavidade 102
Teorema 13.3.1. Um esquema de diferencas nitas consistente para o sistema
parab olico (13.2.1) e convergente somente se k/h tende a zero quando k 0 e
h 0.
13.4. Dissipa cao e suavidade
Teorema 13.4.1. Um esquema de passo simples consistente com (13.1.1) dissipa-
tivo de ordem 2 com constante satisfaz
v
n+1

2
h
+ ck
n

=1

+
v

2
h
v
0

2
h
(13.4.1)
para v
0
e n 0.
Podemos usar o teorema para mostrar que solu coes se tornam mais suaves com
o tempo, i.e., a norma das derivadas de alta ordem sao limitadas e tendem a zero numa
taxa que e mais rapido que a norma de u. Como |g| 1, temos
v
+1

h
v

h
(13.4.2)
Como
+
v tambem e solu cao do esquema, temos

+
v
+1

h

+
v

h
(13.4.3)
portanto do teorema,
v
n+1

2
h
+ ct
+
v
n

2
h
v
0

2
h
(13.4.4)
o que mostra que para nk = t > 0 que
+
v
n

2
h
e limitado. De fato, temos

+
v
n

2
h
Ct
1
v
0

2
h
(13.4.5)
o que mostra que
+
v
n

2
h
0 quando t aumenta.
Como
+
v
n
satisfaz a equa cao a diferen cas, temos que nk = t > 0 e r inteiro
que
r
+
v
n

2
h
e limitado. Assim a solu cao do esquema de diferen cas, se torna mais
suave quando t aumenta.
13.5. Condi cao de contorno
As EDPs parabolicas requerem uma condi cao de contorno em cada ponto do contorno.
Condi coes de Dirichlet sao facilmente implementadas especicando a solu cao nos pontos
dos contorno.
Para condi cao de contorno de Neumann existem mais op coes. Podemos utilizar
u
x
(t
n
, x
0
)
v
n
1
v
n
0
h
(13.5.1)
que e uma aproxima cao de primeira ordem. Se utilizarmos o esquema de Crank-Nicolson
ou FTCS, estaremos baixando a ordem de precisao do metodo. Uma aproxima cao de
segunda ordem unilateral e dada por
u
x
(t
n
, x
0
)
3v
n
0
+ 4v
n
1
v
n
2
2h
(13.5.2)
o que mantera a precisao de segunda ordem.
Se c ao 13.5: Condi c ao de contorno 103
Podemos tambem utilizar a aproxima cao de segunda ordem
u
x
(t
n
, x
0
)
v
n
1
v
n
1
2h
. (13.5.3)
Para isso precisamos aplicar tambem o esquema em x
0
para eliminar o valor v
n
1
. Assim
o metodo continuara de segunda ordem.
Exerccio 13.2. Justique a estabilidade e ordem de precisao do esquema BTCS,
Crank-Nicolson e leapfrog.
Exerccio 13.3. Mostre que o esquema para (13.1.1) da forma
v
n+1
m
= v
n
m
+
1
2
(v
n
m+1
+ v
n
m1
), (13.5.4)
com constante quando k, h 0, e consistente com a equa cao do calor somente se
= 1 2b.
Exerccio 13.4. Considere os dois esquemas para (13.1.1)
Esquema A:
v
n+1/2
m
= v
n
m
+
1
2
kb
2
v
n
m
(13.5.5)
v
n+1
m
= v
n
m
+ kb
2
v
n+1/2
m
(13.5.6)
Esquema B:
v
n+1
m
= v
n
m
+ kb
2
v
n
m
(13.5.7)
v
n+1
m
= v
n
m
+
1
2
k(
2
v
n+1
m
+
2
v
n
m
) (13.5.8)
a. Mostre que os dois esquemas sao na realidade o mesmo.
b. Mostre que esse esquema e de ordem (2, 2).
c. Mostre que esse esquema e estavel se b
1
2
e mostre que
1
2
g 1.
d. Discuta as vantagens e desvantagens do esquema comparados ao esquema FTCS.
Exerccio 13.5. Resolva numericamente
u
t
= u
xx
(13.5.9)
u(0, x) = 1 |2x 1| (13.5.10)
u(t, 0) = u(t, 1) = 0 (13.5.11)
f(x, t) = 0 (13.5.12)
para x [0, 1] e t [0, T] utilizando o metodo FTCS. Fa ca k = 0.005h e utilize
h = 0.1, 0.05, 0.025, . . .. Comente os resultados.
Se c ao 13.6: Equa c ao de convec c ao-difus ao 104
Exerccio 13.6. Resolva numericamente
u
t
= bu
xx
+ f(x, t) (13.5.13)
u(0, x) = 1 |2x 1| (13.5.14)
para x [0, 1] e t [0, T], utilizando o metodo FTCS para os seguintes casos:
a. Compare as solu coes para b = 2, b = 1, b = 0.5, b = 1. Utilize u(t, 0) = 0,
u(t, 1) = 0, f(x, t) = 0;
b. Compare as solu coes para f = 0, f = 1, f =

1, x > 1/2
0, c.c.
. Utilize u(t, 0) =
0, u(t, 1) = 0, b = 1;
c. Compare as solu coes para u(t, 1) = 0, u(t, 1) = 1, u
x
(t, 1) = 0, u
x
(t, 1) = 1.
Utilize u(t, 0) = 0, f(x, t) = 1, b = 1;
d. Compare as solu coes para u
x
(t, 1) = 0 utilizando uma aproxima cao de 1.a ordem
e uma de 2.a ordem. Utilize u(t, 0) = 0, f(x, t) = 1, b = 1;
Comente os resultados. Escolha apropriadamente k e h de tal forma a obter con-
vergencia (justique sua escolha atraves dos gracos obtidos e/ou da teoria).
Exerccio 13.7. Resolva o PVIC (13.1.1) em x [1, 1] com dado inicial
u
0
(x) =

1, |x| <
1
2
1
2
, |x| =
1
2
0, |x| >
1
2
(13.5.15)
Resolva ate t =
1
2
. A condi cao de contorno e a solu cao exata e dada por
u(t, x) =
1
2
+

l=0
(1)
l
cos (2l + 1)x
(2l + 1)
e

2
(2l+1)
2
t
(13.5.16)
Use o esquema de Crank-Nicolson com h = 1/10, 1/20, 1/40. Compare a precisao
quando = 1 e = 10. Demonstre pelas simula coes que quando e constante, o erro
na solu cao nao decresce em

, mas decresce em
2
.
13.6. Equa cao de convec cao-difusao
A equa cao de convec cao-difusao
u
t
+ au
x
= bu
xx
(13.6.1)
possui similaridades com equa coes parabolicas e hiperbolicas. Fazendo y = x at e
w(t, y) = u(t, y + at) obtemos
w
t
= u
t
+ au
x
= bu
xx
(13.6.2)
e
w
y
= u
x
, w
yy
= u
xx
(13.6.3)
levando a
w
t
= bw
yy
(13.6.4)
Como u(t, x) = w(t, xat), vemos que a solu cao (13.6.1) e a mesma que a de (13.6.4),
porem movendo-se com velocidade a.
Se c ao 13.6: Equa c ao de convec c ao-difus ao 105
13.6.1. Esquema FTCS
Considere o esquema FTCS (assuma a > 0)
v
n+1
m
v
n
m
k
+ a
v
n
m+1
v
n
m1
2h
= b
v
n
m+1
2v
n
m
+ v
n
m1
h
2
(13.6.5)
com ordemO(k, h
2
). Este sera de ordem 2 (no tempo e espa co O(k
2
, h
2
)) se a condi cao
de estabilidade
b
1
2
(13.6.6)
for satisfeita. Isolando v
n+1
m
obtemos
v
n+1
m
= (1 2b)v
n
m
+ b(1 )v
n
m+1
+ b(1 + )v
n
m1
(13.6.7)
onde
=
k
h
2
, =
ha
2b
=
a
2b
> 0. (13.6.8)
Queremos obter a condi cao para que o maximo de |v
n+1
m
| nao aumente com o
tempo, pois a solu cao da EDP satisfaz
u(t, )

u(t

, )

, t > t

. (13.6.9)
Assim, usando (13.6.7) e assumindo que (1 2b) 0, (1 ) 0, (1 + ) 0,
temos que
|v
n+1
m
| = |(1 2b)v
n
m
+ b(1 )v
n
m+1
+ b(1 + )v
n
m1
|
(1 2b)|v
n
m
| + b(1 )|v
n
m+1
| + b(1 + )|v
n
m1
|
(1 2b)|v
n
m
| + b(1 )|v
n
m+1
| + b(1 + )|v
n
m1
|
(1 2b) max
m
|v
n
m
| + b(1 ) max
m
|v
n
m+1
| + b(1 + ) max
m
|v
n
m1
|
[1 2b + b(1 ) + b(1 + )] max
m
|v
n
m
|
|v
n+1
m
| max
m
|v
n
m
|
e assim
max
m
|v
n+1
m
| max
m
|v
n
m
| (13.6.10)
se e somente se || 1 e b
1
2
(a condi cao de estabilidade).
Ou seja,
|| = |
ha
2b
| 1 h
2b
a
(13.6.11)
que e uma restri cao ao espa camento da malha. A quantidade a/b corresponde ao
numero de Reynolds em uidos ou numero de Peclet em transferencia de calor. Al-
gumas vezes ou 2 e chamado de numero de Reynolds da malha (ou Peclet).
Caso tal restri cao seja violada, aparecerao oscila coes na solu cao que nao sao devidas a
instabilidades
1
.
1
pois estas n ao crescem com o tempo.
Se c ao 13.6: Equa c ao de convec c ao-difus ao 106
13.6.2. Esquema upwind
Considere o esquema upwind (assuma a > 0)
v
n+1
m
v
n
m
k
+ a
v
n
m
v
n
m1
h
= b
v
n
m+1
2v
n
m
+ v
n
m1
h
2
(13.6.12)
ou isolando v
n+1
m
,
v
n+1
m
= (1 2b(1 + ))v
n
m
+ bv
n
m+1
+ b(1 + 2)v
n
m1
(13.6.13)
Se 1 2b(1 + ) 0 entao o esquema satisfaz (13.6.10). As oscila coes foram
eliminadas, porem o metodo e de O(h). A restri cao torna-se 2b(1 + ) 1
2b+a 1 que e menos restrita do que (13.6.11), quando b e pequeno e a e grande.
Note que (13.6.12) pode ser reescrita como
v
n+1
m
v
n
m
k
+ a
v
n
m+1
v
n
m1
2h
= b(1 +
ah
2b
)
v
n
m+1
2v
n
m
+ v
n
m1
h
2
(13.6.14)
que e equivalente a adicionar uma viscosidade articial b
ah
2b
v
xx
ao problema tornando
a solu cao nao oscilatoria.
Exemplo 60.
Considere u
t
+ au
x
= bu
xx
com b = 0.1, a = 10, h = 0.04 tal que = 2. O esquema
FTCS apresenta oscila coes. Utilizando o esquema upwind temos b(1 + ) = 0.3 (uma
diferen ca de 200%). A solu cao e bem aproximada? E se trocarmos para b = 0 (somente
100% de diferen ca)? Se > 1, nenhum dara uma boa solu cao. Teremos uma boa
solu cao qualitativa ou quantitativa, mas nao ambas. Como melhorar isso? Diminuindo
o h ou trocando de metodo.
Sistemas fsicos reais envolvem equa coes do tipo convec cao-difusao, porem mais
complexas (sistemas de equa coes, coecientes variaveis).
Existe uma limita cao no espa camento.
Se h e muito pequeno e a solu cao nao e precisa, podemos trocar de metodo.
A malha pode ser renada onde a solu cao possui maior varia cao.
Exerccio 13.8. Mostre que o esquema (13.6.5) satisfaz |g| 1 se e somente se
k 2b/a
2
. Compare essa condi cao em rela cao a (13.6.11).
Exerccio 13.9. Considere a equa cao nao linear
u
t
+
1
2
(u
2
)
x
= bu
xx
(13.6.15)
em x [1, 1]. Esta equa cao possui solu cao
u(t, x) = a c tanh[
c
2b
(x at)] (13.6.16)
Considere a > 0 e c > 0. Baseado no texto, haverao limita coes em
hc
2b
ou
ha
2b
(13.6.17)
107
para uma solu cao qualitativamente correta. Usando qualquer esquema, investigue esta
equa cao e as limita coes acima. Justique suas conclusoes com algumas simula coes
bem-escolhidas. Fixe a, b e varie b. Ou xe a, b e varie c. Ou xe a, b, c e varie h.
Dica: A solu cao e uma frente de onda movendo-se para a direita com veloci-
dade a. Esta frente tem um aumento em u de 2c quando passa por qualquer ponto, e
o media de u e a. Note que a magnitude maxima da derivada da solu cao dividida pela
varia cao total em u e c/4b.
Aula 25, 26 .
Sistemas de EDPs
.
Strikwerda: Cap. 7
Captulo 14:
Sistemas Bidimensionais e Tridimensionais
14.1. Estabilidade para sistemas de EDPs
Seja u R
d
. Se A R
dd
e diagonalizavel com autovalores reais entao
u
t
+ Au
x
= 0 (14.1.1)
e um sistema hiperbolico.
Se B R
dd
com autovalores com parte real positiva entao
u
t
= Bu
xx
(14.1.2)
e um sistema parabolico.
A maioria dos esquemas vistos anteriormente pode ser derivado trocando a por
A e b por B. A diferen ca principal esta na condi cao de estabilidade.
Ao inves de um fator de amplica cao g, encontraremos uma matriz de ampli-
ca cao G, que e obtida substituindo v
n
m
por G
n
e
im
. A condi cao para estabilidade e
que para T > 0, C
T
constante tal que, para 0 nk T, temos
G
n
C
T
(14.1.3)
No caso hiperbolico, se G e um polinomio ou uma fun cao racional de A, entao a mesma
matriz que diagonaliza A tambem diagonaliza G. Assim a estabilidade do esquema
depende somente na estabilidade das equa coes escalares
w
t
+ a
i
(w
x
) = 0 (14.1.4)
onde a
i
e um autovalor de A. Para o esquema Lax-Wendro, a condi cao de estabilidade
e |a
i
| 1, i = 1, . . . , d.
Se c ao 14.2: Esquemas de passo m ultiplo 108
Para sistemas parabolicos, usando decomposi cao de Schur
1
, a mesma matriz que
transforma B numa matriz triangular superior faz o mesmo para G. Para cada caso, se
G = UTU
1
, entao G
n
= UT
n
U
1
e assim
G
n
UU
1
T
n
(14.1.5)
o que implica que podemos analisar a condi cao de estabilidade para T. Em geral a
situa cao e mais complexa. A condi cao necessaria para estabilidade e
|g

| 1 + Kk (14.1.6)
para cada autovalor g

de G, mas nao e suciente em geral.


Exemplo 61.
Considere o sistema
u
t
= 0 (14.1.7)
v
t
= 0 (14.1.8)
com o esquema de 1.a ordem
u
n+1
m
= u
n
m
c(v
n
m+1
2v
n
m
+ v
n
m1
) (14.1.9)
v
n+1
m
= v
n
m
(14.1.10)
A matriz de amplica cao e
G =

1 4c sin
2
(/2)
0 1

(14.1.11)
e assim
G
n
=

1 4nc sin
2
(/2)
0 1

(14.1.12)
Os autovalores dessa matriz sao g
1
= g
2
= 1 (satisfazendo |g

| 1). Entretanto para


= temos G
n
e ilimitado, concluindo que o esquema e instavel.
14.2. Esquemas de passo m ultiplo
Um esquema de passo multiplo que pode ser colocado na forma
u
n+1
() = A
0
() u
n
() + A
1
() u
n1
() + . . . + A
K
() u
nK
() (14.2.1)
onde A

() R
dd
, pode ser escrito como um sistema

U
n+1
() = G(h)

U
n
() (14.2.2)
onde

U
n
() =

u
n
()
.
.
.
u
nK
()

(14.2.3)
1
Toda matriz M pode ser decomposta como M = UTU
1
, onde U e unit aria (U
1
= U
T
) e T
e triangular superior.
Se c ao 14.3: Duas e tres dimens oes 109
e G e a matriz companheira
G(h) =

A
0
A
1
A
K1
A
K

I
.
.
.
I

(14.2.4)
Para EDPs escalares os metodos na se cao 12.2 sao mais faceis de utilizar. Para
sistemas, nao ha analogo a decomposi cao de Schur como visto anteriormente para
metodos de passos simples, portanto a conversao para o sistema acima e desejada.
Exerccio 14.1. Analise a estabilidade do esquema leapfrog transformando-o em um
sistema. Mostre que esta analise fornece a mesma conclusao como visto na se cao 12.2.
Exerccio 14.2. Mostre que o esquema de Lax-Friedrichs aplicado a

u
v

t
+

1 1
0 1

u
v

x
= 0 (14.2.5)
e instavel (esta equa cao e um sistema fracamente hiperbolico).
14.3. Duas e tres dimensoes
14.3.1. Introdu cao
Vamos nos restringir a domnios retangulares. Uma metodologia similar (chamada
coordenadas generalizadas) pode-se ser usada para domnios mais complexos. A analise
se torna mais complexa.
Deni cao 14.3.1. Sejam h
1
= x e h
2
= y. Uma malha ou grid sera o
conjunto de pontos (x
i
, y
j
) = (ih
1
, jh
2
) para 0 i M, 0 j N inteiros.
Podemos tambem usar dois ndices como (x
i,j
, y
i,j
) para se referenciar a este
ponto.
Denotamos
u
n
i,j
u(t
n
, x
i,j
, y
i,j
) (14.3.1)
o valor de u no ponto (x
i,j
, y
i,j
) no tempo t
n
.
A derivada em x (1.a ordem pra frente) se torna
u
x
(t
n
, x
i,j
, y
i,j
)
u
n
i+1,j
u
n
i,j
h
1
, (14.3.2)
a derivada central em y e
u
y
(t
n
, x
i,j
, y
i,j
)
u
n
i,j+1
u
n
i,j1
2h
2
(14.3.3)
e a derivada temporal e
u
t
(t
n
, x
i,j
, y
i,j
)
u
n+1
i,j
u
n
i,j
k
(14.3.4)
Se c ao 14.3: Duas e tres dimens oes 110
Exerccio 14.3. Resolva numericamente a equa cao
u
t
= bu
xx
+ bu
yy
(14.3.5)
em 0 x, y 1. Escolha condi coes de contorno e iniciais apropriadas. Para imprimir
gracos da solu cao utilize o comando contour(u) (para visualizar pode-se utilizar
surf(u) ou pcolor(u))
Exerccio 14.4. Resolva numericamente a equa cao
u
t
= a
1
u
x
+ a
2
u
y
(14.3.6)
em 0 x, y 1. Utilize condi coes de contorno periodicas e uma condi cao inicial
apropriada. (Dica: escolha com cuidado o esquema numerico de acordo com a
1
e a
2
para que seja estavel.) Para imprimir gracos da solu cao utilize o comando contour(u).
14.3.2. Analise
O metodo de von Neumann pode ser estendido diretamente para o caso de duas e tres
dimensoes.
Exemplo 62.
Considere o esquema leapfrog padrao para o sistema
u
t
+ Au
x
+ Bu
y
= 0 (14.3.7)
onde A, B R
dd
. O esquema pode ser escrito como
(
0t
+ A
0x
+ B
0y
)u
n
i,j
= 0 (14.3.8)
ou
u
n+1
i,j
u
n1
i,j
2k
+ A
0x
u
n
i,j
+ B
0y
u
n
i,j
= 0 (14.3.9)
ou
u
n+1
i,j
u
n1
i,j
2k
+ A
u
n
i+1,j
u
n
i1,j
2h
1
+ B
u
n
i,j+1
u
n
i,j1
2h
2
= 0 (14.3.10)
A transformada de Fourier de u
n
() = u
n
(
1
,
2
) satisfaz a rela cao
v
n+1
() + 2i(
1
Asin(h
1
) +
2
Bsin(h
2
)) v
n
() v
n1
() = 0 (14.3.11)
onde
1
= k/h
1
e
2
= k/h
2
. Por ser de passo multiplo, podemos reescrever como um
sistema de passo simples e analisar G
n
. Entretanto, para obter estimativas e necessario
assumir algumas hipoteses em A e B. A mais comum e que A e B sejam diagonalizaveis
simultaneamente, ou seja, P tal que PAP
1
e PBP
1
sejam matrizes diagonais.
Usando w = P v obtemos
w
n+1
() + 2i(
1

sin(h
1
) +
2

sin(h
2
)) w
n
() w
n1
() = 0 (14.3.12)
para = 1, . . . , d, onde

sao os elementos da diagonal de PAP


1
e PBP
1
.
O restante da analise e similar a equa cao (12.1.5). Conclumos entao que o esquema e
estavel se e somente se

1
|

| +
2
|

| < 1 (14.3.13)
Se c ao 14.4: Time-Split 111
para = 1, . . . , d.
Exemplo 63.
Uma modica cao no esquema anterior fornecida por Abarbanel e Gottlieb e dada por
u
n+1
i,j
u
n1
i,j
2k
+ A
0x
u
n
i,j+1
+ u
n
i,j1
2
+ B
0y
u
n
i+1,j
+ u
n
i1,j
2
= 0 (14.3.14)
Similarmente ao exemplo anterior se A e B sao simultaneamente diagonalizaveis temos
que a condi cao de estabilidade e
|
1

sin
1
cos
2
+
2

sin
2
cos
1
| < 1 (14.3.15)
para
1
,
2
, . Usando Cauchy-Schwarz temos que
max{
1
|

|,
2
|

|} < 1 (14.3.16)
e temos as duas condi coes sucientes sao
1
|

| < 1 e
2
|

| < 1 para (esta


tambem e a condi cao necessaria). Este metodo permite o passo de tempo k ser maior
do que no exemplo anterior.
14.4. Time-Split
O metodo de Time-Split e uma maneira de reduzir um problema multidimensional para
uma sequencia de problemas unidimensionais (Yanenko). Considere a equa cao
u
t
+ P
1
u + P
2
u = 0 (14.4.1)
onde P
1
= A

x
e P
2
= B

y
(nao e necessario que P
i
esteja associado com uma
dimensao especca).
A ideia e resolver duas equa coes de t
0
ate t
0
+ k:
u
t
+ 2P
1
u = 0, t [t
0
, t
0
+ k/2] (14.4.2)
u
t
+ 2P
2
u = 0, t [t
0
+ k/2, t
0
+ k] (14.4.3)
Isto e, cada operador age com o dobro de efeito pela metade do tempo.
Estabilidade nao segue diretamente da analise em separado de cada passo, a
menos que o fator de amplica cao de ambos comutem. A ordem de precisao tambem
nao e direta (veja [10], [4]).
Uma diculdade extra e a determina cao das condi coes de contorno apropriadas.
Um metodo para derivar condi coes de contorno apropriadas e dado em [6].
Exemplo 64.
Um esquema time-split comum em dinamica de uidos computacional e o esquema
time-split de MacCormack [7] (veja tambem 11.1. Para o sistema u
t
+Au
x
+Bu
y
= 0
com x = y = h, o esquema forward-backward de MacCormack e
u
n+1/2
i,j
= u
n
i,j
A(u
n
i+1,j
u
n
i,j
) (14.4.4)
u
n+1/2
i,j
=
1
2
(u
n
i,j
+ u
n+1/2
i,j
A( u
n+1/2
i,j
u
n+1/2
i1,j
)) (14.4.5)
u
n+1
i,j
= u
n+1/2
i,j
B(u
n+1/2
i,j+1
u
n+1/2
i,j
) (14.4.6)
u
n+1
i,j
=
1
2
(u
n+1/2
i,j
+ u
n+1
i,j
B( u
n+1
i,j
u
n+1
i,j1
)) (14.4.7)
112
Uma vantagem de tal metodo e que cada estagio esta separado, facilitando a imple-
menta cao em computadores em paralelo.
Exerccio 14.5. Mostre que o esquema
u
n+1
i,j
=
u
n
i+1,j
+ u
n
i1,j
+ u
n
i,j+1
+ u
n
i,j1
4
+ ka
0x
u
n
i,j
+ kb
0y
u
n
i,j
(14.4.8)
para u
t
+aux+bu
y
= 0, com x = y = h, e estavel se e somente se (|a|
2
+|b|
2
)
2

1
2
.
Captulo 15:
Esquema ADI
O metodo Implcito com Direcoes Alternadas (Alternating Direction Implicit) e bas-
tante utilizado com equa coes parabolicas.
A equa cao
u
t
= b
11
u
xx
+ b
12
u
xy
+ b
22
u
yy
(15.0.1)
e parabolica se b
11
, b
22
> 0 e b
2
12
< b
11
b
22
. O exemplo mais comum e a equa cao do
calor bidimensional
u
t
= b
1
u
xx
+ b
2
u
yy
(15.0.2)
Se aplicarmos o esquema Crank-Nicolson, que e incondicionalmente estavel, en-
contraremos uma matriz tridiagonal por blocos
1
. O esquema ADI reduz o problema
bidimensional numa sucessao de problemas unidimensionais.
Sejam os operadores lineares A
1
= b
1

2
x
2
e A
2
= b
2

2
y
2
e assuma que sabemos
resolver facilmente as equa coes
w
t
= A
1
w (15.0.3)
w
t
= A
2
w (15.0.4)
pelo metodo de Crank-Nicolson (ou um esquema similar). O esquema ADI possibilita
resolver a equa cao combinada
u
t
= A
1
u +A
2
u (15.0.5)
Utilizando o esquema de Crank-Nicolson (expandindo em serie de Taylor em
t = (n + 1/2)k), obtemos
u
n+1
u
n
k
=
A
1
u
n+1
+A
1
u
n
2
+
A
2
u
n+1
+A
2
u
n
2
+O(k
2
) (15.0.6)
ou
(I
k
2
A
1

k
2
A
2
)u
n+1
= (I +
k
2
A
1
+
k
2
A
2
)u
n
+O(k
3
) (15.0.7)
Note que a matriz (I
k
2
A
1

k
2
A
2
) nao e tao facil de inverter.
1
Pode ser resolvida atraves de um algoritmo de Thomas por blocos.
Se c ao 15.1: Algoritmo de Peaceman-Rachford 113
Adicionando k
2
A
1
A
2
(u
n+1
+ u
n
)/4 em ambos os lados
(I
k
2
A
1

k
2
A
2
+
k
2
4
A
1
A
2
)u
n+1
= (15.0.8)
(I +
k
2
A
1
+
k
2
A
2
+
k
2
4
A
1
A
2
)u
n
+ (15.0.9)
k
2
4
A
1
A
2
(u
n+1
u
n
) +O(k
3
) (15.0.10)
que pode ser fatorado como
2
(I
k
2
A
1
)(I
k
2
A
2
)u
n+1
= (I +
k
2
A
1
)(I +
k
2
A
2
)u
n
(15.0.11)
+
k
2
4
A
1
A
2
(u
n+1
u
n
) +O(k
3
) (15.0.12)
Note que como u
n+1
= u
n
+O(k) temos que
k
2
4
A
1
A
2
(u
n+1
u
n
) = O(k
3
) (15.0.13)
e da mesma ordem que o termo presente levando a
(I
k
2
A
1
)(I
k
2
A
2
)u
n+1
= (I +
k
2
A
1
)(I +
k
2
A
2
)u
n
+O(k
3
) (15.0.14)
Discretizando os operadores A
i
como A
i
obtemos matrizes (I
k
2
A
i
) que sao
tridiagonais e o sistema
(I
k
2
A
1
)(I
k
2
A
2
)u
n+1
= (I +
k
2
A
1
)(I +
k
2
A
2
)u
n
(15.0.15)
pode ser resolvido atraves do algoritmo de Thomas.
15.1. Algoritmo de Peaceman-Rachford
Peaceman e Rachford [8] resolvem dois sistemas tridiagonais:
(I
k
2
A
1
) u = (I +
k
2
A
2
)u
n
(15.1.1)
(I
k
2
A
2
)u
n+1
= (I +
k
2
A
1
) u (15.1.2)
o que origina o nome ADI.
Note que os dois sistemas acima sao equivalentes a (15.0.15). Multiplique
2
Utilizando 1a
1
a
2
+ a
1
a
2
= (1a
1
)(1a
2
).
Se c ao 15.2: Condi c ao de contorno 114
(15.1.2) por (I
k
2
A
1
), depois utilize (15.1.1):
(I
k
2
A
1
)(I
k
2
A
2
)u
n+1
= (I
k
2
A
1
)(I +
k
2
A
1
) u (15.1.3)
= (I
k
2
4
A
2
1
) u (15.1.4)
= (I +
k
2
A
1
)(I
k
2
A
1
) u (15.1.5)
= (I +
k
2
A
1
)(I +
k
2
A
2
)u
n
(15.1.6)
Podemos encontrar outras versoes do ADI se iniciarmos com outro esquema,
como por exemplo, utilizando o esquema BTCS encontramos o metodo de Douglas-
Rachford.
15.2. Condi cao de contorno
Considere a condi cao de contorno de Dirichlet u(t, x, y) = (t, x, y) no contorno. Po-
demos especicar a condi cao para u
n+1
e para u
n
utilizando diretamente (t
n
, x, y) e
(t
n+1
, x, y). Entretanto precisamos uma condi cao de contorno para u.
Podemos usar u(x, y) = (t
n+
1
2
, x, y), entretanto o metodo sera apenas de
primeira ordem.
Outro maneira e utilizar a propria equa cao (15.1.1), onde u e necessario em
x = 0 e x = 1. Adicionando as (15.1.1) e (15.1.2) temos
u =
1
2
(I +
k
2
A
2
)
n
+
1
2
(I
k
2
A
2
)
n+1
(15.2.1)
que pode ser usado para calcular u.
15.2.1. Estabilidade
Utilizando analise de von Neummann, podemos obter que o metodo ADI de Peaceman-
Rachford e incondicionalmente estavel.
Substitumos u
n
i,j
por g
n
e
i
e
j
e u
i,j
por gg
n
e
i
e
j
e obtemos
(1 + 2b
1

1
sin
2
(/2)) g = 1 2b
2

2
sin
2
(/2) (15.2.2)
(1 + 2b
2

2
sin
2
(/2))g = g(1 2b
1

1
sin
2
(/2)) (15.2.3)
Assim
(1 + 2b
2

2
sin
2
(/2))g =
(1 2b
2

2
sin
2
(/2))(1 2b
1

1
sin
2
(/2))
(1 + 2b
1

1
sin
2
(/2))
(15.2.4)
g =
(1 2b
2

2
sin
2
(/2))(1 2b
1

1
sin
2
(/2))
(1 + 2b
1

1
sin
2
(/2))(1 + 2b
2

2
sin
2
(/2))
(15.2.5)
g 1 (15.2.6)
para b
1
> 0, b
2
> 0, mostrando que e incondicionalmente estavel.
Se c ao 15.3: Implementa c ao 115
15.3. Implementa cao


E necessario uma malha (x
i,j
, y
i,j
) = (ix, jy) para i = 0, . . . , M e j =
0, . . . , N. Para a solu cao sao necessario 3 matrizes R
(M+1)(N+1)
: U,

U e
Unew.
Primeiramente devemos resolver o sistema (15.1.1) para calcular

U a partir de U.
Note que temos que resolver

b
1

1
2
u
i1,j
+ (1 + b
1

1
) u
i,j

b
1

1
2
u
i+1,j
=
b
2

2
2
u
i,j1
+ (1 b
2

2
)u
i,j
+
b
2

2
2
u
i,j+1
para i = 1, . . . , M 1 e j = 1, . . . , N 1. Este sistema de equa coes consiste de
M 1 sistemas tridiagonais. Para cada j, o sistema pode ser resolvido para u
i,j
via algoritmo de Thomas. As condi coes de contorno sao dadas por (15.2.1) para
u
0,j
e u
M,j
para j = 0, . . . , N (os valores de u
i,0
e u
i,M
nao sao necessarios).
Depois devemos resolver o sistema (15.1.2) para calcular Unew a partir de

U.
O processo e similar ao anterior, porem o sistema consiste de L 1 sistemas
tridiagonais. Para cada i, o sistema pode ser resolvido para Unew
i,j
. As condi coes
de contorno sao especicadas para cada unew
i,j
no contorno.
Exerccio 15.1. Considere o sistema unidimensional

u
v

t
=

1 0
0 1

u
v

xx
+

0 4
4 0

u
v

(15.3.1)
Discuta a eciencia do metodo ADI usando
A
1
=

1 0
0 1


2
x
2
e A
2
=

0 4
4 0

(15.3.2)
com o esquema de Crank-Nicolson. Resolva numericamente este sistema usando o
metodo ADI em x [1, 1] e t [0, 1], com solu cao exata
u = e
3t
sin(x) cosh(2x) (15.3.3)
v = e
3t
cos(x) sinh(2x) (15.3.4)
com condi cao de contorno de Dirichlet em x = 1 e x = 1.
Exerccio 15.2. Aplique o metodo de Peaceman-Rachford a
u
t
+ u
x
+ 2u
y
= 0 (15.3.5)
em x [0, 1], y [0, 1] e t [0, 1]. Especique a solu cao exata nos lados x = 0 e
y = 0. Aplique extrapola cao u
n+1
M,j
= u
n
M,j
e u
n+1
i,N
= u
n
i,N
nos lados leste e norte. Use
a solu cao exata
u(t, x, y) = u
0
(x t, y 2t) (15.3.6)
com
u
0
(x, y) =

(1 2|x|)(1 2|y|), |x| 1/2, |y| 1/2


0, c.c.
(15.3.7)
116
para condi cao inicial e de contorno.
Exerccio 15.3. Use o metodo de Peaceman-Rachford para resolver
u
t
= u
xx
+ 2u
yy
(15.3.8)
no quadrado unitario para t [0, 1]. As condi coes iniciais e de contorno devem ser
obtidas da solu cao exata
u(t, x, y) = e
1.5t
sin(x 0.5y) cosh(x + y) (15.3.9)
Use x = y = t =
1
10
,
1
20
e
1
40
. Demonstre a ordem de precisao.
Aula 27 .
Equa coes de Segunda Ordem
.
Strikwerda: Cap. 8
Captulo 16:
Equacoes de segunda ordem
16.1. Equa cao da Onda
Considere a equa cao da onda de segunda ordem
u
tt
a
2
u
xx
= 0 (16.1.1)
u(0, x) = u
0
(x) (16.1.2)
u
t
(0, x) = v
0
(x) (16.1.3)
onde a > 0, que possui solu cao exata dada por
u(t, x) =
u
0
(x at) + u
0
(x + at)
2
+
1
2a

x+at
xat
v
0
(y)dy (16.1.4)
Note que temos duas velocidades caractersticas, a e a.
Aplicando a transformada de Fourier obtemos
u(t, ) = u
0
() cos(at) + v
0
()
sin(at)
a
(16.1.5)
= u
+
()e
iat
+ u

()e
iat
(16.1.6)
e aplicando a transformada inversa obtemos a solu cao
u(t, x) = u
+
(x + at) + u

(x at) (16.1.7)
consistindo de duas ondas movendo-se uma para a esquerda e outra para a direita.
Se c ao 16.2: Diferen cas nitas 117
Um outro problema e o PVI de segunda ordem hiperbolico (b
2
< a
2
)
u
tt
+ 2bu
tx
= a
2
u
xx
+ cu
x
+ du
t
+ eu + f(t, x) (16.1.8)
e bem posto, i.e, para 0 t T, C
T
tal que

|u
t
|
2
+|u
x
|
2
+|u|
2
dx
C
T

|u
0t
|
2
+|u
0x
|
2
+|u
0
|
2
dx +

t
0

|f|
2
dxd

(16.1.9)
Exerccio 16.1. Mostre 16.1.9 usando transformada de Fourier.
Exerccio 16.2. Mostre 16.1.9 multiplicando o PVI por u(t, x) e integrando por par-
tes. Este metodo e chamado metodo da energia.
Exerccio 16.3. Reescreva (16.1.1) como um sistema hiperbolico de primeira ordem
tal que u
1
= u
x
e u
2
= u
t
.
Exerccio 16.4. Mostre que o PVI u
tt
= u
xx
+u
yy
e bem-posto. Transforme-o num
sistema hiperbolico de 1.a ordem.
16.2. Diferen cas nitas
As deni coes de convergencia, consistencia e ordem de precisao permanecem as mesmas
como anteriormente. A deni cao de estabilidade 9.6.2 e alterada.
Deni cao 16.2.1. Um esquema em diferen cas nitas P
k,h
v
n
i
= 0 para uma
equa cao de 2.a ordem em t e estavel numa regiao se J inteiro tal que
T > 0, C
T
tal que
v
n

h
(1 + n
2
)C
T
J

j=0
v
j

2
h
(16.2.1)
para 0 nk T, com (k, h) .
O fator extra 1 + n
2
e necessario para permitir o crescimento linear em t (caso
houver).
A condi cao de estabilidade dependera dos fatores de amplica cao (no mnimo 2)
|g

| 1 + Kk (16.2.2)
Se nao existirem termos de baixa ordem (u
x
, u, . . .), entao a condi cao de estabi-
lidade e
|g

| 1 (16.2.3)
com razes multiplas permitidas.
no mnimo J 1 para depender nas duas condi coes iniciais.
Se c ao 16.2: Diferen cas nitas 118
Exemplo 65.
Considere a EDP u
tt
= a
2
u
xx
e o esquema
u
n+1
m
2u
n
m
+ u
n1
m
k
2
= a
2
u
n
m+1
2
n
m
+ u
n
m1
h
2
(16.2.4)
A equa cao para o fator de amplica cao e
g
2
2g + 1 = 4a
2

2
sin
2

2
g (16.2.5)
que possui solu cao
g
1,2
= 1 2a
2

2
sin
2

a
4

4
sin
4

2
a
2

2
sin
2

2
Temos que |g

| 1 se e somente |a| 1.
A solu cao para razes diferentes e
v
n
= C
1
()g
n
1
+ C
2
()g
n
2
(16.2.6)
e para razes iguais
v
n
= D
1
()g
n
+ D
2
()ng
n
(16.2.7)
Como crescimento linear em n e permitido, o esquema e estavel se e somente se |a|
1.
Exemplo 66.
Considere a EDP u
tt
= a
2
u
xx
e o esquema de ordem (2, 4)
u
n+1
m
2u
n
m
+ u
n1
m
k
2
= a
2
u
n
m+2
+ 16u
n
m+1
30u
n
m
+ 16u
n
m1
u
n
m2
12h
2
(16.2.8)
= a
2
(1
h
2
12

2
)u
n
m
(16.2.9)
A equa cao para o fator de amplica cao e
g
2
2g + 1 = a
2

2
(
2 cos 2 + 32 cos 30
12
)g (16.2.10)
=
4
3
a
2

2
sin
2

2
(3 + sin
2

2
)g (16.2.11)
Calculando g temos que o esquema e estavel se e somente se
1
3
a
2

2
sin
2

2
(3 + sin
2

2
) 1 (16.2.12)
o que ocorre quando a

3
2
.
Se c ao 16.3: Condi c oes de contorno 119
16.2.1. O primeiro passo
Uma maneira e utilizar a serie de Taylor
u(k, x) = u(0, x) + ku
t
(0, x) +
1
2
k
2
u
tt
(0, x) +O(k
3
) (16.2.13)
Usando a equa cao diferencial, podemos substituir u
tt
e usar as CI u(0, x) e u
t
(0, x)
para calcular u(k, x) como
u
1
m
= u
0
m
+ k(u
t
)
0
m
+
1
2
a
2
k
2

2
u
0
m
(16.2.14)
Essa escolha nao afeta a estabilidade do metodo, porem deve ser da mesma ordem que
o metodo para nao afetar a ordem de precisao da solu cao.
Exerccio 16.5. Mostre que o esquema

2
t
u
n
m
+ 2c
t0

x0
u
n
m
= a
2

2
x
u
n
m
(16.2.15)
para a equa cao
u
tt
+ 2cu
tx
= a
2
u
xx
(16.2.16)
e de segunda ordem e estavel para a 1.
Exerccio 16.6. Use o esquema (16.2.15) para obter a solu cao de (16.2.16) em x
[1, 1] e t [0, 1]. Use como dados iniciais
u
0
(x) = cos x, u
1
(x) = c sinx (16.2.17)
Para obter a condi cao de contorno use a solu cao exata
u(t, x) =
1
2
(cos (x
+
t) + cos (x

t)) (16.2.18)
onde

= c

c
2
+ a
2
. Use c = 0.5 e a = 1. Use h = 1/10, 1/20, 1/40 e = 1.
Demonstre numericamente a segunda ordem do metodo.
16.3. Condi coes de contorno
A equa cao da onda (16.1.1) requer uma condi cao de contorno em cada lado. A condi cao
de Dirichlet e facilmente implementada xando u no contorno.
A condi cao de Neumann
u
x
(t, 0) = (16.3.1)
pode ser implementada de varias maneiras. Se usarmos
u
n+1
1
u
n+1
0
h
= (16.3.2)
temos
u
n+1
0
= u
n+1
1
h (16.3.3)
que e apenas de primeira ordem.
Se c ao 16.4: Equa c ao de segunda ordem em 2 e 3 dimens oes 120
Podemos tambem usar
u
n+1
1
u
n+1
1
h
= (16.3.4)
obtendo a equa cao
u
n+1
1
= u
n+1
1
h (16.3.5)
que e de segunda ordem, porem necessita um no ctcio extra fora do domnio.
Se usarmos uma diferen ca unilateral
3u
n+1
0
+ 4u
n+1
1
u
n+1
2
2h
= (16.3.6)
obtemos
u
n+1
0
=
4u
n+1
1
u
n+1
2
+ 2h
3
(16.3.7)
que e de segunda ordem.
Utilizando o esquema (16.2.8), precisamos de uma condi cao extra em x
1
e x
M1
,
pois o estencil possui 5 pontos e nao pode ser aplicado. Se usarmos CC de Dirichlet,
entao o valor de u
1
pode ser obtido via interpola cao, por exemplo,
v
n+1
1
=
1
4
(v
n+1
0
+ 6v
n+1
2
4v
n+1
3
+ v
n+1
4
) (16.3.8)
que pode ser obtida de

4
+
v
n+1
0
= 0 (16.3.9)
Note que se considerarmos a equa cao u
tt
= u
xxxx
, necessitaremos de duas
condi coes de contorno em cada extremo.
16.4. Equa cao de segunda ordem em 2 e 3 dimensoes
Considere a equa cao
u
tt
= a
2
(u
xx
+ u
yy
) (16.4.1)
e o esquema mais simples

2
t
u
n
i,j
= a
2
(
2
x
u
n
i,j
+
2
y
u
n
i,j
). (16.4.2)
A condi cao de estabilidade para x = y = h e
a
1

2
(16.4.3)
Esquemas similares ao ADI tambem podem ser usados para a equa cao de segunda
ordem.
Exerccio 16.7. Mostre a condi cao de estabilidade (16.4.3).
Exerccio 16.8. Resolva numericamente a equa cao
u
tt
= a
2
(u
xx
+ u
yy
) (16.4.4)
em 0 x, y 1. Escolha condi coes de contorno e iniciais apropriadas. Calcule a ordem
de precisao numericamente.
121
Exerccio 16.9. Resolva numericamente a equa cao
u
tt
= a
2
(u
xx
+ u
yy
) (16.4.5)
em 0 x, y 1, transformando-a num sistema de EDPs de 1.a ordem. Escolha
condi coes de contorno e iniciais apropriadas. Calcule a ordem de precisao numerica-
mente.
Aula 28 .
Equa coes Diferenciais Parciais Elpticas
.
Strikwerda: Cap. 12
Captulo 17:
Equacoes Diferenciais Parciais Elpticas
17.1. Equa cao de Poisson
Considere a equa cao de Poisson
u
xx
+ u
yy
= f(x, y) (17.1.1)
no domnio . O operador Laplaciano e denotado por

2
=

2
x
2
+

2
y
2
(17.1.2)
e a equa cao homogenea

2
u = 0 (17.1.3)
e chamada equa cao de Laplace
Para determinar a solu cao sao necessarias condi coes de contorno, como condi cao
de contorno de Dirichlet, de Neumann ou de Robin.
Fisicamente, a equa cao de Poisson descreve a distribui cao de calor num estado
permanente. A fun cao f(x, y) representa fontes e sumidouros. A condi cao de Dirichlet
representa a temperatura xa no contorno e a condi cao de Neumann representa um
uxo de calor xo no contorno.
Outros exemplos de equa coes elpticas sao as equa coes de Cauchy-Riemann
u
x
v
y
= 0 (17.1.4)
u
y
+ v
x
= 0 (17.1.5)
Se c ao 17.2: Esquemas de Diferen cas Finitas 122
e a equa cao permanente de Stokes

2
u p
x
= f
1
(17.1.6)

2
v p
y
= f
2
(17.1.7)
u
x
+ v
y
= 0 (17.1.8)
Uma propriedade essencial das equa coes elpticas e que a solu cao e mais dife-
renciavel que os dados f.
17.1.1. Princpio do Maximo
Teorema 17.1.1. Seja o operador elptico L = a
xx
+ b
xy
+ c
yy
= 0, com
b
2
< 4ac. Se Lu 0 no domnio , ent ao u tem seu m aximo no contorno .
17.2. Esquemas de Diferen cas Finitas
Considere a equa cao de Poisson em um quadrado unitario e a formula padrao de 2.a
ordem com derivadas centrais
u
i+1,j
2u
i,j
+ u
i1,j
h
2
1
+
u
i,j+1
2u
i,j
+ u
i,j1
h
2
2
= f
i,j
(17.2.1)
ou, se h = h
1
= h
2
,
u
i+1,j
+ u
i1,j
+ u
i,j+1
+ u
i,j1
4u
i,j
h
2
= f
i,j
(17.2.2)
para 1 i M 1 e 1 j N 1.
Seja
2
h
=
2
x
+
2
y
o operador discreto.
Teorema 17.2.1. Se
2
h
u 0 em
h
, ent ao o m aximo de u ocorre no contorno
de
h
.
17.3. Sistema Unidimensional
Considere a equa cao unidimensional
u
xx
= f (17.3.1)
u(0) = (17.3.2)
u(1) = (17.3.3)
que pode ser discretizada como
u
i+1
2u
i
+ u
i1
h
2
= f
i
(17.3.4)
ou ainda
u
i+1
2u
i
+ u
i1
= h
2
f
i
(17.3.5)
u
0
= (17.3.6)
u
M
= (17.3.7)
Se c ao 17.4: Sistema Bidimensional 123
Colocando esse sistema na forma matricial obtemos
Au = b (17.3.8)
onde
A =

1 0 . . . 0
1 2 1 0 0
.
.
.
.
.
.
.
.
.
1 2 1
0 . . . 0 1

(17.3.9)
e
b =

f
1
.
.
.
f
M1

(17.3.10)
Devemos portanto calcular
u = A
1
b (17.3.11)
17.4. Sistema Bidimensional
Considere a equa cao
u
xx
+ u
yy
= f (17.4.1)
u(0, y) =
0
(y), u(x, 0) =
0
(x) (17.4.2)
u(1, y) =
1
(y), u(x, 1) =
1
(x) (17.4.3)
que pode ser discretizada como
u
i+1,j
+ u
i1,j
+ u
i,j+1
+ u
i,j1
4u
i,j
h
2
= f
i,j
(17.4.4)
ou ainda
u
i+1,j
+ u
i1,j
+ u
i,j+1
+ u
i,j1
4u
i,j
= h
2
f
i,j
(17.4.5)
Colocando esse sistema na forma matricial obtemos
Au = b (17.4.6)
onde A e uma matriz de blocos
A =

I 0 . . . 0
I D I 0 0
.
.
.
.
.
.
.
.
.
I D I
0 . . . 0 I

, (17.4.7)
Se c ao 17.4: Sistema Bidimensional 124
D =

4 1 . . . 0
1 4 1 0 0
.
.
.
.
.
.
.
.
.
1 4 1
0 . . . 1 4

(17.4.8)
e I e a matriz identidade. O vetor b e a matriz f
i,j
escrita por linhas acompanhada das
condi coes de contorno.
Devemos portanto calcular
u = A
1
b (17.4.9)
Entretanto calcular A
1
pode tornar-se custoso. A ideia e resolver o sistema
iterativamente.
17.4.1. Metodo de Jacobi
A ideia e isolar o termo i, j na equa cao acima e a partir de um chute inicial calcular
unew
i,j
. Assim devemos calcular
unew
i,j
=
1
4
(u
i+1,j
+ u
i1,j
+ u
i,j+1
+ u
i,j1
h
2
f
i,j
) (17.4.10)
para 1 i M 1 e 1 j N 1. Devemos tambem calcular as equa c oes de
contorno.
Entretanto esse e um metodo iterativo. Depois de percorrer uma vez esse loop
duplo nao teremos a solu cao. Devemos iterar essa equa cao como uma itera cao de ponto
xo ate obter convergencia. Tal ocorrera se a matriz A for diagonal dominante.
17.4.2. Metodo de Gauss-Seidel
Uma maneira de melhorar o metodo anterior e usar os valores ja calculados para cada
i, j durante a mesma itera cao, ou seja,
unew
i,j
=
1
4
(u
i+1,j
+ unew
i1,j
+ u
i,j+1
+ unew
i,j1
h
2
f
i,j
) (17.4.11)
para 1 i M 1 e 1 j N 1. Devemos tambem calcular as equa c oes de
contorno.
Entretanto esse e um metodo iterativo. Depois de percorrer uma vez esse loop
duplo nao teremos a solu cao. Devemos iterar essa equa cao como uma itera cao de ponto
xo ate obter convergencia. Tal ocorrera se a matriz A for diagonal dominante.
17.4.3. Metodo SOR
Uma maneira de melhorar a rapidez da convergencia do metodo anterior e usar o metodo
SOR. Devemos proceder como anteriormente e calcular
unew
ij
= u
ij
+ (
u
i+1,j
+ unew
i1,j
+ u
i,j+1
+ unew
i,j1
h
2
f
ij
4
u
ij
)
(17.4.12)
Se c ao 17.4: Sistema Bidimensional 125
para 1 i M 1 e 1 j N 1.
O parametro , se escolhido apropriadamente, pode acelerar a convergencia do
metodo.
Bibliograa
[1] J.C. Butcher. The numerical analysis of ordinary dierential equations: Runge-
Kutta and general linear methods. Wiley-Interscience New York, NY, USA, 1987.
17, 28, 38
[2] Rudnei Cunha, Carolina Cardoso,

Alvaro L. Bortoli, and Maria Paula Fachin. In-
trodu cao ao Calculo Numerico. Instituto de Matematica-UFRGS, 2001. 4
[3] David Goldberg. What every computer scientist should know about oating-point
arithmetic. 4
[4] D. Gottlieb. Strang-type dierence schemes for multidimensional problems. SIAM
J. Numer. Anal, 9:650661, 1972. 111
[5] A. Iserles. A First Course in the Numerical Analysis of Dierential Equations.
Cambridge University Press, 1996. 17, 28, 29, 38, 40, 50
[6] R.J. Leveque and J. Oliger. Numerical methods based on additive splittings for hy-
perbolic partial dierential equations. Mathematics of Computation, 40(162):469
497, 1983. 111
[7] R.W. MacCormack. Numerical solution of the interaction of a shock wave with
a laminar boundary layer. Proceedings of the Second International Conference
on Numerical Methods in Fluid Dynamics: September 1519, 1970 University of
California, Berkeley. Editor: Maurice Holt, Lecture Notes in Physics,, 8:151163,
1971. 111
[8] DW Peaceman and HH Rachford. The numerical solution of parabolic and elliptic
dierential equations. J. Soc. Indust. Appl. Math, 3(1):2841, 1955. 113
[9] C. Scherer. Metodos computacionais da fsica. Editora Livraria da Fsica, 2005. 3
[10] G. Strang. On the construction and comparison of dierence schemes. SIAM J.
Numer. Anal, 5(3):506517, 1968. 111
[11] J.C. Strikwerda. Finite Dierence Schemes and Partial Dierential Equations.
Wadsworth & Brooks, 1989. 72, 75, 80, 85, 86, 90, 93, 94

Das könnte Ihnen auch gefallen