1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
Case 2D
Implicit integer*4(i-n)
Parameter(maxn=2500000)
Real*4 nmoleF(maxn),x(maxn), y(maxn), z(maxn)
real*4 So(maxn), Sw(maxn), n_oil(maxn), xmoln(maxn,3)
real*4 Mn, Ve, por, ncomp, fraction_mol(3)
integer itzone
Character*10 title1,title2
ncomp=3
c nn=nx*ny*nz !I = 41, J = 1, K = 41,
por=0.33
Mn=10.0e+3
Ve = 0.000025
open(6,file='comp2D.lst')
open(unit=90, file ='plot.out',status='unknown',iostat=ierr55)
open(unit=91, file ='saturation.out')
Read(90,1) title1
1 format(a)
write(91,8213)
8213 format('variables="x","z","So","xmole1","xmole2","xmole3"')
do jj=1,999
Read(90,3,end=888) time,nx,nz
3 format(11x,f10.0,6x,i3,6x,i4)
nn=nx*nz !I = 41, J = 5, K = 41,
write(6,222) time,nx,nz,nn
222 format(/10x,'check: time,nx,nz,nn',f10.2,3i5)
do k=1,nz
do i=1,nx
nd = (k-1)*nx + i
read(90,*) x(nd),z(nd), nmoleF(nd), So(nd), Sw(nd)
end do
end do
fraction_mol(1)=0.07767
fraction_mol(2)= 0.43945
fraction_mol(3)=0.48288
do i=1,nn
n_oil(i)=So(i)*por*Mn*Ve
do k=1,ncomp
xmoln(i,k)=fraction_mol(k)*n_oil(i)
end do
end do
write(91,30) time,nx,nz
30 format(1x,'ZONE T=" ',e15.3,'", I = ',i5,
+ ',K = ',i5, ', F=POINT') |
Partager