# VecScatterCreateToAll

Creates a vector and a scatter context that copies all vector values to each processor

### Synopsis

    #include "petscvec.h"
    PetscErrorCode PETSCVEC_DLLEXPORT VecScatterCreateToAll(Vec vin,VecScatter *ctx,Vec *vout)

Collective

### Input Parameter

vin -input MPIVEC

### Output Parameter

| ctx | - scatter context
| vout | - output SEQVEC that is large enough to scatter into

Note: vout may be PETSC_NULL [PETSC_NULL_OBJECT from fortran] if you do not need to have it created

### 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);

### See Also

VecScatterCreate(), VecScatterCreateToZero(), VecScatterBegin(), VecScatterEnd()

Level:intermediate
Location:src/vec/vec/utils/vecmpitoseq.c
Index of all Vec routines
Table of Contents for all manual pages
Index of all manual pages