Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] aeuf_v1_0.tar.gz(9 Kbytes)
Manuscript Title: An open source massively parallel solver for Richards equation: mechanistic modelling of water fluxes at the watershed scale
Authors: L. Orgogozo, N. Renon, C. Soulaine, F. Hénon, S. K. Tomer, D. Labat, O. S. Pokrovsky, M. Sekhar, R. Ababou, M. Quintard
Program title: RichardsFOAM
Catalogue identifier: AEUF_v1_0
Distribution format: tar.gz
Journal reference: Comput. Phys. Commun. 185(2014)3358
Programming language: C++.
Computer: any x86, tested only on 64-bit machines.
Operating system: Generic Linux.
Keywords: Variably saturated flow, Richards equation, OpenFOAM®, Massively parallel computation, Transfers in soils, Porous media.
Classification: 13.

External routines: OpenFOAM® (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®. 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® framework) and explicit (FVC in the object oriented OpenFOAM® 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.

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 seconds on a 64 bit machine with Intel®CoreTMi7-2760QM CPU @ 2.40GHz x8 and 3.8 Gigabytes of RAM.