Skip to main content
`Ctrl`+`K`

# VecCreateGhostWithArray

Creates a parallel vector with ghost padding on each processor; the caller allocates the array space.

## Synopsis

    #include "petscvec.h"
    PetscErrorCode VecCreateGhostWithArray(MPI_Comm comm, PetscInt n, PetscInt N, PetscInt nghost, const PetscInt ghosts[], const PetscScalar array[], Vec *vv)

Collective

## Input Parameters

- comm - the MPI communicator to use

- n - local vector length

- N - global vector length (or `PETSC_DETERMINE` to have calculated if `n` is given)

- nghost - number of local ghost points

- ghosts - global indices of ghost points (or `NULL` if not needed), these do not need to be in increasing order (sorted)

- array - the space to store the vector values (as long as n + nghost)

## Output Parameter

- vv - the global vector representation (without ghost points as part of vector)

## Notes

Use `VecGhostGetLocalForm()` to access the local, ghosted representation of the vector.

This also automatically sets the `ISLocalToGlobalMapping()` for this vector.

## See Also

Vectors and Parallel Data, `Vec`, `VecType`, `VecCreate()`, `VecGhostGetLocalForm()`, `VecGhostRestoreLocalForm()`, `VecCreateGhost()`, `VecCreateSeqWithArray()`, `VecCreateMPIWithArray()`, `VecCreateGhostBlock()`, `VecCreateGhostBlockWithArray()`, `VecMPISetGhost()`

## Level

advanced

## Location

src/vec/vec/impls/mpi/pbvec.c

## Examples

src/vec/vec/tutorials/ex9.c
src/vec/vec/tutorials/ex9f.F90

Index of all Vec routines
Table of Contents for all manual pages
Index of all manual pages