TOUGH+RealGasBrine for CO2 injection
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!
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.
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
NoFloSimul = .TRUE. ! Bypass simulation
! ...... Initialize the element name
elem(n)%name = ' '
! ...... For 5-character elements
But still i can't find where to change MaxNum_Elem??
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.
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.