petsc-3.13.6 2020-09-29
Report Typos and Errors

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 Section 1.5 Writing Application Codes with PETSc 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 Section 1.5 Writing Application Codes with PETSc-provided presolve routine

Calling sequence of presolve

   PetscErrorCode presolve (PC,KSP ksp,Vec b,Vec x)

pc - the preconditioner, get the Section 1.5 Writing Application Codes with PETSc 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.

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