Você está na página 1de 25

PRECISÃO DE MÉTODOS NUMÉRICOS

Exemplo de Método de uma Raiz

• Vimos que o método de marcha no tempo “Leap Frog” possui uma


raiz espúria que não permite que o método reproduza exatamente a
física associada à equação representativa;

• Na presente seção, vamos apresentar um método de marcha no


tempo que não possui raízes espúrias.
PRECISÃO DE MÉTODOS NUMÉRICOS

• O método que vamos apresentar é conhecido como método de Runge-


Kutta de segunda ordem;

• É uma combinação dos dois métodos apresentados na seção anterior,


Euler Explícito e “Leap Frog”.

~ 1 du 
un1/ 2  un  h 
2 dt n
du~  (4.97)
un1  un  h 
dt n1/ 2
PRECISÃO DE MÉTODOS NUMÉRICOS

Substituindo a equação representativa nas Eqs. (4.97), para eliminar


as derivadas temporais, obtemos as Eqs. (4.98);

du
 u (4.78)
dt
~ 1 du 
u
 n1/ 2  un  h 
2 dt n
 ~ (4.97)
un1  un  h du
 dt n1/ 2

~ 1
u n 1/ 2  un  hun
 2 (4.98)
 un 1  u n  hu~n 1/ 2
PRECISÃO DE MÉTODOS NUMÉRICOS

Utilizando o operador deslocamento nas Eqs. (4.98), obtemos as


Eqs. (4.99).

~ 1
u n 1/ 2  un  hun
 2 (4.98)
 un 1  u n  hu~n 1/ 2

 1/ 2 ~ 1
 E u n  un  hun
 2 (4.99)
 Eun  un  hE 1/ 2u~n

Escrevendo na forma matricial,

  1 
 E 1/ 2
 1  h  u~n 
  2  u   0
 hE
1/ 2
E  1   n 
PRECISÃO DE MÉTODOS NUMÉRICOS

Portanto, o polinômio característico do sistema de equações de


diferenças finitas é obtido pelo determinante da matriz resultante
ao substituirmos o operador deslocamento E por , veja a
Eq.(4.100).

1
 1/ 2
 (1  h)
P( )  2 (4.100)
 h 1/ 2 ( 1)
ou

1 2 2
P( )   1/ 2
( 1  h   h )
2
PRECISÃO DE MÉTODOS NUMÉRICOS

• Resolvendo a equação P()=0, obtemos uma única raiz do


polinômio característico, conforme mostra a Eq. (4.101);

• Portanto, a solução numérica exata da equação representativa é


mostrada na Eq. (102).

1 2 2
  1  h   h (4.101)
2
un  C1 n (4.102)
ou
n
 1 2 2
u n  C1  1   h   h 
 2 
PRECISÃO DE MÉTODOS NUMÉRICOS

• Comparando as Eqs. (4.102) e (4.80), vemos que a solução numérica exata


(4.102) tenta reproduzir a solução analítica da equação representativa até o
termo de segunda ordem;

• Portanto, o método de Runge-Kutta de segunda ordem é de segunda


ordem;

• O método de Runge-Kutta não possui raízes espúrias, o que o torna um


excelente método de marcha no tempo.
n
 1 2 2
un  C1 1  h   h  (4.102)
 2 
n

 
u (t )  C1 e h n  1 2 2 1 3 3 
 C1 1  h   h   h  
2 6
(4.80)
 
PRECISÃO DE MÉTODOS NUMÉRICOS

Exemplos de Métodos de Marcha no Tempo

• Apresentaremos os métodos de marcha no tempo mais utilizados na


solução de equações diferenciais;

• As possibilidades são infinitas, pois existe um número infinito de métodos


de marcha no tempo;

• Porém, na hora de escolher o método indicado para resolver o nosso


problema, devemos considerar o balanço entre custo e benefício;

• Quanto mais preciso o método, maior será o tempo necessário para se


obter a solução do problema e maior será a quantidade de memória
necessária para armazenar as informações;

• Os métodos de marcha no tempo que vamos apresentar são o


compromisso entre custo e benefício, considerando-se os recursos
computacionais atuais.
PRECISÃO DE MÉTODOS NUMÉRICOS

Método “Multistep” Linear Consistente de Dois Passos.

1  un1  1 2 un  un1   hun 1  1   un un 1  (4.115)

Segunda ordem:
    1 2 (4.116)

    1 2
Terceira ordem: (4.117)
  2  5 6

(4.118)
Quarta ordem:      3  1 6
PRECISÃO DE MÉTODOS NUMÉRICOS

Métodos Explícitos Simples.

Euler Explícito: un1  un  hun (4.119)

Leap Frog: un1  un1  2hun (4.120)

1
Adams – Bashforth (AB2): un1  un  h3un  un 1  (4.121)
2
PRECISÃO DE MÉTODOS NUMÉRICOS

Métodos Implícitos Simples

Euler Implícito: un1  un  hun 1 (4.122)

1
Trapezoidal:
(Crank – Nicholson) un1  un  hun 1  un 
2 (4.123)

1
Backward
Differentiation: u n 1  4u n  un 1  2hun 1  (4.124)
3
h
Adams
Moulton:
un 1  un  5un 1  8un  un 1 
12
PRECISÃO DE MÉTODOS NUMÉRICOS

Seqüências predictor – corrector

u~n1  un  hun
MacCormack: 1 (4.125)
un1  un  u~n1  hu~n1 
2

1
u n 1  u n  h3un  u n 1 
~
2 (4.126)
Adams – Moulton:
1
u n 1  u n  h5u~n1  8u n  u n 1 
12
PRECISÃO DE MÉTODOS NUMÉRICOS

Métodos de Runge – Kutta

~ 1
un 1 2  un  hun
RK2: 2 (4.127)
un 1  un  hu~n1 2

1
u~n 1 2  u n  hu n
2
1 ~
u n 1 2  u n  hu n1 2 (4.128)
RK4: 2
uˆ n 1  un  hu n1 2


u n 1  un  h uˆ n 1  2un1 2  u~n1 2   u n
1
6

PRECISÃO DE MÉTODOS NUMÉRICOS

Método de Lax-Wendroff.

• O método de Lax-Wendroff não pertence a nenhuma das categorias


discutidas anteriormente, onde somente aparecem derivadas
temporais de primeira ordem em suas expressões;

• No presente método, trabalhamos com derivadas temporais de


ordem superior, pois o método é baseado na expansão em série de
Taylor da função u(t) que queremos determinar;
PRECISÃO DE MÉTODOS NUMÉRICOS

Podemos trabalhar com qualquer ordem de precisão que


desejarmos, desde que consigamos determinar as derivadas
temporais de ordem superior que aparecem na expansão em série
de Taylor.

u  1 2  2u  1 l  lu 
un1  un  h   h 2    h l   hO(hl ) (4.129)
t n 2 t n l! t n
PRECISÃO DE MÉTODOS NUMÉRICOS

Como exemplo, vamos resolver o problema da convecção definido


pela equação modelo de convecção, Eq. (4.130), utilizando o
método de Lax-Wendroff de segunda ordem, Eq. (4.133).

u u
c  0 (4.130)
t x

u  1 2  2u  (4.133)
un1  un  h   h 2   hO(h2 )
t n 2 t n
PRECISÃO DE MÉTODOS NUMÉRICOS

Derivando a Eq. (4.130) em relação ao tempo e invertendo a


ordem da derivada espacial com a derivada temporal, obtemos a
Eq. (4.131).

u u
 c (4.130)
t x
 2u  2u (4.131)
 c
ou t 2
tx

 2u   u 
 c  
t 2
x  t 
PRECISÃO DE MÉTODOS NUMÉRICOS

Substituindo a Eq. (4.130) na Eq. (4.131), para eliminar a derivada


temporal dentro dos parênteses do lado direito da Eq. (4.131).

u u
 c (4.130)
t x
 2u   u  (4.131)
 c  
t 2
x  t 

 2u   u 
 c   c  (4.132)
t 2
x  x 
ou
 2u 2  2u
c
t 2
x2
PRECISÃO DE MÉTODOS NUMÉRICOS
Substituindo as Eqs. (4.130) e (4.132) na expressão do método de Lax-
Wendroff de segunda ordem, mostrada na Eq. (4.133), obtemos a Eq.
(4.134).

u u
 c (4.130)
t x
 2u 2  2u (4.132)
c
t 2
x2
u  1 2  2u 
un1  un  h   h 2   hO(h2 ) (4.133)
t n 2 t n

u  1 2 2  2u  (4.134)
un1  un  hc   h c 2   hO(h2 )
x n 2 x n
PRECISÃO DE MÉTODOS NUMÉRICOS

Substituindo as aproximações de diferenças centradas mostradas na Eq. (4.135)


na Eq. (4.134), obtemos a expressão final do método de Lax-Wendroff aplicado
à equação modelo de convecção;

u  1 2 2  2u 
un1  un  hc   h c 2   hO(h2 ) (4.134)
x n 2 x n

 u ui 1  ui 1
 x   x u   O ( x 2
)
2x (4.135)
  2u
 2   xxu  ui 1  2ui2  ui 1  O(x 2 )
 x x

2
n1
ui
n 1
 ui  
  n
hc
 n
 1   n
hc
 n n
2 2
 ui 1  ui 1    ui 1  2ui  ui 1  hO ( h )  O ( x )
2  x  2  x 

(4.136)
PRECISÃO DE MÉTODOS NUMÉRICOS

O coeficiente entre parênteses da Eq. (4.136) é conhecido como


número de Courant-Friedrichs-Lewy ou simplesmente como número
de CFL;

O CFL está inteiramente relacionado com a estabilidade do método;

n1
ui
n 1  hc  n
 ui    n
 ui 1  ui 1 
2  x  (4.136)
2
  ui 1  2ui  ui 1   hO ( h )  O ( x )
1  hc  n n n 2 2

2  x 
PRECISÃO DE MÉTODOS NUMÉRICOS

Vamos mostrar que o método de Lax-Wendroff é equivalente ao método


“predictor-corrector” de MacCormack. Para tanto, devemos lembrar que:

 xxui   x  x ui
 x ui   x ui (4.137)
 x ui 
onde 2

u i 1  u i 1
 xui 
2x
(4.138)
u  2 u i  u i 1
 xx u i  i 1
x 2
u i 1  u i
 xui 
x
u i  u i 1
 xui 
x
PRECISÃO DE MÉTODOS NUMÉRICOS

A expressão para o método de Lax-Wendroff de segunda ordem, Eq. (4.136),


escrita utilizando-se os operadores x e xx toma a forma mostrada na Eq.
(4.139).
n1
ui
n 1  hc  n
 ui    n
 ui 1  ui 1  
2  x 
(4.136)
2
 
1  hc  n
 n n
 2 2
 ui 1  2ui  ui 1  hO ( h )  O ( x )
2  x 

u n 1
i
n
i
1
2
n

2

1 2 2
 u  hc 2 x ui  h c  xxuin (4.139)

ou
 1 1 
uin 1  1  hc2 x   h 2 c 2 xx uin
 2 2 
ou

u in 1 
1
2
  
1  1  hc 2 x   h 2 c 2 xx u in
PRECISÃO DE MÉTODOS NUMÉRICOS

Substituindo as Eqs. (4.137) na Eq. (4.139), resulta a Eq. (4.140).

 x ui   x ui
 xxui   x  x ui  x ui  (4.137)
2

u in 1 
1
2
 
1  1  hc 2 x   h 2 c 2 xx u in  (4.139)

1
 
uin1  1 1 hcx  hcx  h2c2x x uin
2
 (4.140)

ou
1
u n1
i  1 1 hcx 1 hc x uin
2

u~in 1  1  hc x uin



 n 1 1 n (4.141)
u
 i


2
u i  1  hc  x ~ n 1
u i 
PRECISÃO DE MÉTODOS NUMÉRICOS

• Partimos do método de Lax-Wendroff de segunda ordem e


chegamos ao método predictor-corrector de MacCormack;

• Mostrando assim a equivalência entre os dois métodos.

 ~ n 1
u
 i  u n
i 
hc n
x

u i 1  u n
i
(4.142)

 2  x
 
uin 1  1 uin  u~in 1  hc u~in 1  u~in11 


Você também pode gostar