# Scalable Block Preconditioners for Linearized Navier-Stokes Equations at High Reynolds Number
## 1 Introduction  
The task of numerically solving the Navier-Stokes equations is of fundamental importance in many scientific and industrial applications; the strong nonlinearity of the equations and the lack of any theoretical result about existence and regularity of the solutions leaves the scene only to numerical approximations. These have been developed since the beginning of the computing era, but, despite the enormous efforts put into the development of new algorithms, the problem of finding a good solver for most of the practical situations involving the Navier-Stokes equations has always been elusive, particularly when the Reynolds number becomes large. One of the approaches to the numerical solution of the Navier-Stokes equations is given by the Finite Element Method, which, after a linearization of the nonlinear terms, gives rise to a saddle point linear system: this particular system has a structure that appears in many other problems, but in this context it is possible to exploit the underlying continuous formulation to develop efficient preconditioners in the framework of iterative solvers. In this work, we focus in finding a scalable preconditioner for these saddle point linear systems: many preconditioners have already been developed and tested successfully, for instance in [1; 2; 3; 4; 5]; we choose to use the Constraint Preconditioner, already analyzed in all its forms in [6; 7; 8], and the more popular, in the Fluid Dynamics community, Block Triangular Preconditioner, employed e.g., in [9; 10]. We also mention the comprehensive review [11] of preconditioners for saddle point linear systems, and the references therein. We use the GMRES method and look for a scalable preconditioner, i.e., a preconditioner that allows GMRES to converge in a number of iterations that does not deteriorate as the mesh is refined, in order to obtain an efficient solver. The success of this task lays on finding scalable preconditionersfor the \((1,1)\) block and the Schur complement of the saddle point system. It is well known that a Multigrid technique can be used as a scalable preconditioner for the Poisson problem; the \((1,1)\) block of our system corresponds to a discrete convection-diffusion operator, which is a variation of a Poisson problem that also involves convective processes. The generalization of Multigrid preconditioners to these kind of situations requires a robust smoother, which can be built using a stationary method involving a pattern that follows the convective flow. This approach has already been tested in [2,12,13]. With regard to the preconditioner for the Schur complement, we will mainly use the preconditioner developed in [9] and improved in [14]. These techniques are based on the assumption that a particular commutator is sufficiently small to neglect it, while they do not exploit the particular underlying structure of the problem, as it happens in the Stokes case. The problem that we use as test is the well-known 2-dimensional lid-driven cavity, discretized using \(P_{2}-P_{1}\) elements and with values of the viscosity as low as \(10^{-3}\). The main goals that we want to achieve are:  
* Develop a smoother that is able to follow the convective flow in the case of the recirculating problem considered; this in turn would allow us to build a scalable Multigrid preconditioner for the \((1,1)\) block. * Review and compare a number of Schur complement preconditioners available in the literature. * Use information on the spectrum of the preconditioned \((1,1)\) and Schur complement blocks to improve the overall preconditioner and possibly improve scalability in the case of dominating advection. The rest of the paper is structured as follows: In Section 2, we describe the continuous problem and its weak formulation, while Section 3 is devoted to the development of a stable Mixed Finite Element formulation, the Picard linearization process, and the properties of the saddle point linear systems to be solved at each nonlinear iteration.