Journal Article

A Jacobian-free approximate Newton–Krylov startup strategy for RANS simulations


A. Yildirim, G. K. W. Kenway, C. A. Mader, and J. R. R. A. Martins


Journal of Computational Physics, 397108741, 2019



The favorable convergence rates of Newton–Krylov-based solution algorithms have increased their popularity for computational fluid dynamics applications. Unfortunately, these methods perform poorly during the initial stages of convergence, particularly for three-dimensional Reynolds-averaged Navier–Stokes simulations. Addressing this problem requires the use of a globalization method such as pseudo-transient continuation, along with an approximate Newton–Krylov startup stage. This class of methods marches the solution in pseudo-time with a matrix-based approximate Jacobian that has a lower bandwidth and better conditioning properties compared with the exact Jacobian. However, this matrix-based approach also has shortcomings, including a large cost of computing and storing the approximate Jacobian and its preconditioner, along with the need for an updated Jacobian for every nonlinear iteration. To rectify these shortcomings, we use herein approximate residual formulations in a Jacobian-free approximate Newton–Krylov algorithm. With the approximate Jacobian, we compute the vector products by using the approximate residual computations in a matrix-free manner while forming a preconditioner based on the matrix-based approximate Jacobian. This approach keeps the approximate Jacobian up to date and mitigates the cost of forming a matrix-based Jacobian and its preconditioner at each iteration by lagging the preconditioner between nonlinear iterations. We use varying levels of approximations with the matrix-free approach and thereby demonstrate the trade-off between rate of convergence and the cost of each nonlinear iteration. The proposed implementation uses only the exact and approximate residual formulations and can therefore be generalized with minimal additional implementation effort to a range of solvers and various discretizations. The code is available under an open-source license.