⃝
Massively parallel computation Transfers in soils Porous media a b s t r a c tIn this paper we present a massively parallel open source solver for Richards equation, named the RichardsFOAM solver. This solver has been developed in the framework of the open source generalist computational fluid dynamics tool box OpenFOAM R ⃝ and is capable to deal with large scale problems in both space and time. The source code for RichardsFOAM may be downloaded from the CPC program library website.It exhibits good parallel performances (up to ∼90% parallel efficiency with 1024 processors both in strong and weak scaling), and the conditions required for obtaining such performances are analysed and discussed. These performances enable the mechanistic modelling of water fluxes at the scale of experimental watersheds (up to few square kilometres of surface area), and on time scales of decades to a century. Such a solver can be useful in various applications, such as environmental engineering for long term transport of pollutants in soils, water engineering for assessing the impact of land settlement on water resources, or in the study of weathering processes on the watersheds.
Program summaryProgram title: RichardsFOAM Catalogue identifier: AEUF_v1_0 Program summary URL: L. Orgogozo et al. / Computer Physics Communications ( ) -External routines: OpenFOAM R ⃝ (version 2.0.1 or later)
Nature of problem:This software solves the non-linear three-dimensional transient Richards equation, which is a very popular model for water transfer in variably saturated porous media (e.g.: soils). It is designed to take advantage of the massively parallel computing performance of OpenFOAM R ⃝ . The goal is to be able to model natural hydrosystems on large temporal and spatial scales.
Solution method:A mixed implicit (FVM in the object oriented OpenFOAM R ⃝ framework) and explicit (FVC in the object oriented OpenFOAM R ⃝ framework) discretization of the equation with a backward time scheme is coupled with a linearization method (Picard algorithm). Due to the linearization loop the final solution of each time step tends towards a fully implicit solution. The implementation has been carried out with a concern for robustness and parallel efficiency.
Restrictions:The choice of the maximum and initial time steps must be made carefully in order to avoid stability problems. A careful convergence study of mesh cell size, linear solver precision and linearization method precision must be undertaken for each considered problem, depending on the precision required for the expected results, the spatial and temporal scales at stake, and so on. Finally, the solver in its current version only handles meshes with a constant cell volume (a crash will not necessarily occur with an irregular mesh but some problems may arise with the convergence criterion of the linearization method).
Running time:Highly variable, depending on the mesh size and the number and nature of cores involved. The test run provided requires less than 2 s on a 64 bit machine with Intel R ⃝ CoreT...