petsc-3.7.1 2016-05-15
Report Typos and Errors

# VecScatterCreateToZero

Creates an output vector and a scatter context used to copy all vector values into the output vector on the zeroth processor

### Synopsis

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

Collective on Vec Many br

### Input Parameter

vin -input MPIVEC Many br

### Output Parameter

| ctx | - scatter context Many br
| vout | - output SEQVEC that is large enough to scatter into on processor 0 and Many brof length zero on all other processors Many br

Many br

Note: vout may be NULL [NULL_OBJECT from fortran] if you do not Many brneed to have it created Many br

### Usage

           VecScatterCreateToZero(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(), VecScatterCreateToAll(), VecScatterBegin(), VecScatterEnd()

Do NOT create a vector and then pass it in as the final argument vout! vout is created by this routine Many brautomatically (unless you pass NULL in for that argument if you do not need it). Many br

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