TOUGH4 User Manual
  • Quick Entry to Keywords for Data Input
  • 1️⃣INTRODUCTION
    • About TOUGH
    • TOUGH Development History
    • TOUGH4 Implementation
    • Scope and Methodology
  • 2️⃣WHAT IS NEW IN TOUGH4
  • 3️⃣CODE COMPILATION AND INSTALLATION
    • Setup for Compilation
    • Code Compilation
      • 1. Compilation of TOUGH4 using Visual Studio
      • 2. Compilation of TOUGH4 on Linux-like platform
    • Installation
    • Running the Executable for Simulations
  • 4️⃣GOVERNING EQUATIONS
    • Mass-Balance Equation
    • Accumulation Terms
    • Flux Terms
    • Sink and Source Terms
    • Virtual Node Well Treatment
    • Semi-Analytical Conductive Heat Exchange
    • Drift Model
    • Non-Darcy Flow
  • 5️⃣NUMERICAL METHOD
    • Space and Time Discretization
    • Interface Weighting Schemes
    • Initial and Boundary Conditions
      • Initial Conditions and Restarting
      • Neumann Boundary Conditions
      • Dirichlet Boundary Conditions
      • Atmospheric Boundary Conditions
      • Constant Temperature Boundary Conditions
    • Parallel computing schemes
    • Linear Solvers
    • Python Functions
      • Relative Permeability
      • Capillary Pressure
      • Initial Condition Calculation
      • Fetching Output Data
      • Fetching Thermophysical Property Data From NIST Webbook
      • Coupling With Third-Party Software
  • 6️⃣SOFTWARE ARCHITECTURE
    • Program Design
    • Data Structure
    • Linear Equation Setup
  • 7️⃣PROCESS MODELING
    • EOS1
    • EOS2
    • EOS3
    • EOS4
    • EOS6
    • EOS7
    • EOS9
    • ECO2
    • EWASG
    • TMVOC
    • Tracers/Decay Chain
    • Biodegradation Reaction
    • Wellbore Flow
    • Non-Darcy Flow
    • Enhanced Coal Bed Methane
  • 8️⃣PREPARATION OF MODEL INPUT
    • Input Formatting
    • Keywords and Input Data
      • TITLE
      • BIODG
      • CBMDA
      • CHEMP
      • COFT
      • CONNE
      • COUPL
      • DIFFU
      • ELEME
      • ENDCY
      • ENDFI
      • FLAC
      • FNIST
      • FOFT
      • FORCH
      • GASES
      • GENER
      • GOFT
      • HYSTE
      • INCON
      • INDOM
      • MESHM
      • MODDE
      • MOMOP
      • MULTI
      • OUTPU
      • PARAM
      • ROCKS
      • ROFT
      • RPCAP
      • SELEC
      • SOLVR
      • SPAVA
      • TIMBC
      • TIMES
      • TRACR
      • WELLB
    • Inputs for Initial Conditions
      • EOS1
      • EOS2
      • EOS3
      • EOS4
      • EOS6
      • EOS7
      • EOS9
      • ECO2
      • EWASG
      • TMVOC
    • Geometry Data
      • General Concepts
      • MESHMaker
      • Multiple-continuum processing
    • Inputs for MESHMaker
      • Generation of radially symmetric grids
        • RADII
        • EQUID
        • LOGAR
        • LAYER
      • Generation of rectilinear grids
      • MINC processing for fractured media
    • Adjustment of Computing Parameters at Run-time
  • 9️⃣OUTPUTS
  • 🔟VALIDATION AND APPLICATION EXAMPLES
    • EOS1
      • Problem 1 - Code Demonstration
      • Problem 2 - Heat Sweep in a Vertical Fracture (rvf)
      • Problem 3 - Five-spot Geothermal Production/Injection (rfp)
      • Problem 4 - Coupled Wellbore Flow (r1q)
      • Problem 5 - Five-Spot Geothermal Production/Injection under extremely high temperature
    • EOS2
      • Problem 1 -Five-spot Geothermal Production/Injection (rfp)
    • EOS3
      • Problem 1 - Code Demonstration (eos3p1)
      • Problem 2 - 1D TH Problem with Heating and Gas Source (by Guanlong Guo)
      • Problem 3 - Heat Pipe in Cylindrical Geometry (rhp)
      • Problem 4 - 3D Thermal Consolidation Test, Coupling with FLAC3D Simulator (by Guanlong Guo)
    • EOS4
      • Problem 1 - Code Demonstration (eos4p1)
      • Problem 2 - Heat Pipe in Cylindrical Geometry (rhp)
    • EOS6
      • Problem 1-Validation with EOS2
      • Problem 2-Noble Gas Transport
    • EOS7
      • Problem 1-Multiphase and Nonisothermal Processes in a System with Variable Salinity (rf1)
      • Problem 2-Thermal and Tracer Diffusion (EOS7R/rdif7)
      • Problem 3-Contamination of an Aquifer from VOC Vapors in the Vadose Zone (EOS7R/rdica)
      • Problem 4-Density, Viscosity, Solubility, and Enthalpy of Real Gas Mixtures (EOS7C/SAM7C1)
      • Problem 5-CO2 Injection into a Depleted Gas Reservoir (EOS7C2/SAM7C2)
      • Problem 6- CO2 Injection into a Saturated System (EOS7C/SAM7C3)
      • Problem 7-Density, Viscosity, and Enthalpy of Real Gas Mixtures (EOS7CA/SAM7CA1)
      • Problem 8-CO2 Injection into a Shallow Vadose Zone (EOS7CA/SAM7CA2)
      • Problem 9-Non-Isothermal Compressed Air Energy Storage in Reservoir (by Julien Mouli-Castillo)
    • EOS9
      • Page 1
    • ECO2
      • Problem 1-Demonstration of Initialization Options (ECO2N/rtab)
      • Problem 2-Radial Flow from a CO2 Injection Well (ECO2N/rcc3)
      • Problem 3-CO2 Discharge Along a Fault Zone (ECO2N/r1dv)
      • Problem 4-CO2 Injection into a 2-D Layered Brine Formation (ECO2N/rtp7)
      • Problem 5-Upflow of CO2 along a Deep Fault Zone (ECO2M/r1d)
      • Problem 6-Migration of a CO2 Plume in a Sloping Aquifer, Intersected by a Fault (ECO2M/rwaf)
      • Problem 7-GCS/GHE with a double-porosity reservoir (Case6_50kg_DP/ECO2NV2)
    • EWASG
      • Problem 1 - Brine Density Calculation (dnh)
      • Problem 2 - Production from a Geothermal Reservoir with Hypersaline Brine and CO2 (rhbc)
    • TMVOC
      • Problem 1-Initialization of Different Phase Conditions (r7c)
      • Problem 2-1-D Buckley-Leverett Flow (rblm)
      • Problem 3-Diffusion of components (rdif2)
      • Problem 4-Steam Displacement of a NAPL in a Laboratory Column (rtcem)
      • Problem 5-Steam Displacement of a Benzene-Toluene Mixture in a Laboratory Column (rbt)
      • Problem 6 -Air Displacement of a NAPL from a Laboratory Column (rad)
      • Problem 7-NAPL Spill in the Unsaturated Zone (r2dl)
    • T4.Well
      • Problem 1-Steady-state two-phase flow upward
      • Problem 2-Non-isothermal CO2 flow through a wellbore initially full of water
  • CONCLUSION REMARKS
  • REFERENCES
  • ACKNOWLEDGEMENT
  • Appendix
    • ☑️A: RELATIVE PERMEABILITY FUNCTIONS
      • IRP=1 Linear function
      • IRP=2 Power function
      • IRP=3 Corey's curves
      • IRP=4 Grant's curve
      • IRP=5 Perfectly mobile
      • IRP=6 Fatt and Klikoff function
      • IRP=7 van Genuchten-Mualem Model
      • IRP=8 Verma function
      • IRP=10 Modified Brooks-Corey Model
      • IRP=11 Modified van Genuchten Model
      • IRP=12 Regular hysteresis
      • IRP=13 Simple hysteresis
      • IRP=31 Three phase perfectly mobile
      • IRP=32 Modified Stone's first 3-phase method
      • IRP=33 Three-phase Parker's function
      • IRP=34 Alternative Stone 3-phase
      • IRP=35 Power-law function
      • IRP=36 Faust for two-phase Buckley-Leverett problem
      • IRP=37 Another alternative to Stone function
      • IRP=40 Table lookup
      • IRP=41 User-Defined relative permeability function
    • ☑️B: CAPILLARY PRESSURE FUNCTIONS
      • ICP=1 Linear function
      • ICP=2 Function of Pickens
      • ICP=3 TRUST capillary pressure
      • ICP=4 Milly’s function
      • ICP=6 Leverett’s function
      • ICP=7 van Genuchten function
      • ICP=8 No capillary pressure
      • ICP=10 Modified Brooks-Corey Model
      • ICP=11 Modified van Genuchten Model
      • ICP=12 Regular hysteresis
      • ICP=13 Simple hysteresis
      • ICP=31 Parker et al 3-phase function
      • ICP=32 Parker 3-phase function, alternative 1
      • ICP=33 Parker 3-phase function, alternative 2
      • ICP=34 Parker 3-phase function, alternative 3
      • ICP=40 Table lookup
      • ICP=41 User-Defined capillary pressure function
    • ☑️C: ADDITIONAL PROGRAM OPTIONS
    • ☑️D: DESCRIPTION OF FRACTURED FLOW
      • Multiple Continuum Approaches
      • Active Fracture Modle
Powered by GitBook
On this page
  1. PROCESS MODELING

ECO2

PreviousEOS9NextEWASG

Last updated 8 months ago

  1. Description

ECO2 is a fluid property module designed for applications to geologic storage of CO2 in saline aquifers. It includes a comprehensive description of the thermodynamics and thermophysical properties of H2O-NaCl-CO2 mixtures, that reproduces fluid properties largely within experimental error for temperature, pressure and salinity conditions in the range of 10oC<T<300oC10^oC<T<300 ^oC10oC<T<300oC, P<600 bar, and salinity from zero up to full halite saturation. TOUGH4/ECO2 combines the ECO2N, ECO2M and ECO2N V2 modules in TOUGH3 into a single module and provides the option to run the simulation in two-phase or three-phase conditions.

ECO2 can model the same fluid components (water, NaCl, and CO2) as modeled by TOUGH3/ECO2N, ECO2M and ECO2N V2. In addition, it also allows to include as many as 5 tracers in the simulation. In the two-component system water-CO2, at temperatures above the freezing point of water and not considering hydrate phases, three different fluid phases may be present: an aqueous phase that is mostly water but may contain some dissolved CO2, a liquid CO2-rich phase that may contain some dissolved water, and a gaseous CO2-rich phase that also may contain some water. Altogether there may be seven different phase combinations (Figure 19). If NaCl (“salt”) is added as a third fluid component, the number of possible phase combinations doubles, because in each of the seven phase combinations depicted in Figure 19 there may or may not be an additional phase consisting of solid salt. Liquid and gaseous CO2 may coexist along the saturated vapor pressure curve of CO2, which ends at the critical point (Tcrit,Pcrit)(T_{crit}, P_{crit})(Tcrit​,Pcrit​)= (31.04 °C, 73.82 bar; Vargaftik, 1975), see Figure 20. At supercritical temperatures or pressures there is just a single CO2- rich phase.

ECO2 can represent all of the phase conditions and transitions depicted in Figure 19. It may therefore be applied to flow systems that involve both sub- and supercritical temperature and pressure conditions, as well as transitions between them. ECO2 also provides an option by treating the liquid and gas CO2 as a single phase to simplify the simulation (equivalent to TOUGH3/ECO2N).

ECO2 inherits all the functionalities in handling phase transitions, treatment of dissolved and solid salts, partitioning of fluid components among phases, and calculation of fluid thermophysical properties, and impact of permeability by precipitation and dissolution. If there is any conflict of functionalities among these modules, the approaches in ECO2N V2 are adopted, or the program provides an option for user to choose. Any calculations involved in three-phase simulation will use the approaches provided by ECO2M. Details can be found in the user manual of the previous three EOS modules:

  1. Specifications

A summary of ECO2 specifications and parameters is given in Table 13. The default number of mass components for this module is 3 (water, CO2 and NaCl). The maximum number of components is 8. In TOUGH4, the gas component (CO2) is always component 2 (In TOUGH3/ECO2N ECO2M, ECO2N V2, CO2 is component 3). The flow system can be in 4 phases: gaseous CO2, aqueous, Liquid CO2, and solid salt. The solid salt is immobile and no flux calculation is needed.

Table 13 Summary for ECO2

Specification
Parameters

Components

(1) Water

(2) CO2

(3) NaCl (optional)

(4-8) Tracer1-Tracer5 (optional)

Phase condition and its state name and index

(1) Gas, GAS

(2) Aqueous, AQU

(3) Liquid, LIQ

(4) Aqueous-Gas, AQG

(5) Liquid-Gas, LIG

(6) Aqueous-Liquid, AQL

(7) Three Phase, ALG

Primary variables

Optional process modeling

Molecular diffusion, Wellbore simulation, Biodegradation reactions, and non-isothermal simulation.

∗* ∗ Solid salt can exist in any of the seven phase conditions

  1. Specific input requirements

IE(8) allows choice of the manner in which phase assignments are handled for supercritical temperatures. (Recall that for T > TcritT_{crit}Tcrit​, points with P ≥ PcritP_{crit}Pcrit​are arbitrarily assigned as liquid, points with P < PcritP_{crit}Pcrit​ as gas.)

0: the AQL<==> AQG phase transition will always be made, based on comparing P with PcritP_{crit}Pcrit​.

>0: the AQL <==> AQG phase transitions for supercritical T will only be made for the first few Newtonian iterations (iteration counter ITER ≤ IE(8)).

IE(9) allows choice of a finite window for certain phase transitions. A “hairtrigger” criterion (see Sec. 2.4, ECO2M user manual) will be applied for ITER < IE(9), while for ITER ≥ IE(9), phase transitions will only be made when pressure P or mass fraction X is outside a finite window.

The LIQ ==> LIG and AQL ==> ALG transition will only be made when P < (1 - FE(3)) * Ps,CO2P_{s,CO2}Ps,CO2​.

The AQG ==> ALG transition will only be made when P > (1 + FE(3)) *Ps,CO2P_{s,CO2}Ps,CO2​..

The LIQ ==> AQL transition will only be made when X < Xl,eqX_{l,eq}Xl,eq​* (1 - FE(3)).

The AQU ==> AQL transition will only be made when X >Xaq,lX_{aq,l}Xaq,l​* (1+FE(4)).

The AQU ==> AQG transition will only be made when X >Xaq,gX_{aq,g}Xaq,g​* (1+FE(4)).

IE(11) selects dependence of permeability on the fraction ϕf/ϕ0=(1−Ss)\phi_f /\phi_0=(1-S_s)ϕf​/ϕ0​=(1−Ss​) of original pore space that remains available to fluids.

0: permeability does not vary with ϕf\phi_fϕf​.

1: k/k0=(1−Ss)γk/k_0=(1-S_s)^\gammak/k0​=(1−Ss​)γ, with γ=FE(1)\gamma=FE(1)γ=FE(1).

2: fractures in series, i.e., Eq. (24) in ECO2N user manual with exponent 2 everywhere replaced by 3.

3: tubes-in-series, i.e., Eq. (24) in ECO2N user manual.

IE(13) allows choice of dependence of brine density on dissolved CO2.

0: brine density varies with dissolved CO2-concentration, according to García's (2001) correlation (Eqs. 13-14) for temperature dependence of molar volume of dissolved CO2.

1: brine density is independent of CO2 concentration.

IE(14) allows choice of treatment of thermophysical properties as a function of salinity.

0: full dependence.

1: no salinity dependence of thermophysical properties (except for brine enthalpy; salt solubility constraints are maintained).

2: no salinity dependence of thermophysical properties including brine enthalpy

IE(15) allows choice of correlation for brine enthalpy at saturated vapor pressure

0: after Lorenz et al. (2000).

1: after Michaelides (1981).

2: after Miller (1978).

IE(16) allows choice of mutual solubility model.

0: mutual solubilities from Spycher and Pruess (2005, 2010).

1: exactly the same mutual solubility model for low temperature as implemented in ECO2N (not recommended for systems involving high temperature).

IE(18) turn on/off the impact of permeability change caused by solid precipitation /dissolution in flux calculation

0: off

1: on, the changed permeability will be used for calculation of flux between two grids.

0: in three phases

1: in two phases, treat both gas and liquid CO2 as a single gas phase.

IE(31) Selects the effects of water on the thermophysical properties of the CO2-rich phase (for ECO2 only).

0: ignore the impact of water on the density and viscosity of the CO2-rich phase.

1: fully consider impact of water on the CO2-rich phase thermophysical properties.

-1: ignore the impact of water on density, viscosity and enthalpy of CO2-rich phase (IE(31)=-1 is compatible with ECO2N v1.0).

IE(34) Adjusts calculated CO2 enthalpy using the analytical solution by Altunin et al. (1975) to match the value from NIST Chemistry Web Book

0: no adjustment (compatible with ECO2N V1.0).

1: do the adjustment to match NIST reference state (If you use enthalpy data from NIST Chemistry Web Book as input for source/sinks, IE(34) must be 1 ).

IE(53) When in 3-phase ECO2 module simulation, CO2 near the critical point is allowed:

0: either in liquid or in gas phase, not both.

1: co-existing of liquid and gas phase CO2.

FE(1) parameter γ (for IE(11)=1); parameter ϕr\phi_rϕr​(for IE(11) = 2, 3)

FE(2) parameter Γ\GammaΓ (for IE(11) = 2, 3)

FE(3) if set to a small non-zero number (e.g., 10−510^{-5}10−5 to 10−310^{-3}10−3), will specify a finite window for some phase changes (see IE(9)).

FE(4) if set to a small non-zero number (e.g., 10−510^{-5}10−5 to 10−310^{-3}10−3), will specify a finite window for some phase changes (see IE(9)).

Simulations with ECO2N, ECO2M and ECO2N V2 in previous TOUGH codes require a data file CO2TAB for providing a table of CO2 thermophysical properties. Properties of pure CO2 contained in CO2TAB are obtained from correlations developed by Altunin et al. (1975). The Altunin's correlations have been implemented in TOUGH4, In a ECO2 simulation, CO2TAB is not essential. if CO2TAB file does not exist in the working directory, TOUGH4 will create the table for current simulation. The default CO2 property table generated by TOUGH4 covers following range:

pressure: 1.0e+05 to 7.25e+07 (Pa), divided in 200 points with a constant ΔP\Delta PΔP .

Temperature: 3.05 to 300.0 (oC^oCoC), divided in 150 points with a constant ΔT\Delta TΔT .

The default table has a total of 30000 (200×150200 \times 150200×150) points, Thermophysical properties at any pressure and temperature in the table given ranges can be interpolated from the table. TOUGH4 provides an option for user to define the table by input following parameters:

IE(50) number of the pressure points (allow 50-1000).

IE(51) number of the temperature points (allow 50-1000).

A reasonable CO2 property table will significantly improve simulation performance and accuracy. The table may only need to cover the pressure and temperature range that the current model may have, but it must cover the whole CO2 saturation line.

FE(50) lower bound of pressure range (in Pa).

FE(51) upper bound of pressure range (in Pa).

FE(52) lower bound of temperature range (in oC^oCoC).

FE(53) upper bound of temperature range (in oC^oCoC).

The partitioning of H2O and CO2 among co-existing aqueous and gas phases is calculated based on the correlations developed by Spycher and Pruess (2005) for the low temperature range (<99 oC^oCoC) and Spycher and Pruess (2010) for the high temperature range (109 to ~300 oC^oCoC). At the transition zone, we use a cubic function to interpolate both the equilibrium mass fraction of CO2 in the aqueous phase and the equilibrium mass fraction of H2O in the gas (CO2 rich) phase. The interpolation function makes use of four parameters that are determined by the function values and the function’s first derivatives at the two end points of the interpolation range . This approach guarantees a smooth transition between the low temperature and the high temperature ranges such that both the function and its first derivative are continuous. It was found that the current approach performs better than the model parameter blending approach suggested in Spycher and Pruess (2010) in terms of numerical stability and convergence, probably because this approach avoids the troublesome calculation of the mutual solubility near 100 oC^oCoC for both models. The default transition zone is in the range of 99~109 oC^oCoC. TOUGH4 allows users using a narrow transition zone which may get better numerical performance, by giving the lower and upper bound of the temperature range through FE(54) and FE(55)

FE(54) lower bound of the transition zone temperature range (in oC^oCoC).

FE(55) upper bound of the transition zone temperature range (in oC^oCoC).

In the numerical simulation of brine-CO2 flows, we are concerned with the fundamental thermodynamic variables that characterize the brine-CO2 system, and their change with time in different subdomains (grid blocks) of the flow system. Four primary variables are required to define the default state of water-NaCl-CO2 mixtures, which according to conventional TOUGH usage are denoted by X1, X2, X3, and X4. Depending upon the phase combination present, not all thermodynamic parameters are independent, and different sets of primary thermodynamic variables must be used for different phase combinations (see ). For consistency in TOUGH4, X2 is for fluid saturation or CO2 mass fraction, and X3 is for salt mass fraction or its solid saturation. which is opposite to the case in three EOS modules. In ECO2, it is difficult to identify and distinguish phase compositions based on the values of primary variables. For this reason, the input of phase state index or its name as part of the initial condition is required.

See

The specific input requirements for the previous three EOS modules are still allowed by ECO2. Inputs of the parameters through keyword "".

IE(22) run ECO2 simulation in (can also be specified in keyword )

7️⃣
ECO2N user manual
ECO2M user manual
ECO2N V2 user manual
Input for Initial Conditions
SELEC
MODDE.3
Table 26
Figure 19. Possible fluid phase combinations in the system water-CO2, and transitions between them in the P-T range of ECO2. The phase designations are a - aqueous, l - liquid CO2, g - gaseous CO2. Separate liquid and gas phases of CO2 exist only at subcritical conditions. Phase combinations are identified by a numerical index that ranges from 1 to 7.
Figure 20. Phase states of CO2