Post on 08-Feb-2017
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
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
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
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
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
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
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;
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.
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:
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).
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)
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)
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.
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).
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∗).
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 .
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)
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.)
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.
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)
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)
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)
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?
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)
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;
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.
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)
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.
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)
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.
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)
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)
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.
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)
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
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-
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)
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)
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.
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.
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)
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].
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
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
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
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.
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:
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)
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)
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.
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.
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)
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ν
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)
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)
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
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)
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
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.
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.
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
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.
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.
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
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.
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.
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);
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.
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)
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.
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)
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.
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
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.
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(ξ).
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].
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)
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.
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.
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)
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.
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.
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.
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)
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:
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)
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,
aλ
4un+1
m+1 + un+1m − aλ
4un+1
m−1 = (11.2.6)
− aλ
4un
m+1 + unm +
aλ
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)
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)
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)
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
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)
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.
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)
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
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)
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
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)
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.
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)
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).
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 |.
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)
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)
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)
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.
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.
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.
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.
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=
aλ
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.
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)
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.
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.
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)
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)
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)
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.
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).
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.
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)
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.
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.
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.
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.
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.
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)
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)
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)
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)
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