PCSHELL#

Creates a new preconditioner class for use with a users own private data storage format and preconditioner application code

Usage#

       extern PetscErrorCode apply(PC,Vec,Vec);
       extern PetscErrorCode applyba(PC,PCSide,Vec,Vec,Vec);
       extern PetscErrorCode applytranspose(PC,Vec,Vec);
       extern PetscErrorCode setup(PC);
       extern PetscErrorCode destroy(PC);

       PCCreate(comm,&pc);
       PCSetType(pc,PCSHELL);
       PCShellSetContext(pc,ctx)
       PCShellSetApply(pc,apply);
       PCShellSetApplyBA(pc,applyba);               (optional)
       PCShellSetApplyTranspose(pc,applytranspose); (optional)
       PCShellSetSetUp(pc,setup);                   (optional)
       PCShellSetDestroy(pc,destroy);               (optional)

See Also#

PCCreate(), PCSetType(), PCType, PC, MATSHELL, PCShellSetSetUp(), PCShellSetApply(), PCShellSetView(), PCShellSetDestroy(), PCShellSetPostSolve(), PCShellSetApplyTranspose(), PCShellSetName(), PCShellSetApplyRichardson(), PCShellSetPreSolve(), PCShellSetView(), PCShellGetName(), PCShellSetContext(), PCShellGetContext(), PCShellSetApplyBA(), MATSHELL, PCShellSetMatApply(),

Level#

advanced

Location#

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

Examples#

src/ksp/ksp/tutorials/ex15.c.html
src/ksp/ksp/tutorials/ex15f.F90.html
src/ksp/ksp/tutorials/ex60.c.html
src/snes/tutorials/ex3.c.html
src/tao/pde_constrained/tutorials/hyperbolic.c.html
src/tao/pde_constrained/tutorials/parabolic.c.html


Edit on GitLab

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