petsc-3.12.4 2020-02-04
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 application-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 application 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