Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Angela Nieckele – PUC-Rio
SOLUÇÃO DE SISTEMA 
ALGÉBRICO
O conjunto de equações algébricos 
ap fp= anb fnb + b
dá origem a um sistema algébrico que pode ser 
representado pelo produto de uma matriz de 
coeficiente A e um vetor incógnita f igual a um 
vetor conhecido b
A f = b
1
Angela Nieckele – PUC-Rio
ME2
Maior parte do tempo de uma simulação por 
volumes finitos, elementos finitos, diferenças 
finitas ou outro método numérico é gasto na 
resolução do sistema de equações obtido com a 
discretização.
Necessidade de métodos robustos e rápidos
Para resolver esse sistema pode-se utilizar
MÉTODOS DIRETOS
MÉTODOS ITERATIVOS
Angela Nieckele – PUC-Rio
3
1. Métodos Diretos
Consiste em manipular a matriz de coeficientes A 
e obter de uma vez o campo da variável de 
interesse.
A f = b f = A-1 b
A solução exata (a menos de erros de 
truncamento do computador) é determinada após 
um número finito de operações
Angela Nieckele – PUC-Rio
4
Para situações 1-D, a matriz de coeficientes A com 
muita freqüência só possui três diagonais 
diferentes de zero, sendo possível desenvolver 
algoritmos eficientes, que requerem pouco espaço 
de memória, como por exemplo o Algoritmo de 
Thomas (TDMA).
-aW aP -aE f = b
Angela Nieckele – PUC-Rio
5
Para situações 2-D, a matriz de coeficientes A com 
muita freqüência só possui cinco diagonais 
diferentes de zero. No caso 3D, sete diagonais 
diferentes de zero
-aS …0…-aW aP -aE …0… -aN f = b
Angela Nieckele – PUC-Rio
6
Para situações multi-dimensionais, em geral os 
algoritmos de inversão da matriz A de coeficientes 
são muito caros e requerem muito espaço de 
memória e tempo de execução.
 Requer mais memória de armazenamento
 Grande esforço computacional
 Mais robusto e Mais rápido 
Angela Nieckele – PUC-Rio
7
2. Métodos Iterativos
Fornece uma seqüência de soluções aproximadas que 
convergem quando o número de passos tende a infinito
Os problemas típicos de Fenômenos de transporte são 
problemas não lineares e portanto um procedimento 
iterativo deve ser utilizado. Já que o sistema de equações 
algébricas deverá ser resolvido diversas vezes atualizando 
os coeficientes, não vale a pena o esforço para inverter a 
matriz de coeficientes A e obter diretamente o campo de 
temperatura, pois o mesmo deverá ser corrigido, já que os 
coeficientes estarão errados.
 Menor necessidade de memória de armazenamento
 Problemas de convergência
Angela Nieckele – PUC-Rio
8
MÉTODOS DIRETOS
SISTEMAS TRIANGULARES












=





























nnnn
nn
nn
nn
b
b
b
b
x
x
x
x
u
uu
uuu
uuuu






3
2
1
3
2
1
313
21222
1111211
000
00
0
Se niuii ,,2,1,0 = as incógnitas podem ser facilmente calculadas
ii
n
ik
kkii
i
nn
nnnn
nnnnnnnn
nn
n
n
u
xub
x
u
xub
xbxuxu
u
b
x

=




=

==
=
1
,
1,1
,11
11,111,1
 :i linha
; :1-n linha
; :n linha

RETROSUBSTITUIÇÃO
Angela Nieckele – PUC-Rio
9
Se a matriz for triangular inferior:












=


























 nnnnannnn
b
b
b
b
x
x
x
x
llll
ll
ll
l






3
2
1
3
2
1
21
3231
2221
11
00
00
000
A solução é calculada da seguinte forma:
ii
i
ik
kkii
i
l
xlb
x
u
xub
xbxuxu
l
b
x


=

=

==
=
1
,
22
11,22
2222,211,2
11
1
1
 :i linha
; :2 linha
; :1 linha

SUBSTITUIÇÃO A FRENTE
NÚMERO DE OPERAÇÕES: 
=
=
n
i
nnnnin
1
2
2
1
)1(
2
1
)1(
Angela Nieckele – PUC-Rio
Eliminação de Gauss
 Consiste em rearranjar a Matriz A em uma matriz 
triangular superior. A solução é obtida por substituição 
regressiva
 Exemplo do procedimento:
Primeiro passo
o linha 2 – linha 1 multiplicada por ( a21 / a11 )
o Procedendo de forma análoga para as 
outras linhas, elimina-se todos os 
coeficientes da primeira coluna com 
exceção da primeira linha.
10
















=
































5
4
3
2
1
5
4
3
2
1
5554535251
4544434241
3534333231
2524232221
1514131211
b
b
b
b
b
aaaaa
aaaaa
aaaaa
aaaaa
aaaaa
f
f
f
f
f
nibmbb
niamaa
ni
a
a
m
iii
jiijij
i
i
,,,;
,,,;
,,,;
)(
)(



32
32
32
11
2
11
2
11
1
1
==
==
==
Angela Nieckele – PUC-Rio
11























































































=


























































































































































































1
11
1
1
11
31
3
1
11
21
2
1
3
2
1
1
11
1
0
11
11
1
1
1
11
31
312
11
31
32
0
11
11
31
31
1
11
21
212
11
21
22
0
11
11
21
21
1131211
b
a
a
b
b
a
a
b
b
a
a
b
b
a
a
a
aa
a
a
a
a
a
a
aa
a
a
aa
a
a
a
a
a
a
aa
a
a
aa
a
a
a
aaaa
n
m
n
n
m
mn
m
m
nn
nn
n


  

  

  

f
f
f
f
o A seguir, manipula-se as linhas de
forma análoga para eliminar os
coeficientes da segunda coluna
com exceção da primeira e
segunda linha e assim por diante
nibmbb
niamaa
ni
a
a
m
iii
jiijij
i
i
,,,;
,,,;
,,,;
)()()(
)()()(
)(
)(



43
43
43
2
22
23
2
22
23
2
22
2
2
2
==
==
==
Angela Nieckele – PUC-Rio
12
oA matriz resultante será do seguinte tipo





















=





































5
4
3
2
1
0000
000
00
0
f
f
f
f
f
fpode ser obtido por substituição regressiva.
Os elementos são denominados de Pivots
 O lado direito do sistema de equações é modificado da mesma 
forma que os coeficientes das equações
 Melhor tratar o sistema na forma matricial, com o lado direito do 
sistema sendo a coluna n+1 da matriz, conforme mostrado a seguir
)(
,
)()(
,,,
1
11
2
22
1
11


n
nn
aaa 
Angela Nieckele – PUC-Rio
13


















nnnannnn
nn
nn
nn
b
b
b
b
aaaa
aaaa
aaaa
aaaa






3
2
1
21
3133231
2122221
1111211niba ki
k
ni ,,2,1,
)()(
1, ==
end
end
end
1,1For 
,1For 
1,1For 
)()()1(
)(
)(
k
kjik
k
ij
k
ij
k
kk
k
ik
ik
amaa
nkj
a
a
m
nki
nk
=
=
=
=
=

end
end
1For 
0
11For 
1
)(
)(
,
)(
*
,
,,
i
ii
i
ni
i
k
i
ik
a
suma
asumsum
nik
sum
ni

=
=
=
=
=

f
f
ALGORÍTMO
ELIMINAÇÃO RETROSUBSTITUIÇÃO
Angela Nieckele – PUC-Rio
14
 O maior custo computacional ocorre no processo de eliminação
 Supor que o tempo de cada operação seja de 1 microsegundo
O tempo em segundos de cada parte do algoritmo é mostrado abaixo
st 610=
NÚMERO DE OPERAÇÕES:


=

1
1
3
3
1)1)((
n
k
nknkn 
=
=
n
i
nnni
1
2
2
1
2
1 )1()1(
ELIMINAÇÃO RETROSUBSTITUIÇÃO
n Eliminação Retrosubstituição
10 0.0050 s 0.0008 s
100 5 s 0.075 s
1000 5000 s 7.5 s
número de multiplicações é proporcional a N3
erros de truncamento se acumulam para sistemas grandes
Angela Nieckele – PUC-Rio
15
Caso o coeficiente da diagonal principal (pivot) vier a se anular, cuidados 
especiais precisam ser tomados:
 - uma solução é trocar a ordem das equações
 Para evitar falha catastrófica (divisão por zero) ou resultados errados
é necessário fazer uma escolha criteriosa dos PIVOTS usados na eliminação
 PIVOTAMENTO PARCIAL PIVOTAMENTO COMPLETO
PIVOTAMENTO PARCIAL
No passo k do processo de eliminação
k
r
k
rk
nikaa
r
k
ik
k
rk
 e linhasTrocar 
,max
que talinteiromenor o como Escolher 
)()(

=

PIVOTAMENTO COMPLETO
No passo k do processo de eliminação
k
r
k
skrk
njikaa
sr
k
ij
k
rs
 e colunas e , e linhasTrocar 
,,max
que talinteiros menores os como e Escolher 
)()(

=

s
Angela Nieckele – PUC-Rio
16
 A Eliminação Gaussiana deve ser feita sempre com PIVOTAMENTO
para garantir estabilidade do método
 Na grande maioria dos casos, PIVOTAMENTO PARCIAL é suficiente
e deve ser usada no lugar de PIVOTAMENTO COMPLETO
 PIVOTAMENTO COMPLETO não é muito usado devido ao grande
tempo computacional gasto no processo de busca do pivot.
 PIVOTAMENTO não é necessário em dois casos particulares
MATRIZ DIAGONAL DOMINANTE
MATRIZ SIMÉTRICA E POSITIVA-DEFINIDA


=
=
n
ij
j
ijii niaa
1
.,,2,1, 
0xAxxAA == ,0 e)( Tjiij
T aa
Angela Nieckele – PUC-Rio
17
O método apresentado para resolver as matrizes com 3 diagonais 
adjacentes (Algoritmo de Thomas) é um caso particular do método acima, 
otimizado para não se efetuar contas desnecessárias com os coeficientes 
nulos. Para o caso de 5 diagonais adjacentes, também pode-se otimizar o 
método de eliminação de Gauss de forma análogo ao utilizado para a 
matriz tri-diadonal.
SOLUÇÃO DE SISTEMA ALGÉBRICO 
PENTA-DIAGONAL
ai i = bi i+1 + ci i-1 + ei i+2 + fi i-2 + di
(I)
sendo c1= 0 ; f1= 0 ; f2= 0 
bN =0 ; eN = 0 ; eN-1= 0
A matriz de coeficientes 
penta-diagonal é
f1
f2
.
.
..
.
.
.
.
.fN
Angela Nieckele – PUC-Rio
18
Para derivar este algoritmo deve-se proceder da mesma forma que procedemos 
para derivar o algoritmo para matrizes tri-diagonais.
- Vamos assumir que podemos determinar o valor de i em função de i+1 e
i+2 
i = Ri i+2 + Pi i+1 + Qi (II)
Rescrevemos a equação (II) para i-1 e i-2
i-1 = Ri-1 i+1 + Pi-1 i + Qi-1 (III)
i-2 = Ri-2 i + Pi-2 i-1 + Qi-2 (IV)
Vamos agora substituir (III) em (IV)
i-2 = Ri-2 i + Pi-2 (Ri-1 i+1 + Pi-1 i + Qi-1) + Qi-2 (V)
Agora vamos substituir a equação (V) e (III) em (I)
ai i = bi i+1 + ci (Ri-1 i+1 + Pi-1 i + Qi-1) + ei i+2 +
+ fi (Ri-2 i + Pi-2 (Ri-1 i+1 + Pi-1 i + Qi-1) + Qi-2 ) + di
Angela Nieckele – PUC-Rio
19
Rearrumando a equação acima obtemos explicitando i e comparando com a 
equação (II) 
i = Ri i+2 + Pi i+1 + Qi
temos que
)(
)(
2121
21




=
iiiiiii
iiiii
i
RPPfPca
PfcRb
P
)(
)(
2121
1221




=
iiiiiii
iiiiiii
i
RPPfPca
QPQfQcd
Q
)( 2121  
=
iiiiiii
i
i
RPPfPca
e
R
Angela Nieckele – PUC-Rio
20
Procedimento para matriz penta-diagonal
calcula-se ; ; 
; ; 
Usar as relações recursivas para obter Pi ; Qi e Ri para 
3  i  N
especificar N = QN e N-1 = PN-1 N + QN-1
Usando i = Ri i+2 + Pi i+1 + Qi , obter N-2 ; ..... ; 2 ; 1
)(
)(
2121
21




=
iiiiiii
iiiii
i
RPPfPca
PfcRb
P
)(
)(
2121
1221




=
iiiiiii
iiiiiii
i
RPPfPca
QPQfQcd
Q
)( 2121  
=
iiiiiii
i
i
RPPfPca
e
R
1
1
1
a
b
P =
1
1
1
a
d
Q =
1
1
1
a
e
R =
122
122
2
Pca
Rcb
P


=
122
122
2
Pca
Qcd
Q


=
122
2
2
Pca
e
R

=
Angela Nieckele – PUC-Rio
21
Decomposição LU
Resolver o sistema  [ A ] f = b
Todo matriz não singular pode ser decomposta como o produto de uma 
triangular inferior L e uma triangular superior U 
[ A ] = [L] [U] então [ L ] [ U ] f = b
Uma vez feita a decomposição, a solução do sistema fica reduzida a solução 
de dois sistemas triangulares:
















=
















==
 nn
n
n
n
nnnn u
uu
uuu
uuuu
lll
ll
l
000
00
0
1
01
001
0001
333
22322
1131211
121
3231
21










U;L;LUA
,
Angela Nieckele – PUC-Rio
22
Define-se um vetor auxiliar z 
Procedimento: 
1o. Resolver [ L ] z = b por substituição progressiva, 
determinando z
2o. Resolver [ U ] f = z por substituição regressiva, 
determinando
   bUL =

z
f





















=





































5
4
3
2
1
0
00
000
0000
z
z
z
z
z





















=





































5
4
3
2
1
0000
000
00
0
f
f
f
f
f
Angela Nieckele – PUC-Rio
23
=
















5554535251
4544434241
3534333231
2524232221
1514131211
aaaaa
aaaaa
aaaaa
aaaaa
aaaaa
















1
01
001
0001
00001
54535251
434241
3231
21
llll
lll
ll
l
















55
4544
353433
25242322
1514131211
0000
000
00
0
u
uu
uuu
uuuu
uuuuu
1111 au = 1212 au =
11
21
21
u
a
l =
11
31
31
u
a
l =
12212222
ulau =
22
123131
32
u
ula
l

=
, 
, ...........
, 
, ...........
, ...........
, ..............
13212323 ulau =, 
jipara
u
ula
l
jj
j
k
jkkiji
ji 

=


=
1
1 jiparaulau
i
k
jkkijiji = 

=
1
1
abaixo da diagonal acima da diagonal
Angela Nieckele – PUC-Rio
Observação:
1) Note que nem sempre podemos decompor uma matriz A em uma 
matriz triangular inferior e outra superior. Logo nem sempre o 
método de decomposição L U pode ser utilizado.
2) Assim como o método de Eliminação de Gauss também pode ter 
problemas, quando os coeficientes da diagonal principal são 
pequenos, e artifícios especiais devem ser introduzidos para evitar 
problemas
3) Os problemas típicos de fenômenos de transporte são problemas 
não lineares e portanto um procedimento iterativo deve ser 
utilizado. Já que o sistema de equações algébricas deverá ser 
resolvido diversas vezes atualizando os coeficientes, muitas vezes 
não vale a pena o esforço para inverter a matriz de coeficientes A
e obter diretamente o campo de temperatura, pois o mesmo 
deverá ser corrigido, já que os coeficientes estarão errados.
24
Angela Nieckele – PUC-Rio
Métodos Iterativos
Os métodos iterativos consistem em resolver o sistema algébrico 
utilizando duas etapas: 
(a) prever, 
(b) corrigir.
Os métodos iterativos podem ser:
 ponto-a-ponto: Os métodos iterativos ponto-a-ponto consistem em 
visitar um ponto nodal do domínio de cálculo de cada vez e estimar 
o valor da temperatura para o ponto nodal em função da 
temperatura estimada dos pontos vizinhos. Repete-se o 
procedimento para todos os pontos nodais. Como exemplo, pode-se 
citar o método de Gauss Seidel.
 em blocos: Os métodos iterativos em blocos consistem em resolver 
simultaneamente um conjunto de pontos nodais do domínio, em 
função da temperatura estimada dos pontos vizinhos. O 
procedimento é repetido até que todos os blocos do domínio 
tenham sido resolvidos. Como exemplo, pode-se citar o algoritmo 
TDMA linha por linha.
25
Angela Nieckele – PUC-Rio
Método de Jacobi
Para use
onde é o valor dos f vizinhos da última iteração. Todos os pontos
nodais são percorridos dessa maneira, atualizando os valores de f.
Este método apresenta uma convergência muito lenta, não sendo
muito utilizado.
 Exemplo:
T1 = 0,5 T2 + 1,5 T2 = 0,25 T1 + 0,5
Converge lentamente para a solução correta
26
baa nbnbii =  ff
i
nbnb
i
a
ba 
=

*f
f
*
nbf
T1 
0 
 1,5 1,750 1,9375 ...... 2,0 
T2 0 0,5 0,875 0,9375 ...... 1,0 
 
0
Angela Nieckele – PUC-Rio
Método de Gauss-Seidel
Este é um algoritmo iterativo ponto-a-ponto para resolver o sistema de
equações algébricas de situações uni- ou multi-dimensionais.
Para use
Onde é o último valor disponível na memóriado computador do
ponto vizinho. Todos os pontos nodais são percorridos dessa maneira,
atualizando os valores de f.
 Exemplo:
T1 = 0,5 T2 + 1,5 T2 = 0,25 T1 + 0,5
Converge para a solução correta
27
baa nbnbii =  ff
i
nbnb
i
a
ba 
=

*f
f
*
nbf
 
T1 0 1,5 1,938 1,990 ...... 2,0 
T2 0 0,875 0,984 0,998 ...... 1,0 
 
Angela Nieckele – PUC-Rio
 Exemplo:
T1 = 4 T2 - 2 T2 = 2 T1 - 3
a solução diverge. 
Note que as equações são as mesmas que o exemplo anterior, porém 
rearranjadas
28
T1 0 -2 -30 -254 -2046 ........... 
T2 0 -7 -63 -511 -4095 .......... 
 
Angela Nieckele – PUC-Rio
29
O Critério de Scarborough 
 
 O método de Gauss-Seidel não converge sempre. 
 
 As possibilidades de convergência do método de Gauss Seidel podem 
ser determinadas com referência ao critério de Scarborough, que é 
uma condição suficiente para a convergência do método de Gauss 
Seidel. É preciso que: 
 
1

P
nb
a
a
 para todas as equações e 
 < 1 para pelo menos uma equação 
nb são os vizinhos 
com valor 
desconhecido
Angela Nieckele – PUC-Rio
 Exemplo:
 As quatro regras básicas apresentadas, dão origem a equações de 
discretização que satisfazem o Critério de Scarborough, uma vez 
que os coeficientes são positivos e ap   anb.
 Um SP positivo pode fazer com que ap <  anb
 Um anb negativo pode levar a ap = ( anb ) <  anb
violando o critério
 A condição de desigualdade do critério em pelo menos um ponto 
nodal é garantida pelas condições de contorno.
30
Angela Nieckele – PUC-Rio
Algoritmo TDMA linha por linha
 Este é um algoritmo iterativo por blocos para resolver o sistema de 
equações algébricas de situações multi-dimensionais.
• Selecione uma linha da malha.
• Suponha que os valores de f ao longo 
da linhas vizinhas são conhecidos, 
a partir de seus últimos valores.
• Resolva os valores de f ao longo da linha selecionada pelo método 
direto TDMA. 
• Repita este procedimento para todas as linhas em uma direção, 
repita, se desejado, para as linhas nas outras direções.
31
  
*b
baaaaa *
E
E
*
W
WSSNNPp ffff=f
  
*b
baaaaa *
S
S
*
NNEEWWPp ffff=f
Angela Nieckele – PUC-Rio
• No método de Gauss Seidel, as informações viajam um ponto nodal 
por iteração. No método TDMA linha-linha, a informação do 
contorno é transmitida de uma vez para o interior do domínio; 
consequentemente a convergência é mais rápida.
• Se os coeficientes em uma direção são muito maiores que aqueles 
nas outras direções, a TDMA ao longo da direção dos coeficientes 
dominantes levará a uma convergência muito mais rápida.
• Se Dx >> Dy e dx >> dy → aN e aS >>> aW e aE logo os 
valores ao longo da coluna terão um peso muito maior na obtenção 
da solução
• A direção da varredura também é importante. (Para escoamentos, 
a varredura deve ser de montante para jusante).
32
  
*b
baaaaa *
E
E
*
W
WSSNNPp ffff=f
  
*b
baaaaa *
S
S
*
NNEEWWPp ffff=f
Angela Nieckele – PUC-Rio
Método ADI
Alternating - Direction - Implicit
(Peaceman - Rachford) - 1955.
Este método adota uma formulação explícita em uma direção 
utilizando meio passo de tempo (Dt/2) ( ) e formulação 
implícita na outra, utilizando meio passo de tempo (Dt/2). Alterna-se 
as direções de uma iteração para o seguinte.
33
tao
P
DD /=
  
b
aaSaaa
aaSaaa
n
P
nn
nnn
P
PSNC
o
SSNN
WWEEPP
o
WE
fDff
fffD





 
=




 

2
2
212121 ///
  
b
aaSaaa
aaSaaa
n
P
nn
nnn
P
PWEC
o
WWEE
SSNNPP
o
SN
212121
111
2
2
/// 






 
=




 
fDff
fffD
Angela Nieckele – PUC-Rio
Método Fortemente Implícito 
(SIP = Strongly Implicit Procedure, Stone 1968)
 Para ilustrar este método, considere um sistema de equações 
algébricas com 
[A] u = C
[A] matriz de coeficientes ; u vetor desconhecido
C vetor conhecido
 Método Fortemente Implícito é uma técnica de fatorização da matriz
 O objetivo é substituir [A] por uma matriz [A + P] tal que a matriz 
modificada possa ser decomposta em matrizes triangulares, uma 
superior [U] e uma inferior [L].
34
Angela Nieckele – PUC-Rio
Método Fortemente Implícito 
 [A]  [A + P] tal que [A + P] = [L] [U] 
[A] u = C
[A + P] un+1 = C + [P] un
[A + P] = [L] [U]
[L] [U] un+1 = C +[P]un
definindo Vn+1 = [U] un+1. Obtemos um algoritmo de 2 passos
1o passo [L] Vn+1 = C + [P] un
2o passo [U] un+1 = Vn+1
passo 1 consiste de uma substituição para frente e o passo 2 para trás.
repetir até convergir 35
Angela Nieckele – PUC-Rio
Sobre-Relaxação e Sub-Relaxação
Se 
Definimos: 
onde é o valor de da iteração anterior, e  é o fator de 
relaxação.
 < 1: sub-relaxação.
 > 1: sobre-relaxação.
 A sobre-relaxação pode ser utilizada para acelerar a velocidade de 
convergência. Em geral, é utilizada junto com o método de Gauss-
Seidel, o qual por ser um método iterativo ponto-a-ponto, apresenta 
taxas de convergência muito baixas. Este método é muitas vezes 
denominado de SOR (Sucessive Over Relaxation).
36
b a ap nbnbp =  ff
~
*
ppp ) - (1 fff =
~
*
pf pf
Angela Nieckele – PUC-Rio
 Em problemas não lineares, é desejável reduzir as variações da 
variável dependente, então, sub-relaxação é recomendável.
 O fator de relaxação pode ser introduzido diretamente nas 
equações de discretização,
 resultando em 
37
*
p
p
nbnb
p ) - (1 
a
b a
 f
f
f 

=

*
p
p
nbnbp
p
 
a
 ) - (1 b a 
a
f

ff

= 
Angela Nieckele – PUC-Rio
Observações:
 Não existe regra geral para determinação de .
 Depende de: 
 Natureza do problema número de pontos nodais
 espaçamento
 método iterativo utilizado
 etc.
 Pode-se variar a durante o processo iterativo.
 Pode-se também adotar a diferentes para cada ponto nodal (não é 
recomendado)
38
Angela Nieckele – PUC-Rio
Convergência de problemas não lineares
 O desenvolvimento de um método numérico que respeite 
as quatro regras básicas, leva a conjunto de 
discretização que, para coeficientes constantes, possui 
convergência garantida ao utilizarmos métodos de 
solução do tipo ponto a ponto ou linha por linha.
 Se os coeficientes variam lentamente, ainda podemos 
garantir convergência. Fatores de sub-relaxação 
apropriados para as variáveis dependentes diminuem as 
variações das variáveis e portanto dos coeficientes.
39
Angela Nieckele – PUC-Rio
 Quantidades auxiliares como massa específica  e 
viscosidade m podem ser sub-relaxadas através de:
 = novo +(1-) velho onde  é o fator de 
relaxação.
 Ao sub-relaxarmos as quantidades apropriadas, 
podemos enfraquecer temporariamente o acoplamento 
entre o conjunto de equações. Por exemplo, a sub-
relação de  separa as equações de 
temperatura/concentração. A sub-relaxação da 
viscosidade turbulenta mt reduz o acoplamento entre as 
quantidades turbulentas e as equações do escoamento.
40
Angela Nieckele – PUC-Rio
 Quando o acoplamento entre as equações é devido à 
presença do termo de fonte (por exemplo, em 
convecção natural, o termo de empuxo acopla a 
equação e quantidade de movimento com a equação de 
energia), este também pode ser sub-relaxado. através 
de:
SC =  SC novo + (1 - ) SC velho onde  é o 
fator de relaxação.
SP =  SP novo + (1 - ) SP velho 
 Condições de contorno também podem ser sub-
relaxadas. Por exemplo, aumenta-se gradativamente a 
velocidade de um disco girante que impõe um “swirl” no 
escoamento.
41
Angela Nieckele – PUC-Rio
 Não existe nenhuma garantia que, para todas as não 
linearidades e acoplamentos, sempre conseguiremos 
convergência.
 Cada problema não linear e acoplado precisa de 
cuidados especiais.Alguns artifícios que podem auxiliar 
na obtenção de solução convergida:
(i) iniciar os cálculos com fatores de sub-
relaxação bem pequenos, aumentá-los gradativamente 
à medida que a solução converge
. (ii) utilizar como “chute inicial” a solução 
convergida de um caso mais simples. Por exemplo: 
inicializar o escoamento turbulento com a solução do 
escoamento laminar.
(iii) Aumentar gradativamente o parâmetro que 
governa o escoamento. Por exemplo: iniciar com 
número de Reynolds até obter o valor desejado. 42
Angela Nieckele – PUC-Rio
RELAXAÇÃO POR INÉRCIA
Rescreve-se a equação de discretização como
i  inércia Se i > 0  sub-relaxação
Se i < 0  sobre-relaxação
 Mesmos comentários feitos para  são válidos 
FORMULAÇÃO TRANSIENTE
se comporta como a inércia i
 Pode-se resolver um problema de regime permanente, utilizando a 
formulação transiente. Cada passo de tempo corresponde a uma 
iteração. Menor passo de tempo, maior sub-relaxação.
43
 =
*
)( PnbnbPP ibaia fff
 =
o
P
o
PcnbnbPp
o
Pnb aSaSaa fDffD )(
o
Pa
Angela Nieckele – PUC-Rio
 Este é um algoritmo para acelerar a convergência. Consiste em 
resolver as equações de conservação para um conjunto de blocos 
de forma a fornecer o nível correto da temperatura mais 
rapidamente para o interior do domínio.
 Um domínio 3-D é aproximado por um domínio 2-D e um domínio 
2-D é aproximado por um domínio 1-D. A solução do domínio de 
ordem inferior é mais fácil de ser obtida, fornecendo uma primeira 
estimativa para o domínio de ordem superior. 
44
Algoritmo de Correção por Blocos 
Angela Nieckele – PUC-Rio
 Sem perda de generalidade, vamos considerar uma situação bi-
dimensional.
 Considere que
 Substitua a definição acima na equação de discretização e some 
todos os blocos ao longo da coluna i.
 A equação resultante será 45
i.ji,j-1i,j1i,ji,ji-1,ji,j1,jii,ji,ji,j d T f T e T c T b Ta = 
*
i,jii,j T T T =
 











 









 








 









 =



 


j
i,j
j
*
i,j-1ii,j
j
*
1i,jii,j
j
*
i-1,ji-1i,j
j
*
1,ji1ii,j
j
*
i,jii,j
d TTf
 T Te T Tc
 TTb ) T T(a
Angela Nieckele – PUC-Rio
46
 





 
=


j
*
i,ji,ji,j
*
i,j-1i,j
*
1i,ji,j
*
i-1,ji,j
*
1,jii,j
j
i,ji-1
j
i,j1i
j
i,ji,ji,ji
T - a d T f T e T c Tb
 c T b T - f - ea T
 BLC T BLM T BLP TBL i-11ii = 
 
 


=
==
=

j
*
i,ji,ji,j
*
i,j-1i,j
*
1i,ji,j
*
i-1,ji,j
*
1,jii,j
j
i,j
j
i,j
j
i,ji,ji,j
T - a d T f T e T c Tb BLC 
c BLM b BLP 
 - f - ea BL 
;
logo
onde
Angela Nieckele – PUC-Rio
 A equação resultante para os blocos é 1-D, podendo ser 
resolvida pelo método direto TDMA.
 Note que o termo BLC corresponde ao resíduo da 
equação original, logo, se a solução estiver convergida, 
o resíduo será nulo, a solução do sistema algébrico 
fornecerá valor nulo para , consequentemente, 
nenhuma nova correção será efetuada.
 O algoritmo de correção por blocos, só fornece uma 
correção média para o conjunto de blocos, portanto, 
após sua utilização o algoritmo TDMA linha por linha 
deverá ser utilizado para determinar a distribuição da 
temperatura ao longo dos blocos.
 Pode-se inverter a direção do algoritmo de correção por 
blocos.
47
*
ijjij
T T T =
Angela Nieckele – PUC-Rio
 Como o algoritmo de correção por blocos corrige da mesma 
maneira todos os volumes de controle dentro de um bloco, em 
algumas situações particulares, quando a variável dependente 
possui restrições físicas, este algoritmo poderá fornecer resultados 
indesejáveis, não devendo ser utilizado.
 Exemplo: fração em massa de uma espécie química,mℓ . De 
acordo com sua definição, temos que entre zero e um. Se durante 
o processo iterativo, está condição for violada, o processo irá 
divergir. O algoritmo de correção por bloco garante que a 
conservação para o bloco (conjunto de volumes de controle) seja 
satisfeita, mas um volume de controle pode estar mais errado do 
que outro. Logo, ao corrigir todos os volumes de controle de um 
bloco com a mesma constante, a condição acima poderá ser 
violada.
48
Angela Nieckele – PUC-Rio
49
MÉTODO DE MULTIGRID
Métodos iterativos ponto a ponto (Gauss Seidel) , ou 
bloco por bloco (TDMA linha por linha) removem 
rapidamente os erros locais (alta freqüência) da solução, 
porém os erros globais (baixa freqüência) são reduzidos a 
uma taxa inversamente proporcional ao tamanho da 
malha. Conseqüentemente, para um número elevado de 
nós, a taxa de redução do resíduo torna-se extremamente 
baixa.
Técnicas de Multigrid permitem que o erro global seja 
tratado utilizando uma seqüência de malhas mais 
grosseiras. O método é baseado no princípio que o erro 
global (baixa freqüência) existente em um malha fina pode 
ser representado numa malha grosseira, onde este torna-
se acessível como um erro local (de alta freqüência).
Angela Nieckele – PUC-Rio
50
Considere o conjunto de equações discretizadas
lineares
A f e + b = 0
onde f e é a solução exata. Se f é a solução 
aproximada, antes da solução convergir haverá um 
resíduo r
A f + b = r
Deseja-se corrigir y com f, tal que a solução exata seja 
dada por
f e = f + y
O conceito básico do Método de Multigrid
Angela Nieckele – PUC-Rio
51
Substituindo na equação de discretização
A (f  y ) + b = 0
A y  (A f + b)= 0
logo
A y  r = 0
A qual é a equação para o termo de correção em função 
do operado A do nível fino original e do resíduo r.
Assumindo que os erros locais (alta freqüência) foram 
suficientemente amortecidos pelo esquema de relaxação 
do nível fino, a correção y será suave e portanto mais 
eficientemente resolvida no próximo nível de malha 
grosseira.
Angela Nieckele – PUC-Rio
52
Resolver as correções no nível grosseiro, requer transferir 
o resíduo do nível fino (restrição), computar as correções, e 
então transferir de volta do nível grosseiro (prolongação).
Podemos escrever as equações para as correções do nível 
grosseiro yH como
A H yH + R r = 0
onde A H é o operador no nível grosseiro e R é o operador 
de restrição responsável por transferir o resíduo do nível fino 
para o nível grosseiro. Após a solução da equação acima, a 
atualização da solução no nível fino é dada por
fnew = f + P yH
sendo P o operador de prolongação usado para transferir 
as correções do nível grosseiro para o nível fino.
Restrição e Prolongação
Angela Nieckele – PUC-Rio
53
MÉTODO DE MULTIGRID
Pode-se 
ainda 
combinar o 
ciclos V e 
W (ciclo 
flexível)
Ciclos do Multigrid
Angela Nieckele – PUC-Rio
54
Multigrid tradicional
- resolve equação para h, 2h, 4h
- interpola e extrapola as soluções para troca 
de níveis
Multigrid Correção Aditiva (Multigrid Algébrico)
- utiliza solução em malha grosseira para corrigir 
solução da malha mais fina
Métodos Multigrid
h dependem a
banb ap
nb
nbp
=
= ff
Angela Nieckele – PUC-Rio
55
MULTIGRID DE CORREÇÃO ADITIVA 
(Hutchinson, Galpin, Raithby, 1988)
Relação entre malha fina e malha grosseira.
Angela Nieckele – PUC-Rio
56
k
*
ijij δ T T =
 im, ip , i a a im, ip , ia a
 jm,jp , j a a jm,jp , j a a
b δa δaδa δa δa
i
S
ijm
S
kl
i
N
ijp
N
kl
j
W
imj
W
kl
j
E
ipj
E
kl
kl-1k, 
s
1k, 1k, 
N
klk-l, 
W
kl1, lk
E
klkl
P
kl
====
====
=



ˆˆ
ˆˆ
ˆˆˆˆˆˆ

jm, jpjim, ip, ia a
j i
P
ij
P
k l
===  SUM4, - SUM3 - SUM2 - SUM1 ˆ
Angela Nieckele – PUC-Rio
57
)a - a a a a (b b̂
jp 1,jm j ip, im, i , a SUM4
1-jp jm,j ip, im, i , a SUM3
jpjm, j ip, 1,im i ,a SUM2
jpjm,j 1,-ip im,i ,a SUM1
*P
ij
*
1-ij
S
ij
*
1ij
N
ij
*
1
W
ij
*
1
E
ij
j i
ijkl
j i
S
ij
j i
N
ij
j
W
ijj i
E
ij
ijjiji
i
fffff =
===
===
===
===





Angela Nieckele – PUC-Rio
58
Ppnbnb φ b - a φ a =
=


 Res
Res R
R R
ij
iji
1-ii 

Mais conteúdos dessa disciplina