Skip to main content
`Ctrl`+`K`

# VecCreate

Creates an empty vector object. The type can then be set with `VecSetType()`, or `VecSetFromOptions().`

## Synopsis

    #include "petscvec.h"
    PetscErrorCode VecCreate(MPI_Comm comm, Vec *vec)

Collective

## Input Parameter

- comm - The communicator for the vector object

## Output Parameter

- vec - The vector object

## Notes

If you never call `VecSetType()` or `VecSetFromOptions()` it will generate an error when you try to use the vector.

## See Also

Vectors and Parallel Data, `Vec`, `VecSetType()`, `VecSetSizes()`, `VecCreateMPIWithArray()`, `VecCreateMPI()`, `VecDuplicate()`, `VecDuplicateVecs()`, `VecCreateGhost()`, `VecCreateSeq()`, `VecPlaceArray()`

## Level

beginner

## Location

src/vec/vec/interface/veccreate.c

## Examples

src/dm/tutorials/ex14.c
src/ksp/ksp/tutorials/ex12.c
src/ksp/ksp/tutorials/ex18.c
src/ksp/ksp/tutorials/ex23.c
src/ksp/ksp/tutorials/ex16.c
src/ksp/ksp/tutorials/ex2.c
src/ksp/ksp/tutorials/ex15.c
src/ksp/ksp/tutorials/ex11.c
src/ksp/ksp/tutorials/ex1.c
src/ksp/ksp/tutorials/ex3.c

## Implementations

VecCreate_CUDA() in src/vec/vec/impls/mpi/cupm/cuda/vecmpicupm.cu
VecCreate_MPICUDA() in src/vec/vec/impls/mpi/cupm/cuda/vecmpicupm.cu
VecCreate_HIP() in src/vec/vec/impls/mpi/cupm/hip/vecmpicupm.hip.c
VecCreate_MPIHIP() in src/vec/vec/impls/mpi/cupm/hip/vecmpicupm.hip.c
VecCreate_MPIKokkos() in src/vec/vec/impls/mpi/kokkos/mpikok.kokkos.cxx
VecCreate_Kokkos() in src/vec/vec/impls/mpi/kokkos/mpikok.kokkos.cxx
VecCreate_MPIViennaCL() in src/vec/vec/impls/mpi/mpiviennacl/mpiviennacl.cxx
VecCreate_ViennaCL() in src/vec/vec/impls/mpi/mpiviennacl/mpiviennacl.cxx
VecCreate_MPI() in src/vec/vec/impls/mpi/pbvec.c
VecCreate_Standard() in src/vec/vec/impls/mpi/pbvec.c
VecCreate_Seq() in src/vec/vec/impls/seq/bvec3.c
VecCreate_SeqCUDA() in src/vec/vec/impls/seq/cupm/cuda/vecseqcupm.cu
VecCreate_SeqHIP() in src/vec/vec/impls/seq/cupm/hip/vecseqcupm.hip.c
VecCreate_SeqKokkos() in src/vec/vec/impls/seq/kokkos/veckok.kokkos.cxx
VecCreate_SeqViennaCL() in src/vec/vec/impls/seq/seqviennacl/vecviennacl.cxx
VecCreate_Shared() in src/vec/vec/impls/shared/shvec.c
VecCreate_Shared() in src/vec/vec/impls/shared/shvec.c

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