What is TOUGH2-MP?
TOUGH2-MP is a parallel version of TOUGH2 code, which is a general-purpose numerical simulation program for multi-phase fluid and heat flow in porous and fractured media. TOUGH2 was developed at the Earth Sciences Division of Lawrence Berkeley National Laboratory by Karsten Pruess for applications in geothermal reservoir engineering, nuclear waste disposal, environmental assessment and remediation, unsaturated zone hydrology, water resources and geologic storage of CO2 (carbon sequestration).
TOUGH2-MP is intended for large-scale and high performance simulations running on distributed-memory or shared-memory parallel computers, including supercomputers, Linux clusters, workstations and multi-core PCs. The code was originally developed on CRAY T3E and IBM SP super-computers in 2000. It has been improved all the way in the past several years. The parallel code has been successfully applied to solve field scale problems and high resolution simulations with multi-million gridblocks.
TOUGH2-MP can dramatically enhance multiphase flow modeling capacity using existing computer resources. The code demonstrates excellent scalability. Since the parallel code was developed based on an existing “mature” code, it inherits not only simulation functions from the original code, but also all other features, including input/output format, error handling, and improvements for code stability. These features guarantee robustness of the parallel code and easy use for the community of the original code. The domain decomposition approach implemented in the TOUGH2-MP and parallel computations enhance model simulation capacity in term of problem size and complexity to a level that can never be reached by single CPU codes. By using the TOUGH2-MP, multi-million gridblock problems can be run on typical Linux clusters with several tens of processors without any difficulty.
With the growing popularity of multi-core CPUs, the need for parallel processing on PCs will be indispensable. TOUGH2-MP provides a large-scale simulation tool for people who cannot afford to perform such simulations on clusters or supercomputers. It is expected that parallel computing code will become a standard for scientific computing on multi-core PCs in near future.

