Aula Teórica
Séries de Taylor e resolução numérica
da equação de advecção - difusão
Equações que vamos resolver
• Conservação da massa:
ck
t

u j ck
x j
  c


 x j   x j

  (F  P )
k
k


• Num modelo Hidrodinâmico também a equação de
Transporte de Quantidade de Movimento:
 u
u i 

i


uj
 t
 x

x
j 
j

 u 
i 

 ( Pressão  Gravidade )
 x 
j 

Como se resolvem as equações
• Métodos Numéricos:
• Diferenças finitas/Volumes finitos
• Elementos Finitos/Elementos de fronteira.
• Como se constrói o método das diferenças
finitas?
• Série de Taylor:
t
c
t  t
i
t   c
 c 
 2
 c  t
 
2!   t
 t  i
t
i
2
2
t

t   c
 
 3

3!   t
i
3
3
t

t   c
  .... 
 n

n!   t
i
n
n
t



i
O que representa a série de Taylor?
t
t  t
ci
t   c
 c 
t
 2
 ci   t 


2!   t
 t  i
2
2
t

t   c
 
 3

3!   t
i
3
3
t

t   c
  .... 
 n

n!   t
i
n
n
t



i
c
Outras
derivadas
Δc
Δc 1ª Derivada: Δc/ Δt
Δt
t1
t1+Δt
t
Como usar para calcular as derivadas?
t
c
t   c
 c 
 2
 c  t
 
2!   t
 t  i
t  t
i
t
i
2
2
t

t   c
 
 3

 t
3
!
i

3
3
t

t   c
  .... 
 n

 t
n
!
i

n
n
t
t  t
ci
 c 
t
2
 ci   t 
  ( t )
 t i
t
t  t
ci
 ci
 c 
 ( t )

 
t
 t  i
t
Método Explícito: A derivada é calculada à esquerda “em t” e tem precisão de 1ª ordem,
ou seja, as derivadas que foram ignoradas estão multiplicadas por (  t )
Isto significa que o erro do cálculo aumenta quando o passo de tempo aumenta.
t



i
Mas poderia ter feito calculado a
derivada à direita
t  t
c c
t
i
t  t
i
 c 
 t

 t  i
t   c
 2

2!   t
2
2
t  t



i
t   c
 3

3!   t
3
3
t  t



i
t   c
 n
 .... 
n!   t
t  t
t  t
ci  ci
t
 c 
 t

 t  i
t  t
 c 


 t  i
t  t

ci
 ci
t
 ( t )
2
t
 ( t )
Método Implícito: A derivada é calculada à direita “em t+dt” e tem precisão
de 1ª ordem, ou seja, todas as derivadas que foram ignoradas estão
multiplicadas por (  t )
Isto significa que o erro do cálculo aumenta quando o passo de tempo
aumenta. Os métodos implícitos e explícitos têm a mesma precisão.
n
n
t  t



i
Para calcular a derivada no centro do intervalo teria
que calcular os valores nos extremos a partir daquele
t  t / 2
c
t  t
i
c
t  t / 2
i
 c 
   t / 2 

 t  i

2!
t  t / 2
c c
t
i
t  t / 2
i
  t / 2 2
 c 
   t / 2 

 t  i

  t / 2 2
2!
  2c
 2
 t

  2c
 2
 t

t  t / 2



i

3!
t  t / 2



i
  t / 2 3   3 c 

 3 
 t 

i
  t / 2 3   3 c 
3!
t  t / 2
 .... 
n!
t  t / 2
 3 
 t 

i
  t / 2 n
 .... 
  t / 2 n
n!
  nc
 n
 t

  nc
 n
 t

t  t / 2



i
t  t / 2



i
Subtraindo uma da outra:
t  t / 2
t  t
ci

 c 
t
 ci    t 

 t  i
t  t / 2
 c 



t

i
t  t

ci
 ci
t
t
   t / 2 

   t / 2 
2
3


Neste método a derivada é calculada no centro do intervalo de tempo e
tem precisão de 2ª ordem. Dá a solução exacta até uma evolução
parabólica. As derivadas ignoradas estão multiplicadas por  t / 2  2
O que representa a série de Taylor?
t
t  t
ci
c
t   c
 c 
t
 2
 ci   t 


2!   t
 t  i
Método Explícito
2
2
t

t   c
 
 3

3!   t
i
3
3
t

t   c
  .... 
 n

n!   t
i
n
n
t



i
Método Implícito
Outras
derivadas
Δc
1ª Derivada: Δc/ Δt
Δt
Método Diferenças Centrais
t1
t1+Δt
t
Derivadas espaciais
t
c
t
i  x
x
 c 
 c  x
 
2!
 x  i
t
i
2
 c
 2
 x

2
t

x   c
 
 3

 x
3
!
i

3
3
t

x
  .... 

n!
i
t
n
 c
 n
 x

 c 
t
t
2
ci  x  ci   x 
  ( x )
 t  i
Derivada à direita, Método downwind, se
t
velocidade positiva
t
t
ci  x  ci
 c 
 ( x )

 
x
 x i
Neste método a derivada espacial num ponto é calculada a partir da
informação no ponto e da informação à direita.
Veremos mais adiante que este cálculo cria problemas se esta derivada for
usada para calcular o termo advectivo quando a velocidade é positiva.
n
t



i
Derivadas espaciais
t
c
t
i  x
x
 c 
 c  x


2!
 x  i
2
t
i
 c
 2
 x

2
t

x   c
 
 3

 x
3
!
i

3
3
t

x
  .... 

n!
i
n
 c
 n
 x

t
 c 
t
t
2
ci  x  ci   x 
  ( x )
 t i
t
ci  ci  x
 c 
 ( x )

 
x
 x i
t
t
Derivada à esquerda, Método upwind
se velocidade positiva.
Neste método a derivada espacial num ponto é calculada a partir da
informação no ponto e da informação à esquerda.
Veremos mais adiante que este cálculo cria problemas se esta derivada for
usada para calcular o termo advectivo quando a velocidade é positiva.
n
t



i
Subtraindo uma equação da outra
c
c
t
i  x
t
i  x
t
2
t
2
x
 c 
 c  x
 
2!
 x  i
t
i
x
 c 
 c  x
 
2!
 x  i
t
i
 c
 2
 x

2
 c
 2
 x

2
t
t

x   c
 
 3

 x
3
!
i

t
3

x
  .... 

n!
i
3

x   c
 
 3

 x
3
!
i

3
3
t
c
c
t
t
i  x
c
 c 

 
 x i
 c 
3
 2x
  ( x )
 t i
t
i  x
c
2x
t
i  x
 ( x )
Diferenças Centrais
2
n

x
  .... 

n!
i
t
t
i  x
 c
 n
 x

n
n



i
 c
 n
 x

n
t
t



i
2ª Derivada
*
c
*
i  x
c
2
*
i
*
*
i  x
 c
 2
 x

x
 c 
 c  x
 
2!
 x  i
2
x
 c 
 c  x
 
2!
 x  i
*
i
2

x   c
 
 3

 x
3
!
i

 c
 2
 x

2
*
3
*
3
*
*
*
 c
 2
 x

2
*

x
  .... 

n!
i

x   c
 
 3

 x
3
!
i

3
Adicionando:
ci x  ci x
*
2


c
*
2
4
 2 c i   x  2    (  x )
 t i
*
*
*

ci x  2 ci  ci x
2
 


(

x
)
2

x
i
3
n
*
 c
 n
 x

n

x
  .... 

n!
i
n
*



i
 c
 n
 x

n
*



i
Equações Algébricas
• Obtêm-se substituindo as derivadas pelas
aproximações:
t  t
cx
 cx
t
t
   t   u
c x  x  c x  x
t
t
2x

  x
2
 
c x  x  2 c x  c x  x
t
t
x
t
2

  x
2

• Explícito, diferenças centrais. Precisão de 2ª ordem no
espaço e 1ª no tempo.
t  t
cx
 cx
t
t
   t   u
2
t  t / 2
t  t / 2
c x  x  c x  x
2x

  x
2
 
t  t / 2
t  t / 2
c x  x  2 c x
x
2
t  t / 2
 c x  x

  x
• Semi-implícito (Crank-Nicholson) diferenças centrais
espaço. Precisão de 2ª ordem no tempo e no espaço.
O que se paga pela precisão de 2ª ordem no tempo?
2

Como se obtém o valor em (t+Δt/2) ?
Fazendo a média…..
t  t / 2
c
t  t
i
c
t  t / 2
i
 c 
   t / 2 

 t  i

2!
t  t / 2
c c
t
i
t  t / 2
i
  t / 2 2
 c 
   t / 2 

 t  i

  t / 2 2
2!
  2c
 2
 t

  2c
 2
 t

t  t / 2



i


  t / 2 3   3 c 
 .... 
  t / 2 n
n!
t  t / 2
 3 
 t 

i
3!
t  t / 2
 3 
 t 

i
3!
t  t / 2



i
  t / 2 3   3 c 
 .... 
  t / 2 n
n!
  nc
 n
 t

  nc
 n
 t

• Adicionando as equações!
2c
t  t / 2
i
c c
t
i
t  t
ci  ci
t
c
t  t / 2
i

t  t
i
2
  2c
   t / 2   2
 t
  t / 2 
2
t  t / 2



i
 .....
2
• Substituindo estes termos nas equações
obtém-se a equação a resolver
t  t / 2



i
t  t / 2



i
Explícito Upwind
t  t
cx
 cx
t
t
   t   u
c x  c x  x
t
t
x

  x
2
c x  x  2 c x  c x  x
t
 
t
x
t
2

  x
2

• Precisão de 1ª ordem no tempo e no espaço para advecção.
Segunda ordem para difusão.
• Esta equação pode ser organizada na forma:
c
t  t
i
 ut t


2
x
 x
t  t
ci
u  t 2  t
 t


 c i 1   1 
2
x
x


 t  t
ci  
2

 x
 d i c i 1  1  e i c i  f i c i 1  ( F  P )
t
t
t
 t
 c i 1

Forma geral da Equação
kd i c i 1  1  ke i c i
t  t
t  t
 kf i c i  1  1  k d i c i 1  1  1  k e i c i  1  k  f i c i  1  ( F  P )
t  t
t
t
t
K=1=> implícito. K=0 => Explicito, k=0.5=> Crank-Nicholson:
Explicito, upwind:
c
t  t
i
u  t 2  t  t    t  t
 ut t  t




 c i 1   1 
ci  
 c i 1
2
2
2
x
x 
x 
 x

 x 
Números de Courant e de Difusão
Cr 
ut
x
N º Dif 
t
x
2
Sobre a precisão do cálculo
• No cálculo implícito e no cálculo explícito as derivadas são
calculadas nos extremos do intervalo de tempo. Estes métodos
ignoram todas as derivadas a partir da primeira: têm precisão de
primeira ordem ou “até à primeira ordem”.
• Os termos da série de Taylor ignorados estão multiplicados por (  t )
• Quando a derivada é calculada no centro do intervalo de tempo as
derivadas só são ignoradas a partir da segunda. São métodos com
precisão de 2ª ordem, ou “até à 2ª ordem”. Se a função for uma
recta ou uma parábola o cálculo da derivada é exacto.
• Os termos da série de Taylor ignorados estão multiplicados por  t / 2 
• Mas (  t ) >1 então quanto maior é a ordem de precisão do
cálculo, maior é o coeficiente dos termos ignorados. Porque é
que a precisão do cálculo aumenta?
2
Porque aumenta a precisão com o
expoente de (  t ) ?
Porque os termos ignorados são da forma:
 t / 2 
n!
n 1
 c
 n
 t

n
t  t / 2



i
O cálculo da derivada faz aparecer em denominador o intervalo de
tempo elevado n e o coeficiente está elevado a (n-1) e por isso o
produto é proporcional a (  c ) /(  t ) ou seja à primeira derivada
multiplicada pelo inverso do factorial de n e por isso quanto maior é o
valor do expoente do intervalo de tempo, menor é o valor dos temos
desprezados.
Esta conclusão é consistente como facto de as derivadas perderem
importância à medida que a ordem aumenta.
Download

13ª Aula