Você está na página 1de 13

UNIVERSIDADE FEDERAL DE SANTA CATARINA

DEPARTAMENTO DE ENGENHARIA MECNICA


EMC 5412 TRANSFERNCIA DE CALOR E MECNICA DOS FLUIDOS COMPUTACIONAL
RELATRIO IX
CILINDRO GIRANTE
GUSTAVO TRENTINI HAMESTER
11200808
FLORIANPOLIS
Junho de 2013
1 Introduo
Este relatrio sobre conduo e adveco bidimensional em um cilindro. O trabalho
tem como objetivo comparar os resultados dos esquemas de interpolao da temperatura
nas faces com a soluo analtica do problema e analisar a possvel difuso numrica
presente. O problema possui soluo analtica em coordenadas cilndricas e simtrico
em relao ao eixo do cilindro, entretanto quando alterado para coordenadas cartesianas
ele se torna bidimensional. Os esquemas de interpolao testados foram: UDS (Upwind
Differencing Scheme), CDS (Central Differencing Scheme) e Power-Law Scheme.
Figura 1: Cilindro Girante
2 Discusso
A equao diferencial governante no fenmeno de conduo e adveco em regime
permanente :

x
( u T) +

y
( v T) =

x
_

T
x
_
+

y
_

T
y
_
+ S (1)
Onde =
k
/c
P
. Os termos do lado direito so os difusivos e os do lado esquerdo os
advectivos.
1
2.1 Integrao e Discretizao dos Volumes de Controle
Figura 2: Volume de Controle
Ento, integrando a equao 1 sobre o volume de controle:
_
y
n
y
s
_
x
e
x
w
_

x
( u T) +

y
( v T)
_
l dx dy =
_
y
n
y
s
_
x
e
x
w
_

x
_

T
x
_
+

y
_

T
y
__
l dx dy
(2)
O termo l o comprimento do cilindro.
_
y
n
y
s
[( u T)
e
( u T)
w
] l dy +
_
x
e
x
w
[( v T)
n
( v T)
s
] l dx =
_
x
e
x
w
__

T
y
_
n

T
y
_
s
_
l dx +
_
y
n
y
s
__

T
x
_
e

T
x
_
w
_
l dy (3)
Variao em y de y
s
at y
n
y. Variao em x de x
w
at x
e
x. A partir disso, vm:
[( u T)
e
( u T)
w
] l y + [( v T)
n
( v T)
s
] l x =
__

T
y
_
n

T
y
_
s
_
l x +
__

T
x
_
e

T
x
_
w
_
l y (4)
Adotando a notao M
i
= ( u A)
i
e aproximando as derivadas de primeira ordem:
M
e
T
e
M
w
T
w
+ M
n
T
n
M
s
T
s
=
_
(T
N
T
P
)
_

y
_
n
(T
P
T
S
)
_

y
_
s
_
l x
+
_
(T
E
T
P
)
_

x
_
e
(T
P
T
W
)
_

x
_
w
_
l y (5)
2
Aps este passo as discretizaes para os diferentes esquemas seguem caminhos distintos.
Rearranjando os termos e adotando D
i
=
_
A

_
i
:
(D
n
+D
s
+D
e
+D
w
)T
P
= D
n
T
N
+D
s
T
S
+D
e
T
E
+D
w
T
W
+ M
e
T
e
M
w
T
w
+ M
n
T
n
M
s
T
s
(6)
2.1.1 Central Differencing Scheme
O CDS avalia a temperatura nas faces dos volumes de controle como um interpolao
linear entre a temperatura do volume frente e a temperatura do volume atrs. Quando
a face est localizada exatamente no meio entre os volumes de controle a interpolao
torna-se a mdia aritmtica.
T
e
=
T
P
+ T
E
2
(7a)
T
w
=
T
W
+ T
P
2
(7b)
T
n
=
T
P
+ T
N
2
(7c)
T
s
=
T
S
+ T
P
2
(7d)
_
D
n
+ D
s
+ D
e
+ D
w
+
M
e
2

M
w
2
+
M
n
2

M
s
2
_
T
P
=
_
D
n

M
n
2
_
T
N
+
_
D
s
+
M
s
2
_
T
S
+
_
D
e

M
e
2
_
T
E
+
_
D
w
+
M
w
2
_
T
W
(8)
Olhando atentamente, percebe-se que a
P
= |a
nb
|. Porm, sabe-se que M
e
= M
w
e
M
n
= M
s
, a partir disso conclu-se que a equao respeita a lei que arma que o a
P
igual
ao somatrio dos a
nb
.
2.1.2 Upwind Differencing Scheme
O UDS determina que as temperaturas nas faces recebem o valor da temperatura do
volume de controle a montante.
T
e
=
_
T
P
se u
e
> 0
T
E
se u
e
< 0
(9a)
T
w
=
_
T
W
se u
w
> 0
T
P
se u
w
< 0
(9b)
T
n
=
_
T
P
se v
n
> 0
T
N
se v
n
< 0
(9c)
T
s
=
_
T
S
se v
s
> 0
T
P
se v
s
< 0
(9d)
3
Substituindo na equao 6, sabendo que a velocidade u < 0 e v > 0 em todos os volumes
de controle, vm:
(D
n
+ D
s
+ D
e
+ D
w
M
w
+ M
n
)T
P
= D
n
T
N
+ (D
s
M
s
)T
S
+ (D
e
M
e
)T
E
+ D
w
T
W
(10)
Novamente percebe-se que a
P
= |a
nb
|. Sabendo que M
e
= M
w
e M
n
= M
s
, a equao
respeita a lei dos somatrio dos vizinhos.
2.1.3 Power-Law Scheme
Esse esquema busca aproximar o comportamento da soluo exata, a qual exponen-
cial. Porm, a soluo exata para um escoamente unidimensional, ento esse esquema
tambm dever apresentar difuso numrica quando aplicado a um escoamente bidimen-
sional. O objetivo de aproximar o comportamento exponencial provm, principalmente,
de dois fatos: para altos valores de Pclet a funo exponencial pode facilmente estourar o
maior nmero que pode ser computado e a prpria funo exige muito tempo de compu-
tao. Sabedo que Pclet P =
M
/D, as expresses para os coecientes que acompanham
as temperaturas so:
a
i
=
_

_
P
i
D
i
se P
i
< 10
((1 +0.1P
i
)
5
P
i
)D
i
se 10 P
i
< 0
(1 +0.1P
i
)
5
D
i
se 0 P
i
10
0 se P
i
> 10
(11)
2.2 Volumes de Controle
Os volumes caram divididos em dois tipos: internos e de fronteira. Enquanto que nos
volumes internos realizava-se todo o equacionamento da difuso e da adveco, nos volu-
mes de fronteira a temperatura era prescrita segundo a soluo exata dada pela equao
12.
T(r) = T
externa
+ (T
interna
T
externa
)
_
_
_
_
log
_
r
r
externo
_
log
_
r
interno
r
externo
_
_
_
_
_
(12)
2.3 Velocidade nas Faces
Analisando as equaes 8, 10 e 11 percebe-se que as velocidades devem ser avaliadas
nas faces dos volumes de controle. A direo da velocidade na face perpendicular
reta que liga o centro da face ao centro do cilindro, de fato a velocidade linear de uma
partcula que est realizando um movimento circular uniforme tem direo tangencial
circunferncia. A velocidade encontrada em cada face possui componentes u e v, entre-
tanto a frao de massa que ultrapassa a face somente a que acompanha a componente
perpendicular face que est sendo avaliada.
4
(a) Velocidade u (b) Velocidade v
Para encontrar o ngulo que a velocidade tem com a face foi utilizado o produto escalar
entre a distncia do centro do cilindro at a face, r, e o vetor unitrio na direo x, i.
r i = cos ri cos =
(x
r
, y
r
) (1, 0)
(x
r
, y
r
)(1, 0)
=
x
r
_
x
2
r
+ y
2
r
=
x
r
r
(13)
Pela identidade fundamental da trigonometria: sin =
_
1 (cos )
2
. Ento, a partir da
gura abaixo, deduz-se que nas faces norte e sul, v = r cos , e nas faces leste e oeste,
u = r sin .
2.4 Escolha dos Dados de Entrada
Novamente os dados de entrada caram a critrio de cada um. O material utilizado
foi o mesmo do laminador, o ao. Os valores dados as suas propriedades foram: c
P
=
500
J
/Kg
o
C, k = 52.9
W
/m
o
C, = 7860
Kg
/m
3
. A temperatura externa era de 20
o
C e a interna
era de 80
o
C. O raio interno tinha 0.5m e o externo 1.0m.
3 Resultados
3.0.1 Mtodo Numrico
O mtodo utilizado para resolver o sistema linear foi o de Gauss-Seidel. J como
critrio de convergncia era analisada a maior diferena entre as temperatura da iterao
atual com a anterior, e o sistema convergia quando essa diferena fosse menor ou igual a
1E 13.
max (|T T
o
|) (14)
3.0.2 Condio de Garantia de Convergncia para CDS
Como discutido no trabalho anterior, a regra de positividade dos coecientes no res-
tringe a convergncia de um problema. Os termos que podem se tornar negativos no CDS
5
so a
w
e a
n
. Quando esses termos respeitarem a condio (Pclet 2), o sistema linear
certamente ir convergir utilizando um solver ponto a ponto. A maior velocidade na face
oeste tambm a maior na face norte devido a simetria, alm disso a malha quadrada,
ento o maior |P
w
| tambm o maior P
n
.
P
w
=
(u x)
w

2
x
w
u
w
2, 7 10
5
Usando uma malha 200x200 e = 0.01 o P
w
no volume interno do canto esquerdo superior
-0,926. Alterando para = 0.1, P
w
= 9, 263. E quando a malha mais grosseira, por
exemplo 50x50 e = 0.01, P
w
= 3, 676
3.1 Comparao dos Mtodos - Malha 200x200
Os diferentes esquemas de avaliao de temperatura na face tiveram seus compor-
tamentos analisados para diferentes velocidades angulares. Os volumes de controle em
anlise so alguns dos localizados na diagonal da malha. Os devios citados nas tabelas
abaixo so em relao a soluo analtica no centro do volume de controle e a escala de
temperatura graus Celsius.
Tabela 1: = 0 [
rad
/s]
Raio [m] T
analtica
Desvio UDS Desvio CDS Desvio PLS
0,5 80,000 0 0 0
0,55025 71,710 -3,1694E-06 -3,1694E-06 -3,1694E-06
0,6005 64,145 -6,3866E-06 -6,3866E-06 -6,3866E-06
0,65075 57,189 -8,1888E-06 -8,1888E-06 -8,1888E-06
0,70101 50,750 -8,6260E-06 -8,6260E-06 -8,6260E-06
0,75126 44,757 -7,9558E-06 -7,9558E-06 -7,9558E-06
0,80151 39,153 -6,4794E-06 -6,4794E-06 -6,4794E-06
0,85176 33,889 -4,5283E-06 -4,5283E-06 -4,5283E-06
0,90201 28,927 -2,4769E-06 -2,4769E-06 -2,4769E-06
0,95226 24,234 -7,6508E-07 -7,6508E-07 -7,6508E-07
0,98995 20,874 -4,8665E-08 -4,8665E-08 -4,8665E-08
Quando = 0, as trs solues apresentaram o mesmo desvio. Isso era esperado,
pois os esquemas diferem no modo de avaliar as temperaturas nas faces, de fato nessa
condio de velocidade os termos de temperatura nas faces no inuenciam os resultados.
Percebe-se tambm que os desvios foram muito pequenos.
6
Tabela 2: = 0,01 [
rad
/s]
Raio [m] T
analtica
Desvio UDS Desvio CDS Desvio PLS
0,5 80,000 0 0 0
0,55025 71,710 -9,5916E-05 -4,5660E-06 1,2900E-03
0,6005 64,145 -4,4995E-04 -1,1671E-05 3,5800E-03
0,65075 57,188 -1,0000E-03 -1,7738E-05 5,7500E-03
0,70101 50,749 -1,6500E-03 -2,2041E-05 7,5000E-03
0,75126 44,755 -2,1900E-03 -2,4264E-05 8,5200E-03
0,80151 39,151 -1,8300E-03 -1,9939E-05 7,3200E-03
0,85176 33,888 -7,2436E-04 -9,5499E-06 4,0300E-03
0,90201 28,927 -1,5253E-04 -3,1329E-06 1,5000E-03
0,95226 24,234 -1,3791E-05 -5,7312E-07 3,0041E-04
0,98995 20,874 -2,0052E-07 -2,4010E-08 1,1867E-05
Na tabela 2, percebe-se que o CDS apresenta um desvio menor que o UDS e o PLS.
Embora o CDS parea melhor, ele muito sensvel as condies do problema, principal-
mente: renamento da malha e velocidade na face. A maior velocidade angular a qual foi
obtida uma soluo utilizando o CDS foi 0,0234
rad
/s. Provavelmente, se fosse utilizado
um mtodo diferente do Gauss-Seidel fosse possvel obter solues para velocidades um
pouco acima, desde que respeitadada a condio suciente j comentada na seo 3.0.2.
Tabela 3: = 100 [
rad
/s]
Raio [m] T
analtica
Desvio UDS Desvio PLS
0,5 80 0 0
0,55025 71,710 -9,3154E-05 1,2900E-03
0,6005 64,145 -4,5980E-04 3,3500E-03
0,65075 57,188 -1,0300E-03 5,1000E-03
0,70101 50,749 -1,7000E-03 6,3500E-03
0,75126 44,755 -2,3800E-03 7,1000E-03
0,80151 39,151 -2,1400E-03 6,3000E-03
0,85176 33,888 -6,5233E-04 3,5200E-03
0,90201 28,927 -1,3266E-04 1,3800E-03
0,95226 24,234 -1,1635E-05 2,8710E-04
0,98995 20,874 -1,1882E-07 1,1540E-05
Testandos o UDS e o PLS para = 100, o resultado foi que a ordem dos desvios
permanece igual ao da tabela 2 mesmo com velocidade angular 10000 vezes maior.
7
3.2 Comparao dos Mtodos - Malha 50x50
Para esse renamento de malha no foi possvel obter uma soluo utilizando o es-
quema CDS. Analisando a tabela 4, ca evidente que a ordem dos desvios depende muito
mais do renamento da malha do que da velocidade nas faces.
Tabela 4: = 100 [
rad
/s]
Raio [m] T
analtica
Desvio UDS Desvio PLS
0,5 80 0 0
0,55025 71,594 -4,5364E-04 4,7900E-03
0,60050 63,937 -2,0300E-03 1,2750E-02
0,65075 56,902 -4,4000E-03 1,9690E-02
0,70101 50,396 -7,1200E-03 2,4560E-02
0,75126 44,341 -9,1700E-03 2,5960E-02
0,80151 38,677 -7,2400E-03 2,1420E-02
0,85176 33,356 -2,7100E-03 1,2690E-02
0,90201 28,344 -5,4105E-04 5,0200E-03
0,95226 23,608 -4,1984E-05 8,9509E-04
Figura 3: Isotermas com UDS
4 Concluso
Os esquemas utilizados nesse trabalho so aproximaes para escoamentos unidimen-
sionais aplicados a um bidimensional, por isso h difuso numrica em todos os esque-
8
mas. Dentre os esquemas analisados, o CDS parecia gerar melhores resultados, porm ca
preso a condio de Peclet menor ou igual a 2. Apesar da poluio numrica gerada
pelos esquemas UDS e PLS, os resultados so relativamente prximos soluo analtica
e, dependendo da aplicao, podem ser considerados satisfatrios.
5 Bibliograa
PATANKAR, Suhas V. Numerical heat transfer and uid ow. New York: Mc Graw Hill,
1980. 197 p. (Series in computational methods in mechanics and thermal sciences )
MALISKA, Clovis Raimundo. Transferncia de calor e mecnica dos uidos computacional.
2. ed. rev. e ampl. Rio de Janeiro: LTC, 2010. xv, 453 p.
INCROPERA, Frank P.; BERGMAN, Theodore L.; DEWITT, David P. Fundamentos de trans-
ferncia de calor e de massa. 6. ed. Rio de Janeiro: LTC, c2008. XIX,643p.
6 Anexo
1 # i ncl ude <i ostream>
# i ncl ude <iomanip>
3 # i ncl ude <cmath>
# i ncl ude <fstream>
5 # i ncl ude <iomanip>
# i ncl ude <s t r i ng >
7 # i ncl ude <sstream>
usi ng namespace st d ;
9
s t a t i c const double pi = 3. 14159265359;
11
double max_T( double
*
T_old , double
*
T, i nt s i ze ) {
13 double max = 0 . 0 ;
f or ( i nt i = 0; i < s i ze ; i ++ ) {
15 i f ( f abs ( ( T_old [ i ]T[ i ] ) ) > max )
max = f abs ( ( T_old [ i ]T[ i ] ) ) ; }
17 ret urn max ; }
19 void GS_sparse ( double
*
a , double
*
b , double
*
c , double
*
d , double
*
e , double
*
f , double
*
T,
i nt si ze , i nt si ze_x ) {
i nt k = 0;
21 double erro = 1 . 0 ;
double st op = 1E13;
23 double
*
T_old ;
T_old = new double [ s i ze ] ;
25 do{
k++;
27 f or ( i nt i = 0 ; i < s i ze ; i ++ ) {
T_old [ i ] = T[ i ] ;
29 i f ( i < si ze_x )
T[ i ] = ( ( f [ i ] + b[ i ]
*
T[ i +1] + c [ i ]
*
T[ i 1] + d[ i ]
*
T[ i +si ze_x ] ) / a [ i ] ) ;
31 e l s e
T[ i ] = ( ( f [ i ] + b[ i ]
*
T[ i +1] + c [ i ]
*
T[ i 1] + d[ i ]
*
T[ i +si ze_x ] + e [ i ]
*
T[ i si ze_x ] ) / a [ i ] )
; }
33 erro = max_T( T_old , T, s i ze ) ;
9
i f ( k % 10 == 0 )
35 cout << erro << endl ;
} while ( erro > st op ) ; }
37
void rai os_p ( double
*
rp , double r i , double dx , i nt s i ze ) { //dx=dy
39 double x0 , y0 ;
i nt aux = 0;
41 x0 = y0 = s qr t ( r i
*
r i /2) ;
f or ( i nt j = 0; j < s i ze ; j ++ ) {
43 f or ( i nt i = 0 ; i < s i ze ; i ++ ) {
rp [ aux ] = s qr t ( ( x0+dx
*
i )
*
( x0+dx
*
i ) +( y0+dx
*
j )
*
( y0+dx
*
j ) ) ;
45 aux ++; } } } //di s t anc i a at e o cent r o
47 double raioVezesAngulo ( s t r i ng a , i nt l i ne , i nt i , double r i , double dx , i nt si ze , double f ace_x ,
double f ace_y ) { //dx=dy
double x0 , y0 , rai o , cosseno ;
49 x0 = y0 = s qr t ( r i
*
r i /2) ;
r ai o = s qr t ( ( x0+dx
*
( i l i ne
*
s i ze ) +f ace_x )
*
( x0+dx
*
( i l i ne
*
s i ze ) +f ace_x ) +( y0+dx
*
l i ne +f ace_y )
*
( y0+dx
*
l i ne +f ace_y ) ) ;
51 cosseno = ( x0+dx
*
( i l i ne
*
s i ze ) +f ace_x ) /r ai o ;
i f ( a == " cosseno " )
53 ret urn cosseno
*
r ai o ;
e l s e
55 ret urn s qr t ((1cosseno
*
cosseno ) )
*
r ai o ; }
57 double T_anal i t i c a ( double r , double re , double r i , double TI , double TE ) {
ret urn ( TE + ( ( TITE) /l og ( r i /re ) )
*
l og ( r/re ) ) ; }
59
double power_law_scheme ( double di f f , double flow ) {
61 double P = flow/di f f ;
i f ( P >= 0 ) {
63 i f ( P > 10 )
ret urn 0 ;
65 e l s e
ret urn (1 0. 1
*
P)
*
( 1 0. 1
*
P)
*
( 1 0. 1
*
P)
*
( 1 0. 1
*
P)
*
( 1 0. 1
*
P)
*
di f f ; }
67 e l s e {
i f ( P < 10 )
69 ret urn P
*
di f f ;
e l s e
71 ret urn ( ( 1 +0 . 1
*
P)
*
( 1+0. 1
*
P)
*
( 1+0. 1
*
P)
*
( 1+0. 1
*
P)
*
( 1+0. 1
*
P)P)
*
di f f ; } }
73 i nt main ( )
{
75 double L, w; i nt s i ze_x ; s t r i ng fi l ename , scheme ; st r i ngst r eam s ; const i nt W = 25;
s t r i ng f i l e 2 ; st r i ngst r eam s2 ; s t r i ng f i l e 3 ; st r i ngst r eam s3 ;
77 cout << " Ent er t he angul ar speed ( rad/s ) : " ;
ci n >> w;
79 cout << " Ent er t he scheme t o eval uat e t he temperature (UDS, CDS or POW) : " ;
ci n >> scheme ;
81 cout << " Ent er t he number of gri d poi nt s i n one di r e c t i on : " ;
ci n >> s i ze_x ;
83 s << si ze_x << " dx" << scheme << " _ " << w << " speed" <<" . dat " ;
s2 << " grad" << si ze_x << " dx" << " . dat " ;
85 s3 << " f l ux " << " _ " << si ze_x << " dx" << " . dat " ;
f i l ename = s . s t r ( ) ;
87 f i l e 2 = s2 . s t r ( ) ;
f i l e 3 = s3 . s t r ( ) ;
89
of st ream outData ( f i l ename . c _ s t r ( ) , i os : : out ) ;
91 outData << l e f t << setw(W) << "X"
<< l e f t << setw(W) << "Y"
93 << l e f t << setw(W) << "Temp" << endl ;
10
95 double dx , dy , flow_e , flow_w , flow_n , flow_s , De , Dw, Dn, Ds , ue , uw, vn , vs ;
double cp = 500 , rho = 7860 , k = 52. 9 , TI = 80 , TE = 20 , l = 1 , re = 1 , r i = 0 . 5 ;
97 i nt si ze_y = si ze_x , s i ze = si ze_x
*
si ze_y , l i ne = 0;
L = s qr t ( ( rer i )
*
( rer i ) /2) ;
99 dx = dy = L/( si ze_x 1) ;
101 double
*
a ,
*
b ,
*
c ,
*
d,
*
e ,
*
f ,
*
T,
*
T_old ,
*
rp ;
T = new double [ s i ze ] ; T_old = new double [ s i ze ] ;
103 a = new double [ s i ze ] ; b = new double [ s i ze ] ; //cent er ; eas t
c = new double [ s i ze ] ; d = new double [ s i ze ] ; //west , north
105 e = new double [ s i ze ] ; f = new double [ s i ze ] ; //south , b
rp = new double [ s i ze ] ;
107
rai os_p ( rp , r i , dx , s i ze_x ) ;
109
//mat ri x
111 f or ( i nt i = 0; i < s i ze ; i ++ ) {
i nt l i ne = i /si ze_x ;
113 i f ( ( i > ( l i ne
*
si ze_x ) ) && i < ( ( ( l i ne +1)
*
si ze_x ) 1) && l i ne ! = 0 && l i ne ! = ( si ze_y 1) ) {
T[ i ] = 50;
115 //volumes i nt er nos
ue = w
*
raioVezesAngulo ( " seno " , l i ne , i , r i , dx , si ze_x , ( +dx/2) , 0) ;
117 vs = w
*
raioVezesAngulo ( " cosseno " , l i ne , i , r i , dx , si ze_x , 0 , ( dy/2) ) ;
uw = w
*
raioVezesAngulo ( " seno " , l i ne , i , r i , dx , si ze_x , ( dx/2) , 0) ;
119 vn = w
*
raioVezesAngulo ( " cosseno " , l i ne , i , r i , dx , si ze_x , 0 , ( +dy/2) ) ;
fl ow_e = rho
*
ue
*
l
*
dy ;
121 fl ow_s = rho
*
vs
*
l
*
dx ;
flow_w = rho
*
uw
*
l
*
dy ;
123 flow_n = rho
*
vn
*
l
*
dx ;
De = Dw = ( ( k/cp )
*
l
*
dy) /dx ;
125 Dn = Ds = ( ( k/cp )
*
l
*
dx ) /dy ;
i f ( scheme == "CDS" ) {
127 b[ i ] = De fl ow_e /2;
c [ i ] = Dw + flow_w/2;
129 d[ i ] = Dn flow_n /2;
e [ i ] = Ds + fl ow_s /2; }
131 i f ( scheme == "UDS" ) {
b[ i ] = De fl ow_e ;
133 c [ i ] = Dw;
d[ i ] = Dn;
135 e [ i ] = Ds + fl ow_s ; }
i f ( scheme == "POW" ) {
137 b[ i ] = power_law_scheme ( De , fl ow_e ) fl ow_e ;
c [ i ] = power_law_scheme ( Dw, flow_w ) ;
139 d[ i ] = power_law_scheme ( Dn, flow_n ) ;
e [ i ] = power_law_scheme ( Ds , fl ow_s ) + fl ow_s ; }
141 a [ i ] = c [ i ] + b[ i ] + d[ i ] + e [ i ] ;
f [ i ] = 0 ; }
143 e l s e {
b[ i ] = c [ i ] = d[ i ] = e [ i ] = 0 ;
145 f [ i ] = T[ i ] = T_anal i t i c a ( rp [ i ] , re , r i , TI , TE) ;
a [ i ] = 1 ; } }
147
//sol ve
149 GS_sparse ( a , b , c , d, e , f , T, si ze , s i ze_x ) ;
151 //pr i nt
double posi t i on_y = 0 ;
153 i nt aux = 0 ;
f or ( i nt j = 0; j < si ze_y ; j ++ ) {
155 i f ( posi t i on_y == 0 )
aux = 0;
157 double posi t i on_x = 0;
11
f or ( i nt i = 0 ; i < si ze_x ; i ++, aux++) {
159 i f ( i ! = 0 )
posi t i on_x += dx ;
161 i f ( i == j && i % 5 == 0) {
outData << s c i e n t i f i c << l e f t << setw(W) << s e t pr e c i s i on ( 10) << posi t i on_x
163 << l e f t << setw(W) << s e t pr e c i s i on ( 10) << posi t i on_y
<< l e f t << setw(W) << s e t pr e c i s i on ( 10) << rp [ i ]
165 << l e f t << setw(W) << s e t pr e c i s i on ( 10) << T[ aux ]
<< l e f t << setw(W) << s e t pr e c i s i on ( 10) << T_anal i t i c a ( rp [ aux ] , re , r i , TI , TE)
167 << l e f t << setw(W) << s e t pr e c i s i on ( 10) << T[ aux]T_anal i t i c a ( rp [ aux ] , re , r i , TI , TE) << endl
; } }
posi t i on_y += dy ; }
169 outData << endl ; }
trabalho_9.cpp
12

Você também pode gostar