On Thu, Sep 1, 2016 at 4:02 PM, Aulisa, Eugenio <[email protected]> wrote: > Hi, > > I have > > ksp GMRES->preconditioned with PCMG > > and at each level > subksp GMRES -> preconditioned with different PCs > > I would like to control the stopping criteria of each level-subksp > using either the relative tolerance or the npre/npost number of smoothings > > I set at each level > > KSPSetNormType(subksp, KSP_NORM_PRECONDITIONED); // assuming left > preconditioner > KSPSetTolerances(subksp, rtol, PETSC_DEFAULT, PETSC_DEFAULT, npre); > > It seams (but I am not sure how to check it properly) that rtol is completely > uninfluential, > rather it always uses the fix number of iterations fixed by npre. > > When I run with the option -ksp_view I see that the norm for the subksp > has effectively changed from NONE to PRECONDITIONED > for example with rtol=0.1 and npre=10 I get > > %%%%%%%%%%%%%%%%%%% > > Down solver (pre-smoother) on level 2 ------------------------------- > KSP Object: (level-2) 4 MPI processes > type: gmres > GMRES: restart=30, using Classical (unmodified) Gram-Schmidt > Orthogonalization with no iterative refinement > GMRES: happy breakdown tolerance 1e-30 > maximum iterations=10 > tolerances: relative=0.1, absolute=1e-50, divergence=10000. > left preconditioning > using nonzero initial guess > using PRECONDITIONED norm type for convergence test > > %%%%%%%%%%%%%%%%%%%%% > > however when I run the code with -ksp_monitor_true_residual > I only see the iteration info of the external ksp GMRES, > but I do not see any iteration info relative to the subksps. Note that each subksp has its own prefix which you can use to control its behavior. It looks like you set this to "level-2", so (assuming that you can have dashes in options prefixes, which I'm not completely certain of), you should be able to do things like
-level-2_ksp_converged_reason -level-2_ksp_monitor_true_residual To see what's going on with the sub solver. > > I assume (but I am not sure) that subksp is behaving > as the NONE norm were set. > > Any idea if I set something wrong? > How do I effectively check how many iterations subksp does? > > thanks, > Eugenio > > > > > > > > > > Eugenio Aulisa > > Department of Mathematics and Statistics, > Texas Tech University > Lubbock TX, 79409-1042 > room: 226 > http://www.math.ttu.edu/~eaulisa/ > phone: (806) 834-6684 > fax: (806) 742-1112 > > >
