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 pc, KSP ksp, Vec xin, Vec xout))

Logically Collective

Input Parameters#

  • pc - the preconditioner context

  • presolve - the application-provided presolve routine

Calling sequence of presolve#

  • pc - the preconditioner

  • ksp - the KSP that contains pc

  • xin - input vector

  • xout - output vector

Note#

You can get the PCSHELL context set with PCShellSetContext() using PCShellGetContext() if needed by presolve.

See Also#

KSP: Linear System Solvers, PCSHELL, PCShellSetApplyRichardson(), PCShellSetSetUp(), PCShellSetApplyTranspose(), PCShellSetPostSolve(), PCShellSetContext(), PCGetContext()

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


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