On Mon, Oct 20, 2014 at 5:21 PM, Harshad Sahasrabudhe <[email protected]> wrote:
> 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. > No, this is a simple check that is common to any PETSc. Matt > 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 <[email protected]> > wrote: > >> On Mon, Oct 20, 2014 at 3:17 PM, Harshad Sahasrabudhe < >> [email protected]> 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 <[email protected]> >>> wrote: >>> >>>> On Mon, Oct 20, 2014 at 3:07 PM, Harshad Sahasrabudhe < >>>> [email protected]> 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 >> > > -- 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
