introduÇÃo ao mÉtodo multigrid€¦ · introduÇÃo ao mÉtodo multigrid prof. diomar cesar...

58
INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006

Upload: others

Post on 12-Aug-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

INTRODUÇÃO AO MÉTODO MULTIGRID

Prof. Diomar Cesar LobãoUFF - Volta Redonda, RJ

Nov. 2006

Page 2: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

2 / 31Nov 2006

§ Técnica para acelerar a convergência dos métodos iterativos de solução de sistemas de equações algébricas lineares e ou não-lineares.

§ Reduz em ordens de magnitude o tempo de solução de sistemas algébricos.

O que é multigrid?

INTRODUÇÂO

Page 3: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

3 / 31Nov 2006

§ Métodos de solução dos sistemas algébricos:

• Diretos – Eliminação de Gauss, Fatoração de Crout.

• Iterativos - Jacobi, Gauss-Seidel e Sobre-relaxação.

§§ MMéétodos iterativos são mais geraistodos iterativos são mais gerais

Resolução numérica de sistemas algébricos

INTRODUÇÂO

Page 4: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

4 / 31Nov 2006

§ Sistema linear:

§ Aproximação para u dada pelo método iterativo: v

§ Erro:

§ Infelizmente, não sabemos nada do comportamento do erro! Usa-se...

bAu =

vue -=

Resolução numérica de sistemas algébricos

INTRODUÇÂO

Page 5: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

5 / 31Nov 2006

§§ NormaNorma: função real que fornece valor do “comprimentocomprimento” de um vetor ou matriz

§§ Tipos de NormasTipos de Normas mais comuns:

Infinita: Euclidiana:

jNje

££¥ = 1maxe

2/1

1

22

þýü

îíì

= å=

N

jjee

Resolução numérica de sistemas algébricos

INTRODUÇÂO

Comportamento do erro é monitorado por:

¥L 2L

Page 6: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

6 / 31Nov 2006

§§ ResResííduoduo

§§ ResResííduoduo: mede o quanto a aproximação v não satisfaz o sistema algébrico.

Avbr -=

Resolução numérica de sistemas algébricos

INTRODUÇÂO

Page 7: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

7 / 31Nov 2006

§ Substituindo-se a expressão no sistema algébrico, obtemos:

§ Chamada de equação do resíduo. Mostra que o erro “e”satisfaz a mesma equação que o sistema algébrico, quando b é substituído por r.

vue -=

rAe =

Resolução numérica de sistemas algébricos

INTRODUÇÂO

Page 8: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

8 / 31Nov 2006

§ A equação do resíduo é muito importante paramultigridmultigrid!!

§ Uma dica!: se resolvermos a equação do resíduo, podemos encontrar a solução u a partir de

evu +=

Resolução numérica de sistemas algébricos

rAe =

INTRODUÇÃO

Page 9: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

9 / 31Nov 2006

Revisão

§ Problemas Modelo

§ Método de Relaxação

§ Erro de convergência

§ Malhas(Grids) Múltiplas-Multigrid

§ Desempenho

§ Considerações Teóricas

Page 10: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

10 / 31Nov 2006

Problema Modelo 1D

§ Equação Diferencial in 1D

§

para 0 £ x £ 1 , a > 0 Fronteira: u(0) = u(1) = 0

§§ DiscretizarDiscretizar o problema contínuo em “n” subintervalossubintervalos“avaliando” nos pontos xj = jDh, com Dh = 1/(n)

§ Malha(Grid) Mh:

u0 u1 u2 u3 u4 u5[ ] ¬ Vetor u (solução)

u

)()()(

2

2

xfxaux

xu=+

¶¶

-

Page 11: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

11 / 31Nov 2006

Problema Modelo 1D

§ Aproximação de diferença finita de segunda ordem

v0 = vn = 0; com v sendo a solução aproximada de u

§ Escrevendo na forma Matricial

§ Escrevendo na forma compacta: Av = f

§ Obs: os termos para j=0, j=n foram agregados ao lado direitoos termos para j=0, j=n foram agregados ao lado direito

11 com )(²

2 11 -££=+D

-+- +- njxfavh

vvvjj

jjj

úúúú

û

ù

êêêê

ë

é

=

úúúú

û

ù

êêêê

ë

é

=

úúúú

û

ù

êêêê

ë

é

×

úúúú

û

ù

êêêê

ë

é

+-

-+--+

D

--- 1

1

1

1

1

1

)(

)(

²21

1²21

1²2

²1

nnn f

f

xf

xf

v

v

ah

ah

ah

h MM

MM

MM

O

Page 12: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

12 / 31Nov 2006

Problema Modelo 2D

§ Equação Diferencial Parcial Elíptica 2D

para 0 £ x,y £ 1 , a > 0Fronteira: “Plano = 0”

§ Discreta por uma malha bi-dimensional (com: x(i),i=1,...,m-1,y(i),j=1,...,n-1 nodosnodos interioresinteriores)

Wh

Y(j)

X(i)

u3,2

),(2

2

2

2

yxfauyu

xu

=+¶¶

-¶¶

-

Page 13: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

13 / 31Nov 2006

Problema Modelo 2D

§ Aproximando em diferenças finitas de segunda ordem

§ Escrevendo na forma Matricial

Bloco) de diagonal-i(Matrix tr

1)-(n1)-(m1)-(n1)-(m é matriz da Dimensão

identidade matriz 1)-(n1)-(n uma é I

1)-(n1)-(n são dimensões as -1D problema do matriz a com parece B²

1

²1

²1

²1

1

1

1

1

×´×Þ´

´

úúúú

û

ù

êêêê

ë

é

=

úúúú

û

ù

êêêê

ë

é

×

úúúúúúú

û

ù

êêêêêêê

ë

é

D-

D-

D-

D-

-- mm f

f

v

v

BIh

Ih

BIh

Ih

B

MM

MM

O

( )( )Tniii

Tniii

fff

vvv

1,1

1,1

-

-

==

LLLL

11 sendo ,0

11 com22

,,0,0,

,,21,,1,

2,1,,1

-££====

-££=+D

-+-+

D

-+- +-+-

mivvvv

njfavh

vvv

h

vvv

jmjnii

jijijijijijijiji

Page 14: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

14 / 31Nov 2006

Problema Modelo 2D

§ Examplo: Sistema para a=0, n=4, h=1

§ Escrevendo na forma compacta: Av = f (montagem por coluna)

úúúúúúúúúúúú

û

ù

êêêêêêêêêêêê

ë

é

=

úúúúúúúúúúúú

û

ù

êêêêêêêêêêêê

ë

é

×

úúúúúúúúúúúú

û

ù

êêêêêêêêêêêê

ë

é

-----

-----

-------

-----

--

3,3

2,3

1,3

3,2

2,2

1,2

3,1

2,1

1,1

3,3

2,3

1,3

3,2

2,2

1,2

3,1

2,1

1,1

410

141

014

410

141

014

410

141

014

f

f

f

f

f

f

f

f

f

v

v

v

v

v

v

v

v

v

I

I

I

II

II

II

I

I

I

0

B

0

Page 15: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

15 / 31Nov 2006

Revisão

§ Problemas Modelo

§ Método de Relaxação

§ Erro de convergência

§ Malhas(Grids) Múltiplas-Multigrid

§ Desempenho

§ Considerações Teóricas

Page 16: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

16 / 31Nov 2006

§ E.D.P. modelo:

§ 1 dimensão

§ Discretização pelo método de diferenças finitas, fórmula dos 3 pontos, segunda ordem.

îíì

¶==Ñ

Ru

Ru

em 0

em 02

Solução numérica de EDPs

Revisão

Page 17: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

17 / 31Nov 2006

§ Malha computacional com N=64 nodos.

§ Equações:

0 : Contorno de Condição

11 ,02

0

11

==

-££=-+- +-

N

jjj

uu

Njuuu

Malha computacional

Revisão

Page 18: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

18 / 31Nov 2006

§ Pode ser escrito como: , onde:bAu =

úúúú

û

ù

êêêê

ë

é

-

---

=

21

121

12

OA

úúúúúú

û

ù

êêêêêê

ë

é

=

-

-

1

2

2

1

N

N

u

u

u

u

Mu

úúúúúú

û

ù

êêêêêê

ë

é

=

Nu

u

0

00

Mb

Sistema linear

Revisão

Page 19: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

19 / 31Nov 2006

§ Funções seno (ou modos de Fourier)

§ indica a j-ésima componente do vetor v(0).

§ k é o número de onda.

§ vk é o vetor com número de onda k.

11

0 , sen)0(

-££££

÷øö

çèæ p=

Nk

Nj

Njk

v j

)0(jv

Aproximação inicial da solução

Revisão

Page 20: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

20 / 31Nov 2006

§ Indica quantas meiameia--sensenóóidesides existem no domínio.

§ Se , os modos de Fourier são denominados suaves.

§ Se , os modos de Fourier são denominados de oscilatórios.

2/1 Nk <£

12/ -££ NkN

Número de onda k

Revisão

Page 21: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

21 / 31Nov 2006

-1,5

-1

-0,5

0

0,5

1

1,5

0 20 40 60 80

vk

k=1

k=2

k=6

Gráfico da aproximação inicial da solução

Revisão

Page 22: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

22 / 31Nov 2006

§§ GaussGauss--SeidelSeidel

§§ JacobiJacobi com Relaxacom Relaxaççãoão

§ Fator de relaxação:

§ Aproximação inicial: v1, v2 e v6.

§§ Norma infinitaNorma infinita após 100 iterações:

2

)(1

)1(1)1(

kj

kjk

j

uuu +

+-+ +

=

÷÷ø

öççè

æ ++-= +-+

2)1(

)(1

)(1)()1(

kj

kjk

jkj

uuuu ww

10 £w<

Solução do sistema algébrico

jNje

££¥ = 1maxe

Revisão

Page 23: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

23 / 31Nov 2006

¥e

0

0.2

0.4

0.6

0.8

1

1.2

0 20 40 60 80 100

No. de iterações

k=1

k=2

k=6

Jacobi com fator de relaxação: w = 2/3

Revisão

Page 24: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

24 / 31Nov 2006

¥e

0

0.2

0.4

0.6

0.8

1

1.2

0 20 40 60 80 100

No. de iterações

k=1

k=2

k=6

Gauss-Seidel

Revisão

Page 25: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

25 / 31Nov 2006

¥e

0

0.2

0.4

0.6

0.8

1

1.2

0 20 40 60 80 100

No. de iterações

k=1

k=2

k=6

k=1, GS

k=2, GS

k=6, GS

Gauss-Seidel e Jacobi comparados

Revisão

Page 26: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

26 / 31Nov 2006

§ Que os métodos JacobiJacobi e GaussGauss--SeidelSeidel (e métodos iterativos em geral):

eliminam com eficiência apenas as componentes de eliminam com eficiência apenas as componentes de alta freqalta freqüüência do erroência do erro

§ Que as componentes de baixa freqbaixa freqüüênciaência são eliminadas lentamentelentamente.

É importante notar...

Revisão

Page 27: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

27 / 31Nov 2006

§ Problemas Modelo

§ Métodos de Relaxação

§ Erro de convergência

§ Malhas (Grids) Múltiplas-Multigrid

§ Desempenho

§ Considerações Teóricas

Page 28: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

28 / 31Nov 2006

Erro de convergência

§ Problema Simplificado : Au = 0Þ v deve convergir para 0, implica que ® e = u

§ Em qual maneira JacobiJacobi RelaxadoRelaxado decresce o error?Þ Análise dos auto-vetores da matriz de iteração

§ Auto-vetores wk das matrizes A e Rj (n - número de nodos)

• Vetor wk é também a késimo modo demodo de FourierFourier

§ Auto-valores lk da matriz Rj (geralmente: Rjwk = lkwk)

• Para: lkwk < 1 Þ | lk| < 1, iteraiteraçção convergeão converge

njnknjk

sinw jk ££-££÷øö

çèæ= 0 ,11 com,,

p

11 com,2

21)( 2 -££÷øö

çèæ-= nk

nk

sinRk

pwl w

Page 29: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

29 / 31Nov 2006

Erro de convergência

§ Auto-valores

§ Suave, baixa-freqüência modos de Fourier : 1 < k < ½n

• |lk| é próximo de 1 Þ amortecimento insatisfatamortecimento insatisfatóóriorio§ Oscilatório, alta-freqüência modos de Fourier:

½n < k < n-1

• Para l, |lk| próximo de 0 Þ bom amortecimentobom amortecimento

11 com,2

21)( 2 -££÷øö

çèæ-= nk

nk

sinRk

pwl w

0 2 4 6 8-1

-0.5

0

0.5

1

0 2 4 6 8-1

-0.5

0

0.5

1

kl kl

j j

Page 30: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

30 / 31Nov 2006

Erro de convergência

§ Diagrama de amortecimento do mméétodo detodo de JacobiJacobi com com RelaxaRelaxaççãoão

§§ Modos OscilatModos Oscilatóório do errorio do erro são muito bem amortecido (Associados às malhas finas).

§§ Modos SuaveModos Suave são difíceis de amortecer (Associados às malhas grossas).

11 com,2

21)( 2 -££÷øö

çèæ-= nk

nk

sinRk

pwl w

Page 31: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

31 / 31Nov 2006

Revisão

§ Problemas Modelo

§ Método de Relaxação

§ Erro de convergência

§ Malhas (Grids) Múltiplas - Multigrid

§ Desempenho

§ Considerações Teóricas

Page 32: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

32 / 31Nov 2006

Malhas Múltiplas

§§ IdIdééia fundamental do mia fundamental do méétodotodo multigridmultigrid

• Faz modos suave parecer oscilatório!

• Modo suave em Mh parece oscilatório na malha Mnh

0 2 4 6 8 10 12-1

-0.5

0

0.5

1

0 1 2 3-1

-0.5

0

0.5

1

Mh M4h

kl

jj

kl

Page 33: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

33 / 31Nov 2006

Malhas Múltiplas

§ Transferência da malha grossa p/ fina: ProlongamentoProlongamento

• M2h Mh .

• Método usado: InterpolaInterpolaççãoão Linear,Linear, é efetiva

njvvv

vvh

jh

jhj

hj

hj

£<+=

=

++ 1),( 21

221

12

22

h

hh

hhh

v

v

v

v

v

v

I vv =úúú

û

ù

êêê

ë

é=

úúú

û

ù

êêê

ë

é

úúú

û

ù

êêê

ë

é=

3

2

1

23

2

12

2

110

110

011

21

hhI 2

hhI 2

Fronteira:®

Interior: ®

Page 34: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

34 / 31Nov 2006

Malhas Múltiplas

Fina: hFina: h

Grossa:2h

h h h h

2h 2h

Prolongamento (InterpolaProlongamento (Interpolaçção)ão)RestriRestriççãoão

1 2 43 5

13 5

hhh

h MIM 22hh

hh MIM 22

Page 35: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

35 / 31Nov 2006

Malhas Múltiplas

§ Transferência de malha fina grossa: RestriRestriççãoão

• Mh M2h.

• Método simples: Injeção(Injection)

• Melhor: “Full weighting”

•• Operador de RestriOperador de Restriççãoão:

• Operação de Transferência: Mh M2h , é suficiente

njvvvv hj

hj

hj

hj ££++= +- 1),2( 122124

12

hh

h

h

h

h

hh

v

v

v

v

v

I

úúúúúú

û

ù

êêêêêê

ë

é

úúú

û

ù

êêê

ë

é=

5

4

3

2

1

2 ;

12100

01210

00121

41 hh

hh I vv 22 =

hhI2

hhI2

hhI2

Page 36: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

36 / 31Nov 2006

Malhas Múltiplas

§§ ErrosErros: modos oscilatmodos oscilatóóriosrios em Mh serão representados como modos suavemodos suave sobre M2h

§§ Simples esquema de correSimples esquema de correçção para ão para ““duasduas--malhasmalhas””§ Na malha Mh, relaxar w1 vezes Ahvh = 0, usando v(0)h

- Restringir o resíduo rh da malha fina para a malha grossa

- Na malha M2h, relaxar w2 vezes A2he2h = r2h usando e(0)h = 0

-- Prolongar (Interpolar)Prolongar (Interpolar) o erro da malha grossa M2h para malha fina Mh

• Corrigir a malha-fina: vh ¬ vh + eh

• Na malha Mh, relaxar w1 vezes Ahvh = 0 usando vh

Page 37: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

37 / 31Nov 2006

Malhas Múltiplas

§ Estratégias MultigridMultigrid

•• IteraIteraçção aninhadaão aninhada: Use malha grossa p/ gear valor inicial melhorado

•• CorreCorreçção Malha Grossaão Malha Grossa: Aproxima erro relaxando sobre a equação do resíduo na malha grossa

V-ciclo W-ciclo Esquema FMG

Page 38: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

38 / 31Nov 2006

Malhas Múltiplas

§ Esquema V-Ciclo (Correção Malha Grossa)

• V-Ciclo(vh, fh)- Relaxar w1 vezes em Ahvh = 0 com condição inicial vh

- If (malha atual = malha grossa) goto último ponto- Else: f2h = Restrict(fh – Ahvh)- v2h = 0- Call v2h = V-Ciclo(v2h, f2h)

- Corrigir: vh += Interpolate(v2h)- Relaxar w2 vezes em Ahvh = 0 com condição inicial vh

Page 39: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

39 / 31Nov 2006

Problema Modelo 2D

Gauss-Seidel para equação de Laplace: Definição do operador ““LL””

21,,1,

2,1,,1

,

22

y

uuu

x

uuuLu jijijijijiji

ji D

+-+

D

+-= -+-+

Definimos o resíduo (erro) como:jiji LuR ,, =

Este resíduo tende a zero na Convergência:

0lim ,, ==¥® jijiiter LuR

Page 40: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

40 / 31Nov 2006

Problema Modelo 2D

Termo de correção escrito na forma do “ Delta Form “

numérica Solução

Exata Solução sendo ,

,

,,,,

=

=-=Dnji

jinjijiji

u

uuuu

Aplicando o operador “L” no termo de correção, malha regular, obtemos:

njijiji LuLuuL ,,, -=D

0

[ ]2,1,1,,1,1,

2,1,1,,1,,1

,,

41

4

xRuuuuu

xRuuuuu

RuL

jijijijijiji

jijijijijiji

jiji

D+D+D+D+D=D

D-=D+D+D+D-D

-=D

-++-

-++-

Malha regular

Page 41: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

41 / 31Nov 2006

Problema Modelo 2D

• Se depois de calcular R mante-lo fixo, é possível calcular Delta u que seráadicionado as condições iniciais no processo de obter a solução convergida.

•Pode também atualizar R depois de cada iteração, e então a medida que o processo converge, Delta u irá convergir para zero.

•Esta última equação é a chave mestra do método Multigrid, desde que ela éusada na malha grossa.

•Uma vez achado Delta u, então calcula-se a solução, como:

jinjiji uuu ,,, D+=

jiji RuL ,, -=D

Page 42: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

42 / 31Nov 2006

Problema Modelo 2D

Page 43: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

43 / 31Nov 2006

Problema Modelo 2D

Malha 1

Malha 2Malha 3

Page 44: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

44 / 31Nov 2006

Problema Modelo 2D

Passos de ImplementaPassos de Implementaçção para 2 malhas:ão para 2 malhas:

1. Faça algumas iterações na malha #1 usando Gauss-Seidel

2. Calcule o resíduo R em cada ponto (i,j) sobre a malha #1 e então onde a malha #2 e malha #1 coincidem, copie o resíduo para a malha #2 (Restrição), caso contrário use FW

3. Sobre a malha #2, resolva a equação de correção:

4. Copie a correção (Delta u) na malha #1 (Malha fina), nos pontos que situam entre a malha #2 (grossa), utilize Prolongamento (Interpolação). Simples média é suficiente

5. Repete

jiji RuL ,, -=D

Page 45: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

45 / 31Nov 2006

Problema Modelo 2D

Malha 1

Malha 2

Faça algumas iterações sobre Lu=0 e calcule R

Copie R da malha #1 para a malha #2 (grossa)

Resolva L(Delta u)=-R

Copie (Delta u)sobre a malha #1

Interpole sobre a malha #1 (fina)

Repita até obter solução convergida

Page 46: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

46 / 31Nov 2006

Equação Não-Linear: 02

22

=¶¶

+¶¶

uxx

u

Aplicando diferença finita centrada de segunda ordem na derivas contínuas, obtém-se:

02

2 211

21

21 =

D+-

+D- -+-+

xuuu

xuu iiiii

•Produz um sistema não-linear de equações algébricas...

•Para obter um sistema algébrico linear da E.D.P. acima fazemos uso da “Forma Delta” da seguinte maneira:

Problema Não-Linear

Page 47: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

47 / 31Nov 2006

Problema Não-Linear

ini

ni

ni

nii

uuu

uuu

D+=

-=D+

+

1

1 :escrever podemos então ,

Substituindo esta relação na equação de diferença finita anterior, obtém-se:

0)()(2)(

2)()(

21111

211

211

=D

D++D+-D+

+D

D+-D+

--++

--++

xuuuuuu

xuuuu

inii

nii

ni

inii

ni

Page 48: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

48 / 31Nov 2006

Problema Não-Linear

Esta equação pode ainda ser re-escrita como:

02

2)()(

2)()(

22

22

211

21

21

21

21

2111111

=úû

ùêë

éD

+-+

D-

-

=D

D-D

+D

D+D-D+

DD-D

-+-+

-+

-+--++

xuuu

xuu

xuu

xuuu

xuuuu

ni

ni

ni

ni

ni

ii

iiiinii

ni

Assumir negligenciável

Page 49: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

49 / 31Nov 2006

Problema Não-Linear

Finalmente,

úû

ùêë

éD

+-+

D-

-

=D

D+D-D+

DD-D

-+-+

-+--++

211

21

21

2111111

22

)()(

22

22

xuuu

xuu

xuuu

xuuuu

ni

ni

ni

ni

ni

iiiinii

ni

nii

ni RHSuuA =D).(Em forma linear matricial compacta:

Esta forma é muito usada em CFD e é chamada de “Full Approximation Storage Multigrid Method”. É necessário armazenar, Delta u, u, resíduo RHS e LHS em cada nível de iteração para cada nível de malha.

)( ni

ni uALHS = Então:

ni

ni

ni RHSuLHS =D.

Page 50: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

50 / 31Nov 2006

Revisão

§ Problemas Modelo

§ Método de Relaxação

§ Erro de convergência

§ Malhas (Grids) Múltiplas - Multigrid

§ Desempenho

§ Considerações Teóricas

Page 51: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

51 / 31Nov 2006

Desempenho

§ Requerimentos de armazenamento

• Vetores v e f para n = 16 com valores de fronteira(n=0, n=16)

• Para d = 1, requerimento de memória é menor que o dobro do problema de malha fina sozinho

Mh M2h M4h M8h

17 9 5 3

v

Mh M2h M4h M8h

17 9 5 3

f

problema do Dimensão :d ,21

2com

nriaEspaçoMemo

d

d

--<

Obs: EM=64 < 2x(17+17)=68

Page 52: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

52 / 31Nov 2006

Desempenho

§§ Custo ComputacionalCusto Computacional• 1 unidade de trabalho (UT): uma varredura de

relaxação sobre Mh

• O(UT) = O(N), com N: Número Total de pontos de malhas

• Transferência entre malha é negligenciada• Uma varredura de relaxação por nível (wi = 1)

• Problema 1D : Simples V-Ciclo custa ~4UT,Completo FMG ciclo ~8UT.

UTCusto

UTCusto

d

d

2CicloFMG

Ciclo-V

)21(2

212

-

-

-<

-<

Page 53: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

53 / 31Nov 2006

Desempenho

§§ Ferramentas de DiagnosticoFerramentas de Diagnostico

• Ajuda a “debugar” seu código

• Plano Metódico para testar módulos

• Iniciar Simples com pequenos problemas!

• Expor Problema – dificuldades podem estar escondidas

• Propriedade de Ponto Fixo – relaxação pode não mudar a solução (ProblemasProblemas stiffstiff)

• Problema Homogêneo: norma do erro e resíduo devem decrescer para zero

Page 54: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

54 / 31Nov 2006

Revisão

§ Problemas Modelo

§ Método de Relaxação

§ Erro de convergência

§ Malhas (Grid) Múltiplas- Multigrid

§ Desempenho

§ Considerações Teóricas

Page 55: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

55 / 31Nov 2006

Teoria

§ O Impacto da transferência Intermalha e o método iterativo pode ser expressado e provado de maneira formal (ananáálise de complexidade de algoritmolise de complexidade de algoritmo).

§ Quadro Espectral do método multigrid

• Relaxação amortece modos oscilatmodos oscilatóóriosrios

• Interpolação & Restrição amortece modos suaveamortece modos suave

§ Quadro Algébrico do método multigrid

• Decompõe o espaço do erro: Mh = L Å H • L é similar a P, e H é similar a R

)( 22

hhh AIPP = )( 2 hh

h AIRR =

Page 56: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

56 / 31Nov 2006

Teoria

§ Operações de método de multigridmultigrid, visualizada

• Plano representando: Mh

• Erro eh é sucessivamente projetado sobre um dos eixos- Relaxação sobre a malha fina (1)- Correção Duas-Malhas (2)

- Novamente, relaxação sobre a malha fina (3)

P

R

Page 57: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

57 / 31Nov 2006

Bibliografia

1. A. Brandt. "Multi-level adaptive solutions to boundary-value problems." Math. Comp., 31, 333-390, (1977)

2. W. L.Briggs et al. A Multigrid Tutorial, Second Edition. SIAM. 2000

3. T. L. Beck Rev. Mod. Phys. 72 1041. 2000.

4. Anderson, Tannehill, & Pletcher, 1984.

5. W. Hackbusch and U. Trottenberg. Lecture Notes in Mathematics , 960, (Multigrid Methods), (1982)

6. A. Brandt. "Guide to multigrid development.", ibid., 220-312, (1982)

7. W. Hackbusch. "Multi-grid convergence theory.", ibid., 177-219, (1982)

8. S. F. McCormick. Frontiers in Applied Mathematics , 3, (Multigrid Methods), (1987)

9. P. Wesseling. An Introduction to Multigrid Methods , (1992)

10.U. Rude. "Fully adaptive multigrid methods." SIAM J.Numer. Anal. , 30, 230-248, (1993)

Page 58: INTRODUÇÃO AO MÉTODO MULTIGRID€¦ · INTRODUÇÃO AO MÉTODO MULTIGRID Prof. Diomar Cesar Lobão UFF - Volta Redonda, RJ Nov. 2006. Método Multigrid Nov 2006 2 / 31 § Técnica

Método Multigrid

58 / 31Nov 2006

Fim da Apresentação

§ Pense nisso...?