<div dir="ltr">I do not think they take the reordering as an input.I will need to reorder it myself and then pass it to the ILUT subroutine.</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jul 25, 2013 at 4:08 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 4:04 PM, Su Yan <<a href="mailto:suyan0@gmail.com">suyan0@gmail.com</a>> wrote:<br>
<br>
> Thanks, Barry.<br>
><br>
> I have interfaced PETSc with MKL ILUT preconditioner through PCSHELL,<br>
<br>
</div>   Does MKL ILUT take a reordering (that is a permutation of the set {0,1,2,….n-1} as an input argument? Or do they want you to reorder the matrix in the new ordering explicitly and pass that new matrix into the MKL routine?<br>

<span class="HOEnZb"><font color="#888888"><br>
   Barry<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
> 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.<br>

><br>
> Best,<br>
> Su<br>
><br>
><br>
> On Thu, Jul 25, 2013 at 3:09 PM, Barry Smith <<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>> wrote:<br>
><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>
>    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>
><br>
>    Barry<br>
><br>
><br>
> ><br>
> > Will the reordering still take effect?<br>
> ><br>
> > Thanks,<br>
> > Su<br>
> ><br>
><br>
><br>
<br>
</div></div></blockquote></div><br></div>