<div dir="ltr">Great idea, thanks again!<div><br></div><div>Matt...</div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"></div><div dir="ltr"></div></div></div></div></div></div>
<br><div class="gmail_quote">On Mon, Jul 9, 2018 at 11:08 AM, Matthew Knepley <span dir="ltr"><<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><span class=""><div dir="ltr">On Mon, Jul 9, 2018 at 11:05 AM Matthew Overholt <<a href="mailto:overholt@capesim.com" target="_blank">overholt@capesim.com</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 dir="ltr"><div class="gmail_extra"><div><div class="m_7682168531081603007gmail-m_-9013175536101833657gmail_signature"><div dir="ltr"><div dir="ltr"><div>The -sub_pc_factor_zeropivot <value> option works, but since this is for a commercial code I don't want users to have to type that every time.</div><div><br></div><div>Is there an equivalent call to</div><div>PCFactorSetZeroPivot()</div><div>for the block Jacobi method (like PCSubFactorSetZeroPivot())?  I can't find it.  </div><div><br></div><div>Instead, does one need to call</div><div>PCBjacobiGetSubKSP()</div><div>and then loop over every block, calling</div><div>KSPGetPC()</div><div>PCFactorSetZeroPivot()</div><div>on each block?  That seems a little tedious, but if that is the correct approach I'll do it</div></div></div></div></div></div></div></blockquote><div><br></div></span><div>Yes, that is the API approach. As you can see, for composed solvers its not a great option. How about</div><div>putting</div><div><br></div><div>  <a href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Sys/PetscOptionsSetValue.html" target="_blank">http://www.mcs.anl.gov/<wbr>petsc/petsc-current/docs/<wbr>manualpages/Sys/<wbr>PetscOptionsSetValue.html</a></div><div><br></div><div>in the code?</div><div><br></div><div>  Thanks,</div><div><br></div><div>    Matt</div><span class=""><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div><div class="m_7682168531081603007gmail-m_-9013175536101833657gmail_signature"><div dir="ltr"><div dir="ltr"><div>Thanks,</div><div>Matt Overholt</div></div></div></div></div>
<br><div class="gmail_quote">On Mon, Jul 9, 2018 at 10:17 AM, Matthew Overholt <span dir="ltr"><<a href="mailto:overholt@capesim.com" target="_blank">overholt@capesim.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Thanks, Matt, that option works perfectly, and explains the -ksp_view output.<div><br></div><div>Much appreciated!<br>   Matt...</div><span><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jul 6, 2018 at 6:25 PM, Matthew Knepley <span dir="ltr"><<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><span><div>Default Case (zeropivot is 2.22045E-14):</div><div>mpiexec -n 1 ...</div><div>==> ksp fails due to pcReason = PC_FACTOR_NUMERIC_ZEROPIVOT</div><div><br></div><div>Reduced pivot case, n = 1:</div><div>mpiexec -n 1 ... -pc_factor_zeropivot 1E-15</div><div>==> runs successfully</div></span><div><span>

<div style="font-size:small;text-decoration-style:initial;text-decoration-color:initial"><br class="m_7682168531081603007gmail-m_-9013175536101833657m_-8969249301600058603m_7300660826538109168m_-1527266603639551379gmail-Apple-interchange-newline">Reduced pivot case, n > 1:</div></span><div style="font-size:small;text-decoration-style:initial;text-decoration-color:initial">mpiexec -n 2 .. -pc_factor_zeropivot 1E-15</div><span><div style="font-size:small;text-decoration-style:initial;text-decoration-color:initial">==> <span style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span> </span>ksp fails due to pcReason = PC_SUBPC_ERROR</span></div></span></div></div></blockquote><div><br></div><div>Okay, what is likely happening is that your preconditioner is actually Block-Jacobi/LU</div><div>instead of parallel LU. Thus you would need</div><div><br></div><div>  -sub_pc_factor_zeropivot 1e-15</div><div><br></div></div></div></blockquote></div></div></span></div>
</blockquote></div><br></div></div>
</blockquote></span></div><br clear="all"><span class=""><div><br></div>-- <br><div dir="ltr" class="m_7682168531081603007gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div><div><br></div><div><a href="http://www.caam.rice.edu/~mk51/" target="_blank">https://www.cse.buffalo.edu/~<wbr>knepley/</a><br></div></div></div></div></div></span></div>
</blockquote></div><br></div></div>