MT3DMSP – A parallelized version of the MT3DMS code Ramadan Abdelaziz a,⇑ , Hai Ha Le b a Institute for Hydrogeology, TU Bergakademie Freiberg, Germany b Institute for Geophysics and Geoinformatics, TU Bergakademie Freiberg, Germany article info Article history: Received 11 February 2014 Received in revised form 2 June 2014 Accepted 10 June 2014 Available online 25 June 2014 Keywords: MT3DMS Parallel programming SSOR-AI OpenMP MT3DMS5P abstract A parallelized version of the 3-D multi-species transport model MT3DMS was developed and tested. Spe- cifically, the open multiprocessing (OpenMP) was utilized for communication between the processors. MT3DMS emulates the solute transport by dividing the calculation into the flow and transport steps. In this article, a new preconditioner, derived from Symmetric Successive Over Relaxation (SSOR) was added into the generalized conjugate gradient solver. This preconditioner is well suited and appropriate for the parallel architecture. A case study in the test field at TU Bergakademie Freiberg was used to pro- duce the results and analyze the code performance. It was observed that most of running time would be required for the advection, dispersion. As a result, the parallel version decreases significantly running time of solute transport modeling. In addition, this work provides a first attempt to demonstrate the capability and versatility of MT3DMS5P to simulate the solute transport in fractured gneiss rock. Ó 2014 Elsevier Ltd. All rights reserved. 1. Introduction In the past decade, fluid flow and solute transport in porous media and fractured aquifers attracted the attention of many Geo-scientists. Hydraulic and transport properties controlling fluid flow are of high heterogeneity in fractured aquifers. Simulations took a lot of time to compute. In fact, the computation time more or less depended on the model scale. When the model area was large and had many grid cells, it required more computation time. To accelerate the 3-D multi-species transport model, the need arose to use parallel computing. MT3DMS (Zheng and Wang, 1999) is a block-centered finite difference solver that performs the spatial and temporal discretization of the equations. In general, the flow steps for a fluid flow model are large and each flow time step needs to subdivide into smaller steps of the transport model because of stability criteria. In this paper, the early attempts to construct and implement a highly parallel version of MT3DMS v5.3 (Zheng, 2010) three dimensional, Multi-Species transport simulators is demonstrated. The aim of this work was to parallelize MT3DMS so that such a large-scale model, which can be executed in reasonable time. Fur- thermore, a new preconditioning option which will help to improve the solution scheme is proposed. To the best of our knowl- edge, MT3DMS has never been parallelized to simulate contaminat transport in an aquifer. 1.1. Parallel programming Parallel programming increases capability of computers. Many compilers are available to parallelize the program for multi-pro- cessing and accelerate the processing. One of these compilers is the Intel Ò Fortran compiler. The recent Intel Ò compiler contains OpenMP3.1 and an automatic loop parallelization. Moreover, the recent version includes a feature which improves the performance of the code. Parallel programming is aimed at breaking down a program into parts that can be executed concurrently. A parallel program always uses multi-threads, therefore developers need to control the side- effects that can occur when these threads interact with shared resources. The idea of parallel programming is not new but devel- opers still find it hard to implement effectively. Recently, some models have been invented to support the development of parallel programs. Most prominent among these models are open multi- processing (OpenMP) for shared memory programming (Chandra, 2001; Chapman et al., 2008; Chivers and Sleightholme, 2012; OpenMP, 2013), and message passing interface (MPI) for distrib- uted memory programming (MPI, 2013; OpenMpi, 2013). Although the parallel program developed by MPI can run on both shared and distributed memory architectures, programming with MPI requires more code changes to go from the serial version to the parallel ver- sion. Sometimes, because of the limitations in the communication http://dx.doi.org/10.1016/j.jafrearsci.2014.06.006 1464-343X/Ó 2014 Elsevier Ltd. All rights reserved. ⇑ Corresponding author. Address: Gustav-Zeuner-Str. 12, D-09596 Freiberg, Germany. Tel.: +49 17634181843. E-mail addresses: ramawaad@gmail.com (R. Abdelaziz), lehai@mailserver. tu-freiberg.de (H.H. Le). Journal of African Earth Sciences 100 (2014) 1–6 Contents lists available at ScienceDirect Journal of African Earth Sciences journal homepage: www.elsevier.com/locate/jafrearsci