PETSc Global Vector to local process vector

Ignacio Martínez 100039048 at alumnos.uc3m.es
Tue Nov 25 16:46:03 CST 2008


Hello,

I'm a beginner user, and I have a problem:

I have a routine in Fortran and I just want to parallelize few lines
with PETSc, I'm using DA in order to gather the results, from local
vectors to a global vector.
It works fine. But I need to return those values to the Fortran
routine, and I only get access to local process values.

I try to create a sequential vectors with an scatter to get that
values. But, PETSc returns an error, something like: "Cannot create
VECSEQ on more than one process!" (I try to create the vector only in
one process).

Exactly in using DAGlobalToNaturalAllCreate and  VecScatterBegin to
get global values in to a process.

And my question is if someone has tried to do something like this, and
how has done it. Or if could you give me some orientation?

Thank you in advance,
Ignacio




More information about the petsc-users mailing list