LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD...

Post on 22-Apr-2015

109 views 0 download

Transcript of LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD...

LCAD - Laboratório de Computação de Alto Desempenho

Departamento de Informática - CT/UFESLCADLCAD

Introdução a Computação Científica

Lucia Catabriga

TEI: Computação Científica Combinatorial

Sumário

● Processos de Solução● Método das Diferenças Finitas● Método dos Elelentos Finitos● Estrutura de Dados envolvidas

Processo de Solução

• Fenômeno Natural• Modelo Matemático - Equações Governantes• Métodos de Aproximação

Diferenças FinitasVolumes Finitos

Elementos FinitosElementos de Contorno

Etapas de Solução

Pré-processamento dos dados:

• Condições de Contorno• Condições Iniciais• Definição do domínio discretizado

Processamento de solução:

• Para cada ponto de interesse do domínio discretizado da malha montar estrutura de solução• Obter solução aproximada ou solução no tempo corrente

Pós-processamento dos Resultados:

• Visualização e análise dos resultados obtidos

Exemplo do Processo de Solução

Domínio Real Domínio DiscretizadoSolução Aproximada

Dispersão de Poluentes na Baía de Guanabara

Processo de Solução

Equação Diferencial Parcial

Aproximação do domínio

Solução do Sistema (Linear ou Não-Linear)

Não dependem do Tempo

Equação Diferencial Parcial

Aproximação do domínioEq. Diferencial Ordinária

Aproximação no Tempo

Solução do Sistemaem cada passo de tempo

Dependem do Tempo

Método das Diferenças Finitas (MDF)

Equação DiferencialDiscretização do

Domínio

Equação de Diferenças Finitas

Solução de SistemasLineares ou Não Lineares

Método dos Elementos Finitos

Equação DiferencialDiscretização do

Domínio

Equação Integral

AproximaçãoSolução de SistemasLineares ou Não Lineares

MDF: exemplo de solução para equação 1D

0 1 1 1 1

0

0 1i i i n

i

x x x x x x

x x i x

Equação diferencial contínua

1- Discretização do Domínio:

2 - Aproximação das derivada por “diferenças”:

1' , ( )i iu uu O x

x

1' , ( )i iu uu O x

x

21 1' , ( )2

i iu uu O x

x

21 12

2'' , ( )i i iu u u

u O xx

'' (0,1)

(0) (1) 0

u f em

u u

MDF: exemplo de solução para equação 1D

2 - Aproximação das derivada por “diferenças”:

2 2 21 11 2 1 , 1, ,i i i i

b a b

u u u f i nx x x

A é tridiagonal

1 1 0

2 2

1 1

1

n n

n n n

u f bua b

u fb a b

u fb a b

u f bub a

0

0

a b

b a b

b a b

b a

MDF: exemplo de solução para equação 2D

0 1 1 1 1 0

0 1 1 1 1 0

0 1,

0 1,i i i n i

j j j m j

x x x x x x x x i x

y y y y y y y y j y

Equação diferencial contínua

1- Discretização do Domínio:

2 - Aproximação das derivada por “diferenças”:

1, 1, 2, ( )2

i j i ju uuO x

x x

21, 1, 2

2 2

2, ( )i j ij i ju u uu

O xx x

2 22 2

2 2(0,1) (0,1)

( , ) / ( , )

u uu f em

x y

uu g x y e ou h x y em

n

MDF: exemplo de solução para equação 2D

Numeração das incognitas:

1, 1, , 1 , 12 2

1 12 2

2 2, 1, , 1, ,

2 2, 1, ,

i j ij i j i j ij i jij

I I I I n I I nI

u u u u u uf i n j m

x y

u u u u u uf I N

x y

MDF: exemplo de solução para equação 2D

2 - Aproximação das derivada por “diferenças”:

2 2 2 21

2 21

1 1 1 12

1 1 , 1, ,

I n I I

bc a

I I n I

b c

u u uy x x y

u u f I n mx y

A é Pentadiagonal

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

0

0

0

0

S O

S

S L

O

L

O N

N

N L

u f cu bua b c

u f cub a b c

u f cu bub a c

u f buc a b c

u fc b a b c

u f buc b a c

u f bu cuc a b

u f cuc b a b

u f cu buc b a

MDF: Matrizes Esparsas Resultantes

7

1 1 1

2 2 2 2

3 3 3

4 4 4 4

5 5 5 5 5

6 6 6 6

7 7

8 8 8 8

9 9 9

0

0

0

0

a b c

b a b c

b a c

c a b c

c b a b cA

c b a c

c a b

c b a b

c b a

Diferenças Finitas 2D → Matrizes pentadiagonais

MEF: exemplo de solução para a equação 1D

Formulação Forte

Formulação Variacional ou Formulação Fraca

'' (0,1)

(0) (1) 0

u f em

u u

1 1

0 0

1 11

0 0 0

"( ) ( ) ( ) ( )

'( ) ( ) '( ) '( ) ( ) ( )

u x v x dx f x v x dx

u x v x u x v x dx f x v x dx

1 1

0 0, ' 'Encontrar u V tal que v V u v dx fvdx

Formulação Variaconal Aproximada

Escolher Φk com suporte compacto, isto é:

k k+1k-1

1

MEF: exemplo de solução para a equação 1D

0 1 1 1 1

0

0 1i i i n

i

x x x x x x

x x i x

1: [0,1] , , [ , ] , 0, , (0) (1) 0k kV u u é contínua u x x é linear k n e u u

11

1

11

1

1 1

[ , ]

( ) [ , ]

0 [ , ]

kk k

k k

kk k

k k

k k

x xse x x x

x x

x xx se x x x

x x

se x x x

Φk

MEF: exemplo de solução para a equação 1D

1 1

0 0, ' 'Encontrar u V tal que v V u v dx fvdx

1

( ) ( )n

hk k

k

u x u x

1

( ) ( )n

hk k

k

f x f x

1 1

0 01

1 1

0 01

' ( ) ' ( ) ( ) , 1, ,

' ( ) ' ( ) ( ) , 1, ,

nh

j j i i ij

nh

j i j i ij

u x x dx f x dx i n

x x dx u f x dx i n

1 1

0 0, ' 'h h h h h h h hEncontrar u V tal que v V u v dx f v dx

MEF: exemplo de solução para a equação 1D

bAu A é tridiagonal

Como Φi possui suporte compacto, Φi’(x) Φi’’(x) é diferente de zero somente para i = j-1, j e j+1

j j+1j-1

1Φj

MEF: exemplo de solução para a equação 1D

bAu

1

( ) ( )n

hk k

k

u x u x

1

Nele

eA k

A

1

Nele

eb f

A

11 12

21 22

e ee

e e

k kk

k k

MEF: exemplo de solução para equação 2D

Equação diferencial contínua

2 22 2

2 2(0,1) (0,1)

0

u uu f em

x y

u em

Formulação Variacional ou Formulação Fraca

, .Encontrar u V tal que v V u v d f v d

MEF: exemplo de solução para equação 2D

1

( , ) ( , )n

hk k

k

u x y u x y

1

( , ) ( , )n

hk k

k

f x y f x y

Formulação Variacional Aproximada

, .h h h h h h hEncontrar u V tal que v V u v d f v d

1

1

01

. , 1, ,

. , 1, ,

nh

j j i i ij

nh

j i j i ij

u d f d i n

d u f d i n

bAu

A é esparsa

MEF: exemplo de solução para equação 2D

1

nene

k kk

u u

1

Nele

eA k

A

1

Nele

eb f

A

nennennennen

nen

nen

e

kkk

kkk

kkk

k

,21

,22221

,11211

MEF: Montagem da Matriz Esparsa

MEF: Montagem da Matriz Esparsa

FEM: Matrizes Esparsas Resultantes

99989695

89888784

787774

69666563

59585655545352

4745444241

36353332

2524232221

141211

kkkk

kkkk

kkk

kkkk

kkkkkkk

kkkkk

kkkk

kkkkk

kkk

K

1,1 1,2 1,3 1,4 1,5 1,6 1,7

2,1 22 2,3 2,6 2,9 2,10

3,1 3,2 3,3 3,4 3,8 3,9 3,11

4,1 4,3 4,4 4,5 4,8

5,1 5,4 5,5 5,7

6,1 6,2 6,6 6,7 6,10

7,1 7,5 7,6 7,7

8,3 8,4 8,8 8,11

9,2 9,3 9,9 9,10 9,11

10,2 1

a a a a a a a

a a a a a a

a a a a a a a

a a a a a

a a a a

a a a a a

a a a a

a a a a

a a a a a

a a 0,6 10,9 10,10

11,3 11,8 11,9 11,11

a a

a a a a

K =

Matrizes Esparsas x Grafo Associado

Grafo Ordenado

Grafo não-ordenado

Matrizes Esparsas Resultantes x Reordenamento de Grafos

Ordenamento Natural Reordenamento Cuthill-Mckee

Matrizes Esparsas Resultantes x Reordenamento de Grafos

Ordenamento Natural

Reordenamento Reverse Cuthill-Mckee

Matrizes Esparsas Resultantes

● Matrizes esparsas x Solução de sistemas Lineares

● Armazenamentos Globais● Armazenamentos Locais

Matrizes Esparsas x Métodos de Solução

● Métodos diretos:– Solução exata a menos de erros de

arredontamento. Transformação do sistema em sistemas triviais modificando os coeficientes da matriz esparsa e alterarando a esparsidade.

● Métodos Iterativos:– Solução aproximada com tolerância pré-fixada.

Não há alteração dos coeficentes nem da esparsidade da matriz

– Dependem de condições de convergência

– Necessidade do produto matriz-vetor

Armazenamento de Matrizes Esparsas Estratégias Globais

7 7

1 1 1 1 1 1

2 2 2 2 2 2 2 2

3 3 3 3 3 3

4 4 4 4 4 4 4 4

5 5 5 5 5 5 5 5 5 5

6 6 6 6 6 6 6 6

7 7 7 7

8 8 8 8 8 8 8 8

9 9 9 9 9 9

0 0

0 0

0 0

0 0

a b c a b c

d a b c d a b c

d a c d a c

e a b c e a b c

e d a b c e d a b cA AA

e d a c e d a c

e a b e a b

e d a b e d a b

e d a e d a

1 1 1

2 2 2 2

3 3 3

4 4 4 4

5 5 5 5 5

6 6 6 6

7 7 7

8 8 8 8

9 9 9

0

0

0 0 0

0 0 0

0 0

0 0 0

0 0 0

0 0

0 0

a b c

d a b c

d a c

e a b c

ou AA e d a b c

e d a c

e a b

e d a b

e d a

A matriz de ordem nxn AA matriz de ordem nx5 ou nx(2p+1)

Compressed Diagonal Storage (CDS)

Armazenamento de Matrizes Esparsas Estratégias Globais

11 12 14

21 22 23 24 25

32 33 35 36

41 42 44 45 47

52 53 54 55 56 58 59

63 65 66 69

74 77 78

84 87 88 89

95 96 98 99

k k k

k k k k k

k k k k

k k k k k

A k k k k k k k

k k k k

k k k

k k k k

k k k k

9 361 4

11 12 14 21 22 25 32 33 89 95 96 98 99

1 2 4 1 2 5 2 3 9 5 6 8 9

1 4 9 13 18 25 29 32 36 40

AA k k k k k k k k k k k k k

JA

IA

A: matriz de ordem nxn

nnz: número de coeficientes não nulos

AA, JA: vetores de ordem nnzIA: vetor de ordem n+1

Compressed Sparse Row (CSR)

Armazenamento de Matrizes Esparsas Estratégias Globais

11

21 22

32 33

41 42 44

52 53 54 55

63 65 66

74 77

84 87 88

95 96 98 99

k

k k

k k

k k k

A k k k k

k k k

k k

k k k

k k k k

4 6 271 2

11 21 22 32 33 41 42 44 95 96 98 990 0

1 2 4 6 10 14 18 22 27 31

AA k k k k k k k k k k k k

IA

A: matriz simétrica de ordem nxn

AA: vetor de ordem nnz+qIA: vetor de ordem n+1

Skyline Storage (SKS)

Armazenamento de Matrizes Esparsas Estratégias Globais

Algoritmo Produto Matriz-vetor CSR

para i=1,2,…,nk1 = IA(i)k2 = IA(i+1)-1para j = k1,…, K2

y(i)= y(i) + AA(j)*v(JA(j)) fim_para ! jFim_para ! i

Armazenamento de Matrizes Esparsas Estratégias Locais

Elemento por Elemento (EBE)

K =

k1

k2

kNel

k3

1

nele

eK k

A

nennennennen

nen

nen

e

kkk

kkk

kkk

k

,21

,22221

,11211

Armazenamento de Matrizes Esparsas Estratégias Locais

Algoritmo Produto Matriz-Vetor EBE

1 1( )

nel nele e e

e eA A v

Av vA A

para e=1,2,…,nellocalize: ve v(e)produto: ave ke*veespalhe e acumule: v(e) v(e) + ave

fim_para ! e

Armazenamento de Matrizes Esparsas Estratégias Locais

Aresta por Aresta (EDS) Desmembramento da matriz elemento nas componentes

das arestas

0

000

0

0

0

000

000

0

0

321 ArestaArestaArestaElemento

Soma das contribuições das arestas dos elementos adjacentes

I

J

K

L

E1

E2

21 EEArestaIJ

Armazenamento de Matrizes Esparsas Estratégias Locais

Aresta por Aresta (EDS)

K =

1

nedgess

sK k

A

nednednedned

ned

ned

s

kkk

kkk

kkk

k

,21

,22221

,11211

k1

knedges

k2

k3

Armazenamento de Matrizes Esparsas Estratégias Locais

Algoritmo Produto Matriz-Vetor EDS

1 1( )

nedges nedgese e e

e eA k v

Av vA A

para s=1,2,…,nedgeslocalize: vs v(s)produto: avs ks*vsespalhe e acumule: v(s) v(s) + avs

fim_para ! s

Processamento Paralelo

Armazenamento Local x Coloração de Grafos

Necessitamos de um Algoritmo de Coloração de Grafos !! Atualmente é usado um algoritmo “Guloso”

Partição de Grafos

Algoritmos de Partição de Grafos

Metis (http://people.sc.fsu.edu/~burkardt/c_src/metis/metis.html): família de particionamento de grafos não estruturados considerando redução de banda da matriz associada (www.cs.umn.edu/~metis )

Processamento Paralelo

Processamento Paralelo x Partição de Grafos