Question on DA's and VecScatters
Barry Smith
bsmith at mcs.anl.gov
Sat Feb 16 16:10:52 CST 2008
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
>
>
More information about the petsc-users
mailing list