CFD Aula 2
-
Upload
edgard-packness-s -
Category
Education
-
view
182 -
download
3
Embed Size (px)
description
Transcript of CFD Aula 2

EN3224 Dinâmica de Fluidos Computacional
Universidade Federal do ABC
Aula 2 Formulações via diferenças finitas
EN3224 Dinâmica de Fluidos Computacional

EN3224 Dinâmica de Fluidos Computacional
Pergunta do dia:
Como escrever um programa de computador que resolva
?
vvvvv
vvv
v
gpqTkEt
E
gpt
t
:
0

EN3224 Dinâmica de Fluidos Computacional
Introdução
• Os computadores somente podem executar operações aritméticas padrão e operações lógicas.
• As diferenciais de variáveis dependentes que aparecem em EDPs precisam ser traduzidas para expressões de diferenças finitas que as aproximam.
x
xyxxy
dx
dy
x
)()(lim
0

EN3224 Dinâmica de Fluidos Computacional
Métodos de aproximação de diferenciais
1. Expansão em séries de Taylor
2. Expansão em polinômios de grau n
3. Equações de diferenças finitas

EN3224 Dinâmica de Fluidos Computacional
DIFERENÇAS FINITAS VIA EXPANSÕES DE SÉRIES DE TAYLOR

EN3224 Dinâmica de Fluidos Computacional
Expansão em séries de Taylor
Dada um função analítica f(x), a expansão em série de Taylor de f(x+x) é dada por
3
33
2
22
!3
)(
!2
)()()()(
x
fx
x
fx
x
fxxfxxf
1 !
)()()(
nn
nn
x
f
n
xxfxxf

EN3224 Dinâmica de Fluidos Computacional
A primeira diferencial
Isolando a primeira diferencial, obtemos
3
33
2
22
!3
)(
!2
)()()()(
x
fx
x
fx
x
fxxfxxf
3
32
2
2
!3
)(
!2
)()(
x
fx
x
fx
x
xfxxf
x
f
)()()(
xOx
xfxxf
x
f
Soma de todos os termos com
potências positivas de x

EN3224 Dinâmica de Fluidos Computacional
A primeira diferencial
f
x x x+x
f(x) f(x+x)
)()()(
xOx
xfxxf
x
f
para frente...

EN3224 Dinâmica de Fluidos Computacional
A primeira diferencial
f
x x-x x
f(x-x)
f(x)
)()()(
xOx
xxfxf
x
f
para trás...

EN3224 Dinâmica de Fluidos Computacional
Intervalos discretos iguais
f
x xi xi+1
fi
fi+1
)(1 xOx
ff
x
f ii
i
Introdução da indexação: O índice i (discreto) indica intervalos de valor x.
x
)(1 xOx
ff
x
f ii
i

EN3224 Dinâmica de Fluidos Computacional
O que isso quer dizer...
)(1 xOx
ff
x
f ii
i
for ( i=imin; i<imax; i++ ) {
dfdx[i] = ( fx[i+1] – fx[i] ) / (x[i+1] – x[i]);
}
O erro O(x) faz parte do “risco” assumido por quem está fazendo a modelagem.

EN3224 Dinâmica de Fluidos Computacional
A “diferença das diferenças”
(negativa apenas nas potências ímpares de x)
3
33
2
22
!3
)(
!2
)()()(
x
fx
x
fx
x
fxxfxxf
3
33
2
22
!3
)(
!2
)()()(
x
fx
x
fx
x
fxxfxxf
3
33
!3
)(22)()(
x
fx
x
fxxxfxxf

EN3224 Dinâmica de Fluidos Computacional
Aproximação da diferença central
Isolando a primeira diferencial:
2)(2
)()(xO
x
xxfxxf
x
f
211 )(2
xOx
ff
x
f ii
i
ou Aproximação de
diferença central da primeira derivada

EN3224 Dinâmica de Fluidos Computacional
A segunda derivada
Partindo da expansão em série de Taylor
Calculamos a expansão para f(x+2x):
3
33
2
22
!3
)(
!2
)()()(
x
fx
x
fx
x
fxxfxxf
3
33
2
22
!3
)2(
!2
)2()2()()2(
x
fx
x
fx
x
fxxfxxf

EN3224 Dinâmica de Fluidos Computacional
A segunda derivada
Queremos calcular -2f(x+x) + f(x+2x):
3
33
2
22
!3
)(2
!2
)(2)2()(2)(2
x
fx
x
fx
x
fxxfxxf
3
33
2
22
!3
)2(
!2
)2()2()()2(
x
fx
x
fx
x
fxxfxxf
Resultado:
3
33
2
22 )()()()2()(2
x
fx
x
fxxfxxfxxf

EN3224 Dinâmica de Fluidos Computacional
A segunda derivada
)()(
)()(2)2(22
2
xOx
xfxxfxxf
x
f
)()(
22
12
2
2
xOx
fff
x
f iii
i
para frente
)()(
22
21
2
2
xOx
fff
x
f iii
i
para trás
ou

EN3224 Dinâmica de Fluidos Computacional
Aproximação via diferença central da segunda derivada
Somando
e
Resultado:
3
33
2
22
!3
)(
!2
)()()(
x
fx
x
fx
x
fxxfxxf
3
33
2
22
!3
)(
!2
)()()(
x
fx
x
fx
x
fxxfxxf
2
22
2
)()(
)()(2)(xO
x
xxfxfxxf
x
f

EN3224 Dinâmica de Fluidos Computacional
Aproximação via diferença central da segunda derivada
2
22
2
)()(
)()(2)(xO
x
xxfxfxxf
x
f
2
2
11
2
2
)()(
2xO
x
fff
x
f iii
i
Aproximação de
diferença central da segunda derivada

EN3224 Dinâmica de Fluidos Computacional
Derivadas de ordem superior
Introduzindo a notação:
(diferença para frente)
(diferença para trás)
As diferenças de várias ordens podem ser expressas por expressões recursivas:
1
1
iiix
iiix
fff
fff
ix
n
xi
n
x
ix
n
xi
n
x
ff
ff
1
1

EN3224 Dinâmica de Fluidos Computacional
Derivadas de ordem superior
Fórmulas de recorrências derivadas das séries de Taylor:
(para frente)
(para trás)
(diferença central, n par)
(diferença central, n ímpar)
22
)1(2
)1(
222
2
2
xOx
ff
x
f
xOx
ff
x
f
xOx
f
x
f
xOx
f
x
f
n
ni
n
xni
n
x
i
n
n
n
ni
n
xni
n
x
i
n
n
n
i
n
x
i
n
n
n
i
n
x
i
n
n

EN3224 Dinâmica de Fluidos Computacional
Mais precisão?
Até aqui, foram considerados apenas os termos até a primeira ordem da série de Taylor.
Pode-se aumentar a precisão (diminuir o erro) considerando-se mais termos da expansão em série de Taylor.
Como resultado, obtém-se expressões mais trabalhosas, mas mais precisas. Exemplo:
2)(2
)(3)(4)2(xO
x
xfxxfxxf
x
f
Aproximação de segunda ordem para frente da primeira derivada

EN3224 Dinâmica de Fluidos Computacional
DIFERENÇAS FINITAS VIA EXPANSÕES DE POLINÔMIOS

EN3224 Dinâmica de Fluidos Computacional
Expansão em polinômios
Dada um função analítica f(x), pode-se considerar que em um dado intervalo a função possa ser aproximada por um polinômio de grau n.
Por exemplo
CBxAxxf 2)(

EN3224 Dinâmica de Fluidos Computacional
Exemplo
Aproximação via polinômio de segunda ordem.
xx
xx
x
i
i
i
2
0
2
1
CBxAxxf 2)(
CxBxAxf
CxBxAxf
Cxf
i
i
i
22)(
)(
)(
2
2
2
1

EN3224 Dinâmica de Fluidos Computacional
A primeira derivada
CxBxAf
CxBxAf
Cf
i
i
i
222
2
2
1
212
12
2
2
2
34
x
fffA
x
fffB
fC
iii
iii
i
BAxx
f
2 xi=0
x
fff
x
f iii
2
34 12
Aproximação via polinômio de segunda ordem:

EN3224 Dinâmica de Fluidos Computacional
A segunda derivada
Aproximação via polinômio de segunda ordem:
CxBxAf
CxBxAf
Cf
i
i
i
222
2
2
1
212
12
2
2
2
34
x
fffA
x
fffB
fC
iii
iii
i
Ax
f2
2
2
2
12
2
2
)(
2
x
fff
x
f iii

EN3224 Dinâmica de Fluidos Computacional
Espaçamento não uniforme
xx
xx
x
i
i
i
)1(
0
2
1
CBxAxxf 2)(
CxBxAxf
CxBxAxf
Cxf
i
i
i
11)(
)(
)(
22
2
2
1

EN3224 Dinâmica de Fluidos Computacional
CxBxAf
CxBxAf
Cf
i
i
i
1122
2
2
1
A primeira derivada
2
12
2
1
2
2
1
1
1
21
x
fffA
x
fffB
fC
iii
iii
i
BAxx
f
2
x
fff
x
f iii
i
)1(
)2()1( 1
2
2
Aproximação via polinômio de segunda ordem:

EN3224 Dinâmica de Fluidos Computacional
Ax
f2
2
2
CxBxAf
CxBxAf
Cf
i
i
i
1122
2
2
1
A segunda derivada
2
12
2
1
2
2
1
1
1
21
x
fffA
x
fffB
fC
iii
iii
i
Aproximação via polinômio de segunda ordem:
2
12
2
2
))(1(
)1(2
x
fff
x
f iii

EN3224 Dinâmica de Fluidos Computacional
EQUAÇÕES DE DIFERENÇAS FINITAS

EN3224 Dinâmica de Fluidos Computacional
Equações de diferenças finitas
Usaremos as expressões apresentadas para reescrever as EDPs da Mecânica dos Fluidos.
Nosso interesse é obter expressões que possam ser incluídas em algoritmos e programas escritos em linguagens de programação.

EN3224 Dinâmica de Fluidos Computacional
Duas dependências
no espaço
Um estudo de caso
Consideremos a EDP:
2
2
2
2
y
f
x
f
t
f
Dependência no tempo
é uma constante

EN3224 Dinâmica de Fluidos Computacional
Convenções / notação
x
y
i,j
i,j-1
i,j+1
i-1,j
i+1,j
x
y
x
y i,j
i,j-1
i,j+1
i-1,j
i+1,j
t
tempo “n”
tempo “n+1”
n
jif ,1
,
n
jif

EN3224 Dinâmica de Fluidos Computacional
Primeira derivada no tempo
2
2
2
2
y
f
x
f
t
f
)(,
1
,tO
t
ff
t
fn
ji
n
ji
Diferença para frente de primeira
ordem

EN3224 Dinâmica de Fluidos Computacional
Segundas derivadas no espaço
2
2
,1,,1
2
2
)()(
2xO
x
fff
x
fn
ji
n
ji
n
ji
Diferenças centrais de segunda ordem
2
2
2
2
y
f
x
f
t
f
2
2
1,,1,
2
2
)()(
2yO
y
fff
y
fn
ji
n
ji
n
ji

EN3224 Dinâmica de Fluidos Computacional
A expressão final
2
2
2
2
y
f
x
f
t
f
22
2
1,,1,
2
,1,,1,
1
,
)(,)(,
)(
2
)(
2
yxtO
y
fff
x
fff
t
ff n
ji
n
ji
n
ji
n
ji
n
ji
n
ji
n
ji
n
ji
EDP
Equação a diferenças
finitas

EN3224 Dinâmica de Fluidos Computacional
Para frente e para trás no tempo
Formulação explícita (avança no tempo):
Formulação implícita (volta no tempo):
22
2
1,,1,
2
,1,,1,
1
,
)(,)(,
)(
2
)(
2
yxtO
y
fff
x
ff
t
ff n
ji
n
ji
n
ji
n
ji
n
ji
n
ji
n
ji
n
ji
22
2
1
1,
1
,
1
1,
2
1
,1
1
,
1
,1,
1
,
)(,)(,
)(
2
)(
2
yxtO
y
fff
x
ff
t
ff n
ji
n
ji
n
ji
n
ji
n
ji
n
ji
n
ji
n
ji

EN3224 Dinâmica de Fluidos Computacional
Explícita x implícita
Explícita
• Tem apenas uma incógnita
• Simples e rápida
• Instável
Implícita
• Tem cinco incógnitas
• A solução exige que toda a matriz seja resolvida simultaneamente
• Estável
1
,
n
jif 1
1,
1
,1
1
,
1
1,
1
,1
,
,,,
n
ji
n
ji
n
ji
n
ji
n
ji
ff
fff

EN3224 Dinâmica de Fluidos Computacional
Exemplo 1
Ache uma estimativa para frente para 4
4
x
f
Solução:
Partindo de
Com n=4 obtemos
xO
x
f
x
fn
i
n
x
i
n
n
xOf
xx
fix
i
4
44
4 1

EN3224 Dinâmica de Fluidos Computacional
Exemplo 1: resolução
Aplicando ix
n
xi
n
x ff 1
iiiii
iiiiiiii
ixixixixiiiix
iiiiiixixixixx
iiixiiiix
ixixxiixixxix
fffff
ffffffff
ffffffff
fffffffff
fffffff
ffffff
1234
1122334
123123
1122312
12
2
112
2
1
2
1
334
464
)(3)(3)(
3333
22
2
xOfffff
xx
fiiiii
i
123444
4
4641

EN3224 Dinâmica de Fluidos Computacional
Compare as expressões obtidas para a representação de diferenças finitas para frente de quando calculadas via:
Exemplo 2
a) Séries de Taylor
b) Fórmulas de recorrência
c) Polinômio do terceiro grau
3
3
x
f

EN3224 Dinâmica de Fluidos Computacional
Exemplo 2: resolução
a) Expansão em série de Taylor
Precisaremos de três pontos:
3
3
x
f
4
3
33
2
22
)(!3
)(
!2
)()()( xO
x
fx
x
fx
x
fxxfxxf
4
3
33
2
22
)2(!3
)2(
!2
)2(2)()2( xO
x
fx
x
fx
x
fxxfxxf
4
3
33
2
22
)3(!3
)3(
!2
)3(3)()3( xO
x
fx
x
fx
x
fxxfxxf
2
3
1

EN3224 Dinâmica de Fluidos Computacional
Exemplo 2: resolução
Podemos agora isolar
3
3
x
f
4
3
33
2
22
31 )()(4)(323 xOx
fx
x
fxfff iii
)()(
333
223
3
3
xOx
ffff
x
f iiii
3
3
x
f
Somando a 1ª e a 3ª expressão:
4
3
33
2
22
12 )()()(2 xOx
fx
x
fxfff iii
Somando a 1ª e a 2ª expressão:
Somando estas duas:

EN3224 Dinâmica de Fluidos Computacional
Exemplo 2: resolução
b) Usando fórmulas de recorrência:
3
3
x
f
xO
x
f
x
fn
i
n
x
i
n
n
xO
x
f
x
f ix
3
3
3
3
iiii
iiiiiiixixix
iiixiiiix
ixixxiixixxix
ffff
fffffffff
fffffff
ffffff
123
1122312
12112
11
223
33
22
2
xO
x
ffff
x
f iiii
3
123
3
3 33

EN3224 Dinâmica de Fluidos Computacional
Exemplo 2: resolução
c) Usando polinômio de terceiro grau
3
3
x
f
DCxBxAxxf 23)(
Precisaremos de quatro pontos:
xx
xx
xx
x
i
i
i
i
3
2
0
3
2
1

EN3224 Dinâmica de Fluidos Computacional
Exemplo 2: resolução 3
3
x
f
Df
DxCxBxAf
DxCxBxAf
DxCxBxAf
i
i
i
i
23
1
23
2
23
3
222
333
3123
2
123
123
6
33
6
615123
6
111892
x
ffffA
x
ffffB
x
ffffC
fD
iiii
iiii
iiii
i

EN3224 Dinâmica de Fluidos Computacional
Exemplo 2: resolução
As derivadas de f(x) são dadas por
3
3
x
f
Ax
fBAx
x
fCBxAx
x
f62623
3
3
2
22
xO
x
ffff
x
f iiii
3
123
3
3 33
Com os três métodos obtivemos o mesmo resultado.

EN3224 Dinâmica de Fluidos Computacional
Exemplo 3
Obtenha uma expressão de para trás com ordem (x)3 x
f
Solução:
A série de Taylor de f(x-x) é
4
3
33
2
22
)(!3
)(
!2
)()()( xO
x
fx
x
fx
x
fxxfxxf

EN3224 Dinâmica de Fluidos Computacional
Exemplo 3: resolução
Isolamos :
Usaremos
4
3
33
2
22
)(!3
)(
!2
)()()( xO
x
fx
x
fxxxfxf
x
fx
x
fx
2
2
123
2
2 254xO
x
ffff
x
f iiii
xO
x
ffff
x
f iiii
3
123
3
3 33
Diferença para trás de segunda ordem da segunda derivada
Diferença para trás de primeira ordem da terceira derivada

EN3224 Dinâmica de Fluidos Computacional
Exemplo 3: resolução
Substituindo:
4
3
123
3
2
2
123
2
1
)(33
6
)(
254
2
)(
xOxOx
ffffx
xOx
ffffxff
x
fx
iiii
iiiiii
4
123 )(1118926 xOfffx
fx iii
3123 )(6
111892xO
x
fff
x
f iii

EN3224 Dinâmica de Fluidos Computacional
APROXIMAÇÕES DE DIFERENÇAS FINITAS DE DERIVADAS PARCIAIS MISTAS

EN3224 Dinâmica de Fluidos Computacional
Derivadas parciais mistas: séries de Taylor
Considere a derivada parcial mista
A expansão em série de Taylor para as duas variáveis x e y de f(x+x,y+y) é dada pela expressão
yx
f
2
332
2
22
2
22
,!2
2
!2!2
),(),(
yxOyx
fyx
y
fy
x
fx
y
fy
x
fxyxfyyxxf

EN3224 Dinâmica de Fluidos Computacional
Derivadas parciais mistas: séries de Taylor
Usando os índices i e j para representar o ponto (x,y) na grade, a mesma expressão pode ser reescrita como
33
2
22
2
22
2
,1,1
,22
yxOy
fy
x
fx
yx
fyx
y
fy
x
fxff jiji

EN3224 Dinâmica de Fluidos Computacional
Derivadas parciais mistas: séries de Taylor
Pode-se aplicar o mesmo método e obter as diferenciais em outras direções:
33
2
22
2
222
,1,1 ,22
yxOy
fy
x
fx
yx
fyx
y
fy
x
fxff jiji
33
2
22
2
222
,1,1 ,22
yxOy
fy
x
fx
yx
fyx
y
fy
x
fxff jiji
33
2
22
2
222
,1,1 ,22
yxOy
fy
x
fx
yx
fyx
y
fy
x
fxff jiji

EN3224 Dinâmica de Fluidos Computacional
Derivadas parciais mistas: séries de Taylor
Isolando nestas expressões, obtém-se
Diferenciais mistas de ordem superior podem ser obtidas usando-se o mesmo método.
221,11,11,11,12
,))((4
yxOyx
ffff
yx
f jijijiji
yx
f
2

EN3224 Dinâmica de Fluidos Computacional
Diferenciais mistas com respeito a uma variável independente
Considere a derivada parcial
Usando a diferença central de ordem (y)2 para chega-se a
Derivando em x:
x
f
xyx
f2
y
f
21,1,
2yO
y
ff
y
f jiji
21,1,2
2yO
y
ff
xyx
f jiji

EN3224 Dinâmica de Fluidos Computacional
Diferenciais mistas com respeito a uma variável independente
Aplicando-se diferença central de ordem (x)2 para chega-se a
E finalmente:
2
1,1,
21,1,2
2
1
2yO
x
f
x
f
yyO
y
ff
xyx
f
jiji
jiji
x
f
221,11,11,11,12
,222
1yxO
x
ff
x
ff
yyx
f jijijiji
221,11,11,11,1
2
,4
yxOyx
ffff
yx
f jijijiji

EN3224 Dinâmica de Fluidos Computacional
Diferenciais mistas com respeito a uma variável independente
Usando diferenças para frente, chega-se a
yxOx
ff
x
ff
y
yOx
f
x
f
y
yOy
ff
xy
f
xyx
f
jijijiji
jiji
jiji
,1
1
,,11,1,1
,1,
,1,2
yx
ffff
yx
f jijijiji
,,11,1,12

EN3224 Dinâmica de Fluidos Computacional
Exercícios
• Problemas 2.8 do Hoffmann “Computational Fluid Dynamics Vol.I”