<div dir="ltr">It looks like I cannot really change the test function or anything else for this particular SNES solver  (I am using SNESFas). Basically, I am trying to use the ideas exposed in the paper on Composing scalable solvers but it seems that SNESFas does not allow to change the function for testing convergence, or anything else. Is this correct?<div><br></div><div>Adolfo</div></div><div id="DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br>
<table style="border-top:1px solid #d3d4de">
        <tr>
        <td style="width:55px;padding-top:13px"><a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=icon" target="_blank"><img src="https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif" alt="" width="46" height="29" style="width: 46px; height: 29px;"></a></td>
                <td style="width:470px;padding-top:12px;color:#41424e;font-size:13px;font-family:Arial,Helvetica,sans-serif;line-height:18px">Virus-free. <a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=link" target="_blank" style="color:#4453ea">www.avast.com</a>
                </td>
        </tr>
</table><a href="#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1" height="1"></a></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Aug 5, 2020 at 3:41 PM Barry Smith <<a href="mailto:bsmith@petsc.dev">bsmith@petsc.dev</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;"><div><br></div>   Adolfo,<div><br></div><div>     You can also just change the tolerances for the inner solve using the options data base and the prefix for the inner solve. </div><div><br></div><div>     When you run with -snes_view it will show the prefix for each of the (nested) solvers. You can also run with -help to get all the possible options for the inner solvers.</div><div><br></div><div>     In this case I think the prefix is npc so you can set tolerances with -npc_snes_rtol <rtol> -npc_ksp_rtol <rtol> etc.  From the program you can use SNESGetNPC() and then call SNESSetXXX() to set options, for the linear solver (if there is one) call SNESGetKSP() on the npc and then set options on that KSP.</div><div><br></div><div><br></div><div>   Barry</div><div><br></div><div><div><br><blockquote type="cite"><div>On Aug 5, 2020, at 3:30 PM, Adolfo Rodriguez <<a href="mailto:adantra@gmail.com" target="_blank">adantra@gmail.com</a>> wrote:</div><br><div><div dir="ltr">Jed, <div><br></div><div>I tred your suggestion </div><div><br></div><div>  SNESGetNPC(snes, &inner);<br>  SNESSetConvergenceTest(inner, YourFunc, ...); </div><div><br></div><div>and it is working as expected. I had not pieced together the fact that "inner" is a "snes" object as well.</div><div><br></div><div>Thanks!</div><div><br></div><div> <br></div></div><div id="gmail-m_1008765421119631962DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br>
<table style="border-top:1px solid rgb(211,212,222)">
        <tbody><tr>
        <td style="width:55px;padding-top:13px"><a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=icon" target="_blank"><img src="https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif" alt="" width="46" height="29" style="width: 46px; height: 29px;"></a></td>
                <td style="width:470px;padding-top:12px;color:rgb(65,66,78);font-size:13px;font-family:Arial,Helvetica,sans-serif;line-height:18px">Virus-free. <a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=link" style="color:rgb(68,83,234)" target="_blank">www.avast.com</a>
                </td>
        </tr>
</tbody></table><a width="1" height="1"></a></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Aug 5, 2020 at 3:11 PM Jed Brown <<a href="mailto:jed@jedbrown.org" target="_blank">jed@jedbrown.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Adolfo Rodriguez <<a href="mailto:adantra@gmail.com" target="_blank">adantra@gmail.com</a>> writes:<br>
<br>
> Actually I can set the non-linear pc. My problem relates to the convergence<br>
> test. I have not found a way to set the tolerances for the inner problem,<br>
> are they hard coded?<br>
<br>
I suggested code to set a custom convergence test.  Nothing is hard-coded.  What have you done?<br>
</blockquote></div>
</div></blockquote></div><br></div></div></blockquote></div>