lcad - laboratório de computação de alto desempenho departamento de informática - ct/ufes
DESCRIPTION
TEI: Computação Científica Combinatorial. Introdução a Computação Científica. Lucia Catabriga. LCAD. LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES. Sumário. Processos de Solução Método das Diferenças Finitas Método dos Elelentos Finitos - PowerPoint PPT PresentationTRANSCRIPT
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