<div dir="ltr"><div><div>Shit, I may need to do interlaced but let me try.  I added<br><br> ierr = PetscObjectComposeFunction((PetscObject)A,"MatConvert_Nest_AIJ_C",  MatNestSetSubMats_Nest);CHKERRQ(ierr);<br><br></div>But I still don't find it.  I added print statements for what it is looking for.  I will keep trying.<br><br></div>Thanks,<br><div><br>[3] ***** mat.comm start search 1<br>[0] WORLD start search 1<br>[0] ***** mat.comm start search 1<br>        [0] 1) 0 - Look for MatConvert_mpiaij_seqmpiadj_C (0)<br>        [0] 1) 1 - Look for MatConvert_mpiaij_mpimpiadj_C (0)<br>        [0] 1) 2 - Look for MatConvert_mpiaij_mpiadj_C (0)<br>[0] a) start search 2<br>[1] ***** mat.comm start search 1<br>[2] ***** mat.comm start search 1<br>[0] b) start search 2<br>        [0] 2) 0 - Look for MatConvert_mpiaij_seqmpiadj_C (0)<br>        [0] 2) 1 - Look for MatConvert_mpiaij_mpimpiadj_C (0)<br>        [0] 2) 2 - Look for MatConvert_mpiaij_mpiadj_C (0)<br>[0] WORLD start search 1<br>[0] ***** mat.comm start search 1<br>        [0] 1) 0 - Look for MatConvert_nest_seqaij_C (0)<br>        [0] 1) 1 - Look for MatConvert_nest_mpiaij_C (0)<br>        [0] 1) 2 - Look for MatConvert_nest_aij_C (0)<br>[0] a) start search 2<br>[0] b) start search 2<br>        [0] 2) 0 - Look for MatConvert_nest_seqaij_C (0)<br>        [0] 2) 1 - Look for MatConvert_nest_mpiaij_C (0)<br>        [0] 2) 2 - Look for MatConvert_nest_aij_C (0)<br>[0] 3) (0)<br>[0] 4) (0)<br> setting conv = MatConvert_Basic<br><br><br><br><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 14, 2015 at 11:05 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:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class="">On Tue, Apr 14, 2015 at 9:59 PM, Mark Adams <span dir="ltr"><<a href="mailto:mfadams@lbl.gov" target="_blank">mfadams@lbl.gov</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><div>I am trying to see why MatConvert is failing for MatNest to MPIAIJ and added print statements in to see what it is checking for.<br><br></div>Where is the function list created for MatNest?  I am grepping on MatConvert_[n/N] and not finding anything other than:<br></div></div></blockquote><div><br></div></span><div>The person who added that code declined to hook it into the function table, set at the bottom of matnest.c. This does not bode well.</div><div><br></div><div>MatNest should never ever ever be used as a dependency. Its an optimization. At least this is my view.</div><div><br></div><div>   Matt</div><span class=""><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>21:54 next ~/Codes/petsc$ git grep MatConvert_N   <br>src/mat/impls/nest/matnest.c:#define __FUNCT__ "MatConvert_Nest_AIJ"<br>src/mat/impls/nest/matnest.c:PETSC_EXTERN PetscErrorCode MatConvert_Nest_AIJ(Mat A,MatType newtype,MatReuse reuse,Mat *newmat)<br>21:57 next ~/Codes/petsc$ git grep MatConvert_n<br>21:57 1 next ~/Codes/petsc$ <br><span><font color="#888888"><br></font></span></div><span><font color="#888888">Mark<br><br></font></span></div>
</blockquote></span></div><br><br clear="all"><span class=""><div><br></div>-- <br><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>
</span></div></div>
</blockquote></div><br></div>