We develop an iterative solution technique for solving Stokes flow problems with smooth and discontinuous viscosity structures using a three dimensional, staggered grid finite difference discretization. Two preconditioned iterative methodologies are applied to the saddle point arising from the discrete Stokes problem. They consist of a velocity-pressure coupled approach (FC) and a decoupled, Schur complement approach (SC). Within both of these methods, we utilize either the scaled BFBt, or an identity matrix scaled by the local cell viscosity (LV) to define a preconditioner for the Schur complement. Additionally, we propose to use a mixed precision Krylov kernel to improve the convergence by reducing round-off error. In this approach, standard double precision is used during the application of the preconditioner, whilst higher precision arithmetic is used to define the matrix vector product, dot products and norms required by the Krylov method. In our Krylov kernel, we utilize quad precision arithmetic which is emulated via the double-double precision method. We consider several simplified geodynamic problems with a viscosity contrast to demonstrate the robustness and scalability of our solution methods. Through a careful choice of stopping conditions, we are able to quantitatively compare the residuals between the SC and FC approaches. We examine the trade-off relationship between the number of outer iterations required for convergence, and the computational cost per iteration, for the each solution methods. We find that it is advantageous to use the FC approach utilizing relaxed tolerances for solution of the sub-problems, combined with the LV preconditioner. We also observed that in general, the SC approach is more robust than FC and that BFBt is more robust than LV when used in our numerical experimental. In addition, our mixed precision method produces improved convergence rates of Arnoldi type Krylov subspace methods without a drastic increasing the computational time. The usage of a high precision Krylov kernel is found to be useful for the solver associated with the velocity sub-problem.
['Mikito Furuichi', 'Dave A. May', 'Paul J. Tackley']
Development of a Stokes flow solver robust to large viscosity jumps using a Schur complement approach with mixed precision arithmetic