<div dir="ltr">Thanks, Barry.<div><br></div><div>I have interfaced PETSc with MKL ILUT preconditioner through PCSHELL, but want to use reordering technique comes with the PETSc package. Probably I can do it by extracting the reordering matrices, but the system matrix is the Jacobian set by SNESSetJacobian() and solved by KSP. Since the Jacobian matrix is changing for different Newton steps, I am strill trying to figure out how to implement the reordering my self. </div>
<div><br></div><div style>Best,</div><div style>Su</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jul 25, 2013 at 3:09 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
On Jul 25, 2013, at 12:01 PM, Su Yan <<a href="mailto:suyan0@gmail.com">suyan0@gmail.com</a>> wrote:<br>
<br>
> Hi, can I use PCSetType(myPC, PCSHELL); together with PCFactorSetMatOrderingType(myPC, MATORDERINGRCM)?<br>
<br>
</div>   PCFactorSetMatOrdering() is only effective if the PC is a subclass of PCFactor, for example PCLU is a subclass of PCFactor as are PCILU and PCCHOLESKY and PCICC<br>
<br>
   If you want to use things like this you cannot use PCSHELL (which is a subclass of only the basic PC) you can copy the code for PCCreate_LU() for example and modify it for what you want to do.  Or you can register new factorization and solver package as a MatSolverPackage; see for example superlu.c in mat/impls/aij/seq/superlu/<br>

<br>
   What is it you want to do?<br>
<span class="HOEnZb"><font color="#888888"><br>
   Barry<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
><br>
> Will the reordering still take effect?<br>
><br>
> Thanks,<br>
> Su<br>
><br>
<br>
</div></div></blockquote></div><br></div>