petsc-3.9.4 2018-09-11
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 on PC
Input Parameters
| pc | - the preconditioner context
|
| presolve | - the application-provided presolve routine
|
Calling sequence of presolve
PetscErrorCode presolve (PC,KSP ksp,Vec b,Vec x)
| pc | - the preconditioner, get the application context with PCShellGetContext()
|
| xin | - input vector
|
| xout | - output vector
|
Notes: the function MUST return an error code of 0 on success and nonzero on failure.
Keywords
PC, shell, set, apply, user-provided
See Also
PCShellSetApplyRichardson(), PCShellSetSetUp(), PCShellSetApplyTranspose(), PCShellSetPostSolve(), PCShellSetContext()
Level
developer
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