./programname options -on_error_attach_debugger
then when it stops look at the object and see what it is and why it isn’t a Mat This is trivial and not worth a bunch of emails back and forth; you need to know the basics of using a debugger. Barry > On 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. > > 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(), 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 >
