Vous êtes sur la page 1sur 2

program maillage

Integer N,i,Nt,j
real x,dx,L,Tg,Td,T0,tc,T,tf,dt,M,rou,cond,capacite
Parameter(Tg=100,Td=1250,T0=290,tf=7200,Nt=120,rou=900,cond=0.45,capacite=1050)
Dimension x(1100),T(1100)
write(*,*)'afficher le nombre de tranche'
Write(*,*)'entre la valeur de N<=110'
Read (*,*)N
write(*,*)'afficher la longueur L'
Write(*,*)'entre la valeur de L'
Read (*,*)L
write(*,*)'afficher le Pas de maillage'
dx=L/N
Write (*,*)'dx=', dx
write(*,*)'afficher le Pas de temps'
dt=tf/Nt
write(*,*)'dt=',dt
write(*,*)'afficher le coefficient M'
M=(cond/(rou*capacite))*(dt/(dx*dx))
write(*,*)'M=',M
write(*,*)'afficher les coordonnées du domine discret'
do i=1,N+1
x(i)=(i-1)*dx
enddo
do i=1,N+1
write(*,*)'x(',i,')=',x(i)
enddo

Write (*,*) 'à l’instant tc=0'


tc =0
do i=2,N
T(i)=T0
enddo
T(1)=Tg
T(N+1)=Td
Write (*,*)'afficher les températures '
do i=1, N+1
Write (*,*)'T(',i,')=',T(i)
enddo
Write (*,*)'afficher les températures aux points de maillage et à chaque instant '
do j=1,Nt
tc=j*dt
Write (*,*)'temps de calcul =', tc
do i=2, N
T(i)=M*T (i-1)+(1-2*M)*T(i)+M*T(i+1)
enddo
T(1)=Tg
T (N+1)=Td
do i=1, N+1
Write(*,*)'T(',i,')=',T(i)
enddo
enddo
Open (15, file='méthode explicite ')
Write (15,*)'afficher la longueur de la barre en m'
Write (15,*)'L=', L
Write (15,*)'entrer le nombre de tranche'
Write (15,*)'N=', N
Write (15,*)'afficher le pas de maillage en m'
Write (15,*)'dx=', dx
Write (15,*) 'M=', M
Write (15,*)'afficher les cordonnées en m'
do i=1, N+1
Write(15,*)'x(',i,')=',x(i)
enddo

tc =0
do i=2, N
T(i)=T0
enddo
T(1)=Tg
T (N+1)=Td
Write (15,*) 'temps de calcul =', tc
Write (15,*) 'dt=', dt
Write (15,*)'les températures à l’instant tc=0'
do i=1, N+1
Write (*,*)'T(',i,')=',T(i)
enddo
Write (*,*)'les températures à chaque instant '
do j=1, Nt
tc=j*dt
Write (15,*) 'tc=', tc
do i=2, N
T(i)=M*T(i-1)+(1-2*M)*T(i)+M*T(i+1)
enddo
T(1)=Tg
T (N+1)=Td
do i=1, N+1
Write(15,*)'T(',i,')=',T(i)
enddo
enddo
Close(15)
end

Vous aimerez peut-être aussi