You are on page 1of 1

program main

integer i,j,k,n,aar,aac,qqc,qqr
real A(100,100),B(100,100),C(100,100),AA(100,100)
real D(100,100),E(100,100),F(100,100),BB(100,100)
real QQ(100,100),AAT(100,100),inv(100,100)
real gama(100),EE(100),U(100),US(100),EE1,EE2
real KK,TE,gama_iM1,gama_i,gama_ip1

KK=1.7

open(7,file='c:\viscosity\matrixU.txt')
do i=1,14
read(7,*),U(i)
end do
close(7)

do i=11,14
if(i .eq. 14) then

gama_ip1=(abs(U(i)+U(i-1))/(abs(U(i))+abs(U(i-1))))
gama_i=(abs(U(i-1)+U(i-2))/(abs(U(i-1))+abs(U(i-2))))
c gama_im1=(abs(U(i-2)+U(i-3))/(abs(U(i-2))+abs(U(i-3))))
else
TE1=(abs(U(i+1))+2*(abs(U(i)))+abs(U(i-1)))
TE2=(abs(U(i))+2*(abs(U(i-1)))+abs(U(i-2)))
TE3=(abs(U(i-1))+2*(abs(U(i-2)))+abs(U(i-3)))
gama_ip1=(abs(U(i+1)-2*U(i)+U(i-1)))/TE1
gama_i=(abs(U(i)-2*U(i-1)+U(i-2)))/TE2
c gama_im1=(abs(U(i-1)-2*U(i-2)+U(i-3)))/TE3
end if

write(*,*)'gama(i+1)=',gama_ip1
write(*,*)'gama(i)=',gama_i
write(*,*)'gama(i-1)=',gama_im1

EE1=KK*(max(gama_ip1,gama_i))
EE2=KK*(max(gama_im1,gama_i))
write(*,*)'E(i+0.5)=',EE1
write(*,*)'E(i-0.5)=',EE2
U(i)=U(i)+EE1*(U(i+1)-U(i))-EE2*(U(i)-U(i-1))

end do

open(7,file='c:\viscosity\matrixUU.txt')
do i=1,14
write(7,*),U(i)
write(*,*),U(i)
end do
close(7)

end

You might also like