1. LCAD - Laboratório de Computação de Alto Desempenho
Departamento de Informática - CT/UFES LCAD
Introdução a Computação
Científica
Lucia Catabriga
TEI: Computação Científica Combinatorial
2. Sumário
● Processos de Solução
● Método das Diferenças Finitas
● Método dos Elelentos Finitos
● Estrutura de Dados envolvidas
3. Processo de Solução
• Fenômeno Natural
• Modelo Matemático - Equações Governantes
• Métodos de Aproximação
Diferenças Finitas
Volumes Finitos
Elementos Finitos
Elementos de Contorno
4. 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
5. Exemplo do Processo de Solução
Domínio Real Domínio Discretizado
Solução
Aproximada
Dispersão de Poluentes na Baía de Guanabara
6. 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ínio
Eq. Diferencial Ordinária
Aproximação no Tempo
Solução do Sistema
em cada passo de tempo
Dependem do Tempo
7. Método das Diferenças Finitas (MDF)
Equação Diferencial
Discretização do
Domínio
Equação de
Diferenças Finitas
Solução de Sistemas
Lineares ou Não Lineares
8. Método dos Elementos Finitos
Equação Diferencial
Discretização do
Domínio
Equação Integral
Aproximação
Solução de Sistemas
Lineares ou Não Lineares
9. MDF: exemplo de solução para equação 1D
0 1 1 1 1
0
0 1
i 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 i
u u
u O x
x
1
' , ( )
i i
u u
u O x
x
2
1 1
' , ( )
2
i i
u u
u O x
x
2
1 1
2
2
'' , ( )
i i i
u u u
u O x
x
'' (0,1)
(0) (1) 0
u f em
u u
10. MDF: exemplo de solução para equação 1D
2 - Aproximação das derivada por “diferenças”:
2 2 2
1 1
1 2 1 , 1, ,
i i i i
b a b
u u u f i n
x x x
A é tridiagonal
1 1 0
2 2
1 1
1
n n
n n n
u f bu
a b
u f
b a b
u f
b a b
u f bu
b a
0
0
a b
b a b
b a b
b a
11. 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 j
u u
u
O x
x x
2
1, 1, 2
2 2
2
, ( )
i j ij i j
u u u
u
O x
x x
2 2
2 2
2 2
(0,1) (0,1)
( , ) / ( , )
u u
u f em
x y
u
u g x y e ou h x y em
n
12. MDF: exemplo de solução para equação 2D
Numeração das incognitas:
1, 1, , 1 , 1
2 2
1 1
2 2
2 2
, 1, , 1, ,
2 2
, 1, ,
i j ij i j i j ij i j
ij
I I I I n I I n
I
u u u u u u
f i n j m
x y
u u u u u u
f I N
x y
13. MDF: exemplo de solução para equação 2D
2 - Aproximação das derivada por “diferenças”:
2 2 2 2
1
2 2
1
1 1 1 1
2
1 1 , 1, ,
I n I I
b
c a
I I n I
b c
u u u
y x x y
u u f I n m
x 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 bu
a b c
u f cu
b a b c
u f cu bu
b a c
u f bu
c a b c
u f
c b a b c
u f bu
c b a c
u f bu cu
c a b
u f cu
c b a b
u f cu bu
c b a
14. 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 c
A
c b a c
c a b
c b a b
c b a
Diferenças Finitas 2D → Matrizes pentadiagonais
15. 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 1
1
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
16. Formulação Variaconal Aproximada
Escolher Φk com suporte compacto, isto é:
k k+1
k-1
1
MEF: exemplo de solução para a equação 1D
0 1 1 1 1
0
0 1
i i i n
i
x x x x x x
x x i x
1
:[0,1] , , [ , ] , 0, , (0) (1) 0
k k
V u u é contínua u x x é linear k n e u u
1
1
1
1
1
1
1 1
[ , ]
( ) [ , ]
0 [ , ]
k
k k
k k
k
k k
k k
k k
x x
se x x x
x x
x x
x se x x x
x x
se x x x
Φk
17. 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
h
k k
k
u x u x
1
( ) ( )
n
h
k k
k
f x f x
1 1
0 0
1
1 1
0 0
1
' ( ) ' ( ) ( ) , 1, ,
' ( ) ' ( ) ( ) , 1, ,
n
h
j j i i i
j
n
h
j i j i i
j
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 h
Encontrar u V tal que v V u v dx f v dx
18. MEF: exemplo de solução para a equação 1D
b
Au 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+1
j-1
1
Φj
19. MEF: exemplo de solução para a equação 1D
b
Au
1
( ) ( )
n
h
k k
k
u x u x
1
Nel
e
e
A k
A 1
Nel
e
e
b f
A
11 12
21 22
e e
e
e e
k k
k
k k
20. MEF: exemplo de solução para equação 2D
Equação diferencial contínua
2 2
2 2
2 2
(0,1) (0,1)
0
u u
u f em
x y
u em
Formulação Variacional ou Formulação Fraca
, .
Encontrar u V tal que v V u vd f vd
21. MEF: exemplo de solução para equação 2D
1
( , ) ( , )
n
h
k k
k
u x y u x y
1
( , ) ( , )
n
h
k k
k
f x y f x y
Formulação Variacional Aproximada
, .
h h h h h h h
Encontrar u V tal que v V u v d f v d
1
1
0
1
. , 1, ,
. , 1, ,
n
h
j j i i i
j
n
h
j i j i i
j
u d f d i n
d u f d i n
b
Au
A é esparsa
22. MEF: exemplo de solução para equação 2D
1
nen
e
k k
k
u u
1
Nel
e
e
A k
A 1
Nel
e
e
b f
A
nen
nen
nen
nen
nen
nen
e
k
k
k
k
k
k
k
k
k
k
,
2
1
,
2
22
21
,
1
12
11
25. FEM: Matrizes Esparsas Resultantes
99
98
96
95
89
88
87
84
78
77
74
69
66
65
63
59
58
56
55
54
53
52
47
45
44
42
41
36
35
33
32
25
24
23
22
21
14
12
11
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
k
K
K =
29. Matrizes Esparsas Resultantes
● Matrizes esparsas x Solução de sistemas
Lineares
● Armazenamentos Globais
● Armazenamentos Locais
30. 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
31. 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 c
A 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)
32. 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 36
1 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 nnz
IA: vetor de ordem n+1
Compressed Sparse Row (CSR)
33. 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 27
1 2
11 21 22 32 33 41 42 44 95 96 98 99
0 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+q
IA: vetor de ordem n+1
Skyline Storage (SKS)
34. Armazenamento de Matrizes Esparsas
Estratégias Globais
Algoritmo Produto Matriz-vetor CSR
para i=1,2,…,n
k1 = IA(i)
k2 = IA(i+1)-1
para j = k1,…, K2
y(i)= y(i) + AA(j)*v(JA(j))
fim_para ! j
Fim_para ! i
35. Armazenamento de Matrizes Esparsas
Estratégias Locais
Elemento por Elemento (EBE)
K =
k1
k2
kNel
k3
1
nel
e
e
K k
A
nen
nen
nen
nen
nen
nen
e
k
k
k
k
k
k
k
k
k
k
,
2
1
,
2
22
21
,
1
12
11
36. Armazenamento de Matrizes Esparsas
Estratégias Locais
Algoritmo Produto Matriz-Vetor EBE
1 1
( )
nel nel
e e e
e e
A A v
Av v
A A
para e=1,2,…,nel
localize: ve v(e)
produto: ave ke*ve
espalhe e acumule: v(e) v(e) + ave
fim_para ! e
38. Armazenamento de Matrizes Esparsas
Estratégias Locais
Aresta por Aresta (EDS)
K =
1
nedges
s
s
K k
A
ned
ned
ned
ned
ned
ned
s
k
k
k
k
k
k
k
k
k
k
,
2
1
,
2
22
21
,
1
12
11
k1
knedges
k2
k3
39. Armazenamento de Matrizes Esparsas
Estratégias Locais
Algoritmo Produto Matriz-Vetor EDS
1 1
( )
nedges nedges
e e e
e e
A k v
Av v
A A
para s=1,2,…,nedges
localize: vs v(s)
produto: avs ks*vs
espalhe e acumule: v(s) v(s) + avs
fim_para ! s
41. Armazenamento Local x Coloração de
Grafos
Necessitamos de um Algoritmo de Coloração de Grafos !!
Atualmente é usado um algoritmo “Guloso”
42. 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 )