adding a subject ...
On Wed, Aug 6, 2014 at 12:00 PM, Mark Adams <[email protected]> wrote: > I am moving my code to have the DM create the matrix and am hitting this > error in DMGetLocalToGlobalMapping: > > if (!dm->ops->getlocaltoglobalmapping) > SETERRQ(PetscObjectComm((PetscObject)dm),PETSC_ERR_SUP,"DM can not create > LocalToGlobalMapping"); > > This happens when I create the matrix like this: > > call DMCompositeCreate(comm,solver%da,ierr) > call DMSetOptionsPrefix(solver%da,'fsa_',ierr) > call DMCompositeAddDM(solver%da,solver%daphi,ierr) > call DMCompositeAddDM(solver%da,solver%dalam,ierr) > call DMSetFromOptions(solver%da,ierr) > call DMCreateMatrix(solver%da,solver%KKTmat,ierr) > > I am using DMShell and create them like so: > > ! phi DM > call VecCreate(comm,x1Vec,ierr) > call VecSetSizes(x1Vec,N1loc,N1Glob,ierr) > call VecSetFromOptions(x1Vec,ierr) > > call DMShellCreate(comm,solver%daphi,ierr) > call DMShellSetGlobalVector(solver%daphi,x1Vec,ierr) > call DMShellSetMatrix(solver%daphi,solver%A0Mat,ierr) > call VecDestroy(x1Vec,ierr) > call DMSetOptionsPrefix(solver%daphi,'phi_',ierr) > call DMSetFromOptions(solver%daphi,ierr) > > call VecCreate(PETSC_COMM_SELF,x1Vecloc,ierr) > call VecSetSizes(x1Vecloc,N1loc,N1loc,ierr) > call VecSetFromOptions(x1Vecloc,ierr) > call DMShellSetLocalVector(solver%daphi,x1Vecloc,ierr) > call VecDestroy(x1Vecloc,ierr) > > All the examples that I see use DMDAs. I am able to create a global > vector with this DM. > > Any ideas? >
