home *** CD-ROM | disk | FTP | other *** search
/ Hall of Fame / HallofFameCDROM.cdr / oilfield / spe-16.lzh / PVT.DOC < prev    next >
Text File  |  1985-12-29  |  8KB  |  306 lines

  1.  
  2.  
  3.  
  4.                                    PVT
  5.  
  6.                                   
  7. Program      :PVT  
  8.  
  9. Objective    :to generate PVT data using published correlations
  10.  
  11. Developed by :Abdulla N. Hamoodi
  12.  
  13. Date         :DEC 1985 
  14.  
  15.  
  16.  
  17.  Intoduction 
  18.  ----------- 
  19.             PVT correlations are widely applied in the Petroleum
  20. Industry where actual gathered field data is either incomplete or non
  21. existent. 
  22.                                                     
  23.             The program is interactive and both the souce code and an
  24. executable version are included, the output is printed to screen and
  25. stored in an ASCII text file PVT.TAB,also attached herewith is HP-41CX
  26. PVT program listing and magnetic cards.  What follows is a sample run.  
  27.  
  28.  
  29.  
  30.  Sample Run 
  31.  ----------
  32.  
  33.  
  34.  
  35.   OIL GRAVITY = 40.0000 DEG. API
  36.  
  37.   GAS GRAVITY=   .8000
  38.  
  39.   RESERVOIR PRESSURE= 3400.0000 PSI
  40.  
  41.   ABANDONMENT PRESSURE= 1100.0000 PSI
  42.  
  43.   PVT TABLE OUTPUT INCREMENT=200.0000
  44.  
  45.   RESERVOIR TEMPERATURE=600.0000 DEG. RANKIN
  46.  
  47.   SEPARATOR PRESSURE= 60.0000 PSI
  48.  
  49.   SEPARATOR TEMPERATURE= 60.0000 DEG. FAHRENHEIT
  50.  
  51.   BUBLE POINT PRESSURE= 1250.0000 PSI
  52.  
  53.   INITIAL GAS SOLUBILITY=    319.6826 SCF/STB
  54.  
  55.      P       BO     BG          RS      UO      UG      UW     OD      GD
  56.     psi    rb/stb  rb/scf    scf/stb    cp      cp      cp     pcf     pcf
  57.  
  58.  3400.00  1.1834  .000000     319.68   .8706   .0273   .5071  244.13   87.65
  59.  
  60.  3200.00  1.1840  .000000     319.68   .8706   .0262   .5071  244.01   84.27
  61.  
  62.  3000.00  1.1847  .000000     319.68   .8706   .0250   .5071  243.87   80.55
  63.  
  64.  2800.00  1.1854  .000000     319.68   .8706   .0237   .5071  243.71   76.43
  65.  
  66.  2600.00  1.1863  .000000     319.68   .8706   .0224   .5071  243.53   71.88
  67.  
  68.  2400.00  1.1874  .000000     319.68   .8706   .0211   .5071  243.32   66.86
  69.  
  70.  2200.00  1.1886  .000000     319.68   .8706   .0198   .5071  243.07   61.38
  71.  
  72.  2000.00  1.1900  .000000     319.68   .8706   .0185   .5071  242.77   55.49
  73.  
  74.  1800.00  1.1918  .000000     319.68   .8706   .0173   .5071  242.40   49.29
  75.  
  76.  1600.00  1.1941  .000000     319.68   .8706   .0162   .5071  241.95   42.93
  77.  
  78.  1400.00  1.1970  .000000     319.68   .8706   .0152   .5071  241.36   36.57
  79.  
  80.  1200.00  1.1925  .002011     304.56   .8932   .0143   .5071  257.86   30.36
  81.  
  82.   
  83.  References
  84.  ----------
  85.  
  86.  1- L.P. Dake "Fundamentals of Reservoir Engineering" ,Elsevier 1978
  87.  
  88.  2- M. Vasquez "Correlations for Fluid Physical Property Prediction" JPT
  89.     June 1980
  90.  
  91.  3- H.D. Beggs 'Estimating the Viscosity of Crude Oil Systems' JPT
  92.     September 1975 
  93.  
  94.  
  95.  
  96.  Program Listing
  97.  ---------------
  98.  
  99. $DEBUG
  100. C
  101. C          PROGRAM TO CALCULATE OIL AND GAS PVT PROPERTIES
  102. C
  103. C
  104. C       TO FIND THE Z-FACTOR USIN THE HALL+YARBOTOUGH EQUATION
  105. C
  106. C
  107.         CHARACTER*1 CHAR
  108.         OPEN(UNIT=6,FILE='PVT.TAB',STATUS='NEW')
  109. 2001    WRITE(*,*)'ENTER OIL GRAVITY (DEG.API)'
  110.         READ(*,*)GO
  111.         WRITE(*,*)'ENTER THE GAS GRAVITY (AIR=1.00) '
  112.         READ(*,*)GG
  113.         WRITE(*,*)'ENTER INITIAL RESERVOIR PRESSURE (PSI)'
  114.         READ(*,*)P
  115.         WRITE(*,*)'ENTER ABANDONMENT  RESERVOIR PRESSURE (PSI)'
  116.         READ(*,*)PA
  117.         WRITE(*,*)'ENTER PVT TABLE OUTPUT INCREMENT (PSI)'
  118.         READ(*,*)PINC
  119.         WRITE(*,*)'ENTER RESERVOIR TEMPERATURE (DEG.  RANNKIN)'
  120.         READ(*,*)RT
  121.         WRITE(*,*)'ENTER SEPARATOR PRESSURE (PSI)'
  122.         READ(*,*)SP
  123.         WRITE(*,*)'ENTER SEPARATOR TEMPERATURE (DEG. FAHRENHEIT)'
  124.         READ(*,*)ST
  125.         WRITE(*,*)'ENTER BUBLE POINT PRESSURE (PSI)'
  126.         WRITE(*,*)'AND/OR INITIAL GAS SOLUBILITY (SCF/STB)'
  127.         WRITE(*,*)'ENTER ZERO IF QUANTITY UNKNOWN'
  128.         READ(*,*)PB,RSI
  129. C
  130. C
  131. C
  132.         WRITE(*,100)GO,GG,P,PA,PINC,RT,SP,ST,PB,RSI
  133. C       write(*,*)
  134.         WRITE(*,*)'IS THE ABOVE DATA CORRECT  ENTER   Y/N'
  135.         READ(*,'(A1)')CHAR
  136.         IF(CHAR.NE.'Y')GO TO 2001
  137. C
  138.         LPRINT=0
  139.         LPAGE=0
  140.         INC=1
  141. C
  142. C
  143. C
  144. 1001    TC=169+314*GG
  145.         PC=708.75-57.5*GG
  146.         TT=TC/RT
  147.         PR=P/PC
  148.         Y=.0001
  149. 30      F=(-.06125)*PR*TT*EXP(-1.2*(1-TT)**2)
  150.      1+((Y+Y**2+Y**3-Y**4)/((1-Y)**3))
  151.      1-(14.76*TT-9.76*TT**2+4.58*TT**3)*Y**2
  152.      1+(90.7*TT-242.2*TT**2+42.4*TT**3)*Y**(
  153.      12.18+2.82*TT)
  154.         IF(ABS(F).LT.0.000001) GO TO 20
  155.         DF=((1+4*Y+4*Y**2-4*Y**3+Y**4
  156.      1)/((1-Y)**4))-(29.52*TT-19.52*TT**2+9.16*TT**3)*Y
  157.      1+(2.18+2.82*TT)*(90.7*TT-242.2*TT**2+42.4*TT**3)
  158.      1*Y**(1.18+2.82*TT)
  159.         Y=Y-F/DF
  160.         GO TO 30
  161. 20      Z=(.06125*PR*TT*EXP(-1.2*(1-TT)**2))/Y
  162. C
  163. C
  164. C
  165. C       TO FIND THE GAS FORMATION VOLUME FACTOR
  166. C
  167. C
  168. C
  169.         BG=RT*Z/(198.588*P)
  170. C
  171. C
  172. C
  173. C       TO FIND THE OIL FORMATION VOLUME FACTOR AND
  174. C       THE GAS SOLUBILITY USING VASQUEZ'S CORRELATIONS
  175. C
  176. C
  177. C
  178.         GGS=GG*(1.+(5.912E-05)*GO*ST*(ALOG10(SP/114.7)))
  179.         IF(GO.LE.30) GO TO 40
  180.         C1=.0178
  181.         C2=1.187
  182.         C3=23.931
  183.         GO TO 50
  184. 40      C1=.0362
  185.         C2=1.0937
  186.         C3=25.724
  187. 50      IF(PB.NE.0) GO TO 55
  188.         PB=(RSI/(C1*GGS*EXP(C3*GO/RT)))**(1/C2)
  189. 55      RSI=C1*GGS*(PB**C2)*EXP(C3*(GO/RT))
  190.         RS=RSI
  191.         IF(P.GT.PB) GO TO 60
  192.         RS=C1*GGS*(P**C2)*EXP(C3*(GO/RT))
  193. 60      IF(GO.LE.30) GO TO 70
  194.         C1=4.76E-04
  195.         C2=1.1E-05
  196.         C3=1.337E-09
  197.         GO TO 80
  198. 70      C1=4.677E-04
  199.         C2=1.751E-05
  200.         C3=-1.811E-08
  201. 80      BOB=1+C1*RSI+C2*(RT-520)*(GO/GGS)
  202.      1+C3*RSI*(RT-520)*(GO/GGS)
  203.         BO=1+C1*RS+C2*(RT-520)*(GO/GGS)
  204.      1+C3*RS*(RT-520)*(GO/GGS)
  205.         A1=-1433.
  206.         A2=5.0
  207.         A3=17.2
  208.         A4=-1180.
  209.         A5=12.61
  210.         A6=100000.
  211.         CO=(A1+A2*RS+A3*(RT-460)+A4*GGS+A5*GO)/(A6*P)
  212.         IF(P.LE.PB) GO TO 90
  213.         BO=BOB*EXP(CO*(PB-P))
  214.         BG=0.
  215. C
  216. C
  217. C
  218. C       TO CALCULATE THE OIL VISCOSITY USING
  219. C       BEGGS CORRELATION
  220. C
  221. C
  222. C
  223. 90      ZX=3.0324-.02023*GO
  224.         YX=10**ZX
  225.         XX=YX*(RT-460.)**(-1.163)
  226.         UD=(10**XX)-1.
  227.         AA=10.715*(RS+100.)**(-.515)
  228.         BB=5.44*(RS+150.)**(-.338)
  229.         UO=AA*UD**BB
  230. C
  231. C
  232. C
  233. C       TO CALCULATE THE GAS VISCOSITY
  234. C       USING LEE'S CORRELATION
  235. C
  236. C
  237. C
  238.         GM=GG*28.97
  239.         GD=P*GM/(RT*10.732*Z*62.428)
  240.         GK=((9.4+.02*GM)*RT**1.5)/(209+19*GM+RT)
  241.         GX=3.5+(986/RT)+.01*GM
  242.         GJ=2.4-.2*GX
  243.         UG=GK*1E-04*EXP(GX*GD**GJ)
  244. C
  245. C
  246. C
  247. C       TO CALCULATE THE WATER VISCOSITY USING
  248. C       BEGGS AND BRILL CORRELATION
  249. C
  250. C
  251. C
  252.         UW=EXP(1.003-1.479E-02*(RT-460.)+1.982E-05*(RT-460.)**2.)
  253. C
  254. C
  255. C
  256. C       TO CALCULATE THE OIL AND GAS DENSITIES
  257. C
  258. C
  259. C
  260.         GD=350.52*GD
  261.         GDS=GD*BG
  262. C
  263. C
  264. C
  265.         ODS=(141.5/(131.5+GO))*62.366*5.61458
  266.         OD=(ODS+RS*GDS)/BO
  267. C
  268.         IF(INC.EQ.1)THEN
  269.         WRITE(*,100)GO,GG,P,PA,PINC,RT,SP,ST,PB,RSI
  270.         WRITE(6,100)GO,GG,P,PA,PINC,RT,SP,ST,PB,RSI
  271.         END IF
  272.         INC=2
  273.         IF(LPRINT.EQ.LPAGE)WRITE(*,200)
  274.         IF(LPRINT.EQ.LPAGE)WRITE(6,200)
  275.         IF(LPRINT.EQ.LPAGE)LPAGE=LPAGE+60
  276.         LPRINT=LPRINT+1
  277.         WRITE(*,300)P,BO,BG,RS,UO,UG,UW,OD,GD
  278.         WRITE(6,300)P,BO,BG,RS,UO,UG,UW,OD,GD
  279. C
  280.         P=P-PINC
  281.         IF(P.LT.PA)GO TO 3001
  282.         GO TO 1001
  283. C
  284. 100     FORMAT(1X,///,2X,'OIL GRAVITY =',F8.4,' DEG. API',//,
  285.      &2X,'GAS GRAVITY=',F8.4,//,
  286.      &2X,'RESERVOIR PRESSURE=',F10.4,' PSI',//
  287.      &,2X,'ABANDONMENT PRESSURE=',F10.4,' PSI',//,2X,
  288.      &'PVT TABLE OUTPUT INCREMENT=',F8.4,//,2X,'RESERVOIR TEMPERATURE=',
  289.      &F8.4,' DEG. RANKIN',
  290.      &//,2X,'SEPARATOR PRESSURE=',F8.4,' PSI',//,2X,
  291.      &'SEPARATOR TEMPERATURE=',
  292.      &F8.4,' DEG. FAHRENHEIT',//,2X,'BUBLE POINT PRESSURE=',F10.4,
  293.      &' PSI',//,2X,'INITIAL GAS SOLUBILITY=',F12.4,' SCF/STB')
  294. C
  295. 200     FORMAT(/,7X,'P',7X,'BO',5X,'BG',10X,'RS',6X,'UO',6X,'UG',6X,'UW'
  296.      &,5X,'OD',6X,'GD',/,
  297.      &6X,'psi',4x,'rb/stb',2X,'rb/scf',4X,'scf/stb',4X,'cp',6x,'cp',6x,
  298.      &'cp',5x,'pcf',5x,'pcf')
  299. 300     FORMAT(/,2X,F8.2,2x,F6.4,2X,F7.6,2X,F9.2,2X,F6.4,2X,F6.4
  300.      &,2X,F6.4,2X,F6.2,2X,F6.2)
  301. C
  302. C
  303. C
  304. 3001    STOP
  305.         END
  306.