It most definitely matters. The VecScatterCreateToZero() simply  
concatenates
the values from all the processes together so they need to be in the  
natural
order before collecting on zero.

   Barry

BTW:  The VecView() to a binary file for DA global vectors does the  
mapping
automatically, so the file is always in the natural ordering.


On Feb 16, 2008, at 1:28 PM, Randall Mackie wrote:

> In my 3D distributed array, I created global vectors, local vectors,
> and one natural vector (because I want to access and output to a file
> some of these values).
>
> If you create a scatter context, using VecScatterCreateToZero, does
> it matter whether or not I specify a global vector or the natural  
> vector
> to create the context?
>
> In other words, does it matter in this vecscattercreate call whether  
> or not
> I use vnat (natural vector) or vsol (global vector)
>
>       call VecScatterCreateToZero(vnat,vToZero,vseq,ierr)
>
>
> if later I make these calls:
>
>
>       call DaGlobalToNaturalBegin(da,vsol,INSERT_VALUES,vnat,ierr)
>       call DaGlobalToNaturalEnd(da,vsol,INSERT_VALUES,vnat,ierr)
>
>       call VecScatterBegin(vToZero,vnat,vseq....)
>       call VecScatterEnd(vToZero,vnat,vseq....)
>
>
>       call VecGetArray(vseq....)
>
> Or does it keep track because it knows what type of vectors are  
> being dealt with?
>
>
> Thanks, Randy
>
>


Reply via email to