Aplicação de Métodos Espectrais ao Cálculo Numérico de
Escoamentos Compressíveis
André Rosalen
Instituto Tecnológico de Aeronáutica
Praça Marechal Eduardo Gomes, 50 - Vila das Acácias – São José dos Campos – São Paulo. CEP: 12228-461
Bolsista PIBIC – CNPq
[email protected]
....................................................................................................................................................................................................
O objetivo do presente estudo é entender e aplicar os métodos espectrais como ferramenta na solução, por
cálculo numérico, de equações diferenciais parciais que modelam escoamento compressíveis.
A metodologia empregada foi, em uma primeira aproximação, conhecer o método através de referências
bibliográficas e posterior aplicação numérica em equações diferenciais, para verificação das características que esse
moderno método traz consigo.
Conforme será mostrado adiante, os resultados obtidos mostraram traços da potencialidade do método, não em
sua plenitude), no entanto é possível identificar as características do método.
1. Introdução
A proposta da bolsa de iniciação científica é o desenvolvimento de um algoritmo numérico para o estudo
de escoamento através de bocais transônicos, assim como aerofólios, através dos métodos espectrais. Como o
estudo realizado para tal são através de equações diferenciais parcias resolvidas numericamente, o intuito é
estudar um dos métodos mais modernos que existe atualmente em termos de convergência de resultados e
mostrar suas vantagens quanto a tempo e requisito de capacidade de processamento que são exigidos para se
obter os mesmos resultados (conforme veremos, melhores ainda) para o estudo de uma equação diferencial
qualquer, que venha a modelar um dos objetos descritos acima. Como sabemos, o cálculo numérico para
resolução de equações diferenciais parciais ocorre fundamentalmente devido às aproximações das derivadas
nas equações por discretizações, e nesse aspecto há inúmeras formas de se realizar tal feito, os quais se
aprimoram cada vez mais. Uma grande característica da maioria das formas de discretização das derivadas
existentes para o método espectral é que aquela , para um determinado ponto numa malha discretizada, sua
derivada depende de como a função do problema se comporta em sua vizinhança, enquanto que no método
espectral, para qualquer ponto estudado em questão, sua derivada tomará a informação da malha inteira; aqui
vemos uma diferença muito importante, principalmente na acuracidade que o método traz consigo, pois esse
utiliza mais informações do domínio da função estudada que os demais métodos.
2. Apresentação e desenvolvimento de algumas ferramentas do método espectral
Para mostrarmos o estudo, vejamos primeiramente um caso oscilatório. Para tal, precisaremos dos
conceitos de expansão em série de Fourier, para posteriormente chegarmos ao conceitos de polinômio
interpolador e matriz de derivação de uma função dada, para uma determinada discretização no domínio da
mesma.
Considerando-se uma função escalar de duas variáveis,
determindo instante de tempo, com dominío
u ( x, t ) , x denotando uma distância e t um
x ∈ [ 0, l ] , período l e t ∈ [ 0, ∞ ] , então a função pode ser
reprensentada por uma expansão em série de Fourier, e em sua forma complexa é dada por (suponha que L =
semi período da função):
u ( x, t ) =
∑ a ( t ).e
 nπ x 
i .

 L 
n
,
(1)
n ≤∞
sendo:
 nπ x 
L 
2L
− i .
1
. ∫ u ( x, t ).e 
an ( t ) =
2L 0
Tomando-se
lim ∑ an ( t ).e
dx
 nπ x 
i .

 L 
n →∞
(2)
teremos a representação de nossa função em série de Fourier.
Para chegarmos ao nosso polinômio interpolador da função, primeiramente vamos discretizar o domínio
em
x da função. Seja então:
x j = j.∆x = j.
2π
, j ∈ [ 0,..., N ]
N +1
Com isso, para
an ( t ) (realizando-se a integral pela quadratura trapezoidal), teremos que:
 nπ x j 

L 
− i .
1 N −1
an ( t ) =
.∑ u ( x j , t ) .e 
N .cn j = 0
~
com
(3)
cn = 2 se n =
,
(4)
N
N
, ou cn = 1 se n <
.
2
2
Por essa aproximação, chegamos então ao polinômio interpolador de
u ( x, t ) , apenas no domínio
espacial (onde a função possuí a característica ondulatória):
In (u ) =
∑
an ( t ) .e
 nπ x 
i .

 L 
(5)
N
n≤
2
Escrevendo a equação acima em termos de cossenos e senos, e realizando-se as devidas somas, é
demonstrável que o polinômio interpolador pode ser dado por:
N −1
I n ( u ) = ∑ u ( x j , t ) .g j ( x ) ,
(6)
j =0
onde:
g j ( x) =

( x − x j )  .cot  ( x − x j ) 
1
.s en ( 2 N − 1) .
2N
2 

 2 

(7)
Com esse resultado, podemos agora determinar a derivada com respeito a
x da função (note que a
~
informação do tempo está contida nos coeficientes
an ( t ) ),
para posterior aplicação nas equações
diferenciais parciais.
No entanto, o elemento
g j ( x ) é a aproximação para a derivada de primeira ordem. É possível
demonstrar (a demonstração encontra-se em Jan S. Hesthaven, Sigal Gottlieb, David Gottlieb) que para
derivadas de ordem superior, a aproximação se dá na seguinte forma segundo os elementos xi das
discretizações da malha espacial:

ξ 

sen ( 2 N − 1)  

1 d
2



gi , j ( p ) ( xi ) =
, j≠i
p
2 N dξ 
ξ 

sen  


2
ξ = xi − x j
p
(8)
0, i = j , p = ímpar
gi , j
( p)
( xi )
( −1)
=
p 2
2N
(9)
N
∑k
p
, i = j , p = par
(10)
k =− N
Para o nosso caso, como não há derivada, chegamos ao resultado de
g j ( x) .
Diferenciando-se e aplicando-se a derivada a um determinado ponto da malha (seja
xi , por exemplo),
teremos então que a derivada será dada por:
N −1
∂g j ( x )
∂I n ( u )
= ∑ u ( x j , t ).
∂x x = xi j =0
∂x x = xi
Di , j
( −1)
=
i+ j
2
Di , j = 0, i = j
.cot
(x − x ) , j ≠ i
i
j
2
(11)
(12)
(13)
Como também é usual obtermos derivadas de segunda ordem no modelamento de problemas, segue
∂ 2 gi, j ( x )
abaixo a forma de
Di , j =
( −1)
i + j +1
2
∂x
2
= D 2i , j :


1
.sen 

2  xi − x j
 sen 
2




,i ≠ j



(14)
2N 2 +1
,i = j
Di , j = −
6
(15)
Possuímos então capacidade para aplicarmos a discretização de derivadas de qualquer ordem, tomando-se
informação de todos os pontos na malha do domínio, que no caso, entra no ramo dos métodos espectrais.
Apesar da formulação espectral ser relativamente recente, há alguns métodos para resolução numérica,
como o método de “Galerkin” e o da “Colocação”.
Para se traduzir matematicamente é relativamente simples, o importante é a filosofia associada a cada um
dos métodos para se obter as equações necessárias para a obtenção dos resultados da função nos pontos
desejados da malha.
• Método de Galerkin: Seleciona-se uma base de funções e impõe-se ortogonalidade com o resíduo da
equação diferencial. Aqui, o intuito é minimizar o resíduo, e nesse processo levantam-se um
conjunto de equações para determinar-se os coeficientes lineares que acompanham cada um dos
elementos da base de função, obtendo-se assim uma solução aproximada pelo método espectral;
• Método da Colocação: Aqui impõe-se resíduo nulo em um conjunto de pontos colocados no
domínio. Para simplificações, geralmente utilizam-se os próprios pontos escolhidos como malha da
equação.
2.1. Características de convergência e erros de truncamentos na aplicação do método espectral
Antes de prosseguirmos, é importante mostrar algumas características da convergência espectral , por
exemplo, apresenta comportamento exponencial se a função a ser discretizada na dada variável segue algumas
características.
1 - Seja a identidade de Parseval:
u − P2 N u
Se
2
L2 [ 0,2π ]
= 2π . ∑ uˆn
2
(16)
n >N
u ( x ) ∈ H r p [ 0, 2π ] , segundo a norma-r de Sobolev, então ∃ C tal que:
u − P2 N u
L2 [ 0,2π ]
≤ C.N − q . u ( q )
(17)
L2 [ 0,2π ]
Ainda, se u(x) é analítica, então
u(q)
L2 [ 0,2π ]
q ! ∼ q q .e− q , e assumindo q ∝ N , então segue que:
≤ C.q !. u
L2 [0,2π ]
, e segundo a fórmula de Stirling:
u − P2 N u
( N ) .e
≤ ∼ C. q
L2 [ 0,2π ]
q
−q
.u
L2 [ 0,2π ]
∼ K .e − C . N . u
L2 [ 0,2π ]
(18)
Vemos aqui o fator exponencial indicando a característica da convergência.
2 – Em Jan S. Hesthaven, Sigal Gottlieb, David Gottlieb, é possível demonstrar as seguintes
características para a acuracidade das derivadas expandidas em série de Fourier:
a) Se
u ( x ) ∈ W p r [ 0, 2π ] , então ∃ C tal que:
u − P2 N u
Wq p [ 0,2π ]
≤
C
.u
N r −q
(19)
W p r [0,2π ]
Notemos aqui a convergência de ordem r-q em N para a derivada expandidade em série de Fourier.
b) Se
u ( x ) ∈ C p q [ 0, 2π ] , então ∃ C tal que:
u − P2 N u
L∞
1
≤ C.
N
q− 1
. u(
2
q)
L2 [ 0,2π ]
,q > 1
2
(20)
Novamente, para esse caso vemos que a convergência ocorre em ordem q-1/2 em N.Por último,
verifiquemos o erro de truncamento para o operador diferencial:
3 – Para um operador
L com coeficientes constantes tal que:
d ju
Lu = ∑ a j . j ,
dx
j =1
então para ∀q, r com 0 ≤ q + s ≤ r , ∃ C tal que:
(21)
≤ C .N − ( r − q − s ) . u
(22)
s
Lu − LPN u
W p q [ 0,2π ]
W p r [ 0,2π ]
Novamente, notemos a convergência do operador diferencial, para esse caso, de ordem r-q-s em N.
Apesar das características expostas específicas, a interpretação a se retirar é que as dependências de
convergências estão fortemente ligadas a ordens em N (número de pontos da malha discretizada na variável
escolhida), seja exponencialmente ou por ordem de decaimento. Esse tipo de aspecto é de grande valia,
sobretudo na acuracidade dos cálculos e na capacidade de processamento computacional requerida, pois N se
reduz substancialmente para se obter os resultados desejados segundo um determinado nível de qualidade de
dados, quando comparados a outros métodos utilizados até então (Runge-Kutta, por exemplo).
2.2. Exemplo de aplicação do método espectral, pelo método da Colocação
Como forma de demonstrar a aplicação do conceito, estudou-se problemas de natureza oscilatória. Segue
abaixo um exemplo:
∂u ( x, t )
∂u ( x, t )
=−
, x ∈ [ 0, 2π ] , t ≥ 0
,
∂t
∂x
u ( x, 0 ) = sen ( x )
com fronteiras periódicas.
(23)
Aqui foi dado o formato inicial da onda, pois assim poderemos comparar os resultados numéricos com o
analítico para o problema proposto acima. Sabemos que esse problema se trata de uma onda viajando da
esquerda para direita com função
domínio em
u ( x, t ) = sen ( x − t ) . Para tal, tomou-se uma malha com 16 pontos no
x , discretizou-se a parcela no tempo por Runge-Kutta de segunda ordem e utilizou-se a razão
∆t
= 0, 025465 ( ∆t = 0, 01 s); no domínio em x, utilizou-se a derivada de primeira ordem deduzida
∆x
acima. Em contraste com a solução analítica, foram obtidos os seguintes resultados:
Tabela 4.1. Dados relativos a discretização da malha por uma uniforme, de espaçamento
Número de
pontos na
malha
16
Pontos na
Índice dos
malha
associados no
pontos
observados[i] intervalo 2*pi
0
0,00
1
0,39
2
0,79
3
1,18
4
1,57
5
1,96
6
2,36
7
2,75
8
3,14
9
3,53
10
3,93
11
4,32
12
4,71
13
5,11
14
5,50
15
5,89
∆x =
2π
16 + 1
Tabela 4.2. Dados obtidos pelo método numérico em contraste com a solução analítica, para instante inicial
em t = 0 s
Tempos
tomados
(discretização)
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Condição de
partida para os
valores em j da
função (tempo t)
0,000000
0,382683
0,707107
0,923880
1,000000
0,923880
0,707107
0,382683
0,000000
-0,382683
-0,707107
-0,923880
-1,000000
-0,923880
-0,707107
-0,382683
Derivada
temporal da
função no
ponto
determinado
Valor da
segundo o
função para o
tempo dado
tempo t + Dt
-2,000000
-0,020000
-1,847759
0,364206
-1,414214
0,692965
-0,765367
0,916226
0,000000
1,000000
0,765367
0,931533
1,414214
0,721249
1,847759
0,401161
2,000000
0,020000
1,847759
-0,364206
1,414214
-0,692965
0,765367
-0,916226
0,000000
-1,000000
-0,765367
-0,931533
-1,414214
-0,721249
-1,847759
-0,401161
Valor da
função exata
para (x,t)
dados
-0,010000
0,373426
0,700000
0,920007
0,999950
0,927660
0,714142
0,391903
0,010000
-0,373426
-0,700000
-0,920007
-0,999950
-0,927660
-0,714142
-0,391903
1,500000
1,000000
0,500000
Solução analítica
0,000000
1 2
3 4 5
6 7 8
9 10 11 12 13 14 15 16
Solução numérica
-0,500000
-1,000000
-1,500000
Figura 4.1. Apresentação gráfica das soluções obtidas para o tempo t = 0 s
Tabela 4.3. Dados obtidos pelo método numérico em contraste com a solução analítica, para instante inicial
em t = 0,01 s
Condição de
partida para os
valores em j da
função (tempo t)
-0,020000
0,364206
0,692965
0,916226
1,000000
0,931533
0,721249
0,401161
0,020000
-0,364206
-0,692965
-0,916226
-1,000000
-0,931533
-0,721249
-0,401161
Tempos
tomados
(discretização)
0,01
0,01
0,01
0,01
0,01
0,01
0,01
0,01
0,01
0,01
0,01
0,01
0,01
0,01
0,01
0,01
Derivada
temporal da
função no
ponto
determinado
Valor da
segundo o
função para o
tempo dado
tempo t + Dt
-2,000000
-0,040000
-1,863067
0,345575
-1,442498
0,678539
-0,802322
0,908203
-0,040000
0,999600
0,728411
0,938817
1,385929
0,735108
1,832452
0,419486
2,000000
0,040000
1,863067
-0,345575
1,442498
-0,678539
0,802322
-0,908203
0,040000
-0,999600
-0,728411
-0,938817
-1,385929
-0,735108
-1,832452
-0,419486
Valor da
função exata
para (x,t)
dados
-0,019999
0,364130
0,692824
0,916042
0,999800
0,931348
0,721107
0,401083
0,019999
-0,364130
-0,692824
-0,916042
-0,999800
-0,931348
-0,721107
-0,401083
1,500000
1,000000
0,500000
Solução analítica
0,000000
1
2
3
4
5
6
7
8
9 10 11 12 13 14 15 16
Solução numérica
-0,500000
-1,000000
-1,500000
Figura 4.2. Apresentação gráfica das soluções obtidas para o tempo t = 0,01 s
Tabela 4.4 - Dados obtidos pelo método numérico em contraste com a solução analítica, para instante inicial
em t = 0,02 s
Condição de partida
para os valores em j
da função (tempo t)
-0,040000
0,345575
0,678539
0,908203
0,999600
0,938817
0,735108
0,419486
0,040000
-0,345575
-0,678539
-0,908203
-0,999600
-0,938817
-0,735108
-0,419486
Tempos
tomados
(discretização)
0,02
0,02
0,02
0,02
0,02
0,02
0,02
0,02
0,02
0,02
0,02
0,02
0,02
0,02
0,02
0,02
Derivada
temporal da
função no ponto
determinado
segundo o
tempo dado
-1,999200
-1,877635
-1,470217
-0,838972
-0,080001
0,691150
1,357079
1,816405
1,999200
1,877635
1,470217
0,838972
0,080001
-0,691150
-1,357079
-1,816405
Valor da
Valor da
função para o
função exata
tempo t + Dt para (x,t) dados
-0,059992
-0,029996
0,326798
0,354799
0,663837
0,685578
0,899813
0,911985
0,998800
0,999550
0,945729
0,934943
0,748679
0,727999
0,437650
0,410224
0,059992
0,029996
-0,326798
-0,354799
-0,663837
-0,685578
-0,899813
-0,911985
-0,998800
-0,999550
-0,945729
-0,934943
-0,748679
-0,727999
-0,437650
-0,410224
1,500000
1,000000
0,500000
Solução analítica
0,000000
1
2
3
4
5
6
7
8
9 10 11 12 13 14 15 16
Solução numérica
-0,500000
-1,000000
-1,500000
Figura 4.3. Apresentação gráfica das soluções obtidas para o tempo t = 0,02 s
Os resultados obtidos acima ainda não possuem a característica precisão que o método espectral propõe,
pois:
1. Há discretização de segunda ordem na parcela temporal, o que diminui a precisão do método;
2.
A razão
∆t
= 0, 025465 , apesar da discretização optada para a parcela temporal, ainda é
∆x
grosseira;
Esses resultados foram apresentados para demonstrar a potencialidade do método espectral. Note que a
convergência ocorre até no máximo na segunda casa decimal, o que ainda é comum encontrar em
procedimentos pouco sofisticados de discretização. Alterando
∆t
para 10-3 (portanto, alterando apenas
∆x
∆t para 0,000393s), vejamos os resultados para o instante em t = 0,001s:
Tabela 4.5 - Dados obtidos pelo método numérico em contraste com a solução analítica, para instante inicial
em t = 0,001 s
Tempos
tomados
(discretização)
0,001
0,001
0,001
0,001
0,001
0,001
0,001
0,001
0,001
0,001
0,001
0,001
0,001
0,001
0,001
0,001
Condição de
partida para os
valores em j da
função (tempo t)
-0,001571
0,381232
0,705996
0,923278
0,999999
0,924480
0,708217
0,384134
0,001571
-0,381232
-0,705996
-0,923278
-0,999999
-0,924480
-0,708217
-0,384134
Derivada
temporal da
função no
ponto
determinado
Valor da
segundo o
função para o
tempo dado
tempo t + Dt
-1,999999
-0,002356
-1,848960
0,380506
-1,416434
0,705439
-0,768269
0,922976
-0,003142
0,999998
0,762464
0,924779
1,411991
0,708772
1,846556
0,384860
1,999999
0,002356
1,848960
-0,380506
1,416434
-0,705439
0,768269
-0,922976
0,003142
-0,999998
-0,762464
-0,924779
-1,411991
-0,708772
-1,846556
-0,384860
Valor da
função exata
para (x,t)
dados
-0,001178
0,381595
0,706273
0,923428
0,999999
0,924330
0,707939
0,383772
0,001178
-0,381595
-0,706273
-0,923428
-0,999999
-0,924330
-0,707939
-0,383772
Aqui já notamos que a convergência ocorre na terceira casa decimal, com boa aproximação na quarta
casa. Ainda, a precisão dos resultados é diminuída devido a parcela temporal ser derivada por um método de
segunda ordem.
Esse exemplo foi para ilustrar que o método espectral, dependendo da forma como é aplicado, pode
possuir precisão acima daquelas obtidas por outros métodos. Por exemplo, se tivéssemos aplicado
discretização de segunda ordem no domínio em x , conseguiríamos no máximo precisão na segunda casa
decimal, com a razão
∆t
utilizada.
∆x
3. Agradecimentos
Os agradecimentos seguem ao meu orientador Marcos Aurélio Ortega, pela disposição e ajuda realizadas
durante os estudos do trabalho, ao ITA, pela oportunidade oferecida de ingressar em um estudo de alta
qualidade em uma área que foi interesse do orientado, e ao CNPq, pela oportunidade de um contrato para o
estudo em questão.
4. Referências
Canuto, C., Hussaini, M. Y., Quarteroni, Z., Zang, T. A., Spectral methods in fluid dynamics, SpringerVerlag, (1988).
Jan S. Hesthaven, Sigal Gottlieb, David Gottlieb, Spectral Methods for Time-Dependent Problems,
9780521792110, Cambridge University Press.
MIT – Opencourse ware: http://ocw.mit.edu/OcwWeb/web/home/home/index.htm.
Download

André Rosalen