[petsc-users] Invalid MAT_CLASSID

Harshad Sahasrabudhe hsahasra at purdue.edu
Mon Oct 20 17:21:06 CDT 2014


Hi Matt,

If I have 2 instances of PETSc, one which is initialized by LibMesh and the
other which is initialized in my code, then would getting a Mat from one
version to the other cause this issue? I know that this is not the right
way to do it, I'm just trying to zero in on the problem.

a) is not the problem, since I create and assemble the matrix using LibMesh
API. b) is not it either, I ran a simple example and it works in that case.
For c), I ran my code with Valgrind and didn't get any invalid write errors.

Thanks,
Harshad

On Mon, Oct 20, 2014 at 4:19 PM, Matthew Knepley <knepley at gmail.com> wrote:

> On Mon, Oct 20, 2014 at 3:17 PM, Harshad Sahasrabudhe <hsahasra at purdue.edu
> > wrote:
>
>> I get the Mat object from libMesh::PetscMatrix<>::mat()
>> <http://libmesh.github.io/libmesh/doxygen/classlibMesh_1_1PetscMatrix.html#aaca7a5afeb063716ee67fa11302c2aea>,
>> and it's been created and assembled before I call MatGetType.
>>
>
> But what you are getting is invalid, so either
>
>   a) it has not been created and assembled in LibMesh
>
>   b) the right thing is not getting passed back (LibMesh problem)
>
> or
>
>   c) you are overwriting memory and it manifests here (check with valgrind)
>
> It is very easy to look in these structures using the debugger. We are
> just checking an integer
> in the header for the object that identifies it as a Mat.
>
>    Matt
>
>
>> On Mon, Oct 20, 2014 at 4:12 PM, Matthew Knepley <knepley at gmail.com>
>> wrote:
>>
>>> On Mon, Oct 20, 2014 at 3:07 PM, Harshad Sahasrabudhe <
>>> hsahasra at purdue.edu> wrote:
>>>
>>>> Hi,
>>>>
>>>> I get the following error when I call MatGetType even though I'm
>>>> calling the function with a Mat object.
>>>>
>>>> [0]PETSC ERROR: Invalid argument!
>>>> [0]PETSC ERROR: Wrong type of object: Parameter # 1!
>>>>
>>>> What could be going wrong?
>>>>
>>>
>>> You are not calling it with a valid Mat object. Did you call MatCreate?
>>>
>>>    Matt
>>>
>>>
>>>> Thanks,
>>>> Harshad
>>>>
>>>
>>>
>>>
>>> --
>>> 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
>>>
>>
>>
>
>
> --
> 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-users/attachments/20141020/ee419d4a/attachment.html>


More information about the petsc-users mailing list