petsc-3.14.6 2021-03-30
Report Typos and Errors

VecDuplicateVecsF90

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

Synopsis

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

Input Parameters

x - a vector to mimic
n - the number of vectors to obtain

Output Parameters

y - Fortran90 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)

Notes

Not yet supported for all F90 compilers

Use VecDestroyVecsF90() to free the space.

See Also

VecDestroyVecsF90(), VecDuplicateVecs()

Level

beginner

Location

src/vec/vec/interface/rvector.c

Examples

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

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