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. VALIDATION AND APPLICATION EXAMPLES
  2. TMVOC

Problem 4-Steam Displacement of a NAPL in a Laboratory Column (rtcem)

PreviousProblem 3-Diffusion of components (rdif2)NextProblem 5-Steam Displacement of a Benzene-Toluene Mixture in a Laboratory Column (rbt)

Last updated 10 months ago

This problem is the sample problem 4 in TOUGH3/TMVOC user manual. It models, in a somewhat simplified way, a laboratory experiment conducted by Hunt et al. (1988). The simulation consists of three parts that involve, respectively, injection, waterflooding, and steam flooding of TCE in a horizontal sand packed column. The column is 91 cm long with a cross sectional area of 20.428 cm2. The mesh used for this simulation consists of 50 evenly spaced elements with a mesh spacing of 1.82 cm. Initially, the column is water saturated with no air or VOC present.

Part 1

The first part of the simulation involves the injection of liquid trichloroethylene into a system that is in single-phase liquid (aqueous) conditions and is run with the input file (INFILE for the first part). We specify initial conditions as T2VOC-style in data block MODDE to initialize the system with two component (water and air). The temperature in the column is 22 °C, and deliverability boundary conditions are used at each end of the column. The deliverability boundary condition is specified by setting TYPE in record GENER.1 equal to DELV and by specifying a productivity index (GX in record GENER.1) and a wellbore pressure (EX in record GENER.1). Trichloroethylene is injected at a constant rate into the 15th element by choosing the TCE or COM3 option for TYPE in record GENER.1. The specific enthalpy of the injected trichloroethylene (EX in record GENER.1) corresponds to liquid trichloroethylene at a temperature of about 22 °C. Because the TCE injection is run in isothermal mode this enthalpy specification is not really necessary. The various constants used to compute the thermophysical properties of trichloroethylene are contained in data block CHEMP. Details of the three-phase relative permeability functions ( in record RPCAP.1) and the three-phase capillary pressure functions ( in record RPCAP.2) can be found in the Appendix.

Trichloroethylene is injected into the column for a period of 120 s, with an initial time step size of 2 seconds. The simulation results agree with the results by TOUGH3/TMVOC simulation of the same problem very well. The NAPL plume (region with SO ≠ 0) is seen to extend from grid block AA 12 to AA 18.

Part 2

The second part of this simulation consists of injecting cold water (22 °C) into one end of the column and allowing fluids to drain from the other end of the column according to a deliverability boundary condition (TYPE = DELV in record GENER.1). The initial conditions for this part of the simulation are the conditions at the end of the first part of the simulation. To start the second part of the simulation, the SAVE file generated by the first part of the simulation was placed into the input file. This file is otherwise similar to the input file of part 1, except that data block GENER has been changed. These changes consist of removing the NAPL injection, and changing the inlet condition at the first element to water (COM1) injection.

Water with a specific enthalpy of 9.2332×1049.2332 \times 10^49.2332×104J/kg is injected at a rate of 3.5395×10−43.5395 \times 10^{-4}3.5395×10−4 kg/s (a Darcy velocity of 15 m/day) for a period of 17,880 s with an initial time step size of 2 s. The simulation is run to a total time of 18,000 s (120 s + 17,880 s). The NAPL plume has migrated downstream and spread. It extends from grid block AA 18 to AA 32 but has not reached the outlet. The aqueous phase downstream from the plume contains VOC at a mole fraction of 0.15091×10−30.15091 \times 10^{-3}0.15091×10−3, corresponding to the solubility limit of 1.100 kg/m3kg/m^3kg/m3 24.6 % of the original VOC has been removed by dissolution in the aqueous phase and subsequent extraction from well PRO 1. The results agree well with the TOUGH3/TMVOC simulation.

Part 3

The final part of the simulation consists of steam injection into the column. Again, the initial conditions for this part of the problem are the conditions at the end of the previous part. The file SAVE generated during the waterflood part of the simulation was placed in the input file as block INCON . During this final part of the simulation, steam with an enthalpy of 1.562×1061.562 \times 10^61.562×106J/kg is injected at a rate of 3.5341×10−53.5341 \times 10^{-5}3.5341×10−5 kg/s for a period of 9000 s. In MODDE data section, simulation must be specified as non-isothermal to include an energy balance equation. To improve the convergence behavior for current simulation, primary variable change-based convergence criteria are used (see , prvCR1=1000.0, prvCR2=0.01, prvCR3=0.1 in input file INFILE).

Outputs can be downloaded in following link. After 5,000 s of steam injection, a compact NAPL bank is present in the condensation zone ahead of the steam front (grid blocks AA 39 to AA 43), demonstrating that the steam is effectively displacing the trichloroethylene. By the end of the simulation, after 9000 s of steam injection, the entire column is at the steam temperature, and the trichloroethylene has been completely removed. Simulation results agree well with those from a TOUGH3 simulation, but TOUGH3/TMVOC requires a considerably larger number of time steps for this problem.

Two-gas simulation

To illustrate the use of multiple non-condensable gases, we also present a variation of the steam flooding problem in which oxygen and nitrogen are selected in data block instead of air. However, due to the fact that N2 and O2 have a zero mass fraction in the fluid which is the same for Air in part1-part3 simulation, we can directly use the SAVE file from the part 2 simulation as initial condition for current simulation. Current simulation has one more gas component which requires one additional primary variable. By using the (initCType="FM......"), the initial condition generated in part 2 simulation can correctly read into current simulation. In this simulation initCType must equal to "FM1L12034", where:

FM is the indicator of the special transformation input.

1L specifies 1 line to be read for each element

12034 indicates relation between the INCON data and primary variables of current simulation:

data 1 ==> Primary Variable 1

data 2 ==> Primary Variable 2

0 ==> Primary Variable 3

data 3 ==> Primary Variable 4

data 4 ==> Primary Variable 5

The simulation results of current model match the results from part 3 simulation quite well. The input/out files can be downloaded from following links.

Part 1:

Part 2:

Part 3:

Two-gas Simulation:

Input Files:

Output Files:

Input Files:

Output Files:

Input Files:

Output Files:

Input Files:

Output Files:

🔟
IRP = 32
ICP = 31
PARAM.3
GASES
special format transformation input
INFILE_rtcem1.zip
output files
INFILE_rtcem2.zip
output files
INFILE_rtcem3.zip
output files
INFILE_2gases.zip
output files