You are on page 1of 3

!

chaleur _stat

dimension t(100,100),told(100,100)

real l1,l2

open(9,file='sortie.dat',status='unknown')

!!******************************************************

!lecteure des donneé du problem

!!******************************************************

print*,'Entrez les valeurs de L1 L2 et epsilon'

read(*,*)l1,l2,h,epsi

print*,'Entrez les valeurs de Tin T3 et Tdroite'

read(*,*)Tin,T3,Tdr

!!*****************************************************

!defintion du maillage

!!*****************************************************

m=anint(l1/h)+1

n=anint(l2/h)+1

!!*****************************************************

! introduction du champs initiaux

!!*****************************************************

k=0

do 10i=2,n-1

do 13j=2,m-1

t(i,j)=Tin

told(i,j)=Tin

13 continue

10 continue

!!*************************************************

!introduction des conditions aux limites

!!***********************************************

do 20 i=1,n

t(i,1)=t3
20 t(i,m)=tdr

do 21j=1,m

t(1,j)=t3

21 t(n,j)=t3

!!**********************************************

! calcul itératif fes temperateurs par la methode de Gauss seidel

!!**********************************************

88 k=k+1

do 100 i=2,n-1

do 100 j=2, m-1

t(i,j)=0.25*(t(i-1,j)+t(i+1,j)+t(i,j-1)+t(i,j+1))

100 continue

!!******************************************

!test de convergence

!! *****************************************

do i=2,n-1

do j=2,m-1

crc =abs((t(i,j)-told(i,j))/told(i,j))

if(crc.gt.epsi)goto 101

enddo

enddo

goto 108

101 do 102 i=2,n-1

do 102 j=2 ,m-1

told(i,j)=t(i,j)

102 continue

goto 88

108 write(*,*)k

stop
end

You might also like