Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  

CATEGORII DOCUMENTE





ArhitecturaAutoCasa gradinaConstructiiInstalatiiPomiculturaSilvicultura


CONDUCTIA TERMICA-2D STATIONAR - Metoda volumelor finite

Instalatii

+ Font mai mare | - Font mai mic







DOCUMENTE SIMILARE

Trimite pe Messenger
CONDUCTIA TERMICA-2D STATIONAR - Metoda volumelor finite

CONDUCTIA TERMICA-2D STATIONAR - Metoda volumelor finite

Se considera o placa dreptunghiulara cu dimensiunile urmatoare( 0.5 [m] x 0.4 [m] ) si grosimea de 0.01 [m]. Conductivitatea termica a materialului placii este . Frontiera vest a placii primeste o densitate de flux de valoare constanta , iar frontierele sud si est sunt izolate,frontiera nord fiind mentinuta la temperatura constanta de 100 [ºC].



Sa se determine distributia stationara de temperatura si calculul temperaturilor in nodurile retelei de discretizare(130).

∆x = ∆y = 0.1 [m]

Solutie :

Ecuatia diferentiala ce guverneaza transferul termic este:

Se utilizeaza o retea de discretizare cu 30 de noduri uniform distribuite ca in figura :

Pentru un nod interior ecuatia discretizata este :

Ecuatiile discretizate pentru nodurile interioare ( 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 22, 23 ) ale domeniului de calcul sunt :

Pentru nodurile situate pe frontiera vest ( 2, 3, 4, 5 ) ecuatiile discretizate se obtin integrand ecuatia conductiei termice pe jumatatea de volum de control hasurat din figura :

Pentru nodurile situate pe frontiera nord ( 26, 27, 28, 29 ) ecuatiile discretizate se obtin integrand ecuatia conductiei termice pe jumatatea de volum de control hasurat din figura :

Pentru nodurile situate pe frontiera sud ( 7, 13 ,19 ) ecuatiile discretizate se obtin integrand ecuatia conductiei termice pe jumatatea de volum de control hasurat din figura :

Pentru nodul 1 ecuatia discretizata se obtine integrand ecuatia conductiei termice pe sfertul de volum de control hasurat din figura :

Pentru nodul 25 ecuatia discretizata se obtine integrand ecuatia conductiei termice pe sfertul de volum de control hasurat din figura :

MVF

30 noduri

MEF

31 noduri

Eroarea

[%]

MVF

546 noduri

MEF

485 noduri

Eroarea

[%]

T1

319.8

320.6

-2.5

321.2

321.2

0

T2

312.9

311.9

0.31

314.5

314.5

0

T3

291.8

289.4

0.82

293.7

293.8

-0.04

T4

254.7

250.8

1.5

257.6

257.6

0

T5

196.4

190.3

3.1

201.5

201.6

-0.04

T7

276.7

277.3

-0.21

278

278



0

T8

270

270.2

-0.07

271.4

271.4

0

T9

249.8

249.9

-0.04

251.3

251.2

0.04

T10

215.3

216

-0.32

216.9

216.8

0.04

T11

165.3

167.4

-1.2

166.5

166.5

0

T13

246.9

246.8

0.04

247.9

247.9

0

T14

240.7

240.6

0.04

241.6

241.6

0

T15

222.1

221.6

0.22

223

223

0

T16

191.4

191.3

0.04

192

192.1

-0.04

T17

149.7

148.7

0.66

149.9

149.9

0

T19

229.5

228.9

0.26

230.3

230.2

0.04

T20

223.7

222.8

0.4

224.4

224.4

0

T21

206.4

205.3




0.53

206.9

206.9

0

T22

178.6

177.6

0.55

178.9

178.8

0.04

T23

141.9

141.7

0.14

142

142

0

T25

223.8

223.4

0.17

224.5

224.4

0.04

T26

218.2

217.6

0.27

218.7

218.7

0

T27

201.4

200.7

0.34

201.8

201.8

0

T28

174.6

173.9

0.4

174.7

174.7

0

T29

139.6

139.2

0.28

139.6

139.6

0

Graficul in MATCHAD 7 ( 546 noduri )este :

Graficul in QUICKFIELD 5.0 ( 343 noduri ) este :

program lucrarea 6

c=================================================================

c------------REZOLVAREA ECUATIEI DE CONDUCTIE TERMICA 2D STATIONARA--

c (metoda volumelor finite)

c------------ECUATIA REZOLVATA:(divk(gradT))=0----------------------------------------------

c------------VARIABILELE DE INTRARE-----------------------------------------------------------

c NNX : numarul de noduri pe directia x

c NNY : numarul de noduri pe directia y

c L : lungimea domeniului de calcul

c H : inaltimea domeniului de calcul

c TB : conditia Dirichlet

c------------CONDITIILE LA LIMITA---------------------------------------------------------------

c Dirichlet la frontiera nord TB(x,H)=100

c Neumann (flux nul) la frontiera est si sud

c Flux impus (q) la frontiera vest

c------------VARIABILELE DE INTRARE----------------------------------------------------------

c TEMP : temperatura T(x,y)

c------------AUTOR :Irimia Marius EG 11502

c=================================================================

parameter(nnx=21, nny=26, nit=25000)

double precision TEMP(nnx,nny),AX(nnx,nny),AY(nnx,nny)

double precision A(nnx,nny),B(nnx,nny),C(nnx,nny)

double precision wk(nnx,nny)

double precision A1(nny),B1(nny),C1(nny),wk1(nny),temp1(nny)

double precision DX,DY,TB,L,H,la,gz,q

data TB/100.0/,L/0.4/,H/0.5/,la/1000.0/,gz/0.01/

data q/500000.0/

c------------CALCULUL PASULUI SPATIULUI(DX)----------------------------------------------

DX=L/(nnx-1)

DY=L/(nny-1)

write(*,*)'DX=',dx

write(*,*)'DY=',dy

c------------INITIALIZAREA TEMPERATURII----------------------------------------------------

do i=1,nnx

do j=1,nny

TEMP(i,j)=0.0

enddo

enddo

c-----------INITIALIZAREA CONDITIILOR LA LIMITA DE TIP DIRICHLET--------------

c-----------------------LA FRONTIERA NORD-------------------------------------------------------

do i=1,nnx

TEMP(i,nny)=TB

enddo

c----------------------BUCLA DE ITERATIE---------------------------------------------------------

do k=1,nit

c------------FORMAREA VECTORILOR DIAGONALELOR------------------------------------

do i=1,nnx-1

if(i.eq.1)then

c------------DIAGONALA INFERIOARA-----------------------------------------------------------

do j=1,nny-1

if(j.eq.1)then

A(i,j)=0.0

A1(j)=A(i,j)

else

A(i,j)=-la*(DX/2.0*gz)/DY

A1(j)=A(i,j)

endif



enddo

c------------DIAGONALA SUPERIOARA-----------------------------------------------------------

do j=1,nny-2

if(j.eq.1)then

C(i,j)=-la*(DX/2.0*gz)/DY

C1(j)=C(i,j)

else

C(i,j)=-la*(DX/2.0*gz)/DY

C1(j)=C(i,j)

endif

enddo

C(i,nny-1)=0.0

C1(nny-1)=C(i,nny-1)

c------------DIAGONALA PRINCIPALA--------------------------------------------------------------

do j=1,nny-1

if(j.eq.1)then

B(i,j)=la*(DY/2.0*gz)/DX+la*(DX/2.0*gz)/DY

B1(j)=B(i,j)

else

B(i,j)=la*(DY*gz)/DX+la*(DX/2.0*gz)/DY+la*(DX/2.0*gz)/DY

B1(j)=B(i,j)

endif

enddo

c------------FORMAREA INITIALA A TERMENULUI LIBER WK-----------------------------

do j=1,nny-2

if(j.eq.1)then

wk(i,j)=(la*(DY/2.0*gz)/DX)*TEMP(i+1,j)+DY/2.0*gz*q

wk1(j)=wk(i,j)

else

wk(i,j)=(la*(DY*gz)/DX)*TEMP(i+1,j)+DY*gz*q

wk1(j)=wk(i,j)

endif

enddo

wk(i,nny-1)=(la*(DY*gz)/DX)*TEMP(i+1,nny-1)+DY*gz*q+

* (la*(DX/2.0*gz)/DY)*TEMP(i,nny)

wk1(nny-1)=wk(i,nny-1)

c-----------REZOLVAREA SISTEMULUI------------------------------------------------------------

CALL TRIDAG(a1,b1,c1,wk1,temp1,nny-1)

c-FORMAREA SOLUTIEI PE TOATA LINIA VERTICALA(LINIA APLICARII TDMA)-

do j=1,nny-1

TEMP(i,j)=temp1(j)

enddo

else

c------------DIAGONALA INFERIOARA-------------------------------------------------------------

do j=1,nny-1

if(j.eq.1)then

A(i,j)=0.0

A1(j)=A(i,j)

else

A(i,j)=-la*(DX*gz)/DY

A1(j)=A(i,j)

endif

enddo

c------------DIAGONALA SUPERIOARA------------------------------------------------------------

do j=1,nny-2

if(j.eq.1)then

C(i,j)=-la*(DX*gz)/DY

C1(j)=C(i,j)

else

C(i,j)=-la*(DX*gz)/DY

C1(j)=C(i,j)

endif

enddo

C(i,nny-1)=0.0

C1(nny-1)=C(i,nny-1)

c------------DIAGONALA PRINCIPALA-------------------------------------------------------------

do j=1,nny-1

if(j.eq.1)then

B(i,j)=la*(DY/2.0*gz)/DX+la*(DY/2.0*gz)/DX+la*(DX*gz)/DY

B1(j)=B(i,j)

else

B(i,j)=la*(DY*gz)/DX+la*(DY*gz)/DX+la*(DX*gz)/DY+la*(DX*gz)/DY

B1(j)=B(i,j)

endif

enddo

c------------FORMAREA INITIALA A TERMENULUI LIBER WK-----------------------------

do j=1,nny-2

if(j.eq.1)then

wk(i,j)=(la*(DY/2.0*gz)/DX)*TEMP(i-1,j)+

* (la*(DY/2.0*gz)/DX)*TEMP(i+1,j)

wk1(j)=wk(i,j)

else

wk(i,j)=(la*(DY*gz)/DX)*TEMP(i-1,j)+(la*(DY*gz)/DX)*TEMP(i+1,j)

wk1(j)=wk(i,j)

endif

enddo

wk(i,nny-1)=(la*(DY*gz)/DX)*TEMP(i-1,nny-1)+

* (la*(DY*gz)/DX)*TEMP(i+1,nny-1)+(la*(DX*gz)/DY)*TEMP(i,nny)

wk1(nny-1)=wk(i,nny-1)

c-----------REZOLVAREA SISTEMULUI------------------------------------------------

CALL TRIDAG(a1,b1,c1,wk1,temp1,nny-1)

c--------------FORMAREA SOLUTIEI PE TOATA LINIA VERTICALA----------------------

do j=1,nny-1

TEMP(i,j)=temp1(j)

enddo

endif

enddo

c===========================PENTRU i=nnx==========================

c------------DIAGONALA INFERIOARA------------------------------------------------------------

do j=1,nny-1

if(j.eq.1)then

A(nnx,j)=0.0

A1(j)=A(nnx,j)

else

A(nnx,j)=-la*(DX/2.0*gz)/DY

A1(j)=A(nnx,j)

endif

enddo

c------------DIAGONALA SUPERIOARA------------------------------------------------------------

do j=1,nny-2

if(j.eq.1)then

C(nnx,j)=-la*(DX/2.0*gz)/DY

C1(j)=C(nnx,j)

else

C(nnx,j)=-la*(DX/2.0*gz)/DY

C1(j)=C(nnx,j)

endif

enddo

C(nnx,nny-1)=0.0

C1(nny-1)=C(nnx,nny-1)

c------------DIAGONALA PRINCIPALA-------------------------------------------------------------

do j=1,nny-1

if(j.eq.1)then

B(nnx,j)=la*(DY/2.0*gz)/DX+la*(DX/2.0*gz)/DY

B1(j)=B(nnx,j)

else

B(nnx,j)=la*(DY*gz)/DX+la*(DX/2.0*gz)/DY+la*(DX/2.0*gz)/DY

B1(j)=B(nnx,j)

endif

enddo

c------------FORMAREA INITIALA A TERMENULUI LIBER WK-----------------------------

do j=1,nny-2

if(j.eq.1)then

wk(nnx,j)=(la*(DY/2.0*gz)/DX)*TEMP(nnx-1,j)+DY/2.0*gz*q

wk1(j)=wk(nnx,j)

else

wk(nnx,j)=(la*(DY*gz)/DX)*TEMP(nnx-1,j)

wk1(j)=wk(nnx,j)

endif

enddo

wk(nnx,nny-1)=(la*(DY*gz)/DX)*TEMP(nnx-1,nny-1)+DY*gz*q+

* (la*(DY/2.0*gz)/DY)*TEMP(nnx,nny)

wk1(nny-1)=wk(nnx,nny-1)

c-----------REZOLVAREA SISTEMULUI------------------------------------------------------------

CALL TRIDAG(a1,b1,c1,wk1,temp1,nny-1)

c--------------FORMAREA SOLUTIEI PE TOATA LINIA VERTICALA-----------------------

do j=1,nny-1

TEMP(i,j)=temp1(j)

enddo

enddo

c----FORMAREA VECTORULUI PENTRU PUNCTELE DE CALCUL PE X SI PE Y-----

AX(1,1)=0.0

AY(1,1)=0.0

do i=1,nnx

do j=2,nny

AY(i,j)=AY(i,j-1)+DY

enddo

enddo

do j=1,nny

do i=2,nnx

AX(i,j)=AX(i-1,j)+DX

enddo

enddo

c-----------SCRIEREA SOLUTIEI----------------------------------------------------------------------

open(20,file='apl5.prn')

do i=1,nnx

write(20,101)(TEMP(i,j),j=1,nny)

enddo

close(20)

101 format(26(1x,f6.2))

stop

end

subroutine tridag(a,b,c,r,u,n)

parameter (NMAX=200000)

integer j

double precision a(n),b(n),c(n),r(n),u(n)

double precision bet, gam(NMAX)

c----------a=diagonala inferioara-------------------------------------------------------------------------

c----------b=diagonala principala-------------------------------------------------------------------------

c----------c=diagonala superioara------------------------------------------------------------------------

c----------r=termenul din partea dreapta----------------------------------------------------------------

c----------u=termenul necunoscut------------------------------------------------------------------------

c----------n=dimensiunea sistemului---------------------------------------------------------------------

c----------NMAX=numarul maxim al ecuatiei---------------------------------------------------------

if (b(1).eq.0) pause 'tridag:rewrite equations !'

bet=b(1)

u(1)=r(1)/bet

do j=2,n

gam(j)=c(j-1)/bet

bet=b(j)-a(j)*gam(j)

if(bet.eq.0) pause 'tridag failed'

u(j)=(r(j)-a(j)*u(j-1))/bet

enddo

do j=n-1,1,-1

u(j)=u(j)-gam(j+1)*u(j+1)

enddo

return

end








Politica de confidentialitate

DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 771
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2019 . All rights reserved

Distribuie URL

Adauga cod HTML in site