Oil relative permeability in EOS8

Hi All,

I am trying to set up the input file for  EOS8 module to run a water flooding oil case.  As from the manual, the oil relative permeability is set to be linear with respective to oil saturation as default if I understand it right.  However, if I want to use different equations for oil relative permeability, which block and what column in input file can I apply? 

Thanks for a lot for your help!

7replies Oldest first
  • Oldest first
  • Newest first
  • Active threads
  • Popular
  • Hi Wendy,

    Unfortunately, there is no flexibility in eos8.f to specify the oil relative permeability through user input. Instead, you have to go into the code and write your curve into function ak3 (at the top of subroutine EOS) or use the standard way in the three-phase versions of relp and pcap (see t2voc or tmvoc) to specify the oil functions. Let me know if you need help with any of that.


  • Thanks Stefan for your reply!

  • Hi Stefan,

    As for t2voc, do you think we can use that module for the oil phase case?   Although it can has a volatile chemical component, but I am not sure whether oil phase can be treated as volatile chemical component. Thanks advance for your guide again!

  • Wendy,

    T2VOC and TMVOC are more accurate modules for simulating three-phase (aqueous, gas, oil) systems. You can pick appropriate chemical properties (in block CHEMP) to reduce or even prevent volatilization of the oil (if that is what you want - however, last time I filled up the tank of my car, I could clearly smell the volatilized petroleum...).

    Be aware that the phase partitioning of water, NCG and VOC components in all phases as done in T2VOC/TMVOC  makes running these modules much more difficult compared to the simplified treatment of the oil phase in EOS8.

    In my previous reply I simply proposed that you use the three-phase rel. perm. curves implemented in T2VOC instead of the two-phase curves (plus function ak3) as currently used in EOS8. This would mean, however, that you need to change all the CALL RELP (4 in eos8.f, and 2 in t2f.f), because the three-phase version of SUBROUTINE RELP has different arguments than the standard two-phase version. You can again look at T2VOC to see how this is done. You also need to replace the AK3() evaluations with CALL RELP in eos8.f.

    To summarize: you have the following options:

    (1) Stay with eos8.f, and simply code in the oil relative permeability function you want into function ak3.

    (2) Replace the two-phase functions of eos8.f with the three-phase functions of t2voc.f as described above; then use RPCAP and ROCKS.3 in the usual way to specify parameters.

    (3) Switch to T2VOC or TMVOC (if you have multiple oil components or multiple NCGs); no code changes needed, but be prepared to have to deal with more thermophysics/parameters/convergences issues.

    Hope this helps,


  • Thanks very much for your help, Stefan!

    One more question I have is:

     For the modules of T2VOC or EOS8, the gaseous phase is for air.  If I want to simulate the natural gas phase and oil phase the same time, can I still use T2VOC or EOS8?  Can I just treat the natural gas phase the same as the air,  but with different viscosity, density and relative permeability?

  • T2VOC and EOS8 both have the properties of air. Three options:

    (1) Use TMVOC instead and specify CH4 as the NCG

    (2) Make changes to the EOS8 and/or T2VOC source code to replace air with CH4 properties.

    (3) Consider whether the differences in these properties are significant for your application (they may not be). It may be appropriate to just use air, and should you inject the NCG, adjust the mass injection rate by the ratio of the molecular weights between CH4 and air.


  • Stefan, thanks very much for the guidance!  I really appreciate it!

Like Follow
  • 6 yrs agoLast active
  • 7Replies
  • 603Views
  • 2 Following