# Scalable Block Preconditioners for Linearized Navier-Stokes Equations at High Reynolds Number
## 7 Numerical Results
### Handling the Low Viscosity Case. Preconditioner Update by Low-Rank Matrices  
We have obtained a scalable preconditioner for all viscosities considered using, as the coarsest level, the matrix M20 instead of M10, which implies a high computational cost at each application of the Multigrid. This choice is necessary, since using matrix M10 produces the spectral distribution that is shown in Table 13, where the Multigrid is completely unable to properly precondition the \((1,1)\) block.  
The situation that is depicted by Table 13 is a promising situation that suggests the use of the low-rank update: the number of outlier for the preconditioned \(F\) block is relatively small and does not roughly change with the meshsize. On the contrary, updating the preconditioner for the Schur complement block does not seem to be advisable, as the eigenvalues of this block are not much far away from 1.  
The results where the split-GS based preconditioner is used in combination with the low-rank update for the \((1,1)\) block, as described in Section 6, are reported in Table 14. We employed 50 non-restarted Arnoldi iterations to assess the corresponding eigenvectors (as they are well separated, Arnoldi convergence reveals very fast). The preprocessing time that is related to this task is reported in the Table as prep. The results using the Constraint Preconditioner and the BTP are summarized in Table 14.  
The results show that this approach yields similar results as in the previous Tables, with two exceptions: first, the fact that we selected M10 as the coarsest mesh provided a notable reduction of the CPU time per iterations. Second, the true norm of the residual is much lower, showing a closer relation between the residual provided by the GMRES method and the true residual, and suggesting the better conditioning of the preconditioner. Moreover, the preprocessing time to assess dominant eigenvectors is around 10% of the overall CPU time. Scalability with respect to \(h\) is almost perfect, the number of iterations, on the average, being slightly increased with respect to starting from M20 mesh with no update.  
\begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Matrix** & \begin{tabular}{c} **\# Outliers** \\ **in the (1,1) Block** \\ \end{tabular} & \
\begin{tabular}{c} **\# Outliers** \\ **in the Schur Complement** \\ \end{tabular} &
\begin{tabular}{c} **\# Outliers** \\ **in the \(\mathbf{\Delta}(M_{S}^{-1}S)-1\)** \\ \end{tabular} \\ \hline M40 & 11 & 22.8 & 4 & 2.9 \\ M80 & 10 & 511.9 & 7 & 3.7 \\ M160 & 10 & \(1.2\times 10^{5}\) & 10 & 3.4 \\ \hline \hline \end{tabular}
\end{table}
Table 13: Spectral properties of the preconditioned matrices with viscosity 0.001 using the coarsest matrix M10.  
\begin{table}
\begin{tabular}{c c c c c c c c c c c c c} \hline \hline \multirow{2}{*}{**Matrix**} & \multicolumn{3}{c}{\(\
u\) = 0.1} & \multicolumn{3}{c}{\(\
u\) = 0.01} & \multicolumn{3}{c}{\(\
u\) = 0.005} & \multicolumn{3}{c}{\(\
u\) = 0.001} \\ \cline{2-13}  & **iter** & **time** & **tres** & **iter** & **time** & **tres** & **iter** & **time** & **tres** & **iter** & **time** & **tres** \\ \hline M40 & 52 & 11.66 & 1.20E-3 & 55 & 11.93 & 1.62E-4 & 71 & 15.37 & 4.43E-4 & 94 & 20.29 & 2.10E-3 \\ M80 & 55 & 24.46 & 5.20E-3 & 57 & 22.98 & 2.31E-4 & 72 & 28.83 & 6.64E-5 & 102 & 41.56 & 1.50E-3 \\ M160 & 58 & 63.11 & 1.55E-3 & 59 & 63.81 & 4.29E-4 & 72 & 78.87 & 1.57E-4 & 106 & 118.64 & 1.60E-3 \\ M320 & 62 & 281.67 & 5.29E-2 & 59 & 273.62 & 1.20E-3 & 67 & 301.17 & 3.90E-4 & 108 & 493.86 & 1.66E-4 \\ \hline \hline \end{tabular}
\end{table}
Table 12: Results using BTP with split-GS and M20 as the coarsest mesh.