Professional Documents
Culture Documents
TDMA FVM
2904044499
!Zarib Hedayati
L=1
!Tol
ro=1
!Chegali
Fi0=1
Fil=0
Delx=L/NN
Central
F=ro*u
Di=k/Delx
program HamidFahimiBandpey
Pe=F/Di
implicit none
Write(*,75)Pe
integer::n,NN,i,j,Tstep
75 Format(15x,'Pe=',1x,F3.1)
real::k,L,Fi0,Fil,Delx,F,Di,u,ro,Pe
x(0)=-Delx/2
real,dimension(:),allocatable::ae,aw,aww,ap,sp,su,x,T,D,B,alfa,C,Ai,C
PR
write(*,*)'Lotfan Tedad Oghate Morede Nazar Ra Bedahid,(N):'
!Peclet Number
do i=1,NN
x(i)=x(i-1)+delx
read(*,*)NN
end do
do n=1,NN
aw(n)=Di+F/2
read(*,*)u
Page 1 of 9
TDMA FVM
2904044499
ae(n)=Di-F/2
1004 Format(6x,'x',10x,'aw',12x,'ae',15x,'Su',12x,'Sp',13x,'ap')
sp(n)=0
1005 Format(3x,f5.2,5x,f9.4,5x,f9.4,1x,f15.3,5x,f9.4,5x,f9.4)
su(n)=0
do i=-1,NN+1
if (n==1) then
T(i)=0
aw(n)=0
enddo
sp(n)=-(2*Di+F)
do i=0,NN
su(n)=(2*Di+F)*Fi0
Ai(i)=0
end if
if (n==NN) then
ae(n)=0
sp(n)=-(2*Di-F)
CPR(i)=0
enddo
do j=1,Tstep
do i=1,NN
su(n)=(2*Di-F)*Fil
B(i)=aw(i)
end if
D(i)=ap(i)
alfa(i)=ae(i)
ap(n)=ae(n)+aw(n)-
C(i)=su(i)
sp(n)
Ai(i)=alfa(i)/(D(i)-B(i)*Ai(i-1))
end do
WRITE (*,1004)
CPR(i)=(B(i)*CPR(i-1)+C(i))/(D(i)-B(i)*Ai(i-1))
end do
do n=1,NN
do i=1,NN
T(i)=Ai(i)*T(i+1)+CPR(i)
write(2,1005)x(n),aw(n),ae(n),su(n),sp(n),ap(n)
end do
Page 2 of 9
TDMA FVM
end do
2904044499
read(*,*)u
end do
OPEN(2,FILE='Central.txt')
Read(*,*)Tstep
allocate(ae(NN),aw(NN),aww(NN),ap(NN),sp(NN),su(NN),x(0:NN),T(1:NN+1),D(NN),B(NN),alfa(NN),C(NN),Ai(0:NN),CPR(0:NN))
k=0.1
!Zarib Hedayati
L=1
!Tol
ro=1
!Chegali
Fi0=1
close(UNIT=2, STATUS='keep' )
Fil=0
endprogram HamidFahimiBandpey
Delx=L/NN
Upwind
F=ro*u
! The Finite Volume Method For Convection-Diffusion Probloms
Di=k/Delx
program HamidFahimiBandpey
Pe=F/Di
implicit none
Write(*,75)Pe
integer::n,NN,i,j,Tstep
75 Format(15x,'Pe=',1x,F3.1)
real::k,L,Fi0,Fil,Delx,F,Di,u,ro,Pe
x(0)=-Delx/2
real,dimension(:),allocatable::ae,aw,aww,ap,sp,su,x,T,D,B,alfa,C,Ai,C
PR
write(*,*)'Lotfan Tedad Oghate Morede Nazar Ra Bedahid,(N):'
do i=1,NN
x(i)=x(i-1)+delx
read(*,*)NN
end do
do n=1,NN
Page 3 of 9
!Peclet Number
TDMA FVM
2904044499
1004 Format(6x,'x',10x,'aw',12x,'ae',15x,'Su',12x,'Sp',13x,'ap')
aw(n)=Di+F
1005 Format(3x,f5.2,5x,f9.4,5x,f9.4,1x,f15.3,5x,f9.4,5x,f9.4)
ae(n)=Di
do i=-1,NN+1
sp(n)=0
T(i)=0
su(n)=0
enddo
if (n==1) then
do i=0,NN
aw(n)=0
Ai(i)=0
sp(n)=-(2*Di+F)
CPR(i)=0
su(n)=(2*Di+F)*Fi0
end if
if (n==NN) then
sp(n)=-(2*Di)
enddo
do j=1,Tstep
do i=1,NN
ae(n)=0
B(i)=aw(i)
su(n)=(2*Di)*Fil
D(i)=ap(i)
end if
ap(n)=ae(n)+aw(n)-
alfa(i)=ae(i)
C(i)=su(i)
sp(n)
Ai(i)=alfa(i)/(D(i)-B(i)*Ai(i-1))
end do
CPR(i)=(B(i)*CPR(i-1)+C(i))/(D(i)-B(i)*Ai(i-1))
WRITE (*,1004)
do n=1,NN
end do
do i=1,NN
write(2,1005)x(n),aw(n),ae(n),su(n),sp(n),ap(n)
T(i)=Ai(i)*T(i+1)+CPR(i)
end do
Page 4 of 9
TDMA FVM
end do
2904044499
read(*,*)u
end do
OPEN(2,FILE='Upwind.txt')
Read(*,*)Tstep
allocate(ae(NN),aw(NN),aww(NN),ap(NN),sp(NN),su(NN),x(0:NN),T(1:NN+1),D(NN),B(NN),alfa(NN),C(NN),Ai(0:NN),CPR(0:NN))
k=0.1
!Zarib Hedayati
L=1
!Tol
ro=1
!Chegali
Fi0=1
close(UNIT=2, STATUS='keep' )
Fil=0
endprogram HamidFahimiBandpey
Delx=L/NN
Hybrid Dffrencing Schene
F=ro*u
! The Finite Volume Method For Convection-Diffusion Probloms
Di=k/Delx
program HamidFahimiBandpey
Pe=F/Di
implicit none
Write(*,75)Pe
integer::n,NN,i,j,Tstep
75 Format(15x,'Pe=',1x,F3.1)
real::k,L,Fi0,Fil,Delx,F,Di,u,ro,Pe
x(0)=-Delx/2
real,dimension(:),allocatable::ae,aw,aww,ap,sp,su,x,T,D,B,alfa,C,Ai,C
PR
write(*,*)'Lotfan Tedad Oghate Morede Nazar Ra Bedahid,(N):'
do i=1,NN
x(i)=x(i-1)+delx
read(*,*)NN
end do
do n=1,NN
Page 5 of 9
!Peclet Number
TDMA FVM
aw(n)=F
2904044499
do i=-1,NN+1
ae(n)=0
T(i)=0
sp(n)=0
enddo
su(n)=0
do i=0,NN
if (n==1) then
Ai(i)=0
aw(n)=0
sp(n)=-(2*Di+F)
CPR(i)=0
su(n)=(2*Di+F)*Fi0
end if
if (n==NN) then
enddo
do j=1,Tstep
do i=1,NN
sp(n)=-(2*Di)
B(i)=aw(i)
su(n)=(2*Di)*Fil
D(i)=ap(i)
end if
alfa(i)=ae(i)
ap(n)=ae(n)+aw(n)-
C(i)=su(i)
sp(n)
Ai(i)=alfa(i)/(D(i)-B(i)*Ai(i-1))
end do
WRITE (*,1004)
CPR(i)=(B(i)*CPR(i-1)+C(i))/(D(i)-B(i)*Ai(i-1))
end do
do n=1,NN
do i=1,NN
T(i)=Ai(i)*T(i+1)+CPR(i)
write(2,1005)x(n),aw(n),ae(n),su(n),sp(n),ap(n)
end do
end do
1004 Format(6x,'x',10x,'aw',12x,'ae',15x,'Su',12x,'Sp',13x,'ap')
end do
1005 Format(3x,f5.2,5x,f9.4,5x,f9.4,1x,f15.3,5x,f9.4,5x,f9.4)
TDMA FVM
2904044499
allocate(ae(NN),aw(NN),aww(NN),ap(NN),sp(NN),su(NN),x(0:NN),T(2:NN+2),D(NN),B(NN),alfa(NN),C(NN),Ai(0:NN),CPR(0:NN))
k=0.1
!Zarib Hedayati
L=1
!Tol
ro=1
!Chegali
Fi0=1
close(UNIT=2, STATUS='keep' )
Fil=0
endprogram HamidFahimiBandpey
Delx=L/NN
Quick
F=ro*u
! The Finite Volume Method For Convection-Diffusion Probloms
Di=k/Delx
program HamidFahimiBandpey
Pe=F/Di
!Peclet Number
implicit none
Write(*,75)Pe
integer::n,NN,i,j,Tstep
75 Format(15x,'Pe=',1x,F3.1)
real::k,L,Fi0,Fil,Delx,F,Di,u,ro,Pe
x(0)=-Delx/2
real,dimension(:),allocatable::ae,aw,aww,ap,sp,su,x,T,D,B,alfa,C,Ai,C
PR
write(*,*)'Lotfan Tedad Oghate Morede Nazar Ra Bedahid,(N):'
do i=1,NN
x(i)=x(i-1)+delx
read(*,*)NN
end do
do n=1,NN
read(*,*)u
aww(n)=-(F/8)
aw(n)=Di+(7*F)/8
Read(*,*)Tstep
ae(n)=Di-(3*F)/8
Page 7 of 9
TDMA FVM
2904044499
end if
sp(n)=0
ap(n)=ae(n)+aw(n)+aww(n)-sp(n)
su(n)=0
end do
if (n==1) then
do n=1,NN
aw(n)=0
write(1,1035)x(n),aw(n),ae(n),aww(n),su(n),sp(n),ap(n)
aww(n)=0
end do
ae(n)=(4*Di)/3-(3*F)/8
1035 Format(3x,f5.2,5x,f9.4,5x,f9.4,1x,f9.4,1x,f15.3,5x,f9.4,5x,f9.4)
sp(n)=-((8*Di)/3+(10*F)/8)
do i=-2,NN+2
su(n)=((8*Di)/3+(10*F)/8)*Fi0
T(i)=0
end if
if (n==2) then
enddo
do i=0,NN
aww(n)=0
Ai(i)=0
aw(n)=Di+F
sp(n)=F/4
su(n)=-(F/4)*Fi0
end if
CPR(i)=0
enddo
do j=1,Tstep
do i=1,NN
if (n==NN) then
B(i)=aw(i)
aw(n)=1.333333333333333*Di+0.75*F
D(i)=ap(i)
ae(n)=0
alfa(i)=ae(i)
sp(n)=-((8*Di)/3-F)
C(i)=aww(i)*T(i-2)+su(i)
su(n)=((8*Di)/3-F)*Fil
Ai(i)=alfa(i)/(D(i)-B(i)*Ai(i-1))
Page 8 of 9
TDMA FVM
CPR(i)=(B(i)*CPR(i-1)+C(i))/(D(i)-B(i)*Ai(i-1))
end do
do i=1,NN
T(i)=Ai(i)*T(i+1)+CPR(i)
end do
end do
OPEN(2,FILE='QUICK.txt')
WRITE (2,*) "VARIABLES =X, T"
WRITE (2,*) 'zone ', ' i=', NN
do i=1,NN
WRITE(*,*)x(i),T(i)
end do
close(UNIT=2, STATUS='keep' )
endprogram HamidFahimiBandpey
Page 9 of 9
2904044499