#include "petscvec.h" PetscErrorCode VecScatterCreateToAll(Vec vin,VecScatter *ctx,Vec *vout)Collective on Vec
ctx | - scatter context | |
vout | - output SEQVEC that is large enough to scatter into |
Note: vout may be NULL [PETSC_NULL_VEC from fortran] if you do not need to have it created
VecScatterCreateToAll(vin,&ctx,&vout);
// scatter as many times as you need
VecScatterBegin(ctx,vin,vout,INSERT_VALUES,SCATTER_FORWARD);
VecScatterEnd(ctx,vin,vout,INSERT_VALUES,SCATTER_FORWARD);
// destroy scatter context and local vector when no longer needed
VecScatterDestroy(&ctx);
VecDestroy(&vout);
Do NOT create a vector and then pass it in as the final argument vout! vout is created by this routine automatically (unless you pass NULL in for that argument if you do not need it).