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