\r
%%NEW\r
\subsection{Influence of parameters for TSIRM}\r
-In this section we present some experimental results in order to study the influence of some parameters on the TSIRM algorithm. We conducted experiments on $16$ cores to solve 3D problems of size $200,000$ components per core. We solved nonlinear problems token from examples of PETSc. We fixed some parameters of the TSIRM algorithm as follows: the nonlinear systems are solved with a precision of $10^{-8}$, block Jacobi preconditioner is used, the tolerance threshold $\epsilon_{tsirm}$ is $10^{-8}$ , the maximum number of iterations $max\_iter_{tsirm}$ is set to $10,000$ iterations, the FGMRES method is used as the inner solver with a tolerance threshold $\epsilon_{kryl}=10^{-10}$ and the least-squares problem is solved with a precision $\epsilon_{ls}=10^{-40}$ in the minimization process.\r
+In this section we present some experimental results in order to study the influence of some parameters on the TSIRM algorithm which are: the method to solve the linear least-squares problem in the minimization process, the number of inner iterations $max\_iter_{kryl}$, and the size $s$ of matrix $AS$ (i.e. matrix $S$) of the least-squares problem. We conducted experiments on $16$ cores to solve linear and nonlinear problems of size $200,000$ components per core. We solved problems token from examples {\it ksp} and {\it snes} of PETSc~\cite{ksp,snes}. We fixed some parameters of the TSIRM algorithm as follows: the nonlinear systems are solved with a precision of $10^{-8}$, the tolerance threshold and the maximum number of iterations of TSIRM algorithm are $\epsilon_{tsirm}=10^{-10}$ and $max\_iter_{tsirm}=10,000$, the FGMRES method is used as the inner solver with a tolerance threshold $\epsilon_{kryl}=10^{-10}$, the additive Schwarz method (ASM) is used as a preconditioner, and the least-squares problem is solved with a precision $\epsilon_{ls}=10^{-40}$ in the minimization process.\r
\r
-%time mpirun ../ex48 -da_grid_x 147 -da_grid_y 147 -da_grid_z 147 -snes_rtol 1.e-8 -snes_monitor -ksp_type tsirm -ksp_pc_type bjacobi -pc_type ksp -ksp_tsirm_tol 1e-8 -ksp_tsirm_maxiter 10000 -ksp_ksp_type fgmres -ksp_tsirm_max_inner_iter 30 -ksp_tsirm_inner_restarts 30 -ksp_tsirm_inner_tol 1e-10 -ksp_tsirm_cgls 0 -ksp_tsirm_tol_ls 1.e-40 -ksp_tsirm_maxiter_ls 15 -ksp_tsirm_size_ls 10 \r
+%time mpirun ../ex34 -da_grid_x 147 -da_grid_y 147 -da_grid_z 147 -ksp_type tsirm -ksp_pc_type asm -pc_type ksp -ksp_tsirm_tol 1e-10 -ksp_tsirm_maxiter 10000 -ksp_ksp_type fgmres -ksp_tsirm_max_inner_iter 30 -ksp_tsirm_inner_tol 1e-10 -ksp_tsirm_cgls 0 -ksp_tsirm_tol_ls 1.e-40 -ksp_tsirm_maxiter_ls 20 -ksp_tsirm_size_ls 10\r
\begin{figure}[htbp]\r
\centering\r
- \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_cgls_iter_total}\r
-\caption{Number of total iterations using two different methods for the minimization: LSQR and CGLS.}\r
-\label{fig:cgls-iter} \r
+ \includegraphics[width=0.5\textwidth]{ksp_tsirm_cgls}\r
+\caption{Number of total iterations using two different methods for the minimization: CGLS and LSQR.}\r
+\label{fig:cgls} \r
\end{figure}\r
\r
\begin{figure}[htbp]\r
\centering\r
- \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_cgls_time}\r
-\caption{Execution time in seconds using two different methods for the minimization: LSQR and CGLS.}\r
-\label{fig:cgls-time} \r
+ \includegraphics[width=0.5\textwidth]{ksp_ex12}\r
+\caption{Total number of iterations in example {\it ksp ex12} of PETSc by varyin the number of inner iterations and the size of the least-squares problem.}\r
+\label{fig:ksp_ex12} \r
\end{figure}\r
\r
-%time mpirun ../ex35 -da_grid_x 147 -da_grid_y 147 -da_grid_z 147 -snes_rtol 1.e-8 -snes_monitor -ksp_type tsirm -ksp_pc_type bjacobi -pc_type ksp -ksp_tsirm_tol 1e-8 -ksp_tsirm_maxiter 10000 -ksp_ksp_type fgmres -ksp_tsirm_max_inner_iter 30 -ksp_tsirm_inner_restarts 38 -ksp_tsirm_inner_tol 1e-10 -ksp_tsirm_cgls 0 -ksp_tsirm_tol_ls 1.e-40 -ksp_tsirm_maxiter_ls 15 -ksp_tsirm_size_ls 10\r
\begin{figure}[htbp]\r
\centering\r
- \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_inner_restarts_iter_total}\r
-\caption{Number of total iterations with variation of restarts in the inner solver FGMRES.}\r
-\label{fig:inner_restarts_iter_total} \r
+ \includegraphics[width=0.5\textwidth]{ksp_ex34}\r
+\caption{Total number of iterations in example {\it ksp ex34} of PETSc by varyin the number of inner iterations and the size of the least-squares problem.}\r
+\label{fig:ksp_ex34} \r
\end{figure}\r
\r
\begin{figure}[htbp]\r
\centering\r
- \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_inner_restarts_time}\r
-\caption{Execution time in seconds with variation of restarts in the inner solver FGMRES.}\r
-\label{fig:inner_restarts_time} \r
+ \includegraphics[width=0.5\textwidth]{snes_ex14}\r
+\caption{Total number of iterations in example {\it snes ex14} of PETSc by varyin the number of inner iterations and the size of the least-squares problem.}\r
+\label{fig:snes_ex14} \r
\end{figure}\r
\r
-%time mpirun ../ex14 -da_grid_x 147 -da_grid_y 147 -da_grid_z 147 -snes_rtol 1.e-8 -snes_monitor -ksp_type tsirm -ksp_pc_type bjacobi -pc_type ksp -ksp_tsirm_tol 1e-8 -ksp_tsirm_maxiter 10000 -ksp_ksp_type fgmres -ksp_tsirm_max_inner_iter 1000 -ksp_tsirm_inner_restarts 30 -ksp_tsirm_inner_tol 1e-10 -ksp_tsirm_cgls 0 -ksp_tsirm_tol_ls 1.e-40 -ksp_tsirm_maxiter_ls 15 -ksp_tsirm_size_ls 10\r
\begin{figure}[htbp]\r
\centering\r
- \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_max_inner_iter}\r
-\caption{Number of total iterations with variation of number of inner iterations.}\r
-\label{fig:max_inner_iter} \r
+ \includegraphics[width=0.5\textwidth]{snes_ex20}\r
+\caption{Total number of iterations in example {\it snes ex20} of PETSc by varyin the number of inner iterations and the size of the least-squares problem.}\r
+\label{fig:snes_ex20} \r
\end{figure}\r
\r
-\begin{figure}[htbp]\r
-\centering\r
- \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_max_inner_time}\r
-\caption{Execution time in seconds with variation of number of inner iterations.}\r
-\label{fig:max_inner_time} \r
-\end{figure}\r
-\r
-%time mpirun ../ex14 -da_grid_x 147 -da_grid_y 147 -da_grid_z 147 -snes_rtol 1.e-8 -snes_monitor -ksp_type tsirm -ksp_pc_type bjacobi -pc_type ksp -ksp_tsirm_tol 1e-8 -ksp_tsirm_maxiter 10000 -ksp_ksp_type fgmres -ksp_tsirm_max_inner_iter 30 -ksp_tsirm_inner_restarts 30 -ksp_tsirm_inner_tol 1e-10 -ksp_tsirm_cgls 0 -ksp_tsirm_tol_ls 1.e-40 -ksp_tsirm_maxiter_ls 5 -ksp_tsirm_size_ls 10\r
-\begin{figure}[htbp]\r
-\centering\r
- \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_maxiter_ls_iter}\r
-\caption{Number of total iterations with variation of number of iterations in the minimization process.}\r
-\label{fig:maxiter_ls_iter} \r
-\end{figure}\r
\r
-\begin{figure}[htbp]\r
-\centering\r
- \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_maxiter_ls_time}\r
-\caption{Execution time in seconds with variation of number of iterations in the minimization process.}\r
-\label{fig:maxiter_ls_time} \r
-\end{figure}\r
\r
-%time mpirun ../ex14 -da_grid_x 147 -da_grid_y 147 -da_grid_z 147 -snes_rtol 1.e-8 -snes_monitor -ksp_type tsirm -ksp_pc_type bjacobi -pc_type ksp -ksp_tsirm_tol 1e-8 -ksp_tsirm_maxiter 10000 -ksp_ksp_type fgmres -ksp_tsirm_max_inner_iter 30 -ksp_tsirm_inner_restarts 30 -ksp_tsirm_inner_tol 1e-10 -ksp_tsirm_cgls 0 -ksp_tsirm_tol_ls 1.e-40 -ksp_tsirm_maxiter_ls 15 -ksp_tsirm_size_ls 2\r
-\begin{figure}[htbp]\r
-\centering\r
- \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_size_ls_iter}\r
-\caption{Number of total iterations with variation of the size of the least-squares problem in the minimization process.}\r
-\label{fig:size_ls_iter} \r
-\end{figure}\r
\r
-\begin{figure}[htbp]\r
-\centering\r
- \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_size_ls_time}\r
-\caption{Execution time in seconds with variation of the size of the least-squares problem in the minimization process.}\r
-\label{fig:size_ls_time} \r
-\end{figure}\r
\r
%%ENDNEW\r
\r