VecScatterCreateToAll#
Creates a vector and a scatter context that copies all vector values to each processor
Synopsis#
#include "petscsf.h"
PetscErrorCode VecScatterCreateToAll(Vec vin, VecScatter *ctx, Vec *vout)
Collective
Input Parameter#
vin - an
MPIVEC
Output Parameters#
ctx - scatter context
vout - output
SEQVEC
that is large enough to scatter into
Usage#
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);
Notes#
vout
may be NULL
[PETSC_NULL_VEC
from fortran] if you do not
need to have it created
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).
See Also#
Low-level Vector Communication, VecScatter
, VecScatterCreate()
, VecScatterCreateToZero()
, VecScatterBegin()
, VecScatterEnd()
Level#
intermediate
Location#
Examples#
src/ksp/ksp/tutorials/ex43.c
src/ksp/ksp/tutorials/ex49.c
Index of all PetscSF routines
Table of Contents for all manual pages
Index of all manual pages