Partitioning on a mpiaij matrix
LECAS Dimitri
dimitri.lecas at c-s.fr
Mon Feb 12 04:57:52 CST 2007
----- Original Message -----
From: Barry Smith <bsmith at mcs.anl.gov>
Date: Friday, February 9, 2007 8:09 pm
Subject: Re: Partitioning on a mpiaij matrix
>
> MatConvert() checks for a variety of converts; from the code
>
> /* 3) See if a good general converter is registered for the
> desired class */
> conv = B->ops->convertfrom;
> ierr = MatDestroy(B);CHKERRQ(ierr);
> if (conv) goto foundconv;
>
> now MATMPIADJ has a MatConvertFrom that SHOULD be listed in the
> function table
> so it should not fall into the default MatConvert_Basic().
>
> What version of PETSc are you using? Maybe an older one that does
> not have
> this converter? If you are using 2.3.2 or petsc-dev you can put a
> breakpoint in MatConvert() and try to see why it is not picking up
> the
> convertfrom function? It is possible some bug that we are not aware of
> but I have difficulty seeing what could be going wrong.
>
> Good luck,
>
> Barry
>
I add a line in matrix.c :
/* 3) See if a good general converter is registered for the desired class */
fprintf(stderr, "Breakpoint : %p %p %p\n", B, B->ops, B->ops->convert);
if (!conv) conv = B->ops->convert;
ierr = MatDestroy(B);CHKERRQ(ierr);
if (conv) goto foundconv;
The output is :
Breakpoint : 0x11c6670 0x11c6e30 (nil)
[0]PETSC ERROR: --------------------- Error Message
----------------------------
--------
[0]PETSC ERROR: No support for this operation for this object type!
[0]PETSC ERROR: Mat type mpiadj!
[0]PETSC ERROR:
----------------------------------------------------------------
--------
[0]PETSC ERROR: Petsc Release Version 2.3.2, Patch 8, Tue Jan 2
14:33:59 PST 20
07 HG revision: ebeddcedcc065e32fc252af32cf1d01ed4fc7a80
Where is the function that can convert a mpiaij into a mpiadj matrix ?
--
Dimitri Lecas
More information about the petsc-users
mailing list