[petsc-users] KSP_CONVERGED_STEP_LENGTH

Harshad Sahasrabudhe hsahasra at purdue.edu
Thu Sep 8 10:38:29 CDT 2016


Hi,

I'm using GAMG + GMRES for my Poisson problem. The solver converges with
KSP_CONVERGED_STEP_LENGTH at a residual of 9.773346857844e-02, which is
much higher than what I need (I need a tolerance of at least 1E-8). I am
not able to figure out which tolerance I need to set to avoid convergence
due to CONVERGED_STEP_LENGTH.

Any help is appreciated! Output of -ksp_view and -ksp_monitor:

    0 KSP Residual norm 3.121347818142e+00
    1 KSP Residual norm 9.773346857844e-02
  Linear solve converged due to CONVERGED_STEP_LENGTH iterations 1
KSP Object: 1 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=10000, initial guess is zero
  tolerances:  relative=1e-08, absolute=1e-50, divergence=10000
  left preconditioning
  using PRECONDITIONED norm type for convergence test
PC Object: 1 MPI processes
  type: gamg
    MG: type is MULTIPLICATIVE, levels=2 cycles=v
      Cycles per PCApply=1
      Using Galerkin computed coarse grid matrices
  Coarse grid solver -- level -------------------------------
    KSP Object:    (mg_coarse_)     1 MPI processes
      type: preonly
      maximum iterations=1, initial guess is zero
      tolerances:  relative=1e-05, absolute=1e-50, divergence=10000
      left preconditioning
      using NONE norm type for convergence test
    PC Object:    (mg_coarse_)     1 MPI processes
      type: bjacobi
        block Jacobi: number of blocks = 1
        Local solve is same for all blocks, in the following KSP and PC
objects:
        KSP Object:        (mg_coarse_sub_)         1 MPI processes
          type: preonly
          maximum iterations=1, initial guess is zero
          tolerances:  relative=1e-05, absolute=1e-50, divergence=10000
          left preconditioning
          using NONE norm type for convergence test
        PC Object:        (mg_coarse_sub_)         1 MPI processes
          type: lu
            LU: out-of-place factorization
            tolerance for zero pivot 2.22045e-14
            using diagonal shift on blocks to prevent zero pivot [INBLOCKS]
            matrix ordering: nd
            factor fill ratio given 5, needed 1.91048
              Factored matrix follows:
                Mat Object:                 1 MPI processes
                  type: seqaij
                  rows=284, cols=284
                  package used to perform factorization: petsc
                  total: nonzeros=7726, allocated nonzeros=7726
                  total number of mallocs used during MatSetValues calls =0
                    using I-node routines: found 133 nodes, limit used is 5
          linear system matrix = precond matrix:
          Mat Object:           1 MPI processes
            type: seqaij
            rows=284, cols=284
            total: nonzeros=4044, allocated nonzeros=4044
            total number of mallocs used during MatSetValues calls =0
              not using I-node routines
      linear system matrix = precond matrix:
      Mat Object:       1 MPI processes
        type: seqaij
        rows=284, cols=284
        total: nonzeros=4044, allocated nonzeros=4044
        total number of mallocs used during MatSetValues calls =0
          not using I-node routines
  Down solver (pre-smoother) on level 1 -------------------------------
    KSP Object:    (mg_levels_1_)     1 MPI processes
      type: chebyshev
        Chebyshev: eigenvalue estimates:  min = 0.195339, max = 4.10212
      maximum iterations=2
      tolerances:  relative=1e-05, absolute=1e-50, divergence=10000
      left preconditioning
      using nonzero initial guess
      using NONE norm type for convergence test
    PC Object:    (mg_levels_1_)     1 MPI processes
      type: sor
        SOR: type = local_symmetric, iterations = 1, local iterations = 1,
omega = 1
      linear system matrix = precond matrix:
      Mat Object:      ()       1 MPI processes
        type: seqaij
        rows=9036, cols=9036
        total: nonzeros=192256, allocated nonzeros=192256
        total number of mallocs used during MatSetValues calls =0
          not using I-node routines
  Up solver (post-smoother) same as down solver (pre-smoother)
  linear system matrix = precond matrix:
  Mat Object:  ()   1 MPI processes
    type: seqaij
    rows=9036, cols=9036
    total: nonzeros=192256, allocated nonzeros=192256
    total number of mallocs used during MatSetValues calls =0
      not using I-node routines

Thanks,
Harshad
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20160908/b1a46f1b/attachment.html>


More information about the petsc-users mailing list