<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Hello, <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I’m working on a nonlinear solver with SNES with handcoded jacobian and function. Each linear solver is solved with KSP solver.
<o:p></o:p></p>
<p class="MsoNormal">But sometimes I got issues with ksp solver convergence. I tried with finite difference approximated jacobian, but get the same error.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">From the iterations, the convergence seems ok at the beginning but suddenly diverged in the last iteration.<o:p></o:p></p>
<p class="MsoNormal">Hope anyone with experience on ksp solvers could direct me to a direction I can debug the problem.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">iter = 0, SNES Function norm 2.94934e-06<o:p></o:p></p>
<p class="MsoNormal">iteration 0 KSP Residual norm 1.094600281831e-06<o:p></o:p></p>
<p class="MsoNormal">iteration 1 KSP Residual norm 1.264284474186e-08<o:p></o:p></p>
<p class="MsoNormal">iteration 2 KSP Residual norm 6.593269221816e-09<o:p></o:p></p>
<p class="MsoNormal">iteration 3 KSP Residual norm 1.689570779457e-09<o:p></o:p></p>
<p class="MsoNormal">iteration 4 KSP Residual norm 1.040661505932e-09<o:p></o:p></p>
<p class="MsoNormal">iteration 5 KSP Residual norm 5.422761817348e-10<o:p></o:p></p>
<p class="MsoNormal">iteration 6 KSP Residual norm 2.492867371369e-10<o:p></o:p></p>
<p class="MsoNormal">iteration 7 KSP Residual norm 8.261522376775e-11<o:p></o:p></p>
<p class="MsoNormal">iteration 8 KSP Residual norm 4.246401544245e-11<o:p></o:p></p>
<p class="MsoNormal">iteration 9 KSP Residual norm 2.514366787388e-11<o:p></o:p></p>
<p class="MsoNormal">iteration 10 KSP Residual norm 1.982940267051e-11<o:p></o:p></p>
<p class="MsoNormal">iteration 11 KSP Residual norm 1.586470414676e-11<o:p></o:p></p>
<p class="MsoNormal">iteration 12 KSP Residual norm 9.866392216207e-12<o:p></o:p></p>
<p class="MsoNormal">iteration 13 KSP Residual norm 4.951342176999e-12<o:p></o:p></p>
<p class="MsoNormal">iteration 14 KSP Residual norm 2.418292660318e-12<o:p></o:p></p>
<p class="MsoNormal">iteration 15 KSP Residual norm 1.747418526086e-12<o:p></o:p></p>
<p class="MsoNormal">iteration 16 KSP Residual norm 1.094150535809e-12<o:p></o:p></p>
<p class="MsoNormal">iteration 17 KSP Residual norm 4.464287492066e-13<o:p></o:p></p>
<p class="MsoNormal">iteration 18 KSP Residual norm 3.530090494462e-13<o:p></o:p></p>
<p class="MsoNormal">iteration 19 KSP Residual norm 2.825698091454e-13<o:p></o:p></p>
<p class="MsoNormal">iteration 20 KSP Residual norm 1.950568425807e-13<o:p></o:p></p>
<p class="MsoNormal">iteration 21 KSP Residual norm 1.227898091813e-13<o:p></o:p></p>
<p class="MsoNormal">iteration 22 KSP Residual norm 5.411106347374e-14<o:p></o:p></p>
<p class="MsoNormal">iteration 23 KSP Residual norm 4.511115848564e-14<o:p></o:p></p>
<p class="MsoNormal">iteration 24 KSP Residual norm 4.063546606691e-14<o:p></o:p></p>
<p class="MsoNormal">iteration 25 KSP Residual norm 3.677694771949e-14<o:p></o:p></p>
<p class="MsoNormal">iteration 26 KSP Residual norm 3.459244943466e-14<o:p></o:p></p>
<p class="MsoNormal">iteration 27 KSP Residual norm 3.263954971093e-14<o:p></o:p></p>
<p class="MsoNormal">iteration 28 KSP Residual norm 3.087344619079e-14<o:p></o:p></p>
<p class="MsoNormal">iteration 29 KSP Residual norm 2.809426925625e-14<o:p></o:p></p>
<p class="MsoNormal">iteration 30 KSP Residual norm 4.366149884754e-01<o:p></o:p></p>
<p class="MsoNormal">  Linear solve did not converge due to DIVERGED_DTOL iterations 30<o:p></o:p></p>
<p class="MsoNormal"><b><o:p> </o:p></b></p>
<div style="mso-element:para-border-div;border:none;border-bottom:solid windowtext 1.0pt;padding:0in 0in 1.0pt 0in">
<p class="MsoNormal" style="border:none;padding:0in"><o:p> </o:p></p>
</div>
<p class="MsoNormal">SNES Object: 1 MPI processes<o:p></o:p></p>
<p class="MsoNormal">  type: newtonls<o:p></o:p></p>
<p class="MsoNormal">  SNES has not been set up so information may be incomplete<o:p></o:p></p>
<p class="MsoNormal">  maximum iterations=50, maximum function evaluations=10000<o:p></o:p></p>
<p class="MsoNormal">  tolerances: relative=1e-08, absolute=1e-50, solution=1e-08<o:p></o:p></p>
<p class="MsoNormal">  total number of linear solver iterations=0<o:p></o:p></p>
<p class="MsoNormal">  total number of function evaluations=0<o:p></o:p></p>
<p class="MsoNormal">  norm schedule ALWAYS<o:p></o:p></p>
<p class="MsoNormal">  SNESLineSearch Object: 1 MPI processes<o:p></o:p></p>
<p class="MsoNormal">    type: bt<o:p></o:p></p>
<p class="MsoNormal">      interpolation: cubic<o:p></o:p></p>
<p class="MsoNormal">      alpha=1.000000e-04<o:p></o:p></p>
<p class="MsoNormal">    maxstep=1.000000e+08, minlambda=1.000000e-12<o:p></o:p></p>
<p class="MsoNormal">    tolerances: relative=1.000000e-08, absolute=1.000000e-15, lambda=1.000000e-08<o:p></o:p></p>
<p class="MsoNormal">    maximum iterations=40<o:p></o:p></p>
<p class="MsoNormal">  KSP Object: 1 MPI processes<o:p></o:p></p>
<p class="MsoNormal">    type: gmres<o:p></o:p></p>
<p class="MsoNormal">      restart=30, using Classical (unmodified) Gram-Schmidt Orthogonalization with no iterative refinement<o:p></o:p></p>
<p class="MsoNormal">      happy breakdown tolerance 1e-30<o:p></o:p></p>
<p class="MsoNormal">    maximum iterations=10000, initial guess is zero<o:p></o:p></p>
<p class="MsoNormal">    tolerances:  relative=1e-08, absolute=1e-50, divergence=10000.<o:p></o:p></p>
<p class="MsoNormal">    left preconditioning<o:p></o:p></p>
<p class="MsoNormal">    using DEFAULT norm type for convergence test<o:p></o:p></p>
<p class="MsoNormal">  PC Object: 1 MPI processes<o:p></o:p></p>
<p class="MsoNormal">    type: fieldsplit<o:p></o:p></p>
<p class="MsoNormal">    PC has not been set up so information may be incomplete<o:p></o:p></p>
<p class="MsoNormal">      FieldSplit with Schur preconditioner, factorization FULL<o:p></o:p></p>
<p class="MsoNormal">      Preconditioner for the Schur complement formed from S itself<o:p></o:p></p>
<p class="MsoNormal">      Split info:<o:p></o:p></p>
<p class="MsoNormal">      KSP solver for A00 block<o:p></o:p></p>
<p class="MsoNormal">          not yet available<o:p></o:p></p>
<p class="MsoNormal">      KSP solver for S = A11 - A10 inv(A00) A01<o:p></o:p></p>
<p class="MsoNormal">          not yet available<o:p></o:p></p>
<p class="MsoNormal">    linear system matrix = precond matrix:<o:p></o:p></p>
<p class="MsoNormal">    Mat Object: 1 MPI processes<o:p></o:p></p>
<p class="MsoNormal">      type: seqaij<o:p></o:p></p>
<p class="MsoNormal">      rows=659, cols=659<o:p></o:p></p>
<p class="MsoNormal">      total: nonzeros=659, allocated nonzeros=7908<o:p></o:p></p>
<p class="MsoNormal">      total number of mallocs used during MatSetValues calls=0<o:p></o:p></p>
<p class="MsoNormal">        not using I-node routines<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Regards<o:p></o:p></p>
<p class="MsoNormal">Juntao<o:p></o:p></p>
</div>
</body>
</html>