Skip to main content
`Ctrl`+`K`

# VecDuplicateVecsF90

Creates several vectors of the same type as an existing vector and makes them accessible via a Fortran pointer.

## Synopsis

    VecDuplicateVecsF90(Vec x,PetscInt n,{Vec, pointer :: y(:)},integer ierr)

Collective

## Input Parameters

- x - a vector to mimic

- n - the number of vectors to obtain

## Output Parameters

- y - Fortran pointer to the array of vectors

- ierr - error code

## Example of Usage

    #include <petsc/finclude/petscvec.h>
        use petscvec

        Vec x
        Vec, pointer :: y(:)
        ....
        call VecDuplicateVecsF90(x,2,y,ierr)
        call VecSet(y(2),alpha,ierr)
        call VecSet(y(2),alpha,ierr)
        ....
        call VecDestroyVecsF90(2,y,ierr)

## Note

Use `VecDestroyVecsF90()` to free the space.

## See Also

Vectors and Parallel Data, `Vec`, `VecDestroyVecsF90()`, `VecDuplicateVecs()`

## Level

beginner

## Location

src/vec/vec/interface/rvector.c

## Examples

src/vec/vec/tutorials/ex1f90.F90
src/vec/vec/tutorials/ex20f90.F90

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