PCShellSetPreSolve#

Sets routine to apply to the operators/vectors before a KSPSolve() is applied. This usually does something like scale the linear system in some application specific way.

Synopsis#

#include "petscpc.h" 
PetscErrorCode PCShellSetPreSolve(PC pc, PetscErrorCode (*presolve)(PC, KSP, Vec, Vec))

Logically Collective

Input Parameters#

  • pc - the preconditioner context

  • presolve - the application-provided presolve routine

Calling sequence of presolve#

   PetscErrorCode presolve(PC pc, KSP ksp, Vec b, Vec x)
  • pc - the preconditioner, get the application context with PCShellGetContext()

  • xin - input vector

  • xout - output vector

See Also#

PCSHELL, PCShellSetApplyRichardson(), PCShellSetSetUp(), PCShellSetApplyTranspose(), PCShellSetPostSolve(), PCShellSetContext()

Level#

advanced

Location#

src/ksp/pc/impls/shell/shellpc.c

Implementations#

PCShellSetPreSolve_Shell(PC pc, PetscErrorCode (*presolve) in src/ksp/pc/impls/shell/shellpc.c


Edit on GitLab

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