You are on page 1of 103

UNIVERSIDADE DO ESTADO DE SANTA CATARINA

CENTRO DE CINCIAS TECNOLGICAS


DEPARTAMENTO DE ENGENHARIA MECNICA

INTRODUO AO MTODO DE
VOLUMES FINITOS

Miguel Vaz Jnior


E.Mec. M.Eng. Ph.D.

Fevereiro, 2015
5a Edio

Laboratrio de Mecnica Computacional


Campus Universitrio - Bom Retiro
89223-100 - Joinville-SC - Brasil
Tel.: +55 (0xx)47-4009-7971
Fax: +55 (0xx)47-4009-7240
L A M E C
email: Miguel.vaz@udesc.br
ndice ii

Introduo ao Mtodo de Volumes Finitos


Autor: Miguel Vaz Jnior
Edio: Centro de Cincias Tecnolgicas
Universidade do Estado de Santa Catarina
Fevereiro de 2015
ndice iii

ndice

1. Introduo 1
1.1 Mtodos de aproximao numrica 2
1.2 Concluso 3

2. Equaes de governo 5
2.1 Equao da energia 5
2.2 Generalizao para outras equaes de governo 9
2.3 Problemas elpticos parablicos e hiperblicos 11
2.4 Escolha de coordenadas 12

3. Mtodo das diferenas finitas 13


3.1 Aproximao em srie de Taylor 13
3.2 Aproximao da derivada primeira 15
3.3 Aproximao da derivada segunda 17
3.4 Aproximao do termo difusivo 17
3.5 Exemplo ilustrativo 19

4. Mtodo dos volumes finitos 25


4.1 Conduo de calor unidimensional transiente 25
4.1.1 Mtodo explcito 29
4.1.2 Mtodo implcito 30
4.2 Regras bsicas na determinao das equaes aproximadas 31
4.3 Linearizao do termo fonte 33
4.4 Avaliao das propriedades na fronteira 36
4.5 Equao geral da conduo 37
4.6 A estrutura da matriz dos coeficientes 41
4.7 Tratamento das no-linearidades 42

5. Mtodos de aproximao das equaes para o contorno 43


5.1 Pontos sobre a fronteira 43
5.1.1 Temperatura prescrita 44
ndice iv

5.1.2 Fluxo prescrito 44


5.1.3 Conveco na fronteira 47
5.2 Volumes fictcios 49
5.2.1 Temperatura prescrita 50
5.2.2 Fluxo prescrito 50
5.2.3 Conveco na fronteira 51
5.3 Balano nos volumes da fronteira 53
5.3.1 Fluxo prescrito 54
5.3.2 Temperatura prescrita 55
5.3.3 Conveco na fronteira 56
5.4 Exemplo ilustrativo 57

6. Mtodos de soluo 65
6.1 Mtodo de Jacobi 66
6.2 Mtodo de Gauss-Seidel 67
6.3 Mtodo linha-por-linha TDMA 68
6.4 Mtodo das sobre-relaxaes 70
6.5 Aspectos de convergncia 71
6.6 Exemplo ilustrativo de comparao entre os mtodos 71
6.6.1 Conduo de calor em uma placa plana 72
6.6.2 Escoamento de fluido no newtoniano entre placas planas 76

7. Bibliografia 83

Apndice A - Exemplo de programao 85


A.1 Programa principal 87
A.2 Subrotina para entrada de dados 88
A.3 Subrotina para o clculo dos coeficientes 89
A.4 Subrotina para o mtodo de Jacobi 91
A.5 Subrotina para o mtodo de Gauss-Seidel 93
A.6 Subrotina para o mtodo TDMA 95
A.7 Subrotina para a sada de resultados 97
A.8 Arquivo de resultados 99
Captulo 1

Introduo
Mtodos numricos tm recebido considervel ateno nos dias de hoje devido
ao grande avano na tecnologia dos computadores.

Os Mtodos computacionais vm no apoio ao desenvolvimento experimental .

Vantagens : Baixo custo experimentao cara

Velocidade permite facilmente simulaes com diferentes


geometrias e dimenses

Informao completa obtem-se valores de variaes outrossim


indisponveis experimentalmente

Facilidade de simular condies reais facilidade em alterar valores


de condies de contorno
2 Introduo

Desvantagens : Modelo matemtico alguns fenmenos fsicos so de difcil


modelamento numrico

Preciso do modelo numrico s vezes muitas hipteses


simplificativas so assumidas

Complexidade do fenmeno s vezes o fenmeno to complexo


que exigiria tantas aproximaes que a
soluo numrica no confivel

1.1 Mtodos de Aproximao Numrica

H diversos mtodos ditos numricos, os quais aproximam o fenmeno atravs de um


modelo matemtico. Dentre eles, os mais conhecidos so :

Mtodo dos elementos finitos: divide o domnio em pequenos elementos, onde a


soluo interpolada a partir dos ns do elemento.

Ns
Elementos

Fig. 1.1: Elementos Finitos.


Introduo 3

Mtodo dos elementos de contorno: transforma as equaes no domnio em equaes


na fronteira e aplica as tcnicas de elementos finitos na nova situao.

Elementos na fronteira
Ns

Fig. 1.2: Elementos de contorno.

Mtodo dos volumes finitos: Integra as equaes diferenciais do problema em um


volume conhecido. Comumente usado em conjunto com malhas estruturadas .

Elemento de integrao
das Equaes diferenciais

Fig. 1.3: Volumes finitos.

1.2 Concluso

A escolha do mtodo numrico mais adequado em geral baseada no tipo de fenmeno


a ser simulado. Em geral, problemas elasto-plsticos so simulados usando o mtodo de
4 Introduo

Elementos Finitos, enquanto que em problemas de transporte de calor/massa e momento


aplica-se o mtodo dos Volumes Finitos.
Captulo 2

Equaes de Governo
A aplicao do mtodo dos volumes finitos requer que as equaes de governo
envolvidas estejam na forma diferencial. As equaes na forma diferencial da
conservao de massa, energia e momento podem ser obtidas a partir do balano das
respectivas leis em um volume de controle infinitesimal. Como exemplo, a seo 2.1
ilustra a obteno da equao da conservao da energia.

2.1 Equao da energia

A equao da energia pode ser obtida a partir do balano de energia no volume de


controle infinitesimal mostrado na Figura 2.1.

A equao da energia na forma integral

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


V2 V2 r r
Q& W = u + + g z d + h + + gz V dA (2.1)
t VC 2 SC 2
6 Equaes de governo

onde Q& a taxa lquida de energia trocada pelo volume de controle, W a potncia, u

a energia interna, h a entalpia, V 2 / 2 a energia cintica, g z a energia potencial e


a massa especfica.

As hipteses assumidas so: (1) No h trabalho associado ao volume de controle;


V2 V2
(2) + g z << u e + g z << h ;
2 2
(3) Propriedades uniformes no interior do volume de
controle;
(4) Propriedades uniformes sobre cada superfcie do
volume de controle.

q y Ay | y + dy
y
m& y h | y + dy q z Az |z dz
m& z h |z dz

q x Ax |x dx dy q x Ax |x + dx
m& x h |x dx m& x h |x + dx

z
q z Az |z + dz dz
m& z h |z + dz
dx
x
q y Ay | y dy
m& y h | y dy

Fig. 2.1: Balano de energia no volume de controle.

A equao simplificada

r r
Q& = u d + h V dA (2.2)
t VC SC
Equaes de governo 7

a partir da qual a integral no volume aproximada por

u u
u d = u d = (u m ) = m= dx dy dz (2.3)
t VC t VC t t t

enquanto que a integral na superfcie de controle

h V dA = h V dA = h VA = h m& (2.4)
SC SC

sendo que a entalpia e energia interna podem ser definidas respectivamente por
h = Cp T e u = Cv T .

Por outro lado, o termo Q& da equao (2.2) inclui a energia transferida por
conduo e o termo fonte de gerao ou sumidouro, s& , assim,

Q& = {Energia gerada} + {Energia que entra no V .C.} {Energia que sai do V .C.}

dT dT
qe = k q s = k (2.5)
dx dx

Q& = s& dx dy dz + q e Ae q s As (2.6)

e, substituindo os termos (2.3), (2.4) e (2.6) na equao da conservao da energia, tem-


se

u = Cv T he = Cp Te hs=Cp Ts

u
Q& = s& dx dy dz + q e Ae q s As = dx dy dz m& e he + m& e hs (2.7)
t

logo,
8 Equaes de governo

T T T
s& dx dy dz + k dy dz k dx dz k dx dy +
x x y y z z

T T T
k dy dz k dx dz k dx dy =
x y z
x + dx y + dy z + dz

(
= u dy dz T x + v dx dz T y + w dx dy T z
)+ (2.8)

(
+ u dz dy T x + dx
+ v dx dy T y + dy
+ w dx dy T z + dz
)+

+
d
( dx dy dz Cv T )
dt

f
Usando a expanso em srie de Taylor, f ( x + dx ) = f ( x ) + dx , tem-se que
x

dT dT T
k =k + k dx (2.9)
dx x + dx dx x x x
e

uT = uT + ( uT ) dx (2.10)
x + dx x
x

Os termos em y e z so aproximados de forma semelhante, logo, a equao (2.8)


reduzida a

T dT dT
k dx dy dz + k dx dy dz + k dx dy dz + s& dx dy dz =
x x y dy z dz


= ( u CpT ) dx dy dz + ( v CpT ) dx dy dz + ( w Cp T ) dx dy dz + (2.11)
x y z


+ ( CvT ) dx dy dz
t
Equaes de governo 9

ou ainda,

T dT dT
s& + k + k + k =
x x y dy z dz
(2.12)

= ( u Cp T ) + ( v Cp T ) + ( w Cp T ) + ( Cv T )
x y z t

Fazendo Cp = Cv e rearranjando, tem-se

s& k T k T k T
+ + + =
Cp x Cp x y Cp y z Cp z
(2.13)

= ( uT ) + ( vT ) + ( w T ) + ( T )
x y z t

2.2 Generalizao para outras equaes de governo

A equao da energia descrita na seo 2.1 est escrita de uma forma que os
coeficientes k/Cp a varivel T e o parmetro s& /Cp podem ser generalizados de forma a
serem aplicados a outras equaes de governo.

Assim, fazendo = T , s& = S T = s& / Cp e = T = k / Cp , obtm-se a equao


geral


S + + =
x x y y z z
(2.14)

= ( u ) + ( v ) + ( w ) + ( )
x y z T

Deste modo, os valores de , e S so definidos de acordo com a equao de


governo em questo conforme exemplificado abaixo.
10 Equaes de governo

Equao da conservao da massa:

0=

( u ) + ( v ) + ( w) + (2.15)
x y z t

Equao da conservao da quantidade de movimento: (equao vetorial onde


r r r r
v = u i + v j + wk )

v v v
p v v v
Sv + + u + u + u =
xi x x y y z z
(2.16)

= ( u vr ) + ( v vr ) + ( w vr ) + ( vr )
x y z t
Equao da transferncia de massa de um componente A em um componente B:

m A m A m A
n& A + D AB + D AB + D AB =
x x y y z z
(2.17)

= ( u m A ) + ( v m A ) + ( w m A ) + ( A m A )
x y z t

Deste modo, :

K s&
Equao da conservao de energia = =T S =
Cp Cp

Equao da conservao de massa = 0 =1 S = 0

Equao da transferncia de massa = D AB = mA S = n& A

p
r S = SV +
Equao da quantidade de movimento
=u =v xi
Equaes de governo 11

2.3 Problemas elpticos, parablicos e hiperblicos

importante conhecer as caractersticas das equaes de governo a fim de tirar


vantagens computacionais na hora de modelar o fenmeno. H trs tipos de problemas:
parablico, hiperblico e elptico.

De um modo geral diz-se que os problemas parablicos e hiperblicos permitem


um procedimento de soluo em marcha, enquanto que os problemas elpticos no.

U Seo de clculo (a ser determinada)

seo anterior (conhecida)


em x ( u ) + ( u u ) + ( v u ) = 0
t x y
Somente termos
convectivos em x
(derivada primeira)

u(x=0) = U
Fig. 2.2: Problema parablico.

O problema parablico permite a soluo em marcha ao longo de uma


coordenada enquanto que um problema hiperblico a marcha se d ao longo de um
parmetro caracterstico do problema (exemplo do cone de Mach em escoamentos
supersnicos). Nesta classe de problema leva-se em conta apenas os termos convectivos
da equao diferencial (ver Figura 2.2 para o exemplo de um problema parablico).

condio de
contorno em x = L

condio de
k T
contorno em x = 0 = ( T )
x Cp x t

qx
Termo difusivo em x
(derivada segunda)

Fig. 2.3: Problema elptico.


12 Equaes de governo

A vantagem deste tipo de aproximao um menor armazenamento de variveis


uma vez que se necessita apenas duas sees de clculos. Em problemas elpticos, os
termos difusivos da equao diferencial no permitem a soluo em marcha uma vez
que necessitam as condies de contorno jusante e montante (ver Figura 2.3).

2.4 Escolha de coordenadas

Alm das tradicionais coordenadas cartesianas, cilndricas e esfricas, tem sido


comum a utilizao de coordenadas generalizadas a fim de utilizar malhas que se
adaptam geometria dos problemas.

(a) Malha cartesiana. (b) Malha coincidente com a fronteira.

Fig. 2.4: Tipos de malhas.

importante ressaltar que as malhas em coordenadas generalizadas podem ser


ortogonais (eixos coordenados fazem 90 entre si) ou no ortogonais (eixos coordenados
fazem entre si um ngulo diferente de 90).

(a) malha ortogonal (b) malha no ortogonal

Fig. 2.5: Malhas estruturadas ortogonais e no ortogonais.

A soluo , portanto, transformada de uma coordenada qualquer para uma


coordenada cartesiana atravs de tcnicas de mapeamento, ou seja, a equao de
governo resolvida para a malha cartesiana equivalente - .
Captulo 3

Mtodos das
Diferenas Finitas
A equao de governo genrica para pode ser aproximada usando os mtodos de
Diferenas Finitas (srie de Taylor) e Volumes Finitos dentre outros. Neste captulo
apresentado o mtodo das diferenas finitas visando introduzir ao leitor as tcnicas de
aproximao numrica das derivadas.

3.1 Aproximao em sries de Taylor

Neste mtodo, os termos da equao de governo so aproximados individualmente


usando a srie de Taylor.

d 1 d 2 2 1 d n n
(x + dx ) = ( x ) + dx + dx + ..... + dx (3.1)
dx 2! dx 2 n! dx 2

Deste modo, a diferencial dx aproximada por uma variao finita x, e a funo


avaliada para os pontos xi + x e xi x
14 Mtodo das Diferenas Finitas

d 1 d 2 1 d n
(xi + x ) = ( xi ) + x + x 2
+ L + x n (3.2)
dx i 2! dx 2 i n! dx n i

d 1 d 2 n 1 d
n
(xi x ) = ( xi ) x + 2
x 2
+ L + ( 1) n
x n (3.3)
dx i 2! dx i n! dx i

A Figura 3.1 representa as aproximaes descritas acima.

(xi + x)
(xi )
(xi -x)

x x

x
xi - x xi xi + x

Fig. 3.1: Diferenas finitas.

Por uma questo de simplicidade de notao, definem-se

(xi ) = i
xi + x = xi +1
(xi + x ) = i +1 e (3.4)
xi x = xi 1
(xi x ) = i 1


A partir das equaes para i e i +1 , os termos da derivada primeira, , e da
x
2
derivada Segunda, , so aproximados conforme mostrado nas sees 3.2 e 3.3.
x 2
Mtodo das Diferenas Finitas 15

3.2 Aproximao da derivada primeira

H basicamente 3 tipos de aproximaes possveis da derivada primeira: derivada


frente, derivada r e derivada central, conforme ilustrado na Figura 3.2.

derivada no ponto xi

(xi )
x

i
i +1

derivada
r i 1
derivada
derivada frente
central

x
xi-1 xi xi+1

Fig. 3.2: Aproximao da derivada primeira.


Na derivada frente, a derivada aproximada a partir da equao da srie
x i

de Taylor para (xi + x ) ,

d ( xi + x ) ( xi ) 1 d 2 1 d 3 2
= x x + ...
dx i x 2 ! dx 2 3 ! dx 3
(3.5)
( xi + x ) ( xi )
= + O( x )
x

d 2
Os termos de ordem maior do que so desprezados e a aproximao dita
dx 2
como sendo da ordem de x , logo,

d i
= i +1 (3.6)
dx i x
16 Mtodo das Diferenas Finitas

d
Na derivada r, a derivada aproximada a partir da expanso da srie de
dx i

Taylor para (xi x ) ,

d ( x i ) ( x i x ) 1 d 2 1 d 3
= + x x 2 + ...
dx i x 2 ! dx 2
3 ! dx 3
(3.7)
( x i ) ( x i x )
= + O( x )
x

d 2
Da mesma forma, os termos de ordem maior do que so desprezados e
dx 2
aproximao tambm da ordem de x , assim,

d i 1
= i (3.8)
dx i x

d
A derivada central aproxima atravs da subtrao da equao (3.7) para
dx i

(xi x ) da equao (3.5) para (xi + x ) ,

d ( xi + x ) ( xi x ) 1 d 3 x 2
= + ...
dx i 2 x 3! dx 3 2
(3.9)
( xi + x ) ( xi x )
= + O( x 2 )
2 x

d 3
Neste caso, o truncamento se d a partir da derivada terceira, , ou seja, a
dx 3
aproximao dita de ordem x 2 . Isto implica em uma aproximao de menor erro.
Assim,

d ( xi + x ) ( xi x )
= (3.10)
dx i 2x
Mtodo das Diferenas Finitas 17

3.3 Aproximao da derivada segunda

d 2
A exemplo do caso anterior, a derivada segunda, , tambm pode ser
dx 2
aproximada a partir das trs formas anteriores. Entretanto, a mais utilizada a derivada
central devido ao menor erro.

A derivada central aproximada somando-se as equaes (3.5) e (3.6) para


(xi + x ) e (xi x ) respectivamente,

d 2 ( xi + x ) + ( xi x ) 2 ( xi ) 2 d 4 2
= + x + ...
dx 2 x 2 4 ! dx 4
(3.11)
( xi + x ) + ( xi x ) 2 ( xi )
=
x 2
( )
+ O x 2

Neste caso, a aproximao da derivada segunda da ordem de x 2 ,

d 2 i +1 + i 1 2 i
= (3.12)
dx 2 x 2

3.4 Aproximao do termo difusivo

O do termo difusivo da equao de governo aquele onde aparecem expresses



do tipo . A aproximao obtida aplicando-se o conceito de derivada
x x
central nos subintervalos mostradas na Figura 3.3.


Fazendo = , tem-se que
x
18 Mtodo das Diferenas Finitas

Derivada central em

relao xi+1/2 i +1 / 2 =
x
i +1 / 2
i +1

i
Derivada central i 1 / 2 =
em relao xi-1/2 x i 1 / 2

i 1

xi 1 xi 1/ 2 xi xi +1/ 2 xi +1 x

x x

Fig. 3.3: Aproximao central da derivada segunda.


= (3.13)
x x x

e, no ponto i, a derivada / x pode ser calculada por

d i +1 / 2 i 1 / 2
= (3.14)
dx i x

onde
i
i +1 / 2 = = i +1 / 2 i +1 (3.15)
x i +1 / 2 x
e
i 1
i 1 / 2 = = i 1 / 2 i (3.16)
x i 1 / 2 x
Mtodo das Diferenas Finitas 19

que, substituindo na equao inicial, resulta

i i 1
= 1 i +1 / 2 i +1 i 1 / 2 i

x x x x x
(3.17)

=


i +1 / 2 i +1 +

i 1 / 2 i 1 (
i +1 / 2 +
i 1 / 2 ) i

x 2
ou seja,

=
(
i +1 / 2 i +1 + i 1 / 2 i 1 i +1 / 2 + i 1 / 2 i ) (3.18)
x x x 2

Assim, se = 1 a equao (3.18) torna-se idntica (3.12) referente ao caso da


d 2
aproximao de .
dx 2

3.5 Exemplo ilustrativo

Seja um problema de conduo de calor em regime permanente em uma placa


plana bidimensional com temperatura prescrita em todas as faces. A Figura 3.4
apresenta um desenho esquemtico do problema.

TN

TW TE H=4m

TS

L=4m
Fig. 3.4: Placa plana.

A equao de governo para este caso


20 Mtodo das Diferenas Finitas

k T k T
ST + + =0 (3.19)
x Cp x y Cp y

sendo que as derivadas em x e y so aproximadas individualmente ao longo de i e j


conforme mostrado na Figura 3.5.

Ti , j +1

y
Ti 1, j Ti , j Ti +1, j

y
Ti , j 1

x x

Fig. 3.5: Discretizao bidimensional.

2T 2T
Assumindo que k/Cp seja constante, as derivadas e so aproximadas
x2 y2
como descrito na seo 3.3. Assim,

k T k 2T k Ti +i , j + Ti 1, j 2Ti , j
= = (3.20)
x Cp x Cp x 2
Cp x 2
e

k T k 2T k Ti , j +1 + Ti , j 1 2Ti , j
= = (3.21)
y Cp y Cp y 2
Cp y 2

logo,

k Ti +i , j + Ti 1, j 2Ti , j k Ti , j +1 + Ti , j 1 2Ti , j
S iT, j + + = 0 (3.22)
Cp x 2 Cp y 2
Mtodo das Diferenas Finitas 21

dividindo por k Cp e rearranjando os termos,

1 1 1 1 1 1 S iT, j
2 2 + 2 Ti , j + 2 Ti +1, j + 2 Ti 1, j + 2 Ti , j +1 + 2 + Ti , j 1 + = 0 , (3.23)
x y x x y y (k Cp )

assumindo que x = y,

Cp 2 T
4Ti , j = Ti +1, j + Ti 1, j + Ti , j 1 + Ti , j +1 + x S i , j (3.24)
k

e, particularizando para o caso de uma placa plana sem gerao interna ( S iT, j = 0 ),

obtm-se a equao discretizada do problema,

4Ti , j = Ti +1, j + Ti 1, j + Ti , j 1 + Ti , j +1 . (3.25)

A placa discretizada de modo que x = y = 1 , conforme mostrado na Figura


3.6.

100 C
1 2 3 4 5

6 7 8 9 10

11 12 13 14 15
50 C 50 C

16 17 18 19 20

21 22 23 24 25

30 C
Fig. 3.6:Malha de soluo.
22 Mtodo das Diferenas Finitas

Aplicando a condio de contorno aos pontos externos e utilizando a equao


geral para os pontos internos, tem-se

Ponto 1 T1 = 100
Ponto 2 T2 = 100
Ponto 3 T3 = 100
Ponto 4 T4 = 100
Ponto 5 T5 = 100

Ponto 6 T6 = 50
Ponto 7 4T7 = T8 + T6 + T12 + T2 4T7 - T8 - T12 = 150
Ponto 8 4T8 = T9 + T7 + T19 + T3 4T8 - T9 - T13 -T7 = 100
Ponto 9 4T9 = T10 + T8 + T14 + T4 4T9 - T8 - T14 = 150
Ponto 10 T10 = 50

Ponto 11 T11 = 50
Ponto 12 4T12 = T13 + T11 + T17+ T7 4T12 - T13 - T17 - T7 = 50
Ponto 13 4T13 = T14 + T12 + T18 + T8 4T13 - T14 -T12 -T18 -T8 = 0
Ponto 14 4T14 = T15 + T13 + T19 + T9 4T14 - T13 - T19 - T9 = 50
Ponto 15 T15 = 50

Ponto 16 T19 = 50
Ponto 17 4T17 = T18 + T16 + T22 + T12 4T17 - T18 - T12 = 80
Ponto 18 4T18 = T19 + T17 + T23 + T13 4T18 - T19 - T17 - T13 = 30
Ponto 19 4T19 = T20 + T18 + T24 + T14 4T19 - T18 - T14 = 80
Ponto 20 T20 = 50

Ponto 21 T21 = 30
Ponto 22 T22 = 30
Ponto 23 T23 = 30
Ponto 24 T24 = 30
Ponto 25 T25 = 30
Mtodo das Diferenas Finitas 23

Escrevendo na forma de matriz:

T7 T8 T9 T12 T13 T14 T17 T18 T19


4 1 1 T7 150
1 4 1 1 T 100
8
1 4 1 T9 150

1 4 1 1 T12 50
1 1 4 1 1 T13 = 0
T 50
1 1 4 1
14
1 4 1 T17 80
T
1 1 4 1 18 30
1 1 4 T19 80

[A] {T} {b}

De um modo geral, pode-se escrever a equao na seguinte forma matricial:

[A] {T } = {B} , (3.26)

cuja soluo pode ser representada por

{T } = [A]1 {B} (3.27)

onde [ A] inversa da matriz dos coeficientes1. A soluo no presente caso


1

T7 = 70,0 C T8 = 74,4 C T9 = 70,0 C


T12 = 55,6 C T13 = 57,5 C T14 = 55,6 C
T17 = 45,0 C T18 = 44,4 C T19 = 45.0 C

1
Em geral, a soluo do sistema de equaes feita com auxlio de mtodos iterativos devido grande
tamanho da matriz [A]. Nota-se ainda a estrutura da matriz [A], que apresenta a diagonal dominante com
termos diferentes de zero em apenas 5 diagonais (veja a linha referente temperatura T13). Maiores
detalhes so apresentados no Captulo 6.
24 Mtodo das Diferenas Finitas
Captulo 4

Mtodo dos
Volumes Finitos

O mtodo dos Volumes Finitos difere do mtodo das Diferenas Finitas no


sentido em que as equaes aproximadas so obtidas a partir da integrao das equaes
diferenciais em um volume de controle de geometria conhecida.

4.1 Conduo de calor unidimensional transiente

A equao de conduo de calor unidimensional transiente :

( T ) k T
= + S T (4.1)
t x Cp x

A integrao no tempo e espao da equao diferencial feita no volume de


controle mostrado na Figura 4.1.
26 Mtodo dos volumes finitos

w e
qe
W qw P E
w

xw xe

Fig. 4.1: Volume de integrao.

k T
w t ( T ) dx dt = t
t + t e t + t e t + t e
t w x Cp x dx dt + t w S d x dt (4.2)

1 2 3

O termo "1" integrado primeiramente no tempo e depois entre as faces "w" e "e",
considerando que tanto a temperatura quanto a massa especfica sejam constantes no
interior do volume de controle. Assim


w t ( T ) dx dt = w (TP ) ( )
t + t e
TP0 dx = TP 0TP0 x
e
t
0
(4.3)

Assumindo as propriedades constantes no


interior do volume de controle

sendo que o super-ndice "0" indica que o parmetro esta associado com o passo de
tempo corrente (conhecido).

O termo "2" integrado primeiramente entre as faces "w" e "e",


Mtodo dos volumes finitos 27

t + t e k T t + t k T k T
t w x Cp dx dt = t dt (4.4)
x Cp x e Cp x w

A integrao no tempo aproxima uma varivel qualquer, f, entre o instante


corrente, t, e o instante de tempo a ser determinado, t+dt, sendo feita conforme ilustrado
na Figura 4.2

f (t + t )

f ( ) t + t

f (t ) dt = f ( ) t
t
f (t )

t t + t t
Fig. 4.2: Integrao no tempo.

Assim, para o caso onde f (t ) = T (t ) , tem-se


t + t k T k T k T k T
t dt = t (4.5)
Cp x e Cp x w Cp x e Cp x w

As derivadas avaliadas em "w" e "e" so aproximadas, respectivamente, pela


derivada central em relao a P e W e E e P, como


T TE TP
=
x e xe
, (4.6)

T TP TW
=
x w xw
28 Mtodo dos volumes finitos

deste modo,

t + t k T k T k TE TP k TP Tw
t dt = t . (4.7)
Cp x e Cp x w Cp e xe Cp w
xw

Finalmente, o termo "3" aproximado por

t + t e t + t
t w S dx dt = t S x dt = S x t (4.8)

O termo termo fonte S , em geral, linearizado como

S = S P TP + S C , (4.9)

cuja integral dada por

w S dx dt = (S P TP )
t + t e
t + S C x t . (4.10)

Deste modo, a equao aproximada apresenta a seguinte forma:

k TE TP k TP TW
( T )
0T 0 x =
t + S PTP + SC x t ( ) (4.11)
Cp e xe Cp w xw
P

e, fazendo M P = x e reagrupando, tem-se :

MP k k k k M P0 0
TP = TE + Tw +
TP + S P xTP + S C x + TP (4.12)
t Cp x e Cp x w Cp x e Cp x w t

Ae Aw Ae Aw A 0p
Mtodo dos volumes finitos 29

Os coeficientes da equao podem ser escritos por :

k
Ae = (4.13)
Cp x e

k
Aw = (4.14)
Cp x w

M P0
AP0 = (4.15)
t
Assim, a equao geral de um problema de conduo de calor unidimensional em
regime transiente

MP
TP = Ae TE + AwTw ( Ae + Aw S P x )TP + S C x + AP0 TP0 (4.16)
t

De uma forma geral, uma temperatura T pode ser representada como uma
funo das temperaturas do instante atual, T 0 , e do instante a ser determinado, T, como

T = T + (1 )T 0 (4.17)

onde =0 Mtodo explcito T = T 0


=1 Mtodo implcito T = T
= 1/2 Mtodo de Crank-Nicholson T = (T 0 + T ) / 2

4.1.1 Mtodo explcito

No caso do mtodo explcito T = T 0 e a equao reduzida a :

( )
A p TP = AeTE0 + AwTw0 A p0 + Ae + Aw S P x TP0 + S C x (4.18)

o que constitui um problema condicionalmente estvel. A condio de convergncia


para uma malha igualmente espaada ( x = xe = x w ) e de termo fonte nulo

( S P = SC = 0 )
30 Mtodo dos volumes finitos

x k k
AP0 Ae Aw 0 0 (4.19)
t Cp x e Cp x w

ou seja,
x k
2 0 (4.20)
t Cpx

Cp t x 2 x 2
2 2 0 20 2 (4.21)
k x t t

onde = k /( Cp ) a difusibilidade trmica. Finalmente, o critrio de estabilidade para


o mtodo explcito nas condies acima

t 1
(4.22)
x 2
2

Isto implica que o tamanho dos passos de tempo devem ser muito pequenos, os
quais, neste caso devem ser t x 2 / (2 ) .

4.1.2 Mtodo implcito

A aproximao implcita da equao geral (4.16) obtida fazendo T = T , ou suja,


= 1. Assim,

MP
TP = Ae TE + AwTW ( Ae + Aw S P x )TP + A 0p TP0 + S c x (4.23)
t

resolvendo para TP , tem-se

MP
+ Aw + Ae S P x TP = AeTE + AwTW + A p0 TP0 + S C x (4.24)
t

Ap B
Mtodo dos volumes finitos 31

de modo que a equao discreta pode ser representada por

A p TP = AeTE + AwTW + B (4.25)

com

k
Ae =
Cp x e

k
Aw =
Cp x w
(4.26)
M
A p = P + Ae + Aw S P x
t

B = A p0 TP + S C x

A soluo deste problema exige a soluo de um sistema de equaes lineares a


cada passo de tempo. Os valores de TP0 e A 0p so avaliados no instante de tempo

corrente e, portanto, conhecidos. No caso de transientes distorcidos, a temperatura TP0


tambm aumentada a cada passo no tempo a fim de alcanar a soluo de regime
permanente com um menor aumento de passos no tempo.

4.2 Regras bsicas na determinao das equaes


aproximadas

H quatro regras bsicas na aproximao das equaes para volumes finitos .

Regra 1 - Consistncia nas faces dos volumes de controle: esta regra estabelece que
os fluxos calculados nas faces adjacente dos volumes de controle sejam representados
pela mesma expresso discretizada.

A expresso do fluxo mostrado abaixo igual para as equaes referentes aos


volumes de controle "2" e "3".
32 Mtodo dos volumes finitos

T3 T2
qi = (4.27)
x

Nota-se que q i = q e quando a equao discreta aproxima o volume de controle

"2", enquanto que q i = q w refere-se ao volume "3".

1 2 3 4

qi

Fig. 4.3: Consistncia dos volumes de controle.

Regra 2 - Coeficientes positivos: Na equao bsica A p TP = AeTE + AwTW + B

verifica-se que se a temperatura TE aumenta e as outras condies permanecerem


constantes, a temperatura TP tambm aumenta, implicando que os coeficientes A p e

Ae devem possuir o mesmo sinal. Este efeito requer que

Mp
Ap > 0 ou + Ae + Aw S P x > 0 (4.28)
t

interessante notar que desejvel que S P seja menor que zero para garantir que
Ap > 0 .

Regra 3 Linearizao do termo fonte com inclinao negativa: para garantir


que A p seja maior que zero quando o termo fonte for aproximado por

S = S P TP + S C , (4.29)

o coeficiente S P dever ser sempre menor que zero, ou seja


Mtodo dos volumes finitos 33

SP 0 (4.30)

Este conceito discutido com maior detalhe na seo 4.3.

Regra 4 - Ap deve ser igual a soma dos coeficientes vizinhos: uma vez que a equao
geral composta por derivadas segundas, uma temperatura qualquer acrescida de uma
constante C, T = T + C e outra T satisfazem a equao diferencial. A equao discreta
deve representar este fato, assim, TP = TP + C quando TE = TE + C e TW = TW + C .
Consequentemente,

A p = Anb (4.31)

No caso unidimensional A p = Ae + Aw . importante notar que isto verdadeiro

somente quando o termo fonte zero , ou seja S = 0 .

4.3 Linearizao do termo fonte

O termo fonte pode ser uma funo no-linear da temperatura, com isso, faz-se
necessrio uma linearizao que produza uma equao do tipo:

S = S P TP + S C , (4.29)

com o requerimento de que SP < 0.

A linearizao feita a partir da expanso em srie de Taylor tomando como


ponto inicial a ltima iterao convergida, conforme mostrado abaixo:

* *
S S
*
P ( )
S (T + TP ) = S T
*
P +
TP
TP S=S + *

TP
(
TP TP* ) (4.32)

S S* TP = TP TP*
34 Mtodo dos volumes finitos

onde o ndice * representa valores referentes ltima iterao convergida. Assim,


rearranjando a equao acima, tem-se

* *
dS dS
S= TP + S * TP = S P TP + SC
*
(4.33)
dT P dT P

SP SC

onde
* *
dS dS
SP = e SC = S * TP* (4.34)
dT P dT P

TP S
*
dS
TP convergida
S* = S (TP* ) dT p

TP
S = S (TP )

T P*

t* t t T P* TP TP
Conhecido da
iterao anterior
Fig. 4.4: Linearizao do termo fonte.

Exemplo : O termo fonte dado por S = 4T 3 + 5

*
dS
dT
( )
= 12 T *
2

A partir das equaes (4.33) e (4.34), tem-se que p

S* = 5 4 T * ( )3

ou seja,
Mtodo dos volumes finitos 35

[ ( ) ]T
S = 12 TP*
2
P [ ( )
+ 5 4 TP*
3
( ) 2
+ 12 TP* TP* ]
(4.35)
[
S = 12 T( ) ]T
* 2
P P [
+ 5+8 T( )]
* 3
P

*
dS
No caso de S aumentar com a temperatura, isto , se a derivada for maior
dT p

que zero, outra estratgia requerida para garantir que SP < 0.

Exemplo: O termo fonte dado por S = 7T + 3

Neste caso SP = 7 e SC = 3, o que pode produzir instabilidade pois S P > 0 , sendo


assim, a equao para S pode ser aproximada por

( )
S = 3 + 7TP* + 0 TP

SP = 0

SC = 3 + 7 TP (calculado no instante de convergncia anterior)

ou, de forma alternativa, pode-se somar e subtrair 2Tp conforme mostrado abaixo:

S = 7 TP + 3 = 7 TP + 3 + (2 TP ) (2 TP ) = 2 TP + (9 TP + 3)

logo

(
S = 2 TP + 9 TP* + 3 ) (4.36)

SC = 9 TP*+3 (calculado no instante de convergncia anterior)

SP = -2

Esta ltima estratgia diminui a velocidade de convergncia do problema.


36 Mtodo dos volumes finitos

4.4 Avaliao das propriedades na interface dos volumes

Viu-se anteriormente que os coeficientes Aw e Ae requerem a avaliao de k/Cp

nas interfaces "w" e "e" respectivamente. No caso de k = k (T ) e Cp = Cp (T ) deve ser


feito um procedimento especfico para garantir os princpios de conservao.

xe

xe xe+

qe
W P E
k P = k(TP ) k E = k(TE )

w e
x

Fig. 4.5: Propriedades na interface entre dois volumes.

No caso de conduo de calor (ver Figura 4.5), a equao do fluxo de calor na


interface "e" avaliada como

k e (TP Te ) TP TE TP T E
qe = = = (4.37)
xe xe xe xe+
+
ke kP kE

x e+
Fazendo f e , o valor de ke pode ser avaliado por :
xe
1
1 f e f
ke = + e (4.38)
kP kE

No caso da fronteira "e" ficar no centro de P e E tem-se f e = 0,5 , o que faz com
que
Mtodo dos volumes finitos 37

2.k P .k E
ke = (4.39)
kP + kE

Esta abordagem permite que o valor na interface represente de forma mais realista
o fenmeno fsico.
Assim, pode-se aproximar os valores de k/Cp como

1
k 1 fe fe
= + (4.40)
Cp e k / Cp P k / Cp E

Recentemente, estudos numricos mostraram que a forma mais precisa de avaliar


os coeficientes difusivos na fronteira em problemas onde = (T ) a interpolao

inicial da temperatura na fronteira e posterior determinao . Assim, a partir de uma


interpolao linear da temperatura, tem-se

Te = (1 f e )TE + f eTP e = (Te ) (4.41)


e

4.5 Equao geral da conduo

A obteno das equaes aproximadas para problemas 2D e 3D segue a mesma


metodologia do problema unidimensional. Para tanto, pode-se utilizar uma malha
cartesiana conforme mostrado nas Figuras 4.6 e 4.7 para problemas bi e tridimensionais.

n
yn
W P E
y
w e
s ys

xw xe

Fig. 4.6: Malha cartesiana bidimensional.


38 Mtodo dos volumes finitos

n
b

y
W w P e E x

f z
s

Fig. 4.7: Malha cartesiana tridimensional.

A equao diferencial


( T ) = k T + k T + k T + S

(4.42)
t x Cp x y Cp y z Cp z

Integrando a equao diferencial em um elemento associado a uma malha


cartesiana tridimensional,

t + t e n f
t + t f n e
k T
t ( T ) dz dy dx dt = x Cp x dx dy dz dt +
t ws b t b s w
t + t n f e
k T
+ y C y dy dz dz dt + (4.43)
t s bw P
t + t e n f
k T t + t e n f
+
dz dx dy dt + S dx dy dz dt
t w s b z C P z t ws b

e integrando no tempo o primeiro termo e entre "w" e "e" o termo da derivada em x,


entre "s" e "n" o termo da derivada em y e entre "b" e "f" o termo da derivada em z,
Mtodo dos volumes finitos 39

k T k T
(T T )dx dy dz =
e n f t + t f n
0
Cp x dy dz dt +
Cp x w
0
ws b t
b s e

t + t f e k T k T
+ Cp y Cp y dx dz dt + (4.44)
t b w n s

t + t n e k T k T t + t
+ Cp z dx dy dt + S x y z dt
t s w f Cp z b t

k T k T k T
Considerando que as grandezas , e so constantes ao
Cp x Cp y Cp z
longo das faces yz , xz e xy respectivamente

k T k T
(T T )x y z =
t + t

Cp x Cp x y z dt +
0 0

t e w

t + t k T k T
+ Cp y Cp y x z dt +

t n
s
(4.45)
t + t k T k T
+ Cp z Cp y x y dt +

t f
b
t + t
+ S x y z dt +
t

Aplicando a aproximao central nas faces "w" , "e" , "s" , "n" , "b" e "f"

T TP TW T TE T P
= =
x w xw x e xe
T TP TS T TN TP
= e = (4.46)
x s xs x n xn
T TP TB T TF TP
= =
x b xb x f xf

Substituindo na equao anterior


40 Mtodo dos volumes finitos

k TE TP TP TW
(T ) k
t + t
0
T 0 x y z = x y dt +
t Cp e
xe Cp w
xw

t + t k T N TP k T P TS
+ x z dt +
t Cp n
yn Cp s
ys (4.47)

t + t k T F TP k TP TB
+ x y dt
Cp z Cp zb
t f f b
t + t
+ S x y z dt
t

( )
t + t
Rearranjando e considerando a integrao no tempo como f (T )dt = f T t
t

x y z k k k
TP + ( y z + x z + x y +
t Cp x e Cp y n Cp z f

k k k
+ y z + x z + x y S p x y z )TP =
Cp x w Cp y s Cp z b
(4.48)
k k k
= y z TE + y z TW + x z TS +
Cp x e Cp x w Cp y s

k k k
+ x z TN + x y TB + x y TF +
Cp y n Cp z Cp z f
b

0 x y z
+ S c x y z + T0
t

No caso de aproximao implcita T = T ( = 1) a equao resultante

ApTP = AnTN + AsTS + AwTW + AeTE + AbTB + A f TF + B (4.49)

onde
Mtodo dos volumes finitos 41

k k k
An = x z Ae = yz Ab = xy
Cp y n Cp x e Cp z b
, ,
k k k
As = xz Aw = yz Af = xy
Cp y s Cp x w Cp z f

MP
A p = An + As + Aw + Ae + Ab + A f + S P x y z (4.50)
t

M P0 0
B = S C x y z + TP
t

com
M P = x y z e M P0 = 0 x y z . (4.51)

Para problemas bidimensionais elimina-se os termos relacionados ao eixo z


fazendo Ab = A f = 0 e z = 1 , assim

A p TP = AnTN + As TS + AwTW + AeTE + B (4.52)

onde

k k
An = x Ae = y
Cp y n Cp x e
,
k k
As = x Aw = y
Cp y s Cp x w

Mp
A p = An + As + Aw + Ae + S P x y (4.53)
t

M P0 0
B = S C x y + TP
t
com
M P = x y e M P0 = 0 x y . (4.54)

4.6 A estrutura da matriz de coeficientes

A matriz de um problema de volumes finitos caracterizada pela existncia de


muitos zeros e pela dominncia da diagonal principal. Em problemas unidimensionais, a
42 Mtodo dos volumes finitos

matriz dos coeficientes tri-diagonal, enquanto que para problemas bi e tri-


dimensionais a matriz respectivamente penta-diagonal e hepta-diagonal.

(a) Unidimensional (b) Bidimensional (c) Tridimensional

Fig. 4.8: Estrutura da matriz de coeficientes.

O ndice de esparcididade definido como

nmero de posies nulas


e= (4.55)
nmero total de posies

O Quadro 4.1 apresenta alguns exemplos de ndice de esparcidade para problemas


bi-dimensionais

Quadro 4.1: ndice de esparcidade


Malha
10 x 10 20 x 20 40 x 40
ndice de esparcidade 0,95 0,9875 0,9968

4.7 A Tratamento de no-linearidades

A exemplo do tratamento do termo fonte, a equao linearizada de modo que


as no-linearidades so includas no termo fonte. Uma vez que o processo iterativo, a
no-linearidade no acarreta maiores problemas, basta atualizar os coeficientes e o
termo fonte a cada iterao.
Captulo 5

Mtodos de Aproximao das


Equaes para o Contorno
As equaes aproximadas discutidas anteriormente so vlidas apenas para ns no
interior do domnio. As equaes para as fronteiras devem ser determinadas atravs de
procedimento especficos, cuja equao caracterstica para problemas unidmensionais

AB TB = AI TI + B (5.1)

onde AB , AI e B so coeficientes a serem determinados atravs de modelamento


especfico. Para pontos na fronteira h trs estratgias: pontos sobre a fronteira ,
volumes fictcios e balanos na fronteira.

5.1 Pontos sobre a fronteira

Esta estratgia comumente adotada quando se coloca o valor da varivel sobre a


fronteira. A Figura 5.1 ilustra esta situao.
44 Mtodos de aproximao das equaes para o contorno

Vantagens : Facilidade de obteno da equao discreta.


Desvantagens : No uniformidade dos volumes;
No obedincia da equao de conservao nos meio-volumes da
fronteira.

xi

B I
Volume da w
fronteira a qB Tf qi
metade

i
x
Fig. 5.1: Pontos sobre a fronteira.

5.1.1 Temperatura prescrita

No caso de uma temperatura, T f , prescrita na fronteira, a equao para TB bastante

simples. Assim, a partir da equao geral unidimensional

AB TB = AI TI + B (5.1)

e, uma vez que TB = T f , tem-se

AB = 1

AI = 0 (5.2)

B= Tf

5.1.2 Fluxo prescrito

No caso de condio de fluxo conhecido na fronteira, um balano nos volumes sobre a


fronteira feito, conforme mostrado na equao abaixo:
Mtodos de aproximao das equaes para o contorno 45

(m B C p T )
w q B w q i + s& x w = (5.3)
t

onde qB e qi so fluxos por unidade de rea, e m B a massa do volume de controle.


Assim

T (T TB )
q i = k = k I
x i xi
(5.4)
m B = x w

logo,

w qB + w
k
(TI TB ) + s& x w = ( w x Cp TB ) (5.5)
xi t
Simplificando w tem-se


( Cp x TB ) = q B + k (TI TB ) + s& x
t xi
(5.6)
k k
= qB + TI TB + s& x
xi xi

Rearranjando a equao anterior

s&
x = ( x TB ) ,
qB k k
+ TI TB + (5.7)
Cp Cp x i Cp x i Cp t

fazendo S = s& / Cp e M B = x ,


TB + S x = (M B TB ) ,
qB k k
+ TI (5.8)
Cp Cp x i Cp x i t
46 Mtodos de aproximao das equaes para o contorno

linearizando o termo fonte e efetuando a integrao no tempo conforme mostrado no


catulo anterior,

( )
t + t
S = S C + S B TB e f (T ) dt = f T t. (5.9)
t

tem-se

qB k k
t + TI t TB t + S x t = M B TB M B0 TB0 (5.10)
Cp Cp x i Cp x i

rearranjando,

MB k k q B
TB = TI TB + S C x + S P x TB + + M B0 TB0
t Cp x i Cp x i Cp
(5.11)
k
k q B M B0
= TI + + S P x TB + S C x + + TB
Cp x i Cp x i Cp t

ou seja,

MB M0 q
TB = Ai TI ( Ai S P x )TB + S C x + B TB0 + B (5.12)
t t Cp

onde

k
Ai = (5.13)
Cp x i

com as variveis TI e q B avaliadas conforme visto anteriormente, ou seja

T = T + (1 )T 0 e q B = q B + (1 ) q B0 .
Mtodos de aproximao das equaes para o contorno 47

Mtodo implcito: Desta forma, a equao discreta para o caso totalmente implcito
( = 1) onde T = T e q B = q B

AB TB = Ai TI + B (5.14)

onde

k
Ai =
Cp x i

MB
AB = + Ai S P x (5.15)
t
M B0 0 q B
B = S C x + TB +
t Cp

Mtodo explcito: A equao discreta para o caso explcito ( = 0) obtida fazendo


T = T 0 e q B = q B0 com

AB TB = B (5.16)

onde
MB
AB =
t
(5.17)
k k M 0 0
q
B= TI0 S P x TB0 + S C x +
B B

Cp x i Cp x t Cp
i

Nota-se que a soluo para TB imediata, no requerendo a soluo do sistema de


equaes.

5.1.3 Conveco na fronteira

No caso da condio de contorno de conveco na fronteira, o fluxo q B do caso anterior


definido como
48 Mtodos de aproximao das equaes para o contorno

(
q B = h T TB ) (5.18)

que, substituindo na equao geral resulta

MB
t
TB = Ai TI ( Ai S P x )TB + S C x +
M B0 0
t
TB +
h
Cp
(
T TB )
(5.19)
h M0 h
= Ai TI Ai + S P x TB + S C x + B TB0 + T
Cp t Cp

Com as temperaturas TI avaliadas conforme equao (4.17),

T = T + (1 )T 0 . (4.17)

Mtodo implcito: para o caso totalmente implcito ( = 1) faz-se T = T de modo que

AB TB = Ai TI + B (5.20)

onde

k
Ai =
Cp x i

MB h
AB = + Ai + S P x (5.21)
t Cp

M B0 0 h
B = S C x + TB + T
t Cp

Mtodo explcito: A equao discreta para o caso explcito ( = 0) obtida fazendo


T = T 0 com

AB TB = B (5.22)
Mtodos de aproximao das equaes para o contorno 49

onde
MB
AB =
t
(5.23)
k M B0 k h
B= TI +
0
+ S P x TB0 + S C x
Cp x i t Cp x Cp
i

5.2 Volumes fictcios

A fim de garantir os princpios de conservao para todo o domnio, utiliza-se


volumes fictcios nas fronteiras, conforme ilustrado na Figura 5.2.

xi = x

Volume fictcio
B qb I
w
Tf

x x
Fig. 5.2: Volumes fictcios.

Vantagens: Uniformidade dos volumes


Respeita os princpios de conservao

Desvantagens: Introduz um nmero maior de equaes no sistema. Por exemplo, esta


abordagem exige equaes para temperatura prescrita na fronteira em
contraposio com a aproximao de "pontos sobre a fronteira" descrita
na seo 5.1 no faz tal exigncia.
50 Mtodos de aproximao das equaes para o contorno

5.2.1 Temperatura prescrita

No caso de temperatura prescrita, a temperatura na fronteira, T f , a mdia das

temperaturas do volume fictcio e do volume na fronteira

T B + TI
Tf = (5.24)
2

resolvendo para TB

TB = TI + 2T f (5.25)

obtm-se a equao discreta que, escrita na forma geral

AB TB = Ai TI + B (5.26)

onde
AB = 1

AI = 1 (5.27)

B= 2T f

importante ressaltar que a temperatura do volume fictcio TB no tem


significado fsico.

5.2.2 Fluxo prescrito

No caso de fluxo prescrito q B na fronteira, faz-se o balano de energia apenas na


superfcie "i", a qual a prpria fronteira. Assim,

w q B = k w
(TI TB )
(5.28)
xi
Mtodos de aproximao das equaes para o contorno 51

ou seja

qB =
k
(TB TI ) qB=
k
TB
k
TI
xi xi xi
(5.29)
k k
TB = TI + q B
xi xi

Logo, a equao geral

AB TB = Ai TI + B (5.30)

com

k
AB =
xi

k
AI = (5.31)
xi

B = qB

Note que a expresso acima vlida para qualquer esquema de integrao no


tempo.

5.2.3 Conveco na fronteira

No caso de conveco na fronteira, o fluxo de calor q B definido pela equao

q B = h (T TB ) (5.32)

deste modo, a equao de conservao da energia na interface "i"

TB T I
w q B = h w (T T f ) = w k (5.33)
xi

onde a temperatura na fronteira, T f , a temperatura mdia dos volumes adjacentes,


52 Mtodos de aproximao das equaes para o contorno

TB + TI
Tf = (5.34)
2

Substituindo a equao para T f na equao (5.33),

k k T + TI h h
TB TI = h T B = h T TB TI (5.35)
xi xi 2 2 2

e reagrupando

k h k h
+ TB = TI + h T (5.36)
xi 2 xi 2

obtm-se a equao discreta,

AB TB = Ai TI + B (5.37)

com

k h
AB = +
xi 2

k h
AI = (5.38)
xi 2

B = h T

Neste caso, tambm, a equao vlida para qualquer esquema de integrao no


tempo.
Mtodos de aproximao das equaes para o contorno 53

5.3 Balano nos volumes de fronteira

Este mtodo tem sido recomendados por pesquisadores pelo fato do mesmo
respeitar as leis de conservao e no introduzir incgnitas adicionais. A Figura 5.3
ilustra o procedimento.

xi
xf

qf B I
w
qb
Tf

f i

x
Fig. 5.3: Balano sobre as fronteiras.

O balano de energia no volume de controle


s& w x + w q f w q i = (m Cp T ) (5.39)
t

onde

(TI TB )
qi = k i
xi
(5.40)
m = w x

fazendo M = x ,


( x Cp TB ) = (M B Cp TB ) = s& x + q f + k i (TI TB ) , (5.41)
t t xi
54 Mtodos de aproximao das equaes para o contorno

e S = s& / Cp = S B TB + S C , tem-se

ki q
( M B TB ) = (TI TB ) + f + S x
t Cp xi Cp
(5.42)
ki q
= (TI TB ) + f + (S BTB + S C ) x
Cp xi Cp

t + t

f (T )dt = f (T )t ,

Integrando no tempo com a considerao de que
t

ki q f
M B TB M T =
0
B B
0



(
T I TB + ) (
t + S C x + S B x TB t , ) (5.43)
Cp x i Cp

e reagrupando

MB k k M0 q f
TB = TI S B x TB + B TB0 + S C x + (5.44)
t Cp x i Cp x i t Cp

obtm-se a equao geral na forma discreta. Os valores de q f so definidos conforme o

caso.

5.3.1 Fluxo prescrito

No caso de fluxo prescrito, o valor de q f conhecido. A equao discreta para um

esquema implcito de integrao ( q f = q f e T = T )

ABTB = AI TI + B (5.45)
Mtodos de aproximao das equaes para o contorno 55

onde

k
AI =
Cp x i

MB k
AB = + S B x (5.46)
t Cp x i

M B0 0 qf
B= TB + S C x +
t Cp

5.3.2 Temperatura prescrita

No caso de temperatura prescrita sobre a fronteira, o valor de T f conhecido. Assim, a

partir da equao de balano na superfcie "f",


TB T f
q f = k f
xf
(5.47)
kf kf
q f = T f TB
xf xf

Substituindo a expresso para q f na equao geral, e assumindo uma integrao

implcita no tempo ( T f = T f e TB = TB ), tem-se

ABTB = AI TI + B (5.48)

onde

k
AI =
Cp x i

MB k
AB = + AI + S B x (5.49)
t Cp x f

M B0 0 k
B= TB + S C x + Tf
t Cp x f
56 Mtodos de aproximao das equaes para o contorno

5.3.3 Conveco na fronteira

No caso de fluxo prescrito por conveco, a equao discreta obtida a partir da


equao caracterstica,

(
q f = h T TB , ) (5.50)

em conjunto com o balano de energia na superfcie "f" do volume sobre a fronteira,

( )
q f = h T T f = k f
(T
B T f ). (5.51)
xf
1

Admitindo uma integrao implcita no tempo ( T f = T f e TB = TB ), isolando T f

na equao acima e substituindo em "1" tem-se

qf =
h
(T TB ) (5.52)
h x f
1 +
k
f

que, substituindo na equao geral, obtm-se a equao discreta

ABTB = AI TI + B (5.53)

onde

k
AI =
Cp x i
MB h
AB = + AI S B x + (5.54)
t x
Cp 1 + h
k
f
0
M h
B= TB0 + S C x +
B
T
t x
Cp 1 + h
k
f
Mtodos de aproximao das equaes para o contorno 57

5.4 Exemplo ilustrativo

Este exemplo visa ilustrar a metodologia de obteno das equaes para o contorno. O
problema mostrado na Figura 5.4 representa uma placa plana com uma gerao de calor
e com transferncia de calor por conveco nas fronteiras em regime permanente. Por
uma questo de facilidade de implementao, utiliza-se a tcnica de pontos sobre a
fronteira, conforme descrita na seo 5.1.

q f = h (T f T )

H=1m

s&
q f = h (T f T ) q f = h (T f T )

L=1m

q f = h (T f T )

Fig. 5.4:Geometria do problema.

A equao de governo para este problema obtida a partir de uma simplificao


da equao geral da energia (ver seo 2.1) considerando nulo os termos convectivos, o
termo da derivada no tempo e os termos relativos direo z. Assim,

k T k T s&
+ + =0 (5.55)
x Cp x y Cp y Cp

A equao discreta para o domnio segue o mesmo procedimento mostrado na


seo 4.5, exceto pela integral no tempo.
58 Mtodos de aproximao das equaes para o contorno

A p TP = AnTN + As TS + AwTW + AeTE + B (5.56)

onde
s& / Cp = S P TP + S C

k k
An = x Ae = y
Cp y n Cp x e
, (5.57)
k k
As = x Aw = y
Cp y s Cp x w

A p = An + As + Aw + Ae S P x y

B = S C x y

As equaes para a fronteira so obtidas atravs de um balano de energia nos


volumes de controle mostrados na Figura 5.5.

A
xC x xD
(a) (b)

yA

y
C y D

yB
(c) (d)
x
B

Fig. 5.5: Geometria do problema.

H, basicamente, dois tipos de equaes na fronteira: aquelas referentes aos


cantos (4 cantos) e aquelas relativas s laterais das placas (4 laterais).
Mtodos de aproximao das equaes para o contorno 59

O balano de energia aplicado a cada um dos quatro cantos da placa apresentado


na Tabela 5.1, sendo ilustrado pela Figura 5.6 que mostra o canto (b).

q f = h x D (TP T )
W
P
e
(TW TP )
q f = h y A (TP T )
qw = k w y A
xw

(TS TP )
qs = k s x D S
ys

Fig. 5.6: Balano de energia no canto (b).


Tabela 5.1. Equaes para os cantos.
Canto (a) Canto (b)
A p TP = As TS + Ae TE + B A p TP = As TS + AwTW + B

k k
As = xC As = xD
Cp y s Cp y s

k k
Ae = yA Aw = yA
Cp x e Cp x w

h h h h
A p = As + Ae + x C + y A S P x C y A A p = As + Aw + x D + y A S P x D y A
Cp Cp Cp Cp

h h h h
B = S C x C y A + x C T + y A T B = S C x D y A + x D T + y A T
Cp Cp Cp Cp

Canto (c) Canto (d)


A p TP = An TN + Ae TE + B A p TP = An T N + Aw TW + B
k k
An = xC An = xD
Cp y n Cp y n
k k
Ae = yB Aw = yB
Cp x e Cp x w
h h h h
A p = An + Ae + x C + y B S P x C y B A p = An + Aw + x D + y B S P x D y B
Cp Cp Cp Cp
h h h h
B = S C x C y B + x C T + y B T B = S C x D y B + x D T + y B T
Cp Cp Cp Cp
60 Mtodos de aproximao das equaes para o contorno

O balano de energia aplicado a cada uma das superfcies laterais resulta nas
equaes discretas mostradas na Tabela 5.2.

Tabela 5.2. Equaes para as laterais.

Superfcie A Superfcie B
A p TP = As TS + Ae TE + AwTW + B A p TP = An TN + Ae TE + AwTW + B

k k
As = x An = x
Cp y s Cp y n

k k
Ae = yA Ae = yB
Cp x e Cp x e

k k
Aw = yA Aw = yB
Cp x w Cp x w

h h
A p = As + Ae + Aw + x S P x y A A p = An + Ae + Aw + x S P x y B
Cp Cp
h h
B = S C x y A + x T B = S C x y B + x T
Cp Cp

Superfcie C Superfcie D
A p TP = An T N + As TS + Ae TE + B A p TP = An T N + As TS + AwTW + B
k k
An = xC An = xD
Cp y n Cp y n
k k
As = xC As = xD
Cp y s Cp y s
k k
Ae = y Aw = y
Cp x e Cp x w
h h
A p = An + As + Ae + y S P x C y A p = An + As + Aw + y S P x D y
Cp Cp
h h
B = S C x C y + y T B = S C x D y + y T
Cp Cp

As simulaes foram feitas considerando uma malha cartesiana ortogonal


igualmente espaada, conforme ilustrada na Figura 5.5. A gerao de calor
Mtodos de aproximao das equaes para o contorno 61

uniformemente distribuda e no depende da temperatura. Consequentemente


s& / Cp = S C = constante ( S P = 0 ). As propriedades do material so apresentados na
Tabela 5.3.

Tabela 5.3: Parmetros de simulao.


Descrio Smbolo Valor
Calor especfico Cp 452 J/kg/K
Condutividade trmica k 48 J/mK
Coeficiente de troca h 150 W/m2K
Temperatura ambiente T 30 C
Gerao de calor s& 500 kW/m3

A Figura 5.7 apresenta a distribuio de temperatura na placa plana para uma


malha cartesiana 5 x 5. Verifica-se que a distribuio de temperaturas simtrica, com a
temperatura mxima localizada no centro.

Fig. 5.7: Distribuio de temperatura para uma malha 5 x 5.


62 Mtodos de aproximao das equaes para o contorno

O aumento do nmero de pontos causa um aumento na preciso dos resultados. A


Figura 5.8 apresenta a soluo do mesmo problema para uma malha 21 x 21.

Fig. 5.8: Distribuio de temperatura para uma malha 21 x 21.

O efeito do aumento da discretizao ilustrado pela Figura 5.9, que mostra o


valor da temperatura mdia em funo do nmero de volumes. Os dados da Figura 5.9
so apresentados na Tabela 5.4.

1300
Temperatura mdia [K]

1175

1050

925

800
1 10 100 1000 10000
Nmero de volumes

Fig. 5.9: Efeito do aumento do nmero de volumes.


Mtodos de aproximao das equaes para o contorno 63

Tabela 5.4: Parmetros de simulao.


Nmero de
Temperatura mdia [K]
Volumes
1 863.33
16 1227.46
81 1261.54
196 1266.64
361 1268.30
576 1269.03
841 1269.42
1156 1269.65
1521 1269.80
1936 1269.90
2401 1269.97
64 Mtodos de aproximao das equaes para o contorno
Captulo 6

Mtodos de Soluo do
Sistema de Equaes
Conforme discutido no Captulo 3, a soluo de um problema formulado
utilizando o mtodo de Volumes Finitos requer a resoluo de um sistema de equaes
lineares do tipo

[A] { } = {B} (3.26)

onde [ A] representa a matriz de coeficientes, {B} o termo fonte e { } as variveis a


serem determinadas.

H basicamente duas estratgias de soluo deste problema: o mtodo direto e os


mtodos iterativos. O mtodo direto requer a inverso da matriz completa, [ A] , sendo,
portanto ineficiente na maioria das vezes. A seguir so discutidos alguns dos mtodos
de soluo iterativos mais comuns.
66 Mtodo de soluo do sistema de equaes

6.1 Mtodo de Jacobi

Neste mtodo, a varivel P calculada tomando-se como base os valores de


E , W .... da iterao anterior. Assim,

Pk +1 =
1
Ap
(
An Nk + As Sk + AwWk + Ae Ek + A f Fk + Ab Bk + B k )
(6.1)
=
1
Ap
( A nb k
NB +B k
)

onde k indica a iterao .

Incio

Arbitrar distribuio
inicial da varivel

Loop iterativo

Loop sobre os volumes

Calcular novo valor da


varivel Pk +1

Calcular erro P relativo


interao anterior

Se
No convergiram Sim
todos os Fim
pontos

Fig. 6.1: Mtodo de Jacobi.


Mtodo de soluo do sistema de equaes 67

O mtodo de convergncia lenta e requer grande dominncia diagonal. Por outro


lado, o mtodo pode ser facilmente implementado e permite processamento paralelo. A
Figura 6.1 apresenta o fluxograma deste mtodo.

6.2 Mtodo de Gauss-Seidel

Este mtodo semelhante ao anterior, no entanto os valores j calculados da


iterao k+1 so usadas para o clculo da nova Pk +1 . Tomando como exemplo a

seqncia de clculo ilustrada na Figura 6.2, os valores S , W e B j so conhecidos

da iterao anterior, assim, o novo Pk +1 calculado por

Pk +1 =
1
Ap
(
An Nk + As Sk +1 + AwWk +1 + Ae Ek + A f Fk + Ab Bk +1 + B k ) (6.2)

Caminho de soluo em z

Caminho de soluo nas colunas

N
W E
P
S

Caminho de soluo nas linhas

J calculadas
Fig. 6.2: Mtodo de Gauss-Seidel.

O mtodo de Gauss-Seidel robusto quando a diagonal dominante, ou seja, o


critrio de Scarborough satisfeito

1 para todas.as.equaes
Anb =
(6.3)
Ap < 1 para.pelo.menos.uma.equao

68 Mtodo de soluo do sistema de equaes

6.3 Mtodo linha-por-linha - TDMA

O mtodo linha-por-linha (ou coluna-por-coluna) utiliza o algoritmo TDMA (Tri


Digonal Matrix Algorithm ou algoritmo de Thomas) para a soluo direta de um
problema unidimensional em uma linha (ou coluna) conforme ilustrado na Figura 6.3.

1 2 m-1 m m+1 N

Fig. 6.3: Mtodo TDMA.

A partir da equao geral,

A p P = An N + As S + Ae E + AwW + B , (6.4)

a seguinte equao proposta

Am m + Bm m +1 + C m m 1 = Dm (6.5)

com
C1 = 0 (uma vez que m1 no existe) (6.6)

B N = 0 (uma vez que m +1 no existe) (6.7)

Procura-se determinar uma equao recursiva do tipo

m = Pm m+1 + Qm (6.8)

que, conhecendo-se Pm , Qm e m+1 , determina-se recursivamente, a partir do ponto N,

os valores de N 1 , N 2 ,..., 1 .
Mtodo de soluo do sistema de equaes 69

Para tanto, a equao (6.8) re-escrita para o ponto m-1

m1 = Pm1m + Qm1 (6.9)

que, substituindo na equao inicial (6.5),

Am m + Bm m+1 + Cm ( Pm1 m + Qm 1 ) = Dm (6.10)

e resolvendo para m , tem-se

( Am + Cm Pm1 ) m = Dm Bm m+1 Cm Qm1 (6.11)

Bm D C m Qm1
m = m+1 + m (6.12)
( Am + C m Pm 1 ) Am + C m Pm1

Pm Qm

que, comparado com a equao inicial (6.8) m = Pm m+1 + Qm obtm-se as seguintes


equaes de recorrncia:

Bm Dm C m Qm 1
Pm = e Qm = (6.13)
( Am + C m Pm1 ) Am + C m Pm 1

No caso do volume "1" (m = 1), viu-se anteriormente pela equao (6.6) que
C1 = 0 , o que faz com que as equaes (6.13) sejam reduzidas a

B1 D1
P1 = e Q1 = (6.14)
A1 A1

Com ( P1 , Q1 ) , os valores de ( P2 , Q2 ) , ( P3 , Q3 ) ,..., ( PN , Q N ) so determinados

pelas equaes de recorrncia (6.13) para Pm e Qm fazendo m = 2, 3, ...N.


70 Mtodo de soluo do sistema de equaes

Alm disso, no caso do volume "N" (m = N), o termo N +1 no existe, exigindo

que B N = 0 , conforme equao (6.7), e PN = 0 , segundo a equao (6.13). Deste modo,


0

N = PN N + Q N = Q N (6.15)

Os passos de soluo so mostrados no Quadro 6.1

Quadro 6.1: Passos de soluo do mtodo TDMA.

B1 D1
(1) Calcular P1 e Q1 por P1 = e Q1 =
A1 A1

Bm D C m Qm 1
(2) Usando as equaes recursivas Pm = e Qm = m
( Am + C m Pm1 ) Am + C m Pm 1

determinar os outros valores de ( P2 , Q2 ), ( P3 , Q3 ), L , ( PN , Q N )

(3) Fazer N =Q N

(4) Usando a equao m = Pm m+1 + Qm calcular os outros valores de comeando

por N 1 at 1

6.4 Mtodo das sobre-relaxaes sucessivas - S.O.R.

O mtodo das sobre-relaxaes sucessivas, S.O.R, foi concebido para acelerar


convergncia do processo iterativo atravs do clculo de Pk +1 atravs de uma mdia

ponderada entre Pk e o valor de Pk +1 calculado pelo mtodo de Gauss-Seidel ou TDMA,

pk +1 = w pk +1 G S + (1 w) pK (6.16)
Mtodo de soluo do sistema de equaes 71

onde pk +1 G S o valor calculado pelo mtodo de Gauss-Siedel

Pk o valor calculado na iterao anterior


"w" o coeficiente de relaxao

Em geral, o parmetro de sobre-relaxao assume valores entre 1,3 < w < 1,7
dependendo do tamanho da malha. Se w < 1,0 tem-se a chamada sub-relaxao, usada
para diminuir o avano do processo de soluo para evitar uma possvel divergncia em
problemas no-lineares.

6.5 Aspectos de convergncia

A convergncia do mtodo iterativo pode ser verificada de diversas formas, entre as


quais o clculo do erro local e do erro global,

Local pk +1 = pk +1 pk Se pk +1 > pmx Repetir iterao


(6.17)

k +1
( pk ) Se
k +1
> mx
k +1 2
Global = p Repetir iterao
volumes

ou do clculo da norma do resduo,

R
k +1
= (B + k +1
nb Anb NB
k +1
A p Pk +1 )
2
(6.18)
volumes

O erro global e o resduo avaliam globalmente a convergncia do problema, no


se importando com problemas de convergncia localizada. A avaliao de convergncia
baseada no resduo tem se mostrado mais confivel, principalmente em problemas no-
lineares onde a convergncia lenta.
72 Mtodo de soluo do sistema de equaes

6.6 Exemplos de comparao entre os mtodos

6.6.1 Conduo de calor em uma placa plana

Este exemplo visa ilustrar os mtodos de soluo iterativos atravs da anlise do


problema de conduo de calor em uma placa plana em regime permanente com
gerao interna e temperatura prescrita na fronteira. O programa fonte relativo a este
exemplo apresentado no Apndice A.

A equao diferencial de governo deste problema

k T k T s&
+ + =0 (6.19)
x Cp x y Cp y Cp

sendo que a gerao de calor no interior da placa (termo fonte) mxima no centro da
placa e nula em sua fronteira, obedecendo a seguinte equao

x x y
2 2
s& y
ST = = S 0 . (6.20)
L
Cp Lx L x L y y

As propriedades do material so apresentadas na Tabela 6.1, enquanto que a


malha utilizada mostradas na Figura 6.4.

Tabela 6.1: Dados dos materiais e outros parmetros de simulao .

Parmetro Smbolo Valor


Condutividade trmica k 48 W / m.K
Termo fonte S0 100 (W/m3)/(J/kg/K)

Tolerncia de soluo P 0.01 K


Temperatura arbitrada inicial Ti 50 K

Nmero mximo de iteraes NITmax 1000


Mtodo de soluo do sistema de equaes 73

T = 400 K

T = 300 K T = 300 K
L y = 20 mm

T = 300 K
L x = 20 mm
Fig. 6.4: Placa plana bidimensional.

A Figura 6.5 ilustra a distribuio de temperaturas no interior da placa plana para


uma malha 10 x 10. Nota-se que a gerao de calor causa um grande aumento de
temperatura no centro da placa.

Fig. 6.5: Distribuio de temperaturas em K.

A Tabela 6.2 apresenta o nmero de iteraes para cada caso estudado, sendo que
os mtodos associados ao S.O.R. apresentam o menor nmero de iteraes, ou seja, a
taxa de convergncia da soluo maior. Alm disso, quanto maior o nmero de
74 Mtodo de soluo do sistema de equaes

volumes, maior a reduo proporcionada pelo S.O.R.. evidente pela Tabela 6.2 que o
mtodo S.O.R.-TDMA aquele que apresenta a melhor taxa de convergncia,
diminuindo o nmero de em at 94 % em relao ao mtodo de Jacobi e 89 % em
relao ao mtodo de Gauss-Seidel para uma malha 20 x 20.

Tabela 6.2: Nmero de iteraes.

5x5 10 x 10 20 x 20
Jacobi 28 130 476
Gauss-Seidel 16 72 265
TDMA 11 40 146
S.O .R. Gauss-Seidel 9 (w = 1,23) 20 (w = 1,50) 42 (w = 1,72)
S .O .R. TDMA 6 (w = 1,10) 15 (w = 1, 38) 30 (w = 1,64)

O efeito do valor do parmetro de relaxao, w, no nmero de iteraes


mostrado nas Tabelas 6.3 e 6.4 para os mtodos S.O.R.-Gauss-Seidel e S.O.R.-TDMA.

Tabela 6.3: Nmero de iteraes para o mtodo S.O.R.- Gauss-Seidel.

w 5x5 10 x 10 20 x 20
1,0 16 72 265
1,1 13 60 222
1,2 10 49 186
1,3 11 40 154
1,4 15 31 125
1,5 18 20 99
1,6 24 24 74
1,7 32 37 49
1,8 52 55 53
1,9 107 103 115
1.99 1072 1065 1052
Mtodo de soluo do sistema de equaes 75

Tabela 6.4: Nmero de iteraes para o mtodo S.O.R.- TDMA.

w 5x5 10 x 10 20 x 20
1,0 11 40 146
1,1 6 33 122
1,2 9 27 102
1,3 10 21 84
1,4 14 16 67
1,5 17 19 52
1,6 23 23 36
1,7 33 32 39
1,8 51 50 54
1,9 107 107 101
1.99 1089 1044 1047

300
S.O.R. - Gauss-Seidel
250

200
Iteraes

150 5x5
10 x 10
100 20 x 20

50

0
1 1,1 1,2 1,3 1,4 1,5 1,6 1,7 1,8 1,9 2
Parmetro de sobre-relaxao "w"

Fig. 6.6: Convergncia do mtodo S.O.R. - Gauss-Seidel.


76 Mtodo de soluo do sistema de equaes

150
S.O.R. - TDMA

120

90
Iteraes

60

5x5
30
10 x 10
20 x 20
0
1 1,2 1,4 1,6 1,8 2
Parmetro de sobre-relaxao "w"

Fig. 6.7: Convergncia do mtodo S.O.R. - TDMA.

As Figuras 6.6 e 6.7 ilustram o comportamento dos casos apresentados nas


Tabelas 6.3 e 6.4. Nota-se que quando w = 1 os resultados so iguais queles obtidos
sem sobre-relaxao. medida que w aumenta, o nmero de iteraes decresce at um
valor mnimo, para em seguida crescer rapidamente, de modo que quando w 2 o
nmero de iteraes requerido para convergncia tende para infinito. Os valores de w
correspondente melhor taxa de convergncia so apontados na Tabela 6.2.

6.6.2 Escoamento de fluido no newtoniano entre placas planas

O objetivo deste exemplo ilustrar a soluo de um problema no-linear


utilizando o mtodo de Volumes Finitos. O problema consiste no escoamento de um
polmero (fluido no newtoniano) em um canal de injeo, aproximado por duas placas
planas paralelas infinitas, conforme ilustrado pela Figura 6.8.
Mtodo de soluo do sistema de equaes 77

2 a = 4 mm

L = 300 mm

Fig. 6.8: Escoamento entre placas planas paralelas infinitas.

O escoamento considerado em regime permanente, laminar e plenamente


desenvolvido. A viscosidade aparente, , dada pela lei potencial,

n 1
du
= k & n 1 = k (6.21)
dy

onde k e n so parmetros da viscosidade e & a taxa de deformao, definida em


termos do gradiente de velocidade. A Tabela 6.5 apresenta os parmetros do problema.

Tabela 6.5: Dados dos materiais e outros parmetros de simulao .

Parmetro Smbolo Valor


Comprimento da placa L 300 mm
Queda de presso p 40 MPa
Distncia entre placas 2a 4 mm
Tolerncia de soluo P 1.0E-14 m/s

Nmero mximo de iteraes NITmax 100000

w (Gauss-Seidel) 1.7
Sobrerelaxao
w (TDMA) 1.9
Parmetro da viscosidade k 18332,63
Parmetro da viscosidade n 0,36043

O problema unidimensional e a equao diferencial de governo


78 Mtodo de soluo do sistema de equaes

u p
= (6.22)
y y z

cujas condies de contorno so velocidades prescritas sobre as placas u ( y = 0) = 0 e

u ( y = 2a ) = 0 . A equao discretizada obtida pela integrao da equao diferencial


em um volume de controle unidimensional, conforme ilustrado na Figura 6.9.

n
yn

y P
s
ys

S
Fig. 6.9: Volume de integrao unidimensional.

Assim, a discretizao da equao diferencial para o domnio

A pU P = AnU N + AsU S + B (6.23)

onde
A p = An + As ,


An = (6.24)
y n


As =
y s

B = (p L ) y

Nota-se que a viscosidade aparente deve ser calculada nas fronteiras "n" e "s" em
funo das velocidades U P , U N e U S ,
Mtodo de soluo do sistema de equaes 79

1 n 1 n
U UP
n = (k& )
1 n du
= k = k N (6.25)
y n
n
dy n
1 n 1 n
U US
s = (k& )
1 n du
= k = k P , (6.26)
y s
s
dy s

caracterizando a no linearidade do problema. Ou seja, a determinao da viscosidade


aparente requer o conhecimento do campo de velocidades e vice-versa.

A soluo analtica para este problema usando a viscosidade baseada na lei


potencial
n +1
1
a p n n y n
u ( y) = a 1 , (6.27)
k L n +1 a

cuja comparao com a soluo numrica apresentada pela Tabela 6.6.

Tabela 6.6: Comparao entre as solues numrica e analtica para 21 pontos.

y [mm] Velocidade [m/s] Erro [%]


Numrica Analtica
.0 .000000000 .000000000 .000000000
.2 .291887843 .292551270 .226772965
.4 .506273843 .507545938 .250636450
.6 .657763525 .659588051 .276616122
.8 .759612328 .761931327 .304357998
1.0 .823684100 .826437554 .333171464
1.2 .860401483 .863526844 .361929859
1.4 .878684772 .882116242 .389004311
1.6 .885873092 .889540409 .412270999
1.8 .887615364 .891441369 .429193119
2.0 .887698037 .891591235 .436657304
2.2 .887615364 .891441369 .429193119
2.4 .885873092 .889540409 .412270999
2.6 .878684772 .882116242 .389004311
2.8 .860401483 .863526844 .361929859
3.0 .823684100 .826437554 .333171464
3.2 .759612328 .761931327 .304357998
3.4 .657763525 .659588051 .276616122
3.6 .506273843 .507545938 .250636450
3.8 .291887843 .292551270 .226772965
4.0 .000000000 .000000000 .000000000
80 Mtodo de soluo do sistema de equaes

y [mm] 4

3.5

2.5

1.5

0.5

0
0 0.2 0.4 0.6 0.8 1

Velocidade [m/s]

Fig. 6.10: Distribuio de velocidade no canal.

Verifica-se que os maiores erros acontecem prximo do centro da placa onde a


taxa de deformao zero, u y = 0 (ver Figura 6.10 e Tabela 6.6). Este
comportamento faz com que a viscosidade aparente tenda ao infinito no centro do canal,
afetando sobremaneira a taxa de convergncia do mtodo de Gauss-Seidel, conforme
ilustrado pela Tabela 6.7. Por outro lado, o nmero de pontos no afeta a taxa de
convergncia do mtodo TDMA, uma vez que o mesmo baseado em uma soluo
fechada unidimensional. O processo iterativo do mtodo TDMA no presente caso se
deve apenas no linearidade material e no ao processo de soluo do sistema de
equaes. A Figura 6.11 mostra a taxa de convergncia do ponto no centro do canal.

1.00

0.90 u(y=a) = 0.8916 m/s


Velocidade [m/s]

0.80

0.70

0.60 Gauss-Seidel
TDMA
0.50
1 10 100 1000 10000 100000
Iteraes

Fig.6.11: Taxa de convergncia dos mtodos Gauss-Seidel e TDMA


para a velocidade no centro do canal.
Mtodo de soluo do sistema de equaes 81

Tabela 6.7: Nmero total de iteraes e erro mximo (centro do canal).

Iteraes
Nmero de pontos Erro mximo [%]
TDMA Gauss-Seidel
3 30 25 44.84
5 35 420 11.01
7 35 1432 4.87
9 34 3326 2.74
11 34 6423 1.75
13 43 11017 1.21
15 55 16902 0.89
17 35 24419 0.68
19 37 33744 0.54
21 35 44969 0.44
23 36 58311 0.36
25 36 73775 0.30

Como se esperava, o aumento do nmero de pontos causa uma diminuio


progressiva do erro da soluo numrica, ilustrado atravs do erro mximo (centro do
canal) mostrado na Tabela 6.7. importante lembrar que a tolerncia especificada para
as simulaes apresentadas foi 10-14 , ou seja, U k +1 U k 10 14 m/s.
82 Mtodo de soluo do sistema de equaes
Captulo 7

Bibliografia

PATANKAR, S.V.: Numerical Hear Transfer and Fluid Flow. McGraw-Hill,


1980.

FERZIGER, J.H. e PERIC, M.: Computational Methods for Fluid Dynamics, 2a


Edio, Springer, Berlin, 1999.

MALISKA, C.R.: Transferncia de Calor e Mecnica dos Fluidos Computacional.


2a Edio. Livros Tcnicos e Cientficos Editora S.A., Rio de Janeiro,
2004.

ADAMS, J.A. e ROGERS, D.F.: Computer-Aided Heat Transfer Analysis.


McGraw-Hill, New York, 1973.

INCROPERA, F.P. e De VITT, D.P.: Fundamentos de Transferncia de Calor e


de Massa. Livros Tcnicos e Cientficos Editora S.A., 1992.
84 Bibliografia
Apndice A

Exemplo de Programao

Este apndice apresenta o programa fonte em FORTRAN relativo ao exemplo mostrado


na seo 6.6. O problema consiste na conduo de calor em uma placa plana em regime
permanente com gerao interna e temperatura prescrita na fronteira, conforme ilustrado
pela Figura A.1.

A equao diferencial de governo deste problema

k T k T s&
+ + =0 (6.19)
x Cp x y Cp y Cp

sendo que a gerao de calor no interior da placa (termo fonte) mxima no centro da
placa e nula em sua fronteira, obedecendo a seguinte equao:

x x y y
2 2
s&
ST = = S 0 . (6.20)
L
Cp Lx L x L y y
86 Apndice A

T = 400 K Face norte

i =1 i =2 i =3 ... i =N

j =M

:
:
T = 300 K :
Face oeste T = 300 K
j =3 Face leste
L y = 20 mm

j =2

j =1

T = 300 K Face sul


L x = 20 mm
Fig. A.1: Placa plana bidimensional.

Os dados da simulao so apresentados na Tabela 6.1, reproduzida a seguir.

Tabela 6.1: Dados dos materiais e outros parmetros de simulao .

Parmetro Smbolo Valor


Condutividade trmica k 48 W / m.K
Termo fonte S0 100 (W/m3)/(J/kg/K)

Tolerncia de soluo P 0.00001 K


Temperatura arbitrada inicial Ti 50 K

Nmero mximo de iteraes NITmax 10000


Apndice A 87

A.1 Programa principal

Ao executar o programa, o usurio dever escolher o mtodo de soluo e o parmetro


de sobre-relaxao, caso necessrio. Os dados do problema so definidos no corpo do
programa principal que invoca a subrotina correspondente ao mtodo de soluo
escolhido.

PROGRAM Volumes
IMPLICIT DOUBLE PRECISION(A-H,O-Z)
PARAMETER
1( Nmax=101 ,Mmax=101 )
LOGICAL
1 Conv
DIMENSION
1 Ap(Nmax,Mmax) ,An(Nmax,Mmax) ,
2 As(Nmax,Mmax) ,Aw(Nmax,Mmax) ,
3 Ae(Nmax,Mmax) ,B(Nmax,Mmax) ,
4 T(Nmax,Mmax) ,X(Nmax,Mmax) ,
5 Y(Nmax,Mmax)
C*********************************************************************
C Programa para o clculo da temperatura em uma placa plana
C*ACRONIM
C metodo_dos_VOLUMES_finitos
C*HISTRIA
C Nome Data Comentrio
C M.Vaz Jr. Abril 1999 Implementao inicial
C M.Vaz Jr. Julho 2006 Reformulao da estrutura
C*INTERNAL
C vetores
C Variables
C (c) Copyright 2006, Miguel Vaz Jr., Joinville-SC
C*********************************************************************
C
C Abrir arquivo de resultados
C ---------------------------
is = 16
OPEN(UNIT=is,FILE='Volumes.res',STATUS='UNKNOWN')
C
C Inicializar variveis
C ---------------------
CALL DADOS
1( N ,M ,XL ,YL ,Ti ,
3 Tn ,Ts ,Te ,Tw ,Ck ,
4 Cp ,Bo ,Wsobre ,Nitmax ,Tol ,
5 NALGO )
C
C Clculo dos coeficientes e inicializa temperatura
C -------------------------------------------------
CALL COFTMP
1( T ,Ap ,An ,Aw ,As ,
2 Ae ,B ,X ,Y ,N ,
3 Nmax ,M ,Mmax ,XL ,YL ,
4 Tn ,Ts ,Te ,Tw ,Ti ,
5 Ck ,Cp ,Bo )
C
C Clculo da distribuio de temperatura
C --------------------------------------
IF(NALGO.EQ.1)THEN
C Mtodo de Jacobi
CALL JACOB
1( T ,Ap ,An ,Aw ,As ,
2 Ae ,B ,Conv ,iter ,Nitmax ,
3 N ,Nmax ,M ,Mmax ,Tol )
ELSEIF(NALGO.EQ.2.OR.NALGO.EQ.3)THEN
C Mtodo de Gauss-Seidel
CALL SORGSD
1( T ,Ap ,An ,Aw ,As ,
2 Ae ,B ,Conv ,iter ,Nitmax ,
88 Apndice A

3 N ,Nmax ,M ,Mmax ,Tol ,


4 Wsobre )
ELSEIF(NALGO.EQ.4.OR.NALGO.EQ.5)THEN
C Mtodo TDMA
CALL TDMGSD
1( T ,Ap ,An ,Aw ,As ,
2 Ae ,B ,Conv ,iter ,Nitmax ,
3 N ,Nmax ,M ,Mmax ,Tol ,
4 Wsobre )
ENDIF
C
C Impresso dos resultados
C ------------------------
CALL RESULT
1( T ,X ,Y ,N ,Conv ,
3 Nmax ,M ,Mmax ,NALGO ,Wsobre ,
4 iter ,is )
C
C Gera arquivos para o Hyview
C ---------------------------
CALL HYVIEW
1( T ,X ,Y ,N ,
2 M ,Nmax ,Mmax )
WRITE( *,*)
WRITE(is,*)
STOP 'O programa terminou com sucesso'
END

A.2 Subrotina para a entrada de dados

C @(#) Module:<dados.f> Version:1.0 Date:7/11/06


SUBROUTINE DADOS
1( N ,M ,XL ,YL ,Ti ,
3 Tn ,Ts ,Te ,Tw ,Ck ,
4 Cp ,Bo ,Wsobre ,Nitmax ,Tol ,
5 NALGO )
IMPLICIT DOUBLE PRECISION(A-H,O-Z)
DATA
1 R1 /
2 1.0D0 /
C*********************************************************************
C Dados do problema
C*ACRONIM
C DADOS_do_problema
C*HISTRIA
C Nome Data Comentrio
C M.Vaz Jr. Julho 2006 Implementao inicial
C*EXTERNAL
C vetores
C Variables
C=N - Nmero de pontos da coluna i
C=M - Nmero de pontos da linha j
C=Te - Temperatura da fronteira E
C=Tw - Temperatura da fronteira W
C=Ts - Temperatura da fronteira S
C=Tn - Temperatura da fronteira N
C=Ti - Temperatura arbitrada inicial
C=Bo - Termo fonte
C=Cp - Calor especfico
C=Ck - Condutividade trmica
C=Nitmax - Nmero mximo de iteraes
C=Tol - Tolerncia mxima de convergncia
C=Wsobre - Parmetro de sobre/sub-relaxao
C=XL - Comprimento da placa em X
C=YL - Comprimento da placa em Y
C=NALGO - Algortimo de soluo
C 1 - Jacobi
C 2 - Gauss-Seidel
C 3 - Gauss-Seidel com sobre-relaxao
C 4 - TDMA
C 5 - TDMA com sobre-relaxao
C*INTERNAL
C Variveis
C (c) Copyright 2006, Miguel Vaz Jr., Joinville-SC
Apndice A 89

C*********************************************************************
C
C Inicializar variveis
C ---------------------
C Dados do material
Ti = 50.0D0 ! [K] - Temperatura inicial arbitrada
Tn = 400.0D0 ! [K] - Temperatura da face norte
Ts = 300.0D0 ! [K] - Temperatura da face sul
Tw = 300.0D0 ! [K] - Temperatura da face oeste
Te = 300.0D0 ! [K] - Temperatura da face leste
Cp = 452.0D0 ! [W/kg k] - Calor especfico
Ck = 48.0D0 ! [W/mk] - Condutividade termica
s = 0.0D9 ! [W/m3] - Gerao de calor
Bo = s/Cp ! - Termo fonte
C Dados geomtricos da placa plana
XL = 20.0D-3 ! [m] - Comprimento da placa em X
YL = 20.0D-3 ! [m] - Comprimento da placa em Y
C Parametros do processo iterativo
Nitmax = 10000 ! Nmero mximo de iteracoes
Tol = 1.0D-05 ! [K] - Erro mximo
C Dados da malha cartesiana
N = 15 ! - Nmero de colunas
M = 15 ! - Nmero de linhas
C Escolha do algorithmo
C ---------------------
WRITE(*,*)
WRITE(*,*)' ---------------------------------------'
WRITE(*,*)' Programa ilustrativo de Volumes Finitos'
WRITE(*,*)' ---------------------------------------'
WRITE(*,*)
WRITE(*,*)' Escolha o algoritimo de solucao: '
WRITE(*,*)' 1 - Jacobi'
WRITE(*,*)' 2 - Gauss-Seidel'
WRITE(*,*)' 3 - Gauss-Seidel com sobre-relaxacao'
WRITE(*,*)' 4 - Gauss-Seidel TDMA'
WRITE(*,*)' 5 - Gauss-Seidel TDMA com sobre-relaxacao'
READ(*,*)NALGO
C L coeficiente de sobrerelaxao
IF( NALGO.EQ.1.OR.NALGO.EQ.2.OR.NALGO.EQ.4)THEN
Wsobre=R1
ELSEIF(NALGO.EQ.3.OR.NALGO.EQ.5)THEN
WRITE(*,*)
WRITE(*,*)' Entre com o coeficiente de sobre-relaxacao: '
WRITE(*,*)' Wsobre = 1 --> Metodo original'
WRITE(*,*)' Wsobre < 1 --> Sub-relaxacao - retarda convergencia'
WRITE(*,*)' 1.0 < Wsobre < 2.0 --> Sobre-relaxacao - avanca ',
1 'convergencia'
READ(*,*)Wsobre
ENDIF
RETURN
END

A.3 Subrotina para o clculo dos coeficientes


C @(#) Module:<coftmp.f> Version:1.0 Date:7/11/06
SUBROUTINE COFTMP
1( T ,Ap ,An ,Aw ,As ,
2 Ae ,B ,X ,Y ,N ,
3 Nmax ,M ,Mmax ,XL ,YL ,
4 Tn ,Ts ,Te ,Tw ,Ti ,
5 Ck ,Cp ,Bo )
IMPLICIT DOUBLE PRECISION(A-H,O-Z)
DIMENSION
1 Ap(Nmax,Mmax) ,An(Nmax,Mmax) ,
2 As(Nmax,Mmax) ,Aw(Nmax,Mmax) ,
3 Ae(Nmax,Mmax) ,B(Nmax,Mmax) ,
4 T(Nmax,Mmax) ,X(Nmax,Mmax) ,
5 Y(Nmax,Mmax)
DATA
1 R0 ,R1 /
2 0.0D0 ,1.0D0 /
C*********************************************************************
C Calcula os coeficientes Ap, Ae, ... para a soluo da conduo
C de calor em regime permanente
90 Apndice A

C*ACRONIM
C COeFicientes_da_TeMPeratura
C*HISTRIA
C Nome Data Comentrio
C M.Vaz Jr. Julho 2006 Implementao inicial
C*EXTERNAL
C vetores
C=T - Temperatura nodal
C=Ap - Coeficiente Ap
C=An - Coeficiente An
C=As - Coeficiente As
C=Ae - Coeficiente Ae
C=Aw - Coeficiente Aw
C=B - Termo fonte
C=X - Coordenada X da malha
C=Y - Coordenada Y da malha
C Variables
C N - Nmero de pontos da coluna i
C M - Nmero de pontos da linha j
C Nmax - Nmero mximo de colunas
C Mmax - Nmero mximo de linhas
C Te - Temperatura da fronteira E
C Tw - Temperatura da fronteira W
C Ts - Temperatura da fronteira S
C Tn - Temperatura da fronteira N
C Ti - Temperatura arbitrada inicial
C Bo - Termo fonte
C Cp - Calor especfico
C Ck - Condutividade trmica
C*INTERNAL
C Variveis
C i - Coluna
C j - Linha
C (c) Copyright 2006, Miguel Vaz Jr., Joinville-SC
C*********************************************************************
C
C Calcular os coeficientes e inicializar temperatura
C --------------------------------------------------
DeltaX = XL/(N-1)
DeltaY = YL/(M-1)
DO 20 i=1,N
DO 10 j=1,M
C Inicializar coeficientes
An(i,j) = R0
As(i,j) = R0
Ae(i,j) = R0
Aw(i,j) = R0
Ap(i,j) = R1
B(i,j) = Ti
C Clculo das coordenadas da malha
Xx = DeltaX * (i-1)
Yy = DeltaY * (j-1)
X(i,j) = Xx
Y(i,j) = Yy
IF(j.EQ.1)THEN
C Face sul: temperatura igual a Ts
B(i,j)=Ts
T(i,j)=Ts
ELSEIF(j.EQ.M)THEN
C Face norte: temperatura igual a Tn
T(i,j)=Tn
B(i,j)=Tn
ELSEIF(i.EQ.1)THEN
C Face leste: temperatura igual a Te
T(i,j)=Te
B(i,j)=Te
ELSEIF(i.EQ.N)THEN
C Face oeste: temperatura igual a Tw
T(i,j)=Tw
B(i,j)=Tw
ELSE
C Interior da placa
T(i,j)=Ti
An(i,j) = Ck/Cp * DeltaX/DeltaY
As(i,j) = Ck/Cp * DeltaX/DeltaY
Ae(i,j) = Ck/Cp * DeltaY/DeltaX
Aw(i,j) = Ck/Cp * DeltaY/DeltaX
Apndice A 91

Ap(i,j) = An(i,j) + As(i,j) + Ae(i,j) + Aw(i,j)


B(i,j)=Bo * ((X(i,j)/XL)**2-(X(i,j)/XL)) *
1 ((Y(i,j)/YL)**2-(Y(i,j)/YL)) * DeltaX * DeltaY
ENDIF
10 CONTINUE
20 CONTINUE
RETURN
END

A.4 Subrotina para o mtodo de Jacobi

C @(#) Module:<jacobi.f> Version:1.0 Date:4/26/99


SUBROUTINE JACOB
1( T ,Ap ,An ,Aw ,As ,
2 Ae ,B ,Conv ,iter ,Nitmax ,
3 N ,Nmax ,M ,Mmax ,Tol )
IMPLICIT DOUBLE PRECISION(A-H,O-Z)
LOGICAL
1 Conv
DIMENSION
1 Ap(Nmax,Mmax) ,An(Nmax,Mmax) ,
2 As(Nmax,Mmax) ,Aw(Nmax,Mmax) ,
3 Ae(Nmax,Mmax) ,B(Nmax,Mmax) ,
4 T(Nmax,Mmax)
DIMENSION
1 Ta(Nmax,Mmax)
C*********************************************************************
C Soluo da equao caracterstica de Volumes Finitos pelo mtodo de
C Jacobi. Restries: Temperatura prescrita e pontos sobre a fronteira.
C*ACRONIM
C metodo_de_soluo_de_JACOBI
C*HISTRIA
C Nome Data Comentrio
C M.Vaz Jr. Abril 1999 Implementao inicial
C M.Vaz Jr. Julho 2006 Inclui todos os coeficientes e j=1 1a linha
C*EXTERNAL
C vetores
C=T - Temperatura nodal
C Ap - Coeficiente Ap
C An - Coeficiente An
C As - Coeficiente As
C Ae - Coeficiente Ae
C Aw - Coeficiente Aw
C B - Termo fonte
C Variables
C=Conv - Indicador de convergncia
C .TRUE. - Problema convergiu
C .FALSE. - Problema divergiu
C=iter - Nmero de iteraes
C Nitmax - Nmero mximo de iteraes
C n - Nmero de pontos da coluna i
C m - Nmero de pontos da linha j
C Nmax - Nmero mximo de colunas
C Mmax - Nmero mximo de linhas
C Tol - Erro nodal mximo
C*INTERNAL
C Vetores
C Ta - Temperatura da iterao anterior
C Variveis
C erro - Erro nodal = |T-Ta|
C Ncom - Nmero de pontos que no convergiram na iterao k+1
C i - Coluna
C j - Linha
C (c) Copyright 2006, Miguel Vaz Jr., Joinville-SC
C*********************************************************************
C
C Inicializar variveis
C ---------------------
C Inicializar indicador de convergncia
Conv = .FALSE.
C Inicializar temperatura da iterao k=0
DO 20 i=1,N
DO 10 j=1,M
92 Apndice A

Ta(i,j)=T(i,j)
10 CONTINUE
20 CONTINUE
C -----------------
C Loop iterativo
C -----------------
DO 70 iter=1,Nitmax
C Fazer loop somente sobre o domnio
DO 40 i=2,N-1
DO 30 j=2,M-1
If((i.eq.1).and.(j.eq.1))Then
C Canto inferior esquerdo
T(i,j)=(An(i,j)*Ta(i,j+1) +
1 Ae(i,j)*Ta(i+1,j) + B(i,j)) /
2 Ap(i,j)
ElseIf((i.eq.1).and.(j.eq.M))Then
C Canto superior esquerdo
T(i,j)=(As(i,j)*Ta(i,j-1) +
1 Ae(i,j)*Ta(i+1,j) + B(i,j)) /
2 Ap(i,j)
ElseIf((i.eq.N).and.(j.eq.1))Then
C Canto inferior direito
T(i,j)=(An(i,j)*Ta(i,j+1) +
1 Aw(i,j)*Ta(i-1,j) + B(i,j)) /
2 Ap(i,j)
ElseIf((i.eq.N).and.(j.eq.M))Then
C Canto superior direito
T(i,j)=(As(i,j)*Ta(i,j-1) +
1 Aw(i,j)*Ta(i-1,j) + B(i,j)) /
2 Ap(i,j)
ElseIf(i.eq.1)Then
C Coluna esquerda
T(i,j)=(An(i,j)*Ta(i,j+1) + As(i,j)*Ta(i,j-1) +
1 Ae(i,j)*Ta(i+1,j) + B(i,j)) /
2 Ap(i,j)
ElseIf(i.eq.N)Then
C Coluna direita
T(i,j)=(An(i,j)*Ta(i,j+1) + As(i,j)*Ta(i,j-1) +
1 Aw(i,j)*Ta(i-1,j) + B(i,j)) /
2 Ap(i,j)
ElseIf(j.eq.1)Then
C Linha inferior
T(i,j)=(An(i,j)*Ta(i,j+1) +
1 Ae(i,j)*Ta(i+1,j) + Aw(i,j)*Ta(i-1,j) + B(i,j)) /
2 Ap(i,j)
ElseIf(j.eq.M)Then
C Linha superior
T(i,j)=(As(i,j)*Ta(i,j-1) +
1 Ae(i,j)*Ta(i+1,j) + Aw(i,j)*Ta(i-1,j) + B(i,j)) /
2 Ap(i,j)
Else
C Interior
T(i,j)=(An(i,j)*Ta(i,j+1) + As(i,j)*Ta(i,j-1) +
1 Ae(i,j)*Ta(i+1,j) + Aw(i,j)*Ta(i-1,j) + B(i,j)) /
2 Ap(i,j)
EndIf
30 CONTINUE
40 CONTINUE
C
C Calcular erro da iterao k+1 e atualizar Ta
C --------------------------------------------
C Inicializar contador de pontos nao convergidos
Ncom = 0
C Fazer loop sobre toda a malha
DO 60 i=1,N
DO 50 j=1,M
C Computar erro nodal
Erro = ABS(T(i,j)-Ta(i,j))
C Atualizar temperatura da iterao anterior Ta
Ta(i,j)=T(i,j)
IF(Erro.GT.Tol)THEN
C Incrementar contador de pontos nao convergidos
Ncom=Ncom+1
ENDIF
50 CONTINUE
60 CONTINUE
C
Apndice A 93

C Verificar se todos os pontos convergiram


C ----------------------------------------
IF(Ncom.EQ.0)THEN
Conv = .TRUE.
C Sai do loop iterativo se todos os pontos convergiram (Ncom=0)
GOTO 999
ENDIF
70 CONTINUE
999 CONTINUE
RETURN
END

A.5 Subrotina para o mtodo de Gauss-Seidel

C @(#) Module:<sorgsd.f> Version:1.0 Date:4/26/99


SUBROUTINE SORGSD
1( T ,Ap ,An ,Aw ,As ,
2 Ae ,B ,Conv ,iter ,Nitmax ,
3 N ,Nmax ,M ,Mmax ,Tol ,
4 Wsobre )
IMPLICIT DOUBLE PRECISION(A-H,O-Z)
LOGICAL
1 Conv
DIMENSION
1 Ap(Nmax,Mmax) ,An(Nmax,Mmax) ,
2 As(Nmax,Mmax) ,Aw(Nmax,Mmax) ,
3 Ae(Nmax,Mmax) ,B(Nmax,Mmax) ,
4 T(Nmax,Mmax)
DIMENSION
1 Ta(Nmax,Mmax)
DATA
1 R1 /
2 1.0D0 /
C*********************************************************************
C Soluo da equao caracterstica de Volumes Finitos pelo mtodo de
C Gauss-Seidel em comjunto com sobrerelaxao. Restries: Temperatura
C prescrita e pontos sobre a fronteira.
C*ACRONIM
C metodo_de_soluo_de_GAUSS_seidel
C*HISTRIA
C Nome Data Comentrio
C M.Vaz Jr. Abril 1999 Implementao inicial
C M.Vaz Jr. Julho 2006 Inclui todos os coeficientes e j=1 1a linha
C*EXTERNAL
C vetores
C=T - Temperatura nodal
C Ap - Coeficiente Ap
C An - Coeficiente An
C As - Coeficiente As
C Ae - Coeficiente Ae
C Aw - Coeficiente Aw
C B - Termo fonte
C Variables
C=Conv - Indicador de convergncia
C .TRUE. - Problema convergiu
C .FALSE. - Problema divergiu
C=iter - Nmero de iteraes
C Nitmax - Nmero mximo de iteraes
C n - Nmero de pontos da coluna i
C m - Nmero de pontos da linha j
C Nmax - Nmero mximo de colunas
C Mmax - Nmero mximo de linhas
C Tol - Erro nodal mximo
C Wsobre - Parmetro de sobre-relaxao
C*INTERNAL
C Vetores
C Ta - Temperatura da iterao anterior
C Variveis
C erro - Erro nodal = |T-Ta|
C Ncom - Nmero de pontos que no convergiram na iterao k+1
C i - Coluna
C j - Linha
94 Apndice A

C (c) Copyright 2006, Miguel Vaz Jr., Joinville-SC


C*********************************************************************
C
C Inicializar variveis
C ---------------------
C Inicializar indicador de convergncia
Conv = .FALSE.
C Inicializar temperatura da iterao k=0
DO 20 i=1,N
DO 10 j=1,M
Ta(i,j)=T(i,j)
10 CONTINUE
20 CONTINUE
C -----------------
C Loop iterativo
C -----------------
DO 70 iter=1,Nitmax
C Inicializar contador de pontos nao convergidos
Ncom = 0
C Fazer loop somente sobre o domnio
DO 40 i=1,N
DO 30 j=1,M
C Calcular novas temperaturas no domnio
If((i.eq.1).and.(j.eq.1))Then
C Canto inferior esquerdo
T(i,j)=(An(i,j)*T(i,j+1) +
1 Ae(i,j)*T(i+1,j) + B(i,j)) /
2 Ap(i,j)
ElseIf((i.eq.1).and.(j.eq.M))Then
C Canto superior esquerdo
T(i,j)=(As(i,j)*T(i,j-1) +
1 Ae(i,j)*T(i+1,j) + B(i,j)) /
2 Ap(i,j)
ElseIf((i.eq.N).and.(j.eq.1))Then
C Canto inferior direito
T(i,j)=(An(i,j)*T(i,j+1) +
1 Aw(i,j)*T(i-1,j) + B(i,j)) /
2 Ap(i,j)
ElseIf((i.eq.N).and.(j.eq.M))Then
C Canto superior direito
T(i,j)=(As(i,j)*T(i,j-1) +
1 Aw(i,j)*T(i-1,j) + B(i,j)) /
2 Ap(i,j)
ElseIf(i.eq.1)Then
C Coluna esquerda
T(i,j)=(An(i,j)*T(i,j+1) + As(i,j)*T(i,j-1) +
1 Ae(i,j)*T(i+1,j) + B(i,j)) /
2 Ap(i,j)
ElseIf(i.eq.N)Then
C Coluna direita
T(i,j)=(An(i,j)*T(i,j+1) + As(i,j)*T(i,j-1) +
1 Aw(i,j)*T(i-1,j) + B(i,j)) /
2 Ap(i,j)
ElseIf(j.eq.1)Then
C Linha inferior
T(i,j)=(An(i,j)*T(i,j+1) +
1 Ae(i,j)*T(i+1,j) + Aw(i,j)*T(i-1,j) + B(i,j)) /
2 Ap(i,j)
ElseIf(j.eq.M)Then
C Linha superior
T(i,j)=(As(i,j)*T(i,j-1) +
1 Ae(i,j)*T(i+1,j) + Aw(i,j)*T(i-1,j) + B(i,j)) /
2 Ap(i,j)
Else
C Interior
T(i,j)=(An(i,j)*T(i,j+1) + As(i,j)*T(i,j-1) +
1 Ae(i,j)*T(i+1,j) + Aw(i,j)*T(i-1,j) + B(i,j)) /
2 Ap(i,j)
EndIf
C Calcular temperatura
T(i,j)=Wsobre*T(i,j)+(R1-Wsobre)*Ta(i,j)
C Computar erro nodal
Erro = ABS(T(i,j)-Ta(i,j))
C Atualizar temperatura da iterao anterior Ta
Ta(i,j)=T(i,j)
IF(Erro.GT.Tol)THEN
C Incrementar contador de pontos nao convergidos
Apndice A 95

Ncom=Ncom+1
ENDIF
30 CONTINUE
40 CONTINUE
C
C Verificar se todos os pontos convergiram
C ----------------------------------------
IF(Ncom.EQ.0)THEN
Conv = .TRUE.
C Sai do loop iterativo se todos os pontos convergiram (Ncom=0)
GOTO 999
ENDIF
70 CONTINUE
999 CONTINUE
RETURN
END

A.6 Subrotina para o mtodo TDMA


C @(#) Module:<tdmdsd.f> Version:1.0 Date:11/30/88
SUBROUTINE TDMGSD
1( T ,Ap ,An ,Aw ,As ,
2 Ae ,B ,Conv ,iter ,Nitmax ,
3 N ,Nmax ,M ,Mmax ,Tol ,
4 Wsobre )
IMPLICIT DOUBLE PRECISION(A-H,O-Z)
LOGICAL
1 Conv
PARAMETER
1( Imax=50 )
DIMENSION
1 Ap(Nmax,Mmax) ,An(Nmax,Mmax) ,
2 As(Nmax,Mmax) ,Aw(Nmax,Mmax) ,
3 Ae(Nmax,Mmax) ,B(Nmax,Mmax) ,
4 T(Nmax,Mmax)
DIMENSION
1 A1(Imax) ,B1(Imax) ,
2 C1(Imax) ,D1(Imax) ,
3 T1(Imax) ,Ta(Nmax,Mmax)
DATA
1 R1 /
2 1.0D0 /
C*********************************************************************
C Calculo de uma linha usando o mtodo TDMA associado ao procedimento
C de soluo de Gauss-Seidel
C*ACRONYM
C mtodo_de_GauSs_linha_por_linha_pelo_mtodo_TDMA
C*HISTORY
C Name Date Comment
C M.Vaz Jr. Aug87 Initial coding
C M.Vaz Jr. Julho 2006 Inclui todos os coeficientes e j=1 1a linha
C*EXTERNAL
C Arrays
C*EXTERNAL
C vetores
C=T - Temperatura nodal
C Ap - Coeficiente Ap
C An - Coeficiente An
C As - Coeficiente As
C Ae - Coeficiente Ae
C Aw - Coeficiente Aw
C B - Termo fonte
C Variables
C=Conv - Indicador de convergncia
C .TRUE. - Problema convergiu
C .FALSE. - Problema divergiu
C=iter - Nmero de iteraes
C Nitmax - Nmero mximo de iteraes
C n - Nmero de pontos da coluna i
C m - Nmero de pontos da linha j
C Nmax - Nmero mximo de colunas
C Mmax - Nmero mximo de linhas
C Tol - Erro nodal mximo
C Wsobre - Parmetro de sobre-relaxao
C*INTERNAL
96 Apndice A

C Vetores
C Ta - Temperatura da iterao anterior
C T1 - Temperatura da linha calculada pela rotina TDMA
C A1 - Vetor de trabalho da rotina TDMA
C B1 - Vetor de trabalho da rotina TDMA
C C1 - Vetor de trabalho da rotina TDMA
C D1 - Vetor de trabalho da rotina TDMA
C Variveis
C erro - Erro nodal = |T-Ta|
C Ncom - Nmero de pontos que no convergiram na iterao k+1
C i - Coluna
C j - Linha
C ic - ndice do vetor de entrada da rotina TDMA
C (c) Copyright 2006, Miguel Vaz Jr., Joinville-SC
C*********************************************************************
C
C Inicializar variveis
C ---------------------
C Inicializar indicador de convergncia
Conv = .FALSE.
C Inicializar temperatura da iterao k=0
DO 20 i=1,N
DO 10 j=1,M
Ta(i,j)=T(i,j)
10 CONTINUE
20 CONTINUE
C -----------------
C Loop iterativo
C -----------------
DO 70 iter=1,Nitmax
C Inicializar contador de pontos nao convergidos
Ncom = 0
C Fazer loop sobre as linhas
DO 60 j=1,M
ic=0
C Transferir os coeficientes para os vetores TDMA
DO 30 i=1,N
ic=ic+1
A1(ic)=Ap(i,j)
B1(ic)=Ae(i,j)
C1(ic)=Aw(i,j)
IF(j.EQ.1)THEN
C Fronteira sul
D1(ic)=B(i,j) + An(i,j)*T(i,j+1)
ELSEIF(j.EQ.M)THEN
C Fronteira norte
D1(ic)=B(i,j) + As(i,j)*T(i,j-1)
ELSE
C Dominio
D1(ic)=B(i,j) + As(i,j)*T(i,j-1) + An(i,j)*T(i,j+1)
ENDIF
30 CONTINUE
C Calcular a temperatura da linha pelo mtodo TDMA
CALL TDMA
1( A1 ,B1 ,C1 ,D1 ,T1 ,
2 ic ,Imax )
C Atualizar temperatura da linha e verificar erro
ic = 0
DO 50 i=1,N
C Transferir temperatura da rotina TDMA para o vetor global
ic=ic + 1
C Calcular temperatura
T(i,j)=Wsobre*T1(ic)+(R1-Wsobre)*Ta(i,j)
C Computar erro nodal
Erro = ABS(T(i,j)-Ta(i,j))
C Atualizar temperatura da iterao anterior Ta
Ta(i,j)=T(i,j)
IF(Erro.GT.Tol)THEN
C Incrementar contador de pontos nao convergidos
Ncom=Ncom+1
ENDIF
50 CONTINUE
60 CONTINUE
C
C Verificar se todos os pontos convergiram
C ----------------------------------------
IF(Ncom.EQ.0)THEN
Apndice A 97

Conv = .TRUE.
C Sai do loop iterativo se todos os pontos convergiram (Ncom=0)
GOTO 999
ENDIF
70 CONTINUE
999 CONTINUE
RETURN
END
c
c
c****
c
c
C @(#) Module:<tdma.f> Version:1.0 Date:11/30/88
SUBROUTINE TDMA
1( a ,b ,c ,d ,T ,
2 n ,Imax )
IMPLICIT DOUBLE PRECISION(A-H,O-Z)
DIMENSION
1 a(Imax) ,b(Imax) ,
2 c(Imax) ,d(Imax) ,
3 T(Imax)
DIMENSION
1 p(Imax) ,q(Imax)
C*********************************************************************
c TriDiagonal Matrix Algorithm - TDMA
C*REFERENCES
C Patankar, S.V., Numerical Heat Transfer and Fluid Flow, Hemisphere
C Publishing Co., pp. 197, New York, 1980. (ver pagina 52)
C Maliska, C.R., Transferencia de Calor e Macanica dos Fluidos
C Computacional, Livros Tecnicos e Cientificos, pp.424,
C Rio de Janeiro, 1995. (ver pagina 59)
C*ACRONYM
C algortimo_TDMA
C*HISTRIA
C Name Date Comment
C M.Vaz Jr. Aug87 Initial coding
C M.Vaz Jr. April99 Change local array dimensions
C*EXTERNAL
C Vetores
C=T - Temperatura atual
C a - Coeficiente do mtodo TDMA
C b - Coeficiente do mtodo TDMA
C c - Coeficiente do mtodo TDMA
C d - Coeficiente do mtodo TDMA
C Variveis
C Imax - Dimenso mxima dos vetores
C n - Nmero mximo de pontos
C (c) Copyright 1988, Miguel Vaz Jr., Joinville-SC
C*********************************************************************
C Inicializao
p(1)=b(1)/a(1)
q(1)=d(1)/a(1)
C Loop sobre a linha/coluna para calcular "p" e "q"
DO 10 i=2,n
p(i)=b(i)/(a(i)-c(i)*p(i-1))
q(i)=(d(i)+c(i)*q(i-1))/(a(i)-c(i)*p(i-1))
10 CONTINUE
C Clculo da temperatura
T(n)=q(n)
n1=n-1
DO 20 i=1,n1
T(n-i)=p(n-i)*T(n-i+1)+q(n-i)
20 CONTINUE
RETURN
END

A.7 Subrotina para a sada de resultados

C @(#) Module:<result.f> Version:1.0 Date:7/11/06


SUBROUTINE RESULT
1( T ,X ,Y ,N ,Conv ,
3 Nmax ,M ,Mmax ,NALGO ,Wsobre ,
98 Apndice A

4 iter ,is )
IMPLICIT DOUBLE PRECISION(A-H,O-Z)
LOGICAL
1 Conv
DIMENSION
1 T(Nmax,Mmax) ,X(Nmax,Mmax) ,
2 Y(Nmax,Mmax)
C*********************************************************************
C Imprime os resultados
C*ACRONIM
C imprime_os_RESULTados
C*HISTRIA
C Nome Data Comentrio
C M.Vaz Jr. Julho 2006 Implementao inicial
C*EXTERNAL
C vetores
C T - Temperatura nodal
C X - Coordenada X da malha
C Y - Coordenada Y da malha
C Variables
C N - Nmero de pontos da coluna i
C M - Nmero de pontos da linha j
C Nmax - Nmero mximo de colunas
C Mmax - Nmero mximo de linhas
C NALGO - Nmero do algoritmo
C iter - Nmero de iteraes
C Wsobre - Parmetro de sobrerelaxao
C is - Nmero do arquivo de resultados
C*INTERNAL
C Variveis
C i - Coluna
C j - Linha
C (c) Copyright 2006, Miguel Vaz Jr., Joinville-SC
C*********************************************************************
1000 FORMAT(9X,'y \ x',2X,' | ',101F16.9)
1100 FORMAT(F16.9,' | ',101F16.9)
C
C Impresso dos resultados
C ------------------------
WRITE( *,*)
WRITE( is,*)
IF(NALGO.EQ.1)THEN
WRITE( *,*)'***Metodo de Jacobi ***'
WRITE(is,*)'***Metodo de Jacobi ***'
ELSEIF(NALGO.EQ.2)THEN
WRITE( *,*)'***Metodo de Gauss-Seidel ***'
WRITE(is,*)'***Metodo de Gauss-Seidel ***'
ELSEIF(NALGO.EQ.3)THEN
WRITE( *,*)'***Metodo de Gauss-Seidel com relaxacao ***'
WRITE( *,*)'Parametro: ',Wsobre
WRITE(is,*)'***Metodo de Gauss-Seidel com relaxacao ***'
WRITE(is,*)'Parametro: ',Wsobre
ELSEIF(NALGO.EQ.4)THEN
WRITE( *,*)'*** Metodo de Gauss-Seidel/TDMA ***'
WRITE(is,*)'*** Metodo de Gauss-Seidel/TDMA ***'
ELSEIF(NALGO.EQ.5)THEN
WRITE( *,*)'**Metodo de Gauss-Seidel/TDMA com relaxacao **'
WRITE( *,*)'Parametro: ',Wsobre
WRITE(is,*)'**Metodo de Gauss-Seidel/TDMA com relaxacao **'
WRITE(is,*)'Parametro: ',Wsobre
ENDIF
IF(Conv)THEN
C O problema convergiu
WRITE( *,*)
WRITE( *,*)'Problema convergiu em ',Iter,' iteracoes.'
WRITE(is,*)'Problema convergiu em ',Iter,' iteraes.'
WRITE(is,*)
WRITE(is,*)'Distribuicao de temperatura final'
WRITE(is,*)
WRITE(is,1000)(X(i,1),i=1,N)
DO 10 j=M,1,-1
WRITE(is,1100)Y(1,j),(T(i,j),i=1,N)
10 CONTINUE
ELSE
C O problema no convergiu
WRITE( *,*)
WRITE(is,*)
Apndice A 99

WRITE( *,*)'Problema nao convergiu em ',iter,' iteracoes'


WRITE(is,*)'Problema no convergiu em ',iter,' iteraes'
WRITE(is,*)
WRITE(is,*)'Distribuio de temperatura no convergida'
WRITE(is,*)
WRITE(is,1000)(X(i,1),i=1,N)
DO 20 j=M,1,-1
WRITE(is,1100)Y(1,j),(T(i,j),i=1,N)
20 CONTINUE
ENDIF
RETURN
END

A.8 Arquivo de resultados

A seguir apresentado o arquivo de resultados correspondendo as dados apresentados


na Tabela 6.1 para uma malha 5 x 5.

**Metodo de Gauss-Seidel/TDMA com relaxacao **


Parametro: 1.800000000000000
Problema convergiu em 83 iteraes.

Distribuicao de temperatura final

y \ x | .000000000 .005000000 .010000000 .015000000 .020000000


.020000000 | 600.000000000 600.000000000 600.000000000 600.000000000 600.000000000
.015000000 | 300.000000000 428.571429840 458.035714843 428.571429840 300.000000000
.010000000 | 300.000000000 356.249997636 374.999995747 356.249997636 300.000000000
.005000000 | 300.000000000 321.428572123 329.464285886 321.428572123 300.000000000
.000000000 | 300.000000000 300.000000000 300.000000000 300.000000000 300.000000000

You might also like