73 Numbering along advection for Gauss-Seidel and Bidiagonal preconditioners P. Córdoba*, G. Houzeaux, J.C. Cajas Barcelona Supercomputing Center (BSC-CNS) *paula.cordoba@bsc.es Abstract- Domain decomposition methods (DDM) are often chosen to precondition sparse linear systems of equations, as they are famous to well-improve the convergence of iterative solvers. But at the same time, they are difficult to implement and can be computationally expensive. In this work a new mesh numbering to adapt preconditioning techniques to the physics of different problems is proposed as an alternative to DDM preoconditioning. INTRODUCTION Complex physical problems for both, applied fields and basic research, such as fluid dynamics, heat transfer problems, solid dynamics or general transport equations, are often represented by partial differential equations which have to be dicretized and solved numerically. This takes the continuum formulations of physics to systems of algebraic equations, and in order to obtain good approximations to the real life solutions of such problems it is necessary to solve systems with a great number of unknowns. The resulting matrices obtained from this discretizations are often very sparse, that is, only a few entries of the matrix differ from zero. Sparse linear systems of equations (SLSE) are usually solved with iterative solvers, as they are cheaper in terms of computer storage and CPU-time, but at the same time they are less robust than direct methods and often converge slowly to the desired solution. To cope with this problem, equivalent preconditioned systems can be solved instead of the original one, this means multiplying the system by a matrix called preconditioner, which has part of the information contained in the original matrix. Finding a good preconditioner for solving SLSE is not an easy task and several aspects have to be taken into account, on of them is the physics of the problem, as the coefficients of the matrix highly depend on this. In the present contribution the construction, implementation and results of a closely-related-to-the- physics preconditioners for convection dominated problems is studied. In this case, the information propagates mainly in the direction of advection. Then, independently of the discretization scheme considered (Finite Element, Finite vVolume, Finite Difference, etc,) the main contribution in every row of a certain node of the resultant matrix, apart from the diagonal term, comes from the closest neighboring in the opposite direction direction of the advection field. Thereby, a mesh node numbering along the flow direction (streamwise direction) is proposed in such a way that the main coefficient of each row will is, apart from the diagonal term, the first left off-diagonal term. Knowing this, several numerical examples in two and three dimensions have been tested using both Gauss-Seidel and Bidiagonal preconditioning together with Krylov subspace methods, inparticular the GMRES and BiCGSTAB solvers are used. The examples have been executed in sequential and in parallel and compared between them. Figure 1. Node ordering by its velocity module. METHODOLOGY The numbering algorithm is based on two main ideas. First, the nodes are ordered by its velocity module in an increasing way, starting with the ‘imposed’ inflow nodes and ending with the nodes of the outflow. This is clearly shown in Figure 1. After the nodes are put into different groups following what we call the ‘minimum angle criterium’ achieving like this the final ordering. This is done as it follows: 1. Starting with an inflow node, the forming vector between this node an each of its neighbors is computed. 2. Then different the cosines of the angle that these vectors form with the velocity vector that the inflow node has are computed and compared. a⋅b cosθ = ————- ∥a∥∥b∥ 3. Discarding the nodes which have a negative or zero cosine, the next node in the group will be the one that forms the smallest angle with the velocity vector (maximum cosine), or what is the same, the chosen node will be the one which is closest to the direction of the advection velocity. 4. This procedure will be repeated recursively until no positive values of the cosine are found. 5. When this happens another node of the inflow will be taken and the above process will be repeated until all the nodes in the mesh are numbered.