[petsc-users] Convergence Error Debugging with KSP solvers in SNES

Matthew Knepley knepley at gmail.com
Thu Oct 8 05:25:19 CDT 2020


On Thu, Oct 8, 2020 at 3:43 AM Yang Juntao <Y.Juntao at hotmail.com> wrote:

> Hello,
>
>
>
> I’m working on a nonlinear solver with SNES with handcoded jacobian and
> function. Each linear solver is solved with KSP solver.
>
> But sometimes I got issues with ksp solver convergence. I tried with
> finite difference approximated jacobian, but get the same error.
>
>
>
> From the iterations, the convergence seems ok at the beginning but
> suddenly diverged in the last iteration.
>
> Hope anyone with experience on ksp solvers could direct me to a direction
> I can debug the problem.
>

KSP Object: 1 MPI processes
    type: gmres
      restart=30, using Classical (unmodified) Gram-Schmidt
Orthogonalization with no iterative refinement

The GMRES restarted at iteration 30. You can increase the subspace size
using

  -ksp_gmres_restart 100

  Thanks,

     Matt


> iter = 0, SNES Function norm 2.94934e-06
>
> iteration 0 KSP Residual norm 1.094600281831e-06
>
> iteration 1 KSP Residual norm 1.264284474186e-08
>
> iteration 2 KSP Residual norm 6.593269221816e-09
>
> iteration 3 KSP Residual norm 1.689570779457e-09
>
> iteration 4 KSP Residual norm 1.040661505932e-09
>
> iteration 5 KSP Residual norm 5.422761817348e-10
>
> iteration 6 KSP Residual norm 2.492867371369e-10
>
> iteration 7 KSP Residual norm 8.261522376775e-11
>
> iteration 8 KSP Residual norm 4.246401544245e-11
>
> iteration 9 KSP Residual norm 2.514366787388e-11
>
> iteration 10 KSP Residual norm 1.982940267051e-11
>
> iteration 11 KSP Residual norm 1.586470414676e-11
>
> iteration 12 KSP Residual norm 9.866392216207e-12
>
> iteration 13 KSP Residual norm 4.951342176999e-12
>
> iteration 14 KSP Residual norm 2.418292660318e-12
>
> iteration 15 KSP Residual norm 1.747418526086e-12
>
> iteration 16 KSP Residual norm 1.094150535809e-12
>
> iteration 17 KSP Residual norm 4.464287492066e-13
>
> iteration 18 KSP Residual norm 3.530090494462e-13
>
> iteration 19 KSP Residual norm 2.825698091454e-13
>
> iteration 20 KSP Residual norm 1.950568425807e-13
>
> iteration 21 KSP Residual norm 1.227898091813e-13
>
> iteration 22 KSP Residual norm 5.411106347374e-14
>
> iteration 23 KSP Residual norm 4.511115848564e-14
>
> iteration 24 KSP Residual norm 4.063546606691e-14
>
> iteration 25 KSP Residual norm 3.677694771949e-14
>
> iteration 26 KSP Residual norm 3.459244943466e-14
>
> iteration 27 KSP Residual norm 3.263954971093e-14
>
> iteration 28 KSP Residual norm 3.087344619079e-14
>
> iteration 29 KSP Residual norm 2.809426925625e-14
>
> iteration 30 KSP Residual norm 4.366149884754e-01
>
>   Linear solve did not converge due to DIVERGED_DTOL iterations 30
>
>
>
>
>
> SNES Object: 1 MPI processes
>
>   type: newtonls
>
>   SNES has not been set up so information may be incomplete
>
>   maximum iterations=50, maximum function evaluations=10000
>
>   tolerances: relative=1e-08, absolute=1e-50, solution=1e-08
>
>   total number of linear solver iterations=0
>
>   total number of function evaluations=0
>
>   norm schedule ALWAYS
>
>   SNESLineSearch Object: 1 MPI processes
>
>     type: bt
>
>       interpolation: cubic
>
>       alpha=1.000000e-04
>
>     maxstep=1.000000e+08, minlambda=1.000000e-12
>
>     tolerances: relative=1.000000e-08, absolute=1.000000e-15,
> lambda=1.000000e-08
>
>     maximum iterations=40
>
>   KSP Object: 1 MPI processes
>
>     type: gmres
>
>       restart=30, using Classical (unmodified) Gram-Schmidt
> Orthogonalization with no iterative refinement
>
>       happy breakdown tolerance 1e-30
>
>     maximum iterations=10000, initial guess is zero
>
>     tolerances:  relative=1e-08, absolute=1e-50, divergence=10000.
>
>     left preconditioning
>
>     using DEFAULT norm type for convergence test
>
>   PC Object: 1 MPI processes
>
>     type: fieldsplit
>
>     PC has not been set up so information may be incomplete
>
>       FieldSplit with Schur preconditioner, factorization FULL
>
>       Preconditioner for the Schur complement formed from S itself
>
>       Split info:
>
>       KSP solver for A00 block
>
>           not yet available
>
>       KSP solver for S = A11 - A10 inv(A00) A01
>
>           not yet available
>
>     linear system matrix = precond matrix:
>
>     Mat Object: 1 MPI processes
>
>       type: seqaij
>
>       rows=659, cols=659
>
>       total: nonzeros=659, allocated nonzeros=7908
>
>       total number of mallocs used during MatSetValues calls=0
>
>         not using I-node routines
>
>
>
> Regards
>
> Juntao
>


-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener

https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20201008/d773df38/attachment.html>


More information about the petsc-users mailing list