KSPCreateVecs#
Gets a number of work vectors suitably sized for the operator in the KSP
Synopsis#
#include "petscksp.h"
PetscErrorCode KSPCreateVecs(KSP ksp, PetscInt rightn, Vec **right, PetscInt leftn, Vec **left)
Collective
Input Parameters#
ksp - iterative context
rightn - number of right work vectors
leftn - number of left work vectors to allocate
Output Parameters#
right - the array of vectors created
left - the array of left vectors
Notes#
The right vector has as many elements as the matrix has columns. The left vector has as many elements as the matrix has rows.
The vectors are new vectors that are not owned by the KSP
, they should be destroyed with calls to VecDestroyVecs()
when no longer needed.
Developers Note#
First tries to duplicate the rhs and solution vectors of the KSP
, if they do not exist tries to get them from the matrix, if
that does not exist tries to get them from the DM
(if it is provided).
See Also#
KSP: Linear System Solvers, MatCreateVecs()
, VecDestroyVecs()
, KSPSetWorkVecs()
Level#
advanced
Location#
src/ksp/ksp/interface/iterativ.c
Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages