VecDuplicate#
Creates a new vector of the same type as an existing vector.
Synopsis#
#include "petscvec.h"
PetscErrorCode VecDuplicate(Vec v, Vec *newv)
Collective
Input Parameter#
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.
PETSc Vec always have all zero entries when created with VecDuplicate() until routines such as VecSet() or VecSetValues()
are used to change the values. There is no reason to call VecZeroEntries() after creation.
Use VecDestroy() to free the space. Use VecDuplicateVecs() to get several
vectors.
See Also#
Vectors and Parallel Data, Vec, VecDestroy(), VecDuplicateVecs(), VecCreate(), VecCopy()
Level#
beginner
Location#
Examples#
src/snes/tutorials/ex12.c
src/snes/tutorials/ex14.c
src/mat/tutorials/ex9.c
src/snes/tutorials/ex9.c
src/snes/tutorials/ex21.c
src/snes/tutorials/ex70.c
src/snes/tutorials/ex99.c
src/snes/tutorials/ex28.c
src/snes/tutorials/ex15.c
src/snes/tutorials/ex1.c
Implementations#
VecDuplicate_MPIKokkos() in src/vec/vec/impls/mpi/kokkos/mpikok.kokkos.cxx
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_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