On Mon, 24 Mar 2008, Jaime Suarez wrote: > Good morning, > > My question is about getting the values of a parallel vector in the > PETSc subroutines using Fortran 90. > > As far as I know, I can invoke: > CALL VecGetArrayF90 > in order to get the full array that is being considered in each > processor. However, I cannot employ this tool since I need to have also > the values that are stored in other processors. Is there a straight way > to get the value of the n-th element of a parallel vector, no matter > where this element is stored? > > I am aware of the difficulty of this task, since it would involve > transfer of information between different processors. > > Thanking you in advance,
Check the manpage for VecScatterCreate(). You'll have to create the VecScatter object corresponding to the off-proc values you need - and then scatter them. After the scatter, the values will be available locally [Now you can use VecGetArrayF90 to access the values] Satish
