VecCreateGhostBlockWithArray

Creates a parallel vector with ghost padding on each processor; the caller allocates the array space. Indices in the ghost region are based on blocks.

Synopsis

#include "vec.h"   
int VecCreateGhostBlockWithArray(MPI_Comm comm,int bs,int n,int N,int nghost,const int ghosts[],
                            const Scalar array[],Vec *vv)
Collective on MPI_Comm

Input Parameters

comm - the MPI communicator to use
bs - block size
n - local vector length
N - global vector length (or PETSC_DECIDE to have calculated if n is given)
nghost - number of local ghost blocks
ghosts - global indices of ghost blocks (or PETSC_NULL if not needed)
array - the space to store the vector values (as long as n + nghost*bs)

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.

n is the local vector size (total local size not the number of blocks) while nghost is the number of blocks in the ghost portion, i.e. the number of elements in the ghost portion is bs*nghost

Keywords

vector, create, MPI, ghost points, ghost padding

See Also

VecCreate(), VecGhostGetLocalForm(), VecGhostRestoreLocalForm(),
VecCreateGhost(), VecCreateSeqWithArray(), VecCreateMPIWithArray(), VecCreateGhostWithArray(), VecCreateGhostBlocked()

Level:advanced
Location:src/vec/impls/mpi/pbvec.c
Vector Index
Table of Contents