Permafrost, i.e., soil that is year-round frozen in depth, is covering a quarter of the continents of the northern hemisphere. It currently experiences fast changes due to climate change at global scale and technogenic perturbations at local scale, and the assessment and anticipation of these changes are of primary importance for many environmental and engineering applications in cold regions. To these ends, permafrost modelling is required, while the strong couplings and non-linearities involved in the physics at stake make it highly challenging, especially from a computational point of view. In this work we present a new solver for permafrost hydrology developed in the framework of OpenFOAM®, allowing to benefit from its advanced high-performance computing capabilities. The solver is tested for realistic, field-based cases, and its parallel performances are characterized up to ∼16000 cores on IRENE supercomputer (TGCC, CEA). Program summaryProgram Title: permaFoamCPC Library link to program files:https://doi.org/10.17632/swp88cvpwb.1Developer's repository link:https://develop.openfoam.com/Community/hydrology/Licensing provisions: GPLv3Programming language: C++Nature of problem: This software solves the coupled equations that govern water flow and heat transfer in variably saturated and variably frozen porous media, for transient problems in Three-dimensional, heterogeneous domains. The equation for water flow is Richards equation, which is a very popular model for water transfer in variably saturated porous media (e.g.: soils), and the equation for heat transfer is a Fourier equation including advection and the freeze/thaw of the pore water. The solver is designed to take advantage of the massively parallel computing performance of OpenFOAM®. The goal is to be able to model natural hydrosystems of cold regions on large temporal and spatial scales.Solution method: For each equation a mixed implicit (FVM for Finite Volume Method in the object oriented OpenFOAM framework) and explicit (FVC for Finite Volume Calculus in the object oriented OpenFOAM® framework) discretization with backward time scheme is embedded in an iterative linearization procedure (Picard algorithm). The coupling between the two equations is performed through an operator splitting approach. The implementation has been carried out with a concern for robustness and parallel efficiency.Additional comments including restrictions and unusual features: This version of permaFoam has been tested with OpenFOAM_v1912, v2106, v2112 and v2206, thus everything might not work with other (especially older) versions of OpenFOAM®. When using permaFoam, one should be careful to use fine enough spatial and temporal discretisations where and when steep fronts (freeze/thaw fronts, imbibition/drainage fronts) occur, otherwise numerical stability problems might arise.
Read full abstract