:orphan:
# ScatterMode
Determines the direction of a scatter 
## Synopsis
```
typedef enum {
  SCATTER_FORWARD       = 0,
  SCATTER_REVERSE       = 1,
  SCATTER_FORWARD_LOCAL = 2,
  SCATTER_REVERSE_LOCAL = 3
} ScatterMode;
```

## Values

- ***`SCATTER_FORWARD` -*** Scatters the values as dictated by the `VecScatterCreate()` call
- ***`SCATTER_REVERSE` -*** Moves the values in the opposite direction than the directions indicated in the `VecScatterCreate()` call
- ***`SCATTER_FORWARD_LOCAL` -*** Scatters the values as dictated by the `VecScatterCreate()` call except NO MPI communication is done
- ***`SCATTER_REVERSE_LOCAL` -*** Moves the values in the opposite direction than the directions indicated in the `VecScatterCreate()` call
except NO MPI communication is done





## See Also
 [](ch_vectors), `VecScatter`, `VecScatterBegin()`, `VecScatterEnd()`, `SCATTER_FORWARD`, `SCATTER_REVERSE`, `SCATTER_FORWARD_LOCAL`, `SCATTER_REVERSE_LOCAL`

## Level
beginner

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/include/petscvec.h.html#ScatterMode">include/petscvec.h</A>

## Examples
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ksp/ksp/tutorials/ex73.c.html">src/ksp/ksp/tutorials/ex73.c</A><BR>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/include/petscvec.h)


[Index of all Vec routines](index.md)  
[Table of Contents for all manual pages](/manualpages/index.md)  
[Index of all manual pages](/manualpages/singleindex.md)  
