On Thu, Jun 23, 2011 at 17:38, Milan Mitrovic <milan.v.mitrovic at gmail.com>wrote:
> SUBROUTINE dcop_mult(A,x,y,info) > ! args > Mat A > Vec x > Vec y > INTEGER, INTENT( OUT) :: info > ! vars > INTEGER :: id > info = 0 > ! update ghosts > CALL VecGhostUpdateBegin(x,INSERT_VALUES,SCATTER_FORWARD,info) > CALL VecGhostUpdateEnd(x,INSERT_VALUES,SCATTER_FORWARD,info) > CALL VecGhostUpdateBegin(y,INSERT_VALUES,SCATTER_FORWARD,info) > CALL VecGhostUpdateEnd(y,INSERT_VALUES,SCATTER_FORWARD,info) > y is an output-only argument, it doesn't make sense to do this second scatter. > ! get matrix context > CALL MatShellGetContext(A,id,info) > ! apply dcops > CALL particles_dcop_apply_petsc(AParticles,x,y,id,info) > END SUBROUTINE dcop_mult > Where do you call VecGhostGetLocalForm()? -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20110623/b7cfed59/attachment.htm>