Escolar Documentos
Profissional Documentos
Cultura Documentos
Tabela de Conteudo
1. Introducao
1.1. Objetivos
1.1.1.Sub-objetivos
1.2. Avaliacao
1.3. Bibliografia
2. Aritmetica no computador
2.1. Processo Iterativo
2.2. Representacao de numeros
2.3. Bits, bytes e palavras
2.4. Representacao de numeros inteiros
2.5. Representacao de numeros reais
2.5.1.Precisao (IEEE754)
2.6. Arredondamento
2.6.1.Erro absoluto e relativo
2.6.2.Arredondamento por corte
2.6.3.Arredondamento por proximidade
2.6.4.Caracterizacao de uma representacao
2.7. Operacoes em ponto flutuante
2.7.1.Cancelamento catastrofico
2.7.2.A comutatividade nao e valida
2.7.3.A distributividade nao e valida
3. Aproximacoes
3.1. Aproximacao de ordem p
3.2. Aproximacao em diferencas finitas
3.3. Integracao Numerica, quadratura
3.4. Quadratura Gaussiana
Tabela de Conteudo (cont.) 2
Aula 1 .
Introducao
.
.
Captulo 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:
1 www.scilab.org
Secao 1.3: Bibliografia 2
2 link: www.mat.ufrgs.br/dago
3
Captulo 2:
Aritmetica no computador
2.1. Processo Iterativo
Veja [9]. Considere uma transformacao
V V
T : . (2.1.1)
x T (x) = y
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
lim xk = xp
k
A convergencia pode depender do ponto inicial x0 .
Exerccio 2.1. Considere T (x) = x(3 x2 )/2. Efetue o processo iterativo partindo
de diferentes valores iniciais.
Verifique a convergencia para os pontos fixos x = 1, x = 1 (estes sao estaveis)e
x = 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,*-)
%------------------------------
z(1)=0;
k =1;
while(k<Total)&&(abs(z(k)<2))
z(k+1)=z(k)^2+c;
k =k+1;
end
if(abs(z(k))<2)
plot(c,.r);hold on
end
%------------------------------
Cada vez que o programa e rodado, um c aleatorio e escolhido, e sera plotado caso
pertenca ao conjunto de Mandelbrot. Rode o programa com a linha
for k=1:1000; mandelbrot(100); end;
Qual a influencia da variavel T otal?
Em dupla precisao (64 bits) temos F (2, 52, 11) onde a base e = 2, M = 52
bits sao usados na mantissa (mais um para o sinal) e E = 11 bits para o expoente.
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 o
numero. Porem, x = (0.10101010 . . .)2 esta entre dois numeros representaveis:
Secao 2.6: Arredondamento 6
(0.1010 . . . 1010)2
(0.1010 . . . 1011)2
Exemplo 2.
Utilizando simples precisao temos uma precisao de p = 23 + 1 = 24 bits (mais um pois
b0 = 1 sempre).
Secao 2.7: Operacoes em ponto flutuante 7
x = 1.234567105 (2.7.4)
5
+y = 0.00101765410 (2.7.5)
(2.7.6)
z = 1.235584654105 (2.7.7)
que e o valor exato. Arredondando e normalizando
z = 1.235585105 (2.7.8)
Erro relativo:
|z z|
Erel = (2.7.9)
|z|
|1.235584654105 1.235585105 |
= (2.7.10)
|1.235584654105 |
5.29304081107 < 106 = 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 dgitos.
x = 1.234567105 (2.7.12)
3
+y = 9.87654310 (2.7.13)
Aula 2 e 3 .
Aproximacoes
.
Cunha, Bortoli et al
Captulo 3:
Aproximacoes
3.1. Aproximacao de ordem p
Objetivo:
Aproximar a funcao f (t) C(R) por um polinomio q(t)
de ordem p.
Objetivo:
Obter uma discretizacao para a funcao f (t) em t = t
de ordem p.
Objetivo:
Obter uma regra para integracao para a funcao f (t) em
[a, b] de ordem p .
Secao 3.3: Integracao Numerica, quadratura 13
p+1
obtendo
Z h
1 dt = h = c0 (1) + c1 (1) + c2 (1) (3.3.11)
0
Z h
t dt = h2 /2 = c0 (0) + c1 (h/2) + c2 (h) (3.3.12)
0
Z h
t2 dt = h3 /3 = c0 (0)2 + c1 (h/2)2 + c2 (h)2 (3.3.13)
0
que pode ser escrito na forma matricial
1 1 1 c0 h
0 h/2 h c1 = h2 /2 (3.3.14)
0 h2 /4 h2 c2 h3 /3
Resolvendo o sistema obtemos [c0 , c1 , c2 ] = [ h6 , 4h h
6 , 6 ] fornecendo a regra
Z h
h 4h h
f (t) dt f0 + f1 + f2 (3.3.15)
0 6 6 6
f0 + 4f1 + f2
= h (3.3.16)
6
Exerccio 3.7. Seja [t0 , t1 , t2 , t3 ] = [0, h/3, 2h/3, h] e [a, b] = [0, h], obtenha uma
Rh
regra de integracao para aproximar 0 f (t) dt.
Exerccio 3.8. Uma regra que nao utiliza os extremos. Seja [t1 , t2 , t3 ] = [h/4, h/2, 3h/4]
Rh
e [a, b] = [0, h], obtenha uma regra de integracao para aproximar 0 f (t) dt.
Exerccio 3.9. Seja [t0 , t1 , . . . , t4 ] = [0, h/4, h/2, 3h/4, h] e [a, b] = [0, h], obtenha
Rh
uma regra de integracao para aproximar 0 f (t) dt.
Objetivo:
Obter uma regra para integracao para a funcao f (t) em
[a, b] podendo variar a posicao dos nos.
Note que temos p nos e p pesos para determinar. Portanto podemos aproximar
f (t) pelo polinomio q(t) = c0 + c1 t + . . . + cm tm onde m = 2p 1. A regra (3.4.1)
deve ser exata para qualquer k (t) polinomio da base. Substituindo f (t) por 0 (t) = 1
em (3.3.1) obtemos a identidade
Z 1
0 (t) dt = t|11 = w1 0 (t1 ) + . . . + wp 0 (tp ) (3.4.2)
1
2 = w1 + . . . + wp (3.4.3)
Da mesma forma para k (t), k = 1, . . . , m, obtemos
(t2 /2)|11 = 0 = w1 t1 + . . . + wp tp (3.4.4)
3
(t /3)|11 = 2/3 = w1 t21 + ... + wp t2p (3.4.5)
(t4 /4)|11 =0= w1 t31 + ... + wp t3p (3.4.6)
.. ..
.=. (3.4.7)
m+1 m+1
(1) (1)
= w1 tm m
1 + . . . + wp tp (3.4.8)
p+1
que e um sistema nao linear com 2p equacoes e incognitas wk , tk , k = 1, . . . , p.
Exerccio 3.10. Calcule os nos e pesos para a quadratura de Gauss utilizando 2 nos
no intervalo [1, 1].
Exerccio 3.11. Calcule os nos e pesos para a quadratura de Gauss utilizando 3 nos
no intervalo [1, 1].
Exerccio 3.12. Para a funcao f (x) = sin(x), aproxime f (1) utilizando a derivada
pra frente para valores h = 101 , 102 , 103 , . . .. Plote o erro relativo na aproximacao
na escala logartmica, utilizando o comando loglog. Use h no eixo x e o erro relativo
Er(h) no eixo y. Identifique a ordem 1 do metodo na curva plotada e explique o que
acontece no grafico.
Exerccio 3.13. Obtenha a expressao para o erro da derivada central f (x) f (x+h)f 2h
(xh)
,
utilizando a serie de Taylor. Repita o exerccio anterior utilizando derivada central. Iden-
tifique a ordem do metodo no grafico.
3.5.1. Integracao
Exemplo R8.
Aproxime 0 sin(x)dx utilizando 10 subintervalos iguais e a regra trapezoidal
Z xi+1
fi + fi+1
f (t) dt h (3.5.6)
xi 2
. Aproxime tambem para 102 , 103 , 104 intervalos.
. Aproxime tambem para N = 102 , 103 , 104 intervalos. (Note que em cada subintervalo
existem 3 nos consecutivos, fazendo com que o for pule de 2 em 2 nos. Por que?)
Plote o erro na escala logartmica em y.
R
Exerccio 3.15. Aproxime 0 sin(x)dx utilizando N subintervalos iguais e a uma
quadratura de Gauss com 2 nos em cada subintervalo (veja como obter os nos na secao
anterior ou na literatura). Note que os nos devem ser transladados para o subintervalo ja
que eles sao fornecidos no intervalo (1, 1). Aproxime tambem para N = 102 , 103 , 104
intervalos. Plote o erro na escala logartmica em y.
Aula 4 e 5 .
Equacoes Diferenciais Ordinarias e Metodo de Euler
.
Butcher, Iserles
Captulo 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).
du
=t (4.0.13)
dt
u(0) = a (4.0.14)
Exemplo 10.
du
=u (4.0.15)
dt
u(0) = a (4.0.16)
Exemplo 11.
du
=u+t (4.0.17)
dt
u(0) = a (4.0.18)
Exemplo 12.
du
= sin(u2 + sin(t)) (4.0.19)
dt
u(0) = a (4.0.20)
Secao 4.1: Teoria de equacoes diferenciais 19
Exemplo 13.
du1
= u2 (4.0.21)
dt
du2
= u1 /(u2 + u3 ) (4.0.22)
dt
du3
= u2 + t (4.0.23)
dt
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)
Captulo 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 aproximar
u(t) em t1 = t0 + h.
Integre (5.0.1) de t0 ate t1 e obtenha:
Z t1 Z t1
u (t) dt = f (t, u(t)) dt (5.0.3)
t0 t0
Z t1
u(t1 ) u(t0 ) = f (t, u(t)) dt (5.0.4)
t0
21
Metodo de Euler
un+1 = un + h f (tn , un ) (5.0.10)
%---------------------------
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
Solucao do PVI
11
10.5
10
9.5
8.5
u
7.5
6.5
6
0 1 2 3 4 5
t
figure(2); plot(t,erro,b*-);
title(Erro); hold on
%---------------------------
Veja abaixo a solucao para h = 1, 0.5, 0.1, 0.05:
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
ken+1 k ken k + hkf (tn , u(tn ) + en ) f (tn , u(tn ))k + ch2 (5.1.7)
2
ken k + hLku(tn ) + en u(tn )k + ch (5.1.8)
2
ken k + hLken k + ch (5.1.9)
2
(1 + hL)ken k + ch (5.1.10)
5.1.3. Convergencia
Um metodo e dito convergente se para toda EDO com f Lipschitz e todo T > 0
temos que
Porem
metodo trapezoidal
h
un+1 = un + (f (tn , un ) + f (tn+1 , un+1 )) (5.2.3)
2
portanto o metodo e de ordem 2. Pode ser mostrado que o erro de truncamento global
e
ET Gn+1 2
T rap = O(h )
Secao 5.3: O metodo theta 26
Exerccio 5.4. O sistema linear u = Au, u(0) = u0 , onde A e uma matriz simetrica
e resolvido pelo metodo de Euler.
a. Seja en = un u(nh), n = 0, 1, . . ., prove que
ken k2 ku0 k2 max |(1 + h)n enh |, (5.3.3)
(A)
c. Suponha que o maior autovalor de A e max < 0. Prove que, quando h > 0 e
nh > t [0, t ],
1 1
ken k2 t2max emax t ku0 k2 h t 2max ku0 k2 h (5.3.5)
2 2
Aula 6 e 7 .
Metodos de passo multiplo
.
Butcher, Iserles
Captulo 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
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.
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
Exemplo 20.
Um metodo de ordem s explcito e chamado de metodo de Nystron se (w) = ws2 (w2
1).
Exemplo 21.
Um metodo de ordem s + 1 implcito e chamado de metodo de Milne se (w) =
ws2 (w2 1).
Exemplo 22.
Mostre que o metodo BDF com s = 3 e
18 9 2 6
un+3 un+2 + un+1 un = hfn+3 (6.4.5)
11 11 11 11
Teorema 6.4.2. O polinomio (w) em (6.4.1) satisfaz a condicao da raiz e o metodo
BDF e convergente se e somente se 1 s 6.
Exerccio 6.9. Mostre que o metodo BDF com s = 1 e o metodo de Euler implcito.
Exerccio 6.10. Mostre que o metodo BDF com s = 2 e
4 1 2
un+2 un+1 + un = hfn+2 (6.4.8)
3 3 3
Exerccio 6.11. Mostre que os metodos BDF com s = 2 e s = 3 sao convergentes.
Exerccio 6.12. Determine a ordem do metodo de passo 3,
h
un+3 un = [3fn+3 + 9fn+2 + 9fn+1 + 3fn ] (6.4.9)
8
Este metodo e convergente?
Exerccio 6.13. Aproxime a solucao do PVI
du
= sin t (6.4.10)
dt
u(0) = 1 (6.4.11)
para t [0, 10]. Utilize o metodo de Adams-Bashforth com s = 3 e plote os resultados
como nos exerccios anteriores. Compare os resultados utilizando nos passos iniciais o
metodo de:
a. Euler;
b. Taylor;
c. Runge-Kutta.
Aula 8 .
Metodos de Runge-Kutta
.
Butcher, Iserles
Captulo 7:
Metodos de Runge-Kutta
Bibliografia: Cap.3 [5], Sec.23 [1].
Secao 7.1: Metodo de Runge-Kutta Explcito 39
U1 = u n (7.1.7)
U2 = un + ha21 F1 (7.1.8)
U3 = un + ha31 F1 + ha32 F2 (7.1.9)
= ... (7.1.10)
1
X
U = u n + h ai Fi (7.1.11)
i=1
X
un+1 = un + h bi Fi (7.1.12)
i=1
7.2. Metodo de RK = 2
Assumindo suavidade suficiente em f , expanda em serie de Taylor
F2 = f (tn + c2 h, U2 ) (7.2.1)
= f (tn + c2 h, un + a21 hfn ) (7.2.2)
fn fn
= fn + h[c2 + a21 fn ] + O(h2 ) (7.2.3)
t u
fazendo com que (7.1.12) se torne
un+1 = un + h[b1 F1 + b2 F2 ] (7.2.4)
fn fn
= un + h(b1 + b2 )fn + h2 b2 [c2 + a21 fn ] + O(h3 ) (7.2.5)
t u
Usando a EDO e derivando-a obtemos
ut = f (t, u) (7.2.6)
utt = ft + fu ut = ft + fu f (7.2.7)
e expandindo em serie de Taylor a solucao exata em tn+1 ,
h2
u(tn+1 ) = un + hut + utt + O(h3 ) (7.2.8)
2
h2
= un + hfn + [ft + fu f ] + O(h3 ) (7.2.9)
2
e comparando com (7.2.5) obtemos as condicoes para ordem p 2,
1
b1 + b2 = 1, b2 c2 = a21 = c2 (7.2.10)
2
O sistema possui mais de uma solucao. Algumas escolhas comuns sao
0 0 0
1 1
2 2 , 23 23 e 1 1
1 3 1 1
0 1 4 4 2 2
onde a ultima tabela fornece o metodo de Heun (ou Euler modificado):
U1 = u n (7.2.11)
U2 = un + hF1 (7.2.12)
1 1
un+1 = un + h[ F1 + F2 ] (7.2.13)
2 2
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 condicoes
para um metodo com = 3 e ordem p = 3, que sao
1
b1 + b2 + b3 = 1,b2 c2 + b3 c3 = (7.2.14)
2
1 1
b2 c22 + b3 c23 = ,b3 a32 c2 = (7.2.15)
3 6
Alguns exemplos de metodos de RK de 3 estagios sao o metodo classico de
Runge-Kutta
Secao 7.3: Metodo de Runge-Kutta implcito (IRK) 41
0
1 1
2 2
1 1 2
1 4 1
6 6 6
e o metodo de Nystrom
0
2 2
3 3
2 2
3 0 3
2 3 3
8 8 8
Com paciencia e a ajuda de um software algebrico (como Maple) e possvel
encontrar um metodo de quarta ordem e = 4 estagios como
0
1 1
2 2
1 1
2 0 2
1 0 0 1
1 2 2 1
6 6 6 6
Exerccio 7.1. Mostre que o metodo IRK com 2 estagios do exemplo anterior e de
ordem 3.
Exerccio 7.2. Aproxime a solucao do PVI
du cos(t + u)
= (7.3.7)
dt 1 + u2
u(0) = 0 (7.3.8)
utilizando o metodo de Runge Kutta de 4 estagios. Escolha apropriadamente h e ilustre
graficamente a convergencia.
a. Plote a solucao para diferentes valores de h.
b. Repita o exerccio anterior utilizando o metodo de Euler com diferentes valores
de h, ate T = 10 de tal forma que a solucao seja tao proxima da solucao obtiva
via RK quanto possvel.
c. Compare o numero de iteracoes, para esse exerccio, entre o metodo de Euler e o
de Runge-Kutta.
7.4.1. Metodo 1
Podemos utilizar uma solucao bem refinada, por exemplo, uh/16 como sendo uma boa
aproximacao da solucao exata e supormos que u = uh/16 . Desta forma podemos
aproximar o erro por eh = ku(h) u k e a ordem do metodo e estimada como
log(eh ) log(eh/2 )
p (7.4.1)
log(h) log(h/2)
h
log eeh/2
(7.4.2)
log(h/(h/2))
h
log eeh/2
(7.4.3)
log(2)
h
ku u k
log ku h/2 u k
(7.4.4)
log(2)
(7.4.5)
7.4.2. Metodo 2
Segundo Ferziger/Peric/Roache, podemos tambem estimar p diretamente de
h/2
log kukuh/4 uh/2k
uhk
p (7.4.6)
log(2)
(7.4.7)
Aula 9, 10 e 11 .
Regioes de Estabilidade
.
Butcher, Iserles
Captulo 8:
Secao 8.1: Equacoes Stiff 44
Domnio de Estabilidade
A solucao exata e
e100t
At t 1 t 0
u(t) = e u0 = V e V u0 , e = (8.1.3)
0 e0.1t
Ou seja, existem vetores x1 e x2 dependentes de u0 (exerccio 8.1) tal que
u(t) = e100t x1 + e0.1t x2 , t0 (8.1.4)
100t
Note que a medida que t avanca o termo e cai rapidamente enquanto que e0.1t
0.1t
e um pouco mais lento levando a u(t) e x2 .
Aplicando o metodo de Euler obtemos solucao aproximada
u1 = u0 + hAu0 = (I + hA)u0 , (8.1.5)
2
u2 = (I + hA)u1 = (I + hA) u0 , (8.1.6)
.. ..
.=. (8.1.7)
n
un = (I + hA) u0 (8.1.8)
n 1
un = V (I + h) V u0 (8.1.9)
(1 100h)n
0
un = V V 1 u0 (8.1.10)
0 (1 0.1h)n
de onde segue que a solucao aproximada e dada por
un = (1 100h)nx1 + (1 0.1h)n x2 (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
1
u0 =
999/10
correspondente a 2 = 0.1. Entao x1 = 0, x2 = u0 e
un = (1 0.1h)n u0 , n = 1, 2, . . . (8.1.12)
Secao 8.1: Equacoes Stiff 45
|1 |
Definicao 8.1.1. A razao |n|
entre o maior e menor autovalor (em modulo)
do sistema de EDOs (ou dos autovalores da matriz Jacobiana de um sistema
geral) e chamada stiffness ratio.
|100|
No exemplo discutido a stiffness ratio e |1/10| = 103 . Note que para o caso nao
linear a analise pode se tornar complicada.
1 (exerccio 8.2)
Secao 8.2: Domnio de Estabilidade Linear 46
1.5
0.5
0.5
1.5
2
3 2 1 0 1
Para que o metodo de Euler seja estavel, e necessario que h seja escolhido tal
que |1 + hk | < 1, k. Ou seja, todos os produtos hk devem estar em DEuler . Ou
seja, 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 exerccios).
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
hn,1 , hn,2 , . . . , hn,d D (8.2.7)
onde n,k sao os autovalores da matriz Jacobiana
f (tn , un )
Jn := ,
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.
2 Note que estamos assumindo que existe a decomposicao em autovalores. Poderamos usar a
Exemplo 27.
A regra do trapezio e A-estavel (incondicionalmente estavel) e o metodo de Euler e
estavel somente para |1 + h| < 1.
Exerccio 8.3. Mostre que o metodo theta e A-estavel se e somente se 0 21 .
4
4 3 2 1 0 1 2 3 4
Lema 8.4.2. Suponha que um metodo numerico aplicado a (8.2.1) produz uma
sequencia 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 explcito (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
1
0 4 41
2 1 5
3 4 12
1 3
4 4
Substituindo em (8.4.9) obtemos a funcao
1 + 13 z
r(z) = (8.4.10)
1 23 z + 16 z 2
Para checar A-estabilidade, representamos z = ei , > 0, 12 < < 32 e checamos
se |r(ei ) < 1|:
1 + 13 z
1 2 z + 1 z2 < 1 (8.4.11)
3 6
1 + 1 z < 1 2 z + 1 z 2
(8.4.12)
3 3 6
2 2
1 + 1 ei < 1 2 ei + 1 2 e2i
(8.4.13)
3 3 6
Secao 8.4: Estabilidade dos metodos de Runge-Kutta 51
Exemplo 29.
O metodo IRK com tabela
1 5 1
3 12 12
3 1
1 4 4
3 1
4 4
possui a mesma funcao
1 + 13 z
r(z) = (8.4.19)
1 23 z + 16 z 2
que o metodo anterior, portanto tambem e A-estavel. Sua regiao de estabilidade e
exterior 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
1 + 13 z
r(z) = (8.4.20)
1 23 z + 16 z 2
sao 2i 2; que estao no semiplano complexo com parte real positiva. Alem disso,
|r(it)| 1, t R pois
2 2
1 + 1 it 1 2 it 1 t2 , t R,
(8.4.21)
3 3 6
1 1 1
1 + t2 1 + t2 + t4 , t R. (8.4.22)
9 9 36
Secao 8.4: Estabilidade dos metodos de Runge-Kutta 52
6
6 4 2 0 2 4 6
Figura 8.3: Regiao de estabilidade (exterior a curva) para o metodo IRK com
1+ 1 z
polinomio r(z) = 1 2 z+3 1 z2
3 6
0 0 0 0
1 1 1
2 4 4 0
c.
1 0 1 0
1 4 1
6 6 6
Estes metodos sao A-estaveis? Plote a regiao de estabilidade de cada metodo.
onde as constantes cij sao unicamente determinadas pelos valores iniciais u0 , . . . , us1 .
Lema 8.5.1. Suponha que as razes (em funcao de w) de
s
X
(z, w) := (am bm z)wm , zC (8.5.7)
m=0
sao w1 (z), . . . , wq(z) (z) com multiplicidade k1 (z), . . . , kq(z) (z) respectivamente. O
metodo 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
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~ 0
0 1 2 3 4
x~
-1
-2
Captulo 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 esquerda
se a < 0.
As linhas no plano (x, t) no qual = x at e constante sao chamadas carac-
tersticas.
O parametro a e a velocidade de propagacao da onda ao longo da caracterstica.
Apesar da equacao fazer sentido somente se u e diferenciavel, u0 nao precisa ser
diferenciavel. Em geral, solucoes descontnuas sao permitidas.
Secao 9.2: Sistemas de EDPs hiperbolicas 56
Exemplo 35.
O sistema
u 2 1 u
+ =0 (9.2.5)
v t 1 2 v x
com dado inicial
1, |x| 1
u(x, 0) = u0 (x) = (9.2.6)
0, |x| > 1
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
wt1 + 3wx1 = 0, w1 (0, x) = u0 (x) (9.2.10)
wt2 + wx2 = 0, 2
w (0, x) = u0 (x) (9.2.11)
onde a matriz para essa transformacao e
1 1
1 1 1
P = , P = 21 2 . (9.2.12)
1 1 2 12
A solucao e
w1 (t, x) = w01 (x 3t) = u0 (x 3t) (9.2.13)
2
w (t, x) = w02 (x t) = u0 (x t) (9.2.14)
ou nas variaveis u e v,
1 1 1
u(t, x) = (w + w2 ) = [u0 (x 3t) + u0 (x t)] (9.2.15)
2 2
1 1
v(t, x) = (w1 w2 ) = [u0 (x 3t) u0 (x t)] (9.2.16)
2 2
Note que a solucao depende de duas partes independentes, uma onda propagando-
se com velocidade 3 e outra com velocidade 1.
x
0
t t
x x
0 0
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 nao
ha contornos.
Secao 9.4: Diferencas finitas 60
Denotamos
vin 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 u((n + 1)k, ih) u(nk, ih)
(nk, ih) (9.4.2)
t k
e a derivada central e
u u((n + 1)k, ih) u((n 1)k, ih)
(nk, ih) (9.4.3)
t 2k
Considerando a equacao de adveccao
ut + aux = 0 (9.4.4)
podemos obter os seguintes esquemas/metodos
Secao 9.4: Diferencas finitas 61
Leapfrog
vin+1 vin1 v n vi1
n
+ a i+1 =0 (9.4.8)
2k 2h
Lax-Friedrichs
vin+1 12 (vi+1
n n
+ vi1 ) v n vi1
n
+ a i+1 = 0 (9.4.9)
k 2h
Qual desses esquemas funciona? Qual e mais preciso? Qual e mais eficiente?
Cada um deles pode ser reescrito isolando vin+1 . O primeiro se torna
k n
vin+1 = vin a (vi+1 vin ) (9.4.10)
h
onde = k/h. Note que e um esquema de passo simples. Conhecidos vi0 e possvel
determinar vin para todo n.
Entretanto para usar o esquema Leapfrog (9.4.8) (que e de passo multiplo), e
necessario fornecer os valores de vi0 e vi1 , 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) nao
precisamos armazenar a solucao para todos os valores de tempo n, apenas os mais
recentes. A ideia e usar um vetor v(i) para armazenar a solucao no tempo n, vin , e
um vetor vnew(i) para o tempo n + 1, vin+1 .
Os valores de vnew sao calculados a partir do tempo anterior v. Depois que vnew
esta calculado, os valores de v sao atualizados com esses valores e o passo de tempo e
incrementado.
Secao 9.4: Diferencas finitas 62
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
1 |x|, |x| 1
u0 (x) = (9.4.11)
0, c.c.
u(x, 3) = 0 (9.4.12)
usando h = 0.1 e = 0.8 usando o metodo (9.4.5)
vin+1 vin v n vin
+ a i+1 = 0. (9.4.13)
k h
Plote a solucao aproximada para o tempo t = 1.6 juntamente com a solucao
exata.
Repita o calculo com h = 0.05 e = 0.8.
Repita o calculo com h = 0.1 e = 1.6.
Talvez reduzindo o valor de h. Repita o calculo com h = 0.05 e = 1.6.
Exemplo 38.
Repita o exerccio anterior, porem utilizando o metodo de Lax-Friedrichs,
vin+1 12 (vi+1
n n
+ vi1 ) v n vi1
n
+ a i+1 = 0. (9.4.14)
k 2h
Note que e necessario fornecer uma condicao extra no extremo direito x = 3, tal como,
n+1 n+1
vN = vN 1 .
Secao 9.4: Diferencas finitas 63
Exemplo 39.
Repita o exerccio anterior, porem utilizando o metodo de Leapfrog,
vin+1 vin1 v n vi1
n
+ a i+1 = 0. (9.4.15)
2k 2h
Aqui tambem e necessario fornecer uma condicao extra no extremo direito x = 3, tal
n+1 n+1
como, vN = vN 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 tempo
consecutivos).
Exerccio 9.5. Para x [1, 3] e t [0, 2.4], resolva
ut + ux = 0 (9.4.16)
1
cos2 (x),
|x| 2
u(0, x) = (9.4.17)
0, c.c.
u(t, 1) = 0. (9.4.18)
Use quatro esquemas:
1 1 1
a. (FTBS) com = 0.8 e h = 10 , 20 , 40 .
1 1 1
b. (FTCS) com = 0.8 e h = 10 , 20 , 40 .
1 1 1
c. (Lax-Friedrichs) com = 0.8, = 1.6 e h = 10 , 20 , 40 .
1 1 1
d. (Leapfrog) com = 0.8 e h = 10 , 20 , 40 .
n+1 n+1
Para os esquemas (b), (c) e (d) utilize a condicao a direita vN = vN 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 pode
crescer demais). Faca varios graficos. Relate o que acontece ao diminuir h para os
esquemas inuteis. Existe um padrao? Para os casos uteis, como o erro decresce quando
o espacamento da malha decresce, i.e, quando h diminui pela metade, como o erro e
reduzido?
Exerccio 9.6. Resolva o sistema
1 2 1
ut + (t 2)ux + (t + 1)wx + u = 0 (9.4.19)
3 3 3
1 1 1
wt + (t + 1)ux + (2t 1)wx w = 0 (9.4.20)
3 3 3
pelo metodo de Lax-Friedrichs. Cada equacao e aproximada como no caso escalar e
iterada 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)
1
Considere x [3, 3] e t [0, 2]. Faca h = 1/20 e = 2. 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
Exemplo 41.
Considere o esquema FTFS com operador de diferencas dado por
n+1 ni n ni
Pk,h = i
+ a i+1 (9.5.6)
k h
associado ao operador contnuo
P = t + ax . (9.5.7)
onde
ni = (nk, ih) (9.5.8)
Expandindo em serie de Taylor para t e x obtemos,
1
n+1
i = ni + kt + k 2 tt + O(k 3 ) (9.5.9)
2
1
n n
i+1 = i + hx + h2 xx + O(h3 ) (9.5.10)
2
onde as derivadas sao calculadas em (tn , xi ), e assim
1 1
Pk,h = t + ax + ktt + hxx + O(k 2 ) + O(h2 ) (9.5.11)
2 2
levando a
1 1
P Pk,h = ktt hxx + O(k 2 ) + O(h2 ) (9.5.12)
2 2
= 0 quando k, h 0 (9.5.13)
Portanto, o esquema e consistente.
Exemplo 42.
Para o esquema de Lax-Friedrichs
n+1 21 (ni+1 + ni1 ) n ni1
Pk,h = i
+ a i+1 (9.5.14)
k 2h
usando a serie de Taylor
1 1
ni+1 = ni + hx + h2 xx + h3 xxx + O(h4 ) (9.5.15)
2 6
1 1
ni1 = ni hx + h2 xx h3 xxx + O(h4 ) (9.5.16)
2 6
onde as derivadas sao calculadas em (tn , xi ); obtendo
1 n 1
(i+1 + ni1 ) = ni + h2 xx + O(h4 ) (9.5.17)
2 2
e
ni+1 ni1 1
= x + h2 xxx + O(h4 ) (9.5.18)
2h 6
Secao 9.6: Estabilidade 66
9.6. Estabilidade
O ultimo exemplo mostra que consistencia nao e suficiente para garantir convergencia.
Considere EDPs homogeneas, f = 0.
Secao 9.6: Estabilidade 67
Isto significa que para ser estavel a solucao em t [0, T ] deve permanecer
limitada por CT vezes a norma dos J + 1 dados iniciais (J = 0 para metodos de passo
simples e J > 0 para passo multiplo).
Uma regiao de estabilidade 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+1
i = uni + uni+1 (9.6.3)
e estavel se || + || 1.
e o metodo e estavel se || + || 1.
Exemplo 45.
Note que o metodo forward-time forward-space
vin+1 vin v n vin
+ a i+1 =0 (9.6.10)
k h
ou transformando,
n
vi+1 vin
vin+1 = vin ak (9.6.11)
h
vin+1 = (1 + a)vin avi+1
n
(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.
Backward-Time Backward-Space,
n+1 n+1
vin+1 vin v vi1
+a i =0 (9.8.3)
k h
Aula 16, 17 .
Analise de Esquemas de Diferencas Finitas
.
Strikwerda: Cap. 2
Captulo 10:
Analise de esquemas de diferencas finitas
10.1. Analise de Fourier
Seja R o eixo real contnuo, Z os inteiros e hZ = {hi : i Z} uma malha de inteiros.
Para u(x) R, a transformada de Fourier e sua inversa sao definidas como
Z
1
u() = eix u(x) dx (10.1.1)
2
Z
1
u(x) = eix u() d (10.1.2)
2
Relacoes de Parseval:
Z Z
kuk22 = |u(x)|2 dx = |u()|2 d = kuk22 (10.1.9)
e
Z /h
X
kvk2h = |v()|2 d = |vm |2 h = kvk2h (10.1.10)
/h
Esta relacao sera util para substituir a estimativa na estabilidade pela forma
equivalente
J
X
kv n kh CT kv j kh (10.1.11)
j=0
ux () = i u()
= kv 0 k2h (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) + aei |2 (10.2.17)
2 2 2 2
= (1 a + a cos ) + a sin (10.2.18)
= (1 2a sin2 )2 + 4a2 2 sin2 cos2 (10.2.19)
2 2 2
2 2 2 4
= 1 4a sin + 4a sin + 4a sin2 cos2
2 2
(10.2.20)
2 2 2 2
2
= 1 4a(1 a) sin (10.2.21)
2
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.
Exemplo 49.
Considere o metodo de Lax-Friedrichs
vmn+1
12 (vm+1
n n
+ vm1 ) v n vm1
n
+ a m+1 n
vm =0 (10.2.31)
k 2h
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)
2
(1 + k) (10.2.35)
se |a| 1. Note que como o PVI possui solucoes que crescem com o tempo, qualquer
esquema consistente e estavel para este PVI deve ter |g| > 1 para alguns .
Exemplo 50.
Considere o esquema em dois estagios composto pelo esquema FTCS e um operador
suavizante:
n+1 n 1 n n n
vm = vm a(vm+1 vm1 ) + kfm (10.2.42)
2
n+1 1 n+1 n+1 n+1
vm = (vm+1 + 2vm + vm1 ) (10.2.43)
4
Para aplicar a analise de Von Neumman, poderamos reescrever esse metodo
como uma unica equacao eliminando v. Entretanto, aplicando um procedimento similar,
n+1
substitumos vm por gg n eim e vm
n
por g n eim . Obtemos
g = 1 ia sin (10.2.44)
1
g = (1 + cos )g = g cos2 (10.2.45)
2 2
e
|g|2 = |g|2 cos4 = (1 + a2 2 sin2 ()) cos4 (10.2.46)
2 2
Para estabilidade devemos ter
(1 + a2 2 sin2 ()) cos4 1 (10.2.47)
2
(1 + 4a2 2 sin2 cos2 ) cos4 1 (10.2.48)
2 2 2
4a2 2 sin2 cos6 1 cos4 (10.2.49)
2 2 2
(1 cos2 )(1 + cos2 ) (10.2.50)
2 2
sin2 (1 + cos2 ) (10.2.51)
2 2
4a2 2 cos6 1 + cos2 (10.2.52)
2 2
que deve ser verdade .
Quando = 0, a condicao necessaria se torna
1
a2 2 (10.2.53)
2
Assumindo isto e que cos e limitado por 1 obtemos
4a2 2 cos6 2 cos2 1 + cos2 (10.2.54)
2 2 2
Assim, o esquema e estavel se e somente se
1
|a| (10.2.55)
2
Note que esse esquema requer mais trabalho por passo de tempo e possui uma
condicao de estabilidade mais restrita que o esquema de Lax-Friedrichs. Note tambem
que 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
v n + vm1 n
vmn+1
= m+1 (10.2.56)
2
1
akh3 (vm+2 n n
2vm+1 n
+ 2vm1 n
vm2 n
) + kfm (10.2.57)
2
Esse esquema e consistente com o PVI se k 1 h2 0 com k, h 0 (veja os exerccios).
O fator de amplificacao e
g() = cos + 4akh3 i sin sin2 (10.2.58)
2
e o esquema e estavel se e somente se
4|a|kh3 (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.
Exerccio 10.5. Mostre que o esquema BTCS (??) e consistente com ut + aux = 0
e e incondicionalmente estavel.
Exerccio 10.6. Verifique a condicao de estabilidade para o exemplo 51.
Exerccio 10.7. Mostre que o esquema box
n+1
n+1
(vm + vm+1 n
) (vm n
+ vm+1 ) (v n+1 vm n+1 n
) + (vm+1 n
vm )
+ a m+1 n
= fm (10.2.60)
2k 2h
e consistente com ut + aux = f e e estavel para todo .
Exerccio 10.8. Determine a estabilidade do esquema
n+ 1 n a n n n
vm 2 = vm (v vm1 ) + kfm (10.2.61)
2 m+1
n+1 n a n+ 12 n+ 1 n+1
vm = vm (vm+1 vm12 ) + kfm (10.2.62)
2
n+ 12
onde vm e uma variavel temporaria, como v.
Exerccio 10.9. Usando analise de von Neumann, mostre que o esquema de Lax-
Friedrichs reverso do exerccio 9.8.10 e estavel para |a| 1.
com o esquema FTFS 9.4.5. Use h = 0.1 e = 0.8. Demonstre que a instabilidade
numerica cresce por um fator de |g()| por unidade de tempo. Comente o aparecimento
n
da instabilidade no grafico de vm . Utilize a condicao de contorno un+1
M = un+1
M1 em
x = 3.
Exerccio 10.11.
a. Aproxime a solucao da equacao
ut + ux = 0, 1 x 3, 0 t 4 (10.3.6)
1 |x|, |x| 1
u1 (0, x) = (10.3.7)
0, c.c.
u(t, 1) = 0 (10.3.8)
usando o esquema FTCS 9.4.7. Use h = 0.1 e = 0.8. Use un+1
M = un+1
M1 em
x = 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 para
u2 (x). Mostre que o crescimento da instabilidade e aproximadamente |g(/2)|.
Use un+1
M = un+1
M1 para o contorno direito.
Captulo 11:
Secao 11.1: Esquema Lax-Wendroff 82
Ordem de Precisao
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
k a2 k
t + tt + ax xx + O(k 2 ) + O(h2 ). (11.2.9)
2 2
Secao 11.3: O smbolo de um esquema de DF 84
Exemplo 53.
O operador de diferencas para o esquema de Lax-Wendroff e
esk 1 ia a2 k 1
pk,h (s, ) = + sin h + 2 2 sin2 ( h) (11.3.2)
k h h 2
Secao 11.3: O smbolo de um esquema de DF 85
e
1 sk iak
rk,h (s, ) = (e + 1) sin h (11.3.3)
2 2h
Exemplo 54.
Vamos provar que o metodo de Crank-Nicolson e de ordem (2, 2). Utilizando (11.2.5)
un+1 unm un+1 un+1 n n
m1 + um+1 um1 f n+1 + fm
n
m
+ a m+1 = m (11.3.8)
k 4h 2
Devemos expandir em serie de Taylor, mas antes1 , multiplique por esk/2 = O(1) temos
esk/2 esk/2 esk/2 + esk/2 sin(h) esk/2 + esk/2
+ ia (s + ia) (11.3.13)
k 2 h 2
Utilizando as expansoes em serie de Taylor,
esk/2 esk/2 s3 k 2
=s+ + O(k 4 ) (11.3.14)
k 24
esk/2 + esk/2 s2 k 2
=1+ + O(k 4 ) (11.3.15)
2 8
sin(h) 3 h2
= + O(h4 ) (11.3.16)
h 6
obtemos
s3 k 2 s2 k 2 3 h2
[s + + O(k 4 )] + ia[1 + + O(k 4 )][ + O(h4 )]
24 8 6
s2 k 2
[1 + + O(k 4 )](s + ia)
8
s3 k 2 s2 k 2 3 h2
=s + + ia[1 + ][ ]
24 8 6
s2 k 2
[1 + ](s + ia) + O(k 4 + h4 + k 2 h2 )
8
k 2 s3 3 h2
= ia + O(k 4 + h4 + k 2 h2 )
12 6
=O(k 2 + h2 )
O que implica que o metodo e de ordem (2, 2).
11.5. Estabilidade LW e CN
Exemplo 55.
O esquema de Lax-Wendroff para ut + aux = 0 e
a n a2 2 n
un+1
m = unm (um+1 unm1 ) + (um+1 2unm + unm1 ) (11.5.1)
2 2
que possui fator de amplificacao
a i a2 2 i
g() = 1 (e ei ) + (e 2 + ei ) (11.5.2)
2 2
= 1 ia sin a2 2 (1 cos ) (11.5.3)
= 1 2a2 2 sin2 ia sin (11.5.4)
2
com magnitude
|g()|2 = (1 2a2 2 sin2 )2 + (2a sin cos )2 (11.5.5)
2 2 2
2
= 1 4a2 2 sin2 + 4a4 4 sin4 + 4a2 2 sin2 cos2 (11.5.6)
2 2 2 2
= 1 4a2 2 (1 a2 2 ) sin4 (11.5.7)
2
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
1 i 12 a sin
g() = (11.5.8)
1 + i 12 a sin
e
1 + ( 12 a sin )2
|g()|2 = =1 (11.5.9)
1 + ( 12 a sin )2
O que implica que o esquema e estavel , ou seja, incondicionalmente estavel.
possui ordem de precisao (2, 2) para ut + aux = f . Mostre que e estavel para todo .
Este exemplo ilustra o uso de pontos extras ou pontos fantasmas ou pontos fictcios
fora do domnio para auxiliar na determinacao de valores nos contornos.
Dificuldades extras aparecem com condicoes de contorno numericas, pois certas
condicoes de contorno podem causar instabilidades quando utilizadas com determi-
nados esquemas. Por exemplo, (11.6.1) e (11.6.2) juntas com o esquema leapfrog
sao instaveis, onde (11.6.3) e (11.6.4) sao estaveis. Para o esquema Crank-Nicolson,
(11.6.3) e (11.6.4) sao instaveis quando a > 2, porem (11.6.1) e (11.6.2) sao estaveis
(Cap.11, [11]).
A analise da instabilidade devida a condicao de contorno numerica adicional pode
se tornar algebricamente longa. Na pratica, em caso de suspeita de tal instabilidade, e
mais facil implementar outra condicao de contorno.
Exerccio 11.9. Resolva numericamente ut + ux = 0, 0 x 1 com o esquema
leapfrog 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).
%%%%%%%%%%%%%%%%%%%%%%
% 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
Aula 21, 22 .
Estabilidade para Passo Multiplo
.
Strikwerda: Cap. 4
Captulo 12:
Estabilidade para esquemas de passo multiplo
12.1. Estabilidade do esquema leapfrog
Considere a equacao ut + aux = 0 e o esquema Leapfrog
vin+1 vin1 v n vi1 n
+ a i+1 =0 (12.1.1)
2k 2h
Aplicando a transformada inversa de Fourier obtemos
Z /h
eimh (v n+1 () + 2ia sin(h)v n () v n1 ()) d = 0 (12.1.2)
/h
Secao 12.1: Estabilidade do esquema leapfrog 92
e como
p
g1 g2 = 2 1 a2 2 sin2 (12.1.28)
obtemos
p
1 + 1 a2 2 sin2 0
C1,2 = p v (12.1.29)
2 1 a2 2 sin2
Expandindo a raiz em serie de Taylor
2 2
a4 4
p 1 a
1 a2 2 sin2 = 1 a2 2 2 + 4 + O(6 ) (12.1.30)
2 6 8
1
= 1 a2 2 2 + O(4 ) (12.1.31)
2
obtemos a magnitude das constantes C1 e C2 como
1 + (1 21 a2 2 2 + O(4 )) 0
C1,2 = v (12.1.32)
2 + O(2 )
1 + 1 + O(2 ) 0
C1,2 = v (12.1.33)
2 + O(2 )
C1 = O(0 )v 0 (12.1.34)
2 0
C2 = O( )v (12.1.35)
Esta ultima formula nos mostra que para |h| pequeno, teremos C2 tambem
pequeno e a solucao se comporta como a de um metodo de passo simples com fator de
amplificacao 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 viaja
na direcao oposta da onda, Cap.5 [11]).
Exemplo 57.
Considere a solucao do problema
ut + aux = 0, 1 x 1 (12.1.36)
1
cos2 (xm ), |x|
u(0, x) = 2 (12.1.37)
0, c.c.
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 sera
aumentada pelo modo parasita.
Plotando o grafico para t = 0.45 temos que a solucao esta se movendo para
a direita e para t = 1.80 esta se movendo para a esquerda. A condicao de contorno
inconsistente gera um modo parasita oscilatorio e se movendo na direcao errada. Em
t = 3.6 o modo parasita foi convertido para o pulso original pela condicao de contorno
a esquerda.
Em qualquer calculo com metodos de passo multiplo, existirao modos parasi-
tas. Em muitos casos eles devem ser eliminados ou reduzidos. Podemos reduzir eles
utilizando dissipacao.
Secao 12.1: Estabilidade do esquema leapfrog 95
Exemplo 58.
Considere o esquema leapfrog de ordem (2, 4)
vin+1 vin1 v n + 8vi+1 n n
8vi1 n
+ vi2
+ a i+2 =0 (12.1.38)
2k 12h
onde a equacao para o fator de amplificacao e
2
g 2 + 2gia(1 + sin2 ) sin 1 = 0 (12.1.39)
3 2
4 cos
g 2 + 2gia( ) sin 1 = 0 (12.1.40)
3
que possui fatores de amplificacao
r
4 cos 4 cos 2 2
g1,2 = ia sin 1 a2 2 ( ) sin (12.1.41)
3 3
A condicao para estabilidade (e razes diferentes) e
4 cos
|a|| sin | < 1 (12.1.42)
3
para . O extremo dessa funcao ocorre quando
d
[(4 cos ) sin ] = 1 + 4 cos 2 cos2 = 0 (12.1.43)
d
ou seja, quando
r
3
cos = 1 (12.1.44)
2
Substituindo em (12.1.42) obtemos que a condicao necessaria e suficiente para estabi-
lidade e
1 12
1 3
|a| < 1 + 6 . (12.1.45)
6 2
vm+1 vm
+ vm = (12.1.46)
h
vm vm1
vm = (12.1.47)
h
vm+1 vm1
0 vm = (12.1.48)
2h
Secao 12.2: Estabilidade para esquemas de passo multiplo 96
Exerccio 12.3. Um certo esquema com ordem de precisao (3, 4) possui polinomio
de amplificacao
= (23 12 + 12i)g 3 (21 12 12i)g 2 3g + 1 (12.2.14)
a2 2 sin2 (/2)
= (12.2.15)
1 23 sin2 (/2)
a sin()
= (12.2.16)
1 23 sin2 (/2)
3 Os coeficientes C () sao determinados pelos dados iniciais nos nveis n = 0 a J 1 e podem
P 1 j
ser limitados por C J 0 |v |.
98
Aula 23, 24 .
Equacoes Diferenciais Parciais Parabolicas
.
Strikwerda: Cap. 6
Captulo 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 2 u (13.1.3)
que possui solucao
2
u(t, ) = eb t u0 () (13.1.4)
e aplicando a transformada inversa obtemos a solucao
Z
1 2
u(t, x) = eix eb t u0 () d (13.1.5)
2
A solucao mostra que u(t, x) e obtida pelo amortecimento dos modos de alta frequencia
de u0 .
Utilizando a condicao inicial
Z
1
u0 = eiy u0 (y) dy (13.1.6)
2
na solucao obtemos
Z Z
1 2 1
u(t, x) = eix eb t eiy u0 (y) dy d (13.1.7)
2 2
Z Z
1 1 2
= eix eb t eiy d u0 (y)dy (13.1.8)
4
Secao 13.2: Sistemas parabolicos 99
FTCS
vmn+1 n
vm v n 2vmn n
+ vm1
= b m+1 2
(13.3.1)
k h
Secao 13.3: Diferencas finitas 100
ou
n+1 n n n
vm = (1 2b)vm + b(vm+1 + vm1 ) (13.3.2)
onde = k/h2 . O esquema e claramente de 1.a ordem no tempo e 2.a ordem no
espaco. A analise da estabilidade e feita da mesma forma que anteriormente, ou seja,
n
substitumos vm por g n eim . O fator de amplificacao satisfaz
g1 ei 2 + ei
=b (13.3.3)
k h2
bk
g = 1 + 2 (ei + ei 2) (13.3.4)
h
g = 1 4b sin2 ( ) (13.3.5)
2
Como g e real, a condicao de estabilidade |g| < 1 e equivalente a
4b sin2 ( ) 2 (13.3.6)
2
que e satisfeita se e somente se
1
b (13.3.7)
2
Note que quanto |g| < 1 implica em um decrescimento da solucao, uma propriedade
desejada para esquemas parabolicos, ja que a solucao numerica se tornara mais suave
com o tempo, semelhante a EDP.
A condicao de estabilidade implica que k < h2 /(2b), o que pode tornar-se muito
severo a medida que h diminui.
Crank-Nicolson
n+1 n n+1 n+1 n+1
vm vm b vm+1 2vm + vm1
=
k 2 h2
n n n n+1 n
b vm+1 2vm + vm1 fm + fm
+ + (13.3.9)
2 h2 2
Secao 13.3: Diferencas finitas 101
Leapfrog
n+1
vm n1
vm v n 2vm
n n
+ vm1
= b m+1 n
+ fm
2k h2
(13.3.10)
Esquema Du Fort-Frankel
n+1
vm n1
vm v n (vm
n+1 n1
+ vm n
) + vm1
= b m+1 n
+ fm
2k h2
(13.3.11)
Pode ser visto como uma modificacao do esquema leapfrog. O esquema e explcito,
incondicionalmente estavel e possui ordem O(h2 ) + O(k 2 ) + O(k 2 h2 ). O esquema e
nao-dissipativo, o que limita sua utilidade. Pode ser reescrito como
n+1 n n n1
(1 + 2b)vm = 2b(vm+1 + vm1 ) + (1 2b)vm (13.3.12)
O polinomio de amplificacao e
(1 + 2b)g 2 4b cos g (1 2b) = 0 (13.3.13)
que possui solucao
p
2b cos 1 4b2 2 sin2
g1,2 = (13.3.14)
1 + 2b
Se 1 4b2 2 sin2 0, entao
p
2b| cos | + 1 4b2 2 sin2
|g1,2 | (13.3.15)
1 + 2b
2b + 1
=1 (13.3.16)
1 + 2b
e se 1 4b2 2 sin2 < 0, entao
(2b cos )2 + 4b2 2 sin2 1
|g1,2 |2 = (13.3.17)
(1 + 2b)2
4b2 2 1
= 2 2 <1 (13.3.18)
4b + 4b + 1
Assim, , temos |g1,2 | < 1. Alem disso quando g1 = g2 ambos sao menores que 1
implicando estabilidade.
Entretanto o esquema Du Fort-Frankel e consistente somente se k/h tende a
zero com k e h.
Secao 13.4: Dissipacao e suavidade 102
para v 0 e n 0.
Podemos usar o teorema para mostrar que solucoes se tornam mais suaves com
o tempo, i.e., a norma das derivadas de alta ordem sao limitadas e tendem a zero numa
taxa que e mais rapido que a norma de u. Como |g| 1, temos
kv +1 kh kv kh (13.4.2)
Como + v tambem e solucao do esquema, temos
k+ v +1 kh k+ v kh (13.4.3)
portanto do teorema,
kv n+1 k2h + ctk+ v n k2h kv 0 k2h (13.4.4)
o que mostra que para nk = t > 0 que k+ v n k2h e limitado. De fato, temos
k+ v n k2h Ct1 kv 0 k2h (13.4.5)
o que mostra que k+ v n k2h 0 quando t aumenta.
Como + v n satisfaz a equacao a diferencas, temos que nk = t > 0 e r inteiro
r n 2
que k+ v kh e limitado. Assim a solucao do esquema de diferencas, se torna mais
suave quando t aumenta.
Esquema A:
n+1/2 n 1
vm = vm + kb 2 vm n
(13.5.5)
2
n+1 n
vm = vm + kb 2 vm
n+1/2
(13.5.6)
Esquema B:
n+1 n
vm = vm + kb 2 vm
n
(13.5.7)
n+1 n 1
vm = vm + k( 2 vmn+1
+ 2 vm
n
) (13.5.8)
2
para uma solucao qualitativamente correta. Usando qualquer esquema, investigue esta
equacao e as limitacoes acima. Justifique suas conclusoes com algumas simulacoes
bem-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, e
o media de u e a. Note que a magnitude maxima da derivada da solucao dividida pela
variacao total em u e c/4b.
Aula 25, 26 .
Sistemas de EDPs
.
Strikwerda: Cap. 7
Captulo 14:
Sistemas Bidimensionais e Tridimensionais
U n () =
..
(14.2.3)
.
nK
u ()
1 Toda matriz M pode ser decomposta como M = U T U 1 , onde U e unitaria (U 1 = U T ) e T
e triangular superior.
Secao 14.3: Duas e tres dimensoes 109
e G e a matriz companheira
A
0 A1 AK1
AK
I
G(h) = (14.2.4)
..
0
.
I
Para EDPs escalares os metodos na secao 12.2 sao mais faceis de utilizar. Para
sistemas, nao ha analogo a decomposicao de Schur como visto anteriormente para
metodos de passos simples, portanto a conversao para o sistema acima e desejada.
Exerccio 14.1. Analise a estabilidade do esquema leapfrog transformando-o em um
sistema. Mostre que esta analise fornece a mesma conclusao como visto na secao 12.2.
Exerccio 14.2. Mostre que o esquema de Lax-Friedrichs aplicado a
u 1 1 u
+ =0 (14.2.5)
v t 0 1 v x
e instavel (esta equacao e um sistema fracamente hiperbolico).
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 uni+1,j uni,j
(tn , xi,j , yi,j ) , (14.3.2)
x h1
a derivada central em y e
u uni,j+1 uni,j1
(tn , xi,j , yi,j ) (14.3.3)
y 2h2
e a derivada temporal e
u un+1 n
i,j ui,j
(tn , xi,j , yi,j ) (14.3.4)
t k
Secao 14.3: Duas e tres dimensoes 110
14.3.2. Analise
O metodo de von Neumann pode ser estendido diretamente para o caso de duas e tres
dimensoes.
Exemplo 62.
Considere o esquema leapfrog padrao para o sistema
ut + Aux + Buy = 0 (14.3.7)
onde A, B Rdd . O esquema pode ser escrito como
(0t + A0x + B0y )uni,j = 0 (14.3.8)
ou
un+1 n1
i,j ui,j
+ A0x uni,j + B0y uni,j = 0 (14.3.9)
2k
ou
un+1 n1
i,j ui,j uni+1,j uni1,j uni,j+1 uni,j1
+A +B =0 (14.3.10)
2k 2h1 2h2
A transformada de Fourier de un () = un (1 , 2 ) satisfaz a relacao
v n+1 () + 2i(1 A sin(h1 ) + 2 B sin(h2 ))v n () v n1 () = 0 (14.3.11)
onde 1 = k/h1 e 2 = k/h2 . Por ser de passo multiplo, podemos reescrever como um
sistema de passo simples e analisar Gn . Entretanto, para obter estimativas e necessario
assumir algumas hipoteses em A e B. A mais comum e que A e B sejam diagonalizaveis
simultaneamente, ou seja, P tal que P AP 1 e P BP 1 sejam matrizes diagonais.
Usando w = P v obtemos
wn+1 () + 2i(1 sin(h1 ) + 2 sin(h2 ))wn () wn1 () = 0 (14.3.12)
1
para = 1, . . . , d, onde e sao os elementos da diagonal de P AP e P BP 1 .
O restante da analise e similar a equacao (12.1.5). Conclumos entao que o esquema e
estavel 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+1
i,j ui,j
n1
uni,j+1 + uni,j1 uni+1,j + uni1,j
+ A0x + B0y =0 (14.3.14)
2k 2 2
Similarmente ao exemplo anterior se A e B sao simultaneamente diagonalizaveis temos
que 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 (esta
tambem e a condicao necessaria). Este metodo permite o passo de tempo k ser maior
do que no exemplo anterior.
14.4. Time-Split
O metodo de Time-Split e uma maneira de reduzir um problema multidimensional para
uma sequencia de problemas unidimensionais (Yanenko). Considere a equacao
ut + P1 u + P2 u = 0 (14.4.1)
onde P1 = A x e P2 = B y
(nao e necessario que Pi esteja associado com uma
dimensao especfica).
A ideia e resolver duas equacoes de t0 ate t0 + k:
ut + 2P1 u = 0, t [t0 , t0 + k/2] (14.4.2)
ut + 2P2 u = 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 tambem
nao 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 esquema
time-split de MacCormack [7] (veja tambem 11.1. Para o sistema ut + Aux + Buy = 0
com x = y = h, o esquema forward-backward de MacCormack e
n+1/2
ui,j = uni,j A(uni+1,j uni,j ) (14.4.4)
n+1/2 1 n+1/2 n+1/2 n+1/2
ui,j = (uni,j + ui,j A(ui,j ui1,j )) (14.4.5)
2
n+1/2 n+1/2 n+1/2
un+1
i,j = ui,j B(ui,j+1 ui,j ) (14.4.6)
1 n+1/2
un+1
i,j = (ui,j + un+1 n+1 n+1
i,j B(ui,j ui,j1 )) (14.4.7)
2
112
Uma vantagem de tal metodo e que cada estagio esta separado, facilitando a imple-
mentacao em computadores em paralelo.
Captulo 15:
Esquema ADI
O metodo Implcito com Direcoes Alternadas (Alternating Direction Implicit) e bas-
tante utilizado com equacoes parabolicas.
A equacao
ut = b11 uxx + b12 uxy + b22 uyy (15.0.1)
e parabolica se b11 , b22 > 0 e b212 < b11 b22 . O exemplo mais comum e a equacao do
calor bidimensional
ut = b1 uxx + b2 uyy (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 problema
bidimensional numa sucessao de problemas unidimensionais.
2 2
Sejam os operadores lineares A1 = b1 x 2 e A2 = b2 y 2 e assuma que sabemos
15.2.1. Estabilidade
Utilizando analise de von Neummann, podemos obter que o metodo ADI de Peaceman-
Rachford e incondicionalmente estavel.
Substitumos uni,j por g n ei ej e ui,j por gg n ei ej e obtemos
(1 + 2b1 1 sin2 (/2))g = 1 2b2 2 sin2 (/2) (15.2.2)
2 2
(1 + 2b2 2 sin (/2))g = g(1 2b1 1 sin (/2)) (15.2.3)
Assim
(1 2b2 2 sin2 (/2))(1 2b1 1 sin2 (/2))
(1 + 2b2 2 sin2 (/2))g = (15.2.4)
(1 + 2b1 1 sin2 (/2))
15.3. Implementacao
E necessario uma malha (xi,j , yi,j ) = (ix, jy) para i = 0, . . . , M e j =
0, . . . , N . Para a solucao sao necessario 3 matrizes R(M+1)(N +1) : U , U e
U new.
Primeiramente devemos resolver o sistema (15.1.1) para calcular U a partir de U .
Note que temos que resolver
b1 1 b1 1
ui1,j + (1 + b1 1 )ui,j ui+1,j =
2 2
b2 2 b2 2
ui,j1 + (1 b2 2 )ui,j + ui,j+1
2 2
para i = 1, . . . , M 1 e j = 1, . . . , N 1. Este sistema de equacoes consiste de
M 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) para
u0,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 U new a partir de U .
O processo e similar ao anterior, porem o sistema consiste de L 1 sistemas
tridiagonais. Para cada i, o sistema pode ser resolvido para U newi,j . As condicoes
de contorno sao especificadas para cada unewi,j no contorno.
Aula 27 .
Equacoes de Segunda Ordem
.
Strikwerda: Cap. 8
Captulo 16:
Equacoes de segunda ordem
16.1. Equacao da Onda
Considere a equacao da onda de segunda ordem
utt a2 uxx = 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
x+at
u0 (x at) + u0 (x + at) 1
Z
u(t, x) = + v0 (y)dy (16.1.4)
2 2a xat
Note que temos duas velocidades caractersticas, a e a.
Aplicando a transformada de Fourier obtemos
sin(at)
u(t, ) = u0 () cos(at) + v0 () (16.1.5)
a
= u+ ()eiat + u ()eiat (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
Exemplo 65.
Considere a EDP utt = a2 uxx e o esquema
n n n
un+1
m 2unm + un1
m 2 um+1 2m + um1
= a (16.2.4)
k2 h2
A equacao para o fator de amplificacao e
g 2 2g + 1 = 4a2 2 sin2 g (16.2.5)
2
que possui solucao
r
2
2 2
g1,2 = 1 2a sin 2 a4 4 sin4 a2 2 sin2
2 2 2
Temos que |g | 1 se e somente |a| 1.
A solucao para razes diferentes e
v n = C1 ()g1n + C2 ()g2n (16.2.6)
e para razes iguais
v n = D1 ()g n + 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 = a2 uxx e o esquema de ordem (2, 4)
n n n n n
un+1
m 2unm + un1m 2 um+2 + 16um+1 30um + 16um1 um2
= a (16.2.8)
k2 12h2
h2
= a2 (1 2 )unm (16.2.9)
12
A equacao para o fator de amplificacao e
2 cos 2 + 32 cos 30
g 2 2g + 1 = a2 2 ( )g (16.2.10)
12
4
= a2 2 sin2 (3 + sin2 )g (16.2.11)
3 2 2
Calculando g temos que o esquema e estavel se e somente se
1 2 2 2
a sin (3 + sin2 ) 1 (16.2.12)
3 2 2
3
o que ocorre quando a .
2
Secao 16.3: Condicoes de contorno 119
Aula 28 .
Equacoes Diferenciais Parciais Elpticas
.
Strikwerda: Cap. 12
Captulo 17:
Equacoes Diferenciais Parciais Elpticas
17.1. Equacao de Poisson
Considere a equacao de Poisson
uxx + uyy = f (x, y) (17.1.1)
no domnio . O operador Laplaciano e denotado por
2 2
2 = 2
+ 2 (17.1.2)
x y
e a equacao homogenea
2 u = 0 (17.1.3)
e chamada equacao de Laplace
Para 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 Dirichlet
representa a temperatura fixa no contorno e a condicao de Neumann representa um
fluxo de calor fixo no contorno.
Outros exemplos de equacoes elpticas 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
4 1 ... 0
1 4 1 0 0
D=
.. .. ..
(17.4.8)
. . .
1 4 1
0 ... 1 4
e I e a matriz identidade. O vetor b e a matriz fi,j escrita por linhas acompanhada das
condicoes de contorno.
Devemos portanto calcular
u = A1 b (17.4.9)
Entretanto calcular A1 pode tornar-se custoso. A ideia e resolver o sistema
iterativamente.
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-point
arithmetic. 4
[4] D. Gottlieb. Strang-type difference schemes for multidimensional problems. SIAM
J. Numer. Anal, 9:650661, 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 with
a laminar boundary layer. Proceedings of the Second International Conference
on Numerical Methods in Fluid Dynamics: September 1519, 1970 University of
California, Berkeley. Editor: Maurice Holt, Lecture Notes in Physics,, 8:151163,
1971. 111
[8] DW Peaceman and HH Rachford. The numerical solution of parabolic and elliptic
differential equations. J. Soc. Indust. Appl. Math, 3(1):2841, 1955. 113
[9] C. Scherer. Metodos computacionais da fsica. Editora Livraria da Fsica, 2005. 3
[10] G. Strang. On the construction and comparison of difference schemes. SIAM J.
Numer. Anal, 5(3):506517, 1968. 111
[11] J.C. Strikwerda. Finite Difference Schemes and Partial Differential Equations.
Wadsworth & Brooks, 1989. 72, 75, 80, 85, 86, 90, 93, 94