[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Question on DA's and VecScatters




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