Académique Documents
Professionnel Documents
Culture Documents
t(I)= 50.00000
t(I)= 49.97444
t(I)= 49.92332
t(I)= 49.87219
t(I)= 49.66258
t(I)= 49.29448
t(I)= 48.92638
t(I)= 48.55828
t(I)= 48.19019
t(I)= 45.70552
t(I)= 43.40491
dt= 206.6034
90
80
70 nœud 1
nœud 2
60 nœud 3
nœud 4
50
nœud 5
nœud 6
40
nœud 7
nœud 8
30
nœud 9
20 nœud 10
nœud 11
10
0
0 10 20 30 40 50 60
République Algérienne Démocratique et Populaire
Ministère de l’Enseignement Supérieur et de la recherche Scientifique
Université des sciences et de la Technologie Houari Boumediene
Thème
LA PUCE
PARTIE INSTATIONNAIRE
TP n°4
Avril 2010
Problème :
En cette partie on veut déterminer le temps nécessaire pour que le transfert de chaleur
atteigne le nouveau régime stationnaire.
Pour les nœuds 1,2 et 3 coefficient d’échange conductif k s , et un terme de diffusivité
thermique αs.
Pour les nœuds 4 et 5 on a deux matériaux donc deux coefficients d’échange conductif et on
doit faire une moyenne harmonique dont la formule est :
ke=(dx1+dx2)*ka*ks/(dx1*ka+dx2*ks)
De la même façon pour les nœuds 9 et 10 on fait une autre moyenne harmonique dont la
formule est :
kh=kp*ka*(x(10)-x(9))/((ea+es-x(9))*kp+(x(10)-ea-es)*ka)
On la loi de conduction :
d/dx ( k dT/dx)+ S =0
Quand : time=0 :
Ce qui donne :
- Pour le nœud 10 on a une convection en plus donc l’équation s’écrit comme suite :
-k (dT/dx) =h (Ti-Tf)
Quand: time=time+dt :
apTp=awTw+aeTe+a0pT0p
c Solution du TP :
c declarations
real a0(11),b(11),c(11),d(11),p(11),q(11),t0(11),x(12),ka,ks,ke,ea,
*es,h,tf,s,dx1,dx2,ep,kp,kh,alphas,alphaa,alphap,ak(11),ae(11),
*aw(11),ap0(11),t(11),dt,absolu(11),difference
integer i,j
c PARTIE STATIONNAIRE
c données
ea=0.01
es=0.005
ep=0.0005
ka=10
ks=60
kp=ka/50
h=100
tf=25
dx1=es/3
dx2=ea/5
alphas=0.00008
alphaa=0.00001
alphap=0.000001
dt=1
s=1.6982584E+08
ke=(dx1+dx2)*ka*ks/(dx1*ka+dx2*ks)
c maillage
x(0)=0
x(1)=x(0)
x(2)=dx1/2
x(3)=x(2)+dx1
x(4)=x(3)+dx1
x(5)=es+dx2/2
do i=6,9
x(i)=x(i-1)+dx2
end do
x(10)=ea+es+ep/2
x(11)=ep+es+ea
ka=10
kh=kp*ka*(x(10)-x(9))/((ea+es-x(9))*kp+(x(10)-ea-es)*ka)
c discretisation
a0(1)=1
b(1)=0
c(1)=0
d(1)=50
a0(2)=3*ks/dx1
b(2)=ks/dx1
c(2)=2*ks/dx1
d(2)=s*dx1
a0(3)=2*ks/dx1
b(3)=ks/dx1
c(3)=b(3)
d(3)=d(2)
a0(4)=2*ke/(dx1+dx2)+ks/dx1
b(4)=2*ke/(dx1+dx2)
c(4)=c(3)
d(4)=d(3)
a0(5)=ka/dx2+2*ke/(dx1+dx2)
b(5)=ka/dx2
c(5)=2*ke/(dx1+dx2)
d(5)=0
a0(6)=2*ka/dx2
b(6)=ka/dx2
c(6)=ka/dx2
d(6)=0
do i=7,8
a0(i)=a0(6)
b(i)=b(6)
c(i)=c(6)
d(i)=0
end do
a0(9)=kh/(x(10)-x(9))+ka/(x(9)-x(8))
b(9)=kh/(x(10)-x(9))
c(9)=ka/(x(9)-x(8))
d(9)=0
a0(10)=kp/(x(11)-x(10))+kh/(x(10)-x(9))
b(10)=kp/(x(11)-x(10))
c(10)=kh/(x(10)-x(9))
d(10)=0
a0(11)=h+kp/(x(11)-x(10))
b(11)=0
c(11)=kp/(x(11)-x(10))
d(11)=h*tf
c TDMA
p(1)=b(1)/a0(1)
q(1)=d(1)/a0(1)
do i=2,11
p(i)=b(i)/(a0(i)-c(i)*p(i-1))
q(i)=(d(i)+c(i)*q(i-1))/(a0(i)-c(i)*p(i-1))
end do
t0(11)=q(11)
do i=10,1,-1
t0(i)=p(i)*t0(i+1)+q(i)
end do
c affichage
do i=1,11
write(*,*)'x(i)= ',x(i),' t0(i)= ',t0(i)
end do
C PARTIE INSTATIONNAIR
20 t(1)=t0(1)
c discrétisation
ae(2)=1/dx1
aw(2)=2/dx1
ap0(2)=dx1/(alphas*dt)*t0(2)
ak(2)=ae(2)+aw(2)+ap0(2)/t0(2)
ae(3)=1/dx1
aw(3)=1/dx1
ap0(3)=dx1/(alphas*dt)*t0(3)
ak(3)=ae(3)+aw(3)+ap0(3)/t0(3)
ae(4)=2*ke/(dx1+dx2)
aw(4)=ks/dx1
ap0(4)=ks*dx1/(dt*alphas)*t0(4)
ak(4)=ae(4)+aw(4)+ap0(4)/t0(4)
ae(5)=ka/dx2
aw(5)=2*ke/(dx1+dx2)
ap0(5)=dx2*ka/(dt*alphaa)*t0(5)
ak(5)=ae(5)+aw(5)+ap0(5)/t0(5)
ae(6)=1/dx2
aw(6)=1/dx2
ap0(6)=dx2/(alphaa*dt)*t0(6)
ak(6)=ae(6)+aw(6)+ap0(6)/t0(6)
do i=7,8
ae(i)=ae(6)
aw(i)=aw(6)
ap0(i)=ap0(6)/t0(6)*t0(i)
ak(i)=ae(i)+aw(i)+ap0(i)/t0(i)
end do
ae(9)=2*kh/(dx2+ep)
aw(9)=ka/dx2
ap0(9)=dx2*ka/(dt*alphaa)*t0(9)
ak(9)=ae(9)+aw(9)+ap0(9)/t0(9)
ae(10)=2*kp/ep
aw(10)=2*kh/(dx2+ep)
ap0(10)=ep*kp/(dt*alphap)*t0(10)
ak(10)=ae(10)+aw(10)+ap0(10)/t0(10)
ae(11)=0
aw(11)=2*kp/ep
ap0(11)=h*tf
ak(11)=ae(11)+aw(11)+h
c TDMA
p(1)=0
q(1)=50
do i=2,11
p(i)=ae(i)/(ak(i)-aw(i)*p(i-1))
q(i)=(ap0(i)+aw(i)*q(i-1))/(ak(i)-aw(i)*p(i-1))
end do
t(11)=q(11)
do i=10,1,-1
t(i)=p(i)*t(i+1)+q(i)
end do
do i=1,11
print*,t(i)
end do
do i=2,11
absolu(i)=abs(t0(i)-t(i))
end do
difference=1
do i=2,11
if(absolu(i)<0.000001)then
difference=difference+1
end if
end do
if(difference.eq.11)go to 30
do j=2,11
t0(j)=t(j)
end do
dt=dt+0.1
go to 20
c affichage
30 do i=1,11
write(*,*)'t(i)= ',t(i)
end do
write(*,*)'dt= ',dt
end