metodos numéricos para equações diferenciais

129
PPGMAP . M ´ ETODOS NUM ´ ERICOS PARA EQUAC ¸ ˜ OES DIFERENCIAIS . Dagoberto Adriano Rizzotto Justo Tabela de Conte´ udo 1. Introdu¸c˜ ao 1.1. Objetivos 1.1.1. Sub-objetivos 1.2. Avalia¸c˜ ao 1.3. Bibliografia 2. Aritm´ etica no computador 2.1. Processo Iterativo 2.2. Representa¸c˜ ao de n´ umeros 2.3. Bits, bytes e palavras 2.4. Representa¸c˜ ao de n´ umeros inteiros 2.5. Representa¸c˜ ao de n´ umeros reais 2.5.1. Precis˜ ao (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. Caracteriza¸c˜ ao de uma representa¸c˜ ao 2.7. Opera¸c˜ oes em ponto flutuante 2.7.1. Cancelamento catastr´ ofico 2.7.2. A comutatividade n˜ ao ´ e v´ alida 2.7.3. A distributividade n˜ ao ´ e v´ alida 3. Aproxima¸c˜ oes 3.1. Aproxima¸c˜ ao de ordem p 3.2. Aproxima¸c˜ ao em diferen¸cas finitas 3.3. Integra¸c˜ ao Num´ erica, quadratura 3.4. Quadratura Gaussiana

Upload: elisa-rocha

Post on 08-Feb-2017

103 views

Category:

Engineering


10 download

TRANSCRIPT

Page 1: Metodos numéricos para equações diferenciais

PPGMAP .

METODOS NUMERICOS PARA EQUACOES DIFERENCIAIS.

Dagoberto Adriano Rizzotto Justo

Tabela de Conteudo1. Introducao

1.1. Objetivos1.1.1.Sub-objetivos

1.2. Avaliacao

1.3. Bibliografia2. 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 reais2.5.1.Precisao (IEEE754)

2.6. Arredondamento2.6.1.Erro absoluto e relativo2.6.2.Arredondamento por corte2.6.3.Arredondamento por proximidade2.6.4.Caracterizacao de uma representacao

2.7. Operacoes em ponto flutuante2.7.1.Cancelamento catastrofico2.7.2.A comutatividade nao e valida2.7.3.A distributividade nao e valida

3. Aproximacoes

3.1. Aproximacao de ordem p

3.2. Aproximacao em diferencas finitas

3.3. Integracao Numerica, quadratura

3.4. Quadratura Gaussiana

Page 2: Metodos numéricos para equações diferenciais

Tabela de Conteudo (cont.) 2

3.5. Ordem de aproximacao3.5.1.Integracao

4. Equacoes Diferenciais Ordinarias

4.1. Teoria de equacoes diferenciais4.1.1.Dependencia na condicao inicial

5. Metodo de Euler

5.1. Erro de truncamento5.1.1.Erro de truncamento Local5.1.2.Erro de truncamento Global5.1.3.Convergencia5.1.4.Paradoxo da ordem

5.2. A regra do trapezio

5.3. O metodo theta

5.4. O metodo de Taylor6. Metodos de Passo Multiplo

6.1. O metodo de Adams-Bashforth6.1.1.Codigo

6.2. Ordem e convergencia de metodos de passo multiplo6.2.1.Convergencia de metodos de passo multiplo6.2.2.Teorema de equivalencia de Dahlquist6.2.3.A primeira barreira de Dahlquist

6.3. O metodo de Adams-Moulton

6.4. Metodo BDF7. Metodos de Runge-Kutta

7.1. Metodo de Runge-Kutta Explıcito

7.2. Metodo de RK ν = 2

7.3. Metodo de Runge-Kutta implıcito (IRK)

7.4. Estimativa da ordem de convergencia7.4.1.Metodo 17.4.2.Metodo 2

8. Domınio de Estabilidade

8.1. Equacoes “Stiff”

8.2. Domınio 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 multiplo9. Equacoes Diferenciais Parciais hiperbolicas

9.1. Equacao da onda unidirecional

9.2. Sistemas de EDP’s hiperbolicas

Page 3: Metodos numéricos para equações diferenciais

Tabela de Conteudo (cont.) 3

9.3. Condicoes de contorno• Problemas periodicos

9.4. Diferencas finitas9.4.1.Codigos

9.5. Convergencia e consistencia

9.6. Estabilidade

9.7. Teorema de equivalencia de Lax-Richtmyer

9.8. Condicao CFL10. Analise de esquemas de diferencas finitas

10.1. Analise de Fourier10.1.1.Analisando EDPs10.1.2.Em mais que uma dimensao

10.2. Analise de Von Neumann10.2.1.A condicao de estabilidade

10.3. Comentarios sobre instabilidade e estabilidade10.3.1.Condicoes de estabilidade para coeficientes variaveis10.3.2.Estabilidade numerica e estabilidade dinamica

11. Ordem de Precisao

11.1. Esquema Lax-Wendroff

11.2. Esquema Cranck-Nicolson

11.3. O sımbolo 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 Tridiagonais12. Estabilidade para esquemas de passo multiplo

12.1. Estabilidade do esquema leapfrog12.1.1.Inicializando o esquema leapfrog12.1.2.Notacao de Diferencas

12.2. Estabilidade para esquemas de passo multiplo13. Equacoes Diferenciais Parciais Parabolicas

13.1. Equacao do calor

13.2. Sistemas parabolicos

13.3. Diferencas finitas13.3.1.Mais alguns esquemas

13.4. Dissipacao e suavidade

13.5. Condicao de contorno

Page 4: Metodos numéricos para equações diferenciais

Tabela de Conteudo (cont.) 4

13.6. Equacao de conveccao-difusao13.6.1.Esquema FTCS13.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 dimensoes14.3.1.Introducao14.3.2.Analise

14.4. Time-Split15. Esquema ADI

15.1. Algoritmo de Peaceman-Rachford

15.2. Condicao de contorno15.2.1.Estabilidade

15.3. Implementacao16. Equacoes de segunda ordem

16.1. Equacao da Onda

16.2. Diferencas finitas16.2.1.O primeiro passo

16.3. Condicoes de contorno

16.4. Equacao de segunda ordem em 2 e 3 dimensoes17. Equacoes Diferenciais Parciais Elıpticas

17.1. Equacao de Poisson17.1.1.Princıpio do Maximo

17.2. Esquemas de Diferencas Finitas

17.3. Sistema Unidimensional

17.4. Sistema Bidimensional17.4.1.Metodo de Jacobi17.4.2.Metodo de Gauss-Seidel17.4.3.Metodo SOR

Page 5: Metodos numéricos para equações diferenciais

1

Aula 1 .

Introducao.

.

Capıtulo 1:

Introducao

1.1. Objetivos

• resolver numericamente equacoes 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 bibliografica (biblioteca e internet)

1.2. Avaliacao

• Temas de casa e trabalhos parciais. IMPORTANTE: respeitar datas de entrega.Digitados em latex.

• Possibilidade de apresentacao de trabalhos.

• Participacao.

• Trabalho Final.

1.3. Bibliografia

Parte I:

• Iserles, A., A First Course in the Numerical Analysis of Differential Equations,Cambridge University Press, 1996.

• Butcher, J.C. The Numerical Analysis of Ordinary Differential Equations: Runge-Kutta and General Linear Methods. John Wiley & Sons, 1987.

Parte II:

1www.scilab.org

Page 6: Metodos numéricos para equações diferenciais

Secao 1.3: Bibliografia 2

• Strikwerda, J.C. Finite Difference Schemes and Partial Differential Equations,Chapman & Hall, 1989

Complementares:

• Anderson, D.A., Tannehill, J.C., Pletcher, R.H.. Computational Fluid Mechanicsand 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 Differential 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 Differential 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. Introducao ao Calculo Numerico2.

2link: www.mat.ufrgs.br/∼dago

Page 7: Metodos numéricos para equações diferenciais

3

Capıtulo 2:

Aritmetica no computador

2.1. Processo Iterativo

Veja [9]. Considere uma transformacao

T :

V → Vx → T (x) = y

. (2.1.1)

Aplique a transformacao sucessivamente, partindo de x0:

x1 = T (x0)

x2 = T (x1)

x3 = T (x2)

...

xk+1 = T (xk)

Um ponto xp tal que T (xp) = xp e chamado de ponto fixo, caso ele exista.Este procedimento pode ou nao convergir. Quando converge temos

limk→∞

xk = xp

A convergencia pode depender do ponto inicial x0.Exercıcio 2.1. Considere T (x) = x(3 − x2)/2. Efetue o processo iterativo partindode diferentes valores iniciais.

Verifique a convergencia para os pontos fixos x = −1, x = 1 (estes sao estaveis)ex = 0 (este e instavel).

Faca um esboco do eixo real marcando os pontos fixos e as bacias de atracao.

%------------------------------

function [x]=iteracao(x0)

x(1)=x0;

for k=1:100

x(k+1)=x(k)*(3-x(k)^2)/2;

end

plot(x,’*-’)

%------------------------------

Exercıcio 2.2. O conjunto de Mandelbrot. Considere a equacao para z ∈ (C),

z0 = 0; (2.1.2)

zk+1 = z2k + c (2.1.3)

O conjunto de Maldelbrot e o conjunto de todos c ∈ C, tais que a iteracao acima tenhasempre |zk| < 2. Considere a funcao

%------------------------------

function [c]=mandelbrot(Total)

c =(rand-0.5+i*(rand-0.5))*3;

Page 8: Metodos numéricos para equações diferenciais

Secao 2.2: Representacao de numeros 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 casopertenca ao conjunto de Mandelbrot. Rode o programa com a linha

for k=1:1000; mandelbrot(100); end;

Qual a influencia da variavel Total?

2.2. Representacao de numeros

Veja [2, 3].Representacao de numeros, por exemplo, representacao decimal:

(123.456)10 = 1×102 + 2×101 + 3×100 + 4×10−1 + 5×10−2 + 6×10−3 (2.2.1)

onde a base e β = 10 e os dıgitos possıveis sao 0, 1, . . . , 8, 9.Representacao binaria:

(1001.101)2 = 1×23 + 0×22 + 0×21 + 1×20 + 1×2−1 + 0×2−2 + 1×2−3 (2.2.2)

= 23 + 20 + 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 dıgitos possıveis sao 0, 1.

2.3. Bits, bytes e palavras

Um bit e a menor unidade de informacao, 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 endereco 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. Representacao de numeros inteiros

Usando 32 bits, reservando um bit para o sinal, podemos representar somente 232

numeros, metade deles positivos e metade negativos.

Page 9: Metodos numéricos para equações diferenciais

Secao 2.5: Representacao de numeros reais 5

2.5. Representacao de numeros reais

Algumas possibilidades sao representacao fracionaria, representacao em ponto-fixo erepresentacao em ponto flutuante. Utilizando ponto flutuante, cada numero x e repre-sentado como

x = ±M×2±E ,1

2≤M < 1 (2.5.1)

onde a mantissa e da forma

M = (0.b0b1b2b3 . . .)2, b0 = 1 (2.5.2)

Como b0 = 1, o zero deve ser representado por convencao, de forma diferente - porexemplo 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 saousados 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 = 52bits 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 finita, ao representar x = 2/3 = (0.66666)10(que em binario e x = (0.10101010 . . .)2) no computador precisamos arredondar onumero. Porem, x = (0.10101010 . . .)2 esta entre dois numeros representaveis:

Page 10: Metodos numéricos para equações diferenciais

Secao 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 representacao desse numero, o erro absoluto e definidocomo

Eabs = |x− x| (2.6.1)

e o erro relativo e definido como

Erel =|x− x||x| . (2.6.2)

2.6.2. Arredondamento por corte

Supondo p = 24, podemos ignorar os bits b24b25 . . . 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.119209×10−6. (2.6.4)

2.6.3. Arredondamento por proximidade

Verificando o bit b24 podemos arredondar para cima se b24 = 1 e para baixo se b24 = 0.(Na verdade, adiciona-se 1 ao bit b24 e arredonda-se por corte 0.b0 . . . b23).

O erro maximo no arredondamento por proximidade sera a metade do arredon-damento por corte,

ǫprox = ǫcorte/2 = 2−23/2 = 0.596046×10−7. (2.6.5)

fornecendo aproximadamente 7 dıgitos de precisao decimal.Exercıcio 2.3. Quantos dıgitos de precisao decimal temos aproximadamente em duplaprecisao?

2.6.4. Caracterizacao de uma representacao

• p: a precisao e a quantidade de bits disponıvel 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 + ǫ 6= 1; (ouainda, β−p+1)

Exemplo 2.Utilizando simples precisao temos uma precisao de p = 23 + 1 = 24 bits (mais um poisb0 = 1 sempre).

Page 11: Metodos numéricos para equações diferenciais

Secao 2.7: Operacoes em ponto flutuante 7

MINR = (0.1000 . . .0000)2×2(−1111111)2 (2.6.6)

= 2−1×2−127 (2.6.7)

≈ (2.938735×10−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.70141×1038)10 (2.6.11)

ǫ = 2−p = 2−24 (2.6.12)

≈ (0.596046×10−7)10 (2.6.13)

utilizando arredondamento por proximidade.

2.7. Operacoes em ponto flutuante

Dizemos que cada operacao em ponto flutuante (⊕ = +,−,÷,×) apresenta um erroda ordem do epsilon de maquina,

fl(x⊕ y) = x⊕ y(1 + δ), |δ| ≤ ǫ (2.7.1)

A seguir temos exemplo de adicao e subtracao em ponto flutuante. Multiplicacao edivisao sao feitas de modo semelhante.Exemplo 3.Seja x = 123456.7 e y = 101.7654 e uma precisao de 7 dıgitos.

x = 1.234567×105 (2.7.2)

+y = 1.017654×102 (2.7.3)

x = 1.234567×105 (2.7.4)

+y = 0.001017654×105 (2.7.5)

−−−−−−−−−− (2.7.6)

z = 1.235584654×105 (2.7.7)

que e o valor exato. Arredondando e normalizando

z = 1.235585×105 (2.7.8)

Erro relativo:

Erel =|z − z||z| (2.7.9)

=|1.235584654×105 − 1.235585×105|

|1.235584654×105| (2.7.10)

≈ 5.29304081×10−7 < 10−6 = ǫcorte (2.7.11)

Page 12: Metodos numéricos para equações diferenciais

Secao 2.7: Operacoes em ponto flutuante 8

Exemplo 4.Seja x = 123456.7 e y = 0.009876543 e uma precisao de 7 dıgitos.

x = 1.234567×105 (2.7.12)

+y = 9.876543×10−3 (2.7.13)

x = 1.234567 ×105 (2.7.14)

+y = 0.00000009876543×105 (2.7.15)

−−−−−−−−−−−−− (2.7.16)

z = 1.23456709876543×105 (2.7.17)

z = 1.234567×105 (2.7.18)

A adicao nao fez nenhum efeito.

2.7.1. Cancelamento catastrofico

Quando dois numeros sao muito proximos e uma subtracao e realizada, pode acontecerum cancelamento catastrofico.Exemplo 5.Considere p = 7 e os numeros x = 123457.1467 e y = 123456.659 com representacoesx = 123457.1 e y = 123456.7. Calculando z = x− y temos:

x = 1.234571×105 (2.7.19)

−y = 1.234567×105 (2.7.20)

− −−−−−−−−−−−− (2.7.21)

z = 0.000004×105 (2.7.22)

z = 4.000000×10−1 (2.7.23)

O resultado verdadeiro e z = 4.877×10−1, portanto um erro relativo de

Erel =|4.877×10−1 − 4×10−1|

|4.877×10−1| ≈ 0.1798 . . . (2.7.24)

o que fornece uma diferenca relativa de 17.98%.

2.7.2. A comutatividade nao e valida

Operacoes em ponto flutuante 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)

Page 13: Metodos numéricos para equações diferenciais

Secao 2.7: Operacoes em ponto flutuante 9

2.7.3. A distributividade nao e valida

Operacoes em ponto flutuante nao sao distributivas:

(x ∗ z) + (y ∗ z) = (1234.567×3.333333) + (1.234567×3.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.802×3.333333 (2.7.35)

= 4119.340 (2.7.36)

Exercıcio 2.4. Calculos podem ser rearranjados de tal forma a reduzir alguns tiposde erros. Archimedes aproximou π calculando o perımetro de polıgonos inscritos ecircunscritos em um cırculo, iniciando com hexagonos e dobrando o numero de lados.A formula de recorrencia e

t0 =1√3

(2.7.37)

ti+1 =

t2i + 1 − 1

ti(2.7.38)

π ≈ 6×2i×ti, (2.7.39)

Calcule a sequencia que aproxima π imprimindo as aproximacoes e o erro relativo a cadaiteracao. Essa forma apresenta um cancelamento catastrofico. Reescreva a formula deiteracao e recalcule a sequencia.

Exercıcio 2.5. Escreva um algoritmo (em Matlab, Fortran ou C) que calcule o valordo epsilon de maquina. Rode o programa e imprima os resultados.

Exercıcio 2.6. Escreva um algoritmo que calcule MINR, o menor numero repre-sentavel. Rode o programa e imprima os resultados.

Exercıcio 2.7. Sabemos do calculo que

limn→∞

(1 +1

n)n = e (2.7.40)

Aproxime o valor de e usando Matlab. Qual o “limite da maquina”? Explique.

Exercıcio 2.8. A constante de Euler dada por

γ = .57721566490153286 . . . (2.7.41)

e definida como o limite

γ = limn→∞

γn, (2.7.42)

γn = 1 +1

2+

1

3+ . . .+

1

n− lnn. (2.7.43)

Assumindo que γ − γn ≈ cn−d, n → ∞, para alguma constante c, d > 0, tentedeterminar c e d experimentalmente usando um computador.

Page 14: Metodos numéricos para equações diferenciais

10

Aula 2 e 3 .

Aproximacoes.

Cunha, Bortoli et al

Capıtulo 3:

Aproximacoes

3.1. Aproximacao de ordem p

Objetivo:Aproximar a funcao f(t) ∈ C(R) por um polinomio q(t)de ordem p.

O polinomio pode ser expresso como a combinacao linear de p polinomios φk(t)que formam uma base para o espaco polinomial, de tal forma que q(t) = c0φ0(t) +c1φ1(t) + . . .+ cpφp(t).

Um possıvel maneira de obter tal polinomio e impor p+ 1 condicoes de compa-tibilidade, como por exemplo, podemos exigir que

f(t0) = q(t0), . . . , f(tp) = q(tp). (3.1.1)

Fixe a base φk(t) = tk, k = 0, . . . , p. Note que o polinomio q(t) que satisfaz3.1.1 e unico e nao depende da escolha da base.

O problema entao torna-se encontrar q(t) = c0 + c1t+ . . .+ cptp ≈ f(t) tal que

3.1.1 seja satisfeito. Assim obtemos o sistema

f(t0) = c0 + c1t0 + c2t20 + . . .+ cpt

p0 (3.1.2)

f(t1) = c0 + c1t1 + c2t21 + . . .+ cpt

p1 (3.1.3)

... =... (3.1.4)

f(tp) = c0 + c1tp + c2t2p + . . .+ cpt

pp (3.1.5)

que pode ser escrito na forma matricial

1 t0 . . . tp01 t1 . . . tp1...

......

1 tp . . . tpp

c0c1...cp

=

f(t0)f(t1)

...f(tp)

(3.1.6)

onde a matriz apresentada e a matriz de Vandermonde. Resolvendo o sistema obtemosos coeficientes ck para a interpolacao polinomial.Exercıcio 3.1. Fixe tk = k e monte matrizes de Vandermonde de tamanho n =1, 2, . . . , 30 plotando um grafico do numero de condicionamento da matriz de Vander-monde com respeito a n (utilize a funcao cond do Matlab).

Page 15: Metodos numéricos para equações diferenciais

Secao 3.2: Aproximacao em diferencas finitas 11

3.2. Aproximacao em diferencas finitas

Objetivo:Obter uma discretizacao para a funcao f ′(t) em t = t∗

de ordem p.

Dados p + 1 pontos [t0, t1, . . . , tp], queremos obter uma aproximacao para aderivada de f(t) calculada em t∗ do tipo

f ′(t∗) ≈ c0f(t0) + c1f(t1) + . . .+ cpf(tp) (3.2.1)

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

f ′(t0) =f(t0 + h) − f(t0)

h(3.2.2)

=1

hf(t1) −

1

hf(t0) (3.2.3)

Seja q(t) = c0φ0(t)+c1φ1(t)+. . .+cpφp(t) o polinomio de ordem p que aproximaf(t). Fixe a base φk(t) = tk. Como a regra (3.2.1) deve ser exata para qualquer q(t)ate ordem p, entao tambem deve ser exata para qualquer funcao da base. Substituindof(t) por φ0(t) = 1 em (3.2.1) obtemos

φ′0(t)|t∗ = (1)′|t∗ = c0φ0(t0) + c1φ0(t1) + . . .+ cpφ0(tp) (3.2.4)

0 = c0 + c1 + . . .+ cp (3.2.5)

Da mesma forma para k = 1, . . . , p, obtemos

(t)′t∗ = 1 = c0t0 + c1t1 + . . .+ cptp (3.2.6)

(t2)′t∗ = 2t∗ = c0t20 + c1t

21 + . . .+ cpt

2p (3.2.7)

(t3)′t∗ = 3(t∗)2 = c0t30 + c1t

31 + . . .+ cpt

3p (3.2.8)

... =... (3.2.9)

(tp)′t∗ = p(t∗)p−1 = c0tp0 + c1t

p1 + . . .+ cpt

pp (3.2.10)

que pode ser escrito na forma matricial

1 1 . . . 1t0 t1 . . . tpt20 t21 . . . t2p...

......

tp0 tp1 . . . tpp

c0c1c2...cp

=

01

2t∗

...p(t∗)p−1

(3.2.11)

Resolvendo o sistema obtemos os coeficientes ck para a regra de diferenciacao.

Exemplo 6.Seja p = 2, [t0, t1, t2] = [−h, 0, h] e t∗ = t1 = 0, obtenha uma regra de diferenciacaopara aproximar f ′(t∗).

Page 16: Metodos numéricos para equações diferenciais

Secao 3.3: Integracao Numerica, quadratura 12

Solucao: A regra tera a forma

f ′(t∗) ≈ c0f(t0) + c1f(t1) + c2f(t2) (3.2.12)

≈ c0f0 + c1f1 + c2f2 (3.2.13)

Considere a base polinomial [φ0(t), φ1(t), φ2(t)] = [1, t, t2] e substitua f(t) por φk(t)obtendo

(1)′t=0 = 0 = c0(1) + c1(1) + c2(1) (3.2.14)

(t)′t=0 = 1 = c0(−h) + c1(0) + c2(h) (3.2.15)

(t2)′t=0 = 0 = c0(−h)2 + c1(0)2 + c2(h)2 (3.2.16)

que pode ser escrito na forma matricial

1 1 1−h 0 hh2 0 h2

c0c1c2

=

010

(3.2.17)

Resolvendo o sistema obtemos [c0, c1, c2] = [− 12h , 0,

12h ] fornecendo a regra

f ′|t=t1 ≈ − 1

2hf0 +

1

2hf2 (3.2.18)

=f2 − f0

2h(3.2.19)

Exercıcio 3.2. Seja [t0, t1, t2] = [0, h, 2h] e t∗ = t0 = 0, obtenha uma regra unilateralde diferenciacao para aproximar f ′(t0).

Exercıcio 3.3. Seja [t0, t1, t2] = [−h, 0, h] e t∗ = t1 = 0, obtenha uma regra dediferenciacao para aproximar f ′′(t∗).

Exercıcio 3.4. Seja [t0, t1, . . . , t4] = [−2h,−h, 0, h, 2h] e t∗ = 0, obtenha uma regrade diferenciacao para aproximar f ′(t∗).

Exercıcio 3.5. Seja [t0, t1, . . . , t4] = [−2h,−h, 0, h, 2h] e t∗ = 0, obtenha uma regrade diferenciacao para aproximar f ′′(t∗).

Exercıcio 3.6. Seja [t0, t1, . . . , t4] = [0, h, 3h, 6h, 10h] e t∗ = 0, obtenha uma regrade diferenciacao para aproximar f ′(t∗).

3.3. Integracao Numerica, quadratura

Objetivo:Obter uma regra para integracao para a funcao f(t) em[a, b] de ordem p .

Page 17: Metodos numéricos para equações diferenciais

Secao 3.3: Integracao Numerica, quadratura 13

Dados p+ 1 pontos [t0, t1, . . . , tp], queremos obter uma aproximacao para∫ b

a

f(t) dt ≈ c0f(t0) + c1f(t1) + . . .+ cpf(tp) (3.3.1)

que seja exata para polinomios ate ordem p.Aproxime f(t) pelo polinomio q(t) = c0φ0(t)+ c1φ1(t)+ . . .+ cpφp(t) de ordem

p. Escolha uma base, por exemplo, φk(t) = tk. Como a regra (3.3.1) deve ser exatapara qualquer q(t) ate ordem p, entao tambem deve ser exata para qualquer funcao dabase. Substituindo f(t) por φ0(t) = 1 em (3.3.1) obtemos a identidade

∫ b

a

φ0(t) dt = t|ba = c0φ0(t0) + c1φ0(t1) + . . .+ cpφ0(tp) (3.3.2)

b− a = c0 + c1 + . . .+ cp (3.3.3)

Da mesma forma para φk(t), k = 1, . . . , p, obtemos

(t2/2)|ba =b2 − a2

2= c0t0 + c1t1 + . . .+ cptp (3.3.4)

(t3/3)|ba =b3 − a3

3= c0t

20 + c1t

21 + . . .+ cpt

2p (3.3.5)

... =... (3.3.6)

bp+1 − ap+1

p+ 1= c0t

p0 + c1t

p1 + . . .+ cpt

pp (3.3.7)

que pode ser escrito na forma matricial

1 1 . . . 1t0 t1 . . . tpt20 t21 . . . t2p...

......

tp0 tp1 . . . tpp

c0c1c2...cp

=

b− ab2−a2

2b3−a3

3...

bp+1−ap+1

p+1

(3.3.8)

Resolvendo o sistema obtemos os coeficientes ck para a regra de integracao.

Exemplo 7.Seja p = 2, [t0, t1, t2] = [0, h/2, h] e [a, b] = [t0, t2], obtenha uma regra de integracao

para aproximar∫ b

af(t) dt.

Solucao: A regra tera a forma∫ b

a

f(t) dt ≈ c0f(t0) + c1f(t1) + c2f(t2) (3.3.9)

≈ c0f0 + c1f1 + c2f2 (3.3.10)

Considere a base polinomial [φ0(t), φ1(t), φ2(t)] = [1, t, t2] e substitua f(t) por φk(t)

Page 18: Metodos numéricos para equações diferenciais

Secao 3.4: Quadratura Gaussiana 14

obtendo∫ h

0

1 dt = h = c0(1) + c1(1) + c2(1) (3.3.11)

∫ h

0

t dt = h2/2 = c0(0) + c1(h/2) + c2(h) (3.3.12)

∫ h

0

t2 dt = h3/3 = c0(0)2 + c1(h/2)2 + c2(h)2 (3.3.13)

que pode ser escrito na forma matricial

1 1 10 h/2 h0 h2/4 h2

c0c1c2

=

hh2/2h3/3

(3.3.14)

Resolvendo o sistema obtemos [c0, c1, c2] = [h6 ,

4h6 ,

h6 ] fornecendo a regra

∫ h

0

f(t) dt ≈ h

6f0 +

4h

6f1 +

h

6f2 (3.3.15)

=f0 + 4f1 + f2

6h (3.3.16)

Exercıcio 3.7. Seja [t0, t1, t2, t3] = [0, h/3, 2h/3, h] e [a, b] = [0, h], obtenha uma

regra de integracao para aproximar∫ h

0f(t) dt.

Exercıcio 3.8. Uma regra que nao utiliza os extremos. Seja [t1, t2, t3] = [h/4, h/2, 3h/4]

e [a, b] = [0, h], obtenha uma regra de integracao para aproximar∫ h

0f(t) dt.

Exercıcio 3.9. Seja [t0, t1, . . . , t4] = [0, h/4, h/2, 3h/4, h] e [a, b] = [0, h], obtenha

uma regra de integracao para aproximar∫ h

0 f(t) dt.

3.4. Quadratura Gaussiana

Objetivo:Obter uma regra para integracao para a funcao f(t) em[a, b] podendo variar a posicao dos nos.

Queremos encontrar a melhor posicao de p pontos [t1, . . . , tp] e os melhores pesoswk tal que a aproximacao

∫ b

a

f(t) dt ≈ w1f(t1) + . . .+ wpf(tp) (3.4.1)

possua ordem maxima de aproximacao.Para obter os coeficientes classicos, tome [a, b] = [−1, 1]. (Para outros intervalos,

basta fazer uma mudanca de intervalo na integral.)

Page 19: Metodos numéricos para equações diferenciais

Secao 3.5: Ordem de aproximacao 15

Note que temos p nos e p pesos para determinar. Portanto podemos aproximarf(t) pelo polinomio q(t) = c0 + c1t + . . . + cmt

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) = 1em (3.3.1) obtemos a identidade

∫ 1

−1

φ0(t) dt = t|1−1 = w1φ0(t1) + . . .+ wpφ0(tp) (3.4.2)

2 = w1 + . . .+ wp (3.4.3)

Da mesma forma para φk(t), k = 1, . . . ,m, obtemos

(t2/2)|1−1 = 0 = w1t1 + . . .+ wptp (3.4.4)

(t3/3)|1−1 = 2/3 = w1t21 + . . .+ wpt

2p (3.4.5)

(t4/4)|1−1 = 0 = w1t31 + . . .+ wpt

3p (3.4.6)

... =... (3.4.7)

(1)m+1 − (−1)m+1

p+ 1= w1t

m1 + . . .+ wpt

mp (3.4.8)

que e um sistema nao linear com 2p equacoes e incognitas wk, tk, k = 1, . . . , p.Exercıcio 3.10. Calcule os nos e pesos para a quadratura de Gauss utilizando 2 nosno intervalo [−1, 1].

Exercıcio 3.11. Calcule os nos e pesos para a quadratura de Gauss utilizando 3 nosno intervalo [−1, 1].

3.5. Ordem de aproximacao

Considere a definicao 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 equacao acima e exata. Caso contrario aaproximacao possui um erro.

Expandindo em serie de Taylor temos,

f(x+ h) = f(x) + hfx(x) +h2

2fxx(x) + O(h3) (3.5.2)

A notacao f(x) = O(g(x)) quando x→ a significa que

|f(x)| ≤ C|g(x)| (3.5.3)

para uma constante C (normalmente consideramos x→ 0 ou x→ ∞).Isolando fx(x) na serie de Taylor obtemos

f ′(x) =f(x+ h) − f(x)

h− h

2fxx(x) + O(h2) (3.5.4)

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

h+ O(h) (3.5.5)

Quando h→ 0, o erro na aproximacao e da ordem h.

Page 20: Metodos numéricos para equações diferenciais

Secao 3.5: Ordem de aproximacao 16

Exercıcio 3.12. Para a funcao f(x) = sin(x), aproxime f ′(1) utilizando a derivadapra frente para valores h = 10−1, 10−2, 10−3, . . .. Plote o erro relativo na aproximacaona escala logarıtmica, utilizando o comando loglog. Use h no eixo x e o erro relativoEr(h) no eixo y. Identifique a ordem 1 do metodo na curva plotada e explique o queacontece no grafico.

Exercıcio 3.13. Obtenha a expressao para o erro da derivada central f ′(x) ≈ f(x+h)−f(x−h)2h ,

utilizando a serie de Taylor. Repita o exercıcio anterior utilizando derivada central. Iden-tifique a ordem do metodo no grafico.

3.5.1. Integracao

Exemplo 8.Aproxime

∫ π

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

∫ xi+1

xi

f(t) dt ≈ fi + fi+1

2h (3.5.6)

. Aproxime tambem para 102, 103, 104 intervalos.

Solucao: Note que h = π−010 = π

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)

Exercıcio 3.14. Aproxime∫ π

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

Simpson∫ xi+2

xi

f(t) dt ≈ fi + 4fi+1 + fi+2

6h (3.5.7)

Page 21: Metodos numéricos para equações diferenciais

17

. Aproxime tambem para N = 102, 103, 104 intervalos. (Note que em cada subintervaloexistem 3 nos consecutivos, fazendo com que o for pule de 2 em 2 nos. Por que?)Plote o erro na escala logarıtmica em y.

Exercıcio 3.15. Aproxime∫ π

0sin(x)dx utilizando N subintervalos iguais e a uma

quadratura de Gauss com 2 nos em cada subintervalo (veja como obter os nos na secaoanterior ou na literatura). Note que os nos devem ser transladados para o subintervalo jaque eles sao fornecidos no intervalo (−1, 1). Aproxime tambem para N = 102, 103, 104

intervalos. Plote o erro na escala logarıtmica em y.

Aula 4 e 5 .

Equacoes Diferenciais Ordinarias e Metodo de Euler.

Butcher, Iserles

Capıtulo 4:

Equacoes Diferenciais Ordinarias

Bibliografia: Cap.1 [5], Sec.11,20,21,22 e [1]

Objetivo:Resolver ou aproximar a solucao de uma equacao dife-rencial ordinaria (EDO).

Considere a EDO de 1.a ordem,

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

u(t0) = a (4.0.2)

onde u(t) : R → R, e u(t0) = a e chamada de condicao inicial, e o problema echamado de Problema de Valor Inicial (PVI).

Usando a mesma terminologia podemos representar funcoes vetoriais, i.e., casou(t) ∈ RN ,

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

u(t0) = a (4.0.4)

Page 22: Metodos numéricos para equações diferenciais

18

onde u(t) = [u1(t), u2(t), . . . , uN(t)] : R → RN e a = [a1, . . . , aN ] ∈ RN . Ou seja,

u′1(t) = f1(t, u1(t), . . . , uN(t)) (4.0.5)

u′2(t) = f2(t, u1(t), . . . , uN(t)) (4.0.6)

... =... (4.0.7)

u′N (t) = fN(t, u1(t), . . . , uN(t)) (4.0.8)

e condicoes iniciais

u1(t0) = a1 (4.0.9)

u2(t0) = a2 (4.0.10)

... =... (4.0.11)

uN(t0) = aN (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(u2 + sin(t)) (4.0.19)

u(0) = a (4.0.20)

Page 23: Metodos numéricos para equações diferenciais

Secao 4.1: Teoria de equacoes diferenciais 19

Exemplo 13.

du1

dt= u2 (4.0.21)

du2

dt= −u1/(u2 + u3) (4.0.22)

du3

dt= u2 + t (4.0.23)

u1(0) = 4 (4.0.24)

u2(0) = 5 (4.0.25)

u3(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)

Exercıcio 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(t0) = y0 (4.0.30)

onde y(t) = [y1(t), y2(t), y3(t)], f : R3− > R3.

Exercıcio 4.2. Considere o PVI nao autonomo,

u′ = tu+ t2v, u(0) = 3, (4.0.31)

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

w′ = u+v

1 + tw(0) = 5. (4.0.33)

Reescreva-o como um problema autonomo (sem dependencia explıcita na variavel inde-pendente t).

4.1. Teoria de equacoes diferenciais

Uma questao fundamental em matematica aplicada e analisar se um modelo matematicodado 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 perguntaem tres partes:

• Existe uma solucao para o PV I?

• A solucao e unica?

• Quao sensıvel e a solucao a pequenas perturbacoes nas condicoes iniciais?

Page 24: Metodos numéricos para equações diferenciais

20

Definicao 4.1.1. A funcao f : [a, b]×RN → RN e Lipschitz (na segundavariavel) se ∃ constante L, tal que ∀t ∈ [a, b] e u, v ∈ RN ,

‖f(·, u) − f(·, v)‖ ≤ L‖u− v‖.

Definicao 4.1.2. Seja (M,ρ) um espaco metrico com metrica ρ. A funcaoφ : M →M e dita uma contracao 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-tracao. Entao ∃!ξ ∈M tal que φ(ξ) = ξ.

Teorema 4.1.4. Seja f : [a, b]×RN → RN contınua na primeira variavel e Lips-chitz na segunda variavel. Entao ∃ uma unica solucao para o PVI

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

u(t0) = a. (4.1.3)

Veja a prova em Butcher.

4.1.1. Dependencia na condicao inicial

Se u(t) e v(t) sao solucoes do PVI com f Lipschitz com u(t0) = u0, v(t0) = v0, entao

d

dt‖u(t) − v(t)‖ ≤ L‖u(t)− v(t)‖

Multiplicando por e−Lt,d

dt(e−Lt‖u(t) − v(t)‖) ≤ 0

implicando que‖u(t) − v(t)‖ ≤ eL(t−t0)‖u0 − v0‖.

Capıtulo 5:

Metodo de Euler

Seja o PVI

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

u(t0) = a (5.0.2)

Ao inves de solucionar o problema para qualquer t > t0, (achar u(t)), iremos aproximaru(t) em t1 = t0 + h.

Integre (5.0.1) de t0 ate t1 e obtenha:∫ t1

t0

u′(t) dt =

∫ t1

t0

f(t, u(t)) dt (5.0.3)

u(t1) − u(t0) =

∫ t1

t0

f(t, u(t)) dt (5.0.4)

Page 25: Metodos numéricos para equações diferenciais

21

Supondo f(t, u(t)) ≈ f(t0, u(t0)) (constante) no intervalo pequeno,

u(t1) − u(t0) ≈ f(t0, u(t0))

∫ t1

t0

dt (5.0.5)

u(t1) ≈ u(t0) + f(t0, u(t0))

∫ t1

t0

dt (5.0.6)

u(t1) ≈ u(t0) + f(t0, u(t0))(t1 − t0) (5.0.7)

u(t1) ≈ u(t0) + hf(t0, u(t0)) (5.0.8)

Para simplificar a notacao, denote por un ≡ u(tn) a solucao aproximada em tne temos

u1 ≈ u0 + hf(t0, u0) (5.0.9)

Este procedimento pode ser estendido para t2, t3, . . ., onde

tn+1 = tn + h = t0 + nh, n = 1, 2, . . .

obtendo o metodo de Euler,

Metodo de Euler

un+1 = un + h f(tn, un) (5.0.10)

para n = 0, 1, 2 . . .. (Note que o passo h e constante, entretanto poderia ser variavel:hn = tn − tn−1.)

Exemplo 15.Aproxime a solucao 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 solucao exata do problema e

u(t) = 2t+ 8e−t/2 (5.0.13)

Itere a formula

un+1 = un + h(−0.5un + 2 + tn), u0 = 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;

Page 26: Metodos numéricos para equações diferenciais

22

0 1 2 3 4 56

6.5

7

7.5

8

8.5

9

9.5

10

10.5

11Solucao 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 solucao para h = 1, 0.5, 0.1, 0.05:

Exercıcio 5.1. Aproxime a solucao do PVI

du

dt= sin t (5.0.15)

u(0) = 1 (5.0.16)

para t ∈ [0, 10].

a. Plote a solucao para h = 0.16, 0.08, 0.04, 0.02, 0.01.

b. Utilizando a solucao exata, plote um grafico do erro em escala logarıtmica. Co-mente os resultados.

Page 27: Metodos numéricos para equações diferenciais

Secao 5.1: Erro de truncamento 23

c. Para t = 10, qual a relacao entre o erro e h (erro = f(h)). Comente.

Exercıcio 5.2. Aproxime a solucao do PVI

du

dt=

t2

1 − u2(5.0.17)

u(0) = 0 (5.0.18)

para t > 0.

a. Plote a solucao para h = 0.5 e t ∈ [0, 20].

b. Tente aproximar melhor a solucao diminuindo h.

c. Note que existe T∗ tal que a solucao deixa de existir para t > T∗. Forneca umajustificativa para este fato e encontre T∗.

5.1. Erro de truncamento

Sendo u(tn) a solucao exata em tn e un a solucao aproximada, defina o erro numericocomo en = un − u(tn).

Expandindo em serie de Taylor

u(tn+1) = u(tn) + hu′(tn) + h2u′′(tn)/2 + O(h3) (5.1.1)

e utilizando a equacao diferencial,

u(tn+1) = u(tn) + hf(tn, un) + h2u′′(tn)/2 + O(h3) (5.1.2)

Subtraindo (5.1.2) do metodo de Euler

un+1 = un + h f(tn, un) (5.1.3)

temos

un+1 − u(tn+1) =un − u(tn) (5.1.4)

+ h(f(tn, u(tn) + en) − f(tn, u(tn))) + O(h2) (5.1.5)

en+1 =en + h(f(tn, u(tn) + en) − f(tn, u(tn))) + O(h2) (5.1.6)

Usando a condicao de Lipschitz em f temos

‖en+1‖ ≤ ‖en‖ + h‖f(tn, u(tn) + en) − f(tn, u(tn))‖ + ch2 (5.1.7)

≤ ‖en‖ + hL‖u(tn) + en − u(tn)‖ + ch2 (5.1.8)

≤ ‖en‖ + hL‖en‖ + ch2 (5.1.9)

≤ (1 + hL)‖en‖ + ch2 (5.1.10)

5.1.1. Erro de truncamento Local

O Erro de Truncamento Local e o erro cometido em uma iteracao do metodo numericosupondo que a solucao exata e conhecida no passo anterior.

Assim, supondo que a solucao e exata em tn, obtemos que o ETL e

ETLn+1Euler = h2/2‖u′′(tn)‖ +O(h3)

Page 28: Metodos numéricos para equações diferenciais

Secao 5.1: Erro de truncamento 24

5.1.2. Erro de truncamento Global

Seja T = tn+1 − t0 = h(n+ 1), temos dois casos: se L = 0 entao

‖en+1‖ ≤ ‖en‖ + ch2 (5.1.11)

≤ ‖en−1‖ + ch2 + ch2 (5.1.12)

≤ ‖en−2‖ + ch2 + ch2 + ch2 (5.1.13)

≤ . . . (5.1.14)

≤ ‖e0‖ + (n+ 1)ch2 (5.1.15)

≤ ‖e0‖ + Tch (5.1.16)

e se L 6= 0 entao

‖en+1‖ ≤ (1 + hL)‖en‖ + ch2 (5.1.17)

‖en+1‖ + ch/L ≤ (1 + hL)‖en‖ + ch/L+ ch2 (5.1.18)

‖en+1‖ + ch/L ≤ (1 + hL)‖en‖ + (1 + hL)ch/L (5.1.19)

‖en+1‖ + ch/L ≤ (1 + hL)(‖en‖ + ch/L) (5.1.20)

‖en+1‖ + ch/L ≤ (1 + hL)n+1(‖e0‖ + ch/L) (5.1.21)

‖en+1‖ + ch/L ≤ e(n+1)hL(‖e0‖ + ch/L) (5.1.22)

‖en+1‖ ≤ eTL(‖e0‖ + ch/L)− ch/L (5.1.23)

‖en+1‖ ≤ eTL‖e0‖ + eTLch/L− ch/L (5.1.24)

‖en+1‖ ≤ eTL‖e0‖ + (eTL − 1)ch/L (5.1.25)

O Erro de Truncamento Global e o erro cometido durante varias iteracoes dometodo numerico.

Supondo que a solucao exata e conhecida em t0, temos ‖e0‖ = 0 e ETG e

ETGn+1Euler = O(h)

5.1.3. Convergencia

Um metodo e dito convergente se para toda EDO com f Lipschitz e todo T > 0temos que

limh−>0

max∀n

‖un − u(tn)‖ = 0

Convergencia significa que a solucao numerica tende a solucao verdadeira

Teorema 5.1.1. O metodo de Euler e convergente.

Supondo que o erro em t0 e zero temos ∀T > t0 e f Lipschitz

limh−>0

‖en+1‖ = limh−>0

(eTL − 1)ch/L = 0 (5.1.26)

O metodo de Euler possui ETL = O(h2) e e um metodo de ordem 1.

Page 29: Metodos numéricos para equações diferenciais

Secao 5.2: A regra do trapezio 25

5.1.4. Paradoxo da ordem

Contınuo: u(t) resolve exatamente u′(t) = f(t, u(t)).

Discreto: un+1 resolve exatamente un+1 =F (f, t, un, . . . , u0).

Porem

un+1 resolve aproximadamente u′(t) = f(t, u(t)),ou seja, ‖un+1 − u(tn)‖ = O(hp+1).

u(t) resolve aproximadamente

u(tn+1) − F (f, t, u(tn), . . . , u(t0)) = O(hp+1).

Alternativamente, um metodo e chamado de ordem p se recupera exatamente

toda solucao polinomial de ordem p.Sob certas condicoes, como ETL = O(hp+1), quando o numero de passos

aumenta como O(n) = O(h−1) temos que ETG = O(hp).

5.2. A regra do trapezio

O metodo de Euler aproxima f como uma constante f(t0, u0) no intervalo [t0, t1].Podemos melhorar isso usando a regra do trapezio,

u(t1) = u(t0) +

∫ t1

t0

f(t, u(t)) dt (5.2.1)

u(t1) ≈ u(t0) + (t1 − t0

(

1

2f(t0, u(t0)) +

1

2f(t1, u(t1))

)

(5.2.2)

motivando o

metodo trapezoidal

un+1 = un +h

2(f(tn, un) + f(tn+1, un+1)) (5.2.3)

O erro de truncamento local e

ETLn+1Trap = O(h3)

portanto o metodo e de ordem 2. Pode ser mostrado que o erro de truncamento globale

ETGn+1Trap = O(h2)

Page 30: Metodos numéricos para equações diferenciais

Secao 5.3: O metodo theta 26

(entretanto nao deve se concluir que ETG = ETL/h)O metodo trapezoidal e dito implıcito, pois para obter un+1 e necessario calcular

f(tn+1, un+1). Para resolver esse problema devemos resolver a equacao para un+1 (ouainda um sistema algebrico de equacoes).

Inspirado no metodo anterior, ao inves de aproximar

u′(t) ≈ 1

2[f(tn, un) + f(tn+1, un+1)] (5.2.4)

podemos aproximar

u′(t) ≈ f(tn +h

2,1

2(un + un+1)). (5.2.5)

levando ao

metodo do ponto medio

un+1 = un + hf(tn +h

2,1

2(un + un+1)). (5.2.6)

Exercıcio 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

un+1 = un + h(θf(tn, un) + (1 − θ)f(tn+1, un+1)) (5.3.1)

com θ = 1 e θ = 12 respectivamente. O metodo e explıcito somente para θ = 1. Para

θ = 0, temos um metodo implıcito de primeira ordem chamado

metodo de Euler implıcito

un+1 = un + hf(tn+1, un+1). (5.3.2)

Exercıcio 5.4. O sistema linear u′ = Au, u(0) = u0, onde A e uma matriz simetricae resolvido pelo metodo de Euler.

a. Seja en = un − u(nh), n = 0, 1, . . ., prove que

‖en‖2 ≤ ‖u0‖2 maxλ∈σ(A)

|(1 + hλ)n − enhλ|, (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

enx − 1

2nx2e(n−1)x ≤ (1 + x)n ≤ enx. (5.3.4)

(Dica: Prove que 1 + x ≤ ex, 1 + x + 12x

2 ≥ ex, para todo x ≤ 0 e argumenteque, se |a− 1| e |b| sao pequenos, e verdade que (a− b)n ≥ an − nan−1b.

Page 31: Metodos numéricos para equações diferenciais

Secao 5.4: O metodo de Taylor 27

c. Suponha que o maior autovalor de A e λmax < 0. Prove que, quando h− > 0 enh− > t ∈ [0, t∗],

‖en‖2 ≤ 1

2tλ2

maxeλmaxt‖u0‖2h ≤ 1

2t∗λ2

max‖u0‖2h (5.3.5)

5.4. O metodo de Taylor

Uma maneira simples de aumentar a ordem do metodo e utilizar diretamente a serie deTaylor. Considere a expansao

u(t+ h) = u(t) + hu′(t) +h2

2!u′′(t) +

h3

3!u′′′(t) + . . . (5.4.1)

Utilizando dois termos temos o metodo de Euler. Utilizando os tres primeirostermos da serie e substituindo u′(t) = f(t, x) e u′′(t) = ft(t, x) temos o

metodo de Taylor de ordem 2

un+1 = un + hf(tn, un) +h2

2!ft(tn, un) (5.4.2)

metodo de Taylor de ordem 3

un+1 = un + hf(tn, un) +h2

2!ft(tn, un) +

h3

3!ftt(tn, un)

Exercıcio 5.5. Aproxime a solucao do PVI

du

dt= sin t (5.4.3)

u(0) = 1 (5.4.4)

para t ∈ [0, 10].

a. Plote a solucao para h = 0.16, 0.08, 0.04, 0.02, 0.01 para o metodo de Taylor deordem 1, 2 e 3. (Plote todos de ordem 1 no mesmo grafico, ordem 2 em outrografico e ordem 3 outro grafico separado.)

b. Utilizando a solucao exata, plote um grafico do erro em escala logarıtmica. Co-mente os resultados (novamente, em cada grafico separado para cada metodorepita os valores acima)

c. Fixe agora o valor h = 0.02 e plote no mesmo grafico uma curva para cadametodo.

d. Plote em um grafico o erro em t = 10 para cada um dos metodos (uma curvapara cada ordem) a medida que h diminui. (Use escala loglog)

Exercıcio 5.6. Aproxime a solucao 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)

Page 32: Metodos numéricos para equações diferenciais

28

utilizando o metodo de Euler. Escolha apropriadamente h e ilustre graficamente aconvergencia. Plote solucoes no plano de fase (plano xy).

Exercıcio 5.7. Aproxime a solucao do PVI

du

dt=

cos(t+ u)

1 + u2(5.4.7)

u(0) = 0 (5.4.8)

utilizando o metodo do trapezio. Escolha apropriadamente h e ilustre graficamente aconvergencia.

Para resolver o metodo implıcito, utilize por exemplo iteracao de ponto fixo ouo metodo de Newton.

a. Plote a solucao para diferentes valores de h.

b. Para h = 0.01 e T = 10 conte o numero total de iteracoes necessarias de cadapasso do metodo implıcito para obter a solucao usando uma tolerancia de 10−15

na solucao do problema implıcito.

c. Repita o exercıcio anterior com h = 0.01, T = 10 e tolerancia de 10−8.

d. Repita o exercıcio anterior com h = 0.01, T = 10 e tolerancia de 10−4.

e. Repita o exercıcio anterior utilizando o metodo de Euler com diferentes valores deh, ate T = 10 de tal forma que a solucao seja tao proxima da solucao do metododo trapezio quanto possıvel. Conte as iteracoes necessarias para obter a solucaocom o metodo de Euler com o mesmo erro que o metodo do trapezio.

f. Compare, para esse exercıcio, o metodo de Euler e o do trapezio.

Aula 6 e 7 .

Metodos de passo multiplo.

Butcher, Iserles

Capıtulo 6:

Metodos de Passo Multiplo

Bibliografia: Cap.2 [5], e Sec.24 [1].Seja a EDO

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

u(t0) = a (6.0.2)

Page 33: Metodos numéricos para equações diferenciais

Secao 6.1: O metodo de Adams-Bashforth 29

Integrando a EDO em [tn+1, tn] obtemos

un+1 = un +

∫ tn+1

tn

f(t, u(t)) dt (6.0.3)

Denote por fn ≡ f(tn, un). Um metodo de passo simples utiliza fn+1 e fn. Ummetodo de passo multiplo utiliza tambem s valores anteriores ja calculados comofn−1, fn−2, . . . , fn−s, onde s ≥ 1 inteiro.

un+1 = un + h[bsfn+1 + bs−1fn + . . .+ b1fn−s+2 + b0fn−s+1] (6.0.4)

Para conformidade com [5], translade s− 1 ındices,

un+s = un+s−1 + h[bsfn+s + bs−1fn+s−1 + . . .+ b1fn+1 + b0fn] (6.0.5)

e teremos

un+s = un+s−1 + hs∑

m=0

bmfn+m (6.0.6)

De forma geral

um metodo de passo multiplo seras∑

m=0

amun+m = h

s∑

m=0

bmfn+m (6.0.7)

6.1. O metodo de Adams-Bashforth

Quando as = 1, as−1 = −1, am = 0 para m = s− 2, . . . , 0, bs = 0 temos um metodode Adams-Bashforth do tipo

un+s = un+s−1 + h

s−1∑

m=0

bmfn+m (6.1.1)

Note que os metodos de Adams-Bashforth sao explıcitos pois bs = 0.Exemplo 16.Vamos obter o metodo de Adams-Bashforth para s = 4 como

un+4 = un+3 +

∫ tn+4

tn+3

f(t, u(t)) dt (6.1.2)

un+4 = un+3 + h

3∑

m=0

bmfn+m (6.1.3)

un+4 = un+3 + h[b3fn+3 + b2fn+2 + b1fn+1 + b0fn] (6.1.4)

Para isso devemos obter [b3, b2, b1, b0] tal que o metodo seja exato para polinomios ateordem 3. Podemos obter esses coeficientes de maneira analoga a obter os coeficientesde um metodo para integracao como em 3.1.

Page 34: Metodos numéricos para equações diferenciais

Secao 6.1: O metodo de Adams-Bashforth 30

Supondo que os nos tk estejam igualmente espacados, e para facilidade doscalculos, como o intervalo de integracao e [tn+3, tn+4], translade tn+3 para a origemtal que [tn, tn+1, . . . , tn+4] = [−3h,−2h,−h, 0, h].

Considere a base [φ0(t), . . . , φ3(t)] = [1, t, t2, t3] e substitua f(t) por φk(t) ob-tendo

∫ h

0

1 dt = h = h(b0(1) + b1(1) + b2(1) + b3(1))

∫ h

0

t dt =h2

2= h(b0(0) + b1(−h) + b2(−2h) + b3(−3h))

∫ h

0

t2 dt =h3

3= h(b0(0)2 + b1(−h)2 + b2(−2h)2 + b3(−3h)2)

∫ h

0

t3 dt =h4

4= h(b0(0)3 + b1(−h)3 + b2(−2h)3 + b3(−3h)3)

que pode ser escrito na forma matricial

1 1 1 10 −1 −2 −30 1 4 90 −1 −8 −27

b0b1b2b3

=

11/21/31/4

(6.1.5)

Resolvendo o sistema obtemos

[b0, b1, b2, b3] = [− 9

24,37

24,−59

24,55

24]

fornecendo

o metodo de Adams-Bashforth de 4 estagios

un+4 = un+3 +h

24[55fn+3 − 59fn+2 + 37fn+1 − 9fn]

(6.1.6)

Dica: Para encontrar coeficientes no formato fracionario utilize format rat noMatlab.Exercıcio 6.1. Mostre que o metodo de Adams-Bashforth para s = 2 e dado por

un+2 = un+1 +h

2[3fn+1 − fn] (6.1.7)

Exercıcio 6.2. Mostre que o metodo de Adams-Bashforth para s = 3 e dado por

un+3 = un+2 +h

12[23fn+2 − 16fn+1 + 5fn] (6.1.8)

Page 35: Metodos numéricos para equações diferenciais

Secao 6.2: Ordem e convergencia de metodos de passo multiplo 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 definicao da funcao f em na funcao func.

6.2. Ordem e convergencia de metodos de passo multiplo

Mais geralmente, um metodo de passo multiplo sera da formas∑

m=0

amun+m = hs∑

m=0

bmfn+m (6.2.1)

Por convencao normalizamos a equacao acima tomando as = 1. Quando bs = 0 temosum metodo explıcito e quando bs 6= 0 temos um metodo implıcito.

O metodo sera de ordem p se o ETL(u(t)) = ψ(u(t)) = O(hp+1) para u(t)suficientemente suave, ou ainda, a solucao exata resolve aproximadamente (6.2.1), talque,

ψ(u(t)) :=

s∑

m=0

amu(t+mh) − h

s∑

m=0

bmu′(t+mh) (6.2.2)

=O(hp+1), h→ 0 (6.2.3)

Dois polinomios sao usados para estudar o metodo (6.2.1):

ρ(w) =

s∑

m=0

amwm, σ(w) =

s∑

m=0

bmwm, (6.2.4)

Teorema 6.2.1. O metodo de passo multiplo e de ordem p ≥ 1 se e somente se

ρ(w) − σ(w) lnw = O(|w − 1|p+1) w → 1

Page 36: Metodos numéricos para equações diferenciais

Secao 6.2: Ordem e convergencia de metodos de passo multiplo 32

Demonstracao. Expandindo u(t+mh) e u′(t+mh) como serie de Taylor,

u(t+mh) =

∞∑

k=0

u(k)(t)

k!mkhk (6.2.5)

u′(t+mh) =∞∑

k=0

u(k+1)(t)

k!mkhk (6.2.6)

u′(t+mh) =

∞∑

k=1

u(k)(t)

(k − 1)!mk−1hk−1 (6.2.7)

Assumindo que u(t) e analıtica temos

ψ(u(t)) =

s∑

m=0

amu(t+mh) − h

s∑

m=0

bmu′(t+mh)

=s∑

m=0

am

∞∑

k=0

u(k)(t)

k!mkhk − h

s∑

m=0

bm

∞∑

k=1

u(k)(t)

(k − 1)!mk−1hk−1

=(

s∑

m=0

am)u(t) +

∞∑

k=1

s∑

m=0

amu(k)(t)

k!mkhk − hbm

u(k)(t)

(k − 1)!mk−1hk−1

=(s∑

m=0

am)u(t) +∞∑

k=1

u(k)(t)

k!hk

s∑

m=0

(ammk − bmkm

k−1)

Para o metodo ser de ordem p e necessario e suficiente que todos termos ate ordemhp sejam zero, ou seja,

s∑

m=0

am = 0 (6.2.8)

s∑

m=0

(ammk − bmkm

k−1) = 0, k = 1, . . . , p (6.2.9)

Por outro lado, fazendo w = ez (quando z− > 0 temos w− > 1), e expan-

Page 37: Metodos numéricos para equações diferenciais

Secao 6.2: Ordem e convergencia de metodos de passo multiplo 33

dindo em serie de Taylor

ρ(ez) − zσ(ez) =

s∑

m=0

amemz − z

s∑

m=0

bmemz (6.2.10)

=

s∑

m=0

(am − zbm)emz (6.2.11)

=

s∑

m=0

(am − zbm)(

∞∑

k=0

mkzk

k!) (6.2.12)

=

∞∑

k=0

zk

k!

s∑

m=0

ammk − zbmm

k (6.2.13)

=

∞∑

k=0

zk

k!

s∑

m=0

ammk − bmkm

k−1 (6.2.14)

Temos entao que

ρ(ez) − zσ(ez) = O(zp+1), z− > 0 (6.2.15)

ρ(w) − lnwσ(w) = O(|w − 1|p+1), w− > 1 (6.2.16)

se e somente se o metodo e de ordem p, ou seja, as condicoes (6.2.8) sao validas.

6.2.1. Convergencia de metodos de passo multiplo

Alternativamente,ψ(u(t)) = O(hp+1)

para u(t) arbitraria se e somente se ψ(q(t)) = 0 ∀q(t) ∈ Pp.Isto e equivalente a ψ(φk(t)) = 0 para a base polinomial φk(t) = tk, k =

0, . . . , p.Por exemplo, para φ0(t) = 1 obtemos

ψ(φ0) =

s∑

m=0

amψ0(t+mh) − h

s∑

m=0

bmψ′0(t+mh) (6.2.17)

=s∑

m=0

am = 0 (6.2.18)

e para ψk(t) = tk, obtemos

ψ(φk) =

s∑

m=0

amψk(t+mh) − h

s∑

m=0

bmψ′k(t+mh) (6.2.19)

=

s∑

m=0

am(mh)k − h

s∑

m=0

bmk(mh)k−1 (6.2.20)

= hks∑

m=0

ammk − bmkm

k−1 (6.2.21)

(6.2.22)

Page 38: Metodos numéricos para equações diferenciais

Secao 6.2: Ordem e convergencia de metodos de passo multiplo 34

que e igual a zero para k = 1, . . . , p sob a condicao (6.2.8).

Exemplo 17.Considere o metodo (6.1.7) de Adams-Bashforth de ordem 2.

un+2 = un+1 +h

2[3fn+1 − fn] (6.2.23)

Podemos calcular (faca ξ = w − 1),

ρ(w) − σ(w) lnw = (w2 − w) − (3

2w − 1

2) lnw (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.

Exercıcio 6.3. Verifique que o metodo (6.1.8) de Adams-Bashforth para s = 3 erealmente de ordem 3.

Exercıcio 6.4. Verifique que o metodo (6.1.6) de Adams-Bashforth para s = 4 erealmente de ordem 4.

Exercıcio 6.5. Verifique que o metodo

un+2 − 3un+1 + 2un =h

12[13fn+2 − 20fn+1 − 5fn] (6.2.27)

possui ordem 2, porem nao e convergente (sem usar o proximo teorema). (Dica: use aEDO u′(t) = 0, u(0) = 1).

6.2.2. Teorema de equivalencia de Dahlquist

Dizemos que um polinomio obedece a condicao da raiz se todas suas raızes possuem|z| ≤ 1 e as raızes com |z| = 1 sao simples.

Teorema 6.2.2 (Teorema de equivalencia de Dahlquist). Suponha que o erro emu1, . . . , us−1 tende a zero quando h− > 0. O metodo de passo multiplo e convergentese e somente se o erro e de ordem p ≥ 1 e ρ(z) obedece a condicao da raiz.

Por exemplo o metodo (6.2.27) possui

ρ(w) = (w − 1)(w − 2) (6.2.28)

violando a condicao da raiz.

Exemplo 18.Prove que o metodo de passo 3

un+3 +27

11un+2 −

27

11un+1 − un = (6.2.29)

=h

11[3fn+3 + 27fn+2 + 27fn+1 + 3fn] (6.2.30)

Page 39: Metodos numéricos para equações diferenciais

Secao 6.3: O metodo de Adams-Moulton 35

possui ordem 6 porem nao e convergente.

Solucao: Verifique que o metodo e ordem 6. Entretanto o polinomio

ρ(w) = w3 +27

11w2 − 27

11w − 1 (6.2.31)

= (w − 1)

(

w +19 + 4

√15

11

)(

w +19 − 4

√15

11

)

(6.2.32)

que falha na condicao da raiz.

Exercıcio 6.6. Prove que todos os metodos de Adams-Bashforth satisfazem a condicaoda raiz.

6.2.3. A primeira barreira de Dahlquist

Um metodo de passo multiplo possui 2s + 1 coeficientes am,bm. Poderıamos definirtais coeficientes de tal forma a obter ordem maxima.

Conclusao? Poderıamos obter metodos com s estagios e ordem 2s.Entretanto tal metodo (implıcito de passo s e ordem 2s) nao e convergente para

s ≥ 3 (como o metodo (6.2.29) visto acima).E possıvel provar que a ordem maxima de convergencia para um metodo de

passo multiplo s e no maximo 2⌊(s+ 2)/2⌋ para metodos implıcitos e s para metodosexplıcitos. Esta e a primeira barreira de Dahlquist.

6.3. O metodo de Adams-Moulton

Quando as = 1, as−1 = −1, am = 0 para m = s− 2, . . . , 0, bs 6= 0 temos um metodode Adams-Moulton do tipo

un+s = un+s−1 + h

s∑

m=0

bmfn+m (6.3.1)

Note que os metodos de Adams-Moulton sao implıcitos pois bs 6= 0.Exemplo 19.Vamos obter o metodo de Adams-Moulton para s = 3 como

un+3 = un+2 +

∫ tn+4

tn+3

f(t, u(t)) dt (6.3.2)

un+3 = un+2 + h3∑

m=0

bmfn+m (6.3.3)

un+3 = un+2 + h[b3fn+3 + b2fn+2 + b1fn+1 + b0fn] (6.3.4)

Para isso devemos obter [b3, b2, b1, b0] tal que o metodo seja exato para polinomios ateordem 3. Podemos obter esses coeficientes de maneira analoga a obter os coeficientesde um metodo para integracao como em 3.1.

Page 40: Metodos numéricos para equações diferenciais

Secao 6.4: Metodo BDF 36

Supondo que os nos tk estejam igualmente espacados, e para facilidade doscalculos, como o intervalo de integracao e [tn+2, tn+3], translade tn+2 para a origemtal que [tn, tn+1, . . . , tn+3] = [−2h,−h, 0, h].

Considere a base [φ0(t), . . . , φ3(t)] = [1, t, t2, t3] e substitua f(t) por φk(t) ob-tendo

∫ h

0

1 dt = h = h(b0(1) + b1(1) + b2(1) + b3(1))

∫ h

0

t dt =h2

2= h(b0(h) + b1(0) + b2(−h) + b3(−2h))

∫ h

0

t2 dt =h3

3= h(b0(h)

2 + b1(0)2 + b2(−h)2 + b3(−2h)2)

∫ h

0

t3 dt =h4

4= h(b0(h)

3 + b1(0)3 + b2(−h)3 + b3(−2h)3)

que pode ser escrito na forma matricial

1 0 1 11 0 −1 −21 0 1 41 0 −1 −8

b0b1b2b3

=

11/21/31/4

(6.3.5)

Resolvendo o sistema obtemos

[b0, b1, b2, b3] = [1

24,− 5

24,19

24,

9

24, ]

fornecendo a regra

un+3 = un+2 +h

24[9fn+3 + 19fn+2 − 5fn+1 + fn] (6.3.6)

Exercıcio 6.7. Encontre o metodo de Adams-Moulton para s = 2.

Exercıcio 6.8. Encontre o metodo de Adams-Moulton para s = 3.

Exemplo 20.Um metodo de ordem s explıcito e chamado de metodo de Nystron se ρ(w) = ws−2(w2−1).

Exemplo 21.Um metodo de ordem s + 1 implıcito e chamado de metodo de Milne se ρ(w) =ws−2(w2 − 1).

6.4. Metodo BDF

Um metodo de ordem s com s estagios e chamado de metodo BDF-Backward Dif-ferentiation Formula se σ(w) = bsw

s, onde bs ∈ R.

Page 41: Metodos numéricos para equações diferenciais

Secao 6.4: Metodo BDF 37

Lema 6.4.1. Para um metodo BDF temos

bs =

(

s∑

m=1

1

m

)−1

, ρ(w) = bs

s∑

m=1

1

mws−m(w − 1)m (6.4.1)

Demonstracao. Sendo p = s a ordem, o teorema 6.2.1 implica que

ρ(w) − bsws lnw = O(|w − 1|s+1), w− > 1

Substituindo v = 1/w,

ρ(1

v) − bs

vsln(

1

v) = O(|1

v− 1|s+1), v− > 1

vsρ(1

v) + bs ln v = O(|1 − v|s+1), v− > 1

Como

ln v = ln [1 + (v − 1)] =

s∑

m=1

(−1)m−1

m(v − 1)m +O(|v − 1|s+1)

deduzimos que

vsρ(1/v) = bs

s∑

m=1

(−1)m−1

m(v − 1)m

Portanto

ρ(w) = bsv−s

s∑

m=1

(−1)m

m(v − 1)m (6.4.2)

= bs

s∑

m=1

(−1)m

mws(w−1 − 1)m (6.4.3)

= bs

s∑

m=1

1

mws−m(w − 1)m (6.4.4)

Para completar a prova, falta derivar a forma explıcita para bs, que segue impondoas = 1 em ρ(w).

Exemplo 22.Mostre que o metodo BDF com s = 3 e

un+3 −18

11un+2 +

9

11un+1 −

2

11un =

6

11hfn+3 (6.4.5)

Solucao: Para s = 3 temos que

bs =1

1 + 12 + 1

3

=6

11

e

ρ(w) =6

11[w2(w − 1) +

1

2w(w − 1)2 +

1

3(w − 1)3] (6.4.6)

= w3 − 18

11w2 +

9

11w − 2

11(6.4.7)

Page 42: Metodos numéricos para equações diferenciais

38

Teorema 6.4.2. O polinomio ρ(w) em (6.4.1) satisfaz a condicao da raiz e o metodoBDF e convergente se e somente se 1 ≤ s ≤ 6.

Exercıcio 6.9. Mostre que o metodo BDF com s = 1 e o metodo de Euler implıcito.

Exercıcio 6.10. Mostre que o metodo BDF com s = 2 e

un+2 −4

3un+1 +

1

3un =

2

3hfn+2 (6.4.8)

Exercıcio 6.11. Mostre que os metodos BDF com s = 2 e s = 3 sao convergentes.

Exercıcio 6.12. Determine a ordem do metodo de passo 3,

un+3 − un =h

8[3fn+3 + 9fn+2 + 9fn+1 + 3fn] (6.4.9)

Este metodo e convergente?

Exercıcio 6.13. Aproxime a solucao 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 resultadoscomo nos exercıcios anteriores. Compare os resultados utilizando nos passos iniciais ometodo de:

a. Euler;

b. Taylor;

c. Runge-Kutta.

Aula 8 .Metodos de Runge-Kutta

.Butcher, Iserles

Capıtulo 7:

Metodos de Runge-Kutta

Bibliografia: Cap.3 [5], Sec.23 [1].

Page 43: Metodos numéricos para equações diferenciais

Secao 7.1: Metodo de Runge-Kutta Explıcito 39

7.1. Metodo de Runge-Kutta Explıcito

Seja a EDO

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

u(t0) = a (7.1.2)

Integrando a EDO em [tn, tn+1] obtemos

un+1 = un +

∫ tn+1

tn

f(t, u(t)) dt (7.1.3)

Um metodo de passo simples utiliza fn e fn+1. Queremos aumentar a ordem do metodo,porem utilizando somente valores de f entre [tn, tn+1].

un un+1

| |tn tn+1

τ1 τ2 · · · τν

un+1 = un +

∫ tn+1

tn

f(t, u(t)) dt (7.1.4)

= un + h

∫ 1

0

f(tn + hτ, u(tn + hτ)) dτ (7.1.5)

= un + h

ν∑

j=1

bjf(tn + cjh, u(tn + cjh)) (7.1.6)

Denote por τj = tn + cjh, Uj ≡ u(τj) e Fj ≡ f(τj , Uj), j = 1, . . . , ν. Iniciecom U1 = un (c1 = 0) como a solucao no passo anterior e aproxime Uj, j = 2, . . . , ν,com uma combinacao linear de F1, . . . , Fj−1, ou seja,

U1 = un (7.1.7)

U2 = un + ha21F1 (7.1.8)

U3 = un + ha31F1 + ha32F2 (7.1.9)

= . . . (7.1.10)

Uν = un + h

ν−1∑

i=1

aνiFi (7.1.11)

un+1 = un + h

ν∑

i=1

biFi (7.1.12)

onde A = (aij) e a matriz de RK (triangular inferior com diagonal zero), bj sao ospesos RK e cj sao os nos RK.

Os coeficientes podem ser resumidos em uma tabela na forma

c AbT

=c1 a11 a12

c2 a21 a22

b1 b2

Page 44: Metodos numéricos para equações diferenciais

Secao 7.2: Metodo de RK ν = 2 40

7.2. Metodo de RK ν = 2

Assumindo suavidade suficiente em f , expanda em serie de Taylor

F2 = f(tn + c2h, U2) (7.2.1)

= f(tn + c2h, un + a21hfn) (7.2.2)

= fn + h[c2∂fn

∂t+ a21

∂fn

∂ufn] +O(h2) (7.2.3)

fazendo com que (7.1.12) se torne

un+1 = un + h[b1F1 + b2F2] (7.2.4)

= un + h(b1 + b2)fn + h2b2[c2∂fn

∂t+ a21

∂fn

∂ufn] + O(h3) (7.2.5)

Usando a EDO e derivando-a obtemos

ut = f(t, u) (7.2.6)

utt = ft + fuut = ft + fuf (7.2.7)

e expandindo em serie de Taylor a solucao exata em tn+1,

u(tn+1) = un + hut +h2

2utt +O(h3) (7.2.8)

= un + hfn +h2

2[ft + fuf ] +O(h3) (7.2.9)

e comparando com (7.2.5) obtemos as condicoes para ordem p ≥ 2,

b1 + b2 = 1, b2c2 =1

2a21 = c2 (7.2.10)

O sistema possui mais de uma solucao. Algumas escolhas comuns sao012

12

0 1,

023

2314

34

e01 1

12

12

onde a ultima tabela fornece o metodo de Heun (ou Euler modificado):

U1 = un (7.2.11)

U2 = un + hF1 (7.2.12)

un+1 = un + h[1

2F1 +

1

2F2] (7.2.13)

Note que o metodo e de ordem p = 2 pois os termos que sobraram sao de O(h3).

Seguindo um procedimento similar (veja [5],p39-40), podemos obter as condicoespara um metodo com ν = 3 e ordem p = 3, que sao

b1 + b2 + b3 = 1,b2c2 + b3c3 =1

2(7.2.14)

b2c22 + b3c

23 =

1

3,b3a32c2 =

1

6(7.2.15)

Alguns exemplos de metodos de RK de 3 estagios sao o metodo classico deRunge-Kutta

Page 45: Metodos numéricos para equações diferenciais

Secao 7.3: Metodo de Runge-Kutta implıcito (IRK) 41

012

12

1 −1 216

46

16

e o metodo de Nystrom023

23

23 0 2

328

38

38

Com paciencia e a ajuda de um software algebrico (como Maple) e possıvelencontrar um metodo de quarta ordem e ν = 4 estagios como

012

12

12 0 1

21 0 0 1

16

26

26

16

7.3. Metodo de Runge-Kutta implıcito (IRK)

No conjunto de equacoes (7.1.7)-(7.1.12), Uk depende em valores conhecidos F1, . . . , Fk−1

tornando o metodo explıcito.Entretanto se Uk depender de F1, . . . , Fν temos um metodo implıcito como

Uj = un + h

ν∑

i=1

ajiFi, j = 1, . . . , ν (7.3.1)

un+1 = un + h

ν∑

i=1

biFi (7.3.2)

onde A = (aij) e a matriz de RK. E necessario queν∑

i=1

aji = cj , j = 1, . . . , ν (7.3.3)

para que o metodo possua ordem p ≥ 1.

Exemplo 23.Um metodo de Runge-Kutta Implıcito (IRK) de dois estagios e dado por

U1 = un + h/4[f(tn, U1) − f(tn +2

3h, U2)] (7.3.4)

U2 = un + h/12[3f(tn, U1) + 5f(tn +2

3h, U2)] (7.3.5)

un+1 = un + h/4[f(tn, U1) + 3f(tn +2

3h, U2)] (7.3.6)

que possui uma tabela como0 1

4 − 14

23

14

512

14

34

Page 46: Metodos numéricos para equações diferenciais

Secao 7.4: Estimativa da ordem de convergencia 42

Exercıcio 7.1. Mostre que o metodo IRK com 2 estagios do exemplo anterior e deordem 3.

Exercıcio 7.2. Aproxime a solucao do PVI

du

dt=

cos(t+ u)

1 + u2(7.3.7)

u(0) = 0 (7.3.8)

utilizando o metodo de Runge Kutta de 4 estagios. Escolha apropriadamente h e ilustregraficamente a convergencia.

a. Plote a solucao para diferentes valores de h.

b. Repita o exercıcio anterior utilizando o metodo de Euler com diferentes valoresde h, ate T = 10 de tal forma que a solucao seja tao proxima da solucao obtivavia RK quanto possıvel.

c. Compare o numero de iteracoes, para esse exercıcio, entre o metodo de Euler e ode Runge-Kutta.

Exercıcio 7.3. Aproxime a solucao 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 graficamente a convergencia.

a. Transforme o PVI num sistema de EDO’s de primeira ordem nas variaveis [y1(t), y2(t)] =[u(t), u′(t)].

b. Plote a solucao u(t).

c. Plote a solucao no espaco de fases [y1, y2].

7.4. Estimativa da ordem de convergencia

Ferziger and Peric, Computational Methods for Fluid Dynamics, p.335.Raramente temos a solucao exata u(t) para calcular o erro obtido na solucao

numerica. Entretanto, se a solucao e suave o suficiente e o espacamento h e pe-queno suficientemente, podemos usar o seguinte procedimento para estimar a ordem dometodo (ou ainda, o erro na solucao).

Como visto nos exemplo numericos anteriores, em graficos na escala loglog, seh e grande nao obtemos a ordem de convergencia utilizada (por exemplo, encontramosque o metodo de Euler possui ordem p ≈ 0.7 onde deveria ser 1). A medida queh decresce se aproximando de 0, a ordem de convergencia tende a se aproximar dep ≈ 1. (Entretanto h nao pode ficar muito pequeno a ponto que as operacoes de pontoflutuante atrapalhem na convergencia).

Portanto existe uma faixa hmin < h < hmax onde o metodo apresenta a ordemdesejada. Essa regiao depende do metodo e do PVI estudado.

Page 47: Metodos numéricos para equações diferenciais

43

Mas se estivermos nessa regiao podemos aproximar a ordem do metodo da se-guinte forma: Considere a solucao para um determinado t = T ∗ fixo, u(T ∗). Consideretambem as aproximacoes das solucoes obtidas com espacamento h, denotada por uh; aaproximacao obtida com espacamento dividido por 2, h/2, denotada por uh/2; a apro-ximacao obtida com espacamento h/4, denotada por uh/4,. . . e assim por diante, todascalculadas em t = T ∗.

7.4.1. Metodo 1

Podemos utilizar uma solucao bem refinada, por exemplo, uh/16 como sendo uma boaaproximacao da solucao exata e supormos que u∗ = uh/16. Desta forma podemosaproximar o erro por eh = ‖u(h) − u∗‖ e a ordem do metodo e estimada como

p ≈ log(eh) − log(eh/2)

log(h) − log(h/2)(7.4.1)

≈log(

eh

eh/2

)

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

≈log(

eh

eh/2

)

log(2)(7.4.3)

≈log(

‖uh−u∗‖‖uh/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(

‖uh/2−uh‖‖uh/4−uh/2‖

)

log(2)(7.4.6)

(7.4.7)

Aula 9, 10 e 11 .

Regioes de Estabilidade.

Butcher, Iserles

Capıtulo 8:

Page 48: Metodos numéricos para equações diferenciais

Secao 8.1: Equacoes “Stiff” 44

Domınio de Estabilidade

8.1. Equacoes “Stiff”

A definicao nao e exatamente clara:Uma equacao diferencial e “stiff” se alguns metodos numericos sao numerica-

mente instaveis, a menos que o passo seja extremamente pequeno.Considere a EDO linear

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

(

−100 10 −1/10

)

(8.1.1)

com a decomposicao A = V ΛV −1 onde

V =

(

1 10 999/10

)

, Λ =

(

−100 00 −1/10

)

(8.1.2)

A solucao exata e

u(t) = eAtu0 = V eΛtV −1u0, eΛt =

(

e−100t 00 e−0.1t

)

(8.1.3)

Ou seja, existem vetores x1 e x2 dependentes de u0 (exercıcio 8.1) tal que

u(t) = e−100tx1 + e−0.1tx2, t ≥ 0 (8.1.4)

Note que a medida que t avanca o termo e−100t cai rapidamente enquanto que e−0.1t

e um pouco mais lento levando a u(t) ≈ e−0.1tx2.

Aplicando o metodo de Euler obtemos solucao aproximada

u1 = u0 + hAu0 = (I + hA)u0, (8.1.5)

u2 = (I + hA)u1 = (I + hA)2u0, (8.1.6)

... =... (8.1.7)

un = (I + hA)nu0 (8.1.8)

un = V (I + hΛ)nV −1u0 (8.1.9)

un = V

(

(1 − 100h)n 00 (1 − 0.1h)n

)

V −1u0 (8.1.10)

de onde segue que a solucao aproximada e dada por

un = (1 − 100h)nx1 + (1 − 0.1h)nx2 (8.1.11)

onde x1 e x2 sao os mesmos vetores que aparecem na solucao exata.Suponha que h > 1/50. Entao |1 − 100h| > 1 e a solucao aproximada cresce

geometricamente (diferente da solucao exata).Suponha que escolhemos a condicao inicial igual ao autovetor

u0 =

(

1999/10

)

correspondente a λ2 = −0.1. Entao x1 = 0, x2 = u0 e

un = (1 − 0.1h)nu0, n = 1, 2, . . . (8.1.12)

Page 49: Metodos numéricos para equações diferenciais

Secao 8.1: Equacoes “Stiff” 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 iteracaosao amplificados pelo termo (1 − 100h)n que rapidamente destroi a solucao.

Exemplo 24.Resolva o sistema (8.1.1) utilizando o metodo de Euler no Matlab e verifique as ob-servacoes.

Nem todo metodo numerico possui tal comportamento. Considere a regra tra-pezoidal aplicada1 em u′ = Au,

(

I − 1

2hA

)

u1 =

(

I +1

2hA

)

u0 (8.1.13)

u1 =

(

I + 12hA

I − 12hA

)

u0 (8.1.14)

u2 =

(

I + 12hA

I − 12hA

)

u1 =

(

I + 12hA

I − 12hA

)2

u0 (8.1.15)

... =... (8.1.16)

un =

(

I + 12hA

I − 12hA

)n

u0 (8.1.17)

e substituindo a fatoracao deduzimos

un =

(

1 − 50h

1 + 50h

)n

x1 +

(

1 − h/20

1 + h/20

)n

x2 (8.1.18)

Como∣

1 − 50h

1 + 50h

< 1 e

1 − h/20

1 + h/20

< 1 (8.1.19)

para todo h > 0, concluımos que un → 0 quando n → ∞. Isto recupera o corretocomportamento assintotico da EDO sem depender da escolha de h.

A regra trapezoidal nao requer restricao no passo h para evitar instabilidade(ainda assim e necessario escolher h > 0 pequeno tal que o erro local seja razoavel).

Assim a equacao (8.1.1) e um exemplo de uma equacao “stiff”. Note que estadefinicao nao e precisa e varia na literatura.

Definicao 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 sistemageral) e chamada stiffness ratio.

No exemplo discutido a stiffness ratio e |−100||1/10| = 103. Note que para o caso nao

linear a analise pode se tornar complicada.

1(exercıcio 8.2)

Page 50: Metodos numéricos para equações diferenciais

Secao 8.2: Domınio de Estabilidade Linear 46

Exercıcio 8.1. Encontre os vetores x1 e x2 dependentes de u0 e independentes de tdiscutidos no texto.

Exercıcio 8.2. No exemplo do metodo do trapezio obtemos a expressao(

I +B

I −B

)n

(8.1.20)

a. Verifique 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. Domınio 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 solucao exata u(t) = eλt. Note que limt→0 u(t) = 0 se esomente se ℜλ < 0. Nao estamos interessados no momento em solucoes que crescemrapidamente (ℜλ > 0).

Definicao 8.2.1. O domınio de estabilidade linear D do metodo numericoe o conjunto de todos hλ ∈ C tal que limn→∞ un = 0.

Ou seja, D e o conjunto de todos hλ para o qual o correto comportamentoassintotico de (8.2.1) e recuperado, tal que essa equacao seja estavel.

Exemplo 25.Utilizando o Metodo de Euler para solucionar (8.2.1) obtemos

un = (1 + hλ)n, n = 0, 1, . . . (8.2.2)

Portanto limn→∞ un = 0 se e somente se |1 + hλ| < 1. Concluımos entao que

DEuler = 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 naFig.8.1.

Caso tenhamos um sistema de EDO’s,

u′ = Au, u(0) = u0, (8.2.4)

podemos obter que

un =d∑

k=1

(1 + hλk)nxk, n = 0, 1, . . . (8.2.5)

onde A = V ΛV −1, V e a matriz dos autovetores e Λ = diag(λ1, . . . , λd).

Definicao 8.2.2. O sistema de EDO’s (8.2.4) e assintoticamente estavelse e somente se ℜλk < 0, k = 1, . . . , d.

Page 51: Metodos numéricos para equações diferenciais

Secao 8.2: Domınio 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 talque |1 + hλk| < 1, ∀k. Ou seja, todos os produtos hλk devem estar em DEuler . Ouseja, h deve ser escolhido de acordo com os autovalores do sistema2.

Tal analise pode ser facilmente estendida para o sistema nao homogeneo u′ =Au+ b (veja exercıcios).

Para o caso EDO nao-linear, seja

u′ = f(t, u), t ≥ t0, u(t0) = u0 (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

Jn :=∂f(tn, un)

∂u,

baseado na hipotese que o comportamento local da EDO e modelado por

u′ = un + Jn(u− un) (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.

2Note que estamos assumindo que existe a decomposicao em autovalores. Poderıamos usar aforma de Jordan o que dificultaria a demonstracao.

Page 52: Metodos numéricos para equações diferenciais

Secao 8.3: Estabilidade dos metodos de Taylor 48

Utilizando o metodo trapezoidal para solucionar (8.2.1) obtemos

un =

(

1 + hλ/2

1 − hλ/2

)n

, n = 0, 1, . . . (8.2.9)

Concluımos entao que

DTr = z ∈ C :

1 + z/2

1 − z/2

< 1 (8.2.10)

Note que DTr = C−, o semiplano negativo. Portanto o metodo do trapezio imita aestabilidade assintotica da EDO linear sem restricao no passo h.

Definicao 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 eestavel somente para |1 + hλ| < 1.

Exercıcio 8.3. Mostre que o metodo theta e A-estavel se e somente se 0 ≤ θ ≤ 12 .

8.3. Estabilidade dos metodos de Taylor

Exercıcio 8.4. Prove que para um metodo de Taylor de ordem p para a EDO (8.2.1)temos

p(z) = 1 + z +z2

2!+z3

3!+ . . .+

zp

p!(8.3.1)

onde un = (p(z))nu0 e a regiao de estabilidade e dada por

DT = z ∈ C : |p(z)| < 1 (8.3.2)

Plote as regioes de estabilidade para o metodo de Taylor para p = 1, . . . , 6 nomesmo grafico.

8.4. Estabilidade dos metodos de Runge-Kutta

Denote

~U :=

U1

...Uν

, ~1 :=

1...1

(8.4.1)

Page 53: Metodos numéricos para equações diferenciais

Secao 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

Uj = un + h

ν∑

i=1

ajiFi, j = 1, . . . , ν (8.4.2)

Uj = un + hλ

ν∑

i=1

ajiUi, (8.4.3)

~U = ~1un + hλA~U, (8.4.4)

(I − hλA)~U = ~1un, (8.4.5)

~U = (I − hλA)−1~1un, (8.4.6)

e assumindo que I − hλA nao e singular,

un+1 = un + hλν∑

j=1

bjUj (8.4.7)

un+1 = (1 + hλbT (I − hλA)−1~1)un, n = 0, 1, . . . (8.4.8)

Denote por Pα o conjunto de todos polinomios ate grau α e por Pα/β o conjuntode todas funcoes 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

un = [r(hλ)]n, n = 0, 1, . . . .

Alem disso, se o metodo de Runge-Kutta e explıcito entao r ∈ Pν

Page 54: Metodos numéricos para equações diferenciais

Secao 8.4: Estabilidade dos metodos de Runge-Kutta 50

Demonstracao. Veja prova em [5], p. 60.

Lema 8.4.2. Suponha que um metodo numerico aplicado a (8.2.1) produz umasequencia un = [r(hλ)]n, n = 0, 1, . . . onde r e uma funcao arbitraria. Entao

D = z ∈ C : |r(z)| < 1.

Demonstracao. A prova segue direto da definicao de D.

Corolario 1. Nenhum metodo de Runge-Kutta explıcito (ERK) pode ser A-estavel.

Demonstracao. Dado um metodo ERK, o lema 8.4.2 fornece que r ∈ Pν e

r(z) := 1 + zbT (I − zA)−1~1 (8.4.9)

o que implica que r(0) = 1. Nenhum polinomio, com excecao 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 14 − 1

423

14

512

14

34

Substituindo em (8.4.9) obtemos a funcao

r(z) =1 + 1

3z

1 − 23z + 1

6z2

(8.4.10)

Para checar A-estabilidade, representamos z = ρeiθ, ρ > 0, 12π < θ < 3

2π e checamosse |r(ρeiθ) < 1|:

1 + 13z

1 − 23z + 1

6z2

< 1 (8.4.11)

1 +1

3z

<

1 − 2

3z +

1

6z2

(8.4.12)

1 +1

3ρeiθ

2

<

1 − 2

3ρeiθ +

1

6ρ2e2iθ

2

(8.4.13)

Page 55: Metodos numéricos para equações diferenciais

Secao 8.4: Estabilidade dos metodos de Runge-Kutta 51

como |w|2 = ww,

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

3cos 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

3cos2 θ +

ρ4

36(8.4.17)

2ρ cos θ(9 + ρ2) < 6ρ2 cos2 θ +ρ4

4(8.4.18)

A inequacao 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

13

512 − 1

121 3

414

34

14

possui a mesma funcao

r(z) =1 + 1

3z

1 − 23z + 1

6z2

(8.4.19)

que o metodo anterior, portanto tambem e A-estavel. Sua regiao de estabilidade eexterior a curva da figura 8.3.

Lema 8.4.3. Seja r uma funcao racional que nao e constante. Entao ∀z ∈ C−

temos |r(z)| < 1 se e somente se todos os polos de r tem parte real positiva e ∀t ∈ R

temos |r(it)| ≤ 1.

Exemplo 30.Os polos de

r(z) =1 + 1

3z

1 − 23z + 1

6z2

(8.4.20)

sao 2±i√

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

1 +1

3it

2

≤∣

1 − 2

3it− 1

6t2∣

2

, t ∈ R, (8.4.21)

1 +1

9t2 ≤ 1 +

1

9t2 +

1

36t4, t ∈ R. (8.4.22)

Page 56: Metodos numéricos para equações diferenciais

Secao 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

3z

1− 23z+ 1

6z2

implicando que o metodo e A-estavel.

Exercıcio 8.5. Prove o lema anterior.

Exercıcio 8.6. Prove que para um metodo Runge-Kutta explıcito de ν estagios possui

r(z) = 1 + z +z2

2!+z3

3!+ . . .+

zp

p!(8.4.23)

onde a regiao de estabilidade e dada por

DT = z ∈ C : |r(z)| < 1 (8.4.24)

Plote as regioes de estabilidade para os metodos de Runge-Kutta para ν =1, . . . , 6 no mesmo grafico.

Exercıcio 8.7. Calcule explicitamente a funcao r(z) para os metodos de Runge-Kuttadados pelas tabelas abaixo,

a.0 0 023

13

13

14

34

b.

16

16 0

56

23

16

12

12

Page 57: Metodos numéricos para equações diferenciais

Secao 8.5: Estabilidade dos metodos de passo multiplo 53

c.

0 0 0 012

14

14 0

1 0 1 016

46

16

Estes metodos sao A-estaveis? Plote a regiao de estabilidade de cada metodo.

8.5. Estabilidade dos metodos de passo multiplo

Suponha que um metodo de passo multiplo (6.2.1) seja aplicado a EDO linear (8.2.1)obtendo

s∑

m=0

amun+m = h

s∑

m=0

bmfn+m (8.5.1)

s∑

m=0

amun+m = hλ

s∑

m=0

bmun+m (8.5.2)

que pode ser escrita comos∑

m=0

(am − hλbm)un+m = 0, (8.5.3)

s∑

m=0

αmun+m = 0, n = 0, 1, . . . (8.5.4)

Similarmente a equacoes diferenciais, a equacao a diferencas possui solucao como opolinomio caracterıstico

η(w) :=

s∑

m=0

αmwn. (8.5.5)

Sejam w1, . . . , wq as raızes de η(w) com multiplicidade k1, . . . , kq, onde∑

ki = s. Asolucao da equacao a diferencas e

un =

q∑

i=1

(

ki−1∑

j=0

cijnj)wn

i , n = 0, 1, . . . (8.5.6)

onde as constantes cij sao unicamente determinadas pelos valores iniciais u0, . . . , us−1.

Lema 8.5.1. Suponha que as raızes (em funcao de w) de

η(z, w) :=

s∑

m=0

(am − bmz)wm, z ∈ C (8.5.7)

sao w1(z), . . . , wq(z)(z) com multiplicidade k1(z), . . . , kq(z)(z) respectivamente. Ometodo de passo multiplo e A-estavel se e somente se

|wi(z)| < 1, i = 1, . . . , q(z), ∀z ∈ C−. (8.5.8)

Page 58: Metodos numéricos para equações diferenciais

Secao 8.5: Estabilidade dos metodos de passo multiplo 54

Lema 8.5.2. O metodo de passo multiplo e A-estavel se e somente se bs > 0 e

|w1(it)|, . . . , |wq(it)(it)| ≤ 1, t ∈ R (8.5.9)

onde wk sao as raızes de η(z, ·) do lema 8.5.1.

Teorema 8.5.3. O metodo BDF de 2 estagios e A-estavel.

Teorema 8.5.4 (A segunda barreira de Dahlquist). A ordem maxima de um metodode passo multiplo A-estavel e dois.

Exemplo 31.O metodo BDF de 2 estagios

un+2 −4

3un+1 +

1

3un =

2

3hfn+2 (8.5.10)

para o PVI u′ = λu, que possui polinomio caracterıstico

w2 − 4

3w +

1

3=

2

3hλ(w2) (8.5.11)

ou

η(w) := (1 − z2

3)w2 − 4

3w +

1

3. (8.5.12)

O polinomio η(w) possui duas raızes (encontradas com o Maple)

w1 =−4 + 2(1 + 2z)1/2

−6 + 4z, (8.5.13)

w2 =−4 − 2(1 + 2z)1/2

−6 + 4z(8.5.14)

Para que o metodo seja estavel, e necessario que |w1| < 1 e |w2| < 1.Tal condicao e satisfeita para a regiao dentro da curva na figura 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 .

Equacoes Diferenciais Parciais Hiperbolicas.

Strikwerda: Cap. 1

Page 59: Metodos numéricos para equações diferenciais

55

y~

1

2

0

-2

-1

x~

4320 1

Figura 8.4: Regiao de estabilidade (exterior a curva) para o metodo BDF s = 2

Capıtulo 9:

Equacoes Diferenciais Parciais hiperbolicas

9.1. Equacao da onda unidirecional

Considere a equacao da onda unidirecional (ou equacao de adveccao)

ut + aux = 0 (9.1.1)

u(t = 0, x) = u0(x) (9.1.2)

como exemplo mais simples de EDP hiperbolica. Este e um Problema de Valor Inicial-PVI.

A solucao desta equacao e

u(t, x) = u0(x− at) (9.1.3)

A solucao tem a mesma forma ∀t. E um deslocamento a direita se a > 0 ou a esquerdase a < 0.

As linhas no plano (x, t) no qual ξ = x − at e constante sao chamadas carac-terısticas.

O parametro a e a velocidade de propagacao da onda ao longo da caracterıstica.Apesar da equacao fazer sentido somente se u e diferenciavel, u0 nao precisa ser

diferenciavel. Em geral, solucoes descontınuas sao permitidas.

Page 60: Metodos numéricos para equações diferenciais

Secao 9.2: Sistemas de EDP’s hiperbolicas 56

Considere o problema mais geral

ut + aux = −bu+ f(t, x) (9.1.4)

u(0, x) = u0(x) (9.1.5)

Fazendo a substituicao t = τ e x = ξ + aτ , e u(τ, ξ) = u(t, x). Assim

uτ = ut∂t

∂τ+ ux

∂x

∂τ(9.1.6)

= ut + uxa (9.1.7)

= −bu+ f(τ, ξ + aτ) (9.1.8)

ou seja,

uτ = −bu+ f(τ, ξ + aτ) (9.1.9)

Esta EDO possui solucao

u(τ, ξ) = u0(ξ)e−bτ +

∫ τ

0

f(σ, ξ + aτ)e−b(τ−σ)dσ (9.1.10)

que retornando para (x, t) temos

u(t, x) = u0(x− at)e−bt +

∫ t

0

f(s, x− a(t− s))e−b(t−s)ds (9.1.11)

A solucao depende somente em (t′, x′) tal que x′−at′ = x−at, i.e., somente os valoresde u e f na caracterıstica (t, x) para 0 ≤ t′ ≤ t.

9.2. Sistemas de EDP’s hiperbolicas

Um sistema da forma

ut +Aux +Bu = F (t, x) (9.2.1)

e hiperbolico se a matriz A e diagonalizavel com autovalores reais.Diagonalizavel implica que

Λ = PAP−1 =

λ1

. . .

λd

(9.2.2)

Fazendo a substituicao w = Pu (no caso que B = 0),

wt + Λwx = PF (t, x) = F (t, x) (9.2.3)

ou

wit + λiw

ix = f i(t, x) (9.2.4)

reduzindo o sistema a um conjunto de equacoes independentes. Se B 6= 0 entao osistema e acoplado, mas somente para os termos sem derivadas.

O termo Bu causa crescimento, decaimento ou oscilacoes, mas nao causa mu-dancas na forma com que a solucao se move ao longo das caracterısticas.

Page 61: Metodos numéricos para equações diferenciais

Secao 9.2: Sistemas de EDP’s hiperbolicas 57

Exemplo 35.O sistema

(

uv

)

t

+

(

2 11 2

)(

uv

)

x

= 0 (9.2.5)

com dado inicial

u(x, 0) = u0(x) =

1, |x| ≤ 10, |x| > 1

(9.2.6)

v(x, 0) = 0 (9.2.7)

Somando e subtraindo as equacoes obtemos

(u+ v)t + 3(u+ v)x = 0 (9.2.8)

(u− v)t + (u− v)x = 0 (9.2.9)

ou

w1t + 3w1

x = 0, w1(0, x) = u0(x) (9.2.10)

w2t + w2

x = 0, w2(0, x) = u0(x) (9.2.11)

onde a matriz para essa transformacao e

P =

(

1 11 −1

)

, P−1 =

(

12

12

12 − 1

2

)

. (9.2.12)

A solucao e

w1(t, x) = w10(x− 3t) = u0(x− 3t) (9.2.13)

w2(t, x) = w20(x− t) = u0(x− t) (9.2.14)

ou nas variaveis u e v,

u(t, x) =1

2(w1 + w2) =

1

2[u0(x− 3t) + u0(x− t)] (9.2.15)

v(t, x) =1

2(w1 − w2) =

1

2[u0(x− 3t) − u0(x− t)] (9.2.16)

Note que a solucao depende de duas partes independentes, uma onda propagando-se com velocidade 3 e outra com velocidade 1.

Observacao: Caso a equacao

ut + a(t, x)ux = 0 (9.2.17)

tenha velocidade de propagacao a(t, x) variavel ou seja um sistema do tipo

ut +A(t, x)ux +B(t, x)u = F (t, x) (9.2.18)

as caracterısticas nao sao necessariamente linhas retas.Para um exemplo online do metodo das caracterısticas veja

http://www.scottsarra.org/shock/shockApplet.html

Page 62: Metodos numéricos para equações diferenciais

Secao 9.3: Condicoes de contorno 58

Exercıcio 9.1. Mostre que o PVI

ut + (1 + x2)ux = 0 (9.2.19)

nao e bem definido. (Considere a regiao originando no eixo x.)

Exercıcio 9.2. Obtenha a solucao do sistema

ut + ux + vx = 0, u(x, 0) = u0(x) (9.2.20)

vt + ux − vx = 0, v(x, 0) = v0(x) (9.2.21)

9.3. Condicoes de contorno

Considere a equacao (veja a figura 9.1)

ut + aux = 0, 0 ≤ x ≤ 1, t > 0 (9.3.1)

0

x

t

Figura 9.1: Curvas caracterısticas para a > 0.

Se a > 0 as caracterısticas se propagam para a direita. Vemos que a solucaodeve ser especificada no contorno x = 0. Alem disso, nenhuma condicao de contornodeve ser dada em x = 1.

Para a condicao inicial u(0, x) = u0(x) e condicao de contorno u(t, 0) = g(t) asolucao e dada por

u(t, x) =

u0(x− at), x− at > 0g(t− x/a), x− at < 0

(9.3.2)

Em x − at = 0 havera uma descontinuidade se u0(0) 6= g(0). Se a < 0 o papel doscontornos e trocado.

Exemplo 36.Considere o sistema

(

uv

)

t

+

(

a bb a

)(

uv

)

x

= 0 (9.3.3)

em 0 ≤ x ≤ 1. Os autovalores sao a+ b e a− b. Consideremos o caso onde a, b > 0.

Page 63: Metodos numéricos para equações diferenciais

Secao 9.3: Condicoes de contorno 59

0

x

t

0

x

t

Figura 9.2: Curvas caracterısticas para 0 < b < a e 0 < a < b.

Se 0 < b < a entao ambas as caracterısticas se propagam para a direita (vejaa figura 9.2). Isto significa que u e v devem ser especificadas em x = 0. Note que adeclividade da curva caracterıstica e a inversa da velocidade.

Se 0 < a < b, entao as caracterısticas se movem em direcao 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 especificar a condicao de contorno u+ v em x = 0 (pois move-se paraa direita) e u − v em x = 1. De forma geral, as condicoes de contorno devem ser daforma

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 solucao (dito um problema bem-posto). Note que talcondicao de contorno especifica a caracterıstica incoming em termos da caracterısticaoutgoing.

Note que:

• especificar u ou v em x = 0 e especificar u ou v em x = 1 torna o sistemabem-posto;

• especificar u− v em x = 0 torna o sistema mal-posto;

• especificar u+ v em x = 1 torna o sistema mal-posto;

• o numero de condicoes de contorno e igual ao numero de caracterısticas incoming.

• Problemas periodicos

Podemos tambem fornecer condicoes de contorno periodicas como

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

que na verdade nao e uma condicao de contorno, ja que num problema periodico naoha contornos.

Page 64: Metodos numéricos para equações diferenciais

Secao 9.4: Diferencas finitas 60

Exercıcio 9.3. Considere o problema (9.3.3) com a = 0 e b = 1, e condicoes decontorno

u(t, 0) = 0 v(t, 1) = 1 (9.3.9)

Mostre que se a condicao inicial e

u(0, x) = x v(0, x) = 1 (9.3.10)

entao a solucao e u(t, x) = x e v(t, x) = 1 − t, para t ≥ 0, 0 ≤ x ≤ 1.

Exercıcio 9.4. Considere o problema (9.3.3) com a = 0 e b = 1, e condicoes decontorno

u(t, 0) = 0 v(t, 1) = 1 + t (9.3.11)

Mostre que se a condicao inicial e

u(0, x) = x v(0, x) = 1 (9.3.12)

entao para 0 ≤ x+ t ≤ 3 a solucao e

(

uv

)

=

(

x1 − t

)

, 0 ≤ t < 1 − x,(

2x+ t− 12 − x− 2t

)

, 1 − x ≤ t < 1 + x,(

3x3 − 3t

)

, 1 + x ≤ t < 3 − x.

(9.3.13)

9.4. Diferencas finitas

Definicao 9.4.1. Sejam 0 < h, k ≪ 1, uma malha ou grid sera os pontos(tn, xi) = (nk, ih) para arbitrarios n, i inteiros.

Denotamos

vni ≡ v(tn, xi) (9.4.1)

o valor de v no ponto (tn, xi).A ideia basica do metodo de diferencas finitas e substituir as derivadas por dife-

rencas finitas. 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 equacao de adveccao

ut + aux = 0 (9.4.4)

podemos obter os seguintes esquemas/metodos

Page 65: Metodos numéricos para equações diferenciais

Secao 9.4: Diferencas finitas 61

Forward-Time Forward-Space (FTFS)

vn+1i − vn

i

k+ a

vni+1 − vn

i

h= 0 (9.4.5)

Forward-Time Backward-Space (FTBS)

vn+1i − vn

i

k+ a

vni − vn

i−1

h= 0 (9.4.6)

Forward-Time Central-Space (FTCS)

vn+1i − vn

i

k+ a

vni+1 − vn

i−1

2h= 0 (9.4.7)

Leapfrog

vn+1i − vn−1

i

2k+ a

vni+1 − vn

i−1

2h= 0 (9.4.8)

Lax-Friedrichs

vn+1i − 1

2 (vni+1 + vn

i−1)

k+ a

vni+1 − vn

i−1

2h= 0 (9.4.9)

Qual desses esquemas funciona? Qual e mais preciso? Qual e mais eficiente?Cada um deles pode ser reescrito isolando vn+1

i . O primeiro se torna

vn+1i = vn

i − ak

h(vn

i+1 − vni ) (9.4.10)

onde λ = k/h. Note que e um esquema de passo simples. Conhecidos v0i e possıvel

determinar vni para todo n.

Entretanto para usar o esquema Leapfrog (9.4.8) (que e de passo multiplo), enecessario fornecer os valores de v0

i e v1i , e usar o esquema para n ≥ 2.

9.4.1. Codigos

Para utilizar o esquema com diferencas pra frente no tempo e no espaco (9.4.5) naoprecisamos armazenar a solucao para todos os valores de tempo n, apenas os maisrecentes. A ideia e usar um vetor v(i) para armazenar a solucao no tempo n, vn

i , eum vetor vnew(i) para o tempo n+ 1, vn+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 eincrementado.

Page 66: Metodos numéricos para equações diferenciais

Secao 9.4: Diferencas finitas 62

Note no codigo que temos N intervalos iguais e N+1 pontos de x1 ate xN+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 solucao de ut + ux = 0 para −3 ≤ x ≤ 3 e t ≥ 0 com condicoes

u0(x) =

1 − |x|, |x| ≤ 10, 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)

vn+1i − vn

i

k+ a

vni+1 − vn

i

h= 0. (9.4.13)

Plote a solucao aproximada para o tempo t = 1.6 juntamente com a solucaoexata.

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 exercıcio anterior, porem utilizando o metodo de Lax-Friedrichs,

vn+1i − 1

2 (vni+1 + vn

i−1)

k+ a

vni+1 − vn

i−1

2h= 0. (9.4.14)

Note que e necessario fornecer uma condicao extra no extremo direito x = 3, tal como,vn+1

N = vn+1N−1.

Page 67: Metodos numéricos para equações diferenciais

Secao 9.4: Diferencas finitas 63

Exemplo 39.Repita o exercıcio anterior, porem utilizando o metodo de Leapfrog,

vn+1i − vn−1

i

2k+ a

vni+1 − vn

i−1

2h= 0. (9.4.15)

Aqui tambem e necessario fornecer uma condicao extra no extremo direito x = 3, talcomo, vn+1

N = vn+1N−1. Alem disso, esse esquema requer que outro esquema seja usado

para calcular a solucao em n = 1 (pode ser necessario armazenar tres passos de tempoconsecutivos).

Exercıcio 9.5. Para x ∈ [−1, 3] e t ∈ [0, 2.4], resolva

ut + ux = 0 (9.4.16)

u(0, x) =

cos2(πx), |x| ≤ 12

0, c.c.(9.4.17)

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

Use quatro esquemas:

a. (FTBS) com λ = 0.8 e h = 110 ,

120 ,

140 .

b. (FTCS) com λ = 0.8 e h = 110 ,

120 ,

140 .

c. (Lax-Friedrichs) com λ = 0.8,λ = 1.6 e h = 110 ,

120 ,

140 .

d. (Leapfrog) com λ = 0.8 e h = 110 ,

120 ,

140 .

Para os esquemas (b), (c) e (d) utilize a condicao a direita vn+1N = vn+1

N−1 em x = 3.Para o esquema (d) use o esquema (b) para calcular a solucao em n = 1.

Para cada esquema determine se o esquema e util/inutil (a solucao nao podecrescer demais). Faca varios graficos. Relate o que acontece ao diminuir h para osesquemas inuteis. Existe um padrao? Para os casos uteis, como o erro decresce quandoo espacamento da malha decresce, i.e, quando h diminui pela metade, como o erro ereduzido?

Exercıcio 9.6. Resolva o sistema

ut +1

3(t− 2)ux +

2

3(t+ 1)wx +

1

3u = 0 (9.4.19)

wt +1

3(t+ 1)ux +

1

3(2t− 1)wx − 1

3w = 0 (9.4.20)

pelo metodo de Lax-Friedrichs. Cada equacao e aproximada como no caso escalar eiterada passo a passo. As condicoes 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]. Faca h = 1/20 e λ = 12 . Use as condicoes de

contorno

unew(1)=0; unew(N)=0;

wnew(1)=wnew(2); wnew(N)=wnew(N-1);

Page 68: Metodos numéricos para equações diferenciais

Secao 9.5: Convergencia e consistencia 64

Descreva o comportamento da solucao para t ∈ [1.5, 2]. Faca alguns graficos.

Exercıcio 9.7. Resolva

ut +1

3(t− 2)ux +

2

3(t+ 1)wx = 0 (9.4.23)

wt +1

3(t+ 1)ux +

1

3(2t− 1)wx = 0 (9.4.24)

como no exercıcio anterior. Examinando a solucao numerica obtenha uma solucaoanalıtica para o problema.

9.5. Convergencia e consistencia

Considere EDP’s lineares da forma

P (∂t, ∂x)u = f(t, x) (9.5.1)

de 1.a ordem no tempo. Assuma que dada uma condicao inicial u(0, x) a solucao eunicamente determinada. Veja os exemplos:

ut − buxx + aux = 0 (9.5.2)

ut − cutxx + buxxxx = 0 (9.5.3)

ut + cutx + aux = 0 (9.5.4)

Para um metodo numerico ser util e necessario que sua solucao aproxime asolucao da EDP e que a aproximacao melhore quando h, k tendem a zero.

Definicao 9.5.1. Um esquema de diferencas finitas de passo simples que apro-xima uma EDP e convergente se para qualquer u(t, x) exata e un

i aproximada,tal que u0

m converge para u0(x) quando h→ 0, entao uni converge para u(t, x)

quando h, k convergem para zero.

Para metodos de passo multiplo onde e necessario especificar os primeiros nıveis,a definicao e alterada requerendo que uj

i convirja para u0(xj) para 0 ≤ j ≤ J .Exemplo 40.Nos exemplos anteriores, os esquemas de Lax-Friedrichs e leapfrog sao convergentespara λ = 0.8. Quando h, k decrescem, as solucoes se tornam melhores. Quandoλ = 1.6 o esquema de Lax-Friedrichs nao e convergente.

Definicao 9.5.2. Dada uma EDP Pu = f e um esquema em diferencas finitasPh,kv = f , dizemos que o esquema e consistente com a EDP se para qualquerφ(t, x) suave

Pφ− Ph,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.

Page 69: Metodos numéricos para equações diferenciais

Secao 9.5: Convergencia e consistencia 65

Exemplo 41.Considere o esquema FTFS com operador de diferencas dado por

Pk,hφ =φn+1

i − φni

k+ a

φni+1 − φn

i

h(9.5.6)

associado ao operador contınuo

Pφ = φt + aφx. (9.5.7)

onde

φni = φ(nk, ih) (9.5.8)

Expandindo em serie de Taylor para t e x obtemos,

φn+1i = φn

i + kφt +1

2k2φtt +O(k3) (9.5.9)

φni+1 = φn

i + hφx +1

2h2φxx +O(h3) (9.5.10)

onde as derivadas sao calculadas em (tn, xi), e assim

Pk,hφ = φt + aφx +1

2kφtt +

1

2hφxx +O(k2) +O(h2) (9.5.11)

levando a

Pφ− Pk,hφ = −1

2kφtt −

1

2hφxx +O(k2) +O(h2) (9.5.12)

=→ 0 quando k, h→ 0 (9.5.13)

Portanto, o esquema e consistente.

Exemplo 42.Para o esquema de Lax-Friedrichs

Pk,hφ =φn+1

i − 12 (φn

i+1 + φni−1)

k+ a

φni+1 − φn

i−1

2h(9.5.14)

usando a serie de Taylor

φni+1 = φn

i + hφx +1

2h2φxx +

1

6h3φxxx +O(h4) (9.5.15)

φni−1 = φn

i − hφx +1

2h2φxx − 1

6h3φxxx +O(h4) (9.5.16)

onde as derivadas sao calculadas em (tn, xi); obtendo

1

2(φn

i+1 + φni−1) = φn

i +1

2h2φxx +O(h4) (9.5.17)

e

φni+1 − φn

i−1

2h= φx +

1

6h2φxxx +O(h4) (9.5.18)

Page 70: Metodos numéricos para equações diferenciais

Secao 9.6: Estabilidade 66

Substituindo no esquema obtemos

Pk,hφ = φt + aφx +1

2kφtt −

1

2k−1h2φxx (9.5.19)

+1

6ah2φxxx +O(h4 + k−1h4 + k2) (9.5.20)

Assim, Pφ− Pk,hφ→ 0 quando h, k → 0 e e consistente se k−1h2 → 0.

Consistencia implica que a solucao da EDP, se for suave, e uma solucao aproxi-mada do problema discreto. Similarmente, conergencia significa que a solucao discretaaproxima a solucao da EDP. Consistencia e uma condicao necessaria para convergencia,mas um esquema pode ser consistente e nao convergente.

Exemplo 43.Considere a equacao ut + ux = 0 com o esquema

un+1i − un

i

k+ a

uni+1 − un

i

h= 0 (9.5.21)

que pode ser reescrito como

un+1i = un

i − k

h(un

i+1 − uni ) (9.5.22)

= (1 + λ)uni − λun

i+1 (9.5.23)

onde λ = k/h. Este esquema e consistente (exemplo anterior). Considere a condicaoinicial

u0(x) =

1, −1 ≤ x ≤ 00, c.c.

(9.5.24)

A solucao e uma translacao de u0 da esquerda para a direita, ou seja, a informacao estase movendo nessa direcao. Entretanto o esquema (9.5.23) calcula a solucao em (tn, xi)utilizando somente informacao de pontos a direita xi e xi+1 em tempos anteriores.

Assim a solucao sera vni = 0 para i > 0 e n > 0, nao podendo convergir para

u(t, x).

Exercıcio 9.8. Mostre que o esquema FTCS (9.4.7) e consistente com ut + ux = 0.

Exercıcio 9.9. Mostre que o esquema leapfrog (9.4.8) e consistente com ut+ux = 0.

Exercıcio 9.10. Mostre que o esquema

vn+1i − vn

i

k+ c

vn+1i+1 − vn+1

i−1 − vni+1 + vn

i−1

2kh+ a

vni+1 − vn

i−1

2h= fn

i (9.5.25)

e consistente com a equacao ut + cutx + aux = f .

9.6. Estabilidade

O ultimo exemplo mostra que consistencia nao e suficiente para garantir convergencia.Considere EDP’s homogeneas, f = 0.

Page 71: Metodos numéricos para equações diferenciais

Secao 9.6: Estabilidade 67

Definicao 9.6.1. A norma L2 na malha e definida como

‖w‖h := (h

∞∑

i=−∞

|wi|2)12 (9.6.1)

Definicao 9.6.2. Um esquema em diferencas finitas Pk,hvni = 0 para uma

equacao de 1.a ordem e estavel numa regiao Λ se ∃J inteiro tal que ∀T > 0,∃CT tal que

‖vn‖h ≤ CT

J∑

j=0

‖vj‖2h (9.6.2)

para 0 ≤ nk ≤ T , com (k, h) ∈ Λ.

Isto significa que para ser estavel a solucao em t ∈ [0, T ] deve permanecerlimitada por CT vezes a norma dos J + 1 dados iniciais (J = 0 para metodos de passosimples e J > 0 para passo multiplo).

Uma regiao de estabilidade Λ ⊂ R2 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

un+1i = αun

i + βuni+1 (9.6.3)

e estavel se |α| + |β| ≤ 1.

Solucao: Calculando a norma de un+1, temos∞∑

i=−∞

|un+1i |2 =

∞∑

i=−∞

|αuni + βun

i+1|2 (9.6.4)

≤∞∑

i=−∞

|α|2|uni |2 + 2|α||β||un

i ||uni+1| + |β|2|un

i+1|2 (9.6.5)

≤∞∑

−∞

α|2|uni |2 + |α||β|(|un

i |2 + |uni+1|2) + |β|2|un

i+1|2 (9.6.6)

=

∞∑

−∞

(|α|2 + 2|α||β| + |β|2)|uni |2 (9.6.7)

=(|α| + |β|)2∞∑

i=−∞

|uni |2 (9.6.8)

onde usamos 2xy ≤ x2 + y2. Assim

‖un+1‖h ≤ (|α| + |β|)‖un‖h (9.6.9)

Page 72: Metodos numéricos para equações diferenciais

Secao 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

vn+1i − vn

i

k+ a

vni+1 − vn

i

h= 0 (9.6.10)

ou transformando,

vn+1i = vn

i − akvn

i+1 − vni

h(9.6.11)

vn+1i = (1 + aλ)vn

i − aλvni+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 condicao necessaria.

Definicao 9.6.3. O PVI de 1.a ordem Pu = 0 e bem-posto se ∀T ≥ 0, ∃CT

tal que∫ ∞

−∞

|u(t, x)|2dx ≤ CT

∫ ∞

−∞

|u(0, x)|2dx, (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 dediferencas finitas consistente para um PVI bem-posto e convergente se e somentese ele e estavel.

Determinar se um esquema e convergente diretamente da definicao, pode sercomplicado. Entretanto, determinar consistencia e simples, e estabilidade e facil tambemcomo veremos. Entao convergencia segue pelo teorema.

Note que, pelo teorema, esquemas instaveis nao devem ser considerados pois naoserao convergentes.Exercıcio 9.11. Mostre que esquemas da forma

un+1i = αun

i+1 + βuni−1 (9.7.1)

sao estaveis se |α| + |β| ≤ 1. Conclua que o esquema de Lax-Friedrichs e estavel se|aλ| ≤ 1.

Page 73: Metodos numéricos para equações diferenciais

Secao 9.8: Condicao CFL 69

Exercıcio 9.12. Multiplicando o esquema Leapfrog (9.4.8) por un+1i + un−1

i e so-mando em i = −∞ . . .∞, obtemos

|vn+1i |2 + |vn

i |2 + aλ(vn+1i vn

i+1 − vn+1i+1 v

ni ) (9.7.2)

=∑

|vni |2 + |vn−1

i |2 + aλ(vni v

n−1i+1 − vn

i+1vn−1i ) (9.7.3)

=∑

|v1i |2 + |v0

i |2 + aλ(v1i v

0i+1 − v1

i+1v0i ) (9.7.4)

Use a desigualdade − 12 (x2 + y2) ≤ xy ≤ 1

2 (x2 + y2) para mostrar que

(1 − |aλ|)∞∑

i=−∞

|vn+1i |2 + |vn

i |2 ≤ (1 + |aλ|)∞∑

i=−∞

|v1i |2 + |v0

i |2 (9.7.5)

e conclua que o esquema e estavel para |αλ| < 1.

Exercıcio 9.13. Multiplique o esquema (9.5.25) com fni = 0 por

1. vn+1i + vn

i , some em i = −∞ . . .∞ e conclua que o esquema e estavel paraaλ < 1.

2. vn+1i+1 + vn

i−1, some em i = −∞ . . .∞ e conclua que o esquema e estavel paraaλ > 1.

9.8. Condicao CFL

Definicao 9.8.1. O domınio de dependencia de ut +aux = 0 para o ponto(t, x) e dado pela curva caracterıstica x− at = ξ.

Definicao 9.8.2. O domınio de dependencia numerica de um metodoexplıcito do tipo

un+1i = αun

i−1 + βuni + γun

i+1 (9.8.1)

e dado por um triangulo envolvendo todos os pontos abaixo do ponto (xi, tn),

se propagando ate a condicao inicial de u0i−n ate u0

i−n.

Teorema 9.8.3. Uma condicao necessaria para estabilidade de um esquema explıcitoda forma un+1

i = αuni−1 + βun

i + γuni+1 para ut + aux = 0 com λ = k/h constante e

a condicao Courant-Friedrichs-Lewy (CFL),

|aλ| ≤ 1. (9.8.2)

Para sistemas, onde u e um vetor, e A,α, β, γ sao matrizes, devemos ter |aiλ| ≤ 1para todos autovalores ai de A.

Demonstracao. Para que o esquema seja estavel e necessario que domınio de de-pendencia da EDP esteja contido no domınio de dependencia numerico.

Considere o ponto (t, x) = (1, 0). A curva caracterıstica que passa por (1, 0) etem ξ = 0−a1 = −a com equacao −a = x−at. Portanto solucao u(1, 0) depende do

Page 74: Metodos numéricos para equações diferenciais

Secao 9.8: Condicao CFL 70

ponto inicial com t = 0 na equacao caracterıstica obtemos −a = x− a0 implicandox = −a.

Porem usando o esquema de diferencas finitas, un0 depende dos valores da

condicao inicial u0i , para −n ≤ i ≤ n. Ou seja, o domnınio de dependencia numerica

se propaga ate a condicao inicial no intervalo x ∈ [−nh, nh]. Temos que tn = 1 = nk,implicando n = 1

k . Assim o domınio de dependencia numerica e x ∈ [−hk ,

hk ] =

[−λ−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 u0(x) em x ∈ [−a, a] onde a = max(ai)

e a maior velocidade caracterıstica. Se |a|λ ≤ 1 entao |aiλ| ≤ 1 e todas curvascaracterısticas pertencem ao domınio de dependencia numerica.

Veja a pagina http://www.cse.uiuc.edu/iem/pde/wavecfl/ para uma ex-plicacao iterativa da condicao CFL.

Teorema 9.8.4. Nenhum esquema explıcito consistente e incondicionalmente estavelpara sistemas de EDP’s hiperbolicas.

Exemplo 46.O esquema implıcito1

Backward-Time Backward-Space,

vn+1i − vn

i

k+ a

vn+1i − vn+1

i−1

h= 0 (9.8.3)

e incondicionalmente estavel para qualquer λ (porem a > 0).Temos

(1 + aλ)vn+1i = vn

i + aλvn+1i−1 (9.8.4)

e elevando ao quadrado,

(1 + aλ)2|vn+1i |2 ≤ |vn

i |2 + 2aλ|vni ||vn+1

i−1 | + (aλ)2|vn+1i−1 |2 (9.8.5)

≤ (1 + aλ)|vni |2 + (aλ+ (aλ)2)|vn+1

i−1 |2 (9.8.6)

Somando em i, obtemos

(1 + aλ)2∞∑

−∞

|vn+1i |2 ≤ (1 + aλ)

∞∑

−∞

|vni |2 + (aλ+ (aλ)2)

∞∑

−∞

|vn+1i−1 |2 (9.8.7)

que fornece a estimativa∞∑

−∞

|vn+1i |2 ≤

∞∑

−∞

|vni |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 dependede λ.

1Note que o teorema nao se aplica aqui por este ser implıcito.

Page 75: Metodos numéricos para equações diferenciais

71

Exercıcio 9.14. Mostre que esquemas da forma

αvn+1m+1 + βvn+1

m−1 = vnm (9.8.9)

sao estaveis se ||α| − |β|| ≥ 1. Conclua que o esquema de Lax-Friedrichs reverso

12 (vn+1

m+1 + vn+1m−1) − vn

m

k+ a

vn+1m+1 − vn+1

m−1

2h= 0 (9.8.10)

e estavel se |aλ| ≥ 1.

Aula 16, 17 .

Analise de Esquemas de Diferencas Finitas.

Strikwerda: Cap. 2

Capıtulo 10:

Analise de esquemas de diferencas finitas

10.1. Analise de Fourier

Seja R o eixo real contınuo, Z os inteiros e hZ = hi : i ∈ Z uma malha de inteiros.Para u(x) ∈ R, a transformada de Fourier e sua inversa sao definidas como

u(ω) =1√2π

∫ ∞

−∞

e−iωxu(x) dx (10.1.1)

u(x) =1√2π

∫ ∞

−∞

eiωxu(ω) dω (10.1.2)

Se v e uma funcao definida na malha hZ para m ∈ Z, a transformada de Fourier(e sua inversa) sao definidas como

v(ξ) =1√2π

∞∑

i=−∞

e−imξvm (10.1.3)

vm =1√2π

∫ π

−π

eimξv(ξ) dξ (10.1.4)

para ξ ∈ [−π, π] e v(−π) = v(π).Note que vm pode ser interpretada como uma superposicao de ondas v(ξ).

Page 76: Metodos numéricos para equações diferenciais

Secao 10.1: Analise de Fourier 72

Se h e o espacamento da malha, podemos mudar as variaveis e obter

v(ξ) =1√2π

∞∑

i=−∞

e−imhξvmh (10.1.5)

vm =1√2π

∫ π/h

−π/h

eimhξv(ξ) dξ (10.1.6)

para ξ ∈ [−π/h, π/h].Defina as normas

Definicao 10.1.1. norma L2 de u(x):

‖u‖2 :=

(∫ ∞

−∞

|u(x)|2 dx)1/2

(10.1.7)

norma L2 na malha de v:

‖v‖h :=

(

h∞∑

−∞

|vm|2)1/2

(10.1.8)

Relacoes de Parseval:

‖u‖22 =

∫ ∞

−∞

|u(x)|2 dx =

∫ ∞

−∞

|u(ω)|2 dω = ‖u‖22 (10.1.9)

e

‖v‖2h =

∫ π/h

−π/h

|v(ξ)|2 dξ =∞∑

−∞

|vm|2h = ‖v‖2h (10.1.10)

Esta relacao sera util para substituir a estimativa na estabilidade pela formaequivalente

‖vn‖h ≤ CT

J∑

j=0

‖vj‖h (10.1.11)

Note que nao existe tal relacao se usarmos1 a norma infinito.

Diferenciando a transformada inversa

u(x) =1√2π

∫ ∞

−∞

eiωxu(ω) dω (10.1.12)

com relacao a x obtemos

ux(x) =1√2π

∫ ∞

−∞

eiωxiωu(ω) dω (10.1.13)

ux(x) =1√2π

∫ ∞

−∞

eiωxux(ω) dω (10.1.14)

e com isso concluımos1nao diretamente [11].

Page 77: Metodos numéricos para equações diferenciais

Secao 10.1: Analise de Fourier 73

ux(ω) = iωu(ω)

10.1.1. Analisando EDPs

Isolando ux na equacao da onda

ut + aux = 0, (10.1.15)

obtemos ux = − 1aut. Substituindo em (10.1.13),

−1

aut = ux(t, x) =

1√2π

∫ ∞

−∞

eiωxiωu(t, ω) dω (10.1.16)

ut(t, x) =1√2π

∫ ∞

−∞

eiωx−iaωu(t, ω) dω (10.1.17)

Ou seja, u satisfaz a EDO

ut = −iaωu (10.1.18)

cuja solucao e

u(t, ω) = e−iaωtu0(ω) (10.1.19)

Usando a relacao de Parseval e o fato que

|e−iaωt| = | cos(aωt) − i sin(aωt)| = 1,

temos

‖u‖2 =

∫ ∞

−∞

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

=

∫ ∞

−∞

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

=

∫ ∞

−∞

|e−iaωtu0(ω)|2 dω (10.1.22)

=

∫ ∞

−∞

|u0(ω)|2 dω (10.1.23)

=

∫ ∞

−∞

|u0(x)|2 dx (10.1.24)

= ‖u0‖2 (10.1.25)

mostrando que o PVI e bem-posto. Mostra ainda que a norma da solucao e constante.

10.1.2. Em mais que uma dimensao

A transformada de Fourier e definida em Rd como

u(ω) =1

(2π)d/2

Rd

e−iω·xu(x) dx (10.1.26)

u(x) =1

(2π)d/2

Rd

eiω·xu(ω) dω (10.1.27)

Page 78: Metodos numéricos para equações diferenciais

Secao 10.2: Analise de Von Neumann 74

onde ω·x e o produto interno em Rd.

Exercıcio 10.1. Mostre utilizando transformada de Fourier que o PVI ut = uxxx ebem-posto.

Exercıcio 10.2. Mostre utilizando transformada de Fourier que o PVI ut+ux+bu = 0e bem-posto.

Exercıcio 10.3. Mostre utilizando transformada de Fourier que o PVI ut+aux+buy =0 e bem-posto.

10.2. Analise de Von Neumann

Usando transformada de Fourier vamos estudar a estabilidade de um esquema de dife-rencas finitas. Considere o esquema FTBS

vn+1m − vn

m

k+ a

vnm − vn

m−1

h= 0 (10.2.1)

que pode ser reescrito como

vn+1m = (1 − aλ)vn

m + aλvnm−1, (10.2.2)

onde λ = k/h. Usando a transformada de Fourier inversa para vn obtemos,

vnm =

1√2π

∫ π/h

−π/h

eimhξ vn(ξ) dξ (10.2.3)

que substituindo na equacao anterior para vnm e vn

m−1,

vn+1m =(1 − aλ)

1√2π

∫ π/h

−π/h

eimhξ vn(ξ) dξ (10.2.4)

+ aλ1√2π

∫ π/h

−π/h

ei(m−1)hξvn(ξ) dξ (10.2.5)

=1√2π

∫ π/h

−π/h

eimhξ[(1 − aλ) + aλe−ihξ]vn(ξ) dξ (10.2.6)

e comparando com a formula da transformada inversa, obtemos

vn+1(ξ) = [(1 − aλ) + aλe−ihξ]vn(ξ) (10.2.7)

= g(hξ)vn(ξ) (10.2.8)

onde

g(hξ) = (1 − aλ) + aλe−ihξ (10.2.9)

e o fator de amplificacao. Note que avancar um passo no tempo e equivalente amultiplicar cada frequencia vn(ξ) pelo fator de amplificacao. Desta forma obtemos2

vn(ξ) = g(hξ)nv0(ξ) (10.2.10)

2note que g(hξ)n esta elevado na potencia n e v0(ξ) esta na iteracao 0.

Page 79: Metodos numéricos para equações diferenciais

Secao 10.2: Analise de Von Neumann 75

Tal formula e usada para estudar a estabilidade do metodo de diferencas finitas,similarmente a analise anterior do PVI ser bem posto. Pela relacao de Parseval, se|g(hξ)| < 1 entao

‖vn‖2h = h

∞∑

−∞

|vnm|2 (10.2.11)

=

∫ π/h

−π/h

|vn(ξ)|2 dξ (10.2.12)

=

∫ π/h

−π/h

|g(hξ)|2n|v0(ξ)|2 dξ (10.2.13)

≤∫ π/h

−π/h

|v0(ξ)|2 dξ (10.2.14)

= h

∞∑

−∞

|v0m|2 (10.2.15)

= ‖v0‖2h (10.2.16)

mostrando que o sistema e estavel por definicao.Resta mostrar sob quais condicoes que |g(hξ)| < 1. Tomando θ = hξ,

|g(θ)|2 = |(1 − aλ) + aλe−iθ|2 (10.2.17)

= (1 − aλ+ aλ cos θ)2 + a2λ2 sin2 θ (10.2.18)

= (1 − 2aλ sin2 θ

2)2 + 4a2λ2 sin2 θ

2cos2

θ

2(10.2.19)

= 1 − 4aλ sin2 θ

2+ 4a2λ2 sin4 θ

2+ 4a2λ2 sin2 θ

2cos2

θ

2(10.2.20)

= 1 − 4aλ(1 − aλ) sin2 θ

2(10.2.21)

de onde temos que |g(θ)| e limitado por 1 se 0 ≤ aλ ≤ 1.Entretanto se aλ ∈/ [0, 1] e λ e fixo quando h → 0 e k → 0, entao |g(θ)| > 1

para alguns θ e o esquema e instavel, como mostraremos.

10.2.1. A condicao de estabilidade

Teorema 10.2.1. Um esquema de diferencas finitas de passo simples (com coe-ficientes constantes) e estavel se e somente se ∃K (independente de θ, k e h) eespacamentos h0, k0 > 0 tais que

|g(θ, k, h)| ≤ 1 +Kk (10.2.22)

∀θ, 0 < k ≤ k0,0 < h ≤ h0. Se g = g(θ), entao a condicao de estabilidade e

|g(θ)| ≤ 1. (10.2.23)

Demonstracao. Veja [11], p.44.

Page 80: Metodos numéricos para equações diferenciais

Secao 10.2: Analise de Von Neumann 76

Este teorema mostra que para determinar a estabilidade devemos considerarg(hξ) (esta observacao e chamada de analise de von Neumann).

Exemplo 47.Considere o esquema FTFS para o qual

g(hξ) = 1 + aλ− aλeihξ (10.2.24)

onde a > 0 e λ e constante. Temos que

|g|2 = 1 + 4aλ(1 + aλ) sin2 θ

2. (10.2.25)

Se λ e constante, podemos usar a condicao |g(θ)| ≤ 1, e temos que |g| > 1 para θ 6= 0,o que implica que o esquema e instavel. Lembre que pelo exemplo 43, sabemos que talesquema nao e convergente.

Podemos tambem obter expressoes para g sem escrever as integrais. Bastasubstituirmos vn

m por gneimθ (tal procedimento e apenas um atalho para o metodoanterior).

Exemplo 48.Usaremos o esquema FTCS

vn+1m − vn

m

k+ a

vnm+1 − vn

m−1

2h= 0 (10.2.26)

para mostrar tal procedimento. Substitua vnm por gneimhξ e obtenha

gn+1eimθ − gneimθ

k+ a

gnei(m+1)θ − gnei(m−1)θ

2h(10.2.27)

=gneimθ

(

g − 1

k+ a

eiθ − e−iθ

2h

)

= 0 (10.2.28)

que fornece

g = 1 − iaλ sin(θ) (10.2.29)

com λ = k/h. Se λ e constante, entao g e independente de h e k e

|g(θ)|2 = 1 + a2λ2 sin2(θ) (10.2.30)

Como |g| > 1 para θ 6= 0 ou θ = π, pelo teorema anterior, este esquema e instavel.

Exemplo 49.Considere o metodo de Lax-Friedrichs

vn+1m − 1

2 (vnm+1 + vn

m−1)

k+ a

vnm+1 − vn

m−1

2h− vn

m = 0 (10.2.31)

para a equacao

ut + aux − u = 0 (10.2.32)

O fator de amplificacao e

g(θ, k, h) = cos(θ) − iaλ sin(θ) + k (10.2.33)

Page 81: Metodos numéricos para equações diferenciais

Secao 10.2: Analise de Von Neumann 77

e

|g|2 = (cos(θ) + k)2 + a2λ2 sin2(θ) (10.2.34)

≤ (1 + k)2 (10.2.35)

se |aλ| ≤ 1. Note que como o PVI possui solucoes que crescem com o tempo, qualqueresquema consistente e estavel para este PVI deve ter |g| > 1 para alguns θ.

Corolario 2. Se um esquema como no teorema 10.2.1 e modificado tal que a di-ferenca resulta somente na adicao de termos em g que sao O(k) uniformementeem ξ, entao o esquema modificado e estavel se e somente se o esquema original eestavel.

Demonstracao. Se g e o fator de amplificacao para o esquema e |g| ≤ 1+Kk, entaoo fator de amplificacao do esquema modificado, g′, satisfaz

|g′| = |g + O(k)| ≤ 1 +Kk + Ck = 1 +K1k (10.2.36)

Daı o esquema modificado e estavel se o esquema original e estavel, e vice-versa.

Teorema 10.2.2. Um esquema consistente de passo simples para

ut + aux + bu = 0 (10.2.37)

e estavel se e somente se ele e estavel quando b = 0. Alem disso, quando k = λh eλ e constante, a condicao de estabilidade se torna

|g(θ, 0, 0)| ≤ 1 (10.2.38)

Demonstracao. Pela consistencia, o termo bu adiciona um termo O(k) a g. Pelocorolario 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 condicao 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 aestimativa3 e valida se e somente se

|g(θ, 0, 0)| ≤ 1. (10.2.41)

Note que |g| ≤ 1 +Kk e equivalente a |g|2 ≤ 1 +K1k.Exercıcio 10.4. Faca a analise de Von Neumann para o metodo de Lax-Friedrichs doexemplo 49. Utilize o teorema anterior e analise a equacao sem o termo bu.

3Similarmente e provado a ultima parte do teorema.

Page 82: Metodos numéricos para equações diferenciais

Secao 10.2: Analise de Von Neumann 78

Exemplo 50.Considere o esquema em dois estagios composto pelo esquema FTCS e um operadorsuavizante:

vn+1m = vn

m − 1

2aλ(vn

m+1 − vnm−1) + kfn

m (10.2.42)

vn+1m =

1

4(vn+1

m+1 + 2vn+1m + vn+1

m−1) (10.2.43)

Para aplicar a analise de Von Neumman, poderıamos reescrever esse metodocomo uma unica equacao eliminando v. Entretanto, aplicando um procedimento similar,substituımos vn+1

m por ggneimθ e vnm por gneimθ. Obtemos

g = 1 − iaλ sin θ (10.2.44)

g =1

2(1 + cos θ)g = g cos2

θ

2(10.2.45)

e

|g|2 = |g|2 cos4θ

2= (1 + a2λ2 sin2(θ)) cos4

θ

2(10.2.46)

Para estabilidade devemos ter

(1 + a2λ2 sin2(θ)) cos4θ

2≤ 1 (10.2.47)

(1 + 4a2λ2 sin2 θ

2cos2

θ

2) cos4

θ

2≤ 1 (10.2.48)

4a2λ2 sin2 θ

2cos6

θ

2≤ 1 − cos4

θ

2(10.2.49)

≤ (1 − cos2θ

2)(1 + cos2

θ

2) (10.2.50)

≤ sin2 θ

2(1 + cos2

θ

2) (10.2.51)

4a2λ2 cos6θ

2≤ 1 + cos2

θ

2(10.2.52)

que deve ser verdade ∀θ.Quando θ = 0, a condicao necessaria se torna

a2λ2 ≤ 1

2(10.2.53)

Assumindo isto e que cos e limitado por 1 obtemos

4a2λ2 cos6θ

2≤ 2 cos2

θ

2≤ 1 + cos2

θ

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 umacondicao de estabilidade mais restrita que o esquema de Lax-Friedrichs. Note tambemque o esquema FTCS e instavel sem o termo dissipativo.

Page 83: Metodos numéricos para equações diferenciais

Secao 10.3: Comentarios sobre instabilidade e estabilidade 79

Exemplo 51.Considere a equacao ut + auxxx = f e o esquema

vn+1m =

vnm+1 + vn

m−1

2(10.2.56)

− 1

2akh−3(vn

m+2 − 2vnm+1 + 2vn

m−1 − vnm−2) + kfn

m (10.2.57)

Esse esquema e consistente com o PVI se k−1h2 → 0 com k, h→ 0 (veja os exercıcios).O fator de amplificacao e

g(θ) = cos θ + 4akh−3i sin θ sin2 θ

2(10.2.58)

e o esquema e estavel se e somente se

4|a|kh−3 (10.2.59)

e limitado. A condicao de consistencia e de estabilidade nao podem ser ambas satisfei-tas. Assim o esquema nao e convergente, pois nao pode ser consistente e estavel.

Exercıcio 10.5. Mostre que o esquema BTCS (??) e consistente com ut + aux = 0e e incondicionalmente estavel.

Exercıcio 10.6. Verifique a condicao de estabilidade para o exemplo 51.

Exercıcio 10.7. Mostre que o esquema “box”

(vn+1m + vn+1

m+1) − (vnm + vn

m+1)

2k+ a

(vn+1m+1 − vn+1

m ) + (vnm+1 − vn

m)

2h= fn

m (10.2.60)

e consistente com ut + aux = f e e estavel para todo λ.

Exercıcio 10.8. Determine a estabilidade do esquema

vn+ 1

2m = vn

m − aλ

2(vn

m+1 − vnm−1) + kfn

m (10.2.61)

vn+1m = vn

m − aλ

2(v

n+ 12

m+1 − vn+ 1

2

m−1) + kfn+1m (10.2.62)

onde vn+ 1

2m e uma variavel temporaria, como v.

Exercıcio 10.9. Usando analise de von Neumann, mostre que o esquema de Lax-Friedrichs reverso do exercıcio 9.8.10 e estavel para |aλ| ≥ 1.

10.3. Comentarios sobre instabilidade e estabilidade

• Instabilidade numerica esta relacionada com oscilacoes de altas frequencias.

• Considere o esquema de Lax-Friedrichs, com aλ = 1.6. Temos que |g(θ)|2 =cos2 θ + a2λ2 sin2 θ, que possui maximo em |aλ| = 1.6, quando θ = π/2. Arazao ‖vn+1‖h/‖vn‖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 altasfrequencias.

Page 84: Metodos numéricos para equações diferenciais

Secao 10.3: Comentarios sobre instabilidade e estabilidade 80

• Instabilidade e um fenomeno essencialmente local, que se espalha globalmente.

• Demonstracoes requerem um bom entendimento de analise de Fourier.

• Entender instabilidade numerica ajuda a diferenciar entre erros de programacao einstabilidade do esquema numerico.

10.3.1. Condicoes de estabilidade para coeficientes variaveis

A analise nao se aplica diretamente!! Entretanto, considere a equacao ut+a(t, x)ux =0 com o esquema de Lax-Friedrichs

vnm =

1

2(vn

m+1 + vnm−1) −

1

2a(tn, xn)(vn

m+1 − vnm−1) (10.3.1)

A condicao de estabilidade se torna |a(tn, xm)|λ ≤ 1, ∀(tn, xm) no domınio.O procedimento geral e considerar cada problema em cada passo de tempo se-

paradamente, congelando os coeficientes. Se cada problema com coeficientes fixos eestavel, entao esperamos que o problema com coeficientes variaveis tambem seja estavel.Veja [11], p. 51 para referencias.

10.3.2. Estabilidade numerica e estabilidade dinamica

• A definicao 9.6.2 e a de estabilidade numerica.

• A estabilidade dinamica refere-se a propriedade de pequenas perturbacoes sobreo estado inicial de um sistema gerarem pequenas variacoes no estado final destesistema (havera decaimento nas variacoes, ou pelo menos nao crescimento, quantot cresce).

• Portanto estabilidade dinamica refere-se ao comportamento das solucoes quandot → ∞ e estabilidade numerica refere-se ao comportamento da solucoes sobreum intervalo de tempo finito quando a malha e refinada.

• Considere a equacao, para x ∈ R, t > 0,

ut + aux + bu = 0 (10.3.2)

• Se b > 0 entao a solucao e dinamicamente estavel, ja que qualquer solucao decaicom o tempo.

• Se b < 0, entao e dinamicamente instavel, pois cresce sem limites quando taumenta.

• Para um esquema numerico, a estabilidade numerica nao depende de b (teorema10.2.2). Podemos usar qualquer esquema convergente para computar a solucaodo PVI; entretanto um esquema numericamente instavel aplicado a uma equacaodinamicamente instavel nao achara solucoes convergentes.

Exercıcio 10.10. Aproxime a solucao da equacao

ut + ux = 0, −1 ≤ x ≤ 3, 0 ≤ t ≤ 1 (10.3.3)

u(0, x) =

1 − |x|, |x| ≤ 10, c.c.

(10.3.4)

u(t,−1) = 0 (10.3.5)

Page 85: Metodos numéricos para equações diferenciais

81

com o esquema FTFS 9.4.5. Use h = 0.1 e λ = 0.8. Demonstre que a instabilidadenumerica cresce por um fator de |g(θ)| por unidade de tempo. Comente o aparecimentoda instabilidade no grafico de vn

m. Utilize a condicao de contorno un+1M = un+1

M−1 emx = 3.

Exercıcio 10.11.

a. Aproxime a solucao da equacao

ut + ux = 0, −1 ≤ x ≤ 3, 0 ≤ t ≤ 4 (10.3.6)

u1(0, x) =

1 − |x|, |x| ≤ 10, 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 un+1M = un+1

M−1 emx = 3.

b. Repita o item a. com

u2(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 u1(x) do que parau2(x). Mostre que o crescimento da instabilidade e aproximadamente |g(π/2)|.Use un+1

M = un+1M−1 para o contorno direito.

Exercıcio 10.12. Resolva numericamente a equacao

ut + (1 + αx)ux = 0, −3 ≤ x ≤ 3, 0 ≤ t ≤ 2 (10.3.11)

(10.3.12)

u(0, x) =

1 − |x|, |x| ≤ 10, 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 quea instabilidade ocorre quando |(1 + αxm)λ| > 1. Use un+1

M = 0.

Aula 18, 19, 20 .

Ordem de precisao.

Strikwerda: Cap. 3

Capıtulo 11:

Page 86: Metodos numéricos para equações diferenciais

Secao 11.1: Esquema Lax-Wendroff 82

Ordem de Precisao

Nos capıtulos anteriores analisamos os esquemas somente quanto a convergencia. Uti-lizando o teorema de Lax-Richtmeyer consideramos a estabilidade e a consistencia.

Antes de definir precisao considere os seguintes esquemas.

11.1. Esquema Lax-Wendroff

Para obter o esquema de Lax-Wendroff para a equacao

ut = −aux + f (11.1.1)

utilizamos a serie de Taylor

u(t+ k, x) = u(t, x) + kut(t, x) +k2

2utt(t, x) + O(k3). (11.1.2)

Usando a equacao diferencial obtemos

utt = −autx + ft = a2uxx − afx + ft (11.1.3)

e substituindo na serie obtemos

u(t+ k, x) = u(t, x) + kut(t, x) +k2

2utt(t, x) + O(k3)

=u(t, x) + k(−aux + f) +k2

2(a2uxx − afx + ft) + O(k3)

=u(t, x) − akux +a2k2

2uxx + kf − ak2

2fx +

k2

2ft + O(k3)

Trocando as derivadas em x por diferencas finitas de segunda ordem e ft por umadiferenca pra frente obtemos

un+1m = un

m − akun

m+1 − unm−1

2h

+a2k2

2

unm+1 − 2un

m + unm−1

h2

+ kfn+1

m + fnm

2− ak2

2

fnm+1 − fn

m−1

2h

+ O(kh2) + O(k3)

fornecendo o esquema de Lax-Wendroff

un+1m − un

m

k− a

unm+1 − un

m−1

2h− a2k

2

unm+1 − 2un

m + unm−1

h2(11.1.4)

=fn+1

m + fnm

2− ak

2

fnm+1 − fn

m−1

2h(11.1.5)

ou ainda

un+1m = un

m − aλ

2(un

m+1 − unm−1) +

a2λ2

2(un

m+1 − 2unm + un

m−1) (11.1.6)

+k

2(fn+1

m + fnm) − akλ

4(fn

m+1 − fnm−1) (11.1.7)

Page 87: Metodos numéricos para equações diferenciais

Secao 11.2: Esquema Cranck-Nicolson 83

11.2. Esquema Cranck-Nicolson

Para derivar esse esquema comecamos com a formula

(ut)n+ 1

2m =

un+1m − un

m

k+ O(k2) (11.2.1)

para ut calculado em (t+ 12k, x). Tambem usamos a relacao

(ux)n+ 1

2m =

(ux)n+1m + (ux)n

m

2+ O(k2) (11.2.2)

=1

2

[

un+1m+1 − un+1

m−1

2h+un

m+1 − unm−1

2h

]

(11.2.3)

+ O(k2) + O(h2) (11.2.4)

obtendo o metodo de Crank-Nicolson

un+1m − un

m

k+ a

un+1m+1 − un+1

m−1 + unm+1 − un

m−1

4h=fn+1

m + fnm

2(11.2.5)

ou ainda,

4un+1

m+1 + un+1m − aλ

4un+1

m−1 = (11.2.6)

− aλ

4un

m+1 + unm +

4un

m−1 +k

2(fn+1

m + fnm) (11.2.7)

Uma EDP (contınua) Pu = f pode ser aproximada por um esquema (discreto)como Pk,hu = Rk,hf onde cada expressao calculada no ponto (tn, xm) envolve somenteuma soma finita de pontos vizinhos.

Definicao 11.2.1. Um esquema Pk,hu = Rk,hf consistente com a EDP Pu =f possui ordem de precisao p no tempo e ordem q no espaco se para qualquerφ(t, x) suave

T φ = Pk,hφ−Rk,hPφ = O(kp) + O(hq). (11.2.8)

Dizemos que o esquema e de ordem (p, q).

Note a correlacao entre consistencia e ordem de precisao: o operador Rk,h deveser uma aproximacao do operador identidade para que Pk,h seja consistente com P .

Definicao 11.2.2. O erro de truncamento e definido como T φ = Pk,hφ −Rk,hPφ.

Exemplo 52.Mostraremos que o metodo de Lax-Wendroff e de ordem (2, 2). Usando serie de Taylor,para o lado esquerdo de (11.1.4) calculado em (tn, xm) obtemos

φt +k

2φtt + aφx − a2k

2φxx + O(k2) + O(h2). (11.2.9)

Page 88: Metodos numéricos para equações diferenciais

Secao 11.3: O sımbolo de um esquema de DF 84

Para uma funcao suave f(t, x) o lado direito se torna

f +k

2ft −

ak

2fx + O(k2) + O(h2) (11.2.10)

e se f = φt + aφx = Pφ, temos

φt + aφx +k

2φtt +

k

2aφxt −

ak

2φxt −

a2k

2φxx + O(k2) + O(h2). (11.2.11)

que e da mesma ordem que (11.2.9) ate ordem O(k2) +O(h2). Portanto o esquema ede ordem (2, 2).

Por outro lado, se no esquema de Lax-Wendroff usarmos Rh,kfnm = fn

m, i.e.,

un+1m = un

m − aλ

2(un

m+1 − unm−1) (11.2.12)

+a2λ2

2(un

m+1 − 2unm + un

m−1) + kfnm (11.2.13)

possui ordem de precisao (1, 2).

Note que para determinar a ordem da precisao usamos a forma (11.1.4) ao invesde (11.1.6) que e obtida multiplicando por k a primeira expressao.

A definicao de precisao nao pode ser aplicada diretamente ao metodo de Lax-Friedrichs, por exemplo, pois contem O(h2k−1). Assumindo que k depende de h,k = κ(h), onde κ e uma funcao suave de h e κ(0) = 0.

Definicao 11.2.3. Um esquema Pk,hu = Rk,hf , com k = κ(h), consistentecom a EDP Pu = f possui ordem de precisao r se para qualquer φ(t, x) suave,

Pk,hφ−Rk,hPφ = O(hr). (11.2.14)

Tomando κ(h) = λh, o esquema de Lax-Friedrichs e consistente com a equacaoda onda unidirecional de acordo com a ultima definicao.

11.3. O sımbolo de um esquema de DF

Definicao 11.3.1. O sımbolo pk,h(s, ξ) de um operador de diferencas Pk,h edefinido por

Pk,h(eskn, eimhξ) = pk,h(s, ξ)eskneimhξ (11.3.1)

Isto e, o sımbolo e a quantidade multiplicando a funcao φnm = eskneimhξ na

malha depois de aplicar o operador de diferencas Pk,h em φnm.

Exemplo 53.O operador de diferencas para o esquema de Lax-Wendroff e

pk,h(s, ξ) =esk − 1

k+ia

hsinhξ + 2

a2k

h2sin2(

1

2hξ) (11.3.2)

Page 89: Metodos numéricos para equações diferenciais

Secao 11.3: O sımbolo de um esquema de DF 85

e

rk,h(s, ξ) =1

2(esk + 1) − iak

2hsinhξ (11.3.3)

Definicao 11.3.2. O sımbolo p(s, ξ) do operador diferencial P e definido por

P (esteiξx) = p(s, ξ)esteiξx (11.3.4)

Isto e, o sımbolo e a quantidade multiplicando a funcao φ(t, x) = esteiξx depoisde aplicar o operador P em φ(t, x).

Teorema 11.3.3. Um esquema Pk,hu = Rk,hf consistente com a EDP Pu = fpossui ordem de precisao (p, q) se e somente se para cada s e ξ,

pk,h(s, ξ)

rk,h(s, ξ)− p(s, ξ) = O(kp) + O(hq). (11.3.5)

Demonstracao. Segue diretamente das definicoes de consistencia e dos sımbolos.Tambem e necessario expandir Pk,hφ em serie de Taylor, veja [11], p. 57.

Na prova do teorema, obtemos que

pk,h(s, ξ) − rk,h(s, ξ)p(s, ξ) = O(kp) + O(hq). (11.3.6)

que e utilizada na pratica para mostrar ordem de precisao.

Corolario 3. Um esquema Pk,hu = Rk,hf consistente com a EDP Pu = f ondek = κ(h) possui ordem de precisao r se e somente se para cada s e ξ,

pk,h(s, ξ)

rk,h(s, ξ)− p(s, ξ) = O(hr). (11.3.7)

Exemplo 54.Vamos provar que o metodo de Crank-Nicolson e de ordem (2, 2). Utilizando (11.2.5)

un+1m − un

m

k+ a

un+1m+1 − un+1

m−1 + unm+1 − un

m−1

4h=fn+1

m + fnm

2(11.3.8)

un+1m − un

m

k+ a

un+1m+1 − un+1

m−1 + unm+1 − un

m−1

4h=fn+1

m + fnm

2(11.3.9)

obtemos

pk,h(s, ξ) =esk − 1

k+ ia

esk + 1

2

sin(hξ)

h(11.3.10)

e

rk,h(s, ξ) =esk + 1

2(11.3.11)

Temos entao que o lado esquerdo de (11.3.6) torna-se

esk − 1

k+ ia

esk + 1

2

sin(hξ)

h− esk + 1

2(s+ iaξ) (11.3.12)

Page 90: Metodos numéricos para equações diferenciais

Secao 11.4: Ordem de precisao da solucao 86

Devemos expandir em serie de Taylor, mas antes1, multiplique por e−sk/2 = O(1) temos

esk/2 − e−sk/2

k+ ia

esk/2 + e−sk/2

2

sin(hξ)

h− esk/2 + e−sk/2

2(s+ iaξ) (11.3.13)

Utilizando as expansoes em serie de Taylor,

esk/2 − e−sk/2

k= s+

s3k2

24+ O(k4) (11.3.14)

esk/2 + e−sk/2

2= 1 +

s2k2

8+ O(k4) (11.3.15)

sin(hξ)

h= ξ − ξ3h2

6+ O(h4) (11.3.16)

obtemos

[s+s3k2

24+ O(k4)] + ia[1 +

s2k2

8+ O(k4)][ξ − ξ3h2

6+ O(h4)]

− [1 +s2k2

8+ O(k4)](s+ iaξ)

=s+s3k2

24+ ia[1 +

s2k2

8][ξ − ξ3h2

6]

− [1 +s2k2

8](s+ iaξ) + O(k4 + h4 + k2h2)

= − k2s3

12− ia

ξ3h2

6+ O(k4 + h4 + k2h2)

=O(k2 + h2)

O que implica que o metodo e de ordem (2, 2).

11.4. Ordem de precisao da solucao

Nas secoes anteriores tratavamos da ordem de precisao de um esquema de diferencasfinitas. Este se relaciona com a ordem de precisao da solucao, que pode ser calculadada solucao obtida numericamente.

Definicao 11.4.1. Seja u(t, x) a solucao do PVI e um esquema de DF comu0

m = u(0, xm). Assuma que k = κ(h). O erro em t = nk e calculado por

Error(t) = ‖u(t, ·) − un‖h (11.4.1)

= (h

∞∑

m=−∞

|u(t, xm) − unm|2) 1

2 = O(hr) (11.4.2)

A ordem de precisao da solucao e definida pelo numero r, caso exista.

Se o dado inicial e suave, entao a ordem de precisao do esquema e a numericasao iguais (Cap.10 [11]). Se o erro e medido com outra norma, a ordem da precisaopode ser diferente.

1Podemos expandir diretamente em serie de Taylor essa ultima expressao

Page 91: Metodos numéricos para equações diferenciais

Secao 11.5: Estabilidade LW e CN 87

11.5. Estabilidade LW e CN

Exemplo 55.O esquema de Lax-Wendroff para ut + aux = 0 e

un+1m = un

m − aλ

2(un

m+1 − unm−1) +

a2λ2

2(un

m+1 − 2unm + un

m−1) (11.5.1)

que possui fator de amplificacao

g(θ) = 1 − aλ

2(eiθ − e−iθ) +

a2λ2

2(eiθ − 2 + e−iθ) (11.5.2)

= 1 − iaλ sin θ − a2λ2(1 − cos θ) (11.5.3)

= 1 − 2a2λ2 sin2 θ

2− iaλ sin θ (11.5.4)

com magnitude

|g(θ)|2 = (1 − 2a2λ2 sin2 θ

2)2 + (2aλ sin

θ

2cos

θ

2)2 (11.5.5)

= 1 − 4a2λ2 sin2 θ

2

2

+ 4a4λ4 sin4 θ

2+ 4a2λ2 sin2 θ

2cos2

θ

2(11.5.6)

= 1 − 4a2λ2(1 − a2λ2) sin4 θ

2(11.5.7)

Assim, o esquema de Lax-Wendroff 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 12aλ sin θ

1 + i 12aλ sin θ(11.5.8)

e

|g(θ)|2 =1 + (1

2aλ sin θ)2

1 + (12aλ sin θ)2

= 1 (11.5.9)

O que implica que o esquema e estavel ∀λ, ou seja, incondicionalmente estavel.

Exercıcio 11.1. Mostre que o esquema MacCormack

un+1m = un

m − aλ(unm+1 − un

m) + kfnm (11.5.10)

un+1m =

1

2(un

m + un+1m − aλ(un+1

m − un+1m−1) + kfn+1

m ) (11.5.11)

possui segunda ordem de precisao para ut + aux = 0. Mostre que para f = 0, oesquema e identico ao esquema de Lax-Wendroff.

Exercıcio 11.2. Mostre que o esquema box

1

2k[(un+1

m + un+1m+1) − (un

m + unm+1)] (11.5.12)

+a

2h[(un+1

m+1 − un+1m ) + (un

m+1 − unm)] (11.5.13)

=1

4(fn+1

m+1 + fn+1m + fn

m+1 + fnm) (11.5.14)

Page 92: Metodos numéricos para equações diferenciais

Secao 11.5: Estabilidade LW e CN 88

possui ordem de precisao (2, 2) para ut + aux = f . Mostre que e estavel para todo λ.

Exercıcio 11.3. Usando o esquema box (exercıcio anterior), resolva

ut + ux = 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 solucao e de segunda ordem de precisao usando λ = 1.2, h = 110 , 1

20 ,140 e 1

80 . Compute o erro na norma L2 e L∞. Mostre que o esquema box em (10.2.60)

e de primeira ordem. Para implementar o esquema box, note que un+10 e dado pela

condicao de contorno e un+1m+1 pode ser determinado pelo esquema.

Exercıcio 11.4. Resolva numericamente a equacao

ut + ux = 0, −1 ≤ x ≤ 1, 0 ≤ t ≤ 1.2 (11.5.18)

u(0, x) = sin(2πx) (11.5.19)

u(t, 1) = u(t,−1) (11.5.20)

Use dois metodos:

a. FTBS com λ = 0.8.

b. Lax-Wendroff com λ = 0.8.

Demonstre que a solucao de a. e de primeira ordem e de b. e de segunda ordem deprecisao usando h = 1

10 , 120 , 1

40 e 180 . Compute o erro na norma L2 e L∞. (Nao some

ambos os extremos da malha).

Exercıcio 11.5. Resolva numericamente ut + ux = cos2 u com o esquema (11.2.12)tratando cos2 u como f(t, x). Mostre que o esquema e de primeira ordem. A solucaoexata e dada por

tan[u(t, x)] = tan[u0(x − t)] + t (11.5.21)

Use uma funcao suave, tal como sin(x − t), como condicao inicial e de contorno.

Exercıcio 11.6. Modifique o esquema do exercıcio anterior para ser de segunda ordeme explıcito. Existem varias maneiras de fazer isso. Pode-se usar cos2 un+1

m = cos2(unm)−

sin(2vnm)(vn+1

m − vnm) + O(k2). Outro modo e calcular explicitamente ft na derivacao

do esquema de Lax-Wendroff e eliminar todos as derivadas em t usando a equacaodiferencial.

Exercıcio 11.7. Determine a precisao e a estabilidade do esquema abaixo para ut +utx + aux = f ,

un+1m + (1 +

ka

2)un+1

m+1 − un+1m−1

2h= (11.5.22)

unm + (1 − ka

2)un

m+1 − unm−1

2h+k

2(fn+1

m + fnm) (11.5.23)

Dica: Note que o esquema e simetrico em n+ 12 , tal como o esquema de Crank-Nicolson.

Page 93: Metodos numéricos para equações diferenciais

Secao 11.6: Condicoes de contorno 89

Exercıcio 11.8. Mostre que o esquema do exemplo 51 possui sımbolo

g(θ) =esk − coshξ

k+ 4ai

sin2(12hξ) sin(hξ)

h3(11.5.24)

e comente sobre a precisao do esquema.

11.6. Condicoes de contorno

Ao resolver um problema de valor inicial e de contorno numericamente devemos discre-tizar tambem as condicoes de contorno do problema contınuo. Muitos esquemas re-querem tambem condicoes de contorno numericas adicionais, para determinar a solucaounicamente.

Considere o esquema de Lax-Wendroff e o PVIC ut + aux = 0, 0 ≤ x ≤ 1. Talesquema pode ser aplicado somente nos ponto interiores e nao nos pontos do contorno,pois, por exemplo, para calcular un+1

m em xm sao necessarios os valores de u em xm−1

e xm+1 (que nao estao disponıveis ora num extremo, ora no outro). Veja o estencil doesquema abaixo.

un+1m

n+ 1 |

n − −−− −− −− un

m−1 unm un

m+1

Assumindo a > 0, a onda esta viajando para a direita, assim un0 deve dado de

acordo com PVIC. Entretanto em xM , o ultimo ponto da malha a direita, devemoscalcular de outro modo un

M , pois usando o esquema necessitarıamos de u em xM+1 quenao esta disponıvel. Nesse caso uma condicao de contorno numerica adicional deve serfornecida.

Uma possibilidade e extrapolar o valor no contorno de acordo com o valor nointerior. Por exemplo cada uma das condicoes de contorno numericas seguintes:

un+1M = un+1

M−1 (11.6.1)

un+1M = 2un+1

M−1 − un+1M−2 (11.6.2)

un+1M = un

M−1 (11.6.3)

un+1M = 2un

M−1 − un−1M−2 (11.6.4)

As duas primeiras formulas sao extrapolacoes da solucao nos pontos interiorespara o contorno. As duas ultimas sao chamadas extrapolacoes quasi-caracterısticas,pois a extrapolacao e feita atraves de pontos proximos as caracterısticas.

Condicoes de contorno numericas geralmente tomam a forma de formulas dediferencas laterais. Poderıamos ter

un+1M = un

M − aλ(unM − un

M−1) (11.6.5)

Entretanto esta formula pode ser obtida aplicando o esquema de Lax-Wendroff paraun+1

M e utilizar

un+1M+1 = 2un+1

M − un+1M−1 (11.6.6)

Page 94: Metodos numéricos para equações diferenciais

Secao 11.7: Sistemas Tridiagonais 90

Este exemplo ilustra o uso de pontos extras ou pontos fantasmas ou pontos fictıciosfora do domınio para auxiliar na determinacao de valores nos contornos.

Dificuldades extras aparecem com condicoes de contorno numericas, pois certascondicoes de contorno podem causar instabilidades quando utilizadas com determi-nados esquemas. Por exemplo, (11.6.1) e (11.6.2) juntas com o esquema leapfrogsao 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 condicao de contorno numerica adicional podese tornar algebricamente longa. Na pratica, em caso de suspeita de tal instabilidade, emais facil implementar outra condicao de contorno.

Exercıcio 11.9. Resolva numericamente ut + ux = 0, 0 ≤ x ≤ 1 com o esquemaleapfrog e as seguintes condicoes de contorno. Somente d. deveria funcionar. Por que?

a. Em x = 0, u especificado; em x = 1 use (11.6.2).

b. Em x = 0, u especificado; em x = 1, u = 0.

c. Em x = 0, (11.6.2); em x = 1 use (11.6.3).

d. Em x = 0, u especificado; em x = 1 use (11.6.3).

11.7. Sistemas Tridiagonais

Para usar esquemas como o Crank-Nicolson (e outros esquemas implıcitos) devemosresolver um sistema tridiagonal de equacoes. Podemos usar o algoritmo de Thomasabaixo para isso. Como o sistema e tridiagonal, podemos fornecer apenas tres vetorescom os coeficientes ai, bi e ci do sistema tridiagonal

b1x1 + c1x2 = d1 (11.7.1)

aixi−1 + bixi + cixi+1 = di, 2 ≤ i ≤ N − 1 (11.7.2)

bNxN−1 + cNxN = dN (11.7.3)

Veja o algoritmo de Thomas, que resolve um sistema tridiagonal, incluindo asequacoes para os contornos por eliminacao 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

Page 95: Metodos numéricos para equações diferenciais

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 primeiralinha e reservada para a condicao de contorno em x1 e a ultima linha para xN .

Para o algoritmo de Thomas ser bem condicionado, e suficiente que a matrizobtida seja diagonal dominante (|ai| + |ci| ≤ |bi|).

Para o caso periodico, e necessario uma extensao desse algoritmo que e obtidoatraves de um caso especial da formula de Sherman-Morrison.Exercıcio 11.10. Resolva numericamente a equacao

ut + ux = 0, −1 ≤ x ≤ 1, 0 ≤ t ≤ 1.2 (11.7.4)

u(0, x) =

1 − |x|, |x| ≤ 10, c.c.

(11.7.5)

u(t,−1) = 0 (11.7.6)

Use o metodo de Cranck-Nicolson. Utilize h = 110 , 1

20 , 140 e 1

80 . Compute o erro nanorma L2 e L∞.

Aula 21, 22 .

Estabilidade para Passo Multiplo.

Strikwerda: Cap. 4

Capıtulo 12:

Estabilidade para esquemas de passo multiplo

12.1. Estabilidade do esquema leapfrog

Considere a equacao ut + aux = 0 e o esquema Leapfrog

vn+1i − vn−1

i

2k+ a

vni+1 − vn

i−1

2h= 0 (12.1.1)

Aplicando a transformada inversa de Fourier obtemos∫ π/h

−π/h

eimhξ(vn+1(ξ) + 2iaλ sin(hξ)vn(ξ) − vn−1(ξ)) dξ = 0 (12.1.2)

Page 96: Metodos numéricos para equações diferenciais

Secao 12.1: Estabilidade do esquema leapfrog 92

o que implica que

vn+1(ξ) + 2iaλ sin(hξ)vn(ξ) − vn−1(ξ) = 0 (12.1.3)

Para resolver essa equacao de recorrencia, tomamos1 vn = gn. Assim obtemos

g2 + 2iaλ sin(hξ)g − 1 = 0 (12.1.4)

que possui raızes

g1,2(hξ) = −iaλ sin(hξ)±√

1 − a2λ2 sin2(hξ) (12.1.5)

de onde temos dois casos:

• Quando as raızes sao diferentes, a solucao e

vn(ξ) = C1(ξ)gn1 (hξ) + C2(ξ)g

n2 (hξ) (12.1.6)

Usando a definicao 9.6.2 (com J = 1), para estabilidade devemos ter

‖vn‖h ≤ CT (‖v0‖2h + ‖v1‖2

h) (12.1.7)

o que implica que (teorema 10.2.1)

|g1(hξ)| ≤ 1 +Kk e |g2(hξ)| ≤ 1 +Kk (12.1.8)

deve ser satisfeita. Tomando λ constante podemos usar a condicao de estabilidade

|g1(hξ)| ≤ 1 e |g2(hξ)| ≤ 1 (12.1.9)

De (12.1.5), tomando |aλ| ≤ 1 obtemos

|g1|2 = |g2|2 (12.1.10)

= (aλ sin(hξ))2 + (1 − (aλ)2 sin2(hξ)) (12.1.11)

= 1 (12.1.12)

Se |aλ| > 1 o esquema e instavel, pois para hξ = π/2 temos

|g2| = |aλ| +√

(aλ)2 − 1 > 1 (12.1.13)

• Quando as raızes sao iguais a solucao e

vn(ξ) = C1(ξ)gn(hξ) + C2(ξ)ng

n(hξ) (12.1.14)

Isto acontece somente se |aλ sin θ| = 1. Pela analise anterior temos que |aλ| ≤ 1para ser estavel. Assim, somente quando |aλ| = 1 e θ = ±π/2 temos queg1 = g2 = ±i.Nesse caso a solucao e

vn(ξ) = C1(±π

2h)(±i)n + C2(±

π

2h)n(±i)n (12.1.15)

que em geral2 cresce linearmente com n, tornando o sistema instavel para |aλ| = 1e θ = ±π/2.

1Em vn, n representa um ındice e em gn, n representa a potencia.2quando as condicoes iniciais tornam C2 = 0 a solucao nao cresce

Page 97: Metodos numéricos para equações diferenciais

Secao 12.1: Estabilidade do esquema leapfrog 93

Assim a condicao de estabilidade necessaria e suficiente para o esquema leapfroge

|aλ| < 1. (12.1.16)

12.1.1. Inicializando o esquema leapfrog

Para os passos iniciais de um esquema de passo multiplo podemos utilizar qualqueroutro metodo de passo simples. Ate mesmo um esquema instavel, desde que sejaconsistente. O pequeno crescimento na solucao sera mantido sem ser amplificado devidoa estabilidade do esquema leapfrog ou outro esquema de passo multiplo.

Se λ e constante o esquema de inicializacao pode ser uma ordem de precisaoa 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 naoafeta a estabilidade ou a precisao do esquema leapfrog.

Vamos examinar novamente a solucao anterior, que depende de g1 e g2. Assumaque utilizamos o esquema FTCS para obter v1 como

v1(ξ) = (1 − iaλ sin(hξ))v0(ξ) (12.1.17)

Utilizando as condicoes iniciais em (12.1.6) obtemos

v0(ξ) = C1 + C2 (12.1.18)

v1(ξ) = C1g1(hξ) + C2g2(hξ) (12.1.19)

e resolvendo o sistema obtemos as constantes

C1 = −g2v0 − v1

g1 − g2(12.1.20)

C2 =g1v

0 − v1

g1 − g2(12.1.21)

e usando a condicao inicial

C1 = −g2v0 − (1 − iaλ sin(hξ))v0

g1 − g2(12.1.22)

C2 =g1v

0 − (1 − iaλ sin(hξ))v0

g1 − g2(12.1.23)

C1 = −g2 − 1 + iaλ sin θ

g1 − g2v0 (12.1.24)

C2 =g1 − 1 + iaλ sin θ

g1 − g2v0 (12.1.25)

C1,2 = ∓−1 −∓√

1 − a2λ2 sin2 θ

g1 − g2v0 (12.1.26)

C1,2 =±1 +

1 − a2λ2 sin2 θ

g1 − g2v0 (12.1.27)

Page 98: Metodos numéricos para equações diferenciais

Secao 12.1: Estabilidade do esquema leapfrog 94

e como

g1 − g2 = 2√

1 − a2λ2 sin2 θ (12.1.28)

obtemos

C1,2 =±1 +

1 − a2λ2 sin2 θ

2√

1 − a2λ2 sin2 θv0 (12.1.29)

Expandindo a raiz em serie de Taylor√

1 − a2λ2 sin2 θ = 1 − 1

2a2λ2θ2 +

(

a2λ2

6− a4λ4

8

)

θ4 + O(θ6) (12.1.30)

= 1 − 1

2a2λ2θ2 + O(θ4) (12.1.31)

obtemos a magnitude das constantes C1 e C2 como

C1,2 =±1 + (1 − 1

2a2λ2θ2 + O(θ4))

2 + O(θ2)v0 (12.1.32)

C1,2 =±1 + 1 + O(θ2)

2 + O(θ2)v0 (12.1.33)

C1 = O(θ0)v0 (12.1.34)

C2 = O(θ2)v0 (12.1.35)

Esta ultima formula nos mostra que para |hξ| pequeno, teremos C2 tambempequeno e a solucao se comporta como a de um metodo de passo simples com fator deamplificacao g1.

A parte da solucao associada com g2 e chamada modo parasita. Com ξ = 0,temos g2 = −1 implicando que o modo parasita oscila rapidamente (alem disso ele viajana direcao oposta da onda, Cap.5 [11]).

Exemplo 57.Considere a solucao do problema

ut + aux = 0, −1 ≤ x ≤ 1 (12.1.36)

u(0, x) =

cos2(πxm), |x| ≤ 12

0, c.c.(12.1.37)

com a = 1, λ = 0.9. Utilize FTCS para calcular u1m. Fixe un = 0 em ambos

os contornos, note que a direita e inconsistente com a EDP. Essa inconsistencia seraaumentada pelo modo parasita.

Plotando o grafico para t = 0.45 temos que a solucao esta se movendo paraa direita e para t = 1.80 esta se movendo para a esquerda. A condicao de contornoinconsistente gera um modo parasita oscilatorio e se movendo na direcao errada. Emt = 3.6 o modo parasita foi convertido para o pulso original pela condicao de contornoa esquerda.

Em qualquer calculo com metodos de passo multiplo, existirao modos parasi-tas. Em muitos casos eles devem ser eliminados ou reduzidos. Podemos reduzir elesutilizando dissipacao.

Page 99: Metodos numéricos para equações diferenciais

Secao 12.1: Estabilidade do esquema leapfrog 95

Exemplo 58.Considere o esquema leapfrog de ordem (2, 4)

vn+1i − vn−1

i

2k+ a

−vni+2 + 8vn

i+1 − 8vni−1 + vn

i−2

12h= 0 (12.1.38)

onde a equacao para o fator de amplificacao e

g2 + 2giaλ(1 +2

3sin2 θ

2) sin θ − 1 = 0 (12.1.39)

g2 + 2giaλ(4 − cos θ

3) sin θ − 1 = 0 (12.1.40)

que possui fatores de amplificacao

g1,2 = −iaλ4 − cos θ

3sin θ±

1 − a2λ2(4 − cos θ

3)2 sin2 θ (12.1.41)

A condicao para estabilidade (e raızes diferentes) e

4 − cos θ

3|aλ|| sin θ| < 1 (12.1.42)

para ∀θ. O extremo dessa funcao ocorre quando

d

dθ[(4 − cos θ) sin θ] = 1 + 4 cos θ − 2 cos2 θ = 0 (12.1.43)

ou seja, quando

cos θ = 1 −√

3

2(12.1.44)

Substituindo em (12.1.42) obtemos que a condicao necessaria e suficiente para estabi-lidade e

|aλ| <(

1 +1√6

)−1(√6 − 3

2

)− 12

. (12.1.45)

12.1.2. Notacao de Diferencas

δ+vm =vm+1 − vm

h(12.1.46)

δ−vm =vm − vm−1

h(12.1.47)

δ0vm =vm+1 − vm−1

2h(12.1.48)

Page 100: Metodos numéricos para equações diferenciais

Secao 12.2: Estabilidade para esquemas de passo multiplo 96

δ2vm =vm+1 − 2vm + vm−1

h2(12.1.49)

Note que δ0 = (δ+δ−)/2 e δ2 = (δ+ − δ−)/h.Exercıcio 12.1. Mostre que o esquema leapfrog (2, 2) para ut +auxxx = f dado por

vn+1m − vn−1

m

2k+ aδ2δ0v

nm = fn

m (12.1.50)

com ν = k/h3 constante e estavel se e somente se

|aν| < 2

33/2(12.1.51)

12.2. Estabilidade para esquemas de passo multiplo

A estabilidade do esquema de passo multiplo

Pk,hv = Rk,hf (12.2.1)

e determinada pelas raızes do polinomio de amplificacao Φ(g, θ) dado por

Φ(g, θ) = kpk,h

(

ln g

k,θ

h

)

(12.2.2)

ou equivalentemente,

Φ(esk, hξ) = kpk,h(s, ξ) (12.2.3)

Podemos obter Φ assumindo que

vnm = gneimθ (12.2.4)

e solucao de (12.2.1) com f = 0.

Exemplo 59.Considere o esquema de passo multiplo para ut + aux = 0 dado por

3vn+1m − 4vn

m + vn−1m

2k+ a

vn+1m+1 − vn+1

m−1

2h= fn+1

m (12.2.5)

O polinomio para o fator de amplificacao e

Φ(g, θ) = k

(

3g2 − 4g + 1

2k+

2ia sin θ

2h

)

(12.2.6)

Φ(g, θ) =1

2(3 + 2iaλ sin θ)g2 − 2g +

1

2(12.2.7)

A estabilidade desse metodo depende das raızes desse polinomio (esse esquema possuiordem de precisao (2, 2) e e incondicionalmente estavel).

Page 101: Metodos numéricos para equações diferenciais

Secao 12.2: Estabilidade para esquemas de passo multiplo 97

Para um metodo de passo simples, Φ(g, θ) e um polinomio de grau 1 e possuisolucao geral dada por (10.2.10). Para um metodo de passo multiplo, Φ e um polinomiode grau J , e se as raızes sao distintas a solucao geral3 e

vn(ξ) =J∑

ν=1

Cν(ξ)gν(hξ)n (12.2.8)

A condicao 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 raızes sejam multiplas, por exemplo, gj possui multiplicidade mj = 3, a solucaogeral possui um termo da forma

Cj0(ξ)gj(hξ)n + Cj1(ξ)ngj(hξ)

n + Cj2(ξ)n2gj(hξ)

n (12.2.11)

Se |gj | < 1 entao a quantidade e limitada.

Teorema 12.2.1. Se o polinomio de amplificacao Φ(g, θ) e independente de k e h,entao o esquema de diferencas finitas e estavel se e somente se todas as raızes gν

de Φ satisfazem

a. |gν(θ)| ≤ 1 e

b. se gν(θ) = 1, entao gν(θ) deve ser uma raiz simples.

Exercıcio 12.2. Mostre que o metodo de segunda ordem para ut + aux = 0 dadopor

7vn+1m − 8vn

m + vn−1m

6k+ aδ0

(

2vn+1m+1 + vn+1

m−1

2h

)

= fn+2/3m (12.2.12)

possui polinomio de amplificacao

Φ(g) = (7 + 4iβ)g2 − (8 − 2iβ)g + 1 (12.2.13)

onde β = aλ sin θ. Calcule as raızes g1(θ, aλ) e g2(θ, aλ) e plote a regiao de estabilidade(eixos coordenados θ e aλ).

Exercıcio 12.3. Um certo esquema com ordem de precisao (3, 4) possui polinomiode amplificacao

Φ = (23 − 12α+ 12iβ)g3 − (21 − 12α− 12iβ)g2 − 3g + 1 (12.2.14)

α =a2λ2 sin2(θ/2)

1 − 23 sin2(θ/2)

(12.2.15)

β =aλ sin(θ)

1 − 23 sin2(θ/2)

(12.2.16)

3Os coeficientes Cν(ξ) sao determinados pelos dados iniciais nos nıveis n = 0 a J − 1 e podem

ser limitados por C∑J−1

0|vj |.

Page 102: Metodos numéricos para equações diferenciais

98

Calcule as raızes desse polinomio. Plote a regiao de estabilidade. Verifique numerica-mente que o esquema e estavel se e somente se

|aλ| ≤√

5

3(12.2.17)

Aula 23, 24 .

Equacoes Diferenciais Parciais Parabolicas.

Strikwerda: Cap. 6

Capıtulo 13:

Equacoes Diferenciais Parciais Parabolicas

13.1. Equacao do calor

Considere a equacao do calor (ou equacao de difusao)

ut = buxx (13.1.1)

u(t = 0, x) = u0(x) (13.1.2)

como exemplo mais simples de EDP parabolica, onde b > 0.Aplicando a transformada de Fourier obtemos

ut = −bω2u (13.1.3)

que possui solucao

u(t, ω) = e−bω2tu0(ω) (13.1.4)

e aplicando a transformada inversa obtemos a solucao

u(t, x) =1√2π

∫ ∞

−∞

eiωxe−bω2tu0(ω) dω (13.1.5)

A solucao mostra que u(t, x) e obtida pelo amortecimento dos modos de alta frequenciade u0.

Utilizando a condicao inicial

u0 =1√2π

∫ ∞

−∞

e−iωyu0(y) dy (13.1.6)

na solucao obtemos

u(t, x) =1√2π

∫ ∞

−∞

eiωxe−bω2t 1√2π

∫ ∞

−∞

e−iωyu0(y) dy dω (13.1.7)

=1√4π

∫ ∞

−∞

1√π

∫ ∞

−∞

eiωxe−bω2te−iωydω u0(y)dy (13.1.8)

Page 103: Metodos numéricos para equações diferenciais

Secao 13.2: Sistemas parabolicos 99

onde calculando a integral interna,

obtemos a solucao geral

u(t, x) =1√4πbt

∫ ∞

−∞

e−(x−y)2/4bt u0(y)dy (13.1.9)

Note os seguintes fatos sobre a solucao:

• Podemos interpretar u(t, x) como uma media ponderada de u0;

• A solucao e infinitamente diferenciavel;

• Se u0 ≥ 0 entao u(t, x) ≥ 0, ∀t.•

‖u(t, ·)‖∞ ≤ ‖u(t∗, ·)‖∞, t > t∗. (13.1.10)

13.2. Sistemas parabolicos

Considere u ∈ Rp. O sistema de equacoes diferenciais

ut = Buxx + Aux + 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 restricao e feita em A e B).

Teorema 13.2.1. O PVI (13.2.1) e bem-posto no sentido da definicao 9.6.3. Tambem,para cada T > 0, ∃CT tal que

∫ ∞

−∞

|u(t, x)|2dx+

∫ t

0

∫ ∞

−∞

|ux(s, x)|2dx ds (13.2.2)

≤CT

(∫ ∞

−∞

|u(0, x)|2dx+

∫ t

0

∫ ∞

−∞

|F (s, x)|2dx ds)

(13.2.3)

para 0 ≤ t ≤ T .

Note que a estimativa acima e mais forte que a da definicao pois fornece um cotasuperior para a ux. Um sistema parabolico com p equacoes definido em x = [x0, xM ]requer p condicoes de contorno em cada extremo.

Exercıcio 13.1. Prove a estimativa (13.2.2) para o caso escalar (13.1.1) pelo metododa energia, i.e., multiplique (13.1.1) por u(t, x) e use integracao por partes em t e x.

13.3. Diferencas finitas

Considere o esquema FTCS para a equacao de difusao

FTCS

vn+1m − vn

m

k= b

vnm+1 − 2vn

m + vnm−1

h2(13.3.1)

Page 104: Metodos numéricos para equações diferenciais

Secao 13.3: Diferencas finitas 100

ou

vn+1m = (1 − 2bµ)vn

m + bµ(vnm+1 + vn

m−1) (13.3.2)

onde µ = k/h2. O esquema e claramente de 1.a ordem no tempo e 2.a ordem noespaco. A analise da estabilidade e feita da mesma forma que anteriormente, ou seja,substituımos vn

m por gneimθ. O fator de amplificacao satisfaz

g − 1

k= b

eiθ − 2 + e−iθ

h2(13.3.3)

g = 1 +bk

h2(eiθ + e−iθ − 2) (13.3.4)

g = 1 − 4bµ sin2(θ

2) (13.3.5)

Como g e real, a condicao de estabilidade |g| < 1 e equivalente a

4bµ sin2(θ

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 solucao, uma propriedadedesejada para esquemas parabolicos, ja que a solucao numerica se tornara mais suavecom o tempo, semelhante a EDP.

A condicao de estabilidade implica que k < h2/(2b), o que pode tornar-se muitosevero a medida que h diminui.

13.3.1. Mais alguns esquemas

Backward-Time Central-Space (BTCS)

vn+1m − vn

m

k= b

vn+1m+1 − 2vn+1

m + vn+1m−1

h2+ fn

m

(13.3.8)

Este esquema e implıcito e incondicionalmente estavel. Possui ordem (1, 2) e e dissipa-tivo quando µ > δ > 0.

Crank-Nicolson

vn+1m − vn

m

k=b

2

vn+1m+1 − 2vn+1

m + vn+1m−1

h2

+b

2

vnm+1 − 2vn

m + vnm−1

h2+fn+1

m + fnm

2(13.3.9)

Page 105: Metodos numéricos para equações diferenciais

Secao 13.3: Diferencas finitas 101

Este esquema e implıcito, incondicionalmente estavel e de segunda ordem, i.e., ordemde precisao (2, 2). E dissipativo de ordem 2 se µ e constante, mas nao dissipativo se λe constante.

Leapfrog

vn+1m − vn−1

m

2k= b

vnm+1 − 2vn

m + vnm−1

h2+ fn

m

(13.3.10)

Este esquema e instavel ∀µ.

Esquema Du Fort-Frankel

vn+1m − vn−1

m

2k= b

vnm+1 − (vn+1

m + vn−1m ) + vn

m−1

h2+ fn

m

(13.3.11)

Pode ser visto como uma modificacao do esquema leapfrog. O esquema e explıcito,incondicionalmente estavel e possui ordem O(h2) + O(k2) + O(k−2h2). O esquema enao-dissipativo, o que limita sua utilidade. Pode ser reescrito como

(1 + 2bµ)vn+1m = 2b(vn

m+1 + vnm−1) + (1 − 2bµ)vn−1

m (13.3.12)

O polinomio de amplificacao e

(1 + 2bµ)g2 − 4bµ cos θg − (1 − 2bµ) = 0 (13.3.13)

que possui solucao

g1,2 =2bµ cos θ±

1 − 4b2µ2 sin2 θ

1 + 2bµ(13.3.14)

Se 1 − 4b2µ2 sin2 θ ≥ 0, entao

|g1,2| ≤2bµ| cos θ| +

1 − 4b2µ2 sin2 θ

1 + 2bµ(13.3.15)

≤ 2bµ+ 1

1 + 2bµ= 1 (13.3.16)

e se 1 − 4b2µ2 sin2 θ < 0, entao

|g1,2|2 =(2bµ cos θ)2 + 4b2µ2 sin2 θ − 1

(1 + 2bµ)2(13.3.17)

=4b2µ2 − 1

4b2µ2 + 4bµ+ 1< 1 (13.3.18)

Assim, ∀µ, θ temos |g1,2| < 1. Alem disso quando g1 = g2 ambos sao menores que 1implicando estabilidade.

Entretanto o esquema Du Fort-Frankel e consistente somente se k/h tende azero com k e h.

Page 106: Metodos numéricos para equações diferenciais

Secao 13.4: Dissipacao e suavidade 102

Teorema 13.3.1. Um esquema de diferencas finitas consistente para o sistemaparabolico (13.2.1) e convergente somente se k/h tende a zero quando k → 0 eh→ 0.

13.4. Dissipacao e suavidade

Teorema 13.4.1. Um esquema de passo simples consistente com (13.1.1) dissipa-tivo de ordem 2 com µ constante satisfaz

‖vn+1‖2h + ck

n∑

ν=1

‖δ+vν‖2h ≤ ‖v0‖2

h (13.4.1)

para ∀v0 e n ≥ 0.

Podemos usar o teorema para mostrar que solucoes se tornam mais suaves como tempo, i.e., a norma das derivadas de alta ordem sao limitadas e tendem a zero numataxa 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 solucao do esquema, temos

‖δ+vν+1‖h ≤ ‖δ+vν‖h (13.4.3)

portanto do teorema,

‖vn+1‖2h + ct‖δ+vn‖2

h ≤ ‖v0‖2h (13.4.4)

o que mostra que para nk = t > 0 que ‖δ+vn‖2h e limitado. De fato, temos

‖δ+vn‖2h ≤ Ct−1‖v0‖2

h (13.4.5)

o que mostra que ‖δ+vn‖2h → 0 quando t aumenta.

Como δ+vn satisfaz a equacao a diferencas, temos que nk = t > 0 e ∀r inteiro

que ‖δr+v

n‖2h e limitado. Assim a solucao do esquema de diferencas, se torna mais

suave quando t aumenta.

13.5. Condicao de contorno

As EDP’s parabolicas requerem uma condicao de contorno em cada ponto do contorno.Condicoes de Dirichlet sao facilmente implementadas especificando a solucao nos pontosdos contorno.

Para condicao de contorno de Neumann existem mais opcoes. Podemos utilizar

ux(tn, x0) ≈vn1 − vn

0

h(13.5.1)

que e uma aproximacao de primeira ordem. Se utilizarmos o esquema de Crank-Nicolsonou FTCS, estaremos baixando a ordem de precisao do metodo. Uma aproximacao desegunda ordem unilateral e dada por

ux(tn, x0) ≈−3vn

0 + 4vn1 − vn

2

2h(13.5.2)

o que mantera a precisao de segunda ordem.

Page 107: Metodos numéricos para equações diferenciais

Secao 13.5: Condicao de contorno 103

Podemos tambem utilizar a aproximacao de segunda ordem

ux(tn, x0) ≈vn1 − vn

−1

2h. (13.5.3)

Para isso precisamos aplicar tambem o esquema em x0 para eliminar o valor vn−1. Assim

o metodo continuara de segunda ordem.Exercıcio 13.2. Justifique a estabilidade e ordem de precisao do esquema BTCS,Crank-Nicolson e leapfrog.

Exercıcio 13.3. Mostre que o esquema para (13.1.1) da forma

vn+1m = αvn

m +1 − α

2(vn

m+1 + vnm−1), (13.5.4)

com α constante quando k, h → 0, e consistente com a equacao do calor somente seα = 1 − 2bµ.

Exercıcio 13.4. Considere os dois esquemas para (13.1.1)

Esquema A:

vn+1/2m = vn

m +1

2kbδ2vn

m (13.5.5)

vn+1m = vn

m + kbδ2vn+1/2m (13.5.6)

Esquema B:

vn+1m = vn

m + kbδ2vnm (13.5.7)

vn+1m = vn

m +1

2k(δ2vn+1

m + δ2vnm) (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µ ≤ 12 e mostre que 1

2 ≤ g ≤ 1.

d. Discuta as vantagens e desvantagens do esquema comparados ao esquema FTCS.

Exercıcio 13.5. Resolva numericamente

ut = uxx (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. Faca k = 0.005h e utilizeh = 0.1, 0.05, 0.025, . . .. Comente os resultados.

Page 108: Metodos numéricos para equações diferenciais

Secao 13.6: Equacao de conveccao-difusao 104

Exercıcio 13.6. Resolva numericamente

ut = buxx + 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 solucoes 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 solucoes para f = 0, f = 1, f =

1, x > 1/20, c.c.

. Utilize u(t, 0) =

0, u(t, 1) = 0, b = 1;

c. Compare as solucoes para u(t, 1) = 0, u(t, 1) = 1, ux(t, 1) = 0, ux(t, 1) = 1.Utilize u(t, 0) = 0, f(x, t) = 1, b = 1;

d. Compare as solucoes para ux(t, 1) = 0 utilizando uma aproximacao de 1.a ordeme 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 (justifique sua escolha atraves dos graficos obtidos e/ou da teoria).

Exercıcio 13.7. Resolva o PVIC (13.1.1) em x ∈ [−1, 1] com dado inicial

u0(x) =

1, |x| < 12

12 , |x| = 1

20, |x| > 1

2

(13.5.15)

Resolva ate t = 12 . A condicao de contorno e a solucao exata e dada por

u(t, x) =1

2+

∞∑

l=0

(−1)l cosπ(2l + 1)x

π(2l + 1)e−π2(2l+1)2t (13.5.16)

Use o esquema de Crank-Nicolson com h = 1/10, 1/20, 1/40. Compare a precisaoquando λ = 1 e µ = 10. Demonstre pelas simulacoes que quando λ e constante, o errona solucao nao decresce em ‖·‖∞, mas decresce em ‖·‖2.

13.6. Equacao de conveccao-difusao

A equacao de conveccao-difusao

ut + aux = buxx (13.6.1)

possui similaridades com equacoes parabolicas e hiperbolicas. Fazendo y = x − at ew(t, y) = u(t, y + at) obtemos

wt = ut + aux = buxx (13.6.2)

e

wy = ux, wyy = uxx (13.6.3)

levando a

wt = bwyy (13.6.4)

Como u(t, x) = w(t, x−at), vemos que a solucao (13.6.1) e a mesma que a de (13.6.4),porem movendo-se com velocidade a.

Page 109: Metodos numéricos para equações diferenciais

Secao 13.6: Equacao de conveccao-difusao 105

13.6.1. Esquema FTCS

Considere o esquema FTCS (assuma a > 0)

vn+1m − vn

m

k+ a

vnm+1 − vn

m−1

2h= b

vnm+1 − 2vn

m + vnm−1

h2(13.6.5)

com ordem O(k, h2). Este sera de ordem 2 (no tempo e espaco O(k2, h2)) se a condicaode estabilidade

bµ ≤ 1

2(13.6.6)

for satisfeita. Isolando vn+1m obtemos

vn+1m = (1 − 2bµ)vn

m + bµ(1 − α)vnm+1 + bµ(1 + α)vn

m−1 (13.6.7)

onde

µ =k

h2, α =

ha

2b=

2bµ> 0. (13.6.8)

Queremos obter a condicao para que o maximo de |vn+1m | nao aumente com o

tempo, pois a solucao 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

|vn+1m | = |(1 − 2bµ)vn

m + bµ(1 − α)vnm+1 + bµ(1 + α)vn

m−1|≤ (1 − 2bµ)|vn

m| + bµ(1 − α)|vnm+1| + bµ(1 + α)|vn

m−1|≤ (1 − 2bµ)|vn

m| + bµ(1 − α)|vnm+1| + bµ(1 + α)|vn

m−1|≤ (1 − 2bµ)max

m|vn

m| + bµ(1 − α)maxm

|vnm+1| + bµ(1 + α)max

m|vn

m−1|

≤ [1 − 2bµ+ bµ(1 − α) + bµ(1 + α)] maxm

|vnm|

|vn+1m | ≤ max

m|vn

m|

e assim

maxm

|vn+1m | ≤ max

m|vn

m| (13.6.10)

se e somente se |α| ≤ 1 e bµ ≤ 12 (a condicao de estabilidade).

Ou seja,

|α| = |ha2b

| ≤ 1 ⇒ h ≤ 2b

a(13.6.11)

que e uma restricao ao espacamento da malha. A quantidade a/b corresponde aonumero de Reynolds em fluidos 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 restricao seja violada, aparecerao oscilacoes na solucao que nao sao devidas ainstabilidades1.

1pois estas nao crescem com o tempo.

Page 110: Metodos numéricos para equações diferenciais

Secao 13.6: Equacao de conveccao-difusao 106

13.6.2. Esquema upwind

Considere o esquema upwind (assuma a > 0)

vn+1m − vn

m

k+ a

vnm − vn

m−1

h= b

vnm+1 − 2vn

m + vnm−1

h2(13.6.12)

ou isolando vn+1m ,

vn+1m = (1 − 2bµ(1 + α))vn

m + bµvnm+1 + bµ(1 + 2α)vn

m−1 (13.6.13)

Se 1 − 2bµ(1 + α) ≥ 0 entao o esquema satisfaz (13.6.10). As oscilacoes forameliminadas, porem o metodo e de O(h). A restricao 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

vn+1m − vn

m

k+ a

vnm+1 − vn

m−1

2h= b(1 +

ah

2b)vn

m+1 − 2vnm + vn

m−1

h2(13.6.14)

que e equivalente a adicionar uma viscosidade artificial bah2b vxx ao problema tornando

a solucao nao oscilatoria.

Exemplo 60.Considere ut + aux = buxx com b = 0.1, a = 10, h = 0.04 tal que α = 2. O esquemaFTCS apresenta oscilacoes. Utilizando o esquema upwind temos b(1 + α) = 0.3 (umadiferenca de 200%). A solucao e bem aproximada? E se trocarmos para b = 0 (somente100% de diferenca)? Se α > 1, nenhum dara uma boa solucao. Teremos uma boasolucao qualitativa ou quantitativa, mas nao ambas. Como melhorar isso? Diminuindoo h ou trocando de metodo.

• Sistemas fısicos reais envolvem equacoes do tipo conveccao-difusao, porem maiscomplexas (sistemas de equacoes, coeficientes variaveis).

• Existe uma limitacao no espacamento.

• Se h e muito pequeno e a solucao nao e precisa, podemos trocar de metodo.

• A malha pode ser refinada onde a solucao possui maior variacao.

Exercıcio 13.8. Mostre que o esquema (13.6.5) satisfaz |g| ≤ 1 se e somente sek ≤ 2b/a2. Compare essa condicao em relacao a (13.6.11).

Exercıcio 13.9. Considere a equacao nao linear

ut +1

2(u2)x = buxx (13.6.15)

em x ∈ [−1, 1]. Esta equacao possui solucao

u(t, x) = a− c tanh[c

2b(x− at)] (13.6.16)

Considere a > 0 e c > 0. Baseado no texto, haverao limitacoes em

hc

2bou

ha

2b(13.6.17)

Page 111: Metodos numéricos para equações diferenciais

107

para uma solucao qualitativamente correta. Usando qualquer esquema, investigue estaequacao e as limitacoes acima. Justifique suas conclusoes com algumas simulacoesbem-escolhidas. Fixe a, b e varie b. Ou fixe a, b e varie c. Ou fixe a, b, c e varie h.

Dica: A solucao 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, eo media de u e a. Note que a magnitude maxima da derivada da solucao dividida pelavariacao total em u e c/4b.

Aula 25, 26 .

Sistemas de EDPs.

Strikwerda: Cap. 7

Capıtulo 14:

Sistemas Bidimensionais e Tridimensionais

14.1. Estabilidade para sistemas de EDPs

Seja u ∈ Rd. Se A ∈ Rd×d e diagonalizavel com autovalores reais entao

ut +Aux = 0 (14.1.1)

e um sistema hiperbolico.Se B ∈ Rd×d com autovalores com parte real positiva entao

ut = Buxx (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 diferenca principal esta na condicao de estabilidade.

Ao inves de um fator de amplificacao g, encontraremos uma matriz de ampli-ficacao G, que e obtida substituindo vn

m por Gneimθ. A condicao para estabilidade eque para T > 0, ∃CT constante tal que, para 0 ≤ nk ≤ T , temos

‖Gn‖ ≤ CT (14.1.3)

No caso hiperbolico, se G e um polinomio ou uma funcao racional de A, entao a mesmamatriz que diagonaliza A tambem diagonaliza G. Assim a estabilidade do esquemadepende somente na estabilidade das equacoes escalares

wt + ai(wx) = 0 (14.1.4)

onde ai e um autovalor de A. Para o esquema Lax-Wendroff, a condicao de estabilidadee |aiλ| ≤ 1, i = 1, . . . , d.

Page 112: Metodos numéricos para equações diferenciais

Secao 14.2: Esquemas de passo multiplo 108

Para sistemas parabolicos, usando decomposicao de Schur1, a mesma matriz quetransforma B numa matriz triangular superior faz o mesmo para G. Para cada caso, seG = UTU−1, entao Gn = UT nU−1 e assim

‖Gn‖ ≤ ‖U‖‖U−1‖‖T n‖ (14.1.5)

o que implica que podemos analisar a condicao de estabilidade para T . Em geral asituacao e mais complexa. A condicao necessaria para estabilidade e

|gν | ≤ 1 +Kk (14.1.6)

para cada autovalor gν de G, mas nao e suficiente em geral.

Exemplo 61.Considere o sistema

ut = 0 (14.1.7)

vt = 0 (14.1.8)

com o esquema de 1.a ordem

un+1m = un

m − c(vnm+1 − 2vn

m + vnm−1) (14.1.9)

vn+1m = vn

m (14.1.10)

A matriz de amplificacao e

G =

(

1 4c sin2(θ/2)0 1

)

(14.1.11)

e assim

Gn =

(

1 4nc sin2(θ/2)0 1

)

(14.1.12)

Os autovalores dessa matriz sao g1 = g2 = 1 (satisfazendo |gν | ≤ 1). Entretanto paraθ = π temos ‖Gn‖ e ilimitado, concluindo que o esquema e instavel.

14.2. Esquemas de passo multiplo

Um esquema de passo multiplo que pode ser colocado na forma

un+1(ξ) = A0(ξ)un(ξ) +A1(ξ)u

n−1(ξ) + . . .+AK(ξ)un−K(ξ) (14.2.1)

onde Aν(ξ) ∈ Rd×d, pode ser escrito como um sistema

Un+1(ξ) = G(hξ)Un(ξ) (14.2.2)

onde

Un(ξ) =

un(ξ)...

un−K(ξ)

(14.2.3)

1Toda matriz M pode ser decomposta como M = UTU−1, onde U e unitaria (U−1 = UT ) e T

e triangular superior.

Page 113: Metodos numéricos para equações diferenciais

Secao 14.3: Duas e tres dimensoes 109

e G e a matriz companheira

G(hξ) =

A0 A1 · · ·AK−1 AK

I. . .

I

0

(14.2.4)

Para EDPs escalares os metodos na secao 12.2 sao mais faceis de utilizar. Parasistemas, nao ha analogo a decomposicao de Schur como visto anteriormente parametodos de passos simples, portanto a conversao para o sistema acima e desejada.Exercıcio 14.1. Analise a estabilidade do esquema leapfrog transformando-o em umsistema. Mostre que esta analise fornece a mesma conclusao como visto na secao 12.2.

Exercıcio 14.2. Mostre que o esquema de Lax-Friedrichs aplicado a(

uv

)

t

+

(

1 10 1

)(

uv

)

x

= 0 (14.2.5)

e instavel (esta equacao e um sistema fracamente hiperbolico).

14.3. Duas e tres dimensoes

14.3.1. Introducao

Vamos nos restringir a domınios retangulares. Uma metodologia similar (chamadacoordenadas generalizadas) pode-se ser usada para domınios mais complexos. A analisese torna mais complexa.

Definicao 14.3.1. Sejam h1 = ∆x e h2 = ∆y. Uma malha ou grid sera oconjunto de pontos (xi, yj) = (ih1, jh2) para 0 ≤ i ≤ M, 0 ≤ j ≤ N inteiros.Podemos tambem usar dois ındices como (xi,j , yi,j) para se referenciar a esteponto.

Denotamos

uni,j ≡ u(tn, xi,j , yi,j) (14.3.1)

o valor de u no ponto (xi,j , yi,j) no tempo tn.A derivada em x (1.a ordem pra frente) se torna

∂u

∂x(tn, xi,j , yi,j) ≈

uni+1,j − un

i,j

h1, (14.3.2)

a derivada central em y e

∂u

∂y(tn, xi,j , yi,j) ≈

uni,j+1 − un

i,j−1

2h2(14.3.3)

e a derivada temporal e

∂u

∂t(tn, xi,j , yi,j) ≈

un+1i,j − un

i,j

k(14.3.4)

Page 114: Metodos numéricos para equações diferenciais

Secao 14.3: Duas e tres dimensoes 110

Exercıcio 14.3. Resolva numericamente a equacao

ut = buxx + buyy (14.3.5)

em 0 ≤ x, y ≤ 1. Escolha condicoes de contorno e iniciais apropriadas. Para imprimirgraficos da solucao utilize o comando contour(u) (para visualizar pode-se utilizarsurf(u) ou pcolor(u))

Exercıcio 14.4. Resolva numericamente a equacao

ut = a1ux + a2uy (14.3.6)

em 0 ≤ x, y ≤ 1. Utilize condicoes de contorno periodicas e uma condicao inicialapropriada. (Dica: escolha com cuidado o esquema numerico de acordo com a1 e a2

para que seja estavel.) Para imprimir graficos da solucao utilize o comando contour(u).

14.3.2. Analise

O metodo de von Neumann pode ser estendido diretamente para o caso de duas e tresdimensoes.Exemplo 62.Considere o esquema leapfrog padrao para o sistema

ut +Aux +Buy = 0 (14.3.7)

onde A,B ∈ Rd×d. O esquema pode ser escrito como

(δ0t +Aδ0x +Bδ0y)uni,j = 0 (14.3.8)

ou

un+1i,j − un−1

i,j

2k+Aδ0xu

ni,j +Bδ0yu

ni,j = 0 (14.3.9)

ou

un+1i,j − un−1

i,j

2k+A

uni+1,j − un

i−1,j

2h1+B

uni,j+1 − un

i,j−1

2h2= 0 (14.3.10)

A transformada de Fourier de un(ξ) = un(ξ1, ξ2) satisfaz a relacao

vn+1(ξ) + 2i(λ1A sin(hξ1) + λ2B sin(hξ2))vn(ξ) − vn−1(ξ) = 0 (14.3.11)

onde λ1 = k/h1 e λ2 = k/h2. Por ser de passo multiplo, podemos reescrever como umsistema de passo simples e analisar Gn. Entretanto, para obter estimativas e necessarioassumir algumas hipoteses em A e B. A mais comum e que A e B sejam diagonalizaveissimultaneamente, ou seja, ∃P tal que PAP−1 e PBP−1 sejam matrizes diagonais.Usando w = P v obtemos

wn+1(ξ) + 2i(λ1αν sin(hξ1) + λ2βν sin(hξ2))wn(ξ) − wn−1(ξ) = 0 (14.3.12)

para ν = 1, . . . , d, onde αν e βν sao os elementos da diagonal de PAP−1 e PBP−1.O restante da analise e similar a equacao (12.1.5). Concluımos entao que o esquema eestavel se e somente se

λ1|αν | + λ2|βν | < 1 (14.3.13)

Page 115: Metodos numéricos para equações diferenciais

Secao 14.4: Time-Split 111

para ν = 1, . . . , d.

Exemplo 63.Uma modificacao no esquema anterior fornecida por Abarbanel e Gottlieb e dada por

un+1i,j − un−1

i,j

2k+Aδ0x

uni,j+1 + un

i,j−1

2+Bδ0y

uni+1,j + un

i−1,j

2= 0 (14.3.14)

Similarmente ao exemplo anterior se A e B sao simultaneamente diagonalizaveis temosque a condicao 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 condicoes suficientes sao λ1|αν | < 1 e λ2|αν | < 1 para ∀ν (estatambem e a condicao necessaria). Este metodo permite o passo de tempo k ser maiordo que no exemplo anterior.

14.4. Time-Split

O metodo de Time-Split e uma maneira de reduzir um problema multidimensional parauma sequencia de problemas unidimensionais (Yanenko). Considere a equacao

ut + P1u+ P2u = 0 (14.4.1)

onde P1 = A ∂∂x e P2 = B ∂

∂y (nao e necessario que Pi esteja associado com uma

dimensao especıfica).A ideia e resolver duas equacoes de t0 ate t0 + k:

ut + 2P1u = 0, t ∈ [t0, t0 + k/2] (14.4.2)

ut + 2P2u = 0, t ∈ [t0 + k/2, t0 + 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 amplificacao de ambos comutem. A ordem de precisao tambemnao e direta (veja [10], [4]).

Uma dificuldade extra e a determinacao das condicoes de contorno apropriadas.Um metodo para derivar condicoes de contorno apropriadas e dado em [6].Exemplo 64.Um esquema time-split comum em dinamica de fluidos computacional e o esquematime-split de MacCormack [7] (veja tambem 11.1. Para o sistema ut +Aux +Buy = 0com ∆x = ∆y = h, o esquema forward-backward de MacCormack e

un+1/2i,j = un

i,j − Aλ(uni+1,j − un

i,j) (14.4.4)

un+1/2i,j =

1

2(un

i,j + un+1/2i,j −Aλ(u

n+1/2i,j − u

n+1/2i−1,j )) (14.4.5)

un+1i,j = u

n+1/2i,j −Bλ(u

n+1/2i,j+1 − u

n+1/2i,j ) (14.4.6)

un+1i,j =

1

2(u

n+1/2i,j + un+1

i,j −Bλ(un+1i,j − un+1

i,j−1)) (14.4.7)

Page 116: Metodos numéricos para equações diferenciais

112

Uma vantagem de tal metodo e que cada estagio esta separado, facilitando a imple-mentacao em computadores em paralelo.

Exercıcio 14.5. Mostre que o esquema

un+1i,j =

uni+1,j + un

i−1,j + uni,j+1 + un

i,j−1

4+ kaδ0xu

ni,j + kbδ0yu

ni,j (14.4.8)

para ut+au−x+buy = 0, com ∆x = ∆y = h, e estavel se e somente se (|a|2+|b|2)λ2 ≤12 .

Capıtulo 15:

Esquema ADI

O metodo Implıcito com Direcoes Alternadas (Alternating Direction Implicit) e bas-tante utilizado com equacoes parabolicas.

A equacao

ut = b11uxx + b12uxy + b22uyy (15.0.1)

e parabolica se b11, b22 > 0 e b212 < b11b22. O exemplo mais comum e a equacao docalor bidimensional

ut = b1uxx + b2uyy (15.0.2)

Se aplicarmos o esquema Crank-Nicolson, que e incondicionalmente estavel, en-contraremos uma matriz tridiagonal por blocos1. O esquema ADI reduz o problemabidimensional numa sucessao de problemas unidimensionais.

Sejam os operadores lineares A1 = b1∂2

∂x2 e A2 = b2∂2

∂y2 e assuma que sabemosresolver facilmente as equacoes

wt = A1w (15.0.3)

wt = A2w (15.0.4)

pelo metodo de Crank-Nicolson (ou um esquema similar). O esquema ADI possibilitaresolver a equacao combinada

ut = A1u+ A2u (15.0.5)

Utilizando o esquema de Crank-Nicolson (expandindo em serie de Taylor emt = (n+ 1/2)k), obtemos

un+1 − un

k=

A1un+1 + A1u

n

2+

A2un+1 + A2u

n

2+ O(k2) (15.0.6)

ou

(I − k

2A1 −

k

2A2)u

n+1 = (I +k

2A1 +

k

2A2)u

n + O(k3) (15.0.7)

Note que a matriz (I − k2A1 − k

2A2) nao e tao facil de inverter.

1Pode ser resolvida atraves de um algoritmo de Thomas por blocos.

Page 117: Metodos numéricos para equações diferenciais

Secao 15.1: Algoritmo de Peaceman-Rachford 113

Adicionando k2A1A2(un+1 + un)/4 em ambos os lados

(I − k

2A1 −

k

2A2 +

k2

4A1A2)u

n+1 = (15.0.8)

(I +k

2A1 +

k

2A2 +

k2

4A1A2)u

n+ (15.0.9)

k2

4A1A2(u

n+1 − un) + O(k3) (15.0.10)

que pode ser fatorado como2

(I − k

2A1)(I −

k

2A2)u

n+1 = (I +k

2A1)(I +

k

2A2)u

n (15.0.11)

+k2

4A1A2(u

n+1 − un) + O(k3) (15.0.12)

Note que como un+1 = un + O(k) temos que

k2

4A1A2(u

n+1 − un) = O(k3) (15.0.13)

e da mesma ordem que o termo presente levando a

(I − k

2A1)(I −

k

2A2)u

n+1 = (I +k

2A1)(I +

k

2A2)u

n + O(k3) (15.0.14)

Discretizando os operadores Ai como Ai obtemos matrizes (I − k2Ai) que sao

tridiagonais e o sistema

(I − k

2A1)(I −

k

2A2)u

n+1 = (I +k

2A1)(I +

k

2A2)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

2A1)u = (I +

k

2A2)u

n (15.1.1)

(I − k

2A2)u

n+1 = (I +k

2A1)u (15.1.2)

o que origina o nome ADI.Note que os dois sistemas acima sao equivalentes a (15.0.15). Multiplique

2Utilizando 1±a1±a2 + a1a2 = (1±a1)(1±a2).

Page 118: Metodos numéricos para equações diferenciais

Secao 15.2: Condicao de contorno 114

(15.1.2) por (I − k2A1), depois utilize (15.1.1):

(I − k

2A1)(I −

k

2A2)u

n+1 = (I − k

2A1)(I +

k

2A1)u (15.1.3)

= (I − k2

4A2

1)u (15.1.4)

= (I +k

2A1)(I −

k

2A1)u (15.1.5)

= (I +k

2A1)(I +

k

2A2)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. Condicao de contorno

Considere a condicao de contorno de Dirichlet u(t, x, y) = β(t, x, y) no contorno. Po-demos especificar a condicao para un+1 e para un utilizando diretamente β(tn, x, y) e(tn+1, x, y). Entretanto precisamos uma condicao de contorno para u.

Podemos usar u(x, y) = β(tn+ 12, x, y), entretanto o metodo sera apenas de

primeira ordem.Outro maneira e utilizar a propria equacao (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

2A2)β

n +1

2(I − k

2A2)β

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.

Substituımos uni,j por gneıiθeıjφ e ui,j por ggneıiθeıjφ e obtemos

(1 + 2b1µ1 sin2(θ/2))g = 1 − 2b2µ2 sin2(φ/2) (15.2.2)

(1 + 2b2µ2 sin2(φ/2))g = g(1 − 2b1µ1 sin2(θ/2)) (15.2.3)

Assim

(1 + 2b2µ2 sin2(φ/2))g =(1 − 2b2µ2 sin2(φ/2))(1 − 2b1µ1 sin2(θ/2))

(1 + 2b1µ1 sin2(θ/2))(15.2.4)

g =(1 − 2b2µ2 sin2(φ/2))(1 − 2b1µ1 sin2(θ/2))

(1 + 2b1µ1 sin2(θ/2))(1 + 2b2µ2 sin2(φ/2))(15.2.5)

g ≤1 (15.2.6)

para b1 > 0, b2 > 0, mostrando que e incondicionalmente estavel.

Page 119: Metodos numéricos para equações diferenciais

Secao 15.3: Implementacao 115

15.3. Implementacao

• E necessario uma malha (xi,j , yi,j) = (i∆x, j∆y) para i = 0, . . . ,M e j =

0, . . . , N . Para a solucao sao necessario 3 matrizes R(M+1)×(N+1): U , U eUnew.

• Primeiramente devemos resolver o sistema (15.1.1) para calcular U a partir de U .Note que temos que resolver

−b1µ1

2ui−1,j + (1 + b1µ1)ui,j −

b1µ1

2ui+1,j =

b2µ2

2ui,j−1 + (1 − b2µ2)ui,j +

b2µ2

2ui,j+1

para i = 1, . . . ,M − 1 e j = 1, . . . , N − 1. Este sistema de equacoes consiste deM − 1 sistemas tridiagonais. Para cada j, o sistema pode ser resolvido para ui,j

via algoritmo de Thomas. As condicoes de contorno sao dadas por (15.2.1) parau0,j e uM,j para j = 0, . . . , N (os valores de ui,0 e ui,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 sistemastridiagonais. Para cada i, o sistema pode ser resolvido para Unewi,j . As condicoesde contorno sao especificadas para cada unewi,j no contorno.

Exercıcio 15.1. Considere o sistema unidimensional(

uv

)

t

=

(

1 00 1

)(

uv

)

xx

+

(

0 −44 0

)(

uv

)

(15.3.1)

Discuta a eficiencia do metodo ADI usando

A1 =

(

1 00 1

)

∂2

∂x2e A2 =

(

0 −44 0

)

(15.3.2)

com o esquema de Crank-Nicolson. Resolva numericamente este sistema usando ometodo ADI em x ∈ [−1, 1] e t ∈ [0, 1], com solucao exata

u = e3t sin(x) cosh(2x) (15.3.3)

v = e3t cos(x) sinh(2x) (15.3.4)

com condicao de contorno de Dirichlet em x = −1 e x = 1.

Exercıcio 15.2. Aplique o metodo de Peaceman-Rachford a

ut + ux + 2uy = 0 (15.3.5)

em x ∈ [0, 1], y ∈ [0, 1] e t ∈ [0, 1]. Especifique a solucao exata nos lados x = 0 ey = 0. Aplique extrapolacao un+1

M,j = unM,j e un+1

i,N = uni,N nos lados leste e norte. Use

a solucao exata

u(t, x, y) = u0(x− t, y − 2t) (15.3.6)

com

u0(x, y) =

(1 − 2|x|)(1 − 2|y|), |x| ≤ 1/2, |y| ≤ 1/20, c.c.

(15.3.7)

Page 120: Metodos numéricos para equações diferenciais

116

para condicao inicial e de contorno.

Exercıcio 15.3. Use o metodo de Peaceman-Rachford para resolver

ut = uxx + 2uyy (15.3.8)

no quadrado unitario para t ∈ [0, 1]. As condicoes iniciais e de contorno devem serobtidas da solucao exata

u(t, x, y) = e1.5t sin(x− 0.5y) cosh(x+ y) (15.3.9)

Use ∆x = ∆y = ∆t = 110 , 1

20 e 140 . Demonstre a ordem de precisao.

Aula 27 .

Equacoes de Segunda Ordem.

Strikwerda: Cap. 8

Capıtulo 16:

Equacoes de segunda ordem

16.1. Equacao da Onda

Considere a equacao da onda de segunda ordem

utt − a2uxx = 0 (16.1.1)

u(0, x) = u0(x) (16.1.2)

ut(0, x) = v0(x) (16.1.3)

onde a > 0, que possui solucao exata dada por

u(t, x) =u0(x− at) + u0(x+ at)

2+

1

2a

∫ x+at

x−at

v0(y)dy (16.1.4)

Note que temos duas velocidades caracterısticas, a e −a.Aplicando a transformada de Fourier obtemos

u(t, ω) = u0(ω) cos(aωt) + v0(ω)sin(aωt)

aω(16.1.5)

= u+(ω)eiaωt + u−(ω)e−iaωt (16.1.6)

e aplicando a transformada inversa obtemos a solucao

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.

Page 121: Metodos numéricos para equações diferenciais

Secao 16.2: Diferencas finitas 117

Um outro problema e o PVI de segunda ordem hiperbolico (b2 < a2)

utt + 2butx = a2uxx + cux + dut + eu+ f(t, x) (16.1.8)

e bem posto, i.e, para 0 ≤ t ≤ T , ∃CT tal que∫ ∞

−∞

|ut|2 + |ux|2 + |u|2dx

≤ CT

[∫ ∞

−∞

|u0t|2 + |u0x|2 + |u0|2dx+

∫ t

0

∫ ∞

−∞

|f |2 dxdτ]

(16.1.9)

Exercıcio 16.1. Mostre 16.1.9 usando transformada de Fourier.

Exercıcio 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.

Exercıcio 16.3. Reescreva (16.1.1) como um sistema hiperbolico de primeira ordemtal que u1 = ux e u2 = ut.

Exercıcio 16.4. Mostre que o PVI utt = uxx + uyy e bem-posto. Transforme-o numsistema hiperbolico de 1.a ordem.

16.2. Diferencas finitas

As definicoes de convergencia, consistencia e ordem de precisao permanecem as mesmascomo anteriormente. A definicao de estabilidade 9.6.2 e alterada.

Definicao 16.2.1. Um esquema em diferencas finitas Pk,hvni = 0 para uma

equacao de 2.a ordem em t e estavel numa regiao Λ se ∃J inteiro tal que∀T > 0, ∃CT tal que

‖vn‖h ≤ (1 + n2)CT

J∑

j=0

‖vj‖2h (16.2.1)

para 0 ≤ nk ≤ T , com (k, h) ∈ Λ.

• O fator extra 1 + n2 e necessario para permitir o crescimento linear em t (casohouver).

• A condicao de estabilidade dependera dos fatores de amplificacao (no mınimo 2)

|gν | ≤ 1 +Kk (16.2.2)

• Se nao existirem termos de baixa ordem (ux, u, . . .), entao a condicao de estabi-lidade e

|gν | ≤ 1 (16.2.3)

com raızes multiplas permitidas.

• no mınimo J ≥ 1 para depender nas duas condicoes iniciais.

Page 122: Metodos numéricos para equações diferenciais

Secao 16.2: Diferencas finitas 118

Exemplo 65.Considere a EDP utt = a2uxx e o esquema

un+1m − 2un

m + un−1m

k2= a2u

nm+1 − 2n

m + unm−1

h2(16.2.4)

A equacao para o fator de amplificacao e

g2 − 2g + 1 = −4a2λ2 sin2 θ

2g (16.2.5)

que possui solucao

g1,2 = 1 − 2a2λ2 sin2

(

θ

2

)

±2

a4λ4 sin4 θ

2− a2λ2 sin2 θ

2

Temos que |gν | ≤ 1 se e somente |aλ| ≤ 1.A solucao para raızes diferentes e

vn = C1(ξ)gn1 + C2(ξ)g

n2 (16.2.6)

e para raızes iguais

vn = D1(ξ)gn +D2(ξ)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 utt = a2uxx e o esquema de ordem (2, 4)

un+1m − 2un

m + un−1m

k2= a2−un

m+2 + 16unm+1 − 30un

m + 16unm−1 − un

m−2

12h2(16.2.8)

= a2(1 − h2

12δ2)un

m (16.2.9)

A equacao para o fator de amplificacao e

g2 − 2g + 1 = a2λ2(−2 cos 2θ + 32 cos θ − 30

12)g (16.2.10)

= −4

3a2λ2 sin2 θ

2(3 + sin2 θ

2)g (16.2.11)

Calculando g temos que o esquema e estavel se e somente se

1

3a2λ2 sin2 θ

2(3 + sin2 θ

2) ≤ 1 (16.2.12)

o que ocorre quando aλ ≤√

3

2.

Page 123: Metodos numéricos para equações diferenciais

Secao 16.3: Condicoes de contorno 119

16.2.1. O primeiro passo

Uma maneira e utilizar a serie de Taylor

u(k, x) = u(0, x) + kut(0, x) +1

2k2utt(0, x) + O(k3) (16.2.13)

Usando a equacao diferencial, podemos substituir utt e usar as CI u(0, x) e ut(0, x)para calcular u(k, x) como

u1m = u0

m + k(ut)0m +

1

2a2k2δ2u0

m (16.2.14)

Essa escolha nao afeta a estabilidade do metodo, porem deve ser da mesma ordem queo metodo para nao afetar a ordem de precisao da solucao.

Exercıcio 16.5. Mostre que o esquema

δ2t unm + 2cδt0δx0u

nm = a2δ2xu

nm (16.2.15)

para a equacao

utt + 2cutx = a2uxx (16.2.16)

e de segunda ordem e estavel para aλ ≤ 1.

Exercıcio 16.6. Use o esquema (16.2.15) para obter a solucao de (16.2.16) em x ∈[−1, 1] e t ∈ [0, 1]. Use como dados iniciais

u0(x) = cosπx, u1(x) = c sinπx (16.2.17)

Para obter a condicao de contorno use a solucao exata

u(t, x) =1

2(cos π(x− η+t) + cosπ(x − η−t)) (16.2.18)

onde η± = c±√c2 + a2. 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. Condicoes de contorno

A equacao da onda (16.1.1) requer uma condicao de contorno em cada lado. A condicaode Dirichlet e facilmente implementada fixando u no contorno.

A condicao de Neumann

ux(t, 0) = α (16.3.1)

pode ser implementada de varias maneiras. Se usarmos

un+11 − un+1

0

h= α (16.3.2)

temos

un+10 = un+1

1 − αh (16.3.3)

que e apenas de primeira ordem.

Page 124: Metodos numéricos para equações diferenciais

Secao 16.4: Equacao de segunda ordem em 2 e 3 dimensoes 120

Podemos tambem usar

un+11 − un+1

−1

h= α (16.3.4)

obtendo a equacao

un+1−1 = un+1

1 − αh (16.3.5)

que e de segunda ordem, porem necessita um no fictıcio extra fora do domınio.Se usarmos uma diferenca unilateral

−3un+10 + 4un+1

1 − un+12

2h= α (16.3.6)

obtemos

un+10 =

4un+11 − un+1

2 + 2αh

3(16.3.7)

que e de segunda ordem.Utilizando o esquema (16.2.8), precisamos de uma condicao extra em x1 e xM−1,

pois o estencil possui 5 pontos e nao pode ser aplicado. Se usarmos CC de Dirichlet,entao o valor de u1 pode ser obtido via interpolacao, por exemplo,

vn+11 =

1

4(vn+1

0 + 6vn+12 − 4vn+1

3 + vn+14 ) (16.3.8)

que pode ser obtida de

δ4+vn+10 = 0 (16.3.9)

Note que se considerarmos a equacao utt = uxxxx, necessitaremos de duascondicoes de contorno em cada extremo.

16.4. Equacao de segunda ordem em 2 e 3 dimensoes

Considere a equacao

utt = a2(uxx + uyy) (16.4.1)

e o esquema mais simples

δ2t uni,j = a2(δ2xu

ni,j + δ2yu

ni,j). (16.4.2)

A condicao de estabilidade para ∆x = ∆y = h e

aλ ≤ 1√2

(16.4.3)

Esquemas similares ao ADI tambem podem ser usados para a equacao de segundaordem.Exercıcio 16.7. Mostre a condicao de estabilidade (16.4.3).

Exercıcio 16.8. Resolva numericamente a equacao

utt = a2(uxx + uyy) (16.4.4)

em 0 ≤ x, y ≤ 1. Escolha condicoes de contorno e iniciais apropriadas. Calcule a ordemde precisao numericamente.

Page 125: Metodos numéricos para equações diferenciais

121

Exercıcio 16.9. Resolva numericamente a equacao

utt = a2(uxx + uyy) (16.4.5)

em 0 ≤ x, y ≤ 1, transformando-a num sistema de EDPs de 1.a ordem. Escolhacondicoes de contorno e iniciais apropriadas. Calcule a ordem de precisao numerica-mente.

Aula 28 .

Equacoes Diferenciais Parciais Elıpticas.

Strikwerda: Cap. 12

Capıtulo 17:

Equacoes Diferenciais Parciais Elıpticas

17.1. Equacao de Poisson

Considere a equacao de Poisson

uxx + uyy = f(x, y) (17.1.1)

no domınio Ω. O operador Laplaciano e denotado por

∇2 =∂2

∂x2+

∂2

∂y2(17.1.2)

e a equacao homogenea

∇2u = 0 (17.1.3)

e chamada equacao de LaplacePara determinar a solucao sao necessarias condicoes de contorno, como condicao

de contorno de Dirichlet, de Neumann ou de Robin.Fisicamente, a equacao de Poisson descreve a distribuicao de calor num estado

permanente. A funcao f(x, y) representa fontes e sumidouros. A condicao de Dirichletrepresenta a temperatura fixa no contorno e a condicao de Neumann representa umfluxo de calor fixo no contorno.

Outros exemplos de equacoes elıpticas sao as equacoes de Cauchy-Riemann

ux − vy = 0 (17.1.4)

uy + vx = 0 (17.1.5)

Page 126: Metodos numéricos para equações diferenciais

Secao 17.2: Esquemas de Diferencas Finitas 122

e a equacao permanente de Stokes

∇2u− px = f1 (17.1.6)

∇2v − py = f2 (17.1.7)

ux + vy = 0 (17.1.8)

Uma propriedade essencial das equacoes elıpticas e que a solucao e mais dife-renciavel que os dados f .

17.1.1. Princıpio do Maximo

Teorema 17.1.1. Seja o operador elıptico Lφ = aφxx + bφxy + cφyy = 0, comb2 < 4ac. Se Lu ≥ 0 no domınio Ω, entao u tem seu maximo no contorno ∂Ω.

17.2. Esquemas de Diferencas Finitas

Considere a equacao de Poisson em um quadrado unitario e a formula padrao de 2.aordem com derivadas centrais

ui+1,j − 2ui,j + ui−1,j

h21

+ui,j+1 − 2ui,j + ui,j−1

h22

= fi,j (17.2.1)

ou, se h = h1 = h2,

ui+1,j + ui−1,j + ui,j+1 + ui,j−1 − 4ui,j

h2= fi,j (17.2.2)

para 1 ≤ i ≤M − 1 e 1 ≤ j ≤ N − 1.Seja ∇2

h = ∂2x + ∂2

y o operador discreto.

Teorema 17.2.1. Se ∇2hu ≥ 0 em Ωh, entao o maximo de u ocorre no contorno

de Ωh.

17.3. Sistema Unidimensional

Considere a equacao unidimensional

uxx = f (17.3.1)

u(0) = α (17.3.2)

u(1) = β (17.3.3)

que pode ser discretizada como

ui+1 − 2ui + ui−1

h2= fi (17.3.4)

ou ainda

ui+1 − 2ui + ui−1 = h2fi (17.3.5)

u0 = α (17.3.6)

uM = β (17.3.7)

Page 127: Metodos numéricos para equações diferenciais

Secao 17.4: Sistema Bidimensional 123

Colocando esse sistema na forma matricial obtemos

Au = b (17.3.8)

onde

A =

1 0 . . . 01 −2 1 0 0

. . .. . .

. . .

1 −2 10 . . . 0 1

(17.3.9)

e

b =

αf1...

fM−1

β

(17.3.10)

Devemos portanto calcular

u = A−1b (17.3.11)

17.4. Sistema Bidimensional

Considere a equacao

uxx + uyy = 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

ui+1,j + ui−1,j + ui,j+1 + ui,j−1 − 4ui,j

h2= fi,j (17.4.4)

ou ainda

ui+1,j + ui−1,j + ui,j+1 + ui,j−1 − 4ui,j = h2fi,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 . . . 0I D I 0 0

. . .. . .

. . .

I D I0 . . . 0 I

, (17.4.7)

Page 128: Metodos numéricos para equações diferenciais

Secao 17.4: Sistema Bidimensional 124

D =

−4 1 . . . 01 −4 1 0 0

. . .. . .

. . .

1 −4 10 . . . 1 −4

(17.4.8)

e I e a matriz identidade. O vetor b e a matriz fi,j escrita por linhas acompanhada dascondicoes de contorno.

Devemos portanto calcular

u = A−1b (17.4.9)

Entretanto calcular A−1 pode tornar-se custoso. A ideia e resolver o sistemaiterativamente.

17.4.1. Metodo de Jacobi

A ideia e isolar o termo i, j na equacao acima e a partir de um chute inicial calcularunewi,j . Assim devemos calcular

unewi,j =1

4(ui+1,j + ui−1,j + ui,j+1 + ui,j−1 − h2fi,j) (17.4.10)

para 1 ≤ i ≤ M − 1 e 1 ≤ j ≤ N − 1. Devemos tambem calcular as equacoes decontorno.

Entretanto esse e um metodo iterativo. Depois de percorrer uma vez esse loopduplo nao teremos a solucao. Devemos iterar essa equacao como uma iteracao de pontofixo 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 cadai, j durante a mesma iteracao, ou seja,

unewi,j =1

4(ui+1,j + unewi−1,j + ui,j+1 + unewi,j−1 − h2fi,j) (17.4.11)

para 1 ≤ i ≤ M − 1 e 1 ≤ j ≤ N − 1. Devemos tambem calcular as equacoes decontorno.

Entretanto esse e um metodo iterativo. Depois de percorrer uma vez esse loopduplo nao teremos a solucao. Devemos iterar essa equacao como uma iteracao de pontofixo 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 metodoSOR. Devemos proceder como anteriormente e calcular

unewij = uij + ω(ui+1,j + unewi−1,j + ui,j+1 + unewi,j−1 − h2fij

4− uij)

(17.4.12)

Page 129: Metodos numéricos para equações diferenciais

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

Bibliografia

[1] J.C. Butcher. The numerical analysis of ordinary differential 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-

troducao ao Calculo Numerico. Instituto de Matematica-UFRGS, 2001. 4

[3] David Goldberg. What every computer scientist should know about floating-pointarithmetic. 4

[4] D. Gottlieb. Strang-type difference schemes for multidimensional problems. SIAM

J. Numer. Anal, 9:650–661, 1972. 111

[5] A. Iserles. A First Course in the Numerical Analysis of Differential 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 differential equations. Mathematics of Computation, 40(162):469–497, 1983. 111

[7] R.W. MacCormack. Numerical solution of the interaction of a shock wave witha laminar boundary layer. Proceedings of the Second International Conference

on Numerical Methods in Fluid Dynamics: September 15–19, 1970 University of

California, Berkeley. Editor: Maurice Holt, Lecture Notes in Physics,, 8:151–163,1971. 111

[8] DW Peaceman and HH Rachford. The numerical solution of parabolic and ellipticdifferential equations. J. Soc. Indust. Appl. Math, 3(1):28–41, 1955. 113

[9] C. Scherer. Metodos computacionais da fısica. Editora Livraria da Fısica, 2005. 3

[10] G. Strang. On the construction and comparison of difference schemes. SIAM J.

Numer. Anal, 5(3):506–517, 1968. 111

[11] J.C. Strikwerda. Finite Difference Schemes and Partial Differential Equations.Wadsworth & Brooks, 1989. 72, 75, 80, 85, 86, 90, 93, 94