General-Purpose Reservoir Simulators: the TOUGH2 Family
Karsten Pruess, Stefan Finsterle, George Moridis, Curt Oldenburg, and Yu-Shu Wu
Earth Sciences Division, Lawrence Berkeley National Laboratory
(510) 486-6732; K_Pruess@lbl.gov
ABSTRACT
TOUGH2 is a general-purpose fluid and heat flow simulator, with applications in geothermal reservoir engineering, nuclear waste disposal, and environmental contamination problems. This article summarizes recent developments which enhance the useability of the code, and provide a more accurate and comprehensive description of reservoir processes.
Geothermal reservoir simulation is a mature technology which is now routinely used in the assessment, development, and management of geothermal resources. Advances continue to improve the description of reservoir processes, enhance the numerical efficiency for solving large problems on small computers, and generally increase the utility of reservoir simulators as practical engineering tools.
Research into mathematical modeling and numerical simulation of geothermal reservoir processes has been conducted at the Berkeley lab for almost twenty years. Since the late 1980s, mathematical modeling of fluid and heat flow has increasingly emphasized problems in nuclear waste disposal and environmental contamination. Geothermal reservoir simulation technology now benefits from advances made in these areas.
The general objective of our work is to improve the power and utility of geothermal reservoir simulation as a robust and practical engineering tool. By making state-of-the-art simulation capabilities widely available to the geothermal community, we hope to reduce uncertainties in geothermal reservoir delineation and evaluation. Specific goals include (i) more comprehensive and accurate description of reservoir processes, (ii) improved numerical algorithms, to be able to simulate larger systems more efficiently on inexpensive computers, (iii) enhanced portability and ease of use of the simulator, (iv) development of novel applications of interest to the geothermal community, and (v) technology transfer and technical support for the TOUGH/MULKOM user community.
The TOUGH2 general-purpose simulator was released to the public in 1991 (Pruess, 1991). Subsequently a large number of enhancements have been developed. Some of these have also been released, while others are undergoing beta-testing or are limited to in-house use at the present time (see Table 1). In this paper we focus on recent developments that are of interest to the geothermal community.
Most of the computational work in a reservoir simulation arises in the solution of large sets of coupled linear equations. The 1991 release of TOUGH2 provided only one method for this task, namely, direct solution by sparse matrix methods. While this is a very stable and robust approach, storage requirements and numerical work increase rapidly with problem size and matrix bandwidth. The practical limit for 2-D problems is of the order of 2,000 grid blocks, while 3-D problems are limited to a few hundred grid blocks. To overcome these limitations, a set of three preconditioned conjugate gradient solvers was added to TOUGH2 (T2CG1; see Table 1). These solvers use iterative methods, whose computational work and memory requirements increase only slightly faster than linearly with problem size, making possible the solution of large 2-D and 3-D problems with of the order of 10,000 grid blocks. A technical report (Moridis and Pruess, 1995) presented detailed analysis of 16 fluid and heat flow problems, with as many as 20,000 coupled equations on different computer platforms (workstations, PCs, Macintosh).
Table 1. Summary of TOUGH2 enhancements. Status codes are: (PR) public release, (ß) beta-testing underway, (i) in-house use only. Additional developments not shown in this table include coupling with a wellbore simulator (Hadgu et al., 1995), grid generation programs, and a number of utility routines for pre- and post-processing of data.
| MODULE(status) | PURPOSE |
| T2CG1(PR) | preconditioned conjugate gradient solvers for simulation of large 2-D and 3-D problems with 10,000 grid blocks or more |
| TOUGH2 for PC(PR) | adaptation of TOUGH2 for Personal Computers (PC) |
| T2VOC(PR) | a module for 3-phase, 3-component flow of water, air, and a volatile organic compound (VOC) |
| ITOUGH2(ß) | inverse modeling, allowing automatic model calibration (history matching), and process optimization, with applications to test design, reservoir management, and environmental remediation |
| T2DM(ß) | strongly coupled flow and transport, with full hydrodynamic dispersion |
| EOS6(i) | fluid property module for water with silica dissolution and precipitation |
| EOS7(ß) | fluid property module for mixtures of water, brine, and air |
| EOS7R(ß) | fluid property module for water, brine, air, plus volatile tracers with optional parent - daughter chain decay |
| EOS8(ß) | fluid property module for three-phase flow of water, non-condensible gas, and black oil |
| EOS9(ß) | fluid property module for saturated/unsaturated flow according to Richards' equation (gas phase a passive bystander) |
| EWASG(ß) | fluid property module for three-component two-phase mixtures of water, water-soluble salt, and non-condensible gas; includes salt dissolution and precipitation, and associated porosity and permeability change |
| ECH4(i) | fluid property module for water and methane |
| EGEL(ß) | fluid property module for two-phase flow of an aqueous and a gas phase, where the aqueous phase may consist of a mixture of water and a gelling fluid |
| EOSNN(ß) | fluid property module for three-phase flow of water, non-condensible gas, and a non-Newtonian fluid |
| EOS1G(ß) | fluid property module for single-phase gas flow |
| MULH(i) | flow in strongly heterogeneous media (spatially correlated random permeability fields) |
| T2HYST(i) | hysteretic capillary pressure relationships |
TOUGH2 requires 64-bit arithmetic, while current workstations, PCs, and Macintoshes have 32-bit processors. FORTRAN compilers on workstations usually provide a "double precision" option which can generate a double-precision executable at compile time from single-precision code. Because such options have not been generally available on PCs and Macintoshes, we have created a version of TOUGH2 which is intrinsically double-precision. "TOUGH2 for PC" comes with a number of utility files and programs to facilitate implementation on these inexpensive and widely available machines (Antúnez et al., 1995). Memory requirements can be estimated from
where M is RAM in kilobytes, NEL is the number of grid blocks (elements), NCON is the number of connections between them, and NEQ is the number of equations (mass and heat balances) per grid block. Thus, a flow problem with up to 800 grid blocks, 2,400 connections, and 3 equations per grid block can be solved with 4 Megabytes of RAM, while simulation of a problem with 8,000 grid blocks, 24,000 connections, and 2 equations per grid block would require approximately 18 MB of RAM.
T2VOC is a module recently released through ESTSC, which was primarily designed for environmental contamination problems involving volatile organic chemicals (VOCs; Falta et al., 1995). However, T2VOC retains the full two-phase coupled fluid and heat flow capabilities of geothermal modules of TOUGH2, so that it is applicable to the migration of volatile tracers in two-phase geothermal reservoirs.
An important new development is the ITOUGH2 code for "inverse" modeling (Finsterle, 1993; Finsterle and Pruess, 1995; Finsterle et al., 1997). ITOUGH2 repeatedly calls the "normal" TOUGH2 code in an iterative process, automatically adjusting model parameters (such as reservoir permeability and porosity) to improve and optimize agreement between simulated results and field data. This overcomes the time- and labor-intensive tedium of traditional history matching (model calibration) through trial-and-error parameter adjustment "by hand." It also provides objective measures of "goodness of fit," such as error analysis and parameter sensitivities.

The inverse modeling process is illustrated in Figure 1. "Hard" and "soft" data are used tofirst construct a conceptual model of the reservoir. This forms the basis for a numerical model which typically involves a number of unknown or poorly known parameters (e.g., permeability and porosity distributions, reservoir size and boundary conditions, etc.). Conventional "forward" reservoir simulation is then used to generate reservoir performance predictions. These predictions are compared with field data and, based on the observed mismatch, the parameters of the numerical model are automatically revised in a manner that will reduce the mismatch. The process of automated parameter revisions is continued, in an iterative way, until model calibration (history match) is optimized.
Several new fluid property modules provide capabilities for handling multi-component fluids. EOS7 describes variable-salinity fluids as mixtures of water and NaCl brine, while EOS7R includes an additional capability for tracers with parent-daughter chain decay (Oldenburg et al., 1995; Oldenburg and Pruess, 1997). These tracers can partition between aqueous and gas phases, and sorb on reservoir rocks.
The EWASG fluid property module (Battistelli et al., 1997) describes three-phase (aqueous, solid, gas) mixtures of three components (water, sodium chloride, non-condensible gas). It includes a capability for precipitation and dissolution of salt, and associated porosity and permeability changes. It also models vapor pressure-lowering effects from both fluid salinity and suction pressures (capillary and vapor adsorption effects). Several choices are available for the non-condensible gas (CO2, air, CH4, H2, N2), and changes in gas solubility with salinity are included ("salting out").
A capability for modeling mass transport by molecular diffusion and hydrodynamic dispersion has been developed (T2DM). At the present time, this is limited to two-dimensional reservoir domains with a rectangular grid structure. The strong coupling between mass transport and fluid flow, primarily due to the dependence of fluid density on salinity, was found to give rise to complex flow behavior (Oldenburg and Pruess, 1995). Dispersive behavior can also arise in the process of immiscible displacement of reservoir steam by injected water in heterogeneous fractures (Pruess, 1996a).
Work is proceeding on higher-order differencing methods which minimize grid effects and smearing of fronts from artificial (numerical) dispersion. Such methods can provide much better accuracy for modeling tracer transport, which is expected to be especially useful for monitoring and design of injection systems (Oldenburg and Pruess, 1997).
Another active area of simulator development and application relates to the multi-scale heterogeneities found in fractured reservoirs. Geostatistical methods are being used to generate fracture networks and aperture distributions in natural rough-walled rock fractures, and to study fundamental issues relating to water injection in fractured reservoirs (Pruess, 1996b).
The TOUGH2 code is being distributed to the public through DOE's Energy Science and Technology Software Center (ESTSC; phone 423-576 2606, fax 423-576 2865, e-mail: estsc@adonis.osti.gov). Different versions are available for different computing platforms, from supercomputers to PCs. The distribution includes the FORTRAN77 source code, input files for sample problems, code documentation, and instructions for installation.
The LBNL group serves as custodians of the TOUGH/MULKOM codes, and provides limited technical support to the user community which presently numbers approximately 150 organizations in 23 countries. Our general aim is to foster an open, interactive environment that can attract and induce other researchers to use, improve, and share codes for mutual benefit. As indicated in Table 1, current research applications at LBNL involve a considerable number of TOUGH2 modules that have not yet been released to the public. Some of these modules can be made available to a limited number of beta-testers. Users with modeling needs that are not met by currently released TOUGH2 modules are encouraged to contact the LBNL group. We also welcome suggestions on future directions for our continuing simulator development.
Some TOUGH2 user support services and code enhancements are available from the private sector. Without endorsing any particular products and services, we mention a number of companies that offer pre- and post-processing facilities for TOUGH2. These include MET, Inc. (Newport Beach, CA; phone 714-852 9767, fax 714-852 8434, e-mail: montazer@ix.netcom.com), Industrial Research, Ltd. (Lower Hutt, New Zealand; phone 64-4-5690 000, fax 64-4-5690 003; WWW page: http://geocad.irl.cri.nz), and GERD, Ltd. (Tokyo, Japan; fax 81-3-3666 5289).
Prompted by the needs of DOE's civilian radioactive waste management program, TOUGH2 recently underwent qualification under a very strict QA (quality assurance) program. The QA report (Pruess et al., 1996) includes a summary of technical requirements and specifications of TOUGH2, a set of code verification problems, and a comprehensive bibliography (318 papers and reports) of TOUGH2-related developments and applications.
The TOUGH Workshop '95, held in March 1995 at LBNL, was attended by approximately 100 participants from 10 countries. The proceedings feature 53 technical papers in different areas, including geothermal reservoir engineering, oil and gas, nuclear waste isolation, environmental remediation, mining engineering, vadose zone hydrology, and simulation methods (Pruess, 1995). Another TOUGH workshop is expected to be held in 1998, although no date has been set. Watch for announcements on the Berkeley Lab's Web site (http://www.lbl.gov/Conferences/).
The authors are indebted to Drs. M. Lippmann and T. Xu for their review of the manuscript. We wish to acknowledge many valuable contributions from our collaborators outside LBNL, especially A. Battistelli, D. Bullivant, C. Calore, R. Falta, and M.J. O'Sullivan. This work was supported by the Assistant Secretary for Energy Efficiency and Renewable Energy, Office of Geothermal Technologies, U.S. Department of Energy under Contract No. DE-AC03-76SF00098.
Antúnez, A., G. Moridis and K. Pruess. Large-Scale Three-Dimensional Geothermal Reservoir Simulation on Small Computer Systems. Proceedings, World Geothermal Congress 1995, pp. 2977-2980, International Geothermal Association, May 1995.
Battistelli, A., C. Calore and K. Pruess. The Simulator TOUGH2/EWASG for Modeling Geothermal Reservoirs with Brines and Non-Condensible Gas, in press in Geothermics, 1997.
Falta, R.W., K. Pruess, S. Finsterle, and A. Battistelli. T2VOC User's Guide, Lawrence Berkeley Laboratory Report LBL-36400, March 1995.
Finsterle, S. ITOUGH2 User's Guide, Version 2.2. Lawrence Berkeley Laboratory Report LBL-34581, December 1993.
Finsterle, S. and K. Pruess. Solving the Estimation-Identification Problem in Two-Phase Flow Modeling. Water Resources Res., Vol. 31, No. 4, pp. 913-924, April 1995.
Finsterle, S., K. Pruess, D.P. Bullivant, and M.J. O'Sullivan. Application of Inverse Modeling to Geothermal Reservoir Simulation. Proceedings, Twenty-Second Workshop on Geothermal Reservoir Engineering, Stanford University, Stanford, CA, January 1997.
Hadgu, T., R.W. Zimmerman and G.S. Bodvarsson. Coupled Reservoir-Wellbore Simulation of Geothermal Reservoir Behavior. Geothermics, Vol. 24, No. 2, pp. 145-166, 1995.
Moridis, G. and K. Pruess. Flow and Transport Simulations Using T2CG1, a Package of Conjugate Gradient Solvers for the TOUGH2 Family of Codes. Lawrence Berkeley Laboratory Report LBL-36235, April 1995.
Oldenburg, C.M., K. Pruess and M. Lippmann. Heat and Mass Transfer in Hypersaline Geothermal Systems. Proceedings, World Geothermal Congress 1995, pp. 1647-1652, International Geothermal Association, May 1995.
Oldenburg, C.M. and K. Pruess. Dispersive Transport Dynamics in a Strongly Coupled Groundwater-Brine Flow System. Water Resour. Res., Vol. 31, No. 2, pp. 289-302, February 1995.
Oldenburg, C.M. and K. Pruess. Higher-Order Differencing for Geothermal Reservoir Simulation. Proceedings, Twenty-Second Workshop on Geothermal Reservoir Engineering, Stanford University, Stanford, CA, January 1997.
Pruess, K. TOUGH2 - A General Purpose Numerical Simulator for Multiphase Fluid and Heat Flow, Report No. LBL-29400, Lawrence Berkeley Laboratory, Berkeley, CA, May 1991.
Pruess, K. (editor). Proceedings of the TOUGH Workshop '95, Lawrence Berkeley Laboratory Report LBL-37200, March 1995.
Pruess, K. A Fickian Diffusion Model for the Spreading of Liquid Plumes Infiltrating in Heterogeneous Media. Transport in Porous Media, Vol. 24, No. 1, pp. 1-33, 1996a.
Pruess, K., On Vaporizing Water Flow in Hot Sub-Vertical Rock Fractures, submitted to Transport in Porous Media, October 1996b.
Pruess, K., A. Simmons, Y.S. Wu and G. Moridis. TOUGH2 Software Qualification. Lawrence Berkeley National Laboratory Report LBL-38383, February 1996.
go to TOUGH2 home page