PETSc version 3.15.5
Fix/Edit manual page

# VecDuplicate

Creates a new vector of the same type as an existing vector.

### Synopsis

    #include "petscvec.h"
    PetscErrorCode  VecDuplicate(Vec v,Vec *newv)

Collective on Vec

### Input Parameters

| v | - a vector to mimic

### Output Parameter

| newv | - location to put new vector

### Notes

VecDuplicate() DOES NOT COPY the vector entries, but rather allocates storage for the new vector. Use VecCopy() to copy a vector.

Use VecDestroy() to free the space. Use VecDuplicateVecs() to get several vectors.

### See Also

VecDestroy(), VecDuplicateVecs(), VecCreate(), VecCopy()

### Level

beginner

### Location

src/vec/vec/interface/vector.c

### Examples

src/vec/vec/tutorials/ex1.c.html
src/vec/vec/tutorials/ex9.c.html
src/vec/vec/tutorials/ex16.c.html
src/vec/vec/tutorials/ex18.c.html
src/vec/vec/tutorials/ex44.c.html
src/vec/vec/tutorials/performance.c.html
src/vec/vec/tutorials/ex1f.F90.html
src/vec/vec/tutorials/ex1f90.F90.html
src/vec/vec/tutorials/ex4f.F.html
src/vec/vec/tutorials/ex4f90.F90.html
src/vec/vec/tutorials/ex9f.F90.html

### Implementations

VecDuplicate_MPIKokkos in src/vec/vec/impls/mpi/kokkos/mpikok.kokkos.cxx
VecDuplicate_MPICUDA in src/vec/vec/impls/mpi/mpicuda/mpicuda.cu
VecDuplicate_MPIViennaCL in src/vec/vec/impls/mpi/mpiviennacl/mpiviennacl.cxx
VecDuplicate_MPI in src/vec/vec/impls/mpi/pbvec.c
VecDuplicate_Nest in src/vec/vec/impls/nest/vecnest.c
VecDuplicate_Seq in src/vec/vec/impls/seq/bvec2.c
VecDuplicate_SeqKokkos in src/vec/vec/impls/seq/kokkos/veckok.kokkos.cxx
VecDuplicate_SeqCUDA in src/vec/vec/impls/seq/seqcuda/veccuda.c
VecDuplicate_SeqViennaCL in src/vec/vec/impls/seq/seqviennacl/vecviennacl.cxx
VecDuplicate_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