[petsc-users] How to use rtol as stopping criteria for PCMG subksp	solver
    Aulisa, Eugenio 
    eugenio.aulisa at ttu.edu
       
    Thu Sep  1 09:02:34 CDT 2016
    
    
  
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.
 
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
    
    
More information about the petsc-users
mailing list