Você está na página 1de 7

ISSN 1984-8218

Aproximações de Diferenças Finitas Compactas de Alta Ordem


para o Problema de Helmholtz

Alan A. S. Amad, Abimael F. D. Loula


Laboratório Nacional de Computação Cientı́fica, LNCC
Av. Getúlio Vargas 333, Petrópolis, RJ
E-mail: alanasa@lncc.br, aloc@lncc.br

Resumo: Um método de diferenças finitas de sexta ordem (QOFD) é empregado para resolver a
equação de Helmholtz com números de ondas elevados e condições de contorno de Robin exatas.
Propomos um método de pós-processamento de malhas aninhadas para recuperar a alta ordem
das aproximações do QOFD. Os resultados numéricos são apresentados mostrando taxas de alta
ordem de convergência das aproximações recuperadas e ilustrando as possı́veis aplicações da
metodologia proposta.
Palavras-chave: Elementos Finitos, Diferenças Finitas, Pós-Processamento
1 Problema de Helmholtz
Considere um domı́nio aberto limitado Ω ⊂ Rd (d ≥ 1) com contorno suave por partes e Lipschitz
contı́nuo Γ. Sejam Γg e Γr subconjuntos de Γ, com Γg ∩ Γr = ∅ e Γ = Γg ∪ Γr . Considerando o
problema modelo
−∆u − k 2 u = f em Ω (1)
com condições de contorno

u = g sobre Γg (Dirichlet) (2)


∇u · n + iαr u = r sobre Γr (Robin) (3)

Onde k é o número de ondas. Agora, considerando a formulação de Galerkin para o operador


de Helmholtz, há diversas dificuldades, como instabilidade e efeitos de poluição, levando a uma
solução aproximada longe da interpolante ou das melhores aproximações na seminorma H 1 ou
na norma L2 . A análise completa do método de elementos finitos de Galerkin em 1D aplicado
ao problema de Helmholtz foi apresentado em [4, 5] onde as seguintes estimativas são provadas
para um erro relativo na seminorma H 1

|u − uh |
≤ C1 kh + C2 k 3 h2 (4)
|u|

e na norma L2
ku − uh k
≤ (C3 + C4 k)k 2 h2 (5)
kuk
com C1 , C2 , C3 e C4 independentes de k e h. Com relação as estimativas (4) e (5) o primeiro
termo corresponde ao erro de interpolação, o segundo corresponde à poluição numérica. A
principal causa da poluição numérica é o erro de fase, dado pela diferença entre o número de
ondas aproximado kh e o exato k. Substituindo uma onda plana ui,j = eikh (xi cos θ+yj sin θ) no
stencil do método de Galerkin, o erro de fase relativo da aproximação de Galerkin é dado por:

|k − kh | (kh)2
= + O((kh)4 ) (6)
k 24

840
ISSN 1984-8218

2 QOFD - quasi optimal finite difference method


O método QOFD (Quasi Optimal Finite Difference method) introduzido por [3, 2], baseado
em diferenças finitas, consiste em minimizar o erro de truncamento para ondas planas levando
em conta igualmente todas as direções possı́veis. O QOFD foi formulado para ser aplicado a
problemas em qualquer número de dimensões e para qualquer distribuição de pontos onde a
solução é aproximada. Para a construção do método QOFD iremos utilizar, resumidamente,
definições dos trabalhos de [3, 2]:
Dado um conjunto finito X, denotamos por |X| o número de elementos de X. Seja N =
{x0 , . . . , x|N |−1 } ⊂ Ω ∪ Γ o conjunto de pontos onde a solução será aproximada de acordo com
um esquema de diferenças finitas. O conjunto de pontos de N no interior de Ω é identificado por
I, que é I := N ∩ Ω, quando o conjunto de pontos de N for sobre a fronteira por B := N ∩ Γ.
Para cada i ∈ {0, . . . , |N | − 1}, será associado o conjunto Ai ⊂ {0, . . . , |N | − 1}, contendo os
pontos adjacentes ao ponto xi . Se j ∈ Ai , então dizemos que xj é um ponto adjacente a xi . O
conjunto Ai pode ser definido de maneiras diferentes. A única condição assumida é que i ∈ Ai
para todo i ∈ {0, . . . , |N | − 1}. Para um dado ponto x ∈ N , atribuimos um ı́ndice ind (x), que
é, para algum i ∈ {0, . . . , |N | − 1}, ind (xi ) := i. Em geral, ind (X) denota o ı́ndice do conjunto
X de pontos em N , que é, ind (X) é o conjuntos de ı́ndices dos pontos de X.
Usando as definições e notações acima introduzimos uma aproximação geral de diferenças
finitas para o nosso problema modelo como a solução do sistema de equações lineares
X j
Lh Ui = Si Uj = 0 para todo i ∈ ind (I), (7)
j∈Ai

onde Uj é uma aproximação para u(xj ), com Uj prescrito em xj ∈ B. Os coeficientes Sij


compõem a matriz do sistema linear global que é resolvido para obter a solução aproximada.
Para um dado ponto interior i, definimos Si como sendo a lista ordenada dos coeficientes Sij
para j ∈ Ai . Ao aplicarmos o operador discreto Lh à solução exata u do problema obtemos o
erro de truncamento local. Em particular, o erro de truncamento local para uma onda plana na
direção σ será denotado por:
X j
Ti (σ) := Lh w(σ, xi ) = Si w(σ, xj ), (8)
j∈Ni

onde w(σ, x) é a onda plana na direção σ: w(σ, x) = eikσ·x . Seja Σ, definido como
n o
Σ := σ ∈ Rd : |σ| = 1 , (9)

é o conjunto de todas direções possı́veis σ no espaço de dimensão d (cirulo unitário em duas


dimensões ou uma esfera unitária em três dimensões). Para cada nó interior i nós definimos o
funcional Z
J(Si ) = kTi (σ)kL2 (Σ) =
2
|Ti (σ)|2 dσ, (10)
Σ

e determinar o Sij com j ∈ Ai r {i} e Sii


= 1,minimizando J(Si ). O diferencial dσ somente
indica que está integrando sobre σ. Repassando (8) em (10) vale
X X Z X X
J(Si ) = m n
Si Si eikσ·(xm −xn ) dσ = Wmn Sim Sin , (11)
m∈Ai n∈Ai Σ m∈Ai n∈Ai

onde Z
eikσ·(xm −xn ) dσ = (2π) 2 J d −1 (khmn )(khmn )1− 2 ,
d d
Wmn = (12)
2
Σ
com Js denotando a função de Bessel de primeiro tipo e ordem s. Minimizando (11) com respeito
a Sij , impondo Sii = 1, para cada xi ∈ I, os coeficientes Sij são a solução do sistema linear
W Si = 0 . (13)

841
ISSN 1984-8218

Embora a formulação QOFD possa ser construı́do de forma mais geral, incluindo malhas com
nós irregulares, ou mesmo sem uma malha, vamos considerar apenas stencils de diferenças finitas
sobre conjuntos de nós pertencentes a uma malha regular de elementos finitos. Dada uma malha
de elementos finitos, facilmente identificamos os conjuntos N , B, I e Ai definido anteriormente.

2.1 Stencil de nove nós - QOFD


Para malhas uniformes de quadriláteros bilineares, aproximações do QOFD para o problema
de Helmholtz leva à um stencil de nove pontos. Encontrando os coeficientes do stencil com o
programa Maple, obtemos
A0 = 4
4 29 2549 473849 10086892607
A1 = − − (kh)2 − (kh)4 − (kh)6 − (kh)8
5 125 50000 45000000 4704000000000
1 17 801 76313 1091144231
A2 = − − (kh)2 − (kh)4 − (kh)6 − (kh)8
5 250 50000 22500000 1568000000000
erro de truncamento local:
T cos(8θ)
2
=− (kh)6 + O((kh)8 ). (14)
k 322560
e erro relativo de fase:
kh − k cos(8θ)
= (kh)6 + O((kh)8 ). (15)
k 774144
Exemplo 2.1 Na Figura 1 apresentamos resultados de um estudo de convergência de apro-
ximação QOFD na norma L2 em comparação com o método de Galerkin e a interpolante. Com
número de onda k = 50 viajando na direção θ = π/6. Pode-se observar que o QOFD apresenta
a taxa ótima de convergência na norma L2 e precisão idêntica à interpolação (esquerda). Este
estudo também confirma a aproximação sexta ordem para o método QOFD na norma do máximo
(direita) em malhas uniformes e com condição de contorno de Dirichlet.

1.5 -2
Interpolante max(u − uh )
QOFD
1
Galerkin -3
0.5
-4
log(error)

log(error)

-0.5 -5

-1
-6

-1.5
-7
-2

4.5 5 5.5 6 1.8 2 2.2 2.4 2.6


− log(neq) − log(neq)

Figura 1: Estudo de convergência de QOFD aproximação em L2 em comparação com a apro-


ximação de Galerkin correspondente (à esquerda) e confirmação da aproximação de sexta ordem
do QOFD em uma malha uniforme (à direita).

2.2 Condições de Contorno de Robin Exata em Diferenças Finitas


Uma motivação para resolver o problema de Helmholtz com condições de contorno de Robin é
que não há instabilidades na solução como as causadas pela condição de contorno de Dirichlet,
pois não há autovalores reais associado ao problema. Para introduzir condições de contorno de

842
ISSN 1984-8218

Robin no caso de diferenças finitas há uma dificuldade, pois além do operador, as condições
de contorno também são discretizados, gerando diversas aproximações. Inspirado no esquema
proposto por [6], introduzimos as condições de contorno de Robin exata, preservando assim a
aproximação de sexta ordem do QOFD.
Como mostramos, o método QOFD tem erro de truncamento de sexta ordem na norma do
máximo, para stencils interiores. Na fronteira da malha, os stencils são incompletos, com quatro
e seis nós. Com o objetivo de preservar a sexta ordem dos stencils interiores, introduziremos a
condição de Robin através das seguintes etapas:
Para encontrar o stencil ótimo considere, como exemplo, o stencil como o da Figura 2.
A1 A∗2 A∗∗
s s s
1

A2 A∗0 A∗∗
s s s 2

A1 A∗2 A∗∗
s s s 1

Figura 2: Completando stencil de seis nós.

Neste stencil foram adicionados três nós fora da malha, esses nós tem, por simetria, coefici-
entes A∗∗ ∗∗
1 e A2 . Usando como notação: u0 solução homogênea e up solução particular. Podemos
considerar, como hipótese, equação de contorno de Robin unidimensional, pois para cada stencil
da fronteira haverá variação em uma única direção, no caso tomamos como s. Assim,
d
u0 (s) + iku0 (s) = g. (16)
ds
Queremos encontrar a solução u, que é dada por: u = u0 + up . Onde u = u0 , solução da equação
homogênea é u0 = e−iks . Assim, o stencil exato de dois pontos para a equação homogênea é
dado por
A∗2 u0 (0) + A∗∗
1 u0 (h) = 0. (17)
Fixando A∗∗
1 = 1, obtemos o valor do coeficiente

A∗2 = −e−ikh . (18)

Como solução particular consideramos up = eik(x cos θ+y sin θ) , que para uma borda y = constante,
depende apenas de s = x. Dado que u = u0 + up , escrevemos

A∗2 (u(x, y) − up (x, y)) + A∗∗


1 (u(x + h, y) − up (x + h, y)) = 0. (19)

Sendo A∗∗
1 = 1, obtemos,

u(x + h, y) = up (x + h, y) − A∗2 u(x, y) + A∗2 up (x, y). (20)

843
ISSN 1984-8218

Renomeando u(x + h, y) = X1 , u(x, y) = X2 e substituindo o valor de up , temos

X1 = eik((x+h) cos θ+y sin θ) − A∗2 X2 + A∗2 eik(x cos θ+y sin θ) . (21)

Considerando, agora, um stencil de dois pontos, de forma que os coeficientes do stencil sejam
os mesmos que um stencil de nove nós, temos;

A2 X2 + A1 X1 = 0. (22)

Substituindo (21) em (22) obtemos

(A2 − A1 A∗2 )X2 = −A1 A∗2 eik(x cos θ+y sin θ) − A1 eik((x+h) cos θ+y sin θ) . (23)

Fazendo o mesmo procedimento acima, encontramos os valores dos demais nós do stencil:

(A0 − A2 A∗0 )X2 = −A2 A∗0 eik(x cos θ+y sin θ) − A0 eik((x+h) cos θ+y sin θ) . (24)

Exemplo 2.2 Neste exemplo resolvemos o problema de Helmholtz pelo método QOFD, intro-
duzindo condições de contorno de Robin em dois lados de um domı́nio e nos outros dois lados
condições de contorno de Dirichlet. Na Figura 3 (à esquerda) mostra o estudo de convergência
da aproximação do método QOFD em um domı́nio Ω = (−0.5, 0.5) × (−0.5, 0.5), com número
de ondas k = 50 e vianjando em uma direção θ = 30. Na Figura 3 (à direita) mostra o estudo
de convergência na norma do máximo comprovando a taxa de sexta ordem.

-1 -4
ku − uI k max(u − uh )
ku − uh k
-5
-1.5

-6
log(error)

log(error)

-2
-7

-8
-2.5

-9
-3
4.5 5 5.5 6 4.5 5 5.5 6
− log(neq) − log(neq)

Figura 3: Estudo de convergência da aproximação QOFD com condições de Robin na norma


L2 (à esquerda) e confirmação da aproximação de sexta ordem do método QOFD na norma do
máximo em uma malha uniforme. (à direita).

3 Recuperação de Soluções de Alta Ordem


Para recuperar aproximações de alta ordem do QOFD compatı́vel com as taxas de interpolação
adotamos o seguinte método de pós-processamento, desenvolvido por [1]:
1. A partir de uma malha uniforme M1 com (m × m) de elementos bilineares quadrilaterais.

2. Cada elemento da malha M1 , denotado como macroelemento, é refinado, de acordo com


o polinômio de interpolação. Adotando um arranjo de l × l elementos bilinares para gerar
a sequência {Ml , l = 1, 2, 3, 4, 5, 6} de malhas aninhadas.

3. Cada malha Ml é composta por (ml × ml) elementos Q1 ou (m × m) elementos Ql ou


m × m macroelementos combinados de (l × l) elementos Q1 .

844
ISSN 1984-8218

4. O método QOFD é aplicado sobre cada malha Ml de (ml × ml) elementos Q1 .

5. As soluções de alta ordem do QOFD são recuperadas adotando interpolações de alta


ordem sobre cada malha Ml de (m × m) elementos Ql ou macroelementos compostos
pela combinação de (l × l) elementos Q1 .
De acordo com o método de pós-processamento proposto, as formulações do QOFD são
aplicadas apenas sobre malhas de elementos finitos bilineares levando, sempre, para stencils
compactos de nove nós. Todas malhas Ml tem o mesmo número, m × m de macroelementos
composto pela combinação de l × l elementos Q1 .

4 Resultados Numéricos
Nesta seção apresentamos resultados numéricos para o uso do método de pós-processamento pro-
posto, aplicado em malhas uniformes e não uniformes. O problema de Helmholtz será resolvido
adotando condições de contorno de Dirichlet e Robin.
Neste estudos nós testamos as taxas de convergência do método QOFD com aproximação Q1
e as taxas de convergência da recuperação de soluções de alta ordem obtidas usando o método
de pós-processamento, considerando uma sequência de malhas de elementos Q1 e sequências de
malhas aninhadas de elementos Ql , para l ≥ 2, adotando para recuperar soluções de alta ordem
do método QOFD. Uma sequência de 60n × 60n, com n = 1, 2, 3, 4, de elementos bilineares
é adotado para resolver o problema usando a formulação QOFD com elementos Q1 . Então
recuperamos aproximações de alta ordem considerando sequências de malhas aninhadas com
(60/l)n × (60/l)n elementos Ql , para l = 1, 2, 3, 4, 5 e n = 1, 2, 3, 4.
Primeiro, considerando condições de contorno de Dirichilet. A Figura 4 mostra taxas ótimas
de convergência para a aproximação QOFD e para toda solução de alta ordem recuperada na
norma L2 e na seminorma H 1 . É notável como as simulações de alta ordem são muito mais
precisas que a aproximação padrão Q1 do QOFD para o mesmo número de grau de liberdade.
Esse fato torna-se mais evidente no gráfico apresentado na Figura 5 onde os resultados sobre
o estudo da l-convergência, são apresentados. Neste estudo, a recuperação de soluções de alta
ordem são obtidas considerando uma sequência de malhas com número fixo de macroelementos e
variando o grau do polinômio, l = 2, 3, 4, 5, da interpolação sobre os macroelementos. Podemos
ver claramente uma maior precisão das soluções recuperadas em comparação com a aproximação
padrão Q1 do QOFD para o mesmo número de grau de liberdade.

2 3
Q1 Q1
Q2 Q2
2
Q3 Q3
0
Q4 Q4
1
Q5 Q5
-2 0
log(error)

log(error)

-1
-4
-2

-3
-6
-4

-8 -5
4.5 5 5.5 6 4.5 5 5.5 6
− log(neq) − log(neq)

Figura 4: Erro relativo na norma L2 (esquerda) e seminorma H 1 (direita) (k = 50 e θ =


π/6) correspondendo a recuperação de alta ordem da solução QOFD com elementos Ql (l =
1, 2, 3, 4, 5). Condição de contorno de Robin e Dirichlet e malhas uniformes.

845
ISSN 1984-8218

0 2
ku − uh k k∇u − ∇uh k
ku − uSR k k∇u − ∇uSR k
1

-2
0
log(error)

log(error)
-1
-4
-2

-6 -3

-4

-8
-5
4.5 5 5.5 6 4.5 5 5.5 6
− log(neq) − log(neq)

Figura 5: Estudo de convergência da solução QOFD recuperada com polinômio de interpolação


Ql (urs ) comparada com a aproximação padrão do QOFD (uh ). Erro relativo na norma L2
(esquerda) e seminorma H 1 (direita) (k = 50 e θ = π/6). Condição de contorno de Robin e
Dirichlet e malhas uniformes.

5 Conclusões
A partir do método de diferenças finitas (QOFD) desenvolvido para resolver o problema de
Helmholtz com médios e altos números de ondas k, introduzimos condições de contorno de
Robin exatas, mantendo a sexta ordem do método. Propomos um método de pós-processamento
para recuperar soluções de alta ordem, com baixa custo computacional. Os ótimos resultados
observados no experimento numérico relatado anteriormente dependem da convergência de sexta
ordem da formulação QOFD na norma do máximo. Esta taxa de convergência de sexta ordem
na norma do máximo é observada apenas para malhas uniformes.

Referências
[1] A.A.S. Amad, C.O. Faria, A.F.D. Loula, Recovering Higher-Order QOFD/QOPG Appro-
ximations for the Helmholtz Problem, XXXII CILAMCE 2011.

[2] D.T. Fernandes, A.F.D. Loula, Quasi optimal finite difference method for Helmholtz pro-
blem on unstructured grids, International Journal for Numerical Methods in Engineering,
82 (2010) 1244-1281.

[3] D.T. Fernandes, ”Métodos de elementos finitos e diferenças fintas estabilizados para o pro-
blema de Helmholtz”, Tese de Doutorado, LNCC - Laboratório Nacional de Computação
Cientı́fica, 2009.

[4] F. Ihlenburg, I.M. Babuska, Finite Element Solution of the Helmholtz Equation with High
Wave Number Part I: The h-Version of the FEM, Computers & Mathematics with Appli-
cations, 30 (1995) 9-37.

[5] F. Ihlenburg and I.M. Babuska, Dispersion analysis and error estimation of Galerkin finite
element methods for the Helmholtz equation, International Journal for Numerical Methods
in Engineering, 38 (1995) 3745-3774.

[6] Y.S. Wong, G. Li, Exact Finite Difference Schemes for Solving Helmholtz Equation at any
Wavenumber, International Journal of Numerical Analysis and Modeling, 2 (2011) 91-108.

846

Você também pode gostar