TOUGH+RealGasBrine for CO2 injection

Hi,

I am working on CO2 injection in depleted Oil and Gas reservoirs for enhanced oil recovery and sequestration. I am planning to buy TOUGH+RealGasBrine for this purpose, and plan to couple it with FLAC3D.

I wanted to know if TOUGH+RGB has the capability to execute such simulation, as it is a continuation of TOUGH2 capabilities and I see CO2 properties included, but not a lot of focus is given on it in the manual.

Also if present, how the capabilities are compared to TOUGH2 ECO2N/ECO2M.

Thanks in advance!

Regards,

Yash

8replies Oldest first
  • Oldest first
  • Newest first
  • Active threads
  • Popular
  • A late contribution to an old post.

    I have never used TOUGH+RealGasBrine V.1.0 (T+RGB), but I have looked to the user’s guide (Moridis and Freeman, 2014) quite carefully when I was interested to the T+RGB capabilities in modeling tight gas reservoirs.

    T+RGB can simulate the thermodynamics of fluid mixtures composed by water, NaCl, and up to 11 real gases (CH4, C2H6, C3H8, n-C4H10, i-C4H10, CO2, H2S, O2, N2, C2H5OH, and H2)  including inorganic gases often encountered in gas reservoirs (CO2, H2S, N2) and the lighter alkanes up to C4 constituting most of the components found in ‘dry’ gas reservoirs (not enough for condensate gas reservoirs).

    As clearly stated in the user’s guide, T+RGB was developed for gas reservoirs, including tight sands and shale gas, but not for oil reservoirs. In fact, the mixture components can be partitioned among 3 phases: the aqueous, the gas and the solid salt (halite) phases. A condensed non-aqueous phase (the oil phase or a CO2-rich liquid phase) is not foreseen.

    Gas phase properties are computed using cubic EOS (PR, RK, SRK) and other EOS and correlations (such as the LK EOS for the enthalpy of real gas mixture, the Quinones-Cisneros model for real gas mixture viscosity, etc.).

    The equilibrium between the aqueous and gas phase in solved by equating the activity of each component in both phases, but the details of the procedure used are not specified. They probably use the GasEOS package by M. Reagan (2005) or an improved version of it.

    Thus, the possible applications of T+RGB, looking at the code capabilities and at what is specifically stated in the user’s guide, are:

    -          the non-isothermal two- (for pure water) or three-phase (for brine) flow of an aqueous phase and a real gas mixture in a gas-bearing medium, with a particular focus in ultra-tight (such as tight-sand and shale gas) systems;

    -          the geologic storage of greenhouse gas mixtures;

    -          the behavior of geothermal reservoirs with multi-component noncondensable gas mixtures;

    -          the transport of water and released H2 in nuclear waste storage applications.

    It can model the CO2 sequestration in both saline aquifers and gas reservoirs, providing the sequestration occurs at temperature above that allowing the condensation of a CO2-rich liquid mixture. Enhanced gas recovery with CO2 sequestration can be modeled.

    The simulated conditions can go up to 1000 bar (using the IAPWS-IF97 correlations) or above 1000 bar using IAPWS correlations requiring iterative calculations. No detailed info seems to be given about the temperature limits. The correlations for water, brine and solid salt (when Driesner’s correlations are chosen) can be safely used up to 350°C (and up to 365°C with minor errors). The correlations for the real gas mixture could have a lower T limit, in particular the approach for the equilibrium of aqueous and gas phases (mutual solubilities of H2O in the gas phase, and gas components solubility in the aqueous phase).

    T+RGB seems to be able to simulate the same conditions modeled by ECO2N V.1 and V.2, even though its calculation of CO2-H2O mutual solubilities should be compared with those of ECO2N. With respect to ECO2N it has the advantage to model also real gas reservoirs. Modeled gas composition accounts for more gases than EOS7C V.1.0 (limited to CH4-CO2, or CH4-N2).

    It cannot model the 3-phase flow of a aqueous, a gas and a condensed CO2-rich phase as ECO2M. This capability might be required in shallow aquifers or to study the migration of the CO2-rich supercritical phase towards the surface in case of leakages from the deep disposal aquifer.

    Alfredo

    Reply Like
    • Alfredo Battistelli 

      am getting the error"

      NUMBER OF ELEMENTS SPECIFIED IN DATA BLOCK "ELEME" EXCEEDS ALLOWABLE MAXIMUM OF    2800
       INCREASE PARAMETER "MaxNum_Elem" IN MAIN PROGRAM, AND RECOMPILE

       >>>>>>>>>>   F L O W   S I M U L A T I O N   A B O R T E D   <<<<<<<<<< "

      I know I have to change this 2800 to somewhere around 50000 for it to run my simulation (26001 ) elements

      but i searched all files, couldn't locate where to change?

       

      I found the error comes from file HRS_Inputs.f

       

      but

       

      where to change this value of 2800 to 50000 ? i am perplexed , i am not familiar with fortran at all

      here's a snapshot of all files in the code and relevant code files are uploaded here.

      Please help me locate where to change 2800 to 50000

      i read the discussion

      https://tough.forumbee.com/t/y7xmf6/question-about-tough2-output

      but still couldn't do it

      Reply Like
  • An update: i found the following piece of code in HRS_Inputs.f  this code checks number of mesh elements and compares with MaxNum_Elem

    and consequently, causes simulation to be skipped

    DO_NumEle1: DO n=1,10000000
    !
    ! -------------
    ! ...... Check if "MaxNum_Elem" is exceeded
    ! -------------
    !
             IF(n > MaxNum_Elem) THEN
                WRITE(6,6001) MaxNum_Elem
                NoFloSimul = .TRUE.              ! Bypass simulation
                RETURN
             END IF
    !
    ! ...... Initialize the element name
    !
             elem(n)%name = '        '
    !
    !
    ! >>>>>>>>>>>>>>>>>>
    ! ......
    ! ...... For 5-character elements
    ! ......
    ! >>>>>>>>>>>>>>>>>>

    !
    But still i can't find where to change MaxNum_Elem??

    Reply Like
  • I don't know this version of the code and don't have it, but it should be easy to find where MaxNum_Elem is set. You may need to extend your search, i.e., not just in the *.f Fortran source code files, but there may be include files. Under Linux/Unix, I would just go to the directory where all the source code files are and type:

    grep -i maxnum_elem *

    and I'm sure it will pop up.

    Stefan

    Reply Like
    • Stefan Finsterle i tried searching all files

      still i had no luck

      i can send you all thesourcee code files, if you have some free time

      Reply Like
  • The "HRS" prefix suggests this is HydrateResSim, a much older version of our codes distributed and supported by NETL. 

     

    TOUGH+ lets you set the variable Max_NumElem (spelling different than above) in the MEMORY block of the main input file. The only versions of TOUGH+ with a hardwired Max_NumElem would be unlicensed versions of the code used during LBNL's training courses.

    Reply Like
    • Matthew Reagan yes you are right 

      This is Hydrateressim, a much older version of your code, released prior to tough+hydrate

      But , plz explain clearly, how can i change Max_NumElem in Hydrateressim code files

      its limited to 2800 elements

      i want to run simulation with 50,000

      so, where to change this Max_NumElem??

      Reply Like
    • telegramboy i got the solution and its working

      Reply Like
Like Follow
  • 4 days agoLast active
  • 8Replies
  • 54Views
  • 5 Following