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


Edit on GitLab

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