[petsc-users] VecGetSubVector

Emmanuel Ayala juaneah at gmail.com
Thu May 7 15:36:19 CDT 2020


Hi, I hope everyone is well.

I have a MPI vector, I selected some elements of this vector and for some
processes there is not selected elements (I stored the indices elements
into an array). So, I wan to to create a MPI vector using these selected
elements, the selected elements must be fully distributed in a MPI vector,
but I do not figure out how to do it properly.

If I use VecGetSubVector, it creates a MPI vector, but in those processes
where there is not selected elements, the subvector portion is empty, this
means that the resultant vector is unbalanced.

If I use:

VecScatterCreate(Vec x,IS ix,Vec y,IS iy,VecScatter *ctx);
VecScatterBegin(VecScatter ctx,Vec x,Vec y,INSERT VALUES,SCATTER FORWARD);
VecScatterEnd(VecScatter ctx,Vec x,Vec y,INSERT VALUES,SCATTER FORWARD);

The vector is still unbalanced.

Any suggestion?

Kind regards.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20200507/7584c628/attachment.html>


More information about the petsc-users mailing list