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 > >
