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

PCShellSetApplyRichardson

Sets routine to use as preconditioner in Richardson iteration.

Synopsis

#include "petscpc.h" 
PetscErrorCode  PCShellSetApplyRichardson(PC pc,PetscErrorCode (*apply)(PC,Vec,Vec,Vec,PetscReal,PetscReal,PetscReal,PetscInt,PetscBool,PetscInt*,PCRichardsonConvergedReason*))
Logically Collective on PC

Input Parameters

pc - the preconditioner context
apply - the Section 1.5 Writing Application Codes with PETSc-provided preconditioning routine

Calling sequence of apply

   PetscErrorCode apply (PC pc,Vec b,Vec x,Vec r,PetscReal rtol,PetscReal abstol,PetscReal dtol,PetscInt maxits)

pc - the preconditioner, get the Section 1.5 Writing Application Codes with PETSc context with PCShellGetContext()
b - right-hand-side
x - current iterate
r - work space
rtol - relative tolerance of residual norm to stop at
abstol - absolute tolerance of residual norm to stop at
dtol - if residual norm increases by this factor than return
maxits - number of iterations to run

Notes

the function MUST return an error code of 0 on success and nonzero on failure.

See Also

PCShellSetApply(), PCShellSetContext()

Level

developer

Location

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

Implementations

PCShellSetApplyRichardson_Shell(PC pc,PetscErrorCode (*applyrich) 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