Linear Solvers in OpenFOAM: A Technical Review and SIMPLE Convergence Study
M. El Abbassi (TU Delft - Electrical Engineering, Mathematics and Computer Science)
Cornelis Vuik (TU Delft - Electrical Engineering, Mathematics and Computer Science)
More Info
expand_more
Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.
Abstract
This article reviews the linear solvers available in OpenFOAM and assesses their impact on the convergence behaviour of the SIMPLE algorithm. The discretisation of transport equations in CFD results in large and sparse linear systems, for which the choice of linear solver strongly influences the computational time. Although the solver does not change the final discrete solution, the difference in speed and robustness between the solvers can be more than one order of magnitude. A brief overview is given concerning how the velocity and pressure fields are decoupled in OpenFOAM, followed by a detailed review of the main linear solver families, including direct methods, basic iterative methods, multigrid methods and Krylov subspace methods, with attention to their practical strengths and weaknesses. The performance of the most advanced solvers is evaluated on a full-scale non-reacting kiln case consisting of 2.3 million cells. The pressure-corrector equation is identified as the main bottleneck in the SIMPLE algorithm. The conjugate gradient (CG) solver with a multigrid (MG) preconditioner is found to be the fastest and most stable method, achieving speed-ups of up to a factor of 7 compared to the slower advanced methods. Using MG as a preconditioner also improves the robustness of the Bi-CGStab method.