[petsc-users] DMCreateMatrix error with Composite (no	getlocaltoglobalmapping)
    Mark Adams 
    mfadams at lbl.gov
       
    Wed Aug  6 11:23:21 CDT 2014
    
    
  
adding a subject ...
On Wed, Aug 6, 2014 at 12:00 PM, Mark Adams <mfadams at lbl.gov> 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?
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20140806/8301b49a/attachment.html>
    
    
More information about the petsc-users
mailing list