[petsc-dev] EM solver in XGC

Mark Adams mfadams at lbl.gov
Wed Apr 15 08:26:46 CDT 2015


Shit, I may need to do interlaced but let me try.  I added

 ierr = PetscObjectComposeFunction((PetscObject)A,"MatConvert_Nest_AIJ_C",
MatNestSetSubMats_Nest);CHKERRQ(ierr);

But I still don't find it.  I added print statements for what it is looking
for.  I will keep trying.

Thanks,

[3] ***** mat.comm start search 1
[0] WORLD start search 1
[0] ***** mat.comm start search 1
        [0] 1) 0 - Look for MatConvert_mpiaij_seqmpiadj_C (0)
        [0] 1) 1 - Look for MatConvert_mpiaij_mpimpiadj_C (0)
        [0] 1) 2 - Look for MatConvert_mpiaij_mpiadj_C (0)
[0] a) start search 2
[1] ***** mat.comm start search 1
[2] ***** mat.comm start search 1
[0] b) start search 2
        [0] 2) 0 - Look for MatConvert_mpiaij_seqmpiadj_C (0)
        [0] 2) 1 - Look for MatConvert_mpiaij_mpimpiadj_C (0)
        [0] 2) 2 - Look for MatConvert_mpiaij_mpiadj_C (0)
[0] WORLD start search 1
[0] ***** mat.comm start search 1
        [0] 1) 0 - Look for MatConvert_nest_seqaij_C (0)
        [0] 1) 1 - Look for MatConvert_nest_mpiaij_C (0)
        [0] 1) 2 - Look for MatConvert_nest_aij_C (0)
[0] a) start search 2
[0] b) start search 2
        [0] 2) 0 - Look for MatConvert_nest_seqaij_C (0)
        [0] 2) 1 - Look for MatConvert_nest_mpiaij_C (0)
        [0] 2) 2 - Look for MatConvert_nest_aij_C (0)
[0] 3) (0)
[0] 4) (0)
 setting conv = MatConvert_Basic





On Tue, Apr 14, 2015 at 11:05 PM, Matthew Knepley <knepley at gmail.com> wrote:

> On Tue, Apr 14, 2015 at 9:59 PM, Mark Adams <mfadams at lbl.gov> wrote:
>
>> 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.
>>
>> Where is the function list created for MatNest?  I am grepping on
>> MatConvert_[n/N] and not finding anything other than:
>>
>
> 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.
>
> MatNest should never ever ever be used as a dependency. Its an
> optimization. At least this is my view.
>
>    Matt
>
>
>> 21:54 next ~/Codes/petsc$ git grep MatConvert_N
>> src/mat/impls/nest/matnest.c:#define __FUNCT__ "MatConvert_Nest_AIJ"
>> src/mat/impls/nest/matnest.c:PETSC_EXTERN PetscErrorCode
>> MatConvert_Nest_AIJ(Mat A,MatType newtype,MatReuse reuse,Mat *newmat)
>> 21:57 next ~/Codes/petsc$ git grep MatConvert_n
>> 21:57 1 next ~/Codes/petsc$
>>
>> Mark
>>
>>
>
>
> --
> What most experimenters take for granted before they begin their
> experiments is infinitely more interesting than any results to which their
> experiments lead.
> -- Norbert Wiener
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20150415/735a4132/attachment.html>


More information about the petsc-dev mailing list